Není dotaz jako dotaz aneb jak funguje entitní vyhledávání na Seznamu?

Znáte to – zadáte dotaz do vyhledávacího pole a voilà, kýžený výsledek na vás vyskočí. Lehké jako facka. Jak ale poznáme, které výsledky vás zajímají a které zobrazit? Pojďte se podívat, jak v Seznamu pracujeme s relevancí Vyhledávání.

Vezměte si třeba dotaz [Zámek Blatná]. Zajímá dotyčného recenze na zámek? Nebo plánuje výlet a chce vidět mapu, kudy k zámku vyrazit? Chce jen zjistit něco o jeho historii nebo ho zajímá obrázek, jak zámek vypadá? Byl třeba před lety na nějakém takovém zámku a nemůže si vzpomenout na jeho jméno?

Cílem vyhledávače je vždy poskytnout odkazy na relevantní stránky, kde lidé najdou, co hledali. Je těžké uhodnout, co zrovna mysleli, když dotaz zadávali, ale je jasné, čeho se konkrétní dotaz týká. Většina stránek, které se vyskytnou ve výsledcích vyhledávače, bude kompletně o Zámku Blatná. Lišit se budou jenom typy stránek ve výsledcích.

Dalším druhem dotazů jsou dlouhé dotazy zadané v přirozeném jazyce, například [jak se starat o kopyta]. Hledající pravděpodobně vlastní koně nebo dobytek a potřebuje praktické rady. Většinou ale neexistují stránky, které by se celé týkaly daného problému. Přesto dokážeme najít užitečné odpovědi: stránky o péči o koně mohou mít odstavec o koňských kopytech, případně diskuzní fóra mohou obsahovat příspěvek s osobní zkušeností s péčí o koňská kopyta. Těmto dotazům říkáme „neentitní“ a musí se řešit jiným přístupem vyhledávání.

Prvnímu přístupu, kdy lidé hledají informace o nějaké entitě – například zámku, říkáme „entitní“. A právě jemu se v dnešním povídání budeme věnovat.

Co potřebujeme vědět?

Výsledky dotazů mířící na entity jsou řazeny strojově učeným modelem. Ten se naučí na ručních hodnoceních užitečnosti výsledku na daný dotaz. V případě relevance model určuje, jak dobrou dává webová stránka odpověď na daný dotaz. Model tedy má k dispozici data o dotazu (zda je to film, jméno hudební skupiny, název produktu aj.) a data o webové stránce (titulek stránky, počet slov na stránce, kolik je na stránce obrázků aj.). Abychom ho mohli „naučit“, tzn. určit kvalitu webové stránky na dotaz, potřebujeme zjistit, jaký výsledek je dobrý a jaký špatný.

Hodnocení relevance webových stránek na dotaz provádí naši spolupracovníci, anotátoři. Protože data anotátorů jsou nejdůležitější součást strojového modelu, dáváme si velmi záležet, aby byla kvalitní.

Máme pečlivě sestavená anotační pravidla, anotátory školíme a sbíráme od nich zpětnou vazbu, kterou používáme na další iterační úpravu pravidel.

Pro samotné trénování modelu využíváme open-source knihovnu catboost od společnosti Yandex. V minulém roce jsme úspěšně přidali významné tzv. vektorové signály, které umožňují spojit dotaz s webovými stránkami, které jsou pro něj relevantní, ač na stránce není zmíněn.

V průběhu let jsme zjistili, že je výhodné si typy vyhledávání rozdělit na kategorie, které se navzájem liší:

  • hledání, kde lidé chtějí přejít na konkrétní webovou stránku
  • hledání konkrétního zboží, které si chtějí koupit
  • hledání informace (rozsáhlé či konkrétní)
Katerorie entitního hledání
Příklad kategorií entitního hledání, které nám umožní zaměřit se konkrétněji na jednotlivé problémy a změřit je.

Máme tedy několik různých kategorií entitního hledání, které nám umožňují se zaměřit konkrétněji na jednotlivé problémy a změřit je. Na entitní dotazy tedy vyhledávač reaguje různě podle toho, zda hledající chtěl nakupovat nebo zjišťovat informace.

Měření kvality vyhledávání děláme několika způsoby. Jednak opět s pomocí anotací: anotátoři hodnotí užitečnost webových stránek na dotaz. A jednak tzv. A/B testy: malé skupině lidí ukážeme připravovanou verzi hledání. Statisticky u nich pak změříme, zda byla nová verze úspěšná.

A co nás ještě čeká?

V budoucnu plánujeme pokračovat v naší snaze rozdělit jednotlivá hledání na jemnější segmenty a adresovat jejich konkrétní problémy. Dále budeme zkoumat složitější typy uživatelského chování: které akce znamenají, že byli lidé s výsledky hledání spokojeni. Je to zajímavá úloha – někdy jim stačí dodat jediný výsledek, někdy si potřebují prohlédnout více stránek, aby získali komplexní informaci, a někdy dostanou odpověď už v samotné stránce s výsledky vyhledávání.

V entitním hledání relevance budeme tedy pracovat na kvalitě sbíraných dat, porozumění konkrétních problémů, které se vyskytují v modelech strojového učení relevance, a hlubší znalosti uživatelského chování.

Za tým Vyhledávání
Bára Planková, product manager

Sdílet na sítích