Intrinsic Evaluation vs Extrinsic Evaluation
Intrinsic Evaluation
特点
- Evaluation on a specific, intermediate task.
- Fast to compute performance.
- Helps understand subsystem.
Needs positive correlation with real task to determine usefulness
注意
要注意语料库的特征,比如有些时候语料库本身中存在多个单词同时符合类比关系。
Extrinsic Evaluation
特点
Evaluation on a real task.
- Can be slow to computer performance.
- Unclear if subsystem is the problem, other subsystems, or internal interactions.
If replacing subsystem improves performance, the change is likely good.
Intrinsic Evaluation Example
Word Vector Analogies
核心思想
通过完成词向量类比来评估词向量的性能。
-
评估方法
辨认词向量,通过最大化 cosine 相似度。
- 直观理解:理想状态下,我们希望 。例如:queen - king = actress - actor
- 也就是,我们希望:
- 可以分析:
- 语义类比
- 语法类比
Correlation Evaluation
核心思想
- 让人类在一个固定范围内(如0到10)评估两个单词之间的相似程度
-
Intrinsic Evaluation Tuning
Parameters to consider
在 instrinsic evaluation 中需要考虑调试的 word embedding 技术中的超参数。
Dimension of word vectors
- Corpus size
- Corpus source/type
- Context window size
-
一些观察结论
word embedding 的性能严重依赖于使用的模型
- 因为不同的模型尝试使用不同的属性去嵌入单词。
- 语料库越大,性能越好
- 可以学到更多的经验。
极低维的词向量的性能较低
大部分的 NLP Extrinsic 任务可以被形式化为分类任务。
- 开始的时候通常有一个训练集:,分别为:一个 d 维词向量和一个 c 维 one-hot 向量(指明想要预测的 label)
通常的机器学习任务中,训练集是固定的,但在 NLP 的应用中,在训练外部任务的时候,我们会重训练输入 word vector
重训练词向量
使用的词向量由在简单的内在任务上训练过的词向量进行初始化。
训练外部任务的时候,可以重训练词向量
可以用 softmax 分类函数来计算词向量属于某个类的概率:
- softmax 分类函数的形式:
- 单个训练样本的损失:
- 由于分类任务,只有一个是正确的类,所以 中只有一个是 1,假设 ,则单个样本的损失变为:
- 在整个数据集上的损失为:
其中, 表示样本 的正确分类的索引。
- 需要学习的参数数量
- 以线性决策边界为例,我们需要一个输入为 d 维词向量,输出为 c 为向量的模型,因此参数量为 Cd。
- 同时需要更新 V 的 d 维词向量,参数量为 |V|d。
- 总参数量为:Cd+|V|d,非常大
- 为了避免过拟合,需要引入正则项。正则项反映了贝叶斯先验:参数值 的大小应该比较小
- 正则项可以提高泛化能力
Window Classification
- 在自然语言处理中,同一个单词在不同的上下文中可能会有不同的意思。
- 输入的时候:使用一个单词序列,包括:
- 一个中心单词
- 中心单词前后的上下文单词
- 将多个向量合在一起
- 使用窗口后的输入和梯度: