当前位置: 首页 > 专利查询>清华大学专利>正文

一种仿真文本病历的生成方法及系统技术方案

技术编号:19781346 阅读:82 留言:0更新日期:2018-12-15 12:12
一种仿真文本病历的生成方法及系统,采用原始病历生成正样本,生成器每次循环以上一次循环输出的词向量和疾病标签向量为输入,输出新的词向量,重复多次生成由多个词向量组成的句子。每生成一个词向量,以已生成词向量序列为初始状态,重复运行生成器采样,生成多个句子,判别器对所有句子的奖励值取平均值,作为该次的词向量的奖励值,根据得到的句子和词向量的奖励值更新生成器,如此反复直至收敛。收敛的生成器生成负样本,与正样本组成混合病历数据集,以疾病标签向量和词向量序列为输入,得到每一病历来自真实病历的概率,更新判别器,如此反复直至收敛。本发明专利技术避免涉及病人隐私,仿真文本病历可辅助其它机器学习任务,方便对该疾病的研究。

【技术实现步骤摘要】
一种仿真文本病历的生成方法及系统
本专利技术涉及机器学习
,具体地说,涉及一种仿真文本病历的生成方法及系统。
技术介绍
随着时代的发展,信息化程度的不断提高,电子病历的使用越来越广泛。与此同时,随着近年来机器学习与深度学习的快速发展,人们开始尝试用机器学习的方法解决医疗领域的问题,并取得了一些成效。然而,电子病历数据的获取与使用,一方面由于涉及病人隐私等问题,可能受到患者个人意愿和法律法规的层层限制,从而制约了基于大数据的机器学习等相关算法的使用;另一方面由于病历数据本身具有较大的差异性,对于某类疾病可能会出现正负样本(患病样本与非患病样本)不均衡的情况,影响机器学习相关算法的效果。针对以上问题,生成尽量还原真实病历样本分布的仿真病历数据,是一种有效的解决方案,然而当前却很少有技术尝试解决这一问题。少量的病历生成与文本生成的相关技术也存在以下问题:1.作用仅为辅助生成格式化病历,使之符合标准格式需要,减轻医生手写排版的工作,并未涉及自动生成仿真病历。2.可以根据已有文本进行合并,生成新文本,但并未涉及机器学习相关算法,生成文本多样性也十分有限。3.相关基于人工智能的文本生成方法作用范围有限(仅为文本扩展,而无法生成全文本),且应用范围不明确,与医疗领域结合不紧密。
技术实现思路
为解决以上问题,本专利技术提供一种仿真文本病历的生成方法及系统,包括以下步骤:步骤S1,对原始病历数据进行预处理,生成由真实病历数据组成的正样本,具体包括如下步骤:步骤S11,获取包括病情描述和诊断结果的真实病历的文本;步骤S12,对病情描述和诊断结果进行提取并分别编制适于计算机读取的编码;步骤S14,生成所述正样本,步骤S2,训练模型,具体包括以下步骤:步骤S21,构建生成器与判别器,初始化参数;步骤S23,对生成器与判别器进行对抗训练,循环执行如下过程直至生成式对抗网络收敛:步骤S231,对生成器执行多次迭代,直至收敛,具体包括如下步骤:步骤S2311,生成器执行T次循环,每次循环以上一次循环输出的词向量和疾病标签向量为输入,输出新的词向量,从而重复T次生成长度为T的句子X1:T,其中,以已经生成的词向量序列(x1,x2,…,xt-1)为初始状态固定不变,重复运行生成器进行采样,生成以X1:t-1为前缀的N个完整的句子,判别器对每个句子给出一个奖励值,对N个句子的奖励值取平均值,作为第t步所生成词向量xt的奖励值,其中,词向量从事先设定的包含病历词汇的词典中选取,疾病标签向量是与病情诊断结果对应的向量;步骤S2312,根据得到的序列总长度为T的句子,和序列中每个词向量获得的来自于判别器的奖励值,更新生成器,然后返回步骤S2311,直至收敛;步骤S232,执行多次迭代,直至收敛,具体包括如下步骤:步骤S2321,用步骤S231计算收敛所得的生成器生成由虚构病历数据组成的负样本,并与所述正样本组成混合病历数据集;步骤S2322,在判别器中,以疾病标签向量和混合病历数据集中的词向量序列为输入,经过神经网络计算得到混合病历数据集中每一病历来自真实病历的概率,训练更新判别器,然后返回步骤2321,直至收敛;步骤S3,生成仿真病历数据;步骤S31,输入疾病标签,使用训练好的生成器生成仿真病历数据;步骤S32,将生成的仿真病历数据中的数字编码还原为可读文字。优选地,在步骤S12后还包括步骤S13,去除重复数据、无效数据。优选地,在步骤S21构建生成器与判别器后还包括步骤S22,预训练生成器和判别器,具体包括如下步骤:步骤S221,在真实病历数据上,通过极大似然估计对生成器进行预训练;步骤S222,生成器生成由虚构病历数据组成的预训练负样本,并将该预训练负样本与正样本组合成预训练混合病历数据集,在预训练混合病历数据集上,通过极小化交叉熵对判别器进行预训练。优选地,步骤S12中对病情描述和诊断结果进行提取并编码具体包括:步骤S121,利用分词的方法对病情描述进行分词处理并编码;步骤S122,对诊断结果进行编码。优选地,生成器为循环神经网络;判别器是二分类模型。优选地,步骤S2312中,生成器的更新公式如下:其中,是目标函数的梯度;θ为生成器G的参数;为判别器D的参数;T为句子总长度;st-1是第t-1步生成器的状态,即前t-1步已经生成的词向量序列和疾病标签向量;xt是第t步将要生成的词向量;Q为动作奖励函数,即对生成器G生成的句子中某一具体的词的奖励值,由判别器D给出的reward的均值计算得出;G(xt|st-1)是生成器模型给出的xt出现的概率;E为梯度的数学期望;α为学习率。优选地,步骤S2322中,根据下式更新判别器:其中,θ为生成器G的参数;为判别器D的参数;Pdata为真实病历数据分布;X1:T为病历数据样本;yn为疾病标签向量。优选地,生成器为长短时记忆网络,判别器为卷积神经网络或循环神经网络。优选地,在步骤S121中,使用jieba对病情描述进行分词处理并编码。一种仿真文本病历的生成系统,包括:正样本生成模块,获取包括病情描述和诊断结果的真实病历的文本,对病情描述和诊断结果进行提取并分别编制适于计算机读取的编码,进而生成所述正样本;构建模块,构建生成器与判别器,初始化参数;生成器训练模块,生成器执行T次循环,每次循环以上一次循环输出的词向量和疾病标签向量为输入,输出新的词向量,从而重复T次生成长度为T的句子X1:T,其中,以已经生成的词向量序列(x1,x2,…,xt-1)为初始状态固定不变,重复运行生成器进行采样,生成以X1:t-1为前缀的N个完整的句子,判别器对每个句子给出一个奖励值,对N个句子的奖励值取平均值,作为第t步所生成词向量xt的奖励值,其中,词向量从事先设定的包含病历词汇的词典中选取,疾病标签向量是与病情诊断结果对应的向量;根据得到的序列总长度为T的句子,和序列中每个词向量获得的来自于判别器的奖励值,更新生成器,如此反复直至收敛;判别器训练模块,用生成器训练模块计算收敛所得的生成器生成由虚构病历数据组成的负样本,并与所述正样本组成混合病历数据集,在判别器中,以疾病标签向量和混合病历数据集中的词向量序列为输入,经过神经网络计算得到混合病历数据集中每一病历来自真实病历的概率,训练更新判别器,如此反复直至收敛;仿真病历生成模块,根据输入的疾病标签,使用训练好的生成器生成仿真病历数据,将生成的仿真病历数据中的数字编码还原为可读文字。本专利技术相对于现有技术具有以下有益的技术效果:(1)本专利技术可以自动生成仿真文本病历数据,避免了涉及病人隐私等因素,为机器学习等任务提供了充足稳定的数据源,方便其他研究的开展。(2)本专利技术可以根据人们需要,根据输入的疾病标签和病历词汇生成指定特征的病历数据,方便对该疾病的研究。(3)本专利技术采用生成式对抗网络与深度学习方法,生成的数据具有较高的质量与多样性。附图说明通过结合下面附图对其实施例进行描述,本专利技术的上述特征和技术优点将会变得更加清楚和容易理解。图1是表示本专利技术实施例的仿真文本病历的生成方法的步骤流程示意图;图2是表示本专利技术实施例的对生成器和判别器训练的流程示意图。具体实施方式下面将参考附图来描述本专利技术所述仿真文本病历的生成方法及系统的实施例。本领域的普通技术人员可以认识到,在不本文档来自技高网...

【技术保护点】
1.一种仿真文本病历的生成方法,其特征在于,包括以下步骤:步骤S1,对原始病历数据进行预处理,生成由真实病历数据组成的正样本,具体包括如下步骤:步骤S11,获取包括病情描述和诊断结果的真实病历的文本;步骤S12,对病情描述和诊断结果进行提取并分别编制适于计算机读取的编码;步骤S14,生成所述正样本,步骤S2,训练模型,具体包括以下步骤:步骤S21,构建生成器与判别器,初始化参数;步骤S23,对生成器与判别器进行对抗训练,循环执行如下过程直至生成式对抗网络收敛:步骤S231,对生成器执行多次迭代,直至收敛,具体包括如下步骤:步骤S2311,生成器执行T次循环,每次循环以上一次循环输出的词向量和疾病标签向量为输入,输出新的词向量,从而重复T次生成长度为T的句子X1:T,其中,以已经生成的词向量序列(x1,x2,…,xt‑1)为初始状态固定不变,重复运行生成器进行采样,生成以X1:t‑1为前缀的N个完整的句子,判别器对每个句子给出一个奖励值,对N个句子的奖励值取平均值,作为第t步所生成词向量xt的奖励值,其中,词向量从事先设定的包含病历词汇的词典中选取,疾病标签向量是与病情诊断结果对应的向量;步骤S2312,根据得到的序列总长度为T的句子,和序列中每个词向量获得的来自于判别器的奖励值,更新生成器,然后返回步骤S2311,直至收敛;步骤S232,对判别器执行多次迭代,直至收敛,具体包括如下步骤:步骤S2321,用步骤S231计算收敛所得的生成器生成由虚构病历数据组成的负样本,并与所述正样本组成混合病历数据集;步骤S2322,在判别器中,以疾病标签向量和混合病历数据集中的病历的词向量序列表示作为输入,经过神经网络计算得到混合病历数据集中每一病历来自真实病历的概率,训练更新判别器,然后返回步骤2321,直至收敛;步骤S3,生成仿真病历数据;步骤S31,输入疾病标签,使用训练好的生成器生成仿真病历数据;步骤S32,将生成的仿真病历数据中的数字编码还原为可读文字。...

【技术特征摘要】
1.一种仿真文本病历的生成方法,其特征在于,包括以下步骤:步骤S1,对原始病历数据进行预处理,生成由真实病历数据组成的正样本,具体包括如下步骤:步骤S11,获取包括病情描述和诊断结果的真实病历的文本;步骤S12,对病情描述和诊断结果进行提取并分别编制适于计算机读取的编码;步骤S14,生成所述正样本,步骤S2,训练模型,具体包括以下步骤:步骤S21,构建生成器与判别器,初始化参数;步骤S23,对生成器与判别器进行对抗训练,循环执行如下过程直至生成式对抗网络收敛:步骤S231,对生成器执行多次迭代,直至收敛,具体包括如下步骤:步骤S2311,生成器执行T次循环,每次循环以上一次循环输出的词向量和疾病标签向量为输入,输出新的词向量,从而重复T次生成长度为T的句子X1:T,其中,以已经生成的词向量序列(x1,x2,…,xt-1)为初始状态固定不变,重复运行生成器进行采样,生成以X1:t-1为前缀的N个完整的句子,判别器对每个句子给出一个奖励值,对N个句子的奖励值取平均值,作为第t步所生成词向量xt的奖励值,其中,词向量从事先设定的包含病历词汇的词典中选取,疾病标签向量是与病情诊断结果对应的向量;步骤S2312,根据得到的序列总长度为T的句子,和序列中每个词向量获得的来自于判别器的奖励值,更新生成器,然后返回步骤S2311,直至收敛;步骤S232,对判别器执行多次迭代,直至收敛,具体包括如下步骤:步骤S2321,用步骤S231计算收敛所得的生成器生成由虚构病历数据组成的负样本,并与所述正样本组成混合病历数据集;步骤S2322,在判别器中,以疾病标签向量和混合病历数据集中的病历的词向量序列表示作为输入,经过神经网络计算得到混合病历数据集中每一病历来自真实病历的概率,训练更新判别器,然后返回步骤2321,直至收敛;步骤S3,生成仿真病历数据;步骤S31,输入疾病标签,使用训练好的生成器生成仿真病历数据;步骤S32,将生成的仿真病历数据中的数字编码还原为可读文字。2.如权利要求1所述的仿真文本病历的生成方法,其特征在于,在步骤S12后还包括步骤S13,去除重复数据、无效数据。3.如权利要求1所述的仿真文本病历的生成方法,其特征在于,在步骤S21构建生成器与判别器后还包括步骤S22,预训练生成器和判别器,具体包括如下步骤:步骤S221,在真实病历数据上,通过极大似然估计对生成器进行预训练;步骤S222,生成器生成由虚构病历数据组成的预训练负样本,并将该预训练负样本与正样本组合成预训练混合病历数据集,在预训练混合病历数据集上,通过极小化交叉熵对判别器进行预训练。4.如权利要求1所述的仿真文本病历的生成方法,其特征在于,步骤S12中对病情描述和诊断结果进行提取并编码具体包括:步骤S121,利用分词的方法对...

【专利技术属性】
技术研发人员:张学工关嘉麒闾海荣
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1