Jakość wyszukiwania w Google - wprowadzenie
12 czerwca 2008
Zespół Search Quality jest odpowiedzialny za ranking wyników wyszukiwarki Google. Nasze zadanie jest proste: kilkaset milionów razy dziennie użytkownicy zadają Google pytania, a odpowiedź na nie musi zostać wybrana w ułamku sekundy spośród miliardów serwisów internetowych i zaprezentowana we właściwej kolejności. Ostatnio przejęliśmy również inne zadania. Więcej na ten temat nieco później.
Jak na narzędzie używane tak często przez tak duże grono osób, zadziwiająco mało informacji na temat rankingu w Google jest powszechnie znanych. Wynika to z faktu, że jesteśmy bardzo dyskretni w tym, co robimy. Mamy ku temu dwa powody: konkurencja i nadużycia. Co do konkurencji kwestia jest jasna. Żadne przedsiębiorstwo nie chce się dzielić z innymi swoimi poufnymi informacjami. Nadużycia byłyby możliwe, gdyby zbyt wiele szczegółów na temat naszych rozwiązań było publicznie dostępnych. Ostrożne udostępnianie informacji to jedna z wielu metod, dzięki którym zapobiegamy nadużyciom.
Szczegóły algorytmu to swego rodzaju klejnot w koronie Google, z którego jesteśmy bardzo dumni i o którego bardzo dbamy. Szacowany bezpośredni wkład w niego to tysiąc lat pracy programistów/naukowców. Tempo jego rozwoju nie zmalało do dnia dzisiejszego.
Ponieważ utrzymywanie wszystkiego w tajemnicy nie jest sytuacją idealną, otwieramy w tym poście naszą inicjatywę informacyjną. Będziemy starali się regularnie ogłaszać nowości, tłumaczyć sprawdzone rozwiązania, służyć radą oraz angażować się w dyskusje. Zacznijmy od kilku ogólnych informacji na temat grupy naszych zespołów. Kolejnych artykułów spodziewajcie się niebawem.
Pozwólcie, że się najpierw przedstawię. Nazywam się Udi Manber. Jako wiceprezydent jestem odpowiedzialny w Google za jakość wyszukiwania. Pracuję dla Google od ponad dwóch lat, a technologiami wyszukiwania zajmuje się od prawie 20 lat.
Centrum grupy stanowi team, który jest odpowiedzialny za sam ranking. Jest to bardzo skomplikowane zadanie, o wiele bardziej niż większość ludzi sądzi. Jednym z powodów jest fakt, że języki są niejednoznaczne, a dokumenty nie są zbudowane według konkretnych reguł. Nie istnieją żadne standardy przekazywania informacji, więc musimy być w stanie zrozumieć wszystkie rodzaje stron www, obojętnie przez kogo napisane, obojętnie w jakim celu. To jednak tylko część problemu. Musimy również interpretować zapytania użytkowników, które przeciętnie składają się z mniej niż trzech wyrazów i dopasowywać je do interpretacji wszystkich zaindeksowanych dokumentów. Nie mówiąc już o zróżnicowanych potrzebach różnych osób. Wszystko to musimy wykonać w ciągu kilku milisekund.
Najbardziej znaną częścią algorytmu rankingu jest PageRank, algorytm stworzony przez założycieli Google, Larry'ego Page'a oraz Sergey'a Brin'a. PageRank jest nadal używany ale dziś jest on częścią dużo większego systemu. Inne moduły dotyczą budowy języków (rozpoznawanie fraz, synonimów, znaków diakrytycznych, błędów w pisowni itd.), modeli zapytań (to już nie tylko sprawa języka ale sposobu w jaki ludzie go używają), kwestii aktualności (niektórym zapytaniom najlepiej odpowiadają strony powstałe pół godziny temu, innym zaś "wiekowe" witryny) oraz kwestii osobistych preferencji (nie wszyscy oczekują tego samego).
Inny zespół należący do naszej grupy sprawdza postępy jakie czynimy. Metody takiej kontroli są różne, jednak cel pozostaje zawsze taki sam: poprawa doświadczeń użytkowników. To nie jest główny cel, to jest jedyny cel. Co minutę odbywa się automatyczna weryfikacja (aby upewnić się, że wszystko jest w porządku), cykliczne kontrole jakości i, co najważniejsze, kontrole poszczególnych ulepszeń w algorytmie. Kiedy inżynier wpadnie na jakiś pomysł i opracuje nowy algorytm, gruntownie testujemy jego działanie. Mamy grupę statystyków, która przegląda dane i określa jakość nowych pomysłów. Spotykamy się co tydzień (czasem dwa razy w tygodniu), aby przyjrzeć się nowym ideom i zatwierdzić ich wprowadzenie. W 2007 roku wdrożyliśmy ponad 450 ulepszeń, co daje średnią około 9 na tydzień. Niektóre z nich to oczywiste i proste poprawki – na przykład poprawiliśmy obsługę skrótów w języku hebrajskim (tworzy się je wstawiając znak (") przed ostatnią literą, np. IBM zgodnie z tą regułą to IB"M), inne zaś są bardziej skomplikowane - na przykład w styczniu wprowadziliśmy znaczące zmiany do algorytmu PageRank. Przez większość czasu staramy się poprawić trafność zwracanych wyników, ale pracujemy również nad projektami, których jedynym celem jest uproszczenie algorytmów. Im prostsze, tym lepsze.
Jednym z naszych kluczowych zagadnień w ciągu ostatnich dwóch lat było wyszukiwanie międzynarodowe. Nie chodzi tylko o główne języki, ale o wszystkie języki mówione. W zeszłym roku na przykład wprowadziliśmy znaczące ulepszenia w obsłudze języka azerbejdżańskiego, którym mówi około 8 milionów ludzi. W ostatnich kilku miesiącach wprowadziliśmy funkcję sprawdzania pisowni w języku estońskim, katalońskim, serbskim, serbsko-chorwackim, ukraińskim, bośniackim, litewskim, filipińskim, słoweńskim i farsi. Wśród pracowników Google mamy wielu wolontariuszy, którzy mówią różnymi językami i pomagają ulepszyć naszą wyszukiwarkę. Zorganizowaliśmy również grupę ludzi z całego świata, która dostarcza nam dodatkowych opinii.
Inna grupa pracuje nad nowymi funkcjami i nowymi interfejsami użytkownika. Świetny samochód powinien mieć świetny silnik, ale to nie wystarczy. Musi być też komfortowy i musi się go łatwo prowadzić. Interfejs wyszukiwarki Google jest dość prosty. Niewielu naszych użytkowników kiedykolwiek przeczytało nasze strony pomocy. Większość daje sobie bardzo dobrze radę bez nich (mimo tego to dobra lektura i pracujemy nad tym, aby także i te strony ulepszać). Gdy dodajemy nowe funkcje staramy się upewnić, że dla każdego będą one intuicyjne i proste. Jedną z najbardziej widocznych zmian, jaką wprowadziliśmy w ostatnich latach, było wyszukiwanie uniwersalne. Pozostałe to między innymi: Notatnik Google, Twoja wyszukiwarka Google i oczywiście wiele ulepszeń iGoogle. Grupie pracującej nad interfejsem użytkownika pomagają eksperci, którzy przeprowadzają testy z użytkownikami i oceniają nowe funkcjonalności. Podróżują oni po całym świecie, odwiedzając ludzi w domach, by zobaczyć naszych użytkowników w ich naturalnym otoczeniu. (Bez obaw, nigdy nie pojawią się bez zapowiedzi i bez zaproszenia!)
Istnieje cały zespół skoncentrowany na walce ze spamem i innymi nadużyciami. Zespół ten zajmuje się wieloma różnymi aspektami, od ukrytego tekstu na stronach po strony niezwiązane z tematem, witryny wypełnione losowymi słowami kluczowymi oraz wieloma innymi działaniami, używanymi dla osiągnięcia wyższej pozycji w naszych wynikach wyszukiwania. Zespół wykrywa nowe trendy w spamowaniu wyszukiwarki i podejmuje odpowiednie działania, by im przeciwdziałać automatycznie; jak wszystkie inne zespoły i ten jest międzynarodowy. Grupa współpracuje ściśle z zespołem Centrum Google dla webmasterów, mogą więc ze wszystkimi dzielić się swoimi spostrzeżeniami i słuchać uwag właścicieli stron.
Są też inne zespoły dedykowane do poszczególnych projektów. Ogólnie, nasza struktura organizacyjna jest raczej nieformalna.
Jednym z najważniejszych aspektów wyszukiwania jest fakt, że szybko rosną wymagania użytkowników. W niedalekiej przyszłości zapytania kierowane do wyszukiwarki będą znacznie trudniejsze niż te, z którymi mamy do czynienia dzisiaj. Prawo Moore'a mówi, że moc obliczeniowa procesorów podwaja się co 18 miesięcy. Podobnie, istnieje niepisane prawo, że stopień skomplikowania najtrudniejszych zapytań również podwaja się w bardzo krótkim czasie. Nie sposób zmierzyć to dokładnie, ale czujemy to. Wiemy, że nie możemy spocząć na laurach i musimy pracować ciężko by sprostać wyzwaniu. Jak wspomniałem wcześniej, w nadchodzących miesiącach będziemy wprowadzać kolejne ulepszenia wyszukiwania o czym będziemy informować.