1 / 28

Korpusbaserad datorlingvistik eller datorbaserad korpuslingvistik? Joakim Nivre

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

kyrene
Download Presentation

Korpusbaserad datorlingvistik eller datorbaserad korpuslingvistik? Joakim Nivre

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Korpusbaserad datorlingvistik eller datorbaserad korpuslingvistik? Joakim Nivre

  2. 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

  3. Skilda världar?

  4. 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

  5. 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)

  6. 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)

  7. 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)

  8. 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.

  9. 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)

  10. 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

  11. 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

  12. 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?

  13. Korpusbaserad datorlingvistik – ett exempel

  14. Dependensanalys P ROOT OBJ PMOD NMOD SBJ NMOD NMOD NMOD

  15. 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

  16. 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

  17. 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

  18. OBJ … äter glass med … Guide • Icke-determinism: • Guide = Funktion (Kö, Stack, Graf)  Steg • Möjliga metoder: • Grammatik? • Induktiv generalisering! RA(ATT)? RE?

  19. 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

  20. 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ö

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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)

  26. Dependenstyper: Svenska • Hög precision (84% F): IM (infinitivmärkeinfinitiv) 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

  27. 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

  28. 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

More Related