首页> 中国专利> 基于患者表征学习的用药推荐方法

基于患者表征学习的用药推荐方法

摘要

本发明提供了一种基于患者表征学习的用药推荐方法,包括:从电子病历中提取数据,将数据中的非结构化的主诉文本信息表示为结构化的数据;采用堆栈稀疏自编码器对结构化的数据进行表征学习,得到患者症状数据的低维表示的症状向量和用药信息数据的低维表示的用药向量;使用聚类算法对患者症状数据的低维表示和用药信息数据的低维表示进行分析,得到各群体聚类内患者的症状特性和用药特性;对各群体聚类内患者的症状特性和用药特性进行典型相关分析,得到各群体聚类内患者的症状特性和用药特性的关联关系;根据关联关系,采用加权距离平均的K近邻算法来预测推荐用药。本方法可以根据电子病历准确为患者推荐用药,提高医生的工作效率。

著录项

  • 公开/公告号CN113284627A

    专利类型发明专利

  • 公开/公告日2021-08-20

    原文格式PDF

  • 申请/专利号CN202110406631.3

  • 发明设计人 朱振峰;徐慕豪;刘俊秀;葛欣宜;

    申请日2021-04-15

  • 分类号G16H50/70(20180101);G16H70/40(20180101);G06F16/33(20190101);G06F16/35(20190101);G06F40/289(20200101);G06K9/62(20060101);

  • 代理机构11255 北京市商泰律师事务所;

  • 代理人姜威

  • 地址 100044 北京市海淀区西直门外上园村3号

  • 入库时间 2023-06-19 12:16:29

说明书

技术领域

本发明涉及医疗信息化技术领域,尤其涉及一种基于患者表征学习的用药推荐方法。

背景技术

近年来,随着计算机和信息技术的不断发展,我国的医疗信息化产业逐渐建设完善,其中患者的就诊记录也从原先的纸质材料转变为数字化的电子病历。相比于世界其他国家,我国在电子病历建设方面起步较晚。但随着医疗卫生系统愈发受到人们关注重视,近年来我国政府也出台了多项政策来支持医疗信息化的建设与发展。

电子病历是医疗信息化中重要的数据资料,其贯穿于患者就诊看病的全部医疗活动中,涵盖了大量的医疗信息和健康信息,有着巨大的研究意义。首先对于患者来说,挖掘电子病历中的信息有助于患者自身的健康发展。将患者以往的诊断信息和健康状况都被记录在电子病历中,如果能从提取、分析这些记录中的数据信息,可以为患者的身体状况、健康信息提供一定的参考与预测。同时,通过分析挖掘患者的电子病历数据,可以在大数据中寻找到其他类似的患者,以类似症状患者的状况信息为该患者提供参考;其次对于医生来说,挖掘电子病历中的信息可以提高医疗效率。计算机通过自然语言处理、机器学习等方法对大量电子病历进行处理,尤其是通过病历中的文本信息,可以辅助医务人员完成对患者的诊断与治疗,提高医生的决策能力和患者的就诊效率。

电子病历中不只记录结构化的数据,还有大量非结构化的影像、信号以及文本信息,而这些非结构化数据恰恰蕴含着电子病历中最为珍贵的信息。目前的用药推荐系统一般只限于对患者电子病历数据中数值型和结构化数据的使用。然而仅靠结构化数据来进行药品推荐,用药的精准度低,难以满足患者的个性化用药需求。此外,传统的人工提取数据特征不仅耗费大量人力,并且对专业知识的要求也较高。

因此,亟需一种可以针对非结构化信息使用不足的问题,对患者进行用药推荐的方法。

发明内容

本发明提供了一种基于患者表征学习的用药推荐方法,以解决现有技术问题中存在的缺陷。

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

一种基于患者表征学习的用药推荐方法,包括:

从电子病历中提取数据,所述数据包括非结构化的主诉文本信息和结构化的数据;

将所述数据中的非结构化的主诉文本信息表示为结构化的数据;

采用堆栈稀疏自编码器对结构化的数据进行表征学习,得到患者症状数据的低维表示的症状向量和用药信息数据的低维表示的用药向量;

使用聚类算法对患者症状数据的低维表示和用药信息数据的低维表示进行分析,得到各群体聚类内患者的症状特性和用药特性;

对各群体聚类内患者的症状特性和用药特性进行典型相关分析,得到各群体聚类内患者的症状特性和用药特性的关联关系;

根据所述的关联关系,采用加权距离平均的K近邻算法来预测推荐用药。

优选地,将所述数据中的非结构化的主诉文本信息表示为结构化的数据,包括:

对所述的非结构化的主诉文本信息进行分词:基于分词工具对所述的非结构化的主诉文本信息进行处理,计算词语间的互信息值,根据互信息值识别出主诉文本中的固定搭配词语,构建为自定义词典,从而完成主诉的分词工作;

对分词处理后的结果进行信息抽取:对分词处理后的词语与医院的症状库标准文本进行逐个比对,如果匹配,则直接完成抽取工作,如果不匹配,则基于搜索引擎的词语相似性计算方法搜索分词后的词语对应的症状词文本,得到结构化的数据。

优选地,基于搜索引擎的词语相似性计算方法搜索分词后的词语对应的症状词文本为基于百度搜索的词语相似性计算方法搜索分词后的词语对应的症状词文本,具体操作步骤如下:

对于处理后的词语p和症状库标准文本进q,

按照下式(1)计算词语相的似性:

依次计算该词语p与Q中所有标准文本的相似度,如果对应最大的相似度超过第一设定阈值,则将p在对应的标准文本里,得到结构化的数据。

优选地,堆栈稀疏自编码器由两层简单自编码器连接而成,两层简单自编码器的隐藏层维度分别为8维和4维。

优选地,采用堆栈稀疏自编码器对结构化的数据进行表征学习,包括:

堆栈稀疏自编码器的损失函数为均方误差,并加入L2正则化项引入稀疏性限制,公式如下式(2)所示:

隐藏层激活函数采用下式(3)所示的Relu函数:

f(x)=max(0,x) (3)

重构层激活函数采用下式(4)所示的Softplus函数:

f(x)=log(1+e

其中,J是模型的损失函数,x

优选地,使用聚类算法对患者症状数据的低维表示和用药信息数据的低维表示进行分析,得到各群体聚类内患者的症状特性和用药特性,包括:

以误差平方和SSE为核心指标,以所有患者的症状向量作为训练集,使用启发式的肘部法则来获得最优聚类簇数;

对患者症状数据低维表示的症状向量和用药信息数据低维表示的用药向量组合形成联合向量,将所有患者的联合向量作为一个聚类簇,然后用K-Means聚类算法将其分为两个聚类簇,计算两个簇的SSE值,对两个簇对应的SSE值中大的聚类簇继续使用K-Means算法划分为两个聚类簇,直至达到最优聚类簇数;

对得到的各聚类群体内患者的原始数据信息进行统计,获得各群体聚类内患者的症状特性和对应的用药特性。

优选地,以误差平方和为核心指标,以所有患者的症状向量作为训练集,使用启发式的肘部法则来获得最优聚类簇数,具体包括:

根据下式(5)的误差平方和为核心指标,对所有患者症状向量进行聚类并设置不同的聚类簇数,计算每个患者的症状向量作为样本点得到的SSE值,分别绘制SSE值与聚类簇数的关系图,观察曲线的肘部也就是曲率最高处对应的聚类簇数,作为最优聚类簇数;

其中,u是选择的样本点,C是聚类划分的各个簇集合,C

优选地,对各群体聚类内患者的症状特性和用药特性进行典型相关分析,得到各群体聚类内患者的症状特性和用药特性的关联关系,包括:

对同一群体聚类内症状特性的样本集X∈R

选取两个样本集中所有线性不相关的多组投影向量,分别对每组向量a∈R

其中,S

优选地,根据所述的关联关系,采用加权距离平均的K近邻算法来预测推荐用药,包括:

根据下式(7)的距离计算公式使用K近邻算法寻找在样本所属聚类簇中邻近的其他k组投影向量的距离:

获取与待确认患者样本x

其中,

优选地,根据用药平均值

由上述本发明的基于患者表征学习的用药推荐方法提供的技术方案可以看出,本发明通过对电子病历数据进行特征提取、结构化以及降维操作,使用聚类算法对患者症状和用药信息的表示进行分析,使用典型相关分析建立主诉症状和用药情况之间的关联关系,采用加权距离平均的K近邻算法来预测从而为患者推荐用药,为医生诊断时提供参考意见,本方法简单实用,推荐用药准确,解决了现有技术中的针对非结构化信息使用不足的问题,可以改善医生少患者多之间的矛盾,提高就诊效率。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于患者表征学习的用药推荐方法流程示意图;

图2为本实施例的基于患者表征学习的用药推荐方法原理示意图;

图3为本实施例的基于患者表征学习的用药推荐方法原理示意图;

图4为本实施例的堆栈稀疏自编码器结构示意图;

图5为信息抽取的样例示意图;

图6为患者聚类的症状特性和用药特性结果图;

图7为本方法在过敏性鼻炎测试集上的正确率、精确率和f1值随阈值变化的结果图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且并不构成对本发明实施例的限定。

实施例

图1为本发明实施例的基于患者表征学习的用药推荐方法流程示意图,图2和图3为本实施例的基于患者表征学习的用药推荐方法原理示意图,参照图1、图2和图3,该方法包括如下步骤:

S1从电子病历中提取数据。

提取的数据包括非结构化的主诉文本信息和结构化的数据。

S2将数据中的非结构化的主诉文本信息表示为结构化的数据。

由于电子病历中含有大量非结构化的文本信息,为了挖掘其中价值,需要将其转换为能被计算机利用的结构化数据。

目前在中文自然语言处理的领域中已经有较为成熟的分词工具,例如Jieba中文分词(“结巴”中文分词)、THULAC(THU Lexical Analyzer for Chinese,清华大学中文词法分析器)和ICTCLAS(Institute of Computing Technology,Chinese Lexical AnalysisSystem,中科院计算所汉语词法分析系统)。但是这些通用的分词工具并不能很准确地对医学主诉文本进行分词,因为部分医学用词较为专业。本实施例对非结构化的主诉文本信息进行分词的内容具体包括:基于分词工具对非结构化的主诉文本信息进行处理,计算词语间的互信息值,根据互信息值识别出主诉文本中的固定搭配词语,构建为自定义词典,从而完成主诉的分词工作。具体地,原始数据集在去除掉主诉信息缺失的数据后,本实施例首先使用基础的Jieba分词工具对其中的主诉信息进行处理,选择精准模式,将文本最精确地分开来;然后再计算每个相邻词语的互信息值,从大到小进行排序,设定阈值选择出合适的固定搭配新词,将新词添加进自定义词典,对主诉文本再次进行分词。其操作过程如下:

对原始电子病历数据集进行数据清洗,使用Jieba分词工具对主诉文本信息进行分词处理,每段主诉文本构成多个词语组成一个列表;

使用2-gram模型(二元模型)对得到的分词结果构建节点,并使用Trie树(字典树)来存储分词结果并统计词频;

对于两个词X和Y,P(X)、P(Y)分别为两个词出现的概率,P(X,Y)为两个词相邻出现的概率,按照如下公式(1)计算互信息值:

将得到的互信息值从大到小进行排序,设定阈值选择出合适的固定搭配新词。使用新词构建自定义词典,对主诉文本再次进行分词。

对分词处理后的结果进行信息抽取:对分词处理后的词语与医院的症状库标准文本进行逐个比对,如果匹配,则直接完成抽取工作,如果不匹配,则基于搜索引擎的词语相似性计算方法搜索分词后的词语对应的症状词文本,得到结构化的数据。

本实施例采用的基于搜索引擎的词语相似性计算方法搜索分词后的词语对应的症状词文本为基于百度搜索的词语相似性计算方法搜索分词后的词语对应的症状词文本,具体操作步骤如下:

对于处理后的词语p和症状库标准文本进q,

按照下式(2)计算词语相的似性:

依次计算该词语p与Q中所有标准文本的相似度,如果对应最大的相似度超过第一设定阈值,则将p在对应的标准文本里,得到结构化的数据。

S3采用堆栈稀疏自编码器对结构化的数据进行表征学习,得到患者症状数据的低维表示的症状向量和用药信息数据的低维表示的用药向量。

堆栈稀疏自编码器的损失函数为均方误差,并加入L2正则化项引入稀疏性限制,公式如下式(3)所示:

隐藏层激活函数采用下式(4)所示的Relu函数:

f(x)=max(0,x) (4)

重构层激活函数采用下式(5)所示的Softplus函数:

f(x)=log(1+e

其中,J是模型的损失函数,x

自编码器通过隐藏层的学习,重构原始输入数据并且学习到其压缩后的低维表示,可以最大限度上减少输入数据与输出数据的误差。堆栈稀疏自编码器是对自编码器进行改进的一种模型,其由多个自编码器模型堆叠起来,逐层进行信息学习,可以学习到更加复杂的编码和原始输入数据的深层次特征。并且其增加了正则项,用于抑制神经元,防止网络过度记忆和过拟合的现象。图4为本实施例的堆栈稀疏自编码器结构示意图,参照图4,堆栈稀疏自编码器由两层简单自编码器连接而成,两层简单自编码器的隐藏层维度分别为8维和4维。

S4使用聚类算法对患者症状数据的低维表示和用药信息数据的低维表示进行分析,得到各群体聚类内患者的症状特性和用药特性。

经过自编码器处理后,对低维的症状数据和低维的用药数据进行聚类分析,使用聚类结果来刻画患者群体画像。针对聚类后的结果,对各群体聚类内患者的原始数据信息进行分析,分析的主要特征是聚类后各群体聚类内患者的症状特性和用药特性,这种群体患者画像也为后面进行用药推荐提供了参考和基础。

以误差平方和(SSE,Sum of Squared Error)为核心指标,以所有患者的症状向量作为训练集,使用启发式的肘部法则来获得最优聚类簇数,具体包括:

根据下式(6)的误差平方和为核心指标,对所有患者症状向量进行聚类并设置不同的聚类簇数,计算每个患者的症状向量作为样本点得到的SSE值,分别绘制SSE值与聚类簇数的关系图,观察曲线的肘部也就是曲率最高处对应的聚类簇数,作为最优聚类簇数;

其中,u是选择的样本点,C是聚类划分的各个簇集合,C

对患者症状数据低维表示的症状向量和用药信息数据低维表示的用药向量组合形成联合向量,将所有患者的联合向量作为一个聚类簇,然后用K-Means聚类算法将其分为两个聚类簇,计算两个簇的SSE值,对两个簇对应的SSE值中大的聚类簇继续使用K-Means算法划分为两个聚类簇,直至达到最优聚类簇数;

对得到的各聚类群体内患者的原始数据信息进行统计,获得各群体聚类内患者的症状特性和对应的用药特性。

S5对各群体聚类内患者的症状特性和用药特性进行典型相关分析,得到各群体聚类内患者的症状特性和用药特性的关联关系。

具体包括:

对同一群体聚类内症状特性的样本集X∈R

选取两个样本集中所有线性不相关的多组投影向量,分别对每组向量a∈R

maxa

s.t.a

得到根据下式(8)所示的拉格朗日函数求解相关系数ρ最大的约束优化问题,得到多组线性组合以及对应的相关系数作为各群体聚类内患者的症状特性和用药特性的关联关系,这时X′∈R

其中,S

S6根据关联关系,采用加权距离平均的K近邻算法来预测推荐用药。

根据下式(9)的距离计算公式使用K近邻算法寻找在样本所属聚类簇中邻近的其他k组投影向量的距离:

获取与待确认患者样本x邻近的k个k组投影向量X′={x

其中,

具体判断步骤为:判读所述用药平均值

以下为采用北京某医院耳鼻喉门诊科室中诊断为过敏性鼻炎的真实数据的具体算例如下:

本实施例使用的电子病历来源于北京某医院耳鼻喉门诊科室中诊断为过敏性鼻炎的真实数据,由基本信息、主诉信息和门诊信息三大部分组成。其中基本信息包括患者的编号、就诊次数以及患者性别。主诉信息是医生依据患者自己叙述的症状、体征、性质,还有持续时间和轻重情况做出的精炼概括;门诊信息包括就诊时间、医生做出的诊断和用药医嘱的信息;因为过敏性鼻炎是一种较为常见的呼吸道疾病,通常情况下通过患者的症状和病史便可做出诊断,少数情况下可能会做过敏原检测。因此,在该电子病历数据集中,最为关注的便是主诉文本信息,其蕴含了医生为患者做出诊断和医嘱用药的关键信息。

考虑该数据集均是诊断为过敏性鼻炎的患者信息,其主诉信息中医学词语的使用较为固定。本方法在通用分词工具处理后,计算词语间的互信息值,根据互信息值识别出主诉文本中的固定搭配词语,构建为自定义词典,从而完成主诉的分词工作。

主诉文本在完成分词后,下一步以医院方给出的16类症状作为标准文本,进行对其中信息的提取。主诉信息是医生对患者症状信息的精炼描述,具有较强的医学专业性,但由于不同医生的习惯不同,即使针对同一事物,其在主诉的描述上也存在一定的差异,可能是字词存在些微不同,也可能是完全不同的表达。例如,“鼻出血”和“鼻腔出血”是同一个意思,“清涕”、“白涕”、“清水样涕”代表的含义也相同。为了更准确全面地提取主诉中的信息,考虑通过相似性计算找出其中含义相似的词语,并将其归类。本方法研究的是中文词语,因此使用百度搜索的词语相似性计算方法,其将网络作为一个实时更新的语料库,侧重于词语对的相关性。该方法主要使用通过搜索引擎获取的查询结果数量。

以医院方给出的16类症状作为标准文本,分别是:鼻塞、流涕、流脓涕、流清水样涕、鼻痒、鼻干、喷嚏、鼻术后、头痛、鼻出血、嗅觉减退、感冒、耳痒、鼻后滴漏、涕中带血、眼痒。进行信息抽取时,我们对主诉文本分词后的结果进行逐个比对,如果该词语与16类症状标准匹配,则直接完成抽取工作;如果该词语与症状标准均不匹配,依次计算该词语与16类症状标准的相似度,若最大的相似度超过设定阈值,便将其归在对应的标准里。信息抽取的样例如图5所示。患者的症状信息和用药信息全部转换为用数值0或1表示的结构化信息,其中共计3731条患者信息,每个患者包含16维症状信息和23维用药信息。

将全部的主诉症状和用药的结构化信息划按照8:2的比例划分为训练集和测试集,采用堆栈稀疏自编码器对训练集数据进行表征学习,得到患者症状数据的低维表示的症状向量和用药信息数据的低维表示的用药向量,这里设定每个患者的症状向量为4维,用药向量为5维。对低维的症状数据和低维的用药数据进行聚类分析,使用聚类结果来刻画患者群体画像,共计获得3类患者群体,3个聚类簇的症状特性和用药特性如图6所示。最后对经过自编码器处理的患者症状数据和用药数据进行典型相关分析,得到患者的症状特性和用药特性的之间关联关系,取前3对典型相关变量组成3维的典型相关向量。

使用测试集进行用药推荐。测试集中一名患者的主诉症状描述为“间断双侧鼻塞、流清水样涕、鼻痒、连续喷嚏、嗅觉减退数个月”,经过信息抽取将症状中的“鼻塞”、“流清水样涕”、“鼻痒”、“喷嚏”和“嗅觉减退”的值置为1,其余症状值为0。该患者的用药数据为“雷诺考特”、“复方苍耳子片”、“顺尔宁”和“爱塞平”。将症状数据经过自编码器处理获得低维表示的症状向量,这里计算结果为(1.850080848,2.189118862,3.87420392,2.021232367)。再经过训练集上得出的投影向量计算出典型相关向量,为(-3.701395327,-0.676103465,-3.337884659),使用K近邻算法在训练集的结果中找到与该典型相关向量相邻的k组症状向量,进而获得k组原始样本信息,这里设定k为24。根据近邻度反距离加权计算24组用药数据的平均值,作为该测试样本的用药数据,计算结果为(0.6,0.067,1,0,0.2,0.2,0.533,0,0,0.133,0.2,0.4,0,0,0,0,0.067,0,0,0,0,0,0.067)。若药物的分值大于等于设定阈值,则推荐使用该药物,将用药结果设置为1,如果不是,则不推荐使用该药物,将用药结果设置为0。这里取阈值为0.4,有四种药物满足结果,即推荐结果为“雷诺考特”、“复方苍耳子片”、“顺尔宁”和“爱塞平”,与真实情况一致。

对测试集上所有数据进行测试,将推荐结果与真实结果进行对比,获得测试集上的正确率acc、精确率p和f1值随阈值变化的结果如图7所示,当阈值为0.5时,测试集的正确率为90.15%,精确率为84.86%,f1值为0.4823,说明该方法能够准确地为过敏性鼻炎患者推荐大部分药物。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号