用NLTK检查英语语法

时间:2013-04-10 02:58:02

标签: nlp grammar nltk context-free-grammar

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

示例:

“他看到鲍勃” - 不正确

“他看到鲍勃” - 正确

我读过this,但这对我来说很难。 我需要一个更简单的例子。

1 个答案:

答案 0 :(得分:7)

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

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

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

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