Språkteknologi: Parsning Parsning - definition Parsningsbegrepp Chartparsning Motivering Charten Earleys algoritm (top-down chartparsning) Partiell parsning (eng. chunking) med reguljära uttryck / automater med TBL Parsning är en process som innebär att känna igen en sträng i enlighet med en specifikation och tilldela den en eller flera analyser. För kontextfri grammatik specifikation = grammatikens regler analys = trädstruktur En sträng som inte kan kännas igen, får ingen analys alls. Språkteknologi (Lars Ahrenberg) 1 Språkteknologi (Lars Ahrenberg) 2 Partiell parsning Parsning som sökning Partiell parsning innebär att en mening analyseras med avseende på vissa aspekter, t.ex. förekomsten av vissa fraser. Partiell parsning kräver inte att indatasträngen känns igen som en helhet. Partiell parsning kan vara mer robust, men är samtidigt ofta ofullständig. Grammatiken definierar en sökrymd av träd. Parsning kan ses som sökning efter de träd som har samma terminaler som indatasträngen. Effektivitet i parsningen innebär att hitta dessa träd med så lite tids- och minnesåtgång som möjligt. Språkteknologi (Lars Ahrenberg) 3 Språkteknologi (Lars Ahrenberg) 4 Parsningsbegrepp Parsningsbegrepp Top-Down parsningen är hypotesdriven - utgår från vad vi vill hitta (S) Bottom-Up parsningen är datadriven - utgår från orden i indatasträngen. Bredden först (Breadth-First) alternativa omskrivningar hanteras i klump; Djupet först (Depth-First) en alternativ omskrivning fullföljs, medan övriga sparas undan för att prövas senare; om en omskrivning misslyckas går man tillbaka till dem som sparats undan ( back-tracking ) Språkteknologi (Lars Ahrenberg) 5 Språkteknologi (Lars Ahrenberg) 6
En enkel kontextfri grammatik Top-Down prediktion S NP VP NP N NP Det N NP Det A N VP V VP V NP N bollen, hund, V träffade, är, A liten, ful, Det en, ett,... NP Språkteknologi (Lars Ahrenberg) 7 S VP N V NP bollen träffade Det A N Generera hypoteser utifrån grammatiken: ingångshypotes: S prediktion: NP VP prediktion: N pröva att matcha mot en [0,1] - misslyckas! prediktion: Det N pröva att matcha mot en [0,1] lyckas! prediktion: N pröva att matcha mot liten [1,2] - misslyckas! prediktion: Det A N... Språkteknologi (Lars Ahrenberg) 8 Praktiska parsningsproblem för CFG Trädbaserad sökning innebär att samma delsträng ofta kommer att parsas om och om igen med samma resultat; Vänsterrekursiva regler riskerar att sätta parsern i en oändlig loop (Ex: VP VP PP); Lösning: håll reda på alla hypoteser som genererats och ev. lyckade matchningar. punkterad regel chart Chartparsning Chart En array över ordpositioner, där varje ordposition innehåller ett antal tillstånd, states eller bågar. Chart[0] Chart[1] Chart[2] Chart[3] Språkteknologi (Lars Ahrenberg) 9 Språkteknologi (Lars Ahrenberg) 10 Tillstånd / Bågar Punkterade regler En helt eller delvis uppfylld hypotes om en konstituent. Exempel: NP Det N [0,0] NP Det N [0,1] NP Det N [0,2] En punkterad regel representerar en hypotes, Punktens position anger i vilken grad hypotesen verifierats Exempel: NP Det N Inte verifierad i någon del NP Det N Verifierad med avseende på Det NP Det N Fullständigt verifierad Punkterade regler Positioner Språkteknologi (Lars Ahrenberg) 11 Språkteknologi (Lars Ahrenberg) 12
Bågmetaforen Chartens funktion Regel: NP D A N NP. D A N [0,0] inaktiva bågar D en. [0,1] NP D. A N [0,1] Att separera trädkonstruktion från igenkänning av konstituenter Att förhindra upprepad parsning av samma delsträng med samma resultat Att förhindra upprepad ansättning av samma hypotes i samma punkt aktiva bågar Språkteknologi (Lars Ahrenberg) 13 Språkteknologi (Lars Ahrenberg) 14 Predicering top-down Ett tillstånd <A x B y, [n,m]> genererar ett nytt tillstånd <B z, [m,m]> för varje regel i grammatiken på formen B z, (med z, x, y godtyckliga strängar av terminala och icketerminala symboler, B icke-terminal symbol) Ordläsning top-down ( scanning ) Givet ett tillstånd <A x C y, [n,m]> där C är en ordklass (preterminal kategori) och att C w finns i lexikonet för nästa ord w, lägg till i chart[m+1]: < C w [m,m+1]> Språkteknologi (Lars Ahrenberg) 15 Språkteknologi (Lars Ahrenberg) 16 Predicering top-down Completion / Kombinering S NP. VP [0,2] VP. V [2,2] VP. V NP [2,2] S NP VP NP N NP Det N NP Det A N VP V VP V NP N bollen, hund, V träffade, är, A liten, ful, Det en, ett,... Språkteknologi (Lars Ahrenberg) 17 När en hypotes verifierats fullständigt, t.ex. <B x, [n,m]>, lägg för varje tillstånd <A z B, [k,n]> i chart[n] till ett tillstånd vid chart[m] <A z B, [k,m]> Språkteknologi (Lars Ahrenberg) 18
Kombinering - exempel Partiell parsning (eng. chunking) S NP. VP [0,2] VP V. [2,3] S NP VP. [0,3] Chunkning innebär att identifiera (korta, icke-rekursiva) fraser (eng. chunks) i löpande text. Exempel 1: ART A* N? N, 2: VFIN ADV* VINF* Regeringens utredare Cecilia Renfors har presenterat en rad förslag för att bromsa den illegala fildelningen. Det som omedelbart väckte het debatt var förslaget att internetoperatörerna skulle få ett större ansvar för att stoppa de som fildelar i större omfattning. Operatörerna får enligt förslaget både rätt och skyldighet att säga upp abonnemanget om de misstänker att kunden flera gånger har använt nätet för att göra intrång i upphovsrätten genom att ladda ner filmer och musik. Den operatör som inte vidtar åtgärder ska kunna dömas till vite av domstol, enligt förslaget. Språkteknologi (Lars Ahrenberg) 19 Språkteknologi (Lars Ahrenberg) 20 Analys i kaskader (eller steg) Sekvensiell representation av fraser om den illegala fildelningen. Ordklasstaggare om/prep den/art illegala/adj fildelningen/n./fe Chunker 1 om/prep [den/art illegala/adj fildelningen/n]/np./fe/o... Chunker 2 Språkteknologi (Lars Ahrenberg) 21 B_NP: ord som inleder ( begins ) en nominalfras (NP) I_NP: ord som är internt i en nominalfras O: ord som inte tillhör någan chunk ( outside ) Nominalfraser svarar mot taggsekvensen B_NP I_NP* Exempel [ den illegala fildelningen ] den/b_np illegala/i_np fildelningen/i_np Språkteknologi (Lars Ahrenberg) 22 Partiell parsning med TBL Mäta prestanda för partiell parsning Märk upp en korpus med fraser, eller hämta från en trädbank. Trädbank = korpus med syntaktiskt analyserade meningar Generera ett lexikon från korpusen med, förutom ordklasser, också BIO-taggar och frekvenser Skapa ett facit (från korpusen) Bestäm ett regelformat och en initial taggning mest frekventa tagg för varje ord, eller default (O) Träna TBL-systemet som för ordklasser Precision = (antal korrekta föreslagna chunkar) / (antal föreslagna chunkar) Recall = (antal korrekta föreslagna chunkar) / (antal chunkar i facit) F-mått = 2PR/(P+R) Språkteknologi (Lars Ahrenberg) 23 Språkteknologi (Lars Ahrenberg) 24
Namnigenkänning Exempel: agentreferenser Namnigenkänning (eng. Named entity recognition, NER) innebär att identifiera fraser i löpande text som står för något av en viss semantisk kategori. Namnigenkänning är en central komponent i informationsutvinning (eng. Information extraction, IE) Exempel på tillämpningsdomäner för IE: olycksrapportering, brottsrapportering, näringslivshändelser, skilja citering från plagiering,... Regeringens utredare Cecilia Renfors har presenterat en rad förslag för att bromsa den illegala fildelningen. Det som omedelbart väckte het debatt var förslaget att internetoperatörerna skulle få ett större ansvar för att stoppa de som fildelar i större omfattning. Operatörerna får enligt förslaget både rätt och skyldighet att säga upp abonnemanget om de misstänker att kunden flera gånger har använt nätet för att göra intrång i upphovsrätten genom att ladda ner filmer och musik. Den operatör som inte vidtar åtgärder ska kunna dömas till vite av domstol, enligt förslaget. Språkteknologi (Lars Ahrenberg) 25 Språkteknologi (Lars Ahrenberg) 26 Namnigenkänning med TBL Märk upp relevanta namnuttryck i en korpus utredare/b_person Cecilia/I_Person Renfors/I_Person Generera lexikon från korpusen med BIO-taggar och frekvenser Skapa ett facit (från korpusen) Bestäm ett regelformat och en initial taggning mest frekventa tagg för varje ord, eller default Träna ett TBL-system som för ordklasser Språkteknologi (Lars Ahrenberg) 27