【问题标题】:how to train a french NER based on stanford-nlp Conditional Random Fields model?如何基于 stanford-nlp 条件随机场模型训练法国 NER?
【发布时间】:2016-06-16 07:05:02
【问题描述】:

我发现了 stanford-NLP 的工具,发现它真的很有趣。 我是一名法国数据挖掘者/数据科学家,喜欢文本分析并且很想使用你的工具,但是法语中的 NER 不可用让我很困惑。

我很想制作自己的法语 NER,如果认为值得的话,甚至可以将它作为对软件包的贡献,所以...您能否简要介绍一下基于法语 NER 训练 CRF 的要求斯坦福核心NLP?

谢谢。

【问题讨论】:

    标签: stanford-nlp


    【解决方案1】:

    注意:我不是斯坦福工具的开发者,也不是 NLP 专家。只是一个在某些时候也需要此类信息的 lambda 用户。另请注意,下面给出的部分信息来自官方常见问题解答:http://nlp.stanford.edu/software/crf-faq.shtml#a

    以下是我训练自己的 NER 所遵循的步骤:

    1. 安装java8
    2. 创建一个训练/测试样本。它必须采用.tsv文件的形式,格式如下:

        Venez    O
        découvrir    O
        lundi    DAY
        le    O
        nouvel    O
        espace    O
        de    O
        vente    O
        ODHOJS    ORGANISATION
      

      根据文本的原始格式,您可以使用 SQL 语句或其他 NLP 工具创建此示例。贴标签是最复杂的部分,因为我不知道除了手工制作之外的其他方法。

    3. 使用以下命令训练模型:

      java -cp "stanford-ner.jar:lib/*" -mx4g edu.stanford.nlp.ie.crf.CRFClassifier -prop prop.txt
      

      其中prop.txt 也被描述为here

      这应该会创建一个新的.jar,其中包含新训练的模型。

    4. 测试模型性能:

      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 方面的摘要。

    5. 最后,您可以在真实数据上使用您的 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
      

    希望对你有帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多