我发现了 stanford-NLP 的工具,发现它真的很有趣。
我是一名法国数据挖掘者/数据科学家,喜欢文本分析,并且很想使用你们的工具,但是 NER 在法语中不可用,这让我很困惑。
我很想制作自己的法语 NER,如果认为值得的话,甚至可能将其作为对包的贡献提供,所以...您能否简要介绍一下基于 stanford coreNLP 为法语 NER 训练 CRF 的要求?
谢谢。
注意:我不是斯坦福工具的开发者,也不是 NLP 专家。只是 lambda 用户在某些时候也需要此类信息。另请注意,下面给出的部分信息来自官方常见问题解答:http://nlp.stanford.edu/software/crf-faq.shtml#a
以下是我训练自己的 NER 时遵循的步骤:
- 安装java 8
-
创建训练/测试样本。它必须采取以下形式.tsv
具有以下格式的文件:
Venez O
découvrir O
lundi DAY
le O
nouvel O
espace O
de O
vente O
ODHOJS ORGANISATION
根据文本的原始格式,您可以使用 SQL 语句或其他 NLP 工具创建此示例。标签是最复杂的部分,因为我不知道除了手工做之外还有其他方法可以进行。
-
使用以下命令训练模型:
java -cp "stanford-ner.jar:lib/*" -mx4g edu.stanford.nlp.ie.crf.CRFClassifier -prop prop.txt
where prop.txt
还描述了here.
这应该创建一个新的.jar
包含新训练的模型。
-
测试模型性能:
java -cp "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier ner-model.ser.gz -testFile test.tsv > test.res
输入test.tsv
具有相同的格式train.tsv
文件。输出在test.res
有一个额外的列,其中包含 NER 预测类别。最后几行还显示了精度、召回率和 F1 方面的摘要。
-
最后,您可以在真实数据上使用 NER:
java -cp "stanford-ner.jar:lib/*" -mx5g edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier ner-model.ser.gz -textFile test.txt -outputFormat inlineXML > test.res
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)