词袋模型(Bag of Words, BoW)是自然语言处理中最基础的文本表明方法,核心逻辑是“将一段文本视为一组词语的集合(类似‘袋子’装词),仅统计词语出现频率,忽略语法结构和词语顺序”。它就像给文本做“词语清单”:不管词语在句子里的先后顺序、语法关系,只记录哪些词出现了、出现多少次,把非结构化的文本转换成结构化的数值向量,让机器能初步“读懂”文本的核心词汇构成。
其核心特点是“简化性”“忽略顺序”和“词频导向”:结构极简,无需复杂语义分析,仅通过词频量化文本特征;核心缺陷是丢失词语顺序信息(如“我吃苹果”和“苹果吃我”在词袋中完全一致);以词语出现频率为核心依据,认为高频词更能代表文本核心含义。区别于BERT等语义模型,词袋不具备语义理解能力,是纯统计层面的文本表明。
核心原理分三步实现:第一步,文本预处理,对文本进行分词、去除停用词(如“的”“是”)、过滤无效词汇;第二步,构建词表,收集所有处理后的词语,形成全局唯一的“词汇字典”(词表);第三步,生成词袋向量,对每个文本,统计词表中每个词语的出现次数,用次数构成的向量表明该文本(未出现的词记为0)。例如,词表为[苹果, 香蕉, 吃],文本“我吃苹果”的词袋向量为[1, 0, 1]。
应用场景聚焦在基础文本处理任务:文本分类(如新闻分类、垃圾邮件识别),通过词频向量区分文本类别;情感分析入门场景(如简单评论正面/负面判断),依赖高频情感词(如“好”“差”)的词频特征;文本类似度计算基础场景(如文档查重初步筛选),通过词袋向量类似度判断文本关联度;也是早期搜索引擎关键词匹配的核心技术基础之一。
局限主要源于“忽略语义与顺序”:无法区分语序不同但含义差异大的文本,导致语义表达片面;高频无意义词(如未过滤的停用词)可能干扰结果;文本词汇量大时会出现“维度灾难”(向量维度过高);无法捕捉词语间的语义关联(如“电脑”和“笔记本”的相关性),不适用于复杂语义理解任务(如机器翻译、多轮对话)。
总体而言,词袋模型是自然语言处理的“入门基石”,以极简的统计逻辑实现了文本的结构化表明,为后续复杂模型奠定了基础。尽管存在语义表达的局限性,但因实现简单、效率高,至今仍是基础文本处理场景和NLP入门学习的核心内容,常与TF-IDF等改善方法搭配使用提升效果。

