2013-03-07 23 views
0

是否有任何方法檢查句子在語法上是否正確或者不使用斯坦福分析器?到目前爲止,我能夠使用斯坦福解析器得到一個句子的解析樹。我被困在這裏,不知道如何繼續下去。使用斯坦福分析器檢查句子在語法上是否正確

+1

這不是像斯坦福這樣的解析器所設計的 - 即使面對不合法的輸入,它們也可以用於健壯的解析。請參閱[常見問題](http://nlp.stanford.edu/software/parser-faq.shtml#j)。 – 2013-03-07 16:50:17

+0

然後,我如何檢查一個句子在語法上是否正確?有沒有辦法做到這一點? – user2138780 2013-03-07 16:54:38

+0

谷歌周圍的「Python語法檢查」。我沒有這個問題的實際經驗,所以我不能推薦任何特定的工具。 – 2013-03-07 16:55:45

回答

0

larsmans是正確的,這些解析器不適合這一點,但這裏是一個黑客:

您可以嘗試使用分析器「信心」。每個概率分析器計算不同標籤的概率並分配最可能的序列。我已經用一部分語音標記器(http://www.ark.cs.cmu.edu/TweetNLP/)嘗試了這一點,其中每個標記被賦予一定的置信度(0.93,0.45等),我計算句子中所有標記的平均置信度並將其與一些置信度閾值進行比較(基於語料庫中的其他句子)。

顯然,如果標籤的置信度不夠高,我認爲這個句子在語法上是不正確的。經過一些更多的啓發式方法 - 如照顧標點符號或一個單詞的句子 - 它爲我工作。

斯坦福分析器是概率論的,並且可以肯定地計算概率,但是我無法得到它對盒子的信心。也許你必須深入研究並瞭解如何將其公開。

+1

你可以分享任何示例代碼,以便我可以使用它作爲參考..謝謝 – user2138780 2013-03-15 19:12:42