也许这篇文章能帮到你。它描述了如何从维基百科提取的数据中进行TokenNameFinder培训。。。
首先,您需要使用所需的实体来训练数据。
句子应该用换行符(\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文档
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 但是我想训练我自己的模型并用我的自定义标签标记单词,例如