关键词过滤方法及装置与流程

文档序号:18396369发布日期:2019-08-09 23:28阅读:282来源:国知局
关键词过滤方法及装置与流程

本发明涉及互联网环境优化技术领域,尤其涉及一种关键词过滤方法及装置。



背景技术:

各种论坛、社区等各种网络互动平台中,每日都会有大量的发帖、回复等文本内容上传。为了营造一个健康良好的网络环境,需要准确的过滤掉一些不适合在公众场合提及的敏感词。传统的关键词顾虑通常是采取遍历关键词,利用正则循环查找要被过滤的文本内容,这种方式要遍历n编要过滤的文本内容,效率低下。



技术实现要素:

本发明实施例提供一种关键词过滤方法及装置,通过训练一套自动机,根据有限状态机确定过滤失败的节点,基于此节点顺序往后过滤,只需对文本进行一遍过滤即可得到想要的结果,可以提高关键词过滤的效率。

本发明实施例第一方面提供了一种关键词过滤方法,可包括:

基于关键词集合训练一套自动机;

根据自动机指示的有限状态机对待过滤文本进行关键词过滤;

将过滤出的目标关键词输出至调用端。

进一步的,在根据自动机指示的有限状态机对待过滤文本进行关键词过滤时,上述方法还包括:

将关键词集合中的第一关键词与待过滤文本中的待过滤词汇进行匹配,第一关键词与待过滤词汇的第一个词节点相同,且在第一个词节点后具有最多的顺序分布一致的相同词节点;

确定第一关键词中与待过滤关键词中第一个不匹配的失败词节点;

在关键词集合中确定失败词节点指向的第二关键词,第二关键词中存在与失败词节点相同的词节点,且二者基于失败词节点具有最多的顺序分布一致的相同词节点。

进一步的,上述方法还包括:

当第二关键词与待过滤词汇的尾部词节点相同且分布顺序一致时,确定第二关键词为目标关键词。

进一步的,上述方法还包括:

若未匹配到目标关键词,返回文本良好提示信息。

进一步的,上述方法还包括:

将自动机存储之本地缓存。

本发明实施例第二方面提供了一种关键词过滤装置,可包括:

自动机训练模块,用于基于关键词集合训练一套自动机;

关键词过滤模块,用于根据自动机指示的有限状态机对待过滤文本进行关键词过滤;

结果输出模块,用于将过滤出的目标关键词输出至调用端。

进一步的,上述关键词过滤模块包括:

文本匹配单元,用于将关键词集合中的第一关键词与待过滤文本中的待过滤词汇进行匹配,第一关键词与待过滤词汇的第一个词节点相同,且在第一个词节点后具有最多的顺序分布一致的相同词节点;

失败节点确定单元,用于确定第一关键词中与待过滤关键词中第一个不匹配的失败词节点;

节点指向确定单元,用于在关键词集合中确定失败词节点指向的第二关键词,第二关键词中存在与失败词节点相同的词节点,且二者基于失败词节点具有最多的顺序分布一致的相同词节点。

进一步的,上述装置还包括:

过滤结果确定模块,用于当第二关键词与待过滤词汇的尾部词节点相同且分布顺序一致时,确定第二关键词为目标关键词。

进一步的,上述装置还包括:

提示信息输出模块,用于若未匹配到目标关键词,返回文本良好提示信息。

进一步的,上述装置还包括:

自动机存储模块,用于将自动机存储之本地缓存。

在本发明实施例中,通过训练一套自动机,根据有限状态机确定过滤失败的节点,基于此节点顺序往后过滤,只需对文本进行一遍过滤即可得到想要的结果,提高了关键词过滤的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本发明实施例提供的一种关键词过滤方法的流程示意图;

图2是本发明实施例提供的一种状态机的结构示意图;

图3是本发明实施例提供的另一种状态机的结构示意图;

图4是本发明实施例提供的关键词过滤装置的结构示意图;

图5是本发明实施例提供的关键词过滤模块的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例提供的关键词过滤方法可以应用于社区网站中滤除敏感词的应用场景中。

下面将结合附图1-附图3,对本发明实施例提供的关键词过滤方法进行详细介绍。

请参见图1,为本发明实施例提供了一种关键词过滤方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤s101-步骤s103。

s101,基于关键词集合训练一套自动机。

可以理解的是,上述装置可以获取云端大数据存储的敏感词库,将上述敏感词库作为训练自动机的关键词集合。

具体的,上述装置可以基于关键词集合训练一套自动机,该自动机可以是有限状态机的数学模型。

在本发明实施例的一个具体实现方式中,可以构建关键词为abcd,abc以及c的自动机如图2所示,对于待过滤的词汇,若过滤到词节点a之后的词节点不同,则可以认为过滤失败直接从词节点a返回至root,若过滤到词节点b之后的词节点不同,则可以转向下一个包含b的关键词bcd进行过滤,而在bcd中过滤到c又不一致时,可以转向下一个包含c的关键词c进行过滤,以此类推,无论匹配哪个关键词,只要遇到匹配失败的节点,则可以转向下一个关键词(下一个状态)进行过滤。若当前过滤的关键词到最后都不能确定为想要的结果,则均返回至root。

s102,根据自动机指示的有限状态机对待过滤文本进行关键词过滤。

具体的,上述装置可以根据自动机指示的有限状态机对待过滤文本进行关键词过滤,可以理解的是,上述待过滤文本可以是在网站或者贴吧等平台上发布的帖子,在将帖子公开之前可以检测其中是否含有不适合公开的敏感词。

在可选实施例中,上述装置可以将关键词集合中的第一关键词与待过滤文本中的待过滤词汇进行匹配,可以理解的是,上述第一关键词的第一个词节点可以与待过滤词汇的第一个词节点相同,且在第一个词节点后二者具有最多的顺序分布一致的相同词节点。例如图3所示的过滤过程,第一关键词为abcd,其对应的第一个词节点为a,待过滤词汇为abce(不在图中体现),其对应的第一个词节点也是a,二者在a之后都存在顺序为b,c的相同词节点。若关键词集合中有abfd,虽然它与待过滤词汇为abce具有相同的第一词节点,但后续只有b这一个词节点与待过滤词汇一致,则不能作为第一关键词,同样的,关键词集合中有acbd,虽然它与待过滤词汇为abce具有相同的第一词节点,且后续也存在最多的b,c两个相同的词节点,但分布顺序与待过滤词汇中的b,c不一致,也不能作为第一关键词。

进一步的,上述装置可以确定第一关键词中与待过滤关键词中第一个不匹配的失败词节点,例如,第一关键词为abcd,待过滤词汇为abce,则二者第一个不匹配的失败词节点为c,即二者在c之后的词节点不一致,则c可以是第一个不匹配的失败词节点。

进一步的,上述装置可以在关键词集合中确定上述失败词节点指向的第二关键词,可以理解的是,上述第二关键词中存在与上述失败词节点相同的词节点,且二者基于上述失败词节点具有最多的顺序分布一致的相同词节点。例如图3所示的,第一关键词为abcd,待过滤词汇为abce,二者之间的失败词节点为c,则第二关键词中要有c,且第二关键词以c为基础可以在c的前后分布有与abce具有顺序一致的相同词节点,则bce可以是第二关键词。

在可选实施例中,当第二关键词与待过滤词汇的尾部词节点相同且分布顺序一致时,上述装置可以确定第二关键词为想要的目标关键词。例如,待过滤词汇为abce,第二关键词为bce,则bce可以是上述目标关键词。

在可选实施例中,若未匹配到所述目标关键词,上述装置可以返回文本良好提示信息。用于提示用户所上传的文本不存在敏感词。

s103,将过滤出的目标关键词输出至调用端。

具体的,上述装置可以将过滤出的目标关键词输出至调用端,可以理解的是,上述调用端可以是用户终端,例如,手机、电脑等能够显示过滤结果的设备终端。

进一步的,用户可以在调用端中根据关键词过滤的结果修改待过滤文本,确保文本可以上传。

在可选实施例中,上述装置可以将上述自动机存储之本地缓存,后续的其他待过滤文本,可以直接调用该自动机即可进行文本过滤,无需重新构建自动机,进一步,提升了关键词过滤的效率。

在本发明实施例中,通过训练一套自动机,根据有限状态机确定过滤失败的节点,基于此节点顺序往后过滤,只需对文本进行一遍过滤即可得到想要的结果,提高了关键词过滤的效率。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

下面将结合附图4和附图5,对本发明实施例提供的传关键词过滤装置进行详细介绍。需要说明的是,附图4和附图5所示的关键词过滤装置,用于执行本发明图1-图3所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图3所示的实施例。

请参见图4,为本发明实施例提供了一种关键词过滤装置的结构示意图。如图4所示,本发明实施例的关键词过滤装置10可以包括:自动机训练模块101、关键词过滤模块102、结果输出模块103、过滤结果确定模块104、提示信息输出模块105和自动机存储模块106。其中,上述关键词过滤模块102可以如图5所示,包括:文本匹配单元1021、失败节点确定单元1022和节点指向确定单元1023。

自动机训练模块101,用于基于关键词集合训练一套自动机。

可以理解的是,上述装置10可以获取云端大数据存储的敏感词库,将上述敏感词库作为训练自动机的关键词集合。

具体实现中,自动机训练模块101可以基于关键词集合训练一套自动机,该自动机可以是有限状态机的数学模型。

在本发明实施例的一个具体实现方式中,可以构建关键词为abcd,abc以及c的自动机如图2所示,对于待过滤的词汇,若过滤到词节点a之后的词节点不同,则可以认为过滤失败直接从词节点a返回至root,若过滤到词节点b之后的词节点不同,则可以转向下一个包含b的关键词bcd进行过滤,而在bcd中过滤到c又不一致时,可以转向下一个包含c的关键词c进行过滤,以此类推,无论匹配哪个关键词,只要遇到匹配失败的节点,则可以转向下一个关键词(下一个状态)进行过滤。若当前过滤的关键词到最后都不能确定为想要的结果,则均返回至root。

关键词过滤模块102,用于根据自动机指示的有限状态机对待过滤文本进行关键词过滤。

具体实现中,关键词过滤模块102可以根据自动机指示的有限状态机对待过滤文本进行关键词过滤,可以理解的是,上述待过滤文本可以是在网站或者贴吧等平台上发布的帖子,在将帖子公开之前可以检测其中是否含有不适合公开的敏感词。

在可选实施例中,文本匹配单元1021可以将关键词集合中的第一关键词与待过滤文本中的待过滤词汇进行匹配,可以理解的是,上述第一关键词的第一个词节点可以与待过滤词汇的第一个词节点相同,且在第一个词节点后二者具有最多的顺序分布一致的相同词节点。例如图3所示的过滤过程,第一关键词为abcd,其对应的第一个词节点为a,待过滤词汇为abce(不在图中体现),其对应的第一个词节点也是a,二者在a之后都存在顺序为b,c的相同词节点。若关键词集合中有abfd,虽然它与待过滤词汇为abce具有相同的第一词节点,但后续只有b这一个词节点与待过滤词汇一致,则不能作为第一关键词,同样的,关键词集合中有acbd,虽然它与待过滤词汇为abce具有相同的第一词节点,且后续也存在最多的b,c两个相同的词节点,但分布顺序与待过滤词汇中的b,c不一致,也不能作为第一关键词。

进一步的,失败节点确定单元1022可以确定第一关键词中与待过滤关键词中第一个不匹配的失败词节点,例如,第一关键词为abcd,待过滤词汇为abce,则二者第一个不匹配的失败词节点为c,即二者在c之后的词节点不一致,则c可以是第一个不匹配的失败词节点。

进一步的,节点指向确定单元1023可以在关键词集合中确定上述失败词节点指向的第二关键词,可以理解的是,上述第二关键词中存在与上述失败词节点相同的词节点,且二者基于上述失败词节点具有最多的顺序分布一致的相同词节点。例如图3所示的,第一关键词为abcd,待过滤词汇为abce,二者之间的失败词节点为c,则第二关键词中要有c,且第二关键词以c为基础可以在c的前后分布有与abce具有顺序一致的相同词节点,则bce可以是第二关键词。

在可选实施例中,当第二关键词与待过滤词汇的尾部词节点相同且分布顺序一致时,过滤结果确定模块104可以确定第二关键词为想要的目标关键词。例如,待过滤词汇为abce,第二关键词为bce,则bce可以是上述目标关键词。

在可选实施例中,若未匹配到所述目标关键词,提示信息输出模块105可以返回文本良好提示信息。用于提示用户所上传的文本不存在敏感词。

结果输出模块103,用于将过滤出的目标关键词输出至调用端。

具体实现中,结果输出模块103可以将过滤出的目标关键词输出至调用端,可以理解的是,上述调用端可以是用户终端,例如,手机、电脑等能够显示过滤结果的设备终端。

进一步的,用户可以在调用端中根据关键词过滤的结果修改待过滤文本,确保文本可以上传。

在可选实施例中,自动机存储模块106可以将上述自动机存储之本地缓存,后续的其他待过滤文本,可以直接调用该自动机即可进行文本过滤,无需重新构建自动机,进一步,提升了关键词过滤的效率。

在本发明实施例中,通过训练一套自动机,根据有限状态机确定过滤失败的节点,基于此节点顺序往后过滤,只需对文本进行一遍过滤即可得到想要的结果,提高了关键词过滤的效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1