Parsing with compositional vector grammars论文阅读

Abstract

这篇文章是2013年的老文了,发表在ACL上,和现在大部分NLP深度学习文章不同,文章是关于语义解析领域,和目前NLP with DL的领域不一样,主要关注的是对文法语义的解析。类似英文的语法分析,parser对句子做出结构拆分,区分出动词名词等等。

标准的一些句法描述是使用一些粗糙的类别(名词短语NP,形容词短语PP)来标注短语,但是这些划分是远远不够的,粗糙的划分可能会导致句法的混淆,所以可以对类别进行细化

有可以区分出动词名词等等。而一些容易混淆的句子,则可以用向量来表示,上图中每一个节点由一个三元组构成,词,词性,向量表示。standard probabilistic context free grammars(PVFG)可以做句子结构分析和词性分析,而RNN则用于向量表示的学习。所以这篇文章提出的模型CVG是结合了PCFG和RNN的优点,但是在这两基础上做了改进,可以预测句子的结构和其向量表示。上图就是CVG的分析实例。

Model

CVG

本节介绍这个能够预测句法结构和组合语义信息(vector representation)的模型。许多句子的结构的有一定规律的,我们可以通过设计一些固定的模式对这些句子进行规则划分,所以CVG的顶层是PCFG。CVG会结合句法和语义的信息然后计算出向量的表达。

Word Vector Representation

词向量的生成方法有两种,一种是基于词出现的频率和上下文信息得出的词向量,另一种是基于神经网络,通过神经网络的学习得到词向量,也就是embedding。CVG模型主要使用的是另一种基于嵌入矩阵的方法。首先要准备一个语料库,然后构建一个神经网络,通过反向传播训练嵌入矩阵。假设我们有一个句子,句子有m个单词,根据每一个单词在矩阵中的索引,我们取出列向量作为词向量即可。这样句子就会变成一个元组, x = ( ( w 1 , a w 1 ) , . . . ( w m , a w m ) ) x = {((w_1,a_{w_1}),...(w_m, a_{w_m}))} x=((w1,aw1),...(wm,awm))。这样就得到了词向量。

Max-Margin Training Objective for CVGs

训练CVG则是需要目标函数的。function g: X − > Y X ->Y X>Y,X是句子集合,Y则是所有可能的树结构, Y ( x i ) = y i Y(x_i) = y_i Y(xi)=yi是正确的结构。给定了正确的树,那么loss则是 Δ ( y i , y ^ ) \Delta (y_i, \hat y) Δ(yi,y^)。而树之间的差别是不正确标签的数量 N ( y ) N(y) N(y)来衡量。

s是评分函数,现在我们要找到评分最高的树

当训练完成后,正确的结构会比其他可能的结构分数都要高。


y i y_i yi的分数会上升, y ^ \hat y y^的分数会下降。

Score function

s是刚刚提到的评价函数。

上图是标准的RNN的结构,每一个单词都会对应于一个元组,元组由单词和向量组成,自底向上,vector组合后再乘一个nx2n的矩阵。注意这里的矩阵是相同的。由于这里的中间的节点很多都是组合而成,而单个矩阵没办法捕捉到信息。所以作者提出用不同的矩阵捕获组合信息。



后面两段就是如何训练了。但主要的差别还是在于权重和损失函数的变化。

Experiment

Conclusion

相对于PCFG,改进主要在于结合了RNN和PCFG,并在标准的RNN上做了相应的扩充。结合RNN的动机在于vector representation能够捕获细粒度的句法和语法信息,便于区分一些容易混淆的句子。而对RNN的扩充的动机则是single weight不能很好的捕获组合信息。

CS224n的课程上有提到相应的内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值