敏感词过滤方法和装置与流程

文档序号:11519765阅读:478来源:国知局
敏感词过滤方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种敏感词过滤方法和装置。



背景技术:

随着互联网技术的发展,近年来,人们通过手机终端等智能终端设备观看网络视频、使用各种社交软件等已经成为人们的一种常见娱乐休闲方式。

为了提高在观看视频同时的参与度,提高用户体验,目前,诸如发弹幕、聊天室等交互方式已经较为普遍地被使用。以网络视频直播场景为例,由于观看某直播的直播视频的用户众多,一个用户发表的言论是主播和其他观看用户都可见的。为了保证网络直播应用的健康性,往往需要对每个用户发表的言论进行敏感词过滤,以滤出低俗的、政治敏感的等言论。

但是,随着使用某网络应用比如网络视频直播的用户数量的不断增加以及用户通过发表言论参与互动的程度的不断增长,应用服务器进行高并发大量言论的敏感词过滤的处理压力将会很大,处理效率很可能会很低。



技术实现要素:

有鉴于此,本发明实施例提供一种敏感词过滤方法和装置,用以提高敏感词过滤的处理效率。

本发明实施例提供一种敏感词过滤方法,包括:

若接收到待发送数据,则从第一内存空间中读取第一预设词库,所述第一预设词库被预加载至所述第一内存空间中长久存储;

使用所述第一预设词库对所述待发送数据进行敏感词过滤处理;

若过滤结果表示所述待发送数据中含有敏感词,则删除所述待发送数据。

本发明实施例提供一种敏感词过滤装置,包括:

读取模块,用于若接收到待发送数据,则从第一内存空间中读取第一预设词库,所述第一预设词库被预加载至所述第一内存空间中长久存储;

过滤模块,用于使用所述第一预设词库对所述待发送数据进行敏感词过滤处理;

删除模块,用于若过滤结果表示所述待发送数据中含有敏感词,则删除所述待发送数据。

本发明实施例提供的敏感词过滤方法和装置,将第一预设词库被预加载至第一内存空间中长久存储,当接收到待发送数据时,可以直接从第一内存空间中读取第一预设词库来对待发送数据进行敏感词过滤处理,由于第一预设词库常驻在内存空间中,可以快速地获取到该第一预设词库完成敏感词过滤处理,尤其当需要对大量的待发送数据进行高并发的敏感词过滤处理时,能够更加显著地提高过滤效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的敏感词过滤方法实施例一的流程图;

图2为本发明实施例提供的敏感词过滤方法实施例二的流程图;

图3为本发明实施例提供的敏感词过滤装置实施例一的结构示意图;

图4为本发明实施例提供的敏感词过滤装置实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

图1为本发明实施例提供的敏感词过滤方法实施例一的流程图,本实施例提供的该敏感词过滤方法可以由一敏感词过滤装置来执行,该敏感词过滤装置可以实现为软件,或者实现为软件和硬件的组合,该敏感词过滤装置可以集成设置在服务器中。如图1所示,该方法包括如下步骤:

步骤101、若接收到待发送数据,则从第一内存空间中读取第一预设词库,第一预设词库被预加载至第一内存空间中长久存储。

步骤102、使用第一预设词库对待发送数据进行敏感词过滤处理。

步骤103、若过滤结果表示待发送数据中含有敏感词,则删除待发送数据。

本实施例中,上述待发送数据可以是客户端发送给服务器,经由服务器发送至其他客户端侧显示的数据。以视频直播场景为例,观看用户在观看某主播的直播视频的时候,可能会以弹幕的形式与主播进行互动,而该观看用户发送的弹幕,服务器需要发送至主播客户端以及其他观看用户的观看客户端进行同步显示,此时,观看用户发送的弹幕即为上述的待发送数据。

本实施例中,用于进行敏感词过滤的预设词库被预先加载到内存空间中常驻,即本实施例中的上述第一预设词库被预加载至第一内存空间中长久存储,当服务器接收到待发送数据时,从对应的内存空间中读取该第一预设词库,以利用该第一预设词库对待发送数据进行敏感词过滤。

由于第一预设词库被预加载到内存中常驻,使得服务器仅需在需要使用该第一预设词库时从内存中读取获得即可,从内存中读取的速度将远远高于从其他存储位置读取获得的速度。

其中,对待发送数据进行敏感词过滤,主要是看该待发送数据中是否包含了第一预设词库中包含的词汇,若包含,则确定该待发送数据不应该被发送出去,删除该待发送数据,反之,如果该待发送数据中并不包含敏感词,则将该待发送数据发送至目的接收方。

本实施例中,将第一预设词库被预加载至第一内存空间中长久存储,当接收到待发送数据时,可以直接从第一内存空间中读取第一预设词库来对待发送数据进行敏感词过滤处理,由于第一预设词库常驻在内存空间中,可以快速地获取到该第一预设词库完成敏感词过滤处理,尤其当需要对大量的待发送数据进行高并发的敏感词过滤处理时,能够更加显著地提高过滤效率。

图2为本发明实施例提供的敏感词过滤方法实施例二的流程图,如图2所示,该方法包括如下步骤:

步骤201、若接收到第一预设词库,则通过swoole服务启动预设脚本,以使预设脚本将第一预设词库存入第一内存空间中,其中,swoole服务预先为预设脚本申请第三内存空间,以供预设脚本持续运行使用;预设脚本预先申请第一内存空间,以用于存储第一预设词库。

本实施例中,服务器中包含的敏感词过滤功能被承载于一预设脚本中,该预设脚本可以是通过php语言来实现,并且,本实施例中,该预设脚本是以swoole架构来开发的,通过swoole将该预设脚本服务化。

实际应用中,为提高服务器的并发处理能力,可能在服务器中设置有多个上述预设脚本,本实施例总,可以理解为swoole服务可以管理各预设脚本,具体比如体现为swoole服务为各预设脚本申请对应的内存空间供其运行。

值得说明的是,在服务器被启动的情况下,随着服务器的启动,swoole服务、预设脚本随即被启动连续运行,即swoole服务、预设脚本将一直处于监听状态,比如监听是否有待发送数据需要处理。其中,swoole服务相当于一服务入口,当swoole服务被启动时,通过预设命令可以运行该预设脚本。

本实施例中,由于预设脚本可以在分配给其的内存空间即上述第三内存空间中连续运行,因此,预设脚本一致占用内存空间。另一方面,预设脚本被配置为会为预设词库申请内存空间即假设当前申请的为上述第一内存空间,由于预设脚本一直在第三内存空间中运行,除非特殊情况外,其负责维护的预设词库也将一直在第一内存空间中存储,其中,第一内存空间可以包含于第三内存空间中,也可以与第三内存空间独立。

初始情况下,假设该服务器的内存中还没有存储有预设字库,某时刻,运行人员将准备好的第一预设词库发送至服务器,此时触发服务器将该第一预设词库存入上述第一内存空间中的处理,即通过swoole服务启动预设脚本,以使预设脚本将第一预设词库存入为其分配的第一内存空间中。

基于swoole服务可以使得上述第一预设词库在第一内存空间中的生命周期由预设脚本来决定,因为预设脚本可以一直持续运行在内存空间中。

步骤202、若接收到待发送数据,则根据第一预设词库的更新时间判断第一预设词库是否有效,若有效,则执行步骤203;若无效,则执行步骤204。

步骤203、从第一内存空间中读取第一预设词库。

本实施例中,当swoole服务监听到有待发送数据上传至时,调用一预设脚本将待发送数据发送至该预设脚本,该预设脚本首先要判断当前第一内存空间中存储的第一预设词库是否有效,若有效,则直接从第一内存空间中读取该第一预设词库进行敏感词过滤处理。

其中,判断第一预设词库是否有效的依据可以是根据第一预设词库的更新时间来实现。具体地,当存在有更新版本的第二预设词库时,预设脚本会获取得到更新版本的第二预设词库的更新时间,以该更新时间与已经存储的第一预设词库的更新时间比较,以确定第一预设词库是否需要更新,当不需要更新时,第一预设词库有效。

步骤204、获取更新版本的第二预设词库,将第一预设词库从第一内存空间中删除,将第二预设词库加载至第二内存空间中长久存储,从第二内存空间中读取第二预设词库。

当第一预设词库需要被更新时,第一预设词库无效,此时,预设脚本将第一预设词库从第一内存空间中删除,并获得该第二预设词库,将第二预设词库加载至第二内存空间中长久存储,其中,该第二内存空间与第一内存空间可以相同或不同。

之后,预设脚本从第二内存空间中读取第二预设词库,以使用第二预设词库对待发送数据进行敏感词过滤处理。

步骤205、使用读取到的预设词库对待发送数据进行敏感词过滤处理。

步骤206、若过滤结果表述待发送数据中含有敏感词,则删除待发送数据。

本实施例中,通过swoole服务为提供敏感词过滤功能的预设脚本分配供其连续运行使用的内存空间,以保证预设脚本在内存空间中的常驻,进而,预设脚本为预设词库申请内存空间,预设脚本一直处于运行状态,作为其工作中必要因素的预设词库将不会被释放,使得预设词库常驻在内存空间中,以便于能够快速获得预设词库完成对待发送数据的敏感词过滤处理。

以下将详细描述本发明的一个或多个实施例的敏感词过滤装置。这些敏感词过滤装置可以被实现在服务器的基础架构中,或者实现在客户端与服务器交互的服务器架构中。本领域技术人员可以理解,这些敏感词过滤装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图3为本发明实施例提供的敏感词过滤装置实施例一的结构示意图,如图3所示,该装置包括:读取模块11、过滤模块12、删除模块13。

读取模块11,用于若接收到待发送数据,则从第一内存空间中读取第一预设词库,所述第一预设词库被预加载至所述第一内存空间中长久存储。

过滤模块12,用于使用所述第一预设词库对所述待发送数据进行敏感词过滤处理。

删除模块13,用于若过滤结果表示所述待发送数据中含有敏感词,则删除所述待发送数据。

图3所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。

图4为本发明实施例提供的敏感词过滤装置实施例二的结构示意图,如图4所示,在图3所示实施例基础上,所述读取模块11具体用于:若根据所述第一预设词库的更新时间判断所述第一预设词库有效,则从所述第一内存空间中读取所述第一预设词库。

可选地,该装置还包括:更新模块21、第一存储处理模块22。

更新模块21,用于若根据所述第一预设词库的更新时间判断所述第一预设词库无效,则获取更新版本的第二预设词库。

第一存储处理模块22,用于将所述第一预设词库从所述第一内存空间中删除,将所述第二预设词库加载至第二内存空间中长久存储,所述第一内存空间与所述第二内存空间相同或不同。

相应地,所述读取模块11具体用于:从所述第二内存空间中读取所述第二预设词库。

可选地,所述读取模块11还用于:通过swoole服务将所述待发送数据传输至一预设脚本,以使所述预设脚本从所述第一内存空间中读取所述第一预设词库,其中,所述预设脚本是提供敏感词过滤功能的脚本。

可选地,该装置还包括:第二存储处理模块23。

第二存储处理模块23,用于若接收到所述第一预设词库,则通过swoole服务启动预设脚本,以使所述预设脚本将所述第一预设词库存入所述第一内存空间中;其中,所述swoole服务预先为所述预设脚本申请第三内存空间,以供所述预设脚本持续运行使用;所述预设脚本预先申请所述第一内存空间,以用于存储所述第一预设词库。

图4所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。

以上描述了敏感词过滤装置的内部功能和结构,实际中,该敏感词过滤装置可实现为服务器,包括:存储器、处理器,其中,存储器与处理器通过总线连接,存储器中存储有计算机程序,处理器调用存储器中存储的该计算机程序,以执行如下步骤:

若接收到待发送数据,则从第一内存空间中读取第一预设词库,所述第一预设词库被预加载至所述第一内存空间中长久存储;使用所述第一预设词库对所述待发送数据进行敏感词过滤处理;若过滤结果表示所述待发送数据中含有敏感词,则删除所述待发送数据。

可选地,所述处理器还用于调用存储器中的计算机程序,执行上述图1、图2所示方法步骤中的全部或部分步骤。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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