【论文精读】融合知识图谱和语义匹配的医疗问答系统

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

文章目录

  • 📖论文介绍
  • 📖摘要
  • 📖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],这种情况下系统应能够通过模糊 匹配识别出相应的实体和关系,进而继续在知识图 数据库中进行查询而非转入第二条路径,这一点可 以在图嵌入技术方面进行探索。


针对本论文,本人对其中的一部分内容不解,以下是本人经过自行查阅得到了答案

  1. 欧式空间是什么?

    欧式空间是指具有欧几里德度量的空间,即满足平行公设的空间。在欧式空间中,直线是最短路径,平行线永不相交。欧式空间可以是任意维度的,例如二维平面、三维空间等。
    在欧式空间中,距离的计算方式 是通过欧氏距离公式来确定的,即两点之间的距离等于它们坐标差的平方和的平方根。

  2. 双曲空间是什么?
    双曲空间是一种非欧几何结构,与欧式空间相比,其曲率更大。在双曲空间中,直线是不断远离的曲线,平行线有可能相交。
    双曲空间也可以是任意维度的,其具体形态由双曲几何学所描述。双曲空间有着与欧式空间不同的性质,例如在双曲空间中,三角形的内角和小于180度。

网上找了一篇介绍欧式空间和双曲空间 =>传送门

  1. 欧式距离度量和双曲距离度量又是什么?
    在这里插入图片描述
    下节我将学习本论文中的其中一篇经典参考文献~

挑战与创造都是很痛苦的,但是很充实。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/442585.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LLM 推理优化探微 (2) :Transformer 模型 KV 缓存技术详解

编者按:随着 LLM 赋能越来越多需要实时决策和响应的应用场景,以及用户体验不佳、成本过高、资源受限等问题的出现,大模型高效推理已成为一个重要的研究课题。为此,Baihai IDP 推出 Pierre Lienhart 的系列文章,从多个维…

世界上最伟大的商业模式是“让利”,总结10套消费返利玩转市场!

文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 引言:很多企业家朋友说,生意越来越难做了,市场太卷、同行价格低、难招商、难融资、难推广,其实你是不懂“人心”&#xff…

118.龙芯2k1000-pmon(17)-制作ramdisk

目前手上这个设备装系统不容易,总是需要借助虚拟机才能实现。 对生产就不太那么友好,能否不用虚拟机就能装Linux系统呢? 主要是文件系统的问题需要解决,平时我们一般是用nfs挂载后,然后对硬盘格式化,之后…

博特激光——激光打标机工作原理介绍

激光打标机,作为现代标识技术的杰出代表,其工作原理的高效与精确性使得它在众多行业中占据了举足轻重的地位。今天,我们将深入探讨激光打标机的工作原理及其背后的科技魅力。 激光打标机的工作原理主要基于激光的高能量和聚焦特性。首先&…

AI新工具 百分50%算力确达到了GPT-4水平;将音乐轨道中的人声、鼓声、贝斯等音源分离出来等

1: Pi 百分50%算力确达到了GPT-4水平 Pi 刚刚得到了巨大的升级!它现在由最新的 LLMInflection-2.5 提供支持,它在所有基准测试中都与 GPT-4 并驾齐驱,并且使用不到一半的计算来训练。 地址:https://pi.ai/ 2: Moseca 能将音乐…

【REST2SQL】12 REST2SQL增加Token生成和验证

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 【REST2SQL】07 GO 操作 Mysql 数据库 【RE…

阿里云有免费服务器吗?在哪领?

阿里云服务器免费试用申请链接入口:aliyunfuwuqi.com/go/free 阿里云个人用户和企业用户均可申请免费试用,最高可以免费使用3个月,阿里云服务器网分享阿里云服务器免费试用申请入口链接及云服务器配置: 阿里云免费服务器领取 阿里…

数据结构之deque双端队列

一、概念: 众所周知,数据结构是用来存储数据,deque也不例外,他是集结了队列和栈的性质而成的结构,他几乎拥有所有数据结构能有的操作,看似已经大杀四方,可实际情况如何呢,那就带者这…

ssm+vue的农业信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的农业信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

C语言第三十七弹---文件操作(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 文件操作 1、文件的随机读写 1.1、fseek 1.2、ftell 1.3、rewind 2、文件读取结束的判定 2.1、被错误使用的 feof 3、文件缓冲区 总结 1、文件的随机读写…

“轻松入门Electron:一步步构建梦想中的桌面软件

在数字化的浪潮中,桌面应用依旧占据着其独特而重要的位置,不论是在企业解决方案、专业工具软件还是个性化应用领域中都是如此。随着技术的演进,创建这些应用的过程已经变得更为简单和可行,尤其是随着Electron等框架的出现。Electr…

启动查看工具总结

启动目标:2s内优秀,2-5s普通,之后的都需要优化,热启动则是1.5s-2s内 1 看下大致串联启动流程: App 进程在 Fork 之后,需要首先执行 bindApplication Application 的环境创建好之后,就开始activ…

Dynamo——常用几何形体的创建与编辑(二)

上一次,我们简单整理了一些创建几何形体的节点用法,今天我们接着整理一些,几何形体的编辑方法。 一、坐标点的平移复制 [Point.Add] 使用节点 “Vector.ByCoordinates” 生成一个向量,将该向量连接到 “Point.Add” 节点的输入端 …

使用R语言进行聚类分析

一、样本数据描述 城镇居民人均消费支出水平包括食品、衣着、居住、生活用品及服务、通信、文教娱乐、医疗保健和其他用品及服务支出这八项指标来描述。表中列出了2016年我国分地区的城镇居民的人均消费支出的原始数据,数据来源于2017年的《中国统计年鉴》&#xf…

点云数据切片及使用threejs加载

测试点云数数据大小 2.94G cesium 加载: 数据处理:cesiumlab 点云切片->cesium 3Dtiles API 加载 threejs 加载 只支持 pcd 格式,故将 lsa 数据导入,在导出为了 pcd,在将数据直接转出 pcd 会直接闪退&#xff0…

HUAWEI 华为交换机 配置 MAC 防漂移 防MAC伪造示例

组网需求 某企业网络中,用户需要访问企业的服务器。如果某些非法用户从其他接口假冒服务器的MAC 地址发送报文,则服务器的 MAC 地址将在其他接口学习到。这样用户发往服务器的报文就会发往非法用户,不仅会导致用户与服务器不能正常通信&…

FreeRTOS之消息队列的示例记录

前言 我的理解是 消息队列主要是用于任务之间存在主从关系的时候,比如说显示屏显示数据,显示屏的作用只是提供显示,数据来源应该是其他任务线程,所以就存在多个线程通信问题。 FreeRTOS中消息队列 这里我们以数组为例&#xff…

Pytorch学习 day07(神经网络基本骨架的搭建、2D卷积操作、2D卷积层)

神经网络基本骨架的搭建 Module:给所有的神经网络提供一个基本的骨架,所有神经网络都需要继承Module,并定义_ _ init _ _方法、 forward() 方法在_ _ init _ _方法中定义,卷积层的具体变换,在forward() 方法中定义&am…

Python 3 教程(1)

Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python 介绍及安装教程我们在后期中有介…

【高效开发工具系列】Windows 系统下将 Windows 键盘的 ctrl 和 alt 互换

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…