Boosting Factual Correctness of Abstractive Summarization with Knowledge Graph
https://arxiv.org/abs/2003.08612
什么是文本摘要?
文本摘要是NLP中非常重要的一项任务,即给定一篇长文章,模型生成一小段文本作为对该文章的摘要。
文本摘要分为抽取式与抽象式。
- 抽取式是直接从文章中选取片段作为摘要。好处是它能保留文章的原始信息,但缺点是它只能从原文章中选取,相对不那么灵活。
- 抽象式是从头开始生成一段文本作为摘要。尽管能更加灵活地生成文本,但是它经常包含很多错误的“事实性知识”——错误地生成了原文章本来的信息。
一个例子:
文章提到青少年希瑟麦克 (Heather Mack)帮助她的男友汤米·谢弗Tommy Schaefer谋杀了她的母亲,而《BOTTOMUP》的摘要(Gehrmann等人,2018年)说,谢弗是汤米·谢弗的男友。模型Seq2Seq错误地指出Tommy Schaefer是受害者。相比之下,本文的模型FASUM生成了一个总结,正确地展示了文章中的关系。
目标
在本文中,用知识图谱的形式来表示事实。尽管ConceptNet(Speer等人,2017)和WikiData在授予常识知识方面更有用。在对新闻等内容的抽象总结中,许多实体和关系是以前看不见的。另外,本文的目标是生成与文章中的事实不冲突的摘要。因此,本文建议从文章本身中提取事实知识。
流程
-
使用信息抽取(IE)工具OpenIE(Angeli et al.,2015)以关系元组的形式从文章中提取事实:(subject,relation,object)。此图包含文章中的事实,并集成在摘要生成过程中。
Angeli et al.,2015: Gabor Angeli, Melvin Jose Johnson Premkumar, and Christopher D Manning. 2015. **Leveraging linguistic structure for open domain information extraction**.In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Lan-guage Processing (V olume 1: Long Papers), pages344–354.
-
然后,使用一个图注意力网络(GAT)来获得每个节点的表示,并通过注意力将其融合到 transformer-based的encoder-decoder架构中。
-
最后,利用copy-generate mechanism有选择地从字典或图形实体生成内容。我们将此模型称为事实感知摘要模型FASUM。
除此之外,本文还训练了一个事实性知识评估模型(FC),用于评估生成的摘要匹配原文事实性知识的程度。
模型
问题定义
输入:
每篇文章表示为:
每篇文章对应的摘要表示为:
所以每个训练对表示:
模型生成:
Factual Correctness Evaluator(事实正确性评估器)
FactCC evaluator:它将正确性评估映射为二元分类问题,即找到函数
f
f
f
A
A
A是文章,
C
C
C是摘要,
f
f
f(
A
A
A,
C
C
C)表示C相对于A事实上正确的概率。如果摘要
S
S
S由多个句子组成
C
1
C_1
C1,…,
C
k
C_k
Ck,我们将
S
S
S的实际得分定义为:
模型
f
f
f可以是BERT,只需要把
X
X
X,
Y
Y
Y拼接起来,然后用[CLS]得到概率即可。然而,为了训练模型,我们还需要一些训练集。
训练集包含正例和负例。正例来自:原摘要训练语料、摘要的反译(Backtranslation)。反例来自:随机将摘要中的一个实体替换为文章中的同类实体。
在测试集上,该模型能实现最低的错误率——约26.8%。
框架
模型由三个部分组成:知识提取器(知识图谱)、编码器和解码器。知识图谱负责从文章中提取事实性知识,编码器负责编码文本信息,解码器负责融合编码特征和事实性知识从而生成摘要。
Knowledge Extraction
工具Stanford OpenIE tool (Angeli et al., 2015前文有链接) ,我们应用Levi transformation (Levi,1942)来平等对待每个实体和关系。获取三元组( s s s, r r r, o o o)
Knowledge Representation
对每个三元组(
s
s
s,
r
r
r,
o
o
o),我们把视为三个结点,然后得到两条无向边
s
s
s—
r
r
r 和
r
r
r—
o
o
o。这样一来,通过对所有三元组构建边,就能得到一个无向图,这就是该文章的知识图谱。
之后,在该知识图谱上使用图注意力模型提取每个结点的特征。如此,就完成了事实性知识特征的提取。
Knowledge Integration
编码器按照常规方法编码文章,之后在解码的时候把它和解码器特征、知识特征融合。
如上图所示,设编码特征和解码特征融合后的特征是(
s
1
s_1
s1,…,
s
t
s_t
st),其中
t
t
t是已经生成的字(词)数,且(
e
1
e_1
e1,…,
e
V
e_V
eV)是知识图谱中的结点的特征。那么,当前需要融入的事实性知识的特征就是:
这里增加了一个系数
m
l
m_l
ml是因为知识特征和文本特征的尺度不一致,
l
l
l是当前解码层数。
在得到
u
i
u_i
ui之后,就可以通过常规的自注意力机制、层归一化和残差连接,和前馈层将各知识融合在一起,如上图中间所示,得到该层最终的特征表示
z
i
z_i
zi。
Summary Generation
为了生成下一个语言单元
y
t
y_t
yt
+
_+
+
1
_1
1,我们结合拷贝机制:
从而,最终生成语言单元的概率是:
其中,
r
r
r
c
_c
c
o
_o
o
p
_p
p
y
_y
y是解码器最后一层对编码器的关注度。取最大的值作为生成的字符(词)即可。训练过程中,采用交叉熵做损失函数:
其中
y
t
y_t
yt是第
t
t
t个令牌的一个one-hot向量,
θ
θ
θ表示网络中的参数。
实验
数据集
数据集CNN/DailyMail和XSum
我们想具体看生成的摘要中包含的事实性知识和原文章的事实性知识的匹配程度如何。假设摘要中的事实性知识是
原文章的是
那么
R
s
R_s
Rs中的每个三元组和
R
a
R_a
Ra比较就有三种情况:
于是,我们可以计算匹配得分:
结果: