什么是 Word2Vec?CBOW 和 Skip-gram 两种模型有什么区别?

发布时间:2026/7/26 22:27:32
什么是 Word2Vec?CBOW 和 Skip-gram 两种模型有什么区别? Word2Vec 与 CBOW / Skip-gram 模型一、Word2Vec 是什么Word2Vec 是 Mikolov 等人2013提出的一组词嵌入学习模型核心思想是上下文相似的词其语义相似通过在大规模无标注语料上训练浅层神经网络将每个词映射为低维稠密向量通常 50~300 维使向量空间中的几何关系反映语义关系。核心特性分布式表示每个维度无显式语义整体向量编码词义语义类比vec(国王) - vec(男) vec(女) ≈ vec(女王)相似度可计算cos(猫, 狗) cos(猫, 飞机)无监督训练仅需原始文本无需标注两种训练架构Word2Vec 提供两种模型CBOW和Skip-gram。二、CBOWContinuous Bag-of-Words原理用上下文词预测中心词。给定窗口大小w以中心词前后各w个词为输入预测中心词。窗口 w2句子The cat sits on the mat 输入上下文[The, cat, on, the] → 预测目标sits结构上下文词 (2w 个) → 求平均/求和 → 隐藏层(无激活) → softmax → 中心词输入层上下文词的 one-hot 向量投影层上下文词向量求平均Bag-of-Words 之名由此而来无序输出层softmax 预测中心词概率特点上下文多个词的信息被平滑聚合对高频词预测效果好训练速度快每次只用一个中心词作为目标三、Skip-gram原理用中心词预测上下文词。给定中心词预测其周围窗口内的多个上下文词。窗口 w2句子The cat sits on the mat 中心词sits → 预测上下文[The, cat, on, the]结构中心词 → 隐藏层(无激活) → softmax → 上下文词逐个预测输入层中心词 one-hot 向量投影层中心词词向量输出层对窗口内每个上下文词分别做 softmax特点每个中心词生成2w个训练样本样本量更大对低频词表示学习更充分低频词作为中心词时仍能产生多个训练样本四、CBOW vs Skip-gram 核心区别维度CBOWSkip-gram预测方向上下文 → 中心词中心词 → 上下文训练样本数少每窗口 1 个样本多每窗口 2w 个样本训练速度快慢约 2w 倍样本量低频词表现较差低频词作为中心词样本少较好低频词作为中心词仍生成多个样本高频词表现较好上下文聚合平滑噪声一般总体精度略低略高尤其语义类比任务适用场景大规模语料、追求效率小规模语料、追求质量、关注低频词性能差异本质CBOW把上下文多个词平均后预测一个中心词相当于多对一的平滑高频词因上下文模式稳定而受益低频词因样本稀少而表示不佳。Skip-gram把一个中心词拆成一对多的多个样本低频词只要出现一次就能产生2w个训练样本表示更充分但训练成本更高。五、训练优化技术两种模型都面临 softmax 计算瓶颈词表 V 大时O(V)Word2Vec 采用两种加速1. Hierarchical Softmax层次 softmax用哈夫曼树替代扁平 softmax词表叶子节点按词频构建高频词路径短计算复杂度从O(V)降为O(log V)2. Negative Sampling负采样将多分类转化为二分类正样本真实上下文负样本随机采样词损失函数-log σ(v_c · v_w) - Σ log σ(-v_c · v_n)负样本按词频3/4次方分布采样抑制高频词被过度采样实践中最常用效果稳定六、词向量的语义特性训练得到的词向量具备以下性质1. 相似度cos(北京, 上海) cos(北京, 苹果) 2. 类比推理 vec(国王) - vec(男人) vec(女人) ≈ vec(女王) vec(巴黎) - vec(法国) vec(意大利) ≈ vec(罗马) 3. 聚类同义词/相关词在向量空间聚集 {猫, 狗, 马} 聚集{汽车, 飞机, 船} 聚集这些特性使 Word2Vec 成为 NLP 的基础工具广泛用于文本分类、情感分析、机器翻译、推荐系统等任务的词嵌入初始化。七、一句话总结Word2Vec 通过浅层神经网络学习词的低维稠密分布式表示CBOW 用上下文预测中心词多对一训练快适合高频词和大语料Skip-gram 用中心词预测上下文一对多训练慢但精度高适合低频词和小语料两者通过层次 softmax 或负采样加速训练最终词向量具备语义相似性和类比推理能力。