2013-03-15 64 views
4

我能夠獲得標籤和文字的輸出,如句子來獲得句子解析分數「我的名字叫拉胡爾。」作爲java程序使用斯坦福解析器

我/ PRP $,名稱/ NN,是/ VBZ,拉胡爾/ 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); 

但是,我也需要得到句子的解析分數。是否可以對我的程序進行任何修改以獲取解析分數?

謝謝。

回答

4

Tree類有一個score方法,您可以調用以獲取句子的分數。

double score = parse.score(); 
+0

OMG!有效。謝謝大家:) – yAsH 2013-03-16 14:00:54

+1

在這些解析分數的幫助下,您是否有任何想法來檢查句子是否在語法上正確? – yAsH 2013-03-16 14:15:06

+2

這裏在StackOverflow上的規則是每個線程有一個問題,以使其他類似問題的人更容易找到答案。詢問關於此的另一個問題,詢問從來沒有錯。 – 2013-03-16 14:48:36