INF5820 H2010 4.gang, 19.9 Ordmeningsentydiggjøring Word Sense Disambiguation (WSD) Word Net: Noun S: (n) bass (the lowest part of the musical range) S: (n) bass, bass part (the lowest part in polyphonic music) S: (n) bass, basso (an adult male singer with the lowest voice) S: (n) sea bass, bass (the lean flesh of a saltwater fish of the family Serranidae) S: (n) freshwater bass, bass (any of various North American freshwater fish with lean flesh (especially of the genus Micropterus)) S: (n) bass, bass voice, basso (the lowest adult male singing voice) S: (n) bass (the member with the lowest range of a family of musical instruments) S: (n) bass (nontechnical name for any of numerous edible marine and freshwater spiny-finned fishes) 1
Hvorfor? Dialogsystem: Dumt å få tilsendt en fisk hvis du tror du har bestilt en el-bass. Oversettelse: Saltbakt kontrabass Søk: Du er interessert i å fiske i England og vil bare ha relevante treff. (Prøv Google: bass England) Tekst til tale: tapet, urte En komponent i mange anvendelser: Språkteknologisk mellomvare Beslektede oppgaver 1. WSD: bass betydning en eller to 2. Tagging: fisker verb eller substantiv, entall eller flertall o Tagging, gjøres før WSD 3. Oversettelse: eng: bass norsk: bass eller abbor o Oversettelse en form for WSD o Skal en gjøre WSD som eget trinn i oversettelse? Kan være aktuelt i regelbasert system Innbakt i StatMT Liknende, men ikke identiske teknikker 2
Tilnærminger til WSD A. Korpusbaserte metoder Vi ser på omgivelsene Tilsvarende i tagging og SMT Interessante likheter og forskjeller til de to andre oppgavene B. Ordbøker og tesauri Korpusbaserte metoder Unsupervised ingen fasit Supervised: o Et korrekt oppmerket treningsmateriale o Mål: få til det samme med umerket tekst (Velg betydning, evt. Tagg, oversett) Naiv Bayes-metode Supervised metode for WSD Naiv Bayes brukes også for andre klassifiseringer: o Tekstklassifisering (Manning, Raghavan, Schütze, Introduction to Information Retrievel ch. 13) o Inkludert spam. Klassifisering o Sentiment -klassifisering 3
Ordmeningsentydighetsgjøring (WSD) regulært uttrykk: "([(word="doserer" %c)]) ;" valg: Antall treff: 4 Resultatsider: 1 AV03Un0202.936 Professor Emeritus Dag Østerberg doserer i klassisk byteori, og Knut Halvorsen fra Oslo Teknopol i synergieffektene mellom byer og forskningsmiljøer. SK01NeJo01.2859 Her sitter jeg på en bar, tenkte Harry, og hører på en transvestitt som doserer om australsk politikk. SK01OlPa01.3709 Han doserer teen etter tempoet i fortellingen hennes, ser ikke ned på den for å forvisse seg om at koppen er på rett kjøl, ser ufravendt på henne, henger ved hennes lepper - teen kommer av seg selv. SK04RaAn02.250 Som doserer morfinen og holder en knivskarp balanse mellom bevissthet og smerteterskel. Hvorfor greier vi å entydiggjøre disse? Hva ser vi på? Ord i omgivelsene. Den rollen de spiller. 4
Vi ser på et vindu rundt ordet og hva som befinner seg der. Hva er relevant? Hva slags vindu 1. Hvor stort vindu skal vi bruke? 2. Spiller plasseringen innenfor vinduet noen rolle? 3. (Hvis plasseringen spiller en rolle:) Ordklasse, POS-tag? Eller bare ordform? 4. (Hvis vi ikke ser på plassering:) Ser vi bare på om et ord forekommer eller ikke, eller teller vi antall forekomster? 5. Skal alle ord i vinduet telle, eller bare noen spesielle? 5
Alt. 1: kollokasjonstrekk lite vindu, for eksempel to ord på hver side rekkfølge pos-tag [wi 2,POSi 2,wi 1,POSi 1,wi+1, POSi+1,wi+2,POSi+2] An electric guitar and bass player stand off to one side, not really part of the scene, just as a sort of nod to gringo expectations perhaps. [guitar, NN, and, CC, player, NN, stand, VB] 6
Alt. 2: Bag-of words større vindu, som n ord, eller en setning ignorer plassering innenfor vinduet sjekker bare om et ord forekommer eller ikke, gir ikke uttelling for multiple forekomster bruker noen termer som er overrepresentert i kontekster der det flertydige ordet forekommer [fishing, big, sound, player, fly, rod, pound, double, runs, playing, guitar, band] [0,0,0,1,0,0,0,0,0,0,1,0] An electric guitar and bass player stand off to one side, not really part of the scene, just as a sort of nod to gringo expectations perhaps. Kombinasjoner av de to teknikkene: en lang vektor, eller to klassifikatorer som kombineres 7
Naive Bayes-klassifikator w er et ord f er vektoren for en bestemt kontekst S er alle mulige meninger Vi skal velge den mest sannsynlige kandidaten fra S gitt f. Bayes formel: Alt for lite data: Vi har kanskje aldri sett f før. 8
Naiviteten (Vi antar noe vi ikke vet om er riktig) Vi antar at trekkene er uavhengig av hverandre. (Galt fordi fiske-trekk vil opptre sammen og penge-trekk vil opptre sammen.) som gir Vi får 20 størrelser å holde rede på i stedet for 2 20 > 10^6 Antagelsen gjør at sannsynlighetene blir uriktige. Men rangeringen behøver ikke ta skade av dette. 9
Trening 1 Her er count(w j ) antall forekomster av ordet w j i korpus. (Egentlig ingen grunn til å ha subscript på w j, kunne brukt w) Mens count(s i, w j ) er antall ganger w j forekommer med betydningen s i. 10
Trening 2 Men her burde vi hatt subscript på s og kalt den s i. Og kanskje også tatt med w for å unngå misforståelser. (Vi ser ikke på samme betydning s for andre ord (typer) enn w.) count(s) = count(s i ) = count(s i, w) ( = count(s i, w j ) i forrige formel) og tilsvarende eller helst P f j s = P f j s i = count f j, s i count(s i ) P f j s i, w = count f j, s i, w count(s i, w) 11
Trening fortsatt Men hva er f j og spesielt hva er j? Boka er litt knapp. To indekser å holde rede på: Plassering i vektoren. Dette er indeksen j i formel 20.5 og 20.6 Verdien av trekket på denne plassen i vektoren. I formel 20.8 må vi både telle opp for hver plass f j i vektoren og for hver mulig verdi v k på denne plassen Noe slikt som P f j = v k s i = count f j = v k, s i count(s i ) 12
Bag-of-words-trening Hva teller vi i count f j = v k, s i [fishing, big, sound, player, fly, rod, pound, double, runs, playing, guitar, band] [0,0,0,1,0,0,0,0,0,0,1,0] f3 = 1 hvis sound forekommer i vinduet f3 = 0 hvis sound ikke forekommer i vinduet Kollokasjons-trening Hva teller vi i count f j = v k, s i [wi 2,POSi 2,wi 1,POSi 1,wi+1, POSi+1,wi+2,POSi+2] f3 = sound hvis dette ordet kommer på plassen foran f2 = NN ordet på plassen foran er et substantiv 13
Dekoding Regn ut for hver s, velg den som gir størst verdi. Fordi dette blir å multiplisere sammen små tall er det fare for unøyaktigheter ( underflow ). Derfor bruker vi logaritmer i stedet: Husk: log(a * b) = log(a) + log(b) n log P(s) + log P(f j s) j=1 14
Glatting Mer om WSD Ordlikhet Utfyllende om glatting Andre WSD-metoder Bootstrapping Motivasjon Et endelig antall observasjoner er ikke helt representative. Det at vi ikke har sett noe utelukker ikke at det finnes. Ønsker ikke å multiplisere med 0 (ingen informasjon) og i hvert fall ikke dividere med 0 (tull). Jan Tore Lønning Ordlikhet
Eksempel Mer om WSD Ordlikhet Utfyllende om glatting Andre WSD-metoder Bootstrapping P(s i ) = count(s i, w) count(w) for i = 1,... n Her vil Ønsker ingen P(s i ) = 0 n P(s i ) = 1 i=1 Vi antar at vi har sett alt en gang mer enn vi har: P(s i ) = count(s i, w) + 1 count(w) + n Egenskapen beholdes n i=1 P(s i) = 1 (en sannsynlighet) Jan Tore Lønning Ordlikhet
Kommentarer Mer om WSD Ordlikhet Utfyllende om glatting Andre WSD-metoder Bootstrapping Å legge til 1 kan bli for mye hvis det er mange usette klasser. Anta at f er som i boka, men har 20 plasser. Da blir det 2 20, dvs. mer enn en million forskjellige vektorer. Hvis vi nå ville telle count( f, w) og w har noen hundre forekomster, vil det bli alt for mye sannsynlighet på det vi ikke har sett. Vi kan legge til mindre enn 1. Det finnes mange mer avanserte metoder for glatting. Jan Tore Lønning Ordlikhet
Glatting Problem hvis en størrelse er null. Erstatt med der N er antall si-er og med P(s i ) = count s i, w j count w j P(s i ) = count s i, w j + 1 count w j + N P f j s = count f j, s count(s) P f j s = count f j, s + 1 count(s) + V n Her er V j antall mulige verdier for f j. For bags-of-words-klassifikatoren er V j = 2 for alle j. 15
Evaluering Bunnlinje (base line): naivt 1/n, der n er antall betydninger mer vanlig: frekvensen til den hyppigste betydningen, denne kan bli mer enn 0,5, jfr banken Øvre grense: enighet mellom mennesker som blir satt til å gjøre samme oppgave 16
Pseudo-ord for evaluering: banan-dør Forskjell i vanskelighetsgrad Lettere: bass som fisk eller relatert til musikk (homonymer) Vanskeligere: de ulike musikkbetydningene (polysemer) pseudord har mye felles med homonymer 17