当前位置: 首页 > 知识库问答 >
问题:

Stanford CoreNLP-EGW4-REUT.512.找不到集群

冯亮
2023-03-14

我正在使用CoreNLP包对用户评论做一些注释,自从我升级到3.5.0版本以来,我似乎反复遇到同样的错误:

我在这里搜索了几个类似的问题:

Stanford NER错误:加载distsim词典失败,Stanford NER tagger使用提供的模型生成“File not Found”异常,但这并没有解决我的问题:我只使用3.5.0中的代码和模型(通过Maven Central)。我尝试从NER模型修改props文件,并指向用户目录中的另一个。clusters文件,但没有成功(完全相同的错误)。

我用来实例化CoreNLP对象的代码也非常标准,但这里是:

    Properties props = new Properties();
    props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
    stan = new StanfordCoreNLP(props);
Loading classifier from edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz ... Loading distsim lexicon from /u/nlp/data/pos_tags_are_useless/egw4-reut.512.clusters ... java.lang.RuntimeException: java.io.FileNotFoundException: \u\nlp\data\pos_tags_are_useless\egw4-reut.512.clusters (The system cannot find the path specified)
at edu.stanford.nlp.objectbank.ReaderIteratorFactory$ReaderIterator.setNextObject(ReaderIteratorFactory.java:225)
at edu.stanford.nlp.objectbank.ReaderIteratorFactory$ReaderIterator.<init>(ReaderIteratorFactory.java:161)
at edu.stanford.nlp.objectbank.ReaderIteratorFactory.iterator(ReaderIteratorFactory.java:98)
at edu.stanford.nlp.objectbank.ObjectBank$OBIterator.<init>(ObjectBank.java:404)
at edu.stanford.nlp.objectbank.ObjectBank.iterator(ObjectBank.java:242)
at edu.stanford.nlp.ie.NERFeatureFactory.initLexicon(NERFeatureFactory.java:471)
at edu.stanford.nlp.ie.NERFeatureFactory.init(NERFeatureFactory.java:379)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.reinit(AbstractSequenceClassifier.java:171)
at edu.stanford.nlp.ie.crf.CRFClassifier.loadClassifier(CRFClassifier.java:2630)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1620)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1675)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1662)
at edu.stanford.nlp.ie.crf.CRFClassifier.getClassifier(CRFClassifier.java:2851)
at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifierFromPath(ClassifierCombiner.java:189)
at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifiers(ClassifierCombiner.java:173)
at edu.stanford.nlp.ie.ClassifierCombiner.<init>(ClassifierCombiner.java:113)
at edu.stanford.nlp.ie.NERClassifierCombiner.<init>(NERClassifierCombiner.java:64)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$6.create(StanfordCoreNLP.java:617)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:85)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:267)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:129)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:125)
at rgu.jclos.quilt.utilities.nlp.DependenciesTagger.<init>(DependenciesTagger.java:99)
at rgu.jclos.quilt.eca.approaches.ApproachC_USS.main(ApproachC_USS.java:47)
Caused by: java.io.FileNotFoundException: \u\nlp\data\pos_tags_are_useless\egw4-reut.512.clusters (The system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:131)
    at edu.stanford.nlp.io.EncodingFileReader.<init>(EncodingFileReader.java:78)
    at edu.stanford.nlp.objectbank.ReaderIteratorFactory$ReaderIterator.setNextObject(ReaderIteratorFactory.java:192)
    ... 23 more
Loading classifier from edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz ... Exception in thread "main" edu.stanford.nlp.io.RuntimeIOException: java.io.FileNotFoundException
    at edu.stanford.nlp.pipeline.StanfordCoreNLP$6.create(StanfordCoreNLP.java:621)
    at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:85)
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:267)
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:129)
    at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:125)
    at rgu.jclos.quilt.utilities.nlp.DependenciesTagger.<init>(DependenciesTagger.java:99)
    at rgu.jclos.quilt.eca.approaches.ApproachC_USS.main(ApproachC_USS.java:47)
Caused by: java.io.FileNotFoundException
    at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifierFromPath(ClassifierCombiner.java:199)
    at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifiers(ClassifierCombiner.java:173)
    at edu.stanford.nlp.ie.ClassifierCombiner.<init>(ClassifierCombiner.java:113)
    at edu.stanford.nlp.ie.NERClassifierCombiner.<init>(NERClassifierCombiner.java:64)
    at edu.stanford.nlp.pipeline.StanfordCoreNLP$6.create(StanfordCoreNLP.java:617)
    ... 6 more
Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast to edu.stanford.nlp.classify.LinearClassifier
at edu.stanford.nlp.ie.ner.CMMClassifier.loadClassifier(CMMClassifier.java:1070)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1620)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1675)
at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1662)
at edu.stanford.nlp.ie.ner.CMMClassifier.getClassifier(CMMClassifier.java:1116)
at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifierFromPath(ClassifierCombiner.java:195)
... 10 more

共有1个答案

微生曾琪
2023-03-14

原来问题是Maven造成的。

我的代码位于一个实用程序库中,该库封装在Stanford CoreNLP之上,以提供额外的处理,并且它本身工作得非常好。但是,当将这个项目作为依赖项添加到我的主项目时,Maven默认将Stanford CoreNLP库模型的3.4版本导入主项目,这导致了上面描述的bug。

 类似资料:
  • java-mx3g-cp“*”edu.stanford.nlp.pipeline.stanfordcorenlp-props stanfordcorenlp-spanish.properties 第二个命令打开一个终端和西班牙语解析器工作正常,但从服务器版本来看,它使用英语解析器,而不是西班牙语。 对于我使用的客户,wget--post-data'el presidente Julio Sanch

  • 我正试图在集群上运行Flink作业。这份工作在我的开发(本地)环境下运行良好。但当我使用以下命令将其部署到集群上时: 它失败了,错误如下: 我还添加了所需的依赖项 我正在使用构建jar文件

  • 我是新来的强力pm。我有一个场外承包商更改了配置,现在我们强大的pm服务没有运行 如果出现以下异常,我可以使用以下命令将集群值从CPU更改为1或2,但看起来节点进程的参数传递不正确,它认为“-cluster=CPU”是一个模块。 错误:在函数中找不到模块“/var/lib/strong pm/svc/1/work/1243100a8374d67ec4f638539a27d7a8e232fee8.1

  • 我正在尝试使用Apache Camel运行一个简单的测试: 我收到以下错误:“找不到以下终结点:http://localhost:61554/api/v1/MyController/my-endpoint,请检查您的类路径是否包含所需的 Camel 组件 jar” 我对骆驼和爪哇很陌生。有人能告诉我为什么会出现这个错误吗?我应该使用from("direct:x ")吗...?如果是,那么我在哪里将

  • 假设我有+10000个句子,我想像这个例子一样分析。有可能并行处理这些和多线程吗?

  • 我得到了新的笔记本电脑(Windows7),我正在尝试设置Maven。