OpenNLP:无法识别外来名称

OpenNLP:无法识别外来名称,nlp,opennlp,Nlp,Opennlp,我刚开始使用openNLP来识别名字。我正在使用OpenNLP附带的模型(en ner person.bin)。我注意到,虽然它能识别美国、英国和欧洲的名字,但却不能识别印度或日本的名字。我的问题是(1)是否已经有可用的模型,我可以用来识别外来名称(2)如果没有,那么我相信我需要生成新的模型。在这种情况下,我可以使用copora吗?您可以使用名为modelbuilder addon的opennlp插件使用您的数据创建自己的模型,如果您尝试,您可能是除我之外的第一个这样做的人……这是全新的 这是很

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

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

这是很新的,但对我来说很管用

您可以为其提供以下内容:

  • 通过文件列出的“已知实体”,其中每行都是一个名称
  • 通过文件从数据中列出的句子列表,其中每一行都是一个句子
  • (可选)删除误报的黑名单
你可以在这里签出插件

你可以用这个开始

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上提交一份通知单。

您能看看这个吗?我如何正确地进行导入。我已经创建了项目,但导入不起作用。