一、摘要
在很多NLP任务上的首要步骤就是选择使用哪种预训练词向量,我们认为这一步骤留给神经网络自己选择比较好。作者提出了dynamic meta-embeddings,其实就是对embedding做了attention,在各种任务上的相同模型上取得了state-of-the-art的效果。
二、介绍
毫不夸张地说词向量是NLP的一种革命性的突破。有大量文献研究哪种词向量对哪些任务最有用。首要步骤就是选择使用哪种词向量,人们经常使用别人预训练好的词向量。虽然这通常是很自然的事情,但是词向量是否对下游任务有用往往难以预测,因为下游任务可能与词级别基准无关。一种方法就是尝试结合各种词向量的优点。 最近的研究称为meta-embeddings,融合各种词向量,效果不错。
**Why is this a good idea?**首先,它是embedding-agnostic,这意味着NLP流程化的一个主要超参数已经过时了。其次,它在各种任务上提升了效果。最后,或许也是最重要的,它使我们能克服当前系统的一些缺陷。
- Coverage: NLP系统的一个主要问题就是如何处理OOV词,我们的方法运行系统联合各种词向量,从而增加词汇覆盖率。
- Multi-domain: 标准的词向量一般在单个领域中训练,比如Wikipedia或newswire。我们的方法可以联合不同领域的词向量, 考虑到上下文信息。
- Multi-modality: 事实证明,多模态信息在许多任务中都很有用,然而,多模态融合的问题仍然是一个悬而未决的问题。我们的方法为组合来自不同模态的信息提供了直接的解决方案。
- Evaluation: 之前如何评估词向量性能通常是不确定的,我们的方法允许网络设置不同词向量的权重,为词向量提供直接的,任务特定的评估方法。
-
Interpretability and Linguistic Analysis: 不同的词向量在不同的任务上表现好。这是众所周知的,但是为什么会这样呢?我们的方法揭示了哪些词向量是更适合于哪些上下文,用于不同的任务,并允许我们推测为什么会这样。
接下来作者介绍了什么是dynamic meta-embeddings,这比简单的拼接各种词向量的效果要好得多。在各种任务上进行评估:自然语言推理,情感分析,图像标题检索。每个任务上都实现了state-of-the-art的效果。
三、相关工作
有大牛在情感分类任务上尝试过结合无监督和有监督的词向量;结合词级别和字级别的词向量。最近关于meta-embeddings的研究有了新的进展。这可用于上下文、句子表示。如何结合多种词向量与多模型和多视角学习有关。比如,结合CNN的视觉特征和词向量已经实验过;不同模型的词向量也通过拼接结合在一起 r=[αu,(1−α)v]。本篇文章,作者动态的学习权重来结合各种表示。
已经探索了不同词向量作为初始化的有用性,也实验过不同结构和参数。作者的工作可以看做是attention机制在词向量中的应用,最近的句子级交互的self-attention和inner-attention,attention机制代替了原来对齐句子的方式。这里,作者对每种词向量学习attention权重,然后用于句子表示中。
四、dynamic meta-embeddings
大多数NLP系统使用一个词向量:word2vec、GloVe、Fasttext,作者使用了多种词向量,根据上下文为每种词向量训练得相应的权重,然后网络根据权重偏好哪种词向量,其实就是embedding attention。
一个句子s:{tj}j=1s,有n中词向量,那么序列表示为:{wi,j}j=1s∈Rdi(i=1,2,...,n)
-
Naive baseline 将简单的拼接各种词向量作为baseline。拼接各种词向量是一种合理的策略,因为它提供给句子编码器全部的词向量信息.然而连接各种词向量作为RNN的输入有一个缺点,随着拼接越来越多的词向量,网络会变得低效。
wjCAT=[w1,j,w2,j,...,wn,j] -
DME 对于dynamic meta-embeddings,我们首先通过线性映射将词向量投影到d'的向量空间中:wi,j'=Piwi,j+bi (i=1,2,...,n),其中Pi∈Rd'×di,bi∈Rd',然后对映射后的词向量加权求和:
wjDME=i=1∑nαi,jwi,j'其中αi,j=g({wi,j'}j=1s)是根据self-attention得到的权重:
αi,j=g(wi,j')=ϕ(a)×wi,j'+b其中a∈Rd',b∈R是模型参数,ϕ是softmax函数(或tanh、sigmoid),作者也尝试了无权重的方法,简单的求和。 -
CDME 我们也可以使得self-attention是上下文依赖的:
αi,j=g({wi,j'}j=1s)=ϕ(a)×hj+b其中hj∈R2m是以{wi,j'}j=1s为输入的双向LSTM的第j的隐藏层状态,a∈R2m和b∈R。这里设置m=2比较高效。 - Sentence encoder 使用双向LSTM和Max-Pooling得到最终表示。
五、总结
实验过程不再详细介绍。本篇论文的亮点就是attention在embedding的应用,结合多种embedding的优点,之前比赛的时候也融合过多种embedding:拼接、求和,这种新思路可以在以后的比赛中尝试一波。