使用BRAT为OpenNlp创建和培训模型?

时间:2016-10-05 14:58:04

标签: java opennlp brat

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

为了简化操作,GUI解决方案可能是最好的想法(手动编写注释标签并不酷),我刚刚发现了看起来像我需要的BRAT。

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

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

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

1 个答案:

答案 0 :(得分:2)

OpenNLP本身支持BRAT格式,用于培训和评估名称查找器。目前不支持其他组件。添加对其他组件的支持可能并不困难,如果您感兴趣,您应该在opennlp-dev列表中请求它。

CLI可用于训练带有小子的模型,这里的命令将显示用法:

  • bin / opennlp TokenNameFinderTrainer.brat

以下参数是训练模型所必需的:

  • bratDataDir这应该指向包含.ann和.txt文件的文件夹
  • annotationConfig这必须指向brat用于注释项目的配置文件
  • lang您的文本文档的语言(例如en)
  • 为已创建的模型文件的名称建模

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

要评估您的模型,可以通过将.brat附加到其名称来以相似的方式使用交叉验证和评估工具。

  • bin / opennlp TokenNameFinderCrossValidator.brat
  • bin / opennlp TokenNameFinderEvaluator.brat

要加快注释项目,可以使用opennlp-brat-annotator。它可以加载Name Finder模型并与BRAT集成以自动注释您的文档。这可以加快您的注释工作。您可以在opennlp沙箱中找到该组件。