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

标签 nlp opennlp

我正在使用 OpenNLP 从给定文本中提取命名实体。 在大数据上运行代码时,它给了我以下错误。当我在小数据上运行它时,它工作得很好。

java.lang.NullPointerException
    at opennlp.tools.util.Cache.put(Cache.java:134)
    at opennlp.tools.util.featuregen.CachedFeatureGenerator.createFeatures(CachedFeatureGenerator.java:71)
    at opennlp.tools.namefind.DefaultNameContextGenerator.getContext(DefaultNameContextGenerator.java:116)
    at opennlp.tools.namefind.DefaultNameContextGenerator.getContext(DefaultNameContextGenerator.java:39)
    at opennlp.tools.util.BeamSearch.bestSequences(BeamSearch.java:125)
    at opennlp.tools.util.BeamSearch.bestSequence(BeamSearch.java:198)
    at opennlp.tools.namefind.NameFinderME.find(NameFinderME.java:214)
    at opennlp.tools.namefind.NameFinderME.find(NameFinderME.java:198)

请帮我解决这个问题。

最佳答案

我在使用 POSTaggerME 时遇到了同样的问题,几乎可以肯定原因是您在线程之间共享 NameFinderME 实例。

根据 opennlp 文档,大多数公开的库类都不是线程安全的: http://incubator.apache.org/opennlp/documentation/manual/opennlp.html#tools.namefind.recognition.api

关于nlp - NameFinderME 类中 OpenNLP 的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989381/

相关文章:

nlp - 如何使用斯坦福情感分析数据集

java - Java 中使用位置索引进行流标记

nlp - 准确度:UIMA的ANNIE,斯坦福大学,OpenNLP

java - 如何使用 openNLP 将以下标记化文本与数据库列值进行比较?

nlp - 使用斯坦福 NLP 训练 n-gram NER

python - 查找句子中代词和名词之间的关系

python - 在 TF-IDF 中结合 Unigram 和 Bigram

parsing - 从句子中找到有意义的子句子

java - 0.0.0-SNAPSHOT 不支持 OpenNLP 模型版本 1.5.0

java - OpenNLP 创建注释器