java - 打开 NLP 名称查找器输出

标签 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) 有谁知道我该如何构建自己的模型?

谢谢!

最佳答案

假设它没有抛出异常,只是找不到名字“John”,它不起作用,因为当句子是“John is fine”时模型找不到 John,因为 OpenNLP 是一种机器学习方法,它发现基于模型的命名实体。 en-person.bin 模型显然没有足够的类似于“john is fine”的句子样本来返回足够高的概率来给你一个回应。

关于java - 打开 NLP 名称查找器输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22294640/

相关文章:

nlp - NameFinderME 类中 OpenNLP 的空指针异常

java - 了解来自 Java 和 C++ 背景的 Javascript 原型(prototype)

java - 将数组元素转换为新字典中的键的最佳方法

python - NLTK 和 Lucene 之间词干分析器的兼容性

statistics - 给定一个文档,选择一个相关的片段

java - java opennlp工具包中内置Porter Stemmer

nlp - 如何使用 OpenNLP 或任何其他库确定一个句子是否是语句?

java - 探查器和 Java 检测之间的区别

java - Sikulix Maven 项目

java - 斯坦福自然语言处理 : ArrayIndexOutOfBoundsException for Named Entity Recognition