当前位置: 首页 > 知识库问答 >
问题:

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

东明德
2023-03-14

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

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

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

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

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

共有1个答案

方嘉言
2023-03-14

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

CLI可用于使用brat训练模型,以下命令将显示其用法:

  • bin/opennlp TokenNameFinderTrainer.brat

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

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

姓名查找器需要将输入内容切割成句子和标记。默认情况下,它假定每行一句话,并应用空白标记。可以使用基于规则的Tokenizer或tokenizerModel参数调整此行为。另外,可以通过sentenceDetector模型参数使用自定义的句子检测器模型。

为了评估您的模型,交叉验证和评估工具可以通过连接以类似的方式使用。以他们的名义行事。

  • bin/opennlp TokenNameFinderCrossValidator。布拉特
  • bin/opennlp令牌名查找器。小鬼

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

 类似资料:
  • 我的要求是像这样分析句子。“给我找一本饥饿的潮汐书。”或者“饥饿的潮水或破碎的镜子,哪一个更好。”饥饿的潮汐和破碎的镜子是书的名字,为此我需要创建一个自定义模型,在给定的令牌数组中找到书的标题。因此,稍后我可以根据给定的句子创建一个查询。请让我知道我如何做到这一点,或者如果有任何其他方法来分析这样的句子。

  • 大家已经提到了这个,这个,这个和这个,但是仍然发现很难建立一个自定义的名字查找器模型。。以下是代码: 我在尝试执行命令行时不断出现错误: 让我把论点1改为 然后我收到一个运行时错误,说你不能强制转换这个。这是我在线程“main”中强制转换 第二个问题是: 给出一个语法错误。不确定这里出了什么问题。如果有任何帮助,我将不胜感激,因为我已经尝试了上述链接上的所有代码片段。 祝好

  • 我试图用下面的代码训练模型,但我一直在方法上收到错误,它告诉我将更改为。为什么?

  • 我刚开始使用OpenNLP。我需要创建一个简单的训练模型来识别名称实体。

  • 我有文件及其非常大的文件说100MB文件。我想执行NER以提取组织名称。我使用OpenNLP进行了培训。 示例代码: 但是我得到了一个错误:。 有没有办法使用openNLP for NER来训练大型数据集?你能发布示例代码吗? 当我谷歌时,我发现Class GIS和DataIndexer界面可用于训练大型数据集,但我知道如何训练?你能发布示例代码吗?

  • 我发现很难创建自己的openNLP模型。谁能告诉我,如何拥有自己的模型。培训应该如何进行。 输入应该是什么,输出模型文件将存储在哪里。