word2vec

2013年提出,模型结构和NNLM基本一致,只是训练方法不同,分为CBOW和SKIP-GRAM两种,打破了之前只能通过上文来预测当前词的固定思维。

  • CBOW :
    • 输入 : 同样获取 (n-1) 个上下文词的词向量。
    • 处理 : 将这些词向量求平均 (Average)求和 (Sum) ,得到一个 m 维的上下文表示向量 h
    • 输出 : 这个 m 维的向量 h 直接 与一个输出权重矩阵 W_out 相乘,得到 |V| 维的 logits,然后通过 softmax 得到概率。 z = W_out * h
    • 特点 : 没有隐藏层 ,本质上是一个线性模型(在使用负采样时,可以看作多个二分类的线性模型)。这种设计极大地简化了模型,使其能够快速训练,并扩展到非常大的语料库上。
    • 训练方式 : 几乎从不使用标准 Softmax 。它主要依赖两种高效的近似方法:
      1. 负采样 (Negative Sampling) : 对于每个正样本(真实的中心词),随机采样 k 个负样本(词汇表中的其他词),然后训练一个二分类器来区分正负样本。计算复杂度降为 O(k)k 通常很小(5-20)。
      2. 层次 Softmax (Hierarchical Softmax) : 将词汇表组织成一棵二叉树(如霍夫曼树),将多分类问题转化为一系列二分类问题,复杂度降为 O(log|V|)

霍夫曼树解决问题:

1)不同词编码不同

2)每个词的编码不会成为另一个词的前缀

3)构造出的词编码总体长度最小,且越高频词编码越短

建树步骤:

1)对词按照词频排序

2)选取词频最低的两个节点,更低的放左侧,较低的放右侧,顶点记录两者频率之和

3)选取剩余词频最小的和之前的频率之和对比,小的放左边,依次类推

4)建好树之后,左边是0,右边是1

  • 优势: 这些技巧使得 CBOW 可以在普通硬件上快速训练,并轻松处理超大规模数据,这是它得以广泛应用的关键。

  • Skip-Gram

    • 中心词映射为词向量;
    • 每个上下文位置分别进行预测(即多次输出);
    • 实际实现中,通常将每个 (中心词, 上下文词)视为独立样本。

💡 因此,Skip-Gram 的训练样本数量远多于 CBOW(尤其在大窗口时)。

相关推荐
Mikowoo0071 个月前
Word2Vec_词嵌套
人工智能·自然语言处理·word2vec
T_Wang_Lab1 个月前
跨领域语义漂移的双视角量化框架:基于知识图谱邻居的Jaccard方法与跨域对齐的Word2Vec方法的系统比较与联合诊断
人工智能·知识图谱·word2vec
蓦然回首却已人去楼空2 个月前
深度学习进阶:自然语言处理|3.2.3 QA|word2vec 中为什么输入和输出权重都可以表示单词
深度学习·自然语言处理·word2vec
沪漂阿龙2 个月前
面试题:文本表示方法详解——One-hot、Word2Vec、上下文表示、BERT词向量全解析(NLP基础高频考点)
人工智能·神经网络·自然语言处理·bert·word2vec
沪漂阿龙2 个月前
深度硬核!2026年NLP面试最全指南:从Word2Vec到Transformer,大模型时代算法工程师通关秘籍
自然语言处理·面试·word2vec
大龄程序员狗哥3 个月前
第17篇:词向量(Word2Vec)解析——让文字拥有数学灵魂(原理解析)
人工智能·自然语言处理·word2vec
輕華3 个月前
Word2Vec与CBOW算法实战:从词向量到上下文感知
人工智能·算法·word2vec
Daydream.V3 个月前
语言转换方法——CBOW
人工智能·语言模型·word2vec·词向量·cbow·神经语言模型
F_D_Z3 个月前
NNLM、Word2Vec(CBOW、Skip-gram) 与 BERT:神经网络语言模型的演进与对比
神经网络·bert·word2vec