[ Weiter ] [ Zurück ] [ Zurück (Seitenende) ] [ Seitenende ] [ Überkapitel ] [ Bitte Skript-Fehler melden ]
Chunking mit Longest-Matching-Strategie
[BEESLEY und KARTTUNEN 2003b, 74] geben eine einfache Regel zur NP-Erkennung (d=Det; a= Adj; n=Noun; v=Verb):
Problem
Wie kann man aus dieser Idee einen richtigen Chunker machen?
Input-Format für getaggten Text
Input-Klammerformat: ( POS-TAG SPACE WORD )
(JJ U.K.)(NN base)(NNS rates)(VBP are)(IN at)(PRP$ their)(JJS highest)(NN level)(IN in)(CD eight)(NNS years)(. .)
Output-Klammerformat mit zusätzlicher Klammerung
(NP (JJ U.K.)(NN base)(NNS rates))(VBP are)(IN at) (NP (PRP$ their)(JJS highest)(NN level) )(IN in) (NP (CD eight)(NNS years) )(. .)
Schützen von wörtlichen Klammern
Für eine korrekte Verarbeitung müssen alle Klammern, welche im Text als Interpunktion oder als Teil von POS-Tags vorkommen, geschützt werden. Konventionell wird in der Penn-Treebank “-RRB-” für “)” und “-LRB-” für “(” verwendet.
POS-Tags, Wörter und Input-Sprache ▸▸▸
# Penn-Treebank-Tags
define PTBT ["#" | "$" | "’’" | "-LRB-" | "-RRB-" | "," | "." | ":" | "CC" | "CD" | "DT" | "EX" | "FW" | "IN" | "JJ" | "JJR" | "JJS" | "MD" | "NN" | "NNP" | "NNPS" | "NNS" | "PDT" | "POS" | "PRP" | "PRP$" | "RB" | "RBR" | "RBS" | "RP" | "SYM" | "TO" | "UH" | "VB" | "VBD" | "VBG" | "VBN" | "VBP" | "VBZ" | "WDT" | "WP" | "WP$" | "WRB" | "‘‘" ] ; # Mögliche Wörter (mit vorangehendem Leerzeichen) define WORD [ " " [ ?* - [$ [" " | "(" | ")"]]] ] ; # Input-Sprache define INPUT [ "(" PTBT WORD ")" ]+; |
define DET [ "(" "DT" WORD ")" ];
define ADJ [ "(" ["CD"|"JJ"|"JJR"|"JJS"] WORD ")" ]; define NOUN [ "(" ["NN"|"NNS"|"NNP"|"NNPS"] WORD ")"]; define RuleNP [ [ ( DET ) ADJ* NOUN+ @-> "(" "NP " ... ")" ] ]; |
# lookup-tool liest lower-language, deshalb Inversion
read regex [INPUT .o. RuleNP].i ; # Transduktor in binärem Format speichern save stack RuleNP.fst; # Aufruf aus xfst mit optimierten Optionen für lange Wörter # und deterministischem Output system lookup RuleNP.fst -flags "v1cxmbLLTTI10000" < conll00-penn-tag.txt \ > conll00-penn-chunk.txt system head -n 10 conll00-penn-chunk.txt |
Automatische Evaluation des Chunkers
Um die Qualität des Chunkers quantifizieren zu können, empfiehlt sich eine automatische Evaluation
gegenüber einem sog. Gold-Standard.
! Automatische Evaluation
system lookup RuleNP.fst -flags "v1xmbLLTTI10000" < conll00-penn-tag.txt \ | penn-chk-to-chk.perl -c3 > result.txt system lam conll00-gold.chk -s ’ ’ result.txt | conlleval.perl |
Resultate der Chunking-Shared-Task der CoNLL 2000
[ Weiter ] [ Zurück ] [ Zurück (Seitenende) ] [ Seitenbeginn ] [ Überkapitel ] [ Bitte Skript-Fehler melden ]