Einheiten auf meinem Blatt werden nicht erkannt
Ich möchte ein benutzerdefiniertes NER-Modell erstellen. Das ist, was ich tat
TRAININGSDATE (stanford-ner.tsv):
Hello O
! O
My O
name O
is O
Damiano PERSON
. O
EIGENSCHAFTE (stanford-ner.prop):
trainFile = stanford-ner.tsv
serializeTo = ner-model.ser.gz
map = word=0,answer=1
maxLeft=1
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
maxNGramLeng=6
usePrev=true
useNext=true
useDisjunctive=true
useSequences=true
usePrevSequences=true
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
useGazettes=true
gazette=gazzetta.txt
cleanGazette=true
GAZZETTE gazzetta.txt):
PERSON John
PERSON Andrea
Ich baue das Modell über die Kommandozeile mit:
java -classpath "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.crf.CRFClassifier -prop stanford-ner.prop
Und testen mit:
java -classpath "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier ner-model.ser.gz -textFile test.txt
Ich habe zwei Tests mit den folgenden Texten durchgeführt:
>>> TEST 1 <<<
TEXT: Hallo! Mein Name ist Damiano und dies ist ein gefälschter Text zum Testen.
AUSGABE Hallo / O! / O Mein / O Name / O ist / O Damiano / PERSON und / O das / O ist / O ein / O gefälschter / O Text / O zu / O Test / O ./
>>> TEST 2 <<<
TEXT: Hallo! Mein Name ist John und dies ist ein gefälschter Text zum Testen.
AUSGABE Hallo / O! / O Mein / O Name / O ist / O John / O und / O dieses / O ist / O ein / O gefälschter / O Text / O zu / O Test / O ./
Wie Sie sehen können, wird nur die Entität "Damiano" gefunden. Diese Entität befindet sich in meinen Trainingsdaten, aber "John" (zweiter Test) befindet sich in der Gazzette. Die Frage ist also.
Warum wird die John-Entität nicht erkannt?
Vielen Dank im Voraus