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

在opennlp中训练自己的模型

姚新霁
2023-03-14

我发现很难创建自己的openNLP模型。谁能告诉我,如何拥有自己的模型。培训应该如何进行。

输入应该是什么,输出模型文件将存储在哪里。

共有3个答案

宗鸿博
2023-03-14

也许这篇文章能帮到你。它描述了如何从维基百科提取的数据中进行TokenNameFinder培训。。。

  • nuxeo-blog-使用Hadoop和Pig挖掘维基百科以进行自然语言处理
马华茂
2023-03-14

首先,您需要使用所需的实体来训练数据。

句子应该用换行符(\n)分隔。应使用空格字符将值与标记分隔开
假设您想要创建医学实体模型,那么数据应该是这样的:

<START:medicine> Augmentin-Duo <END> is a penicillin antibiotic that contains two medicines - <START:medicine> amoxicillin trihydrate <END> and 
<START:medicine> potassium clavulanate <END>. They work together to kill certain types of bacteria and are used to treat certain types of bacterial infections.

例如,您可以参考示例数据集。训练数据应该至少有15000句话才能得到更好的结果。

此外,您还可以使用Opennlp TokenNameFinderTrainer。输出文件将位于中。bin格式。

下面是一个例子:在OpenNLP中编写自定义名称查找器模型

有关更多详细信息,请参阅Opennlp文档

司马耘豪
2023-03-14

https://opennlp.apache.org/docs/1.5.3/manual/opennlp.html

这个网站非常有用,既有代码展示,也有使用OpenNLP应用程序来训练所有不同类型的模型,比如实体提取和词性等。

我可以在这里给你一些代码示例,但是页面使用起来非常清晰。

理论方面:

基本上,你创建一个文件,列出你想要训练的东西

如。

体育[空白]这是一个关于足球、橄榄球之类的网页

政治[空白]这是一个关于托尼·布莱尔担任首相的页面。

格式见上页(每个型号需要不同的格式)。一旦创建了这个文件,就可以通过API或opennlp应用程序(通过命令行)运行它,并生成一个。垃圾箱文件。一旦你有了这个。bin文件,您可以将其加载到模型中,并开始使用它(根据上述网站中的api)。

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

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

  • 我想训练用于提取人名的模型(NER系统的一部分),但我想使这个模型无大小写(我的意思是,该模型不会考虑字母大小写,大写字母和小写字母之间没有区别),因为我有嘈杂的文本。 那么训练步骤中是否有任何参数可以做到这一点,或者任何其他方式?

  • 我正在尝试训练名称查找器模型来检测名称,但它没有给出正确的结果。这是代码。 这是iam得到的输出: 检测到的名称:[07-20 19:35:47.516 8799:8799 I/Adreno EGL] en-ner-person.train内容是: 请帮忙。

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

  • 我是opennlp新手,需要帮助来定制解析器 我已经使用了带有预训练模型的opennlp解析器en-pos-maxtent.bin用相应的语音部分标记新的原始英语句子,现在我想自定义标签。 例句:狗跳过墙。 使用en-pos-maxtent.bin进行POS标记后,结果将是 狗-NNP 跳跃-VBD 超过-在 The-DT wall-NN 但是我想训练我自己的模型并用我的自定义标签标记单词,例如