CN109935337B - 一种基于相似性度量的病案查找方法及*** - Google Patents
一种基于相似性度量的病案查找方法及*** Download PDFInfo
- Publication number
- CN109935337B CN109935337B CN201910137294.5A CN201910137294A CN109935337B CN 109935337 B CN109935337 B CN 109935337B CN 201910137294 A CN201910137294 A CN 201910137294A CN 109935337 B CN109935337 B CN 109935337B
- Authority
- CN
- China
- Prior art keywords
- medical record
- medical
- similarity
- value
- records
- 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.)
- Active
Links
Images
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
本发明公开了一种基于相似性度量的病案查找方法及***,本发明的步骤包括针对查询病案集合A构建病案组得到病案组集合C;对病案组集合C生成带相似标签的病案组数据集合D;构建机器学习模型,并通过病案组数据集合D完成训练,将目标病案、查询病案集合A中所有病案一起输入到机器学习模型,得到目标病案和查询病案集合A中所有病案之间的相似性度量值并相似性度量最高的N个病案输出。本发明充分利用了病案自身信息和病案相关理论知识,能够提高病案相似性度量的精度,提升病案排序的准确性,同时基于机器学习的病案相似度量方法具有更好的精度提升潜力,具有高精度、高适用性、鲁棒性好、可持续优化潜力的优点。
Description
技术领域
本发明涉及医疗领域的相似病案查找技术,具体涉及一种基于相似性度量的病案查找方法及***,可实现异构医疗信息下的相似病案查找并将相似病案基于相似性排序。
背景技术
病案是指按规范记录病人疾病表现和诊疗情况的档案,主要包括:病人基本信息、病人病历信息、检查信息、医嘱信息、诊断信息、治疗方案、病情反馈等。病案描述了病人就诊过程中的完整病情,通过数据信息的形式将病人病情进行保存。以病案为对象的研究分析具有重要意义,本发明中的病案查找就是如此,例如当县级以下医院医生对于前来就诊病人的病情无法把握时,可以基于本发明通过查找相似病案中专家的治疗方案辅助当前病人的诊断和治疗。因此,病案查找的研究有着极具理论与实践意义。
相似病案查找主要基于病案的相似排序。病案的相似排序对于理解病案的类型、识别病案之间的关系及预测病案中病情的趋势有着极其重要的基础性作用,其是病案应用的前提和基础。病案的相似排序是指对于指定的病案,将病案库中的所有病案与该病案进行比较,然后基于相似性的大小对病案进行排序。其中,最主要的工作就是如何判定两个病案之间的相似值大小,即病案的相似性度量:两个病案越接近,它们的相似性度量也就越大,而两个病案越疏远,它们的相似性度量也就越小。
现有的病案相似性的度量方法可分为两类:基于病案数据的机器学习模型和基于理论知识的传统理论模型。传统理论模型从医学领域知识出发,通过病理分析判断病案之间的相似性大小关系,这种模型的优点在于解释性好,少量病案之间的相似性度量精度高,缺点在于对专业知识要求较高,同时受到专业领域知识的限制,模型精度提升难度大。基于病案数据的机器学习模型从病案数据本身出发,通过对大量已形成关系的病案数据进行分析学习,进而学习到其中的相似性关系,这种模型的优点在于精度可能与数据量正相关,不受限于领域知识,缺点在于解释性不好,对病案数据相似性标签有一定需求。因此,实际应用中的病案相似性度量方法均存在模型精度提升难度大、病案相似性标签难以获得的问题,该问题影响了病案相似性度量的精度提升,进而对病案相似排序的准确性造成影响。因此,能够自动获取病案相似性标签的病案相似性度量方法尤为重要,该方法有着重要的理论意义和实践需求。
公开号为CN104572675B的中国专利文献公开了一种相似病历检索的***及方法,该技术方案中设计了一种基于病理的病历相似度计算方法,进而实现了从病历库中检索出相似的病历的功能。该技术方案从病理的角度进行病历相似度计算的方法忽略了病历自身的数据信息,并且这种相似度量方法无法基于误差进行自优化;同时,该技术方案以病历为对象进行相似检索,而病历并不能完整反应病人的情况,病历的相似只是病人病情的部分相似。杨辉等人在《东南国防医药》上公开了一种基于医疗大数据平台的相似病历检索***,该技术方案中主要基于自然语言处理技术,实现医疗大数据平台上病历库中的相似病历检索功能,该技术方案的方法和前面描述的公开号为CN104572675B的中国专利文献一样,在相似性度量的准确性以及病历反应病情的完整性上具有一定的缺陷。因此如何实现病案查询的准确度、完整度仍然存在进一步优化的空间。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于相似性度量的病案查找方法及***,本发明能够很好的适用于病案的相似性度量,其能够很好的解决病案相似标签的缺失、病案相似理论知识的不完善等现实问题,充分利用了病案自身信息和病案相关理论知识,能够提高病案相似性度量的精度,提升病案排序的准确性,同时基于机器学习的病案相似度量方法具有更好的精度提升潜力,具有高精度、高适用性、鲁棒性好、可持续优化潜力的优点。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于相似性度量的病案查找方法,实施步骤包括:
1)针对查询病案集合A构建病案组得到病案组集合C;
2)对于病案组集合C进行病案组的相似标签赋值得到带相似标签的病案组数据集合D;
3)构建机器学习模型,并通过带相似标签的病案组数据集合D完成对机器学习模型的训练,所述机器学习模型通过训练建立了病案组、病案组相似度之间的映射关系;
4)将目标病案、查询病案集合A中所有病案一起输入到机器学习模型,得到目标病案和查询病案集合A中所有病案之间的相似性度量值,选择相似性度量值最高的N个病案输出。
优选地,步骤1)的详细步骤包括:
1.1)针对查询病案集合A中的所有病案,将其进行两两全排列组合得到病案组集合B,病案组集合B中的元素为病案组、且每个病案组由两个病案组成;
1.2)针对病案组集合B随机选择部分病案组得到病案组选择集合C0;针对病案组集合B根据指定的多种相似值指标分别计算相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到病案组有序集合Bi;针对所有的病案组有序集合Bi,分别基于相似值指标概率分配选择生成病案组选择集合Ci,所述指定的多种相似值指标包括欧氏距离、余弦距离、杰卡德距离、调整余弦距离中的至少两种;
1.3)将病案组选择集合C0、所有的病案组选择集合Ci进行集合合并得到病案组集合C。
优选地,所述基于相似值指标概率分配选择生成病案组选择集合Ci时,病案组有序集合Bi中每一个病案组的随机选择的概率如式(1)所示;
式(1)中,P(SMi)为病案组有序集合Bi中第i个病案组被选取的概率,SMi为病案组有序集合Bi中第i个病案组的相似值指标值,f(SMj)为病案组有序集合Bi中第i个病案组的相似值经规整化的结果,m为病案组有序集合Bi中病案组的个数,f(SMj)的函数表达式如式(2)所示;
式(2)中,SM1为病案组有序集合Bi中第1个病案组的相似值指标值,SMm为病案组有序集合Bi中第m个病案组的相似值指标值,m为病案组有序集合Bi中病案组的个数。
优选地,步骤2)的详细步骤包括:
2.1)将病案组集合C表示为病案组集合矩阵b,所述病案组集合矩阵b的每一行表示一个病案,病案的前n列分别表示该病案的n个特征、最后一列特征s为该病案的诊断信息;
2.2)根据所述病案组集合矩阵b确定病案的每一个特征的权重值;
2.3)通过病案的特征之间的相似性以及特征对应的权重计算病案组集合C中每个病案组的相似值s,进而得到带相似标签的病案组集合D。
优选地,步骤2.2)的详细步骤包括:根据式(4)计算病案的每一个特征的原始权重值,针对所有特征的原始权重值进行归一化处理作为每一个特征最终的权重值;
式(4)中,yi'表示病案的每i个特征的原始权重值,表示病案组集合矩阵b所有病案的第i列特征构成的特征向量;表示病案组集合矩阵b所有病案的诊断信息s构成的诊断信息特征向量;σi表示病案组集合矩阵b所有病案的第i列特征的方差。
优选地,步骤2.3)中计算病案组集合C中每个病案组的相似值s的函数表达式如式(6)所示;
式(6)中,sij表示由病案i与病案j构成的病案组的相似性,n为特征总数量,为病案i的第x个特征的值为病案j的第x个特征的值,yx为归一化之后的第x个特征的权重,为第x个特征的最大值,为第x个特征的最小值。
优选地,步骤3)中构建机器学习模型的详细步骤包括:
3.1)分别设计评分损失函数、排序损失函数、排序概率损失函数三种损失函数;其中,评分损失函数的输入为两病案数据、输出为相似性评分值,评分损失函数通过预测评分值与标签评分值之间的绝对值表示;排序损失函数的输入为三个病案数据,其中一个查询病案、两个排序病案,输出为相似性评分值,排序损失函数通过查询病案分别于两排序病案之间预测评分值的高低与标签评分值的高低之间的差异表示;排序概率损失函数的输入为三个病案数据,其中一个查询病案、两个排序病案,输出为评分比较概率值,排序概率损失函数通过查询病案分别于两排序病案之间预测评分值的高低与标签评分值的高低之间的差异概率表示;
3.2)构建神经网络模型,该神经网络模型由输入层、隐藏层和输出层组成,输入层用于将病案所有维度完整输入进网络,隐藏层为完全连接层网络、用于病案的特征处理;输出层用于输出两个病案之间的相似性度量值;
3.3)分别将损失函数、排序损失函数、排序概率损失函数三种损失函数作为神经网络模型的损失函数并选取其中效果最好的损失函数;
3.4)根据选择损失函数的类型选择神经网络模型的激活函数,损失函数选择评分损失函数时激活函数采用线性激活函数,损失函数选择排序损失函数时激活函数采用tanh函数作为激活函数,损失函数选择排序概率损失函数时激活函数采用sigmoid函数作为激活函数。
优选地,步骤3.1)中设计评分损失函数、排序损失函数、排序概率损失函数三种损失函数时,评分损失函数的函数表达式如式(7)所示,排序损失函数的函数表达式如式(8)所示,排序概率损失函数的函数表达式如式(9)所示;
式(8)中,L(θ)为排序损失函数的损失值,t为病案组的数量,为病案qi与病案的神经网络模型预测评分值,为病案qi与病案的神经网络模型预测评分值,为病案qi与病案的标签评分值,为病案qi与病案的标签评分值,sign为符号函数;
式(9)中,L(θ)表示排序概率损失函数的损失值,t表示病案组的数量,表示标签评分值下病案qi和病案间相似性大于病案qi和病案间相似性的概率,表示模型预测评分值下病案qi和病案间相似性大于病案qi和病案间相似性的概率;其中的函数表达式分别如式(10)和式(11)所示;
本发明还提供一种基于相似性度量的病案查找***,包括计算机设备,所述计算机设备被编程以执行本发明前述基于相似性度量的病案查找方法的步骤,或者所述计算机设备的存储介质中存储有被编程以执行本发明前述基于相似性度量的病案查找方法的计算机程序。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有被编程以执行本发明前述基于相似性度量的病案查找方法的计算机程序。
和现有技术相比,本发明具有下述优点:
1.本发明基于相似性度量的病案查找在实际应用中有着极大的需求和重要的意义。现有的医疗领域呈现资源分布不均匀的现象:大量的医疗资源和专家资源集中在少数的大医院中,大部分县级以下医院只拥有少数医疗资源且医生业务水平整体相对较低,但实际上这些县级以下医院是大部分病人的就诊对象,因此,这就出现了大部分病人无法得到高水平医疗服务的状态。本发明能够在一定程度上能够缓解该问题,病案库中包含海量病案数据,这些病案数据包含专家对病人的诊断及治疗情况,其实质就是一种医疗资源,当县级以下医院医生对于前来就诊病人的病情无法把握时,可以通过对病人进行初步检查,从而将病人基本信息、病人症状、病人病史、病人检查信息等输入***中形成一个初级病案,然后将该初级病案作为一个整体输入到病案查找***中,本发明能够基于病案之间的相似性从病案库中输出部分相似病案,这样,县级以下医院医生通过对相似病案的诊断及治疗方案的分析,借鉴专家医生对类似病人的诊断和治疗情况,进而辅助诊断治疗当前病人,通过本发明能够将专家资源通过电子数据的形式进行知识共享,辅助医疗,更好的服务于医疗领域。
2、本发明能够很好的适用于病案的相似性度量,其能够很好的解决病案相似标签的缺失、病案相似理论知识的不完善等现实问题,充分利用了病案自身信息和病案相关理论知识,能够提高病案相似性度量的精度,提升病案排序的准确性,同时基于机器学习的病案相似度量方法具有更好的精度提升潜力,具有高精度、高适用性、鲁棒性好、可持续优化潜力的优点。
3、机器学习的方法对训练数据的分布情况要求较高,本发明在病案的分布情况未知的情况下设计一种多指标概率分配的方法进行病案组的选择,该方法在一定程度上避免了单一指标下病案组数据的分布偏移情况。
4、本发明从病案数据的实际情况出发,综合传统理论模型和机器学习模型,传统理论模型完成弱标签的工作,机器学习模型进行病案相似性的学习,充分利用各模型的优势,提高病案相似性度量的准确性。
5、本发明方法相较于传统的理论模型,机器学习技术的应用为病案相似性度量精度的提升提供了便利,数据的优化、参数的调整、学习方法的改进都是传统病案相似度量方法不能提供的优化方法,本发明的方法为病案相似性度量的持续优化提供了基础,能够增大病案相似度量精度提升潜力。
附图说明
图1是本发明实施例方法的基本原理示意图。
图2为本发明实施例中生成病案组集合C的过程示意图。
图3是本发明实施例方法中的评分损失函数的结构示意图。
图4是本发明实施例方法中的排序损失函数的结构示意图。
图5是本发明实施例方法中的排序概率损失函数的结构示意图。
图6是本发明实施例方法中的网络模型的结构示意图。
具体实施方式
如图1所示,本实施例基于相似性度量的病案查找方法的实施步骤包括:
1)针对查询病案集合A构建病案组得到病案组集合C;
2)对于病案组集合C进行病案组的相似标签赋值得到带相似标签的病案组数据集合D;
3)构建机器学习模型,并通过带相似标签的病案组数据集合D完成对机器学习模型的训练,机器学习模型通过训练建立了病案组、病案组相似度之间的映射关系;
4)将目标病案、查询病案集合A中所有病案一起输入到机器学习模型,得到目标病案和查询病案集合A中所有病案之间的相似性度量值,选择相似性度量值最高的N个病案输出。
实际应用中,病案是指按规范记录病人疾病表现和诊疗情况的档案,主要包括:病人基本信息、病人病历信息、检查信息、医嘱信息、诊断信息、治疗方案、病情反馈等。病案的数据格式也是多种多样:格式化的键值对数据、文本数据、图像数据、音频数据等。本实施例中应用的病案数据是对原始病案数据进行整理后的格式化的键值对病案数据。
机器学习的方法对训练数据的分布情况要求较高,本发明在病案的分布情况未知的情况下针对查询病案集合A构建病案组得到病案组集合C时,具体是基于多指标概率分配的方式构建病案组得到病案组集合C,该方法在一定程度上避免了单一指标下病案组数据的分布偏移情况,从而能够达到减小数据分布误差的目的。
本实施例中,步骤1)的详细步骤包括:
1.1)针对查询病案集合A中的所有病案,将其进行两两全排列组合得到病案组集合B,病案组集合B中的元素为病案组、且每个病案组由两个病案组成;
1.2)针对病案组集合B随机选择部分病案组得到病案组选择集合C0;针对病案组集合B根据指定的多种相似值指标分别计算相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到病案组有序集合Bi;针对所有的病案组有序集合Bi,分别基于相似值指标概率分配选择生成病案组选择集合Ci;
1.3)将病案组选择集合C0、所有的病案组选择集合Ci进行集合合并得到病案组集合C。
本实施例中,基于相似值指标概率分配选择生成病案组选择集合Ci时,病案组有序集合Bi中每一个病案组的随机选择的概率如式(1)所示;
式(1)中,P(SMi)为病案组有序集合Bi中第i个病案组被选取的概率,SMi为病案组有序集合Bi中第i个病案组的相似值指标值,f(SMj)为病案组有序集合Bi中第i个病案组的相似值经规整化的结果,m为病案组有序集合Bi中病案组的个数,f(SMj)的函数表达式如式(2)所示;
式(2)中,SM1为病案组有序集合Bi中第1个病案组的相似值指标值,SMm为病案组有序集合Bi中第m个病案组的相似值指标值,m为病案组有序集合Bi中病案组的个数。
本实施例中,指定的多种相似值指标包括欧氏距离、余弦距离、杰卡德距离、调整余弦距离,此外也可以根据需要采用其中的至少两种或者进一步进行扩展增加其他相似值指标。
欧氏距离:参见图2,针对病案组集合B根据指定的多种相似值指标分别计算欧氏距离作为相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到第一病案组有序集合B1;针对所有的第一病案组有序集合B1。第一病案组有序集合B1中的元素,基于相似值进行病案组的选取,有序集合中各元素的相似值分别记为SM1、SM2…SMm,由大到小排列,具体的病案组选择的概率如式(1)、(2)所示,最终基于相似值指标概率分配选择生成第一病案组选择集合C1。
余弦距离:参见图2,针对病案组集合B根据指定的多种相似值指标分别计算余弦距离作为相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到第二病案组有序集合B2;针对所有的第二病案组有序集合B2。第二病案组有序集合B2中的元素,基于相似值进行病案组的选取,有序集合中各元素的相似值分别记为SM1、SM2…SMm,由大到小排列,具体的病案组选择的概率如式(1)、(2)所示,最终基于相似值指标概率分配选择生成第二病案组选择集合C2。
杰卡德距离:参见图2,针对病案组集合B根据指定的多种相似值指标分别计算杰卡德距离作为相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到第三病案组有序集合B3;针对所有的第三病案组有序集合B3。第三病案组有序集合B3中的元素,基于相似值进行病案组的选取,有序集合中各元素的相似值分别记为SM1、SM2…SMm,由大到小排列,具体的病案组选择的概率如式(1)、(2)所示,最终基于相似值指标概率分配选择生成第三病案组选择集合C2。
调整余弦距离:参见图2,针对病案组集合B根据指定的多种相似值指标分别计算调整余弦距离作为相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到第四病案组有序集合B2;针对所有的第四病案组有序集合B4。第四病案组有序集合B4中的元素,基于相似值进行病案组的选取,有序集合中各元素的相似值分别记为SM1、SM2…SMm,由大到小排列,具体的病案组选择的概率如式(1)、(2)所示,最终基于相似值指标概率分配选择生成第四病案组选择集合C3。
参见图2,最终将病案组选择集合C0、第一病案组选择集合C1、第二病案组选择集合C2、第三病案组选择集合C2、第四病案组选择集合C3进行集合合并得到病案组集合C。得到病案组集合C是一种基于多指标概率分配对病案进行病案组构建的方法,通过上述方法能够得到大量适宜的病案组,在一定程度上避免了单一指标下病案组数据的分布偏移情况,从而能够达到减小数据分布误差的目的。
本实施例中,步骤2)的详细步骤包括:
2.1)将病案组集合C表示为病案组集合矩阵b,病案组集合矩阵b的每一行表示一个病案,病案的前n列分别表示该病案的n个特征、最后一列特征s为该病案的诊断信息;
2.2)根据病案组集合矩阵b确定病案的每一个特征的权重值;
2.3)通过病案的特征之间的相似性以及特征对应的权重计算病案组集合C中每个病案组的相似值s,进而得到带相似标签的病案组集合D。
对病案进行精准的描述是病案相似排序的基础,在本实施例中病案被描述为由属性特征构成的向量:其中,bi表示病案i;表示病案的属性特征;si表示病案的特殊特征——诊断信息。因此,病案组集合矩阵b的函数表达式如式(3)所示;
参见式(3),病案组集合矩阵b的每一行表示一个病案,病案的前n列分别表示该病案的n个特征、最后一列特征s为该病案的诊断信息,以第1行的病案为例,其中表示该病案的n个特征、最后一列特征s1为该病案的诊断信息。
本实施例中,步骤2.2)的详细步骤包括:根据式(4)计算病案的每一个特征的原始权重值,针对所有特征的原始权重值进行归一化处理作为每一个特征最终的权重值,归一化处理的函数表达式如式(5)所示;
式(4)中,yi'表示病案的每i个特征的原始权重值,表示病案组集合矩阵b所有病案的第i列特征构成的特征向量, 表示病案组集合矩阵b所有病案的诊断信息s构成的诊断信息特征向量,σi表示病案组集合矩阵b所有病案的第i列特征的方差。多因子的赋权处理是一个应用广泛但困难的问题,病案相似性度量过程中,病案数据中不同的数据结构对应内容的赋权处理由于其建模的困难性使得很难从模型的角度赋权,而一般的主观赋权法过于依赖主观因素而极易产生主观误差,本实施例中根据式(4)计算病案的每一个特征的原始权重值为该基于数据稳定性提出的客观赋权法,该方法能够一定程度上降低该类误差,从而能够达到降低赋权误差的目的。
式(4)中,yi'表示病案的每i个特征的原始权重值,n表示病案组集合矩阵b所有病案的总数量,yj'表示病案的每j个特征的原始权重值。
本实施例中,步骤2.3)中计算病案组集合C中每个病案组的相似值s的函数表达式如式(6)所示;
式(6)中,sij表示由病案i与病案j构成的病案组的相似性,n为特征总数量,为病案i的第x个特征的值为病案j的第x个特征的值,yx为归一化之后的第x个特征的权重,为第x个特征的最大值,为第x个特征的最小值。
本实施例中对于病案组集合C={(b1,b2)、(b3,b4)…}中的病案组数据,基于BM25算法中通过特征之间的相似性以及特征对应的权重的方法来表征病案之间的相似性,具体计算方法如式(6)所示,通过计算得到集合C中每个病案组的相似值s,进而得到带相似标签的病案组集合D={(b1,b2,sm12)、(b3,b4,sm34)…},sm12表示由病案b1与病案b2构成的病案组的相似性,即病案b1与病案b2之间的相似性。
本实施例中,步骤3)中构建机器学习模型的详细步骤包括:
3.1)分别设计评分损失函数、排序损失函数、排序概率损失函数三种损失函数,其中:
如图3所示,评分损失函数的输入为两病案数据、输出为相似性评分值,评分损失函数通过预测评分值与标签评分值之间的绝对值表示;
如图4所示,排序损失函数的输入为三个病案数据,其中一个查询病案、两个排序病案,输出为相似性评分值,排序损失函数通过查询病案分别于两排序病案之间预测评分值的高低与标签评分值的高低之间的差异表示;
如图5所示,排序概率损失函数的输入为三个病案数据,其中一个查询病案、两个排序病案,输出为评分比较概率值,排序概率损失函数通过查询病案分别于两排序病案之间预测评分值的高低与标签评分值的高低之间的差异概率表示;
3.2)构建神经网络模型,如图6所示,该神经网络模型由输入层、隐藏层和输出层组成,输入层用于将病案所有维度完整输入进网络,隐藏层为完全连接层网络、用于病案的特征处理;输出层用于输出两个病案之间的相似性度量值;
3.3)分别将损失函数、排序损失函数、排序概率损失函数三种损失函数作为神经网络模型的损失函数并选取其中效果最好的损失函数;
3.4)根据选择损失函数的类型选择神经网络模型的激活函数,损失函数选择评分损失函数时激活函数采用线性激活函数,损失函数选择排序损失函数时激活函数采用tanh函数作为激活函数,损失函数选择排序概率损失函数时激活函数采用sigmoid函数作为激活函数。
本实施例中,步骤3.1)中设计评分损失函数、排序损失函数、排序概率损失函数三种损失函数时,评分损失函数用于将病案相似值评分作为损失函数,评分损失函数的函数表达式如式(7)所示;排序损失函数用于将病案相似值排序关系作为损失函数,排序损失函数的函数表达式如式(8)所示;排序概率损失函数用于将病案相似值排序概率作为损失函数,排序概率损失函数的函数表达式如式(9)所示;
式(8)中,L(θ)为排序损失函数的损失值,t为病案组的数量,为病案qi与病案的神经网络模型预测评分值,为病案qi与病案的神经网络模型预测评分值,为病案qi与病案的标签评分值,为病案qi与病案的标签评分值,sign为符号函数;
式(9)中,L(θ)表示排序概率损失函数的损失值,t表示病案组的数量,表示标签评分值下病案qi和病案间相似性大于病案qi和病案间相似性的概率,表示模型预测评分值下病案qi和病案间相似性大于病案qi和病案间相似性的概率;其中的函数表达式分别如式(10)和式(11)所示;
对于带相似标签的病案组集合D,将数据输入到神经网络模型型中,按照设计好的模型进行病案相似性的训练,最后得到一种能够度量两个病案相似性大小的神经网络模型,也就是回归器。该回归器是一种参数确定的网络结构,是一种判断两病案相似值的方法,其实现了输入两个病案,输出病案相似值的功能,例如输入病案b1和b2,输出病案b1和b2的病案相似值s(b1,b2)。在此基础上,对于目标病案以及查询病案集合A,则将查询病案集合A中所有病案分别和病案一起输入到回归器中,得到目标病案与查询病案集合A中所有病案的相似值,找出其中前N大的相似值,即得到了与目标病案相似度最高的N个病案,N的取值可以根据需要进行指定,可以为一个或者多个。需要说明的是,前文中的查询病案集合A、病案组集合B、病案组选择集合C0、第一病案组选择集合C1、第二病案组选择集合C2、第三病案组选择集合C2、第四病案组选择集合C3、病案组集合C、病案组集合D中涉及的字母仅仅为用于区分上述数据集合,其并不应立即为对上述数据集合本身构成任何具体的限定。
本实施例充分考虑了病案相似性度量过程中的各种实际情况,对该过程的实际困难进行了详细描述,并针对病案相似性度量的各阶段进行了综合论述,在每个阶段的分析中提出了技术难点并对应给出了解决方案,最后综合各阶段的分析,给出了一种基于弱监督机器学习的病案相似性度量方法,本实施例充分利用了基于病案数据的机器学习模型和基于理论知识的传统理论模型两类方法的优势、避免了两类方法的不足。弱监督机器学习是一种试图通过较弱的监督来构建预测的机器学习模型,该模型提供了一种综合基于理论知识的理论模型和基于数据的机器学习模型的方法,本实施例方法利用理论模型的没有数据依赖优点创建弱监督标签,利用机器学习模型的不受限领域知识的优点进行弱监督学习。该方法能够很好的适用于病案的相似性度量,其能够很好的解决病案相似标签的缺失、病案相似理论知识的不完善等现实问题。
为了进一步对本实施例基于相似性度量的病案查找方法进行验证,下文采用JK医疗数据中心的实际病案数据和公共数据集Robust04;评价指标采用MAP、P@20和nDCG@20,其中MAP所有检索病案的平均精度,P@20表示检索的前20个病案的平均精度,nDCG@20为检索的前20个病案的累计折扣精度,即其每个病案精度对应权重不同,靠前的病案权重较大;通过两类病案数据集进行实验;不同数据集下各算法的MAP、P@20和nDCG@20的分布如表1所示。
表1:病案相似性度量精度比较结果。
参见表1可知,和现有的基于理论的模型方法(BM25)、基于SVM的弱监督学习算法(RanksSVM)相比,采用采用排序概率损失函数作为损失函数的情况下,本实施例基于相似性度量的病案查找方法(本方法)在各个评价指标下均有较大的优势;其中,nDCG@20指标下本方法优势最大,MAP指标下本方法优势相对较小,表明本实施例基于相似性度量的病案查找方法具有较大相似性的病案组敏感。
和公开号为CN104572675B的中国专利文献相比,本实施例基于相似性度量的病案查找方法从数据的角度基于机器学***台的相似病历检索***,该技术方案的方法和前面描述的公开号为CN104572675B的中国专利文献一样,在相似性度量的准确性以及病历反应病情的完整性上具有一定的缺陷,本实施例基于相似性度量的病案查找方法提出的方法在一定程度上解决了该问题。
此外,本实施例还提供一种基于相似性度量的病案查找***,包括计算机设备,该计算机设备被编程以执行本实施例前述基于相似性度量的病案查找方法的步骤。本实施例还提供一种基于相似性度量的病案查找***,包括计算机设备,该计算机设备的存储介质中存储有被编程以执行本实施例前述基于相似性度量的病案查找方法的计算机程序。本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程以执行本实施例前述基于相似性度量的病案查找方法的计算机程序。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于相似性度量的病案查找方法,其特征在于实施步骤包括:
1)针对查询病案集合A构建病案组得到病案组集合C;
2)对于病案组集合C进行病案组的相似标签赋值得到带相似标签的病案组数据集合D;
3)构建机器学习模型,并通过带相似标签的病案组数据集合D完成对机器学习模型的训练,所述机器学习模型通过训练建立了病案组、病案组相似度之间的映射关系;
4)将目标病案、查询病案集合A中所有病案一起输入到机器学习模型,得到目标病案和查询病案集合A中所有病案之间的相似性度量值,选择相似性度量值最高的N个病案输出;
步骤1)的详细步骤包括:
1.1)针对查询病案集合A中的所有病案,将其进行两两全排列组合得到病案组集合B,病案组集合B中的元素为病案组、且每个病案组由两个病案组成;
1.2)针对病案组集合B随机选择部分病案组得到病案组选择集合C0;针对病案组集合B根据指定的多种相似值指标分别计算相似值指标值,且针对不同的相似值指标,分别基于相似值指标值进行降序排列得到病案组有序集合Bi;针对所有的病案组有序集合Bi,分别基于相似值指标概率分配选择生成病案组选择集合Ci,所述指定的多种相似值指标包括欧氏距离、余弦距离、杰卡德距离、调整余弦距离中的至少两种;
1.3)将病案组选择集合C0、所有的病案组选择集合Ci进行集合合并得到病案组集合C;
步骤2)的详细步骤包括:
2.1)将病案组集合C表示为病案组集合矩阵b,所述病案组集合矩阵b的每一行表示一个病案,病案的前n列分别表示该病案的n个特征、最后一列特征s为该病案的诊断信息;
2.2)根据所述病案组集合矩阵b确定病案的每一个特征的权重值;
2.3)通过病案的特征之间的相似性以及特征对应的权重计算病案组集合C中每个病案组的相似值s,进而得到带相似标签的病案组集合D。
2.根据权利要求1所述的基于相似性度量的病案查找方法,其特征在于,所述基于相似值指标概率分配选择生成病案组选择集合Ci时,病案组有序集合Bi中每一个病案组的随机选择的概率如式(1)所示;
式(1)中,P(SMi)为病案组有序集合Bi中第i个病案组被选取的概率,SMi为病案组有序集合Bi中第i个病案组的相似值指标值,f(SMj)为病案组有序集合Bi中第i个病案组的相似值经规整化的结果,m为病案组有序集合Bi中病案组的个数,f(SMj)的函数表达式如式(2)所示;
式(2)中,SM1为病案组有序集合Bi中第1个病案组的相似值指标值,SMm为病案组有序集合Bi中第m个病案组的相似值指标值,m为病案组有序集合Bi中病案组的个数。
5.根据权利要求1所述的基于相似性度量的病案查找方法,其特征在于,步骤3)中构建机器学习模型的详细步骤包括:
3.1)分别设计评分损失函数、排序损失函数、排序概率损失函数三种损失函数;其中,评分损失函数的输入为两病案数据、输出为相似性评分值,评分损失函数通过预测评分值与标签评分值之间的绝对值表示;排序损失函数的输入为三个病案数据,其中一个查询病案、两个排序病案,输出为相似性评分值,排序损失函数通过查询病案分别于两排序病案之间预测评分值的高低与标签评分值的高低之间的差异表示;排序概率损失函数的输入为三个病案数据,其中一个查询病案、两个排序病案,输出为评分比较概率值,排序概率损失函数通过查询病案分别于两排序病案之间预测评分值的高低与标签评分值的高低之间的差异概率表示;
3.2)构建神经网络模型,该神经网络模型由输入层、隐藏层和输出层组成,输入层用于将病案所有维度完整输入进网络,隐藏层为完全连接层网络、用于病案的特征处理;输出层用于输出两个病案之间的相似性度量值;
3.3)分别将损失函数、排序损失函数、排序概率损失函数三种损失函数作为神经网络模型的损失函数并选取其中效果最好的损失函数;
3.4)根据选择损失函数的类型选择神经网络模型的激活函数,损失函数选择评分损失函数时激活函数采用线性激活函数,损失函数选择排序损失函数时激活函数采用tanh函数作为激活函数,损失函数选择排序概率损失函数时激活函数采用sigmoid函数作为激活函数。
6.根据权利要求5所述的基于相似性度量的病案查找方法,其特征在于,步骤3.1)中设计评分损失函数、排序损失函数、排序概率损失函数三种损失函数时,评分损失函数的函数表达式如式(7)所示,排序损失函数的函数表达式如式(8)所示,排序概率损失函数的函数表达式如式(9)所示;
式(8)中,L(θ)为排序损失函数的损失值,t为病案组的数量,为病案qi与病案的神经网络模型预测评分值,为病案qi与病案的神经网络模型预测评分值,为病案qi与病案的标签评分值,为病案qi与病案的标签评分值,sign为符号函数;
式(9)中,L(θ)表示排序概率损失函数的损失值,t表示病案组的数量,表示标签评分值下病案qi和病案间相似性大于病案qi和病案间相似性的概率,表示模型预测评分值下病案qi和病案间相似性大于病案qi和病案间相似性的概率;其中的函数表达式分别如式(10)和式(11)所示;
7.一种基于相似性度量的病案查找***,包括计算机设备,其特征在于:所述计算机设备被编程以执行权利要求1~6中任意一项所述基于相似性度量的病案查找方法的步骤,或者所述计算机设备的存储介质中存储有被编程以执行权利要求1~6中任意一项所述基于相似性度量的病案查找方法的计算机程序。
8.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有被编程以执行权利要求1~6中任意一项所述基于相似性度量的病案查找方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137294.5A CN109935337B (zh) | 2019-02-25 | 2019-02-25 | 一种基于相似性度量的病案查找方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137294.5A CN109935337B (zh) | 2019-02-25 | 2019-02-25 | 一种基于相似性度量的病案查找方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109935337A CN109935337A (zh) | 2019-06-25 |
CN109935337B true CN109935337B (zh) | 2021-01-15 |
Family
ID=66985863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910137294.5A Active CN109935337B (zh) | 2019-02-25 | 2019-02-25 | 一种基于相似性度量的病案查找方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109935337B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647912A (zh) * | 2019-08-15 | 2020-01-03 | 深圳久凌软件技术有限公司 | 细粒度图像识别方法、装置、计算机设备及存储介质 |
CN111091907A (zh) * | 2019-11-15 | 2020-05-01 | 合肥工业大学 | 基于相似病例库的健康医疗知识检索方法和*** |
CN112069783A (zh) * | 2020-09-10 | 2020-12-11 | 卫宁健康科技集团股份有限公司 | 一种病历输入法及其输入*** |
CN112652393B (zh) * | 2020-12-31 | 2021-09-07 | 山东大学齐鲁医院 | 基于深度学习的ercp质控方法、***、存储介质及设备 |
CN112836012B (zh) * | 2021-01-25 | 2023-05-12 | 中山大学 | 一种基于排序学习的相似患者检索方法 |
US20240029850A1 (en) * | 2022-07-22 | 2024-01-25 | Opeeka, Inc. | Method and system utilizing machine learning to develop and improve care models for patients in an electronic patient system |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089003A1 (en) * | 2012-09-27 | 2014-03-27 | University Of Utah Research Foundation | Patient health record similarity measure |
CN104572675A (zh) * | 2013-10-16 | 2015-04-29 | 中国人民解放军***南京总医院 | 一种相似病历检索的***及方法 |
CN106951719A (zh) * | 2017-04-10 | 2017-07-14 | 荣科科技股份有限公司 | 临床诊断模型的构建方法及构建***、临床诊断*** |
CN107180155A (zh) * | 2017-04-17 | 2017-09-19 | 中国科学院计算技术研究所 | 一种基于异构集成模型的疾病预测方法及*** |
CN107193919A (zh) * | 2017-05-15 | 2017-09-22 | 清华大学深圳研究生院 | 一种电子病历的检索方法及*** |
CN107656952A (zh) * | 2016-12-30 | 2018-02-02 | 青岛中科慧康科技有限公司 | 平行智能病例推荐模型的建模方法 |
CN108831559A (zh) * | 2018-06-20 | 2018-11-16 | 清华大学 | 一种中文电子病历文本分析方法与*** |
CN109119134A (zh) * | 2018-08-09 | 2019-01-01 | 脉景(杭州)健康管理有限公司 | 医学病历数据处理方法、医学数据推荐***、设备及介质 |
-
2019
- 2019-02-25 CN CN201910137294.5A patent/CN109935337B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089003A1 (en) * | 2012-09-27 | 2014-03-27 | University Of Utah Research Foundation | Patient health record similarity measure |
CN104572675A (zh) * | 2013-10-16 | 2015-04-29 | 中国人民解放军***南京总医院 | 一种相似病历检索的***及方法 |
CN107656952A (zh) * | 2016-12-30 | 2018-02-02 | 青岛中科慧康科技有限公司 | 平行智能病例推荐模型的建模方法 |
CN106951719A (zh) * | 2017-04-10 | 2017-07-14 | 荣科科技股份有限公司 | 临床诊断模型的构建方法及构建***、临床诊断*** |
CN107180155A (zh) * | 2017-04-17 | 2017-09-19 | 中国科学院计算技术研究所 | 一种基于异构集成模型的疾病预测方法及*** |
CN107193919A (zh) * | 2017-05-15 | 2017-09-22 | 清华大学深圳研究生院 | 一种电子病历的检索方法及*** |
CN108831559A (zh) * | 2018-06-20 | 2018-11-16 | 清华大学 | 一种中文电子病历文本分析方法与*** |
CN109119134A (zh) * | 2018-08-09 | 2019-01-01 | 脉景(杭州)健康管理有限公司 | 医学病历数据处理方法、医学数据推荐***、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109935337A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109935337B (zh) | 一种基于相似性度量的病案查找方法及*** | |
Akella et al. | Machine learning algorithms for predicting coronary artery disease: efforts toward an open source solution | |
Marlin et al. | Unsupervised pattern discovery in electronic health care data using probabilistic clustering models | |
Haraty et al. | An enhanced k-means clustering algorithm for pattern discovery in healthcare data | |
Begum et al. | A case‐based decision support system for individual stress diagnosis using fuzzy similarity matching | |
US20090287503A1 (en) | Analysis of individual and group healthcare data in order to provide real time healthcare recommendations | |
CN108062978B (zh) | 一种急性冠状动脉综合征患者的主要不良心血管事件预测方法 | |
Afshar et al. | Taste: temporal and static tensor factorization for phenotyping electronic health records | |
JP2003122845A (ja) | 医療情報の検索システム及びそのシステムを実行するためのプログラム | |
CN116364299B (zh) | 一种基于异构信息网络的疾病诊疗路径聚类方法及*** | |
WO2021114635A1 (zh) | 患者分群模型构建方法、患者分群方法及相关设备 | |
WO2024001104A1 (zh) | 一种图文数据互检方法、装置、设备及可读存储介质 | |
CN115238168A (zh) | 一种自适化远程医疗专家推荐方法 | |
CN111091907A (zh) | 基于相似病例库的健康医疗知识检索方法和*** | |
Hu et al. | Variable selection with missing data in both covariates and outcomes: Imputation and machine learning | |
Thiagarajan et al. | Understanding behavior of clinical models under domain shifts | |
CN113284627A (zh) | 基于患者表征学习的用药推荐方法 | |
Lin et al. | Medical Concept Embedding with Variable Temporal Scopes for Patient Similarity. | |
Huang et al. | Study on patient similarity measurement based on electronic medical records | |
CN117195027A (zh) | 基于成员选择的簇加权聚类集成方法 | |
US20130253892A1 (en) | Creating synthetic events using genetic surprisal data representing a genetic sequence of an organism with an addition of context | |
CN110957046A (zh) | 医疗健康案例知识匹配方法和*** | |
CN110033862B (zh) | 一种基于加权有向图的中医量化诊断***及存储介质 | |
Kaur et al. | A review on Naive Baye’s (NB), J48 and K-means based mining algorithms for medical data mining | |
CN111966780A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |