💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
文章目录
- 📖论文介绍
- 📖摘要
- 📖0 引言
- 📖1 相关工作
- 📖1.1 问答系统
- 📖1.2 语义相似度判别模型
- 📖2 系统架构
- 📖2.1 知识图谱模块
- 📖2.2 SBERT微调模型
- 📖2.3 双曲距离度量
- 📖3 实验与分析
- 📖3.1 实验数据
- 📖3.2 实验设置与评估方式
- 📖3.3 实验分析
- 📖3.3.1 语义相似度模型评估
- 📖3.3.2 不同相似度距离度量评估
- 📖3.3.3 实验结果分析
- 📖3.4 效果展示
- 📖4 结论
📖论文介绍
论文题目:融合知识图谱和语义匹配的医疗问答系统
作者信息:徐若卿 (三峡大学 计算机与信息学院, 湖北 宜昌 443000)
原文地址
📖摘要
问答系统是自然语言处理领域中的一项重要任务,常应用于医疗服务。传统的问答系统通过 知识图谱的实体关系匹配返回相应的尾实体作为答案,然而,倘若实体或关系无法识别或在知识图谱中并 不存在相应实体关系,问答将无法继续进行。为了解决这一问题,文中建立了一种融合知识图谱和语义匹 配模型的中文医疗问答混合框架,当所提问题无法在知识图谱中进行实体关系匹配时,该模型能继续从问 答对数据集中找到最相似的问题,并返回相应结果作为答案。在语义匹配模型方面,结合中文医疗相似问 题对,在Sentence-BERT模型上进行微调训练,并引入了双曲空间中的距离度量函数对句子对进行相似度 度量。在整体性能方面,该模型相较于BERT这类大语言模型能有7.16%的精度提升;在度量能力方面, 双曲度量相较于通用欧氏空间度量,如余弦度量,最高能有2.28%的精度提升和1.58%的F1值提升
📖0 引言
人工智能在提升医疗服务质量方面起着至关重 要的作用,问答系统是其中一项较受欢迎的技术之 一,它能够帮助用户实时获取问题的解答[ 1]。问答 系统由一个与患者和医疗从业者交互的界面组成, 其能将问题进行语义化分类,能够准确、直观地提
供一系列实时的问答反馈[ 2]。 近年来,问答系统技术发展迅速,尤其是在医 疗领域,各类问答系统方案被提出,典型应用包括 帮助患者回答问题的医疗助理,引导患者前往合适 服务部门的医疗服务前台等。基于传统知识图谱问答的主要方式是先对问题进行实体关系抽取,再从 知识图数据库中进行对应尾部实体的检索,以此返 回相应答案。然而,该方式在实际的应用中依旧存 在着一定局限,倘若实体关系未被成功抽取,或实 体关系不在相应的图数据库中,那么系统将无法回 答用户所提问题。
为了解决上述问题,本文对新的问答系统框架 进行了探索,当接收到用户的问题,该模型会首先 对问题进行实体关系抽取,在图数据库中进行尾实 体检索以获取答案。如果无法识别出相应实体和关 系,系统会继续尝试第二条路径,其方式是通过一 个已训练好的语义相似度匹配模型,将用户所提问 题与大型问答对中的问题进行相似度匹配,从而将 与用户问题相关的回复返回给用户[ 3]。传统的语义 匹配模块使用结构相对简易的记忆网络模型,如 MaLSTM[ 4],实验结果表明其在中文数据集上训练 的效果较差;传统的BERT模型[ 5]虽然能显著提高 训练效果,但准确率依旧不理想。本文针对具体任 务,在Sentence-BERT模型[ 6]进行微调训练,并采 用新的双曲度量[ 7]方式,使任务性能得到优化,从 而优化整个问答系统。
📖1 相关工作
📖1.1 问答系统
Cui等人设计了一种基于知识库的问答系统, 他提出自然语言问题可以被理解,并设计了一种新 的问句表示方法,能使问题精确地映射到基于知识 库的结构化查询,然而该系统性能往往取决于模板 的好坏[ 8]。
…
📖1.2 语义相似度判别模型
He等人早期提出了一种基于ConvNet的卷积网 络变体[ 3],通过整合不同尺度下多个卷积之间的差 异来推断句子相似度,然而标记数据的局限限制了 模型的性能。
…
谷歌研究院提出了革命性语言模型 BERT[ 5],其利用了Transformer的双向编码器表示, 通过对所有层的左右上下文进行联合条件化预训练 深度双向表征,在文本处理任务中表现优异,然而 由于其网络的复杂性,在受到误差干扰时性能容易下降
📖2 系统架构
传统的知识图谱问答存在实体关系无法正确抽 取或实体关系在知识图谱中无法匹配这两类问题, 导致问答系统无法有效反馈问题答案。鉴于此,本 文构建一种基于混合策略医疗问答系统,其结构框架如图1所示,其中红色部分为知识图匹配模块, 蓝色部分为语义匹配模块。该系统主要通过两个路 径来解决针对用户提问的反馈:首先,在第一条路 径需要对用户所提问题进行自然语言理解,并利用 一个医疗领域的知识库快速检索查询相关医疗问题 并返回答案;其次,在知识库无法查询答案时系统 会转入第二条路径,即通过语义匹配的方式在一个 医疗领域问答对数据库中寻找最相似问题,并返回 其对应答案
📖2.1 知识图谱模块
知识图谱能应对海量的数据变化,以满足和完 成专业性比较强的领域的人工智能问答。本文使用 的医疗知识图谱用Neo4j进行存储,其将结构化数 据存储在网络空间中,能以更自然的连接状态存储 管理相应数据,且可以提供高效的数据查询与修改。
本文参考了liuhuanyong的开源中文医疗知识 图谱,其包含7类实体、10类关系和8类属性,共 包含约4.4万量级的实体和30万量级的关系。
在知识图匹配方面,可以分为4个步骤:
- 1)用户输入问题
- 2)对问题进行意图识别
- 3)在知识图数据库匹配答案
- 4)按照模板返回答案。意图识别模块使用 Aho-Corasick算法提取疾病关键词
📖2.2 SBERT微调模型
本文使用了中文医疗问答重复句子对作为原始 数据来训练语义匹配模型,训练好的模型具备良好 的中文医疗相关语句的向量化表示能力,当知识图 谱模块无法识别出问题中的实体与关系时,问答系 统将切换路径,通过训练好的语义相似度判别模型 匹配所提问题与大规模问答对问题中最相似的目标, 返回其对应的答案。该方式必然会返回一个答案, 即便答案可能与问题无关,因此还需要设定一个阈 值,当计算的语义相似度值超过该阈值时才返回答 案,若无法超过阈值,系统理应返回诸如“无法理解” 等模板来促使用户重复提问
本文采用基于SBERT微调的方式进行训练。 SBERT由Nils等人提出,其是基于原始预训练 BERT网络的变体,由于BERT网络结构没有计算 独立的句子嵌入,这使得利用BERT获取句子嵌入 十分困难。为了突破这一限制,SBERT使用连体网 络架构[ 6]来获得语义有意义的句子嵌入,使用如余 弦距离、曼哈顿距离等距离度量方式学习模型参数, 这些距离度量可以在现代化硬件上高效地执行,使 得SBERT既可用于句子的语义相似性判别,又可用 于相似句搜索,能够较好地适应与句子相关的特定 任务
BERT使用预训练的BERT网络,通过微调产 生有效的句子嵌入,从而大大减少训练时间。SBERT 对BERT的输出进行池化操作,以此获取固定维度 的句子嵌入,模型默认采用均值池化。为了在BERT 上进行微调,模型使用了连体网络更新权重,使得生成的句子嵌入在语义上有意义,并且可以用余弦 相似度等度量函数进行比较
对于计算过程,SBERT计算两个句子u和 v 之 间的距离度量损失来优化目标函数,本文的距离度 量采用了基于双曲空间的双曲距离度量而非基于传 统欧氏空间的欧氏距离度量,损失计算使用均方误 差。本文的相似度判别任务也使用了该体系结构, 其计算流程如图2所示
📖2.3 双曲距离度量
度量学习旨在学习一个高度判别的模型,该模 型鼓励相似的嵌入在向量空间中更接近,而差异越 大的嵌入在向量空间中的距离将被拉得越远[ 7]。常 见的方法是使用编码器来提取嵌入,并使用基于距 离的损失函数进行嵌入学习。传统的度量学习通常 在欧氏空间中度量向量间的距离,而本文使用了双 曲距离函数[ 7]进行度量学习,该距离函数能够将文 本嵌入映射至双曲空间这类非欧氏空间,从而优化 对应的嵌入
📖3 实验与分析
📖3.1 实验数据
在知识图谱方面,本文在liuhuanyong的开源医 疗知识图谱上进行优化,其底层已提供了一套基础 问答模型。本文重点在于语义匹配模块,采用了基 于双曲度量的SBERT微调模型进行相应任务训练。 数据集方面,使用了中文医疗相似问题对 CMedQQ[ 11]作为训练的原始数据,这些相似问题对 均与医疗相关,在该数据集上进行训练能使模型更 准确地进行医疗语义判别。数据分布上,该训练集 约20 000条数据,正负样本比例约为1∶1。此外, 本项目对该数据集做了一定脚本处理,数据格式如 表1所示。
为了验证模型性能,本文还在Quaro英文重复 句子对数据集上继续进行试验,其格式与中文数据 集一致,共有 10 000条数据,其余设定均与中文数 据集相同。对于问答对数据,本文截取了CMedQA 数据集[ 12]部分数据
📖3.2 实验设置与评估方式
为了保证实验的公平性,除了一些特别的设置, 各模型都选取相同的参数值,数据集按照8∶1∶1 的比例划分为训练集、验证集、测试集;其余参数 的向量维度为768,批处理大小为64,训练轮数为 10。本文实验使用准确率和F1值来评价模型的性能
📖3.3 实验分析
📖3.3.1 语义相似度模型评估
为了评估SBERT微调模型的性能,将本文模型 与几种处理该任务的模型进行对比验证,这些模型 分别为MaLSTM[ 4]、HBAM [3]和BERT [5]模型。这些 模型都在句子相似度任务上取得良好的性能,特别 是BERT,表2为模型对比结果。由表2可知,本 文所使用的微调SBERT模型性能均优于对比模型
📖3.3.2 不同相似度距离度量评估
由表3可知,双曲度量在各类模型上都具更良好 的效果
📖3.3.3 实验结果分析
通过一系列实验可以得出:相较于其他与该任 务相关的模型,基于双曲度量的SBERT微调模型在 处理本文中文医疗相似问题对任务上具有更强的性 能,相比于性能优越的BERT微调模型在准确率上提升了7.16%,说明其通过对句子特定的池化和双 曲距离度量损失计算,能有效地将相似语义的句子 嵌入在特征空间中拉近,将语义差别较大的句子嵌 入在特征空间中拉远,从而较好地提取句意特征。 MaLSTM和HBAM在中文数据集上的效果明显较 差,原因是这类模型产生的初衷是用于处理如英文 这类固定分隔模式的句子,对中文句子所能捕获到 的信息有限。BERT能够较好地捕获语句中医疗相 关词汇的语义特征,但在该任务上容易过拟合,导 致性能略受影响。
由表3可知,使用双曲距离度量的SBERT在不 同的预训练模型上性能均优于其他距离度量,这表 明双曲距离度量在语义判别任务上具备一定有效性, 可将该度量进一步扩展至其他嵌入方面的应用。在 ALBERT这类轻量级模型上,使用双曲距离度量后 性能提升较大,对比余弦距离度量在准确率上有 2.28%的提升,F1值有1.58%的提升,这也表明双 曲度量对于一些轻量级模型性能有较大的提升
📖3.4 效果展示
本文构建了一个GUI界面并手动提出了几个医 学相关问题,界面显示如图3所示。图3a)为原始 的知识图谱问答系统,用户在提出问题后,由于系 统无法识别实体关系或实体关系在知识图谱中不存 在,系统无法作答;而图3b)显示在系统中加入本 文所提的语义匹配模块后,能在问答对数据集中匹 配到相似问题,并返回此问题对应的答案,回答了 图3b)中未能回答的问题。本次将语义判断阈值设 为0.5,即提出的问题与问答对中最相似问题的相似 度高于0.5时系统才返回答案,图3b)第三轮问答 展示了该情况
📖4 结论
本文提出一种基于知识图谱和语义相似度匹配 的问答系统,其充分利用了知识图谱和语义匹配各 自的优势,其中,知识图谱能够存储结构化数据, 并且能较好地维护和检索特定领域的知识;而语义 匹配模块作为该系统的重点优化模块,通过在 SBERT模型上微调训练,并且结合一种新的双曲距 离度量,得到了一个能更好地理解自然语言问题的 模型,通过该模型,系统能够利用自然语言处理这 类深度学习技术来进一步回答知识图谱无法回答的 问题。但该系统也具备一定局限,即用户在问题表 达过程中可能会使用一些知识库中医学实体和关系 的同义替换词[ 9],这种情况下系统应能够通过模糊 匹配识别出相应的实体和关系,进而继续在知识图 数据库中进行查询而非转入第二条路径,这一点可 以在图嵌入技术方面进行探索。
针对本论文,本人对其中的一部分内容不解,以下是本人经过自行查阅得到了答案
-
欧式空间是什么?
欧式空间是指具有欧几里德度量的空间,即满足平行公设的空间。在欧式空间中,直线是最短路径,平行线永不相交。欧式空间可以是任意维度的,例如二维平面、三维空间等。
在欧式空间中,距离的计算方式 是通过欧氏距离公式来确定的,即两点之间的距离等于它们坐标差的平方和的平方根。 -
双曲空间是什么?
双曲空间是一种非欧几何结构,与欧式空间相比,其曲率更大。在双曲空间中,直线是不断远离的曲线,平行线有可能相交。
双曲空间也可以是任意维度的,其具体形态由双曲几何学所描述。双曲空间有着与欧式空间不同的性质,例如在双曲空间中,三角形的内角和小于180度。
网上找了一篇介绍欧式空间和双曲空间 =>传送门
- 欧式距离度量和双曲距离度量又是什么?
下节我将学习本论文中的其中一篇经典参考文献~
挑战与创造都是很痛苦的,但是很充实。