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

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

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

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

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

TDDD02 Föreläsning 7 HT-2013

Tentamen Marco Kuhlmann

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

TDDA94 LINGVISTIK, 3 poäng tisdag 19 december 2000

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Statistisk mönsterigenkänning

Betydelse och betydelse

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

Klassificering av homonymer Inlämningsuppgift språkteknologi

Tekniker för storskalig parsning

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

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

Probabilistisk logik 2

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

Partiell parsning Parsning som sökning

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

Kombinatorik och sannolikhetslära

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

Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Word- sense disambiguation

Vad behövs för att skapa en tillståndsrymd?

SE/Rapport_tillganglig_webb_2004_14.pdf 2 webzone.k3.mah.se/k99ac3hl/helenalackmagisterkogniton2003.

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

Marco Kuhlmann, Institutionen för datavetenskap, Linköpings universitet 17 mars 2014

Datorlingvistisk grammatik

Anpassning av problem

Tentamen Del A. Marco Kuhlmann

Signalbehandling Röstigenkänning

grafisk design & layout regler

1 Föreläsning I, Vecka I: 5/11-11/11 MatStat: Kap 1, avsnitt , 2.5

Anna: Bertil: Cecilia:

Semantik. Semantik och språkteknologi

Projektion av träningsdata på aktuell underrum av dim 1. Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 1

TAIU07 Matematiska beräkningar med Matlab

Definition 1 Ett vektorrum M (över R) är en mängd element, vektorer, sådan att det finns en kommutativ operation + på mängden M som uppfyller

Random Indexing för vektorbaserad semantisk analys

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

Tänk kreativt! Informationssökning. Ha ett kritiskt förhållningssätt! regiongavleborg.se

1 Duala problem vid linjär optimering

Markovkedjor. Patrik Zetterberg. 8 januari 2013

LÖSNINGAR TILL UPPGIFTER TILL RÄKNEÖVNING 1

FTEA12:4 Vetenskapsteori. Realism och anti-realism

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Introduktion till språkteknologi

Statistisk grammatikgranskning

Aktiviteten, (Vad är mina chanser?), parvis, alla har allt material,

Föreläsning 13 Innehåll

PRÖVNINGSANVISNINGAR

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

Publicera material i Blackboard

Föreläsning 1. Grundläggande begrepp

SF1915 Sannolikhetsteori och statistik 6 hp. χ 2 -test

Föreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk

Grundläggande begrepp inom lexikal semantik. Hanna Seppälä Uppsala universitet 1

Kom igång med Denna korta manual hjälper dig med att komma igång med programmen Vital och ViTex.

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Sannolikhetslära. 1 Enkel sannolikhet. Grunder i matematik och logik (2015) 1.1 Sannolikhet och relativ frekvens. Marco Kuhlmann

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52

Användning av informationsmängder Struktur Modeller Dokument Metadata

Lexikal semantik. Lingvistik 1. Hanna Seppälä Uppsala universitet 1

Språkteknologi vt09. Diskursmodellering. Diskursmodell: exempel. Koherensrelationer. Koreferens. Att bestämma koherensrelationer

*****************************************************************************

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

Probabilistisk logik 1

TANA17 Matematiska beräkningar med Matlab

Kritiskt tänkande HTXF04:3 FTEB05. Grundläggande semantik II

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

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

Semantik VT Introduktion. Dagens föreläsning. Morfem-taxonomi forts. Morfem-taxonomi. Lexikal semantik: studerar ords betydelse

Pedagogisk beskrivning skolbarn

Sö ka artiklar öch annan litteratur

Föreläsningar. Gruppövning, grupp A: Måndag 26/ sal 318 Gruppövning, grupp B: Måndag 26/ sal 318

Grammatik för språkteknologer

Statistisk slutledning (statistisk inferens): Sannolikhetslära: GRUNDLÄGGANDE SANNOLIKHETSLÄRA. Med utgångspunkt från ett stickprov

729G43 Artificiell intelligens Probabilistisk logik. Arne Jönsson HCS/IDA

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

För att logga in och få tillgång till Bildarkivet krävs att man är registrerad som Behörig Användare.

Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.

BLOCK 1. 1A. Att komma igång

X Y år provnr Därefter fritt 4 första kolumnerna villkorade

VEKTORRUMMET R n. 1. Introduktion

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


Kritiskt tänkande HTXF04:3 FTEB05. Rekonstruktion av argument

Klustring av svenska tidningsartiklar

Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)

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

SF1624 Algebra och geometri

Vi tror på att kommunikation ska vara roligt - därför är Prata utformad för att

TAMS79: Föreläsning 10 Markovkedjor

Språkteknologi och Open Source

F3 Introduktion Stickprov

Transkript:

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

Översikt Ø Avslutning om ngram-modeller Dokumentrepresentation Ø Klassificering med Naive Bayes ett typexempel generell metod Ø Andra exempel Textkategorisering Betydelsebestämning av ord

Unigrammodeller för dokument p Den röda kurvan representerar termernas unigramsannolikheter i databasen. Spikarna representerar relativa frekvenser i ett enskilt dokument. termer

Unigrammodeller för dokument Varje dokument tilldelas en modell, M D, som interpolerar hela databasens modell med MLE-modellen för dokumentet. Rangordningsprincip: Givet en sökfråga Q = q 1, q 2,..., q n, välj det dokument vars modell ger sökfrågan högst sannolikhet. D* = argmax p(q M D ) = p(q i M D ) n D i=1

Klassificeringsproblem (Automatisk) klassificering innebär att tilldela varje objekt, d, i en given mängd D, en kategori från en given taxonomi, C. Det kan ses som en funktion, D C, Det enklaste prestandamåttet är korrekthet (eng. accuracy), som bygger på jämförelse med ett facit för en given testmängd. Det anges ofta i procent: k = 100 x [antal rätt] / [antal objekt]

Klassificering och klustring Klassificering använder sig av fördefinierade klasser. Klustring för ihop dokument (eller andra objekt ) i grupper ( kluster ) utifrån antaganden om vad som gör dem lika. Exempel: - dokument representerade som termvektorer kan klustras baserat på närhet i vektorrummet.

Klassificering och sökning Ett vanligt fall av klassificering är att vi har en kategori som är särskilt intressant, t.ex. namn vs. ord som inte är namn spam vs. mejl som inte är spam I dessa fall är det ofta rimligt att se problemet som ett sökproblem och använda både precision och recall som kvalitetsmått. det är t.ex. (oftast) ett allvarligare fel att klassa ett riktigt mejl som spam än att släppa igenom ett spammejl.

Klassificeringsproblem Automatisk textkategorisering innebär att klassificera texter utifrån sitt innehåll ( orden i texten ). Det kan innebära att klassificera utifrån ämne genre språk attityd/perspektiv... Några speciella tillämpningar mejlklassificering vidarekoppling av samtal i kundtjänster författarbestämning av texter...

Klassificeringsproblem Betydelsebestämning av ord för en större eller mindre mängd av flertydiga ord bestämma vilken av de möjliga betydelserna som en viss förekomst har, Ordklasstaggning att bestämma ordklass för alla ord i en text Namnkategorisering att bestämma om ett ord är eller ingår i ett namn, att bestämma vilken slags entitet (person, plats, organisation,...) ett givet namn refererar till

Ett typproblem Namnigenkänning: klassificera ord i en text som (del av) namn eller icke-namn. En lösning: reguljära uttryck kan fånga ord som börjar på stor bokstav, men alla ord som börjar på stor bokstav är inte namn, omvänt kan delar av namn ibland skrivas med liten bokstav Speciellt: första ordet i en mening

En text Avspänningen mellan stormaktsblocken och nedrustningssträvanden i Europa har inte mycket motsvarighet i Mellanöstern. Gamla testamentet kan fortfarande ge en anvisning om bitterheten i konflikterna i området - och om tidsperspektivet. Don Kerr, en av de politiska tänkarna på det ansedda analysinstitutet IISS, är inte påfallande optimistisk när han talar om saken. Särskilt smygrustningen vad gäller missiler oroar. Hur är det då i Mellanöstern? - Jag kan tänka mig att en massa bedömare - och politiska aktörer - i regionen iakttar vad som händer på andra håll i världen med stort intresse, säger Don Kerr. Sedan konstaterar de förmodligen att det sker - just på andra håll i världen... Kerr skrattar lite åt den avfärdande formuleringen och fördjupar resonemanget. Den avgörande skillnaden mellan konflikter i exempelvis Europa och de som bygger under spänningarna i Mellanöstern är tidsfaktorn, påpekar han. Spänningarna mellan araber och perser och mellan araber och judar har gamla anor. Don Kerr talar om " den fruktansvärda kontinuiteten " som präglar områdets historia. Han berättar anekdoten som FN-medlaren Brian Urquhart myntat : - Han tillfrågades någon gång av en novis om var de bästa historiska källorna fanns att tillgå. Han hänvisade utan att blinka till Gamla testamentet.

Problemet Avgör för det första ordet i varje mening om det är (en del av) ett namn, eller inte. Kategorier: Namn ( första ordet är del av ett namn ) ~Namn ( första ordet är inte del av ett namn )

Resultat med enkla metoder Välj alltid vanligaste kategorin, dvs ej namn: Korrekthet: 10/14 = 0,78, men Recall av Namn = 0 Kategorisera ord som namn om de överallt i texten har stor bokstav: Precision = 3/9 = 0,33 Recall = 3/4 = 0,75 Korrekthet: 7/14 = 0,50

En lösning baserad på sannolikheter identifiera egenskaper som skiljer namn från ord som inte är namn, uppskatta för varje egenskap hur sannolikt det är att ett namn har den egenskapen, p(egenskap Namn) och, som jämförelse, att icke-namn har egenskapen, p(egenskap ~Namn). kombinera dessa sannolikheter i en beräkning, Naive Bayes: anta att de egenskaper och sannolikheter vi valt ut är oberoende

Några potentiellt intressanta egenskaper F1: återfinns någon annanstans i texten inuti i en mening och börjar med stor bokstav. F2: återfinns någon annanstans i texten inuti i en mening och börjar med liten bokstav. F3: följs av ett ord som också börjar med stor bokstav

Ord som uppfyller F1, F2, F3 Avspänningen mellan stormaktsblocken och nedrustningssträvanden i Europa har inte mycket motsvarighet i Mellanöstern. Gamla testamentet kan fortfarande ge en anvisning om bitterheten i konflikterna i området - och om tidsperspektivet. Don Kerr, en av de politiska tänkarna på det ansedda analysinstitutet IISS, är inte påfallande optimistisk när han talar om saken. Särskilt smygrustningen vad gäller missiler oroar. Hur är det då i Mellanöstern? - Jag kan tänka mig att en massa bedömare - och politiska aktörer - i regionen iakttar vad som händer på andra håll i världen med stort intresse, säger Don Kerr. Sedan konstaterar de förmodligen att det sker - just på andra håll i världen... Kerr skrattar lite åt den avfärdande formuleringen och fördjupar resonemanget. Den avgörande skillnaden mellan konflikter i exempelvis Europa och de som bygger under spänningarna i Mellanöstern är tidsfaktorn, påpekar han. Spänningarna mellan araber och perser och mellan araber och judar har gamla anor. Don Kerr talar om " den fruktansvärda kontinuiteten " som präglar områdets historia. Han berättar anekdoten som FN-medlaren Brian Urquhart myntat : - Han tillfrågades någon gång av en novis om var de bästa historiska källorna fanns att tillgå. Han hänvisade utan att blinka till Gamla testamentet.

Klassificering med Naive Bayes Ansätt ett antal egenskaper eller indikatorer ( features ) som för en given förekomst antingen är uppfylld (1) eller inte uppfylld (0). Indikatorerna ska ha olika sannolikheter för Namn och ~Namn Här har tre egenskaper valts <F1, F2, F3> Varje ord som ska klassificeras tilldelas en observation, O, i form av en kontextvektor, t.ex. <0,0,0>, <1,0,0>,... Beräkna sannolikheterna p 1 = p(namn O) p 0 = p(~namn O). Välj Namn om p 1 > p 0 dvs om p 1 / p 0 > 1

Kontextvektorer mening 1: Avspänningen, <0,0,0> mening 2: Gamla, <1,1,0> mening 3: Don, <1,0,1> mening 4: Särskilt: <0,0,0>... mening 8: Kerr, mening 12: Han,...

Klassificering med Naive Bayes Beräkning med Bayes regel: p 1 = p(namn O) = p(o Namn)p(Namn)/p(O) p 0 = p(~namn O) = p(o ~Namn) p(~namn)/p(o) Bildar vi kvoten p 1 /p 0 elimineras p(o) Oberoendeantagandet för indikatorerna ger p(o Namn) = p(<f 1 f 2 f 3 > Namn) = def = def p(f 1 Namn)p(f 2 Namn)p(f 3 Namn) På samma sätt: p(o ~Namn) = p(f 1 ~Namn)p(f 2 ~Namn)p(f 3 ~Namn)

Klassificering med Naive Bayes Beslutsregel: Välj Namn omm p(namn)p(f 1 Namn)p(f 2 Namn)p(f 3 Namn) p(~namn)p(f 1 ~Namn)p(f 2 ~Namn)p(f 3 ~Namn) > 1

Var kommer sannolikheterna ifrån? Alla sannolikheter kan uppskattas utifrån en träningskorpus av relevanta texter. Relativa frekvenser, och (vid behov) utjämning Observera p(namn) + p(~namn) = 1 p(f 1 =1 Namn) + p(f 1 =0 Namn) = 1

Räkneexempel: sannolikheter p(namn) 0,12 (apriori-sannolikhet) p(~namn) 0,88 p(stor bokstav Namn) 0,5 p(f1=1 Namn) p(ej stor bokstav Namn) 0,5 p(f1=0 Namn) p(liten bokstav Namn) 0,1 p(ej liten bokstav Namn) 0,9 p(namn efter Namn) 0,2 p(f3=1 Namn) p(ej namn efter Namn) 0,8 p(f3=0 Namn) p(stor bokstav ~Namn) 0,05 p(f1=1 ~Namn) p(ej stor bokstav ~Namn) 0,95 p(f1=0 ~Namn) p(liten bokstav ~Namn) 0,9 p(ej liten bokstav ~Namn) 0,1 p(namn efter ~Namn) 0,15 p(ej namn efter ~Namn) 0,85

Räkneexempel Givet dessa sannolikheter, vad blir beslutet Anställningar? Don? Gamla?...

Principer för klassificering med Naive Bayes Klassificeringen grundar sig på apriori-sannolikheter och ett större eller mindre antal indikatorer ("features"). Valet av dessa är viktigt och är avgörande för hur bra det blir. En indikator kan vara binär (uppfylld eller icke-uppfylld), men kan också ha flera värden. Varje värde förknippas med en sannolikhet att förekomma ihop med varje möjlig kategori, p(f=f C=c). Vid språktillämpningar uppskattas sannolikheterna från korpusdata. Utjämning tillämpas för att balansera för data med låg frekvens. Alla indikatorer betraktas som oberoende. Därför vägs de ihop som en produkt av sannolikheter.

Principer för Naive Bayes Naive Bayes är ett exempel på övervakad (eng. supervised) automatisk inlärning. Det krävs alltså en mängd träningsdata där enheter är klassificerade. Den teoretiska härledningen är baserad på sannolikheter, men i praktiken används ofta en logaritmisk skalförskjutning så att bästa kategori är den med lägst kostnad. sannolikheten p ger kostnaden -log(p) 0 < p < 1 ger - < log(p) < 0 log(pq) = log(p) + log(q)

Uppgift Textklassificering utifrån ämne modellera p(ämne dokument) Antalet ämnen kan vara stort, ekonomi, sport, inrikespolitik, utrikespolitik, hälsa,... Kategoriseringen kan vara envärd eller flervärd, Vid envärd klassificering väljs det ämne som har högst sannolikhet, Vid flervärd klassificering väljs alla kategorier som t.ex. överstiger ett givet tröskelvärde, baserat på ett antal binära klassificerare.

Textklassificering utifrån ämne Givet tillräckligt med klassificerade texter, kan valet av indikatorer göras automatiskt med användning av termer T = { t i } med störst diskriminerande förmåga. F i = förekomst av t i i dokumentet, C* = argmax p(c) p(t i C) Alternativt kan vi använda vektorrumsmodell, N C i = 1 D = <F 1,..., F N > jämförs med <p(t 1 C), p(t N C)> även fraser (bigram och trigram) kan användas,

Betydelsebestämning Betydelsebestämning innebär att bestämma en ordförekomsts betydelse i en given kontext. Exempel: Vilken betydelse av ordet 'stryka' används i följande mening: Du stryker dig från sändlistan genom ett tomt mail till: leavedagens@nyheter.skolporten.com

Ord och betydelser Vad är en ordbetydelse? Teoretiska svar ges av lingvister, språkfilosofer m.fl. Praktiskt svar: det som i ett (stort) lexikon är definierat som en betydelse, t.ex. Nationalencyklopedins ordbok, Wordnet,

Ett lexikonutdrag (källa: Svensk Ordbok) stryka, v. 1 föra handflatan längs med någonting (a) med användning av andra kroppsdelar, (b) i syfte att avlägsna ngt (c) i syfte att föra samman något 2 belägga en yta med färg eller annat mjukt ämne 3 släta ut tyg med hett strykjärn 4 dra streck med penna i anslutning till ngt skrivet (a) som markering, (b) för att ta bort ngt (c) bildligt utesluta, ta bort 5 hala ned flagga 6 förflytta sig smygande eller dold

Semantiska relationer mellan lexem synonymi strikt synonymi (utbytbarhet i alla kontexter) extensionellt överlapp (WordNet: synsets) pojke, kille, grabb, kis, gosse,... flertydighet homonymi/homografi (samma form, helt olika betydelse) kurs; fil;... polysemi (samma form, olika betydelse) fot; grön; stryka;...

Betydelsebestämning med korpusdata ett stort antal förekomster av ett ord märks upp med avseende på sin betydelse i olika meningskontexter. Dessa delas upp i träningsdata och testdata. Uppgiften är att utforma ett ordbetydelsesystem som presterar så bra som möjligt på testdata Exempel: <s id= 36 sense= stryka-6 >Det visade sig alltså att det inte bara är en utan minst två, kanske tre vargar som stryker omkring bland villorna här på området</s>

Betydelsebestämning med definitionsdata från stora lexikon eller ordnät ord i kontexten av en given förekomst jämförs med ord från definitionerna, ev. utvidgat med definitioner av ord som den första definitionen Exempel: gubben strök väggen med blå färg stryka-2: belägga en yta med färg eller annat mjukt ämne

Hur stor kontext behövs? stryks då stryks fyra, då stryks fyra nollor Rumänien, då stryks fyra nollor från i Rumänien, då stryks fyra nollor från sedlarna fönster

Betydelsebestämning med Naive Bayes Identifiera ett antal kontextindikatorer för ordet som ska betydelsebestämmas, t.ex. ord eller lemma före/efter, ord eller lemma två positioner bort, förekomst av en viss klass av ord i ett fönster runt ordet Låt dessa svara mot elementen i en vektor O = <f 1,, f n >; Uppskatta från träningsdata för varje betydelse s, p(f i s); Utjämnning är nödvändig för att uppskatta sannolikheter för indikatorer som ej setts i träningsdata.

Bästa gissning = mest sannolika betydelse Givet en förekomst av ordet vars kontext svarar mot vektorn O, välj den betydelse s* som är mest sannolik i kontexten, dvs s* = argmax p(s O) = (enligt Bayes regel) s argmax p(s)p(o s) / p(o) = argmax p(s)p(o s) s s

Naive Bayes - antagandet p(s) uppskattas med den relativa frekvensen i träningsdata, p(o s) uppskattas med produkten Π p(fi s) 1 i n Detta innebär som förut att vi räknar som om indikatorerna är oberoende.