一种含敏感度计算的网页过滤方法
【专利摘要】本发明涉及一种含敏感度计算的网页过滤方法,属于信息过滤【技术领域】。本发明通包括步骤:S1,实验语料库收集;S2,语料库的构建及敏感信息语料库的构建;S3,页面信息预处理;S4,页面词语总数统计及敏感词语总数统计;S5,页面敏感度的判断。本发明采用含页面敏感度计算的搜索结果中有效地剔除了敏感信息,且根据当前页面的链接计算该链接所含信息的敏感度,从而可以深度挖掘敏感信息并予以避免;通过阈值的控制以及敏感度的计算可有效地将不同暴力指数的暴力游戏页面显示出来,从而可以有效地控制不同级别或年龄段人群的需求。
【专利说明】一种含敏感度计算的网页过滤方法
【技术领域】
[0001]本发明涉及一种含敏感度计算的网页过滤方法,属于信息过滤【技术领域】。
【背景技术】
[0002]敏感信息过滤是当前自然语言处理研究中的热点问题之一,如何判断一个文本或网页信息中是否含有敏感性信息问题,是当前搜索引擎以及社交网络研究的关键问题。目前网络环境中充斥着大量违背伦理道德、社会安定等信息。
[0003]为了净化网络环境,已经出现了很多敏感性词汇过滤的方法。通常在敏感信息过滤中,敏感词库的收集、敏感词过滤的方法、对应语料库和敏感词库的组织结构以及敏感词的匹配策略均是敏感信息过滤的重要组成部分,其直接影响敏感信息过滤的准确率和效率。通常人们为了避免敏感词过滤而主观地加上一些如〃$、&、*〃等一些特殊字符。一般的敏感信息过滤算法遇到这种情况则无法判断该词是否为敏感词、从而可通过人为干预避开过滤算法的作用。普通的敏感信息过滤策略通过捕获页面信息中的敏感词,只要含有敏感词汇均不予以显现。从安全控制级别以及信息需要的角度来看,这种策略不能灵活地修改控制力度。
【发明内容】
[0004]本发明提供了一种含敏感度计算的网页过滤方法,以用于解决普通的过滤算法不能灵活地修改控制力度的问题。
[0005]本发明的技术方案是:一种含敏感度计算的网页过滤方法,所述网页过滤方法的具体步骤如下:
A、实验语料库收集:收集敏感词作为敏感词语料库;收集敏感词及非敏感词作为语料库,将敏感词语料库添加到语料库中形成新的语料库;
B、语料库的构建及敏感信息语料库的构建:根据语料库及敏感信息语料库规模的不同分别以不同的组织结构存放在内存里:其敏感信息语料库规模较小,采用List结构;语料库规模较大,采用Trie树结构;
C、页面信息预处理:首先对页面信息进行URL链接提取,用以获取二级页面信息,将当前页面和二级页面信息进行无效词语及符号删除;
D、页面词语总数统计及敏感词语总数统计:
将页面信息的分词结果与语料库一一比对,把匹配到的词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有词语出现的总次数Ta ;
将页面信息的分词结果与敏感信息语料库一一比对,把匹配到的敏感词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有敏感词语出现的总次数Ts ;
E、页面敏感度的判断:根据页面所有词语出现的总次数7;和所有敏感词语出现的总次数Ts,计算敏感度S二 arcsin、TjTa\并将S与阈值Vs进行比较:
如果K > &则说明页面信息敏感度没有超过阈值,显示页面信息;
如果K ( A则说明页面信息敏感度超过了阈值,不显示页面信息。
[0006]所述无效词语及符号包括语气助词以及数字。
[0007]所述阈值匕的取值范围为0-1。
[0008]本发明的有益效果是:采用含页面敏感度计算的搜索结果中有效地剔除了敏感信息,且根据当前页面的链接计算该链接所含信息的敏感度,从而可以深度挖掘敏感信息并予以避免;通过阈值的控制以及敏感度的计算可有效地将不同暴力指数的暴力游戏页面显示出来,从而可以有效地控制不同级别或年龄段人群的需求。
【专利附图】
【附图说明】
[0009]图1为本发明的流程图。
【具体实施方式】
[0010]实施例1:如图1所示,一种含敏感度计算的网页过滤方法,所述网页过滤方法的具体步骤如下:
A、实验语料库收集:收集敏感词作为敏感词语料库;收集敏感词及非敏感词作为语料库,将敏感词语料库添加到语料库中形成新的语料库;
B、语料库的构建及敏感信息语料库的构建:根据语料库及敏感信息语料库规模的不同分别以不同的组织结构存放在内存里:其敏感信息语料库规模较小,采用List结构;语料库规模较大,采用Trie树结构;
C、页面信息预处理:首先对页面信息进行URL链接提取,用以获取二级页面信息,将当前页面和二级页面信息进行无效词语及符号删除;
D、页面词语总数统计及敏感词语总数统计:
将页面信息的分词结果与语料库一一比对,把匹配到的词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有词语出现的总次数Ta ;
将页面信息的分词结果与敏感信息语料库一一比对,把匹配到的敏感词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有敏感词语出现的总次数Ts ;
E、页面敏感度的判断:根据页面所有词语出现的总次数7;和所有敏感词语出现的总次数Ts,计算敏感度S二 arcsin、TjTa\并将S与阈值Vs进行比较:
如果K > &则说明页面信息敏感度没有超过阈值,显示页面信息;
如果K ( A则说明页面信息敏感度超过了阈值,不显示页面信息。
[0011]所述无效词语及符号包括语气助词以及数字。[0012]所述阈值匕的取值范围为0-1。
[0013]实施例2:如图1所示,一种含敏感度计算的网页过滤方法,所述网页过滤方法的具体步骤如下:
A、实验语料库收集:收集敏感词作为敏感词语料库;收集敏感词及非敏感词作为语料库,将敏感词语料库添加到语料库中形成新的语料库;
B、语料库的构建及敏感信息语料库的构建:根据语料库及敏感信息语料库规模的不同分别以不同的组织结构存放在内存里:其敏感信息语料库规模较小,采用List结构;语料库规模较大,采用Trie树结构;
C、页面信息预处理:首先对页面信息进行URL链接提取,用以获取二级页面信息,将当前页面和二级页面信息进行无效词语及符号删除;
D、页面词语总数统计及敏感词语总数统计:
将页面信息的分词结果与语料库一一比对,把匹配到的词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有词语出现的总次数Ta ;
将页面信息的分词结果与敏感信息语料库一一比对,把匹配到的敏感词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有敏感词语出现的总次数Ts ;
E、页面敏感度的判断:根据页面所有词语出现的总次数7;和所有敏感词语出现的总次数Ts,计算敏感度S二 arcsin、TjTa\并将S与阈值Vs进行比较:
如果K > &则说明页面信息敏感度没有超过阈值,显示页面信息;
如果K ( A则说明页面信息敏感度超过了阈值,不显示页面信息。
[0014]所述无效词语及符号包括语气助词以及数字。
[0015]所述阈值匕的取值范围为0-1。
[0016]所述方法的具体实施步骤为:
步骤s1:实验语料库收集。
[0017]实验训练语料库来源于两部分:第一部分是1998年人民日报的切分预料(约19980122个汉字,含重复字,其中包含环境、人文、交通、社会、经济、体育、艺术、政治、犯罪、外交、生活等多个方面的信息)作为语料库;第二部分是通过爬取和暴力、反动、色情、恐怖、赌博、教唆犯罪等相关的页面信息(一共爬取了 100000个页面)作为敏感信息语料库;将得到的敏感信息语料库添加到语料库中,以形成新的语料库。
[0018]步骤s2:语料库(上述新的语料库)的构建及敏感信息语料库的构建。
[0019]语料库的构建结构取决于训练得到的字典规模。
[0020]Trie树结构的数据结构可有效减少分词处理词语匹配时对整个语料库的扫描。它首先对词语首字匹配,若匹配到对应的字则将首字设为root进行下一个字的匹配,若首字不匹配则说明以该字为首的词语也不可能匹配,从而可以大大减少匹配词语时的时间消耗。Trie树搜索算法在最坏情况下的时间复杂度为0(level), level是Trie树的层数。
[0021]敏感信息语料库的构建。敏感信息语料库与前面的语料库主要的不同之处在于它的规模较语料库要小很多,其属于前面的语料库的一部分,但不含词频。主要是用与分词后敏感信息的提取,以获取页面中的敏感信息。敏感信息语料库采用Python List结构存储在内存中,主要是因为Python的List结构提供了不同的数据类型支持以及丰富的API,且在数据规模较小的情况下,判断List中是否含有某一元素效率极高。
[0022]步骤s3:页面信息预处理。利用Python开源组件BeautifulSoup中的prettify函数来格式化页面信息,通过在页面信息中查找标签’ <a>’开头的语句定位url链接所处的位置,然后通过获取以’<a>’开始的信息中’href’后面的链接来获取当前页面信息中的所有url链接。根据当前页面URL链接获取该些链接所指页面信息。除掉获取到的页面信息中无用的词语(如:啊、的、得、呢等)及阿拉伯数字(0-9)。
[0023]步骤s4:页面词语总数统计及敏感词语总数统计(包括当前页面及二级页面信息)。通过Trie树查找算法将页面中的信息分词后,存储在Python Dictionary结构中,其Dictionary中元素的组织结构为:{key:value,...},采用以页面信息中的词语为key,词语出现的次数为value,根据Dictionary的特点(key值不能为重复值这一特性),对于重复的key,通过对Dictionary中key的value值加1来统计词语出现的次数。判断某一敏感词是否重复出现来统计该敏感词出现的词频: 设某敏感词为K1,第一次出现K1时,其保存的数据结构为{K1:1},若下一个敏感词仍为K1时,Dictionary的结构为{Kl:2}即将value增加1,否则保存为{K2:l},依次类推。为了方便计算词语的总次数,将Dictionary中的{keyl: valuel, key2: value2,...}结构转换为逆序嵌套List,即为[[wl, vl], [w2, v2],...]结构,采用经过由Dictionary转换而来的List存储格式可以极大地减少空间的浪费,可方便地统计某敏感词出现的次数,且提高了数据的聚合性。
[0024]步骤s5:页面敏感度的判断。
[0025]通过上述步骤将获取到的所有敏感词语出现的总次数Ts以及所有词语出现的总次数Ta求反正弦arcsin、TjTa\并将其值与阈值Vs进行比较。
[0026]if arcsin (TjTa) < Vs:
htm = html.get (’title’)+ 〃 〃 + html.get (’rel’)//显不页面标题以及url 链接elif arcsin (Ts/Ta) >= Vs:htm = null //不显示任何消息表1暴力游戏领域页面敏感度计算实验结果
阈值控制级别阈值为0阈值为0.5阈值为1
搜索类别暴力-戏
搜索规糢(条)100100100
不含敏感词记录数(条)75196
符合率(%)7%51%96%
通过以上的实验和实例数据分析,阈值为0即没有任何的敏感度过滤处理时搜索结果中含有近93%的超过未成年人可接受的信息暴力信息,而符合未成年人的游戏信息显示的较少,且在阈值控制级别不同的情况下搜索到的含暴力信息的数据量也相对有所不同,实验表明通过控制不同级别的阈值控制可以有效地控制搜索结果中的敏感信息量。
[0027]上面结合附图对本发明的【具体实施方式】作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
【权利要求】
1.一种含敏感度计算的网页过滤方法,其特征在于:所述网页过滤方法的具体步骤如下:A、实验语料库收集:收集敏感词作为敏感词语料库;收集敏感词及非敏感词作为语料库,将敏感词语料库添加到语料库中形成新的语料库;B、语料库的构建及敏感信息语料库的构建:根据语料库及敏感信息语料库规模的不同分别以不同的组织结构存放在内存里:其敏感信息语料库规模较小,采用List结构;语料库规模较大,采用Trie树结构;C、页面信息预处理:首先对页面信息进行URL链接提取,用以获取二级页面信息,将当前页面和二级页面信息进行无效词语及符号删除;D、页面词语总数统计及敏感词语总数统计:将页面信息的分词结果与语料库一一比对,把匹配到的词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl, vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有词语出现的总次数Ta ;将页面信息的分词结果与敏感信息语料库一一比对,把匹配到的敏感词语及该词语出现的总次数以{keyl: valuel, key2: value2,...}结构存放在 Python 的 Dictionary 中,然后将Dictionary结构转换成[[wl,vl], [w2, v2],...]形式的逆序嵌套List ;通过计算List中嵌套List的value之和便可统计出页面所有敏感词语出现的总次数Ts ;E、页面敏感度的判断:根据页面所有词语出现的总次数7;和所有敏感词语出现的总次数Ts,计算敏感度S二 arcsin、TjTa\并将S与阈值Vs进行比较:如果K > &则说明页面信息敏感度没有超过阈值,显示页面信息;如果K ( A则说明页面信息敏感度超过了阈值,不显示页面信息。
2.根据权利要求1所述的含敏感度计算的网页过滤方法,其特征在于:所述无效词语及符号包括语气助词以及数字。
3.根据权利要求1或2所述的含敏感度计算的网页过滤方法,其特征在于:所述阈值匕的取值范围为0-1。
【文档编号】G06F17/30GK103678602SQ201310685717
【公开日】2014年3月26日 申请日期:2013年12月16日 优先权日:2013年12月16日
【发明者】张晶, 刘志, 陈沫良, 严涵, 沈江炎 申请人:昆明理工大学