一种基于词向量模型的疾病模式挖掘方法及装置制造方法及图纸

技术编号:20392773 阅读:23 留言:0更新日期:2019-02-20 04:01
本发明专利技术提供了一种基于词向量模型的疾病模式挖掘方法及装置。该方法包括:获取原始医疗数据data,分别进行0‑1二值化处理,处理后得到二值矩阵,根据所述二值矩阵Mat,构造词向量模型的训练样本集合;训练所述词向量模型,得到医疗指标编码矩阵;医疗指标编码向量层次聚类;可视化聚类结果,得到模式挖掘的结果。针对信息化医疗数据固有的数据量大,内容不完整,噪声大,特征间关系复杂等特点,将自然语言处理中词向量模型应用于医疗数据,可有效地进行医疗大数据疾病模式挖掘。

【技术实现步骤摘要】
一种基于词向量模型的疾病模式挖掘方法及装置
本专利技术涉及医疗数据挖掘领域,更具体的说是涉及一种基于词向量模型的疾病模式挖掘方法及装置。
技术介绍
随着计算机在医学上的应用日益普及,用计算机存储病案在医院已经十分普遍。长期以来,各大医院收集保存了大量的临床诊断数据,这些数据既包括对病人的血糖、血脂、肝功、肾功等生物指标进行测验得到的数值数据,还包括病人的身高、体重、年龄、性别、职业等自然数据,以及疾病史、吸烟史、饮酒史、患病症状、用药及治疗方案等众多非数值数据。这些临床诊断数据中蕴藏着大量的有价值的信息,对不同疾病患者的临床诊断数据进行数据挖掘,有助于发现与该疾病相关的发病规律、危险因素及其之间的相互影响,为疾病的临床诊断和治疗提供参考。然而,由于临床诊断数据固有的数据量大,内容不完整,噪声大,特征间关系复杂,现有医疗数据分析的方法,如关联分析、聚类分析、孤立点分析、演变分析等,已经不能满足解决此类复杂问题的需要。如何从这些海量信息中运用各种数据挖掘技术探求各种疾病之间或疾病与生活习惯之间的相互关系,更好地为医院的决策管理、医疗、科研和教学服务,己经越来越为人们所关注。
技术实现思路
有鉴于此,本专利技术提供了一种基于词向量模型的疾病模式挖掘方法及装置,该方法将自然语言处理中词向量模型应用于医疗数据挖掘,对于内容不完整、特征关系复杂的海量医疗数据,可以有效地进行疾病模式挖掘。为了实现上述目的,本专利技术采用如下技术方案:第一方面,本专利技术提供一种基于词向量模型的疾病模式挖掘方法,包括如下步骤:S1:获取原始医疗数据data,所述原始医疗数据data包含N条记录,每条记录包含Mraw个原始特征;所述原始特征包括:患者生活习惯特征、血糖、肝功、患病情况和患病史信息;S2:对所述Mraw个原始特征分别进行0-1二值化处理,处理后得到二值矩阵Mat∈[0,1]N*M,M为处理后新特征的个数;所述新特征的个数为待分析医疗指标的个数;S3:根据所述二值矩阵Mat,构造词向量模型的训练样本集合;S4:训练所述词向量模型,得到医疗指标编码矩阵W∈RM*T;所述编码矩阵W为M个待分析医疗指标的T维编码向量;S5:对所述M个待分析医疗指标的T维编码向量进行层次聚类;S6:可视化聚类结果,得到模式挖掘的结果。在一个实施例中,步骤S2中对所述Mraw个原始特征分别进行0-1二值化处理,包括:根据医疗数据包含不同取值类型的原始特征,对于所述不同取值类型的原始特征分别进行处理,具体处理步骤如下:S21:对于二分类特征:设原始特征F1的取值f1∈{v1,v2}且在数据中两个取值出现的次数从原始特征F1中提取出一个二值医疗指标Z,此处Z的取值S22:对于多分类特征:设原始特征F2的取值其中Nf为原始特征F2的合法取值个数;从原始特征F2中提取Nf个二值医疗指标,记为:此处指标Zi的取值为:S23:对于连续取值特征:将连续特征离散化为K段,再进行one-hot编码;对于连续取值原始特征F3,其取值记为f3;获得特征离散化的(K-1)个分割点,设分割点和起始点集合记为Θ={θ0,θ1,θ2,…,θK},其中其中:quantile为分位数函数,用于计算数据中F3特征取值的分位数;从F3中提取K个二值医疗指标,记为:(Z1,Z2,…,ZK),此处特征Z的取值为:在一个实施例中,步骤S3根据所述二值矩阵Mat,构造词向量模型的训练样本集合,包括:待分析医疗指标编号为1~M,设词向量模型的训练样本表示为:{(I1,O1),(I2,O2),…,(Il,Ol)},Ii为模型的输入,Oi为模型的输出,l为训练样本的条数;对于一个训练样本(Ii,Oi),词向量模型要求,Ii、Oi为医疗指标编号;对每条记录中取值为1的医疗指标进行两两组合,公式表示为:Train_set={(i,j)|Mat(n,i)=1andMat(n,j)=1;i,j,n∈N+;n≤N;i,j≤M};式中:i为训练样本中任一条数据,j为训练样本的总条数,n为取值为1个的医疗指标的数量。在一个实施例中,步骤S4训练所述词向量模型,得到医疗指标编码矩阵W∈RM*T,包括:S41:变量初始化:给定模型超参数:医疗指标编码向量的维度T,每次采样样本量batch_size,训练次数iter;初始化变量:医疗指标编码矩阵W∈RM*T,softmax权重矩阵U∈RT*M;S42:从所述Train_set中随机采样得到batch_size条训练样本,得到输入样本矩阵I∈[0,1]batch_size*M,输出样本矩阵O∈[0,1]batch_size*M;S43:对于一对训练样本(In,On),Ii、Oi为医疗指标编号,定义:An∈[0,1]1*M且Bn∈[0,1]1*M且模型输出:Yn=sampled_softmax(AnWU)sampled_softmax为负采样softmax函数;定义模型loss函数,选用交叉熵函数,Bn中只有1维取值为1,其余为0,loss函数表示为:词向量模型使用梯度下降法,最小化loss函数;S44:循环执行上述步骤S42~S43:共iter次,词向量模型训练完成。在一个实施例中,步骤S5对所述M个待分析医疗指标的T维编码向量进行层次聚类,包括:S51:将每个样本归为一类,共得到M类,每类仅包含一个样本;类与类之间的距离为各样本间的余弦距离;S52:找到最接近的两个类并合并成一类,将类内样本向量各维度取均值,得到中心向量作为该类的向量;S53:重新计算各类间的余弦距离,并记录当前聚类簇数目,计算当前聚类结果的轮廓系数;此处,轮廓系数的计算公式为:其中,a(i)表示样本i到同一簇内其它点余弦距离的平均值,b(i)表示样本i到其它簇的所有样本点的平均余弦距离的最小值;S54:重复S52~S53,直到聚类簇数目为1,记录轮廓系数最大时的聚类簇数目为C,并将聚类簇数目为C时的结果作为最终聚类结果,聚类完成。第二方面,本专利技术还提供一种基于词向量模型的疾病模式挖掘装置,包括:获取模块,用于获取原始医疗数据data,所述原始医疗数据data包含N条记录,每条记录包含Mraw个原始特征;所述原始特征包括:患者生活习惯特征、血糖、肝功、患病情况和患病史信息;处理模块,用于对所述Mraw个原始特征分别进行0-1二值化处理,处理后得到二值矩阵Mat∈[0,1]N*M,M为处理后新特征的个数;所述新特征的个数为待分析医疗指标的个数;构造模块,用于根据所述二值矩阵Mat,构造词向量模型的训练样本集合;训练模块,用于训练所述词向量模型,得到医疗指标编码矩阵W∈RM*T;所述编码矩阵W为M个待分析医疗指标的T维编码向量;聚类模块,用于对所述M个待分析医疗指标的T维编码向量进行层次聚类;可视化模块,用于可视化聚类结果,得到模式挖掘的结果。在一个实施例中,所述处理模块,根据医疗数据包含不同取值类型的原始特征,对于所述不同取值类型的原始特征分别进行处理,具体包括:第一处理子模块,对于二分类特征:设原始特征F1的取值f1∈{v1,v2}且在数据中两个取值出现的次数从原始特征F1中提取出一个二值医疗指标Z,此处Z的取值第二处理子模块,对于多分类特征:设原始特征F2的取值其中Nf为原始特征F2的合法取值个数;从原始本文档来自技高网...

【技术保护点】
1.一种基于词向量模型的疾病模式挖掘方法,其特征在于,包括如下步骤:S1:获取原始医疗数据data,所述原始医疗数据data包含N条记录,每条记录包含Mraw个原始特征;所述原始特征包括:患者生活习惯特征、血糖、肝功、患病情况和患病史信息;S2:对所述Mraw个原始特征分别进行0‑1二值化处理,处理后得到二值矩阵Mat∈[0,1]N*M,M为处理后新特征的个数;所述新特征的个数为待分析医疗指标的个数;S3:根据所述二值矩阵Mat,构造词向量模型的训练样本集合;S4:训练所述词向量模型,得到医疗指标编码矩阵W∈RM*T;所述编码矩阵W为M个待分析医疗指标的T维编码向量;S5:对所述M个待分析医疗指标的T维编码向量进行层次聚类;S6:可视化聚类结果,得到模式挖掘的结果。

【技术特征摘要】
1.一种基于词向量模型的疾病模式挖掘方法,其特征在于,包括如下步骤:S1:获取原始医疗数据data,所述原始医疗数据data包含N条记录,每条记录包含Mraw个原始特征;所述原始特征包括:患者生活习惯特征、血糖、肝功、患病情况和患病史信息;S2:对所述Mraw个原始特征分别进行0-1二值化处理,处理后得到二值矩阵Mat∈[0,1]N*M,M为处理后新特征的个数;所述新特征的个数为待分析医疗指标的个数;S3:根据所述二值矩阵Mat,构造词向量模型的训练样本集合;S4:训练所述词向量模型,得到医疗指标编码矩阵W∈RM*T;所述编码矩阵W为M个待分析医疗指标的T维编码向量;S5:对所述M个待分析医疗指标的T维编码向量进行层次聚类;S6:可视化聚类结果,得到模式挖掘的结果。2.根据权利要求1所述的一种基于词向量模型的疾病模式挖掘方法,其特征在于:步骤S2中对所述Mraw个原始特征分别进行0-1二值化处理,包括:根据医疗数据包含不同取值类型的原始特征,对于所述不同取值类型的原始特征分别进行处理,具体处理步骤如下:S21:对于二分类特征:设原始特征F1的取值f1∈{v1,v2}且在数据中两个取值出现的次数从原始特征F1中提取出一个二值医疗指标Z,此处Z的取值S22:对于多分类特征:设原始特征F2的取值其中Nf为原始特征F2的合法取值个数;从原始特征F2中提取Nf个二值医疗指标,记为:此处指标Zi的取值为:S23:对于连续取值特征:将连续特征离散化为K段,再进行one-hot编码;对于连续取值原始特征F3,其取值记为f3;获得特征离散化的(K-1)个分割点,设分割点和起始点集合记为Θ={θ0,θ1,θ2,…,θK},其中其中:quantile为分位数函数,用于计算数据中F3特征取值的分位数;从F3中提取K个二值医疗指标,记为:(Z1,Z2,…,ZK),此处特征Z的取值为:3.根据权利要求1所述的一种基于词向量模型的疾病模式挖掘方法,其特征在于:步骤S3根据所述二值矩阵Mat,构造词向量模型的训练样本集合,包括:待分析医疗指标编号为1~M,设词向量模型的训练样本表示为:{(I1,O1),(I2,O2),…,(Il,Ol)},Ii为模型的输入,Oi为模型的输出,l为训练样本的条数;对于一个训练样本(Ii,Oi),词向量模型要求,Ii、Oi为医疗指标编号;对每条记录中取值为1的医疗指标进行两两组合,公式表示为:Train_set={(f,j)|Mat(n,i)=1andMat(n,j)=1;i,j,n∈N+;n≤N;i,j≤M};式中:i为训练样本中任一条数据,j为训练样本的总条数,n为取值为1个的医疗指标的数量。4.根据权利要求3所述的一种基于词向量模型的疾病模式挖掘方法,其特征在于:步骤S4训练所述词向量模型,得到医疗指标编码矩阵W∈RM*T,包括:S41:变量初始化:给定模型超参数:医疗指标编码向量的维度T,每次采样样本量batch_size,训练次数iter;初始化变量:医疗指标编码矩阵W∈RM*T,softmax权重矩阵U∈RT*M;S42:从所述Train_set中随机采样得到batch_size条训练样本,得到输入样本矩阵I∈[0,1]batch_size*M,输出样本矩阵O∈[0,1]batch_size*M;S43:对于一对训练样本(In,On),Ii、Oi为医疗指标编号,定义:An∈[0,1]1*M且Bn∈[0,1]1*M且模型输出:Yn=sampled_softmax(AnWU)sampled_softmax为负采样softmax函数;定义模型loss函数,选用交叉熵函数,Bn中只有1维取值为1,其余为0,...

【专利技术属性】
技术研发人员:王静远李姝杨英马旭
申请(专利权)人:北京航空航天大学国家卫生计生委科学技术研究所
类型:发明
国别省市:北京,11

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

1