当前位置: 首页 > 知识库问答 >
问题:

OpenNLP:无法识别外来名称

史骏
2023-03-14

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

共有1个答案

孙和安
2023-03-14

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

它很新,但对我来说很管用。

您向它提供以下内容:

    null
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);


  }
}

其思想是,您已知的实体(数据中的公共名称)被用来创建注释,这些注释被用来生成一个模型,然后该模型被用来生成更多的名称和注释等。该工具将按照“iterations”参数执行此操作。你应该运行它,检查你的结果,任何不希望的击中应该添加到黑名单文件,然后你可以再次运行训练。我用过这个,效果很好。如果您发现它有问题,请在OpenNLP上输入一张罚单。

 类似资料:
  • 我正在做一个研究项目,我需要一个NLP程序来检测不同情况下的句子。我被建议使用OpenNLP,在阅读了它的维基页面后,我确信我会使用它。因此,我使用OpenNLP来检测句子以及任何不属于句子的单词或短语(也称为句子片段)。 如果您想重定向输入,OpenNLP接受. txt文件作为输入。如果您想使用. doc文件作为输入,您必须将其转换为. txt文件。我的问题就从这里开始。 我有很多不同格式的文件

  • 问题内容: 我创建的查询之一存在一个奇怪的“问题”。给定下一个查询: phpMyAdmin一直在引发有关没有名为“ LatestBookableTimestamp”的列的错误,即使我有一个由子查询检索的列,也就是该别名。我也尝试过使用tableprefix选择每一列。第八,这没有用。最终,我通过表别名选择了所有列,并为表指定了别名。一切都没有运气。 有人可以告诉我我在做什么错吗?我什至搜索了一些资

  • 这是我写的,只是为了启动我的discord机器人,但是每当我尝试使用这个命令时?嗨,我收到了错误信息 忽略命令无异常:discord.ext.commands.errors.命令没有找到:命令"hi"没有找到" 我试过几次,但我是新手,没有任何效果。 下面的答案有助于解决这个问题,这是我的新代码,因为机器人现在不会给出错误消息,但不会响应命令

  • 我正在使用OpenNLP模型进行名称实体识别。 我正在传递句子,我想在其中识别单词。Open NLP需要一个String[]变量,因此我将String拆分为用空格分隔的单词。 我面临着识别日期的问题。例如,如果字符串包含日期:2012年1月7日,我将字符串拆分为单词,“7”、“1”和“2012”将被分隔为3个不同的单词。虽然它们被识别为日期,但这3个不同的标记对我来说没有意义进行进一步处理。我怎么

  • 问题内容: 好的,我有以下代码来训练来自OpenNLP的NER标识符 我不知道我是否做错了什么,如果缺少什么,但是分类不起作用。我认为train.txt错误。 *发生 *的错误 是所有令牌仅被分类为一种类型。 我的train.txt数据类似于以下示例,但是条目的变化和数量更多。另一件事是,我每次都从文本中逐字逐句地查找,而不是所有标记。 有人可以证明我做错了吗? 问题答案: 您的训练数据不正确。

  • 我有以下序列