gpt4 book ai didi

java - 创建 StanfordCoreNLP 对象时出错

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:22 24 4
gpt4 key购买 nike

我已经从 http://nlp.stanford.edu/software/corenlp.shtml#Download 下载并安装了所需的 jar 文件.

我已经包含了五个 jar 文件

Satnford-postagger.jar

斯坦福-psotagger-3.3.1.jar

斯坦福-psotagger-3.3.1.jar-javadoc.jar

斯坦福-psotagger-3.3.1.jar-src.jar

stanford-corenlp-3.3.1.jar

代码是

public class lemmafirst {

protected StanfordCoreNLP pipeline;

public lemmafirst() {
// Create StanfordCoreNLP object properties, with POS tagging
// (required for lemmatization), and lemmatization
Properties props;
props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma");

/*
* This is a pipeline that takes in a string and returns various analyzed linguistic forms.
* The String is tokenized via a tokenizer (such as PTBTokenizerAnnotator),
* and then other sequence model style annotation can be used to add things like lemmas,
* POS tags, and named entities. These are returned as a list of CoreLabels.
* Other analysis components build and store parse trees, dependency graphs, etc.
*
* This class is designed to apply multiple Annotators to an Annotation.
* The idea is that you first build up the pipeline by adding Annotators,
* and then you take the objects you wish to annotate and pass them in and
* get in return a fully annotated object.
*
* StanfordCoreNLP loads a lot of models, so you probably
* only want to do this once per execution
*/
***this.pipeline = new StanfordCoreNLP(props);***
}

我的问题是创建管道。

我得到的错误是:

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:563)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:81)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:262)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:129)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:125)
at lemmafirst.<init>(lemmafirst.java:39)
at lemmafirst.main(lemmafirst.java:83)
Caused by: edu.stanford.nlp.io.RuntimeIOException: Unrecoverable error while loading a tagger model
at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:758)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:289)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:253)
at edu.stanford.nlp.pipeline.POSTaggerAnnotator.loadModel(POSTaggerAnnotator.java:88)
at edu.stanford.nlp.pipeline.POSTaggerAnnotator.<init>(POSTaggerAnnotator.java:76)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:561)
... 6 more
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
at edu.stanford.nlp.io.IOUtils.getInputStreamFromURLOrClasspathOrFileSystem(IOUtils.java:434)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:753)
... 11 more

任何人都可以纠正错误吗?谢谢

最佳答案

抛出的异常是由于缺少 pos 模型。这是因为有和没有模型文件的可下载版本。

要么你添加stanford-postagger-完整-3.3.1.jar可以在以下页面 (stanford-postagger-full-2014-01-04.zip) 中找到: http://nlp.stanford.edu/software/tagger.shtml.

或者你对整个 CoreNLP 包(stanford-corenlp-full....jar)做同样的事情: http://nlp.stanford.edu/software/corenlp.shtml(然后你也可以删除所有的 postagger 依赖项,它们包含在 CoreNLP 中)

如果您只想添加模型文件,请查看 Maven Central并下载“stanford-corenlp-3.3.1-models.jar”。

关于java - 创建 StanfordCoreNLP 对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22206095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com