基于问卷和大模型的医学队列随访对话辅助方法及系统与流程

未命名 09-21 阅读:65 评论:0


1.本发明属于人工智能医学对话系统技术领域,涉及大语言模型和量表问诊技术,具体涉及一种基于问卷模板和大语音模型的医学队列随访轻量级文本对话辅助方法及系统。


背景技术:

2.随着现代社会人们对于医疗健康的关注度越来越高,去医院挂号问诊的现象越来越常见。传统的问诊过程存在科室选择难、排队时间长、问诊效率低、数据处理困难等问题。因此,需要设计并开发一款既能够方便患者进行初步自我筛查,又能够辅助医生进行临床诊断的智能医学对话辅助系统。
3.对话系统按照实现技术可以分为两类:管道式对话系统和端到端式对话系统。管道式对话系统一般由多个组件或模块组成,每个组件或模块都有自己的输入和输出,负责一个特定的任务,模块之间通过接口进行通信。管道式的架构可能导致“错误累积”,即前面模块引入的错误会由于向后传递而一直累积,导致系统整体表现不佳。而端到端式对话系统则是指由单个模块构成的一个完整系统,它不需要多个模块来处理不同的任务,而是可以通过深度学习模型直接将用户输入映射到输出。这种架构不仅可以减少错误传递,还具有更高的灵活性和泛化能力,以及一定的上下文感知能力。医学领域的智能对话系统服务例如microsoft的healthcare bot, adahealth的ada等,它们可以通过分析处理相关医疗数据、医学临床文献和患者的电子病历等信息,从而辅助医生进行诊断并制定治疗方案。
4.现有的医学对话辅助系统大多基于知识图谱技术或自然语言处理技术之一。其中:基于知识图谱技术的医学对话辅助系统虽具有更系统专业的医学知识库和更有逻辑的推理判断能力,但大多缺乏良好的问题理解能力以及与用户交互的灵活性和友好性;基于自然语言处理技术的医学对话辅助系统虽具有更好的问题理解和语言生成能力,但大多缺乏医学领域知识的专业性和诊断的准确性。此外,目前大多数医学对话辅助系统均以用户的提问或查询为主导,缺乏一定的系统引导,同时也缺乏临床量表的设计规范性。


技术实现要素:

5.为了克服上述现有技术的不足,本发明提供了一种基于问卷和大模型的医学队列随访对话辅助方法及系统,以知识图谱为基础,以量表问诊为主线,以大语言模型为核心的智能医学对话辅助系统,有效地利用知识图谱技术、自然语言处理技术、临床量表问诊,实现智能医学对话辅助。
6.本发明首先构建一个医学知识图谱,并在其上实现智能问答;然后设计一套由系统引导的“分诊-预问诊-聊天”的三阶段工作流程算法,接着构建微调语料集并微调大语言模型(采用chatglm-6b),最后进行系统设计,结合知识图谱、大模型和问卷模板,最终形成一个完整的轻量级医学对话辅助系统。
7.本发明能够根据用户的提问自动匹配最佳的量表问卷,然后由系统引导进行规范
化的预问诊,最后进行表达多样化的交互式对话聊天。具备聊天记录保存、知识图谱检索、图片上传、病历存储分析、疾病预判等功能。具有分诊准确率高、预问诊流程规范、聊天交互友好、响应速度快、稳定性好等优势。
8.本发明实现的基于问卷和大模型的医学队列随访对话辅助系统主要包括三个模块:医学知识图谱模块、大语言模型模块、逻辑控制模块。其中以大语言模型模块为核心,通过与其的交互实现各个功能。以逻辑控制模块为主线,设计算法控制系统整体的工作流程逻辑和边界判断管理。以医学知识图谱模块作为系统的专业知识支撑,既能从中抽取知识构成大模型微调训练语料集的一部分,又能利用其在实现系统的交互聊天功能时首先为大模型提供提示。
9.本发明提供的一种基于问卷和大模型的医学队列随访对话辅助方法,包括如下步骤:1)收集医学知识三元组数据,使用图数据库(如neo4j),构建医学知识图谱;医学知识图谱还作为系统的专业知识支撑,在实现交互聊天时首先通过其上的问答为大模型提供提示;2)采用基于模板的语义解析方法实现医学知识图谱上的智能问答,并安装图数据科学插件,然后基于图算法(pagerank)计算疾病节点并发症关系排名;3)构建语料集,包括:医学分诊数据集、各科室问卷数据集、医学问答数据集、医学知识数据集和通用语料集等多种数据;其中医学知识数据集是通过医学知识图谱中的三元组生成的问答形式的数据集;4)选定大语言模型;以多种数据集对大语言模型进行微调,通过逻辑控制,分别实现分诊导诊、量表生成、交互聊天、病历存储、疾病预判;5)设计“分诊-预问诊-聊天”三阶段工作流程算法及边界管理策略,主要过程如下:a. 第一阶段为分诊阶段;通过逻辑控制,将用户的提问与类别进行映射,确定分诊结果;通过网页端后进入系统引导,引导用户输入想要咨询的内容。然后逻辑控制模块将调用分诊导诊功能,把用户的提问映射到既定的32个类别,其中包括31个科室与1个无法判断。若结果为无法判断,则提示用户重新输入咨询内容,否则将判断结果呈现给用户,由用户评估分诊结果是否合理。若用户回答不合理,则重新调用分诊导诊功能,给出新的结果。若用户回答合理,则进入下一阶段。
10.b. 第二阶段为预问诊阶段。生成临床诊断辅助问卷,将临床诊断辅助问卷的问题逐个推送给用户;当用户回答完某一问题,自动进行问答相关性检测;再自动进行病历存储,并进行疾病预判,得到可能性最大的疾病名称;在这一阶段中,逻辑控制模块首先调用量表生成功能,生成一份确定科室下的由十一个问题组成的临床诊断辅助问卷,然后将问题逐个推送给用户。需要说明的是,在用户回答某一问题的过程中,可以自由选择重写作答上一问题,或是暂时退出预问诊阶段进入聊天阶段,而后再返回当前问题继续作答,以便于用户更好的了解问题中的相关信息。当用户回答完某一问题时,逻辑控制模块将自动调用问答相关性检测功能,若检测结果为不相干,则提示用户重写回答该问题,以此避免搜集到胡乱作答的病历。当量表问卷中的所有问
题都回答完并通过检测后,将自动进行病历存储,再由逻辑控制模块调用疾病预判功能,结合系统已搜集的信息给出最有可能的疾病名称。
11.c. 第三阶段为聊天阶段。将用户发送的文本内容在知识图谱中进行基于语义解析的智能问答;并确定内容输入到大模型中;为继续提高微调后的大模型生成回答的质量和准确度,在交互聊天时用户发送一段内容(原内容)后,逻辑控制模块将首先用这段文本在知识图谱中进行基于语义解析的智能问答,若能生成相关回答,则将原内容和生成的回答一并作为提示(prompt)的一部分,以此构造出新问题,输入到大模型中。若无法生成相关回答,则直接将原内容输入到大模型中。
12.d. 最后,考虑到某些用户的特殊需求,系统支持在任意时刻输入指令直接进入聊天阶段,以及在任意时刻输入指令重新进入第一阶段。
13.与现有技术相比,本发明的有益效果是:利用本发明提供的技术方案,能够满足方便患者进行初步自我筛查,辅助医生进行临床诊断的需求,能够解决知识图谱、大语言模型、量表问诊三者有效结合的问题。可以提高问诊服务的质量,节省医患双方的经济成本和时间成本,从而提高医疗资源的利用率。
附图说明
14.图1是本发明系统结构设计框图。
15.图2是本发明实例1交互过程的系统界面截图。
16.图3是本发明实例2交互过程的系统界面截图。
具体实施方式
17.本发明的具体实施方式如下:1)使用neo4j图数据库加载医学知识三元组数据(来源于http://openkg.cn/dataset/disease-information),构建医学知识图谱。
18.2)采用基于模板的语义解析的方法实现医学知识图谱上的智能问答,并安装图数据科学graph data science插件,然后基于pagerank图算法计算疾病节点并发症关系排名。
19.3)设计系统整体框架,如附图1所示。
20.本发明具体实施时,以chatglm-6b大语言模型(大语言模型chatglm-6b是一个开源的、支持中英双语问答的对话语言模型产品,并针对中文进行了优化,该模型基于 general language model (glm)架构,具有 62亿参数)为核心,以医学分诊数据集、各科室问卷数据集、医学问答数据集、医学知识数据集和通用语料集等对大语言模型进行微调,通过逻辑控制模块分别实现分诊导诊、量表生成、交互聊天、病历存储、疾病预判等功能。其中医学知识数据集是通过医学知识图谱中三元组生成的问答形式的数据集。同时医学知识图谱还作为系统的专业知识支撑,在实现交互聊天时首先通过其上的问答为大模型提供提示。
21.4)设计“分诊-预问诊-聊天”三阶段工作流程算法及边界管理策略,算法伪代码如下图所示,主要过程如下:
a. 第一阶段为分诊阶段,用户访问系统网页端后进入系统引导,引导用户输入想要咨询的内容。然后逻辑控制模块将调用分诊导诊功能,把用户的提问映射到既定的32个类别,其中包括31个科室与1个无法判断。若结果为无法判断,则提示用户重新输入咨询内容,否则将判断结果呈现给用户,由用户评估分诊结果是否合理。若用户回答不合理,则重新调用分诊导诊功能,给出新的结果。若用户回答合理,则进入下一阶段。
22.b. 第二阶段为预问诊阶段。在这一阶段中,逻辑控制模块首先调用量表生成功能,生成一份确定科室下的由十一个问题组成的临床诊断辅助问卷,然后将问题逐个推送给用户。需要说明的是,在用户回答某一问题的过程中,可以自由选择重写作答上一问题,或是暂时退出预问诊阶段进入聊天阶段,而后再返回当前问题继续作答,以便于用户更好的了解问题中的相关信息。当用户回答完某一问题时,逻辑控制模块将自动调用问答相关性检测功能,若检测结果为不相干,则提示用户重写回答该问题,以此避免搜集到胡乱作答的病历。当量表问卷中的所有问题都回答完并通过检测后,将自动进行病历存储,再由逻辑控制模块调用疾病预判功能,结合系统已搜集的信息给出最有可能的疾病名称。
23.c. 第三阶段为聊天阶段。为继续提高微调后的大模型生成回答的质量和准确度,在交互聊天时用户发送一段内容后,逻辑控制模块将首先用这段文本在知识图谱中进行基于语义解析的智能问答,若能生成相关回答,则将原内容和生成的回答一并作为提示(prompt)的一部分,以此构造出新问题,输入到大模型中。若无法生成相关回答,则直接将原内容输入到大模型中。
24.d. 最后,考虑到某些用户的特殊需求,系统支持在任意时刻输入指令直接进入聊天阶段,以及在任意时刻输入指令重新进入第一阶段。
25.5)设计量表问卷;设计不同任务的大模型交互提示(prompt),通过不断与chatglm-6b大模型对话探
索,最终将分诊导诊、量表生成、问答相关性检测、疾病预判、交互聊天这五项特定任务的prompt设计并归纳如附下表所示。在设计之前,首先需要结合已有的各科室问卷数据集以及一定的医学基础知识,对分诊结果中科室的数量与名称进行统一与标准化。同时量表问卷的设计可见于疾病预判部分的输入示例。一套完整的问卷由11个问题组成:其中第1个问题为年龄和性别,第2~9个问题为各科室问诊时的具体问题,同时也是量表生成功能的返回结果,第10个问题为症状的发生和持续时间,第11个问题为其他补充说明。
26.6)加载已收集的网络开源医学分诊数据集、医学问答数据集、医学量表数据集等,并将医学知识图谱中的部分知识转化为问答形式,再结合部分通用语料集,构建出用于大语言模型微调训练的语料集(微调语料集),具体组成如下:a. 分诊部分。包括四组来源于网络的开源医学分诊数据集,进行科室名称标准化后,从中共随机抽取5000条用于微调训练。
27.b. 聊天部分。包括四组来源于网络的开源医学问答数据集,从中共随机抽取6000条用于微调训练。
28.c. 量表生成部分。其中部分缺失内容由chatgpt辅助生成,共155条。
29.d. 疾病预判部分。由知识图谱中的三元组知识转化而来,共8443条。
30.e. 通用语料集部分。主要为来源于网络的开源中文问答数据集,从中共随机抽取5000条用于微调训练。
31.f. 其他部分。包含基于上述开源中文问答数据集和自建数据集构建的分诊结果为“无法判断”的数据集,共1101条;基于上述量表生成数据集和自建数据集构建的用于问答相关性检测的数据集,共4000条。
32.7)参照已有方法,采用p-tuning v2方法和上述构建的微调语料集对大语言模型
进行微调训练。
33.8)基于vue与flask框架设计开发用户交互界面,并进行系统集成。
34.下面通过实例对本发明做进一步说明。
35.实例1:假定医学辅助对话系统的使用情形1为:用户输入咨询、给出具体科室、用户判断合理、生成量表并逐个推送问题、病历存储与疾病预判、交互聊天、结束。交互过程如附图2所示。
36.实例2:假定医学辅助对话系统的使用情形2为:用户输入咨询、系统无法判断、用户重新输入、给出具体科室、用户判断不合理、重新给出具体科室、用户判断合理、生成量表并逐个推送问题、用户进行不相关回答、用户重新回答上一问题、用户跳出预问诊进行聊天、用户回答预问诊继续作答、结束。交互过程如附图3所示。
37.需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

技术特征:
1.一种基于问卷和大模型的医学队列随访对话辅助方法,其特征是,构建医学知识图谱,并在其上实现智能问答;设计由系统引导的“分诊-预问诊-聊天”三阶段工作流程算法;构建微调语料集并微调大语言模型;设计系统,结合知识图谱、大模型和问卷模板,实现完整的轻量级医学对话辅助;包括如下步骤:1)收集医学知识三元组数据,使用图数据库构建医学知识图谱;医学知识图谱用于作为系统的专业知识支撑,在实现交互聊天时首先通过其上的问答为大模型提供提示;2)采用基于模板的语义解析方法实现医学知识图谱上的智能问答,并安装图数据科学插件,然后基于图算法计算疾病节点并发症关系排名;3)构建语料集,包括:医学分诊数据集、各科室问卷数据集、医学问答数据集、医学知识数据集和通用语料集多种数据;其中医学知识数据集是通过医学知识图谱中的三元组生成的问答形式的数据集;4)选定大语言模型;以多种数据集对大语言模型进行微调,通过逻辑控制,分别实现分诊导诊、量表生成、交互聊天、病历存储、疾病预判;5)设计“分诊-预问诊-聊天”三阶段工作流程算法及边界管理策略;主要过程如下:a. 第一阶段为分诊阶段;通过逻辑控制,将用户的提问与类别进行映射,确定分诊结果;b. 第二阶段为预问诊阶段;生成临床诊断辅助问卷,将临床诊断辅助问卷的问题逐个推送给用户;当用户回答完某一问题,自动进行问答相关性检测;再自动进行病历存储,并进行疾病预判,得到可能性最大的疾病名称;c. 第三阶段为聊天阶段;将用户发送的文本内容在知识图谱中进行基于语义解析的智能问答;并确定内容输入到大模型中;还支持在任意时刻输入指令直接进入聊天阶段,以及在任意时刻输入指令重新进入第一阶段;通过上述步骤,实现基于问卷和大模型的医学队列随访对话辅助。2.如权利要求1所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,图数据库采用neo4j;图算法采用pagerank。3.如权利要求1所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,大语言模型采用chatglm-6b。4.如权利要求1所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,步骤3)中,构建用于大语言模型微调训练的语料集即微调语料集具体组成如下:a. 分诊部分:包括四组来源于网络的开源医学分诊数据集,进行科室名称标准化后,从中随机抽取共5000条用于微调训练;b. 聊天部分:包括四组来源于网络的开源医学问答数据集,从中共随机抽取6000条用于微调训练;c. 量表生成部分:其中部分缺失内容由chatgpt辅助生成,共155条;d. 疾病预判部分:由知识图谱中的三元组知识转化而来,共8443条;e. 通用语料集部分:主要为来源于网络的开源中文问答数据集,从中共随机抽取5000条用于微调训练;f. 其他部分。
5.如权利要求1所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,步骤5)的分诊阶段中,通过逻辑控制进行分诊导诊,具体是将用户的提问映射到32个类别,其中包括31个科室与1个无法判断;当结果为无法判断时,提示用户重新输入咨询内容,否则将判断结果呈现给用户,由用户评估分诊结果是否合理;当用户回答不合理时,重新调用分诊导诊,给出新的结果;当用户回答合理时,进入下一阶段。6.如权利要求1所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,步骤5)的预问诊阶段中,通过逻辑控制生成量表,即生成一份确定科室下的由十一个问题组成的临床诊断辅助问卷;然后将问题逐个推送给用户。7.如权利要求6所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,在用户回答某一问题的过程中,自由选择重写作答上一问题,或是暂时退出预问诊阶段进入聊天阶段,而后再返回当前问题继续作答;当用户回答完某一问题时,通过逻辑控制自动检测问答相关性;若检测结果为不相干,则提示用户重写回答该问题;当量表问卷中的所有问题均回答完并通过检测后,自动进行病历存储,再通过逻辑控制进行疾病预判,结合已搜集的信息给出最有可能的疾病名称。8.如权利要求7所述基于问卷和大模型的医学队列随访对话辅助方法,其特征是,步骤5)的聊天阶段中,在交互聊天时用户发送一段内容即原内容后,通过逻辑控制用原内容的文本在知识图谱中进行基于语义解析的智能问答;若能生成相关回答,则将原内容和生成的回答一并作为提示prompt的一部分,以此构造出新问题,输入到大模型中;若无法生成相关回答,则直接将原内容输入到大模型中。9.一种实现权利要求1所述基于问卷和大模型的医学队列随访对话辅助方法的系统,其特征是,包括:医学知识图谱模块、大语言模型模块、逻辑控制模块;通过大语言模型模块及与其的交互实现各个功能;逻辑控制模块用于设计算法控制系统的工作流程逻辑和边界判断管理;医学知识图谱模块用于从中抽取知识构成大模型微调训练语料集的一部分,并在实现系统的交互聊天功能时首先为大模型提供提示。

技术总结
本发明公布了一种基于问卷和大模型的医学队列随访对话辅助方法及系统,包括:医学知识图谱模块、大语言模型模块、逻辑控制模块;构建医学知识图谱,并在其上实现智能问答;设计由系统引导的“分诊-预问诊-聊天”三阶段工作流程算法;构建微调语料集并微调大语言模型;设计系统,结合知识图谱、大模型和问卷模板,实现完整的轻量级医学对话辅助。利用本发明提供的技术方案,能够满足方便患者进行初步自我筛查,辅助医生进行临床诊断的需求,能够解决知识图谱、大语言模型、量表问诊三者有效结合的问题;提高问诊服务的质量,节省医患双方的经济成本和时间成本,从而提高医疗资源的利用率。率。率。


技术研发人员:黄雨 柴忠言 金芝 王捍贫
受保护的技术使用者:北京六元空间信息科技有限责任公司
技术研发日:2023.08.22
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐