医疗数据的脱敏处理方法、装置及电子设备

申请号 CN202311174472.4 申请日 2023-09-13 公开(公告)号 CN116910817B 公开(公告)日 2023-12-29
申请人 北京国药新创科技发展有限公司; 发明人 张锋; 吴江云; 邹亮; 甘威;
摘要 本 申请 提供的一种医疗数据的脱敏处理方法、装置及 电子 设备,方法包括:对非结构化医疗数据进行结构化处理,得到结构化医疗数据;基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,提高了敏感信息的识别准确率,降低了后续脱密处理的 数据处理 量,提高了脱敏的效率。
权利要求

1.一种医疗数据的脱敏处理方法,其特征在于,包括:
对非结构化医疗数据进行结构化处理,得到结构化医疗数据;
基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;
将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;
根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;
根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;
基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理;
其中,所述对非结构化医疗数据进行结构化处理,得到结构化医疗数据,包括:
从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系;
基于设定的编码规则,根据所述语义逻辑关系,将所述医疗数据描述实体映射到一编码表中,以得到所述结构化医疗数据;
其中,所述从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系,包括:
对所述非结构化医疗数据进行句法和语义依赖关系分析,绘制树状结构;
对所述非结构化医疗数据进行动词谓词和语义色分析,以基于所述树状结构,从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系;
其中,所述基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型,包括:
基于结构化医疗数据样本,构建所述属性特征字典,其包含需要提取的特征词及其对应的表达类型;
去除所述结构化医疗数据中的冗余词,得到精简的结构化医疗数据;
基于正则表达式,根据构建的所述属性特征字典,对所述精简的结构化医疗数据进行特征词截取并对截取到的特征词与对应表达类型进行关联标注;
基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型;
其中,所述基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型,包括:
基于对特征词与其对应的表达类型的关联标注,生成键值对,其中所述键值对的键为所述特征词,所述键值对的值为表达类型;
基于所有特征词对应的键值对,建立数据抽取索引;
根据所述数据抽取索引,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型。
2.根据权利要求1所述的方法,其特征在于,所述根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元,包括:
计算不同特征词之间映射向量的相似度;
根据计算出的相似度将相似的特征词归为一类并共享所述表达类型,以生成相似的多个特征词之间复用的属性表达集合元。
3.根据权利要求1所述的方法,其特征在于,所述基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,包括:
基于所有特征词的信息熵与设定信息熵阈值的比对结果,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,其中,将所述信息熵大于所述设定信息熵阈值的属性表达集合元对应的特征词判定为敏感特征词。
4.根据权利要求1所述的方法,其特征在于,所述脱敏策略配置库中配置有敏感程度分类级别与对应脱敏策略的映射关系;
对应地,所述与脱敏策略配置库进行匹配,以对其进行脱敏处理,包括:
确定所述敏感特征词的敏感程度级别,并与所述脱敏策略配置库中的映射关系匹配,以确定所述敏感特征词进行脱敏所使用的脱敏策略;
基于所述脱敏策略对对应的所述敏感特征词进行脱敏处理。
5.一种医疗数据的脱敏处理装置,其特征在于,包括:
结构化单元,用于对非结构化医疗数据进行结构化处理,得到结构化医疗数据;
截取单元,用于基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;
映射单元,用于将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;
集合单元,用于根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;
信息熵计算单元,用于根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;
脱敏单元,用于基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理;
其中,所述对非结构化医疗数据进行结构化处理,得到结构化医疗数据,包括:
从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系;
基于设定的编码规则,根据所述语义逻辑关系,将所述医疗数据描述实体映射到一编码表中,以得到所述结构化医疗数据;
其中,所述从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系,包括:
对所述非结构化医疗数据进行句法和语义依赖关系分析,绘制树状结构;
对所述非结构化医疗数据进行动词谓词和语义角色分析,以基于所述树状结构,从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系;
其中,所述基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型,包括:
基于结构化医疗数据样本,构建所述属性特征字典,其包含需要提取的特征词及其对应的表达类型;
去除所述结构化医疗数据中的冗余词,得到精简的结构化医疗数据;
基于正则表达式,根据构建的所述属性特征字典,对所述精简的结构化医疗数据进行特征词截取并对截取到的特征词与对应表达类型进行关联标注;
基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型;
其中,所述基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型,包括:
基于对特征词与其对应的表达类型的关联标注,生成键值对,其中所述键值对的键为所述特征词,所述键值对的值为表达类型;
基于所有特征词对应的键值对,建立数据抽取索引;
根据所述数据抽取索引,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型。
6.一种电子设备,其特征在于,包括:
一个或多个处理器;
计算机可读介质,配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑4中任意一项权利要求所述的方法。

说明书全文

医疗数据的脱敏处理方法、装置及电子设备

技术领域

[0001] 本申请涉及医疗数据处理技术领域,尤其涉及一种医疗数据的脱敏处理方法、装置及电子设备。

背景技术

[0002] 医疗数据是指患者在医院就医过程中产生的数据,包含大量的敏感信息。在传统的纸质文本过程中,这些敏感信息泄露的可能较小,或者说泄露的难度较大。但是伴随着医疗数据的电子化,为了实现医院之间共享医疗数据,医疗数据通常需要存储到服务器上,而且为了实现共享,必须要依托于互联网来实现,由此导致医疗数据中的敏感信息非常容易被获取或者截获,由此会导致极大的数据安全险,给用户和社会带来极大安全隐患,甚至造成一定的社会舆情。
[0003] 为此,现有技术中,在将医疗数据存储到服务器上时,通常需要对其中的敏感信息要进行脱敏处理,但是,在筛选敏感信息的过程中,仅仅直接根据医疗数据中各个词的效用构造判断矩阵,进一步计算单一权向量,由此导致会出现敏感信息的错选,由此导致敏感信息的识别准确率较差,进一步会增加后续脱密处理的数据处理量,降低了脱敏的效率。发明内容
[0004] 本申请的目的在于提出一种医疗数据的脱敏处理方法、装置及电子设备,用于解决或者缓解现有技术中存在的技术问题。
[0005] 一种医疗数据的脱敏处理方法,其包括:
[0006] 对非结构化医疗数据进行结构化处理,得到结构化医疗数据;
[0007] 基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;
[0008] 将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;
[0009] 根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;
[0010] 根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;
[0011] 基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理。
[0012] 一种医疗数据的脱敏处理装置,其包括:
[0013] 结构化单元,用于对非结构化医疗数据进行结构化处理,得到结构化医疗数据;
[0014] 截取单元,用于基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;
[0015] 映射单元,用于将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;
[0016] 集合单元,用于根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;
[0017] 信息熵计算单元,用于根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;
[0018] 脱敏单元,用于基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理。
[0019] 一种电子设备,其包括:
[0020] 一个或多个处理器;
[0021] 计算机可读介质,配置为存储一个或多个程序,
[0022] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意一项实施例所述的方法。
[0023] 本申请提供的一种医疗数据的脱敏处理方法、装置及电子设备中,对非结构化医疗数据进行结构化处理,得到结构化医疗数据;基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,从而提高了敏感信息的识别准确率,进一步降低了后续脱密处理的数据处理量,提高了脱敏的效率。附图说明
[0024] 后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0025] 图1为本申请实施例一种医疗数据的脱敏处理方法的流程示意图。
[0026] 图2为本申请实施例一种医疗数据的脱敏处理装置的结构示意图。
[0027] 图3为本实施例电子设备的结构示意图。
[0028] 图4为本实施例电子设备的硬件结构。

具体实施方式

[0029] 为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
[0030] 本申请提供的一种医疗数据的脱敏处理方法、装置及电子设备中,通过对非结构化医疗数据进行结构化处理,得到结构化医疗数据;基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,从而提高了敏感信息的识别准确率,进一步降低了后续脱密处理的数据处理量,提高了脱敏的效率。
[0031] 图1为本申请实施例一种医疗数据的脱敏处理方法的流程示意图。如图1所示,其包括:
[0032] S101、对非结构化医疗数据进行结构化处理,得到结构化医疗数据;
[0033] S102、基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;
[0034] S103、将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;
[0035] S104、根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;
[0036] S105、根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;
[0037] S106、基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理。
[0038] 本实施例中,由于是基于构建的属性特征字典,可以实现对数据的结构化特征进行分析和处理,从而提高了敏感特征词的筛选准确率。另外,通过将特征词映射到同一值域上,并生成属性表达集合元,从而更好地保留数据的特征信息和语义信息,以便后续计算敏感特征词的信息熵。再者,通过计算特征词对应的信息熵,从所有特征词中筛选出敏感特征词,可以更加准确地识别敏感信息,避免对非敏感信息进行不必要的脱敏处理,从而整体上提高了敏感信息的识别准确率,进一步降低了后续脱密处理的数据处理量,提高了脱敏的效率。
[0039] 可选地,所述对非结构化医疗数据进行结构化处理,得到结构化医疗数据,包括:
[0040] 从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系;
[0041] 基于设定的编码规则,根据所述语义逻辑关系,将所述医疗数据描述实体映射到一编码表中,以得到所述结构化医疗数据。
[0042] 本实施例中,编码规则可以根据医疗数据的应用场景或者产生来源进行指定,比如可以包括国际疾病分类(ICD)码、药品统一编码(NDC)等,另外,可以使用医疗标准和术语集(如SNOMED CT、LOINC等)来进行编码规则的指定。
[0043] 此处,仅仅是示例,并非唯一性说明。
[0044] 可选地,所述从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系,包括:
[0045] 对所述非结构化医疗数据进行句法和语义依赖关系分析,绘制树状结构;
[0046] 对所述非结构化医疗数据进行动词谓词和语义色分析,以基于所述树状结构,从所述非结构化医疗数据识别出医疗数据描述实体以及相互之间的语义逻辑关系。
[0047] 本实施例中,通过句法和语义依赖关系分析,将非结构化医疗数据转化为树状结构,使得数据的结构更加清晰明了,以在进一步通过动词谓词和语义角色分析时,准确地识别出医疗数据描述实体以及它们之间的语义逻辑关系,从而实现了从非结构化数据中提取出关键信息,可准确地识别出医疗数据中的实体和它们之间的关系,这有助于消除数据中的歧义和不一致性,提高数据的准确性,保证了结构化的过程中,不会丢失关键信息,确保了结构化得到的结构化医疗数据的质量
[0048] 可选地,所述基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型,包括:
[0049] 基于结构化医疗数据样本,构建所述属性特征字典,其包含需要提取的特征词及其对应的表达类型;
[0050] 去除所述结构化医疗数据中的冗余词,得到精简的结构化医疗数据;
[0051] 基于正则表达式,根据构建的所述属性特征字典,对所述精简的结构化医疗数据进行特征词截取并对截取到的特征词与对应表达类型进行关联标注;
[0052] 基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型。
[0053] 此处,需要说明的是,上述示例代码仅供参考,并非唯一性限定。
[0054] 另外,针对上述基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型的基础上,在其他一应用场景中,可以基于如下代码来实现:
[0055] import re
[0056] from sklearn.feature_extraction.text import CountVectorizer
[0057] from sklearn.naive_bayes import MultinomialNB
[0058] # 构建属性特征字典
[0059] feature_dict = {
[0060] "年龄": "年龄",
[0061] "性别": "性别",
[0062] "诊断结果": "诊断"
[0063] }
[0064] # 待处理的结构化医疗数据
[0065] data = {
[0066] "病人ID": "001",
[0067] "年龄": 30,
[0068] "性别": "男",
[0069] "诊断结果": "高血压"
[0070] }
[0071] # 构建特征词和标签数据集
[0072] corpus = []
[0073] labels = []
[0074] for key, value in data.items():
[0075]     match = re.search(r"\b(" + "|".join(feature_dict.keys()) + r")\b", key)
[0076]     if match:
[0077]         feature = match.group(1)
[0078]         label = feature_dict[feature]
[0079]         corpus.append(str(value))
[0080]         labels.append(label)
[0081] # 特征提取和标签分类
[0082] vectorizer = CountVectorizer()
[0083] X = vectorizer.fit_transform(corpus)
[0084] y = labels
[0085] classifier = MultinomialNB()
[0086] classifier.fit(X, y)
[0087] test_data = {
[0088] "病人ID": "002",
[0089] "年龄": 45,
[0090] "性别": "女",
[0091] "诊断结果": "糖尿病"
[0092] }
[0093] # 提取特征词并进行分类预测
[0094] test_corpus = []
[0095] for key, value in test_data.items():
[0096]     match = re.search(r"\b(" + "|".join(feature_dict.keys()) + r")\b", key)
[0097]     if match:
[0098]         test_corpus.append(str(value))
[0099] X_test = vectorizer.transform(test_corpus)
[0100] y_pred = classifier.predict(X_test)
[0101] # 打印特征词及其对应的表达类型
[0102] for feature, label in zip(test_corpus, y_pred):
[0103]     print(f"特征词:{feature},表达类型:{label}")
[0104] 在上述示例代码中,构建了一个属性特征字典feature_dict,其中包含了需要提取的特征词及其对应的表达类型。然后,遍历精简的结构化医疗数据,使用正则表达式匹配特征词,并将特征词对应的取值添加到corpus列表中,将表达类型添加到labels列表中。进一步使用CountVectorizer将特征词转换为特征向量,并使用朴素贝叶斯分类器MultinomialNB进行训练,将特征向量和标签进行拟合,使用训练好的分类器对新的测试数据进行预测。
[0105] 可选地,所述基于对特征词与其对应的表达类型的关联标注,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型,包括:
[0106] 基于对特征词与其对应的表达类型的关联标注,生成键值对,其中所述键值对的键为所述特征词,所述键值对的值为表达类型;
[0107] 基于所有特征词对应的键值对,建立数据抽取索引;
[0108] 根据所述数据抽取索引,从所述精简的结构化医疗数据抽取出所述特征词并以标签的形式记录的对应的表达类型。
[0109] 本实施例中,通过关联标注特征词与其对应的表达类型,生成键值对,并建立数据抽取索引,可以进一步实现结构化医疗数据转化的再次结构化,从而提高数据的可读性和可理解性。通过建立数据抽取索引,从而保证了快速地从结构化医疗数据中抽取出特征词和对应的表达类型,提高数据抽取的效率。通过以标签的形式记录特征词和对应的表达类型,可以准确地记录它们之间的关联关系,保持了数据的准确性和一致性。
[0110] 可选地,所述将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量,包括:
[0111] 对每个特征词进行向量化得到特征词向量;
[0112] 对特征词向量之间进行差分处理,得到差分向量;
[0113] 将所述差分向量映射到同一值域上,以确定该每个特征词的映射向量。
[0114] 可选地,所述对特征词向量之间进行差分处理,得到差分向量,包括:
[0115] 每个特征词对应的特征词向量与其他特征词对应的特征词向量进行遍历差分,得到多个差分向量,以计算对应的差分平均向量;
[0116] 将每个特征词对应的差分平均向量映射到同一值域上,以确定该每个特征词的映射向量。
[0117] 本实施例中,通过将每个特征词进行向量化,可以将文本数据转化为数值形式,方便后续的计算和分析。
[0118] 本实施例中,通过遍历每个特征词对应的特征词向量与其他特征词对应的特征词向量进行差分,可以得到多个差分向量,基于该多个差分向量的平均值得到差分平均向量,从而便于体现特征词之间的相似性和差异性,进一步将每个特征词对应的差分平均向量映射到同一值域上,从而得到每个特征词的映射向量,便于进行特征词之间的比较和分析。
[0119] 具体地,在一应用场景中, 提供了如下示例性的代码:
[0120] import numpy as np
[0121] # 特征词向量化
[0122] def vectorize_feature_words(feature_words):
[0123]     word_vectors = []
[0124]     for word in feature_words:
[0125]         # 根据具体的方法进行特征词向量化,这里使用示例的方法[0126]         vector = np.random.rand(100)  # 假设每个特征词的向量维度为100[0127]         word_vectors.append(vector)
[0128]     return word_vectors
[0129] # 计算差分平均向量
[0130] def calculate_difference_average_vector(feature_words, word_vectors):
[0131]     difference_vectors = []
[0132]     for i in range(len(feature_words)):
[0133]         difference_vector = np.zeros_like(word_vectors[i])
[0134]         for j in range(len(feature_words)):
[0135]             if i != j:
[0136]                 difference_vector += (word_vectors[i]‑ word_vectors[j])
[0137]         difference_vector /= (len(feature_words) ‑ 1)
[0138]         difference_vectors.append(difference_vector)
[0139]     return difference_vectors
[0140] # 映射向量确定
[0141] def map_vectors(difference_vectors):
[0142]     mapped_vectors = []
[0143]     min_value = min([np.min(vector) for vector in difference_vectors])
[0144]     max_value = max([np.max(vector) for vector in difference_vectors])
[0145]     for vector in difference_vectors:
[0146]         mapped_vector = (vector ‑ min_value) / (max_value ‑ min_value)
[0147]         mapped_vectors.append(mapped_vector)
[0148]     return mapped_vectors
[0149] # 示例使用
[0150] feature_words = ['word1', 'word2', 'word3']
[0151] word_vectors = vectorize_feature_words(feature_words)
[0152] difference_vectors = calculate_difference_average_vector(feature_words, word_vectors)
[0153] mapped_vectors = map_vectors(difference_vectors)
[0154] # 输出结果
[0155] for i in range(len(feature_words)):
[0156]     print(f"特征词: {feature_words[i]},映射向量: {mapped_vectors[i]}")
[0157] 可选地,所述将每个特征词对应的差分平均向量映射到同一值域上,以确定该每个特征词的映射向量,包括:
[0158] 将所述差分平均向量归一化到缩放到[0, 1]范围或者标准化为均值为0,方差为1的向量,以作为该每个特征词的映射向量。
[0159] 本实施例中,通过归一化或标准化差分平均向量,可以将不同特征词的向量表示统一到相同的数值范围内,从而消除不同特征词向量之间的尺度差异,另外,通过归一化或标准化差分平均向量可以减少差分平均向量中的噪声和不必要的波动,这有助于提高差分平均向量的稳定性,使得更能够反映特征词之间的真实差异。另外,通过归一化或标准化差分平均向量,使得差分平均向量更接近正态分布,以在生成属性表达集合元时保证了特征词的可解释性和可分析性,确保了属性表达集合元的准确性。
[0160] 可选地,所述根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元,包括:
[0161] 计算不同特征词之间映射向量的相似度;
[0162] 根据计算出的相似度将相似的特征词归为一类并共享所述表达类型,以生成相似的多个特征词之间复用的属性表达集合元。
[0163] 可选地,在计算不同特征词之间映射向量的相似度时,比如基于余弦相似度、欧氏距离、曼哈顿距离等,来计算不同特征词之间映射向量的相似度。
[0164] 为此,本实施例还可以包括:根据计算出的所有相似度,生成一相似度矩阵,以表示不同特征词之间的相似度关系。
[0165] 对应地,所述根据计算出的相似度将相似的特征词归为一类并共享所述表达类型,以生成相似的多个特征词之间复用的属性表达集合元聚类,包括:
[0166] 根据相似度矩阵,基于聚类算法将相似的特征词归为一类,比如常见的聚类算法包括K‑means、层次聚类、DBSCAN等;
[0167] 对于每个特征词的类别,选择其中一个特征词作为代表,将其表达类型作为该类别的共享表达类型,表达类型可以是一个向量、一个字符串、一个标签等,具体根据应用场景和需求来确定;
[0168] 对于每个特征词类别,将该类别中所有特征词的属性表达集合元进行合并,生成一个相似的多个特征词之间复用的属性表达集合元,该属性表达集合元可以是一组属性‑值对、一组特征向量、一组关键词等。
[0169] 本实施例中,通过提取和利用特征词之间的共性和一致性,在保证后续计算信息熵时,不会出现关键信息的损失外,还能减少数据的冗余和重复,降低了数据处理量,提高了数据处理的效率。
[0170] 可选地,所述根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵,包括:
[0171] 统计每个属性表达集合元的频数,将该每个属性表达集合元的频数除以属性表达集合元的总数,得到每个属性表达集合元的概率分布;
[0172] 根据每个属性表达集合元的概率分布,计算该每个属性表达集合元的信息量,以作为对应特征词的信息熵,所述信息熵表征所述每个属性表达集合元中各个特征词的分布均匀性。
[0173] 可选地,所述基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,包括:
[0174] 基于所有特征词的信息熵与设定信息熵阈值的比对结果,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,其中,将所述信息熵大于所述设定信息熵阈值的属性表达集合元对应的特征词判定为敏感特征词。
[0175] 本实施例中,通过统计每个属性表达集合元的频数,并将其除以属性表达集合元的总数,可以得到每个属性表达集合元的概率分布,对于敏感特征词来说,它们在数据中的分布可能相对较低,即概率较小,因此,通过概率分布的计算,即可体现敏感特征词的低概率分布,从而能够更准确地识别出这些敏感特征词。而在根据每个属性表达集合元的概率分布,可以计算该属性表达集合元的信息量时,对于敏感特征词而言,它们在属性表达集合元中的分布可能较为不均匀,即信息量较高,因此,通过计算信息量,即可准确地评估特征词的信息熵,实现对特征词的属性分布进行量化和比较,便于准确地识别出其中的敏感特征词。
[0176] 可选地,所述脱敏策略配置库中配置有敏感程度分类级别与对应脱敏策略的映射关系;
[0177] 对应地,所述与脱敏策略配置库进行匹配,以对其进行脱敏处理,包括:
[0178] 确定所述敏感特征词的敏感程度级别,并与所述脱敏策略配置库中的映射关系匹配,以确定所述敏感特征词进行脱敏所使用的脱敏策略;
[0179] 基于所述脱敏策略对对应的所述敏感特征词进行脱敏处理。
[0180] 具体的脱敏策略可以根据应用场景来选择,比如,遮挡、加密、替换等。
[0181] 图2为本申请实施例一种医疗数据的脱敏处理装置的结构示意图。如图2所示,其包括:
[0182] 结构化单元201,用于对非结构化医疗数据进行结构化处理,得到结构化医疗数据;
[0183] 截取单元202,用于基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;
[0184] 映射单元203,用于将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;
[0185] 集合单元204,用于根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;
[0186] 信息熵计算单元205,用于根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;
[0187] 脱敏单元206,用于基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理。
[0188] 此处,图2实施例中,有关各个功能单元的示例性说明可参见上述图1的说明。
[0189] 图3为本实施例电子设备的结构示意图;该电子设备可以包括:
[0190] 一个或多个处理器301;
[0191] 计算机可读介质302,可以配置为存储一个或多个程序,
[0192] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例所述的方法。
[0193] 图4为本实施例电子设备的硬件结构;如图4所示,该电子设备的硬件结构可以包括:处理器401,通信接口402,计算机可读介质403和通信总线404;
[0194] 其中处理器401、通信接口402、计算机可读介质403通过通信总线404完成相互间的通信;
[0195] 可选地,通信接口402可以为通信模的接口,如GSM模块的接口;
[0196] 其中,处理器401具体可以配置为:对非结构化医疗数据进行结构化处理,得到结构化医疗数据;基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,从而提高了敏感信息的识别准确率,进一步降低了后续脱密处理的数据处理量,提高了脱敏的效率。
[0197] 处理器401可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0198] 计算机可读介质403可以是,但不限于,随机存取存储介质(Random Access Memory,RAM),只读存储介质(ReadOnly Memory,ROM),可编程只读存储介质(Programmable Read‑Only Memory,PROM),可擦除只读存储介质(Erasable Programmable Read‑Only Memory,EPROM),电可擦除只读存储介质(ElectricErasable Programmable Read‑Only Memory,EEPROM)等。
[0199] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含配置为执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储介质(RAM)、只读存储介质(ROM)、可擦式可编程只读存储介质(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储介质(CD‑ROM)、光存储介质件、磁存储介质件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输配置为由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0200] 可以以一种或多种程序设计语言或其组合来编写配置为执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络:包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0201] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个配置为实现规定的逻辑功能的可执行指令。上述具体实施例中有特定先后关系,但这些先后关系只是示例性的,在具体实现的时候,这些步骤可能会更少、更多或执行顺序有调整。即在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0202] 作为另一方面,本申请还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所描述的方法。
[0203] 作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:对非结构化医疗数据进行结构化处理,得到结构化医疗数据;基于构建的属性特征字典,对所述结构化医疗数据进行特征词截取处理,得到若干特征词以及对应的表达类型;将所有的特征词映射到同一值域上,以确定该每个特征词的映射向量;根据每个特征词对应的映射向量以及表达类型,生成该每个特征词的属性表达集合元;根据每个特征词的属性表达集合元,计算该每个特征词对应的信息熵;基于所有特征词的信息熵,从所有特征词筛选出敏感特征词,并与脱敏策略配置库进行匹配,以对其进行脱敏处理,从而提高了敏感信息的识别准确率,进一步降低了后续脱密处理的数据处理量,提高了脱敏的效率。
[0204] 在本公开的各种实施方式中所使用的表述“第一”、“第二”、“所述第一”或“所述第二”可修饰各种部件而与顺序和/或重要性无关,但是这些表述不限制相应部件。以上表述仅配置为将元件与其它元件区分开的目的。例如,第一用户设备和第二用户设备表示不同的用户设备,虽然两者均是用户设备。例如,在不背离本公开的范围的前提下,第一元件可称作第二元件,类似地,第二元件可称作第一元件。
[0205] 当一个元件(例如,第一元件)称为与另一元件(例如,第二元件)“(可操作地或可通信地)联接”或“(可操作地或可通信地)联接至”另一元件(例如,第二元件)或“连接至”另一元件(例如,第二元件)时,应理解为该一个元件直接连接至该另一元件或者该一个元件经由又一个元件(例如,第三元件)间接连接至该另一个元件。相反,可理解,当元件(例如,第一元件)称为“直接连接”或“直接联接”至另一元件(第二元件)时,则没有元件(例如,第三元件)插入在这两者之间。
[0206] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
QQ群二维码
意见反馈