【问题标题】:OpenNLP Name Finder training: Unsupported language: enOpenNLP Name Finder 培训:不支持的语言:en
【发布时间】:2019-01-06 23:05:01
【问题描述】:

根据文档中的指南,我正在尝试在一些数据上测试训练 OpenNLP 的 Name Finder。但是,我遇到了错误:Unsupported language: en,这似乎没有任何意义。

我运行的命令是:opennlp TokenNameFinderTrainer.conll03 -model model.bin -lang en -types per,loc,org,misc -data train.txt -encoding UTF-8

我从https://opennlp.apache.org/download.html 下载了 OpenNLP 1.9.0。 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 上尝试也行不通。

【问题讨论】:

    标签: machine-learning nlp training-data opennlp


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      相关资源
      最近更新 更多