2011-10-10 48 views
1

我正在尋找一個庫來簡單地驗證英語自然語言句子的語法。它不必一直都是正確的(很明顯有些句子會不明確/人類會對有效性產生不同意見)。驗證句子的語法

因此,例如: 吉姆喜歡藍色球 將是有效的,而 吉姆喜歡喜歡藍色球吉姆 不會。

我試過了Andrej Pancik的「英語句子的句法分析器」,它似乎在做我想做的事情,但不幸的是,大多數句子我認爲是「有效的」,它不認爲是。

有沒有我可以使用的代碼?否則,我正在考慮通過創建類似ANTLR的分析樹並用WordNet識別名詞來自己做這件事。

回答

0

你不會覺得這個a)容易做到,或b)可能作爲一個可用的軟件包提供。

人不認同什麼英語

Colorless green ideas slept furiously. 

因此你真的不能寫這樣一個程序,relaibly你想要做什麼。有些NLP解析器聲稱可以處理大部分英語,但它們並不簡單或很小;我相信所謂的斯坦福解析器就是其中之一。

你可以嘗試建立你自己的,但你會陷入英語的定義問題,除非你強烈約束你認爲是有效的英語。這可能會讓你獲得與Pancik解析器相同的效果。 (編寫解析器的行爲是一種堅持,即語言看起來像解析器接受的內容,而不管真相如何)。