用NLTK检查英语语法

use*_*904 2 grammar nlp nltk context-free-grammar

我开始使用NLTK库了,我想检查一下英语句子是否正确.

例:

"他看到鲍勃" - 不正确

"他看到鲍勃" - 对

我读过这篇文章,但这对我来说很难.我需要一个更简单的例子.

Aar*_*onD 9

语法检查是NLP研究的一个活跃领域,因此目前没有100%的答案(可能甚至不是80%的答案).最简单的方法(或至少是合理的基线)将是n-gram语言模型(对话语长度的LM概率进行标准化并为'语法'或'不符合语法'设置启发式阈值.

您可以使用Google的n-gram语料库,也可以使用自己的域内数据进行训练.你可以用NLTK做到这一点; 你绝对可以使用LingPipe,SRI语言建模工具包或OpenGRM.

也就是说,n-gram模型不能很好地执行.如果它满足您的需求,那很好,但如果您想做得更好,您将需要培训机器学习分类器.语法分类器通常使用来自句法和/或语义处理的特征(例如POS标签,依赖和选区解析等).您可以看看Joel Tetrault和他在ETS或Jennifer工作的团队的一些工作.福斯特和她在都柏林的团队.

对不起,没有一个简单明了的答案......

  • 这是八年前的一个很好的答案。今天的最佳答案是什么? (4认同)