首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StanfordCoreNLP错误:找不到此类经过训练的标记器配置文件

StanfordCoreNLP错误:找不到此类经过训练的标记器配置文件
EN

Stack Overflow用户
提问于 2017-04-05 02:17:41
回答 1查看 639关注 0票数 0

我使用的是StanfordCoreNLP库(stanford-corenlp.jar),在执行下面几行代码时出现错误。

代码语言:javascript
复制
protected StanfordCoreNLP pipeline;

public LemmatizerHelper() {
    Properties props;
    props = new Properties();
    props.put("annotators", "tokenize,ssplit,pos,lemma,ner,parse,dcoref");

    this.pipeline = new StanfordCoreNLP(props); // Error occurs from this line
}

这就是我得到的错误。

代码语言:javascript
复制
Adding annotator tokenize
Adding annotator ssplit
Adding annotator pos
Loading POS Model [edu/stanford/nlp/models/pos-tagger/wsj3t0-18-left3words/left3words-distsim-wsj-0-18.tagger] ... Loading default properties from trained tagger edu/stanford/nlp/models/pos-tagger/wsj3t0-18-left3words/left3words-distsim-wsj-0-18.tagger
Error: No such trained tagger config file found.
java.io.FileNotFoundException: edu\stanford\nlp\models\pos-tagger\wsj3t0-18-left3words\left3words-distsim-wsj-0-18.tagger (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at edu.stanford.nlp.tagger.maxent.TaggerConfig.getTaggerDataInputStream(TaggerConfig.java:737)
at edu.stanford.nlp.tagger.maxent.TaggerConfig.<init>(TaggerConfig.java:185)
at edu.stanford.nlp.tagger.maxent.TaggerConfig.<init>(TaggerConfig.java:130)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:240)
at edu.stanford.nlp.pipeline.POSTaggerAnnotator.loadModel(POSTaggerAnnotator.java:69)
at edu.stanford.nlp.pipeline.POSTaggerAnnotator.<init>(POSTaggerAnnotator.java:43)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:496)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:489)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:62)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:325)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:374)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:364)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:356)
at irproject.LemmatizerHelper.<init>(LemmatizerHelper.java:25)
at irproject.PreProcessingHelper.Lemmatization(PreProcessingHelper.java:59)
at irproject.IRProject.main(IRProject.java:30)
Exception in thread "main" java.lang.RuntimeException:     java.io.FileNotFoundException: edu\stanford\nlp\models\pos-tagger\wsj3t0-18-left3words\left3words-distsim-wsj-0-18.tagger (The system cannot find the path specified)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:498)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:489)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:62)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:325)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:374)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:364)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:356)
at irproject.LemmatizerHelper.<init>(LemmatizerHelper.java:25)
at irproject.PreProcessingHelper.Lemmatization(PreProcessingHelper.java:59)
at irproject.IRProject.main(IRProject.java:30)


Caused by: java.io.FileNotFoundException: edu\stanford\nlp\models\pos-tagger\wsj3t0-18-left3words\left3words-distsim-wsj-0-18.tagger (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at edu.stanford.nlp.tagger.maxent.TaggerConfig.getTaggerDataInputStream(TaggerConfig.java:737)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:667)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:280)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:240)
at edu.stanford.nlp.pipeline.POSTaggerAnnotator.loadModel(POSTaggerAnnotator.java:69)
at edu.stanford.nlp.pipeline.POSTaggerAnnotator.<init>(POSTaggerAnnotator.java:43)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$4.create(StanfordCoreNLP.java:496)
... 9 more

这是我下载jar文件http://www.java2s.com/Code/Jar/s/Downloadstanfordcorenlpjar.htm的地方

我正在使用Netbeans IDE 8.1

EN

回答 1

Stack Overflow用户

发布于 2017-04-05 02:56:43

你应该从这个站点获得斯坦福CoreNLP 3.7.0:

http://stanfordnlp.github.io/CoreNLP/download.html

确保已下载文件夹中的所有jars都在您的CLASSPATH中。如果CLASSPATH中没有stanford-corenlp-3.7.0-models.jar,将导致您看到的错误类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43214739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档