适用场景 :快速复习、考点记忆、巩固训练
核心覆盖:分布式表示假设、CBOW/Skip-gram 区别、静态词向量缺陷、超参数影响
一、判断题(10题)
| 题号 | 题目 | 答案 | 核心解析(加粗为易错点) |
|---|---|---|---|
| 1 | 分布式表示假设的核心是"词的含义由自身拼写决定" | × | 核心是 词的含义由周围的词决定,与拼写无关 |
| 2 | CBOW 的训练逻辑是"中心词→上下文词",训练速度比 Skip-gram 慢 | × | CBOW 逻辑是 上下文→中心词,训练速度更快 |
| 3 | Skip-gram 更适合处理包含大量多义词的语料库 | √ | Skip-gram 不平均上下文向量,能捕捉多义词的语境差异 |
| 4 | Word2Vec 生成的静态词向量可以区分"苹果(水果)"和"苹果(手机)"的语义 | × | 静态词向量 一个词对应一个向量,无法区分多义词 |
| 5 | Word2Vec 的隐藏层没有激活函数,是一个线性映射层 | √ | 隐藏层线性映射才能保留词向量的语义关联性 |
| 6 | 增大 Word2Vec 的窗口大小一定会提升词向量的语义精度 | × | 窗口过大会引入 无关噪声,反而降低精度 |
| 7 | Word2Vec 预训练的词嵌入可以直接迁移到文本分类等下游任务,提升任务效果 | √ | 预训练词嵌入自带语义信息,避免从零训练,缓解过拟合 |
| 8 | One-Hot 编码的缺陷之一是词向量之间没有语义关联,内积为 0 | √ | One-Hot 向量稀疏,任意两词向量内积为 0,无语义关联 |
| 9 | Word2Vec 的输出层通常使用 Softmax 函数,将向量转换为词表概率分布 | √ | Softmax 用于输出词表概率,目标是让预测概率接近真实值 |
| 10 | 词向量的余弦相似度越高,代表两个词的语义差异越大 | × | 余弦相似度越接近 1,语义越相似;越接近-1,差异越大 |
二、单项选择题(10题)
| 题号 | 题目 | 答案 | 核心解析(加粗为关键考点) |
|---|---|---|---|
| 1 | 以下哪项不是 One-Hot 编码的缺陷? A. 维度爆炸 B. 无语义关联 C. 计算效率低 D. 支持语义推理 | D | 支持语义推理是 Word2Vec 的优点,One-Hot 完全不具备 |
| 2 | 针对"低频词占比高、数据集规模小"的场景,优先选择的 Word2Vec 范式是? A. Skip-gram B. CBOW C. 两者均可 D. 两者都不适合 | B | CBOW 对上下文向量平均,能减少低频词的样本噪声 |
| 3 | Word2Vec 训练时常用的损失函数是? A. 均方误差损失 B. 交叉熵损失 C. 绝对值损失 D. 铰链损失 | B | 交叉熵损失专门衡量 两个概率分布的差距,匹配 Word2Vec 训练目标 |
| 4 | 关于 Word2Vec 的窗口大小,以下说法正确的是? A. 窗口越大越好 B. 窗口越小越好 C. 窗口过大会引入无关噪声 D. 窗口大小不影响词向量质量 | C | 窗口大小需适中:过大引噪声,过小漏关键上下文 |
| 5 | 词向量计算 国王 - 男人 + 女人 = 女王 的现象,体现了 Word2Vec 的哪个特性? A. 静态词向量 B. 语义关联性 C. 维度爆炸 D. 依赖窗口大小 |
B | 向量运算对应语义逻辑,体现词向量的 语义关联性 |
| 6 | Word2Vec 的网络层级不包含以下哪一项? A. 输入层 B. 隐藏层 C. 池化层 D. 输出层 | C | 池化层是 CNN 的组件,Word2Vec 只有输入、隐藏、输出三层 |
| 7 | 以下哪项是 Word2Vec 的核心应用场景? A. 直接生成文本摘要 B. 为下游 NLP 任务提供预训练词嵌入 C. 替代 Transformer 架构 D. 处理图像分类任务 | B | 预训练词嵌入是 Word2Vec 最核心的用途,其他选项均不匹配 |
| 8 | 静态词向量的最大缺陷是? A. 训练速度慢 B. 无法处理多义词 C. 维度太低 D. 不支持余弦相似度计算 | B | 静态词向量的致命缺陷是 一词一向量,无法区分多义词语境 |
| 9 | 以下关于 Skip-gram 的说法,错误的是? A. 训练逻辑是中心词预测上下文 B. 对高频词的语义表示更精准 C. 训练速度比 CBOW 快 D. 适合大规模数据集 | C | Skip-gram 需预测多个上下文词,训练速度比 CBOW 慢 |
| 10 | 利用 Word2Vec 做同义词检索时,主要依据的是词向量的? A. 维度大小 B. 余弦相似度 C. 训练批次 D. 窗口大小 | B | 同义词检索的核心依据是 余弦相似度,值越高语义越相似 |
三、综合题(10题)
-
分布式表示假设的核心观点是什么?它解决了传统 One-Hot 编码的哪两个致命问题?
核心观点:一个词的含义,由它周围经常出现的词来决定 。简单说就是"看词的朋友圈,就知道这个词是什么意思"。
解决的One-Hot编码两大问题:
- 维度爆炸:One-Hot编码的向量维度等于词表大小,10万词的词表就需要10万维向量,又占内存又难计算;Word2Vec把词压缩成低维稠密向量(比如100维),计算效率大幅提升。
- 无语义关联:One-Hot向量之间的内积为0,模型完全不知道"苹果"和"香蕉"都是水果;Word2Vec生成的向量可以用距离衡量语义相似度,相似的词向量离得近。
-
CBOW 和 Skip-gram 的核心任务逻辑有什么本质区别?请用「输入→输出」的格式分别描述。
两者的本质区别就是训练任务的输入和输出反过来了,具体如下:
- CBOW:上下文词的向量 → 中心词的概率分布。比如用"我、爱、苹果"的向量,预测中间的中心词"吃"。
- Skip-gram:中心词的向量 → 上下文词的概率分布。比如用中心词"吃"的向量,预测周围的"我、爱、苹果"。
-
为什么 CBOW 的训练速度比 Skip-gram 更快?两者在适用数据集上有什么不同偏好?
CBOW训练更快的原因:CBOW是把多个上下文词的向量做平均后输入模型,只需要预测一个 中心词;而Skip-gram输入一个中心词,却要预测多个 上下文词,计算量自然更大。
数据集偏好差异:
- CBOW适合低频词多、规模小的数据集。低频词的上下文样本少,向量平均后能减少噪声,让模型学得更稳。
- Skip-gram适合高频词多、规模大的数据集。大数据集能支撑它的高计算量,同时它不会平均上下文,能学到高频词更精细的语义差异。
-
假设你要处理一个包含大量多义词(如"苹果""银行")的语料库,应该优先选择 CBOW 还是 Skip-gram?为什么?
优先选 Skip-gram 。
原因:多义词的核心问题是"不同语境有不同含义",比如"苹果"在"吃苹果"和"苹果手机"里的上下文完全不同。CBOW会把上下文词向量平均,会抹平这些语境差异;而Skip-gram需要精准预测每个上下文词,能捕捉到不同语境下的细节,从而让多义词在不同场景下的向量更贴近真实语义。
-
Word2Vec 生成的是静态词向量,这个特性带来的最大缺陷是什么?请举一个具体例子说明。
最大缺陷:一个词只有一个固定向量,无法区分多义词的不同含义 。
例子:"苹果"这个词,在句子"我爱吃苹果"和"我买了苹果手机"里的含义完全不同,但Word2Vec训练出的"苹果"向量只有一个。模型无法判断这个词在不同语境下指的是水果还是手机品牌。
-
Word2Vec 支持语义推理的经典案例是
国王 - 男人 + 女人 = 女王,这个现象背后的原理是什么?背后的核心原理是:Word2Vec的词向量空间中,词的语义关系可以用向量的加减法来量化 。
具体拆解:
- "国王 - 男人"的向量差值,代表了"皇室男性"和"普通男性"的语义差异;
- 再加上"女人"的向量,就相当于把这个差异叠加到"普通女性"上,最终得到的向量就和"女王"的向量非常接近。
简单说就是,词向量空间里的向量运算,对应了现实世界里的语义逻辑。
-
Word2Vec 的模型结构属于浅层神经网络,它的网络层级由哪三部分组成?训练时常用的损失函数是什么?
网络层级由输入层、隐藏层、输出层三部分组成:
- 输入层:输入词的One-Hot向量(或经过处理的词向量);
- 隐藏层:没有激活函数的线性层,核心作用是把高维输入映射成低维词嵌入;
- 输出层:Softmax层,输出词表中每个词的概率分布。
常用损失函数:交叉熵损失函数。作用是衡量模型预测的词概率分布,和真实的词概率分布之间的差距,训练目标就是让这个差距越来越小。
-
窗口大小是 Word2Vec 的关键超参数,窗口过大会给模型带来什么负面影响?窗口过小又会导致什么问题?
窗口大小指的是中心词周围要考虑的上下文词数量,过大过小都有问题:
- 窗口过大的负面影响:引入无关噪声。比如中心词是"吃",窗口太大可能会包含"今天、天气"这种和"吃"没关系的词,干扰模型对核心上下文的判断,导致词向量的语义精度下降。
- 窗口过小的问题:漏掉长距离的关键上下文。比如句子"我昨天买的苹果很好吃",如果窗口太小,模型处理"吃"的时候,就无法关联到"买"这个关键动作,导致词向量学不到完整的语义关联。
-
Word2Vec 最核心的应用场景是为下游 NLP 任务提供预训练词嵌入,这个做法能给下游任务带来什么好处?
主要有三个核心好处:
- 不用"从零学起":下游任务(比如文本分类、情感分析)不用随机初始化词向量,直接用Word2Vec预训练好的、带语义信息的向量,模型起点更高。
- 提升小数据集任务效果:很多下游任务的标注数据很少,从头训练容易过拟合;预训练词向量自带通用语义,能有效缓解过拟合,提升任务准确率。
- 减少训练时间:预训练词向量已经学好了词的基本语义,下游任务只需要微调即可,大幅节省训练算力和时间。
-
除了预训练词嵌入,Word2Vec 还能直接用于哪些实际场景?请至少列举 2 个,并说明对应的实现思路。
例子1:词相似度计算与同义词检索
实现思路:计算两个词向量的余弦相似度,相似度越高,说明两个词的语义越接近。比如搜索引擎里,用户输入"汽车",可以用这个方法找出"轿车""车辆""代步车"等近义词,补充到搜索结果里。
例子2:语义聚类与词汇分类
实现思路:把所有词的向量输入到聚类算法(比如K-Means)中,算法会自动把语义相似的词聚成一类。比如教育场景中,可以把"苹果、香蕉、橙子"聚成"水果类",把"老虎、狮子、大象"聚成"动物类",用于词汇教材的分类整理。
四、核心知识点总结(速记口诀)
- 分布假设:词的含义看"邻居",解决 One-Hot 两缺陷(维度爆炸+无语义)
- CBOW 与 Skip-gram:上下预测中心快,中心预测上下准
- 静态词向量:一词一向量,多义难区分;迁移下游好,语义推理强
- 超参数:窗口大小要适中,太大引噪小漏义
- 核心应用:预训练词嵌入,提升下游 NLP 任务效果