词袋模型#
术语解释#
词袋模型(Bag Of Words, BOW) 是机器学习领域中一种基础且形象的文本向量化方法。词袋模型通过建立一个“袋子”来存储训练样本中所有不重复的词,从而构成一个 有序 词表(字典)。

在整个向量化过程中,以该词表为标准遍历每个样本。如果词表中某个位置的词在样本中出现,则对应位置标记为 1,否则为 0。 结果每个样本最终被转化为一个长度与词表完全一致的数值向量。
进一步,除了仅记录“是否出现”的二进制表示外,还有一种考虑词频的表示方法,即记录每个词在样本中出现的具体次数。

更多相关内容可以参见 「6.1 词袋模型原理:文本特征表示与机器学习建模」 内容。
出现动机#
在机器学习建模过程中,模型需要处理数值型数据,而原始文本(如邮件、文档)无法直接计算,因此需要一种手段将其量化。 同时,不同的文本样本长度各异,但模型要求输入的特征维度必须一致。最终,词袋模型通过固定词表长度,确保了所有生成的向量具有相同的维度解决了这两个问题。
优点缺点#
-
优点:
-
形象直观:模型设计思想非常直观,易于理解和初步实现文本转换,为后续更复杂的文本表示方法(如 TF-IDF)奠定了基础
-
长文本表达能力:考虑词频的词袋模型在处理长文本时,能够通过频次反映出某些关键词的重要性。
-
-
缺点:
-
维度灾难(Dimension Disaster):对于较大的数据集,不重复的词汇量可能高达数万个,导致生成的向量维度极高,增加计算负担。
-
信息丢失(基础版):最基本的词袋模型不关心词频,无论一个词出现多少次都只用 1 表示,丢失了频次信息。
-
数据稀疏性(Sparsity):由于每个样本通常只包含词表中的极小部分词,导致最终生成的特征矩阵中存在大量的 0,存储空间利用率低。
-
语义与顺序缺失:词袋模型无法捕捉词与词之间的位置关系和先后顺序,也无法处理一词多义的问题。例如,“我爱他”和“他爱我”在词袋模型下的表示可能是完全一样的。
-
相关术语#
-
词向量
-
TF-IDF