Исключение Nullpointer с OpenNLP в классе NameFinderME - PullRequest
5 голосов
/ 14 февраля 2011

Я использую 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)

Пожалуйста, помогите мне с этим.

1 Ответ

3 голосов
/ 30 июля 2011

У меня была такая же проблема с POSTaggerME, и причина почти наверняка в том, что вы разделяете экземпляр NameFinderME между потоками.

Согласно документу opennlp, большинство открытых библиотечных классов не являются поточно-ориентированными: http://incubator.apache.org/opennlp/documentation/manual/opennlp.html#tools.namefind.recognition.api

...