Korpuslingvistik vt 2007 Metoder för annotering I Beáta B. Megyesi bea@stp.lingfil.uu.se 1
Annotation: Morfo-syntaktisk analys teckenkodning meningssegmentering tokenisering morfologisk segmentering/analys, lemmatisering ordklasstaggning chunkning syntaktisk parsning (frasstrukturer, dependensrelationer) 2
Metoder manuell automatisk regelbaserad datadriven hybrid kombination 3
Manuell vs automatisk Manuell görs för hand - tidskrävande - risk för inkonsekventa fel Automatisk program som utför + snabb + konsekventa fel 4
Regelbaserade en uppsättning regler kräver expertkunskap många system utvecklats på 70-80-talet använts inom bl a tokenisering, automatisk morfologisk segmentering och syntaktisk parsning 5
Datadrivna metoder automatiskt bygga en modell använder någon maskininlärningsalgoritm lite mänsklig kraft kräver data att lära sig från supervised vs unsupervised inlärning lätt att applicera på nya domäner snabb, effektiv och robust kan kombinera system 6
Maskininlärning automatisk inlärning av struktur givet data, data-drivna metoder / korpusbaserade metoder givet några exempel - lär strukturen olika typer av ML algoritmer: statistiska, transformationsbaserade, exempelbaserade, vektorbaserade, mm. symbiotisk relation mellan korpusbyggande och datadrivna klassificerare 7
Kända datadrivna metoder inom NLP Transformation-Based Error Driven Learning (Brill 1992) Memory-based learning (Daelemans, 1996) Information-theoretic Approaches: Maximum entropy modeling (Ratnaparkhi, etc) Hidden Markov Model (Charniak, Brants, etc) Decision trees (Quinlan, Daelemans) Inductive Logic Programming (Cussens, Lindberg & Eineborg, etc.) Support Vector Machines (Vapnik, Joachims, etc.) 8
Maskininlärning för NLP PoS taggning chunkning parsning semantisk analys (word sense disambiguation) språk: 90-talet mest för germanska språk, idag slaviska, turkiska, romanska, etc. 9
Ordklasstaggning engelska: Part-of-Speech (PoS) tagging mål: tilldela varje ord i en text en unik ordklass (taggning) tagg representerar PoS med eller utan morfologisk information modern N / NC / NN UTR SIN DEF NOM A / JJ POS UTR SIN DEF NOM 10
Ordklasstaggning, forts. Trivialt icke-tvetydiga ord som vi känner till Icke trivialt: tvetydiga ord modern/n A såg/v N Modern såg flickan okända ord som inte finns med i träningskorpus 11
Metoder för ordklasstaggning för hand tids- och resurskrävande risk för inkonsekvenser, otillåtna taggar, mm automatisk snabb, effektiv kräver ett automatiskt taggningssystem, s.k. taggare 12
Typer av taggare Regelbaserade reglerna är konstruerade för hand av lingvister ofta lämnar ambiguiteter kvar vid osäkerhet t.ex. TWOL, ENGTWOL, SWETWOL (Koskenniemi, 1983) 13
Regelbaserade taggare TWOL/SWETWOL/ENGTWOL handskrivna regler kompileras till finita automater en lingvist ändrar en uppsättning regler iterativt för att minimera taggningsfelen vid varje iteration körs reglerna på korpusen och reglerna ändras för att rätta till de mest seriösa felen. Utvecklad av Kimmo Koskenniemi 1983 Implementerad av Lauri Karttunen 1983 (engelska) Svenska: Fred Karlsson, 1992 www.lingsoft.fi/swetwol 14
PCKIMMO: för att bygga egna regler www.sil.org/pckimmo 15
Regelbaserade taggare: TWOL bygger på tvånivåmorfologi metod för att beskriva morfo-fonematiska förhållanden Abstrakta lexikonformer med 2 nivåer: ortografisk; ytnivå lexikal-morfologisk: djupnivå Finite-state system: de två nivåerna relateras med finita automater, sk tranduktorer (transducers) tranduktorerna är finita automater som läser ihopparade band möjliggör för analys och generering 16
Tvånivåmorfologi Två parallella band med symboler: ett övre och ett undre Övre band: den djupare lexikal-fonologiska nivån Undre band: ytnivån av ljud/grafer Övre och undre symbol paras ihop: X : Y. Även nollsymbol - Ø- tillåts för det fall då man har en symbol utan att koppla den till en symbol på det andra bandet, X : Ø, Ø : Y. 17
Exempel Övre band: aab Undre band: ab Notation: <aab, ab> Kan läsas på flera sätt: a:a, a:ø, b:b. a:ø, a:a, b:b. a:a, a:b, b:ø. a:ø, a:ø, b:ø, Ø:a, Ø:b. 18
De två nivåerna Morfologisk gräns: + eller ˆ Null character: 0, Ø eller? Strängslut: # Lexikalisk: bil+ar+na+s Ortografisk: bil0ar0na0s Korresponderande par: b:b i:i l:l +:0 a:a r:r +0: n:n a:a +:0 s:s 19
Tvånivåregler Syntax: realisering operator kontext X:x LC RC X:x X realiseras som x om vänsterkontexten är LC och högerkontexten är RC Exempel fågel fåglar Abstrakt lexikonform: E:0 V(C)C L+V, E:e annars Lexikal nivå: fågel+ar Ortografisk nivå: fåg0l0ar 20
Regelbaserade taggare: SWETWOL Fred Karlsson, 1992 www.lingsoft.fi/swetwol alla aspekter av böjningsmorfologi behandlas de mest produktiva avledningarna behandlas sammansättningsanalys görs kärnvokabulären är 30000-50000 lexikonord nästan alla ordformer får en morfologisk analys 21
Exempel "\<de\>" "de" ART UTR/NEU DEF PL NOM "de" PRON UTR/NEU DEF/INDEF PL NOM "\<sticksugna\>" "stick#suga" <N> # V ACT PCP2 UTR/NEU DEF SG NOM "stick#suga" <N> # V ACT PCP2 UTR/NEU DEF/INDEF PL NOM "stick#sugen" <N> # A UTR/NEU DEF SG NOM "stick#sugen" <N> # A UTR/NEU DEF/INDEF PL NOM "\<getingarna\>" "geting" N UTR DEF PL NOM } 21-1
Typer av taggare Datadrivna datorn lär sig hur man taggar från en färdigtaggad korpus (supervised/ övervakad inlärning) inlärning: använder en algoritm för att leta efter den bästa förklaringen för det som observeras i en korpus klassifikationsproblem (diskreta klasstillhörigheter) 22
Datadriven taggning mål: tillordna varje ord i en text en unik ordklass (inga ambiguiteter lämnas kvar) Vanliga steg i taggningsprocessen: Input: text/transkriberat tal Lexikonuppslagning: taggning med default taggar Disambiguering: tvetydiga och okända ord får rätt tagg 23
Att bestämma algoritm/inlärningsmetod att använda representera klasserna särdrag/attribut att inkludera (lingvistisk analys) datamängder träningsmängd valideringsmängd testmängd utvärderingsmetod 24
Exempel på metoder transformationsbaserad inlärning exempelbaserad/minnesbaserad inlärning informationsteoretiska, statistiska metoder 25
Klassrepresentation Mats PM NOM NP00N@0S till f rågades VB PRT SFO V@IIPS inte AB RG0S i PP SPS f rågan NN UT R SIN DEF NOM NCUSN@DS. MAD FE (1) 26
Särdrag/Attribut Info MB ME TBL TnT ord + + + + suffix 3 4 4 10 prefix - 4 4 - versalisering + + + + siffror + + - - ord före 1 2 3 - ord efter 1 2 3 - tagg före 2 2 3 2 tagg efter 1-3 - 27
Transformationsbaserad inlärning (TBL) Eric Brill 1992, 1995 en av de första mest spridda och använda datadrivna taggrarna Transformation-Based Error-Driven Learning bygger på regler eller transformationer systemet lär sig genom att detektera fel grammatiken härleds direkt från en träningskorpus = supervised learning 28
Transformationsbaserad taggning Grundprincip lexikonuppslagning: välj den mest frekventa taggen för varje ord enligt ett lexikon annars använd heuristik disambiguering: ändra den initiala taggningen m.h.a. kontexten (taggar & ord) trigger: lexikala och kontextuella särdrag som utlöser transformationsregler transformationer: omskrivningsregler som förändrar en tagg vid en viss kontext (trigger) 29
Transformationsbaserad taggning (forts) 2 typer av regler: Lexikala: för att annotera okända ord Kontextuella: för att förbättra taggningen av lexikala modulen Regelformen: Lexikal: om villkor, tagga ordet med tagg T Villkor: ordet innehåller tecken X, har prefix/suffix om max 4 tecken, om prefix/suffix tas bort/läggs till får man ett känt ord, bigrams 30
Transformationsbaserad taggning, regler Kontextuell: om villkor, byt tagg T1 mot T2 Villkor: ordet i fråga, taggarna eller orden i kontexten 31
schema t i 3 t i 2 t i 1 t i t i+1 t i+2 t i+3 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * Tabell 10.7, M&S, s. 363 32-1
Transformationsbaserad taggning (forts) transformationsregler: ursprungstagg ersättningstagg trigger NN VB föregående tagg är TO go to school VBP VB en av föregående tre taggar är MD cut JJR RBR nästa tagg är JJ more valuable player VBP VB en av föregående två ord är n t don t Tabell 10.8, M&S, s. 363 32
Transformationsbaserad taggning (forts) Hur får vi reglerna? från en taggad korpus supervised maskininlärning 1. definiera omskrivningsmönster 2. träna på en träningskorpus 33
Transformationsbaserad inlärning 1. initialisera modellen: varje ord i korpusen får den mest frekventa taggen 2. kolla på alla möjliga transformationer och välj den bästa som reducerar taggningsfelet mest ( error rate =antal feltaggade ord) 3. använd transformationen som valdes och applicera den på korpusen, och fortsätt med 2. så länge en meningsfull förbättring sker 4. sluta med inlärningsprocessen och spara reglerna i samma ordningsföljd som de användes 34
Transformationsbaserad inlärning inlärningsresultat: omskrivningsregler istället för sannolikhetsparametrar (kategoriell/symbolisk metod) reglerna är ordnade (dvs ordningsföljden spelar roll) reglerna kan läsas och modifieras inlärning är långsam precision för taggning är ungefär samma som för statistiska 35
Transformationsbaserad inlärning Fördelar rikt mallsystem (lexikala och kontextuella mallar) nya mallar kan läggas till tolkningsbara regler reglerna kan ändras enkel att ta till sig/förstå Nackdelar långsam reglerna är ordnade 36
Transformationsbaserad inlärning Olika implementationer: fntbl (Grace Ngai & Florian Radu, 2000) snabb version finns även för chunkning, word-sense disambiguation, etc. µt BL(Lager, 2000) implementation i prolog finns för många applikationer (PoS tagging, NP chunking, Dialog act tagging, Word sense disambiguation http://www.ling.gu.se/ 37
Taggning är grundläggande i NLP taggning är ett standardproblem finns för många språk samma principer gäller för andra uppgifter, t.ex. chunkning ytlig/partiell parsning ( shallow parsing ) namnigenkänning (named entity recognition) 38
Tillämpningsområden partiell parsning maskinöversättning informationsextraktion (IE: information extraction) fråge-svarssystem (QA: question answering) information retrieval (IR) text-till-tal system (TTS: Text-to-Speech System) 39