Dagens lektion. Mina forskningsintressen. Min bakgrund. Information Retrieval. Varför IR & disambiguering

Relevanta dokument
Klustring av svenska tidningsartiklar

Omvärldsbevakning. Sammanfattning av Business Intelligence-kursen. Nyhetsarkiv och källork. Hämta webbnyheter. Modeller över texter

Random Indexing för vektorbaserad semantisk analys

Kan datorn lära sig ordkunskap automatiskt?

Innehåll. Informationssökning språkteknologiska hjälpmedel

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Informationssökning och -utvinning. Informationssökning och informationsutvinning. [IR & IE] Introduktion (1) [IR & IE] Introduktion (2)

Dokumentrekommendationssystem och intranät

Automatisk tesauruskonstruktion med latent semantisk indexering

Bilverkstäder. Stemming. Tvetydigheter tas bort. Slå ihop till samma ord. Språkteknologiska stöd vid sökning och kategorisering

Lösningsförslag till tentamen i Språkteknologi 2D1418,

Linköpings Universitet Artificiell Intelligens II 729G11 HT QA- system. Anders Janson

MÖTESPLATS INFÖR FRAMTIDEN. Borås 8-9 oktober 2003

Information Retrieval. Information Retrieval (IR)

Introduktion till språkteknologi

729G17/729G66 Lexikal semantik och ordbetydelsebestämning. Olika ordbegrepp. Vad är ordbetydelse (1) Olika ordbegrepp

FriendlyReader. Språkteknologi för sammanfattningar och ökad läsbarhet. Målgruppsegmentering. Arbetsgång

Teoretisk lingvistik och datalingvistik. Robin Cooper

Introduktion till språkteknologi. Datorstöd för språkgranskning

Språkteknologi och Open Source

Fil: /home/lah/undervisning/sprakteknologi/ohbilder/oh1_kv.odp. Tjänster

Kategorisering och klustring. Kategorisering vid indexering. Kategorisering. Kategorisering föränderligtf. Klustring

Word- sense disambiguation

Betydelse och betydelse

För universitetsgemensamma regler för forskarutbildning se Regler för utbildning på forskarnivå vid Göteborgs universitet Doktorandreglerna.

Word sense disambiguation med Svenskt OrdNät

Projektförslag. Datalingvistisk projektkurs VT mars 2007

DAB760: Språk och logik

TDDD02 Föreläsning 7 HT-2013

Språkteknologiska stöd. Förskolor. Stemming. Slå ihop till samma ord

TDDD02 Föreläsning 4 HT Klassificering av ord och dokument Lars Ahrenberg

TDDD02 Språkteknologi för informationssökning (2016) Introduktion. Marco Kuhlmann Institutionen för datavetenskap

Klustring av svenska texter P E T E R J O H A N S S O N

Statistisk mönsterigenkänning

HUMANISTISKA FAKULTETEN. Språkteknologi, masterprogram, högskolepoäng

TDDD02 Språkteknologi för informationssökning / Textsammanfattning. Marco Kuhlmann Institutionen för datavetenskap

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Passage Retrieval En studie av index

Tekniker för storskalig parsning

Rocchio, Ide, Okapi och BIM En komparativ studie av fyra metoder för relevance feedback


Partiell parsning Parsning som sökning

Grundläggande textanalys. Joakim Nivre

Data mining. Data mining Skillnaden mellan observationella och experimentella data

För universitetsgemensamma regler för forskarutbildning se Regler för utbildning på forskarnivå vid Göteborgs universitet Doktorandreglerna.

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

Svensk nationell datatjänst, SND BAS Online

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi

Automatisk query expansion En komparativ studie av olika strategier för termklustring baserade på lokal analys

Hur man kan tillämpa Data Science och AI i säkerhetsarbetet. Magnus Sahlgren

Slutrapport för projektet VISAT. Johan Hagman Leif Grönqvist Sven David Bergström Jens Allwood. Projektledare: Projektfinansiär:

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

Lösningsförslag till övningsuppgifter, del V

En komparativ litteraturstudie av olika termkällor för query expansion

Att använda Weka för språkteknologiska problem

Anhållan om ändrad ersättning för vissa HST

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Sö ka litteratur i ERIC

Tentamen Del A. Marco Kuhlmann

SLAVISKA MEDELTIDSSTUDIER Masterexamen 120 hp

2D1418, Språkteknologi NADA, Kungliga Tekniska Högskolan SÖKMOTOROPTIMERING. Av Erik Lindgren

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

FOR BETTER UNDERSTANDING. Snabbguide.

Lösningar till utvalda uppgifter i kapitel 1

Googles sidrankning - linjär algebra värt en förmögenhet

Informationssökning. Jörg Tiedemann. Introduktion till språkteknologi. Informationssökning. Inledning. Strukturerade data. Ostrukturerade data

P Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R

Sök artiklar i databaser för Vård- och hälsovetenskap

Rullningslisten. Klicka på rullningslistpilar (pil upp eller pil ner) 1 för att förflytta dig i önskad riktning, en liten bit i taget.

Föreläsning 11 - Automater, textsökning, tillstånd

TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning. Marco Kuhlmann Institutionen för datavetenskap

Vi har väl alla stått på en matta på golvet och sedan hastigt försökt förflytta

Använda Internet. med hjälp av Internet Explorer. Nybörjarguide

Random Indexing. - med större korpus. Olof Stange & Claes Toll Handledare: Johan Boye DD Språkteknologi

KTH, NADA, Vahid Mosavat. 1. Flervalsfrågor (5p)

Vektorgeometri för gymnasister

INSTITUTIONEN FÖR FILOSOFI, LINGVISTIK OCH VETENSKAPSTEORI

So ka artiklar och annan litteratur

1 Minkostnadsflödesproblem i nätverk

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

TDP Regler

Magnus Palm. Lättläst IT

Att hitta projekt. Björn Victor. måndag 19 mars 12

Semantik och pragmatik

Uppgift 1 ( Betyg 3 uppgift )

Medicinsk Informatik VT 2004

Språkteknologiprogrammet

Automatisk taligenkänning som hjälpmedel för att bedöma muntliga språkfärdigheter

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer

INNEHÅLLSFÖRTECKNING... 1 INLEDNING ORDBOKEN I VERKTYGSLISTEN ORDBOKEN... 3

Query expansion med semantiskt relaterade termer

Datorlingvistisk grammatik

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

översikt 1. informationsförädling är, typ: 2. Squirrelprototypen 3. möjligheter för framtiden [5] ICALL/2

Lösningar Datastrukturer TDA

OBS! Vik och riv försiktigt! TRENDS IN INTERNATIONAL MATHEMATICS AND SCIENCE STUDY. Elevenkät. Årskurs 4. TIMSS 2015 Skolverket Stockholm

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Uppdaterad / EM. The Cochrane Library

Cinahl Headings. Sökguide. Sökning med kontrollerade ämnesord

3. Toppkvinnor på hög Låt lådan och de två kvinnornas famnar utgöra stackarna L, K1 respektive K2. Från början finns alla kort i L.

Transkript:

Information retrieval & ordbetydelsedisambiguering Leif Grönqvist (leifg@ling.gu.se) Växjö universitet (Matematiska och systemtekniska institutionen) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborgs universitet (Institutionen för lingvistik) Dagens lektion 1. Inledning a) Varför jag ska lära er datalingvistik b) Varför IR är viktigt för er 2. Ordbetydelsedisambiguering a) Supervised b) Unsupervised 3. Information retrieval a) Vektormodellen b) Termviktning c) Olika IR-problem 1 2 Min bakgrund 1986-1989: 4-årig teknisk (electrical engineering) 1989-1993: M.Sc. (official translation of Filosofie Magister ) in Computing Science, Göteborg University 1989-1993: 62 points in mechanics, electronics, etc. 1994-: Work at the Linguistic department in Göteborg Various projects related to corpus linguistics Some teaching on statistical methods (Göteborg, Växjö and Uppsala), Corpus linguistics and computational linguistics in Göteborg, Sofia, Beijing and Santiago de Cuba 1995: Consultant at Redwood Research, in Sollentuna, working on information retrieval in medical databases 1995-1996: Work at the department of Informatics in Göteborg (the Internet Project) 2001-2006: PhD Student in Computer Science / Language Technology Mina forskningsintressen Statistiska metoder i språkteknologi Korpuslingvistik (Jens) Maskininlärning (Torbjörn) Dolda Markovmodeller Vektorrymdsmodeller för lagring av semantisk information Samförekomststatistik Latent Semantic Indexing (LSI) Användning av lingvistisk information vid träning 3 4 Varför IR & disambiguering Ni läser nu en översiktskurs Hittills har ni sett: Grammatik(?) Pragmatik Taggning/parsning Och lite annat smått och gott IR har ofta hamnat inom AI som dataloger pysslat med svårt att använda riktig parsning Men datalingvister har mycket att tillföra! Ett stort och viktigt problem nu för tiden Information Retrieval Handlar om att lösa flera olika problem: AltaVista-stilen: Ge mig en massa som innehåller orden rymdfärjor och färdkost, i slumpvis ordning Traditionell IR: Ta fram alla som handlar om rymdfärjor och färdkost Ge mig alla som liknar det här et Ordna efter relevans Fråga-svar-system: Vem vann franska öppna 1982? Varför var det krig i Ruanda? 5 6 1

IR, forts. Övriga system och uppgifter Ge mig 10 bra nyckelord för det här et Ta fram en förkortad version av den här texten Flerspråkiga varianter av ovanstående Skriv frågor på ett språk och få svar på ett annat Fråga på ett språk och få på flera språk Multimodala system Sök även i ljud- och bildfiler Visa mig alla mål från dagens matcher i spanska ligan Leta upp stället när Boromir dör i filmen Sagan om ringen Problem att lösa Lagra stora mängder data () Identifiera och extrahera sökbar information, dvs. förstå en Skapa index för snabb åtkomst Tolka frågor (naturligt språk / nyckelordslista) Parsning Hur avancerade frågor vill man klara? Vanligt med frågemallar Vanligaste uppgifterna är alltså: Information retrieval: hitta en som matchar frågan Information extraction: hitta relevanta delar av en Question/answering: ge ett direkt svar på frågan 7 8 IR Komplikationer Folk är dåliga på att välja bra sökord Det kräver stor erfarenhet och förståelse Ibland är det mycket svårt ändå Många skriver in endast 1-2 ord som fråga Dokumenten man söker i, samt även sökfrågorna, innehåller stavfel Många ord är ambiguösa Dokumenten som är relevanta för en sökfråga kan ha helt olika innehåll i olika domäner Datamängder är ofta ostrukturerade eller på flera olika format Ordbetydelsedisambiguering Låt oss följa kapitel 17 i boken Problem: ord kan ha olika betydelse i olika kontexter Om vi kan hitta vilken betydelse det handlar om så kan det hjälpa oss att: Välja rätt parsning bland en massa möjliga parsträd Hitta om rätt sorts chips på nätet 9 10 Vad vill vi göra? För ett givet ord, t.ex. dishes Och en given uppsättning betydelser: 1. maträtter 2. disk, dvs smutsiga tallrikar och bestick För varje förekomst av dishes vill vi avgöra om det är 1. eller 2. Till vår hjälp har vi: Kontexten Ordklasstaggning? Lexikon? Träningsdata? Supervised learning Ett sätt att bygga ett program som kan disambiguera betydelser är att: Handkoda en träningskorpus Identifiera egenskaperna som kan ge rätt betydelse, t.ex. angränsande ord eller deras ordklass Träna upp igenkännaren så att egenskaperna i träningsdata avgör betydelsen för nya förekomster Två sätt att bygga en disambiguerare: Statistiska modeller: Vilken betydelse är den sannolikaste givet samtliga egenskaper hos förekomstens kontext Beslutsträd: hitta starka indikationer på den ena eller andra betydelsen, t.ex. ordet washing står omedelbart till vänster om dishes. Den starkaste vinner! 11 12 2

Beslutsträd: exemplet bass Feature-vektorer Fisk eller musikterm fish inom kontextfönstret striped bass guitar inom fönstret bass player piano inom fönstret tenor inom fönstret sea bass play/vb bass river inom fönstret Alternativ till beslutsträd Titta på de vanligaste innehållsorden i fönstret runt förekomsterna Träningsdata berättar vilka kombinationer som svarar mot respektive betydelse 13 14 Bootstrapping Trist att handkoda tusentals förekomster Hearst och senare Yarowsky föreslår metod att undvika handkodning: 1. Välj (i förväg) ut ett eller flera fröord som är starka indikationer för respektive betydelse, t.ex. fish (bass fisk ) play (bass musik ) 2. Starta med en mängd okodade förekomster 3. Titta i kontexterna efter fröorden och koda de förekomster där de förekommer 4. Lägg till nya fröord, eventuellt på specifika positioner, genom att titta på de kodade förekomsterna 5. Gå till steg 3 om inte alla förekomster är kodade Yarowskys metod Bygger på två faktum One sense per collocation (viktigast) One sense per discourse (optionell) Fungerar mycket bra! Vanligt att bara använda den första Den andra verkar konstig men stämmer ofta! Vore trevligt att hitta fröorden automatiskt! Yarowsky föreslår två sätt: Titta i en ordbok Försök att använda ord som sällan förekommer i samma fönster 15 16 Unsupervised methods Ett angreppssätt är agglomerativ klustring: 1. Gör ett kluster av varje förekomst 2. Slå ihop de två mest lika klustren 3. Fortsätt vid punkt 2. om mer än ett kluster finns kvar Problem: Hur avgör vi vilka kluster som är lika? Hur vet vi vilka delträd som svarar mot betydelser? Evaluering Handkodad guldstandard är bäst men tråkigt och dyrt att ta fram Kan vara bra att ge olika poäng för helt fel eller nästan rätt om vissa betydelser liknar varandra Alternativ till handkodning: pseudo-ord Välj ut två ord som liknar varandra lagom mycket Ersätt dem båda med en gemensam sträng Låt systemet disambiguera dem igen Det finns tävlingar i disambiguering: SENSEVAL Utvärderingskorpusar sätts samman av SENSEVAL 17 18 3

Information retrieval Bag of words Se på som en påse med oordnade ord Simpel men kraftfull modell Dokumentsamlingar blir då en samling ordpåsar Vektormodellen Antag att ordpåsarna innehåller n stycken signifikanta ord o 1 o n Ett d kan nu beskrivas som en vektor med n dimensioner en per signifikant ord På platserna som svarar mot ord som inte finns i d finns nollor På övriga platser finns nummer som svarar mot antalet förekomster med någon smart viktning Att välja ut de n orden kan göras på många sätt Vektormodellen, forts. När vi nu har en n-dimensionell vektorer för varje kan vi på samma sätt skapa frågevektorer: Fyll i ett värde på platserna i vektorn som svarar mot orden vi vill söka efter Sökning efter relevanta görs genom att titta vilka vektorer som är lika frågevektorn Bästa likhetsmåttet: cosinus för vinkeln mellan vektorerna Dessutom lätt att beräkna 19 20 Termviktning Kvaliteten på sökningen kan förbättras med hjälp av termviktning Hur kan vi veta vilka termer som är viktiga? Lexikon? Knappast domänspecifika ord saknas ofta i lexikon Termfrekvens? Räcker inte riktigt Distribution i en? Ja Idf: Inverterad frekvens Idé: En term som förekommer i nästan alla är inte så viktigt för innehåller De viktiga termerna har hög totalfrekvens men finns i få Vi kombinerar termfrekvensen (tf) med idf för att få fram vikten: w i,j = tf i,j * idf i för term i i j, idf i = log(n/n i ) N = totala antalet n i = antalet som term i förekommer i 21 22 Att välja de n termerna Kan vara smart att utföra stemming först Termviktningen är ett sätt att välja hur viktig varje term är Stopp-lista: Vanliga innehållslätta (synkategorematiska) ord bör tas bort Bättre resultat Resursbesparande Fortfarande svårt att välja ut termerna Latent Semantic Indexing (LSI) Istället för att välja termer med omsorg kan vi välja allihop! Därefter utförs en smart matematisk projicering Ett sätt kallas Singular Value Decomposition (SVD) Bibehåller avstånd mellan vektorer på bästa möjliga sätt Man väljer hur många dimensioner man vill ha kvar Likhet i flera steg kan uppnås! Vi kan hitta relevanta även om termen vi sökt efter inte finns i et 23 24 4

Andra sätt att öka precisionen Query expansion: Expandera sökfrågan med termer från en tesaurus Domänspecifika ord saknas oftast i tesaurusar Domänspecifika tesaurusar kan skapas automatiskt med hjälp av samförekomstanalys Relevansfeedback: När träfflistan kommer kan användaren få plocka bort oönskade Dessa kan användas som negativa sökvektorer Obs! Det är mycket enkelt att addera vektorer med olika mycket vikt Utvärdering Recall: Andel av de relevanta en som vi hittade Precision: Andel relevanta bland de vi hittade F-score: Väg samman Recall och Precision Funna Relevanta 25 26 F-score Kan viktas för att favorisera precision eller recall: F = Vid lika prioritet fås: 1 α (1 α) + precision recall pr F = 2 r + p Olika informationsbehov värderar recall och precision olika Problem med utvärderingen Vi vet sällan hur många relevanta det finns Relevans är inte binär Hur många skall vi ta fram när man söker? Hur kan vi väga in rankingen på ett bra sätt? Vi kan beräkna precision vid olika antal träffar: Precision vid 5: 1,0 Precision vid 20: 0,7 Precision vid 100: 0,3 Lite svårt att bedöma Tänk om det bara finns 30 relevanta? 27 28 Andra intressanta IR-uppgifter Dokumentklassificering: eventuellt hierarkisk Dokumentklustring: hitta naturliga kluster Filtrering: ta bort spam t.ex. Textsegmentering: hitta innehållshomogena bitar av en text Textsummering: Skapa en sammanfattning av en text automatiskt Nyckelordsextraktion: ta fram relevanta nyckeord för ett 29 5