基于网络应用的关键词过滤方法及系统的制作方法

文档序号:6425116阅读:211来源:国知局
专利名称:基于网络应用的关键词过滤方法及系统的制作方法
技术领域
本发明涉及模式识别领域,尤其涉及一种基于网络应用的关键词过滤方法及系统。
背景技术
随着网络发展,众多的网络应用都需要对用户输入的文本进行关键词过滤操作,业界就如何能更高效地进行大批量文本过滤产生了激烈的讨论。基于关键词过滤的需求以及用户体验出发,一个成功的网络应用,尤其在大批量关键词文本过滤应体现良好的效率,既保证其过关键词过滤功能实现,又减少用户因文本过滤而等待的时间。 在对关键词进行过滤时,现有技术是采用正则表达式对每一句文本中的内容进行检测。其中正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。而使用正则表达式进行关键词过滤,消耗极大,原因在于,第一、运用自带的正则表达式消耗较大;第二、使用此方法造成大量的字符串操作,字符串操作主要是指查找字符,替换字符,连接字符。因此,采用现有技术方案,关键词过滤效率较低,严重影响了网络应用系统的顺畅性及稳定性。

发明内容
本发明提供了一种基于网络应用的关键词过滤方法及系统,能高效的过滤文本内容中的关键词,提高了网络应用系统的流畅性以及稳定性。为了达到上述发明目的,本发明提供了一种基于网络应用的关键词过滤方法,包括获取基于网络应用的文本内容;根据多叉树数据结构的关键词文本库,采用递归算法对所述数据内容进行过滤;输出经过滤后的聊天内容。具体地,在所述获取基于网络应用的文本内容的步骤之前,所述方法还包括预先建立多叉树数据结构的关键词文本库。具体地,所述预先建立多叉树数据结构的关键词文本库的步骤具体为根据所述关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。具体地,所述根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤的步骤具体包括根据多叉树数据结构的关键词文本库,分层次对所述文本内容进行关键词查找,当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。相应地,本发明还提供了一种基于网络应用的关键词过滤系统,所述系统包括内容获取模块,用于获取基于网络应用的文本内容;过滤模块,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块获取的文本内容进行过滤;内容输出模块输出经所述过滤模块过滤后的文本内容。具体地,所述系统还包括建树模块,用于根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。具体地,所述过滤模块包括查找单元,用于根据多叉树数据结构的关键词文本库,分层次对所述内容获取模块获取的文本内容进行关键词查找;关键词替代单元,用于当所述查找单元成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。 本发明的有益效果如下本发明根据多叉树数据结构的关键词文本库,采用递归算法对基于网络应用的文本内容进行过滤;相对于现有技术中采用正则表达式过滤关键词的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。


图I是本发明实施例基于网络应用的关键词过滤方法第一流程示意图;图2是本发明实施例基于网络应用的关键词过滤方法第二流程示意图;图3是本发明实施例基于网络应用的关键词过滤系统第一结构组成示意图;图4是本发明实施例基于网络应用的关键词过滤系统第二结构组成示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明是基于哈希表快速查找的特点,运用递归思想建立以关键词如敏感词首字符为键的多叉树数据结构。关键词过滤核心在于如何快速查找关键词并替换之,基于关键词多叉树数据结构,可以快速查找到关键词的位置以及内容,从而实现过滤操作。本发明可选用脚本语言实现聊天关键词过滤。实施例I参见图1,为本发明实施例基于网络应用的关键词过滤方法第一流程示意图,所述方法包括S101、获取基于网络应用的文本内容;此处的文本内容可包括聊天内容等。S102、根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤;此处,关键词主要是指敏感词等。S103、输出经过滤后的文本内容。此处,在具体实施中,输出经过滤后的文本内容中,原关键词如敏感词等可使用预定义的符号代替。本发明根据多叉树数据结构的关键词文本库,采用递归算法对文本内容进行过滤,相对于现有技术中采用正则表达式过滤关键词的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。实施例2参见图2,为本发明实施例基于网络应用的关键词过滤方法第二流程示意图,所述方法包括S201、预先建立多叉树数据结构的关键词文本库。此步骤具体为根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。S202、获取基于网络应用的文本内容;

S203、根据多叉树数据结构的关键词文本库,分层次对文本内容进行关键词查找;此处,关键词主要是指敏感词等。S204、当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。当未查找到所述关键词时,则不需要用预定义符号替代所述文本内容中的关键词。S205、输出经过滤后的文本内容。此处,若在步骤S204中成功查找到关键词,则此处,输出经过滤后的文本内容中原关键词已用预定义符号替代。以下结合具体实例对上述关键词过滤方法进行详细描述。首先对数据节点进行描述
CharNode {//过滤节点类名
Hashmapimap;//关联数组成员变量;
int: index;//层深成员变量;
string value;//替换字符成员变量;
}map是关联数组的一个对象,是组成多叉树节点的关键类。数据节点以关键词首字符为键,关键词除首符外的部分为值,依此类推递归建立多叉树;index是指当前层深,指示该数据节点在多叉树中的深度,这个属性主要作用是指示关键词替换的长度;value是替换的内容。当递归到最后一个关键词字符时,diet对象无内容,index仍为当前层深,value为替换的字符,如字符对步骤S201中,预先建立多叉树数据结构的关键词文本库进行举例说明,为简单起见,以单个关键词“fat”为例。
map = Hashmap//首层关联数组变量
a = CharNode//第二层数据节点
map = Hashmap//第二层关联数组变量
t — CharNode//第三层数据节点map = Hashmap//第三层关联数组变量
index = 3//第三层层深
value =“*”//第三层替换字符
index = 2//第二层层深
value =“fa”//第二层替换字符根据上述代码,对建树过程细节描述如下第一层,CharNode节点中的map对象,key是“f”,表示以“f”为首字符关键词的入口标志;第二层,CharNode节点中的map对象,key是“a”;value是“fa”;index是2 ;第三层,key是“t”,value是“*,,,index是3。关键词“fat”长度为3,因此,多叉树的层深为3,另外,由于此例只针对单个关键词建树,此树为一叉树结构。 若增加一个关键词,如far,现针对两个关键词对建树过程进行描述,此情况建树设计思想适用于多个关键词由于这两个关键字“fat”与“far”的前两字母是相同的(如果关键字不出现相同字母,建树过程没有本质区别,思想类同),因此,它们的第一层与第二层的建树过程是一样的,下面只给出有差异的第三层的建树过程第三层,针对“fat”,key 是“t”, value 是“*,,, index 是 3 ;针对“far”, key 是“r”,value 是 “ * ”, index 是 3。对步骤S203、S204涉及的关键词查找替换过程进行如下说明运用已建立关键词库的多叉树进行递归查找,遍历文本内容的每一个字符,并对该字符查找替换,下面给出一个简单的例子说明关键词为“fat” ;过滤内容为“lfat3” ;替换字符为在关键词多叉树中递归查找关键词“fat”,以首字符“f”为键查找,成功并进入第二层查找,关键词“fat”去掉首符后得到“at”,并以“at”的首字符“a”为键查找成功,并进入第三层查找,关键词“at”去掉首字符后得到“t”,并以“t”的首字符“t”为键查找,查找成功,此时value是“*,,, index是3,替换并返回结果运用本发明实现关键词过滤与运用正则表达式实现关键词过滤的效率对比。测试环境说明关键词库12210个关键词,其中,“fat”是其中一个关键字;过滤的内容在计算机科学中,fat是指一个用来描述或者匹配一系列fat符合某个句法规则的字符串的单个字符串。替换字符为使用正则表达式过滤过滤时间147ms过滤后的内容在计算机科学中,*是指一个用来描述或者匹配一系列*符合某个句法规则的字符串的单个字符串。使用本发明技术方案进行过滤过滤时间1ms过滤后的内容在计算机科学中,*是指一个用来描述或者匹配一系列*符合某个句法规则的字符串的单个字符串。由上可知,运用正则表达式过滤和运用本发明技术方案过滤相比,两者过滤后得到的结果是一样的,但两者的过滤时间不一样,使用本发明技术方案过滤时间较短。本发明实施例,预先根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库,然后,根据多叉树数据结构的关键词文本库,分层次对文本内容进行关键词查找;当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词,相对于现有技术中采用正则表达式过滤文本内容的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。实施例3 参见图3,为本发明实施例基于网络应用的关键词过滤系统第一结构组成示意图,所述系统包括内容获取模块31,用于获取基于网络应用的文本内容;过滤模块32,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块31获取的文本内容进行过滤;内容输出模块33 :输出经所述过滤模块32过滤后的文本内容。此实施例中各模块的执行过程与实施例I中各步骤是--对应的关系,对本实施
例各模块执行过程的描述请参考实施例I中相应的描述,此处不再赘述。本发明根据多叉树数据结构的关键词文本库,采用递归算法对文本内容进行过滤,相对于现有技术中采用正则表达式过滤文本内容的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。实施例4参见图4,为本发明实施例基于网络应用的关键词过滤系统第二结构组成示意图,所述系统包括建树模块41,用于根据所述关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。内容获取模块42,用于获取基于网络应用的文本内容;过滤模块43,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块42获取的文本内容进行过滤;所述过滤模块43还包括查找单元431,用于根据多叉树数据结构的关键词文本库,分层次对所述内容获取模块42获取的文本内容进行关键词查找;关键词替代单元432,用于当所述查找单元431成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。当查找单元431未查找到所述关键词时,则不需要用预定义符号替代所述文本内容中的关键词。内容输出模块44 :输出经过滤模块43过滤后的文本内容。此实施例中各模块的执行过程与实施例2中各步骤是——对应的关系,对本实施例各模块执行过程的描述请参考实施例2中相应的描述,此处不再赘述。本发明实施例,预先根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库,然后,根据多叉树数据结构的关键词文本库,分层次对文本内容进行关键词查找;当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词,相对于现有技术中采用正则表达式过滤文本内容的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的 范围。
权利要求
1.一种基于网络应用的关键词过滤方法,其特征在于,所述方法包括 获取基于网络应用的文本内容; 根据多叉树数据结构的关键词文本库,采用递归算法对所述数据内容进行过滤; 输出经过滤后的聊天内容。
2.根据权利要求I所述的方法,其特征在于,在所述获取基于网络应用的文本内容的步骤之前,所述方法还包括 预先建立多叉树数据结构的关键词文本库。
3.根据权利要求2所述的方法,其特征在于,所述预先建立多叉树数据结构的关键词文本库的步骤具体为 根据所述关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
4.根据权利要求3所述的方法,其特征在于,所述根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤的步骤具体包括 根据多叉树数据结构的关键词文本库,分层次对所述文本内容进行关键词查找,当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。
5.一种基于网络应用的关键词过滤系统,其特征在于,所述系统包括 内容获取模块,用于获取基于网络应用的文本内容; 过滤模块,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块获取的文本内容进行过滤; 内容输出模块输出经所述过滤模块过滤后的文本内容。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括 建树模块,用于根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
7.根据权利要求6所述的系统,其特征在于,所述过滤模块包括 查找单元,用于根据多叉树数据结构的关键词文本库,分层次对所述内容获取模块获取的文本内容进行关键词查找; 关键词替代单元,用于当所述查找単元成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。
全文摘要
本发明提供了一种基于网络应用的关键词过滤方法,所述方法包括获取基于网络应用的文本内容;根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤;输出经过滤后的文本内容。相应地,本发明还提供了一种基于网络应用的关键词过滤系统,本发明技术方案相对于现有技术中采用正则表达式过滤文本内容的方式,提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
文档编号G06F17/30GK102799596SQ201110140849
公开日2012年11月28日 申请日期2011年5月27日 优先权日2011年5月27日
发明者江晨, 许昭鹏 申请人:广州明朝网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1