使用 BRAT 创建和训练 OpenNlp 模型?
Creating and training a model for OpenNlp using BRAT?
我可能需要为 OpenNLP 创建自定义训练集,这将需要我手动注释很多条目。
为了让事情变得更简单,GUI 解决方案可能是最好的主意(手动编写注释标签并不酷),我刚刚发现了 BRAT,它看起来正是我需要的。
BRAT 可以导出带注释的文件 (.ann),但我在 OpenNLP's manual 中没有找到任何对此文件类型的引用,我不确定这是否可行。
我想做的是从 BRAT 导出这个带注释的文件并用它来训练 OpenNLP 的模型,我真的不在乎它是否可以使用代码或 CLI 来完成。
有人能指出我正确的方向吗?
OpenNLP 原生支持 BRAT 格式,用于 Name Finder 的训练和评估。目前不支持其他组件。添加对其他组件的支持可能并不困难,如果您有兴趣,您应该在 opennlp-dev 列表上请求它。
CLI 可以用来训练brat 的模型,下面是命令,它会告诉你用法:
- bin/opennlp TokenNameFinderTrainer.brat
训练模型必须使用以下参数:
- bratDataDir 这应该指向包含您的 .ann 和 .txt 文件的文件夹
- annotationConfig 这必须指向小子用于注释项目的配置文件
- lang 您的文本文档的语言(例如 en)
- model 创建的模型文件名
Name Finder 需要将其输入切割成句子和标记。默认情况下,它假定每行一个句子并应用白色 space 标记化。可以使用 ruleBasedTokenizer 或 tokenizerModel 参数调整此行为。另外,可以通过 sentenceDetector 模型参数使用自定义句子检测器模型。
要评估您的模型,可以通过将 .brat 附加到它们的名称以类似的方式使用交叉验证和评估工具。
- bin/opennlp TokenNameFinderCrossValidator.brat
- bin/opennlp TokenNameFinderEvaluator.brat
要加快注释项目的速度,您可以使用 opennlp-brat-annotator。它可以加载 Name Finder 模型并与 BRAT 集成以自动注释您的文档。这可以加快您的注释工作。您可以在 opennlp 沙箱中找到该组件。
我可能需要为 OpenNLP 创建自定义训练集,这将需要我手动注释很多条目。
为了让事情变得更简单,GUI 解决方案可能是最好的主意(手动编写注释标签并不酷),我刚刚发现了 BRAT,它看起来正是我需要的。
BRAT 可以导出带注释的文件 (.ann),但我在 OpenNLP's manual 中没有找到任何对此文件类型的引用,我不确定这是否可行。
我想做的是从 BRAT 导出这个带注释的文件并用它来训练 OpenNLP 的模型,我真的不在乎它是否可以使用代码或 CLI 来完成。
有人能指出我正确的方向吗?
OpenNLP 原生支持 BRAT 格式,用于 Name Finder 的训练和评估。目前不支持其他组件。添加对其他组件的支持可能并不困难,如果您有兴趣,您应该在 opennlp-dev 列表上请求它。
CLI 可以用来训练brat 的模型,下面是命令,它会告诉你用法:
- bin/opennlp TokenNameFinderTrainer.brat
训练模型必须使用以下参数:
- bratDataDir 这应该指向包含您的 .ann 和 .txt 文件的文件夹
- annotationConfig 这必须指向小子用于注释项目的配置文件
- lang 您的文本文档的语言(例如 en)
- model 创建的模型文件名
Name Finder 需要将其输入切割成句子和标记。默认情况下,它假定每行一个句子并应用白色 space 标记化。可以使用 ruleBasedTokenizer 或 tokenizerModel 参数调整此行为。另外,可以通过 sentenceDetector 模型参数使用自定义句子检测器模型。
要评估您的模型,可以通过将 .brat 附加到它们的名称以类似的方式使用交叉验证和评估工具。
- bin/opennlp TokenNameFinderCrossValidator.brat
- bin/opennlp TokenNameFinderEvaluator.brat
要加快注释项目的速度,您可以使用 opennlp-brat-annotator。它可以加载 Name Finder 模型并与 BRAT 集成以自动注释您的文档。这可以加快您的注释工作。您可以在 opennlp 沙箱中找到该组件。