我正在尝试使用斯坦福 CoreNLP 关系提取器 ( http://nlp.stanford.edu/software/relationExtractor.shtml )。
我已经安装了 CoreNLP,就像它建议的那样,我尝试将关系参数添加到注释器管道,但无济于事。下面是我尝试在 Linux 中通过命令行输入的代码。
java -cp "*" -Xxm1g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,parse,relation -file <path toinput file>
错误消息是当它尝试添加注释器关系时,它指出:
Unable to resolve "edu/stanford/nlp/models/supervised_relation_extractor/roth_relation_model_pipelineNER.ser" as either a class path, filename or URL.
我尝试在网上搜索,看看是否可以下载 roth_relation_model_pipelineNER.ser 文件并将其粘贴到 models 目录中,但我找不到它(我也不太了解 Java)。
如果您有任何建议,请告诉我。谢谢。
回复@StanfordNLPHelp(顺便说一句,感谢您的快速回复):
我正在使用同一目录中的 models.jar 文件运行该命令,并且它正在拾取它(下面的屏幕截图):
此外,我从网站下载了最新版本的 CoreNLP zip 文件。解压缩它并解压 models.jar 文件 (stanford-parser-3.5.2-models.jar)。我去了 models 目录,但那里只有 lexparser 和 parser 目录,我没有看到supervised_relation_extractor 的目录。附上一张截图。
另外,这是一个旁注,但我在 pos 注释器上也遇到了类似的问题。我遇到了同样的问题,找不到文件。但我能够使用此网站下载一个单独的 .jar 文件并将其放置在程序想要的位置(问题#6 - http://nlp.stanford.edu/software/pos-tagger-faq.shtml )并且能够正常工作。
最佳答案
该文件位于此 jar 中:stanford-corenlp-3.5.2-models.jar
当您在终端中运行命令时,该 .jar 文件需要位于您运行命令的目录中,以便 -cp“*” 来选取它。如果您看到该错误,则意味着您的类路径中没有 stanford-corenlp-3.5.2-models.jar。
关于java - 斯坦福 CoreNLP - 关系注释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724064/