我开始学习Jave的OpenNLP API。 我在这个网站上找到了一些很好的例子
http://www.programcreek.com/2012/05/opennlp-tutorial/
我尝试过Name Finder API但我发现了一些奇怪的东西。 如果我将输入替换为
String []sentence = new String[]{
"John",
"is",
"good"
};
代码仍在运行,但如果我将其更改为
String []sentence = new String[]{
"John",
"is",
"fine"
};
没有输出。
我无法理解导致问题的原因。它是否形成我使用的模型? (EN-NER-person.bin) 有谁知道我如何建立自己的模型?
谢谢!
答案 0 :(得分:1)
假设它没有抛出异常并且找不到名称“John”,它没有用,因为当句子是“John很好”时,模型找不到John,因为OpenNLP是一种机器学习方法,它找到了基于模型的命名实体。 en-person.bin模型显然没有足够的句子样本足以使“john很好”返回一个足够高的概率给你一个回应。