26. 5.

Vylepšení komponenty pro zpracování dotazu

Na vyhledávání brzy nasadíme novou komponentu pro zpracování dotazu. Zpracování dotazu je fáze, která probíhá těsně po zadání dotazu do vyhledávání a předchází tak všem následujícím vyhledávacím procesům (např. vyhledání webových stránek v indexu). Účelem zpracování dotazu je mj. opravit v dotaze případné překlepy, přidat k němu další relevantní slova a pochopit z něj, s jakou potřebou se uživatel na naše vyhledávání obrátil.

Hlavním cílem projektu byla inovace technologie a rozšíření možností dalšího rozvoje fulltextového vyhledávání, nikoli změna aktuální funkčnosti. Výsledky by tedy měly být víceméně podobné, nicméně změna postupů nakonec u některých dotazů odlišnosti přinese.

Relevance nově

Role zpracování dotazu

Obecně dělíme úlohu zpracování dotazu na následující části:

1) Oprava dotazu

Abychom s dotazem mohli dále smysluplně pracovat, je potřeba v něm rozpoznat případné překlepy, popř. doplnit chybějící diakritiku.

2) Analýza dotazu

Zajímá nás, jaký má dotaz téma a jaké entity se v něm vyskytují. Například v dotazu [helena vondráčková dlouhá noc] nalezneme zpěvačku [helena vondráčková] a píseň [dlouhá noc]. Fulltextovému vyhledávání pomůže hlavně informace, že je výhodné hledat poblíž sebe slova [helena vondráčková] nebo [dlouhá noc], zatímco [vondráčková dlouhá] už méně.

3) Expanze dotazu

K dotazu přidáváme další slova, jež se mohou vyskytovat v dokumentech, které jsou pro uživatele zajímavé. V této fázi například hledáme synonyma, rozvíjíme a kontrahujeme zkratky, ale také skloňujeme zadaná jména do jiných pádů atp. Nově tyto expanze nepřidáváme k jednotlivým slovům jako dosud, ale ke smysluplným souslovím. Srov. např. skloňování dotazu [záhada hlavolamu]:

Původní verze: [záhada, záhady, záhadě…]; [hlavolam, hlavolamu, hlavolamem…]

Nová verze: [záhada hlavolamu, záhady hlavolamu, záhadě hlavolamu…]

Důsledky změn

Se změnou postupů uvnitř vyhledávače se změnily i některé signály, na jejichž základě se počítá relevance, a proto bylo potřeba znovu „přeučit“ a naladit relevanční model, který určuje řazení výsledků. Další informace o nedávné větší změně v relevančním modelu naleznete zde.

Další změna, kterou mohou uživatelé postřehnout, je úprava syntaxe operátoru not. Z původního tvaru zápisu se znaménkem mínus [liška -šelma] (vyhledá dokumenty se slovem liška, které zároveň neobsahují slovo šelma) přecházíme na zápis, který je podobný dalším operátorům [liška not:šelma]. Důvodem ke změně jsou výsledky našich analýz, jež ukázaly, že operátor not dosud naši uživatelé psali do dotazů spíše nezáměrně. Změna je platná i pro složeniny, kdy se mínus používalo v kombinaci s dalšími operátory (jako třeba -site:…, -intitle:…). Nově tedy stejné funkčnosti docílíte využitím operátorů notsite, nothost, notintitle, notinurl a dalších.

Veškeré změny, které brzy nasadíme do produkce, si můžete vyzkoušet již nyní na https://hledani.sbeta.cz/. Za vaši zpětnou vazbu budeme rádi.