0%

Enriching Word Vectors with Subword Information

论文地址,作者 Piotr Bojanowski et al.,发表于 2016 年。

论文概要

现在流行的模型对单词表征的学习忽视了词法(morphology of word),它们直接给单词分配了不同的向量。这有一定的局限性,尤其对大规模词表并且含有大量稀有单词的语言。本论文提出基于 skipgram model 的方法,每个单词都被表示为一个 character n-grams(博主注:注意是 character,不是 word)词袋。每个 character n-grams 有一个向量,而单词由这些表征相加表示(即 e(where) = e(wh) + e(whe) + e(her) + e(ere) + e(re),e() 表示 character n-grams 对应的向量)。 模型,且可以计算那些不在训练数据中的单词表征(OOV 单词)。

相关工作

介绍了很多关于词嵌入的工作,可以参考。

Morphological word representations

Character level features for NLP

模型

首先提出通用模型,阐述我们如何训练词向量。然后提出 subword 模型,最终描述我们如何处理 character n-grams 的词表。

通用模型

Subword模型

对每一个单词赋予一个不同的向量这忽视了单词内在的结构。为了考虑这一信息,本节提出一个不同的评分函数(scoring function) s1)每一个单词 w 都被表示为一个 character n-gram 的词袋。2)我们在单词的开始和结尾增加了特殊的边界符号 <>,以便区分来自其他单词的前缀和后缀3)我们也将单词 w 本身放入了它的 n-grams 集合,以学习每一个单词(除了 character n-grams)的表征。以单词 where\(n = 3\) 为例,它被表示为该 character n-grams: \[ <wh, whe, her, ere, re> \] 以及它的特殊序列: \[ <where> \] 注意序列 <her> 对应于单词 her。单词 her 不同于来自单词 where 的 trigram her。在实践中,我们提取所有 \(3 <= n <= 6\) 的 n-grams(博主注:如果我没理解错,是提取了所有的 3~6-grams)。这是一种非常简单的方法,并且可以考虑不同的 n-grams 集合(博主注:为什么可以考虑不同的 n-grams?因为一个单词他们提取了所有的 3~6-grams),例如取所有前缀和后缀。 假设给出一个 G 大小 n-grams 词表。给定一个单词 w,将其表示为 \(G_w \subset \{1, \dots, G\}\),其中 n-grams 集合 \(G_w\) 会出现在 w 中。我们将一个向量表征 \(\boldsymbol{z_g}\) 与每一个 n-gram \(g\) 关联。而一个单词由其 n-grams 的向量表征相加表示。因此我们获得评分函数(博主注:这应该在计算相似度): \[ \boldsymbol{ s(w,c) = \sum_{g \in G_w} z^T_g v_c } \] 这个简单的模型允许跨单词共享表征,从而允许学习稀有单词可靠的表征。(博主注:由于每个单词都被拆分开来,这样一个稀有单词就有很大概率可以由细碎的 n-grams 表示) 为了限制我们模型的内存需求,巴拉巴拉,我没看懂什么意思,大致意思是由于 n-grams 诞生的 token 太多了,所以需要使用 hash 的技巧来缩小存储空间。使用一个 token 来查找其对应的索引非常耗时,而使用 hash 算法就快多了。参考了: - fastText,智慧与美貌并重的文本分类及向量化工具

实验设置

  1. baseline:几乎所有实验的基线都为 C 实现的 word2vec 包,除了论文中的 5.3 节;
  2. optimization:对前面(博主注:通用模型一节中)提出的负对数似然估计,进行 SGD 优化。在基线的 skipgram 模型中,我们使用基于步长的线性衰减。给定一个包含 T 个单词的训练集,并且在上传递的次数等于 P,则 t 时刻的步长等于 \(\gamma_0 (1 - \frac{t}{TP})\),其中 \(\gamma_0\) 是一个固定的参数(博主注这部分的线性衰减没看懂什么意思)。我们通过使用 Hogwild(Recht et al., 2011)并行地执行优化,所有线程以异步方式共享参数和更新向量;
  3. 实现细节:
  4. datasets:

结果

在以下几个方面评估我们的模型: 1. Human similarity judgement 2. Word analogy tasks 3. Comparison with morphological representations:与顶尖模型的比较 4. Effect of the size of the training data 5. Effect of the size of n-grams 6. 从我们的模型中获取到的词向量在语言模型任务中的评估

定性分析