自定义NER无法识别其他实体

问题描述

道具文件

trainFile = train/output.tsv
serializeto = english.all.3class.distsim.crf.ser.gz
map = word=0,answer=1

useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
maxNGramLeng=6
usePrev=true
useNext=true
useSequences=true
usePrevSequences=true
maxLeft=1
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
usedisjunctive=true

训练数据示例

Supriyo PER
dey PER
Syed    PER
Azhar   PER
Vijay   PER
Vishwas PER
Bharat  PER
Jain    PER
VISWAJEET   PER
SAHU    PER
Arjun   PER
Ajuu    PER
Ada PER
Aditya  PER
Dayanand    PER
Biradar PER
Chandeswar  PER
Sah PER
Makam   PER
Prasad  PER
Mr.nikhil   PER

yamaha  0
yang    0
yard    0
yards   0
yarn    0
yeah    0
year    0
yearly  0
years   0
yeast   0
yellow  0
yemen   0
yesterday   0
yield   0
yields  0
yoga    0
york    0
yorkshire   0
young   0
younger 0
your    0
yours   0
yourself    0
youth   0
yugoslavia  0
yukon   0
zambia  0
zdnet   0

我有大约五万个名字和大约一万个不需要的数据,被标记为“ 0”

@H_404_19@
ner_tagger = StanfordNERTagger(model,jar,encoding='utf8')

words = nltk.word_tokenize(tokens)
print(ner_tagger.tag(words))

输出

[('Sumit','O'),('james','O'),('baniya','O'),('good','O'),('boy',' O'),('喜欢','O'),('Abhay','O'),('pan','O'))

即使在训练数据本身中存在某些名称的情况下,为什么也无法区分Person和其他实体。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)