基于本文回答
0
评论

什么是词嵌入(Word Embedding)?

知识点图片

简单来说,词嵌入(Word Embedding) 是一种将文本中的词(Word) 转换成 数字向量(Vector) 的技术。它是自然语言处理(NLP)中最基础、最重要的概念之一。

为了让你更直观地理解,我们可以从“为什么要用它”、“它是什么”以及“它能做什么”三个方面来解释。


1. 为什么要用词嵌入?(解决什么问题)

计算机无法直接理解人类的语言(如“苹果”、“喜欢”),它只能处理数字。因此,我们需要把词变成数字。

传统方法的局限(独热编码 One-Hot Encoding):
在词嵌入出现之前,人们常用“独热编码”。假设字典里有10,000个词:

  • “苹果”可能是:[1, 0, 0, ..., 0]
  • “香蕉”可能是:[0, 1, 0, ..., 0]

这种方法有两个大问题:

  1. 无法表示词义关系: 在计算机看来,“苹果”和“香蕉”这两个向量完全没有关系(正交的),计算机不知道它们都是水果,也不知道它们很相似。
  2. 太浪费空间(稀疏性): 如果字典有10万个词,每个词的向量长度就是10万,且里面只有一个1,其余全是0。这会造成极大的计算浪费(维度灾难)。

2. 词嵌入是什么?(核心概念)

词嵌入通过神经网络训练,将每个词映射到一个低维(比如50到300维)、稠密(不再全是0)的实数向量空间中。

举个例子:
如果我们把词变成一个 3维 的向量(实际上通常是几百维):

  • 苹果 [0.85,0.22,0.15]\approx [0.85, 0.22, -0.15]
  • 香蕉 [0.81,0.25,0.12]\approx [0.81, 0.25, -0.12]
  • 汽车 [0.55,0.66,0.02]\approx [-0.55, 0.66, 0.02]

你会发现:

  • “苹果”和“香蕉”的数字非常接近(因为它们经常出现在相似的上下文中,比如“吃”、“买”、“甜”)。
  • “苹果”和“汽车”的数字这就差得很远。

核心思想:
“一个词的含义,由它周围的词决定。”(Distributional Hypothesis)。如果两个词经常出现在相同的上下文中,它们的向量就会在空间中靠得很近。


3. 词嵌入的神奇特性

词嵌入最著名的特性是它能捕捉语义关系,甚至可以进行数学运算

(1) 语义相似度

在向量空间中,意思相近的词,距离会很近。

  • Distance(猫, 狗) < Distance(猫, 桌子)

(2) 词的类比运算(最经典的例子)

词嵌入能够捕捉词语之间的逻辑关系。最著名的公式是:

King(国王)Man(男人)+Woman(女人)Queen(女王)King(国王) - Man(男人) + Woman(女人) \approx Queen(女王)

这在数学向量上是真的成立的!如果你把“国王”的向量减去“男人”的向量,再加上“女人”的向量,结果会落在“女王”的向量附近。这说明计算机“理解”了性别和皇室身份的概念。


4. 常见的词嵌入模型

词嵌入技术经历了几个发展阶段:

  1. Word2Vec (2013, Google):
    • 里程碑式的技术。通过预测上下文(比如根据“我爱吃__”预测“苹果”),训练出高效的词向量。
  2. GloVe (2014, Stanford):
    • 基于全局词频统计的方法,效果也很好。
  3. FastText (Facebook):
    • 引入了子词(Subword)概念,比如把 "apple" 拆成 "ap", "pp", "le"。这使得它能处理拼写错误或没见过的词。
  4. BERT / GPT (现代,上下文相关):
    • 这是目前的SOTA(最先进技术)。
    • 传统的 Word2Vec 有个缺陷:多义词只有一个向量。比如“Bank”,既可以是“银行”,也可以是“河岸”。
    • BERT 这类模型生成的嵌入是动态的。它会根据句子的不同,给同一个词生成不同的向量。

总结

词嵌入就是把人类语言翻译成计算机能理解的坐标系统。在这个坐标系里,意思相近的词住得近,意思相反的词住得远,甚至可以通过加减法来推导词与词之间的关系。它是现代人工智能理解语言的基石。

右滑查看面试常问