Word2Vec词向量生成算法
字数 1115 2025-10-27 11:27:25

Word2Vec词向量生成算法

题目描述
Word2Vec是一种将单词转换为稠密向量的算法,这些向量能捕捉单词的语义和语法关系。例如,"国王"和"王后"的向量关系可能类似于"男人"和"女人"的关系。题目要求理解Word2Vec的核心思想、两种模型架构(Skip-gram和CBOW),以及如何通过训练得到词向量。

解题过程

  1. 核心思想:分布式假设

    • 背景:传统方法(如One-hot编码)无法表达单词间的关联。
    • 关键假设:上下文相似的单词,其语义也相似。例如,"苹果"和"香蕉"可能出现在"吃"、"水果"等相似上下文环境中。
    • 目标:将每个单词映射为一个低维稠密向量,使得语义相近的单词在向量空间中距离更近。
  2. 模型架构:CBOW(连续词袋模型)

    • 输入:给定一个单词的上下文(例如前后各2个单词),预测中心词。
    • 示例:句子"I drink apple juice"中,若中心词为"apple",则输入为["drink", "juice"](忽略顺序),输出为目标"apple"。
    • 过程
      1. 输入层:上下文单词的One-hot向量。
      2. 隐藏层:将输入向量乘以权重矩阵(即词嵌入矩阵),得到上下文向量的平均值。
      3. 输出层:通过Softmax计算目标词的概率分布。
    • 特点:适合小型数据集,对高频词效果较好。
  3. 模型架构:Skip-gram(跳字模型)

    • 输入:给定中心词,预测其上下文单词。
    • 示例:中心词"apple"作为输入,输出可能是["drink", "juice"]。
    • 过程
      1. 输入层:中心词的One-hot向量。
      2. 隐藏层:通过权重矩阵得到中心词的向量表示。
      3. 输出层:计算上下文中每个单词的条件概率。
    • 特点:适合大型数据集,能更好处理低频词。
  4. 训练优化:负采样(Negative Sampling)

    • 问题:原始Softmax计算开销大(词汇表可能包含数万词)。
    • 解决方案
      1. 正样本:真实上下文单词(如"juice")。
      2. 负样本:随机采样K个非上下文单词(如"dog", "car")。
      3. 目标函数:最大化正样本概率,最小化负样本概率。
    • 效果:大幅提升训练速度,是Word2Vec实用的关键。
  5. 向量关系的几何解释

    • 训练后,词向量空间中的方向可表示语义关系。
    • 示例:向量("国王") - 向量("男人") + 向量("女人") ≈ 向量("王后")。
    • 原理:模型在训练中捕捉了上下文分布的共性模式。

总结
Word2Vec通过预测单词与其上下文的关系,学习到具有语义信息的词向量。Skip-gram和CBOW是两种对称的架构,负采样等技术解决了计算效率问题。最终得到的向量可用于下游任务(如文本分类、机器翻译)。

Word2Vec词向量生成算法 题目描述 Word2Vec是一种将单词转换为稠密向量的算法,这些向量能捕捉单词的语义和语法关系。例如,"国王"和"王后"的向量关系可能类似于"男人"和"女人"的关系。题目要求理解Word2Vec的核心思想、两种模型架构(Skip-gram和CBOW),以及如何通过训练得到词向量。 解题过程 核心思想:分布式假设 背景:传统方法(如One-hot编码)无法表达单词间的关联。 关键假设: 上下文相似的单词,其语义也相似 。例如,"苹果"和"香蕉"可能出现在"吃"、"水果"等相似上下文环境中。 目标:将每个单词映射为一个低维稠密向量,使得语义相近的单词在向量空间中距离更近。 模型架构:CBOW(连续词袋模型) 输入 :给定一个单词的上下文(例如前后各2个单词),预测中心词。 示例 :句子"I drink apple juice"中,若中心词为"apple",则输入为[ "drink", "juice" ](忽略顺序),输出为目标"apple"。 过程 : 输入层:上下文单词的One-hot向量。 隐藏层:将输入向量乘以权重矩阵(即词嵌入矩阵),得到上下文向量的平均值。 输出层:通过Softmax计算目标词的概率分布。 特点 :适合小型数据集,对高频词效果较好。 模型架构:Skip-gram(跳字模型) 输入 :给定中心词,预测其上下文单词。 示例 :中心词"apple"作为输入,输出可能是[ "drink", "juice" ]。 过程 : 输入层:中心词的One-hot向量。 隐藏层:通过权重矩阵得到中心词的向量表示。 输出层:计算上下文中每个单词的条件概率。 特点 :适合大型数据集,能更好处理低频词。 训练优化:负采样(Negative Sampling) 问题 :原始Softmax计算开销大(词汇表可能包含数万词)。 解决方案 : 正样本:真实上下文单词(如"juice")。 负样本:随机采样K个非上下文单词(如"dog", "car")。 目标函数:最大化正样本概率,最小化负样本概率。 效果 :大幅提升训练速度,是Word2Vec实用的关键。 向量关系的几何解释 训练后,词向量空间中的方向可表示语义关系。 示例:向量("国王") - 向量("男人") + 向量("女人") ≈ 向量("王后")。 原理:模型在训练中捕捉了上下文分布的共性模式。 总结 Word2Vec通过预测单词与其上下文的关系,学习到具有语义信息的词向量。Skip-gram和CBOW是两种对称的架构,负采样等技术解决了计算效率问题。最终得到的向量可用于下游任务(如文本分类、机器翻译)。