CN117573843B - 一种基于知识校准和检索增强的医疗辅助问答方法及系统 - Google Patents

一种基于知识校准和检索增强的医疗辅助问答方法及系统 Download PDF

Info

Publication number
CN117573843B
CN117573843B CN202410050939.2A CN202410050939A CN117573843B CN 117573843 B CN117573843 B CN 117573843B CN 202410050939 A CN202410050939 A CN 202410050939A CN 117573843 B CN117573843 B CN 117573843B
Authority
CN
China
Prior art keywords
knowledge
model
base
medical
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410050939.2A
Other languages
English (en)
Other versions
CN117573843A (zh
Inventor
谢云
胡勇超
李强
龙利民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tuling Artificial Intelligence Institute Nanjing Co ltd
Original Assignee
Tuling Artificial Intelligence Institute Nanjing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tuling Artificial Intelligence Institute Nanjing Co ltd filed Critical Tuling Artificial Intelligence Institute Nanjing Co ltd
Priority to CN202410050939.2A priority Critical patent/CN117573843B/zh
Publication of CN117573843A publication Critical patent/CN117573843A/zh
Application granted granted Critical
Publication of CN117573843B publication Critical patent/CN117573843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于知识校准和检索增强的医疗辅助问答方法及系统。该方法包括以下步骤:微调基座模型;评估微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型;结合医学专业知识和医院的信息创建知识库,随即知识库内的每个文档创建树状索引;对知识库中每个文档片段和节点进行特征提取,进而构建向量数据库;识别用户意图并与向量数据库进行相似度匹配,进而结合知识图谱召回相关联知识数据;整合用户意图及相关联知识数据构建提示语模板,输入至大语言模型得到用户问题的答案。本发明通过对基座模型进行错误校准,克服其存在事实偏差的问题,且通过对相似度进行加权,增大向量相似度的区分度以减少漏检和误检。

Description

一种基于知识校准和检索增强的医疗辅助问答方法及系统
技术领域
本发明涉及医疗辅助诊断技术领域,具体为一种基于知识校准和检索增强的医疗辅助问答方法及系统。
背景技术
大语言模型(Large Language Model,简称LLM)是基于transformer架构的自然语言处理模型,参数量大且经过了大量文本的训练,因此,LLM可以贴近人类的语言认知和生成过程。与传统的NLP模型相比,LLM能够更好地理解和生成自然文本,并具备一定的逻辑和推理能力,在文本分类、对话和生成等任务中展现出巨大潜力。从头设计和训练LLM的成本很高,随着一批表现优异的预训练模型的开源,如LLaMa2、ChatGLM、Bloom、Ziya等,基于开源模型的微调工作也成为了研究的热点。为适应各种特定场景,通常利用垂直领域数据对基座LLM进行微调形成行业大模型,例如,北大团队发布的ChatLAW模型是采用法律相关数据对Ziya-LLaMA-13B-v1模型进行了微调,度小满公司基于金融数据微调了Bloom-176b模型得到了金融领域的轩辕大模型。
注入了行业高质量数据的微调模型可以在特定领域有更好的表现,但LLM在推理过程中依然容易出现幻觉,尤其当模型对用户问题相关知识没有“记忆”,针对这类问题,可以借助大模型的上下文学习能力,为模型注入新知识。常见做法是引入向量数据库,实现向量RAG,RAG即为检索增强生成,是Retrieval Augmented Generation的缩写。通过向量模型将语义压缩到多维的空间里的向量,借助向量数据库进行相关知识检索,将召回的片段与问题进行组合,通过模型上下文学习来减轻模型“幻觉”。采用领域数据对基座模型进行微调并利用模型上下文学习能力,是将LLM应用于特定垂直领域的常见方案。
目前医疗大模型的主要研究重点为数据构建和训练推理方案优化。采用构建的领域高质量数据对LLM进行微调以提升其在该领域上的表现,但基座模型训练数据的清洗相对不够充分,因此模型往往存在一些事实知识偏差。
为了缓解模型不具备特定知识时出现的“幻觉”问题,常见的方案是借助向量数据库实现对相关知识召回,再依靠LLM的上下文学习能力,模型结合召回的专业知识进行推理生成。此类RAG方案一般先将文档切片分段,然后采用向量模型将文本表示为一个低维稠密的向量,该过程称为embedding。向量可以离线存储于向量数据库中,在实际推理时根据问题的特征向量与向量数据库中向量的相似度召回相关知识,结合问题和召回知识构建模型的最终输入,即Prompt。最后借助LLM的上下文学习能力,让模型结合输入的更实效和专业的知识进行推理,完成答案输出。这个过程中,因为用户表达较口语化,直接采用用户问题,增加了LLM识别用户意图的难度,且不利于检索。
此外,检索时的相似度阈值选取亦是一大难题,一般而言,相似度阈值过高时最终保留的文档数较少,会导致某些有效知识点无法命中,反之,会引入很多无效知识点、不相关的内容与噪声会影响上下文学习效果,另外因LLM的最大输入长度限制,通常会截断处理,容易遗漏有效的知识点。
发明内容
基于此,有必要针对现有医疗大模型存在事实知识偏差的问题,提供一种基于知识校准和检索增强的医疗辅助问答方法及系统。
为实现上述目的,本发明采用了以下技术方案:
一种基于知识校准和检索增强的医疗辅助问答方法,包括以下步骤:
构建医疗知识数据集,经数据清洗后输入至基座模型进行训练微调;
依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型;
结合医学专业知识和医院的信息创建知识库,对知识库创建关键词,且将知识库内的文档切分成片段,对每个文档片段进行摘要提取,进而将提取出的关键信息作为节点,以自下而上的方式对知识库内的每个文档创建树状索引;
通过微调后的中文语义向量模型对知识库中每个文档片段和节点进行特征提取,进而构建向量数据库;
获取用户问题并进行行业关键词提取,整合用户问题和行业关键词与向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据;
整合用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至大语言模型得到用户问题的答案。
进一步的,依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准的具体步骤如下:
S21.计算微调后的基座模型对事实知识掌握程度的指标
;其中,/>表示平滑因子,/> 表示模型对知识正确关系的预测概率,/> 表示模型对知识错误关系的预测概率,/>表示不同/>的期望;
S22.计算微调后的基座模型的自适应权值
;其中,/>表示预设阈值;
S23.将指标与预设阈值/>进行数值对比,根据对比结果作出如下决策:
(1)若≤/>;则判定微调后的基座模型未掌握该事实正确知识,将额外知识注入微调后的基座模型,微调后的基座模型依据自适应权值W进行校准;
(2)若>/>;则判定微调后的基座模型已掌握该事实正确知识。
进一步的,获取用户问题并进行行业关键词提取,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据的具体步骤如下:
S31.对用户问题进行关键词提取,将提取出的行业关键词与所述知识库的关键词进行高级模糊匹配,识别用户意图,明确用户问题所涉及的知识领域;
S32. 遍历每个行业关键词,取行业关键词的特征向量和用户问题的特征向量进行加权拼接得到搜索的特征向量;
S33.根据用户问题所涉及的知识领域确定搜索所述向量数据库的范围,并将搜索的特征向量与所述向量数据库所确定范围的向量数据进行相似度计算,通过Multi-Weighted方式对计算出的相似度按树状索引的节点位置进行加权融合,并根据加权融合的相似度召回的文档片段或节点作为所述向量数据库的召回结果;
S34.通过知识图谱进行检索增强,与所述向量数据库的召回结果连接语句,进而得到所述用户问题对应的相关联知识数据。
进一步的,步骤S33中Multi-Weighted方式的具体步骤如下:
获取搜索的特征向量与所述向量数据库所确定范围的向量相似度计算结果;
以文档片段为基线,获取与搜索的特征向量进行相似度计算的向量数据所在的节点层,进而对该向量数据的上层节点的相似度进行加权计算,得到加权相似度;其中,i、j表示节点层级,/>表示第j层级的相似度;
筛选出加权相似度大于设定阈值的文档片段或节点,按照相似度由大到小的顺序召回额定数量的文档片段或节点作为所述向量数据库的召回结果。
进一步的,中文语义向量模型的微调具体步骤如下:
S51.根据查询的问题、相关的正例文档/>及负例文档/>计算目标函数对中文语义向量模型进行初步微调;其中,目标函数为/>,d表示文档,IB表示负例;
S52.同时采用困难负例Hard和负例IB最小化对比目标函数对中文语义向量模型进行二次微调;其中,最小化对比的目标函数为:
进一步的,整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案的具体步骤如下:
获取用户问题的行业关键词,将用户问题及行业关键词置于头部,随后拼接知识图谱检索结果,将召回的相关联知识数据按照相似度由大到小的顺序编号,并从两端向中部排序后拼接在尾部,得到初步提示模板;
在初步提示模板中嵌入衔接提示词,构成提示语模板,输入至所述大语言模型得到所述用户问题的答案。
进一步的,对所述知识库内的文档切分成片段时,在保持完整的句子或段落的情况下,每段不超过300词;对每个文档片段进行摘要提取时,提取的摘要不超过80词。
进一步的,所述医疗数据集包括真实患者咨询数据集、开源医学知识库、医学问答数据集、安全相关数据集以及询问链格式的对话数据集。
进一步的,所述知识库包括药品知识库、疾病知识库、临床实验知识库、医学文献知识库、医学影像知识库、流行病学知识库、医学词典和术语知识库,以及医院的历史诊治知识库、本院医生和科室信息知识库。
本发明还涉及一种基于知识校准和检索增强的医疗辅助问答系统,其应用于前述的基于知识校准和检索增强的医疗辅助问答方法,包括数据采集模块、数据清洗模块、微调模块、校准模块、知识库创建模块、向量数据库构建模块、数据检索模块和提示语优化模块。
数据采集模块用于获取医疗知识数据集、医学专业知识和医院的信息;
数据清洗模块,其用于清洗医疗知识数据集;
微调模块用于采用清洗后的医疗知识数据集微调基座模型;
校准模块用于依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型;
知识库创建模块用于结合医学专业知识和医院的信息创建知识库,对所述知识库创建关键词,且将所述知识库内的文档切分成片段,对每个文档片段进行摘要提取,进而将提取出的关键信息作为节点,以自下而上的方式对所述知识库内的每个文档创建树状索引;
向量数据库构建模块用于通过微调后的中文语义向量模型对所述知识库中每个文档片段和节点进行特征提取,进而构建向量数据库;
数据检索模块用于获取用户问题并进行行业关键词提取,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据;
提示语优化模块用于整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案。
与现有技术相比,本发明的有益效果包括:
1、本发明依据对比知识评价方法评估出基座模型中的一些不正确的事实知识,向基座模型注入正确的知识,实现对错误事实知识的校准,得到后续用于推理答案的大语言模型,克服模型存在事实偏差的问题;即首先依据对比知识评价方法评估出模型中的一些不正确的事实知识,随后设计了一个简单轻量的优化模块,用于校准模型的事实知识。通过对优化模块进行训练,就可以向模型注入正确的知识,实现对错误事实知识的校准。
2、本发明设计了Muti-weighted方法对相似度进行加权,增大向量相似度的区分度以减少漏检和误检;为了弥补向量数据库在多知识点聚合时的不足,引入了信息密度更高的知识图谱检索增强生成;
3、本发明通过提取用户问题的行业关键词,辅助大语言明确用户意图,并将提取的关键词与知识库进行模糊匹配,缩小搜索域,提高检索效率;即通过微调后的KeyBert模型提取问题的关键词,目的是将输入转化为医疗领域的行业关键词,辅助大语言模型明确用户意图,并将提取的关键词与数据库提前设计文档标签进行模糊匹配,这样可以缩小搜索域,提高检索效率。此外,将提取的行业关键词的的特征向量与用户问题的的特征向量进行加权拼接,构成用于搜索的特征向量;
4、本发明通过大语言模型对输入的位置敏感的先验结论,构建提示语模板,按规则将问题和召回的知识进行拼接,帮助大语言模型更好的理解输入,明确需求,提高输出质量。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。其中:
图1为本发明介绍的一种基于知识校准和检索增强的医疗辅助问答方法的流程图;
图2为基于图1的大语言模型的主要结构框图;
图3为基于图1的知识库文档的树状索引示意图;
图4为基于图1的提示语模板的主体示意图;
图5是基于图1的医疗辅助问答的流程示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
实施例1
请参阅图1,本实施例介绍了一种基于知识校准和检索增强的医疗辅助问答方法,其主要基于大语言模型结合相应的专业知识对用户问题给出相应的回答。本实施例的医疗辅助问答方法包括以下步骤:
第一步.构建医疗知识数据集,经数据清洗后输入至基座模型进行训练微调。
基座模型采用ChatGLM2-6B,该步骤主要的目的就是对基座模型ChatGLM2-6B进行微调。微调前需要构建医疗知识数据集,数据来源主要包括真实患者咨询数据集、开源医学知识库以及医学问答数据集。为了更贴合实际医生和用户的对话,基于开源数据构建询问链格式的对话数据集,即“病人:xxx\n医生:xxx\n病人:xxx\n医生:”的形式。鉴于医疗领域的特殊性,为进一步保证安全性,基于GPT构建了安全相关数据集,主要包括不合规问题拒答,如关于毒品、违禁品使用和违法用药等,药品安全提示,如在涉及药品的回答中提供处方药提示、药品的禁忌和注意事项等。将真实患者咨询数据集、开源医学知识库、医学问答数据集、安全相关数据集以及询问链格式的对话数据集整合组建成医疗知识数据集。需要说明的是,医学问答数据集是有问有答的形式,询问链格式的对话数据集是基于病人询问的问题进行反问,多轮对话后确认病人的真正症状。
对医疗知识数据集进行数据清洗,剔除低质量和重复数据。有了较高质量的数据后,采用LoRA(Low-Rank Adaptation)方法对模型进行微调,LoRA是一种高效的参数微调技术,冻结预训练模型权重,通过低秩分解模拟参数更新,仅对额外极少的参数进行训练便可实现模型高效的微调。
第二步.依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型。
虽然基座模型ChatGLM2-6B会进行预训练,虽然预训练的训练数据集规模较大,但是难免会存在一些低质量数据,这些数据会导致预训练模型“存储”了一些不准确的知识。由于微调的数据量相对较少,因此微调后的模型对错误知识的矫正相对有限。本实施例为了校准模型中错误的医学知识,设计了优化模块。因此本实施例所采用的基座模型ChatGLM2-6B包含优化模块。优化模块由两层全连接层组成,连接在基座模型ChatGLM2-6B的transform模块上,结合图2可知,transform模块上的残差连接&归一化层对应连接了优化模块。
首先,在矫正前需要判断基座模型中哪些知识是错误的。使用表示正确的事实,其中/>表示实体,/>表示对象,/>是正确关系,/>是错误的关系。将基座模型以M表示,采用指标/>,其中/>是平滑因子,/>表示模型对知识正确关系的预测概率,/>表示模型对知识错误关系的预测概率,/>表示不同/>的期望,为了结果更稳定,使用了不同的/>的期望。如果模型M知道事实则有/>。设置一个阈值/>,如果/>则说明模型M没有掌握该事实。基于已有知识构建/>和/>,根据阈值筛选出模型M未掌握的知识点。然后通过优化模块对错误知识进行校准。在训练阶段计算目标函数loss时,对目标函数loss应用自适应权值/>。目的是通过指标/>来控制优化模块的作用程度,/>大于/>时,模型M几乎不需要额外的知识注入。而当小于/>,模型M需要依赖注入额外的知识去做矫正,即在训练时冻结原M所有层,只更新优化模块,模型M其他模块保持固定,校正后的M构成了本实施例所需的大语言模型。
第三步.结合医学专业知识和预先选定好的医院的信息创建知识库,对所述知识库创建关键词,且将所述知识库内的文档切分成片段,对每个文档片段进行摘要提取,进而将提取出的关键信息作为节点,以自下而上的方式对所述知识库内的每个文档创建树状索引。
创建的知识库包含药品知识库、疾病知识库、临床实验知识库、医学文献知识库、医学影像知识库、流行病学知识库、医学词典和术语知识库外,为了给大语言模型注入医院的信息,创建历史诊治知识库、本院的医生和科室信息知识库,这样做的目的是在问答过程中可以结合本院信息推荐适合科室和医生,并进行简单的介绍。
为上述知识库创建特征关键词,如下所示,在实际应用时,还可根据具体情况对知识库进行增改,知识库的关键词如下:
{药品知识库:[药名,副作用,使用方法,规格,禁忌,剂型,剂量,处方药,吃药,成分];
疾病知识库:[病因,症状,诊断,治疗,预防,流行病学,并发症,病程,患病率,疾病分类,疾病阶段,疾病机制,疾病评估,临床表现,疾病影响];
医学文献知识库:[作者,摘要,关键词,参考文献,研究方法,文献来源,文献分类,期刊,研究对象,研究结果];
医学影像知识库:[MRI,CT,X射线,超声,放射,图像解析,影像学,影像分析,影像对比,影像诊断,影像报告,影像参数,影像技术,影像医学];
流行病学知识库:[死亡率,感染率,流行病学研究,流行源,病例研究,疾病爆发,流行病学模型,流行病学特点,风险因素,流行病学调查,流行病学数据,流行病学分析];
医学词典和术语知识库:[医学名词,专业词汇,医学解释,词典定义,医学专有名词,专业术语,医学缩写];
历史诊治知识库:[历史病例,诊疗记录,相似病情,病历摘要,既往病史,治疗方案,治疗效果,诊断结果,病情跟踪];
医生和科室知识库:[专科医生,医生简介,医生专长,医生资质,科室分类,科室设备,科室简介,医生团队,医生出诊时间,科室位置]}。
读取知识库内的文档/图片/表格等信息并进行分段,在保持完整的句子/段落的情况下,每段不超过300词,输入不设置过长的目的是减少召回冗余数据。对每个片段采用KeyBert模型进行摘要提取获取关键信息,限制80词以内。将片段的关键信息作为叶子节点,对多个叶子节点进行总结,形成父节点,自下而上的方式构建树状索引,直到得到最终的根结点。如图3所示,被切分的文档片段提取的摘要节点(叶子节点)的节点等级为0,即图3中所示的节点1、节点2、…、节点N。由相邻的两个摘要节点继续摘要提取构成其父节点,即节点层级为1的父节点1、父节点2…。继续向上为节点层级为2的父节点,自下而上直至最高等级的根节点。按照该方式为每个文档创建树状索引。
第四步.通过微调后的中文语义向量模型对所述知识库中每个文档片段和节点进行特征提取,进而构建向量数据库。
中文语义向量模型采用BAAI/bge-large-zh中文语义向量模型对知识库内每个文档片段和树索引的摘要进行特征提取。该语义向量模型借鉴了RetroMAE(Retrieval-oriented Language Models Via Masked Auto-Encoder)的训练方案,较复杂的编码器搭配简单的解码器,解码器部分极度依赖句子的特征向量,迫使编码器能够提炼更深的语义信息,从而提升编码器嵌入的质量。编码器部分用来提取句子深层语义,选择学习参数的最后一个隐藏状态作为文本的特征向量表示。比如模型的输入量为X,转码后表示为,经编码层文本特征提取表示为/>
下面具体说明中文语义向量模型的微调方式。微调时采用对比学习的目标函数对编码器部分进行微调。输入格式为三元组,其中/>是查询的问题,/>和/>分别是相关的正例文档和负例。对编码器微调分为两步。
第1步采用in-batch(简称IB)负例策略,除了三元组里的负例,将一个采样数据Batch内的不相关数据看作负样本以减少重复计算和提高训练效率。此时的目标函数为,其中/>用来衡量问题和文档间的相关度,/>是temperature参数,用来控制平滑程度。d表示文档,hq T表示查询问题的特征向量,hd表示文档片段的特征向量。
第2步是同时采用困难负例(hardnegatives)和IB负例最小化对比目标函数。目的是让微调后的中文语义向量模型提升对较难负例的识别能力,以更有效地应用于后续的检索任务。采用微调后的中文语义向量模型对第三步的知识库进行特征提取,并采用milvus架构构建向量数据库。
第五步.获取用户问题并提取其对应的行业关键词,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据。
这一步主要的目的是针对用户问题进行意图识别,进而召回向量数据库中相似度最大的相关联知识数据。也就是对用户问题进行关键词提取,完成意图识别,基于意图识别结果明确向量数据库检索范围,计算知识向量数据与用户问题的相似度后,应用Multi-Weighted对相似度进行加权,召回加权后相似度大于阈值的相关文档片段/节点(摘要)。此外,配合Graph RAG方法,减少基于嵌入的语义搜索所导致的不准确性。具体步骤如下:
Step1:采用微调后的KeyBert模型提取用户问题中的关键词,将提取出的行业关键词与所述知识库的关键词进行高级模糊匹配,识别用户意图,明确用户问题所涉及的知识领域。
需要说明的是,KeyBert模型的微调方式采用常见的微调方式,即用场景相关数据进行微调。采用微调后的KeyBert模型提取用户问题中的关键词可以将用户口语化输入转换为医疗行业关键词。
Step2:遍历每个行业关键词,取行业关键词的特征向量和用户问题的特征向量进行加权,例如行业关键词特征向量的权重为1.2,用户问题的特征向量为1,加权后相加作为搜索的特征向量。
Step3:根据用户问题所涉及的知识领域确定搜索所述向量数据库的范围,并将搜索的特征向量与所述向量数据库所确定范围的向量数据进行相似度计算,通过Multi-Weighted方式对计算出的相似度按树状索引的节点位置进行加权融合,并根据加权融合的相似度召回的文档片段或节点作为所述向量数据库的召回结果。
Multi-Weighted对相似度按节点位置进行加权融合方式具体为:将文档片段作为基线,此时节点层级,树状索引的节点的节点层级/>,其父节点节点层级/>,以此类推,设任一文档的根节点层级/>。对于每个节点,加权相似度
,/>表示第j层级的相似度。经过加权后,相似度的区分度更大。召回加权相似度大于设定阈值的文档片段或者是节点,限制总数不超过15条,作为向量数据库的召回结果。
Step4:通过知识图谱进行检索增强,与所述向量数据库的召回结果连接语句,进而得到所述用户问题对应的相关联知识数据。
向量数据库检索容易遗漏互相关联的文档块,从而导致信息检索不完整。知识图谱可以对原始数据进行的更小粒度的查询和搜索,因此借助知识图谱进行检索增强,即Graph RAG。基于开源CMeKG(Chinese Medical Knowledge Graph)工具进行医学关系提取,先根据用户问题和Step1提取出来的行业关键词进行实体识别,再进行子图检索,按指定的搜索深度(选取2)检索得到搜索结果,最后将召回的实体和关系连接成句子,即为用户问题对应的相关联知识数据。
第六步.整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案。具体步骤如下:
1)获取用户问题的行业关键词,将用户问题及行业关键词置于头部,随后拼接知识图谱检索结果,将召回的相关联知识数据按照相似度由大到小的顺序编号,并从两端向中部排序后拼接在尾部,得到初步提示模板。
由于大语言模型对输入中不同位置的文本信息利用能力是不同的,大语言模型对上下文中间部分的知识点提取较差,因此需要对召回的若干条文档片段进行合理的位置安排以提高模型的回答效果。拼接的规则为:将用户问题和提取的行业关键词放到Prompt(提示语模板)头部,接着是知识图谱检索结果,最后拼接向量数据库检索召回的文档片段/节点。其中,向量数据库召回按照相似度排放,相似度越大的文档放到两端,如图4所示,图中知识的序号是按召回相似度从大到小排序后的序号。
2)在初步提示模板中嵌入衔接提示词,构成提示语模板,输入至所述大语言模型得到所述用户问题的答案。
整合已有信息,构建提示语模板的实际操作如下:对大语言模型进行如下角色设定(系统提示):“你将扮演一名经验丰富的医生,引导用户进行症状详细描述,当你根据已有信息可以判断出病症,耐心给出专业解答,若涉及用药请给出禁忌说明并建议就医”。LLM的输入构成为系统提示+用户提示,其中用户提示=问题+“这句话的关键词为:”+关键词+“参考如下关系:”Graph RAG结果+“参考如下信息:”向量数据库召回结果+“结合以上信息进行回复”。将以上输入到微调后的大语言模型中,得到推理结果。
在多轮问答过程中,除首轮外,后续问答需将用户和模型的历史对话也作为输入的一部分,但因模型输入的限制,选择保留最近10轮的对话,流程如图5所示。离线进行知识库和知识图谱的构建,知识库通过特征关键词构建意图索引,以及通过文档提取、分段、摘要提取创建树索引,然后通过文本转向量创建向量索引,形成知识库。知识图谱直接通过开源资源进行图谱构建。在线将用户问题进行文本转向量,同时对用户问题进行关键词提取,进行意图识别后结合用户问题向知识库检索,召回候选的文档片段或节点(摘要),并通过用户问题和其行业关键词进行知识图谱检索,将两种检索方式知识融合后构建提示语模板,输入至大语言模型后得到答案反馈给用户。
综上,本实施例的主要流程是先采用高质量医疗领域数据集对基座模型ChatGLM2-6B进行微调,并对微调后的模型进行事实知识评估,明确错误知识后应用设计的优化模块进行错误知识进行校准,得到用于后续推理的大语言模型。创建医疗知识库并为各知识库设计特征关键词,知识库里每个文档的摘要自下而上形成每个文档的树状索引。对上述文档片段和摘要采用微语义向量模型进行特征提取,创建向量数据库并记录文档摘要之间层级关系。以上部分均可离线完成。当用户向LLM输入问题后,先采用KeyBert模型提取用户问题中的关键词,将关键词与知识库的特征关键词进行匹配,明确用户意图和知识库检索范围。构建搜索的特征向量并采用Multi-weighted进行相似度加权,完成相关知识检索。与此同时,采用知识图谱进行进一步检索增强。最后,设计提示语模板,将整合后的提示语模板作为大语言模型的实际输入,完成当次问答。多轮对话重复在线过程。
实施例2
本实施例介绍了一种基于知识校准和检索增强的医疗辅助问答系统,包括数据采集模块、数据清洗模块、微调模块、校准模块、知识库创建模块、向量数据库构建模块、数据检索模块和提示语优化模块。
数据采集模块用于获取医疗知识数据集、医学专业知识和医院的信息;
数据清洗模块,其用于清洗医疗知识数据集;
微调模块用于采用清洗后的医疗知识数据集微调基座模型;
校准模块用于依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型;
知识库创建模块用于结合医学专业知识和医院的信息创建知识库,对所述知识库创建关键词,且将所述知识库内的文档切分成片段,对每个文档片段进行摘要提取,进而将提取出的关键信息作为节点,以自下而上的方式对所述知识库内的每个文档创建树状索引;
向量数据库构建模块用于通过微调后的中文语义向量模型对所述知识库中每个文档片段和节点进行特征提取,进而构建向量数据库;
数据检索模块用于获取用户问题并进行行业关键词提取,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据;
提示语优化模块用于整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案。
本实施例具有和实施例1相同的有益效果。
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。

Claims (8)

1.一种基于知识校准和检索增强的医疗辅助问答方法,其特征在于,其包括以下步骤:
构建医疗知识数据集,经数据清洗后输入至基座模型进行训练微调;
依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型;
结合医学专业知识和医院的信息创建知识库,对所述知识库创建关键词,且将所述知识库内的文档切分成片段,对每个文档片段进行摘要提取,进而将提取出的关键信息作为节点,以自下而上的方式对所述知识库内的每个文档创建树状索引;
通过微调后的中文语义向量模型对所述知识库中每个文档片段和节点进行特征提取,进而构建向量数据库;
获取用户问题并进行行业关键词提取,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据;
整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案;
其中,依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准的具体步骤如下:
S21.计算微调后的基座模型对事实知识掌握程度的指标;其中,/>表示平滑因子,/> 表示模型对知识正确关系的预测概率,/> 表示模型对知识错误关系的预测概率,/>表示不同/>的期望,M表示基座模型,s表示实体,o表示对象,r是正确关系,r’是错误的关系;
S22.计算微调后的基座模型的自适应权值
;其中,/>表示预设阈值;
S23.将指标与预设阈值/>进行数值对比,根据对比结果作出如下决策:
(1)若;则判定微调后的基座模型未掌握该事实正确知识,将额外知识注入微调后的基座模型,微调后的基座模型依据自适应权值W进行校准;
(2)若;则判定微调后的基座模型已掌握该事实正确知识。
2.根据权利要求1所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,获取用户问题并提取其对应的行业关键词,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据的具体步骤如下:
S31.对用户问题进行关键词提取,将提取出的行业关键词与所述知识库的关键词进行高级模糊匹配,识别用户意图,明确用户问题所涉及的知识领域;
S32. 遍历每个行业关键词,取行业关键词的特征向量和用户问题的特征向量进行加权拼接得到搜索的特征向量;
S33.根据用户问题所涉及的知识领域确定搜索所述向量数据库的范围,并将搜索的特征向量与所述向量数据库所确定范围的向量数据进行相似度计算,通过Multi-Weighted方式对计算出的相似度按树状索引的节点位置进行加权融合,并根据加权融合的相似度召回的文档片段或节点作为所述向量数据库的召回结果;
S34.通过知识图谱进行检索增强,与所述向量数据库的召回结果连接语句,进而得到所述用户问题对应的相关联知识数据;
其中,步骤S33中Multi-Weighted方式的具体步骤如下:
获取所述搜索的特征向量与所述向量数据库所确定范围的向量相似度计算结果;
以文档片段为基线,获取与所述搜索的特征向量进行相似度计算的向量数据所在的节点层,进而对该向量数据的上层节点的相似度进行加权计算,得到加权相似度;其中,i、j表示节点层级,/>表示第j层级的相似度;
筛选出加权相似度大于设定阈值的文档片段或节点,按照相似度由大到小的顺序召回额定数量的文档片段或节点作为所述向量数据库的召回结果。
3.根据权利要求1所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,中文语义向量模型的微调具体步骤如下:
S51.根据查询的问题、相关的正例文档/>及负例文档/>计算目标函数对中文语义向量模型进行初步微调;其中,目标函数为/>,d表示文档,IB表示负例;
S52.同时采用困难负例Hard和负例IB最小化对比目标函数对中文语义向量模型进行二次微调;其中,最小化对比的目标函数为:
4.根据权利要求1所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案的具体步骤如下:
获取用户问题的行业关键词,将用户问题及行业关键词置于头部,随后拼接知识图谱检索结果,将召回的相关联知识数据按照相似度由大到小的顺序编号,并从两端向中部排序后拼接在尾部,得到初步提示模板;
在初步提示模板中嵌入衔接提示词,构成提示语模板,输入至所述大语言模型得到所述用户问题的答案。
5.根据权利要求1所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,对所述知识库内的文档切分成片段时,在保持完整的句子或段落的情况下,不超过300词;对每个文档片段进行摘要提取时,提取的摘要不超过80词。
6.根据权利要求1所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,所述医疗知识数据集包括真实患者咨询数据集、开源医学知识库、医学问答数据集、安全相关数据集以及询问链格式的对话数据集。
7.根据权利要求1所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,所述知识库包括药品知识库、疾病知识库、临床实验知识库、医学文献知识库、医学影像知识库、流行病学知识库、医学词典和术语知识库,以及医院的历史诊治知识库、本院医生和科室信息知识库。
8.一种基于知识校准和检索增强的医疗辅助问答系统,其采用于如权利要求1-7中任意一项所述的基于知识校准和检索增强的医疗辅助问答方法,其特征在于,其包括:
数据采集模块,其用于获取医疗知识数据集、医学专业知识和医院的信息;
数据清洗模块,其用于清洗医疗知识数据集;
微调模块,其用于采用清洗后的医疗知识数据集微调基座模型;
校准模块,其用于依据对比知识评价方式评估出微调后的基座模型中未掌握事实正确知识并校准,进而得到大语言模型;
知识库创建模块,其用于结合医学专业知识和医院的信息创建知识库,对所述知识库创建关键词,且将所述知识库内的文档切分成片段,对每个文档片段进行摘要提取,进而将提取出的关键信息作为节点,以自下而上的方式对所述知识库内的每个文档创建树状索引;
向量数据库构建模块,其用于通过微调后的中文语义向量模型对所述知识库中每个文档片段和节点进行特征提取,进而构建向量数据库;
数据检索模块,其用于获取用户问题并进行行业关键词提取,整合用户问题和行业关键词与所述向量数据库进行相似度匹配,并结合知识图谱召回相关联知识数据;
提示语优化模块,其用于整合所述用户问题及其行业关键词、相关联知识数据构建提示语模板,输入至所述大语言模型得到所述用户问题的答案。
CN202410050939.2A 2024-01-15 2024-01-15 一种基于知识校准和检索增强的医疗辅助问答方法及系统 Active CN117573843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410050939.2A CN117573843B (zh) 2024-01-15 2024-01-15 一种基于知识校准和检索增强的医疗辅助问答方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410050939.2A CN117573843B (zh) 2024-01-15 2024-01-15 一种基于知识校准和检索增强的医疗辅助问答方法及系统

Publications (2)

Publication Number Publication Date
CN117573843A CN117573843A (zh) 2024-02-20
CN117573843B true CN117573843B (zh) 2024-04-02

Family

ID=89864538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410050939.2A Active CN117573843B (zh) 2024-01-15 2024-01-15 一种基于知识校准和检索增强的医疗辅助问答方法及系统

Country Status (1)

Country Link
CN (1) CN117573843B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117974065B (zh) * 2024-03-01 2024-10-11 仲恺农业工程学院 一种基于chatGLM模型的交流指引系统及方法
CN117829107A (zh) * 2024-03-05 2024-04-05 成都华栖云科技有限公司 一种基于大模型的预习文案生成方法及装置
CN117851577B (zh) * 2024-03-06 2024-05-14 海乂知信息科技(南京)有限公司 基于知识图谱增强大语言模型的政府服务问答方法
CN117891930B (zh) * 2024-03-18 2024-06-11 海乂知信息科技(南京)有限公司 基于知识图谱增强大语言模型的图书知识问答方法
CN117932042A (zh) * 2024-03-21 2024-04-26 支付宝(杭州)信息技术有限公司 作为医生代理的大语言模型的评测方法和装置
CN118036753A (zh) * 2024-03-25 2024-05-14 行至智能(北京)技术有限公司 一种基于多级知识检索增强的大语言模型推理方法及系统
CN117995427B (zh) * 2024-04-07 2024-06-25 北京惠每云科技有限公司 医疗知识库构建方法、装置、电子设备及存储介质
CN118069815B (zh) * 2024-04-17 2024-07-02 苏州元脑智能科技有限公司 大语言模型反馈信息生成方法、装置、电子设备及介质
CN118093788B (zh) * 2024-04-22 2024-07-02 成都同步新创科技股份有限公司 一种基于大模型的中小企业知识库的构建与搜索方法
CN118152428A (zh) * 2024-05-09 2024-06-07 烟台海颐软件股份有限公司 一种电力客服系统查询指令的预测和增强方法及其装置
CN118170892B (zh) * 2024-05-13 2024-08-09 山东第一医科大学附属省立医院(山东省立医院) 体检报告影像学检查辅助解读方法及装置
CN118193714B (zh) * 2024-05-17 2024-07-30 山东浪潮科学研究院有限公司 一种基于层级结构和检索增强的动态适应问答系统及方法
CN118332134B (zh) * 2024-05-31 2024-09-10 湖北经济学院 基于知识图谱的语言输出方法、系统、设备及存储介质
CN118332092A (zh) * 2024-06-07 2024-07-12 清华大学 基于大语言模型技术的建筑业安全问答方法和设备
CN118363981A (zh) * 2024-06-19 2024-07-19 北方健康医疗大数据科技有限公司 一种医疗文本混合检索方法及系统
CN118395951A (zh) * 2024-06-26 2024-07-26 艾莎医学科技(潍坊)有限公司 数据自动化录入方法、装置、电子设备及存储介质
CN118504586B (zh) * 2024-07-18 2024-09-20 河南嵩山实验室产业研究院有限公司洛阳分公司 一种基于大语言模型的用户风险行为感知方法及相关设备
CN118627625A (zh) * 2024-08-12 2024-09-10 山东浪潮科学研究院有限公司 一种通过混合检索方法增强rag问答方法及系统
CN118643144A (zh) * 2024-08-19 2024-09-13 山东浪潮科学研究院有限公司 一种通用自适应问答方法、系统、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505243A (zh) * 2021-07-29 2021-10-15 深圳万海思数字医疗有限公司 基于医疗知识图谱的智能问答方法和装置
CN117077786A (zh) * 2023-07-07 2023-11-17 南京邮电大学 一种基于知识图谱的数据知识双驱动智能医疗对话系统和方法
CN117370580A (zh) * 2023-11-01 2024-01-09 东北大学 一种基于知识图谱增强大语言模型双碳领域服务方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505243A (zh) * 2021-07-29 2021-10-15 深圳万海思数字医疗有限公司 基于医疗知识图谱的智能问答方法和装置
CN117077786A (zh) * 2023-07-07 2023-11-17 南京邮电大学 一种基于知识图谱的数据知识双驱动智能医疗对话系统和方法
CN117370580A (zh) * 2023-11-01 2024-01-09 东北大学 一种基于知识图谱增强大语言模型双碳领域服务方法

Also Published As

Publication number Publication date
CN117573843A (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN117573843B (zh) 一种基于知识校准和检索增强的医疗辅助问答方法及系统
US11449556B2 (en) Responding to user queries by context-based intelligent agents
CN107748757B (zh) 一种基于知识图谱的问答方法
CN112002411A (zh) 一种基于电子病历的心脑血管病知识图谱问答方法
AU2019253908B2 (en) Expert report editor
CN110825881A (zh) 一种建立电力知识图谱的方法
CN112925918B (zh) 一种基于疾病领域知识图谱的问答匹配系统
CN115048447B (zh) 一种基于智能语义补全的数据库自然语言接口系统
CN112151183A (zh) 一种基于Lattice LSTM模型的中文电子病历的实体识别方法
CN113254604B (zh) 一种基于参考规范的专业文本生成方法及装置
CN112035627B (zh) 自动问答方法、装置、设备及存储介质
CN115841861A (zh) 一种相似病历推荐方法及系统
CN114077673A (zh) 一种基于btbc模型的知识图谱构建方法
CN116992002A (zh) 一种智能护理方案应答方法及系统
CN118170892B (zh) 体检报告影像学检查辅助解读方法及装置
Hassan Rough set machine translation using deep structure and transfer learning
CN117251524A (zh) 一种基于多策略融合的短文本分类方法
Li et al. LSTM-based deep learning models for answer ranking
CN115033706A (zh) 一种知识图谱自动补全和更新的方法
CN117316369B (zh) 平衡跨模态信息的胸部影像诊断报告自动生成方法
CN112100382B (zh) 聚类方法及装置、计算机可读存储介质、处理器
CN116719840A (zh) 一种基于病历后结构化处理的医疗信息推送方法
CN116795948A (zh) 一种面向专利问答服务的意图识别方法及对话系统
Shen et al. Semi-supervised vision-language mapping via variational learning
CN117708336B (zh) 一种基于主题增强和知识蒸馏的多策略情感分析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant