2012-06-25 64 views
4

我正在尋找一個簡單的C#庫,它執行以下操作:獲取一個表示單個句子的字符串,並返回一個布爾值,表示它在語法上是否正確。檢查英語語法

我還沒有找到一個單獨的自包含的庫,在廣泛的搜索後執行此操作。

+7

這不是一項簡單的任務,並且.NET的NLP庫數量有限 - 一個建議可能是利用Microsoft.Office.Interop.Word命名空間並查看是否可以提取某些語法 - 在MS Word中檢查功能。 – nicholas

+0

如果這是一項微不足道的任務,我們會看到這些算法在全部語言翻譯器中使用... – Brendan

+0

您是否檢查OpenNLP/SharpNLP?這裏是[SharpNLP網站](http://sharpnlp.codeplex.com/discussions/263620)和[文章](http://www.codeproject.com/Articles/12109/Statistical-parsing-of-English-句子)代碼項目。 –

回答

9

如果您安裝了MS Word,則可以在項目中包含對COM庫「Microsoft Word 12.0 Object Library」的引用。 (我想也可能有一個.NET互操作庫,但我沒有測試過)。

然後在你的代碼,你可以簡單地調用:

Microsoft.Office.Interop.Word.Application myWord = new Microsoft.Office.Interop.Word.Application(); 

... 

return myWord.CheckGrammar("Your string here"); 

而且應該這樣做。