995 字
5 分钟
词向量的评价(单词分布式表示的评价):相似度与类比任务
单词分布式表示(Word Embedding)把离散的词映射到连续的向量空间,是神经网络 NLP 的基础。那么如何评价词向量的质量呢?
内在评价与外在评价
词向量的评价通常分为两类:
- 内在评价(Intrinsic Evaluation):直接在词向量空间上测试语言知识,例如相似度、类比、聚类。速度快、成本低,但和下游任务的表现不一定一致。
- 外在评价(Extrinsic Evaluation):把词向量作为特征或初始化,放到 NER、词性标注、文本分类等下游任务中,看最终指标。更贴近实际效果,但计算成本高,且受下游模型影响。
词义相关性(相似度)
给定两个词 和 ,用余弦相似度衡量它们向量方向的接近程度:
余弦相似度只关注方向,不受向量长度影响。对于“相似词检索”任务,给定 ,在词表中找最相似的词:
评价时,通常把模型算出的相似度与人工标注的相似度做 斯皮尔曼相关系数(参考评价指标),衡量两者的排序一致性。常用数据集包括:
- WordSim-353:353 个词对,覆盖广泛语义关系;
- MEN:3000 个词对,强调人类对相似度的判断;
- SimLex-999:999 个词对,更强调“相似”而非“相关”,例如“car”和“automobile”相似,而“car”和“road”相关但不相似。
不同数据集对“相似”的定义不同,模型在一个数据集上表现好,不代表在所有语义关系上都好。
词类比
词类比任务用向量运算检验词向量是否编码了关系结构。最著名的例子是:
给定类比关系 ,要找到满足“ 到 的关系,类似 到 ”的词 。常用两种打分方式:
3CosAdd
3CosMul
3CosMul 通过乘法组合相似度,通常在类比任务上更稳健。
类比任务的局限
- 只衡量一种关系:词类比主要覆盖性别、时态、国名-首都等少量关系,不能代表全部语义;
- 受词频和 hubness 影响:高频词容易成为很多查询的最近邻;
- 存在社会偏见:词向量会继承语料中的性别、种族等刻板印象,类比结果可能放大偏见;
- 对 tokenizer 敏感:子词模型的“词”可能不是一个 token,类比需要在词级别聚合子词表示。
外在评价
把词向量用于下游任务,比较不同词向量带来的性能差异。常见任务包括:
- 命名实体识别;
- 词性标注;
- 文本分类;
- 句法分析;
- 机器翻译。
外在评价更接近实际应用,但结果受下游模型、训练数据、超参数影响。一个词向量在某个任务上更好,可能只是因为它的维度和下游模型更匹配。
评价方法的取舍
| 维度 | 内在评价 | 外在评价 |
|---|---|---|
| 成本 | 低 | 高 |
| 速度 | 快 | 慢 |
| 可解释性 | 强 | 弱 |
| 与下游效果的一致性 | 不一定 | 直接 |
| 适用场景 | 快速筛选、分析词向量性质 | 最终选型、任务优化 |
实践中通常先用内在评价快速筛选,再用外在评价做最终判断。对于预训练语言模型,词级别的内在评价已经不够,因为同一个词在不同上下文中的表示不同,评价需要转向句子级任务或上下文相关的探测任务(probing)。
相关阅读
词向量的评价(单词分布式表示的评价):相似度与类比任务
https://biscuit0613.github.io/posts/nlp/05-02-embedding-evaluation/