首页> 中国专利> 基于动态划分与语义加权的干扰过滤匹配算法

基于动态划分与语义加权的干扰过滤匹配算法

摘要

本发明公开了一种基于动态划分与语义加权的干扰过滤匹配算法,所述算法包括:干扰过滤机生成模块,用于根据当前关键字与字符编码方式,动态生成相对应的干扰过滤机;字符对应干扰权值与干扰阈值求解模块,用于计算当前编码环境下所有编码子集对应的字符干扰权值与总体干扰阈值;匹配算法执行模块,用于使用干扰过滤机,结合干扰权值与干扰阈值,对匹配串进行指定模式串的带干扰过滤的匹配。本算法的特色在于:能动态的划分相对干扰信息,且可有效的识别过滤利用交叉码集进行关键字干扰的字符;使用干扰权值来标示干扰字符所携带的信息量,并使用总体干扰阈值来降低干扰过滤匹配可能产生的误报。本发明算法可广泛应用于各类可能存在干扰信息的网络数据与文档的关键字匹配、过滤与内容审计。

著录项

  • 公开/公告号CN103336761A

    专利类型发明专利

  • 公开/公告日2013-10-02

    原文格式PDF

  • 申请/专利权人 成都网安科技发展有限公司;

    申请/专利号CN201310188412.8

  • 发明设计人 朱永强;江雪;

    申请日2013-05-14

  • 分类号G06F17/22;G06F17/30;

  • 代理机构

  • 代理人

  • 地址 610092 四川省成都市青羊工业总部基地G6C

  • 入库时间 2024-02-19 20:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-19

    授权

    授权

  • 2015-02-25

    实质审查的生效 IPC(主分类):G06F17/22 申请日:20130514

    实质审查的生效

  • 2013-10-02

    公开

    公开

说明书

技术领域

本发明属于信息处理技术领域,特别涉及一种基于动态划分 与语义加权的干扰过滤匹配算法。

背景技术

随着信息技术的发展,网络与电子文档已经成为了信息的重 要载体之一人们的工作、学习和生活都与网络与计算机息息相 关。信息时代,电子文档与网络成为信息的重要载体之一,但它 们在给人们提供方便与快捷的服务同时,也衍生出了很多问题, 如仔网络中不良信息可以更快的泛滥与传递,含有非法或不良信 息的电子文档可以在PC机中更隐蔽的隐藏等等。当前,无论是 过滤网络上的不良信息,还是发现或取证PC机上的可疑电子文 档,其核心技术,都是指定关键字下的模式匹配算法,以此发现 或屏蔽不良信息。

模式匹配算法的概念为:设模式串为s,匹配串为t,则算 法依据某种规则,即在串t中寻找串s的所有出现。模式匹配算 法应用于网络或PC机关键字检索与过滤时,通常由管理员配置 所关心的关键字,在对所关注的电子信息进行多关键字的精确匹 配。

为了绕过关键字检索,不良信息的发布者往往对信息中敏感 字进行处理,最典型的做法即为在信息关键字当中加入部分干扰 信息,其目的在于使关键字可绕过管理系统的关键字匹配,但需 保证人眼依旧能够正常辨识,如设‘保密’为一敏感词,则信息 发布者常将其处理为形如‘保#*密’的形式,在保证了人眼可正 常辨识的同时,也绕过了关键字的精确模式匹配算法。

目前,针对这种在关键字之中加入干扰信息的手段,主要采 用对少量特殊字符进行指定过滤,如:申请号为200810104017.6、 发明名称为《利用短信网关发送垃圾短信的监控与过滤方法及系 统》,提到了一种“标点符号、非字母汉字类字符和空格对应替 换为空字符”的处理方法;四川师范大学硕士学位论文《基于HTTP 协议面向中文文本的过滤技术研究》(作者:乐妍,2009年)中, 提到了一种“剔除标点符号、数字、字母及非法文本的分割伪装” 的方法,此类方法,都预先将干扰类字符固定,并且第一种方法, 无法识别形如‘保asd密’式的干扰,而第二种方法,则会导致 无法在文本中搜索本身即带有数字或英文的字符,如‘F1大奖 赛’、‘第13集团军’等,总之,此类方法在匹配中只过滤某一 类特定码值,过滤方式不灵活,智能性差,对于以交叉字符类方 式存在的干扰信息,如“保asd123密”类的信息,无法做出正 确识别,且由于这些算法对干扰字符定死,一旦要搜索的字符为 干扰集内的元素(如数字、英文),则根本无法进行搜索。

综上,有必要设计一种更具智能的干扰过滤算法,可以对以 交叉字符类方式存在的干扰信息进行准确过滤,且可支持全部的 字符类型匹配与过滤。

发明内容

为解决现有干扰信息过滤算法不够智能、无法识别交叉字符 方式的干扰、存在扫描死角等缺点,本发明提出了一种基于动态 划分与语义加权的干扰过滤匹配算法,所述方案包括:

一种根据字符编码空间,动态划分干扰集,生成干扰过滤机 的算法,其特征在于,所述方法包括:

对匹配串内容进行预处理,将编码统一为Unicode编码方式。 再根据Unicode编码中不同字符的编码范围,将编码全集划分为 若干个编码子集,如汉字集、英文集、数字集、拉丁文集等。

具体为:将编码方式统一转换为Unicode编码方式,再根据 Unicode编码方式对不同字符的不同编码范围的划分,将所有码 值组成的全集划分为若干个编码子集,如在Unicode编码环境下 的码值全集为[0x0000,0xFFFF],而汉字的编码子集为 [0x4E00,0x9FA5],数字的编码子集为[0x0030,0039]。

根据待匹配关键字各个单元的码值范围,确定此单元所属编 码子集,进而通过关键字中所有单元,确定此关键字所使用的所 有编码子集。

具体为:依次读入关键字的每个字单元,根据其编码范围, 确定此字符对应的编码子集,最终确定关键字所有字符所使用的 所有编码子集,如关键字“F1赛车”所使用的编码子集为数字子 集、英文子集与中文子集。

根据编码全集与关键字使用的编码子集,用关键字的全部码 集子集对全集取补集,得到的补集作为干扰信息码集空间,即对 应此关键字的干扰过滤机。

具体为:使用当前编码方式对于字符划分后得到的全部编码 子集,减去关键字所包含的编码子集,差集即可定义为对应此关 键字的干扰集,即得到对应与当前关键字的干扰过滤机。

一种基于平均最小语义长度以确定各个字符的干扰权值与 总体干扰阈值的算法,其特征在于,所述方法包括:

根据平均最小语义长度确定干扰过滤过程中何时放弃对连 续出现的干扰字符放弃过滤的状态阈值。

具体为:设当前某编码子集i内的单词平均字长为L(Ai),则 可定义此字符语义的平均最大非语义长度为L(Ai)的高斯函数: [L(Ai)],若属于i的连续字符长度超过此值,则有较大几率形成 一则有效单词信息。

本算法中,提出了干扰阈值的概念,具体定义如下:干扰阈 值在数值上等于连续可疑干扰字符的权值叠加,当叠加大于干扰 阈值时,则认为此段可疑文字有可能为含完整信息的单词,干扰 可疑度因此降低。由此定义干扰阈值m的计算方法:m=N* Max{[L(Ai)]}+P,N为整数,一般取2或者3,P为增量参数, 一般取10至20间的整数值。

根据平均最小语义长度确定各编码子集中字符类的所对应 得干扰权值。

具体为:本算法中,提出了干扰阈值的概念,具体定义如下: 干扰权值反映的是属于某个字符集的字符个体平均所包含的信 息量,显然,这个值与平均最大非语义长度成反比,此值也可以 理解为所属字符类的平均字符单元所含的信息量。由此定义权值 p(Ai)的求法:p(Ai)=[p*m/[L(Ai)]],其中p值的取值范围为0.5 至1.0。,

对于完全无信息量的字符集,其平均最大非语义长度为0, 相应的p(Ai)也为0。

一种使用干扰过滤机,结合干扰权值与干扰阈值,对匹配串 进行指定模式串的带干扰过滤的匹配算法,其特征在于,所述方 法具体步骤为:

设设定的阈值为Q,某此匹配中的权值叠加为P,则P与Q的 值可由前面介绍方法得到,另设对应某个编码子集k的权值为Lk, 则匹配执行过程如下:

1)模式串指针指向第一个字符,匹配串指针指向当前匹配位置。

2)根据已确定的干扰集,判断当前匹配串指针指向字符是否为 干扰字符,如是,则转3),否则转5)。

3)模式串指针不动,匹配串指针后移一个单元,同时对2)中确 定干扰字符的干扰权值Lk进行叠加,即计算P=P+Lk

4)判断权值的叠加值是否超过Q,若超过,则转1),否则转2)。

5)若此时模式串与匹配串指针对应的字符相等,则两个指针同 时后移一个单元,若此时模式串指针已经指向模式串最后一个字 符单元,则转6),否则令P=0,转2);若对应字符不相等,则匹 配串指针后移一个单元,令P=0,转1)。

6)发生匹配,记录相应信息,转1)。

7)所有字符比较完毕,匹配结束。

本发明所提供的技术方案的有益效果是:

通过将模式串与匹配串内容统一为Unicode编码方式后,以 字符编码划分全集为依照,动态确定可能对指定关键字产生干扰 的字符类,即干扰过滤机,算法不存在对编码类型的扫描死角, 同时可灵活、智能的识别交叉字符方式的干扰,并通过对干扰阈 值与干扰权值的控制,降低了干扰过滤匹配中发生误报的几率。

附图说明

图1是本算法对于关键字进行抗干扰匹配的整体流程示意图。

图2是本算法对Unicode全编码集划分为5个编码集合的示图。

图3是为本算法对“F1赛车”生成干扰过滤机(非阴影部分)的 示意图。

图4是本算法对文本进行干扰过滤匹配时的算法流程图。

具体实施方式

为使本发明之目的、技术方案和优点阐述更加清晰,下面将 结合附图与实际用例,对本发明做进一步的详细描述。

图1为本算法对于关键字进行抗干扰匹配的整体流程示意 图,共有四个关键模块,每个模块的具体功能与实现如下:

101本发明所述的对编码环境进行初始化,并划分编码空间 为若干个编码子空间的算法具体如下:

将待匹配的文本匹配串与模式串都转为Unicode编码模式, 并以Unicode编码对于各类语言与字符的编码区域划分为基础, 将Unicode编码全集划分为若干了编码子集。

Unicode编码方式的编码范围为[0x0000,0xFFFF],共分为 31个编码区域,本例从常见应用出发,可将整个全集划分为几个 常用的子编码集合,包括:汉字字符集、数字集、英文集、常用 符号集、其它字符集。

图2为本算法对Unicode全编码集划分为5个编码集合的示 意图。

102本发明所述的对各个编码子空间内字符的干扰权值与总 体干扰阈值的算法具体如下:

对于划分的五个集合:汉字字符集、数字集、英文集、常用 符号集与其它字符集,后两者,可以认为其完全不带信息量,其 平均最大非语义长度为L(Ai)值为0,对于汉字,这个值在2至3 之间,对于英文,这个值在5至6之间,对于数字,这个值在8 至11之间(一般有信息量的数字都为纯数字账号或电话号),因 此可取Max{[L(Ai)]}为10,N取3,P取20,由公式

m=N*Max{[L(Ai)]}+P

可得m值为50,令p值为0.6,由公式p(Ai)=[p*m/[L(Ai)]]

可得各编码子集对应的干扰权值如下:

A汉字=15,A数字=3,A英文=6,A字符=A其它=0。

103本发明所述的对指定的关键字进行初始化,生成干扰过 滤机的算法具体如下:

依次读入关键字的每个字单元,根据其编码范围,确定此字 符对应的编码子集,最终确定关键字所有字符所使用的所有编码 子集,设关键字为“F1赛车”,此关键字所使用的编码子集为数 字子集、英文子集与中文子集,使用全集减去关键字全部使用的 编码子集,记录得到的差集,即可得到对应于此关键字的干扰过 滤机,如本例中,干扰集为常用符号集与其它字符集,使用干扰 过滤机的数组结构将对应此两个集合的值置为1,其它值置为0。

图3为本算法对“F1赛车”生成干扰过滤机的示意图,图中 阴影部分即为此关键字对应的干扰集。

104本发明所述的使用各类字符干扰权值与干扰过滤机,对 关键字进行干扰过滤匹配的算法具体如下:

1)模式串指针指向第一个字符,匹配串指针指向当前匹配 位置。

2)根据已确定的干扰集,判断当前匹配串指针指向字符是 否为干扰字符,如是,则转3),否则转5)。

3)模式串指针不动,匹配串指针后移一个单元,同时对2) 中确定干扰字符的干扰权值Lk进行叠加,即计算P=P+Lk

4)判断权值的叠加值是否超过Q,若超过,则转1),否则 转2)。

5)若此时模式串与匹配串指针对应的字符相等,则两个指 针同时后移一个单元,若此时模式串指针已经指向模式串最后一 个字符单元,则转6),否则令P=0,转2);若对应字符不相等, 则匹配串指针后移一个单元,令P=0,转1)。

6)发生匹配,记录相应信息,转1)。

7)所有字符比较完毕,匹配结束。

图4为本算法对文本进行干扰过滤匹配时的算法流程图。

以下以上述过程确定参数为标准,对应用实例进行说明。

实施例1

设需扫描关键字(模式串)为‘机密’,匹配串为“此文件 为机(abc123)密文件,请保存”。

步骤1:由于输入关键字中字符只使用了汉字字符集,因此 在编码全集中,除了汉字字符集以外,其它字符都可能对此关键 字进行干扰,于是按题设,全部干扰集为数字集、英文集、常用 符号集、其它字符集。

步骤2:匹配过程中,模式串在匹配串第5个字符,匹配了 ‘机’字,因此模式串指针指向‘密’字,匹配串指针后移,继 续读入字符。

步骤3:匹配串依次读入字符‘a’、‘b’、‘c’、‘1’、‘2’、 ‘3’,由于这些字符都属于干扰集(数字集与英文集,其对应的 干扰过滤机的标志位为1),因此都不计入匹配,全部过滤后,累 加权值为.6*3+3*3=27,小于阈值50,因此继续进行过滤。

步骤4:匹配串指针继续迁移,对应‘密’字发生匹配,由 于此时阈值大于0,因此记录匹配关键字‘机密’,并标记“存在 干扰位”。

实施例2

设需扫描关键字(模式串)为‘H1N9’,匹配串为“据消息, H1(和谐)N9在A地蔓延”。

步骤1:输入关键字中字符使用了数字集、英文集、,因此在 编码全集中,按题设,全部干扰集为汉字字符集、常用符号集、 其它字符集。

步骤2:匹配过程中,模式串在匹配串第5个与第6个字符, 先后匹配了‘H’与‘1’字,因此模式串指针指向‘N’字,匹 配串指针后移至‘(’字,继续读入字符。

步骤3:匹配串依次读入字符‘(’、‘和’、‘谐’、‘)’,由于 这些字符都属于干扰集(汉字字符集与符号集),因此都不计入 匹配,全部过滤后,累加权值为15*2+0*2=30,小于阈值50,因 此继续进行过滤。

步骤4:匹配串指针继续迁移,对应‘N’字与‘9’字发生 匹配,由于此时阈值大于0,因此记录匹配关键字‘H1N9’,并标 记“存在干扰位”。

实施例3

设需扫描关键字(模式串)为‘绝密’,匹配串为“这绝对 不是秘密”。

步骤1:由于输入关键字中字符只使用了汉字字符集,因此 在编码全集中,除了汉字字符集以外,其它字符都可能对此关键 字进行干扰,于是按题设,全部干扰集为数字集、英文集、常用 符号集、其它字符集。

步骤2:匹配过程中,模式串在匹配串第2个字符,匹配了 ‘机’字,因此模式串指针指向‘密’字,匹配串指针后移,继 续读入字符。

步骤3:由于下一个读入字符‘对’不属于干扰集,且不能 匹配模式串当前指向字符,因此模式串指针回到第一个字符‘机’ 处,并将当前权值叠加和清0,匹配串指针继续后移读入字符, 由于后面已经没有字符可以与‘机’字匹配,因此本次扫描未发 现匹配关键字。

对于编码全集的划分,可根据需要,继续进行细化,上述实 施例主要针对中文与英文环境对编码全集进行了划分,可根据实 际需求,将上述实施例中的“其它字符集”继续进行划分,如日 文集、韩文集、拉丁文集等。

本发明实施例所提供的技术方案,可以广泛应用于网络信息 过滤与检索、文本文档信息搜索、垃圾短信过滤等领域,如对网 络上指定关键字信息中的干扰信息的过滤、网络数据与关键字审 计与屏蔽等产品。

本发明实施例中的具体步骤,可以通过软件变成实现,相应 的软件程序可存储于可读取的存储介质中,如光盘、硬盘、移动 存储介质等。

以上为本发明的具体实施例,但并不用以限制本发明,对于 本技术领域的普通技术人员来说,凡在不脱离本发明原理的前提 下,所做的任何修改、等同替换、改进等,均应包含在本发明的 保护发明范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号