我可能需要为OpenNLP创建自定义训练集,这将需要我手动注释很多条目。
为了使事情变得容易,GUI解决方案可能是最好的主意(手动编写注释标签并不酷),而我刚刚发现了BRAT,它看起来像我所需要的。
BRAT可以导出带注释的文件(.ann),但是我在OpenNLP's manual中找不到对该文件类型的任何引用,并且我不确定这是否可以工作。
我想做的是从BRAT导出这个带注释的文件,并用它来训练OpenNLP的模型,我真的不在乎是否可以使用代码或CLI来完成。
有人可以指出我正确的方向吗?
最佳答案
OpenNLP具有对BRAT格式的本机支持,用于培训和评估名称查找器。当前不支持其他组件。添加对其他组件的支持可能并不困难,如果您有兴趣,可以在opennlp-dev列表中提出要求。
CLI可用于使用小子训练模型,以下命令将向您显示用法:
以下参数是训练模型所必需的:
名称查找器需要将其输入分为句子和标记。默认情况下,它假定每行一个句子,并应用空格标记。可以使用ruleBasedTokenizer或tokenizerModel参数调整此行为。另外,还可以通过句子查询模型参数使用自定义句子检测器模型。
要评估模型,可以通过将.brat附加到名称上来以类似的方式使用交叉验证和评估工具。
为了加快注释项目的速度,您可以使用opennlp-brat-annotator。它可以加载名称查找器模型,并与BRAT集成以自动注释您的文档。这样可以加快注释的速度。您可以在opennlp沙箱中找到该组件。
关于java - 使用BRAT创建和训练OpenNlp模型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39877434/