公开/公告号CN112463804A
专利类型发明专利
公开/公告日2021-03-09
原文格式PDF
申请/专利权人 湖南大学;
申请/专利号CN202110139298.4
申请日2021-02-02
分类号G06F16/22(20190101);G06F16/29(20190101);G06F21/57(20130101);G06F21/62(20130101);G06F40/289(20200101);
代理机构44260 深圳市兴科达知识产权代理有限公司;
代理人殷瑜
地址 410082 湖南省长沙市岳麓区麓山南路1号
入库时间 2023-06-19 10:08:35
技术领域
本发明涉及地理信息数据处理领域,尤其涉及一种基于KDTree的图像数据库数据处理方法。
背景技术
近年来,计算机技术的迅猛发展推动了地理信息系统技术的发展与进步。地理信息系统(Geographic Information System,GIS)涉及地理学、测绘学、计算机科学与技术等多个学科,以计算机为工具,将地理空间数据作为研究对象,把地图这一独特的可视化效果和地理分析功能与数据库操作集成在一起,为地理、规划与管理等许多行业和部门提供决策信息。
目前,随着移动互联网的发展,人们日常出行时对基于地理信息的服务需求不断增加。各类电子地图的广泛应用,在给人们工作、生活提供便利的同时,也带来不少安全隐患问题。其中,地图标注信息安全保护是值得研究的一个问题。地图标注信息中可能包含一些敏感内容,比如国家战略资源、军事禁地、国防设施等。对此,国家出台了多项法律规定和政策,如《公开地图内容表示补充规定(试行)》、《基础地理信息公开表示内容的规定(试行)》等,明确规定了公开地图中能表示和不能表示的内容,从法律政策层面加强了地理信息安全保护工作。目前各机构单位采用了内网隔离的技术手段以保障数据安全,并要求在将地理信息发布至外网之前,需要对内网中的敏感数据进行脱敏处理。
在现实场景中,地图上的标注内容以属性表的形式保存,为使得表达效果美观、完整,部分标注由多个单字构成,如属性表中用多条由单字构成的记录来表示一个地名,当在地图上搜索关键字时容易遗漏部分标注内容。在该情况下,现存的脱敏处理工作不得不依赖于人工检查地图中每个区域的标注内容,对此进行审核识别和处理,这种方式仍存在内容遗漏问题,且市级以上的地图区域庞大、内容复杂,人工处理工作繁琐,效率低下。因此,迫切需要研究一种基于计算机技术整合地图中的标注信息并进行脱敏处理的方法,这对维护地理信息安全具有重要意义。
对由多个单字构成的标注内容,常见的划分方法为词法分析,即将字符序列转换为单词序列,把接收到的一串连续的字符切分成单个的词,再将得到的词与敏感词库进行匹配,进而检测出敏感信息。然而,当对标注包含的多个单字执行常规的增加、删除或修改操作,可能导致这些单字在属性表中乱序、重复排列,仅采用简单的分词无法处理该情况。
虽然标注内容在属性表中的排列不规则,但在地图中每个字符均关联一个位置坐标,待整合的标注字段在位置分布上有很强的相关性,如排列更紧密、从上至下、从左至右、几乎分布在一条直线上等。本发明利用了地图标注的位置信息,实现了对地理空间数据中标注内容的遍历、整合和敏感信息脱敏处理。
名词解释:KDTree(k-dimensional树):是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。
jieba分词:一款非常流行中文开源分词包,具有高性能、准确率、可扩展性等特点,目前主要支持python,其它语言也有相关版本。
word2vec:是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。
发明内容
本发明提出了一种基于KDTree(k-dimensional树)的图像数据库数据处理方法。本发明利用了地图标注的位置信息,实现了对地理空间数据中标注内容的遍历、整合和敏感信息脱敏的自动处理,克服了现有人工处理下工作繁琐,效率低下且容易出错以及出现漏洞的现象。
为实现上述目的,本发明的技术方案如下所示:
一种基于KDTree的图像数据库数据处理方法,包括如下步骤:
步骤一、基于KDTree对地图标注信息进行遍历和整合,得到由n条标注构成的标注集S={s
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进行基于词语相似度的敏感信息检测,将地图标注内容进行敏感度分级;
步骤三、根据地图标注内容的敏感度等级进行对应的脱敏处理。
进一步的改进,步骤1.4中,所述整合条件要求如下:
单字点q未处理过,即vis[q]=0;
情况一、当已整合字段中只包含一个当前单字点p,则当前单字点p与近邻结点集中与前单字点p距离最近的单字点q进行整合;当近邻结点集中只有单字点p,则单字点p自身构成一个标注;
情况二、当已整合字段中包含两个及以上字时,即由多个字构成的字段与单字点q进行整合时,判断单字点q与已整合字段构成的新字段s中所有的字是否处于同一直线且由每相邻两个字的距离构成的数组的极差R是否满足:
其中,Len表示构成的新字段s中所包含的单字个数,
上述2个整合条件,若均满足则多个字构成的字段与单字点q进行整合,若至少有一个不满足,则多个字构成的字段不与单字点q进行整合。
进一步的改进,在整合前,首先排除重复字的干扰,若p、q对应的字框相交、且字的内容相同,则p、q是重复字,在属性表中删除q实现去重。
进一步的改进,步骤1.7中针对水平分布的标注,将标注中的单字按照横坐标自小到大的顺序,从左到右按照顺序排列。
进一步的改进,所述步骤二包括如下步骤:
2.1:对标注内容采用中文分词技术进行分词:
针对标注集S的每条标注内容si,采用中文分词技术和词向量构建技术转换为多个词向量;得到si={a1,a2,…,am},a1…am为划分后得到的m个特征词;
2.2:对特征词和敏感词采用词向量构建技术转换为词向量:
使用word2vec将特征词转换为词向量,第j各特征词aj转换后的词向量记为Aj;同样地,将敏感词库中所有敏感词bk转换为词向量,记为Bk;将特征词与敏感词的相似程度量化为特征词向量与敏感词向量的相似度,即取两个向量内积空间的夹角的余弦值为相似度,取值范围为[0,1],相似度越接近1表示两个词相似程度越大;
2.3特征词的敏感度计算:
在敏感词库中,每个敏感词ck对应一个敏感级别
其中,
设置阈值参数θ,当
2.4 标注内容的敏感度计算:
定义第i个标注
式中,标注
进一步的改进,所述步骤三包括如下步骤:
3.1构建地理标注信息的白名单,每次人工发现算法误识别的非敏感数据时,将非敏感数据加入白名单,提高容错率;
3.2敏感数据通过白名单筛选后,对高敏感级别的标注内容,采取直接删除的措施;对中、低等敏感级别的标注,提取其中的敏感特征词,随机选择删除、替换、泛化的脱敏手段进行处理,然后重新计算脱敏后的标注敏感度,迭代预设次数后若仍不符合公开要求,则完全删除对应标注;其中,选择替换时在非敏感词库中选择与当前敏感特征词相似度最大的非敏感词作为替换,选择泛化操作时即将标注描述的具体内容抽象化,使描述范围包括更多的非敏感信息。
本发明的优点:
本发明利用了地图标注的位置信息,实现了对地理空间数据中标注内容的遍历、整合和敏感信息脱敏的自动处理,克服了现有人工处理下工作繁琐,效率低下且容易出错以及出现漏洞的现象。
附图说明
图1为本发明工作流程图。
具体实施方式
如图1所示的一种基于KDTree的图像数据库数据处理方法,包括如下步骤:
(1)基于KDTree对地图标注信息遍历和整合;
(2)基于词语相似度的进行敏感信息检测;
(3)基于特征词敏感度的进行脱敏。
具体内容如下:
(1)一种基于KDTree的地图标注信息遍历和整合的方法:
该方法利用了地图标注信息在位置分布上的相关性,考虑所有单字构成的点,贪心地认为在一定范围内,距离当前单字所在点最近的另一个点,能满足两者整合成词的条件,当无法满足整合成词的条件时,则在该范围内考虑其他点,具体流程如下:
步骤一:提取属性表中所有单字在地图上的位置坐标和字符内容,根据每个字的二维坐标构建KDTree。KDTree是一种分割k维数据空间的数据结构,常用于范围搜索和最近邻搜索。
步骤二:由于人们往往按从上到下、从左到右的顺序进行阅读,因此在整合标注内容之前,将所有单字按纵坐标由大到小的顺序进行排列,以便将后续访问的单字按顺序加入到当前已整合的字段内,得到初步的队列Q。创建一个标记数组vis[],记录每个单字是否已处理,初始化为0。遍历队列Q直至队列为空:
步骤三:若当前点p已处理,即vis[p]=1,则跳至队列中的下一个点;若vis[p]=0,则在KDTree中查找距离当前单字点p范围为阈值[0, ε]的点,得到当前单字点p的近邻结点集,在近邻结点集中按距离点p由近到远的顺序查找一个满足与当前单字点p整合条件的单字点q,若成功找到,则将当前单字点替换为q,并置vis[q]为1; 步骤四:重复步骤三,直至近邻结点集中没有与当前单字点可以整合的单字点,则整合在一起的单字点作为一条标注,并按照初步的队列Q中单字的排列顺序,处理下一个未处理的单字;
步骤五:重复步骤三到四,至初步的队列Q中单字均完成处理,得到地图上的各条标注。
另外,在将一个未处理的点整合入一个已处理的字段时,还需满足所构成的新字段s中所有的字处于同一直线且每相邻两个字的距离相近,即在地图上的位置分布满足构成一个标注的条件,否则不进行整合。整合时对纵坐标几乎无变化,而横坐标变化较大的字段,在合并时要将横坐标较小者放在标注内容的前端,即从左至右的顺序。
队列Q为空后,所有单字处理完毕,整合后得到的标注集记为S={s
(2)一种基于词语相似度的敏感信息检测方法:
对于标注集S,为了保护数据安全,需要进行基于词语相似度的敏感信息检测,主要包括以下四步:
步骤一:对标注内容采用中文分词技术进行分词:
首先,针对标注集S的每条标注内容s
步骤二:对特征词和敏感词采用词向量构建技术转换为词向量:
本发明使用word2vec将特征词转换为词向量,每个特征词a
步骤三:特征词的敏感度计算:
在敏感词库中,每个敏感词c
其中,
设置阈值参数θ,当
步骤四:标注内容的敏感度计算:
由于一条标注可由多个特征词构成,因此衡量标注的敏感度需考虑其所有的特征词的敏感度。另外,往往分布在靠近标注内容尾部的特征词,其敏感度对标注的敏感性影响程度更大。例如“湖南省武警医院”,虽然“武警”为敏感词,但该医院对公众开放,不属于敏感的标注内容。而如“某某核电站”、“某某军事基地”等,尾部的名词对标注的敏感性起决定性作用。因此,考虑到特征词的位置分布,定义标注的敏感度为:
式中,标注
(3)一种基于特征词敏感度的脱敏方法。
根据方法(2)检测出标注内容中的敏感数据后,需要对敏感数据按敏感级别分别进行处理。
步骤一:对于一些数据本身不敏感的标注内容,由于可能包含了与敏感词相似的特征词,而被算法误识别为敏感数据,对此可以构建地理标注信息的白名单,每次人工发现算法误识别的非敏感数据时,将其加入白名单,以不断提高本发明模型的容错率。
步骤二:为保证地图数据的可用性,不宜将所有敏感数据均做删除处理。算法识别出的敏感数据通过白名单筛选后,可以采用一些脱敏手段将其敏感度降低至非敏感级别,以达到对外公布的要求。对高敏感级别的标注内容,由于其泄露后极易威胁地理信息安全,因此采取直接删除的措施。对中、低等敏感级别的标注,提取其中的敏感特征词,随机选择删除、替换、泛化等脱敏手段进行处理,重新计算其标注敏感度,迭代一定次数后若仍不符合公开要求,则删除该标注。
其中,替换时在非敏感词库中选择与当前敏感特征词相似度最大的非敏感词作为替换,泛化操作即将标注描述的具体内容抽象化,使描述范围包括更多的非敏感信息,例如“解放军后勤基地”经泛化和替换操作后转换为“仓库”。
机译: 一种数据处理方法,一种执行这种数据处理方法的设备,一种通过执行这种数据处理方法产生的数据载体,一种与这种数据处理方法一起使用的解码器以及一种包括这种解码器的设备
机译: 基于计算机的用于处理地下矿井中的多次潜水的方法,存在的介质,基于计算机的用于基于矿井中的矿物处理井底数据的方法的方法一个基于计算机的地下信息系统。根据地下矿井中的矿物来处理数据,并基于计算机对地下矿井中的数据进行处理的方法,仓储腿目前的计算机系统是基于计算机的,用于处理基于地下的一种形式的多次潜水。计算机根据地下矿井中的矿物质来处理数据u00e7o地下,以及基于计算机的数据处理方法
机译: 一种基于用户提供的语义成分从图像数据库中检索图像的方法