2013-04-10 388 views
1

我开始使用NLTK library,我想检查一个英语句子是否正确。用NLTK检查英语语法

例子:

“他看到鲍勃” - 不正确

“他认为鲍勃” - 正确

我读this,但它是相当难受。 我需要一个更简单的例子。

+0

你说的英文是什么意思?你是否正在考虑动词的形式 - 比如在你的例子中纠正第三人称单数形式? – Jared 2013-04-10 04:57:59

回答

4

语法检查是NLP研究的一个活跃领域,所以目前还没有100%的答案(可能甚至不是80%的答案)。最简单的方法(或至少一个合理的基线)将是一个n-gram语言模型(规范话语长度的LM概率并设置'语法'或'不合语法'的启发式阈值

您可以使用Google的n-或者训练您自己的域内数据,您可以使用NLTK来做到这一点;您绝对可以使用LingPipe,SRI语言建模工具包或OpenGRM。

也就是说,n-gram模型如果它满足你的需求,那么很好,但如果你想做得更好,你将不得不训练一个机器学习分类器。语法分类器通常会使用语法和/或语义处理中的特征(例如POS标签,依赖和选区分析等)您可能会看Joel Tetrault和他在ETS工作的团队的一些工作,还有Jennifer Foster和她在都柏林的团队。

对不起,没有简单直接的答案...