一种面向医疗文本的患者隐私信息脱敏方法与流程

文档序号:18466415发布日期:2019-08-17 02:30阅读:1637来源:国知局
一种面向医疗文本的患者隐私信息脱敏方法与流程

本发明涉及到生物医学和信息技术领域,更为具体地,涉及一种面向医疗文本的患者隐私信息脱敏方法。



背景技术:

医疗数据主要分为两种类型:结构化数据与非结构化数据。其中结构化数据以二维表的形式表示,每行表示一条记录,每列表示一个属性。结构化数据脱敏主要采用k匿名方法,首先直接删除标识符列,然后采用抑制或泛化的方法保证每一条记录至少和其他k-1条记录在准标识符上一致,大大减小了链接攻击。结构化数据的隐私保护研究已比较成熟,取得了良好的效果。对于非结构化数据,通常表现为医疗文书,由于医生书写习惯、患者病情以及文书类型的不同,隐私信息往往分布在自由文本的字里行间。传统的隐私保护方法是利用一名或两名有经验的临床医师通过阅读电子病历进行手工去标识,但是人工方式耗费大量的人力成本,且错检漏检情况普遍存在,已不适用于数据爆炸的时代。

目前国内外医疗文本的脱敏方法主要分为:基于规则和词典的方法、基于机器学习的方法以及两者的结合。麻省理工学院发布的重症医学数据集mimic针对医疗文本的数据保护技术主要是基于规则和词典的方式,利用正则表达式定位患者id、日期等数据,同时患者姓名识别模块通过构建常用人名字典并基于模糊匹配实现人名的去除。基于规则和字典的方法具有速度快的优点,是缺少大量熟语料标注情况下的最有效方式,但是精确率和召回率非常依赖词典的好坏。基于机器学习的系统通常将匿名化任务转换成词项分类和序列标注的问题,因此很多监督学习算法,如支持向量机、决策树、条件随机场等被广泛使用。在大量训练语料存在的情况下,机器学习的算法通常优于基于规则的算法,但是获得大规模医疗领域的熟语料是非常困难的,而且有些隐私数据在医疗文本出现的频率不高,这些数据稀疏性也使机器学习的结果变差。

鉴于此需要一种高效的医疗文本数据脱敏方法,在保证患者隐私安全的情况下尽可能不损失医疗文本包含的信息,解决在数据发布时患者隐私泄露问题的掣肘,为我国医联体、区域医疗卫生信息平台的建设提供安全保障。



技术实现要素:

本发明的目的是一种面向医疗文本的患者隐私信息脱敏方法,用于对数据发布和共享时患者隐私数据的保护,为我国区域医疗信息平台的建设提供安全保障。为了实现上述目的,本发明提供以下技术方案:

一种面向医疗文本的患者隐私信息脱敏方法,包括以下步骤:

s1:提取患者的医疗文本,根据其中出现的所有患者隐私数据将患者隐私分为三类:数字型、日期型和命名实体型;

s2:针对数字型隐私数据设计了一套正则表达式,去除包含患者年龄、身份证号、联系方式、邮政编码、病人住院号等数字型信息;

s3:针对日期型隐私数据设计了随机迁移算法,识别不同类型的日期数据并将日期迁移到未来几个世纪的某个时间;

s4:针对命名实体类型隐私数据采用了隐马尔科夫模型,去除患者姓名、医生姓名、医院名称等隐私信息;

进一步的,步骤s2还采用了上下文语义分析筛选混淆数字,将与正则表达式匹配成功的数字型信息的上下文与建立的常用医疗术语词典进行模糊查询,若查询成功,则认为匹配的数字型信息为有效的医疗信息,予以保留,否则去除该句中匹配的数字型信息。

进一步的,步骤s3中每一个病人对应一个随机数,将该病人所有有关的日期加上该随机数,匿名化具体日期的同时保证医疗记录事件的相对顺序不变,最大程度保留医疗信息。

进一步的,步骤s3产生的随机数满足以下三个特性:

对365取余的结果小于10,保证日期迁移后季度不变;

7的倍数,保证迁移后医疗数据仍保留周期关系;

大于18250,即迁移到500年之后,保证迁移日期和现实日期不会混淆。

进一步的,步骤s4包含以下内容:

中文分词:将采集到的医疗文本按最大匹配法进行初步分词,利用统计方法建造专用的医疗词典,对初步分词结果消除歧义;

角色标注:根据词汇出现的位置、语义等设计一组代表不同词汇的隐藏状态,称之为角色;

期望最大化算法:根据角色标注的结果初步计算隐马尔科夫模型的初始概率矩阵、转移矩阵和发射矩阵,然后利用期望最大化算法进行无监督学习,训练隐马尔科夫模型,使三个矩阵收敛;

维特比算法:给出一个新文本,首先进行中文分词,然后根据分词结果和训练好的隐马尔科夫模型计算对应该分词结果概率最大的隐藏状态序列,最后对隐藏状态序列进行模式识别,去除特定命名实体隐藏状态序列对应的词汇。

有益效果:本发明提供了一种面向医疗文本的患者隐私信息脱敏方法,本发明提供的数据脱敏方法能够对医疗文本中出现的数字型、日期型以及命名实体类型的患者隐私数据进行匿名化,在数据发布时能自动地处理文本类型数据,避免了由专业人员手动去标识的繁重任务。该方法有效去除了医疗文本中包含的患者个人敏感信息,保证了在医疗数据发布过程中患者的隐私安全,对医疗数据共享、区域医疗卫生信息大数据平台的建设有重要意义。

附图说明

图1为本发明所述面向医疗文本的数据脱敏方法的处理流程示意图。

图2为本发明所述面向医疗文本的数据脱敏方法的隐马尔科夫模型示意图。

具体实施方式

下面结合具体实施例来进一步描述本发明,但实施例仅是范例性的,并不对本发明的范围构成任何限制。本领域技术人员应该理解的是,在不偏离本发明的精神和范围下可以对本发明技术方案的细节和形式进行修改或替换,但这些修改和替换均落入本发明的保护范围内。

下面结合具体的实施例对本发明做进一步地说明,以更好地理解本发明。

一本发明提供一种面向医疗文本的数据脱敏方法,包括以下步骤:

s1:提取患者的医疗文本,根据其中出现的所有患者隐私数据将患者隐私分为三类:数字型、日期型和命名实体型;

s2:针对数字型隐私数据设计了一套正则表达式,去除包含患者年龄、身份证号、联系方式、邮政编码、病人住院号等数字型信息;

s3:针对日期型隐私数据设计了随机迁移算法,识别不同类型的日期数据并将日期迁移到未来几个世纪的某个时间;

s4:针对命名实体类型隐私数据采用了隐马尔科夫模型,去除患者姓名、医生姓名、医院名称等隐私信息;

具体地,本发明提供的面向医疗文本的数据脱敏系统包含以下几个模块:

1.数字型脱敏模块

电子病历中的数字类型隐私信息多表现为患者住院号、病历号、身份证号、电话号码和邮编,数字类型的隐私信息可以方便地用正则表达式识别出来。例如,我国的身份证号是形式较为固定的特征组合码,由十七位数字本体码和一位数字校验码组成。可使用如下正则表达式(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|x)识别,排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,包括年月日,三位数字顺序码和一位数字校验码。虽然身份证号根据上述正则表达式可容易地识别出来,但是极易与心电图的影像编码混淆。为保证数字类型隐私信息的精确率,本文利用正则表达式筛选出候选集后通过上下文语义判断进一步筛选出数字类型信息,若候选词前后5个词出现影像、药品或者标识医疗单位的字样,则将其从候选结果集删除。

2.日期型脱敏模块

日期类型的隐私数据在电子病历里非常常见,例如出入院日期、检查时间、出生和死亡日期等,这些数据直接关系到病人的病程变化,是隐私保护的重要组成部分。日期类型在表达形式上也较为固定,通常为“xxxx-xx-xx”、“xxxx/xx/xx”或“xxxx年xx月xx日”等格式,部分日期类型也可能不包括天数或月份,这些都可通过设计正则表达式列表,识别日期数据。与其他隐私数据不同的是,日期是患者病情发展的主线,对临床分析有不可替代的价值,因此不能简单地予以去除。本文采用了随机迁移的方式来匿名化日期类型数据,保证了数据安全性的同时尽可能保留日期的相对顺序。首先,算法对每个病人生成一个随机数字,病人的所有日期数据都加上该随机数字。此外,随机数字还必须满足几个特性:约为365的倍数、7的倍数以及是非常大的正数。上述几个特性将日期迁移到几个世纪后,同时保留了季度性,不影响某些受季节因素影响的疾病分析。电子病历里还可能出现相对时间,如上月、去年冬天等,由于攻击者无法通过相对时间来获取具体的日期,因此该种信息不做处理。

3.命名实体型脱敏模块

姓名、地址以及医疗机构名等命名实体型隐私信息没有固定的文本格式,无法仅从表达形式上识别。以中文名为例,中文姓名用词随意,且姓名内部成词或者姓名与上下文成词,具有很大歧义性,而且不具备英文名的以大写开头的表达形式。患者姓名是直接关联患者的标识,在隐私保护模块里是最重要的一部分。虽然中文姓名用字比较随意,但是在电子病历里还是有一定的规律性,比如姓名的上下文用词比较集中,大多和医生患者有关。

隐马尔科夫模型是一个双重随机过程,具有一定状态数的隐马尔可夫链和显示随机函数集,可用五个元素来表示,包括2个状态集合和3个概率矩阵,分别为隐藏状态s、可观测状态o、初始概率矩阵pi、隐藏状态转移矩阵tran以及可观测状态发射矩阵emit。根据医疗文本的表达习惯设计了8种隐藏状态,称之为角色,分别为姓氏/b、双名首字/c、双名尾字/d、单名/e、上文/k、下文/l、职称/z、其他角色/a,可观测状态为医疗文本的分词结果。如图2所示,表示了一个隐马尔科夫链的生成过程。其中,pi(b)表示句子首词的状态为姓氏的概率;tran(e|b)表示隐藏状态从姓氏转移到单名的概率;emit(‘刘’|b)表示在姓氏状态下“刘”字出现的概率。因此,对于可观测的医疗文本,通过中文分词后得到一系列词项,假如知道了隐马尔科夫模型的参数,即可通过维特比算法求出满足当前可观测词串的最大似然隐藏状态序列。然后通过识别隐藏状态序列的模式bcd、be,可去除中文人名。根据角色标注结果计算隐马尔科夫模型初始状态的公式如下:

转移概率:其中aij为从状态i转移到j的频数

发射概率:其中bjk为状态为j并观测为k的频数

初始概率:其中qi为初始状态为qi的频数

m,n分别为词典词数和隐藏状态数。

对于发射概率,可能由于数据的稀疏性导致部分词语出现的概率为0。如“嫚”字,可能在语料库里没有出现过,所以频数为0。为了解决稀疏性问题,该实施例采用了拉普拉斯平滑技术,即认为语料库里未出现的词以一个小概率出现。

若角色标注文本充分,则上述计算公式可容易地得到隐马尔科夫模型的参数,但是由于医疗领域缺乏公共的、标注好的熟语料库,而且中文电子病历里大量使用代词,例如电子病历常出现“患者因心悸住院”而不是“某某因心悸住院”,因此大规模的人工标注的方法需消耗大量的人力物力。该实施例采用了规则和人工标注混合的方式构建了小规模的、隐私信息密集的熟语料库,并将其统计结果作为初始参数,然后通过更多的生语料和期望最大化算法训练隐马尔科夫模型,使上述三个矩阵收敛。

如上参照附图,根据本发明提出的一种面向医疗文本的数据脱敏方法描述了一个实施例。但是,本领域技术人员应当理解,对于上述本发明所提出的面向医疗文本的数据脱敏系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1