我正在尝试使用。NET Framework和StanFord 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命令
和身体表面积的重复,带有BMI标签的身体将要出现两次。java -mx1g -cp stanford-ner.jar;lib/* edu.stanford.nlp.ie.crf.CRFClassifier -annotators 'tokenize,ssplit,pos,lemma,ner,regexner' -prop train/prop.txt
所以,我面临的问题是,由于身体质量指数
有什么方法可以省略第二个身体标签吗?
我正在尝试使用.NET Framework和StanFord NER模型从文本中提取NER。我有一个像“你好,我是约翰·多伊”的文字。身体质量指数为27。身体表面积为2.3m。为此,我...
您将需要产生更多训练数据,这些训练数据的示例带有未标记为Body
的BMI
。如果仅在寻找特定模式,则使用基于规则的方法可能会获得更好的结果。斯坦福CoreNLP中有一些用于基于规则的NER构建的工具。