31. 7. 2015

Zlepšená detekce jazyka stránky

Nedávno jsme vylepšili detekci hlavního jazyka stránky. Proč jsme to dělali? Na české dotazy chceme zobrazovat stránky určené pro české uživatele a jejich hlavní jazyk tak musí být čeština. V případě webu, který obsahuje 100 % češtiny, je tato úloha triviální. Představte si ale, že máte webovou stránku, na které je 80 % textu anglicky a 20 % česky, a přesto je smysluplné označit ji jako českou. Jak je to možné? Jedná se pravděpodobně o český e-shop, který na této konkrétní stránce uvádí třeba 80 výrobků, které mají všechny název v angličtině. Jediným českým textem tak je menu a ostatní ovládací prvky. Chceme ji ale označit jako českou, protože na ní chceme směřovat dotazy v češtině.

V minulosti jsme na tuto úlohu používali algoritmus, který se řídil člověkem navrženými pravidly. Úspěšnost tohoto algoritmu dosahovala 91 %. Na tuto úlohu jsme nově použili metodu strojového učení založenou na rozhodovacích stromech, kde tato pravidla navrhoval počítač. Úspěšnost tak stoupla na 97 %. Lepšího výsledku jsme dosáhli jednak proto, že jsme se začali dívat na další vlastnosti stránek, které starý algoritmus nezohledňoval, a jednak proto, že jsme pravidla nechali stanovovat algoritmus strojového učení. Je šestiprocentní zlepšení hodně?

Řekněme, že máme v databázi miliardu stránek. 9 % špatně označených stránek tak představuje 90 milionů. Jestli jsme zlepšili detekci o 6 %, tak jsme zlepšili detekci hlavního jazyka stránky pro  60 000 000 webů.

Nový algoritmus právě testujeme a do ostrého provozu se dostane nejpozději za měsíc, ale pravděpodobně dříve.