W wigilijne popołudnie mam dla Was drugą część wczorajszego tekstu dotyczącego uczenia maszynowego i jego znaczenia w świecie SEO oraz wyszukiwarek.
Zanim jednak zaproszę Was do dalszej lektury wszystkim chciałem życzyć Wesołych Świąt spędzonych w rodzinnym gronie! Gdybyście znaleźli jednak chwilę czasu nie zapominajcie o odwiedzeniu mixedmedia.pl. Przez całe święta na pewno znajdziecie tutaj ciekawe posty!
Nie przedłużając wracamy do lektury tekstu o uczeniu się maszyn 😉
Kofeina ? aktualizacja struktury
W jaki sposób to wszystko odnosi się do pracy wyszukiwarek?
Aby odpowiedzieć na to pytanie najpierw musimy cofnąć się do 2010 roku kiedy Google wypuściło aktualizację infrastruktury swojej wyszukiwarki o nazwie Kofeina. Chociaż jeszcze wtedy nie zdawaliśmy sobie z tego sprawy, Kofeina miała przygotować grunt pod późniejsze wprowadzenie Pandy oraz Pingwina. Bez aktualizacji sprzed trzech lat te dwie kolejne na pewno nie zostałyby wdrożone.
Caffeine pozwoliło gigantowi z Mountain View na odświeżanie swojego indeksu o wiele szybciej niż było to wcześniej możliwe i aktualizować PR jedynie dla wybranych fragmentów sieci internetowej. Wcześniej konieczne było przeliczanie PR dla wszystkich stron internetowych w tym samym momencie ? aktualizacja PageRank dla pojedynczych witryn nie była możliwa. Dzięki Kofeinie zmieniło się to i Google było w stanie z dużą dokładnością oszacować, które strony zmieniły swoją strukturę i dla których aktualizacja PR będzie konieczna.
Oznaczało to wprowadzenie żywego indeksu który nieprzerwanie jest aktualizowany i zaczyna wypierać okresowe aktualizacje. W jaki sposób można to powiązać z uczeniem maszynowym i w jaki sposób Kofeina przygotowała scenę do wejścia Pandy i Pingwina? Postarajmy się połączyć wszystko w całość…
Panda i Pingwin
Kofeina pozwoliła Google aktualizować PR z zadziwiająca prędkością ? zdecydowanie szybciej niż wcześniej ? najprawdopodobniej był to krok pozwalający na wdrożenie uczenia się maszyn na większą skalę, w głównej części algorytmu.
Problem, który Panda stara się rozwiązać jest bardzo podobny do problemu określenia dojrzałości arbuza. Czytając w tym momencie mój wpis rzuć okiem na stronę mixedmedia.pl. Z dużym stopniem dokładności możesz określić poziom jej zaspamowania. Z drugiej jednak strony będziesz miał spory problem z przygotowaniem pełnej i uniwersalnej listy określającej główne cechy charakterystyczne strony kategoryzowanej jako spam (przykładowo, jeżeli występuje więcej niż n linków a liczba y reklam znajduje się powyżej z% wysokości strony…). Podanie ogólnych zasad nie będzie takie trudne ? nie sprawdzą się one jednak w przypadku wszystkich stron. Weź również pod uwagę to, że gdyby taka lista zasad istniała wtedy o wiele łatwiejsze stałoby się ich obejście.
Tak więc Google nie może przygotować konkretnej listy zasad i regul postępowania podczas oceny czy strona jest spamerska czy też nie. Właśnie dlatego przez wiele lat z bólem serca patrzyliśmy na witryny, które już z kilometra śmierdziały SPAMem jednak Google wysoko rankingowało je w SERPach.
Dokładnie ta sama logika ma zastosowanie w przypadku Pingiwna. Google, przed którymi stanął gigant z Mountain View są bardzo zbliżone do naszego problemu z arbuzami. Dlaczego więc potentat rynku wyszukiwarkowego nie korzystał z uczenia się maszyn od pierwszych dni działania swojej usługi?
Niezbędne szkolenie
Google najprawdopodobniej musiało wcześniej poczynić odpowiednie przygotowania. Polegały one na zebraniu zespołów ludzkich oceniających poszczególne strony i zastanawiając się w jakiej skali mogą one zostać skategoryzowane jako SPAM. Tysiące ludzi oceniających tysiące stron pod wieloma aspektami i ze zwróceniem szczególnej uwagi na wiele czynników tworzyło przez lata rozległą bazę, która posłużyła do powstania zestawu treningowego. Oczywiście nigdy nie dowiemy się jak dokładnie przebiegał cały proces, jednak możemy uzyskać ogólne pojęcie na jego temat.
Teraz przypomnij sobie, że aby określić czy dany arbuz jest dojrzały musieliśmy przeanalizować ogromną grupę tych owoców pod różnym kątem i to wielokrotnie. Jest to sporo pracy wymagającej czasu szczególnie kiedy musimy nauczyć się oraz aktualizować nasze pojęcie na temat tego jak określać dojrzałość owocu. Po tym kroku konieczne jest przetestowanie naszego modelu na zbiorze walidacyjnym (arbuzy, z którym algorytm nie miał wcześniej do czynienia) i określenie czy działa dobrze.
W przypadku Google proces ten odbywa się na przekroju całego indeksu stron znajdującego się w wyszukiwarce. Nie jestem pewien jaką dokładną metodę mogą tutaj stosować, jednak logicznym wydaje się zastosowanie podejścia ?ucz się i testuj? przy tak dużym indeksie pozwala działać najintensywniej i najskuteczniej. Przełom, który zapoczątkowała Kofeina z indeksowaniem w czasie rzeczywistym i szybszym obliczaniem wartości poszczególnych stron internetowych sprawiło, że wprowadzenie nauczania maszynowego wreszcie okazało się opłacalne. Można sobie wyobrazić, że wcześniej niezbędne były minuty lub nawet godziny do przeliczenia określonych wartości to przy konieczności wykonania tego tysiące razy uczenie maszynowe było po prostu niemożliwe. Kofeina rozpoczęła jednak nowy okres rozwoju Google, co kontynuowane jest przez Padnę oraz Pingwina, w których nauczanie maszyn stało się integralną częścią algorytmu.
Co dalej?
Każda publikacja kolejnych aktualizacji będzie miała miejsce w momencie kiedy Google obliczy, przetestuje i oceni nowy model działania. Na początku tego roku informowano, że Panda będzie regularnie aktualizowana i wypuszczana w następujących po sobie dziesięciodniowych okresach czasu ? może to sugerować, że Google chce jak najszybciej rozwinąć i zoptymalizować system szkolenia maszynowego w swojej wyszukiwarce.
Spodziewam się, że w najbliższej przyszłości coraz więcej uczenia się maszyn będzie wdrażane do wszystkich obszarów działania Google. W rzeczywistości myślę, że już widzimy kolejne iteracje powiązane z aktualizacją Hummingbird. O ile był to raczej update algorytmu a nie całej struktury wyszukiwarki nie mogę oprzeć się wrażeniu, że ma stać się podstawą do kolejnych zmian w najbliższej przyszłości.
Nie wiecie nawet jak bardzo ekscytuję się możliwościami zastosowania nauczania maszynowego na tak szeroką skalę i wiem, że będziemy o nim słyszeć coraz więcej. Ten post miał na celu sprzedać wam podstawową wiedzę na jego temat boję się jednak, że arbuzowa nauka nigdy nie będzie w 100% skuteczna. Ile ludzi tyle różnych podejść i zdań ? jednogłośna ewaluacja będzie stanowiła więc ogromny problem. Z drugiej strony myśle jednak, że zrozumienie samej koncepcji może okazać się naprawdę pomocne. Szczególnie gdy chcemy dokładniej zrozumieć algorytmy takie jak Panda i Pingwin.