【论文笔记】Semantic Compositionality through Recursive Matrix-Vector Spaces

EMNLP 2012 Semantic Compositionality through Recursive Matrix-Vector Spaces
论文的代码实现:https://github.com/github-pengge/MV_RNN

论文改进点

单个词向量模型能够成功学习到词汇信息。然而他们并不能获取长短语的组合信息,这一点阻碍了词向量理解语言的深层信息。
因此,本文提出了一个RNN模型,可以学习任意句法类型和长度的短语及句子的组合向量表示。

核心思想

作者提出的模型为解析树上的每一个结点都分配了一个向量和一个矩阵:向量捕获成分的固有信息,而矩阵捕获其如何改变相邻单词或短语的含义。 如下图所示,每一个成分(一个单词或长短语)都有一个矩阵向量(Matrix-Vector,MV)表示。

Figure 1. 一个循环神经网络在一个树结构上学习短语中的语义表示。每个词和短语都是用一个向量和一个矩阵来进行表示,例如 very=(a,A),其中,矩阵应用于相邻向量表示。相同的方式被重复应用以结合短语 very good 和 movie.

根据解析树的句法结构,递归地将单词组合起来,从下往上计算一个较长短语的表示。

模型-MV-RNN

从单个单词向量表示中构建多单词单元表示的主要方法是形成单个单词表示的线性组合,例如求和或加权平均值,这发生在信息检索和基于以下内容的各种文本相似性函数中 词汇相似性。 当文本的含义从字面上看是“其部分的总和”时,这些方法可以很好地工作,但是当单词充当修改另一个单词的含义的运算符时,这些方法将失败:无法将“extremely strong”的含义捕捉为 用词表示“extremely”和“strong”。

最近的工作(截止至2012年)已经开始捕捉自然语言算子在语义向量空间中的行为,将它们建模为矩阵,而作者希望使用非线性函数来计算多单词短语或完整句子的组成含义表示。

因此,MV-RNN结合了这两种思想的优点,方法是:
(1) 为每个单词分配一个向量和一个矩阵;
(2) 学习特定于输入的非线性合成函数,以计算任何语法类型的多词序列的向量和矩阵表示。

将向量矩阵表示分配给所有单词,而不是只分配给一个词性类别的单词,可以获得更大的灵活性,从而有利于性能。如果单词缺乏运算符语义,则其矩阵可以是一个单位矩阵。 但是,如果某个单词主要充当运算符(例如“extremely”),则其向量可能会接近零,而其矩阵会获得清晰的运算符含义,从而在postive和negative两个方向上都放大了修饰词的含义 。

矩阵向量在自然词汇上的表示

作者表示一个词使用了一个连续的向量和一个矩阵,初始化所有的向量 x ∈R[n] ,x是只有50维的经过预训练的词向量。
与其他基于局部共现的向量空间模型相似,得到的词向量捕获句法和语义信息。 每个单词也与矩阵X相关联。在所有的实验中,作者初始化矩阵 X=I+ε,加上了一小部分高斯噪声。如果向量维度是n,那么每个单词的矩阵维度就是 X ∈ R[n x n]。
尽管初始化是随机的,但随后将对向量和矩阵进行修改,以使一系列单词构成一个可以预测语义标签分布的向量。 此后,将长度为m的任何短语或句子表示为向量矩阵对((a,A),…,(m,M))的有序列表,其中每对词组或句子都是基于该位置的单词检索的 。

两个单词的组成模型

首先回顾两个词的组合功能。 为了从两个连续的单词及其各自的向量a和b计算父向量p,Mitchell和Lapata(2010)给出了它们最通用的函数:p = f(a,b,R,K),其中R是 先验已知的句法关系,K是背景知识。
f有许多可能的功能。 对于我们的模型,p有一个约束,那就是它与每个输入向量具有相同的维数。 这样,我们可以轻松地将p与它的子级进行比较,并且p可以是另一个单词组成的输入。
我们将探索不需要任何人工设计的语义资源作为背景知识K的方法。不使用有关关系类型R的显式知识。 相反,我们希望模型通过学习的矩阵隐式捕获此信息。 我们提出以下取决于输入的组合功能:

其中A和B是单个单词的矩阵,全局W∈R[n x 2n],将两个映射的单词转换到相同的n维空间。

逐元素函数g可以简单地是恒等函数,但作者改用非线性,例如sigmoid或双曲正切tanh。 这种非线性将使模型能够近似于除纯线性函数以外的更广泛的函数。 也可以在应用g之前添加一个偏差项,但是为了清楚起见,可以省略它。 将两个变换后的向量重写为一个向量z,我们得到p = g(W z),这是一个单层神经网络。 在此模型中,单词矩阵可以捕获特定于每个单词的自觉效果,而W可以捕获一般的组合功能。
该功能建立在文献上的几种最新模型的基础上并加以概括。 最相关的工作是(Mitchell和Lapata,2010年; Zanzotto等人,2010年),他们介绍并探索了词对的合成函数p = Ba + Ab,这个模型是式子2的一个特殊类型。当设置W=[II](将两个初始化矩阵连接起来),g(x)=x。

多种词和短语的递归构成

主要思想是将相同的函数f应用于解析树中的成对成分。 为此,我们需要将短语或句子的二进制分析树作为输入,并在每个非终端父节点上计算矩阵。 函数f可以递归兼容(p具有与其子代相同的维数),因此可以很容易地用于短语向量。 为了计算非终结短语矩阵,定义函数:


WM ∈ R [ n x 2n ],所以 P ∈[n x n],类似于每一个输入矩阵。

训练目标功能

我们通过在每个父节点上添加一个简单的Softmax分类器来训练这些表示,以预测类分布,例如情感类或关系类:d(p)=softmax( W[label]p ).如果有K个标签,那么d∈R[K],是一个K维的多项式分布。
对于下面的应用(excluding logic),为句子s及其树t最小化的相应误差函数E(s,t,θ)是所有节点处的交叉熵误差之和。

学习


将θ和λ向量作为规划饭的模型参数并应用到模型当中。L和LM是所有词向量和词矩阵。总体目标函数J的梯度变为:

为了计算这个梯度,首先要自底向上计算所有的树结点(pi,Pi),然后对每个节点的softmax分类器进行自顶向上求导。

低秩矩阵近似

如果每个单词都由n维向量表示,并且另外由n×n矩阵表示,则在n = 100的常用向量大小下,整个模型的维数可能会变得太大。为了减少参数的数量 ,我们通过以下低阶加对角线近似表示单词矩阵:


U∈R[n x r],V∈R[ r x n ] ,a∈R[n],对于所有的实验,r=3。

讨论:评估和普遍性

合成向量空间的评估是一个复杂的任务。大多数相关工作将无监督模型的相似性判断与人类判断的相似性进行比较,并力求高度相关。这些评估可以提供重要的见解。但是,即使具有良好的相关性,问题仍然在于这些模型将如何在下游NLP任务(例如情感检测)上执行。作者通过让MV RNN在正确的上下文中预测单词来对通用矢量矩阵表示形式进行无监督学习的实验。使用这些一般表示来初始化模型并不能提高我们考虑的任务的性能。对于情感分析,这并不令人意外,因为由于局部句法上下文的高度相似性,反义词在从同现的无监督学习中经常会得到相似的向量。在实验中,较高的预测性能来自使用标记数据对含义表示进行监督学习。尽管这些表示形式是特定于任务的,但它们可以在多任务学习设置中的各个任务之间使用。但是,为了公平地与相关工作进行比较,仅使用每个任务的监督数据。