问诊处理方法、装置、设备及存储介质与流程

文档序号:29571809发布日期:2022-04-09 04:09阅读:117来源:国知局
问诊处理方法、装置、设备及存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种问诊处理方法、装置、设备及存储介质。


背景技术:

2.随着信息技术的快速发展以及“互联网+”概念的大力推进,为医疗行业的改革提供了一个新的探索方向。在当前时代背景下,计算机辅助问诊系统的开发成为研究的热点。
3.问诊是询问病人或其陪同者与疾病相关的信息、病人的自觉症状,从而了解病人的各种不适感觉和疾病的发证、发展、诊疗情况的一种诊病方法。在“互联网+”的发展背景下,用户可通过智能终端与问诊系统进行问答交互,从而获得系统给出的初步诊疗结果和诊疗建议。
4.然而,现有的计算机辅助问诊系统尚不成熟,在客观性、准确性以及标准化等方面存在不足。


技术实现要素:

5.本技术实施例提供一种问诊处理方法、装置、设备及存储介质,提高诊疗的准确性和效率。
6.本技术实施例的第一方面提供一种问诊处理方法,包括:
7.接收来自客户端的症状信息,所述症状信息包括用户输入的至少一个症状数据;
8.基于预设的问诊知识图谱获取所述症状信息对应的第一候选疾病集合以及第一候选症状集合,所述第一候选疾病集合包括多个候选疾病,所述第一候选症状集合包括所述多个候选疾病的所有候选症状;
9.通过概率分析从所述第一候选疾病集合中确定截止当前问询轮次的所述症状信息对应的诊疗信息,所述诊疗信息用于指示至少一个候选疾病;
10.根据预设问询次数、诊疗信息中所述至少一个候选疾病的信息熵、预训练的诊断决策模型的任意一项,确定输出所述诊疗信息或进行下一轮问询。
11.在本技术实施例的一个可选实施例中,所述通过概率分析从所述第一候选疾病集合中确定截止当前问询轮次的所述症状信息对应的诊疗信息,包括:
12.获取所述第一候选疾病集合中每个候选疾病的得分,所述得分用于指示所述用户有所述候选疾病的概率值;
13.根据所述第一候选疾病集合中所述多个候选疾病的得分,确定截止当前问询轮次的所述症状信息对应的诊疗信息,所述诊疗信息包括所述多个候选疾病中得分由高到低的预设数量的候选疾病。
14.在本技术实施例的一个可选实施例中,所述获取所述第一候选疾病集合中每个候选疾病的得分,包括:
15.获取所述第一候选疾病的每个候选症状对所述第一候选疾病的贡献度,所述贡献
度用于指示所述第一候选疾病伴随有所述候选症状的样本统计概率值,所述第一候选疾病为所述多个候选疾病中的任意一个;
16.根据所述第一候选疾病的所有候选症状对所述第一候选疾病的贡献度,确定所述第一候选疾病的得分。
17.在本技术实施例的一个可选实施例中,所述根据所述第一候选疾病的所有候选症状对所述第一候选疾病的贡献度,确定所述第一候选疾病的得分,包括:
18.根据所述第一候选疾病的所有候选症状对所述第一候选疾病的贡献度以及噪声参数,确定所述第一候选疾病的得分。
19.在本技术实施例的一个可选实施例中,根据所述诊疗信息中所述至少一个候选疾病的信息熵,确定输出所述诊疗信息或进行下一轮问询,包括:
20.若所述至少一个候选疾病中所有候选疾病的信息熵之和小于预设阈值,确定输出所述诊疗信息;或者
21.若所述至少一个候选疾病中所有候选疾病的信息熵之和大于或等于所述预设阈值,确定进行下一轮问询。
22.在本技术实施例的一个可选实施例中,根据所述预设问询次数,确定输出所述诊疗信息或进行下一轮问询,包括:
23.判断所述当前问询轮次是否达到预设问询次数;
24.若所述当前问询轮次达到所述预设问询次数,确定输出所述诊疗信息;或者,若所述当前问询轮次未达到所述预设问询次数,确定进行下一轮问询。
25.在本技术实施例的一个可选实施例中,根据所述预训练的诊断决策模型,确定输出所述诊疗信息或进行下一轮问询,包括:
26.将所述症状信息输入所述预训练的诊断决策模型,根据所述诊断决策模型的输出值确定输出所述诊疗信息或进行下一轮问询;
27.其中,所述诊断决策模型是采用强化学习算法通过多个样本序列对全连接神经网络进行训练得到的,所述样本序列包括至少一个症状数据以及决策结果,所述决策结果用于指示输出诊疗信息或进行下一轮问询。
28.在本技术实施例的一个可选实施例中,所述根据所述诊断决策模型的输出值确定输出所述诊疗信息或进行下一轮问询,包括:
29.若所述诊断决策模型输出第一值,确定输出所述诊疗信息;或者
30.若所述诊断决策模型输出第二值,确定进行下一轮问询。
31.在本技术实施例的一个可选实施例中,所述方法还包括:
32.若确定进行下一轮问询,从所述第一候选症状集合中确定目标问询症状,并向所述客户端发送问询信息,所述问询信息用于询问所述用户是否有所述目标问询症状;
33.接收来自所述客户端的回复信息,基于所述回复信息更新所述诊疗信息,确定输出更新后的诊疗信息或进行下一轮问询。
34.在本技术实施例的一个可选实施例中,所述从所述第一候选症状集合中确定目标问询症状,包括以下至少一项:
35.从所述第一候选疾病集合的多个候选疾病中的得分最高的候选疾病中,选取当前问询轮次用户确认的至少一个候选症状的详细症状作为所述目标问询症状;或者
36.从所述第一候选疾病集合的多个候选疾病中的得分最高的候选疾病中,选取除所述用户已确认的症状之外的其他症状作为所述目标问询症状;或者
37.从所述第一候选疾病集合的多个候选疾病的所有候选症状中选取,对所述第一候选疾病集合的整体信息熵下降最快的候选症状作为所述目标问询症状。
38.在本技术实施例的一个可选实施例中,所述第一候选症状集合中的第一候选症状对所述第一候选疾病集合的整体信息熵是根据下一轮问询的第二候选疾病集合的所有候选疾病的得分总和与所述第一候选疾病集合的所有候选疾病的得分总和的比值确定的;
39.其中,所述第二候选疾病集合是根据所述第一候选疾病集合以及所述第一候选症状确定的,所述第一候选症状为所述第一候选症状集合中的任意一个候选症状。
40.在本技术实施例的一个可选实施例中,所述问诊知识图谱包括疾病、症状、疾病诱因、疾病科室信息、鉴别症状、并发症以及病程的节点;
41.所述基于预设的问诊知识图谱获取所述症状信息对应的第一候选疾病集合,包括:根据所述至少一个症状数据,从所述问诊知识图谱中获取每个症状数据对应的候选疾病集合,获得所述第一候选疾病集合。
42.本技术实施例的第二方面提供一种问诊处理装置,包括:
43.接收模块,用于接收来自客户端的症状信息,所述症状信息包括用户输入的至少一个症状数据;
44.获取模块,用于基于预设的问诊知识图谱获取所述症状信息对应的第一候选疾病集合以及第一候选症状集合,所述第一候选疾病集合包括多个候选疾病,所述第一候选症状集合包括所述多个候选疾病的所有候选症状;
45.处理模块,用于通过概率分析从所述第一候选疾病集合中确定截止当前问询轮次的所述症状信息对应的诊疗信息,所述诊疗信息用于指示至少一个候选疾病;
46.根据预设问询次数、诊疗信息中所述至少一个候选疾病的信息熵、预训练的诊断决策模型的任意一项,确定输出所述诊疗信息或进行下一轮问询。
47.本技术实施例的第三方面提供一种电子设备,包括:
48.存储器;
49.处理器;以及
50.计算机程序;
51.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面中任一项所述的方法。
52.本技术实施例的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法。
53.本技术实施例的第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
54.本技术实施例提供一种问诊处理方法、装置、设备及存储介质。该方法包括:通过接收来自客户端的症状信息,首先基于预设的问诊知识图谱获取症状信息对应的候选疾病集合,通过概率分析确定候选疾病集合中每个候选疾病的得分,得分越高说明用户有候选疾病的概率越大。再根据候选疾病集合中多个候选疾病的得分,确定截止当前问询轮次收集到的症状信息对应的诊疗信息,诊疗信息包括得分较高的至少一个候选疾病。最后根据
预设问询次数、诊疗信息中至少一个候选疾病的信息熵、预训练的诊断决策模型的任意一项,确定是输出诊疗信息还是进行下一轮问询。一方面,上述方案结合问诊知识图谱,可有效降低问诊系统的误诊率,提高诊疗的准确性;另一方面,通过分析诊疗信息中候选疾病的信息熵确定是否停止问询,可缩短问询时长,提升用户的问询体验。
附图说明
55.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
56.图1为本技术实施例提供的问诊处理方法的场景示意图;
57.图2为本技术实施例提供的问诊处理方法的交互示意图一;
58.图3为本技术实施例提供的问诊处理方法的交互示意图二;
59.图4为本技术实施例提供的问诊处理装置的结构示意图一;
60.图5为本技术实施例提供的问诊处理装置的结构示意图二;
61.图6为本技术实施例提供的电子设备的硬件结构图。
62.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
63.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
64.本技术实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述之外的顺序实施。
65.应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
66.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
67.首先对本技术实施例涉及的相关术语进行简要介绍。
68.知识图谱:是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的
核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。它能为学科研究提供切实的、有价值的参考。
69.命名实体:一般指的是文本中具有特定意义或指代性强的实体,例如医疗领域涉及的实体包括人名、科室名称、日期时间以及医疗专有名词(如疾病名称、缩写、治疗手段)等。
70.命名实体识别(ner):是从非结构化的输入文本中抽取上述实体,并且可以按照业务需求识别出更多的实体,例如医疗领域中的药品名称、批号、价格等。
71.关系抽取(re),用来判断一句话中的两个实体之间是否存在关系,以及关系的类型,例如“我没有发热”,“没有”是否定词,“发热”是症状词,“没有”和“发热”是一种修饰关系。
72.自然语言处理(nlp)算法,包括语法分析、句法分析、语义分析等。其中语法分析包括分词、词性标注、实体识别、拼写检查等,句法分析的基本任务是确定句子的句法结构或者句中词汇之间的依存关系,语义分析主要包含语义消岐和语义表示。
73.deep q network(dqn),是一种深度强化学习模型。
74.信息熵,是c.e.shannon(香农)从热力学中借用过来的,用于解决对信息的量化度量问题。热力学中的热熵表示分子状态混乱程度的物理量,香农用信息熵的概念来描述信息的不确定度。信息熵越大,不确定性越大,概率越小。
75.目前普遍采用如下两种问诊交互方式确定诊疗信息:第一,主要依赖于医生的个人经验,通过线上线下询问获取用户的症状信息,确定诊疗信息;第二,采用专家事先设计好的答卷量表,设定好相应的跳转路径,确定诊疗信息。上述第一种方式采用纯人工的问诊,耗时耗力,浪费大量的优质医疗资源。上述第二种方式采用现有的类似量表和答卷模板的方式,问诊路径显得千篇一律,且只能覆盖有限的科室,并严重依赖医学专家定制的模板的质量,由于医生自带科室属性(通常一个医生只熟悉自己科室的疾病诊断和问诊),问诊过程中无法顾及所有科室的疾病,诊疗信息可能存在偏差。另外,医生制定的答题量表也很难进行合并、扩展。
76.随着互联网的发展,健康产业与互联网结合地愈发紧密,线上问诊逐渐成为一种用户可以选择的快捷健康咨询途径,线上问诊的场景较线上线下医生问诊有很大的差别,问诊系统通过对线上问诊对话数据的分析,给出诊断建议、治疗建议等诊疗信息。目前现有的问诊系统生不成熟,主要针对一些常见或症状较轻的疾病,在客观性、准确性以及标准化等方面存在不足。
77.针对上述问题,本技术实施例提出一种问诊处理方法,其主要发明思路如下:首先,通过构建完备的问诊知识图谱,覆盖包括200+种常见疾病、400+种症状、疾病诱因、疾病科室信息、鉴别症状、并发症、病程等节点,结合问诊知识图谱对用户输入的症状进行推理,得出候选疾病集合和候选症状集合。其次,通过概率图模型确定候选疾病集合中每个候选疾病的得分(即概率值),获取得分从高到低的预设数量的候选疾病,将其作为用户最有可能患有的疾病。最后,采用预设规则或强化学习算法判断问诊是否应当结束,如果确定问诊结束,输出用户最有可能患有的疾病数据和等诊疗信息;如果需要进一步问询,可根据预设的发问策略确定从候选症状集合中选取目标症状,向用户再次发问。
78.上述方案中的问诊知识图谱涵盖了医疗领域多学科数据,结合问诊知识图谱获得
候选疾病和候选症状,可有效降低问诊系统的误诊率,提高诊疗信息的准确性。
79.在介绍本技术提供的问诊处理方法之前,下面先对问诊处理方法的应用场景进行简要介绍。
80.图1为本技术实施例提供的问诊处理方法的场景示意图。如图1所示,该场景包括第一终端设备11、第二终端设备12以及问诊服务端13(或称为问诊服务器、问诊平台)。其中,第一终端设备11和第二终端设备12分别与问诊服务端13通信连接。
81.在一种可选的实施方式中,第一终端设备11和第二终端设备12预安装问诊服务端13的应用程序app,使用第一终端设备11或第二终端设备12的用户可通过该应用程序访问问诊服务端13。
82.在一种可选的实施方式中,使用第一终端设备11或第二终端设备12的用户还可以通过网页、应用小程序等渠道访问问诊服务端13。
83.作为一种示例,第一终端设备11可以是患者端的终端设备,例如患者的智能手机、平板电脑、笔记本电脑、台式电脑等终端设备,又例如医院公共区域设置的固定或移动终端(如固定或移动的智能机器人)。
84.作为一种示例,第二终端设备12可以是医生端的终端设备,例如医生的智能手机、平板电脑、笔记本电脑、台式电脑等终端设备。示例性的,在问诊过程中,医生可通过第二终端设备12访问问诊服务端13,获取问诊服务端13给出的诊疗信息,该信息可用于辅助医生进行医疗诊断。
85.在一种可选的实施方式中,问诊服务端11内置处理装置,该处理装置用于执行本技术实施例的方法步骤。可选的,问诊服务端13的存储空间存储有问诊知识图谱。
86.在一种可选的实施方式中,若第一终端设备11为智能机器人,还可以将处理装置集成于智能机器人,使得智能机器人执行本技术实施例的方法步骤。可选的,智能机器人的存储空间存储有问诊知识图谱。示例性的,用户可通过语音或文本输入的方式,直接与智能机器人进行交互,获取诊疗信息或问询信息。
87.可选的,智能机器人作为普通终端,通过与问诊服务端交互(考虑到知识图谱占用的内存空间较大,智能机器人可以不存储问诊知识图谱),向用户反馈诊疗信息或问询信息。
88.基于上述场景,下面通过具体实施例对本技术实施例提供的技术方案进行详细说明。下述实施例以客户端和问诊服务端的交互为例对方案进行说明,其中客户端可对应图1所示任意一个终端设备,问诊服务端可对应图1所示的问诊系统。
89.需要说明的是,本技术实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
90.图2为本技术实施例提供的问诊处理方法的交互示意图一。如图2所示,本实施例的问诊处理方法,包括:
91.步骤201、接收来自客户端的症状信息,症状信息包括用户输入的至少一个症状数据。
92.本实施例中,用户通过客户端访问问诊服务端,可通过语音或文本的方式在客户端描述一个或多个症状,客户端基于用户的语音或文本描述,向问诊服务端发送一个或多
个症状数据。
93.可选的,客户端可使用现有的命名实体识别(ner)和关系抽取(re)算法,提取用户描述的主要症状数据。
94.步骤202、基于预设的问诊知识图谱获取症状信息对应的第一候选疾病集合以及第一候选症状集合。
95.其中,第一候选疾病集合包括多个候选疾病,第一候选症状集合包括多个候选疾病的所有候选症状。
96.本实施例中,问诊知识图谱包括疾病、症状、疾病诱因、疾病科室信息、鉴别症状、并发症以及病程的节点。基于预设的问诊知识图谱获取症状信息对应的第一候选疾病集合,具体包括:根据至少一个症状数据,从问诊知识图谱中获取每个症状数据对应的候选疾病集合,获得第一候选疾病集合。其中,第一候选疾病集合可记为v
cand

97.可选的,针对第一候选疾病集合中的每个疾病,再基于预设的问诊知识图谱获取每个候选疾病包含的所有症状数据,生成第一候选症状集合。其中,第一候选症状集合可记为p
cand

98.步骤203、通过概率分析从第一候选疾病集合中确定截止当前问询轮次的症状信息对应的诊疗信息,诊疗信息用于指示至少一个候选疾病。
99.在一个可选实施例中,可通过如下概率分析方法确定诊疗信息:
100.步骤2031、获取第一候选疾病集合中每个候选疾病的得分,每个候选疾病的得分用于指示用户有该候选疾病的概率值。
101.步骤2032、根据第一候选疾病集合中多个候选疾病的得分,确定截止当前问询轮次的症状信息对应的诊疗信息。
102.其中,诊疗信息包括多个候选疾病中得分由高到低的预设数量的候选疾病。需要说明的是,本实施例对预设数量不作具体限定,可根据实际需求进行合理设置。
103.示例性的,假设预设数量取10,则根据第一候选疾病集合中多个候选疾病的得分,获取得分较高的前10个疾病数据,当前问询轮次的症状信息对应的诊疗信息至少包括得分较高的前10个疾病数据(即诊断数据)。
104.可选的,诊疗信息还可以包括得分较高的预设数量的候选疾病中每个候选疾病的治疗建议。
105.在一个可选实施例中,步骤2031,具体包括:通过概率图模型获取第一候选疾病集合中每个候选疾病的得分。
106.其中,概率图模型可以为noisy-or概率图模型。需要说明的是,本实施例对概率图模型不作具体限定,除了noisy-or概率图模型之外,还可以采用其他概率图模型确定每个候选疾病的得分。
107.为了便于理解,下面以noisy-or概率图模型为例,对如何获取第一候选疾病集合中每个候选疾病的得分进行详细说明。
108.作为一种示例,通过概率图模型获取第一候选疾病集合中每个候选疾病的得分,包括如下步骤:
109.步骤1、获取第一候选疾病的每个症状对第一候选疾病的贡献度,贡献度用于指示第一候选疾病伴随有候选症状的样本统计概率值,第一候选疾病为多个候选疾病中的任意
一个。
110.其中,样本统计概率值是基于大量统计样本确定的。
111.具体的,可通过如下公式确定第j种症状(sym)对第i种疾病(dis)的贡献度λj:
[0112][0113]
其中,#occurrence(symj)表示统计样本中出现第j种症状的次数,#co_occurrence(disi,symj)表示统计样本中同时出现第j种症状和第i种疾病的次数。
[0114]
下面通过一个示例对样本统计概率值的计算进行说明。
[0115]
假设在20000个问诊病历(即问诊样本)中“咳嗽”出现了100次,“感冒”和“咳嗽”同时出现(co_occurrence)在一个问诊病历中的次数为10次,那么“咳嗽”对“感冒”的贡献度为:p(感冒|咳嗽)=10/100=0.1。
[0116]
步骤2、根据第一候选疾病的所有候选症状对第一候选疾病的贡献度,确定第一候选疾病的得分。
[0117]
具体的,根据第一候选疾病的所有候选症状对第一候选疾病的贡献度以及噪声参数,确定第一候选疾病的得分。
[0118]
本步骤也可以表示为:将第一候选疾病的所有候选症状对第一候选疾病的贡献度输入noisy-or概率图模型,获得第一候选疾病的得分。
[0119]
其中,noisy-or概率图模型可通过如下公式表示:
[0120][0121]
其中,表示第一候选疾病v1的得分,pj表示第一候选疾病的第j个症状,j∈[1,k],k为正整数,λ0表示噪声参数,λj表示第一候选疾病伴随有第j个症状的样本统计概率值。
[0122]
步骤204、根据预设问询次数、诊疗信息中至少一个候选疾病的信息熵、预训练的诊断决策模型的任意一项,确定输出诊疗信息或进行下一轮问询。
[0123]
本步骤中,确定输出诊疗信息可以理解为确定停止问询并输出诊疗信息。应理解,确定进行下一轮问询,则无需输出当前问询轮次确定的诊疗信息。
[0124]
下面通过几个具体实施方式对是否继续问询进行详细说明。
[0125]
在一个可选的实施方式中,根据诊疗信息中至少一个候选疾病的信息熵,确定输出诊疗信息或进行下一轮问询,包括:若至少一个候选疾病中所有候选疾病的信息熵之和小于预设阈值,确定输出诊疗信息;或者,若至少一个候选疾病中所有候选疾病的信息熵之和大于或等于预设阈值,确定进行下一轮问询。
[0126]
作为一种示例,获取多个候选疾病中得分由高到低的预设数量的候选疾病的得分;确定预设数量的候选疾病中每个候选疾病的信息熵;若预设数量的候选疾病中所有候选疾病的信息熵之和小于预设阈值,确定输出诊疗信息;或者,若预设数量的候选疾病中所有候选疾病的信息熵之和大于或等于预设阈值,确定进行下一轮问询。
[0127]
本实施方式中,每个候选疾病的信息熵可通过如下公式确定:
[0128]
entropy(v)=-sv*logsv[0129]
其中,entropy(v)表示候选疾病v的信息熵,sv表示候选疾病v的得分。信息熵用于描述信息的不确定性。
[0130]
示例性的,假设预设数量取10,在获取这10个候选疾病的得分后,确定这10个候选疾病中每个候选疾病的信息熵,若这10个候选疾病的信息熵之和小于预设阈值,表明步骤204中确定的这10个候选疾病数据的不确定性较低(或者说准确性较高),因此可以输出包括这10个候选疾病数据的诊疗信息。若这10个候选疾病的信息熵之和大于或等于预设阈值,表明步骤204中确定的这10个候选疾病数据的不稳定性较高(或者说准确性较低),因此需要进行下一轮问询。
[0131]
在一个可选的实施方式中,根据预设问询次数,确定输出诊疗信息或进行下一轮问询,包括:判断当前问询轮次是否达到预设问询次数;若当前问询轮次达到预设问询次数,确定输出诊疗信息;或者,若当前问询轮次未达到预设问询次数,确定进行下一轮问询。
[0132]
示例性的,假设预设次数取5,客户端与问答服务端交互5次之后,问答服务端输出第五次确定的诊疗信息。应理解,问答服务端在每一轮问询时都会确定该轮次的诊疗信息,随着问询次数的增加,诊疗信息的准确性不断提升。
[0133]
在一个可选的实施方式中,根据预训练的诊断决策模型,确定输出诊疗信息或进行下一轮问询,包括:将症状信息输入预训练的诊断决策模型,根据诊断决策模型的输出值确定是否输出诊疗信息。
[0134]
一种情况下,若诊断决策模型输出第一值,确定输出诊疗信息。
[0135]
一种情况下,若诊断决策模型输出第二值,确定进行下一轮问询。
[0136]
示例性的,第一值为1时,确定输出诊疗信息;第二值为0时,确定进行下一轮问询。本实施例对第一值和第二值的具体数值不作具体限定,只要能够区分两种决策结果即可。
[0137]
其中,诊断决策模型是采用强化学习算法通过多个样本序列对全连接神经网络进行训练得到的,样本序列包括至少一个症状数据以及决策结果,决策结果用于指示输出诊疗信息或进行下一轮问询。
[0138]
诊断决策模型的样本序列的构建,包括:使用nlp算法对客户端与问答服务端的对话数据进行结构化处理,获得对话样本{“症状1”,“症状2”,

,“症状k”},标注对话样本对应的决策动作“决策1”,得到一个样本序列{“症状1”,“症状2”,

,“症状k”,“决策1”}。
[0139]
当收集到足够多的样本序列,可使用dqn算法搭建序列决策模型:
[0140]at
=mlp(s
t
)
[0141]
其中,a
t
表示t时刻的动作,在本实施例中,a
t
可以理解为当前轮次的决策动作,其动作空间为2,例如a
t
=0表示“继续发问”,a
t
=1表示“下诊断”。s
t
表示t时刻的状态,是一个one hot向量,维度为d,在本实施例中,d的大小为样本序列中所有候选症状的总数。mlp为全连接神经网络。
[0142]
当mlp网络输出的预测值a
t
的准确率达到预设阈值时,结束诊断决策模型的训练过程。
[0143]
本实施例示出的问诊处理方法,通过接收来自客户端的症状信息,首先基于预设的问诊知识图谱获取症状信息对应的候选疾病集合,通过概率分析确定候选疾病集合中每个候选疾病的得分,得分越高说明用户有候选疾病的概率越大。再根据候选疾病集合中多个候选疾病的得分,确定截止当前问询轮次收集到的症状信息对应的诊疗信息,诊疗信息
包括得分较高的至少一个候选疾病。最后根据预设问询次数、诊疗信息中至少一个候选疾病的信息熵、预训练的诊断决策模型的任意一项,确定是输出诊疗信息还是进行下一轮问询。一方面,上述方案结合问诊知识图谱,可有效降低问诊系统的误诊率,提高诊疗的准确性;另一方面,通过分析诊疗信息中候选疾病的信息熵确定是否停止问询,可缩短问询时长,提升用户的问询体验。
[0144]
图3为本技术实施例提供的问诊处理方法的交互示意图二。在图2所示实施例的基础上,如图3所示,本实施例的问诊处理方法,还包括:
[0145]
步骤301、若确定进行下一轮问询,从第一候选症状集合中确定目标问询症状。
[0146]
本实施例中,若确定进行下一轮问询,可通过如下实施方式的任意一项从第一候选症状集合中确定目标候选症状:
[0147]
在一个可选的实施方式中,从第一候选疾病集合的多个候选疾病中的得分最高的候选疾病中,选取当前问询轮次用户确认的至少一个候选症状的详细症状作为目标问询症状。
[0148]
示例性的,若在当前问询轮次中确定的得分较高的10个候选疾病中,候选疾病1的得分最高,表明用户患有候选疾病1的概率最大,问诊服务端可进一步向用户询问候选疾病1中用户已确认的一个或多个症状的详细信息。例如,候选疾病1为“感冒”,用户确认的症状有“流鼻涕”,问诊服务端可进一步询问用户例如“鼻涕的颜色是?”(即流鼻涕这一症状的详细症状),通过接收用户的回复数据,确定并发送相应的诊断结果和/或治疗建议,或者,继续发问。
[0149]
在一个可选的实施方式中,从第一候选疾病集合的多个候选疾病中的得分最高的候选疾病中,选取除用户已确认的症状之外的其他症状作为目标问询症状。
[0150]
示例性的,若在当前问询轮次中确定的得分较高的10个候选疾病中,候选疾病1的得分最高,表明用户患有候选疾病1的概率最大,问诊服务端可进一步向用户询问候选疾病1中用户尚未确认的一个或多个症状。例如,候选疾病1为“感冒”,用户确认的症状有“流鼻涕”,“感冒”的其他症状包括例如“发烧”、“头晕”、“食欲不振”等,问诊服务端可进一步询问用户例如“是否有发烧的症状?”(即感冒这一疾病的用户未确认的其他症状),通过接收用户的回复数据,确定并发送相应的诊断结果和/或治疗建议,或者,继续发问。
[0151]
在一个可选的实施方式中,从第一候选疾病集合的多个候选疾病的所有候选症状数据中选取,对第一候选疾病集合的整体信息熵下降最快的候选症状作为目标问询症状。
[0152]
本实施方式中,第一候选症状集合中的第一候选症状对第一候选疾病集合的整体信息熵是根据下一轮问询的第二候选疾病集合的所有候选疾病的得分总和与第一候选疾病集合的所有候选疾病的得分总和的比值确定的。其中,第二候选疾病集合是根据第一候选疾病集合以及第一候选症状确定的,第一候选症状为第一候选症状集合中的任意一个候选症状。
[0153]
作为一种示例,可通过如下公式确定第一候选疾病集合中每个候选疾病的每个候选症状对第一候选疾病集合的整体信息熵:
[0154]
entropy(p)=-prob(p)*log(prob(p))
[0155][0156]
其中,entropy(p)表示候选症状p(即第一候选症状)对候选疾病集合v
cand
(即第一候选疾病集合)的整体信息熵;prob(p)表示如果候选症状p为目标问询症状(即下一轮问询的症状),新的候选疾病集合vcand∩v
p
(即第二候选疾病集合)的得分总和与候选疾病集合v
cand
的得分总和的比值;sv表示候选疾病v的得分。
[0157]
示例性的,若在当前问询轮次中确定得分较高的10个候选疾病,可通过获取这10个候选疾病的候选症状,针对获取到的所有候选症状,确定每个候选症状对当前候选疾病集合(即这10个候选疾病)的整体信息熵。应理解,信息熵越小,不确定性越小,概率值越大。因此,可以从得分较高的10个候选疾病的所有候选症状中,选取候选症状的信息熵最小的候选症状,作为下一轮问询中重点向用户询问的目标症状。
[0158]
本实施方式中,通过确定信息熵下降最快的候选症状,实现快速、准确地定位到最有信息价值的症状,从而提高判定某疾病的效率,可加速问诊服务端的问诊速度。
[0159]
步骤302、向客户端发送问询信息,问询信息用于询问用户是否有目标问询症状。
[0160]
步骤303、接收来自客户端的回复信息。
[0161]
本步骤中,用户的回复信息包括确认信息或不确认信息。例如,问诊服务端的问询信息为“是否有发烧的症状?”,用户的回复信息为“有”或“没有”。
[0162]
步骤304、基于回复信息更新诊疗信息,确定输出更新后的诊疗信息或进行下一轮问询。
[0163]
本步骤中,基于回复信息更新症状信息,基于预设的问诊知识图谱获取更新后的症状信息对应的候选疾病集合以及候选症状集合,通过概率分析从更新的候选疾病集合中确定截止当前问询轮次的症状信息对应的诊疗信息,确定是输出诊疗信息还是继续问询,具体实现过程与图2所示实施例的步骤202至步骤204类似,可参照上文实施例,此处不再赘述。
[0164]
需要指出的是,基于用户的回复信息,确定更新后的症状信息。更新后的症状信息可能是在原有症状数据的基础上增加至少一个新的症状数据,也可能是在原有症状数据的基础上排除至少一个症状数据。问诊服务端基于预设的问诊知识图谱,获取更新后的症状信息对应的候选疾病集合。应理解,随着症状数据的变化,候选疾病集合中的候选疾病的个数可能增加,也可能减少或不变。采用概率图模型确定更新后的候选疾病集合中每个候选疾病的得分,根据更新后的候选疾病集合中每个候选疾病的得分,确定截止当前问询轮次的症状信息对应的诊疗信息(即更新后的诊疗信息),通过上文实施例的预设规则或强化学习算法,确定是否输出更新后的诊疗信息。
[0165]
本实施例示出的问诊处理方法,在上一个实施例的基础上,若确定需要进行下一轮问询时,基于当前候选疾病集合中的多个候选疾病,采用预设的发问策略,选取目标症状,向用户再次发问。基于客户端的回复信息进行新一轮的数据处理分析,并最终确定是输出诊疗信息还是继续发问。基于本实施例中预设的发问策略,进行有针对性性的询问,可同时提高问诊系统的问诊效率以及诊疗的准确性。
[0166]
上文描述了本技术实施例提供的问诊处理方法,下面将描述本技术实施例提供的
问诊处理装置。
[0167]
本技术实施例可以根据上述方法实施例对问诊处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。
[0168]
需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
[0169]
图4为本技术实施例提供的问诊处理装置的结构示意图一。如图4所示,本实施例的问诊处理装置400,包括:接收模块401,获取模块402以及处理模块403。
[0170]
接收模块401,用于接收来自客户端的症状信息,所述症状信息包括用户输入的至少一个症状数据;
[0171]
获取模块402,用于基于预设的问诊知识图谱获取所述症状信息对应的第一候选疾病集合以及第一候选症状集合,所述第一候选疾病集合包括多个候选疾病,所述第一候选症状集合包括所述多个候选疾病的所有候选症状;
[0172]
处理模块403,用于通过概率分析从所述第一候选疾病集合中确定截止当前问询轮次的所述症状信息对应的诊疗信息,所述诊疗信息用于指示至少一个候选疾病;
[0173]
根据预设问询次数、诊疗信息中所述至少一个候选疾病的信息熵、预训练的诊断决策模型的任意一项,确定输出所述诊疗信息或进行下一轮问询。
[0174]
在本实施例的一个可选实施例中,获取模块402,用于获取所述第一候选疾病集合中每个候选疾病的得分,所述得分用于指示所述用户有所述候选疾病的概率值;
[0175]
处理模块403,用于根据所述第一候选疾病集合中所述多个候选疾病的得分,确定截止当前问询轮次的所述症状信息对应的诊疗信息,所述诊疗信息包括所述多个候选疾病中得分由高到低的预设数量的候选疾病。
[0176]
在本实施例的一个可选实施例中,获取模块402,用于获取所述第一候选疾病的每个候选症状对所述第一候选疾病的贡献度,所述贡献度用于指示所述第一候选疾病伴随有所述候选症状的样本统计概率值,所述第一候选疾病为所述多个候选疾病中的任意一个;
[0177]
处理模块403,用于根据所述第一候选疾病的所有候选症状对所述第一候选疾病的贡献度,确定所述第一候选疾病的得分。
[0178]
在本实施例的一个可选实施例中,处理模块403,用于根据所述第一候选疾病的所有候选症状对所述第一候选疾病的贡献度以及噪声参数,确定所述第一候选疾病的得分。
[0179]
在本实施例的一个可选实施例中,处理模块403,用于:
[0180]
若所述至少一个候选疾病中所有候选疾病的信息熵之和小于预设阈值,确定输出所述诊疗信息;或者
[0181]
若所述至少一个候选疾病中所有候选疾病的信息熵之和大于或等于所述预设阈值,确定进行下一轮问询。
[0182]
在本实施例的一个可选实施例中,处理模块403,用于:
[0183]
判断所述当前问询轮次是否达到预设问询次数;
[0184]
若所述当前问询轮次达到所述预设问询次数,确定输出所述诊疗信息;或者,若所
述当前问询轮次未达到所述预设问询次数,确定进行下一轮问询。
[0185]
在本实施例的一个可选实施例中,处理模块403,用于:
[0186]
将所述症状信息输入所述预训练的诊断决策模型,根据所述诊断决策模型的输出值确定输出所述诊疗信息或进行下一轮问询;
[0187]
其中,所述诊断决策模型是采用强化学习算法通过多个样本序列对全连接神经网络进行训练得到的,所述样本序列包括至少一个症状数据以及决策结果,所述决策结果用于指示输出诊疗信息或进行下一轮问询。
[0188]
在本实施例的一个可选实施例中,处理模块403,用于:
[0189]
若所述诊断决策模型输出第一值,确定输出所述诊疗信息;或者
[0190]
若所述诊断决策模型输出第二值,确定进行下一轮问询。
[0191]
图5为本技术实施例提供的问诊处理装置的结构示意图二。在图4所示装置的基础上,如图5所示,本实施例的问诊处理装置400,包括:发送模块404。
[0192]
处理模块403,用于若确定进行下一轮问询,从所述第一候选症状集合中确定目标问询症状;
[0193]
发送模块404,用于向所述客户端发送问询信息,所述问询信息用于询问所述用户是否有所述目标问询症状;
[0194]
接收模块401,用于接收来自所述客户端的回复信息,处理模块403,用于基于所述回复信息更新所述诊疗信息,确定输出更新后的诊疗信息或进行下一轮问询。
[0195]
在本实施例的一个可选实施例中,处理模块403,用于执行以下至少一项:
[0196]
从所述第一候选疾病集合的多个候选疾病中的得分最高的候选疾病中,选取当前问询轮次用户确认的至少一个候选症状的详细症状作为所述目标问询症状;或者
[0197]
从所述第一候选疾病集合的多个候选疾病中的得分最高的候选疾病中,选取除所述用户已确认的症状之外的其他症状作为所述目标问询症状;或者
[0198]
从所述第一候选疾病集合的多个候选疾病的所有候选症状中选取,对所述第一候选疾病集合的整体信息熵下降最快的候选症状作为所述目标问询症状。
[0199]
在本实施例的一个可选实施例中,所述第一候选症状集合中的第一候选症状对所述第一候选疾病集合的整体信息熵是根据下一轮问询的第二候选疾病集合的所有候选疾病的得分总和与所述第一候选疾病集合的所有候选疾病的得分总和的比值确定的;
[0200]
其中,所述第二候选疾病集合是根据所述第一候选疾病集合以及所述第一候选症状确定的,所述第一候选症状为所述第一候选症状集合中的任意一个候选症状。
[0201]
在本实施例的一个可选实施例中,所述问诊知识图谱包括疾病、症状、疾病诱因、疾病科室信息、鉴别症状、并发症以及病程的节点;
[0202]
获取模块402,用于根据所述至少一个症状数据,从所述问诊知识图谱中获取每个症状数据对应的候选疾病集合,获得所述第一候选疾病集合。
[0203]
本实施例提供的问诊处理装置,可以执行上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0204]
图6为本技术实施例提供的电子设备的硬件结构图。如图6所示,本实施例提供的电子设备500,包括:
[0205]
存储器501;
[0206]
处理器502;以及
[0207]
计算机程序;
[0208]
其中,计算机程序存储在存储器501中,并被配置为由处理器502执行以实现上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0209]
可选的,存储器501既可以是独立的,也可以跟处理器502集成在一起。当存储器501是独立于处理器502之外的器件时,电子设备500还包括:总线503,用于连接存储器501和处理器502。
[0210]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器502执行以实现如前述任一方法实施例的技术方案。
[0211]
本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一方法实施例的技术方案。
[0212]
本技术实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例的技术方案。
[0213]
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例的技术方案。
[0214]
应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0215]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0216]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0217]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0218]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
[0219]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进
行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1