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

Relevanta dokument
Parsningens olika nivåer

Parsningens olika nivåer

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

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

Partiell parsning Parsning som sökning

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

729G09 Språkvetenskaplig databehandling

Tekniker för storskalig parsning

Tekniker för storskalig parsning: Grundbegrepp

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

Tekniker för storskalig parsning

Grammatik för språkteknologer

Grundläggande textanalys. Joakim Nivre

Frasstrukturgrammatik

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

Särdrag, lexikon och syntax. Ordklasser. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Datorlingvistisk grammatik

Modellering med kontextfri grammatik Kontextfri grammatik - definition En enkel kontextfri grammatik Klasser av formella språk

Ordklasser. Särdrag, lexikon och syntax. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

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

Fraser, huvuden och bestämningar

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

Tekniker för storskalig parsning

Språkets struktur och funktion, 7,5 hp

Djupstruktur och ytstruktur

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

2. Utgångspunkter och angreppssätt för automatisk språkgranskning

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

Matematik för språkteknologer

Teoretisk lingvistik och datalingvistik. Robin Cooper

Ord, lexem, ordformer (repetition) Ord och morfem (repetition) Fraser/konstituenter (repetition) Grammatisk analys i språkteknologin

FL 6: Definite Clause Grammars (kap. 7)

Övning 5 - Tillämpad datalogi 2013

Ordklasser. Särdrag, lexikon och syntax. Öppna klasser. Slutna klasser. Vilka ord i lexikon? Vad skall man med en grammatik till?

Föreläsning 7: Syntaxanalys

Grammatisk teori III Praktisk analys

Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm

Grammatisk teori II Attributvärdesgrammatik

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon

Grammatik för språkteknologer

Språkgranskningsverktyg, vt 2008

Språkteknologi och Open Source

Språkteknologi. Språkteknologi


DD1361 Programmeringsparadigm. Carina Edlund

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

DAB760: Språk och logik

Kungliga Tekniska Högskolan Patrik Dallmann

Tentamen Del A. Marco Kuhlmann

Lingvistiska grundbegrepp

ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

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

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

Lingvistiskt uppmärkt text

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

Statistisk grammatikgranskning

Grammatik för språkteknologer

MÖSG ht 2005 Maskinöversättningssystemet MATS

Datorlingvistisk grammatik

Språkgranskningsverktyg. Grammatikkontroll med Scarrie

TDDA94 LINGVISTIK, 3 poäng tisdag 19 december 2000

Inlämningsuppgift MiniPlotter

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Inlämningsuppgift: Pronomenidentifierare

Kompilatorer och interpretatorer

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Marco Kuhlmann, Institutionen för datavetenskap, Linköpings universitet 17 mars 2014

Föreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk

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

Svårigheter med kurslitteraturen

DD1361 Programmeringsparadigm HT15

Grundläggande datalogi - Övning 9

Datum: Date: Provkodr: KTR1 Exam code:

Morfologiska kriterier. Svenska adjektiv har två slags böjningar: kongruensböjning och komparationsböjning.

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Cristina Eriksson oktober 2001

FTEA12:2 Filosofisk metod. Att värdera argumentation I

TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15

Två-nivåmodellen, TWOL. 2D1418 Språkteknologi, Nada KTH Höstterminen 2004 Lisa Lagerkvist, Me-01

Datorlingvistisk grammatik

Innehåll. Språkinlärning: mänsklig och datorstödd. Olika typer av program för datorstödd språkinlärning. Varför datorer i språkutbildning?

Word- sense disambiguation

Korpuslingvistik vt 2007

Parsning i Granska. Föreläsningens innehåll. Granskas uppbyggnad. Inspiration och förebilder. Regelmatchning/parsning. Granskas regelspråk

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

1 Inledning. 1.1 Programförklaring. 1.2 Innehållet. 1.3 Beteckningskonventioner - 1 -

Hemtentamen HT13 Inlämning senast Lärare: Tora Hedin

Lingvistik V Satsdelar, huvud- och bisatser. 729G49 23 april

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

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

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

Grammatik för språkteknologer

Ordförråd och Ordbildning

Föreläsninsanteckningar till föreläsning 3: Entropi

RoboLinguistics. Ett textförståelseprogram. Henrik Palmér, d01hp

Kritisk granskning. Innehåll - Teori

HUMANISTISKA FAKULTETEN. Språkteknologi, masterprogram, högskolepoäng

Parsning. TDP007 Konstruktion av datorspråk Föreläsning 6. Peter Dalenius Institutionen för datavetenskap

Föreläsning 6: Induktion

Transkript:

Parsning I Disposition Ola Knutsson knutsson@nada.kth.se Del 1: Traditionell parsning och parsningsteknik Del 2: Alternativa metoder och synsätt Språkteknologi 2D1418 HT 2001 Parsning användingsområden Maskinell syntaktisk analys av språk Mellansteg i många tillämpningar Semantisk analys "Maskinöversättning "Grammatikkontroll "Frågebesvarande system "Dialogsystem "Informationsextraktion "Textsummering SynSem Interpretation DB DB-interface Dialog Engine Semantic Generation Vad menas med parsning inom språkteknologin? Speech Recognition Speech Synthesis User Interaction Parsning som sökning Söka efter all de träd som utgår från startsymbolen, S, och som precis passar orden i indata. 1. Vi vet hur många löv trädet skall ha orden i meningen 2. Trädet skall ha en rot, S, Dessa två krav ger upphov till två sökstrategier: toppenner (vi utgår från roten) och botten-upp (vi utgår från löven. Top-down parsning Mål-driven (goal-directed) sökning Utgår från toppnoden "Top-down, depth-first "Top-down, breadth-first 1

Bottom-up parsning Data-driven sökning Utgår från strängen (data) Bottom-up, breadth-first Sökstrategier top-down, bottom-up depth-firsth, breadth-first left-right, right-left, kombinationer "västerländska språk parsas oftast LR Expectation driven (top-down) "man startar med en hypotes (t ex genom att försöka hitta S) Data-driven (bottom-up) "man utgår från data Inkrementell sökning "resultatet kan presenteras efterhand (bra för vissa applikaterioner t ex dialogsystem) Top-down, depth-first En grammatik som klarar fler satstyper S VP NP VP V NP S 2 3 1 S 4 NP 5 VP 7 6 NP 8 V PN PN 9 VP V NP PN 1) S, 2) NP VP 3) PN VP S S S NP VP AUX NP NP VP S S S S S S Kalle gillar lisa 4) kalle VP 5) kalle V NP NP VP NP VP Aux NP VP Aux NP VP VP VP 6) kalle gillar NP 7) kalle gillar PN DT NN PN DT NN PN V NP V 8) kalle gillar lisa 9) $ Jämförelse av BU / TD Exempel Top-down (TD) strategier söker endast efter konstituenter som kan komma att ingå i topnoden TD söker efter konstruktioner som inte kommer att realiseras Bottom-up (BU) försöker expandera ambiugösa tolkningar av lexikala enheter book S NP VP S VP VP V VP V NP NP DET N N book V book DET V S VP NP DET NP N book "TD-strategin expanderar ej book som NP. 2

Top-down, breadth-first S NP VP VP V NP S 1 S 2 VP NP V PN VP NP 4 VP 5 V DT NP N 3 6 7 V NP 8 PN PN 9 Kalle gillar lisa 1) S, 2) NP VP 3) PN VP 4) PN V NP 5) kalle V NP 6) kalle gillar PN 7) kalle gillar lisa 8) $ Bottom-up, breadth-first Vänster-rekursion 1 8 S 4 7 NP 5 VP 6 2 V NP 3 PN PN 9 S NP VP VP V NP VP V NP PN 1) kalle gillar lisa 2) PN gillar lisa 3) PN V lisa Parsern loopar vid toppen-ner, djupet-först, vänsterhöger parsning om grammatiken innehåller vänsterekursiva regler. En vänsterrekursiv regel innebär att en icke-terminal som kan skriva om till sig själv i sin vänstraste gren. NP NP PP Kalle gillar lisa 4) PN V PN 5) NP V PN 6) NP V NP 7) NP VP 8) S 9) $ Parsningen av DCG-regler loopar om: Skriv om reglerna A --> A, B. A --> B. B --> A, C. Vänsterrekursion NP --> NP KN NP NP --> DT NN Skriv om till: NP --> NPX KN NP NP --> NPX NPX --> DT NN Tyvärr får vi inte samma syntaxträd, byt parsningsalgoritm istället. 3

Flertydighet Autentiskt exempel Olika typer av flertydigheter: Flertydig lexikal kategori: Ordklasstaggning med disambiguering Strukturell flertydighet: vi får flera parseträd till en sats. Attachmentambiguiteten: PP-attachment Jag ser mannen med kikaren. Han äter pizza med gaffel. Jämför: Han äter pizza med ansjovis. Coordination: Jämför: Hunden eller katten äter fisken och köttet. Hunden äter köttet och katten äter fisken. Ett förhållande som stark försvårar personvalet till riksdagen för kandidater som är bosatta inom en valkrets är när partier, utöver en lista som upptar deras namn, går fram med ytterligare en lista med samma namn i samtliga valkretsar i riket. Två relativsatser Multipla prepositionsfraser Beroende över långt avstånd? Vilka kongruerar: Ett förhållande med bosatta? Kandidater med bosatta? Ineffektiv parsning av delträd Toppen-ner parsern bygger upp giltiga träd för delar av indata som sedan förkastas, för att sedan byggs upp igen när parsern försöker bygga upp ett nytt träd En lista med samma namn i samtliga valkretsar i riket Fras: Antal analyser: En lista 4 med samma namn 3 i samtliga valkretsar 2 i riket 1 En lista med samma namn 3 En lista med samma namn i samtliga valkretsar 2 En lista med samma namn i samtliga valkretsar i riket 1 Earlyparsning (Early 1970) Dynamisk programmering, i det här fallet att spara undan delträd när de påträffas, för senare användning. Delträden läggs i en s.k. chart Använder look-up istället för att parsa igen "Look-up är mindre komplext än parsning "Early-parsern använder en Chart, en lista med N+1 ingångar "Alla ord i meningen motsvarar en position i charten där de partiella träd som byggts upp hittills lagras "När strängen genomlöpts innhåller charten en kompakt represenation av alla möjliga analyser av indata "Varje ingång i charten har tre typer av information: &delträd &hur långt man kommit i trädet &position i charten V VP NP DT N S Tre exempeltillstånd Tre operatorer S. VP, [0,0] En toppen-ner prediktion för ett speciellt S Konstituenten skall börja i startposition av indata (första 0), andra 0 anger dottens placering NP Det. Nominal, [1,2] En NP börjar i position 1, en Det har parsats, och att en Nominal står i tur. VP V NP., [0,3] Det finns ett träd VP som spänner över hela indata Prediktor: att skapa nya tillstånd som representerar toppen-ner förväntningar som genereras under parsningsprocessen. Prediktorn tillämpas på varje tillstånd som har en icke-terminal till höger om dotten som inte är en ordklasskategori. Skanner: När ett tillstånd har en ordklasskategori till höger om dotten, används skannern för att granska indata om det finns något ord med denna förutsagda ordklasskategori. Här löses en hel del flertydighet upp. 4

funktioner Kompletterare: När ett tillstånd når slutet till höger i en regel backar komplementeraren tillbaka och fyller i kedjan av delanalyser. När t.ex. tillståndet NP DT NN. [1,3] letar komp. Efter tillstånd som slutar på 1, t.ex. VP VB. NP, [0,1]. Detta resulterar i sin tur i ett nytt komplett tillstånd VP VB NP., [0,3]. Initiering: "lägg startsymbol till charten: S. 0, 0 Prediktion "tillstånd som har formen A α. B β, [i, j] lägg till alla regler B γ till charten Skanning "tillstånd på formen A α. B β, [i, j] och symbolen i position j är en delmängd av ordklasserna i B lägg till B ord[j], [j, j+1] till charten[j + 1] Komplettering "tillstånd på formen B γ., [j, k] &för alla tillstånd på formen A α. B β, [i, j] i chart[j] &lägg till A αb. β, [i, k] till chart[k] Example 10.17 (s. 384) V VP NP delträd hur långt (punkt) VP V NP. 0, 3 Chart[0] "γ. S [0, 0] P "NP. Det Nominal [0,0] P "NP. PN [0,0] P "S. Aux NP VP [0,0] P "S. VP [0,0] P "VP. Verb [0,0] P "VP. Verb NP [0,0] P Chart[1] "Verb book. [0,1] s "VP Verb. [0,1] c "S VP. [0,1] c "VP Verb. NP [0,1] c "NP. Det Nominal [1,1] p "NP. Proper-Noun [1,1] p 0, 3 position Chart[2] "Det. [1,2] s "NP Det.Nominal [1,2] c "Nominal Noun. [2,2] p "Nominal Noun. Nominal [2,2] p Chart[3] "Noun. [2,3] s "Nominal Noun. [2,3] c "Nominal Noun. Nominal [2,3] c "NP Det Nominal. [0,3] c "VP Verb NP. [0,3] c "S VP. [0,3] c "Nominal Noun. [3,3] p "Nominal Noun. N [3,3] p S VP VP V NP S Aux NP NP γ. S NP DT N NP PN VP Verb NP VP Verb S VP Chart[0] "γ. S [0, 0] P "NP. DT N [0,0] P "NP. PN [0,0] P "S. Aux NP VP [0,0] P "S. VP [0,0] P "VP. Verb [0,0] P "VP. Verb NP [0,0] P NP DET NP 5

Verb book VP Verb Chart[1] "Verb book. [0,1] s "VP Verb. [0,1] c "S VP. [0,1] c "VP Verb. NP [0,1] c "NP. DT N [1,1] p "NP. PN [1,1] p Chart[2] "Det. [1,2] s "NP Det.N [1,2] c "N Noun. [2,2] p "N Noun. N [2,2] p S VP VP Verb NP NP DT N NP Det N NP DT N NP PN DT NP PN Chart[3] "Noun. [2,3] s "N Noun. [2,3] c "N Noun. N [2,3] c "NP Det N. [0,3] c "VP Verb NP. [0,3] c "S VP. [0,3] c "N. Noun [3,3] p "N. Noun N [3,3] p S VP N Noun N Early-Parsning med särdrag Utöka chartparsern till att innehålla DAG:er När kompletteringen görs unifieras DAG(A) och DAG(B) Komplettering "tillstånd på formen B γ., [j, k], dag(b) &för alla tillstånd på formen A α. B β, [i, j], dag(a) i chart[j] &lägg till A αb. β, [i, k] till chart[k] &omm unif(dag(a), dag(b)) fail VP Verb NP NP Det N N Noun Noun N Noun N Noun N Chart[2] "Det. [1,2] s "NP Det.N [1,2] c "N Noun. [2,2] p "N Noun. N [2,2] p Parsningssystem för svenska SLE- Swedish Language Engine Uppsala Chart Parser (UCP) cat: NP cat : DT agr: number:sing unif( agr : def:def ) person:third NP Det N DT NP DT N NP PN cat : NP agr : number:sing person :third def:def 6

Del II Finite-state parsning Parsning av ogrammatisk indata Problem med fullständig parsning Flertydigheten gör att vi får många syntaxträd Hur skall man välja ut det bästa trädet? Många meningar får ingen analys alls? Det tar för mycket tid och resurser? Behöver vi en fullständig syntaktisk analys? Robust parsning Val: teoretisk korrekthet eller effektiv tillämpbarhet? En robust parser skall ge en korrekt eller användbar analys av 90 % av meningar (Briscoe). Åtminstone följande tre problem måste lösas: 1. Chunking, vad är en mening,? 2. Disambiguation, att välja rätt analys blanda alla syntaktiskt möjliga 3. Undergeneration, eller att hantera fall som ligger utanför systemets lexikala och syntaktiska täckning. Finite-state parsing I Många språksystem behöver inte fullständig syntaktisk analys. Partiell parsning räcker ofta ganska långt ((partial shallow light) parsing) Några vanliga tillämpningsområden är informationsextrahering och även grammatikkontroll (mer senare). Informationsextrahering behöver ta fram begränsat med information för att fylla i olika typer av informationsmallar, t.ex. företagsnamn, personer och tid och plats, kanske också vem som gjorde vad mot vem. PG Gyll P G Gyllenhammar lämnar sin post som VD för Volvo. Ny VD blir Sören Gyll. Position: VD Company: Volvo In-Person: Sören Gyll Out-Person: P G Gyllenhammar 7

Finite-state parsning II Kaskader av regler istället för frasstrukturregler. Många regler i följd opererar på ett förändligt data. En ren och tydlig semantik samtidigt som det fungerar som ett högnivå språk för att manipulera strängar, språk och relationer. Finite-state parsning III Nomengrupper: en glad gäst, en hund, han, hunden NG --> PN (DT) (JJ) NN Verbgrupper: har spelat, att spela VG --> VB AUX VB IE VB Prepositioner: till, från, av, P --> PP Npcomp --> NN och NN PPH --> PP NP Rekursion? Om man kan skriva rekursiva regler i ett språk är det inte reguljärt. Ett utökat reguljärt språk kan ha mekanismer för rekursion Rekursion? begränsad form av rekursion används Gör skillnad mellan VL och HL Se icke-terminaler i högerledet som subrutiner. Finite-state transducers, Xerox Karttunen, Chanod, Grefenstette & Schiller (1996) Regular Expressions for Natural Language Engineering Välkänt och beprövat för morfologisk analys och generering Ganska enkla operatorer kan användas till sådant som skulle vara komplicerat att uttrycka i andra språk/formalismer: restriction: A => B _ C replacement: A -> B longest longest match replacement: A @-> B C A B Union A B konkaternering (A) Optionellt A; union med tomma strängen A+ Iteration; en eller flera konkaterneringar av A A* Kleene star; (A+) Kaskader av regler ~A komplementet(negation) A & B Snittet, skärning A B Subtraktion Indata: glada+jj define AP [Ord JJ] define NG = [[PN] [ (DT) ([AP]+) NN] [PS ([AP]+) NN]] regexp NG @-> [NG NG] ] Utdata: [NG de+dt glada+jj studenterna+nn NG] 8

Indata: [NG de+dt glada+jj studenterna+nn NG] define HuvudN [NN => _NG] regexp HuvudN @ HuvudN HuvudN Utdata: [NG de+dt glada+jj [HuvudN[studenterna+NN]HuvudN] NG] Tillämpningar av finite-state parsning Inforamtionsextrahering Grammatikontroll Ordklasstaggning Generell analys av fraser, huvuden och syntaktiska funktioner Finite-state parsning för grammatikkontroll Cooper & Sofkova 1998 % Den grova regeln (Broad grammar) define NP [dt jj* nn]; % de finare reglerna define Npdef[dt_def jj_def* nn_def]; define Npind[dt_ind jj_ind* nn_ind]; % Den felaktiga frasen skall finnas i NP men inte i Npdef eller Npind: NP [Npdef Npind]; Parsning av ogrammatisk input Det klassiska chomskianska: skilja mellan grammatisk meningar och ogrammatiska meningar. Syntaktiskt ogrammatiska satser kan vara semantiskt korrekta: Gröt är gott. Semantiken är starkare än syntaxen. Svenskatalare kan med sin språkkänsla avgöra att gröt är god är ogrammatiskt. Gröt är god är en syntaktisk kongruens, liksom Mannen är glad. Den semantisk kongruensen är Gröt är gott. Transduktiv lingvistik (Ramer, Transducer en automat med in- och utdata, jmf. Acceptor som tar indata och svara ja/nej. En grammatik som tilldelar alla tänkbara strängar olika typer av struktruell analys. Grammatisk/ogrammatisk mindre viktig Martin Ingvar sov två personer ogrammatisk tolkning, en person alldeles korrekt. Mänskliga lingvistiska bedömningar bygger på vilka möjliga analyser som finns för handen. Att en sträng är ogrammatisk innebär endast att vi ännu inte funnit något rimlig analys. Men för eller senare kommer en sådan tolkning att föreslå sig själv Transduktiv lingvistik 2 En transducer kan ha flera databand: Ett eller flera band för syntax (flera tolkningar) Ett eller flera band för semantik Ett band för översättningar till andra språk osv. Om nu grammatikalitet är en fråga om grad, så kan tala om grad av kompletthet 9

PEG (Jensen) Alla men inte enbart grammatiska satser Det är mycket svårt att dra en knivskarp gräns mellan grammatiskt och ogrammatiskt. Den språkliga kreativiteten är omfattande och skapar satser som är ogrammatiska idag men grammatiska imorgon. Språket förändras över tiden och så måste också systemen Inom språkteknologin är ogrammatiska satser vardagsmat och måste hanteras. Skrivet i PLNLP, ett Augmented Phrase Structure Language PEG (The PLNLP English Grammar: domänen är alla vanliga meningar i modern engelska. Begränsad lexikal information: morfosyntaktisk information, viss subkatergorisering PEG försöker tilldela varje sträng en någorlunda vettig analys. Eftersom semantisk analys saknas, skall PEG:s analys ses som en approximerad parsning. Istället för att producera en stor mängd analyser, tvingar PEG attachments att hänga på närmaste konstituent. PEG skall analysera tillräckligt många meningar så att det går att lösa den aktuella uppgiften. Man bör komma ihåg att inte ens människor förstår allt som sägs på modersmålet (men vi kan kommunicera ) Parsning i PLNLP Parsning i PLNLP 3 Tre typer av regler: 1. 200 PLNLP-regler som försöker defininera precis de centrala grammatiska strukturer som engelsktalare är överens om. DECL ---- NP ------- NOUN* ---- Beauty ---- VERB* ---- is ---- NP -------- NOUN* ---- truth ---- PUNC -----. 2. Regler som tar hand om flertydig utdata, det finns en metrik för hur analyser skall rangordnas. 3. Regler som hanterar när parsningen misslyckas, regler som försöker göra ett slags rimlig analys, s.k. Parse fitting. DECL påståendesats - Huvudet på den nivån i trädet. Påminner en del om dependency grammar med huvuden och modifierare Parse fitting Hur byggdes PEG? PEG utvecklades på empiriska grunder, från data. Grammatiken modellerades inte från given lingvistisk teori, utan formades av de fenomen som dök upp i korpusen. Naturligtvis finns det någon sorts teori i bakgrunden i all grammatikutveckling, och i PEG:s fall var det en allmänt accepterad form av konstituent analys. Korpusen innehöll affärbrev, datamanualer, studentuppsatser, och många andra källor 1983: 70 % får en entydig analys ytterligare 16 % får en flertydig analys Parse fitting när man inte kan få ihop ett S. Leta upp en huvudkonstituent: a) VP med tempus och subjekt b) VP utan tempus, men med subjekt c) Fras utan verb, t.ex. NP, PP d) Icke-finita VP e) Andra Om man hittar flera i samma kategori, väljs den längsta. Proceduren är klar om en huvudkonstituent täcker hela meningen. Om inte så läggs övriga konstituenter till på varje sida om huvudkonstituenten. 10

En skräckvärld av skiljetecken Snabbkommandon: Ctrl+N Nytt dokument (en ny text), Ctrl+O Öppna dokument (en gammal text), Ctrl+S Spara dokument (spara gammal/ny text), Ctrl+P Skriv ut dokument (skriver ut texten). Vad vinner man med parse fitting? 1. Man kan processa en mening för språkkontroll. 2. Utdata fungerar för någon slags semantisk analys. 3. Det är bra för att spåra problem i grammatiken. Prose fixing Om ett ord är okänt tilldelas något förvalt värde, t.ex. att ord med initial versal är namn. Detta räcker i många fall för en rimlig analys. Om kraven i grammatiken är för stränga, lättas dessa upp, s.k. relaxering. Kan t.ex. innebära att man inte bryr sig om kongruens. Om systemet trots allt inte lyckas beror detta på svagheter i den konstruerade grammatiken eller att systemet stött på ett oförutsägbart grammatiskt fel. Då används parse fitting. Rankning av analyser Antal analyser juni 1981 Dec. 1981 0 57 % 36 % 1 31 % 41 % 2 6 % 11 % >2 6 % 12 % Metriken: K Score = ( Score +1) Mod Mod Mods Testmängd: 2300 meningar, upp till 63 ord, i genomsnitt 19 ord/mening Källa: Heidorn (1993) När grammatiken byggs ut får vi fler analyser och större flertydighet Det behövs en metrik för att välja bland analyserna. Lägst poäng är bäst Poängen för en fras är lika med summan av poängen hos de modifierande fraserna, poängen för varje modifierare ökas med 1 och multiplicerad med en konstant för typen av modifierare. En fras utan modifierare får 0 poäng. Metriken bygger på en flat vy på syntaktisk struktur. Varje fras har ett huvud och noll eller flera framförställda/efterställda attribut (modifierare) Två alternativa analyser med poäng Sammanfattning av föreläsningen SENT(0.23) SENT(0.122) ----VB* ------ See ----NP(0.1) ----DT ------- the ----NN ------- man -----PP(0.2) ----PREP------- with ----DT--------- the ----NN--------- telescope ----VB* ------ See ----NP(0.22) ----DT ------- the ----NN ------- man -----PP(0.2) ----PREP------ with ----DT--------- the ---NN------- telescope Parsning och partiell parsning är viktiga grundidéer. Parsning kan ses som ett sökproblem Två vanliga sökstrategier: toppen-ner och botten-upp Flertydighet, vänsterrekursion och onödig analys av delträd är problem som måste hanteras. Vanliga problem är PP-attachment, koordinering och NPflertydighet PP = 0.1(0+1)+0.1(0+1)=0.2 PREP=0, DT=0 NP(2:a trädet)= 0.1(0+1)+0.1(0.2+1) 11

sammanfattning Dynamisk programmering används för att effektivisera parsning Ganska många tillämpningar kan använda sig av partiell parsning. Finite-state parsning är en bra och effektiv metod för detta. Alla system måste i någon mån hantera ogrammatisk indata och oförutsägbar indata. 12