Word2Vec 是自然语言处理(NLP)史上一个里程碑式的模型,由 Google 的 Tomas Mikolov 团队在 2013 年提出。它的核心贡献是:让计算机学会了通过“上下文”来理解单词的含义,并将其转化为高维稠密向量。

之所以称它为“静态”词向量,是因为在 Word2Vec 中,一个单词对应唯一的向量。无论这个词出现在什么语境下(比如“苹果”是指水果还是公司),它的数学表示都是固定不变的。


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

Word2Vec 基于一个著名的语言学假说:“一个词的含义是由它周围的词决定的。”

  • 例子
    • “我今天吃了一个红色的苹果。”
    • “这个甜甜的苹果很好吃。”
  • 因为“苹果”经常和“吃”、“红色”、“甜”出现在一起,模型通过大量文本训练后,就会把“苹果”的坐标移动到靠近“吃”和“甜”的位置。

2. 两种训练模式

Word2Vec 主要有两种实现方式,像是一枚硬币的两面:

模式 全称 逻辑 适用场景
CBOW Continuous Bag of Words 通过周围的词来预测中间的词 适合小型数据集,训练速度快。
Skip-gram Continuous Skip-gram 通过中间的词来预测周围的词 效果更好,尤其对低频词(冷门词)更准确。

3. Word2Vec 的神奇特性:向量运算

Word2Vec 最著名的发现是词向量之间存在线性平移关系。这意味着语义逻辑可以转化为加减法:

  • 性别关系Vector("King")−Vector("Man")+Vector("Woman")≈Vector("Queen")Vector("King") - Vector("Man") + Vector("Woman") \approx Vector("Queen")Vector("King")Vector("Man")+Vector("Woman")Vector("Queen")
  • 时态关系Vector("Walking")−Vector("Walk")+Vector("Swimming")≈Vector("Swim")Vector("Walking") - Vector("Walk") + Vector("Swimming") \approx Vector("Swim")Vector("Walking")Vector("Walk")+Vector("Swimming")Vector("Swim")
  • 首都关系Vector("Beijing")−Vector("China")+Vector("Paris")≈Vector("France")Vector("Beijing") - Vector("China") + Vector("Paris") \approx Vector("France")Vector("Beijing")Vector("China")+Vector("Paris")Vector("France")

4. 为什么叫它“静态”词向量?(对比现代模型)

这是理解 Word2Vec 局限性的关键。

  • 静态(Word2Vec / GloVe)

    在词典里,“苹果”只有一个向量。

    • 问题:无法处理多义词。在“苹果手机”和“红富士苹果”里,两者的向量完全一样。
  • 动态(BERT / GPT)

    模型会根据句子上下文,实时计算出不同的向量。

    • 优势:同一个词在不同语境下的坐标是浮动的。

5. 总结:它的历史地位

虽然现在的 LLM(如 GPT-4)使用的是更高级的 Transformer 架构,但 Word2Vec 奠定了以下基础:

  1. Embedding 层:几乎所有深度学习 NLP 模型的第一层都是 Embedding。
  2. 空间语义:确立了“语义相似度 = 向量空间距离”的行业标准。
  3. 预训练思想:先在海量文本上练好词向量,再用到具体任务中。

Logo

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

更多推荐