如何将句子表示为数字向量,同时保持每个词相对于其他词的顺序对于分类算法。

How to represent sentense as a numarical vector while keeping the order of each word relative to other words For Classificaion Algorithms..

我正在为我的最后一年项目创建一个句子分类程序。我的目标是根据预期答案将问题分类为 10 类。我需要在保持单词顺序的同时在向量中表示问题。

这个例子更简洁

当用词袋或特征表示袋表示时,以上两个句子具有相同的词向量。是否有任何其他表示技术来表示问题。 这样分类器可以被告知单词 'i' 在 'can' 之前,因此它们可以被不同地分类。

请注意,这不是问题和句子的分类问题。我不仅要根据预期答案,还要根据其他一些关键字将问题分类到字段中。

自然语言处理中,您基本上有 2 种表示句子的方法

第一个(机器学习方法)给你一个稀疏向量,而后者(深度学习方法)一个密集向量。

如果您愿意使用 BoW,您基本上可以在句子中随意排序,因为向量由文本中的每个单词组成。

pizza / can / a / order / i

句子 1:[1,1,1,1,1]

句子 2:[1,1,1,1,1]

这 2 个句子将使用 unigram but with bigram 具有相同的表示形式,这会发生变化,因为除了单词之外,您还将拥有 2 个单词的所有组合。

pizza / can / a / order / i / can i / i order / order a / a pizza / i can / can order

句子 1:[1,1,1,1,1,1,1,1,1,0,0]

句子 2:[1,1,1,1,1,0,0,1,1,1,1]

为了解决您的问题,请参阅this article and specifically the CountVectorizer