KonstantinKanin.com

Marketing internetowy w Rosji, Ukrainie, Białorusi

SEO / SEM

Matrixnet – metoda uczenia maszynowego, czyli jak działa ranking w Yandex

Wówczas gdy Runet miał kilka tysięcy stron, proste wyszukiwanie według dopasowania słów kluczowych i ranking stron w oparciu o wskaźniki wiarygodności (podobnie jak klasyczny algorytm Page Rank) całkiem zaspokajały użytkowników. Jakość wyników wyszukiwania nawet przy takim stosunkowo prymitywnym podejściu było dopuszczalne. Ale gwałtowny wzrost liczby stron i technik manipulacji znanymi czynnikami rankingu doprowadziły do wybijania z rynku wyszukiwania graczy nie potrafiących znaleźć bardziej zaawansowane rozwiązanie. Wśród rosyjskich silników wystarczy przypomnieć Aport i Rambler – oni stracili lojalność użytkowników w rekordowo krótkim czasie ze względu na kiepskie wyniki wyszukiwania i spam w SERP.

Jednak Yandexowi udało się przezwyciężyć ten kryzys: technologie firmy poszły po drodze wzrostu ilości przetwarzanych czynników, co pozwoliło utrzymać jakość wyszukiwania. A 17 listopada 2009 r., z wprowadzeniem algorytmu „Snezhinsk” („Снежинск”), podejście do rankingu przewróciło się do góry nogami. Wcześniej formuła obliczania trafności dokumentów była sztywna. Stosunek znaczenia jej współczynników określało się początkowo na podstawie teoretycznych obliczeń, a następnie się dopracowywało i „podkręcało” – to właśnie były aktualizacje algorytmu.

W 2009 roku Yandex wprowadził metodę nauczania maszynowego – Matrixnet. Ważną cechą tej metody jest to, że jest ona odporna na nadmierne nauczanie się. Pozwala to uwzględnić wiele czynników w rankingach – a przy tym nie zwiększać liczbę ocen asessorów (czyli pracowników Yandex oceniających wyniki wyszukiwania), i nie obawiać się, że maszyna znajdzie nieistniejące prawidłowości.

Za pomocą Matrixnet można zbudować bardzo długą i skomplikowaną formułę rankingu, która uwzględnia wiele różnych czynników i ich kombinacji. Jak twierdzi Yandex,  inne metody uczenia maszynowego pozwalają albo budować bardziej proste formuły z mniejszą ilością czynników, albo potrzebują większej próby uczącej.

Matrixnet analizuje tysiące czynników, ale współczynniki znaczenia każdego z nich (w istocie, jest to właśnie formuła rankingu) przyznawane są na podstawie oceny stron żywymi ludźmi, czyli asessorami. Teraz nie formuła dyktuje, co jest dobre dla użytkowników, a użytkownicy decydują, jaka formuła działa lepiej, czyli tworzą ją. Przy wystarczająco dużej próbie ilościowej dokumentów i rzetelnej pracy asessorów wyniki wyszukiwania, jak pokazuje praktyka, okazują się trafne – nawet w dzisiejszych czasach, gdy w indeksie Yandexa znajduje się kilkanaście miliardów stron, a ilość różnorodnych zapytań osiąga dziesiątki milionów.

Jak działa uczenie maszynowe?

Bierze się obiekty (w naszym przypadku – strony www) i opisuje się je jak największą ilością cech. Ponieważ nie wiemy, jakie są naprawdę ważne i decydują o jakości strony www („zdrowy rozsądek” czasami jest w sprzeczności z prawdziwym stanem rzeczy), należy przełożyć zadanie przypisania znaczenia na algorytm komputerowy.

Algorytm trzeba „skarmić” kompilacją dokumentów, rozdzielonych żywymi ludźmi wg stopnia zgodności z wyszukiwanym hasłem. A maszyna znajdzie objawy ogólne u najbardziej odpowiednich (relewantnych) i nieodpowiednich stron, i na podstawie tych danych zbuduje zasady.

Jak działa Matrixnet Yandexa?
Nauczony algorytm może bardzo szybko wykonywać pracę na podstawie analizy dokumentów. 100 asessorów analizują 1000 dokumentów (każdy przegląda ten sam tysiąc, aby zniwelować kwestie gustu i błędów ludzkich), a maszyna może miliony razy szybciej zrankingować dziesiątki milionów dokumentów.

Jak odbywa się przetwarzanie zapytań?

Yandex używa piramidalne wyszukiwanie: najpierw z całego gigantycznego zbioru dokumentów wybierana jest ograniczona ilość odpowiednich podstawowych kryteriów – „kworum”. Na tym etapie stosuje się odsiew na podstawie progu zawierania najprostszych słów kluczowych. Ponieważ dokumentów w indeksie jest bardzo dużo, uzyskana próba też może być zbyt szeroka dla pełnej formuły Matrixnet. Dlatego należy ją skrócić do rozmiaru, który ta formuła może „przetrawić” w ustalonym czasie dla przetwarzania jednego zapytania. Do tego celu odbywa się analiza wg statycznych parametrów (tzw. „fast rank”): „waga” strony, trust i tak dalej. Najlepsze wyniki są wysyłane do rankingu przez pełną formułę Matrixnet. Więc, po pierwsze prowadzi się stosunkowo proste obliczenia z ogromnej ilości stron, a następnie skomplikowane obliczenia z niewielką ilością notorycznie odpowiednich i już dość dobrych dokumentów.

Oczywiście, wyniki wyszukiwania na najczęstrze zapytania jest buforowana serwerami średniego poziomu, więc za każdym razem obliczenie się nie robi (chociaż stałe uzupełnianie indeksu nowymi dokumentami powoduje konieczność od czasu do czasu ponownego uruchomienia całej sekwencji powtórzeń).

Tak więc, ograniczona liczba dokumentów, które trzeba zrankingować, przekazywana jest do Matrixnet. Algorytm ma strukturę drzewa decyzyjnego, po przejściu którego uzyskuje się macierz dokumentów z przydzielonymi „liczbowymi wartościami trafności”. Dla każdego dokumentu należy przejść przez tysięcy drzew, i know-how Yandexa polega właśnie na bilansowaniu (w matematycznym sensie), pozwalającym na bardzo znaczne przyspieszenie obliczeń.

Dziękuję, że dzielicie się ze znajomymi: