CN115862862A - 疾病预测方法、装置及计算机可读存储介质 - Google Patents
疾病预测方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115862862A CN115862862A CN202211535430.4A CN202211535430A CN115862862A CN 115862862 A CN115862862 A CN 115862862A CN 202211535430 A CN202211535430 A CN 202211535430A CN 115862862 A CN115862862 A CN 115862862A
- Authority
- CN
- China
- Prior art keywords
- symptom
- sequence
- disease
- disease prediction
- prediction
- 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.)
- Pending
Links
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 title claims abstract description 573
- 201000010099 disease Diseases 0.000 title claims abstract description 532
- 238000000034 method Methods 0.000 title claims abstract description 151
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 208000024891 symptom Diseases 0.000 claims abstract description 864
- 230000008569 process Effects 0.000 claims abstract description 58
- 230000006870 function Effects 0.000 claims description 77
- 208000035475 disorder Diseases 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 16
- 230000004927 fusion Effects 0.000 claims description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000011478 gradient descent method Methods 0.000 claims description 7
- 238000007499 fusion processing Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 9
- 230000002829 reductive effect Effects 0.000 abstract description 6
- 239000003814 drug Substances 0.000 abstract description 3
- 238000012549 training Methods 0.000 description 68
- 238000003745 diagnosis Methods 0.000 description 50
- 239000003795 chemical substances by application Substances 0.000 description 28
- 230000015654 memory Effects 0.000 description 26
- 230000003993 interaction Effects 0.000 description 18
- 230000009471 action Effects 0.000 description 17
- 230000002787 reinforcement Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000002779 inactivation Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 208000004998 Abdominal Pain Diseases 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000000306 component Substances 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000011282 treatment Methods 0.000 description 5
- 206010037660 Pyrexia Diseases 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 208000000059 Dyspnea Diseases 0.000 description 3
- 206010013975 Dyspnoeas Diseases 0.000 description 3
- 206010019233 Headaches Diseases 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000002405 diagnostic procedure Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 231100000869 headache Toxicity 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000037213 diet Effects 0.000 description 2
- 235000005911 diet Nutrition 0.000 description 2
- 208000002173 dizziness Diseases 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 206010011224 Cough Diseases 0.000 description 1
- 208000019505 Deglutition disease Diseases 0.000 description 1
- 101000779415 Homo sapiens Alanine aminotransferase 2 Proteins 0.000 description 1
- 208000020358 Learning disease Diseases 0.000 description 1
- 238000012614 Monte-Carlo sampling Methods 0.000 description 1
- 206010028813 Nausea Diseases 0.000 description 1
- 206010047700 Vomiting Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008693 nausea Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000004393 prognosis Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003319 supportive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000008673 vomiting Effects 0.000 description 1
Images
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本申请实施例提供一种疾病预测方法、装置及计算机可读存储介质,至少应用于人工智能领域和医学领域,其中方法包括:获取疾病预测请求;所述疾病预测请求中包括目标对象的至少一个显性症状;基于所述至少一个显性症状,采用自回归学习方式确定待问询症状;接收针对所述待问询症状的反馈信息;并根据所述反馈信息,确定与所述待问询症状对应的预期回报值;以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;基于所述症状序列,确定所述目标对象的疾病预测结果。通过本申请,能够提高疾病预测过程的症状召回率,从而降低疾病预测的误诊率。
Description
技术领域
本申请实施例涉及互联网领域,涉及但不限于一种疾病预测方法、装置及计算机可读存储介质。
背景技术
当前,在疾病自动诊断领域,大多数方法都基于马尔可夫决策过程对问题建模,并通过强化学习(RL,Reinforcement Learning)来求解问题。例如,将自动诊断视为面向任务的对话任务,在对话任务中,训练具有深度学习的代理,以在与患者互动期间收集隐性症状。为了缓解基于RL的方法学习效率低下的问题,相关技术中还编码医学知识和利用医学知识网络图提高了诊断性能。将疾病分为几个组,并使用两个级别的层次结构,使用层次强化学习方法进行疾病自动诊断。并且还基于生成性对抗网络的政策梯度框架,将互信息添加到奖励函数中,以鼓励模型选择最具鉴别性的症状进行诊断。
与基于RL的诊断方法相比,基于生成的诊断方法在症状预测方面具有更强的性能。相关技术中专注于从话语中检测症状。通过双向长短期记忆网络(Bi-LSTM,Bi-directional Long Short-Term Memory)对症状词序列进行编码,并根据症状图、文档级和语料库级的注意力机制来训练序列到序列模型,并使用条件随机场(CRF,ConditionalRandom Field)解码器识别症状。另外,为了缓解RL中的低效探索和稀疏奖励问题,相关技术中还将自动诊断描述为序列生成问题,并使用基于编码器的网络从三个训练任务中学习症状序列和疾病分类器。
目前,实现自动诊断的方法主要基于强化学习,并围绕如何让问诊代理提升症状问询策略的学习效率和诊断准确率展开。这些模型与现实应用之间仍然存在很大差距,存在症状召回率低和误诊率高的问题。
发明内容
本申请实施例提供一种疾病预测方法、装置及计算机可读存储介质,至少能够应用于人工智能领域和医学领域,能够提高疾病预测过程的症状召回率,从而降低疾病预测的误诊率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种疾病预测方法,包括:获取疾病预测请求;所述疾病预测请求中包括目标对象的至少一个显性症状;基于所述至少一个显性症状,采用自回归学习方式确定待问询症状;接收针对所述待问询症状的反馈信息;并根据所述反馈信息,确定与所述待问询症状对应的预期回报值;以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;基于所述症状序列,确定所述目标对象的疾病预测结果。
本申请实施例提供一种疾病预测装置,所述装置包括:获取模块,用于获取疾病预测请求;所述疾病预测请求中包括目标对象的至少一个显性症状;第一确定模块,用于基于所述至少一个显性症状,采用自回归学习方式确定待问询症状;第二确定模块,用于接收针对所述待问询症状的反馈信息;并根据所述反馈信息,确定与所述待问询症状对应的预期回报值;循环预测模块,用于以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;第三确定模块,用于基于所述症状序列,确定所述目标对象的疾病预测结果。
在一些实施例中,所述第一确定模块还用于:获取预设的症状集合;所述症状集合中包括不同类型疾病对应的预设症状序列;基于所述至少一个显性症状,确定与全部显性症状匹配的至少一个目标预设症状序列;从任一目标预设症状序列中随机选择一个预设症状,并将选择的预设症状确定为所述待问询症状。
在一些实施例中,所述第二确定模块还用于:当所述反馈信息为正向反馈信息时,确定与所述待问询症状对应的预期回报值为正向奖励值;当所述反馈信息为负向反馈信息时,确定与所述待问询症状对应的预期回报值为负向奖励值。
在一些实施例中,所述循环预测模块还用于:获取当前预测过程中预测得到的当前症状序列和所述当前症状序列中的每一症状的预期回报值;所述当前症状序列中包括每一轮预测过程中预测得到的预测症状,所述预测症状包括所述目标对象的正向症状和所述目标对象的负向症状;基于所述当前症状序列中的每一症状的预期回报值,确定预期总回报值;以最大化所述预期总回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;所述目标对象的症状序列是由所述目标对象的正向症状构成的症状序列。
在一些实施例中,所述预期总回报值包括多个正向症状对应的正向总奖励值和多个负向症状对应的负向总奖励值;所述循环预测模块还用于:以最大化所述正向总奖励值,且以最小化所述负向总奖励值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列。
在一些实施例中,所述装置还包括:处理模块,用于当基于所述反馈信息,确定出任一轮预测过程中得到的预测症状为负向症状时,删除所述负向症状;当基于所述反馈信息,确定出任一轮预测过程中得到的预测症状为正向症状时,将所述正向症状添加至所述症状序列中。
在一些实施例中,所述疾病预测方法通过疾病预测网络实现;所述疾病预测网络包括:序列解析器、对比学习模块、症状预测层和疾病预测层;所述序列解析器,用于对输入的原始症状序列进行特征提取,得到症状序列特征;所述原始症状序列中包括所述至少一个显性症状;所述对比学习模块,用于基于自监督对比方式,对输入的所述原始症状序列中的异序同集和异序异集进行区分;所述症状预测层,用于基于所述症状序列特征对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;所述疾病预测层,用于基于所述症状序列,确定所述目标对象的疾病预测结果。
在一些实施例中,所述装置还包括:模型训练模块,用于获取样本数据,并将样本数据输入至所述疾病预测网络中;所述样本数据包括正序序列和乱序序列;通过所述疾病预测网络的对比学习模块,确定所述正序序列在不同掩码模式下的掩码序列;通过所述疾病预测网络的序列解析器对所述正序序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述掩码序列进行特征提取,得到掩码症状序列特征;基于所述正序症状序列特征、所述乱序症状序列特征和所述掩码症状序列特征,确定所述疾病预测网络的对比损失结果;通过所述疾病预测网络的症状预测层,基于所述正序症状序列特征确定样本预测症状;通过所述疾病预测网络的疾病预测层,基于所述正序症状序列特征确定样本预测疾病;将所述样本预测症状和所述样本预测疾病输入至预设损失模型中,通过所述预设损失模型分别输出所述症状预测层的症状损失结果和所述疾病预测层的疾病损失结果;基于所述对比损失结果、所述症状损失结果和所述疾病损失结果,对所述疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
在一些实施例中,所述模型训练模块还用于:从预设语料库中获取症状与疾病组成的正样本序列;所述正样本序列中包括至少一个正序序列;从所述正样本序列中,随机构建至少一个正序序列对应的乱序序列;将所述正序序列与所述乱序序列,确定为所述样本数据中的正样本数据。
在一些实施例中,所述模型训练模块还用于:基于所述序列解析器的随机掩码机制,确定不同的两种掩膜模式;所述不同的两种掩膜模式包括第一掩码模式和第二掩码模式;在所述第一掩码模式和所述第二掩码模式下,对所述正序序列进行序列掩码处理,得到所述正序序列在第一掩码模式下的掩码序列和在第二掩码模式下的掩码序列;通过所述疾病预测网络的序列解析器,对所述第一掩码模式下的掩码序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述第二掩码模式下的掩码序列进行特征提取,得到掩码症状序列特征。
在一些实施例中,所述模型训练模块还用于:采用预设的第一对比损失函数,确定所述正序症状序列特征与所述掩码症状序列特征之间的第一对比损失;采用预设的第二对比损失函数,确定所述正序症状序列特征与所述乱序症状序列特征之间的第二对比损失;其中,所述第一对比损失和所述第二对比损失构成所述疾病预测网络的对比损失结果。
在一些实施例中,所述模型训练模块还用于:通过所述预设损失模型中的症状预测交叉熵损失函数,基于所述样本预测症状和所述正序序列中的疾病标签,确定所述症状预测层的症状损失结果;通过所述预设损失模型中的疾病预测交叉熵损失函数,基于所述样本预测疾病和所述样本数据中的疾病标签,确定所述疾病预测层的疾病损失结果;对所述症状损失结果和所述疾病损失结果进行损失融合处理,得到融合损失结果;采用梯度下降方法,基于所述融合损失结果,对所述疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
在一些实施例中,所述装置还包括:模型微调模块,用于采用所述训练后的疾病预测网络采集症状序列;基于所述症状序列,确定所述疾病预测网络的目标函数的损失梯度;采用预设微调参数,对所述损失梯度进行更新,以得到更新后的目标函数;采用所述更新后的目标函数所对应的疾病预测网络,再次采集症状序列,并基于所述再次采集得到的症状序列对所述疾病预测网络的目标函数进行更新,直至所述疾病预测网络在进行疾病预测时能够获得预设的预期回报值为止。
本申请实施例提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的疾病预测方法。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或可执行指令,计算机程序或可执行指令存储在计算机可读存储介质中;其中,电子设备的处理器从计算机可读存储介质中读取可执行指令,并执行可执行指令时,实现上述的疾病预测方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的疾病预测方法。
本申请实施例具有以下有益效果:基于用户输入的至少一个显性症状,采用自回归学习方式确定待问询症状;并接收针对待问询症状的反馈信息,根据反馈信息确定与待问询症状对应的预期回报值;以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;从而基于症状序列,确定目标对象的疾病预测结果。如此,由于以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,因此能够预测出具有最大预期回报值的症状,从而对目标对象的隐性症状进行准确的预测,能够提高疾病预测过程的症状召回率,进而基于症状序列对目标对象进行准确的疾病预测,降低疾病预测的误诊率。
附图说明
图1是本申请实施例提供的疾病预测系统的一个可选的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的疾病预测方法的一个可选的流程示意图;
图4是本申请实施例提供的疾病预测方法的另一个可选的流程示意图;
图5是本申请实施例提供的疾病预测方法的再一个可选的流程示意图;
图6是本申请实施例提供的疾病预测网络的训练方法的实现流程示意图;
图7是本申请实施例提供的确定不同掩码模式下的掩码序列的实现流程示意图;
图8是本申请实施例提供的预设损失模型的处理流程示意图;
图9是本申请实施例提供的模型微调的实现流程示意图;
图10是本申请实施例提供的产品界面图;
图11是本申请实施例的自动诊断模型ComAD的结构示意图;
图12是本申请实施例提供的模型训练对应的算法的算法流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例的风险预测方法之前,首先对本申请实施例中涉及的专业术语进行解释。
(1)自动诊断系统(ADS,Automatic Diagnostic System):自动诊断是人工智能在医疗领域最重要的应用之一。自动诊断系统是一种用来与患者交谈的计算机系统。自动诊断系统通常会在患者自我报告之外,与患者讨论一系列有关其症状的问题,然后尝试预测潜在的疾病。一开始患者主动告知的症状也叫显性症状,而通过问询挖掘到的症状也叫隐形症状。自动诊断系统通常被要求在尽可能短的时间给出最准确的症状查询和疾病预测。自动诊断系统在简化诊断程序、降低收集患者信息的成本、帮助做出更好、更高效的决策方面具有巨大潜力。
(2)序列生成模型(SGM,Sequence Generation Model):序列生成模型是输入和输出都是数据序列的机器学习模型。序列数据包括文本流、视频片段、时间序列数据等。自回归学习(Auto-regressive learning)基于过去行为预测未来行为,是学习序列生成模型常用的方法。
(3)强化学习:是机器学习的三种基本模式之一,与有监督学习和无监督学习并列。强化学习的优化目标是智能主体与环境交互的过程中学习一个策略使得根据该策略采取的动作能最大化累积期望奖励。
(4)对比学习(CL,Contrastive Learning):对比学习旨在通过将语义上相近的邻居拉在一起并推开非邻居来学习有效的文本表示从而优化下游任务。对比学习中的一个关键问题是如何构建正样本对。并建议使用它们来衡量表征的质量。
(5)表示学习(RL,Representtaion Learning):在机器学习中,表示学习是一组允许系统从原始数据中自动发现特征检测或分类所需的表示的技术。表示学习取代了手动特征工程,允许机器学习特征并使用学习到的特征执行特定任务。
目前,实现自动诊断的方法主要基于强化学习,并围绕如何让问诊代理提升症状问询策略的学习效率和诊断准确率展开。这些模型与现实应用之间仍然存在很大差距,因为这些模型往往忽略了症状问询的召回率,如果不能准确的查询到患者正在经受的症状,一方面会降低疾病预测的支撑信息影响诊断效果,另一方面会导致疾病预测缺乏依据从而降低诊断结果的可信度和可解释性。也就是说,一个实用的自动诊断系统既要有高精度的疾病预测准确率也要有高召回率的症状预测能力。例如,在问询一位主诉与体位有关的眩晕和眼震的中年女性患者(最终诊断为耳石症),希望系统能继续查问以下症状的性质:恶心、呕吐、头重脚轻、rolltest滚转试验、Dix--Hallpike变位试验,并最终给出正确的疾病预测结果(耳石症)。但是,当前大多数基于强化学习的模型通常在获取一两个症状后就给出疾病预测。最近有工作致力于提升问询过程中的症状召回率并采用生成模型来学习症状,然而这些模型忽略了对疾病准确率的优化。针对相关技术中的上述模型存在的技术问题,本申请实施例提出基于症状序列生成模型和强化学习微调的自动诊断模型(ComAD,Automatic Diagnosis Model ba sed on Symptom Aequence Generation Combined withReinforcement Learning),该自动诊断模型是一种疾病预测网络。ComAD以Transformer解析器为骨架模型,采用自回归预训任务学习症状序列生成逻辑,集成了自监督对比学习来提升症状序列表示性能,并采用强化学习微调疾病预测准确率。自监督对比促进症状序列生成学习的关键之处在于利用了Transfor mer使用独立采样的dropout掩码机制,该机制使得正样本对采用完全相同的症状序列作为输入,且正样本对的Transformer隐状态输出仅在dropout掩码中不同,作为dropout噪声增强了训练数据。此外,自适应加速器缓解了遗忘预防者的限制策略网络对新任务获取效率的影响。自适应加速器应用不变风险最小化机制从重放的经验中提取跨不同任务的不变特征,以提高问诊代理的泛化能力。此外,本申请实施例还设置了线性衰减重放缓冲区管理器,以降低存储成本。
通过自动诊断模型(即疾病预测网络),能够实现本申请实施例提供的疾病预测方法。本申请实施例提供的疾病预测方法中,首先,获取疾病预测请求;疾病预测请求中包括目标对象的至少一个显性症状;然后,基于至少一个显性症状,采用自回归学习方式确定待问询症状;并接收针对待问询症状的反馈信息;根据反馈信息,确定与待问询症状对应的预期回报值;再然后,以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;最后,基于症状序列,确定目标对象的疾病预测结果。如此,由于以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,因此能够预测出具有最大预期回报值的症状,从而对目标对象的隐性症状进行准确的预测,能够提高疾病预测过程的症状召回率,进而基于症状序列对目标对象进行准确的疾病预测,降低疾病预测的误诊率。
下面说明本申请实施例的疾病预测设备的示例性应用,该疾病预测设备是用于实现疾病预测方法的电子设备。在一种实现方式中,本申请实施例提供的疾病预测设备(即电子设备)可以实施为终端,也可以实施为服务器。在一种实现方式中,本申请实施例提供的疾病预测设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、智能家电、医疗设备和智能车载设备等任意的具备数据处理功能的终端;在另一种实现方式中,本申请实施例提供的疾病预测设备还可以实施为服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。下面,将说明疾病预测设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的疾病预测系统的一个可选的架构示意图,本申请实施例以疾病预测方法应用于疾病预测应用为例进行说明。在疾病预测应用中,当疾病预测应用的客户端采集到目标对象(可以是指用户或者患者)的至少一个显性症状时,基于至少一个显性症状,采用本申请实施例提供的疾病预测方法,循环预测出目标对象的多个隐形症状,并基于显性症状和隐形症状生成目标对象的症状序列,从而基于症状序列对目标对象进行准确的疾病预测。本申请实施例中,疾病预测系统中至少包括终端100、网络200和服务器300。其中,服务器300可以是疾病预测应用的服务器。服务器300可以构成本申请实施例的疾病预测设备。终端100通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。
本申请实施例中,终端100通过疾病预测应用的客户端获取用户的输入操作,该输入操作用于输入至少一个显性症状;终端100响应于输入操作,生成与该输入操作对应的疾病预测请求,并通过网络200将疾病预测请求发送给服务器300。服务器300在接收到疾病预测请求之后,响应于疾病预测请求,基于至少一个显性症状,采用自回归学习方式确定待问询症状;并接收针对待问询症状的反馈信息;根据反馈信息,确定与待问询症状对应的预期回报值;然后,以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;最后,基于症状序列,确定目标对象的疾病预测结果。服务器300在得到疾病预测结果之后,可以将疾病预测结果通过网络200发送给终端100,终端100的客户端在当前界面上显示疾病预测结果。例如,疾病预测结果可以是疾病预测设备预测的目标对象所患的疾病。例如,当疾病预测设备预测到目标对象患耳石症时,在当前界面上显示目标对象的疾病预测结果为耳石症。
在另一些实施例中,服务器300在得到疾病预测结果之后,还可以查询与该疾病预测结果对应的注意事项信息,并将注意事项信息发送给终端,在终端当前界面显示疾病预测结果的同时,显示注意事项信息。例如,注意事项信息可以是关于疾病预测结果对应疾病的护理要求、饮食情况、日常调理等注意事项和建议,或者还可以是关于进一步诊断和检查的信息等。
在再一些实施例中,疾病预测设备还可以实施为终端,也就是说,以终端为执行主体实现本申请实施例的疾病预测方法。在实现的过程中,终端获取目标对象的输入操作;输入操作用于输入至少一个显性症状;然后,终端基于至少一个显性症状,采用自回归学习方式确定待问询症状;并接收针对待问询症状的反馈信息;根据反馈信息,确定与待问询症状对应的预期回报值;再然后,以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;最后,基于症状序列,确定目标对象的疾病预测结果。终端在得到目标对象的疾病预测结果之后,在当前界面上显示疾病预测结果。
本申请实施例所提供的疾病预测方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器。通过云端服务器采用自回归学习方式确定待问询症状,或者,通过云端服务器根据反馈信息,确定与待问询症状对应的预期回报值,或者,通过云端服务器以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列,或者,通过云端服务器基于症状序列确定目标对象的疾病预测结果。
在一些实施例中,还可以具有云端存储器,可以将目标对象的至少一个显性症状存储至云端存储器中,或者,还可以将针对待问询症状的反馈信息存储至云端存储器中,或者,还可以将目标对象的症状序列和疾病预测结果存储至云端存储器中。这样,在接收到与云端服务器中存储的疾病具有相同显性症状的疾病预测请求时,可以从云端存储器中获取症状序列进行依次问询,以确定用户是否具有症状序列中的每一症状,如果具有的话则可以直接将云端存储器中存储的疾病预测结果确定为用户的诊断结果,从而提高疾病预测的效率。
这里需要说明的是,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
图2是本申请实施例提供的电子设备的结构示意图,图2所示的电子设备可以是一疾病预测设备,疾病预测设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。疾病预测设备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,以及一个或多个输入装置332。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可采用软件方式实现,图2示出了存储在存储器350中的一种疾病预测装置354,该疾病预测装置354可以是电子设备中的疾病预测装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3541、第一确定模块3542、第二确定模块3543、循环预测模块3544和第三确定模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的疾病预测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logi c Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
本申请各实施例提供的疾病预测方法可以由电子设备来执行,其中,该电子设备可以是服务器也可以是终端,即本申请各实施例的疾病预测方法可以通过服务器来执行,也可以通过终端来执行,或者也可以通过服务器与终端之间交互执行。
图3是本申请实施例提供的疾病预测方法的一个可选的流程示意图,下面将结合图3示出的步骤进行说明,需要说明的是,图3中的疾病预测方法是服务器作为执行主体为例来说明的,如图3所示,方法包括以下步骤S101至步骤S105:
步骤S101,获取疾病预测请求;疾病预测请求中包括目标对象的至少一个显性症状。
这里,疾病预测请求用于请求对目标对象进行疾病预测。本申请实施例中,疾病预测方法可以通过疾病预测应用来实现,疾病预测应用可以是用户能够进行交互,进行疾病预测的应用程序。在一种实现方式中,疾病预测应用可以被安装于目标对象的终端上,目标对象在具有疾病预测需求时,可以运行终端上的疾病预测应用,在疾病预测应用的客户端输入目标对象当前已有的至少一个显性症状,这里,显性症状是指目标对象在运行疾病预测应用时主动告知的症状,即目标对象输入的症状。基于目标对象的至少一个显性症状,疾病预测应用作为一医生代理能够预测出目标的多个隐性症状。在另一种实现方式中,疾病预测应用也可以被部署在医疗问诊平台上,例如,可以部署于医院的医疗问诊设备上。这样,当患者(即目标对象)在医院就医时,可以先在医疗问诊设备上进行初步的问诊,通过医疗问诊设备对患者进行疾病预测和分析,初步确定出患者可能患有的疾病,并且基于该预测到的疾病,可以给患者提供就医建议,例如,建议去哪个科室看哪个医生。
本申请实施例中,在运行疾病预测应用的过程中,目标对象(即用户,也可以是患者)可以根据自身当前的至少一个显性症状,在疾病预测应用的客户端进行输入操作,从而触发疾病预测应用的服务器对用户进行疾病预测。服务器可以是疾病预测应用的后台服务器。
本申请实施例中,在疾病预测应用的当前界面上,可以具有症状输入区域,在症状输入区域,用户可以通过以下方式中的任意一种输入自身的至少一个显性症状:文本输入、语音输入、选择输入。其中,在进行选择输入时,客户端可以提供针对人体不同部位的人体结构图,用户可以通过选中自身显性症状对应的人体部位,客户端响应于用户的人体部位选择,在当前界面上显示该人体部位可能存在的多种症状,之后,用户可以选择自身当前具有的症状。在用户选择自身当前具有的症状之后,所选择的症状即可作为显性症状输入至客户端。
在用户输入至少一个显性症状之后,当前界面上还可以具有确认按钮或者诊断按钮,用户可以点击确认按钮或诊断按钮开始进行疾病预测。也就是说,在用户点击确认按钮或诊断按钮之后,疾病预测应用基于用户输入的至少一个显性症状,确定用户的隐性症状,并进一步对用户进行疾病预测。
本申请实施例中,当终端通过客户端接收到目标对象的输入操作时,响应于输入操作,生成疾病预测请求。
步骤S102,基于至少一个显性症状,采用自回归学习方式确定待问询症状。
这里,待问询症状是指基于目标对象输入的至少一个显性症状,所预测的与显性症状对应的初步预测症状。在实现的过程中,可以从症状疾病数据集中获取具有全部显性症状的多个疾病,然后从这多个疾病所具有的症状中,随机选择一个症状作为待问询症状,先初步对目标对象进行问询,以进一步确定出目标对象所可能具有的隐形症状。
症状疾病数据集是预先构建的包括多种不同疾病,以及每一疾病所具有的多种症状的数据集。在症状疾病数据集中,存储有多种不同疾病和每一疾病所具有的多种症状。每一疾病与该疾病具有的多种症状之间具有映射关系。不同的疾病可以与相同的一种症状之间均具有映射关系。当确定出某一疾病时,可以基于映射关系,从症状疾病数据集中获取多个症状;当确定出某一症状时,可以基于映射关系,从症状疾病数据集中获取多种疾病。
本申请实施例中,当已知目标对象的至少一个显性症状之后,可以基于至少一个显性症状,从症状疾病数据集中,基于疾病与症状之间的映射关系,首先确定出具有这些显性症状的全部疾病,然后获取这些全部疾病对应的多种症状,并从这多种症状中,在除了已知的显性症状之外的其他症状中随机选择一个症状作为待问询症状。
自回归学习方式是指基于过去行为预测未来行为,是学习序列生成模型常用的方法。例如,在语言模型里面,每一次用之前那些词(x),去预测下面一个词(y),x和y都是来自同一个句子里的词,这种预测方式就是一种自回归学习方式。本申请实施例中,自回归学习方式可以通过自回归模型实现,自回归模型(AM,Autoregressive Model)是用自身做回归变量的过程,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型,自回归模型是时间序列中的一种常见形式。
步骤S103,接收针对待问询症状的反馈信息;并根据反馈信息,确定与待问询症状对应的预期回报值。
这里,反馈信息是指客户端在输出待问询症状之后,目标对象针对自身是否具有这一待文字症状的反馈信息。本申请实施例中,当服务器预测到待问询症状之后,可以将待问询症状发送给终端,终端通过疾病预测应用的客户端输出该待问询症状。
在实现的过程中,疾病预测应用的客户端可以呈现一智能医疗对话页面,通过该页面实现AI导诊、预问诊和其他智能医疗对话场景。本申请实施例的疾病预测应用可以实现为一AI医疗智能问诊助手。在该AI医疗智能问诊助手中,自动诊断机器人可以与目标对象以即时通信消息的方式进行沟通,将预测得到的待问询症状发送给目标对象,以询问目标对象是否具有该待问询症状。
本申请实施例中,自动诊断机器人在与目标对象进行沟通时,可以采用以下方式中的任意一种:文本消息方式、语音消息方式、图像消息方式、图文消息方式和视频消息方式等。
在一些实施例中,反馈信息包括正向反馈信息和负向反馈信息,其中,正向反馈信息是指目标对象具有待问询症状的反馈信息,负向反馈信息是指目标对象不具有待问询症状的反馈信息。
本申请实施例中,根据反馈信息,确定与待问询症状对应的预期回报值,是指针对于正向反馈信息和负向反馈信息,分别确定出不同的预期回报值。例如,正向反馈信息对应一正向预期回报值,负向反馈信息对应一负向预期回报值。可以预先设置正向预期回报值和负向预期回报值的取值范围,在获取到反馈信息之后,根据反馈信息的类型(属于正向反馈信息还是属于负向反馈信息)或者反馈信息的信息内容,对应选择出相应的预期回报值取值。
在一些实施例中,预期回报值可以以奖励值的形式呈现,对应地,正向预期回报值对应一正向奖励值,负向预期回报值对应一负向奖励值。
在一种实现方式中,由于待问询症状对应的反馈信息包括具有该待问询症状和不具有该待问询症状这两种完全相反的反馈结果,因此,可以根据反馈信息的类型,选择出相应的预期回报值取值为固定取值。例如,待问询症状可以是“咳嗽”,则正向反馈信息为“是”,负向反馈信息为“否”,那么可以预设正向奖励值是取值为正数的奖励值,例如可以取值为1;负向奖励值是取值为负数的奖励值,例如可以取值为-1。
在另一种实现方式中,由于待问询症状可以是与程度相关的症状,对应的反馈信息包括程度信息,因此,可以根据反馈信息的信息内容(例如,程度信息),选择出相应的预期回报值取值为取值范围中的一浮动值。例如,待问询症状可以是“腹痛时长”,则反馈信息包括腹痛时长,可以根据腹痛时长确定出相应的预期回报值。如腹痛时长越长,则预期回报值越大;腹痛时长越短,则预期回报值越小。比如,预期回报值的取值范围可以是[0,1],则腹痛时长为1天对应的预期回报值取值可以为0.1,腹痛时长为7天对应的预期回报值取值可以为0.8。
步骤S104,以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列。
这里,在根据反馈信息确定与待问询症状对应的预期回报值之后,可以以最大化预期回报值为目标,持续对目标对象的隐性症状进行多次循环预测。在循环预测过程中,每一次预测得到一预测症状之后,将该预测症状作为待问询症状进行输出,以得到目标对象针对每一待问询症状的反馈信息,从而在每一次预测过程中,均能够得到对应于预测症状的预期回报值。
在每一次预测过程中,可以基于当前已预测到的全部症状中,得到目标对象的正向反馈信息的症状为预测依据,确定与这些症状对应的疾病所具有的任一症状为本次预测得到的症状。
需要说明的是,隐性症状是指预测到的得到目标对象的正向反馈信息的症状,也就是说,隐性症状是指目标对象实际具有的症状。在循环预测过程中,可以预测到准确的隐性症状,也可以预测到非隐性症状(即目标对象不具有的症状),因此,在得到目标对象的症状序列时,可以将预测的非隐性症状剔除。本申请实施例中,症状序列中包括目标对象的多个显性症状和多个隐性症状。
在一些实施例中,循环预测可以具有预设的预测次数,即可以进行预测次数的循环预测过程。本申请实施例中,预测次数满足预设收敛条件。该预设收敛条件可以是基于当前得到的症状序列能够匹配到一种疾病,且症状序列与该疾病之间的匹配度大于匹配度阈值时,则认为当前循环预测的预测次数满足预设收敛条件。或者,该预设收敛条件还可以是基于当前得到的症状序列能够匹配到疾病,且仅能够唯一的匹配到一种疾病时,则认为当前循环预测的预测次数满足预设收敛条件。
步骤S105,基于症状序列,确定目标对象的疾病预测结果。
本申请实施例中,在预测得到目标对象的症状序列之后,基于症状序列中的每一症状,将具有症状序列中的全部症状的疾病,确定为目标对象的疾病预测结果。
本申请实施例提供的疾病预测方法,基于用户输入的至少一个显性症状,采用自回归学习方式确定待问询症状;并接收针对待问询症状的反馈信息,根据反馈信息确定与待问询症状对应的预期回报值;以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;从而基于症状序列,确定目标对象的疾病预测结果。如此,由于以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,因此能够预测出具有最大预期回报值的症状,从而对目标对象的隐性症状进行准确的预测,能够提高疾病预测过程的症状召回率,进而基于症状序列对目标对象进行准确的疾病预测,降低疾病预测的误诊率。
在一些实施例中,疾病预测系统中至少包括终端和服务器,终端上安装有疾病预测应用,疾病预测应用可以是用户能够进行交互,进行初步疾病预测的应用程序。疾病预测应用可以是能够安装于用户可移动终端上的应用程序,也可以是能够部署在医疗问诊平台上的应用程序,例如,可以是部署于医院的医疗问诊设备上,患者在医院就医时,可以先在医疗问诊设备上进行初步的问诊,通过医疗问诊设备对患者进行疾病预测,之后再基于疾病预测结果向更专业的医生寻求帮助。在疾病预测应用中,用户(可以是患者)可以根据自身当前的至少一个显性症状,在疾病预测应用的客户端进行输入操作,从而触发疾病预测应用的服务器对用户进行疾病预测。服务器可以是疾病预测应用的后台服务器。
图4是本申请实施例提供的疾病预测方法的另一个可选的流程示意图,如图4所示,方法包括以下步骤S201至步骤S212:
步骤S201,终端获取目标对象的输入操作。
输入操作用于输入至少一个显性症状。本申请实施例中,目标对象可以通过疾病预测应用的客户端执行输入操作,通过输入操作输入目标对象当前已经具有的至少一个显性症状。
本申请实施例中,在进行输入操作时,目标对象可以在客户端当前界面的症状输入区域一次性输入多个显性症状,也可以依次进行多次输入操作,从而输入多个显性症状。
举例来说,在症状输入区域,目标对象可以以特定分隔符号分隔开多个显性症状,从而实现一次性输入多个显性症状,在输入多个显性症状之后,通过点击当前界面的确认按钮或者诊断按钮,触发本申请实施例的疾病预测流程。或者,在症状输入区域,可以提供多个症状输入框,目标对象可以在每一症状输入框中输入一个显性症状,并点击当前界面的确认按钮或者诊断按钮,从而触发本申请实施例的疾病预测流程。
需要说明的是,显性症状相当于日常问诊过程中的主诉症状;而采用本申请实施例的疾病预测方法预测出的隐性症状,相当于日常问诊过程中医生通过询问得出的患者所具有的症状。
步骤S202,终端响应于输入操作,生成与输入操作对应的疾病预测请求。
这里,疾病预测请求用于请求基于目标对象输入的显性症状,对目标对象进行疾病预测。
步骤S203,终端将疾病预测请求发送给服务器。
步骤S204,服务器响应于疾病预测请求,基于至少一个显性症状,采用自回归学习方式确定待问询症状。
在一些实施例中,参见图5,图5是本申请实施例提供的疾病预测方法的再一个可选的流程示意图,图5示出了步骤S204可以通过以下步骤S2041至步骤S2043实现:
步骤S2041,获取预设的症状集合。
这里,症状集合中包括不同类型疾病对应的预设症状序列,也就是说,症状集合是症状疾病数据集中的全部症状构成的数据集。症状疾病数据集是预先构建的包括多种不同疾病,以及每一疾病所具有的多种症状的数据集。在症状疾病数据集中,存储有多种不同疾病和每一疾病所具有的多种症状。每一疾病与该疾病具有的多种症状之间具有映射关系。
步骤S2042,确定与全部显性症状匹配的至少一个目标预设症状序列。
这里,当已知目标对象的至少一个显性症状之后,可以基于至少一个显性症状,从症状疾病数据集中,基于疾病与症状之间的映射关系,首先确定出具有这些显性症状的全部疾病,然后获取这些全部疾病中每一疾病的症状序列,将每一疾病的症状序列确定为一个目标预设症状序列。至少一个目标预设症状序列中包括多种症状。
本申请实施例中,由于至少一个目标预设症状序列中可能存在重复症状,因此,为了降低至少一个目标预设症状序列对应的数据存储空间,可以获取至少一个目标预设症状序列中包括的多种症状,构成症状集合,该症状集合中对于不同目标预设症状序列中的重复症状只存储一次。
步骤S2043,从任一目标预设症状序列中随机选择一个预设症状,并将选择的预设症状确定为待问询症状。
这里,从任一目标预设症状序列中选择一个预设症状,即从至少一个目标预设症状序列包括的多种症状中,随机选择一个预设症状。
本申请实施例提供的确定待问询症状的方法,通过已知的至少一个显性症状,匹配出至少一个目标预设症状序列,再从匹配的目标预设症状序列中随机选择一个预设症状作为待问询症状。如此,所确定出的待问询症状是与目标对象的显性症状匹配的疾病所包含的症状,因此,能够保证所预测的待问询症状具有一定的准确性;并且,待问询症状是从与目标对象的显性症状匹配的目标预设症状序列中选择出的,而不是从庞大的症状库中随机选择的,因此,也能够极大的降低匹配待问询症状的数据处理量。
需要说明的是,本申请实施例中所提出的症状与疾病匹配的意思是该症状是相应的疾病所具有的症状。
步骤S205,服务器将待问询症状发送给终端。
步骤S206,终端获取用户针对待问询症状的反馈信息。
这里,反馈信息是指客户端在输出待问询症状之后,目标对象针对自身是否具有这一待文字症状的反馈信息。
步骤S207,终端将反馈消息发送给服务器。
步骤S208,服务器根据反馈信息,确定与待问询症状对应的预期回报值。
在一些实施例中,请继续参见图5,图5示出了步骤S208可以通过以下步骤S2081至步骤S2042实现:
步骤S2081,当反馈信息为正向反馈信息时,确定与待问询症状对应的预期回报值为正向奖励值。
这里,正向奖励值可以是取值为正的一数值。正向奖励值可以基于反馈信息的类型或者反馈信息的信息内容来确定。
步骤S2082,当反馈信息为负向反馈信息时,确定与待问询症状对应的预期回报值为负向奖励值。
这里,负向奖励值可以是取值为负的一数值。负向奖励值也可以基于反馈信息的类型或者反馈信息的信息内容来确定。
在一些实施例中,当基于反馈信息,确定出任一轮预测过程中得到的预测症状为负向症状时,表明本轮预测过程得到的预测症状不是目标对象所具有的症状,因此删除负向症状。当基于反馈信息,确定出任一轮预测过程中得到的预测症状为正向症状时,表明本轮预测过程得到的预测症状是目标对象所具有的症状,因此,该预测症状即目标对象的隐性症状,将正向症状添加至症状序列中。
步骤S209,服务器以最大化预期回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列。
在一些实施例中,请继续参见图5,图5示出了步骤S209可以通过以下步骤S2091至步骤S2093实现:
步骤S2091,获取当前预测过程中预测得到的当前症状序列和当前症状序列中的每一症状的预期回报值。
本申请实施例中,当前症状序列中包括每一轮预测过程中预测得到的预测症状,预测症状包括目标对象的正向症状和目标对象的负向症状。
步骤S2092,基于当前症状序列中的每一症状的预期回报值,确定预期总回报值。
这里,预期总回报值是对当前症状序列中的全部症状的预期回报值求和后得到的回报值。
步骤S2093,以最大化预期总回报值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;目标对象的症状序列是由目标对象的正向症状构成的症状序列。
在一些实施例中,预期总回报值包括多个正向症状对应的正向总奖励值和多个负向症状对应的负向总奖励值。以最大化预期总回报值为目标,对目标对象的隐性症状进行循环预测可以是以最大化正向总奖励值,且以最小化负向总奖励值为目标,对目标对象的隐性症状进行循环预测,得到目标对象的症状序列。
本申请实施例中,症状序列中包括目标对象的多个显性症状和多个隐性症状。
步骤S210,服务器基于症状序列,确定目标对象的疾病预测结果。
这里,在预测得到目标对象的症状序列之后,基于症状序列中的每一症状,将具有症状序列中的全部症状的疾病,确定为目标对象的疾病预测结果。
步骤S211,服务器将疾病预测结果发送给终端。
步骤S212,终端在当前界面上显示疾病预测结果。
在其他实施例中,在得到疾病预测结果之后,还可以查询与该疾病预测结果中的疾病对应的注意事项信息,并将注意事项信息发送给终端,在终端当前界面显示疾病预测结果的同时,显示注意事项信息。例如,注意事项信息可以是关于疾病预测结果对应疾病的护理要求、饮食情况、日常调理等注意事项和建议;或者还可以是关于进一步诊断和检查的建议信息;或者还可以是该疾病对应的治疗相关医院信息、科室信息和医生信息;或者还可以是关于疾病预测结果所对应疾病的解释信息;或者还可以是关于该疾病的用药和治疗手段等相关信息;或者还可以是关于该疾病的预期治疗费用信息等。
本申请实施例提供的疾病预测方法,基于目标对象输入的至少一个显性症状对目标对象的隐性症状进行循环预测,从而准确快速的得到目标对象的多个隐性症状,生成目标对象准确的症状序列,从而基于症状序列能够对目标对象进行准确的疾病预测和诊断;同时,基于疾病预测结果,还能够提供给目标对象个性化的注意事项信息,使得目标对象在疾病预测过程中,无需从其他平台去查询自身所患疾病的相关信息,通过本申请实施例提供的疾病预测应用即可实现诊断与治疗一体化服务,从而提高用户对疾病预测应用的使用体验。
在一些实施例中,上述疾病预测方法可以通过疾病预测网络来实现,该疾病预测网络为一种自动诊断模型,通过该自动诊断模型,能够实现本申请实施例提供的疾病预测方法。
本申请实施例中,疾病预测网络包括:序列解析器、对比学习模块、症状预测层和疾病预测层。其中,序列解析器,用于对输入的原始症状序列进行特征提取,得到症状序列特征;原始症状序列中包括所述至少一个显性症状;对比学习模块,用于基于自监督对比方式,对输入的原始症状序列中的异序同集和异序异集进行区分;症状预测层,用于基于症状序列特征对目标对象的隐性症状进行循环预测,得到目标对象的症状序列;疾病预测层,用于基于症状序列,确定目标对象的疾病预测结果。
下面,对本申请实施例提供的疾病预测网络的训练方法进行说明。图6是本申请实施例提供的疾病预测网络的训练方法的实现流程示意图,疾病预测网络的训练方法可以通过模型训练装置来执行。其中,模型训练装置可以是疾病预测设备(即电子设备)中的装置,即模型训练装置可以是服务器也可以是终端,在该情况下,模型训练装置可以是疾病预测设备中的疾病预测装置中的模块,例如,可以是模型训练模块。或者,模型训练装置也可以是独立于疾病预测设备的另一设备,即模型训练装置是区别于上述用于实现疾病预测方法的服务器和终端之外的其他电子设备。如图6所示,疾病预测网络的训练方法包括以下步骤S301至步骤S308:
步骤S301,模型训练装置获取样本数据,并将样本数据输入至疾病预测网络中;样本数据包括正序序列和乱序序列。
在一些实施例中,步骤S301中获取样本数据,可以通过以下方式实现:首先,从预设语料库中获取症状与疾病组成的正样本序列;正样本序列中包括至少一个正序序列;然后,从正样本序列中,随机构建至少一个正序序列对应的乱序序列;最后,将正序序列与乱序序列,确定为样本数据中的正样本数据。
这里,正序序列是指未进行乱序处理的原始序列。可以从正样本序列中随机选择一个正序序列进行乱序处理,乱序处理是指将正序序列中的症状在正序序列中的位置打乱,形成一个新的具有不同序列位置的乱序序列。举例来说,假设正序序列中包括A,B,C,D,E五个症状,则正序序列可以表示为【A,B,C,D,E】,在进行乱序处理后,得到的乱序序列可以表示是【D,A,E,B,C】。
任意一对正序序列和乱序序列中的症状数量和症状类型完全相同,所不同的只是每个症状在正序序列和乱序序列中所在的位置不同。这里的位置是指在相应序列中的先后顺序。
需要说明的是,由于正样本序列是由症状和对应的疾病组成的序列,即正序序列和乱序序列中均不仅包括症状,还包括疾病,那么,在实现的过程中,正序序列和乱序序列中疾病在序列中的位置可以为固定位置,即乱序处理只是对正序序列中的症状的位置进行打乱,并不改变疾病所在的位置。举例来说,假设正序序列中包括A,B,C,D,E五个症状以及疾病K,则正序序列可以表示为【A,B,C,D,E;K】,在进行乱序处理后,得到的乱序序列可以表示是【D,A,E,B,C;K】。
本申请实施例中,可以基于正样本序列中的多个正序序列,得到多对正序序列和乱序序列构成的序列对,并将多对序列对确定为正样本数据,从而基于构建的正样本数据对疾病预测模型进行训练。
步骤S302,模型训练装置通过疾病预测网络的对比学习模块,确定正序序列在不同掩码模式下的掩码序列。
在一些实施例中,参见图7,图7示出了步骤S302可以通过以下步骤S3021至步骤S3022实现:
步骤S3021,基于序列解析器的随机掩码机制,确定不同的两种掩膜模式;不同的两种掩膜模式包括第一掩码模式和第二掩码模式。
这里,序列解析器是用于对正序序列和乱序序列进行特征提取的解析器。本申请实施例中,序列解析器可以采用Transformer解析器来实现。第一掩码模式和第二掩码模式可以是Transformer解析器中不同的随机失活掩码。这里,随机失活(dropout)是对具有深度结构的人工神经网络(例如Transformer解析器)进行优化的方法,在学习过程中通过将隐含层的部分权重或输出随机归零,降低节点间的相互依赖性(co-dependence)从而实现神经网络的正则化(regularization),降低模型的结构风险(structural risk)。
步骤S3022,在第一掩码模式和第二掩码模式下,对正序序列进行序列掩码处理,得到正序序列在第一掩码模式下的掩码序列和在第二掩码模式下的掩码序列。
步骤S303,模型训练装置通过疾病预测网络的序列解析器对正序序列和乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对掩码序列进行特征提取,得到掩码症状序列特征。
请继续参照图7,在一些实施例中,图7还示出了步骤S303可以通过以下步骤S3031实现:
步骤S3031,通过疾病预测网络的序列解析器,对第一掩码模式下的掩码序列和乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对第二掩码模式下的掩码序列进行特征提取,得到掩码症状序列特征。
步骤S304,模型训练装置基于正序症状序列特征、乱序症状序列特征和掩码症状序列特征,确定疾病预测网络的对比损失结果。
在一些实施例中,步骤S304可以通过以下方式实现:采用预设的第一对比损失函数,确定正序症状序列特征与掩码症状序列特征之间的第一对比损失。并且,采用预设的第二对比损失函数,确定正序症状序列特征与乱序症状序列特征之间的第二对比损失。
这里,在实现的过程中,可以将正序症状序列特征与掩码症状序列特征输入至第一对比损失函数中,通过第一对比损失函数,计算正序症状序列特征与掩码症状序列特征之间的对比损失,得到第一对比损失。可以将正序症状序列特征与乱序症状序列特征输入至第二对比损失函数中,通过第二对比损失函数,计算正序症状序列特征与乱序症状序列特征之间的对比损失,得到第二对比损失。其中,第一对比损失和第二对比损失构成疾病预测网络的对比损失结果。
步骤S305,模型训练装置通过疾病预测网络的症状预测层,基于正序症状序列特征确定样本预测症状。
这里,症状预测层用于对输入的正序症状序列特征进行处理后,输出样本预测症状。样本预测症状是在本轮症状预测过程中,预测到的与输入的样本数据对应的预测症状。
步骤S306,模型训练装置通过疾病预测网络的疾病预测层,基于正序症状序列特征确定样本预测疾病。
这里,疾病预测层用于对输入的正序症状序列特征进行处理后,输出样本预测疾病。样本预测疾病是基于输入的样本数据和预测的隐性症状,预测得到的样本目标对象的疾病。
步骤S307,模型训练装置将样本预测症状和样本预测疾病输入至预设损失模型中,通过预设损失模型分别输出症状预测层的症状损失结果和疾病预测层的疾病损失结果。
在一些实施例中,参见图8,图8示出了步骤S307可以通过以下步骤S3071至步骤S3072实现:
步骤S3071,通过预设损失模型中的症状预测交叉熵损失函数,基于样本预测症状和正序序列中的疾病标签,确定症状预测层的症状损失结果。
这里,在实现的过程中,可以将样本预测症状和正序序列中的疾病标签输入至症状预测交叉熵损失函数中,通过症状预测交叉熵损失函数,计算样本预测症状和正序序列中的疾病标签之间的交叉熵损失,得到症状预测层的症状损失结果。
步骤S3072,通过预设损失模型中的疾病预测交叉熵损失函数,基于样本预测疾病和样本数据中的疾病标签,确定疾病预测层的疾病损失结果。
这里,在实现的过程中,可以将样本预测疾病和样本数据中的疾病标签输入至疾病预测交叉熵损失函数中,通过疾病预测交叉熵损失函数,计算样本预测疾病和样本数据中的疾病标签之间的交叉熵损失,得到疾病预测层的疾病损失结果。
请继续参照图8,在一些实施例中,方法还可以包括以下步骤S3073和步骤S3074:
步骤S3073,对症状损失结果和疾病损失结果进行损失融合处理,得到融合损失结果。
这里,损失融合处理可以是对症状损失结果和疾病损失结果进行直接求和或者进行加权求和,得到融合损失结果。
步骤S3074,采用梯度下降方法,基于融合损失结果,对疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
本申请实施例中,通过梯度下降方法,能够优化疾病预测网络的融合损失结果,从而对疾病预测网络进行准确的训练。
步骤S308,模型训练装置基于对比损失结果、症状损失结果和疾病损失结果,对疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
本申请实施例中,可以基于对比损失结果对序列解析器和对比学习模块中的模型参数进行修正;可以基于症状损失结果对症状预测层中的模型参数进行修正;可以基于疾病损失结果对疾病预测层中的模型参数进行修正。
在一些实施例中,在对疾病预测网络进行训练之后,还可以对训练后的疾病预测网络进行模型微调。图9是本申请实施例提供的模型微调的实现流程示意图,如图9所示,针对上述训练后的疾病预测网络,方法包括以下步骤S401至步骤S404:
步骤S401,采用训练后的疾病预测网络采集症状序列。
这里,采用训练后的疾病预测网络采集症状序列可以是通过想疾病预测网络中输入至少一个显性症状之后进行隐性症状的预测,得到多个隐性症状,进而得到由显性症状与隐性症状构成的症状序列。
步骤S402,基于症状序列,确定疾病预测网络的目标函数的损失梯度。
这里,可以通过预设的梯度损失函数,对症状序列对应的症状序列特征进行损失计算,得到疾病预测网络的目标函数的损失梯度。
步骤S403,采用预设微调参数,对损失梯度进行更新,以得到更新后的目标函数。
这里,预设微调参数可以为一个预先设置的参数,预设微调参数可以根据疾病预测网络的训练条件等来确定。
步骤S404,采用更新后的目标函数所对应的疾病预测网络,再次采集症状序列,并基于再次采集得到的症状序列对疾病预测网络的目标函数进行更新,直至疾病预测网络在进行疾病预测时能够获得预设的预期回报值为止。
本申请实施例中,在对疾病预测网络进行训练得到训练后的疾病预测网络之后,可以基于得到的疾病预测网络,结合用户模拟器或者真实用户进行交互学习,实现对疾病预测网络的微调,从而保证微调后的疾病预测网络能够更加准确的应用于疾病预测任务中,提高疾病预测的准确性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例针对当前自动诊断模型存在的误诊率高和症状召回率低问题,提出了一个新的模型来同时提升自动诊断中的症状问询质量和疾病预测准确率。本申请实施例从三个不同的方面来设计这个模型:(1)为了提高问询症状的召回率,构建一个症状序列生成模型和采用自回归学习来获取症状预测逻辑。(2)为了有效地学习与顺序无关的症状序列表示,引入了自监督对比学习技术迫使不同顺序的症状集合在表示空间上靠近,而含有不同症状元素的序列在表示空间上远离,来学习有效的症状序列表示。(3)为了提高疾病预测准确率,在联合训练的症状序列生成模型和疾病分类模型的基础上构建了强化学习微调器,通过交互式探索来获取最优的症状问询的疾病预测策略。本申请实施例有助于构建和人类医生更接近的自动诊断机器人。这样的机器人像医生一样具备专业的问诊的能力,极大地提高了自动诊断模型的可信度和可解释性,减少人工依赖,从而大大地缓解了医疗资源紧缺和医疗资源分布不均的困局。
本申请实施例的自动诊断模型可以应用于健康智能问诊产品,用于AI导诊、预问诊和其他智能医疗对话场景。图10是本申请实施例提供的产品界面图,如图10所示,在健康智能问诊产品的当前界面,用户可以与自动诊断机器人进行对话,从而使得自动诊断机器人可以预测出用户的疾病类型。
本申请实施例的方案主要应用于基于序列决策的交互式自动诊断策略学习场景。医患的交互过程如下:一开始医生知晓一部分患者报告的初始症状,这些症状被视为显性症状。在后续的每轮交互中,医生代理(即自动诊断机器人)从症状集I中选择一个症状i来问病人是否有该症状。与此同时,患者回答对(True)或者错(False)来表明他/她是否患有该特定症状。在诊断过程中,医生代理可以随时结束症状问询而转向疾病预测,即医生代理从所有疾病集D中确定一个患者最可能患有的疾病d。医生代理的目标是在尽可能少的步骤,同时实现高召回率的症状推荐和高准确率的疾病预测。为此,本申请实施例将医患双方对话策略学习视为一个马尔可夫决策过程(MDP)问题,并用强化学习优化策略。形式上,在时间步骤t,代理接收状态st,然后从符合策略π的离散动作集A={I,D}中选择动作at。本申请实施例旨在有效地学习一个最优策略模型π*,该自动诊断模型可以确定医生代理的动作,从形式上这个策略模型可以定义为最大化以下目标的模型,即以下公式(1)。在实现的过程中,可以将状态和动作的奖励函数r(st,at)输入至目标函数(1)中,通过目标函数(1)计算疾病预测网络对应的最优策略模型,也就是说,可以采用目标函数对状态和动作的奖励函数进行累积收益期望计算,以最大化累积收益期望,得到疾病预测网络对应的最优策略模型。
其中,r(st,at)是关于状态和动作的奖励函数,argmax是对函数求参数(集合)的函数,argmax(A)是使得A取得最大值所对应的变量点x(或x的集合)。当动作at得到患者的正面回答时r(st,at)定义为一个小的正值,例如,这个小的正值可以为1;当动作at得到患者的负面回答时r(st,at)定义为一个小的负值,例如,这个小的负值可以为-1;当动作at∈D并且预测疾病正确时r(st,at)定义为一个大的负值,例如,这个大的负值可以取值为-M,M是最大交互轮数;当动作at∈D并且预测疾病错误时r(st,at)定义为一个大的正值,例如,这个大的正值可以取值为2*M,M是最大交互轮数。S是医学体系里的全体症状集合,或者是当前问题定义的全体症状集合。M是最大交互轮数。Eπ表示在策略π下的累积收益期望,可见预测的症状疾病越准确,值就越大,因此,以最大化预期总回报来获取最佳交互策略π*。
为了优化症状和疾病预测准确率,本申请实施例遵循Huggingface Transformer,将对话策略建模为序列生成问题,并使用REINFORCE优化策略。图11中展示了本申请实施例的自动诊断模型ComAD,自动诊断模型由以下三个部分组成:1)REINFORMCE策略模型,即强化学习代理151是一个支持性的策略优化框架;2)症状序列生成器(即症状预测层152)基于Transformer解析器预测症状序列是缓解低症状召回率的核心组件;3)症状序列的表示对比学习模块153致力于利用自监督学习强化症状序列表示提升症状和疾病预测性能。在自动诊断任务训练期间,本申请实施例首先利用一部分真实医患的交互数据(包括症状序列和疾病预测结果)基于自回归损失函数和表示对比损失函数训练症状序列生成器(即症状预测层152)和疾病分类器(即疾病预测层154)。然后运行REINFORCE策略收集样本并基于模拟器155(或者用户)奖励更新策略网络。将在下文中对模型的整个过程的算法进行说明。
下面对本申请实施例的交互策略进行说明。本申请实施例采用在线策略方法REINFOR CE训练自动诊断模型交互策略。在交互过程中,医生代理观察对话状态s,并使用贪婪策略执行动作a,该策略采用贪婪策略a=argmaxa′πθ(a'|s),其中,贪婪策略a=argmaxa′πθ(a'|s)表示在动作空间中选一个动作a’使得(a'|s)值最大。然后,医生代理收到奖励r,并感知下一个状态s'。元组(s,a,r,s')被存储在经验缓冲区D中。这个循环一直持续到对话结束。为了学习策略参数,本申请实施例把当前已知的所有症状信息作为状态,即st={i1,i2,...,it},其中it∈I是每轮问询到的状态。则交互策略可以编写为一系列条件的乘积,如以下公式(2)。在实现的过程中,可以确定当前已知的所有症状信息对应的状态下、参数为θ的策略πθ(it+1|i1,i2,...,it),也就是说,可以通过对当前已知的不同症状信息对应的状态下、参数为θ的策略πθ(ij|i1,i2,...,ij-1)进行连乘计算,得到参数为θ的策略函数πθ(at|st)。
其中,πθ(at|st)表示参数为θ的策略函数,其中,策略函数是状态st下动作的分布。
REINFORCE代理预测下一个症状或者疾病并更新其内部“状态”。在医患对话结束前医生代理观察到来自环境的“奖励”,例如,每个回合的比较小的正值或者负值和会话结束时对话状态的显著正或负奖励。训练的目标是使负的未来累计期望奖励最小化,如以下公式(3)所示的损失函数。在实现的过程中,可以通过计算关于状态和动作的奖励函数r(st,at)的未来累计期望也可以是计算关于不同状态下(即不同症状信息)的奖励r(i1,i2,...,it)的未来累计期望/>
在实际训练中,可以通过使用蒙特卡罗采样来获得多个样本,用这多个样本来近似收益期望,即:从而模拟会话中的近似损失梯度,对于每个会话,lθ获得最大梯度为以下公式(4)。在实现的过程中,在通过上述公式(3)最小化未来累计期望奖励得到损失函数lθ之后,对损失函数lθ进行梯度处理,得到损失函数lθ对应的损失梯度,并最大化损失梯度,得到损失函数lθ的最大梯度▽θlθ。
其中,Mu是当前症状序列的长度,du是当前症状序列对应的预测疾病,N是基于当前策略总采用采样数量。通过最优策略通过以上梯度优化损失函数(3)可得。
下面对症状序列生成器(即症状预测层152)进行说明。REINFORCE作为基于在线策略的强化学习代理,理论上可以自主探索策略空间搜索到累计未来期望奖励最高的自动诊断策略,同时满足最优的疾病预测准确率和症状预测召回率。然而,越来越多、越来越复杂的疾病涉及大量的疾病造成疾病-症状构成的动作空间很大,从而消耗大量的医生代理-用户交互需求,将严重阻碍学习过程。在策略构成中,症状预测占据主要的预测环节,策略探索重心也在症状链上。考虑到进来大规模预训语言模型能很好地处理长序列生成任务,本申请实施例利用Transformer解析器并基于部分收集到的症状-疾病文本来预训REINFORCE网络,使得在进行交互式学习时有一个好的起点从而提高策略收敛速度。这里,假设有一症状疾病预训语料:其中ij和dj是对应样本中的症状和疾病。本申请实施例采用最大化自回归目标函数来训练模型,从而学习样本里的症状问询逻辑,即用过去的症状来预测当前的症状。形式上,该目标函数可以定义为以下公式(5)。在实现的过程中,pθ(it|i1,i2,...,it-1)是一个向量,每个元素是一个概率值,也就是说,针对预测症状序列I=(i1,i2,...,it)中的任一症状it,确定症状it在预测症状序列中出现的概率值,并对概率值进行求和之后再求均值,得到目标函数/>
其中,Mh是第h个样本的症状序列长度。对应到transformer解析器模块中,则可以定义为以下公式(6)至(8):
h0=I·Wemb+Wpos (6);
hZ=transformerblock(hZ-1) (7);
其中,z是transformer解析器中模块的序号,z’是总快块数,I=(i1,i2,...,it)是预测症状序列。Wemb是输入症状序列嵌入向量形成的矩阵,Wpos是输入数据的位置编码,注意:考虑症状序列的无序性,即同一个症状序列中基于当前已知的症状只要把剩余的症状预测出来即可,不考虑预测的先后顺序。因此本申请实施例把Wpos设为0,即h0=I·Wemb。hZ'是transformer解析器最后一层输出,就是输出层对词汇表中各个词语的注意力权重。而是输出层对各个症状的注意力大小。pθ(I)是一个向量,每个元素是一个概率值。通过上述目标学习了症状序列的逻辑,考虑到症状序列带有对应的疾病信息,本申请实施例可以继续使用这一标签从多视角进行预训练。如图11所示,在transformer解析器上增加一个疾病预测层用于学习疾病预测逻辑。这是一个文本分类任务,分类任务的目标函数是以下公式(9)。在实现的过程中,可以将任意参数/>下的疾病分布/>输入至目标损失函数中,进行损失计算,损失计算采用以下公式(9)实现。
下面对本申请实施例的对比表示学习模块进行说明。Transformer解析器基于训练语料,通过最小化自回归损失,能有效地提取症状直接的转化逻辑。然而,由于训练数据通常比较稀疏,加上Transformer解析器中的嵌入矩阵和输入词汇顺序有关,这可能会导致不同排列顺序的同一症状集具有不同的表示,并对后续的症状推荐带来噪声。如果能在训练阶段增强代理区分“异序同集”(即症状序列里包含的症状相同,仅仅症状排列顺序不同)和“异序异集”的序列,则能够帮助医生代理掌握更好的症状推荐和疾病预测逻辑。为了实现这一点,自动诊断模型应该关注如何把“异序同集”的症状序列拉在一起,并将“异序异集”推开,从而学习有效的症状序列表征。例如,医生代理应该把“发热,头疼,呼吸困难”和“头疼,呼吸困难,发热”视为相同表征,而把“发热,头疼,吞咽困难”和“发热,头晕,呼吸困难”视为不同表征。为此,本申请实施例借鉴自监督序列对比学习的方法,并改良到症状序列表示学习场景。这是一种使用独立采样正样本的随机失活掩码(dropout mask)。在Transformer的标准训练中,随机失活掩码被应用在完全连接层和注意力机制中。相应的,本申请实施例把症状序列的表示表述为/>(即),其中/>是Transform er输入到公式(6)至(8)最后一层transformerblocktransformer_block的网络映射函数,μ是失活掩码模式。鉴于Transformer的随机掩码机制,本申请实施例能够容易获得同样症状序列输入的对应不同掩码模式的两个序列表示,即/>和/>只需将相同的输入两次输入到编码器,通过训练以下噪声(10)对比估计损失学习症状序列表征。在实现的过程中,可以计算不同掩码模式的两个序列表示(即序列特征)之间的相似度并对序列中每一症状,计算不掩码模式的序列标识中的不同序列特征之间的相似度/>然后基于不同序列特征之间的相似度进行求和计算,得到相似度和/>最后,基于不同掩码模式的两个序列表示之间的相似度和相似度和,确定不同掩码模式的两个序列表示之间的对比估计损失/>(即第一对比损失)。
其中,N是一个训练批次的大小。sim(a,b)表示向量a与b的相似度。与此同时,还引入基于“异序同集”构建正样本的自监督对比方法,本申请实施例通过打乱一个症状序列的顺序从而产生不同顺序的序列,这些序列集合作为该序列的正样本。负样本则是其它含有不同症状的序列。本申请实施例把由序列产生的不同顺序的症状序列记为相应的,本申请实施例同构训练以下噪声(11)对比估计损失学习基于“异序同集”为正样本的序列表征。在实现的过程中,可以计算异序同集对应的正序序列和乱序序列这两个序列表示之间的相似度/>并对这两个序列中每一症状,计算正序序列和乱序序列中的不同序列特征之间的相似度/>然后基于两个序列表示之间的相似度/>进行求和计算、基于正序序列和乱序序列中的不同序列特征之间的相似度/>进行求和计算,对应得到两个相似度和和/>最后,基于两个相似度和/>和确定正序序列和乱序序列这两个序列表示之间的对比估计损失/>(即第二对比损失)。
接下来,对本申请实施例提供的自动诊断模型(即ComAD模型)的训练与评估过程进行说明。
模型训练氛分为两个阶段,第一阶段ComAD模型被训练来同时最大化症状自回归损失以学习症状推理关系实现高召回的症状问询、和疾病类别似然/>以学习症状到疾病的映射关系,即诊断逻辑。第二阶段,以交互式强化学习为主,该阶段训练致力于自动诊断代理通过主动探索策略空间,进一步学习更优的诊断策略。以下算法总结了模型的训练过程,图12是本申请实施例提供的模型训练对应的算法的算法流程示意图,如图12所示,算法包括两个主要阶段:生成式预训练阶段(以下简称生成阶段)和策略微调阶段(以下简称微调阶段)。生成阶段的目标函数结合了自回归模型用于预测症状的目标函数(即上述公式(5))、疾病分类的交叉熵损失(即上述公式(9))、失活掩码的噪声对比估计损失(即上述公式(10))和基于“异序同集”的噪声对比估计损失(即上述公式(11))。微调阶段基于生成预训模型,结合用户模拟器或者真是真实用户进行交互学习。
参见图12,在生成阶段,包括以下步骤S501至步骤S512。
步骤S501,输入症状集I,疾病集D,训练语料T。
本申请实施例中,可以从训练语料T中随机提取任意疾病与该疾病对应的症状,构成训练数据。其中,训练数据包括症状与疾病组成的正样本序列;正样本序列中包括至少一个正序序列。
这里,每一训练数据对应一个正样本序列,正样本序列为大小为W的一个批次序列。
步骤S504,随机构建批次批次序列中正序序列Ti W的乱序序列Ti W′作为正样本。
本申请实施例中,正序序列是指未进行乱序处理的原始序列,乱序处理是指将正序序列中的症状在正序序列中的位置打乱,形成一个新的具有不同序列位置的乱序序列。可以从正样本序列中随机选择一个正序序列进行乱序处理。
步骤S505,将批次序列TW和乱序序列Ti W′输入至Transformer解析器,分别输出正序症状序列特征hu z(Ti W)和乱序症状序列特征hu z(Ti W′)。
这里,Transformer解析器即上述序列解析器。可以通过疾病预测网络的序列解析器,对第一掩码模式下的掩码序列和乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征。
步骤S506,重新输入批次序列TW至Transformer解析器,输出掩码症状序列特征hu′ z(Ti W)。
这里,可以对掩码序列进行特征提取,得到掩码症状序列特征。其中,掩码序列是通过疾病预测网络的对比学习模块得到的正序序列在不同掩码模式下的掩码序列。不同掩码模式可以是Transformer解析器中的不同的随机失活掩码。
这里,可以通过第一对比损失函数(即上述公式(10)),计算正序症状序列特征与掩码症状序列特征之间的对比损失,得到第一对比损失。
这里,可以通过第二对比损失函数(即上述公式(11)),计算正序症状序列特征与乱序症状序列特征之间的对比损失,得到第二对比损失。其中,第一对比损失和第二对比损失构成疾病预测网络的对比损失结果。
步骤S509,将正序症状序列特征hu z(Ti W)继续输入至症状预测层和疾病预测层,输出预测症状和疾病。
步骤S512,合并以上损失,利用梯度下降方法优化模型得到模型策略πθ(·)。
本申请实施例中,合并以上损失是指对症状损失结果和疾病损失结果进行损失融合处理,得到融合损失结果。并且,可以采用梯度下降方法,基于融合损失结果,对疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络,即得到模型策略πθ(·)。
请继续参见图12,在微调阶段,包括以下步骤S513至步骤S516。
步骤S513,在模型策略πθ(·)下采样L条轨迹。
这里,L条轨迹是指不同的症状序列。可以采用训练后的疾病预测网络采集症状序列。
步骤S514,利用公式(4)计算目标函数的梯度。
步骤S516,重复以上步骤S513至步骤S515,直到获得最优模型策略πθ *(·)。
在评估阶段,本申请实施例主要使用成功率进行评价。一段成功的自动诊断定义为代理询问出患者所有的隐性症状,并给出正确的疾病预测。这里面含有两个指标,一方面使用训练过程疾病预测准确率的动态变化作为测试指标,另一方面也关注症状预测的召回率。与此同时,还用平均对话轮数来衡量诊断效率,医生代理能够在越短的轮数内完成获取症状信息和诊断疾病越好。对于以上所有测试指标可以进行多次测试求均值。
本申请实施例的方案针对当前自动学习模型的症状召回率和疾病预测准确率低、同时优化困难等难题,提出了一种基于症状序列生成和强化学习微调的自动诊断模型,其主要的有益效果包括:1)本申请实施例的方案针对症状召回率低的问题,构建了一个基于Transfo rmer解析器的症状序列生成模型,该症状序列生成模型通过自回归学习提取症状预测逻辑。同时添加了疾病分类作为联合学习目标,提升学习的收敛效率。2)针对“异序同集”带来的症状序列表示误差,本申请实施例提出基于“异序同集”和“异序异集”构造正负样本的对比学习方法,结合失活掩码的噪声对比估计损失增强模型的症状序列表示学习能力,提升模型诊断能力。3)针对上述学习在固定训练集上导致模型存在扩展性差,边缘样例处理困难等问题,本申请实施例设计了使用REINFORRCE强化学习算法对Transformer解析器进行进一步微调,使得自动诊断模型在一个好的基础上通过交互式学习自主探索更优的诊断策略。4)通过上述方法,本申请实施例有助于构建更加实用可落地的自动问诊系统。这样的问诊系统具备人类医生的持续学习能力和小成本纠错能力。其部署效率和可扩展性大大增强。
例如,在某医院收集到一些医患对话的样本,经过解析器获取状态动作序列集合(即症状集合和疾病集合),可以快速部署一个自动诊断系统。在实现的过程中,首先根据训练样本解析出症状序列和对应的疾病,然后利用本申请实施例提出的预训方案训练Transforme r解析器。接着把该自动诊断系统投放在医院或者线上医院等场景,让该自动诊断系统与真实患者对话。这个过程中,如果遇到熟悉的任务,该自动诊断系统的医生代理直接给出决策。如果遇到新的任务,医生代理可以结合本申请实施例提出的强化学习微调方案来继续学习。随着自动诊断系统接触越来越多的患者和疾病信息,会逐渐学到越来越丰富的策略,逐渐能做出越来越接近专家的决策和回答。与此同时,随着真实的医患数据的不断积累,标注数据池不断丰富,这些数据帮助扩展系统代理使其能覆盖更大的动作空间,理想情况下,医生代理能逐渐探索和学习到所有策略,并且这些策略都能有实践支持。最终,本申请实施例设计的自动诊断模型能“培养”出一位优秀的全科医生。
需要说明的是,本申请实施例使用基于REINFORCE的同策略强化学习模型,也可以考虑采用别的同策略强化学习方法,例如,近端测量优化算法(PPO,Proximal PolicyOptimi zation)等。针对PPO算法,可以根据算法特点选择对应的采样方式和参数大小。另外,可以使用监督对比学习,例如,可以增加强负样本(hard negative)来增强模型学习症状表示的性能。强负样本的获取方法可以考虑那些对自动诊断模型效果干扰很大的症状序列,例如,医生代理基于序列I1和I2做出了相同的决定,然而序列I1和I2的实际标签却不同,则可以将序列I1和I2作为相互的加强负样本,使序列I1和I2在表示空间上远离。具体寻找加强负样本的方案,可以在训练过程中增加评测环节,根据错误样本的错分类别计算其该类别下正确分类的样本的相似度,选择相似度较低的作为候选加强负样本。再结合具体的任务筛选最终的加强负样本。本申请实施例所使用的Transformer解析器,也可以使用其他生成模型来替代,例如GPT2、BART等。
可以理解的是,在本申请实施例中,涉及到用户信息的内容,例如,用户的显性症状、隐形症状、症状序列和预测的疾病等信息,如果涉及与用户信息或企业信息相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的疾病预测装置354实施为软件模块的示例性结构,在一些实施例中,如图2所示,疾病预测装置354包括:获取模块3541,用于获取疾病预测请求;所述疾病预测请求中包括目标对象的至少一个显性症状;第一确定模块3542,用于基于所述至少一个显性症状,采用自回归学习方式确定待问询症状;第二确定模块3543,用于接收针对所述待问询症状的反馈信息;并根据所述反馈信息,确定与所述待问询症状对应的预期回报值;循环预测模块3544,用于以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;第三确定模块3545,用于基于所述症状序列,确定所述目标对象的疾病预测结果。
在一些实施例中,所述第一确定模块还用于:获取预设的症状集合;所述症状集合中包括不同类型疾病对应的预设症状序列;基于所述至少一个显性症状,确定与全部显性症状匹配的至少一个目标预设症状序列;从任一目标预设症状序列中随机选择一个预设症状,并将选择的预设症状确定为所述待问询症状。
在一些实施例中,所述第二确定模块还用于:当所述反馈信息为正向反馈信息时,确定与所述待问询症状对应的预期回报值为正向奖励值;当所述反馈信息为负向反馈信息时,确定与所述待问询症状对应的预期回报值为负向奖励值。
在一些实施例中,所述循环预测模块还用于:获取当前预测过程中预测得到的当前症状序列和所述当前症状序列中的每一症状的预期回报值;所述当前症状序列中包括每一轮预测过程中预测得到的预测症状,所述预测症状包括所述目标对象的正向症状和所述目标对象的负向症状;基于所述当前症状序列中的每一症状的预期回报值,确定预期总回报值;以最大化所述预期总回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;所述目标对象的症状序列是由所述目标对象的正向症状构成的症状序列。
在一些实施例中,所述预期总回报值包括多个正向症状对应的正向总奖励值和多个负向症状对应的负向总奖励值;所述循环预测模块还用于:以最大化所述正向总奖励值,且以最小化所述负向总奖励值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列。
在一些实施例中,所述装置还包括:处理模块,用于当基于所述反馈信息,确定出任一轮预测过程中得到的预测症状为负向症状时,删除所述负向症状;当基于所述反馈信息,确定出任一轮预测过程中得到的预测症状为正向症状时,将所述正向症状添加至所述症状序列中。
在一些实施例中,所述疾病预测方法通过疾病预测网络实现;所述疾病预测网络包括:序列解析器、对比学习模块、症状预测层和疾病预测层;所述序列解析器,用于对输入的原始症状序列进行特征提取,得到症状序列特征;所述原始症状序列中包括所述至少一个显性症状;所述对比学习模块,用于基于自监督对比方式,对输入的所述原始症状序列中的异序同集和异序异集进行区分;所述症状预测层,用于基于所述症状序列特征对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;所述疾病预测层,用于基于所述症状序列,确定所述目标对象的疾病预测结果。
在一些实施例中,所述装置还包括:模型训练模块,用于获取样本数据,并将样本数据输入至所述疾病预测网络中;所述样本数据包括正序序列和乱序序列;通过所述疾病预测网络的对比学习模块,确定所述正序序列在不同掩码模式下的掩码序列;通过所述疾病预测网络的序列解析器对所述正序序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述掩码序列进行特征提取,得到掩码症状序列特征;基于所述正序症状序列特征、所述乱序症状序列特征和所述掩码症状序列特征,确定所述疾病预测网络的对比损失结果;通过所述疾病预测网络的症状预测层,基于所述正序症状序列特征确定样本预测症状;通过所述疾病预测网络的疾病预测层,基于所述正序症状序列特征确定样本预测疾病;将所述样本预测症状和所述样本预测疾病输入至预设损失模型中,通过所述预设损失模型分别输出所述症状预测层的症状损失结果和所述疾病预测层的疾病损失结果;基于所述对比损失结果、所述症状损失结果和所述疾病损失结果,对所述疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
在一些实施例中,所述模型训练模块还用于:从预设语料库中获取症状与疾病组成的正样本序列;所述正样本序列中包括至少一个正序序列;从所述正样本序列中,随机构建至少一个正序序列对应的乱序序列;将所述正序序列与所述乱序序列,确定为所述样本数据中的正样本数据。
在一些实施例中,所述模型训练模块还用于:基于所述序列解析器的随机掩码机制,确定不同的两种掩膜模式;所述不同的两种掩膜模式包括第一掩码模式和第二掩码模式;在所述第一掩码模式和所述第二掩码模式下,对所述正序序列进行序列掩码处理,得到所述正序序列在第一掩码模式下的掩码序列和在第二掩码模式下的掩码序列;通过所述疾病预测网络的序列解析器,对所述第一掩码模式下的掩码序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述第二掩码模式下的掩码序列进行特征提取,得到掩码症状序列特征。
在一些实施例中,所述模型训练模块还用于:采用预设的第一对比损失函数,确定所述正序症状序列特征与所述掩码症状序列特征之间的第一对比损失;采用预设的第二对比损失函数,确定所述正序症状序列特征与所述乱序症状序列特征之间的第二对比损失;其中,所述第一对比损失和所述第二对比损失构成所述疾病预测网络的对比损失结果。
在一些实施例中,所述模型训练模块还用于:通过所述预设损失模型中的症状预测交叉熵损失函数,基于所述样本预测症状和所述正序序列中的疾病标签,确定所述症状预测层的症状损失结果;通过所述预设损失模型中的疾病预测交叉熵损失函数,基于所述样本预测疾病和所述样本数据中的疾病标签,确定所述疾病预测层的疾病损失结果;对所述症状损失结果和所述疾病损失结果进行损失融合处理,得到融合损失结果;采用梯度下降方法,基于所述融合损失结果,对所述疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
在一些实施例中,所述装置还包括:模型微调模块,用于采用所述训练后的疾病预测网络采集症状序列;基于所述症状序列,确定所述疾病预测网络的目标函数的损失梯度;采用预设微调参数,对所述损失梯度进行更新,以得到更新后的目标函数;采用所述更新后的目标函数所对应的疾病预测网络,再次采集症状序列,并基于所述再次采集得到的症状序列对所述疾病预测网络的目标函数进行更新,直至所述疾病预测网络在进行疾病预测时能够获得预设的预期回报值为止。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或可执行指令,该计算机程序或可执行指令是一种计算机指令;该计算机程序或可执行指令存储在计算机可读存储介质中。当电子设备的处理器从计算机可读存储介质读取该计算机程序或可执行指令,处理器执行该计算机程序或可执行指令时,使得该电子设备执行本申请实施例上述的方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPR OM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMar kup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种疾病预测方法,其特征在于,所述方法包括:
获取疾病预测请求;所述疾病预测请求中包括目标对象的至少一个显性症状;
基于所述至少一个显性症状,采用自回归学习方式确定待问询症状;
接收针对所述待问询症状的反馈信息;并根据所述反馈信息,确定与所述待问询症状对应的预期回报值;
以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;
基于所述症状序列,确定所述目标对象的疾病预测结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个显性症状,采用自回归学习方式确定待问询症状,包括:
获取预设的症状集合;所述症状集合中包括不同类型疾病对应的预设症状序列;
确定与全部显性症状匹配的至少一个目标预设症状序列;
从任一目标预设症状序列中随机选择一个预设症状,并将选择的预设症状确定为所述待问询症状。
3.根据权利要求1所述的方法,其特征在于,所述根据所述反馈信息,确定与所述待问询症状对应的预期回报值,包括:
当所述反馈信息为正向反馈信息时,确定与所述待问询症状对应的预期回报值为正向奖励值;
当所述反馈信息为负向反馈信息时,确定与所述待问询症状对应的预期回报值为负向奖励值。
4.根据权利要求3所述的方法,其特征在于,所述以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列,包括:
获取当前预测过程中预测得到的当前症状序列和所述当前症状序列中的每一症状的预期回报值;所述当前症状序列中包括每一轮预测过程中预测得到的预测症状,所述预测症状包括所述目标对象的正向症状和所述目标对象的负向症状;
基于所述当前症状序列中的每一症状的预期回报值,确定预期总回报值;
以最大化所述预期总回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;所述目标对象的症状序列是由所述目标对象的正向症状构成的症状序列。
5.根据权利要求4所述的方法,其特征在于,所述预期总回报值包括多个正向症状对应的正向总奖励值和多个负向症状对应的负向总奖励值;
所述以最大化所述预期总回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列,包括:
以最大化所述正向总奖励值,且以最小化所述负向总奖励值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当基于所述反馈信息,确定出任一轮预测过程中得到的预测症状为负向症状时,删除所述负向症状;
当基于所述反馈信息,确定出任一轮预测过程中得到的预测症状为正向症状时,将所述正向症状添加至所述症状序列中。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述疾病预测方法通过疾病预测网络实现;
所述疾病预测网络包括:序列解析器、对比学习模块、症状预测层和疾病预测层;
所述序列解析器,用于对输入的原始症状序列进行特征提取,得到症状序列特征;所述原始症状序列中包括所述至少一个显性症状;
所述对比学习模块,用于基于自监督对比方式,对输入的所述原始症状序列中的异序同集和异序异集进行区分;
所述症状预测层,用于基于所述症状序列特征对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;
所述疾病预测层,用于基于所述症状序列,确定所述目标对象的疾病预测结果。
8.根据权利要求7所述的方法,其特征在于,所述疾病预测网络通过以下步骤进行训练:
获取样本数据,并将样本数据输入至所述疾病预测网络中;所述样本数据包括正序序列和乱序序列;
通过所述疾病预测网络的对比学习模块,确定所述正序序列在不同掩码模式下的掩码序列;
通过所述疾病预测网络的序列解析器对所述正序序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述掩码序列进行特征提取,得到掩码症状序列特征;
基于所述正序症状序列特征、所述乱序症状序列特征和所述掩码症状序列特征,确定所述疾病预测网络的对比损失结果;
通过所述疾病预测网络的症状预测层,基于所述正序症状序列特征确定样本预测症状;
通过所述疾病预测网络的疾病预测层,基于所述正序症状序列特征确定样本预测疾病;
将所述样本预测症状和所述样本预测疾病输入至预设损失模型中,通过所述预设损失模型分别输出所述症状预测层的症状损失结果和所述疾病预测层的疾病损失结果;
基于所述对比损失结果、所述症状损失结果和所述疾病损失结果,对所述疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
9.根据权利要求8所述的方法,其特征在于,所述获取样本数据,包括:
从预设语料库中获取症状与疾病组成的正样本序列;所述正样本序列中包括至少一个正序序列;
从所述正样本序列中,随机构建至少一个正序序列对应的乱序序列;
将所述正序序列与所述乱序序列,确定为所述样本数据中的正样本数据。
10.根据权利要求8所述的方法,其特征在于,所述通过所述疾病预测网络的对比学习模块,确定所述正序序列在不同掩码模式下的掩码序列,包括:
基于所述序列解析器的随机掩码机制,确定不同的两种掩膜模式;所述不同的两种掩膜模式包括第一掩码模式和第二掩码模式;
在所述第一掩码模式和所述第二掩码模式下,对所述正序序列进行序列掩码处理,得到所述正序序列在第一掩码模式下的掩码序列和在第二掩码模式下的掩码序列;
对应地,所述通过所述疾病预测网络的序列解析器对所述正序序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述掩码序列进行特征提取,得到掩码症状序列特征,包括:
通过所述疾病预测网络的序列解析器,对所述第一掩码模式下的掩码序列和所述乱序序列进行特征提取,得到正序症状序列特征和乱序症状序列特征;以及,对所述第二掩码模式下的掩码序列进行特征提取,得到掩码症状序列特征。
11.根据权利要求8所述的方法,其特征在于,所述基于所述正序症状序列特征、所述乱序症状序列特征和所述掩码症状序列特征,确定所述疾病预测网络的对比损失结果,包括:
采用预设的第一对比损失函数,确定所述正序症状序列特征与所述掩码症状序列特征之间的第一对比损失;
采用预设的第二对比损失函数,确定所述正序症状序列特征与所述乱序症状序列特征之间的第二对比损失;
其中,所述第一对比损失和所述第二对比损失构成所述疾病预测网络的对比损失结果。
12.根据权利要求8所述的方法,其特征在于,所述通过所述预设损失模型分别输出所述症状预测层的症状损失结果和所述疾病预测层的疾病损失结果,包括:
通过所述预设损失模型中的症状预测交叉熵损失函数,基于所述样本预测症状和所述正序序列中的疾病标签,确定所述症状预测层的症状损失结果;
通过所述预设损失模型中的疾病预测交叉熵损失函数,基于所述样本预测疾病和所述样本数据中的疾病标签,确定所述疾病预测层的疾病损失结果;
对应地,所述方法还包括:
对所述症状损失结果和所述疾病损失结果进行损失融合处理,得到融合损失结果;
采用梯度下降方法,基于所述融合损失结果,对所述疾病预测网络中的模型参数进行修正,得到训练后的疾病预测网络。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
采用所述训练后的疾病预测网络采集症状序列;
基于所述症状序列,确定所述疾病预测网络的目标函数的损失梯度;
采用预设微调参数,对所述损失梯度进行更新,以得到更新后的目标函数;
采用所述更新后的目标函数所对应的疾病预测网络,再次采集症状序列,并基于所述再次采集得到的症状序列对所述疾病预测网络的目标函数进行更新,直至所述疾病预测网络在进行疾病预测时能够获得预设的预期回报值为止。
14.一种疾病预测装置,其特征在于,所述装置包括:
获取模块,用于获取疾病预测请求;所述疾病预测请求中包括目标对象的至少一个显性症状;
第一确定模块,用于基于所述至少一个显性症状,采用自回归学习方式确定待问询症状;
第二确定模块,用于接收针对所述待问询症状的反馈信息;并根据所述反馈信息,确定与所述待问询症状对应的预期回报值;
循环预测模块,用于以最大化所述预期回报值为目标,对所述目标对象的隐性症状进行循环预测,得到所述目标对象的症状序列;
第三确定模块,用于基于所述症状序列,确定所述目标对象的疾病预测结果。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至13任一项所述的疾病预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211535430.4A CN115862862A (zh) | 2022-11-30 | 2022-11-30 | 疾病预测方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211535430.4A CN115862862A (zh) | 2022-11-30 | 2022-11-30 | 疾病预测方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115862862A true CN115862862A (zh) | 2023-03-28 |
Family
ID=85669186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211535430.4A Pending CN115862862A (zh) | 2022-11-30 | 2022-11-30 | 疾病预测方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115862862A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116151273A (zh) * | 2023-04-24 | 2023-05-23 | 湖南超能机器人技术有限公司 | 基于Transformer和知识图谱的智能交互方法 |
-
2022
- 2022-11-30 CN CN202211535430.4A patent/CN115862862A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116151273A (zh) * | 2023-04-24 | 2023-05-23 | 湖南超能机器人技术有限公司 | 基于Transformer和知识图谱的智能交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dharwadkar et al. | A medical chatbot | |
Dejaeger et al. | Data mining techniques for software effort estimation: a comparative study | |
JP2021108096A (ja) | 情報を出力する方法および装置 | |
US10984024B2 (en) | Automatic processing of ambiguously labeled data | |
US20160110502A1 (en) | Human and Machine Assisted Data Curation for Producing High Quality Data Sets from Medical Records | |
Liu et al. | Learning the dynamic treatment regimes from medical registry data through deep Q-network | |
CN113707307A (zh) | 病情分析方法、装置、电子设备及存储介质 | |
CN111914562B (zh) | 电子信息分析方法、装置、设备及可读存储介质 | |
CN112289467B (zh) | 一种面向低资源场景可迁移的医疗问诊对话系统及方法 | |
CN114628001B (zh) | 基于神经网络的处方推荐方法、系统、设备及存储介质 | |
JP2022530868A (ja) | 機械学習に基づくターゲットオブジェクト属性予測方法、関連機器及びコンピュータプログラム | |
CN113707299A (zh) | 基于问诊会话的辅助诊断方法、装置及计算机设备 | |
CN116719520B (zh) | 代码生成方法及装置 | |
KR20210057308A (ko) | 머신러닝에 기반한 챗봇 서비스 제공방법 및 시스템 | |
CN117149998B (zh) | 基于多目标优化的智能就诊推荐方法及系统 | |
Yadav et al. | A novel automated depression detection technique using text transcript | |
Chen et al. | DxFormer: a decoupled automatic diagnostic system based on decoder–encoder transformer with dense symptom representations | |
CN110704668B (zh) | 基于网格的协同注意力vqa方法和装置 | |
CN115862862A (zh) | 疾病预测方法、装置及计算机可读存储介质 | |
US20240256965A1 (en) | Instruction Fine-Tuning Machine-Learned Models Using Intermediate Reasoning Steps | |
CN117672450A (zh) | 一种基于知识图谱的个性化药物推荐方法与系统 | |
Yuan et al. | Efficient symptom inquiring and diagnosis via adaptive alignment of reinforcement learning and classification | |
Nikolentzos et al. | Synthetic electronic health records generated with variational graph autoencoders | |
CN116992861B (zh) | 基于数据处理的医疗服务智慧处理方法及系统 | |
CN111581929B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40088877 Country of ref document: HK |