APP下载

基于多模态知识感知注意力机制的问答方法

2020-06-08张莹莹钱胜胜徐常胜

计算机研究与发展 2020年5期
关键词:图谱模态实体

张莹莹 钱胜胜 方 全 徐常胜

1(中国科学院大学 北京 100049)2(模式识别国家重点实验室(中国科学院自动化研究所) 北京 100190)

随着互联网的发展,更多人选择在网上寻找医疗健康相关知识.通过医疗健康问答网站,如春雨医生、丁香医生等,咨询者可以与专业的医生面对面交流,或者查看以往的问答记录.而额外的知识信息,能够帮助咨询者接受这个回答,从而增强医疗问答系统的可信性和透明度.图1即为1个在线医疗问答的实例和与之相关的知识.

Fig. 1 An example of question and answer图1 问答实例

基于深度学习的问答算法可以分为2类,即基于表示学习的算法[1-2]与基于交互的算法[3-4].然而,这些算法都致力于提高答案检索的准确度,却忽视了领域知识.在实际场景中,为了解答患者的医疗问题,医生往往需要学习丰富的领域知识.前人的工作[5-6]也表明,运用知识图谱,可以减少专家与普通公众之间的知识鸿沟,从而帮助公众理解专家的决策.例如GRAM(graph-based attention model)[5]和KAME(knowledge-based attention model)[7]利用层次化的实体结构,学习医疗实体的表示,并将其用于病情预测.KABLSTM(knowledge-aware attention bidirectional long short-term memory)[8]则设计了一种上下文导向的卷积神经网络,有效地将知识的表示融入到问题和回答的表示中.因此,将知识图谱应用于问答系统具有很大潜力.然而,上述的方法将知识用于丰富问题和回答表示,却忽视了问答对之间潜在的逻辑交互关系与多模态信息.

在医疗问答系统中,知识图谱(knowledge graph, KG)包含了潜在的问答对之间的交互.如图1所示,当问题中提到医疗实体“胶样癌”与“心脏”时,医生首先想到疾病“心脏胶样癌”,然后思考这种疾病的起因和治疗方法.除此之外,与实体相关的图片描述了该实体的外观信息,并可以将实体之间的关系细粒度化.如医疗知识图谱中“胶样癌”与“心脏胶样癌”的关系为“疾病相关疾病”,而额外的图像和文本信息则提供了两者是以何种形式相关的.这种隐含的语义也可以丰富实体的表示.这些基于知识图谱的交互显式地告诉患者为什么医生建议“手术移除”.这些观察到的现象驱使我们将问题/回答映射到知识图谱的实体,然后通过在知识图谱中找到连接实体对的路径,作为问答对之间潜在的交互.此外,如何用高质量的嵌入来表示路径,也是我们将多模态知识图谱应用到医疗问答系统时需要着重考虑的问题.知识图谱中不同的路径能反映医疗实体间不同的关系,但是其中一些路径可能与问答的上下文不符合,也与医生的推理逻辑不一致.问题和回答中会提到许多不同的实体,从而形成多个实体对.与此同时,同一个实体对之间也有可能存在多条路径.例如在知识图谱中,存在“痛→肿瘤→肿”与“痛→发炎→肿”2种不同的路径.虽然这2个路径包含一样的症状,但却与不同的疾病关联.因此,如何通过衡量不同路径的重要程度,是刻画问答对之间复杂关系的关键点.

为了解决上述挑战,我们提出了基于多模态知识感知注意力机制的医疗问答方法,它刻画了问答对基于多模态知识图谱的交互信息,并将之很好地融合到医疗问答的匹配中.为了刻画问答对之间丰富的交互,我们构建了一个多模态知识图谱,学习实体的表示.为了学习问答对中潜在的交互语义信息,我们使用了一种注意力机制,根据问题的上下文语义,判别每个路径的重要性.最后,我们将问题的表示、回答的表示、基于知识图谱的问答交互路径一起,输入到全连接网络,用于对结果的预测.

总体而言,我们的工作主要有3方面贡献:

1) 提出了新颖的多模态知识感知注意力机制的医疗问答方法,具体而言,我们用领域知识挖掘问答对之间潜在的交互信息,并将之用于问答匹配.

2) 构建了一个多模态医疗知识图谱,并将结构、文本语义、图像信息结合到知识图谱的表示学习中.

3) 构建了一个真实的医疗问答数据集,并用之评估我们的模型,与当前最好方法相比,我们的方法提升了2%检索准确度.

1 相关工作

1.1 与医疗健康相关的研究工作

现有的与医疗相关的工作十分丰富,包括疾病预测[9-10]、诊断[11-12]和医疗问答[6,13].DeepEHR(deep electronic health record)[14]中列举了几种分析电子病历的方法,包括多输出预测[15],住院预测[16]、电子病历表示学习[17-18]和自杀率预测[19]等.

然而,上述工作只适用于结构化数据.例如在DeepEHR中列出的方法,很大程度上依赖于电子病历;大多数医疗问答的方法,都基于TREC-CDS(text retrieval conference clinical decision support track)竞赛,在该竞赛中,问答的主题、总结和期望的回答类型都已被标注,并且可在训练的时候利用.因此,上述方法并不适用于非结构化的在线医疗问答数据.

1.2 知识图谱表示学习

基于翻译的方法,包括TransE(translation embedding)[20],TransH(translation on hyperplanes)[21],TransD(translation via dynamic mapping matrix)[22],TransR(entities and relations in distinct semantic space bridged by relation-specific matrices)[23]等,在知识图谱表示学习中取得了巨大的成功.这些方法将实体和关系映射到同一个低维向量空间,然后将关系看成是三元组(head,relation,tail)中head到tail的翻译过程.TransE基于head与relation的表示之和接近tail的表示的假设,即h+r≈t,但是它无法处理自反/一对多/多对多的关系.为了克服这个缺点,TransH将head和tail映射到与relation相关的超平面上,TransR方法将head/tail与relation映射到不同的向量空间.此外,TransD方法使用多个映射矩阵,学到实体的在不同情况下的多种表示.将多模态信息融合到知识图谱的表示学习中也是近期的一个研究热点.IKRL(image-embodied knowledge repre-sentation learning)[24]方法首先将视觉的信息融入到知识图谱的表示学习中,而文献[25]进一步地融入了文本语义信息.然而文献[24-25]都基于TransE的假设,并不能处理自反/一对多/多对多的关系.

上述方法不是未利用丰富的模态信息,就是无法处理自反/一对多/多对多的关系,为了解决上述问题,我们提出了一种方法,不仅能够将多模态信息中丰富的信息融合到知识图谱的表示学习中,也能够很好地处理自反关系.

1.3 基于交互的问答匹配

回答检索与排序是医疗问答网站的关键功能.许多已有的方法应用长短期记忆网络(long short-term memory, LSTM)、卷积神经网络(convolu-tional neural network, CNN)来学习问题、回答的表示,然后考虑词级别的交互[26-27]或社交关系[28],SMatrix(similarity matrix)[26]使用相似度矩阵来刻画语义和序列信息.K-NRM(kernel based neural model)[4]首先是由转换矩阵来刻画词级别的相似度,然后使用核池化的方法提取多层次的匹配特征,最后使用排序网络将这些特征结合在一起并用于预测.

然而,从上述基于交互的问答匹配方法只是从文本的角度挖掘问答对之间的交互.本文将连接问答对的知识图谱的路径看成是问答对之间的交互,并将之用于问答对的匹配,这样可使问答对之间的交互包含语义信息.

2 多模态知识感知的问答方法

2.1 符号说明

2.2 多模态知识感知的问答模型框架

我们的目标是计算给定问答对的匹配得分.图2列出了我们所提出的多模态知识感知的注意力的医疗问答模型,它由3个部分组成:1)多模态知识图谱的表示学习;2)基于注意力机制的路径重要性学习及问答表示学习;3)问答匹配模块.

Fig. 2 Framework of our multi-modal knowledge-aware medical question answering model图2 多模态知识感知的医疗问答模型结构

2.3 基于多模态知识图谱的表示学习

我们首先构建一个多模态医疗知识图谱,然后融合知识图谱结构、实体文本、实体图像来表示实体.多模态知识图谱指的是每个节点除了包括图谱结构信息之外,还考虑了实体的文本、图像的信息.

2.3.1 视觉模态的表示学习

Fig. 3 Example of noise images图3 噪声图片示例

大多数实体都有不止一张图片与之关联,因此需要融合多张图片的信息,得到实体最终的视觉表示.简单地将多张图片的表示求和或者求平均,会造成信息缺失.因此,我们还是在噪声值的基础上得到实体的视觉表示:

(1)

2.3.2 多模态知识图谱表示学习

为了处理自反的关系,如“疾病相关疾病”,我们采用基于TransH的方法.给定实体的结构特征eS∈d,文本特征eT∈d与视觉特征eI∈d,我们首先将它们映射到同一个空间,并将映射后head和tail的结构特征记为hS与tS.对于多模态特征,我们首先拼接文本与图像的特征,然后将它们输入到全连接层,并将映射后的多模态特征记为hM和tM.在约束的情况下,实体在relation超平面上的投影可以表示为

(2)

(3)

(4)

同式(4)可得EM,EC,别代表利用多模态信息得到的能量与利用全部信息得到的能量.

我们定义结构多模态的能量函数,它是为了驱使结构和多模态的表示映射到同一空间.

(5)

同式(5)可得EMS,考虑以上所有的能量函数,一个三元组的能量可以最终定义为它们之和:

E(h,r,t)=ES+EM+EC+EMS+ESM.

(6)

与文献[25]中的思想相似,采集负样本时我们同时以head和tail为中心,定义2个用于负样本的集合:

(7)

(8)

我们分别定义损失函数:

(9)

(10)

其中,γ是间隔,最终的loss是两者之和.

(11)

2.4 路径重要性学习及问答表示学习

1) 路径编码

基于多模态知识图谱的表示学习,我们可以定义实体最终的特征.因此,我们可以定义路径的初始表示为Xp∈L×2d,它是由路径上L个节点的表示拼接而成.然后我们定义带有残差连接的自注意力操作:

(12)

其中,WQ,WK,WV是输入X的3种变换矩阵,最终,我们路径的表示为每个单词的表示之和:

xp=sum(A(Xp))∈2d.

(13)

2) 文本编码

问题q与回答a中的词首先输入到一个嵌入层,并在词嵌入矩阵W∈|V|×d中找到对应的词的嵌入.我们用Xq∈m×d与Xa∈n×d来表示问题q与回答a然后考虑序列信息,生成q,a的表示:

xq=sum(A(Xq)),
xa=sum(A(Xa)).

(14)

3) 基于路径的问答对交互表示

路径模拟了医生回答问题时的逻辑,也可以看成是问答对之间的交互与上下文.

(15)

(16)

其中,W(1),b(1),W(2),b(2)为模型的参数,f(·)是ReLU函数,⊕为拼接操作.然后我们对权值归一化:

(17)

并根据权重对路径加权,得到最终路径的表示.

(18)

cq→a即为问答对基于知识图谱的交互,它以路径的重要性为权重进行加权,并揭示了回答问题时推理的过程.

2.5 问答匹配

至此,我们得到了问题、回答与基于路径的问答对交互的表示,下一步即为计算该问答对的匹配得分,我们首先将这些表示拼接在一起,得到该问答对的表示:

xq,a=xq⊕xp⊕xa,

(19)

然后将问答对的表示输入到一个多层感知机s(q,a),计算得到最终的分数.

我们用一个成对损失函数作为最终的优化目标:

(20)

其中,a+是与问题q相关的回答,a-是无关的回答.

2.6 优 化

为了构建端到端的网络,我们迭代更新知识图谱表示部分以及问答匹配部分.我们首先从问答对中提取对应的实体,然后以这些实体作为训练数据,在知识图谱中随机采样正样本,然后根据式(7)(8)采样负样本,然后根据式(11)更新知识图谱表示学习模块;然后找出问答对及连接问答对之间的路径,根据式(20)更新问答匹配模块.

3 实验过程和分析

3.1 数据准备

3.1.1 知识图谱

在实验中,我们使用开源知识图谱中文症状库.它是从8个中文医疗问答网站、3个中文医疗知识库和一些电子病历中构建得到的.我们从中选择了6类医疗实体,即疾病、症状、检查、科室、药品、身体部位,以及17种他们之间的关系用于实验.除此之外,我们还从谷歌图片中为每个实体爬取多个图片,并构建了多模态知识图谱.知识图谱的统计信息如表1所示:

Table 1 Statistics of Multi-modal Medical Knowledge Graph表1 多模态医疗知识图谱统计数据

3.1.2 问答数据集

我们从医疗问答网站春雨医生(2)https://www.chunyuyisheng.com/pc/qalist/中得到了问答数据,数据集中共有245 085个问答对,问题平均词数为32,回答平均词数为75,共涉及16个科室的疾病.其中预处理的过程为去除标点以及使用Jieba(3)https://github.com/fxsjy/jieba将它们分词.

3.1.3 路径提取

我们使用深度优先搜索提取路径.实验过程中,从知识图谱中提取路径费时费力.路径的数量随着路径的长度指数增长.然而,长的路径在带来更多可能连接的同时,同时也加入了更多的噪声.KBQA(knowledge base question answering)[30]中指出,在路径的跳数由2增加到3时,实验的性能明显下降.因此,我们限定路径的长度为3.

3.2 比较方法

我们选取了5种方法作为比较:

1) BOW(bag of words).词袋模型是一个在自然语言处理过程中简单而有效的模型.

2) Doc2Vec[22].它在Word2Vec的基础上学习句子的低维向量的表示.

3) SMatrix[26].它使用相似度矩阵来刻画问答对之间复杂的关系.

4) K-NRM[4].它刻画了问答对词级别的交互,并将这种交互用于文档匹配.

5) KABLSTM[8].它将知识图谱运用于问题与回答的表示.

3.3 评估方法与参数设置

我们使用精确度(Precision)和nDCG作为评估指标.精确度指的是正确的回答得到最高得分的比例,nDCG则用于评估排序.由于Precision与nDCG需要对扫描整个数据集并计算每个回答的得分,时间花费巨大,因此在评估时,我们对每个问题,采样1个正样本与n个负样本,然后在这个候选集上计算得到最终的评估结果.

至于参数设置,对于所有的方法,问题、回答、实体、关系的嵌入维度都设置为150.我们分别测试了负样本个数n=5和n=19的情况.同时,为了验证我们的方法能从大量数据中受益,我们分别使用p=30%,50%,70%的数据训练,余下数据用于测试.

3.4 实验结果分析

3.4.1 定量分析

我们在表2、表3中列出了实验结果,观察实验结果,得到3个结论:

1) 随着训练数据的增加,BOW方法的表现十分稳定,而其他方法的表现都随着训练数据的增加而变好.这表明基于表示的方法能够有效利用数据.

2) SMatrix方法与K-NRM方法的结果比BOW方法与Doc2Vec方法好,说明考虑问答对之间的交互信息后,医疗问答检索性能提高.

3) KABLSTM方法优于K-NRM方法与SMatrix方法,可以看出加入知识图谱是有效的.

Table 2 nDCG and Precision on Chunyu Dataset when n is 5

Note:pis the training data size.

Table 3 nDCG and Precision on Chunyu Dataset when n is 19

Note:pis the training data size.

3.4.2 消去分析

为了分析单模态、多模态特征对实验结果的影响,我们在春雨医生数据集上做了消去分析.如表4所示,设计了输入分别为仅含知识图谱结构信息(S)、结构信息与文本信息相结合(S/T)、结构信息与图像信息相结合(S/I),以及三者相结合(S/I/T)这4个变体.从实验结果可以看出,在4种变体中,包含了结构、文本、图像3个模态的信息结果最好,而仅包含2种模态的信息次之,并且好于仅包含单模态信息的模型.实验结果证明了我们将构建并表示多模态知识图谱对医疗问答任务的有效性.

Table 4 nDCG and Precision on Chunyu Dataset with Variants when n is 5

Note:pis the training data size.

3.4.3 注意力与问答交互分析

我们分析了连接问答对路径之间的权重.如图4所示,问题与回答中的词可以映射到知识图谱中的实体,下方为多模态医疗知识图谱上的路径,路径上实体颜色的深浅代表该路径的重要性.一条从问题中的实体到回答中实体的路径可以看成是医生回答问题时推理的过程.如当用户提到“脱皮”时,医生首先对其起因进行思考,如可能患有“手部湿疹”等,然后给出他的建议.

Fig. 4 Answer example图4 回答示例

3.4.4 知识图谱表示学习分析

尽管加入了知识图谱之后,我们模型的问答准确性相比有所提升,证明多模态知识图谱表示学习的方法能够提升实体与关系的表示.由于与问答模块一起训练时,知识图谱被部分训练,因此很难评估多模态信息对知识图谱表示学习的影响.因此,我们将知识图谱表示学习模块单独割裂出来,并与另外知识图谱表示学习的方法进行比较.将我们的方法和TransH方法与Base方法[25]相比较,同时处理三元组分类的任务.我们使用70%的三元组用于训练,测试数据中包括50%的真样本与50%的假样本.表5列出了3种方法在17种关系上三元组分类的平均准确率、方差与最大值.结果表明:我们的方法很好地融合了两者的优势,既有效地利用了多模态信息,又可以处理复杂的自反/一对多/多对多关系.

Table 5 Classification Accuracy of Triples表5 三元组分类准确度

4 总 结

在本文中,我们提出了一个端到端的多模态知识感知的医疗问答框架,利用多模态医疗知识图谱,生成了问答对之间潜在的交互.我们首先构建了一个多模态知识图谱,并学习了实体的表示,从而形成路径的表示,然后应用注意力机制,判别不同路径的重要性,从而得到问答对交互丰富表示.

猜你喜欢

图谱模态实体
基于图对比注意力网络的知识图谱补全
联合仿真在某车型LGF/PP尾门模态仿真上的应用
多模态超声监测DBD移植肾的临床应用
跨模态通信理论及关键技术初探
绘一张成长图谱
前海自贸区:金融服务实体
实体书店步入复兴期?
图表
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”