基于哈希有向图的敏感词检查方法和设备的制造方法

文档序号:9506166阅读:440来源:国知局
基于哈希有向图的敏感词检查方法和设备的制造方法
【技术领域】
[0001] 本发明总体上涉及敏感词检查,更具体地,涉及一种基于哈希有向图的敏感词检 查方法和设备。
【背景技术】
[0002] 随着互联网时代的到来,自由、共享、创新的互联网精神深深地影响着人们的生活 和工作。互联网用户在网络上可以自由地获取知识、传播思想,而这一过程中最主要的方式 是通过文字(互联网上亦称为文本)进行交流。相对于传统信息沟通交流方式(如信件、 短信等),由于网络文本服务具有内容丰富、互动性强、实时性强的特点,被越来越多的网络 用户使用。
[0003] 基于文本的网络服务如即时通讯工具、社区论坛、电子商务、博客微博等网络服务 已经渗透到社会的各个领域。然而,网民有意或无意会发布一些未经核实或者包含不良内 容的信息,这些内容不但违反相关地区国家的法律法规,也极大的损害了公众利益,破坏了 互联网环境。为了遵守法律法规和维护净化互联网环境,越来越多的网络服务或应用集成 了关键词/敏感词过滤功能,其在网络文本服务中发挥着不可替代的作用。要保证网络文 本服务的质量,提高用户的体验,希望网络文本服务平台在提供服务时具有较快的请求响 应速度。因此,设计一个高效、准确度高的过滤检查方式是非常重要且必要的。
[0004] 常见的敏感词检查过滤有以下两种方式。第一种是字典检查方式(如图1所示), 这种方式主要将敏感词库的敏感词与待测文本进行逐一匹配,直到匹配完成为止。第二种 方式是正则检查方式,这种方式是将敏感词库的所有词组构造成一个正则表达式,然后将 正则表达式作用到文本消息,进而进行匹配检查。
[0005] 字典检查方式需要反复将敏感词库中的敏感词与文本或者文本中可能出现的词 组进行对比匹配,这种重复多次执行词库查找匹配大大地增加了时间消耗。对于正则检查 方式,为了匹配出具体敏感词,正则表达式需要采用分组模式。JAVA正则表达式采用递归下 降方式进行模式的编译处理,而另一方面,正则查找采用了子串贪婪方式进行查找,其时间 效率随着待检文本长度和敏感词库的敏感词数量的增加而大大降低。

【发明内容】

[0006] 本发明的一个方面提供了一种基于哈希有向图HSDG的敏感词检查方法,用于检 查输入文本T = (tp t2,. . . tk)中的敏感词,ti~11<依次表示T中的各个字符,k是不小于 1的整数,该方法包括:
[0007] 在步骤Sl :扫描T中的第i个字符h,i多1,i初始值为1 ;
[0008] 在步骤S2 :判断字符h是否在存在于HSDG的哈希表中,若存在,则执行步骤S3, 否则i = i+Ι,执行Sl ;
[0009] 在步骤S3 :对于T中的第j个字符,在SDGU1)中执行字符广度优先搜索匹配算 法,j的初始值为i+Ι,算法处理如下:
[0010] 1)如果SDG(ti)中节点tj i没有子节点,则记录(t i,…tj D到R中,i = j,执行 Sl ;
[0011] 2)如果SDGU1)中节点t, i有子节点但其子节点与t ,不匹配时,则i = j,执行 Sl ;以及
[0012] 3)其他情况下,则扫描第j+Ι个字符,若j+1 >k,则执行S4,否则继续执行S3 ;以 及
[0013] 在步骤S4 :返回记录到检查结果集R,
[0014] 其中,HSDG包括敏感词集有向图SDG和由SDG中入度为0的节点组织成的哈希表, SDGai)是SDG中以节点h为父节点的子图。
[0015] 本发明的另一个方面还提供了一种基于哈希有向图HSDG的敏感词检查设备,用 于检查输入文本T = (tp t2,. . . tk)中的敏感词,ti~11<依次表示T中的各个字符,k是不 小于1的整数,该设备包括:
[0016] 第一装置,用于扫描T中的第i个字符h,i彡1,i初始值为1 ;
[0017] 第二装置,用于判断字符^是否在存在于HSDG的哈希表中,若存在,则操作第三 装置,否则i = i+Ι,操作第一装置;
[0018] 第三装置,用于对于T中的第j个字符,在SDGai)中执行字符广度优先搜索匹 配算法,j的初始值为i+Ι,算法处理如下:
[0019] 1)如果SDGUi)中节点tj i没有子节点,则记录(t ;,…tj J到R中,i = j,操作 第一装置;
[0020] 2)如果SDGai)中节点t, i有子节点但其子节点与t f匹配时,则i = j,操作第 一装置;以及
[0021] 3)其他情况下,则扫描第j+Ι个字符,若j+1 >k,则操作第四装置,否则继续操作 第三装置;以及
[0022] 第四装置,用于返回记录到检查结果集R,
[0023] 其中,HSDG包括敏感词集有向图SDG和由SDG中入度为0的节点组织成的哈希表, SDGai)是SDG中以节点h为父节点的子图。
【附图说明】
[0024] 为了更完整地理解本发明及其优势,现在将参考结合附图的以下描述,其中:
[0025] 图1示意性示出了敏感词的字典检查方式;
[0026] 图2示意性示出了根据本发明实施例的基于哈希有向图的敏感词检查设备的结 构框图;
[0027] 图3示意性示出了根据本发明实施例的敏感词集有向图;
[0028] 图4示意性示出了根据本发明实施例的具有限定的敏感词集有向图;
[0029] 图5示意性示出了根据本发明实施例的哈希有向图;以及
[0030] 图6示意性示出了根据本发明实施例的基于哈希有向图的敏感词检查方法的流 程图。
[0031 ] 贯穿附图,相同参考数字应理解为指示相同部分、部件和结构。
【具体实施方式】
[0032] 根据结合附图对本发明示例性实施例的以下详细描述,本发明的其它方面、优势 和突出特征对于本领域技术人员将变得显而易见。
[0033] 在本发明中,术语"包括"和"含有"及其派生词意为包括而非限制;术语"或"是 包含性的,意为和/或。
[0034] 在本说明书中,下述用于描述本发明原理的各种实施例只是说明,不应该以任何 方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同 物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应 认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本发明的范围和精神 的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见, 省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。
[0035] 图2示意性示出了根据本发明实施例的基于哈希有向图的敏感词检查设备200的 结构框图。如图2所示,该设备200包括预处理装置210、哈希有向图存储装置220和敏感 词检测装置230。待检文本通过预处理装置220处理,得到处理后文本,由敏感词检测装置 230将处理后文本与哈希有向图存储装置220中存储的敏感词哈希有向图进行匹配,以检 测文本中的敏感词。
[0036] 以下具体说明各装置的操作。
[0037] 预处理装詈210
[0038] 待检文本的长度在很大程度上影响着敏感词过滤的时间效率,文本长度越短检测 时间越短。大多数网络文本内容含有大量的特殊字符包括语义字符、助词等不构成敏感词 的字符或者单字单词。在本发明中,预处理装置210将文本中的这些字符或者单字单词剔 除掉,以缩短待测文本的长度。例如:"ABB⑶DE",其中C是语气助词,D、E是语义字符,通过 文本预处理后,待测文本长度由7缩短为3。通过文本预处理能够有效地缩短待测文本的长 度,避免待检文本的全文匹配,而这一过程时间开销是很小的。
[0039] 哈希有向图存储装詈220
[0040] 哈希有向图存储装置220用于存储基于哈希表的敏感词有向图表达(HSDG)。词组 的字符排列顺序影响着词组的具体语义,例如"ABC"和"CBA"表达的语义是截然不同的,进 一步而言,词组具有矢量特点。为了方便描述,定义敏感词为由一个或者多个字符按照一定 顺序组成的词组。在不同的语义环境中敏感词有不同的表现形式,例如在中文语义下由一 个或多个单字组成的词组,在英文语义下是由一个或多个英文字符组成的单词或短语。
[0041] 由于词组的矢量性,敏感词集合S可以由有向图来表达(如图3所示),称其为敏 感词集有向图(Sensitive Words Directed Graph,SDG)。有向图SDG中的每一条有向路 径(a!,a2, · · · an)即是一个每j[感词表达。图3中的a~h、j、k、m和η表示特定语义环境中 的字符,也称为节点。节点X的子节点数称为X的敏感度,敏感度为0的节点称为叶子节 点,敏感度大于0的节点称为非叶节点;节点X的父节点数称节点X的入度。有向路径(ap a 2, ... an)的长度称为敏感词长度;以节点X为父节点的子图用SDG(X)表示。如果一个词 组A标记为敏感词,且文本T中包含词组A,那么则称文本T含有敏感词A。由此可以得出 一个推论:如果字符序列( ai,a2,. . . an)定义为敏感词表达,并且(ai,a2,. . . an)是字符序列 031,132,...13|11)的子序列,即(&,士,..忍") (:二0)!,1^.'.]3",),其中111彡11彡1,那么字符序列〇3 1, b2,. . . bj是敏感词表达。为使SDG的组成节点更精简,同时也能保证其完整的包含敏感词 集合的语义,根据推论本文限定:SDG中不存在一条有向路径是敏感词表达,而其子路径也 是敏感词表达。例如:敏感词集合S = {abc,abe,abed},根据限定,其SDG如图4所示。
[0042] 假设:敏感词集合S的敏感词有向图表达为SDG,待测文本T =匕,t2,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1