java - 斯坦福 CoreNLP - 关系注释器

标签 java stanford-nlp

我正在尝试使用斯坦福 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 文件运行该命令,并且它正在拾取它(下面的屏幕截图):

enter image description here

此外,我从网站下载了最新版本的 CoreNLP zip 文件。解压缩它并解压 models.jar 文件 (stanford-parser-3.5.2-models.jar)。我去了 models 目录,但那里只有 lexparser 和 parser 目录,我没有看到supervised_relation_extractor 的目录。附上一张截图。 enter image description here

另外,这是一个旁注,但我在 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/

相关文章:

stanford-nlp - 如何使用斯坦福 NLP 解析器获取依赖树

python - 如何导入 Stanford POS Tagger

java - 斯坦福 Java NLP 选区标签缩写

java - 在接口(interface)的常量池中包含 java.lang.Object 的目的是什么?

java - 按下后退按钮 session 不会破坏

java - 如何使用 runOnUiThread 获取从服务到 Activity 的每次消息

java - 在JAVA中使用Stanford nlp提取基于POS标记句子的语言结构

java - 斯坦福大学崩溃依赖解析器错误: loadmodel

java - 使用 pow(x,y) 比较大数时, "<"小于运算符和 "<="运算符之间的差异

java - com/android/dx/command/dexer/Main : Unsupported major. 次要版本 52.0