CN102799596A - 基于网络应用的关键词过滤方法及系统 - Google Patents
基于网络应用的关键词过滤方法及系统 Download PDFInfo
- Publication number
- CN102799596A CN102799596A CN2011101408495A CN201110140849A CN102799596A CN 102799596 A CN102799596 A CN 102799596A CN 2011101408495 A CN2011101408495 A CN 2011101408495A CN 201110140849 A CN201110140849 A CN 201110140849A CN 102799596 A CN102799596 A CN 102799596A
- Authority
- CN
- China
- Prior art keywords
- content
- text
- keyword
- data structure
- tree data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于网络应用的关键词过滤方法,所述方法包括:获取基于网络应用的文本内容;根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤;输出经过滤后的文本内容。相应地,本发明还提供了一种基于网络应用的关键词过滤系统,本发明技术方案相对于现有技术中采用正则表达式过滤文本内容的方式,提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
Description
技术领域
本发明涉及模式识别领域,尤其涉及一种基于网络应用的关键词过滤方法及系统。
背景技术
随着网络发展,众多的网络应用都需要对用户输入的文本进行关键词过滤操作,业界就如何能更高效地进行大批量文本过滤产生了激烈的讨论。
基于关键词过滤的需求以及用户体验出发,一个成功的网络应用,尤其在大批量关键词文本过滤应体现良好的效率,既保证其过关键词过滤功能实现,又减少用户因文本过滤而等待的时间。
在对关键词进行过滤时,现有技术是采用正则表达式对每一句文本中的内容进行检测。其中正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。而使用正则表达式进行关键词过滤,消耗极大,原因在于,第一、运用自带的正则表达式消耗较大;第二、使用此方法造成大量的字符串操作,字符串操作主要是指查找字符,替换字符,连接字符。因此,采用现有技术方案,关键词过滤效率较低,严重影响了网络应用系统的顺畅性及稳定性。
发明内容
本发明提供了一种基于网络应用的关键词过滤方法及系统,能高效的过滤文本内容中的关键词,提高了网络应用系统的流畅性以及稳定性。
为了达到上述发明目的,本发明提供了一种基于网络应用的关键词过滤方法,包括:
获取基于网络应用的文本内容;
根据多叉树数据结构的关键词文本库,采用递归算法对所述数据内容进行过滤;
输出经过滤后的聊天内容。
具体地,在所述获取基于网络应用的文本内容的步骤之前,所述方法还包括:
预先建立多叉树数据结构的关键词文本库。
具体地,所述预先建立多叉树数据结构的关键词文本库的步骤具体为:
根据所述关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
具体地,所述根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤的步骤具体包括:
根据多叉树数据结构的关键词文本库,分层次对所述文本内容进行关键词查找,当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。
相应地,本发明还提供了一种基于网络应用的关键词过滤系统,所述系统包括:
内容获取模块,用于获取基于网络应用的文本内容;
过滤模块,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块获取的文本内容进行过滤;
内容输出模块:输出经所述过滤模块过滤后的文本内容。
具体地,所述系统还包括:
建树模块,用于根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
具体地,所述过滤模块包括:
查找单元,用于根据多叉树数据结构的关键词文本库,分层次对所述内容获取模块获取的文本内容进行关键词查找;
关键词替代单元,用于当所述查找单元成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。
本发明的有益效果如下:
本发明根据多叉树数据结构的关键词文本库,采用递归算法对基于网络应用的文本内容进行过滤;相对于现有技术中采用正则表达式过滤关键词的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
附图说明
图1是本发明实施例基于网络应用的关键词过滤方法第一流程示意图;
图2是本发明实施例基于网络应用的关键词过滤方法第二流程示意图;
图3是本发明实施例基于网络应用的关键词过滤系统第一结构组成示意图;
图4是本发明实施例基于网络应用的关键词过滤系统第二结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明是基于哈希表快速查找的特点,运用递归思想建立以关键词如敏感词首字符为键的多叉树数据结构。关键词过滤核心在于如何快速查找关键词并替换之,基于关键词多叉树数据结构,可以快速查找到关键词的位置以及内容,从而实现过滤操作。
本发明可选用脚本语言实现聊天关键词过滤。
实施例1
参见图1,为本发明实施例基于网络应用的关键词过滤方法第一流程示意图,所述方法包括:
S101、获取基于网络应用的文本内容;此处的文本内容可包括聊天内容等。
S102、根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤;此处,关键词主要是指敏感词等。
S103、输出经过滤后的文本内容。此处,在具体实施中,输出经过滤后的文本内容中,原关键词如敏感词等可使用预定义的符号代替。
本发明根据多叉树数据结构的关键词文本库,采用递归算法对文本内容进行过滤,相对于现有技术中采用正则表达式过滤关键词的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
实施例2
参见图2,为本发明实施例基于网络应用的关键词过滤方法第二流程示意图,所述方法包括:
S201、预先建立多叉树数据结构的关键词文本库。
此步骤具体为:根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
S202、获取基于网络应用的文本内容;
S203、根据多叉树数据结构的关键词文本库,分层次对文本内容进行关键词查找;此处,关键词主要是指敏感词等。
S204、当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。当未查找到所述关键词时,则不需要用预定义符号替代所述文本内容中的关键词。
S205、输出经过滤后的文本内容。此处,若在步骤S204中成功查找到关键词,则此处,输出经过滤后的文本内容中原关键词已用预定义符号替代。
以下结合具体实例对上述关键词过滤方法进行详细描述。
首先对数据节点进行描述
map是关联数组的一个对象,是组成多叉树节点的关键类。数据节点以关键词首字符为键,关键词除首符外的部分为值,依此类推递归建立多叉树;index是指当前层深,指示该数据节点在多叉树中的深度,这个属性主要作用是指示关键词替换的长度;value是替换的内容。当递归到最后一个关键词字符时,dict对象无内容,index仍为当前层深,value为替换的字符,如字符“*”。
对步骤S201中,预先建立多叉树数据结构的关键词文本库进行举例说明,为简单起见,以单个关键词“fat”为例。
根据上述代码,对建树过程细节描述如下:
第一层,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”;过滤内容为“1fat3”;替换字符为“*”
在关键词多叉树中递归查找关键词“fat”,以首字符“f”为键查找,成功并进入第二层查找,关键词“fat”去掉首符后得到“at”,并以“at”的首字符“a”为键查找成功,并进入第三层查找,关键词“at”去掉首字符后得到“t”,并以“t”的首字符“t”为键查找,查找成功,此时value是“*”,index是3,替换并返回结果:“1*3”。
运用本发明实现关键词过滤与运用正则表达式实现关键词过滤的效率对比。
测试环境说明:
关键词库:12210个关键词,其中,“fat”是其中一个关键字;
过滤的内容:在计算机科学中,fat是指一个用来描述或者匹配一系列fat符合某个句法规则的字符串的单个字符串。
替换字符为“*”
使用正则表达式过滤:
过滤时间:147ms
过滤后的内容:在计算机科学中,*是指一个用来描述或者匹配一系列*符合某个句法规则的字符串的单个字符串。
使用本发明技术方案进行过滤:
过滤时间:1ms
过滤后的内容:在计算机科学中,*是指一个用来描述或者匹配一系列*符合某个句法规则的字符串的单个字符串。
由上可知,运用正则表达式过滤和运用本发明技术方案过滤相比,两者过滤后得到的结果是一样的,但两者的过滤时间不一样,使用本发明技术方案过滤时间较短。
本发明实施例,预先根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库,然后,根据多叉树数据结构的关键词文本库,分层次对文本内容进行关键词查找;当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词,相对于现有技术中采用正则表达式过滤文本内容的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
实施例3
参见图3,为本发明实施例基于网络应用的关键词过滤系统第一结构组成示意图,所述系统包括:
内容获取模块31,用于获取基于网络应用的文本内容;
过滤模块32,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块31获取的文本内容进行过滤;
内容输出模块33:输出经所述过滤模块32过滤后的文本内容。
此实施例中各模块的执行过程与实施例1中各步骤是一一对应的关系,对本实施例各模块执行过程的描述请参考实施例1中相应的描述,此处不再赘述。
本发明根据多叉树数据结构的关键词文本库,采用递归算法对文本内容进行过滤,相对于现有技术中采用正则表达式过滤文本内容的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
实施例4
参见图4,为本发明实施例基于网络应用的关键词过滤系统第二结构组成示意图,所述系统包括:
建树模块41,用于根据所述关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
内容获取模块42,用于获取基于网络应用的文本内容;
过滤模块43,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块42获取的文本内容进行过滤;所述过滤模块43还包括:查找单元431,用于根据多叉树数据结构的关键词文本库,分层次对所述内容获取模块42获取的文本内容进行关键词查找;关键词替代单元432,用于当所述查找单元431成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。当查找单元431未查找到所述关键词时,则不需要用预定义符号替代所述文本内容中的关键词。
内容输出模块44:输出经过滤模块43过滤后的文本内容。
此实施例中各模块的执行过程与实施例2中各步骤是一一对应的关系,对本实施例各模块执行过程的描述请参考实施例2中相应的描述,此处不再赘述。
本发明实施例,预先根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库,然后,根据多叉树数据结构的关键词文本库,分层次对文本内容进行关键词查找;当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词,相对于现有技术中采用正则表达式过滤文本内容的方式,本发明提高了关键词过滤的效率,并保证了网络应用系统的顺畅性及稳定性。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (7)
1.一种基于网络应用的关键词过滤方法,其特征在于,所述方法包括:
获取基于网络应用的文本内容;
根据多叉树数据结构的关键词文本库,采用递归算法对所述数据内容进行过滤;
输出经过滤后的聊天内容。
2.根据权利要求1所述的方法,其特征在于,在所述获取基于网络应用的文本内容的步骤之前,所述方法还包括:
预先建立多叉树数据结构的关键词文本库。
3.根据权利要求2所述的方法,其特征在于,所述预先建立多叉树数据结构的关键词文本库的步骤具体为:
根据所述关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
4.根据权利要求3所述的方法,其特征在于,所述根据多叉树数据结构的关键词文本库,采用递归算法对所述文本内容进行过滤的步骤具体包括:
根据多叉树数据结构的关键词文本库,分层次对所述文本内容进行关键词查找,当成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。
5.一种基于网络应用的关键词过滤系统,其特征在于,所述系统包括:
内容获取模块,用于获取基于网络应用的文本内容;
过滤模块,用于根据多叉树数据结构的关键词文本库,采用递归算法对所述内容获取模块获取的文本内容进行过滤;
内容输出模块:输出经所述过滤模块过滤后的文本内容。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:
建树模块,用于根据关键词的字符串长度,分层次建立多叉树数据结构的关键词文本库。
7.根据权利要求6所述的系统,其特征在于,所述过滤模块包括:
查找单元,用于根据多叉树数据结构的关键词文本库,分层次对所述内容获取模块获取的文本内容进行关键词查找;
关键词替代单元,用于当所述查找单元成功查找到所述关键词时,用预定义的符号替代所述文本内容中的关键词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101408495A CN102799596A (zh) | 2011-05-27 | 2011-05-27 | 基于网络应用的关键词过滤方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101408495A CN102799596A (zh) | 2011-05-27 | 2011-05-27 | 基于网络应用的关键词过滤方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102799596A true CN102799596A (zh) | 2012-11-28 |
Family
ID=47198708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101408495A Pending CN102799596A (zh) | 2011-05-27 | 2011-05-27 | 基于网络应用的关键词过滤方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799596A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020286A (zh) * | 2012-12-27 | 2013-04-03 | 上海交通大学 | 基于排名网站的互联网排行榜抓取系统 |
CN103617251A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种敏感词匹配方法及系统 |
CN106326475A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学院信息工程研究所 | 一种高效的静态哈希表实现方法及系统 |
CN107463666A (zh) * | 2017-08-02 | 2017-12-12 | 成都德尔塔信息科技有限公司 | 一种基于文本内容的敏感词过滤方法 |
CN107992481A (zh) * | 2017-12-25 | 2018-05-04 | 中科鼎富(北京)科技发展有限公司 | 一种基于多叉树的正则表达式匹配方法、装置及系统 |
CN111159329A (zh) * | 2019-12-24 | 2020-05-15 | 深圳市优必选科技股份有限公司 | 敏感词检测方法、装置、终端设备和计算机可读存储介质 |
CN112667855A (zh) * | 2019-10-15 | 2021-04-16 | 北京新唐思创教育科技有限公司 | 区块链数据管理方法、电子设备及计算机存储介质 |
-
2011
- 2011-05-27 CN CN2011101408495A patent/CN102799596A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020286A (zh) * | 2012-12-27 | 2013-04-03 | 上海交通大学 | 基于排名网站的互联网排行榜抓取系统 |
CN103020286B (zh) * | 2012-12-27 | 2016-06-01 | 上海交通大学 | 基于排名网站的互联网排行榜抓取系统 |
CN103617251A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种敏感词匹配方法及系统 |
CN106326475A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学院信息工程研究所 | 一种高效的静态哈希表实现方法及系统 |
CN107463666A (zh) * | 2017-08-02 | 2017-12-12 | 成都德尔塔信息科技有限公司 | 一种基于文本内容的敏感词过滤方法 |
CN107463666B (zh) * | 2017-08-02 | 2019-12-06 | 成都德尔塔信息科技有限公司 | 一种基于文本内容的敏感词过滤方法 |
CN107992481A (zh) * | 2017-12-25 | 2018-05-04 | 中科鼎富(北京)科技发展有限公司 | 一种基于多叉树的正则表达式匹配方法、装置及系统 |
CN107992481B (zh) * | 2017-12-25 | 2021-05-04 | 鼎富智能科技有限公司 | 一种基于多叉树的正则表达式匹配方法、装置及系统 |
CN112667855A (zh) * | 2019-10-15 | 2021-04-16 | 北京新唐思创教育科技有限公司 | 区块链数据管理方法、电子设备及计算机存储介质 |
CN111159329A (zh) * | 2019-12-24 | 2020-05-15 | 深圳市优必选科技股份有限公司 | 敏感词检测方法、装置、终端设备和计算机可读存储介质 |
CN111159329B (zh) * | 2019-12-24 | 2023-09-08 | 深圳市优必选科技股份有限公司 | 敏感词检测方法、装置、终端设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799596A (zh) | 基于网络应用的关键词过滤方法及系统 | |
CN105893349B (zh) | 类目标签匹配映射方法及装置 | |
CN105159998A (zh) | 一种基于文档聚类关键词计算方法 | |
CN101727464B (zh) | 获取别称匹配对的方法及装置 | |
CN103123624B (zh) | 确定中心词的方法及装置、搜索方法及装置 | |
CN105677695B (zh) | 一种基于内容的计算移动应用相似性的方法 | |
CN104933130A (zh) | 评论信息的标注方法及装置 | |
CN102033880A (zh) | 基于结构化数据集合的标注方法和装置 | |
CN102135814A (zh) | 一种字词输入方法及系统 | |
CN104598588A (zh) | 基于双聚类的微博用户标签自动生成算法 | |
CN104008210B (zh) | 一种基于多搜索引擎的Web信息检索方法 | |
CN103365992A (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
CN105302876A (zh) | 基于正则表达式的url过滤方法 | |
CN103150331A (zh) | 一种提供搜索引擎标签的方法和装置 | |
CN102693320B (zh) | 一种搜索方法及装置 | |
CN103514289A (zh) | 一种兴趣本体库构建方法及装置 | |
CN104268230A (zh) | 一种基于异质图随机游走的中文微博客观点探测方法 | |
CN103902599A (zh) | 模糊查找的方法和装置 | |
CN103927342A (zh) | 基于大数据的垂直搜索引擎系统 | |
US20160196303A1 (en) | String search device, string search method, and string search program | |
CN103076894A (zh) | 一种用于根据对象标识信息构建输入词条的方法与设备 | |
US20150347436A1 (en) | Query auto-completion | |
CN103235789A (zh) | 一种汉字转换为拼音及首字母的方法 | |
CN102999495A (zh) | 一种同义词语义映射关系确定方法及装置 | |
CN102567406A (zh) | 拼音搜索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121128 |