Tekniker för storskalig parsning

Relevanta dokument
Tekniker för storskalig parsning

Tekniker för storskalig parsning: Grundbegrepp

Tekniker för storskalig parsning

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Lingvistiskt uppmärkt text

Grundläggande textanalys. Joakim Nivre

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

Meningssegmentering i SUC och Talbanken

Korpusannotering. Beáta Megyesi. Uppsala universitet Institutionen för lingvistik och filologi Korpusannotering 1(31)

Parsningens olika nivåer

Tentamen Del A. Marco Kuhlmann

Lingvistiskt uppmärkt text

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Syntax S NP VP. AdjP. sleep. ideas. DH2418 Språkteknologi Johan Boye. Syntax

Korpuslingvistik vt 2007

Vad är en korpus och vad kan man använda den till? Lars Borin Språkdata, Inst. för svenska språket Göteborgs universitet

Parsningens olika nivåer

Yvonne Adesam. Syntaktisk analys. Parsning. Ambiguitet. Utvärdering. References

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

Corpus methods in linguistics and NLP: Introduktion till sökverktyget Korp

Grammatik för språkteknologer

Parsning = analys. Parsningsalgoritmer. Användningsområden. L1: Introduktion

Partiell parsning Parsning som sökning

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Olika språksyn. Vad är syntax?

Bootstrapping för substantivtaggning

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

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

Gränssnitt för FakeGranska. Lars Mattsson

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Korpuslingvistik (SV2119) Föreläsning 2: Språkbankens korpusar och sökverktyget Korp

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

Ordklasstaggning med funktionsordslexikon. Språklig ytanalys med regler. Jabberwocky (Källgren, 1992) Mer Jabberwocky (Lewis Carrol)

Linköpings universitet. Kognitionsvetenskap. Instutitionen för datavetenskap. Kandidatuppsats 15 ECTS. CogFLUX

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon

Word- sense disambiguation

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

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

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Dependensregler - Lathund

Språk, datorer och textbehandling

Laboration: Whitebox- och blackboxtesting

Korpuslingvistik vt 2007

Varför är morfologi viktigt? Morfologisk analys och generering. Vad är ett ord (idag vs. i dag) Kan man inte lägga alla ord i en lexikonfil?

Lite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer

Innehåll. Datorstöd för skrivande och grammatikkontroll Ola Knutsson DH2418 Språkteknologi. Datorstöd för skrivande. Vilka metoder finns?

Morfologi, särdrag, lexikon och syntax. När är det bra med morfologi? Vad är ett ord? Morfem. Stam och affix

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap. 729G49 Språk och datorer (2019)

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

Språk, datorer och textbehandling

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning...

Språk, datorer och textbehandling

Matematik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Författare: Marco Kuhlmann 2013

Djupstruktur och ytstruktur

International Olympiad in Informatics July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

Perl. ~ Redovisning. Alla filer som behövs för att lösa uppgifterna finns dels på ~martin/pubperl/ på mumin, samt på

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

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Linjärt minne. Sammanhängande minne är ej flexibelt. Effektivt

Inlämningsuppgift: Pronomenidentifierare

Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem

Föreläsning 12. Söndra och härska

Ord och morfologi. Morfologi

PAROLE Exempel Förklaring SUC. PARTICIP AF00000A tf particip förkortning PC AN. pluralis obestämd/bestämd genitiv. pluralis obestämd/bestämd nominativ

de var svåra att implementera och var väldigt ineffektiva.

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Vad är syntax? Olika språksyn

poäng i del B Lycka till!

Att bygga en korpus. Beáta Megyesi. Uppsala universitet Institutionen för lingvistik och filologi

MÖSG ht 2005 Maskinöversättningssystemet MATS

Automatisk morfosyntaktisk analys av kliniska texter

SWEGRAM. Annotering och analys av svenska texter. Beáta Megyesi 1, Anne Palmér 2, Jesper Näsman 1. Institutionen för lingvistik och filologi

Värmedistribution i plåt

LABORATION 4: Textmanipulering Introduktion till lingvistik och datalingvistik XD1110

729G09 Språkvetenskaplig databehandling (2017) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T

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

729G09 Språkvetenskaplig databehandling

Frasstrukturgrammatik

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Optimering och simulering: Hur fungerar det och vad är skillnaden?

Att använda Weka för språkteknologiska problem

Data mining. Data mining Skillnaden mellan observationella och experimentella data

Med Zipf mot framtiden En integrerad lexikonresurs för svensk språkteknologi

Problemlösning och funktioner Grundkurs i programmering med Python

Föreläsning 12. Söndra och härska

Kungliga Tekniska Högskolan Patrik Dallmann

Introduktion till språkteknologi. Datorstöd för språkgranskning

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Tentamensinstruktioner

MÄLARDALENS HÖGSKOLA. CD5560 Formella språk, automater och beräkningsteori. Användarmanual. för simulatorn JFLAP

Korpuslingvistik. Metoder och tillämpningar inom språkteknologin - ht 07. Innehåll. Vad är en korpus? Vad är korpuslingvistik?

Kravspecifikation för hårdvaruprojekt i kursen Datorsystemteknik, HT2005. Temperaturvakt med loggningsfunktion

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Matematik för språkteknologer

Prototypbaserad Inkrementell Diagnos. Anders Holst SICS, Swedish Institute of Computer Science AB

Studenter drillar Lärkas sång om hur studenter lär grammatik via korpusverktyget Lärka

Parsning I. Disposition. Parsning användingsområden. Vad menas med parsning inom språkteknologin? Top-down parsning. Parsning som sökning

Transkript:

Tekniker för storskalig parsning Introduktion till projektet Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning 1(17)

Datadriven dependensparsning Givet: Träningsdata: D = {(S1, T 1 ),..., (S m, T m )} Parametriserad parsningsmodell M Träning: Optimera M:s parametrar med hjälp av D ger parser M(D) Utvärdering: Hur väl fungerar M(D) på meningar som inte ingår i D? Tekniker för storskalig parsning 2(17)

Träningsdata Swedish Treebank: Syntaktiskt annoterad korpus av skriven svenska Två delar: Talbanken: 100 000 ord svensk bruksprosa Stockholm-Umeå Corpus: 1,2 miljoner ord (balanserad) För vårt projekt: Dependensversion av Talbanken Uppdelning: Träningsdata (ca 80%) Testdata (20%) senare Tekniker för storskalig parsning 3(17)

Representation grafiskt För varje ord: Ordklass (PP, NN,... ) Morfosyntaktiska särdrag (syns ej nedan) Syntaktiskt huvud (bågar) Syntaktisk funktion (AA, SS,... ) Tekniker för storskalig parsning 4(17)

Representation textformat (CoNLL) Ett ord per rad Blankrad mellan meningar Tabbseparerade kolumner (6 indata, 2 utdata) ID FORM LEM CPOS POS FEATS HEAD DEPREL 1 Genom PR PR 3 AA 2 skattereformen NN NN UTR SIN DEF NOM 1 PA 3 införs VB VB PRS SFO 0 ROOT 4 individuell JJ JJ POS UTR SIN IND NOM 5 AT 5 beskattning NN NN UTR SIN IND NOM 3 SS 6 av PP PP 5 ET 7 arbetsinkomster NN NN UTR PLU IND NOM 6 PA 8. IP IP 3 IP Tekniker för storskalig parsning 5(17)

MaltParser MaltParser: Språkoberoende system för data-driven dependensparsning Utvecklat i Växjö och Uppsala Fritt tillgängligt med öppen källkod URL: http://maltparser.org/ Parametrar: Parsningsalgoritm Särdragsmodell Inlärningsalgoritm Tekniker för storskalig parsning 6(17)

Parsningsalgoritmer MaltParser är en transitionsbaserad dependensparser En parsningsalgoritm definieras av: Ett transitionssystem: En mängd C av konfigurationer En mängd R av transitioner En initial konfiguration för varje mening S En mängd terminala konfigurationer för varje mening S En sökstrategi (deterministisk bäst-först i MP 1.2) Tekniker för storskalig parsning 7(17)

Exempel: StackProjective Konfiguration: (S, B, A) [S = Stack, B = Buffer, A = Arcs] Initial: ([ROOT], [w 1,..., w n ], { }) Terminal: ([ROOT], [ ], A) Shift: ([...], [w i,...], A) = ([..., w i ], [...], A) Right-Arc(l): ([..., w i, w j ], [...], A) = ([..., w i ], [...], A {(w i, w j, l)}) Left-Arc(l): ([..., w i, w j ], [...], A) = ([..., w j ], [...], A {(w j, w i, l)}) Tekniker för storskalig parsning 8(17)

Särdragsmodeller Parserträning: Problem: Förutsäga nästa transition r R givet c C Särdragsrepresentation: f(c) = f1 (c), f 2 (c),..., f k (c) MaltParser tillåter användardefinierade särdrag Exempel på särdrag: InputColumn(POSTAG, Stack[0]) Ordklass hos ordet överst på stacken InputColumn(FORM, Input[1]) Ordklass hos ord nummer två i bufferten OutputColumn(DEPREL, ldep(stack[0])) Dependensrelation för vänster barn till ordet överst på stacken Tekniker för storskalig parsning 9(17)

Inlärningsalgoritmer Klassificeringsproblem: Instans: f(c) Klass: r R Träningsdata: {(f(c1 ), r 1 ),... (f(c m ), r m )} Inlärningsalgoritmer i MaltParser: Generaliserade linjära klassificerare Lär in vikter wi ( 1 w +1) för varje f i (c) och r Summering över alla fi (c) f(c) ger vikten för r i f(c) Den transition r som får högst vikt vinner Vi ska använda: Linjär multi-klass-svm Tekniker för storskalig parsning 10(17)

Parsningsmodell GEN(x): Mängden av alla (projektiva) dependensträd y för x över L EVAL(y): Girig deterministisk sökning, guidad av klassificerare Robusthet: Ja, tack vare GEN(x) Disambiguering: Ja, tack vare deterministisk sökning Effektivitet: Beror på transitionssystem och klassificerare Tekniker för storskalig parsning 11(17)

Optimering och utvärdering Optimering: Upprepad träning och utvärdering Systematisk variation av parametrar Utvärdering på valideringsdata Utvärdering: Slutgiltig utvärdering av optimerat system Utvärdering på testdata Testdata skilda från tränings- och valideringsdata Tekniker för storskalig parsning 12(17)

Iterativ optimering Metod: Träna modell M 0 Utvärdera modell M0 med resultat R 0 (baseline) För i = 1 till N: 1. Modifiera M i 1 till M i 2. Träna modell M i 3. Utvärdera modell M i med resultat R i 4. Om R i är sämre än R i 1, låt M i = M i 1 Att specificera: Hur modifiera M i 1 till M i (parametrar) Hur mäta resultat R i : Utvärderingsmått Valideringsmetod Tekniker för storskalig parsning 13(17)

Utvärderingsmått Korrekthet: Labeled attachment score (LAS): Procent ord som har rätt HEAD och DEPREL Unlabeled attachment score (UAS): Procent ord som har rätt HEAD Effektivitet: Träningstid Parsningstid Tekniker för storskalig parsning 14(17)

Valideringsmetoder Enkel validering: Dela upp D i DT (80 90%) och D V (10 20%) Träna Mi på D T Utvärdera Mi på D V Korsvalidering: Dela upp D i k delar D1,..., D k. Träna M j i på D D j (k modeller) Utvärdera M j i på D j (k modeller) Beräkna medelvärdet av R 1 i,..., Ri k (k mått) Tekniker för storskalig parsning 15(17)

Utvärderingsverktyg eval.pl: Enkelt skript utvecklat för CoNLL 2006 Standardmått: LAS, UAS, LA MaltEval: Utvärderingssystem utvecklat i Växjö URL: http://w3.msi.vxu.se/users/jni/malteval/ Många alternativa utvärderingsmått Stöd för olika dataformat (bl.a. CoNLL) Grafisk viewer för dependensträd Tekniker för storskalig parsning 16(17)

Laborationer Laborationer: 1. Grundläggande optimeringsmetodik och preparering av data 2. Grundläggande särdragsoptimering 3. Särdragsinteraktion 4. Utvärdering av korrekthet och effektivitet Vid varje tillfälle: 1. Kort muntlig rapport av förra veckans deluppgift 2. Genomgång av veckans deluppgift 3. Praktiskt arbete med veckans deluppgift i liten skala 4. Genomgång av vad som ska göras till nästa gång Tekniker för storskalig parsning 17(17)