从Stanford CoreNLP网站构建示例应用程序时,我遇到了一个奇怪的例外:
Exception in thread "main" 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)
…
Caused by: java.io.IOException: Unable to resolve "edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger" as either class path, filename or URL
…
仅当属性pos
及其后的属性包含在属性中时才会发生这种情况。
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
以下是我的pom.xml的依赖项:
<dependencies>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.2.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
答案 0 :(得分:50)
我实际上在Stackoverflow上的另一个问题的问题描述中找到了答案。
Maven不会自动下载模型文件,但仅限于您 将模型行添加到.pom。这是一个.pom 获取代码和模型的代码段。
以下是我的依赖项现在的样子:
<dependencies>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.2.0</version>
<classifier>models</classifier>
</dependency>
</dependencies>
需要注意的重要部分是底部的条目<classifier>models</classifier>
。为了使Eclipse能够维护这两个引用,您需要为每个stanford-corenlp-3.2.0
和stanford-corenlp-3.2.0-models
配置依赖项。
答案 1 :(得分:2)
如果您需要将模型用于其他语言(例如中文,西班牙语或阿拉伯语),您可以将以下内容添加到pom.xml
文件中(将models-chinese
替换为models-spanish
这两种语言分别为models-arabic
):
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.8.0</version>
<classifier>models-chinese</classifier>
</dependency>
答案 2 :(得分:0)
显然,有了Gradle,您可以使用:
implementation 'edu.stanford.nlp:stanford-corenlp:3.9.2'
implementation 'edu.stanford.nlp:stanford-corenlp:3.9.2:models'
或者如果您使用编译(不推荐):
compile group: 'edu.stanford.nlp', name: 'stanford-corenlp', version: '3.9.2'
compile group: 'edu.stanford.nlp', name: 'stanford-corenlp', version: '3.9.2' classifier: 'models'