本发明涉及多模态数据特征提取领域,尤其涉及一种基于知识图谱的冠心病多模态数据特征提取方法。
背景技术:
1、近年来,使用图结构描述数据和知识之间关联关系的医学知识图谱,作为一种新技术被广泛用于疾病的辅助验证,它能够为海量、异构、动态的医疗大数据提供一种更为高效的表示和利用方式,更加接近于人类的认知思维,具有一定的可解释性。
2、依据相关报告,我国冠心病患者人数众多,且死亡率逐年上升,表现出隐蔽性和突发性等特点。冠心病筛查常用的方法包含心电图、光电容积脉搏波(ppg)、心音图、心脏彩超、心肌酶学检查、冠状动脉造影等,其中冠状动脉造影是诊断冠心病的金标准,但其为有创检测且价格昂贵。借助人工智能方法通过上述筛查方法实现冠心病风险评估和预警具有重要意义。例如授权专利号为cn202111124787.9,专利名称为《基于机器学习的冠心病患者出血风险评估方法》的专利,公开了一种基于机器学习的冠心病患者出血风险评估方法、装置、设备和计算机可读存储介质。所述方法包括获取冠心病患者的ppg测量信号;对所述ppg测量信号进行分段处理,得到m个信号分段;m为大于等于1的正整数;通过预设算法对所述m个信号分段进行信号质量评估,确定质量合格的信号分段;从所述质量合格的信号分段中,提取x个特征,输入到出血风险评估模型中,得到冠心病患者的出血风险评分;x为大于等于1的正整数。以此方式,实现了对冠心病患者的出血风险评估。但上述技术方案基于单模态的光电容积脉搏波数据对冠心病患者进行风险评估,对应的特征表达不够全面,风险评估的准确性还有待提高。
技术实现思路
1、本发明的目的是提供一种基于知识图谱的冠心病多模态数据特征提取方法,能够解决冠心病单模态数据的单维度特征表达不全面、相同类型或不同类型医学数据之间的联系不能充分表征的问题,从而为冠心病诊断结果的辅助验证提供更为准确的数据基础。
2、本发明采用下述技术方案:
3、一种基于知识图谱的冠心病多模态数据特征提取方法,包括以下步骤:
4、a:获取冠心病患者的心电图、光电容积脉搏波和心音图的信号数据,通过信号正异常识别模型,分别确定心电图、光电容积脉搏波和心音图的信号实体;
5、b:获取冠心病患者的心脏彩超图像数据,通过心脏彩超图像正异常识别模型,确定心脏彩超图像的图像实体;
6、c:获取冠心病患者的病历文本数据,结合条件随机场模型识别病历文本的文本实体及文本实体属性,并抽取文本实体关系;
7、d:利用步骤a至c中分别获取的信号实体、图像实体、文本实体、文本实体属性和文本实体关系,通过与冠心病患者知识图谱本体结构进行链接形成知识图谱,并结合所有冠心病患者的知识图谱建立病例关系图网;
8、e:结合步骤d中得到的病例关系图网,采用随机游走算法和skip-gram模型将病例关系图网中的节点降维表征为统一的节点表示向量;
9、f:采用主成分分析算法,对步骤e中得到的节点表示向量再次降维,最终获取节点的降维特征。
10、所述的步骤a中,信号正异常识别模型采用基于多层resnet网络的信号正异常识别模型;基于多层resnet网络的信号正异常识别模型用于对信号数据y={y1,y2,…,yb}进行实体提取,分别识别心电图、光电容积脉搏波和心音图信号为正常或异常;信号数据y对应的实体为k={k1,k2,…,ka},其中,b表示信号数据的个数,a表示信号数据y对应实体的数量;心电图的实体为心电图正常或心电图异常;光电容积脉搏波的实体为光电容积脉搏波正常或光电容积脉搏波异常;心音图的实体为心音图正常或心音图异常。
11、所述的步骤b中,心脏彩超图像正异常识别模型采用基于多层transformer-cnn的心脏彩超图像正异常识别模型;基于多层transformer-cnn的心脏彩超图像正异常识别模型包括编码层和解码层,编码层通过多层堆叠的transformer编码器对心脏彩超图像的局部信息进行学习;解码层对transformer编码器输出的信息进行解码,得到心脏彩超图像正异常识别的概率分布;基于多层transformer-cnn的心脏彩超图像正异常识别模型确定心脏彩超图像数据q′的实体m,m={m1,m2,…,mt},t表示心脏彩超图像数据q′对应实体的数量,实体为心脏彩超图像的诊断结果;心脏彩超图像的实体为心脏彩超正常或心脏彩超异常。
12、所述的步骤c中,条件随机场模型采用基于卷积神经网络和双向长短期记忆网络的条件随机场模型;基于卷积神经网络和双向长短期记忆网络的条件随机场模型获取病历文本x的实体p,p={p1,p2,l,pu};其中u表示病历文本x对应实体的数量。
13、所述的步骤d中,将步骤a至c中提取的信号数据的实体、图像数据的实体和病历文本的实体链接到知识图谱本体结构上,形成患者的知识图谱,表示为h=(n′,r′,s);其中,k为信号数据的实体、m为图像数据的实体,p为病历文本的实体,n′是实体的集合,r′是实体间关系的集合;s是三元组集合;
14、结合所有冠心病患者的知识图谱建立对应的病例关系图网,表示为h=(v′,e);其中,v′表示所有患者节点的集合,e表示无向边的集合。
15、所述的步骤e中,采用截断随机游走的图嵌入方法提取病例关系图网h的局部结构,得到截断长度的节点序列,并采用固定长度的窗口得到各个节点的上下文信息;
16、采用skip-gram模型在最大化上下文节点共现概率的同时,更新节点的表示向量φ={φ1,φ2,…,φg…,φ|v|};其中,φ为节点表示向量,其维度为|v|×d,|v|表示节点的个数,d为映射后每个节点表示向量的长度,g表示向量φ的索引值;
17、以病例关系图网h中的不同节点作为根节点进行固定长度的随机游走,每一步从当前节点游走至各个邻近节点的概率正比于两个节点之间边的权重,通过截断随机游走方式得到一系列等长的向量,向量表示病例关系图网h中各处的局部结构;在得到的路径向量上用固定长度的滑动窗口进行扫描得到一系列在原文中具有上下文关系的词语;
18、以词语的共现关系作为优化目标,对词语所映射的向量进行优化,在给定窗口中心词vi的情况下使滑动窗口内的上下文词语共现的概率最大化,对应的最大化联合概率表示为:
19、
20、其中,pr(vj|φ(vi))表示在节点表示向量φ的作用下给定第i个词vi后出现第j个词vj的条件概率;vi-w表示第一个词;vi+w表示最后一个词;
21、然后结合目标函数z通过梯度下降法迭代更新,获得节点表示向量φ={φ1,φ2,…,φg…,φ|v|};目标函数z为:
22、z=min(-log pr({vi-w,…,vi-1,vi+1,vi+w}|φ(vi)))。
23、所述的步骤f包括以下具体步骤:
24、f1:计算节点表示向量φ={φ1,φ2,…,φg…,φv|}的均值φgz表示φg的第z个元素,的维度为|v|×1;
25、f2:计算节点表示向量φ的协方差矩阵c,协方差矩阵c的维度为d×d,并计算协方差矩阵c的特征值λi′和对应的特征向量ui′,其中,f′表示特征值的个数,i′表示对应的索引值,1≤i′≤f′,协方差矩阵
26、f3:根据协方差矩阵c的特征值大小进行排序,满足λ1≥λ2≥…≥λf′,同时特征值对应的特征向量排序满足u1,u2,…,uf′,选择t′个排序后的特征向量组成一个矩阵u,即为节点表示向量经pca降维的投影矩阵,维度为d×t′,u表示为u=[u1,u2,…,ut′];通过投影矩阵将节点表示向量φ投影到低维空间,最终获得对应的主成分即节点的降维特征为φpca,计算表达式为:
27、所述的步骤a中,基于多层resnet网络的信号正异常识别模型由输入层、三个残差网络块、全局平均池化层、dropout层、平化层和softmax层组成;
28、其中,输入层的维度为800×1,经过第一次残差网络块后输出维度为160×16,经过第二个残差网络块后维度变为32×32,经过第三个残差网络块输出维度为6×64;经过全局平均池化层(gap层)后维度变为1×64;将全局平均池化层的输出输入至dropout层,然后通过平化层进行维度变换,并结合softmax层判断信号为正常或异常;
29、残差网络块由卷积层、bn层、relu层和p层组成;具体的,每个残差块包括四个卷积层、三个bn层、两个relu层、一个p层和一个跳层连接;其中,前三个卷积层包含n个卷积核,每个卷积核的长度为r×1;每个残差网络块中第一个卷积层r取值为17,第二个卷积层r取值为11,第三个卷积层r取值为5;第一个残差网络块的卷积核数量n取值为16,第二个残差网络块的卷积核数量n取值为32,第三个残差网络块的卷积核数量n取值为64;第四个卷积层使用1×1的卷积核,跳层连接用于学习心电图、光电容积脉搏波和心音图信号的不同尺度特征和融合底层和高层的特征。
30、步骤b中,编码层通过l层的transformer编码器将心脏彩超图像序列映射到前馈神经网络层,编码心脏彩超图像序列,l层包含第1,2,...,l...,l层,l为层数的索引值;每个transformer编码器有两个子层,分别为多头注意力机制层和前馈神经网络层,每个子层均包含残差连接和归一化操作;
31、输入进第l层编码器的序列为hl-1,经过transformer编码器的多头注意力机制层后的输出可表示为:
32、hl-1=layernorm(hl-1+multihead(q,k,d));
33、multihead(q,k,d)=concat(head1,...,headi...,headn)g0,
34、
35、其中,layernorm()表示归一化操作,concat()表示拼接函数,q、k和d分别表示查询向量、键向量和值向量,n表示注意力头数,和分别表示查询向量、键向量和值向量对应的权重矩阵;g0表示附加的权重矩阵;headi表示第i个注意力层的输出;
36、前馈神经网络层,由两层线性映射和激活函数组成,输出hl表示为:
37、hl=layernorm(hl-1+ffn(hl-1));
38、ffn(hl-1)=linear(relu(linear(hl-1)));
39、其中,linear()表示线性映射,relu()表示激活函数;
40、经过l层transformer编码器后,transformer编码器的输出表示为hl;
41、解码器通过softmax函数对编码器的输出hl进行解码;得到心脏彩超图像正异常识别的概率分布表示为:其中,e'表示正异常分类的权重矩阵,softmax()表示归一化函数;
42、对心脏彩超图像数据q′={q1,q2,…,qo}进行实体提取,o表示心脏彩超图像数据的个数,最终确定心脏彩超图像数据q′的实体m。
43、所述的步骤c中,基于卷积神经网络和双向长短期记忆网络的条件随机场模型,包含输入模块、神经网络模块和输出模块;
44、令病历文本数据x={x1,x2,…,xi,…,xs},其中,s表示文本数据中字符的数量,i表示索引值;
45、输入模块通过skip-gram模型将输入的病历文本数据x中的每个字映射为低维实数向量表示x;
46、神经网络模块包含卷积神经网络和双向长短期记忆网络;卷积神经网络包含一个卷积层和一个池化层,卷积层包含e个卷积核,卷积核的程度为c×r,c表示卷积核的宽度,r表示病历文本数据x中的每个字映射的向量的维度;经过卷积神经网络后文本的特征向量z′表示为:z′=tanh(w′x+f);其中,w′和f分别表示网络的权重矩阵和偏置矩阵;
47、输出模块包含条件随机场模型和softmax层,病历文本数据x对应的预测标签序列为w={w1,w2,…,wi,…,wq′},将病历文本数据x通过神经网络模块得到对应的概率矩阵为p,维度为q′*k′,q′表示标签序列的个数,k′表示标签种类的个数,定义从病历文本数据到标签序列的概率为:
48、
49、其中,表示标签wi转移到标签wi+1的概率,表示输入病历文本数据中第i个单词对应第j个标签的概率;训练阶段,使用的最大似然函数为:
50、log(p(wi|x))=s(x,wi)-log∑exp(s(x,w*));
51、其中,p(wi|x)表示输入为x输出标签为wi的条件概率,对应整体概率得分最大的一组序列w*为最优的预测标签序列,表示为:w*=arg max s(wi|x);最终根据预测标签的结果确定病历文本x的实体p。
52、本发明基于冠心病患者的心电图、光电容积脉搏波和心音图信号数据、心脏彩超图像数据、病历文本数据,通过基于多层resnet网络的信号正异常识别模型确定心电图、光电容积脉搏波和心音图;通过基于多层transformer-cnn的心脏彩超图像正异常识别模型确定心脏彩超图像实体;通过基于卷积神经网络和双向长短期记忆网络的条件随机场模型确定病历文本实体;通过上述实体与冠心病患者知识图谱本体结构进行链接形成知识图谱,并结合所有冠心病患者的知识图谱建立病例关系图网;通过采用随机游走算法和skip-gram模型将病例关系图网中的节点降维表征为统一的节点表示向量;通过主成分分析算法对节点表示向量再次降维,获取节点的降维特征,将高维、异构冠心病多模态数据降维表征为低维、统一的节点表征向量,能够更加充分的表征冠心病患者多模态数据的内在特征,为后续冠心病的智能辅助筛查提供了有力支撑,能够提高冠心病诊断结果的准确性。