一、词向量是什么?

        词向量是一种将离散的单词映射到 连续向量空间 的分布式表示。
        每个单词由一个 d 维实数向量 表示(通常 d=50~300)。
        向量空间的结构隐含了单词之间的语义和语法关系。

        通俗来说词向量就是:

        想象你有一张巨大的地图。每个单词是一个城市。
        语义相似的词(猫、狗)在地图上距离很近;
        语法关系(男人→女人,国王→王后)则表现为相同的“方向箭头”。
        词向量就是这个城市在语义地图上的经纬度坐标。

二、核心思想:一个孩子的学习方式

想象一个孩子学语言:
他反复听到“猫”出现在“毛茸茸的”“抓老鼠”“可爱”这些词附近;
听到“狗”出现在“摇尾巴”“看家”“忠诚”附近。
久而久之,他会发现“猫”和“狗”都是宠物,虽然不同,但常出现在相似的语境中

词向量学习的本质

让模型在海量文本中,把那些上下文环境相似的单词,在向量空间中也放到相近的位置。

这叫 分布式假说
“A word is characterized by the company it keeps.”

三、主流模型对比

模型 年份 核心做法(用人话说) 优点 缺点
Word2Vec 2013 看邻居猜中心词(CBOW)或 看中心词猜邻居(Skip‑gram) 训练快;能玩“国王-男人+女人=王后” 一个词只有一个向量,无法区分“苹果(水果)”和“苹果(手机)”
GloVe 2014 统计所有词一起出现的次数,用矩阵分解学习 全局信息用得好,训练稳定 同样无法解决多义词
FastText 2016 把单词拆成“小碎片”(如"apple"拆成"app","ppl","ple"...) 能推测没见过的词(比如拼错或新词) 向量维度更大,训练稍慢
ELMo 2018 读完整句话后,根据上下文现场生成词的向量 一词多义 自动解决(比如“苹果”在水果和公司句子里向量不同) 基于LSTM,不如Transformer强
BERT / GPT 2018+ 用深层Transformer,每个词都看左右上下文 动态、强大,当前NLP的基石 模型大,计算贵,但已经成标配了

四、最神奇的魔法:词向量的代数运算

        Word2Vec 最著名的例子:

                        

用地图比喻理解

  • 从“国王”走到“男人”的方向,是“去掉王冠”;

  • 再从“男人”走向“女人”,是“改变性别”;

  • 最后得到的位置,恰恰就在“王后”旁边。

专业解释
向量空间学习到了“性别”这个语义轴。
所有代表男性的词和代表女性的词,之间都有相似的平移向量。

类似的关系还有:

  • 巴黎 − 法国 + 意大利 ≈ 罗马(国家‑首都关系)

  • 更好 − 好 + 最好 ≈ 最佳(比较级‑最高级)

五、静态 vs 动态:两个时代的差别

静态词向量 (Word2Vec, GloVe, FastText)

  • 每个词只有一个固定的向量,像贴在词上的“身份证号”。

  • 优点:轻量,适合小项目、快速原型。

  • 缺点:遇到“苹果”这种多义词就傻了。

动态词向量 (BERT, GPT)

  • 每个词的向量是根据它所在的那一句话实时计算的。

  • 就像给每个词定制一套衣服,同一个人(词)在不同场合(上下文)穿不同衣服。

  • 优点:彻底解决多义词,准确率高。

  • 缺点:需要大模型、GPU,推理较慢。

目前工业界 90% 的高端应用 都用动态词向量,但静态词向量仍在教学、小型系统、低资源场景中广泛使用。

六、实战小例子

  假设你用 Word2Vec 训练了 100 维的词向量。
  你得到类似这样的结果(只列出前 3 维):

猫    = [0.12, -0.34, 0.56, ...]
狗    = [0.11, -0.33, 0.57, ...]   # 与猫非常接近
鱼    = [0.78,  0.21, -0.19, ...]   # 和猫/狗较远
骨头  = [0.79,  0.22, -0.20, ...]   # 和鱼接近(因为都常跟在“吃”后面)
吃    = [0.45,  0.10,  0.88, ...]

  验证相似度
  cos_sim(猫, 狗) 接近 0.98,而 cos_sim(猫, 鱼) 只有 0.32。

  验证类比
  v_猫 - v_宠物 + v_狗 会得到一个和 v_犬 非常接近的向量。

七、总结

词向量就是把单词变成坐标,让语义相近的词在地图上挨着,语法关系变成相同的移动方向。
静态词向量适合入门,动态词向量是现在的主流,但核心思想都一样:相似上下文 → 相近向量

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐