NLP论文阅读(一)

#

Summary

近几年,向量空间的词表示能提高NLP任务的性能.但是,对于大多数现有工作,单词都被视为独立实体,在被建模的形态相关的单词之间没有明确的关系.因此,导致罕见和复杂的单词通常估计不佳。本文通过提出一种新颖的模型来解决这个缺点,该模型能够构建来自其语素的形态复杂单词的表示.本文提出一种将递归神经网络(RNN)与神经语言模型(NLM)相结合,其中每个语素是一个基本单元,在学习形态学上的单词表示时考虑了上下文信息.学到的模型在许多数据集上的单词相似性任务上的表现优于现有的单词表示.

基本介绍

使用无监督的方式预训练出单词的词表示已成为近几年许多NLP系统成功的关键秘籍。深度学习系统为每个单词提供分布式表示,即密集的低维实值向量或embedding.其主要优点在于能捕获向量中的语义和句法信息的各种维度,其中每个维度对应于单词的潜在特征.但是这些方法将完整形式的单词视为一个独立的实体,并且无法捕捉单词的形态变体之间的显式关系.形态复杂的词语加剧了这个问题,之前的方法很难对稀有词进行建模.

本文用RNN以一种新颖的方式来建模形态学及其复合性.在本质上,把每个语素看作RNN的一个基本单元,并从它们的语素中动态地构造形态复杂单词的表示。通过训练一个神经语言模型(NLM)并整合复杂单元的RNN结构,利用上下文信息来学习语素的语义和它们的合成性质.这里的模型有能力对任何未见过的已知语素的单词建立表达.

相关介绍

处理未见过单词方面,最接近本项工作的是the factored NLMs和the compositional distributional semantic models(DSMs).在之前的工作中,每个单词都被视为一个特征向量,如词干,形态标签和案例,其中使用单个嵌入矩阵来查找所有这些特征.本文的工作并不是简单地连接语素的向量,而是使用RNN来组合它们,这可以捕获形态学的组合性.

后者的工作尝试了不同的组合DSM,最初设计用于学习短语的含义,以得出复杂词的表示,其中基本单元是与本文类似的词素.但,他们的模型只能将词干和词缀组合在一起,并且不支持递归语素合成.然而,有趣的本文基于神经表示与其DSM衍生表示进行比较,并在罕见的单词相似性数据集和它们最近的邻居数据集上交叉测试这些模型.

本文的模型通过单词的形态结构同样能表示word embedding的规律.

Morphological RNNs

这里的morphological RNN类似于(Parsing natural scenes and natural language with recursive neural networks)这是在语素层面上运作的而不是词层面上运作的.具体而言,语素(语言中的最小含义单元)被建模为参数的实值向量,并用于构建更复杂的单词.这里假设可以访问单词的语素分析词典,在第四节中.

不同的语素由语素嵌入矩阵中的列向量来编码$W_e∈R^{d×|M|}$,其中d是向量维度,M是语言中所有语素的有序集合。

如下图所示,形态上复杂词的向量从它们的语素表示中构建出来.在任何局部决策(虚线节点)处,一个新的父词向量(p)被构建通过结合一个词干向量($x_{stem}$)和一个词缀向量$x_{affix}$。
pic1

这里,$W_m∈R^{d×2d}$是一个语素参数的矩阵,而$b_m∈R^{d×1}$是一个截距向量.而这里f是元素激活函数,例如tanh.这构成了morphoRNN模型的基础,其中$\theta={W_e,W_m,b_m}$是学习到的参数

Context-insensitive Morphological RNN(上下文不敏感的Morphological RNN)

第一个模型检验了morphoRNN如何能够简单地从语素表示构造单词向量,而无需参考任何上下文信息.对模型的输入是参考嵌入矩阵,即由NLM训练的单词向量.通过假设这些参考向量是正确的,模型的目标是从他们的语素构造形态复杂单词的新表示,其与相应的参考单词紧密匹配.

具体地,Context-intensitive morphoRNN(cimRNN)的结构与基本的morphoRNN相同。为了学习,要为每个单词$x_i$定义一个损失函数s就像新构建的表示$p_c(x_i)$与它的参考向量$p_r(x_i)$欧氏距离的平方:$s(x_i)=||p_c(x_i)-p_r(x_i)||_ 2^2$

目标函数是最小化下列式子:

Context-sensitive Morphological RNN(上下文敏感的Morphological RNN)

cimRNN模型虽然简单,但有趣的是证明语素语义只能从嵌入中学习.它在几个方面受到限制.首先该模型没有机会改进可能估计不佳的罕见词的表示.例如,“distinctness”和”unconcerned”是非常罕见的,维基百科文档中仅发生141和350次,即使它们相应的词干”distinct”和”concern”是非常频繁的(分别为35323和26080次).试图精确构建那些估计不佳的单词向量可能会导致参数被推入错误方向的错误模型.

第二,虽然从NLM学习到的word embedding一般能混合语义和句法的信息,但是它对显式地建模另一种句法信息(词结构)不一定有用的.受到这些因素的激励,这里提出了对上下文敏感的morphoRNN(csmRNN)它整合了RNN结构到NLM训练中,这允许上下文信息被考虑进学习语素的组合性里.特别地,这里采用的NLM训练方法来学习word embeddings,但对于复杂单词而言从语素中构建表示.在学习中,更新神经网络的上层将通过反向传播直到morphemic层.
pic2

在结构方面,将NLM堆叠在morphRNN之上,如上图.复杂的单词,如”unfortunately”和”closed”,是由它们的语素向量构建的,$un_{pre}+fortunate_{stm}+ly_{suf}和close_{stm}+d_{suf}$,而简单的单词,即词干和词缀可以从标准NLMs语素嵌入矩阵中查找。一旦所有复杂单词的向量被建立,NLM将为每个包含单词$x_1,…,x_n$的ngram $n_i$分配一个分数,

这里$\hat{x}_j$是单词$x_j$的向量表示.用简单带h维隐层的简单前馈网络.$W∈R^{h×nd},b∈R^{h×1}$,并且$v∈R^{h×1}$是NLM的参数,并且f是按元素的激活函数。这里采用排名类型的cost来定义目标函数,以最小化

这里,N是训练语料库中所有可能ngram的数量,而$\overline{n}_i$是由$n_i$创建的”corrupted”ngram。模型的参数$\theta={W_e,W_m,b_m,W,b,v}$

这种排序标准影响了为有效ngram分配比无效ngram更高分数的模型.

Learning

这里的模型在两个阶段之间交替:(1)前向传播-递归构造语素树(cimRNN,csmRNN)和语言模型结构(csmRNN)以导出训练样本的分数和(2)反向传播——计算相应模型参数的梯度

对于后一种传播,计算目标梯度相当于估计每个单独cost$\frac{\partial s(x)}{\partial \theta}$,其中x要么是一个单词(cimRNN)或一个ngram(csmRNN).有cimRNN的目标梯度如下:

在csmRNN的情况下,因为方程式3的目标函数是不可微分的.
这里使用subgradient方法来估计目标梯度:

Unsupervised Morphological Structures

这里利用了一个无监督的morphological 分割tookit(Morfessor)来获得我们词汇表里词汇的分割.Morfessor分割单词有两个阶段:(a)递归地分割单词以最小化一个由最小化描述长度原则激励的目标(b)它用tag:pre(prefixes),stm(stems)和suf(suffixes)来用隐马尔可夫模型来标记词素。
Morfessor捕获了形式一般单词结构$(pre stem suf)^+$,这对于形态丰富的语言(如芬兰语或土耳其语)中的单词非常方便.然而,在这里模型中,这种一般形式目前是不必要的,因为morphoRNN假设输入形式pre stm suf以有效学习RNN结构:一个词总是与一个词缀组合以产生一个新的词干。因此,后处理如下:
(1)将分割限制为prestm{1,2} suf形式:允许我们捕获合成
(2)将带连字符的单词A-B视为$A_{stm} B_{stm}$
(3)对于具有两个词干的分割,这里决定一个词是否可以作为主词干而另一个词可以作为词缀的功能。否则,将拒绝分词.
(4)为了提高精度,如果一次分割有一个词缀或是一个未知词干(不是词本身)可以拒绝分割,这里的未知词干是类型数低于预定义阈值的意思.

最终产生的词缀列表在下表给出.虽然通常可靠,但是我们的最终分割确实包含错误,最明显的是非组合错误,例如$de_{pre} fault_{stm} ed_{suf}或re_{pre} turn_{stm} s_{suf}$.通过足够多的分割示例,这里希望该模型能够从数据中获取一般趋势,总的来说,在130K字的词汇中有大约22K复杂的单词.
pic3

下表给出了具有有趣词缀的单词的示例.除了传统词缀之外,诸如”0”或”mc”之类的非常规词语有助于将罕见或未知词语进一步分类维有意义的组,例如measurement words或names.
pic4

Conclusion

本文以一种新颖的方式结合递归神经网络(RNN)和神经语言模型(NLM)来学习更好的单词表示。这些组件中的每一个都以独特的方式为学习的句法语义词向量做出贡献。 RNN明确地模拟单词的形态结构,即句法信息,以学习语素组成。这允许更好地估计稀有和复杂的单词以及处理未曾见过的单词的更原则的方式,其表示可以从已知语素的向量构造。

另一方面,NLM利用周围的单词上下文来为学习的语素表示提供进一步的语义。因此,对于许多数据集,我们的上下文敏感的morphoRNN嵌入可以明显优于现有的嵌入在单词相似性任务上。文中的分析表明,该模型可以很好地融合聚类相关词语中的句法和语义信息。本文还提供了一个单词相似性数据集,专注于罕见的单词,以补充现有的,往往包括频繁的单词。

最后,由于英语在形态方面仍然被认为是有限的,这里的模型在应用于其他形态复杂的语言(如芬兰语或土耳其语)时可能会产生更好的性能,将这些语言留给将来的工作。此外,即使在英语范围内,我们也希望我们的模型对其他领域具有价值,例如具有复杂但逻辑分类的bioNLP。

-------------本文结束感谢您的阅读-------------