Informationssökning språkteknologiska hjälpmedel Hercules Dalianis NADA-KTH Email: hercules@kth.se Tel: 08-790 91 05 http://www.nada.kth.se/~hercules Hercules Dalianis sid 1 Innehåll Sökmotor Stemming, trunkering, frågeexpansion Långa frågor och frassökning Stavningsstöd KWIC- Key word in context Extrakt av relevanta textutdrag Kategorisering, Klustring Hercules Dalianis sid 2 Sökmotor Spindel som hämtar sidor Indexeraren indexerar sidorna Sökmotorn söker i indexet Indexeraren tar ut alla ord ur alla dokument och lägger dom i ett index Varje unikt ord finns i olika dokument Ord har olika betydelser Orden och, eller, är inte signifikanta. De är för vanliga Orden barn, förskola är signifikanta Hercules Dalianis sid 3 Hercules Dalianis sid 4 tf = term frekvens, antal unika termer per dokument. förskolor = 5 ggr = tf förskola = 1 ggr = tf barnen = 4 ggr = tf barn = 1 ggr = tf att = 7 ggr = tf, och = 100 ggr = tf eller 25 ggr = tf idf = inverse document frequency, idf = N/di där N totalt antal dokument och di är antal dokument där termen förekommer. Högt idf för en term ger en hög signifikans, dvs en ovanlig term Ex 100 dokument totalt/ 5 dokument med termen förskolor = 20 = idf Om alla dokumenten innehåller termen = idf = 100/100 = 1 (och) Hercules Dalianis sid 5 Hercules Dalianis sid 6
tf idf ger ett mått på signifikans i ett dokument. Termer med höga tf idf är signifikanta i ett specifikt dokument. tf idf = 5 * 20 = 100 för förskolor i vårt dokument tf idf = 1 * 20 = 20 för ett annat dokument med tf = 1, förskolor finns bara en gång Det finns många varianter på tf * idf Normalisering p.g.a. olika dokumentlängd kan behövas. Sökmotorer tf * idf brukar approximeras av Internetsökmotorer, svårt att beräkna exakt. Precision/Recall(Täckning) mått på hur bra en sökmotor är Hercules Dalianis sid 7 Hercules Dalianis sid 8 Förskolor Trunkering förskol* (förskolor, förskolelärare) Stemming + lite regler förskola => förskol, förskolelärare => förskolelärar Frågeexpansion- generera alla böjningsformer förskola => förskola, förskolan, förskolans, förskolor, förskolorna, förskolornas,etc. Samma effekt som stemming men mer kostsamt datamässigt Hercules Dalianis sid 9 Stemming Stemming (Carlberger et al 2001) bilverkstaden, bilverkstäder, mm => bilverkstad 15% bättre precision och 18% bättre täckning vid sökning på svenska. Andra språk upp till 30-50 procent bättre träffar Hercules Dalianis sid 10 Slå ihop till samma ord webmaster, webbmaster, webbansvarig => webbmaster Mord,mordet, mördare => mörd Tomlinson (2001) (Hummingbird Fulcrum) ökade precisionen vid sökning genom att använda stemming tyska 43% holländska 30% franska 18% italienska 16% spanska 12%, engelska 12% Hercules Dalianis sid 11 Hercules Dalianis sid 12
Tomlinson (2002) (Hummingbird Fulcrum) ökade precisionen vid sökning genom att använda stemming Finska 69%, (word splitting) Tyska 27% (word splitting) Spanska 8% Holländska 8%, Franska 6%,? Italienska 4%,? Svenska 4% Engelska 2% användandes Inxight LinguistX tool (Xerox) Hercules Dalianis sid 13 Långa frågor Genomsnitt tvåordsfrågor 1.8 eller 2.3 ord per fråga Längre frågor ger bättre svar Större inmatningsfält Frassökning innebär att måste behålla stopporden NEAR och ordposition Större index - lika stort som dokumentsamlingen minst. Hercules Dalianis sid 14 Stavningsstöd d vid söknings Många felstavade sökord i sökmotorer 10 % minst Stavningsstöd => fuzzy matching Många felstavningar vid söknings 10 procent av alla sökfrågor är felstavade (1 miljon sökfrågor på RSVs webbplats, (Dalianis 2002)) Google pressrelease (2002) säger samma sak 10 procent av alla sökfrågor är felstavade på Sunets webbkatalog (Stolpe 2002) Euroling-SiteSeeker loggar säger 10-12.5 procent felstavade sökfrågor (på 1 miljon sökfrågor totalt) Hercules Dalianis sid 15 Hercules Dalianis sid 16 Sökning i ordböcker Stava används i Lexin Skolverket en webbaserad ordbok, med bl.a. svenskengelsk ordbok 7 miljoner uppslagningar per månad och där har man upp till 33 procent felstavningar totalt Sex olika typer av stavfel Personer som inte kan inte stava rättdyslektiker, andraspråksanvändare, mfl Slarvfel - slinter på tangentbordet Osäkra på stavningen Särskrivningar eller hopskrivningar Alternativa stavningar av ord i indexet (Namn stavas på olika sätt Eriksson, Ericsson,Erixon) Felstavningar i indexet Hercules Dalianis sid 17 Hercules Dalianis sid 18
Dynamiskt stavningsstöd Indexet är lexikonet Alla ord i indexet är rätt även felstavade ord. Om ett sökord ej finns i indexet försöker stavningsstödet hitta närmaste editeringsavstånd av sökordet till ett ord i indexet. Provar med olika näraliggande tangentbordsättningar Fyra feltyper insertion deletion substitution transposition täcker 80 percent av alla stavfel Hercules Dalianis sid 19 Hercules Dalianis sid 20 På RSV sökmotor med stavningsstöd korrigerades 90 procent av stavfelen 40 procent av förslagen var särskrivningar (datamässigt tungt) 30 procent är alternativa stavningar 22 procent var felstavningar Dokumentsamlingen innehöll drygt 5000 dokument Särskrivningar 40 procent utrikestraktamente bilavgifter expertskatt => traktamente utrikes => avgifter bilar => expert skatt skattejämkningsblankett => jämkningsblankett skattejämkning Hercules Dalianis sid 21 Hercules Dalianis sid 22 Alternativa stavningar 30 procent engångskatt => engångsskatt kyrkskatt => kyrkoskatt hempc => hem-pc rotavdrag => rot-avdrag arvsskifte => arvsskiftet pharmasia => pharmacia skattåterbäring => skatteåterbäring Stavfel 22 procent engångskatt => engångsskatt giftemål => giftermål jämnkning => jämkning skillsmässa => skilsmässa skiljsmässa => skilsmässa skattejämnkning => skattejämkning Hercules Dalianis sid 23 Hercules Dalianis sid 24
Stavningsstödets precision och täckning? t Sökning med stavningsstöd bland 79 000 svenska nyhetstexter ökade precisionen och täckningen med 4 respektive 11,5 procent (Sarr 2003). Sökning med svensk stemming på 54 000 texter ökade precisionen och täckningen med 15 resp 18 procent (Carlberger et al 2003). Sär- och hopskrivning Att göra automatisk särskrivning är datamässigt tungt rättstavning => rätt stavning Hopskrivningar lätt att göras automatiskt rätt stavning => rättstavning text sammanfattning => textsammanfattning Google, SiteSeeker Hercules Dalianis sid 25 Hercules Dalianis sid 26 KWIC-Snippets Snippets-Extrakt KWIC- Key word in context Extrakt av relevanta textutdrag De första sökmotorerna hade bara länkadressen och kanske första orden i den indexerade texten Tvungen att klicka in i alla dokument Textsammanfattare SweSum ihopkopplad med Altavista 1999!! Hercules Dalianis sid 27 Sökmotorer med KWIC Google AltaVista Fast SiteSeeker Hercules Dalianis sid 28 Hercules Dalianis sid 29 Hercules Dalianis sid 30
Synonymgenerering Termexpansion vore bra att ha Bilverkstad => bilverkstad, bilreparation, garage, verkstad Man vill slippa använda synonymlexikon Hercules Dalianis sid 31 Hercules Dalianis sid 32 LSI Latent Semantic Indexing (LSA Latent semantic analysis) Bygger på vektorrymdsmodellen Termer som befinner sig nära varandra kanske har med varandra att göra. Tidskrävande Samförekomster bilverkstad, bilreparation, bilskada,, garage, Volvo, Sverige, mm Google synonymsökning ~volvo => volvo car, cars ~volvo -volvo ~car -car => 240, vehicle, motor, racing, automotive, auto ~car => BMV, auto, motor, car ~car -car => automotive, motor vehicle, racing Hercules Dalianis sid 33 Hercules Dalianis sid 34 Kategorisering vid indexering och söknings Automatisk språkigenkänning - svenska, engelska, kinesiska, m.m. Dokumenttyp HTML, Word, Excel, PDF m.m. Datum Kategorier i form av server, domän, eller land Hercules Dalianis sid 35 Kategorisering Kategorier finns även på webbplatser Kommuner tex Kommunförvaltning Skolor Fritid Kultur Socialförvaltning Övrigt Hercules Dalianis sid 36
Kategorisering föränderligtf På många webbplatser ändrar sig eller läggs kategorier till efter hand De färdigvalda kategorierna blir snabbt obsoleta Automatisk kategorisering genom bra exempel? Men de flesta använder inte kategorier vid sökning Klustring Klustring är klurigt Enligt vilka mått skall man klustra? Cosine = Vinkeln mellan texternas vektorer (enligt vektorrymdsmodellen) Andra mått Antal ord som texterna delar Antal ord som delas samt ordfrekvenserna Normalisering Hercules Dalianis sid 37 Hercules Dalianis sid 38 Vivisimo klustringssökmotorn kmotorn Sökmotorn Vivisimo www.vivisimo.com har en klustrare Tar de första 500 bästa träffarna och klustrar dem Hercules Dalianis sid 39 Hercules Dalianis sid 40 Klustring Rosells klustrare (2002, 2003) klustrade 5 000 svenska nyhetstexter Använde stemming och ordledsuppdelning Stemming förbättrar klustringsresultaten med ungefär 5 procent. Sammansättningsuppdelning förbättrar resultaten med 10 procent och en kombination ger 13 procents förbättring (Rosell 2003). Hercules Dalianis sid 41 Hercules Dalianis sid 42
Semiautomatisk kategorisering Rosell kunde jämföra sina automatiska kluster med de kategorier som nyhetstexterna kom ifrån från början Därigenom kunde han se hur pass bra klustren blev. Läs mera i Rosell 2003 Hercules Dalianis sid 43 Hercules Dalianis sid 44 Slutsatser Framtiden Termexpansion Särskrivning Semiautomatisk kategorisering Flerspråklig sökning Hercules Dalianis sid 45 Hercules Dalianis sid 46