Wie dies getan werden kann, ist derzeit (2013 veröffentlicht) ein bisschen ein Durcheinander, da es zwei verschiedene Sätze von Flags für zwei verschiedene DocumentReaderAndWriter
Implementierungen gibt. Es tut uns leid.
Die flexibelste Unterstützung für verschiedene IOB-Stile finden Sie in CoNLLDocumentReaderAndWriter
. Sie können es jede IOB/IOE/... Anmerkung von Bindestrichen Präfixen wie Ihre Beispiele (B-BRAND) auf andere getan Karte haben, während es Dateien mit der Flagge liest:
-entitySubclassification IOB2
Die resultierende Kennsatzfamilie ist dann für Training und Klassifizierung verwendet. Die Optionen sind in der entitySubclassify()
-Methode von CoNLLDocumentReaderAndWriter
dokumentiert: IOB1, IOB2, IOE1, IOE2, SBIEO, IO. Sie können eine Diskussion von IOB1 vs. IOB2 in Tjong Kim Sang and Veenstra 1999 finden. Standardmäßig wird die Darstellung auf IOB1 auf Ausgabe abgebildet zurück, denn das ist die standardmäßig im CoNLL conlleval
Programm verwendet wird, aber Sie können es halten, wie, was Sie es mit der Flagge abgebildet:
-retainEntitySubclassification
Zur Verwendung dieser DocumentReaderAndWriter
können Sie eine Ausbildung Befehl wie geben:
java8 -mx6g edu.stanford.nlp.ie.crf.CRFClassifier -prop conll.crf.chris2009.prop -readerAndWriter edu.stanford.nlp.sequences.CoNLLDocumentReaderAndWriter -entitySubclassification iob2
Alternativ ColumnDocumentReaderAndWriter
ist der Standard DocumentReaderAndWriter
, die wir in den verteilten Modellen verwenden. Die Optionen, die Sie damit erhalten, sind anders und etwas begrenzter. Sie haben diese beiden Fahnen:
-mergeTags
wird entweder Ebene ("MARKE") oder CoNLL-like ("I-BRAND") Etiketten und ordnet sie nach unten auf ein Präfix-less IO-Label ("MARKE") und das zum Trainieren und Klassifizieren verwenden.
-iobTags
können entweder unbedruckte ("BRAND") oder CoNLL-ähnliche ("I-BRAND") Labels aufnehmen und diese auf IOB2 abbilden.
In einem Sequenzmodell, für jede der Kennzeichnungssysteme wie IOB2, die Etiketten sind verschiedene Klassen. So funktionieren diese Kennzeichnungsschemata. Die spezielle Interpretation von "I-", "B-" usw. wird der menschlichen Beobachter- und Entitätsevaluierungssoftware überlassen. Die mitgelieferte Evaluierungssoftware funktioniert nur mit IOB1, IOB2 oder ohne Präfix-losen E/A-Kodierung.
Prof. Manning, Ich bin gespannt, wie die IOB-Codierung mit IO-Codierung ab 2016 vergleicht. Ich sehe im Jahr 2012 hatten Sie in der NLP-Klasse gesagt: https://youtu.be/mbMrRT5Osbk?t=6m27s –