公司要招聘一名“语言理解专员”——这个职位不是人,而是 AI 模型里的词向量。HR 老张收到的简历上,每位候选人都写着“精通语义理解”,但他知道,光看简历无从判断谁真的靠谱。于是老张设计了两套考核:笔试,直接考候选人的词汇知识和逻辑推理,不问出身;试用期,把候选人扔进真实业务里,看文本分类、信息抽取这些实际任务能不能扛下来。在 NLP 世界,这两套考核正是词向量评估的两大流派——内在评估与外在评估。内在评估用词相似度、词类比直接“考”向量本身;外在评估则把向量送进下游任务看“实战表现”。这篇文章将带你从头到尾走一遍老张的招聘流程,搞懂两种评估方式如何运作、各有什么优劣势,以及实践中如何组合使用,让你在模型选型时不再拍脑袋。
掌握内在与外在双轨评估法,你就能像资深 HR 一样快速识别词向量的真实水平,为 NLP 项目选型提供科学依据,少走弯路。
可视化演示
展示递归函数factorial(5)的调用栈 push/pop 过程,包括递进调用、基线条件和回归展开三个阶段的动态演示。
本节配有交互动效(进入视口后自动加载,约 3KB)。
递归调用阶段 紫色为等待返回的栈帧 红色为基线条件帧 绿色为已完成计算的帧 f(n)=n*f(n-1) 递归通过调用栈逐层压入,到达基线后逐层弹出并计算返回值。
认识评估标尺
招聘专员老张第一天上岗,面前堆着厚厚一摞候选人简历。他明白,招人不能凭眼缘,得先有一套统一的标尺:没尺子,既没法横向比较候选人,也没法复盘自己是不是看走了眼。词向量评估的道理一模一样——模型训练完,总不能凭“感觉它挺聪明”就上线,必须用标准化的测量方法回答三个问题:向量到底编码了语义没有?比别的候选向量好在哪里?换到真实任务里还行不行?
按照考核方式的不同,评估被分成内在评估与外在评估两大类。内在评估直接对向量做“体检”,用词相似度、词类比这类任务当场打分,不经过任何下游模型,相当于笔试直接考候选人本人。外在评估则把向量接进文本分类、命名实体识别等真实下游任务,用任务表现间接反映向量质量,相当于试用期看实际产出。
两条路线共享同一个底层工具:余弦相似度。在向量空间里,每个词是一根从原点射出的箭,两个词的语义距离可以用箭与箭之间的夹角衡量,夹角越小越相似。几乎所有内在评估的打分,都建立在这把“量角器”之上。
有了这把量角器,老张的笔试正式开工。他设计了第一道题:“词汇亲近度问答”,测测候选人对词与词之间关系的感知——这正是下一节的词相似度任务。
- 分子点积把两个向量逐维相乘再求和,得到方向一致性的原始度量。
- 分母范数分别求两个向量的 L2 长度,用于归一化。
- 合并为余弦点积除以长度乘积,得到夹角余弦值,范围落在 [-1, 1]。
内在评估逻辑
笔试的第一步是确定“考什么、怎么判”。老张没有去查候选人上过哪所名校(对应词向量来自哪个知名模型),而是把候选人本人请进考场:给你一对词,凭直觉说说它们亲不亲近。判卷标准也不是老张自己拍脑袋,而是参考专家组事先给出的标准答案——谁能答得更贴近专家共识,谁就得分高。
技术对应:内在评估直接在词向量上构造测试集,测试集由人工标注的金标准构成。机器用余弦相似度等公式给每个词对打一个预测分,然后用统计相关性把“机器打分序列”与“人类打分序列”对齐比较:两者越同步,说明向量内部蕴含的语义与人类认知越吻合,向量质量越高。
常用的相关性指标有两个:皮尔森相关假设线性关系、适合数值分布较规整的数据;斯皮尔曼等级相关只关心排序,更稳健。选择哪一个,取决于你对“打分尺度公平性”的假设。无论选哪个,内在评估都有一个共同特征:它测的是词向量对语义关系的直接编码能力,一旦向量被接进复杂模型,内在高分并不能保证下游表现随之优秀。
老张在批改记录上写下一行备注:笔试的优点立竿见影——便宜、标准、当场出结果;但它的视野只停留在“知识存量”,考得好不等于能干活。带着这份谨慎,他继续出题。
- 分子协方差对每对打分减去各自均值后相乘求和,体现同步升降。
- 分母波动乘积两个标准差相乘作为归一化因子。
- 合成系数协方差除以波动乘积,得到无量纲的线性相关性。
词相似度任务
第一道笔试题是“词汇亲近度问答”。老张给出几组词对:(猫,狗)、(国王,女王)、(猫,汽车),请候选人分别打一个 0 到 10 的亲近分。专家组事先给好了参考分:猫和狗 8 分,国王和女王 5 分,猫和汽车 1 分。阅卷时,老张并不要求分数完全相等,而是看排序是否一致——毕竟有的人下手松、有的人手下紧,但“猫狗亲近、猫车疏远”的相对感觉应该一致。
技术对应:这就是词相似度评估(word similarity)。标准流程分三步:选一个公开数据集(如 WordSim-353、SimLex-999),其中每个词对都带有人工评分的金标准;用余弦相似度计算每个词对在向量空间中的相似度,得到机器分;用斯皮尔曼等级相关计算机器分与人工分的排序一致性,作为最终得分。
斯皮尔曼相关把两组分数各自转成排名,再对排名做皮尔森相关。它不要求打分分布近似正态,也不在乎分数的绝对尺度,只看相对顺序——恰好契合“亲近分”这种主观打分场景,因此成为词相似度任务最常用的指标。需要记住:这里评估的不是某个词对单独答得对不对,而是整组词对的排序跟人类的排序像不像。
老张快速扫完亲近度答卷,一批“对语义关系毫无感觉”的候选人当场出局。但他心里明白,光测亲近感还不够——语言能力还包括逻辑推理。于是,第二道题“关系类比推理”紧接着下发。
- 排名转换将两组打分各自转为名次,得到 rank(p) 与 rank(g)。
- 名次差平方和全部名次差平方后求和,放大偏差。
- 归一项除以 n(n²-1) 并乘 6,把结果压缩到标准区间。
- 补全相关用 1 减去该值,得到排名一致性指标。
词类比任务
第二道笔试是逻辑推理:“国王之于男人,就像女王之于____?”候选人不需要背答案,而要抓住“国王→男人”背后隐藏的关系——去除男性性别、保留王室身份——再把这层关系迁移到“女王”身上。真正懂语言的人(和向量)应该能推出:空处是“女人”。
技术对应:这就是词类比评估(word analogy),最经典的例子是 king - man + woman ≈ queen。它检验词向量的“算术性质”:如果向量空间正确编码了语义,那么同类关系对应的向量差应当大致相等。具体流程是:对测试集中的每个类比问题,用向量加减构造预测向量,再在词表中找与预测向量余弦相似度最高的词,命中目标词即为答对。
常用数据集包括 Google Analogy(分语义类比与语法类比两大类)和 BATS(更细粒度)。最终指标是命中率(accuracy):命中次数除以总题数。评测要警惕两类陷阱:一是候选词表里恰好只有目标词“沾边”,命中纯属侥幸;二是高频词天然容易被选中,导致评估虚高。因此报告命中率时通常要说明词表与过滤策略。
两道笔试下来,老张对候选人的内在功底有了清晰画像。可他还留着一丝疑虑:笔试高分的人,到了真实岗位能扛住业务吗?有没有“高分低能”的风险?他决定,把通过笔试的候选人全部送进试用期——用真实任务见真章。
- 关系方向提取国王向量减男人向量,得到“去除男性特征”的语义方向。
- 关系迁移把这个方向加到“女人”向量上,得到预测位置。
- 约等目标期望预测位置落在“女王”附近。
- 最近邻判定在词表中搜索与预测向量余弦最接近的词作为答案。
- 命中率汇总命中目标词记 1,除以总题数得到最终指标。
外在评估方法
试用期没有试卷,只有任务。老张把候选人安排到客服中心:把顾客留言自动归入投诉、咨询、退款等类别;再派到法务部:从合同里抽取公司名、日期、金额等关键实体。这些活儿干得好不好,直接决定候选人能否转正——毕竟公司真正要的不是考试机器,而是生产力。
技术对应:外在评估(extrinsic evaluation)把词向量作为下游 NLP 模型的输入特征,通过下游任务性能间接衡量词向量质量。常见任务包括文本分类、情感分析、命名实体识别(NER)、文本相似度、机器翻译等。流程是:固定词向量(或允许微调),训练下游模型,在标准测试集上报告准确率、F1、AUC 等指标。
外在评估是典型的“黑盒验收”:它不关心向量内部长什么样,只关心最终任务指标。优点显而易见——信息量最大、贴近真实场景、业务方买账;缺点同样突出——每个任务都要训练模型,时间和算力成本高;结果高度依赖任务与模型结构;一旦指标不理想,很难分辨是词向量的锅还是下游模型的锅。
试用期结束,老张发现一个反直觉的事实:有位笔试成绩平平的候选人,试用期却异常能干;反之也有人笔试惊艳、上手就垮。他陷入沉思:笔试和试用期,到底哪个更能代表真实水平?深夜复盘时,他画出了一张对照表。
- 指示函数预测标签等于真实标签时计 1,否则计 0。
- 正确数求和把全部测试样本的正确判定累加。
- 归一化比例除以样本总数,得到 0 到 1 的正确率。
- F1 扩展类别不平衡时,用精确率与召回率的调和平均替代。
优缺点对照
老张把两种考核的利弊摊在桌面上,像摆开一张体检报告。笔试的优点一条条列出来:标准化出题、成本几乎为零、当场出分、可以精确复现——某个候选人到底输在词汇量还是逻辑上,看单项得分一目了然。但笔试的雷区也在:标准答案来自“一般场景”,一旦岗位特殊,笔试高分可能毫无意义——高分低能屡见不鲜。
技术对应:内在评估的优势集中在“快、省、透”——在预训练向量上几分钟即可完成,无需训练任何下游模型,还能精确定位语义缺陷的类型。局限是它测的是“静态语义编码”,与下游任务表现的相关系数并不总是很高:一个在相似度上接近满分的向量,在文本分类上可能表现平平。
外在评估则走另一极端:只看真实任务表现,信息量最大、最有说服力。但代价是:每换一个任务就要训练一套下游模型;结果依赖任务选择和模型结构;反馈链路长,出了问题难以归因。学术界实证发现,内在分数与外在表现的相关系数通常中等偏弱——这正是“笔试”与“试用期”之间的鸿沟。
老张在对照表末尾写了一行字:笔试管海选,试用管终选,两者不是替代关系,而是上下游关系。他决定把两套方法组装成一条流水线——这正是最后一节要讲的组合评估实践。
- 两组数据来源同一批词向量的内在得分与外在准确率。
- 相关计算求两组数据的皮尔森相关,衡量同步程度。
- 解读分界接近 1 表示内外一致,明显偏低说明两者脱节。
组合评估实践
老张打磨出一套标准的招聘 SOP:第一轮笔试海选,把明显不合格的候选人快速筛掉,成本低、速度快;第二轮试用期终选,对通过笔试的少数候选人做真实任务检验。岗位不同,权重也灵活调整——招语义词典编纂员,笔试比重上调;招一线客服,试用期表现才是硬通货。
技术对应:工程实践中的组合评估遵循同样的“漏斗逻辑”。第一步,用内在评估(词相似度 + 词类比)在多个候选词向量上快速筛查,剔除语义质量明显不达标的选项——这一步几乎没有计算成本。第二步,对通过筛查的少数候选向量,在下游任务上做端到端对比,用真实指标做最终决策。筛选比例和权重可以根据预算灵活设置。
几个实践要点值得记住:测试集必须与目标领域匹配——金融语料训出的向量,拿医疗领域词对评估就失去了意义;类比任务的词表要过滤掉目标词与高频干扰词;外在对比时要固定下游模型结构,保证控制变量;最终结论最好看多任务平均,而不是被单一指标绑架。科学选型的本质,是把“我觉得行”变成“数据显示行”。
如今的老张,再也不会为“哪个词向量更好”失眠。每份评估报告都清楚地写着笔试成绩、试用期表现和综合结论。词向量评估的终极意义就在这里:让模型选型从玄学变成科学——这正是每一位 NLP 工程师都该练就的基本功。
- 归一化把不同量纲的分数压到 0 到 1。
- 权重约束两路信号的权重之和为 1。
- 加权融合按权重合成最终评分。
- 选型决策比较所有候选向量,取综合分最高者。
AI 应用场景
预训练词向量选型(模型库对比筛查)
阶段:模型选型与评估
解决的问题:NLP 工程师手里有多个预训练词向量(Word2Vec、GloVe、fastText 的多个版本),每个都号称“擅长语义理解”。逐一下游训练对比既慢又贵。借鉴“笔试海选”的思路:先用词相似度与词类比内在测试快速筛查,把语义质量垫底的向量直接淘汰,只对幸存者做下游验证,把两周的选型工时压缩到三天。
具体案例:某金融舆情团队的候选词向量在公开相似度集上相关性相近,但金融领域词对(“涨停—上涨”)的内在测试拉开差距;结合新闻分类任务的最终对比,团队用两份报告完成了选型。
词向量更新回归测试(模型监控)
阶段:模型迭代与质量保障
解决的问题:词向量重训后不能确定质量是否回退,全量下游回归成本高。把词相似度与类比任务做成自动化测试套件,在 CI 流水线里每次更新后跑一遍,相关性跌破阈值自动阻断上线,还能定位退化类型是词汇覆盖不足还是关系推理变弱。
具体案例:推荐系统团队每月重训用户画像词向量,自动运行 SimLex-999 相关性与语法类比集测试,某次迭代类比命中率从 71% 跌到 62%,CI 拦截后定位到负采样参数改动,回滚后恢复。
研究论文全面评估(对比实验)
阶段:研究实验与评测
解决的问题:提出新词向量方法的论文需要在统一标准下公平对比。先内在后外在的组合报告既能展示“向量本身语义质量”,又能展示“实际任务可迁移性”,结论更有说服力。
具体案例:一篇关于增强领域词向量的论文,用 5 个内在数据集 + 3 个下游任务(情感分析、NER、句子相似度)交叉验证,实验表格同时报告 Spearman 相关与 F1,审稿人认可度明显提升。
Python 演示
# -*- coding: utf-8 -*-"""Word vector evaluation demo: intrinsic + extrinsic tasks"""import math # 手工构造 6 个玩具词向量, 模拟训练好的词向量VEC = { "king": [0.90, 0.80, 0.10, 0.20], "man": [0.50, 0.20, 0.10, 0.80], "woman": [0.50, 0.30, 0.90, 0.10], "queen": [0.90, 0.70, 0.80, 0.20], "cat": [0.20, 0.10, 0.80, 0.90], "dog": [0.30, 0.20, 0.70, 0.80],} def dot(a, b): return sum(x * y for x, y in zip(a, b)) def norm(v): return math.sqrt(dot(v, v)) def cos_sim(a, b): da, db = norm(a), norm(b) return dot(a, b) / (da * db) if da and db else 0.0 def vec_add(a, b): return [a[i] + b[i] for i in range(len(a))] def vec_sub(a, b): return [a[i] - b[i] for i in range(len(a))] def rank(vals): order = sorted(range(len(vals)), key=lambda i: vals[i]) r = [0] * len(vals) for pos, idx in enumerate(order): r[idx] = pos + 1 return r def spearman(xs, ys): rx, ry = rank(xs), rank(ys) n = len(xs) mx, my = sum(rx) / n, sum(ry) / n num = sum((rx[i] - mx) * (ry[i] - my) for i in range(n)) den = math.sqrt(sum((rx[i] - mx) ** 2 for i in range(n)) * sum((ry[i] - my) ** 2 for i in range(n))) return num / den if den else 0.0 def nearest(query, vocab, exclude): best_w, best_s = None, -1.0 for w, v in vocab.items(): if w in exclude: continue s = cos_sim(query, v) if s > best_s: best_w, best_s = w, s return best_w def eval_similarity(): pairs = [("cat", "dog"), ("king", "queen"), ("man", "woman"), ("cat", "king")] gold = [8.0, 5.0, 7.0, 1.0] pred = [cos_sim(VEC[a], VEC[b]) for a, b in pairs] rho = spearman(gold, pred) print("[词相似度] 预测分:", [round(p, 3) for p in pred]) print("[词相似度] 与人工打分斯皮尔曼相关: %.3f" % rho) return rho def eval_analogy(): query = vec_add(vec_sub(VEC["king"], VEC["man"]), VEC["woman"]) hit = nearest(query, VEC, {"king", "man", "woman"}) print("[词类比] 预测:", hit, "期望: queen", "命中" if hit == "queen" else "未命中") return hit == "queen" def eval_downstream(): train = {"king": "royal", "cat": "pet", "man": "human"} test = {"queen": "royal", "dog": "pet", "woman": "human"} centroids = {} counts = {} for w, label in train.items(): if label not in centroids: centroids[label] = [0.0] * len(VEC[w]) counts[label] = 0 for i in range(len(VEC[w])): centroids[label][i] += VEC[w][i] counts[label] += 1 for label in centroids: for i in range(len(centroids[label])): centroids[label][i] /= counts[label] correct = 0 for w, label in test.items(): guess = min(centroids, key=lambda k: -cos_sim(VEC[w], centroids[k])) correct += (guess == label) acc = correct / len(test) print("[外在评估] 三分类准确率: %.3f" % acc) return acc def main(): print("=== 词向量双轨评估演示 ===") eval_similarity() eval_analogy() eval_downstream() if __name__ == "__main__": main()
VEC = {...}手工构造玩具词向量,模拟训练好的向量,省去真实语料训练的开销return dot(a, b) / (da * db) if da and db else 0.0余弦相似度,即“量角器”,衡量两个向量方向的接近程度pred = [cos_sim(VEC[a], VEC[b]) for a, b in pairs]用余弦相似度给每对词打“亲近分”,得到机器打分序列rho = spearman(gold, pred)把机器打分与人工金标准做斯皮尔曼相关,检验排序一致性query = vec_add(vec_sub(VEC["king"], VEC["man"]), VEC["woman"])词类比的核心向量算术,把“国王—男人”方向迁移到“女人”上hit = nearest(query, VEC, {"king", "man", "woman"})在词表中找与预测向量最接近的词,命中目标词即答对centroids[label] = [0.0] * len(VEC[w])为每个下游类别初始化质心,模拟训练下游模型的参数guess = min(centroids, key=lambda k: -cos_sim(VEC[w], centroids[k]))最近质心分类:把测试词分给向量距离最近的类别acc = correct / len(test)计算下游任务准确率,作为外在评估的最终指标
常见误区
误区词向量在词相似度上拿了高分,我就大胆上线了,结果下游文本分类效果很差。我觉得内在分数是“硬指标”,分数高应该万事大吉。
正解内在评估测的是“静态语义编码”,与下游表现的相关系数通常中等偏弱。下游任务还受模型结构、训练数据、任务类型影响——就像笔试满分的候选人,试用期可能完全不能干活。内在评估适合当“筛子”,不适合当“定论”。
为何常见:因为内在评估直观、便宜,人天然倾向于把“分数高”等同于“能力强”,忽略了它只覆盖了语义质量的一个侧面。
误区词相似度任务很简单,把词对的向量余弦算出来,分数高就说明向量质量好,不用管别的。
正解评估的关键不是机器分本身有多高,而是机器分的排序与人工金标准排序有多一致。就像笔试题目本身不是答案,与标准答案的吻合度才是评分依据。一个向量的余弦分整体偏高但排序混乱,相关分照样很低。
为何常见:因为余弦相似度是显眼的“主角”,容易让人忽略“一致性比对”才是评估的灵魂。
误区我把 Word2Vec 算出的“猫—狗”余弦 0.9,和另一个模型的 0.7 直接比较,认为前者语义质量更高。
正解不同模型的向量空间分布、维度、训练数据都不同,余弦绝对值没有可比性。就像不同考试的满分不同,不能拿笔试总分直接比。评估应限定在同分布内部,先归一化或只用排序相关。
为何常见:因为数值直观、拿来即用,大家容易忽略“分布漂移”对绝对数值的污染。
误区词类比命中率接近满分,我觉得这个向量已经完美了,连调都不用调。
正解部分命中可能是“词表里本就没几个候选词”或“高频词天然占优”造成的巧合,而不是真正的语义推理能力。评估时要过滤目标词与高频干扰词,并结合多任务交叉验证,就像候选人碰巧考前押中题,不代表真实水平。
为何常见:因为命中率结果漂亮,人很容易被“高数字”说服,而忽略评估条件是否公平。
误区下游任务我都用准确率来比,哪个准确率高就选哪个词向量,简单省事。
正解类别不平衡时准确率会虚高(比如 99% 都判成多数类)。正确做法是结合 F1、AUC 等多指标,并在同类任务上取平均,同时固定下游模型结构保证控制变量。就像销售额高不代表利润高,要看多维财务指标。
为何常见:准确率是最“出镜率”高的指标,工程师容易图省事只看单一数字。
面试题
Q1. 下列哪些属于内在评估任务?
- A.词相似度评估任务← 正确答案
- B.词类比推理评估任务← 正确答案
- C.文本分类评估任务
- D.命名实体识别评估
答案:AB。内在评估直接考词向量本身的语义编码能力,词相似度(问“两词多亲近”)与词类比(问“关系推理”)都只依赖向量本身,属于“笔试”范畴。文本分类、NER 需要训练下游模型才能完成,属于外在评估的“试用期”任务。
Q2. king - man + woman ≈ queen 用于评估词向量的哪项能力?
- A.词相似度编码能力
- B.语义关系的迁移推理能力← 正确答案
- C.文本分类泛化能力
- D.实体识别的标注能力
答案:B。该式子用向量加减把“国王→男人”的关系迁移到“女人”上,考查词向量能否捕捉并泛化语义关系,属于词类比任务。词相似度只问两词的亲近程度,不需要关系迁移;文本分类、实体识别属于下游外在任务。
Q3. 词相似度任务中,衡量机器打分与人类打分一致性的常用指标是?
- A.分类模型准确率
- B.斯皮尔曼等级相关系数← 正确答案
- C.交叉熵损失数值
- D.语言模型困惑度
答案:B。词相似度评估的核心是“机器打分与人工金标准的排序一致性”,斯皮尔曼相关只看排名,正好匹配主观打分的场景。准确率、交叉熵、困惑度都是其他任务的指标,不属于相似度评估。
Q4. 余弦相似度的取值范围是?
- A.取值在零到一之间
- B.取值在负一到一之间← 正确答案
- C.取值为非负的实数
- D.取值范围无任何界限
答案:B。向量的夹角余弦在 -1 到 1 之间:完全同向为 1,完全反向为 -1,正交为 0。它是内在评估最常用的“量角器”,归一化的特性让它不受向量长度变化的影响。
Q5. 下列哪些属于外在评估的常见下游任务?
- A.文本分类任务← 正确答案
- B.词类比任务
- C.命名实体识别任务← 正确答案
- D.词相似度任务
答案:AC。外在评估把词向量送进下游模型,靠任务性能间接反映向量质量。文本分类、命名实体识别都需要训练下游模型,属于“试用期考核”;词相似度与词类比直接考向量本身,是内在评估。
Q6. 与外在评估相比,内在评估的明显优势是?
- A.与实际业务结果完全一致
- B.成本低速度快且易于定位问题← 正确答案
- C.完全不受词表因素的影响
- D.无需任何人工标注数据
答案:B。内在评估直接在向量上打分,无需训练下游模型,几分钟出结果,还能通过细分任务定位是相似度不足还是类比推理失败。外在评估真实但昂贵,且难以归因;内在评估也依赖人工金标准数据,并非“无标注”。
Q7. 词相似度评估中优先选用斯皮尔曼相关而非皮尔森相关,主要原因是?
- A.计算速度要比皮尔森快很多
- B.只看排名容忍非线性关系的偏差← 正确答案
- C.不需要任何人工标注的分数
- D.只能处理二分类的标签数据
答案:B。人工打分的尺度因人而异,有人手松有人手紧,但相对排序稳定。斯皮尔曼先把分数转排名再算相关,只关心顺序,不要求线性与正态,因而更稳健。它并未去掉人工标注,也不是为二分类设计的。
Q8. 关于内在评估与外在评估的关系,下列说法正确的有?
- A.内在得分高则下游任务一定表现好
- B.两种评估的结论可能并不一致← 正确答案
- C.实践上宜先内在筛查再外在验证← 正确答案
- D.外在评估成本一定低于内在评估
答案:BC。实证表明内在分数与下游表现的相关系数通常中等偏弱,二者结论可能脱节——所以实践中用内在评估快速海选、外在评估终选,组合使用。A 把相关性绝对化,D 与事实相反(外在评估通常成本更高)。
Q9. 词类比任务中,模型如何确定候选答案词?
- A.从测试集中随机抽一个词作答
- B.找与预测向量余弦相似度最高的词← 正确答案
- C.选择整个词表中词频最高的词
- D.选择与预测向量平均距离最近的词
答案:B。类比推理的核心是“预测向量落在目标词附近”,因此要在词表中检索与预测向量余弦相似度最高(方向最接近)的词作为答案。随机抽取、按词频或平均距离都不是语义关系检索的逻辑。
Q10. 组合评估时,为何要先对内在得分与外在准确率做归一化?
- A.让两路量纲不同的分数能加权比较← 正确答案
- B.让所有分数都统一成百分制
- C.为了消除人工标注的误差
- D.为了提升下游任务的训练速度
答案:A。内在得分(如相关 0.7、0.8)与外在准确率(如 0.86、0.72)的取值范围和分布都不同,直接加权会让大数值主导结果。先归一化到 0-1 再按 α、β 加权,权重才有实际意义。归一化与消除标注误差、加速训练无关。