我可能需要为OpenNLP创建自定义训练集,这将需要我手动注释很多条目。

为了使事情变得容易,GUI解决方案可能是最好的主意(手动编写注释标签并不酷),而我刚刚发现了BRAT,它看起来像我所需要的。

BRAT可以导出带注释的文件(.ann),但是我在OpenNLP's manual中找不到对该文件类型的任何引用,并且我不确定这是否可以工作。

我想做的是从BRAT导出这个带注释的文件,并用它来训练OpenNLP的模型,我真的不在乎是否可以使用代码或CLI来完成。

有人可以指出我正确的方向吗?

最佳答案

OpenNLP具有对BRAT格式的本机支持,用于培训和评估名称查找器。当前不支持其他组件。添加对其他组件的支持可能并不困难,如果您有兴趣,可以在opennlp-dev列表中提出要求。

CLI可用于使用小子训练模型,以下命令将向您显示用法:

  • bin / opennlp TokenNameFinderTrainer.brat

  • 以下参数是训练模型所必需的:
  • bratDataDir这应该指向一个包含您的.ann和.txt文件的文件夹
  • 注解配置,它必须指向小子用于注解项目
  • 的配置文件
  • lang文字文件的语言(例如en)
  • model创建的模型文件的名称

  • 名称查找器需要将其输入分为句子和标记。默认情况下,它假定每行一个句子,并应用空格标记。可以使用ruleBasedTokenizer或tokenizerModel参数调整此行为。另外,还可以通过句子查询模型参数使用自定义句子检测器模型。

    要评估模型,可以通过将.brat附加到名称上来以类似的方式使用交叉验证和评估工具。
  • bin / opennlp TokenNameFinderCrossValidator.brat
  • bin / opennlp TokenNameFinderEvaluator.brat

  • 为了加快注释项目的速度,您可以使用opennlp-brat-annotator。它可以加载名称查找器模型,并与BRAT集成以自动注释您的文档。这样可以加快注释的速度。您可以在opennlp沙箱中找到该组件。

    关于java - 使用BRAT创建和训练OpenNlp模型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39877434/

    10-10 09:40