【发布时间】:2016-06-16 07:05:02
【问题描述】:
我发现了 stanford-NLP 的工具,发现它真的很有趣。 我是一名法国数据挖掘者/数据科学家,喜欢文本分析并且很想使用你的工具,但是法语中的 NER 不可用让我很困惑。
我很想制作自己的法语 NER,如果认为值得的话,甚至可以将它作为对软件包的贡献,所以...您能否简要介绍一下基于法语 NER 训练 CRF 的要求斯坦福核心NLP?
谢谢。
【问题讨论】:
标签: stanford-nlp
我发现了 stanford-NLP 的工具,发现它真的很有趣。 我是一名法国数据挖掘者/数据科学家,喜欢文本分析并且很想使用你的工具,但是法语中的 NER 不可用让我很困惑。
我很想制作自己的法语 NER,如果认为值得的话,甚至可以将它作为对软件包的贡献,所以...您能否简要介绍一下基于法语 NER 训练 CRF 的要求斯坦福核心NLP?
谢谢。
【问题讨论】:
标签: stanford-nlp
注意:我不是斯坦福工具的开发者,也不是 NLP 专家。只是一个在某些时候也需要此类信息的 lambda 用户。另请注意,下面给出的部分信息来自官方常见问题解答:http://nlp.stanford.edu/software/crf-faq.shtml#a
以下是我训练自己的 NER 所遵循的步骤:
创建一个训练/测试样本。它必须采用.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
其中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
希望对你有帮助。
【讨论】: