Hierarchical Transformers for Multi-Document Summarization笔记

学习文本之间的潜在联系

一、导论

提到了wikisum,尽管wikisum向抽象多文档摘要迈出了重要的第一步,但是:

  • 它仍然认为多个输入文档是连接的平面序列,不知道文档之间层次结构可能存在的关系

    • 选择搜索结果前10个,每个结果可能有重叠,用不同的方式表达同样的内容

    • 作者强调文档间的图关系(PageRank?)

      • 作者貌似要替换掉文档间的注意力机制计算

      • replacing inter-document attention

      with a graph-matrix computed based on the basis of lexical similarity or discourse relations

二、相关工作

end2end模型的难点:训练数据难获取。wiki引用的文档太长了。

提取操作
  • 基于单词与tf-idf权值的余弦相似度
  • 基于话语关系
  • 基于PageRank算法的几种变体
  • 基于句子嵌入和图卷积网络
抽象摘要操作

跟单文档不一样,多文档处理有如下方案:

  • model transfer (Zhang et al., 2018; Lebanoff and Liu, 2018)
    • 在单文档摘要数据上预先训练一个序列到序列模型,并在DUC(多文档)基准测试上进行微调
  • 无监督模型(靠重建句子等)
作者的创新

与wikisum的方法不同的是,我们使用了一个基于学习的排序器,我们的抽象模型可以分层地编码输入文档,具有学习跨文档的潜在关系的能力,并额外地将以众所周知的图表示形式编码的信息合并在一起。

三、模型

任务描述类似于wikisum

作者关注在encoder部分

段落排序

  • 用LSTM+embedding对标题和段落进行建模
  • 最大池化操作,获得固定长度表示
  • 最后,为了估计是否应该选择一个段落,我们使用了一个线性变换和一个sigmoid型函数

段落encoding

这部分其实是在Transformer里面常见的一层,用来获取位置信息,参考解释

w i j w_{ij} wij→分配给标题 t i j t_{ij} tij的embedding

p e i j pe_{ij} peij→分配给标题 t i j t_{ij} tij,表示输入内部的位置embedding

Local Transformer Layer

用于为每个段落中的令牌编码上下文信息

在这里插入图片描述

由2层组成:

  • 归一化多头注意力(允许每个标记关注具有不同注意分布的其他标记)
  • FFN是一种以ReLU作为隐藏激活函数的两层前馈网络,是一层线性层

Global Transformer Layer

  • Multi-head Pooling

    • 获得固定长度的段落表示
  • Inter-paragraph Attention

    • 段落间注意机制来模拟段落间的依赖关系
  • Feed-forward Networks

    • 我们将使用上下文信息更新令牌表示
    • 段落Ri中的每个标记就可以以分层和有效的方式从其他段落收集信息

带有图信息的Attention机制

段落间注意机制可以看作是学习输入段落的潜在图表示(self-att权重)。

我们实验了两种完善的图表示:

  • lexical relations
    • 节点对应于段落
    • 权值是基于段落的tf-idf表示的余弦相似度。
  • Approximate Discourse Graph
    • 统计段落之间共同出现的实体
    • 统计话语标记(e.g., however, nevertheless )

得到的图,可以表示为权重矩阵的形式 G i j G_{ij} Gij

从而替代之前的段落间上下文向量中的query向量*key向量:

在这里插入图片描述

得到上下文向量:

在这里插入图片描述

四、实验

我们可以看到,我们的排序器有效地提取了相关的段落,并为下游的摘要任务生成了更多信息输入

作者把参数设置写的很清楚

discourse graph比similarity graph更能带来提升

评价

我们的第一个评估研究按照问答(QA)模式,量化了摘要模型从文档中保留关键信息的程度

我们第二次评估的总体质量评价研究总结通过要求参与者排名考虑以下标准:忠实度(并总结传达重要事实的主题问题吗?),流畅(总结流利和语法?),和简洁(总结避免重复吗?)。

大多读者都偏爱本文的HT模型生成的摘要

疑问

beam search 是啥?

答:就是每次生成句子的时候,不是一个词一个词生成的,而是每次找出Top B个词,参考

LayerNorm?

LN是对单个样本的所有维度来做归一化,参考

把输入的每一层归一化,变成标准正态

from torch.nn import LayerNorm
LN = LayerNorm(input.size()[1:])
LN_output = LN(input)
input = torch.tensor([[4.0, 3.0, 2.0],
                      [3.0, 3.0, 2.0],
                      [2.0, 2.0, 2.0]
                     ])
#LN结果
LN_output = torch.tensor([[1.2247, 0, -1.2247],
                          [0.70709, 0.70709, -1.4142],
                          [0, 0, 0]
                         ])
多头注意力?

Query,Key,Value首先进过一个线性变换,然后输入到放缩点积attention,注意这里要做h次,其实也就是所谓的多头,每一次算一个头。而且每次Q,K,V进行线性变换的参数W是不一样的。然后将h次的放缩点积attention结果进行拼接,再进行一次线性变换得到的值作为多头attention的结果。可以看到,google提出来的多头attention的不同之处在于进行了h次计算而不仅仅算一次,论文中说到这样的好处是可以允许模型在不同的表示子空间里学习到相关的信息
参考

q v k?

这个是计算attention权重的一种方法,参数矩阵从数据里学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HIVT(Hierarchical Vector Transformer for Multi-Agent Motion Prediction)是一种用于多智能体运动预测的分层向量变换器。该模型使用了向量变换器(Vector Transformer)的层级架构,用于对多智能体的运动轨迹进行预测。 HIVT模型旨在解决多智能体之间相互影响和合作的问题。在多智能体系统中,智能体之间的运动和行为往往会相互影响,因此准确预测智能体的运动轨迹变得非常重要。传统的方法往往难以捕捉到智能体之间的复杂相互作用和外部环境的影响,而HIVT模型通过分层向量变换器的架构,可以更好地捕捉到多智能体系统中的相互作用。 HIVT模型首先使用一个全局的向量变换器来处理整个多智能体系统的运动轨迹,以捕捉全局的趋势和相互作用。然后,对于每个智能体,模型使用一个局部的向量变换器来预测其个体的运动轨迹,以考虑个体特定的动态特征和周围智能体的影响。 通过分层向量变换器的架构,HIVT模型能够更好地处理多智能体系统中的动态变化和相互作用,提高了运动轨迹预测的准确性。同时,该模型还可以应用于多个领域,如智能交通、无人机团队协作等。 总而言之,HIVT模型是一种基于分层向量变换器的多智能体运动预测方法,通过捕捉多智能体系统中的相互作用和全局趋势,提高了运动轨迹预测的准确性和适用性。该模型在多个领域具有广泛的应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值