110 likes | 338 Vues
Slovenský stemmer mimoslovníkových slov. Vyhľadávanie informácií 2012/2013 Michal Žilinčík. Motivácia. Stemming , lematizácia Rôzne tvary slov v jazyku Problém pre IR („Adam“ != „ Adamovému “) Slová mimo slovníka Mená, priezviská, geografické názvy Slovníkový algoritmus
E N D
Slovenský stemmermimoslovníkových slov Vyhľadávanie informácií 2012/2013 Michal Žilinčík
Motivácia • Stemming, lematizácia • Rôzne tvary slov v jazyku • Problém pre IR („Adam“ != „Adamovému“) • Slová mimo slovníka • Mená, priezviská, geografické názvy • Slovníkový algoritmus • Gramatické pravidlá? Štatistický prístup?
Možné prístupy • S pravidlami týkajúcimi sa jazyka • Produkčný algoritmus – je možné z uloženého koreňa dostať analyzované slovo? • Lematizácia, POS tagging – spresnenie vďaka rozpoznaniu slovného druhu alebo vetného člena • Pravidlá pre prípony a predpony • Rôzne ďalšie pravidlá, výnimky, metódy • Porovnávanie spoluhlások • Kompenzácia zmäkčovania • Kompenzácia vyhadzovania samohlások pri skloňovaní (otec, otcom) • Bez znalosti jazyka • Štatistický prístup
Existujúce riešenia / slovenský stemmer Gramatický prístup Štatistický Funkcia D – dĺžka dlhšieho slova – prvá odlišná pozícia stem je najdlhší spoločný prefix • úplné vypustenie samohlások • úplné odstránenie diakritiky • kompenzácia zmien krátkych slabík na dlhé pri skloňovaní • detekcia niektorých výnimiek (cudzie slová) • odstránenie samohlások z koncov slov a kompenzácia ich vypúšťania pri skloňovaní • ď, ť, ň, ľ => d, t, n, l • odstránenie pádových prípon podľa (neúplného) zoznamu
Riešenie / gramatický prístup • Analýza slabých miest algoritmov • Sledovanie úspešnosti na vybratých príkladoch • Odstraňovanie prípon • Odstraňovanie posledných dvoch skupín samohlások • Zmäkčovanie d, t, n, l • Analýza slovných druhov, rozdiely oproti slovníkovým slovám • napr. mená a priezviská • Rozšírenie zoznamu prípon (podstatné mená, privlastňovacie a vlastnostné prídavné mená) • Odstraňuje sa najdlhšia prípona • Výnimka: „ov“ často tvorí zloženú príponu • Ďalšie pravidlá • Slová kratšie než tri znaky
Riešenie / štatistický prístup • Prevzatie funkcie D • Empirické stanovanie hraničnej hodnoty • 1,2 • Problematické: Fico != Fica vs. Miro != Mir • Pôvodný prístup: • a,b sú slová; ak D(a, b) < hranica, tak patria do jedného klastra a ich stem je najdlhší spoločný prefix • nevyhovujúce
Riešenie / štatistický prístup / modifikácia hranica = 1 • Bratislavčanmi • Stem1 = Bratislavčanmi • Bratislavčan • D(Bratislavčanmi, Bratislavčan) = 0,25 • Stem1 = Bratislavčan • Bratislave • D(Bratislavčan, Bratislave) = 0,5833 • Stem1 = Bratislav hranica = 1 • Bratislavčanmi • Stem1 = Bratislavčanmi • Bratislave • D(Bratislavčanmi, Bratislave) = 1,0625 • Stem1 = Bratislavčanmi • Stem2 = Bratislave • Neporovnávať stem a nové slovo, ale všetky objavené tvary slova s novým slovom
Zhodnotenie • Gramatický stemmer • Problém s krátkymi slovami • Možné riešenie: funkcia, ktorá pridáva dĺžke slova väčšiu váhu • Zlepšenie oproti predchádzajúcemu projektu – nepoužívanie stemu • Zníženie rýchlosti • Štatistický stemer • Problém s príponami „-ký“ a „-ský“ • Riešenie: stačí doplniť do zoznamu • Rýchly (všetky tvary sa dajú nezávisle na sebe upraviť na rovnaký stem) • Ľahšie rozšírenie pravidlami, ale len do istej miery • Hybridný prístup