答案 0 :(得分:7)
语法检查是NLP研究的一个活跃领域,因此目前没有100%的答案(可能甚至不是80%的答案)。最简单的方法(或至少是一个合理的基线)将是一个n-gram语言模型(对话语长度的LM概率进行标准化,并为'语法'或'不合语法'设置启发式阈值。
您可以使用Google的n-gram语料库,也可以使用自己的域内数据进行训练。你可以用NLTK做到这一点;你绝对可以使用LingPipe,SRI语言建模工具包或OpenGRM。
也就是说,n-gram模型不能很好地执行。如果它满足您的需求,那很好,但如果您想做得更好,您将需要培训机器学习分类器。语法分类器通常使用来自句法和/或语义处理的特征(例如POS标签,依赖和选区解析等)。您可以看看Joel Tetrault和他在ETS或Jennifer工作的团队的一些工作。福斯特和她在都柏林的团队。
对不起,没有一个简单明了的答案......