gpt4 book ai didi

java - 斯坦福解析器(类型化依赖)异常

转载 作者:行者123 更新时间:2023-12-01 11:29:06 30 4
gpt4 key购买 nike

我想查看斯坦福 NLP 解析器中的依存关系输出格式。我从这个链接下载了 jar 文件。 http://nlp.stanford.edu/software/lex-parser.shtml

然后我将其导入 Eclipse 并编写以下代码。

package hammad.NLP;

import java.io.StringReader;
import java.util.Collection;
import java.util.List;

import com.chaoticity.dependensee.Main;

import edu.stanford.nlp.ling.CoreLabel;
import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
import edu.stanford.nlp.process.CoreLabelTokenFactory;
import edu.stanford.nlp.process.PTBTokenizer;
import edu.stanford.nlp.process.TokenizerFactory;
import edu.stanford.nlp.trees.GrammaticalStructure;
import edu.stanford.nlp.trees.GrammaticalStructureFactory;
import edu.stanford.nlp.trees.PennTreebankLanguagePack;
import edu.stanford.nlp.trees.Tree;
import edu.stanford.nlp.trees.TreebankLanguagePack;
import edu.stanford.nlp.trees.TypedDependency;

public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

try
{

String text = "A quick brown fox jumped over the lazy dog.";
TreebankLanguagePack tlp = new PennTreebankLanguagePack();
GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
LexicalizedParser lp = LexicalizedParser.loadModel("C:/Stanford Parser/Java/stanford-parser-full-2015-04-20/stanford-parser-3.5.2-models/edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz");
lp.setOptionFlags(new String[]{"-maxLength", "500", "-retainTmpSubcategories"});
TokenizerFactory<CoreLabel> tokenizerFactory =
PTBTokenizer.factory(new CoreLabelTokenFactory(), "");
List<CoreLabel> wordList = tokenizerFactory.getTokenizer(new StringReader(text)).tokenize();
Tree tree = lp.apply(wordList);
GrammaticalStructure gs = gsf.newGrammaticalStructure(tree);
Collection<TypedDependency> tdl = gs.typedDependenciesCCprocessed(true);

Main.writeImage(tree,tdl, "image.png",3);

}
catch(Exception e)
{
e.printStackTrace();
}
}

}

它给出了以下异常。

Exception in thread "main" java.lang.NoSuchMethodError: edu.stanford.nlp.trees.TypedDependency.gov()Ledu/stanford/nlp/trees/TreeGraphNode;

我搜索了TypedDependency,发现其中存在gov(),但出现异常。我对此进行了很多搜索,但没有找到任何帮助。如果您在这方面帮助我,我将非常感谢您。

最佳答案

这是由于斯坦福 NLP 代码的最新版本与 DependenSee 之间不兼容所致,DependenSee 是针对斯坦福解析器 v2.0.5 (2013-04-05) 构建的。如果您注释掉 Main.writeImage(tree,tdl, "image.png",3); 行,而只是执行 System.out.println(tdl);然后就可以正常工作了。

您的选择是:不使用 DependenSee、修复 DependenSee 以与最新的斯坦福 NLP 版本兼容(可能很简单),或者降级到旧版本的斯坦福 NLP...

关于java - 斯坦福解析器(类型化依赖)异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30570125/

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