gpt4 book ai didi

nlp - OpenNLP:无法识别外国名称

转载 作者:行者123 更新时间:2023-12-04 18:08:29 25 4
gpt4 key购买 nike

我刚开始使用 openNLP 来识别名称。我正在使用开放 NLP 附带的模型 (en-ner-person.bin)。我注意到虽然它可以识别我们、英国和欧洲的名字,但它无法识别印度或日本的名字。我的问题是 (1) 是否已经有可用的模型来识别外国名称 (2) 如果没有,那么我相信我需要生成新模型。在这种情况下,是否有我可以使用的语料库?

最佳答案

您可以使用名为 modelbuilder-addon 的 opennlp 插件使用您的数据制作自己的模型,如果您尝试使用它,您可能是除我之外第一个这样做的人……它是全新的。

它很新,但对我有用。

你喂它以下内容:

  • 通过文件的“已知实体”列表,其中每一行是一个名称
  • 通过文件从您的数据中获取的句子列表,其中每行是一个句子
  • (可选)用于删除误报的黑名单

  • 你可以在这里查看插件

    https://svn.apache.org/repos/asf/opennlp/addons/modelbuilder-addon

    你可以用它来开始
    import java.io.File;
    import opennlp.addons.modelbuilder.DefaultModelBuilderUtil;

    public class ModelBuilderAddonUse {

    public static void main(String[] args) {
    File fileOfSentences = new File("path to your sentence file");
    File fileOfNames = new File("path to your file of person names");
    File blackListFile = new File("path to your blacklist file");
    File modelOutFile = new File("path to you where the model will be saved");
    File annotatedSentencesOutFile = new File("path to your sentence file");

    DefaultModelBuilderUtil.generateModel(fileOfSentences, fileOfNames, blackListFile, modelOutFile, annotatedSentencesOutFile, "person", 3);


    }
    }

    这个想法是您的已知实体(数据中的常用名称)用于创建注释,这些注释用于生成模型,然后模型用于生成更多名称和注释等......该工具将执行此操作根据“迭代”参数。你应该运行它,检查你的结果,任何不需要的命中都应该添加到黑名单文件中,然后你可以再次运行训练。我已经使用了这个并得到了很好的结果。如果你发现它有问题,请在 OpenNLP 上提交一张票。

    关于nlp - OpenNLP:无法识别外国名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20509678/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com