如果您正在使用默认的CoreNLP管道(即使用 parse 注释而不是 depparse ),你看到的依赖解析来自句子选区解析的确定性转换。你可以得到的最好的“得分”是 的 看看候选人选区的解析 强> 最终产生依赖性解析(转换后)。
parse
depparse
但是,您需要打破CoreNLP管道才能执行此特定工作。如果你有 LexicalizedParser 例如,你可以得到 ķ 最佳解析(附带分数)如下:
LexicalizedParser
List<CoreLabel> mySentence = ... LexicalizedParser parser = LexicalizedParser.loadModel("edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz"); ParserQuery pq = parser.parserQuery(); if (pq.parse(mySentence)) { // Get best parse and associated score Tree parse = pq.getBestPCFGParse(); double score = pq.getPCFGScore(); // Print parse parse.pennPrint(); // ---- // Get collection of best parses List<ScoredObject<Tree>> bestParses = pq.getBestPCFGParses(); // ---- // Convert a constituency parse to dependency representation GrammaticalStructure gs = parser.treebankLanguagePack() .grammaticalStructureFactory().newGrammaticalStructure(parse); List<TypedDependency> dependencies = gs.typedDependenciesCCprocessed(); System.out.println(dependencies); }
相关的Javadoc:
ParserQuery
GrammaticalStructure
ScoredObject
(注意:未经测试的代码,但这应该工作..)