基于循环时间卷积网络的疾病诊断系统、设备及介质的制作方法

文档序号:22579808发布日期:2020-10-20 16:57阅读:69来源:国知局
基于循环时间卷积网络的疾病诊断系统、设备及介质的制作方法

本发明涉及医疗数据挖掘技术领域,特别是涉及一种基于循环时间卷积网络的疾病诊断系统、设备及介质。



背景技术:

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

随着医疗记录数据的不断增加,疾病智能诊断能够为医生起到很好的辅助作用,目前,研究人员常常于电子病历(emr)中选取数据,进行进一步的诊断和预测,emr是居民个人在医疗机构历次就诊过程中产生和被记录的完整、详细的临床信息资源,几乎囊括了患者过去与现在的所有医疗信息,而发明人发现,其中部分患者拥有较长的病程序列,传统的预测模型往往无法保留长时历史信息,难以对序列数据进行长程建模,造成预测模型耗时长,精度低,为后期诊断预测造成了极大困难;因此对emr的数据处理和在其基础上的疾病诊断已经成为一项固有的挑战,仅仅依赖于传统机器学习方法已经不足以对长序列数据信息进行精细化表示,目前,能够捕获长程时间依赖关系,并进一步进行精细化预测的多疾病诊断系统尚未出现。



技术实现要素:

为了解决上述问题,本发明提出了一种基于循环时间卷积网络的疾病诊断系统、设备及介质,基于时间卷积网络融合长短时循环网络构建的循环时间卷积网络预测模型,将疾病诊断结果与历史电子病历诊断信息建立联系,保留长时历史信息,对序列数据进行长程建模预测,实现对长序列数据信息进行精细化预测。

为了实现上述目的,本发明采用如下技术方案:

第一方面,本发明提供一种基于循环时间卷积网络的疾病诊断系统,包括:

预测模型构建与训练模块,用于根据历史电子病历提取已知疾病诊断结果的已知病程向量,以已知病程向量作为训练集训练构建的循环时间卷积网络预测模型;

疾病诊断预测模块,用于根据待预测患者的电子病历信息提取待测病程向量,将待测病程向量输入至训练后的循环时间卷积网络预测模型中,得到待预测患者的疾病诊断预测结果。

第二方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成以下步骤:

根据历史电子病历提取已知疾病诊断结果的已知病程向量,以已知病程向量作为训练集训练构建的循环时间卷积网络预测模型;

根据待预测患者的电子病历信息提取待测病程向量,将待测病程向量输入至训练后的循环时间卷积网络预测模型中,得到待预测患者的疾病诊断预测结果。

第三方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成以下步骤:

根据历史电子病历提取已知疾病诊断结果的已知病程向量,以已知病程向量作为训练集训练构建的循环时间卷积网络预测模型;

根据待预测患者的电子病历信息提取待测病程向量,将待测病程向量输入至训练后的循环时间卷积网络预测模型中,得到待预测患者的疾病诊断预测结果。

与现有技术相比,本发明的有益效果为:

本发明根据长时历史病历诊断信息,提取与疾病诊断结果相关的诊断信息,构建已知病程向量训练集;基于时间卷积网络融合长短时循环网络构建循环时间卷积网络预测模型,以已知病程向量训练集对该模型进行训练,使得各类疾病诊断预测结果与病患的历史疾病诊断建立联系,对疾病测试准确度高、可靠性强且较稳定,实现对长序列病历数据信息进行精细化预测。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明实施例1提供的基于循环时间卷积网络的疾病诊断系统示意图;

图2为本发明实施例1提供的skip-gram编码模块示意图;

图3为本发明实施例1提供的特征提取模块卷积过程示意图;

图4为本发明实施例1提供的长短期记忆网络示意图;

图5为本发明实施例1提供的循环时间卷积网络结构图;

图6为本发明方法与其他方法比较的召回率迭代对比图。

具体实施方式:

下面结合附图与实施例对本发明做进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例1

如图1所示,本实施例提供一种基于循环时间卷积网络的疾病诊断系统,包括:

预测模型构建与训练模块,用于根据历史电子病历提取已知疾病诊断结果的已知病程向量,以已知病程向量作为训练集训练构建的循环时间卷积网络预测模型;

疾病诊断预测模块,用于根据待预测患者的电子病历信息提取待测病程向量,将待测病程向量输入至训练后的循环时间卷积网络预测模型中,得到待预测患者的疾病诊断预测结果。

所述预测模型构建与训练模块中,包括:

训练数据采集子模块,被配置为采集已知疾病诊断结果的患者历史就诊电子病历;

可以理解的,所述电子病历包括药物记录、疾病诊断记录、生理指标、化验结果、非文字记录等。

训练数据预处理子模块,被配置为对采集的历史就诊电子病历信息,进行预处理,得到预处理后的历史就诊电子病历信息;

训练数据提取子模块,被配置为从预处理后的历史电子病历信息中提取每个已知疾病诊断结果患者的已知病程序列;

可以理解的,所述病程序列包括患者历史疾病诊断信息,如[心脏病、高血压、肺癌]等;

训练数据编码子模块,被配置为根据所提取的已知病程序列对每个已知疾病诊断结果进行编码表示,得到已知疾病诊断结果的若干个已知病程向量。

在本实施例中,训练数据预处理子模块包括:

数据筛选单元,被配置为对采集的历史电子病历信息进行初次筛选,具体为筛选历史疾病诊断结果和诊断时间,删除非需求数据;从初次筛选结果中删除预设定的若干项非重要疾病的诊断结果,保留重要疾病的诊断结果和诊断时间;

可以理解的,所述非需求数据包括:测试号、姓名、种族、检查科室等;

数据拟合单元,被配置为对诊断时间的缺失值进行拟合;

格式转换单元,被配置为对重要疾病的诊断结果和诊断时间均进行格式转换。

在本实施例中,训练数据编码子模块中包括:

建立患者与历史疾病诊断结果对应的已知病程序列作为第一样本,如患者1:[艾滋病、高血压、肺癌];患者2[脓毒症、肠癌、冠心病、脑溢血]等;

采用skip-gram方法对第一样本进行编码,得到历史疾病诊断结果对应的若干个已知病程向量,如[0.3682,0.3452,0.5835];[0.8735,0.4721,0.4524,0.5423]。

所述历史疾病诊断结果对应的若干个已知病程向量作为第二样本,将第二样本随机分为训练集和测试集;所述训练集用于训练预测模型。

进一步地,采用skip-gram方法,使用选定的目标词汇,即给定单词来预测疾病出现的词汇,skip-gram选择目标词汇并对其邻居进行预测,如图2所示;

skip-gram通过在诊断序列中滑动窗口的方式不断选择当前目标词汇并进行预测,目标任务为优化公式(1)所示对数似然函数:

其中,t为所需训练的疾病诊断向量长度,c为滑动窗口大小,ct为ωt的邻居诊断词集;ωt为当前诊断,ωc为ωt的邻居诊断;

若定义两个诊断相似度的函数为s,则可用softmax函数定义p(ωc|ωt),如式(2)所示:

其中,w为临床诊断总数,s为临床诊断词相似度;ωt为当前临床诊断,ωc为ωt的邻居临床诊断。

进一步地,以词向量内积定义相似度函数,如式(3)所示:

其中,ωt为当前临床诊断,ωc为ωt的邻居临床诊断,v为ωc的向量表示,u为ωt的向量表示,ct为ωt的上下文单词集。

对于位置t处的单词,将所有邻居诊断概念词视为正例,并从诊断概念集表中随机抽取负例进行训练;

对于选择的邻居位置c,求解式(4)所示目标函数,以获得最优解,取得最终向量表示:

其中,t为医学诊断向量的长度,c为上下文单词,ωt为中心诊断概念词,ωc为ωt的上下文诊断概念词,ct为ωt的邻居诊断单词集,s为概念词相似度函数,nt为单词集。

所述预测模型构建与训练模块中,还包括:

循环时间卷积网络构建子模块,被配置为基于时间卷积网络融合长短时循环网络构建循环时间卷积网络预测模型;

循环时间卷积网络训练子模块,被配置为利用若干个已知疾病诊断结果的已知病程向量,对循环时间卷积网络预测模型进行训练,得到训练好的循环时间卷积网络预测模型。

循环时间卷积网络测试子模块,被配置为对训练好的循环时间卷积网络预测模型进行测试。

如图3所示,在本实施例中,基于时间卷积网络融合长短时循环网络构建循环时间卷积网络预测模型中,包括对训练集的特征提取,所述特征提取包括:卷积单元和残差连接单元;

所述卷积单元,将第二样本的已知病程向量作为输入,即x=(x1,...,xt);定义卷积核为f=(0,...,fk-1),对输入数据中获取的时间序列数据进行特征提取,在对xi进行卷积时,只对其之前信息进行操作,确保t时刻的输出仅与当前层及上一层元素进行卷积操作,输出低维度特征,如图4所示;

同时,通过设置超参数扩张率扩大感受野,在普通卷积方法基础上注入空洞,达到扩宽感受野的目的,在保留长期记忆的同时减少数据量,降低计算复杂度,同时输出包含长时历史信息的高维特征表达,卷积过程如式(5)所示:

其中,k为卷积核大小,s为序列中的元素,x为输入编码,d为扩张率,f(x)代表在x序列的卷积操作,获得特征序列g={g1,g2,g3,...,gn-k};

对特征序列进行权值归一和激活函数操作,如式(6)所示:

h(x)=relu(weightednorm(g))(6)

所述残差连接单元,首先对恒等映射x进行一维卷积,保证输入输出的尺寸相同;

然后将模型最初输入x与上一层输出相加,直接跳过中间多层,集成深层网络与浅层网络作为整个残差模块的输出,解决网络过深时产生的梯度消失和梯度爆炸问题,如式(7)所示:

z=activation(x+h(x))(7)

所述循环时间卷积网络构建子模块,还包括序列预测单元,采用lstm模型进行序列建模预测;

lstm,(longshort-termmemory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

所述序列预测单元,接收残差连接单元输出的序列特征向量z={z1,z2,z3,zt...}作为输入,其历史信息的更新和利用分别受到3个门控单元的控制—输入门,遗忘门,输出门,记忆门,分别保存,读取、重置、更新历史信息,对序列进行建模预测,其架构如图5所示:

其中,输入门的定义为:it=σ(wzizt+whiht-1+wciht-1+bi)(8)

遗忘门的定义为:ft=σ(wzfzt+whfht-1+wcfht-1+bf)(9)

记忆单元的定义为:ct=ftct-1+ittanh(wzcxt+whcxt-1+bc)(10)

输出门的定义为:ot=σ(wxozt+whoht-1+wcoht-1+bo)(11)

隐状态的定义为:ht=ottanh(ct)(12)

以上各式中,it,ft,ot分别为输入门、遗忘门、输出门,ct为记忆单元,zt为输入向量,ht为隐状态,w分别对应各层数据输入和输出的权值,b为各类偏置,σ为logisticsigmoid函数,取值范围为(0,1)。

设置损失函数为负对数似然损失函数,如式(13)所示:

其中,yi为真实类别,yi’为预测概率值,m为类别个数。

在本实施例中,通过卷积方法提取特征,利用lstm模型进序列化建模,能够捕获长程时间依赖关系,进行精细化预测;

在本实施例中,基于训练集对循环时间卷积网络预测模型进行训练,直至模型收敛;基于循环时间卷积网络的深度学习模型,使得各类疾病诊断预测结果与病患的历史疾病诊断建立联系,具有测试准确度高、可靠性强且较稳定的有益效果。

所述疾病诊断预测模块中,包括:

待预测数据采集子模块,被配置为采集待预测患者的电子病历信息;

待预测数据提取子模块,被配置为从待预测患者的电子病历信息中提取该患者的病程向量;

待预测数据预测结果输出子模块,被配置为将提取的待预测患者病程向量,输入到预先训练好的循环时间卷积网络预测模型中,输出待预测患者的疾病诊断预测结果。

在本实施例中,采用的数据总共有7317位病人的入院报告,每位病人皆拥有多于2次入院记录,对于每个病人的病程信息提取其诊断记录的icd9编码,统计共15820次入院记录;构建多级嵌套列表,以预测下次访问中的诊断类别,嵌套列表如下:

hpb=[[d1,d2...df],[d1,d2...dg],...,[d1,d2...dh]]

其中,p、b分别为病人数量、入院次数,即p=7317,b=15820;d为临床诊断;f,g,h为不同病人诊断结果数目。

本实施例按照时间顺序,将每个病人的诊断记录提取并送入skip-gram模型。为了更大程度上准确表示疾病概念,并减少运算时间,设置窗口大小为5,并选择128维向量来进行向量表示;

本实施例为更大程度上保留诊断粒度信息,依据ccs诊断分类器将诊断中出现的疾病诊断分类到283组,使用70%的序列进行训练,并设置10%的数据为调参验证集,保留20%进行测试,每100个epochs采取随机梯度下降(sgd)的方法来对单元进行训练;由于研究问题本质上是一个序列预测问题,因此采用recall@k方法和accuracy@k方法来进行评估。

recall@k方法为:若对于模型预测的某患者序列,前k个记录中有mi个正确的诊断记录,且患者原病程序列中有ni个正例记录,则对每位患者计算该值,并进行平均,该平均值即为所求模型召回率;所得对比结果如表1所示:

表1优化前后的不同k值下模型召回率比较结果

auc@k(meanaverageprecision)方法为:给出k个预测记录,若真实诊断数据在该k个记录之中,则记结果为1,否则记结果为0;所得对比结果如表2所示:

表2优化前后不同k值下的auc值比较的判定结果对比结果

可见,根据实验结果,在k=20时,进行了skip-gram模型预处理的模型取得了精度最高的结果,证明了方法的有效性;同时,随着k值选取的增加,不断取得了有效的结果;相较原始的lstm模型,召回率提高了14.14%,recall@20的迭代过程如图6所示。

为了验证模型的稳健性和可靠性,随机提取出入院次数为3的50位病人电子病历数据,采用本实施例的一种基于深度学习的疾病诊断系统,按照skip-gram方法编码出的疾病向量,将50个病人信息转化成向量编码,导入循环时间卷积网络预测模型进行预测,结果表明对44位病人的下次患病情况能够预测正确,准确度达到88%,结果不低于模型可预测范围,检验可知循环卷积网络模型具有一定的可靠性和稳健性。

实施例2,还提供:

一种基于循环时间卷积网络的疾病诊断方法,包括:

根据历史电子病历提取已知疾病诊断结果的已知病程向量,以已知病程向量作为训练集训练构建的循环时间卷积网络预测模型;

根据待预测患者的电子病历信息提取待测病程向量,将待测病程向量输入至训练后的循环时间卷积网络预测模型中,得到待预测患者的疾病诊断预测结果。

在更多实施例中,还提供:

一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例2中所述的方法。为了简洁,在此不再赘述。

所述电子设备可以是移动终端以及非移动终端,非移动终端包括台式计算机,移动终端包括智能手机(smartphone,如android手机、ios手机等)、智能眼镜、智能手表、智能手环、平板电脑、笔记本电脑、个人数字助理等可以进行无线通信的移动互联网设备。

应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例2中所述的方法。

实施例2中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在上述实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外一点,所显示或讨论的相互之间的耦合或者直接耦合或者通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1