Python 如何预测给定的句子在语法上是否正确?

Python 如何预测给定的句子在语法上是否正确?,python,nlp,prediction,word2vec,language-model,Python,Nlp,Prediction,Word2vec,Language Model,我试图创建一个预测模型,该模型通过检查句子中单词的顺序来判断给定句子是否正确。该模型检查特定的单词序列是否已经出现在一个庞大的语料库中,是否有意义 我试着用word2vec模型来做这件事,并删除了两句话的余弦相似性或WMD距离,但这只是基于单词向量相似性而不是单词序列给出了相似性 因此,如果我们将输入作为两个句子: 第一句——“我要去商店” 第二句——“我要去商店” 输出应表明句子无效或相似性小于等于20% 而word2vec模型显示100%的相似性,因为无论顺序如何,输入的单词都是相同的。所以

我试图创建一个预测模型,该模型通过检查句子中单词的顺序来判断给定句子是否正确。该模型检查特定的单词序列是否已经出现在一个庞大的语料库中,是否有意义

我试着用word2vec模型来做这件事,并删除了两句话的余弦相似性或WMD距离,但这只是基于单词向量相似性而不是单词序列给出了相似性

因此,如果我们将输入作为两个句子:

第一句——“我要去商店”

第二句——“我要去商店”

输出应表明句子无效或相似性小于等于20%


而word2vec模型显示100%的相似性,因为无论顺序如何,输入的单词都是相同的。所以我猜它不能用来比较词序。任何其他建议都可能非常有用。

我想您还没有完全理解word2vec的工作原理。它被训练成一种语言模型,但它不是。这是一种将自然语言单词编码为连续空间向量的方法,可以在以后用于语言建模,包括其他任务

在上面的示例中,您得到了100%的相似性,因为您使用的word2vec很可能是通过“单词袋”方法训练的。它不关心单词出现的顺序,只关心上下文


如果您需要开箱即用的工具,我建议您检查StanfordNLP()中是否有可用的工具。

是的,我也意识到了这一点。我只是说我想做什么。但是它不起作用,因为word2vec模型只有可以用来比较上下文的单词向量,而不是句子的词序。你有什么解决办法,我可以尝试一下单词顺序吗?谢谢你的回复。@RahulHalappanavar这是一个完整的研究领域:语言建模。有很多可能的模型,@c2huc2hu提到语言建模是一个完整的研究领域。取决于你想做什么,等等。我建议你看一下跳过思想向量。还有一个很好的tensorflow实现。这个模型在句子之间提供了相似性,但在情感层面上。仅用于“语法检查”,我确信我粘贴在答案上的stanfordNLP应该包含一个工具。祝你好运