论文阅读笔记《Can Syntax Help? Improving an LSTM-based Sentence Compression Model for New Domains》


转载请注明原文出处

0 摘要

这篇论文是由新加坡管理大学(SMU)和北京理工大学(BIT)合作的成果
此文主要研究如何在句子压缩的工作中提高基于删除的LSTM模型的领域适应性(domain adaptability), 针对这一问题他们做了两个主要的改动:
1 使用明确的句法特征 2 通过整数线性规划(ILP)来做句法约束
实验结果验证了在跨领域的应用上修改后的模型表现超过没修改的模型并且超过了不基于神经网络的传统模型效果

1 介绍

句子压缩技术(sentence compression) 可以作为一个摘要系统的组件。
早期方法多数依赖于句法信息比如基于选区的解析树(constituency-based parse tree)来决定如何修剪一或重写一个句子, 现在大家用神经网络比较多,这样的好处就是少了很多语言学上的一些工作(除了分词等基本步骤)
不过现在的神经网络模型通常都会遇到两个问题:
1 要求大量数据, 句子对几乎都在百万级
2 训练集如果是某个领域的句子(如新闻), 测试集跨域之后效果就差很多了
其实这些模型都是在训练集上做 过拟合(over fitting) 的事情
作者的分析观点:
这些神经网络没有使用到句法信息,而句法信息(syntactic information)比词汇信息(lexical information)更加通用
作者选用的模型是基于删除的LSTM网络(deletion based LSTM model)
原因(虽然作者承认这种抽取式不如生成式灵活):
生成式模型会产生一些不在原句中的词,通常这些作为原句中某个词组或段落的释义,但是需要它们在训练集中出现过才能生成这些释义。但是因为作者主要关心跨域的解决方案,而不同领域的释义通常用到不同的词汇库,所以生成式模型不适合跨域
作者在《Sentence compression by deletion with LSTMs》—— Filippova et al. (2015)的基础上做了两个主要改动:
1 将词性嵌入(POS embeddings)与依赖关系嵌入输入神经网络
2 受《An integer linear programming approach》—— James Clarke and Mirella Lapata. 2008 启发,作者将最后一步的预测进行公式化为一个ILP问题: 基于词之间的语法关系与压缩句子的期望长度,这样的一个约束优化问题
验证模型效果:

  • 在单领域问题中获得了能和Filippova et al. (2015)媲美的效果,但是所需训练数据量大大减少(由200万减少到8000)
  • 在跨领域问题中,此模型轻松超过其他模型

2 方法

2.1 问题定义

句子:
s = ( w 1 , w 2 , ⋯   , w n ) \bold{s} = (w_1, w_2,\cdots, w_n) s=(w1,w2,,wn)
这里 ω i ∈ ν \omega_i \in \nu ωiν 代表句子中第 i i i 个词, ν \nu ν代表词库
句子中单词标注:
y = ( y 1 , y 2 , ⋯   , y n ) , y i ∈ { 0 , 1 } \bold{y} = (y_1, y_2, \cdots, y_n), y_i \in \{0, 1\} y=(y1,y2,,yn),yi{0,1}
y i y_i yi为0代表原句中 w i w_i wi被删除, y i y_i yi为1代表 w i w_i wi保留
数据集:
D = { ( s j , y j ) } j = 1 N D = \{ (\bold{s_j}, \bold{y_j}) \}_{j=1}^N D={(sj,yj)}j=1N
目标就是从 D D D中训练一个序列标注模型(sequence labeling model)

2.2 基本模型

此文的基础模型是一个基于LSTM用于序列标注的模型,大部分基于Filippova et al. (2015)提出的模型,也进行了些修改
假设词汇表中的每个词都是 d d d维嵌入向量,对输入句子 s \bold{s} s的表示:
s = ( w 1 , w 2 , ⋯   , w n ) , w i ∈ R d \bold{s} = (\bold{w_1}, \bold{w_2}, \cdots, \bold{w_n}) , \bold{w_i} \in \Bbb R^d s=(w1,w2,,wn),wiRd
使用标准3层双向LSTM模型来处理这些嵌入向量:

隐藏层向量: ( h 1 , h 2 , ⋯   , h n ) , h i ∈ R h (\bold{h_1},\bold{h_2},\cdots,\bold{h_n}), \bold{h_i} \in \Bbb R^h (h1,h2,,hn),hiRh
使用隐藏层向量来预测标注:
(1) p ( y i ∣ h i ) = s o f t m a x ( W h i + b ) , W ∈ R 2 × h , b ∈ R 2 p(y_i | \bold{h_i}) = softmax(\bold{Wh_i + b}), \bold{W} \in \Bbb R^{2 \times h}, \bold{b} \in \Bbb R^2 \tag{1} p(yihi)=softmax(Whi+b),WR2×h,bR2(1)
这个基本模型与Filippova et al. (2015)的不同之处:
1 在处理序列标记的句子之前,Filippova et al. (2015)首先使用相同的LSTM以相反的顺序对输入句子进行编码
2 Filippova et al. (2015)只使用单向的LSTM,此文基本模型使用双向的LSTM模型来进行捕捉上下文信息
3 虽然Filippova et al. (2015)没有在他们的基础模型中使用句法特征,但在他们的高级模型中使用了一些基于依赖解析树的特征,此文基本模型只使用他们的基础模型因为此文将会介绍更明确的基于句法的特征
4 Filippova et al. (2015)将 y i − 1 y_{i-1} yi1 w i \bold{w_i} wi组合到一起来预测 y i y_i yi, 此文不用这个方法,因为此文打算用一个ILP层来利用标注间的依赖

2.3 句法特征的结合

第一,首先引入词性标注特征:
( t 1 , t 2 , ⋯   , t n ) , t i ∈ τ (t_1, t_2, \cdots, t_n), t_i \in \tau (t1,t2,,tn),tiτ
这其中 τ \tau τ是一个词性标注集合
再假设每个 t ∈ τ t \in \tau tτ有一个嵌入向量(待学习),所以句子 s \bold{s} s的POS嵌入向量:
( t 1 , t 2 , ⋯ &ThinSpace; , t n ) t i ∈ R p , p &lt; ∣ τ ∣ (\bold{t_1}, \bold{t_2}, \cdots, \bold{t_n}) \quad t_i \in \Bbb R^p, p &lt; |\tau| (t1,t2,,tn)tiRp,p<τ
可以简单地把 w i \bold{w_i} wi t i \bold{t_i} ti做连接操作(concatenate), 得到一个新向量输入进双向LSTM模型
第二,引入词间依赖关系
r i ∈ R r_i \in R riR表示在句子 s \bold{s} s中,词语 w i w_i wi与它的父亲词语的依赖关系,
再假设每个 r ∈ R r \in R rR有一个嵌入向量(待学习),句子 s \bold{s} s的依赖嵌入向量:
( r 1 , r 2 , ⋯ &ThinSpace; , r n ) r ∈ R q , q &lt; ∣ R ∣ (\bold{r_1, r_2, \cdots, r_n}) \quad \bold{r} \in \Bbb R^q, q &lt; |R| (r1,r2,,rn)rRq,q<R
可以继续把 w i \bold{w_i} wi r i \bold{r_i} ri做连接形成新的嵌入向量作为模型输入
向量处理总结如下:
x i = w i ⊕ t i ⊕ r i h i → = L S T M θ → ( h → i − 1 , x i ) h i ← = L S T M θ ← ( h ← i + 1 , x i ) h i = h i → ⊕ h i ← \bold{x_i = w_i \oplus t_i \oplus r_i} \\ \bold{\overrightarrow{h_i} = LSTM_{\overrightarrow{\theta}} (\overrightarrow{h}_{i-1}, x_i)} \\ \bold{\overleftarrow{h_i} = LSTM_{\overleftarrow{\theta}} (\overleftarrow{h}_{i+1}, x_i)} \\ \bold{h_i = \overrightarrow{h_i} \oplus \overleftarrow{h_i}} xi=witirihi =LSTMθ (h i1,xi)hi =LSTMθ (h i+1,xi)hi=hi hi
其中 ⊕ \oplus 代表向量连接操作, θ ← \overleftarrow{\theta} θ θ → \overrightarrow{\theta} θ 都是双向LSTM模型中的参数

2.4 通过ILP进行全局推断

以上句法信息的利用是一种柔和的(manner)方式来进行——通过模型学习权重,这里文章作者假设有硬约束(hard constraints)存在
作者提出使用ILP(整数线性规划)来找到一个句子受到一些限制下对应的合适的标注组合: y 1 , y 2 , ⋯ &ThinSpace; , y n y_1, y_2, \cdots, y_n y1,y2,,yn
具体而言这个ILP问题由两部分组成: 目标函数约束

2.4.1 目标函数

模型对每个标注 y i y_i yi生成一个概率分布(上面公式(1)), 用 α i \alpha_i αi来表示 y i = 1 y_i = 1 yi=1的概率
除了 α i \alpha_i αi,作者还考虑到了 w i w_i wi在句子的依赖解析树中的深度,直观地看,一个词越靠近树的根节点,就越有可能被保留下来, 定义深度为 d e p ( w i ) dep(w_i) dep(wi)
根节点深度为0,它的直接子节点深度为1,以此类推…
一个句子的依赖解析树例子如下:
dependency_tree
可以看到,根据训练标注(ground truth),一些相对来说深度更深的词被放弃了
定义目标函数如下:
(2) max ⁡ ∑ i = 1 n y i ( α i − λ ⋅ d e p ( w i ) ) \max \sum_{i=1}^ny_i(\alpha_i - \lambda \cdot dep(w_i)) \tag{2} maxi=1nyi(αiλdep(wi))(2)
λ \lambda λ是一个需手动设置的正数作为参数, y i y_i yi作为训练标注只有0,1两种取值

2.4.2 约束

介绍约束主要是希望考虑到两个方面:
1 一个句子的句法结构
2 压缩句的长度
这里作者受《An integer linear programming approach》—— James Clarke and Mirella Lapata. 2008所启发, 约束如下:
1 父亲不可缺(no missing parent): 如果一个词被保留,它的父亲结点词也应被保留
2 孩子不可缺(no missing child): 在某些依赖关系比如 n s u b j nsubj nsubj中,如果父亲被保留,孩子结点也要被保留,否则会出现语法错误
3 最大长度(max length): 引入一个最小压缩率,可以通过设置 y i y_i yi之和的最大阈值来达成
4 最小长度(min length): 不能让压缩句过短,通过设置 y i y_i yi之和的最小阈值来达成
将以上约束公式化:
∑ i = 1 n ≤ β n ∑ i = 1 n y i ≥ γ n ∀ y i : y i ≤ y p i ∀ r i ∈ τ ′ : y i ≥ y p i \sum_{i=1}^n \leq \beta n \\ \sum_{i=1}^n y_i \geq \gamma n \\ \forall y_i: \quad y_i \leq y_{p_i} \\ \forall r_i \in \tau&#x27;: \quad y_i \geq y_{p_i} i=1nβni=1nyiγnyi:yiypiriτ:yiypi
其中, w p i w_{p_i} wpi w i w_i wi在依赖解析树中的父亲节点, r i r_i ri是这两者间的依赖关系, τ ′ \tau&#x27; τ是一个满足第二条约束的依赖关系集合,这个集合的求解如下:
在训练集中,计算父亲结点留下后孩子结点也留下的依赖关系的条件概率,如果这个概率高于90%,就将这个依赖关系加入 τ ′ \tau&#x27; τ

3 实验

3.1 数据集与实验参数设置

因为作者想要做跨域的效果评估,所以他们采用了3个数据集:
Google News(10000条句子对)
BNC News(1500条句子对)
Research Papers(从ACL论文中随机抽10篇出来,再从中抽取100条句子)
前两个数据集有标注好的ground truth,然而最后一个数据集作者打算人工评估可读性等方面
作者准备了三套方案进行效果对比:
1 BiLSTM: 基础的双向LSTM模型,不使用任何句法特征
2 BiLSTM+SynFeat: 在第一套方案基础上,将POS嵌入与依赖嵌入同 w i \bold{w_i} wi连接以后输入模型
3 BiLSTM+SynFeat+ILP:在第二套方案基础上,求解本文2.4描述的ILP问题

实验参数设置:
优化器: Adam
初始学习速率: 0.001
隐藏层维度: 100
词嵌入: GloVe 100维预训练词嵌入《Glove: Global vectors for word representation》—— Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014.
词性嵌入向量与依赖嵌入向量: 40维的随机初始化向量
LSTM间的dropout层的dropou概率: 0.5
batch大小: 30
ILP中 λ \lambda λ: 0.5
ILP约束中的 β \beta β: 0.7
ILP约束中的 γ \gamma γ:0.2
比较的模型:
1 LSTM: Filippova et al., 2015提出的基本模型,此文使用了2000000句子对进行训练,以及8000条句子对进行训练,会报导这两种效果
2 LSTM+: Filippova et al. (2015)提出的高级版本,他们使用了依赖解析树的一些信息,还使用了上一个标注来协同预测下一个标注
3 ILP: Clarke and Lapata (2008)提出的不基于神经网络的模型,无监督,严重依赖于输入句子的句法结构
4 seq2seq: 在380万Gigaword语料库的训练结果,使用生成式的seq2seq模型

3.2 自动化评估

1 对Google New数据集:
8000 句子对作为训练集
1000 句子对作为验证集
1000 句子对作为测试集
2 对NBC News数据集:
全部作为测试集
验证度量使用accuracy和F-1 score两种
观察效果:
auto-eval
其中,CR(compression rate)代表压缩率: 压缩后的词数 / 原词数

3.3 手动评估

mannul

从上面的结果可以看出,不管是自动评估还是手动评估, BiLSTM+SynFeat+ILP的跨域效果都是最好的,而它的域内效果也可以与最好的相媲美

4 相关工作

句子压缩可以被认为是句子级的摘要

5 结论

这篇文章主要研究如何对基于删除的bi-LSTM进行修改,提高其跨域能力。作者假设引入句法特征能够提高这项能力,因此提出了两种方法来合并句法信息: 1 直接添加POS嵌入向量与依赖嵌入向量进入模型 2 增加目标函数与约束,将预测那步转化为ILP问题。
实验结果显示BiLSTM+SynFear+ILP在域内与跨域的集合中表现都很好,而ILP在跨域中表现得好域内表现不好,LSTM在跨域中又表现不好,因此作者提出的这个模型具有鲁棒性(robust),而且作者的验证方法比较多,通过自动验证与手动的可读性验证,都说明了此文提出模型的好处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值