文本摘要是NLP领域一个重要的任务,它以凝练的语句去描述原始文本中的主要信息。文本的形式是多种多样的,其中,对话文本是人们在不同交流场景下产生的交互式文本。提取对话中的主要信息,在实际应用中可以减少人理解的时间,也可以更好地辅助后续可能的任务。
本篇文章会探究对话文本的特点和对话摘要的实现,基于三个不同的对话场景(会议、医患沟通、客服对话),分别介绍一篇有代表性的近期顶会paper,并在最后总结不同对话文本特点对应的解决方案。
引言
当前,对文本摘要的研究主要集中在新闻领域,而从广泛的对话文本(包括会议、访谈、辩论、医患沟通、客服对话和日常聊天等)中提取关键信息,也有着重要的价值和应用场景。但直接把新闻摘要的模型和方法移植到对话文本上,并不能获得期望的效果,因为对话文本有着它不一样的特点:
1、角色交互:对话文本是有两个或多个角色参与的交互式文本,每个角色差异较大,有着各自的观点和态度;
2、文本超长:对话文本很长,一般都比新闻文本要长;
3、话题跳转:对话过程中,经常会有话题的跳转;
4、数据匮乏:相比新闻摘要数据集,公开的对话摘要数据集太少。
以上是对话文本的特点,其实也是对话摘要方案要解决的难点。不同对话场景下的侧重点不一样,下面会在会议、客服和医患场景下,介绍对应论文如何去解决该场景下的难点问题。
会议场景
会议场景下的对话摘要,其实就是会议纪要,让参会者和未参会者都可以快速回顾和了解会议的主要内容。
会议文本,一般都很长很长,角色众多且不固定,又因为会议的私密性,公开数据集很少。下面这篇 EMNLP2020 的文章 [1] ,在一个模型中,通过针对性的设计来尝试解决这些问题。
这篇文章提出了一个 Hierarchical Meeting summarization Network (HMNet) 模型,它的模型结构图如下:
HMNet 是一个 Hierarchical Transformer,能够融合整个对话文本和角色信息,端到端地生成会议摘要。
它包括两个 Encoder,一个是 Word-level Encoder,输入是一轮对话,指某一个角色连续说的话,并会在最前面加上一个 [BOS] 开始标志位,其在最后一层的输出作为本轮对话的语义向量,这一点和BERT一样;另一个是 Turn-level Encoder,它的输入是每轮对话的语义向量,也就是上一个 Encoder [BOS] 位向量,并会在后面concat上这轮对话说话者的角色向量。
不同于一般的 Transformer Decoder, 在 HMNet Decoder 中,每一个 Block 块会有两个 Cross-Attention 层,先对 Word-level 信息做 Attention,再对 Turn-leve