真实面经题目 · 原创解析
如何生成词向量?
生成词向量可以从共现统计、预测式训练和上下文化表示三条线回答。经典方法包括 one-hot、共现矩阵加 SVD、Word2Vec、GloVe、FastText,以及 BERT 这类上下文相关 embedding。
真实面经题目 · 原创解析
生成词向量可以从共现统计、预测式训练和上下文化表示三条线回答。经典方法包括 one-hot、共现矩阵加 SVD、Word2Vec、GloVe、FastText,以及 BERT 这类上下文相关 embedding。
词向量的目标是把词映射到低维稠密向量,让语义相近的词在空间中更接近。简单做法是 one-hot,但维度高且没有语义距离;统计方法可以构建词共现矩阵,再用 SVD 降维;预测式方法如 Word2Vec 用 CBOW 或 Skip-gram 通过上下文预测学习向量,负采样提升效率;GloVe 结合全局共现统计;FastText 引入子词,能处理未登录词;现在也常用 BERT 等模型输出上下文相关词向量。
词向量要解决 one-hot 稀疏、高维、无法表达相似度的问题。低维稠密向量可以让模型用距离、点积或余弦相似度衡量词语关系,并作为下游 NLP 模型输入。
早期方法会统计词和上下文窗口的共现频次,构建共现矩阵,再用 PMI、PPMI 或 SVD 做降维。它利用全局语料统计,直观但矩阵大、更新成本高。
Word2Vec 用神经网络从局部上下文学习词向量。CBOW 用上下文预测中心词,Skip-gram 用中心词预测上下文;负采样和层次 softmax 用来降低大词表训练成本。
GloVe 把全局共现统计融入目标函数,FastText 把词拆成 n-gram 子词向量,能提升低频词和未登录词表现。面试时可以用它们说明不同方法处理稀疏和形态变化的能力。
传统词向量通常一个词对应一个固定向量,无法区分多义词。BERT、GPT 等模型会根据句子上下文生成动态表示,同一个词在不同语境下可以有不同向量。
CBOW 用上下文预测中心词,训练更快;Skip-gram 用中心词预测上下文,对低频词通常更友好,但训练成本更高。
大词表 softmax 计算成本高。负采样把多分类问题转成若干正负样本二分类,大幅降低每次更新的计算量。
静态词向量一个词通常只有一个表示,无法处理多义词;BERT embedding 根据上下文生成,同一词在不同句子中可以不同。