我目前正面临使用opennlp工具包培训新的ner模型的问题。 我在网上找到了一个关于培训药物名称新模型的例子。 用于培训的样本数据如下所示
<START:medicine> Augmentin-Duo <END> is a penicillin antibiotic that contains two medicines - <START:medicine> amoxicillin trihydrate <END> and <START:medicine> potassium clavulanate <END>.
我试图训练模型来识别物种名称,并设法创建一个大约35,000个句子的样本数据集。 每个句子都包含至少一个物种名称,我根据药物样本数据进行了标记。 看起来像这样
A flatfish is a member of the order <START:sname> Pleuronectiformes </END> of ray-finned demersal fishes, also called the Heterosomata, sometimes classified as a suborder of Perciformes.
现在有趣的部分。如果我开始培训,我会收到此消息
结果数量:1
线程中的异常&#34; main&#34; java.lang.IllegalArgumentException:模型与name不兼容 发现者!
对于&#34;测试&#34;目的我在我的句子列表的开头复制了一个药物例子的一个句子,然后突然得到了结果的数量:2&#34;。
现在我不知道为什么我的样本只被认为是一个结果。 每个物种名称是否只允许在我的样本数据中出现一次?还有什么可能是问题?我是否必须在一个句子中标记至少2个物种名称? 没有任何想法,为什么我的代码使用药物的样本数据而不是我的数据,希望有人可以帮助我。
提前致谢!!
答案 0 :(得分:2)
可能是因为您错误地标记了数据集。
您已完成<START:sname> Pleuronectiformes </END>
而不是<START:sname> Pleuronectiformes <END>
/
可能是它,确保您正确地给出了所有空格,并且每个句子都在训练数据中的一行上。
如果这不起作用,请发布您的训练数据。