一种基于Spark互联网涉密地图检测算法的制作方法

文档序号:17080588发布日期:2019-03-09 00:13阅读:250来源:国知局
一种基于Spark互联网涉密地图检测算法的制作方法

本发明属于大数据技术应用、自然语言处理领域,主要涉及互联网地图敏感信息检测方法,是一种基于spark互联网涉密地图检测算法研究。



背景技术:

随着互联网与信息技术的迅速发展,电子地图服务已经成为人们生活中不可获缺的一部分,然而网络中出现大量的电子地图,在给人们生活提供便利的同时,也出现了一些不容忽视的问题。比如,国家地理信息的安全性问题,2015年9月,国家测绘地理信息局检查国内外大型商业网站、论坛、微博中的地理信息1.3万多条,发现存在“问题地图”服务275个,“问题地图”图片321个,违规兴趣点(pointofinterest,poi)标注2336个。地图涉密的主要载体是地图中违规标注poi信息,poi包含名称、经纬度等信息,一个poi可以表示一栋房子、一间商铺,同样可以表示为一个军事基地、军事禁区等。因此如果电子地图中标注了涉密poi信息,并公布在互联网上,将会严重损害国家利益,危害国家安全。

针对互联网地图涉密性检测,有研究通过结合矢量数字地图中的敏感位置信息量、敏感符号信息量、敏感几何信息量、敏感拓扑信息量、敏感注记信息量以及敏感属性信息量综合计算得到矢量数字地图的敏感信息量,从而评估数字地图的敏感等级。也有研究通过考虑计算地图中的poi敏感度来衡量地图文件的敏感值,从行政管理和软件识别技术两个方面提出了相应的解决方案。目前国内涉密地图检测研究还比较少,但是,在敏感词检测方面有许多相关研究,例如有通过建立敏感词库,中文分词,串匹配检测邮件中敏感词,从而判定邮件的敏感等级。也有人提出通过提取话题文本特征词,结合敏感词汇库基于条件随机场检测模型,对待测文档的特征项进行敏感性标注,以及提出基于核方法的敏感信息检测模型。

上述方法对于地图各属性信息量提取比较困难,地图敏感性检测难度大。而且,上述对于邮件或文档敏感性检测,主要是通过特征词与敏感词的直接匹配方式检测,但这种方式会存在敏感词覆盖不全面或者近义词无法识别的问题。因此,我们提出通过计算特征词与敏感词的相似度,来计算特征词语的敏感性。由于,我们的检测对象是地图中的poi短文本,所以根据地点poi属性另外提取3种特征,特征词在文本中的权重、特征词在poi文本中的位置属性以及特征词对应敏感词汇在敏感词库中的权值,通过上述的4种特征联合计算地图poi的敏感度。另外,互联网地图文件一般会带有一些附属信息,这也作为一种地图涉密性检测的属性。

随着互联网技术的飞速发展,各行各业数据呈现爆发式增长,相应的网络中地图数据也在迅速增长,使用传统的单机处理模式已经无法满足需求。分布式处理技术极大的推动了大数据的分析和处理,spark和hadoop是目前比较流行的分布式并行计算框架。我们采用spark作为涉密地图检测的大数据处理框架,因为spark不仅具有hadoop中mapreduce的优点,还是基于内存计算,并且具有调度优化机制和更加丰富的算子表达式,人们基于spark也做了许多相关研究。

通过考虑地图中标注地点poi和地图文件附属信息,分别提取文本的敏感信息,最后综合计算地图文件的敏感等级。本文提出一种基于spark的互联网涉密地图检测算法,不仅提高了地图检测的准确性,同时提高了地图检测的时间性能。



技术实现要素:

本发明解决的技术问题:本发明针对互联网电子地图附属信息以及地图标注地点信息的相关特性,提出一种互联网地图涉密检测算法模型。通过考虑电子地图附属信息和地图标注地点的敏感度来衡量地图的敏感等级,由于目前互联网中包含大量的地图数据,为了提高地图检测算法的性能,我们将检测算法在spark处理框架上实现,并行化处理地图数据,实现一种高效准确的涉密地图检测模型。

本发明的技术方案是:本发明对地图文件的处理主要分为三部分:数据预处理,文本特征提取,地图敏感度计算。数据预处理主要是对从互联网上获取到的不同格式地图文件解析,得到地图文件中地点poi和互联网上对地图描述的附属信息。文本特征提取主要是对地图附属信息和地图文件中poi文本进行特征提取,主要提取4部分特征:1.特征词与敏感词词汇的相似度,通过词汇相似度计算,可以解决敏感词库不全面以及同义词无法识别的情况。2.特征词在文本中的权重,不同的词语在文本中有不同的权重,也就是文本中的关键词所占权值最大,最能代表文本的意义,所以我们通过计算特征词在文本中的权重,衡量词语所代表的敏感度特征。3.特征词在poi文本中的位置属性,在poi地点位置信息中,特征词在poi文本的位置对于地点是否为敏感地点也有一定的影响。4.特征词对应敏感词汇在敏感词库中的权值,不同的敏感地点具有的敏感度也不相同,比如军事基地敏感度比基础设施敏感度高,所以我们也提取相应敏感词的权值作为特征。通过上述提取的4种特征,通过统计方式计算地图文件的敏感值,然后算法根据检测地图文件数据集敏感值由高到低顺序输出。由于互联网上存在大量地图数据,为了提高检测算法的处理性能,我们将算法在spark并行处理框架上运算。

附图说明

图1是本发明的系统架构图;

图2是本发明的总体流程图;

具体实施方式

为了更好的说明本发明的内容,以下参考说明书附图并根据实例对本发明的具体实施作进一步的阐述。

如图1(算法架构)所示为本发明提出的算法是在spark计算框架上执行的,数据存储、算法执行都是在spark框架上执行。如图2所示为本发明的总体流程图,包括:获取构建敏感词库,数据预处理模块,数据特征提取模块,地图文件敏感度计算模块,基于spark互联网涉密地图检测算法共四大模块。

以下具体说明本发明的详细实施过程。

s1:构建敏感词库。地图敏感度计算主要是通过提取特征词与敏感词的相似度,因此敏感词库的好坏对涉密地图检测算法具有重大的影响。我们首先定义单个敏感词的敏感词库s={s1,s2,...,sn},然而由于我们对地图中文本数据进行中文分词后,文本都被划分为了词语,而且存在部分涉密的地点也会被划分为不敏感的词语,例如“中国火箭研究基地”,这个文本被中文分词后会划分为“中国”、“火箭”、“研究”、“基地”四个词语,这四个词语独立检测不存在涉密情况,但是国家的火箭研究基地这种poi是不允许直接标注在地图文件上的。对于这种poi我们采用组合敏感词进行检测,即定义一种组合敏感词的敏感词库我们在构建敏感词库时,根据敏感词代表地点的敏感性不同,对该敏感词输入对应的权重v={υ1,υ2,...,υn},υi表示敏感词对应的权重。

s2:数据预处理。互联网上存在多种格式的地图文件,例如jpg,dwg,mapinfo等格式。我们使用m=(p,f)表示一种格式的地图文件,p表示地图中的poi标注地点集合,f表示地图文件的附属信息,其中p={p1,p2,......,pn},pi表示地图中一个标注地点。我们定义ms(pi)表示标注地点pi的敏感度,ms(p)和ms(f)分别表示地图标注地点敏感度和地图附属信息的敏感度。

通过计算地图poi信息和地图附属信息的敏感度综合计算得到地图文件的敏感信息,为计算地图poi和附属信息的敏感度,首先对数据进行预处理,数据预处理模块主要是对文本进行中文分词。本文使用的中文分词方法是spark上开源的ansj进行中文分词。ansj基于n-gram,crf,hmm实现的中文分词,分词准确率达到了96%以上,目前实现了中文分词,中文姓名识别,关键字提取,关键字标记等功能。我们使用ansj提取poi标注文本和地图附属信息的特征词,我们给出定义:表示文本分词后的特征词集合,l={l1,l2,......,ln}表示特征词在poi文本中的位置属性,主要取值为{b,i,e},表示特征词在poi文本句首,句中和句尾位置,位置属性向量定义是为了后续poi文本的特征提取。

s3:文本特征提取。通过数据预处理获取poi标注文本和地图附属信息的特征词向量,我们根据特征词提取文本的4种特征:特征词与敏感词汇的相似度、特征词在文本中的权重、特征词在poi文本中的位置属性以及特征词对应敏感词汇在敏感词库中的权值,下面介绍了文本特征提取的4种方法。

s31:特征词与敏感词的相似度。通过上述对地图文件的预处理,提取出地图文件的特征词,那么如何检测特征词的敏感度呢?目前,很多相关研究都是通过特征词与敏感词库中敏感词汇直接匹配的方式提取特征词的敏感度,但是这种检测方法势必会存在敏感词库覆盖不完全或者近义词无法识别的现象,所以本文采用检测特征词与敏感词相似度的方式,首先得到特征词与敏感词的相似度,当两个词语相似度大于一定阈值时,根据相似度量化特征词的敏感度。

互联网地图文件中的词语主要是地点类别信息,所以我们提取的特征词主要是地点类别的词语,对于特征词敏感性的检测,通过计算特征词与敏感词汇的相似度,得到特征词的敏感度。目前计算词语相似度有很多研究,常用的词语相似度计算方法有两种:基于世界知识或某种分类体系的方法和基于统计的上下文向量空间模型方法。第一类计算词语相似度的常用词典有知网(hownet)、wordnet和同义词词林,这三种词典的构造方法互不相同。因为我们的文本主要是短文本,即地图中的标注地点信息,所以适用于我们的词语相似度方法主要是基于词典分类体系的词语相似度计算方法,经过对比我们采用基于同义词词林的词语相似度计算方法。《同义词词林》是梅家驹等人于1983年编纂,词典不仅包括了一个词语的同义词,也包含了一定数量的同类词,后来哈尔滨工业大学信息检索实验室利用众多词语相关资源完成了《同义词词林扩展版》,我们计算词语相似度基于扩展版计算得到。

通过基于同义词词林的词语相似度算法,计算得到特征词ci与敏感词sj的相似度mij,因为敏感词库中存在多个敏感词汇,我们取敏感词库中与特征词相似度最大的词语,即mij=max(mij,j∈s)。本文定义特征词与敏感词的相似度超过阈值θ时,才认为特征词具有一定的敏感度,定义为:

通过上式计算的特征词存在敏感性时,我们在提取该特征词在文本中权重,以及特征词在poi文本中的位置,特征词对应敏感词汇的权值特征。

s32:特征词在文本中的权重。在文本中,不同的词语在文本中有不同的权重,也就是文本中的关键词所占权值最大,最能代表文本的意义。同理,我们提取出的地图文件文本,不同的特征词在文本中代表着不同的权重,如果权重大的特征词是敏感词汇,那么地图文件是涉密地图文件的可能性就高,反之,权重小的特征词是敏感词汇,那么相应地图文件是涉密地图的可能性就会低一点。目前,比较常用的词语权重提取有tf-idf算法,tf-idf是一种统计方法,用于评估一词语对于一个文件的重要程度,分别通过词频(termfrequency,tf)和逆向文件频率(inversedocumentfrequency,idf)来计算,公式为:

tf-idf=tf*idf(2)

式中词频tf和逆文档频率idf分别表示为:

其中ni,j表示词语ti在文件dj中出现的次数,nj表示文件dj词语总和。|d|为语料库中文件总数,|{j:ti∈dj}|为语料库中包含词语ti的文件数,为了防止除数为0,所以在分母上加1。

现有的tf-idf计算词语c权值中,计算逆文档频率idf是根据在网上搜索文档数|d|,然后在根据总文档中包含词语c的文档数|{j:ti∈dj}|,得到逆文档频率idf。但是我们目标文本主要是具有地理信息属性的文本,而且提取出的特征词一般都是地点名词,所以在计算tf-idf中的逆文档频率idf时,我们根据自己数据集中的特征文本集合计算逆文档频率idf,根据我们的提取的通用地点文本信息作为语料库中的文本,计算词语的tf-idf权值wi。公式表示为:

其中ni,j表示词语ci在文本pj中出现的次数,nj表示文本pj词语总和。|p|为我们数据集文本总和,|{j:ci∈pj}|为语料库中包含词语ci的文本数。

s33:特征词在poi文本中的位置。在地图poi文本敏感性判别中,有这样一种情况,例如“菜园坝军营公交站”这一poi名称中包含“军营”涉密关键词,那这个poi会被识别为涉密地点,但是经过人工识别这个poi并不是涉密地点,而是一个公交站。我们分析原因可知,涉密关键词在poi文字中的位置对于poi的是否为涉密地点也会存在一定的影响。因此我们在前面数据预处理时,对文本中文分词记录相应特征词在文中的位置,使用l={l1,l2,......,ln}表示特征词的位置属性,其中li∈{b,i,e},{b,i,e}分别表示特征词在poi文本首部,中间和尾部位置。

s34:特征词对应敏感词汇的权值。地图中不同的地点根据与军事基地关联程度,以及对于国家的地理环境安全影响的差异导致其敏感性不同。国家测绘局地图审查中心《公开地图内容表示补充规定》中也规定了军用机场、作战工程等位置具有较高的敏感性。也有文献通过构建地理对象的敏感系数来衡量地理对象的敏感性高低,我们量化地理对象为与军事用途直接相关的地理对象,与军事用途间接相关的地理对象,国家大型基础设施三类地理对象,使用符号v表示地理对象的敏感权值,v∈{1,0.7,0.4},具体取值见表3.1。对于怎么识别特征词属于哪一类地理对象,我们根据敏感词汇进行识别,我们在构建敏感词汇库的时候,每个敏感词对应一个敏感权值,这个权值即为v,当我们识别出特征词与敏感词相似度符合阈值时,提取出敏感词对应的权值。

表1.1地理对象的分类

s4:地图文件敏感度计算方法。互联网上地图文件涉密的载体,主要是描述文件的附属信息和地图文件标注地点poi。我们计算地图文件附属信息的敏感度ms(f)和地图标注地点poi的敏感度ms(p)联合计算地图的敏感度ms(m),公式为:

ms(m)=α·ms(p)+β·ms(f)(6)

式中,α,β分别为地图附属信息敏感度和地图标注地点poi敏感度所占权重。

对于地图文件中地图附属信息和地图标注地点poi信息的敏感度计算,通过中文分词得到地图附属信息和地图标注地点poi的特征词集合。我们通过提取特征词的四种特征计算特征词的敏感度,由于标注地点poi是地点短文本,所以我们考虑了特征词在短文本中的位置特征,而地图文件附属信息是整段文本,我们不考虑特征词的位置特征。根据上述提取特征,地图文件附属信息特征词敏感度和地图文件标注地点poi特征词敏感度公式表示为:

式中,ωi表示特征词在文本中的tf-idf权重,mij表示特征词i与敏感词j的相似度,vj表示敏感词j对应的权重。

式中,li表示特征词i在poi文本中的位置属性。

地图中包含许多的标注地点poi,我们通过计算单个标注地点的敏感度来得到整个地图的标注地点敏感度ms(p)。通过poi文本中特征词的敏感度计算单个标注地点的敏感度,公式为:

然后根据单个标注地点的敏感度,计算的到地图标注地点敏感度ms(p),公式为:

根据地图附属文件提取出特征词的敏感度计算附属文件敏感度ms(f),即为:

由此,我们可以计算一个互联网地图文件的敏感度为:

本发明通过考虑地图文件敏感性载体主要是在地图附属信息和地图文件的poi标注文本中,结合中文分词,词语相似度计算,词语权值计算等自然语言处理算法提取地图信息文本的四种特征。根据提出的四种特征,分别计算地图附属信息和地图poi文本集的敏感度,通过统计计算方式计算得到整个地图文件的敏感值。由于互联网存在大量的地图数据,而且地图文件格式存在差异性,为了提高数据算法的执行效率,我们将算法在spark并行处理框架上实现,经过仿真测试算法在检测准确性和执行性能方面均有提高。需要强调的是本发明是一种针对地图文件的涉密检测算法,能够较好解决检测互联网中地图文件的涉密性。

应当指出上述具体的实施例,可以使本领域的技术人员和读者更全面地理解本发明创造的实施方法,应该被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。因此,尽管本发明说明书参照附图和实施例对本发明创造已进行了详细的说明,但是,本领域的技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵盖在本发明创造专利的保护范围当中。

本发明公开了一种基于spark互联网涉密地图检测算法,自然语言处理,大数据分析领域。主要包括构建敏感词库,地图文本预处理,地图文件特征提取,地图文件敏感度统计计算四个实施阶段。首先,对原始地图数据使用中文分词ansj算法进行预处理,获取地图文件特征词。其次,使用基于同义词词林词语相似度计算算法,tf-idf词语权值计算算法计算特征词的敏感度,提取地图文件特征。最后根据地图文件特征,统计计算地图附属信息和地图文件中若干poi标注地点的敏感度,从而得到相应地图文件的敏感值。另外,为了提高算法执行效率,相应的中文分词算法ansj,tf-idf算法以及地图敏感度统计计算均在spark并行计算框架上实现,提高算法执行效率,方便及时监测互联网上的地图数据。需要强调的是本发明是对互联网上不同格式地图文件进行检测,是一种有效的互联网涉密地图检测算法。

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