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

OpenNLP名称查找器培训:不支持的语言:en

卫嘉泽
2023-03-14

根据文档中的指南,我试图在一些数据上测试training OpenNLP的Name Finder。然而,我遇到了错误:不支持的语言:en,这似乎没有任何意义。

我运行的命令是:opennlp TokenNameFinderTrainer。conll03-模型。bin-lang-en-类型per、loc、org、misc-数据序列。txt-编码UTF-8

我从https://opennlp.apache.org/download.html.OPENNLP_HOME环境变量似乎设置正确,基本文件夹中的lang文件夹包含一个en文件夹。

编辑:这似乎与CoNLL2003格式有关。如果我尝试直接运行训练器而不指定. conll2003它就可以工作。但是我的输入数据是CoNLL 2003格式的。运行TokenNameFinderConverter给我同样的错误。即使在官方示例上尝试https://github.com/apache/opennlp/blob/master/opennlp-tools/src/test/resources/opennlp/tools/formats/conll2003-en.sample也不起作用。

共有1个答案

鱼旺
2023-03-14

好的,显然在1.5.3之后的某个版本中,对于CoNLL-2003相关的命令,OpenNLP将语言代码从两个字符更改为三个字符,即应该传入eng而不是en。但是留档从未更新过。(留档有各种过时的部分。)我敲了两个小时的头试图弄清楚!我做了一个公关来修复留档。

 类似资料:
  • 我试图将邮寄地址与简历(简历)隔离开来。简历来自许多不同的国家,因此没有标准的布局、格式、押韵或地址原因。 我有我的原始数据,这些数据已经被分割成句子和标记,并准备好标记。 问题: 如果我最感兴趣的是城市/城镇,我是否应该标记整个地址以获得最佳效果? 鉴于我寻找的地址主要出现在简历的前四分之一,我应该将训练数据削减到25%并对实时数据做同样的事情,还是通过将文档保持为一个整体并只标记我需要的部分来

  • 我想在一个特定的领域进行NER实验,即从意大利语的旅行优惠中提取位置名称。 到目前为止,我需要自己准备训练,所以我要把 在我的培训集中的一些报价中添加标签。 但在查看OpenNLP关于如何为NER进行培训的文档时,我最终遇到了几个问题: 1) 在定义开始/结束标记时,我可以自由使用标记中的任何名称(我在上面几行写了“某物”),或者是否有要绑定的限制集? 2) 我注意到对培训工具的调用 将表示语言的

  • 我正在使用OpenNLP的NameFinder API示例文档。初始化名称查找器后,文档使用以下代码作为输入文本: 然而,当我将其引入eclipse时,“documents”(而不是“document”)变量给了我一个错误,表示变量documents无法解析。“documents”数组变量所指的文档是什么?我是否需要初始化一个名为“documents”的数组,该数组包含txt文件,以消除此错误?

  • 我正在尝试使用OpenNLP对发票进行分类。根据它的描述,我将它分为两类。我已经建立了一个包含20K描述的培训文件,并将每个描述标记到正确的类中。 培训数据如下所示(第一列是代码,我将其用作类,第二列是发票描述): 使用OpenNLP的Document分类器,我实现了98.5%的正确率。但是,为了提高效率,我取了错误的分类文档并用它来扩展训练数据。 例如,当我第一次运行它时,“MOTONETA I

  • 首先是一点背景:我试图在一个文档库中识别街道地址,我们决定,显而易见的解决方案是使用NLP(本例中为Apache OpenNLP)工具来实现这一点,到目前为止,一切看起来都很好,尽管我们仍然需要用大量文档来训练模型,但这并不是一个真正的问题。我们通过使用DataMake中的USAddress解析器,为地址验证添加了额外的步骤,从而改进了解决方案。我最大的问题是,如果地址旁边没有一个位置,地址本身就

  • 我想训练自己的自定义模型。我可以从哪里开始? 我使用这个样本数据来训练一个模型: 基本上,我想从给定的输入中找出一些无意义的文本。 我尝试了opennlp开发文档中给出的以下示例代码,但出现了错误:Model与name finder不兼容!