16. 12. 2011

Zpracování uživatelského dotazu

Zpracování dotazu je základní součástí vyhledávače, které podstatnou měrou ovlivňuje relevanci výsledků. Provádí se s každým dotazem na vyhledávání a je nutné ji provést i 500 krát za jedinou vteřinu.K základním úlohám zpracování dotazu patří oháčkování a doplnění skloňovaných tvarů slov. Kromě těchto operací se v dotazu provádí detekce čísel a jejich typů (desetinné číslo, datum, apod.), vygenerování podobných slov, desambiguace, detekce zkratek a mnoho dalších činností, kterým se jedna z komponent našeho hledání věnuje.

Zpracování dotazů prochází neustálým vývojem. Aktuálně se náš výzkum zaměřuje na detekci odlišně psaných slov se stejným významem. Tato úloha se dá rozdělit do následujících kategorií:

Podobná slova: Jsou významově shodná slova, která se vzájemně liší svým zápisem, jejich editační vzdálenost je malá a změna se netýká jen mluvnické kategorie. Do kategorie podobných slov patří například dvojice slov universita / univerzita, dále olympie / olympia, nebo kasino / casino a mnoho dalších.

Dvojice, nebo n-tice slov, které do této kategorie nepatří, jsou například vlas / hlas, případně cop / kop, jelikož se význam těchto slov vzájemně liší. Asi již tušíte, že pouze pravidlové metody záměny písmen nefungují a je potřeba využít sofistikovanějších metod výzkumu.

Spojená / rozdělená slova: jsou opět významově shodná slova, ale liší se spojeným – rozděleným zápisem částí slov. K takovým slovům se řadí například babybox / baby box, paypal / pay pal, turbodiesel / turbo diesel a další.

Dvojice, nebo obecně n-tice slov, která do této kategorie nepatří je například ale na (ve významu spojka, předložka) / alena (jméno).

Synonyma: jsou úlohou výzkumně nejnáročnější, poněvadž je obtížné detekovat v korpusu slova, jejichž tvar ani přibližně neznáme a jsou kdykoliv vzájemně zaměnitelná ve všech kontextech – úplná synonyma. Ještě obtížnější je generovat slova, která jsou zaměnitelná pouze v rámci určité množiny kontextů – částečná synonyma. Do kategorie synonym patří například slova přeprava / transport, báječný / senzační, benzín / pohonná hmota, apod.

Obtížnost výzkumu částečných synonym vysvětlím na slovu tank, které je v určitých kontextech zaměnitelné se slovem cisterna. V první fázi je nutné detekovat, že slovo tank má význam shodný právě se slovem cisterna. Ve fázi druhé je nutné detekovat kontext, ve kterém jsou slova vzájemně zaměnitelná. Chcete znát další významy slova tank?

Proč se této činnosti vlastně věnujeme a z jakého důvodu chceme hledat i jiná slova, než zadal uživatel? Vysvětlím vám důvod na příkladu hledání dotazu [felicie ojeté vozy]. Kdybychom v tomto případě nehledali i podobné slovo felicia, uživatel by přišel o část výsledků, na jejichž stránkách se slovo ve tvaru felicie nevyskytuje a místo něj stránka obsahuje pouze slovo felicia. Stejný důvod má hledání slova babybox, na dotaz zadaný ve tvaru baby box, nebo naopak.  Do nejnáročnější kategorie patří dotazy typu [ceny pohonných hmot], na které bych jako uživatel chtěl najít i stránky, obsahující jen spojení ceny benzínu.

Věřím, že jsem vám pomohl pochopit náročnost zpracování dotazu a důvod významného vlivu na relevanci výsledků. Jestliže se vám článek líbil, ocením vaše nápady a připomínky.