Neustále pracujeme na tom, aby se ve Vyhledávání na Seznamu zobrazovaly co nejlepší výsledky. I proto jsme nedávno nasadili úpravy, které zlepšují relevanci organického hledání. Co se změnilo a z čeho úpravy vycházejí?
Abychom mohli lidem, kteří něco hledají na Seznamu, zobrazovat co nejlepší výsledky, potřebujeme pochopit, jakou odpověď očekávají. Proto jejich dotazy průběžně analyzujeme a kategorizujeme. Dotazy dělíme na několik typů – někdy je příslušnost do dané kategorie zřejmá, jindy méně. Totožný dotaz totiž mohou zadávat různí uživatelé, jejichž očekávání, záměry a úmysly se logicky liší.
Co je SERP?
Zkratka pro Search Engine Result Page označuje stránku, která se zobrazí po zadání slova nebo slovního spojení do vyhledávače. Jde tedy o odpověď na konkrétní dotaz uživatele.
A právě tato dělení dotazů, porozumění jejich významu a očekávání těch, kteří je zadali, nás motivovalo k vytvoření úprav, které jsme nedávno nasadili. Pojďme se podívat na to, jaké dotazy rozlišujeme:
-
Informační dotazy: Lidé je zadávají za účelem nalezení nějaké informace. Může se jednat o poměrně obecný dotaz, jako je třeba „Francie“, ale i mnohem konkrétnější otázku typu „jaké je hlavní město Francie“, která má blízko k přirozenému jazyku.
-
Navigační dotazy: Prostřednictvím těchto dotazů se lidé chtějí dostat na nějaký konkrétní web nebo stránku. Může se jednat třeba o dotaz „přihlásit se na Facebook“ nebo „Novinky.cz hlavní stránka“.
-
Transakční dotazy/Získat zboží: Jde o dotazy, jejichž prostřednictvím lidé hledají stránu, kde mohou nakoupit konkrétní zboží nebo provést podobnou transakci. Příkladem může být třeba dotaz „koupit iPhone 13“.
-
Hledání firem: Lidé na internetu často vyhledávají také nejrůznější služby, nejčastěji ve svém okolí. Dotaz pak může mít tvar „pokrývač v Benešově”.
-
Zpravodajské/newsové dotazy: Jedná se o dotazy, u nichž uživatelé očekávají zpravodajské výsledky, které se týkají aktuálního dění. příkladem může být třeba dotaz „válka na Ukrajině”.
Motivace dotazů není vždy jednoznačná
Pravděpodobně vás napadají i další typy dotazů a jejich podkategorie. My s detailnějším členěním pochopitelně pracujeme, ale v zásadě vycházíme z výše uvedených. Dotazy uvedené jako příklad mají celkem zřejmou příslušnost ke konkrétní kategorii. V praxi se s podobnými dotazy běžně setkáváme, ale jejich záměr často není tak jednoznačný:
- Chce uživatel zadáním dotazu „iphone 13“ přejít do e-shopu, kde si telefon koupí, nebo ho zajímá recenze, v níž se dozví, jaké parametry daný přístroj má?
- Je cílem dotazu „openAI“ přejít na web OpenAI.com, nebo zjistit, o jakou firmu se jedná a čím se zabývá?
Jaká je motivace hledání? Práce pro anotátory
Jak poznáme, že je výsledek hledání k dotazu skutečně relevantní? S tím nám pomáhají modely strojového učení. Jak poznají, co lidé chtějí najít? Je třeba jim to vysvětlit. A my k tomu využíváme anotovaná data. Tedy data, kdy je u dvojice dotaz a dokument ohodnoceno, jak moc relevantní je daný dokument k zadanému dotazu.
Je však zřejmé, že relevance dokumentu vždy souvisí se záměrem uživatele. Pokud je záměr z dotazu zřejmý, je jasnější, který vysledek je/není relevantní. Anotace tedy vytváříme i s ohledem na záměr uživatele. Vznikají tak anotace na základě specializovaných pravidel, kdy anotátoři vědí, na co se zaměřit nebo jaké parametry dělají dobrý dokument opravdu dobrým (pro konkrétní záměr!).
Anotátoři vědí, že pokud je cílem hledání nákup zboží přes internet, je důležité, aby hledané zboží bylo na e-shopu dostupné. A analogicky – pokud uživatel hledá firmu, je pro něj důležité přehledné zobrazení kontaktních údajů. Jinak bude vypadat anotace stránky „iPhone 13“ z Wikipedie na dotaz „iphone 13“ pro záměr pořízení nového telefonu, a jinak za předpokladu, že uživatel mobil hledal s informačním záměrem.
O zbytek se postará strojové učení
Pro roztříděná data vytváříme „subvyhledávače“ – každý se svým modelem strojového učení a s jinými pravidly pro sestavení SERPu. My tyto „subvyhledávače“, které nám přinášejí spoustu výhod, nazýváme streamy. Modely mají kapacitu věnovat se „svému“ problému, pro jehož řešení využívají specifické features. Pokud vhodnou feature k dispozici nemáme, je jednodušší odhalit potřebnost jejího vzniku. A když nám model sdělí, že je konkrétní stránka relevantní, víme, že je relevantní pro příslušný záměr.
Důležitým příznakem relevance pro úmysl Získat zboží tak může být signál, že na stránce jsou dostupné produkty skladem, pro úmysl Najít firmu pak třeba signál o přehledném výskytu kontaktních informací. Pro informační dotazy, a především ty v přirozeném jazyku, mají zase velký význam signály založené na jazykových modelech.
Jak fungují signály založené na jazykových modelech?
Signály založené na zpracování textu pomocí jazykových modelů používají tzv. word embeddingy. Jde o vektory čísel, na které jsou převedeny texty stránek nebo jejich částí. Při hledání převedeme na podobný vektor i dotaz. Porovnáním vektorů dotazu a dokumentu vznikají signály. Signály, které v současné době používáme, vycházejí z našeho jazykového modelu Small-E-Czech. Na rozvoji podobných signálů stále pracujeme a připravujeme větší a pokročilejší modely.
Recept na „umíchání“ SERPu
Výstupem výše popsaných kroků je několik sad výsledků. My ale potřebujeme vytvořit jen jeden SERP. Musíme se tedy rozhodnout, ze kterých streamů chceme výsledky sestavit. A řídíme se při tom predikcí záměru uživatele. V případě, že záměr uživatele nelze jednoznačně určit, mícháme SERP z více streamů.
Dalšímu vylepšování tohoto míchání, analýzou ideálního sestavování SERPů a predikcí záměrů uživatele se nadále intenzivně zabýváme. A věříme, že to na našem Vyhledávání a jeho výsledcích bude poznat. Tak nezapomeňte – hledejte se Seznamem!
Za tým Vyhledávání Jakub Šmíd