2014
Outline
Min bakgrund Disputerade 2012 Avhandling om att skapa högkvalitativa parallella trädbanker Flerspråkiga parallella trädbanken Smultron Forskare på Språkbanken Historiska resurser (MAÞiR 2014-2016) Högkvalitativ korpusannotering (Koala 2014-2016)
Korpuslingvistik Varför korpusar för språkforskning? Faktiska språkliga belägg Storskaliga empiriska språkstudier Trädbanker A treebank is a linguistically annotated corpus that includes some grammatical is beyond the part-of-speech level (Nivre et al., 2005; Nivre, 2008). Annotering hjälper oss vaska fram guldkornen utökar (bok, boken, böcker, böckerna, Bok, BOKEN etc.) begränsar (Caesar=subjekt + besegra)
Vad är ett träd? Varje mening mappas till en graf som representerar dess hierarkiska syntaktiska struktur. S SB NP HD MO AVP MO AVP MO PD AVP HD CC NP NK HD HD HD CM NK HD En människa var väl ända någonting mer än en maskin? DT NN VBFIN AB AB PN AB PR DT NN DL DT THE NNP GARDEN IN OF NNP EDEN NP
Konstituenter och dependenser Konstituenter fraser strukturella kategorier möjligen funktionella kategorier orden byggklossar i större enheter Dependenser relationer mellan huvuden funktionella kategorier syntaktiska funktioner möjligen strukturella kategorier (ordklasser) ords relation till varandra
make use ersions of mantically oftheartierting con- ethende- eprevious all experiew format ependency represen- sedonthe arsetreea ent s chiltoy gramure 2, the corresponding dependency tree produced Konstituenter och dependenser by PENN2MALT. WHADVP Why SBJ NP PRN S VP SBAR SBARQ SBARQ *T* *T* SQ VP SBJ NP CLR PP NP PRP ADVP, theywonder 0 *T*, should itbelong to theec *T*? Figure 1: A constituent tree from the Penn Treebank. ency VMOD P SUB ROOT VMOD VMOD P SUB P VMOD PMOD NMOD Why, theywonder, shouldit belong to the EC Figure 2: Dependency tree by PENN2MALT. Figurer från Johansson and Nugues (2007).?
The history of treebanks Penn Treebank (English; Phase 1: 1989-1992) Forerunners: Talbanken (Swedish; Lund 1970s) Ellegård (English; Gothenburg 1978) Tosca (English; Nijmegen 1980s) LOB (Lancaster-Oslo-Bergen) Treebank (Engl.; late 1980s) SynTag (Swedish; Gothenburg 1986-1989) Followers NEGRA / TIGER Treebanks (German; 1997-2000s) Prague Dependency Treebank (Czech; 2000s) Svensk trädbank (Swedish; 2007) Bulgarian, Danish, Dutch, French, Chinese, Japanese, Arab, Hebrew, Turkish...
Penn treebank Penn Treebank Example from 1991 ( bd0011sx.) ( (S (NP *) (VP Show (NP me) (NP (NP all) the nonstop flights (PP (PP from (NP Dallas)) (PP to (NP Denver))) (ADJP early (PP in (NP the morning))))).) )
The Swedish Treebank Developed in Uppsala and Växjö Harmonizing two resources: Talbanken: Swedish written and transcribed spoken language from the 1970s, manually annotated with syntactic information according to a traditional Scandinavian is tradition (cf. Diderichsen s field is) SUC (Stockholm Umeå Corpus), a morphosyntactically annotated (part-of-speech and lemma), balanced corpus of published Swedish written language from the 1990s Talbanken annotated with SUC morphosyntactic in a semi-automatic process Both Talbanken and SUC automatically syntactically annotated with phrase structure version of Talbanken s original syntax is
The Swedish Treebank
Varför automatisk syntaktisk? Manuell annotering tidskrävande Vi vill ha stora mängder annoterad text träningsmaterial för NLP-system möjliggör mer detaljerade sökningar grammatikforskning
CFG Context-free grammar Formell grammatik Regler S s G = (N, T, R, S) 1. N: mängden icke-terminaler 2. T : mängden terminaler 3. R: relation från N till (N T ) (regler, produktioner) 4. S: startsymbol, del av mängden N
CFG Jag ser det glada barnet.
CFG Jag ser det glada barnet. pn jag vb ser dt det adj glada nn barnet
CFG Jag ser det glada barnet. pn jag vb ser dt det adj glada nn barnet S NP VP NP pn (dt) (adj)* nn VP vb (NP)*
CFG Jag ser att det glada barnet sjunger. pn jag vb ser dt det adj glada nn barnet S NP VP NP pn (dt) (adj)* nn VP vb (NP)*
: söka igenom alla möjliga träd för en given mening För att söka igenom alla möjliga träd måste vi skapa dem
Parsers Parser: program som tar sträng som input och återskapar strukturen i form av träd Alla parsers läser input från vänster till höger Olika sätt att skapa trädstrukturen bottom-up: börja med löven (kan ge träd utan toppnod S) top-down: börja med toppnoden (kan ge träd som inte motsvarar input)
Dynamic Programming Divide and conquer Lös ett problem genom att dela upp det i delproblem, lös varje delproblem och kombinera lösningarna. Memo-isering Lös varje delproblem en gång, mellanlagra lösningen, återanvänd som dellösning i större problem.
CYK Cocke-Younger-Kasami Bottom-up för kontextfri grammatik Regler maximalt binära: (Chomsky normal form!) A a eller A BC Finns i många variationer... Skapa triangelformad parsningstabell Varje cell [i,j] innehåller alla icke-terminaler för position i-j Börja med strängar av längd 1, sedan längd 2 osv. Hitta alla alternativ upp till toppnoden
CYK Exempelgrammatik S NP VP VP V NP VP VP PP NP DT N NP NP PP PP P NP V äter NP flickan NP strössel N glass P med DT en Flickan äter en glass med strössel.
CYK Flickan äter en glass med strössel [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] [1,2] [1,3] [1,4] [1,5] [1,6] [2,3] [2,4] [2,5] [2,6] [3,4] [3,5] [3,6] [4,5] [4,6] [5,6]
CYK Flickan äter en glass med strössel NP [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] V [1,2] [1,3] [1,4] [1,5] [1,6] DT [2,3] [2,4] [2,5] [2,6] N [3,4] [3,5] [3,6] P [4,5] [4,6] NP [5,6]
CYK Flickan äter en glass med strössel NP [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] V [1,2] [1,3] [1,4] [1,5] [1,6] DT NP [2,3] [2,4] [2,5] [2,6] N [3,4] [3,5] [3,6] P PP [4,5] [4,6] NP [5,6]
CYK Flickan äter en glass med strössel NP S [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] V VP [1,2] [1,3] [1,4] [1,5] [1,6] DT NP NP [2,3] [2,4] [2,5] [2,6] N [3,4] [3,5] [3,6] P PP [4,5] [4,6] NP [5,6]
CYK Flickan äter en glass med strössel NP S [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] V VP VP [1,2] [1,3] [1,4] [1,5] [1,6] DT NP NP [2,3] [2,4] [2,5] [2,6] N [3,4] [3,5] [3,6] P PP [4,5] [4,6] NP [5,6]
CYK Flickan äter en glass med strössel NP S S [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] V VP VP [1,2] [1,3] [1,4] [1,5] [1,6] DT NP NP [2,3] [2,4] [2,5] [2,6] N [3,4] [3,5] [3,6] P PP [4,5] [4,6] NP [5,6]
Earley CYK har nackdelar: begränsad grammatik följer inte lingvistisk teori använder inte top-down-information Earley-algoritmen har inte ovanstående nackdelar men är komplicerad (framför allt med sannolikheter)
Earley i ett steg vänster till höger Börja med startsymbolen S Skapa alla möjliga expansioner för den vänstraste icke-terminalen (predictor) Om nästa led i regeln är en terminal, matcha mot input (scanner) När regeln inte längre kan expanderas, fortsätt med nästa subträd (completer) Delprocessade regler markeras med punkt A a b
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S [0, 0] Predict the rule S NP VP Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 0] NP [0, 0] VP Predict the rule NP Pro Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 0] NP Pro NP Pro [0, 0] [0, 0] VP Predict the rule Pro I Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 0] NP Pro Pro I NP Pro [0, 0] [0, 0] VP I [0, 0] Scan this word Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 0] NP Pro Pro I NP Pro [0, 0] [0, 0] VP Update the dot I [0, 1] Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 0] NP Pro Pro I NP Pro [0, 0] [0, 1] VP The predicted rule is complete. I [0, 1] Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 1] NP Pro [0, 1] [0, 1] VP I [0, 1] Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 1] NP [0, 1] VP [1, 1] Pro I [0, 1] [0, 1] Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S NP VP S [0, 5] Update the dot NP [0, 1] VP [1, 5] Pro [0, 1] Verb [1, 2] NP [2, 5] I [0, 1] prefer [1, 2] Det [2, 3] Nom [3, 5] a [2, 3] Nom [3, 4] Noun [4, 5] Noun [3, 4] flight [4, 5] morning [3, 4] Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
Earley The Earley algorithm Example run 0 I 1 prefer 2 a 3 morning 4 flight 5 S [0, 5] NP [0, 1] VP [1, 5] Pro [0, 1] Verb [1, 2] NP [2, 5] I [0, 1] prefer [1, 2] Det [2, 3] Nom [3, 5] a [2, 3] Nom [3, 4] Noun [4, 5] Noun [3, 4] flight [4, 5] morning [3, 4] Montag, 3. Dezember 12 Exempel från Marco Kuhlmann, Uppsala.
PCFG Probabilistic context-free grammar Varje regel får en sannolikhet Sannolikheten för regler med samma vänstersida summeras till 1 Sannolikheten för ett träd är produkten av sannolikheterna för de regler som använts Varje del i trädet pekar till de delar som det byggdes av, för att minnas hur det mest sannolika trädet såg ut
Dependens (Nivre) Inkrementell: från vänster till höger i ett svep Bottom-up Shift-reduce Kö ( först in först ut ) Stack ( sist in först ut ) Shift: flytta ett ord från kö till stack Reduce: Flytta ett ord från stacken
Dependens (Nivre) Exempel från Richard Johansson. S Q <D> Then we met the cat.
Dependens (Nivre) Shift S <D> Q Then we met the cat.
Dependens (Nivre) Shift <D> S Then Q we met the cat.
Dependens (Nivre) Shift <D> Then S we Q met the cat.
Dependens (Nivre) Arc S <D> Then Q met the cat. we
Dependens (Nivre) Arc S <D> Q met the cat. Then we
Dependens (Nivre) Arc <D> S met Q the cat. Then we
Dependens (Nivre) Shift S Q <D> met the cat. Then we
Dependens (Nivre) Arc S <D> met Q cat. Then we the
Dependens (Nivre) Arc <D> met S cat Q. Then we the
Dependens (Nivre) Reduce S <D> met Q. Then we cat the
Dependens (Nivre) Arc <D> met S. Q Then we cat Done! the
Språket är flertydigt Lexical ambiguity Structural ambiguity Attachment ambiguity Coordination ambiguity NP bracketing ambiguity
Attachment ambiguity Jag såg mannen med kikaren.
Coordination ambiguity Där dansade stora pojkar och flickor.
Treebank Quality Well-formedness Consistency Soundness
Treebank Quality Well-formedness Each token and each non-terminal node is part of a sentence-spanning tree, and has a label. Consistency The same sequence (of tokens/part-of-speechs/constituents) is annotated the same way given the same context. Soundness Conform to sound linguistic principles.
av parsning Frasstruktur Parseval Leaf-ancestor Dependensstruktur Attachment och accuracy
Parseval Beräknar precision och recall för konstituenter found correct items Precision: found items Recall: found correct items correct items Labelled parseval korrekt konstituent: dominerar samma terminaler med samma etiketter (POS och fras)
Leaf-ancestor Jämför lineage, icke-terminalerna från varje ord till trädets rot Använder markörer för ytterkanten på fraser Jämför med guldstandard via Levenshtein/edit distance Fungerar inte för frasträd med korsande kanter The Multilingual Forest R R P P P w 1 w 2 w 3 w 1 w 2 w 3 w 1 P ( R w 1 P ( R w 2 P ) R w 2 P R w 3 P R ) w 3 P R ) Figure 7.3: Example gold standard and automatically parsed trees and their Leaf- Ancestor lineages.
Dependensevaluering LAS: labelled attachment score, % ord med rätt huvud och relation UAS: unlabelled attachment score, % ord med rätt huvud LAcc: labelled accuracy score, % ord med rätt relation Kan också användas för frasstruktur, men kräver konvertering.
Why manual work? Accuracy of most annotation tools depend on set of labels training data language Part-of-speech tagging: accuracy normally above 95-96%. Example: HunPoS 97% accuracy when trained on SUC (Megyesi, 2009) An error in every second sentence! Parsing: accuracy varies considerably across languages Example: CoNLL shared task 2007: LAS 84-90: Catalan, Chinese, English, Italian LAS 76-80: Arabic, Basque, Czech, Greek, Hungarian, Turkish
Summary Trädbanker är korpusar med grammatisk Stora textmängder kräver automatiska metoder kan göras top-down eller bottom-up Några algoritmer: CYK, Earley, Nivre behövs
Referenser I Megyesi, B. (2009). The open source tagger HunPoS for Swedish. In Jokinen, K. and Bick, E., editors, Proceedings of the Nordic Conference on Computational Linguistics (Nodalida), volume 4 of NEALT Proceedings Series, pages 239 241, Odense, Denmark. Nivre, J. (2008). Treebanks (Article 13). In Lüdeling, A. and Kytö, M., editors, Corpus Linguistics. An International Handbook. Mouton de Gruyter. Nivre, J., de Smedt, K., and Volk, M. (2005). Treebanking in Northern Europe: A white paper. In Holmboe, H., editor, Nordisk Sprogteknologi. Årbog for Nordisk Sprogteknologisk Forskningsprogram 2000-2004. Museum Tusculanums Forlag, Copenhagen.