Я использую пользовательскую модель NER (на основе CRF) для тегирования NER. но проблема в том, что в тестовых данных встречаются несколько объектов, разделенных пунктуацией или каким-либо стоп-словом. это целое как одно целое.
например-
для "Индии, Китая" производят
(u'India ', u'B-LOC'), (u ',', u'I-LOC '), (u'china', u'I-LOC ')
и для "Индии и Австралии" это производит
(u'india ', u'B-LOC'), (u'and ', u'I-LOC'), (u'australia ', u'I-LOC')
Я не удалил никаких стоп-слов или знаков препинания из моего набора обучающих данных, и они помечены как 'O'. Но почему я получаю эти знаки препинания и стоп-слова, которые встречаются между двумя объектами как часть одного объекта?
вот мой файл свойств и набор данных, которые я использовал при обучении моей модели-
Файл свойств (ner.prop)
trainFile=Clean_Data.tsv
serializeTO=ner-model_cleanGazette_full.ser.gz
map = word=0,answer=1,tag=2
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
qnSize=10
entitySubclassification=IOB2
retainEntitySubclassification=true
maxNGramLeng=6
usePrev=true
useNext=true
useSequences=true
usePrevSequences=true
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
useDisjunctive=true
useGazettes=true
gazette=gazetta.txt
sloppyGazette=true
Использован набор данных Kaggle (Clean_Data.tsv)
**Word ner pos**
Thousands O NNS
of O IN
demonstrators O NNS
have O VBP
marched O VBN
through O IN
London B-LOC NNP
to O TO
protest O VB
что еще можно добавить или удалить, чтобы преодолеть эту проблему?