PV030 Textual Information Systems Petr Sojka Faculty of Informatics Masaryk University, Brno Spring 2010 Đ Ý Petr Sojka PV030 Textual Information Systems
Osnova(Týden šestý) ü Vyhledávání s předzpracováním textu; indexové metody. ý Metody indexování. þ Automatické indexování, konstrukce tezauru. Způsoby implementace indexu. Písemka. Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Part I Indexové metody Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Vyhledávání s předzpracováním textu Velké množství textů? Předzpracování textu! index, indexové metody, indexový soubor, indexsekvenční soubor hierarchické členění textu, znaˇckování textu, hypertext otázky uložení seznamu slov (lexikon) a seznamu výskytů (hitů), jejich aktualizace Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Vyhledávání s předzpracováním textu granularita položek indexu: dokument odstavec věta slovo slovo1 slovo2 slovo3 slovo4 dok1 1 1 0 1 dok2 0 1 1 1 dok3 1 0 1 1 invertovaný soubor, transpozice dok1 dok2 dok3 slovo1 1 0 1 slovo2 1 1 0 slovo3 0 1 1 slovo4 1 1 1 Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Vyhledávání v indexu Uspořádání slov (primární klíč) v indexu binární vyhledávání Časová složitost vyhledávání jednoho slova v indexu: n délka indexu, V délka vzorku O(V log 2 (n)) Vyhledávání kslov, vzorekp=v 1,...,v k k n opakované binární vyhledávání s průměrná délka vzorku, složitost? O(s k log 2 n) Pokud k a i srovnatelné: metoda dvojitého slovníku. Hašování. Rychlost O(n) ani O(log n) však obvykle nedostačuje, je třeba O(1). Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Implementace indexových systémů I Pro implementaci indexu je klíčová volba vhodných datových struktur a algoritmů. Použití invertovaného souboru: slovo1 1 0 1 slovo2 1 1 0 slovo3 0 1 1 slovo4 1 1 1 Použití seznamu dokumentů: slovo1 1, 3 slovo2 1, 2 slovo3 2, 3 slovo4 1, 2, 3 Souřadnicový systém s ukazateli má 2 části: slovník s ukazateli do seznamu dokumentů a zřetězený seznam ukazatelů na dokumenty. Petr Sojka PV030 Textual Information Systems Đ Ý
Why information retrieval? Inverted index Query processing Outlook Metody indexování ruční vs. automatické, pros/cons stop-list (slova s gramatickým významem spojky, předložky,...) 1 neřízené 2 řízené(speciální slovník slov: stanovení indexovacího jazyka) pass-list, tezaurus. synonyma a slova příbuzná. flektivní jazyky: vytváření rejstříku s jazykovou podporou lemmatizace. Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Analýzatextu výběrslov doindexu Frekvence výskytu slov je při identifikaci dokumentu významná. Frekvenční slovník angličtiny: 1 the 69971 0.070 6 in 21341 0.128 2 of 36411 0.073 7 that 10595 0.074 3 and 28852 0.086 8 is 10099 0.088 4 to 26149 0.104 9 was 9816 0.088 5 a 23237 0.116 10 he 9543 0.095 Zipfův zákon(princip nejmenšího odporu) pořadí frekvence = konstanta Npořadí=1 frekvence pořadí Kumulativní podíl pouˇzívaných slov KPS = počet slov textu Pravidlo 20 80: 20% nejfrekventovanějších slov tvoří 80% textu [MEL, obr. 4.19]. Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Metoda automatického indexování Metoda automatického indexování je založená na odvození významnosti slov z jejich frekvencí(cf. Collins-Cobuild dictionary); slova s nízkou a vysokou frekvencí jsou vyloučena: VSTUP: n dokumentů VÝSTUP: seznam slov vhodných pro vytvoření indexu 1 Spočteme frekvencifreq ik prokaždý dokument i 1,n a každé slovo k 1,K [K je početrůznýchslov vevšech dokumentech]. 2 Spočteme TOTFREQ k = n i=1 FREQ ik. 3 Vytvoříme frekvenční slovník pro slova k 1, K. 4 Stanovíme práh pro vyloučení velmi frekventovaných slov. 5 Stanovíme práh pro vyloučení slov s nízkou frekvencí. 6 Zbývající slova zařadíme do indexu. Problematika určení prahů [MEL, obr. 4.20]. Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook IR using the Boolean model Queries are Boolean expressions, e.g., Caesar AND Brutus The seach engine returns all documents that satisfy the Boolean expression Does Google use the Boolean model? Đ Ý Petr Sojka PV030 Textual Information Systems
term docid freq ambitious 2 1 be 2 1 brutus 1 1 brutus 2 1 capitol 1 1 caesar 1 1 caesar 2 2 did 1 1 enact 1 1 hath 2 1 I 1 2 i 1 1 it 2 1 julius 1 1 killed 1 2 let 2 1 me 1 1 noble 2 1 so 2 1 the 1 1 the 2 1 told 2 1 you 2 1 was 1 1 was 2 1 with 2 1 = term coll. freq. postings lists ambitious 1 2 be 1 2 brutus 2 1 2 capitol 1 1 caesar 3 1 2 did 1 1 enact 1 1 hath 1 2 I 2 1 i 1 1 it 1 2 julius 1 1 killed 2 1 let 1 2 me 1 1 noble 1 2 so 1 2 the 2 1 2 told 1 2 you 1 2 was 2 1 2 with 1 2
Why information retrieval? Inverted index Query processing Outlook Intersecting( merging ) two postings lists MERGE(p, q) 1 answer 2 while p NIL andq NIL 3 do ifdocid[p] = docid[q] 4 then ADD(answer, docid[p]) 5 else if docid[p] < docid[q] 6 then p next[p] 7 else q next[q] 8 return answer Đ Ý Petr Sojka PV030 Textual Information Systems
Why information retrieval? Inverted index Query processing Outlook Optimized intersection of a set of postings lists MERGE( t i ) 1 terms SORTBYFREQ( t i ) 2 result postings[first[terms]] 3 terms rest[terms] 4 while terms NIL andresult NIL 5 do list postings[first[terms]] 6 terms rest[terms] 7 MERGEINPLACE(result, list) 8 return result Đ Ý Petr Sojka PV030 Textual Information Systems