何威恺,蒋玉茹,2,陈杰,李宇,张仰森,2
(1.北京信息科技大学 智能信息处理研究所,北京 100101;2.国家经济安全预警工程北京实验室,北京 100044)
篇章结构分析的主要目的是识别出篇章单元之间的篇章关系,进而梳理出整篇文本的篇章结构。其中,篇章单元指能表达完整语义的句子或子句。基本篇章单元(element discourse unit,EDU)是篇章单元的最小单位,指能表达完整语义的最小的句子或子句。复杂篇章单元(complex discourse unit,CDU)指由多个EDU或CDU以篇章关系为媒介组成的篇章单元。篇章关系是指两个篇章单元间的逻辑结构,如详述、背景等。由于篇章结构分析能够分析出文本的结构信息,而结构信息则是理解整篇文本的重要前提,因此篇章结构分析能够为机器阅读理解、机器翻译、文本分类和文本摘要等诸多下游任务提供帮助。在篇章结构分析的对象方面,主要分为书面文本和对话文本两大类。
面向书面文本的篇章结构分析工作大多基于修辞结构理论(rhetorical structure theory,RST)[1]。该理论使用层次树形结构表示篇章结构。如图1所示,树中的叶子节点S1、S2和S3代表三个EDU;S2和S3的篇章关系为“否则”,共同形成一个CDU“C2”;C2和S1的篇章关系为“详述”,共同形成一个CDU“C1”,至此形成一棵代表文章篇章结构的层次树。图1中所示数据来自基于RST理论标注的中文篇章结构语料库CJPL[2]。
图1 基于RST理论的篇章结构表示Fig.1 Representation of discourse structure based on RST theory
面向对话文本的篇章结构分析工作则大多基于分段式话语表征理论(segmented discourse representation theory,SDRT)[3]。在该理论中,存在篇章关系的两个EDU之间根据篇章关系直接相连,而不会进一步合成为CDU,最终所有的EDU节点和篇章关系连接边共同形成一个有向无环图。如图2所示,其中S1,S2和S3为EDU。图2中数据来自本文所构建的语料库。
图2 基于SDRT理论的篇章结构表示Fig.2 Representation of discourse structure based on SDRT theory
在篇章结构语料库方面,以往的工作大多面向书面文本,其中以新闻文本最具代表性。而日常生活中除了书面文本,对话文本也无处不在。其中多方对话是颇具代表性的一种。相比于书面文本,多方对话文本有着话题存在多个发言人、文本内容包含大量角色指代等特点。如图2中,3个EDU中包含2个不同的发言人,指代词“爸”也出现了2次。将篇章单元中出现的角色指代指向对应的角色被称为角色识别。因此面向书面文本的篇章结构语料库不适用于多方对话文本的篇章结构研究。目前,仅有2个面向多方对话的篇章结构语料库STAC[4]和Molweni[5]。但其均为英文语料库,与中文语境有所差异;且内容均来自于在线论坛,而不是更加普遍的日常生活场景。相比于在线论坛,日常生活场景具有发言内容在现实生活中更加普遍,同一时间只能由1人进行发言,由于不需要打字等额外操作从而发言不具有滞后性等特点,使其具有基于在线论坛的篇章结构语料库所没有的独特价值。因此,构建一个中文的基于日常生活场景的篇章结构语料库尤为重要。
在篇章结构分析方法方面,目前效果较好的基于深度学习的分析方法[6]大多对对话文本进行序列建模,再输入分类器。而多方对话存在大量一对多及多对一的篇章结构,相比于线性数据结构,更符合图数据结构,因此更适合对对话文本进行图建模。虽然已有学者采用了图神经网络来进行篇章结构分析,但其并没有针对多方对话的特点来设计图神经网络的连接方式,也未充分利用角色识别信息以及其他对话中的特征。
本文工作主要有以下三点:
1)提出了首个中文的日常生活场景下的面向多方对话的篇章结构语料库:我爱我家篇章结构语料库。
2)使用图神经网络进行篇章结构分析,并针对多方对话的特点对图神经网络进行了针对性设计。
3)引入了角色识别信息,进一步提高了篇章结构分析的准确率。
在面向书面文本的篇章结构语料库方面,中英文都有极具代表性的语料库,如RST-DT[1]、CJPL[2]和PDTB[7]等,其语料内容均来自于对应语言的新闻文本。而面向对话文本的语料库极为缺乏,仅有2个英文的语料库:STAC[4]与Molweni[5]。STAC由Asher等于2016年提出,其语料来源于在线网络游戏《卡坦岛》的聊天板块,该游戏由多个玩家同时参与,为达成战略目的而进行合作或竞争性的交流。该语料库包含1 091段对话、10 677个EDU以及11 384组篇章关系。Molweni由哈尔滨工业大学的Li等于2020年发布,其语料来源于Ubuntu操作系统的在线技术论坛,共包含10 000组对话、88 303个EDU及78 245组篇章关系。
在面向多方对话的篇章结构分析方面,2016年Afantenos等[8]提出了基于最大生成树的方法,先使用最大熵模型预测EDU之间的依赖关系,然后在解码端使用最大生成树算法预测EDU之间的篇章关系。同年,该作者又再一次提出了基于整数线性规划的篇章结构分析方法[9]。上述的两种模型都非常依赖人工设计的特征。Shi等[6]于2019年提出了面向多方对话篇章结构分析的深度序列(deep sequencial)模型,该模型使用序列模型在EDU的向量表示上作出了一定的改进,使EDU的向量表示不仅包含当前EDU的语义信息,还包含背景信息。此外,Shi等还在模型结构上作出了一定设计,使得依赖预测和篇章关系预测能够交替进行,使得模型在依赖预测部分能够融入前期构建的篇章结构信息。该模型是目前面向多方对话场景下综合性能最优的模型。但是,该模型在为EDU的向量表示融入背景信息时,将整段对话全部纳入背景信息的参考范围,这使得模型只有在获取到对话的全部内容时才能正常运转,一定程度上限制了模型的实用性;其次,由于多方对话场景下,发言人们往往只能依赖大脑的短期记忆记录历史对话,故该场景下的EDU所应当参考的背景信息范围实际上较为局限。
如引言中所述,图模型更适合用于多方对话的建模。2021年苏州大学的Wang等[10]利用指代消解工具,提取了EDU间的指代链信息,然后将上述两种信息融入用EDU构建的图神经网络中,以优化EDU表示,最终使用该表示预测篇章关系。但是,该项工作虽然在新闻文本和对话文本上同时做了实验,但是在对话文本的建模过程中,其只是将对话按发言顺序拼接起来,本质还是将对话文本视为书面文本进行序列建模,且没有加入说话人信息,而这对于对话来说非常重要。
此外,2021年He等[11]使用联合训练的方法,同时进行篇章结构分析以及阅读理解任务的学习。不过联合训练的情况较为特殊,对语料的要求极为严苛,故本文不在此做过多探讨。
本文构建的我爱我家篇章结构语料库的语料来自1994年上映的120集情景喜剧《我爱我家》的剧本文本。该剧情景中包含117位出场角色,其中8位为主要角色;该剧内容与日常生活高度一致,话题多样,基本无方言及专业术语,非常适合日常生活场景下的篇章结构研究。下文将该语料库简称为mDialogueDSP(multi-party dialogue discourse structure parsing)语料库。
首先对原剧本进行数据清洗,剔除错别字、标点符号误用等剧本错误。然后以场景和话题作为分割对话的标准,即同一场景下,围绕同一话题所展开的一段对话,定义为一个对话组,并以对话组的粒度对语料进行分割。分割工作由2位标注者分别独立完成。经过比较,得到2人的分割一致性为99.7%。
在正式标注之前,先采用Molweni语料库中的16种篇章关系对本文语料中17%的数据进行预标注。预标注完成后,在结合本文语料特点的基础上,共设计了16种篇章关系,应用于本文的mDialogueDSP语料库。两个语料库的篇章关系名称及定义见表1。表1中“—”符号表示该关系在该语料库中不存在。对于Molweni语料库中原有的“问答对”篇章关系,本语料库将其拆分为“询问”和“回答”2种篇章关系予以更细致的标注;对于Molweni语料库中原有的“问题-澄清”和“叙述”篇章关系,由于在本语料中占比较低,且在日常生活场景下分别和“问题-详述”“继续”这2种篇章关系相似度较高,因此将前述2种篇章关系按后述的2种篇章关系予以标注。对于Molweni语料库中原有的“替换”篇章关系,在本语料库中未找到能与其对应的文本,故不予定义及标注。此外,由于日常生活场景下存在大量祈使的情况,如长辈要求晚辈做某事,因此本文额外定义了“祈使”和“应答”2种篇章关系。
表1 篇章关系定义及其所占比例Table 1 Definition of discourse relationships and their proportion %
此外,篇章关系均为单向,由后发言句指向前发言句,因为后发言句必然基于前发言句的内容进行发言,并与前发言句构成篇章关系,而不是反过来。如图2中,第3句是对第1句的回答。
通过对预标注数据的统计分析,本文发现在该剧本中,约95%的篇章关系都存在于前后2个EDU之间的发言间隔小于等于4的一对EDU中,即按照时间顺序,对于任意一对存在篇章关系的EDU,后发言的EDU与前发言的EDU之间最多包含4个中间EDU。故出于其所占比例及标注成本的考虑,本语料库对于发言间隔大于4的篇章关系不予标注。
对于1个对话组,由1位标注人员手动将该对话组中的对话根据语义分割为EDU,并标注EDU间的篇章关系。为了验证语料库的数据质量,本文随机选出30组对话,由2位标注者背对背标注,而后基于标注结果计算标注一致性。在是否存在篇章关系方面,标注一致性为84.1%;在具体存在哪一种篇章关系方面,标注一致性为50.4%。作为对比的Molweni语料库的对应的2个标注一致性分别为91%和56%。考虑到Molweni语料库来自于技术论坛,发言内容往往逻辑更为清晰,且由于是在线论坛,往往在发言内容中使用“@”符号来明确指定目标听众,因此相比于本语料库具有更高的标注一致性。此外,由于篇章关系高达16种,因此高于50%的标注一致性是可接受的。剩余的全部标注工作均由1位标注者完成,标注工作完成后由2位标注者共同进行校对,对于所标注的篇章关系存在分歧的地方,2人进行讨论并修改标注。校对完成后,与原标注结果计算一致性。经比较,在是否存在篇章关系方面,标注一致性为98.4%;在具体存在哪一种篇章关系方面,标注一致性为88%。
标注工作完成后得到一个包含705组对话、24 451个EDU的篇章结构语料库。
mDialogueDSP以及Molweni语料库中的各篇章关系所占比例见表1。从表1可以看出,mDialogueDSP语料库中出现频率最高的4种篇章关系为“评论”“询问”“详述”和“回答”,占比之和达到52.8%。而Molweni语料库中出现频率最高的4种篇章关系为“评论”“问题-澄清”“问答对”和“继续”,占比之和高达82.5%。这在一定程度上体现了技术论坛场景和日常生活场景下多方对话内容的差异。
语料库统计信息见表2。从表2可看出,相比于Molweni的在线技术论坛场景,日常生活场景下平均一组对话包含更多的EDU及篇章关系。
表2 语料库统计信息Table 2 Statistics of corpora
此外,还有一组值得注意的统计数据,见表3。mDialogueDSP语料库中70.6%的篇章关系产生于相邻的2个EDU之间,即间隔为0;而高达90.9%的篇章关系其所包含的2个EDU之间的间隔不超过1,即其前后两句EDU的发言为相邻发言或中间只存在一个EDU。而在Molweni语料库中,也有高达86.4%的篇章关系所包含的2个EDU之间的间隔不超过1。这体现了多方对话的特点:背景信息范围较小,即参与对话的发言人往往不会针对一个特定话题进行富有逻辑性的陈述论点及深入讨论,而是往往紧跟着最近几句背景信息的发言内容进行发言,往往不会与间隔较远的EDU之间产生篇章关系。
表3 存在篇章关系的EDU间隔占比Table 3 Proportion of different intervals between EDUs with discourse relationships %
给定长度为m的对话D={e1,e2,…,em},其中ei表示对话中第i个EDU。给出包含16个篇章关系的集合R={r1,r2,…,r16}。篇章结构分析主要包含两个任务,一个是链接识别任务,一个是关系识别任务。
链接识别是指给定2个EDU,识别该对EDU间是否存在篇章关系。公式化表述为:给定2个EDU,ei和ej,其中j>i;期望得到链接识别三元组(ei,ej,l),其中l∈{True,False};若l为True,则表示ei和ej之间存在篇章关系,若为False,则表示不存在篇章关系。
关系识别是指给定2个确定存在篇章关系的EDU,识别该对EDU间具体的篇章关系类别。公式化表述为:给定2个确定存在篇章关系的EDU,ei和ej,其中j>i;期望得到关系识别三元组(ei,ej,r),其中r∈R。
除了通过话语编码器层自动提取的特征以外,本文还设计了角色识别特征及人工特征,这两种特征经过编码后输入模型的分类器。
在多方对话中存在着大量的人称指代,如“咱爸”等,若能将人称指代信息进行角色识别,使句子中的人称指代指向对应的发言人,那么对篇章结构分析是十分有益的,因为在很多情况下这能提供说话人和受话人之间的连接关系。如图2中,S1中的“咱爸”和S3中的“爸”实际上指的是同一个角色,能一定程度上推导出S1和S3很可能存在篇章关系。EDU对中的角色识别特征主要包含4种类型:发言人到提及特征、发言人到发言人特征、提及到发言人特征、提及到提及特征。发言人到提及特征指的是前句的发言人角色于后句中是否被提及;发言人到发言人特征指的是前句的发言人角色与后句的发言人角色是否为同一角色;提及到发言人特征指的是前句是否提及后句的发言人;提及到提及特征是指前句与后句是否提及共同角色。角色识别特征的提取来自于本文作者Jiang等[12]的人工标注。
此外,通过对语料内容的分析,统计出如下规律:若一个EDU长度较短,则其有很大概率与其之前的EDU构成“确认”或“应答”篇章关系;若一个EDU以问号或疑问词结尾,那么其有较大概率与其之前的EDU构成“询问”“使动”或“问题-详述”篇章关系,且与其之后的EDU构成“回答”或“应答”篇章关系。因此,本文基于这些规律设计了包括句子长度、是否包含疑问词、递进词、转折词共4个人工特征。
本文所提出的基于图神经网络的篇章结构分析模型简称为DS-GAT(discourse structure graph attention network)。该模型主要包含三个部分:话语编码层、图注意力编码层及分类器层,DS-GAT模型结构如图3所示。
图3 DS-GAT模型结构Fig.3 The structure of the DS-GAT model
话语编码层是模型的输入部分,负责将EDU文本和发言人编码并组合成EDU向量,该向量将作为图注意力编码层中话语节点的初始表示。图注意力编码层将该段对话构造成两个同构图,创建节点及节点之间的连接方式,通过图网络的信息更新获得对话中所有EDU的更全面的表示。通过图注意力编码层所学到的EDU表示将两两配对,并在融合角色识别特征及一些手工特征之后输入分类器,以判断该对EDU之间是否存在链接关系或存在哪种篇章关系。
3.3.1 话语编码层
话语编码层使用了预训练语言模型BERT[13]。该语言模型由Devlin于2018年正式提出,能够很好地提取句子的语义特征,在自然语言处理领域有着非常优异的表现。
对于长度为n的EDU,e={w1,w2,...,wn},其中wj表示EDU中第j个字。根据BERT模型的输入规则,在EDU的头部和尾部分别加入[CLS]、[SEP]标识符,得到e′={[CLS],w1,w2,...,wn,[SEP]}。将e′向量输入BERT模型,模型将输出该EDU的语义向量表示,记为eCLS,式(1)所示为第i个EDU的语义向量表示。此外,对于EDU的发言人,本文采用一个发言人编码器对发言人编码。该编码器为一个线性层,输入为表示发言人身份的独热向量s,输出为固定长度的向量,作为发言人的向量表示,记为s′,式(2)所示为第i个发言人的向量表示。最后,将EDU的语义向量表示及发言人的向量表示进行拼接,即得到EDU的话语编码层的完整向量表示q,式(3)所示为第i个EDU的完整向量表示,其中符号;表示向量拼接。
(1)
s′i=SpeakerLinear(si)
(2)
(3)
3.3.2 图注意力编码层
在对语料的特点进行分析后,本文构建了篇章结构分析图网络。由时序图网络、指代图网络以及一个节点信息融合器三部分构成图注意力编码器层。
时序图网络以节点表示EDU,节点数量与该段对话的EDU数量一致。在节点的初始化方面,对于图中的第i个EDU节点,将话语编码器所输出的该段对话的第i个EDU的完整向量表示qi初始化为pi,即pi=qi;在边的设计上,对于每个EDU节点,均构建3条有向边,方向为从前文指向后文,与该EDU节点的前3个EDU节点进行连接,即在其之前发言的3个EDU节点构成该句的背景信息节点。由于篇章结构分析不同于对话摘要等任务,在该任务中出于对话时序性的考虑,当前句之后的发言不应构成当前句的背景信息,因此对于在其之后发言的节点不进行连接。边仅代表背景信息节点对当前节点的信息更新路径,本身不包含信息。本文在图3中的图注意力编码层的时序图部分给出了对话中前4个节点的连接示例。
指代图网络在节点上和时序图网络一致,也以节点表示EDU,并且对话语编码层EDU的完整向量表示进行初始化。在边的设计上,利用了3.2节中的角色识别特征。对于当前EDU节点的前3个节点,若其与当前节点符合角色识别特征,例如2个EDU的发言内容都提及了同一个角色,则构建1条有向边,方向由先发言EDU指向当前EDU。指代图的连接示例见图3。
在图网络中节点信息的更新方面,使用图注意力网络为每个EDU节点更新其背景信息。以节点pi的更新为例,设Ai表示节点pi的背景信息节点的集合,pj∈Ai,j
F(pi,pj)=LeakyRelu(Wz(Wipi;Wjpj))
(4)
αij=Softmax(F(pi,pj))
(5)
(6)
式中:Wi,Wj,Wz为可学习参数矩阵;αij表示pi和pj两个节点间的注意力分数。
节点信息融合器用于融合经过时序图和指代图更新的EDU表示。首先计算时序图EDU表示和指代图EDU表示之间的注意力分数;之后将时序图EDU表示和指代图EDU表示相加,其中注意力分数作为指代图EDU表示的权重,最终得到EDU节点的完整表示,如式(7)、(8)所示。
αdc=Softmax(Wdc(di;ci)+bdc)
(7)
zi=di+ci*αdc
(8)
式中:Wdc和bdc为可学习参数矩阵;αdc表示di和ci之间的注意力分数。
3.3.3 分类器层
经过图注意力编码层后,模型已经获取到每个EDU节点的完整表示。在分类器层,本文对需要进行链接识别或关系识别的EDU对进行组合,得到组合向量gij,如式(9)所示,其中的+与*分别表示对位相加及对位相乘。式(9)的构造来源于He等[11]所提出的篇章关系分析模型,其基于余弦距离及话语关系的不对称性而设计。同时,本文也提取了该EDU对的角色识别特征及其他人工特征,共同输入分类器,如式(10)所示。
gij=(zi;zj;zi+zj;zi*zj)
(9)
hij=(gij;kij;oij)
(10)
式中:kij为角色识别特征向量;oij为其他人工特征向量;hij为完整的组合向量。
之后将完整的组合向量输入线性层分类器,进行链接识别或关系识别,见式(11)、(12)。
Pconnection=Linearconnection(hij)
(11)
Prelation=Linearrelation(hij)
(12)
式中:P表示识别结果,下标connection表示链接识别任务,下标relation表示关系识别任务;Linear表示线性层分类器。
实验所使用的数据集为本文提出的我爱我家篇章结构语料库mDialogueDSP。本文面向多方对话进行篇章结构的分析,因此以对话组为单位分割数据集及训练模型。由于数据集中存在一些样本较少的篇章关系,要确保验证集和测试集能包括全部种类的篇章关系,同时又需确保训练集有足够的训练数据,故本文按7∶1.5∶1.5的比例划分训练集、验证集及测试集。
实验所使用的基线模型为文献[6]所述的deep sequencial模型。本文使用其公开的代码及本文所构建的语料库,得到基线结果。
本文所用实验设备为 GeForce RTX 1080,PyTorch版本为1.7.1,预训练模型BERT的版本为哈工大讯飞联合实验室发布的BERT-wwm-ext(https://github.com/ymcui/Chinese-BERT-wwm),丢弃率设置为0.15,输出维度为767。由于语料中共包含117位角色,发言人编码器的输入为117维独热向量,用以表示原始发言人身份信息,输出为64维向量。图注意力网络的隐藏层维度设置为831,注意力头数设置为3,使用的激活函数为指数线性单元(exponential linear units,ELU)。实验共训练40轮,其中前15轮学习率设置为0.001,后25轮学习率设置为0.000 5。批量大小设置为8,损失函数使用交叉熵损失函数。对于链接识别和关系识别两个任务,除了分类器的输出维度分别为2和16以外,其他参数均相同。
实验采用的计算指标为F1值,其计算公式为式(13)。
(13)
式中:P表示精确率(precision);R表示召回率(recall)。
为了证明本文所提出的指代图网络的有效性,本文设计了消融实验,将指代图网络部分删除,仅保留时序图网络,将其与完整模型对比。
链接识别和关系识别的实验结果分别见表4和表5。其中,粗体数字表示本文取得的最优实验结果。DS-GAT(时序)指仅使用时序图网络,删去指代图网络。DS-GAT(时序+指代)指同时使用时序图网络和指代图网络。Cha表示在分类器中加入角色识别特征。Other表示加入其他手工特征。
表4 链接识别任务实验结果
表5 关系识别任务实验结果Table 5 Experimental results of the relation recognition task %
相比于基线模型,本文的主要优势有三点:一为在使用图网络建模某一EDU的背景信息时,只考虑其一定范围内的背景信息;而基线模型则将对话中的全部EDU都纳入背景信息的参考范围。然而从语料的统计信息可看出,基线模型所使用的语料平均对话长度为8.8个EDU;而本文语料平均对话长度为34.6个EDU,且大部分篇章关系都产生于相邻的2个EDU,故本文所提出模型中时序图的背景信息建模方式更适用于日常生活场景下的对话。二为利用角色识别特征构建了指代图网络以更新EDU表示,更加充分地利用了多方对话本身的特性。在链接识别和关系识别两个任务上,指代图网络的加入都使得模型的性能有所提升。三为在分类器层加入了角色识别特征及人工特征,实验证明了该工作对提升分类效果的有效性。
此外,关系识别任务的各个类别实验结果以及其在数据集中的占比见图4。图4中内部填充为波浪线的柱体表示关系识别任务中该篇章关系的F1值,对应左侧竖坐标轴;纯色柱体表示该类别在数据集中的占比,对应右侧竖坐标轴。从图4中可以看出,分类结果最好的几个类别在有足够样本的同时都与人工特征有较大关联,如“询问”“回答”“确认”和“使动”。而有足够样本数但分类结果不太理想的几个篇章关系,如“评论”“详述”和“继续”,根据标注者的反馈,上述3种关系在标注过程中也具有更大的标注难度,这意味着这几种关系对于人类来说同样更加难以识别。而对于样本数量较少的几个类别,除了在一定程度上能够依赖人工特征进行判断的“应答”“问题-详述”以外,分类结果都非常不理想,即存在多分类任务的标签不平衡问题。
图4 关系识别任务中各个类别实验结果Fig.4 Experimental results of each category in the relation recognition task
本文提出并构建了第一个中文的多方对话场景下篇章结构语料库mDialogueDSP,并且提出了融合角色识别信息的面向多方对话的篇章结构分析模型DS-GAT。本文基于图神经网络,对日常生活场景下的多方对话进行了针对性的图网络模型设计,使用该模型对对话文本进行编码,并融入角色识别特征及一些手工特征来辅助模型更好地理解对话。在链接识别和关系识别任务上的实验结果表明,该模型相比于基线模型,具备更好的篇章分析性能。
下一步的工作将着重于有关对话的建模,研究如何设计更好的图神经网络的连接方式,使其能更加充分地发挥图神经网络的对话建模能力;以及探究关系识别任务中的标签分布不均衡问题的解决方案,以期能提升分类结果,使其拥有更高的实用价值。