我正在使用stanford-corenlp-3.2.0.jar并stanford-corenlp-3.2.0-models.jar识别特定句子中的位置.但是我观察到,stanford-nlp如果单词以小写形式传递,则无法识别位置.
例如:"Find a restaurant in London".在这里,斯坦福将伦敦定位为地点.
但是,如果通过以下句子:"在伦敦找一家餐馆",那么斯坦福无法识别london出位置.
为了解决这个问题,我将句子中每个单词的第一个字母转换为大写字母.但是,如果我这样做,我会遇到其他问题.
根据meskobalazs提供的答案,我已经下载了jar : stanford-corenlp-caseless-2015-04-20-models.jar.
我换了早先的jar : stanford-corenlp-3.2.0-models.
但是现在我得到以下例外
SEVERE: Exception sending context initialized event to listener instance of class servlets.NLP_initializer
java.lang.RuntimeException: edu.stanford.nlp.io.RuntimeIOException: Unrecoverable error while loading a tagger model
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:493)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:81)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:260)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:127)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:123)
at servlets.NLP_initializer.contextInitialized(NLP_initializer.java:34)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown …Run Code Online (Sandbox Code Playgroud)