gpt4 book ai didi

java - 斯坦福 OpenIE 示例代码无法正常运行

转载 作者:行者123 更新时间:2023-12-02 04:23:59 29 4
gpt4 key购买 nike

这是我第一次在这里发帖;因此,如果我表现出任何不好的做法,请告诉我。

所以目前我正在尝试使用斯坦福大学的 OpenIE 从网络挖掘的数据中提取信息。由于我对 Java 很陌生,我只是从他们的页面复制了示例代码片段:http://nlp.stanford.edu/software/openie.shtml

看起来像这样:

  import java.util.*;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.naturalli.NaturalLogicAnnotations;
import edu.stanford.nlp.ling.CoreAnnotations;
import edu.stanford.nlp.ie.util.RelationTriple;
import edu.stanford.nlp.util.CoreMap;

public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.setProperty("annotators", "tokenize,ssplit,pos,depparse,natlog,openie");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

Annotation doc = new Annotation("Obama was born in Hawaii. He is our president.");
pipeline.annotate(doc);

for (CoreMap sentence : doc.get(CoreAnnotations.SentencesAnnotation.class)) {
Collection<RelationTriple> triples = sentence.get(NaturalLogicAnnotations.RelationTriplesAnnotation.class);
for (RelationTriple triple : triples) {
System.out.println(triple.confidence + "\t" +
triple.subjectLemmaGloss() + "\t" +
triple.relationLemmaGloss() + "\t" +
triple.objectLemmaGloss());
}
}
}

然后我将它编译成一个类,并将其放入他们网站的 openIE jar 中。

我运行了这样的命令,它与他们的命令行调用示例几乎相同:

java -mx1g -cp stanford-openie.jar:stanford-openie-models.jar Example

但是最后我得到了这样的错误:

Loading parser from serialized file edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz ... Exception in thread "main" edu.stanford.nlp.io.RuntimeIOException: java.io.IOException: Unable to resolve "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz" as either class path, filename or URL

虽然他们的命令行调用可以如页面上所示工作,但我认为这是我的 Java 技能的问题。然而我不知道如何解决这个问题,Stackoverflow 上提出的相关问题也无济于事。为什么它无法解析类路径?

注意:我看到有人发帖说他们的工作区同时拥有 CoreNLP,但我确信我不会将这些 JAR 放在同一目录下。

最佳答案

将 setProperty 行更改为以下内容。我面临着同样的问题。对此行的更改使其起作用。

此外,您应该在路径中包含 CoreNLP 和 Openie jar,以帮助其正常工作。

props.setProperty("annotators", "tokenize,ssplit,pos,lemma,depparse,natlog,openie");

关于java - 斯坦福 OpenIE 示例代码无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32419534/

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