打开NLP名称查找器输出

时间:2014-03-10 07:45:42

标签: java nlp opennlp

我开始学习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) 有谁知道我如何建立自己的模型?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设它没有抛出异常并且找不到名称“John”,它没有用,因为当句子是“John很好”时,模型找不到John,因为OpenNLP是一种机器学习方法,它找到了基于模型的命名实体。 en-person.bin模型显然没有足够的句子样本足以使“john很好”返回一个足够高的概率给你一个回应。