一种基于KDTree的图像数据库数据处理方法转让专利

申请号 : CN202110139298.4

文献号 : CN112463804B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王浩秦拯陈嘉欣欧露

申请人 : 湖南大学

摘要 :

本发明公开了一种基于KDTree的图像数据库数据处理方法,包括如下步骤:步骤一、基于KDTree对地图标注信息进行遍历和整合,得到标注集S={s1,s2,…,sn};步骤二、对标注集S进行基于词语相似度的敏感信息检测,将地图标注内容进行敏感度分级;步骤三、根据地图标注内容的敏感度等级进行对应的脱敏处理。本发明利用了地图标注的位置信息,实现了对地理空间数据中标注内容的遍历、整合和敏感信息脱敏的自动处理,克服了现有人工处理下工作繁琐,效率低下且容易出错以及出现漏洞的现象。

权利要求 :

1.一种基于KDTree的图像数据库数据处理方法,其特征在于,包括如下步骤:步骤一、基于KDTree对地图标注信息进行遍历和整合,得到由n条标注构成的标注集S={s1,s2,…,sn};sn表示第n条标注;

具体包括如下步骤:

1.1提取地图的属性表中所有单字在地图上的位置坐标和字符内容形成数据集,根据每个字的二维坐标构建KDTree;

1.2将所有单字按纵坐标由大到小的顺序进行排列,得到初步的队列Q;创建一个标记数组vis[],用于记录队列Q中每个单字是否已处理,初始化为0,遍历队列Q直至队列Q为空;

1.3按照初步的队列Q中单字的排列顺序依次处理单字;

若当前单字点p未处理,即vis[p]=0,执行1.4步,并置vis[p]为1;

若当前单子点p已处理,即vis[p]=1,跳至队列Q中的下一个点;

1.4 在构建好的KDTree中查找距离当前单字点p范围为阈值[0, ε]的点,得到当前单字点p的近邻结点集,其中ε表示整合范围的参数,取前单字点p所对应字宽的1.5‑2倍;在近邻结点集中按距离点p由近到远的顺序查找一个满足与当前单字点p整合条件的单字点q,若成功找到,则将当前单字点替换为q,并置vis[q]为1;单字点q即单字q在KDTree中对应的点;

1.5重复步骤1.4至近邻结点集中没有与当前单字点可以整合的单字点,则整合在一起的单字点作为一条标注;

1.6当近邻结点集中没有与当前单字点可以整合的单字点时;按照初步的队列Q中单字的排列顺序,处理下一个未处理的单字;

1.7重复步骤1.3‑1.6至初步的队列Q中单字均完成处理;得到地图上的各条标注步骤二、对标注集S进行基于词语相似度的敏感信息检测,将地图标注内容进行敏感度分级;

步骤三、根据地图标注内容的敏感度等级进行对应的脱敏处理。

2.如权利要求1所述的基于KDTree的图像数据库数据处理方法,其特征在于,步骤1.4中,所述整合条件如下:

单字点q未处理过,即vis[q]=0;

情况一、当已整合字段中只包含一个当前单字点p,则当前单字点p与近邻结点集中与前单字点p距离最近的单字点q进行整合;当近邻结点集中只有单字点p,则单字点p自身构成一个标注;

情况二、当已整合字段中包含两个及以上字时,即由多个字构成的字段与单字点q进行整合时,判断单字点q与已整合字段构成的新字段s中所有的字是否处于同一直线且由每相邻两个字的距离构成的数组的极差R是否满足:其中,Len表示构成的新字段s中所包含的单字个数, 表示新字段s中第i个单字点与第j个单字点j的距离, 和 分别表示取最大值和最小值;γ为新字段s中单字宽度的0.2‑0.5倍;

上述2个整合条件,若均满足则多个字构成的字段与单字点q进行整合,若至少有一个不满足,则多个字构成的字段不与单字点q进行整合。

3.如权利要求2所述的基于KDTree的图像数据库数据处理方法,其特征在于,在整合前,首先排除重复字的干扰,若p、q对应的字框相交、且字的内容相同,则p、q是重复字,在属性表中删除q实现去重。

4.如权利要求1所述的基于KDTree的图像数据库数据处理方法,其特征在于,步骤1.7中针对水平分布的标注,将标注中的单字按照横坐标自小到大的顺序,从左到右按照顺序排列。

5.如权利要求1所述的基于KDTree的图像数据库数据处理方法,其特征在于,所述步骤二包括如下步骤:

2.1:对标注内容采用中文分词技术进行分词:针对标注集S的每条标注内容si,采用中文分词技术和词向量构建技术转换为多个词向量;得到si={a1,a2,…,am},a1…am为划分后得到的m个特征词;

2.2:对特征词和敏感词采用词向量构建技术转换为词向量:使用word2vec将特征词转换为词向量,第j个特征词aj转换后的词向量记为Aj;同样地,将敏感词库中所有敏感词bk转换为词向量,记为Bk;将特征词与敏感词的相似程度量化为特征词向量与敏感词向量的相似度,即取两个向量内积空间的夹角的余弦值为相似度,取值范围为[0,1],相似度越接近1表示两个词相似程度越大;

表示Aj与Bk的相似度;

2.3特征词的敏感度计算:

在敏感词库中,每个敏感词ck对应一个敏感级别 , 值越大,则敏感词的敏感程度越高;遍历敏感词库,对特征词aj,定义特征词aj最大敏感度 为其中,表示敏感词库,计算每个敏感词向量与特征词向量的相似度与敏感级别的乘积,取其中的最大值表示特征词的最大敏感度;

设置阈值参数θ,当 大于θ时,特征词aj才具有敏感性,否则不认为是敏感词,敏感度记为0,即特征词的敏感度为

2.4 标注内容的敏感度计算:定义第i个标注 的敏感度 为:式中,标注 包含m个特征词,j表示是标注 的第j个特征词; 为标注 的敏感度,即标注 包含的m个特征词敏感度累加的和;得出特征词与标注内容的敏感度后,将标注内容按敏感度划分为高、中、低、非敏感4个级别。

6.如权利要求1所述的基于KDTree的图像数据库数据处理方法,其特征在于,所述步骤三包括如下步骤:

3.1构建地理标注信息的白名单,每次人工发现算法误识别的非敏感数据时,将非敏感数据加入白名单,提高容错率;

3.2敏感数据通过白名单筛选后,对高敏感级别的标注内容,采取直接删除的措施;对中、低敏感级别的标注,提取其中的敏感特征词,随机选择删除、替换、泛化的脱敏手段进行处理,然后重新计算脱敏后的标注敏感度,迭代预设次数后若仍不符合公开要求,则完全删除对应标注;其中,选择替换时在非敏感词库中选择与当前敏感特征词相似度最大的非敏感词作为替换,选择泛化操作时即将标注描述的具体内容抽象化,使描述范围包括更多的非敏感信息。

说明书 :

一种基于KDTree的图像数据库数据处理方法

技术领域

[0001] 本发明涉及地理信息数据处理领域,尤其涉及一种基于KDTree的图像数据库数据处理方法。

背景技术

[0002] 近年来,计算机技术的迅猛发展推动了地理信息系统技术的发展与进步。地理信息系统(Geographic Information System,GIS)涉及地理学、测绘学、计算机科学与技术等
多个学科,以计算机为工具,将地理空间数据作为研究对象,把地图这一独特的可视化效果
和地理分析功能与数据库操作集成在一起,为地理、规划与管理等许多行业和部门提供决
策信息。
[0003] 目前,随着移动互联网的发展,人们日常出行时对基于地理信息的服务需求不断增加。各类电子地图的广泛应用,在给人们工作、生活提供便利的同时,也带来不少安全隐
患问题。其中,地图标注信息安全保护是值得研究的一个问题。地图标注信息中可能包含一
些敏感内容,比如国家战略资源、军事禁地、国防设施等。对此,国家出台了多项法律规定和
政策,如《公开地图内容表示补充规定(试行)》、《基础地理信息公开表示内容的规定(试
行)》等,明确规定了公开地图中能表示和不能表示的内容,从法律政策层面加强了地理信
息安全保护工作。目前各机构单位采用了内网隔离的技术手段以保障数据安全,并要求在
将地理信息发布至外网之前,需要对内网中的敏感数据进行脱敏处理。
[0004] 在现实场景中,地图上的标注内容以属性表的形式保存,为使得表达效果美观、完整,部分标注由多个单字构成,如属性表中用多条由单字构成的记录来表示一个地名,当在
地图上搜索关键字时容易遗漏部分标注内容。在该情况下,现存的脱敏处理工作不得不依
赖于人工检查地图中每个区域的标注内容,对此进行审核识别和处理,这种方式仍存在内
容遗漏问题,且市级以上的地图区域庞大、内容复杂,人工处理工作繁琐,效率低下。因此,
迫切需要研究一种基于计算机技术整合地图中的标注信息并进行脱敏处理的方法,这对维
护地理信息安全具有重要意义。
[0005] 对由多个单字构成的标注内容,常见的划分方法为词法分析,即将字符序列转换为单词序列,把接收到的一串连续的字符切分成单个的词,再将得到的词与敏感词库进行
匹配,进而检测出敏感信息。然而,当对标注包含的多个单字执行常规的增加、删除或修改
操作,可能导致这些单字在属性表中乱序、重复排列,仅采用简单的分词无法处理该情况。
[0006] 虽然标注内容在属性表中的排列不规则,但在地图中每个字符均关联一个位置坐标,待整合的标注字段在位置分布上有很强的相关性,如排列更紧密、从上至下、从左至右、
几乎分布在一条直线上等。本发明利用了地图标注的位置信息,实现了对地理空间数据中
标注内容的遍历、整合和敏感信息脱敏处理。
[0007] 名词解释:KDTree(k‑dimensional树):是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。
[0008] jieba分词:一款非常流行中文开源分词包,具有高性能、准确率、可扩展性等特点,目前主要支持python,其它语言也有相关版本。
[0009] word2vec:是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在
word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映
射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。

发明内容

[0010] 本发明提出了一种基于KDTree(k‑dimensional树)的图像数据库数据处理方法。本发明利用了地图标注的位置信息,实现了对地理空间数据中标注内容的遍历、整合和敏
感信息脱敏的自动处理,克服了现有人工处理下工作繁琐,效率低下且容易出错以及出现
漏洞的现象。
[0011] 为实现上述目的,本发明的技术方案如下所示:
[0012] 一种基于KDTree的图像数据库数据处理方法,包括如下步骤:
[0013] 步骤一、基于KDTree对地图标注信息进行遍历和整合,得到由n条标注构成的标注集S={s1,s2,…,sn};sn表示第n条标注;
[0014] 步骤二、对标注集S进行基于词语相似度的敏感信息检测,将地图标注内容进行敏感度分级;
[0015] 步骤三、根据地图标注内容的敏感度等级进行对应的脱敏处理。
[0016] 进一步的改进,所述步骤一包括如下步骤:
[0017] 1.1提取地图的属性表中所有单字在地图上的位置坐标和字符内容形成数据集,根据每个字的二维坐标构建KDTree;
[0018] 1.2将所有单字按纵坐标由大到小的顺序进行排列,得到初步的队列Q;创建一个标记数组vis[],用于记录队列Q中每个单字是否已处理,初始化为0,遍历队列Q直至队列Q
为空;
[0019] 1.3按照初步的队列Q中单字的排列顺序依次处理单字;
[0020] 若当前单字点p未处理,即vis[p]=0,执行1.4步,并置vis[p]为1;
[0021] 若当前单子点p已处理,即vis[p]=1,跳至队列Q中的下一个点;
[0022] 1.4 在构建好的KDTree中查找距离当前单字点p范围为阈值[0, ε]的点,得到当前单字点p的近邻结点集,其中ε表示整合范围的参数,取前单字点p所对应字宽的1.5‑2倍;
在近邻结点集中按距离点p由近到远的顺序查找一个满足与当前单字点p整合条件的单字
点q,若成功找到,则将当前单字点替换为q,并置vis[q]为1;单字点q即单字q在KDTree中对
应的点;
[0023] 1.5重复步骤1.4至近邻结点集中没有与当前单字点可以整合的单字点,则整合在一起的单字点作为一条标注;
[0024] 1.6当近邻结点集中没有与当前单字点可以整合的单字点时,按照初步的队列Q中单字的排列顺序,处理下一个未处理的单字;
[0025] 1.7重复步骤1.3‑1.6至初步的队列Q中单字均完成处理,得到地图上的各条标注。
[0026] 进一步的改进,步骤1.4中,所述整合条件要求如下:
[0027] 单字点q未处理过,即vis[q]=0;
[0028] 情况一、当已整合字段中只包含一个当前单字点p,则当前单字点p与近邻结点集中与前单字点p距离最近的单字点q进行整合;当近邻结点集中只有单字点p,则单字点p自
身构成一个标注;
[0029] 情况二、当已整合字段中包含两个及以上字时,即由多个字构成的字段与单字点q进行整合时,判断单字点q与已整合字段构成的新字段s中所有的字是否处于同一直线且由
每相邻两个字的距离构成的数组的极差R是否满足:
[0030]
[0031] 其中,Len表示构成的新字段s中所包含的单字个数, 表示新字段s中第i个单字点与第j个单字点j的距离, 和 分别表示取最大值和最小值; γ为新字段s中单
字宽度的0.2‑0.5倍;
[0032] 上述2个整合条件,若均满足则多个字构成的字段与单字点q进行整合,若至少有一个不满足,则多个字构成的字段不与单字点q进行整合。
[0033] 进一步的改进,在整合前,首先排除重复字的干扰,若p、q对应的字框相交、且字的内容相同,则p、q是重复字,在属性表中删除q实现去重。
[0034] 进一步的改进,步骤1.7中针对水平分布的标注,将标注中的单字按照横坐标自小到大的顺序,从左到右按照顺序排列。
[0035] 进一步的改进,所述步骤二包括如下步骤:
[0036] 2.1:对标注内容采用中文分词技术进行分词:
[0037] 针对标注集S的每条标注内容si,采用中文分词技术和词向量构建技术转换为多个词向量;得到si={a1,a2,…,am},a1…am为划分后得到的m个特征词;
[0038] 2.2:对特征词和敏感词采用词向量构建技术转换为词向量:
[0039] 使用word2vec将特征词转换为词向量,第j个特征词aj转换后的词向量记为Aj;同样地,将敏感词库中所有敏感词bk转换为词向量,记为Bk;将特征词与敏感词的相似程度量
化为特征词向量与敏感词向量的相似度,即取两个向量内积空间的夹角的余弦值为相似
度,取值范围为[0,1],相似度越接近1表示两个词相似程度越大;
[0040]
[0041] 表示Aj与Bk的相似度;
[0042] 2.3特征词的敏感度计算:
[0043] 在敏感词库中,每个敏感词ck对应一个敏感级别 , 值越大,则敏感词的敏感程度越高;遍历敏感词库,对特征词aj,定义特征词aj最大敏感度 为
[0044]
[0045] 其中,表示敏感词库,计算每个敏感词向量与特征词向量的相似度与敏感级别的乘积,取其中的最大值表示特征词的最大敏感度;
[0046] 设置阈值参数θ,当 大于θ时,特征词aj才具有敏感性,否则不认为是敏感词,敏感度记为0,即特征词的敏感度为
[0047]
[0048] 2.4 标注内容的敏感度计算:
[0049] 定义第i个标注 的敏感度 为:
[0050]
[0051] 式中,标注 包含m个特征词,j表示是标注 的第j个特征词; 为标注 的敏感度,即为标注 包含的m个特征词敏感度累加的和;得出特征词与标注内容的敏感度
后,将标注内容按敏感度划分为高、中、低、非敏感4个级别。
[0052] 进一步的改进,所述步骤三包括如下步骤:
[0053] 3.1构建地理标注信息的白名单,每次人工发现算法误识别的非敏感数据时,将非敏感数据加入白名单,提高容错率;
[0054] 3.2敏感数据通过白名单筛选后,对高敏感级别的标注内容,采取直接删除的措施;对中、低敏感级别的标注,提取其中的敏感特征词,随机选择删除、替换、泛化的脱敏手
段进行处理,然后重新计算脱敏后的标注敏感度,迭代预设次数后若仍不符合公开要求,则
完全删除对应标注;其中,选择替换时在非敏感词库中选择与当前敏感特征词相似度最大
的非敏感词作为替换,选择泛化操作时即将标注描述的具体内容抽象化,使描述范围包括
更多的非敏感信息。
[0055] 本发明的优点:
[0056] 本发明利用了地图标注的位置信息,实现了对地理空间数据中标注内容的遍历、整合和敏感信息脱敏的自动处理,克服了现有人工处理下工作繁琐,效率低下且容易出错
以及出现漏洞的现象。

附图说明

[0057] 图1为本发明工作流程图。

具体实施方式

[0058] 如图1所示的一种基于KDTree的图像数据库数据处理方法,包括如下步骤
[0059] (1)基于KDTree对地图标注信息遍历和整合;
[0060] (2)基于词语相似度的进行敏感信息检测;
[0061] (3)基于特征词敏感度的进行脱敏。
[0062] 具体内容如下:
[0063] (1)一种基于KDTree的地图标注信息遍历和整合的方法:
[0064] 该方法利用了地图标注信息在位置分布上的相关性,考虑所有单字构成的点,贪心地认为在一定范围内,距离当前单字所在点最近的另一个点,能满足两者整合成词的条
件,当无法满足整合成词的条件时,则在该范围内考虑其他点,具体流程如下:
[0065] 步骤一:提取属性表中所有单字在地图上的位置坐标和字符内容,根据每个字的二维坐标构建KDTree。KDTree是一种分割k维数据空间的数据结构,常用于范围搜索和最近
邻搜索。
[0066] 步骤二:由于人们往往按从上到下、从左到右的顺序进行阅读,因此在整合标注内容之前,将所有单字按纵坐标由大到小的顺序进行排列,以便将后续访问的单字按顺序加
入到当前已整合的字段内,得到初步的队列Q。创建一个标记数组vis[],记录每个单字是
否已处理,初始化为0。遍历队列Q直至队列为空:
[0067] 步骤三:若当前点p已处理,即vis[p]=1,则跳至队列中的下一个点;若vis[p]=0,则在KDTree中查找距离当前单字点p范围为阈值[0, ε]的点,得到当前单字点p的近邻结点
集,在近邻结点集中按距离点p由近到远的顺序查找一个满足与当前单字点p整合条件的单
字点q,若成功找到,则将当前单字点替换为q,并置vis[q]为1; 步骤四:重复步骤三,直至
近邻结点集中没有与当前单字点可以整合的单字点,则整合在一起的单字点作为一条标
注,并按照初步的队列Q中单字的排列顺序,处理下一个未处理的单字;
[0068] 步骤五:重复步骤三到四,至初步的队列Q中单字均完成处理,得到地图上的各条标注。
[0069] 另外,在将一个未处理的点整合入一个已处理的字段时,还需满足所构成的新字段s中所有的字处于同一直线且每相邻两个字的距离相近,即在地图上的位置分布满足构
成一个标注的条件,否则不进行整合。整合时对纵坐标几乎无变化,而横坐标变化较大的字
段,在合并时要将横坐标较小者放在标注内容的前端,即从左至右的顺序。
[0070] 队列Q为空后,所有单字处理完毕,整合后得到的标注集记为S={s1,s2,…,sn}。
[0071] (2)一种基于词语相似度的敏感信息检测方法:
[0072] 对于标注集S,为了保护数据安全,需要进行基于词语相似度的敏感信息检测,主要包括以下四步:
[0073] 步骤一:对标注内容采用中文分词技术进行分词:
[0074] 首先,针对标注集S的每条标注内容si,采用中文分词技术和词向量构建技术将其转换为多个词向量。本发明使用jieba分词将地图标注划分成多个词语,得到si={a1,a2,…,
am},a1…am为划分后得到的m个特征词。
[0075] 步骤二:对特征词和敏感词采用词向量构建技术转换为词向量:
[0076] 本发明使用word2vec将特征词转换为词向量,每个特征词aj转换后的词向量记为Aj。同样地,将敏感词库中所有敏感词bk转换为词向量,记为Bk。此时特征词与敏感词的相似
程度可量化为特征词向量与敏感词向量的相似度,即取两个向量内积空间的夹角的余弦值
为相似度 ,取值范围为[0,1],相似度越接近1表示两个词相似程度越大。
[0077]
[0078] 步骤三:特征词的敏感度计算:
[0079] 在敏感词库中,每个敏感词ck对应一个敏感级别 ,L值越大,则该敏感词的敏感程度越高。遍历敏感词库,对特征词aj,定义其最大敏感度为
[0080]
[0081] 其中,表示敏感词库,计算每个敏感词向量与特征词向量的相似度与敏感级别的乘积,取其中的最大值表示特征词 的最大敏感度。
[0082] 设置阈值参数θ,当 大于θ时,该特征词 才具有敏感性,否则不认为是敏感词,其敏感度记为0,即特征词 的敏感度为
[0083]
[0084] 步骤四:标注内容的敏感度计算:
[0085] 由于一条标注可由多个特征词构成,因此衡量标注的敏感度需考虑其所有的特征词的敏感度。另外,往往分布在靠近标注内容尾部的特征词,其敏感度对标注的敏感性影响
程度更大。例如“湖南省武警医院”,虽然“武警”为敏感词,但该医院对公众开放,不属于敏
感的标注内容。而如“某某核电站”、“某某军事基地”等,尾部的名词对标注的敏感性起决定
性作用。因此,考虑到特征词的位置分布,定义标注的敏感度为:
[0086]
[0087] 式中,标注 包含m个特征词,j表示 是该标注的第j个特征词, 为其敏感度,为1,2,…,m的累加和。得出特征词与标注内容的敏感度后,可将标注内容按敏
感度划分为高、中、低、非敏感4个级别。
[0088] (3)一种基于特征词敏感度的脱敏方法。
[0089] 根据方法(2)检测出标注内容中的敏感数据后,需要对敏感数据按敏感级别分别进行处理。
[0090] 步骤一:对于一些数据本身不敏感的标注内容,由于可能包含了与敏感词相似的特征词,而被算法误识别为敏感数据,对此可以构建地理标注信息的白名单,每次人工发现
算法误识别的非敏感数据时,将其加入白名单,以不断提高本发明模型的容错率。
[0091] 步骤二:为保证地图数据的可用性,不宜将所有敏感数据均做删除处理。算法识别出的敏感数据通过白名单筛选后,可以采用一些脱敏手段将其敏感度降低至非敏感级别,
以达到对外公布的要求。对高敏感级别的标注内容,由于其泄露后极易威胁地理信息安全,
因此采取直接删除的措施。对中、低等敏感级别的标注,提取其中的敏感特征词,随机选择
删除、替换、泛化等脱敏手段进行处理,重新计算其标注敏感度,迭代一定次数后若仍不符
合公开要求,则删除该标注。
[0092] 其中,替换时在非敏感词库中选择与当前敏感特征词相似度最大的非敏感词作为替换,泛化操作即将标注描述的具体内容抽象化,使描述范围包括更多的非敏感信息,例如
“解放军后勤基地”经泛化和替换操作后转换为“仓库”。