前言
- 论文地址:https://arxiv/pdf/1906.01231.pdf
- 代码:https://github/lancopku/Graph-to-seq-comment-generation
Abstract
本文要解决的是通过文章生成评论,对与传统 encoder-decoder 的模型来说,文章通常过长,所以作者提出一个 Graph-to-Sequence 的模型来生成评论。
1、Introduction
说了一些生成评论面临的一些问题:
- 新闻可能很长,用经典的 sequence-to-sequence 效果不一定好;另外标题又太短,提供不了足够的信息。
- 新闻标题有时使用与文章内容语义不同的 hyperbolic expressions。
- 用户评论时关注的点不同,评论具有多样化。
然后表示本文有三个贡献点:
- 提出用一个主题交互图来表示文章。
- 提出一个 grahp-to-sequence 的模型来从图中生成评论。
- 发布了一个数据集,包括标题、内容、评论。
2、Related Work
这部分提了一些图卷积神经网络的应用,没什么好说的,过。
3、Graph-to-Sequence Model
3.1 Graph Construction
构建图大致过程如下:
先使用现成的工具(如Stanford CoreNLP)对新闻文章进行分词和命名实体识别。由于单独的命名实体识别不足以涵盖文档的主要重点,我们进一步用了关键字提取算法,如TextRank来获取额外的关键字。
在得到新闻的关键字κ之后,我们将文档的每个句子与其对应的关键词相关联。这里使用一种简单的策略,如果k出现在句子中,则将句子s分配给关键字k。请注意,一个句子可以与多个关键字相关联,这隐含地表示两个主题之间的关联。不包含任何关键字的句子被放入一个名为“Empty”的特殊顶点。因为文章的标题对理解新闻至关重要,所以我们还添加了一个名为“Title”的特殊顶点,其中包含文章的标题句子。
如果顶点vi和vj共享至少一个句子,我们在它们之间添加边缘eij,其权重由共享句子的数量计算。这种设计背后的直觉是,将两个关键词组合在一起的句子越多,这两个关键词越接近。还可以使用基于内容的方法,例如vi和vj的内容之间的tf-idf相似性。
3.2 Vertex Encoder
将图中的每个顶点编码为一个向量 v v v,顶点编码器由两部分组成,一是嵌入模块,二是用 multi-head self-attention。
对于单词序列中的第
i
i
i 个单词
w
i
w_i
wi,先查找其词嵌入
e
i
e_i
ei(文章中关键词和非关键词共享一个嵌入表),然后将位置信息
p
i
p_i
pi 添加到单词中,其中,关键词的位置信息为
p
0
p_0
p0。
ϵ
i
=
e
i
+
p
i
\epsilon_i = e_i + p_i
ϵi=ei+pi
得到了每个词向量后,扔进一个 multi-head self-attenton 模块得到每个词的 hidden vector a i a_i ai,最后使用 a 0 a_0 a0 作为整个顶点的向量,也就是关键词的那个向量(因为关键词在最前面,位置信息为 p 0 p_0 p0)。
3.3 Graph Encoder
在得到每个顶点的向量后,然后用 GCN 进行一个常规的卷积操作,这里就不展开了,直接放论文里的公式:
g l + 1 = H l + 1 + H l g^{l+1} = H^{l+1} + H^l gl+1=Hl+1+Hl
由于新闻标题是一个重要的信息,我们使用编码器标题顶点的隐藏输出作为解码器的初始状态 t 0 t_0 t0。也可以使用其他池方法,如最大池或平均池。
3.4 Decoder
解码是一个标准的 RNN+Attention,给定初始状态 t 0 t_0 t0 和 G C N 的 输 出 < g 0 , g i , ⋯ , g n > GCN的输出<g_0, g_i, \cdots, g_n> GCN的输出<g0,gi,⋯,gn> ,论文中公式如下:
c i c_i ci 即 context vector,是对 encoder 输出的 hedden states 的一个加权平均。嗯…不展开讲了,自行百度 seq2seq+attention。然后 p c o p y p_{copy} pcopy这个操作是出自论文《Incorporating copying mechanism in sequence-to-sequence learning》,就是预测单词时有两种模式,生成模式和copy模式,copy模式是直接从源端pick单词到目标端。
4、Experiment
4.1 Corpus
作者发布了一个语料,地址:https://pan.baidu/share/init?surl=b5zAe7qqUBmuHz6nTU95UA,数据信息如下:
4.2 Experiment Settings
说了一些超参的设置。
4.3 Evaluation Metrics
作者选了三个评价指标:
- Coherence:这个指标评估对新闻文档的评论的一致性。
- Informativeness:多样性?
- Fluency:句子流畅度。
4.4 Baseline Models
作者选了三个 baseline,然后 Decoder 全都是用 RNN+Attention:
- Seq2seq:这里是引用的18年的论文,我没看过。
- Self-attention: 用 self-attention 做encoder
- Hierarchical-Attention:同上,引用的论文我没看过。
4.5 Results
实验结果如下:
5、Conclusion
过。
更多推荐
《Coherent Comment Generation for Chinese Articles with a Graph-to-Sequence Model
发布评论