论文解读:Modeling Transitions of Focal Entities for Conversational Knowledge Base Question Answering
论文作者:Yunshi Lan, Jing Jiang
论文地址:https://aclanthology.org/2021.acl-long.255.pdf
收录会议:ACL2021
01 介绍
会话式知识库问答(Conversational Knowledge Base Question Answering, CKBQA)是探讨如何解答知识库一系列相关问题的一个研究方向。典型场景如下图所示:
▲ 图1 会话式知识库问答样例
目前,主流单轮知识库问答(single-turn KBQA)方法中,针对CKBQA问题往往存在“记忆障碍”缺陷,后续问题的回答中容易丢失历史中记录的实体信息,导致无法连贯准确地解答一系列问题。
本篇论文中,作者试图对这些隐含的实体进行建模,这些实体被作者称之为焦点实体(Focal Entities),如图1中的《伟大的盖茨比》、F. Scott Fitzgerald等等。
此外,作者提出了一种新的基于图的模型来对焦点实体的转换进行建模,应用图卷积网络(Graph Convolution Networks, GCN)导出每个问题中焦点实体的概率分布,然后将其与标准知识库问答模块结合以得到最终的答案。
作者在两个数据集上进行实验,证明了其提出方法的有效性。
02 方法
2.1 整体架构
▲ 图2 整体架构示意图
图2展示了整体架构。作者首先使用实体转换图(Entity Transition Graph)来对会话中涉及的所有实体及其交互进行建模,这些实体是候选的焦点实体。
图的边反映了会话如何从一个实体转移到另一个实体,这种转换可以帮助估计一个实体是当前焦点实体的可能性。
在会话的每一轮之后,该实体转换图由图构造器(Graph Constructor)增量构建。为了获得该图中每个实体成为焦点的可能性,焦点实体预测器(Focal Entity Predictor)根据先前的焦点实体分布和会话生成新的焦点实体分布的历史,由会话历史编码器(Conversation History Encoder)使用标准序列模型(Standard Sequence Model)进行编码。最后,将生成的焦点实体分布合并到传统的KBQA模块中,以得到最终的预测结果。
2.2 实体转移图和图构造器
如上所述,作者构建实体转移图的方式基于对焦点实体的以下直觉观察:
● 焦点实体通常是对先前问题的回答。故图中包含了所有先前的答案实体。
● 焦点实体也可能与先前问题中实体有关。故图中包含了查询的那些实体。
● 焦点实体往往保持不变,在会话中具有“粘性”属性,故为每个节点添加了一个自环边。
● 焦点实体经常回到与第一个问题相关的某个实体。故总是添加从最新答案实体到与第一个问题相关的实体的边。
● 如果一个实体在会话历史中经常被讨论,它可能更有可能成为焦点实体。故在图中为这些实体提供了更多的连接性。
▲ 图3 实体转移图的具体例子
2.3 会话历史编码器
会话历史编码器的目标是对先前问题的文本上下文及其预测答案进行编码,特别是实体以外的信息。会话历史编码器的输出是一个单独的向量,它将作为附加输入传至焦点实体预测器中。
与以前的方法类似,作者利用分层编码器(Hierarchical Encoder)对会话历史进行编码,其中低层独立编码单个问题和预测答案,高层编码连接问题和答案序列以导出单个向量。
具体来说,作者在底层采用BiLSTM网络编码每个问题和每个预测的答案。高层编码器利用Recurrent Network对序列进行编码生成一系列hidden vector,最后一个hidden vector用于输出。
值得注意的是,虽然作者的会话历史编码器方法承袭了之前的工作,但之前的工作往往直接使用序列编码结果作为最终表示,引入了噪音。相比之下,作者的方法仅使用它来帮助预测焦点实体的分布。
2.4 焦点实体预测器
2.5 训练目标
模型的训练目标来自两部分:
(1) 尽量减少错误回答问题造成的损失。使用了标准的交叉熵损失函数。
(2)监督焦点实体预测器的训练。本文按如下方式生成训练数据:如果有一个实体可以生成至少一个查询并得出正确答案,作者将其视为该问题的正确焦点实体,分配值1,否则为0。最后,作者对分布进行归一化后尝试最小化KL散度。
03 实验
3.1 主要结果
▲ 表1 Acc/F1对比结果
作者在大规模CKBQA数据集ConvQuestions和CSQA数据集子集ConvCSQA上进行了方法评估。采用平均准确率和F1分数来衡量性能。
作者的方法在ConvQuestions和ConvCSQA上的性能分别比现有技术高9.5个百分点和14.3个百分点。证明了作者的方法在两个数据集上的有效性。
通过实验结果可以发现,类似ConvHistory等仅通过标准的两级分层序列模型简单地对会话历史进行建模并不总能提高性能。这表明以加深加厚模型的蛮力方式去包含所有历史会话信息可能无法有效捕获最重要的会话上下文信息。
3.2 进一步分析
▲ 表2 消融实验结果
▲ 表3 不同方法随着对话轮次增加的准确率下降情况
▲ 图5 两个对话案例中预测的焦点实体分布(每个彩条表示焦点实体的概率)
作者通过消融实验验证了其各个模块的有效性(表2),比较了不同方法在多轮问答中准确率的衰减程度证明了在多轮问答中的高效性(表3),并最终用两个案例展示了其焦点实体预测的准确性(图5)。
此外,作者细致分析了焦点实体预测错误的情况,以为后续工作做铺垫。作者发现错误主要是由于以下原因:
(1) 错误关系预测(43%):本文模型中的关系预测是由一个简单的答案预测器完成的,关系易预测错误。后续可以改用性能更佳的预测器。
(2) 查询生成失败(29%):很多情况下,由于知识库的不完整或查询生成器的限制,很难从知识库中收集到正确的查询。
(3) 主题实体的错误链接(22%):问题的主题实体的识别错误也会导致导致最终答案的错误,因为如果实体链接器将问题链接到错误的实体,则不太可能正确地回答问题,这是KBQA面临的普遍挑战。
04 结论
在本文中,作者提出了一种知识库会话中焦点实体的预测和建模的方法,以改进CKBQA。作者的方法准确率超过了目前的两个基线方法,并在两个基准数据集上实现最先进的性能。
05 启发
本文留给了我们一些启发和思考:
(1) 当需要解决上下文关联的序列问题的时候,传统利用静态信息进行编码或者简单将历史信息叠加编码往往无法起到很好的效果,存在大量噪声。而通过分析序列中共性特征进行有效编码或者概率推导能进一步提高序列问题的准确率。常用的框架为GCN、注意力模型等等。
(2) 目前的深度学习方法逐渐朝着精细化、可解释性的方向发展,不再是曾经一个或几个通用模型针对不同问题迁移一下、组合一下、调个参数就行的。现在的方法越来越需要解释清楚 “为何有用?”和“能够不用?”这两个问题。
当然,目前绝大部分创新模型仍然以直觉的思维方式进行设计和架构,其有效性往往只能从实验数据角度证明,而很少能从严密逻辑或者数学推导中验证,如何看待这个问题留待读者思考。