Jak działają wyszukiwarki internetowe? Jak jest zbudowane google? Dlaczego wyniki wyszukiwania różnią się, mimo wpisania tych samych fraz? Jak działają podpowiedzi podczas wpisywania fraz? Jak możemy zbudować swoją własną wyszukiwarkę?
O tym i o wielu innych rzeczach w dzisiejszym odcinku Big Data Po Polsku;-).
Ja nazywam się Marek Czuma. Jestem inżynierem oraz instruktorem Big Data. Jestem również założycielem Riotech Data Factory i Akademii Big Data.
Transkrypcja odcinka
[Transkrypcja automatyczna, mogą pojawić się błędy]
Cześć, jak leci. Bardzo się cieszę, że jesteś zewnątrz i że razem ze mną przejdziesz ten odcinek, odcinek nr 5 Big Data Po Polsku. A dzisiaj porozmawiamy o bardzo bardzo bardzo ciekawiej rzeczy, czyli jak zbudowana jest wyszukiwarka i wyszukiwarki, z konkretnym szczególnym naciskiem na Google oczywiście. Zapraszam serdecznie. Cześć, nazywam się Marek Czuma. Jestem założycielem Riotech Data Faktory, firmy, która pomoże ci zrozumieć Big Data w wymiarze technicznym i biznesowym. W tym podkaście poznajemy branże oraz otaczający na świat. Świat, który zbudowany jest z danych i rządzone jest przez algorytmy. Pakuj i swoje rzeczy i ruszaj i ze mną w tą fascynującą podróż. No więc słowem wstępu, chociaż wiem, że ten odcinek miał być dwa tygodnie temu. Natomiast dwa tygodnie temu, tak jak mówiłem, bardzo chciałem przywitać razem z tobą Je sień. Jeżeli nie, słuchałeś tego odcinka, to koniecznie go odsłuchaj. W skrócie przekonywałem, że Je sień może być fantastyczną porół roku, absolutnie niedypresyjną w lęcz przeciwnie, tak, w której zdobywamy nową wiedzę, rozwijamy się, a to wszystko w bardzo przyjemnym klimacie. I tutaj mały update, już wyszedł pierwszy odcinek, bo to jest początek powiedzmy nowej serii. Wyszedł nowy odcinek w wideo właśnie tej akcji, Je sień po swojemu. Zapraszam na YouTube. Tam opowiadłem na najbardziej fundamentalne pytanie, czyli co to jest Big Data. A potem będziemy po kolei poznawać podstawy najważniejszych technologii. Mam nadzieję, że będzie to pewna zahaczka inspiracja do tego, żeby zgłębić nieco to ubranże, tak bardziej technicznie i wykorzystać tą roczną, bądź co bądź po delaku na rozwój. Ale wracamy już do naszego tematu dzisiejszego, czyli jak działa Google, a konkretnie jak działają wyszukiwarki, dlatego że chciałbym tak ubrunnie odpowiedzieć na to pytanie i poruszyć kilka kwestii, które mogą być interesujące. Zacznijmy od tego, co się dzieje w momencie, w którym wpisujemy wyszukiwarkę jakieś zapytanie. Wchodzimy sobie na Google.com albo oda, tak go, cokolwiek. I wpisujemy w razę coś, w tylu, no nie wiem, wegańskie lasanie, albo jakieś inne tego typu wynalazek, który jeszcze 20 lat temu byłby dostępny tylko dla największych frików. Dzisiaj dzięki wyszukiwarkę i dobrymi ludziom jest naprawdę na wyciągnięcie ręki. Więc wpisujemy sobie lasania wegańska i co nam się pojawia. Szereg odpowiedzi w tym dzielprze, z nich najczęściej są tymi najbardziej trafionnymi, tymi, które dają nam przepis, które dzielą się opiniami i tak dalej. Ale to, co trzeba podkreślić, to że mimo, że my tutaj zaczynamy naszą przygodę z wyszukiwarku, to tak naprawdę podchodzimy od tyłu. Co to znaczy? To znaczy, że to jest koniec tego całego łańcucha gorytmów działań, które podejmuje Google, to jest samiutki koniec. Wtedy Google wysyła nasze zapytanie do indexu. Index to coś wlóza ją o wybrzymie i bazy danych, ale nie, takiej zwykłej, że tak po prostu mamy tam ułożony jakkolwiek dane może, jakoś poseglegowane. W indexach, w indexie, te dane są ułożone w taki sposób, żeby jak najszybciej można było znaleźć odpowiedź z pośród ilu stron. Tutaj może nam objawi skale tego, czym mówimy, to ile takich zaindeksowanych stron ma Google. Wedle najnowszych danych, bo wiadomo, że dokładne nie są znane, natomiast te dane, które Google podaje, to są setki miliardów stron wówu. Setki miliardów stron, które mogą nam się wyświetlić przeszukiwanie czegoś takiego bez odpowiednich algorytmów, bez odpowiedniego ułożenia tych danych wcześniej, a nie zaczniemy je przeszukiwać, zajmowałoby ogromnejłości czasu, których oczywiście nie mamy. Zresztą Google zawsze je chwali, ile tam czasu spędził na przeszukiwaniu internetu. No więc to, co chciałbym tutaj podkreślić, to że Google nie przeszłukuje oczywiście internetu w momencie, w którym my wpiszemy nasze zapytanie. To znaczy nie oczywiście, bo zdaję sobie sprawę, że wiele osób może po prostu o tym nie wiedzieć i nie ma w tym absolutnie nic złego. Natomiast teraz już wiesz, jeżeli nie wiedziałeś, nie wiedziałeś, że nie przeszukuję Google internetu w tym momencie, w tym momencie przeszukuję po prostu swoją bazę danych bardzo specjalną, wyjątkową nazwanym indexem. No to pytanie, kiedy Google przeszukuje internet. To jest początek całości. Przeszukiwanie internetu zajmują się algorytmy, czy też może bardziej mechanizmy, które chodzą po od strony do strony i spisują na czym polega dla nas strona, jakie tam mamy treści, jakie mamy słowa kluczowe, na główki, zdjęcia, po prostu skanuje dla nas strona. Następnie jest biera linki do, które są do innych stron, w ten sposób wie, gdzie dalej pójść. Można też podejść od drugiej strony, czyli w odpowiednim miejscu my możemy wpisać do Google, hej, założyłem nową stronę, chciałbym żeby się zaintexował i wtedy jego mechanizmy po prostu wchodzą na tą stronę. Natomiast te roboty nazywane też crawlerami, czy też pająkami w książce Search, tam autor, nazywam to szperaczami, jeśli nie pamięcię myli, no to to właśnie takie mechanizmy, które oczywiście nie jest także jeden taki crawler i on pokolei chodzi od strony do strony, tylko ich jest całym mnóstwo. Ile dokładnie tego nie wiemy, natomiast iż jest na pewno bardzo dużo i robią to w sposób rozproszony. Jeżeli nie wiesz jeszcze czym jest podejście rozproszony, to zapraszam do odcinku numer 1, Bidayta po Polsku. Nazywany jest jedna rzecz, która pomoże Ci lepiej zrozumieć w naszym Bidayta i tam właśnie mówiłem o tym, co jest takiego magicznego w tych algorytma w naszym podejście. Natomiast z grubsza w podejściu rozproszonym chodzi o to, że jedno, cześnie na wielu maszynach wykonuje się różne obliczenia. Abo w tym przypadku po prostu krawlele chodzą po internecie, tak w tym samym momencie. I to jest początek całej machinę, czyli my podczas krawowania przeszukujemy internet i zapisujemy do indexera. To jest bardzo ważne, dlatego że dopiero z indexera można będzie później wydobyć te przejści i przeszługeć. No właśnie, i teraz przechodzimy do punktu numer 2, czyli indexowanie. I indexowanie, o ile już krawodowanie jest czymś takim bardzo wyjątkowym, bo tych krawleli muszą działać w bardzo innej przemyślany sposób. O ile jest to dość wymagające, o tyle indexowanie, to tam się dzieje cała, cała magia. W indexowaniu zapisywane są strony do tej wielkiej bazy danych. Natomiast tam również cała strona rozkładana jest znaczy nieki pierwsze. Co to znaczy? Znaczy, że sprawdzamy słowa kluczowe, które później też najprawdopodobniej przejami, tak moje doświadczenie podpowiada, że jest to w taki sposób zrobiona, że przy każdym z dokumentów, w takich bazie danych, czyli dokumentem, może być na przykład strona internetowa, przy każdym z dokumentów są różnego rodzaju słowa kluczowe. Dzięki czemu później jak przeszłukujemy, to wyszukanie po prostu jest dużo, dużo prostsze, taki odwrotony index. Natomiast również tam zachodzi na przykład sprawdzanie, czy ta strona nie jest z pamią, czy ta strona zawiera, jakieś treści niedosvolone, pornografie, wezłanie do przemocy, zabój, i tak dalej. To też chciałbym powiedzieć na samym początku, Google musiał się bardzo, bardzo mocno walczyć, bardzo musiał Google z tym, że było mnóstwo spałą w internecie, najwyczajniej w świecie, bardzo dużo spałą i w momencie, w którym wyszukiwali, byśmy słowo, no właśnie, chociażby to w zadzanie wegańską, to pojawiałaby się cała masa strona, które w cał nie są tam najbardziej odpowiadające, natomiast są odpowiadające prosty mechanizmom, konkretnie na przykład bardzo ważne było, to ja ile linków prowadzi do danej strony, więc nie trudno było zbudować cału masę stron, cału sieć, która na te zaję linkowała do siebie, natomiast w tym momencie takie zagrania są już bardzo nieupłacalne, w tym momencie Google wykrywa tego typu prostackie dość zagrania i usuwana, na to trzeba bardzo uważać, znaczy jeżeli rodzimy seło, czyli pozycjonowanie, po prostu to, żeby na na strona była wyżej, wynika wyszukiwanie niż niszczaj, to musimy uważać, żeby nie robić prostackiego pozycjonowania, bo Google można po prostu odciąć, wstawić na czarną listę i w ogóle nie będziemy wtedy się pojawiać. I trzecie mechanizm to jest serczel. Serczel, czyli mechanizm przeszłkujący. To jest możliwe, właśnie dzięki temu, że wcześniej została wykona bardzo dobrze indeksacja, indeksacja, która odpowiednio obliczyła różne rzeczy też, która sprawdziła, czy w społeczności ta strona jest silno, czy nie? To znaczy jak nie, wstawimy jakiejś artykuł z papu, to najprawdopodobniej nie znajdziemy się w tym samym miejscu, co chociażby bankier albo rzecz po spolita. Ponieważ one po prostu mają większą masę, są dużo ważniejsze w tej słowie społeczności strona. I takie rzeczy są w indeksowaniu i ponieważ w indeksowaniu zostały zapisane do bazy danych, to podczas przeszłkowania mamy też możliwość skorzystać z tego. I podczas przeszłkowania jest określany coś, co nazywamy leitingiem strony. Czyli wyszłkujący strona nie tylko bierze pod uwagę słowa kluczowe, nie tylko patrzy i jak wiele razy były one zawarte w nastroń, bierze też pod uwagę całą masę innych rzeczy, jako chociażby właśnie wartość związana z linkami to, czy te słowa kluczowe były w hederach i tak dalej, i tak dalej, to jest bardzo, bardzo dużo. Kilka z takich współczynników to nowaśnie słowa, który szukamy te słowie, pozycja słów na stronie linkowanie, czy też to jest ważne lokacja wyszłkującego. Znaczy jeżeli ja wpiszę pizza to google mając mojego lokacja, nie pokażę mniej więcej wypasionej pizceli w Chicago, pokażę mi taką pizza, którą może mi nie zainteresować w moim mieście w Łodzi. Dlatego też dwie osoby, które mają to samo w fazę, dostaną osobne inne wyniki. Po prostu są przez google aktowane indywidualne, są chociażby w innej lokacji, ale też prawdopodobnie wchodzi tu w górę całe poznawanie użytkownika i to jest coś o czym ciężko jest się dowiedzieć z oficjalnych śludeł. Oczywiście google nie będzie się tym jakoś bardzo przechwalą, natomiast nie ulegawątpiwości, że google dostosowuje wyniki wyszłukania do tego jacymy. Jakie mamy poglądy, gdzie ostatnio byliśmy, czego potrzebujemy, po prostu google staraj się dać na mnie jak najbardziej pasujące wyniki i wykorzystuje do tego wszystkie dane. Do uważa mamy Androida, mamy jakiś chat, mamy disk i tak dalej i wszędzie tam zapisywane są rozmaite informacje na nasz temat. Od lokacji poczynając przez to co mówimy w pobliżu komórki. I te informacje byłoby głupio, gdyby google ich nie wykorzystywał, szczerze mówiąc, dlatego ja osobiście nie wierzę, że google nie wykorzystuje tych metadanych dotyczących nas, które z dołu niekoniecznie bezpośredni z posp. Ostatnia faza, czyli mechanizm przeszłukowania, możemy nazwać serczerem, możemy nazwać go reitingiem, czyli określeniem tego jaka strona nam najbardziej odpowiada, to jest trzeci mechanizm. I powtórzymy to sobie. Pierwsze krok to jest krawolowanie, czyli przechodzimy sobie po internecie, zbieramy możliwie dużo stron, drugi mechanizm to jest inneksacja. I zapisujemy to do indexu, jednocześnie najprawdopodobniej to są to wszystkie dodatkowe rzeczy zapisywane. I trzeci element to jest przeszługiwanie reiting, że to jest serczerem. I tak w skrócie wygląda, wyszukiwarka każda właściwie, natomiast google w szczególności. I zapraszam zachęcam, bo google daje naprawdę fajne materiały, dokumenty dotyczące tego jak jest budowana wyszukiwarka, natomiast. Co bardzo ważne, oczywiście on się nie dzieli i bardzo szczególnymi, szczególnymi specyficznymi algorytmami. My możemy czasem słyszyć google znowu zmieniła google dla google. W algorytmie przeszługiwania czy też indexacji, najważniejsze jest ten czynnik, tam ten czynnik czy sią ten czynnik. Natomiast pamiętajmy, że nikt tego do końca nie wiem. To jest bardzo ścisła tajemnica i google, a uchy, z niela rąbków tajemnicy, ale biorą pod uwagę z tego, co możemy w różnych miejscach wyczytać, nawet ok. 200 do 200 różnych czynników podczas reitingu. A my wiemy dosłownie od kilku, więc nie zapędzałbym się z taką pewnością siebie, u niektórych specjalistów od marketingu internetowego, którzy mówią, że wiedzą, jak jest algorytm. Chciałbym powiedzieć o jeszcze jednej rzeczy, jeszcze jednym mechanizmę, o którym myślimy rzadko. Czyli jak wpiszemy sobie, jak działa google albo coś w tym stylu, to wyskoczył wam na pewno te trzy mechanizmy, opisane dokładniej lub mniej. Natomiast nie wyskoczą podpowiedzi google. A pamiętajmy, że wpisując jak uśwrazy dostajemy właśnie podpowiedzi. I to podpowiedzi, które znów mogą wyglądać różnie w zależności od tego, kto je wpisuje. Ale jak to się dzieje? Możemy wpisujemy dano rzecz, a google podpowiada jak i uskończyć. Przede wszystkim on wybiera z listy najbardziej popularnych. Czyli szuka, jeżeli wpiszę to tilla albo lasania, on szuka, jakie są popularne inne wyszukania, właśnie z tymi słowami kuczowymi. Dobieranej bardziej podobne, zisty najbardziej popularnych. I co ważne uwzględnie to skąd pisysz i w jakim języku? Piszesz, czyli ja, pisząc w Łodzi w języku polskim, mam inne wyniki niż tam ktoś. Tutaj też istotne, czasami jest tak, że jakieś wydarzenie nagle skuje na popularności. I kiedy system zauważy wzrost popularności danego tematu, to włączak zwane trending predictions. I wtedy wybiera te, które są najbardziej w danym momencie popularne, a niekoniecznie w ogóle najbardziej popularne. Czyli w momencie wpisania, jeżeli mamy wybory na przykład, na prezydenta stanów jednoczonych i wpisimy minę sota. Na kurat ostatnio był wiec wyborczy, który góź z kandydatów w minę socie. To najprawdopodobniej podpowiem nam, że minę sota, wiec wyborczy, naswisko tego kandydata i tak dalej. A niekoniecznie np. minę sota pizza. Ja nie wiem, co z tymi tematami kulinadnymi, nagroją to wieczorem, a definitywnie chętnie, co się przykąd się. I ostatnia rzecz na temat podpowiedzi, zanim dostaniamy daną podpowiedź są też zaprzęgnięte systemy, które filtrują niepotrzebnych oraz naruszeumcych zasady. Czyli niektóre rzeczy po prostu nie dostaniamy tam, nawet jeśli są bardzo popularne, jeśli są bardzo popularne. W tej chwili obowiąznie. Nie dostaniamy, jeżeli naruszał zasady, co nie znaczy, że nie możemy tego przeszłukać. I to zgrubi szatty, oczywiście to są bardzo ogólne zasady. Natomiast sądzę, że jest to dobre wprowadzenie do całości. Ta stąd umieszczę poróżyć jeden krótki temat, czyli, a czy my możemy zbudować taką wyszukiwarkę? No to oczywiście możemy, bo jakbyśmy nie mogli to nigdy by nie mógł zbudować. Natomiast pytanie, czy możemy tak dobrą jego góry oczywiście, natomiast skupimy się na takich chobistycznym wyzwaniu. Jeżeli masz ochotę podjąć się takiego wyzwania, daj mi znać bardzo chętnie będą obserwować swoje pracę i tutaj na bieżąco relacje nową. Mało zaha, jak ja będę to zrobił, grem się do tego zabrał. Również zbudowałbym te trzy mechanizmy. Krąduowanie to jest, że w cudzysłowie najprostsza. To znaczy one z najmniej big date’owa. Po prostu musimy tutaj zbudować mechanizm, który wchodzi na stronę. Zaczniemy od jakiejś pierwszej. Zbieraj treść, buduję jej schemat i na końcu wysyła do… No właśnie, ja bym tutaj postawił kawkę. Kawka czyli taka technologia streamingowa, służy do tego, żeby stanowi taki punkt przeżutu. Czyli my wrzucamy coś na kawkę i automatycznie ktoś, kto nas suchuje na tym macie, na tym topiku, to się nazywa, może określone dane zgarnąć i coś z nimi zrobić. Ja właśnie poszedł w takim kierunku, czyli zbudowałbym na przykład. Mechanizm, który uruchomił na 10 różnych łądkach, który ciągle by chodził zaczynając od jakichś stron określonych. On by zbierał informację wysyłał na kawkę. Na kawce nasuhiwał by już Spark, strakture streaming, czyli framework, który służy do tego, żeby strumieniował różne rzeczy przedfarzać. I w momencie, w którym dany by powstawały, automatycznie Spark by jest niemową i obsługiwą. I to wsparku działa by się cała indeksacja tego, jak co zapisać tego, jakie są linki. Można by sprawdzać też, czy linki prowadzące do tej strony są silne i tak dalej i tak dalej. I on zapisywał, by takie rzeczy w Elasticseczu. I w Elasticseczu, Elasticsecz to jest technologia, która jest właśnie takim indekserem. Tutaj mamy bazy danych i tutaj mamy całą masę mechanizmów, które pozwalają bardzo sprawnie w inteligenny sposób przeszukiwać po tych danych. Dlatego w momencie, w którym odbieralibyśmy tego Sparka, wrzucalibyśmy po pierwszy na Elasticseczu i tutaj się zastanawiam być może też do jakichś bazy danych, która nie byłaby często wykorzystywana na tym, która stanowiłaby rodzaj takich surowych danych. Jeżeli coś, żeby się stało w Elasticseczu, czy chcielibyśmy coś do czegoś wrócić, to fajnie, żebyśmy mieli takie surowe dane. Być może wejczbajcie akumulo takie dane mogłyby być przechowywane i raz na jakiś czas moglibyśmy też dokonywać pewnych statysty. Czyli zbierali byśmy te dane, sprawdzali, no chociażby właśnie wartość linków do robii różnego legaty i dodawali brakujące informacje do Elasticseczu. I trzeci element, czyli search, czyli też rating, to jest automatycznie robiony przez Elasticsecza, my tylko musimy dać pytanie. I tutaj postawiłbym jakąś aplikację, bo byłbyć może Spring Boot, która wysyłałaby te pytania do Elasticsecza i otrzymaniu odpowiedzi odpowiedniowy wyświetlała. I w ten sposób możemy zrobić taką naszą aplikację, będącą serczą. Czyli wreszku internetową. I w Elasticseczu naprawdę sporo jest fajne grzeczy. Między innymi bardzo łatwo jest zrobić literówki, czyli mechanizm, który wykrywa, czy my zrobiliśmy literówkę. Tek w skrócie już może je mały techniczny smaczek, jak to jest zrobione, jak to działa. Elasticsecz sprawdza czy ta fraza, którą wpisaliśmy, ma odpowiednią odległość od innych fraz. Czym jest odległość? Odległość tutaj jest wyznaczona wedle algorytmu ze Węsztajna. I pozyga na tym, że jeżeli weźmiemy sobie jakąś frazę, a potem będziemy dodawali odpowiednią operację, to każda operacja jest jednym krokiem, jednostkowo-ległości. Już mówię, na przykład jak to działa. Operacje to może być dodanie litery, to może być przestawienie litery w prawo w lewo, albo usunięcie litery. Czyli jeżeli zrobimy na przykład marek, k, mark, to jest to w odległości jeden od mark, dlatego że jedno i teraz została wyjęta. Jeżeli z na przykład zrobimy parca, to jest to znów odległości jeden od praca, ponieważ jest starczy jedną literę przeslądować w lewo, albo w prawo. I w ten sposób otrzymujemy jak daleko od określonych wyszłkań są nasze zapytania. I w taki sposób na przykład może być zrobione też przeszczukiwanie polity rówka. I tu będziemy się zbliżać do końca naszego odcinka. Być może zastanawiać się jeszcze jedna rzecz, co sprawia, że określony wyszukiwarki są lepsze lub gorsze. Tutaj decyduje bardzo wiele czynników. Może warto powiedzieć, że Google zbiera 90% światowych, światowych odlegolników wyszukiwarek. I w Polsce też tak jest. Natomiast w zókrajach, gdzie definitivamente przegrywa, na przykład w Chinach, albo gdzie wygrywa modutko, na przykład w Rosji. O czym to świadczy? Przede wszystkim oczywiście, mieliąc jakieś kwestie polityczne leżymowe, to świadczy to także o tym, że jest specyfika konkretnego języka za przeninęta. I dużo trudniej jest posługiwać się tym i samym jagolcmami na chińskim, albo rosyjskim krymę. Bardzo specyficzne elementy niż na męgielskim, pod który jest lubiony Google inna, ważna cecha, która sprawia, że jedna wyszukiwarka jest lepsza, to troszeczkę już wspomniałem, czyli dane. Każdy z nas chce dostać odpowiednio skroją na wyszukiwania. Wyniki wyszukiwania. Natomiast co to znaczy odpowiednio skroją? No właśnie, to znaczy, że takie, które nas interesują, a żeby wiedzieć, co nas interesuje, to trzeba nas poznać, czy mas gromadzi, czy nas bardzo dużo danych. I tego nie zrobi, na przykład, tak da go, czy ci się tym, że nie zbieradanych, to może zrobić Google, który, czy ci się tym, że zbieradane. Co nie znaczy, że alternatywne wyszukiwarki są złe, po prostu trzeba uwzględnić pewną specywikę, trzeba zak cyptować, że pewnych rzeczy nie dostaniemy, ale samym dostajemy inny, na przykład, prywatność. To wszystko na dzisiaj. Dziękuję ci bardzo. Zapraszam na newsletter. Chciałbym zapraszać, że na YouTube daje znać, zasubskrybuj, napisz komentarz, chcę wiedzieć, że to oglądasz i co o tym wszystkim. Sądzisz? To wszystko na dzisiaj. Ja nazywam się Marek Czuma, a to jest podcast Big Data Po Polsku.
Dodaj komentarz