290 likes | 731 Views
Korpusbaserad datorlingvistik eller datorbaserad korpuslingvistik? Joakim Nivre. Disposition. Skilda världar? Korpusbaserad datorlingvistik Datorbaserad korpuslingvistik Likheter och skillnader Förutsättningar för samarbete Korpusbaserad datorlingvistik – ett exempel
E N D
Korpusbaserad datorlingvistik eller datorbaserad korpuslingvistik? Joakim Nivre
Disposition • Skilda världar? • Korpusbaserad datorlingvistik • Datorbaserad korpuslingvistik • Likheter och skillnader • Förutsättningar för samarbete • Korpusbaserad datorlingvistik – ett exempel • Dependensbaserad syntaktisk analys • Minnesbaserad inlärning
Korpusar och datorer • Den ”empiriska revolutionen” i (dator)lingvistik: • Ökad användning av empiriska data • Uppbyggnad av stora korpusar • Annotering av korpusdata (syntaktiskt, semantiskt) • Bakomliggande orsaker: • Teknisk utveckling: • Ökad tillgång på maskinläsbar text (och digitaliserat tal) • Förbättrad datorkapacitet • Lagring • Bearbetning • Vetenskaplig perspektivförskjutning: • Ifrågasättande av ”länstolslingvistik” • Utveckling av statistiska språkmodeller
Datorbaserad korpuslingvistik • Mål: • Kunskap om språket • Deskriptiv kartläggning • Teoretisk hypotestestning • Medel: • Korpusdata som källa till kunskap om språket • Deskriptiv statistik • Statistisk inferens för hypotestestning • Datorprogram för bearbetning av korpusdata • Korpusuppbyggnad och annotering • Sökning och visualisering (för människor) • Statistisk bearbetning (för deskriptiv statistik och hypotestestning)
Korpusbaserad datorlingvistik • Mål: • Datorprogram som bearbetar naturligt språk • Praktiska tillämpningar (översättning, sammanfattning, …) • Modeller av språkinlärning och -användning • Medel: • Korpusdata som källa till kunskap om språket: • Statistisk inferens för modellparametrar (skattning) • Datorprogram för bearbetning av korpusdata • Korpusuppbyggnad och annotering • Sökning och informationsextraktion (för datorprogram) • Statistisk bearbetning (för skattning/maskininlärning)
Korpusbearbetning 1 • Korpusuppbyggnad: • Tokenisering (minimala enheter, ord m.m.) • Segmentering (på flera nivåer) • Normalisering (t.ex. förkortningar, stavning, flerordsuttryck; grafiska element, metainformation m.m.) • Annotering: • Ordklasstaggning (ord ordklass) • Lemmatisering (ord grundform/lemma) • Syntaktisk analys (mening syntaktisk representation) • Semantisk analys (ord betydelse, mening argumentroller) • Standardmetodologi: • Automatisk analys (ofta baserad på andra korpusdata) • Manuell validering (och rättning)
Korpusbearbetning 2 • Sökning och sortering: • Sökmetoder: • Strängsökning • Reguljära uttryck • Dedicerade sökspråk • Specialskrivna program • Resultat: • Konkordanser • Frekvenstabeller • Visualisering: • Textuellt: • Konkordanser m.m. • Grafiskt: • Diagram, syntaxträd m.m.
Korpusbearbetning 3 • Statistisk bearbetning: • Deskriptiv statistik • Frekvenstabeller och diagram • Statistisk inferens • Hypotestestning (t-test, 2, Mann-Whitney, Wilcoxon etc.) • Inlärning: • Probabilistisk: Skatta sannolikhetsfördelningar • Diskriminativ: Approximera mappning indata-utdata • Induktion av lexikala och grammatiska resurser (t.ex. kollokationer, valensramar)
Korpuslingvister Programvara Tillgänglig Lättanvänd Generell Utdata Lämpad för människor Gärna grafisk visualisering Funktioner Specifik sökning Deskriptiv statistik Datorlingvister Programvara Effektiv Specifik Modifierbar Utdata Lämpad för datorer Väldefinierad struktur (uppmärkt text) Funktioner Uttömmande sökning Statistisk inlärning Användarkrav
Sammanfattning • Olika mål: • Studera språk • Skapa datorprogram • … ger (delvis) olika krav: • Tillgängligt och användbart (för människor) • Effektivt och standardiserat (för datorer) • … men (delvis) samma behov: • Korpusuppbyggnad och annotering • Sökning, sortering och statistisk bearbetning
Symbios? • Vad kan datorlingvister göra för korpuslingvister? • Teknisk och allmänlingvistisk kompetens • Program för automatisk analys (annotering) • Vad kan korpuslingvister göra för datorlingvister? • Lingvistisk och språkspecifik kompetens • Manuell validering av automatisk analys • Vad kan datorlingvister och korpuslingvister åstadkomma tillsammans? • Automatisk annotering ger ökad precision i korpuslingvistik • Manuell validering ger ökad precision i datorlingvistik • En positiv spiral?
Dependensanalys P ROOT OBJ PMOD NMOD SBJ NMOD NMOD NMOD
Induktiv dependensanalys • Deterministisk syntaxanalys: • Algoritm för att härleda dependensstruktur • Kräver beslutsmekanism i valsituationer • Alla beslut är oåterkalleliga • Induktiv maskininlärning: • Beslutsmekanism baserad på tidigare erfarenhet • Generalisera från exempel (successiv förfining) • Exempel = Analyserade meningar (”trädbank”) • Ingen grammatik – bara analogi
Algoritm • Datastrukturer: • Kö av oanalyserade ord (next = först i kön) • Stack av delvis analyserade ord (top = överst i stacken) • Starttillstånd: • Tom stack • Alla ord i kön • Algoritmsteg: • Shift: Lägg next överst på stacken (push). • Reduce: Ta bort top (pop). • Right: Lägg next överst på stacken (push); top next • Left: Ta bort top (pop); next top
P ROOT OBJ PMOD NMOD SBJ NMOD NMOD NMOD 0 Algoritmexempel RA(P) SHIFT RA(PMOD) LA(NMOD) RA(NMOD) RA(OBJ) LA(NMOD) LA(NMOD) REDUCE SHIFT SHIFT SHIFT LA(SBJ) SHIFT REDUCE REDUCE
OBJ … äter glass med … Guide • Icke-determinism: • Guide = Funktion (Kö, Stack, Graf) Steg • Möjliga metoder: • Grammatik? • Induktiv generalisering! RA(ATT)? RE?
Maskininlärning • Guide: • Funktion (Kö, Stack, Graf) Steg • Modell: • Funktion (Kö, Stack, Graf) (f1, …, fn) • Klassificerare: • Funktion (f1, …, fn) Steg • Inlärning: • Funktion { ((f1, …, fn), Steg) } Klassificerare
hd rd ld ld t1 th … . … top … . . … next n1 n2 n3 Modell • Ordklasser: t1, top, next, n1, n2, n3 • Dependenstyper: t.hd, t.ld, t.rd, n.ld • Ordformer: top, next, top.hd, n1 Stack Kö
Minnesbaserad inlärning • Minnesbaserad inlärning och klassificering: • Inlärning är lagring av erfarenheter i minnet. • Problemlösning åstadkoms genom att återanvända lösningar från liknande problem som lösts tidigare. • TIMBL (Tilburg Memory-Based Learner): • Utgångspunkt: k-nearest neighbor • Parametrar: • Antal grannar (k) • Distansmått • Viktning av attribut, värden och instanser
Inlärningsexempel • Instansbas: • (a, b, a, c) A • (a, b, c, a) B • (b, a, c, c) C • (c, a, b, c) A • Ny instans: • (a, b, b, a) • Distanser: • D(1, 5) = 2 • D(2, 5) = 1 • D(3, 5) = 4 • D(4, 5) = 3 • k-NN: • 1-NN(5) = B • 2-NN(5) = A/B • 3-NN(5) = A
Experimentell utvärdering • Induktiv dependensanalys: • Deterministisk algoritm • Minnesbaserad guide • Data: • Engelska: • Penn Treebank, WSJ (1M ord) • Konvertering till dependensstruktur • Svenska: • Talbanken, Professionell prosa (100k ord) • Dependensstruktur och dependenstyper baserade på anonotering enligt MAMBA
Resultat • Engelska: • 87,3% av alla ord fick rätt huvudord • 85,6% av alla ord fick rätt huvudord och funktion • Svenska: • 85,9% av alla ord fick rätt huvudord • 81,6% av alla ord fick rätt huvudord och funktion
Dependenstyper: Engelska • Hög precision (86% F): VC (hjälpverb huvudverb) 95.0%NMOD (attribut) 91.0%SBJ (verb subjekt) 89.3%PMOD (prepositionskomplement) 88.6%SBAR (subjunktion verb) 86.1% • Medelprecision (73% F 83%): ROOT 82.4%OBJ (verb objekt) 81.1% VMOD (verb- och satsadverbial) 76.8%AMOD (bestämning till adj/adv) 76.7%PRD (predikativ) 73.8% • Låg precision (F 70%): DEP (övrigt)
Dependenstyper: Svenska • Hög precision (84% F): IM (infinitivmärkeinfinitiv) 98.5%PR (preposition substantiv) 90.6%UK (subjunktion verb) 86.4%VC (hjälpverb huvudverb) 86.1%DET (substantiv determinator) 89.5%ROOT 87.8%SUB (verb subjekt) 84.5% • Medelprecision (76% F 80%): ATT (attribut) 79.2%CC (samordning) 78.9%OBJ (verb objekt) 77.7%PRD (verb predikativ) 76.8%ADV (adverbial) 76.3% • Låg precision (F 70%): INF, APP, XX, ID
Korpusannotering • Hur bra är 85%? • Tillräckligt bra för att spara tid och arbete vid manuell annotering • Tillräckligt bra för att effektivisera sökning efter syntaktiska fenomen • Hur kan precisionen förbättras? • Genom annotering av nya data, som möjliggör bättre maskininlärning • Genom förfinad lingvistisk analys av de strukturer som ska analyseras och de fel som görs
MaltParser • Programvara för induktiv dependensanalys: • Fritt tillgänglig för forskning och undervisning (http//w3.msi.vxu.se/~jha/MaltParser.html) • Utvärderad på 20 olika språk • Används för syntaktisk analys av svenska och turkiska i korpusprojekt vid Uppsala universitet