真实面经题目 · 原创解析

如何生成词向量?

生成词向量可以从共现统计、预测式训练和上下文化表示三条线回答。经典方法包括 one-hot、共现矩阵加 SVD、Word2Vec、GloVe、FastText,以及 BERT 这类上下文相关 embedding。

出现于:腾讯 · 算法

60 秒回答模板

词向量的目标是把词映射到低维稠密向量,让语义相近的词在空间中更接近。简单做法是 one-hot,但维度高且没有语义距离;统计方法可以构建词共现矩阵,再用 SVD 降维;预测式方法如 Word2Vec 用 CBOW 或 Skip-gram 通过上下文预测学习向量,负采样提升效率;GloVe 结合全局共现统计;FastText 引入子词,能处理未登录词;现在也常用 BERT 等模型输出上下文相关词向量。

考点 从稀疏到稠密
难度 算法岗真实面经题
回答目标 讲清方法、取舍和追问

深入解析

01

从表示目标讲起

词向量要解决 one-hot 稀疏、高维、无法表达相似度的问题。低维稠密向量可以让模型用距离、点积或余弦相似度衡量词语关系,并作为下游 NLP 模型输入。

02

统计共现方法

早期方法会统计词和上下文窗口的共现频次,构建共现矩阵,再用 PMI、PPMI 或 SVD 做降维。它利用全局语料统计,直观但矩阵大、更新成本高。

03

预测式训练方法

Word2Vec 用神经网络从局部上下文学习词向量。CBOW 用上下文预测中心词,Skip-gram 用中心词预测上下文;负采样和层次 softmax 用来降低大词表训练成本。

04

子词和全局信息

GloVe 把全局共现统计融入目标函数,FastText 把词拆成 n-gram 子词向量,能提升低频词和未登录词表现。面试时可以用它们说明不同方法处理稀疏和形态变化的能力。

05

上下文化向量

传统词向量通常一个词对应一个固定向量,无法区分多义词。BERT、GPT 等模型会根据句子上下文生成动态表示,同一个词在不同语境下可以有不同向量。

易错点

  • 不要只回答 Word2Vec,词向量还有统计方法、GloVe、FastText 和上下文化表示。
  • 不要说 one-hot 是好的词向量,它没有语义距离且维度很高。
  • 不要混淆 CBOW 和 Skip-gram 的预测方向。
  • 不要忽略 OOV 问题,FastText 和子词方法正是常见解决思路。

面试官追问

CBOW 和 Skip-gram 有什么区别?

CBOW 用上下文预测中心词,训练更快;Skip-gram 用中心词预测上下文,对低频词通常更友好,但训练成本更高。

负采样解决什么问题?

大词表 softmax 计算成本高。负采样把多分类问题转成若干正负样本二分类,大幅降低每次更新的计算量。

静态词向量和 BERT embedding 有什么区别?

静态词向量一个词通常只有一个表示,无法处理多义词;BERT embedding 根据上下文生成,同一词在不同句子中可以不同。