Word2Vec 揭秘:如何让计算机“理解“词语?

一、核心思想:从"上下文"猜词义

语言学家有个发现:"看一个词的朋友,就知道它的意思"

语境 推断
"猫坐在垫子上" "垫子"≈ 某种平面物体
"咖啡洒在垫子上" "垫子"≈ 可吸水的东西

Word2Vec 把这个直觉变成数学:让模型通过"猜词游戏"学习词语的向量表示


二、两种玩法:CBOW vs Skip-gram

就像做填空题和造句题,Word2Vec 提供两种训练模式:

模式 A:CBOW(完形填空)

任务:用周围的词,猜中间的词

复制代码
上下文:[the, cat, on, the]  →  预测中心词:sits

模式 B:Skip-gram(一词造多句)

任务:用中间的词,猜周围的词(更常用,效果更好)

复制代码
中心词:sits  →  预测上下文:the, cat, on, the

三、神经网络长什么样?

结构出奇地简单------只有三层

复制代码
输入层(One-hot)    隐藏层(投影)      输出层(Softmax)
   50000 维  ──→     300 维      ──→    50000 维
  (词表大小)      (嵌入维度)       (预测概率分布)
         ↑___________________________|
                  这两个权重矩阵
                  就是我们要的词向量

关键设计 :隐藏层没有激活函数 ,纯线性变换。输入→隐藏的权重矩阵 WWW 的第 iii 行,就是第 iii 个词的向量。


四、训练技巧:如何让大词表跑得动?

原始 Softmax 要遍历整个词表(比如 5 万个词),计算量爆炸。Word2Vec 用两招解决:

1. 负采样(Negative Sampling)⭐

思路:把多分类变成二分类

  • 正样本:真实的上下文词对(sits, cat)→ 标签 1
  • 负样本:随机采样几个词组成假样本(sits, apple)→ 标签 0

效果:每次只更新 1 个正样本 + 5-20 个负样本,速度提升 1000 倍。

2. 高频词降采样

"the"、"a" 这类词出现太频繁,信息量少还干扰训练。按概率丢弃:

P(wi)=1−tf(wi)P(w_i) = 1 - \sqrt{\frac{t}{f(w_i)}}P(wi)=1−f(wi)t

频率越高,被丢弃概率越大。


五、训练完成后,发生了什么?

神奇现象:向量空间里的"语义几何"

python 复制代码
# 经典例子
vector("国王") - vector("男人") + vector("女人") ≈ vector("女王")

# 其他例子
巴黎 - 法国 + 意大利 ≈ 罗马
跑步 - 跑 + 跳 ≈ 跳跃

原理 :Word2Vec 把语义关系编码成了向量的方向。"性别"对应某个固定方向的偏移,"首都-国家"对应另一个方向。

相似度计算

余弦相似度找近义词:

复制代码
cos(向量A, 向量B) = 1  →  语义完全相同
cos(向量A, 向量B) = 0  →  完全无关
cos(向量A, 向量B) = -1 →  语义相反

六、Word2Vec 的局限与进化

问题 原因 后继方案
一词一义 "bank"(银行/河岸)共享同一个向量 ELMo:上下文相关向量
局部窗口 只能看到附近 5-10 个词 BERT:Transformer 全局注意力
无句法结构 不懂"猫追狗"和"狗追猫"的区别 GPT/BERT:深层语义理解

七、一句话总结

Word2Vec 用浅层神经网络 玩"猜词游戏",把词语共现统计 压缩成低维向量 ,让语义关系变成可计算的空间几何------这是现代 NLP 的奠基之作。


相关推荐
冷小鱼2 小时前
机器学习极简入门:从外卖预测到AI核心算法
人工智能·算法·机器学习
yinyan13142 小时前
一起学springAI系列一:使用多种聊天模型
java·人工智能·spring boot·后端·spring·springai
技术小甜甜2 小时前
[Python实战] 用 pathlib 彻底统一文件路径处理,比字符串拼接稳得多
开发语言·人工智能·python·ai·效率化
未来之窗软件服务2 小时前
二次训练中文 NLU小体积[AI人工智能(五十九)]—东方仙盟
人工智能·仙盟创梦ide·东方仙盟
landuochong2002 小时前
用 Telegram 远程控制你本地的 Claude Code
人工智能·架构·claudecode
Westward-sun.2 小时前
OpenCV图像透视变换:自动矫正倾斜的发票
人工智能·opencv·计算机视觉
霍格沃兹测试学院-小舟畅学2 小时前
LangChain + DeepSeek 实战拆解:从 LCEL 到智能体,如何真正“做出”一个可控 AI 系统?
java·人工智能·langchain
新缸中之脑2 小时前
TADA:零幻觉 TTS 模型
人工智能·语音识别
智算菩萨2 小时前
通往AGI之路:基于性能与通用性的等级划分框架深度解析
论文阅读·人工智能·深度学习·ai·agi