如何训练Stanford NLP NER提取模型以跳过重复的单词?

问题描述 投票:0回答:1

我正在尝试使用。NET FrameworkStanFord NER模型从文本中提取NER。我有类似[]的文字

[你好,我是John Doe。身体质量指数为27。并且身体表面积为2.3m。

为此,我确实创建了tsv文件来训练模型。如下所示:

Hello   O
,   O
I   O
am  O
John    PERSON
Doe.    PERSON
Body    BMI
Mass    BMI
index   BMI
is  O
27. O
And O
Body    O
Surface O
Area    O
is  O
2.3m.   O

prop文件如下

trainFileList = train/standford_train.tsv
serializeTo = dummy-ner-model-eng.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

并且使用下面的java命令

java -mx1g -cp stanford-ner.jar;lib/* edu.stanford.nlp.ie.crf.CRFClassifier -annotators 'tokenize,ssplit,pos,lemma,ner,regexner' -prop train/prop.txt

所以,我面临的问题是,由于身体质量指数

身体表面积的重复,带有BMI标签的身体将要出现两次。

有什么方法可以省略第二个身体标签吗?

我正在尝试使用.NET Framework和StanFord NER模型从文本中提取NER。我有一个像“你好,我是约翰·多伊”的文字。身体质量指数为27。身体表面积为2.3m。为此,我...

nlp stanford-nlp named-entity-recognition
1个回答
0
投票

您将需要产生更多训练数据,这些训练数据的示例带有未标记为BodyBMI。如果仅在寻找特定模式,则使用基于规则的方法可能会获得更好的结果。斯坦福CoreNLP中有一些用于基于规则的NER构建的工具。

更多信息:https://stanfordnlp.github.io/CoreNLP/tokensregex.html

© www.soinside.com 2019 - 2024. All rights reserved.