以玄幻小说方式打开深度学习词嵌入算法!! 使用Skip-gram来完成 Word2Vec 词嵌入(Embedding)

发布于:2025-06-24 ⋅ 阅读:(19) ⋅ 点赞:(0)

词道真解(Word2vec)的核心原理

在浩瀚的修真界中,存在一种上古秘术名为《词嵌真经》。修士们发现,世间万物皆有其“道韵”,而语言中的每个字词都暗含天地法则。传统修炼方式需逐个参悟字词,耗时千年方能小成。
在这里插入图片描述

修炼困境:孤立的参悟效率低下

修士们最初采用“孤立参悟法”,将每个字词视为独立个体。例如参悟“剑”字时,无法关联“刀”“戟”等相近兵器;参悟“火”字时,亦不能感应“炎”“焰”等衍生词。这种碎片化修炼导致:

  • 需要海量灵石(数据)支撑
  • 低阶修士极易走火入魔(过拟合)
  • 无法捕捉“剑意→杀伐→金系法则”等深层关联

秘术革新:词向量筑基大法

《词嵌真经》开创性地提出“词向量筑基”:

  • 将字词炼化为多维空间中的灵纹(向量)
  • “剑”与“刀”的灵纹距离近,“剑”与“花”的灵纹距离远
  • 通过上下文阵法(Skip-gram/CBOW)自动推演词间关系

例如:

"御" + "剑" → "飞行"  // 向量运算可推导功法组合
"魔" - "恶" + "善" ≈ "佛"  // 心法属性转换

在这里插入图片描述

修炼优势:大道至简

  1. 降维凝练:将百万字词压缩至300维灵纹空间(维度缩减)
  2. 关联推演:自动发现“炼丹→药材→火候”的隐藏道则(语义关联)
  3. 万物归宗:处理“宗门谱系”“功法传承”等复杂关系(知识图谱筑基)

修士们借此可:

  • 瞬间领悟古籍真意(文本分类)
  • 推演失传功法(文本生成)
  • 鉴别心魔蛊惑之言(情感分析)

(注:实际word2vec原理与修真隐喻对应:上下文窗口=神识范围,训练epoch=闭关轮次,负采样=心魔过滤)
词道真解通过稠密向量(词蕴灵丝)替代传统离散表示(孤焰符)

将词语映射到低维连续空间。每个词被表示为固定长度的实数向量,语义相近的词在向量空间中距离相近。

词道修炼的两大功法

在这里插入图片描述

周天聚气法(CBOW)
根据上下文词语预测当前词,适合处理大量常见词。例如给定"御剑 __ 云",模型预测空缺处可能是"飞"或"腾"。

逆星推衍术(Skip-gram)
通过当前词预测周围词,更擅长捕捉稀有词的关系。如从"结丹"可推导出"元婴"、"渡劫"等关联词。

词道四大优势

降维增效
300维稠密向量即可表示十万词汇,存储效率远超万维稀疏的独热编码。

语义编码
向量空间自动保留语义关系:
vec(“帝王”) - vec(“阳”) + vec(“阴”) ≈ vec(“女帝”)
vec(“长安”) - vec(“唐”) ≈ vec(“江户”) - vec(“日”)

迁移应用
预训练的词向量可直接用于:
文本分类(符箓鉴别)
机器翻译(玉简转译)
问答系统(心法解惑)

深度兼容
词向量作为神经网络输入层时:
比独热编码减少99%参数
保留词语间的语义关联性
加速模型收敛速度

好吧,其实Word2vec 是一种用于生成词嵌入(word embedding)的模型,由 Google 团队于 2013 年提出。其核心思想是通过神经网络模型学习词语的分布式表示,将词语映射到一个低维稠密的向量空间,使得语义相似的词语在向量空间中距离较近。Word2vec 包含两种主要模型:CBOW(连续词袋模型)Skip-gram

  • CBOW:通过上下文词语预测当前词语,适合小型数据集和高频词。
  • Skip-gram:通过当前词语预测上下文词语,适合大型数据集和低频词。

Word2vec 的训练目标是通过最大化词语共现概率,学习词向量表示。生成的词向量具有线性可类比性(如“国王 - 男 + 女 ≈ 女王”),并能捕捉词语之间的语义和语法关系。

词嵌入的必要性

词嵌入技术的出现是为了解决传统自然语言处理(NLP)方法的局限性:

1. 解决稀疏性问题
传统方法(如 one-hot 编码)将词语表示为高维稀疏向量,导致维度灾难和计算效率低下。词嵌入通过稠密低维向量(如 100-300 维)压缩信息,提升模型效率。

2. 捕捉语义和语法关系
词嵌入能够学习词语之间的相似性、类比关系(如“巴黎 - 法国 ≈ 东京 - 日本”)和多义词的上下文相关表示(如“苹果”在不同语境下的不同含义)。

3. 迁移学习和模型泛化
预训练的词嵌入(如 Word2vec、GloVe)可以迁移到下游任务(如文本分类、机器翻译),减少对标注数据的依赖,提升模型泛化能力。

4. 支持深度神经网络输入
稠密向量更适合作为深度学习模型的输入,而稀疏的 one-hot 向量难以直接用于神经网络训练。

Word2Vec(Skip-Gram模型)数据变化过程示例,以句子 “The quick brown fox jumps over the lazy dog” 为例

🔠 一、原始文本与分词

输入句子
"The quick brown fox jumps over the lazy dog"
分词结果(去除标点,转为小写):
["the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"]


🪟 二、定义上下文窗口(假设窗口大小=2)

以中心词 "brown" 为例:

  • 中心词"brown"
  • 上下文窗口:取中心词左右各2个词 → ["the", "quick", "fox", "jumps"]
  • 训练样本生成(中心词 → 上下文词):
中心词 (Input) 上下文词 (Output)
brown the
brown quick
brown fox
brown jumps

💡 扩展:对句子中每个词重复此过程。例如中心词 "fox" 的上下文为 ["brown", "jumps", "over"],生成样本 (fox→brown), (fox→jumps), (fox→over)


🔢 三、词向量生成的核心步骤(以样本 ("brown"→"fox") 为例)

1. One-Hot 编码
  • 词汇表:{"the":0, "quick":1, "brown":2, "fox":3, "jumps":4, "over":5, "lazy":6, "dog":7}
  • "brown" 的 One-Hot 输入向量:[0, 0, 1, 0, 0, 0, 0, 0](维度=8)
  • "fox" 的 One-Hot 输出向量:[0, 0, 0, 1, 0, 0, 0, 0](作为训练目标)。
2. 映射到隐藏层(生成词向量)
  • 假设词向量维度=3,隐藏层权重矩阵 W(8×3):

    向量维度1 维度2 维度3
    the 0.1 -0.2 0.3
    quick 0.4 0.6 -0.1
    brown 0.9 -0.5 0.2
    fox -0.3 0.8 0.4
  • 计算过程
    "brown" 的 One-Hot 向量 [0,0,1,0,...] × 矩阵 W → 取 W 的第2行(对应"brown")→ 词向量 [0.9, -0.5, 0.2]

3. 预测上下文词(输出层计算)
  • 使用输出矩阵 W'(3×8)计算 "fox" 的概率:
    • 隐藏层向量 h = [0.9, -0.5, 0.2]
    • 输出向量 z = h × W' → 8维向量(每个词对应一个分数)
    • 通过 Softmax 将分数转为概率:p(fox|brown) = e^{z_3} / Σ(e^{z_i})
  • 训练目标:最大化 p(fox|brown),通过反向传播更新 WW'

📊 四、训练后的词向量示例(最终结果)

假设训练收敛后,权重矩阵 W 更新为:

维度1 维度2 维度3
the 0.12 -0.08 0.05
quick 0.35 0.18 -0.12
brown 0.82 -0.43 0.21
fox -0.28 0.75 0.37
dog 0.15 -0.62 0.09

语义关系体现

  • "brown"(描述颜色)与 "quick"(描述速度)向量差异大 → 余弦相似度低。
  • "fox""dog"(同为动物)向量接近 → 余弦相似度高。

🔍 五、词向量应用:语义类比计算

  • 任务:完成类比 "man" → "king" : "woman" → ?
  • 词向量关系
    vec(?) ≈ vec(king) - vec(man) + vec(woman)
  • 计算过程
    ? = vec(king) - vec(man) + vec(woman) 
      = [0.8, -0.2, 0.5] - [0.3, 0.1, -0.4] + [-0.3, 0.5, 0.6] 
      = [0.2, 0.2, 1.5]
    
  • 匹配最接近的向量:假设 vec(queen)=[0.1, 0.3, 1.4] → 余弦相似度最高。

💎 总结:数据变化全流程

  1. 文本 → 分词:原始句子转为词语序列。
  2. 词语 → One-Hot:高维稀疏编码(维度=词表大小)。
  3. One-Hot → 词向量:通过矩阵乘法生成低维稠密向量(维度=100~300)。
  4. 词向量 → 语义关系:相似词向量距离近,支持类比计算。

此过程无需人工定义特征,完全通过上下文预测任务自动学习词的分布式表示,是 Word2Vec 的核心突破。


网站公告

今日签到

点亮在社区的每一天
去签到