使用斯坦福解析器获取句子的解析分数的Java程序

4
我可以得到像“我的名字是Rahul。”这样的句子的标签和单词输出:

My/PRP$, name/NN, is/VBZ, Rahul/NNP, ./.]

使用以下程序:
LexicalizedParser lp = LexicalizedParser.loadModel(
    "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz"
);
lp.setOptionFlags(new String[]{"-maxLength", "80", "-retainTmpSubcategories"});

String sent = "My name is Rahul";
Tree parse = (Tree) lp.apply(sent);

List taggedWords = parse.taggedYield();
System.out.println(taggedWords);

但是,我还需要获取句子的解析分数。有没有什么修改可以对我的程序进行,以获得解析分数?

谢谢。

1个回答

4

Tree类有一个score方法,您可以调用它来获取句子的分数。

double score = parse.score();

1
你有没有想过如何利用这些解析分数来检查一个句子是否语法正确? - yAsH
2
在StackOverflow上的规则是每个线程只能有一个问题,这样其他有类似问题的人就更容易找到答案。如果您有其他问题,请另外提问,提问从来不会错。 - Mia Clarke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接