CN113407662B - 敏感词识别方法、系统及计算机可读存储介质 - Google Patents

敏感词识别方法、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN113407662B
CN113407662B CN202110951685.8A CN202110951685A CN113407662B CN 113407662 B CN113407662 B CN 113407662B CN 202110951685 A CN202110951685 A CN 202110951685A CN 113407662 B CN113407662 B CN 113407662B
Authority
CN
China
Prior art keywords
search tree
sensitive word
sensitive
node
distributed cache
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.)
Active
Application number
CN202110951685.8A
Other languages
English (en)
Other versions
CN113407662A (zh
Inventor
闫江涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Mingyuan Yunke E Commerce Co ltd
Original Assignee
Shenzhen Mingyuan Yunke E Commerce Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Mingyuan Yunke E Commerce Co ltd filed Critical Shenzhen Mingyuan Yunke E Commerce Co ltd
Priority to CN202110951685.8A priority Critical patent/CN113407662B/zh
Publication of CN113407662A publication Critical patent/CN113407662A/zh
Application granted granted Critical
Publication of CN113407662B publication Critical patent/CN113407662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Abstract

本发明公开了一种敏感词识别方法、系统及计算机可读存储介质,该方法包括在接收到待识别文本时,向分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,分布式缓存服务器接收到数据访问请求时,从自身对应的缓存节点中获取主键对应的搜索树,并将搜索树发送至词库检索服务器;接收所述分布式缓存服务器返回的主键对应的搜索树;基于AC自动机算法确定待识别文本与搜索树的匹配结果,并根据匹配结果确定所述待识别文本中的敏感词。本发明通过在分布式缓存服务器中缓存了搜索树,在进行敏感词识别后,可直接访问分布式缓存服务器,以读取搜索树,减轻了数据库的压力并提升了敏感词识别的识别速度。

Description

敏感词识别方法、系统及计算机可读存储介质
技术领域
本发明涉及文字处理技术领域,尤其涉及敏感词识别方法、系统及计算机可读存储介质。
背景技术
随着互联网的普及,信息传播速度快、范围广、影响大,信息传播的过程中不可避免会出现敏感信息,带来了不良的社会影响。现有技术中通过敏感词库对待传播的信息中的敏感词进行匹配查找替换,但现有技术中所采用的敏感词库存储在硬盘中,在敏感词数量较大时,识别速度缓慢,导致对敏感词的过滤效果不佳。
发明内容
本发明的主要目的在于提供一种敏感词识别方法、系统及计算机可读存储介质,旨在解决现有技术中识别敏感词时识别速度缓慢的问题。
为实现上述目的,本发明提供一种敏感词识别方法,应用于词库检索服务器,所述敏感词识别方法的步骤包括:
在接收到待识别文本时,向分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,所述分布式缓存服务器接收到所述数据访问请求时,从自身对应的缓存节点中获取所述主键对应的搜索树,并将所述搜索树发送至所述词库检索服务器;
接收所述分布式缓存服务器返回的所述主键对应的所述搜索树;
基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
可选地,所述在接收到待识别文本时,向分布式缓存服务器发送数据访问请求的步骤之前,还包括:
获取数据库中存储的敏感词词库,根据所述敏感词词库基于AC自动机算法建立所述敏感词词库对应的搜索树;
将所述搜索树同步到所述分布式缓存服务器中,以供所述分布式缓存服务器在对应的缓存节点中存储所述搜索树。
可选地,所述将所述搜索树同步到所述分布式缓存服务器中的步骤包括:
获取所述搜索树对应的各个结点的关系信息;
将各个所述结点与所述关系信息以键值对的形式同步到所述分布式存储服务器中,以供所述分布式存储服务器根据各个所述结点以及所述关系信息生成所述搜索树,并存储所述搜索树。
可选地,所述接收所述分布式缓存服务器返回的所述主键对应的搜索树的步骤之前,还包括:
监听敏感词词库更新信息,所述敏感词词库更新信息包括待更新敏感词;
根据所述敏感词词库更新信息对所述敏感词词库进行更新以得到更新后的敏感词词库并将所述更新后的敏感词词库存储在数据库中;
发送所述待更新敏感词至所述分布式缓存服务器,以供所述分布式缓存服务器根据所述待更新敏感词更新所述搜索树。
可选地,所述基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词的步骤包括:
根据所述待识别文本对应的各个字符与所述搜索树的各个节点进行匹配;
获取所述待识别文本与所述搜索树完整匹配的至少一个敏感词;
根据各个所述敏感词作为所述匹配结果并根据所述匹配结果确定所述待识别文本中的敏感词。
一种敏感词识别方法,应用于分布式缓存服务器,所述敏感词识别方法的步骤包括:
接收到所述词库检索服务器发送的数据访问请求时,根据所述数据访问请求对应的主键查找所述主键对应的缓存节点;
获取所述缓存节点中存储的搜索树;
将所述搜索树返回至所述词库检索服务器,以供所述词库检索服务器基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
可选地,所述接收到所述词库检索服务器发送的数据访问请求时,根据所述数据访问请求对应的主键查找所述主键对应的缓存节点的步骤之前,还包括:
接收所述词库检索服务器发送的所述搜索树的各个结点与各个结点对应的关系信息;
根据所述各个结点与各个结点对应的关系信息生成对应的搜索树;
根据所述搜索树对应的主键通过哈希算法确定所述主键对应的缓存节点;
将所述搜索树缓存在所述缓存节点中。
可选地,所述敏感词识别方法还包括:
接收到所述词库检索服务器发送的待更新敏感词时,根据所述待更新敏感词获取待更新序列;
根据所述待更新序列在所述搜索树中生成新的路径插入所述搜索树中,以更新所述搜索树。
此外,为实现上述目的,本发明还提供一种敏感词识别系统,所述敏感词识别系统词库检索服务器、数据库以及分布式缓存服务器,所述敏感词识别系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的敏感词识别程序,所述敏感词识别程序被所述处理器执行时实现如上所述的敏感词识别方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有敏感词识别程序,所述敏感词识别程序被处理器执行时实现如上所述的敏感词识别方法的步骤。
本发明实施例提出的一种敏感词识别方法、系统及计算机可读存储介质,词库检索服务器通过获取数据库中存储的敏感词词库,进而基于AC自动机算法构建所述敏感词词库对应的搜索树,并将所述搜索树同步至所述分布式缓存服务器中,以供所述分布式缓存服务器在自身对应的缓存节点中。所述词库检索服务器在接收到待识别文本时,向所述分布式缓存服务器发出数据访问请求,以获取对应的搜索树,进而根据获取所述搜索树与所述待识别文本的匹配结果并根据所述匹配结果确定所述待识别文本中的敏感词,避免访问查询数据库,减少了数据库的压力并且通过访问分布式缓存访问服务器,访问速度更快,进而提高了敏感词识别的识别速度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端\结构示意图;
图2为本发明敏感词识别方法第一实施例的流程示意图;
图3为本发明敏感词识别方法第一实施例中搜索树的示意图;
图4为本发明敏感词识别方法第二实施例的流程示意图。
图5为本发明敏感词识别方法第三实施例的流程示意图;
图6为本发明敏感词识别方法第四实施例的流程示意图;
图7为本发明敏感词识别方法第五实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在接收到待识别文本时,向分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,所述分布式缓存服务器接收到所述数据访问请求时,从自身对应的缓存节点中获取所述主键对应的搜索树,并将所述搜索树发送至所述词库检索服务器;接收所述分布式缓存服务器返回的所述主键对应的所述搜索树;基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例涉及的敏感词识别方法主要应用于终端,所述终端可以是PC、便携计算机、移动终端等具有处理功能的设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及敏感词识别程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的敏感词识别程序,并执行以下操作:
在接收到待识别文本时,向分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,所述分布式缓存服务器接收到所述数据访问请求时,从自身对应的缓存节点中获取所述主键对应的搜索树,并将所述搜索树发送至所述词库检索服务器;
接收所述分布式缓存服务器返回的所述主键对应的所述搜索树;
基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
获取数据库中存储的敏感词词库,根据所述敏感词词库基于AC自动机算法建立所述敏感词词库对应的搜索树;
将所述搜索树同步到所述分布式缓存服务器中,以供所述分布式缓存服务器在对应的缓存节点中存储所述搜索树。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
获取所述搜索树对应的各个结点的关系信息;
将各个所述结点与所述关系信息以键值对的形式同步到所述分布式缓存服务器中,以供所述分布式缓存服务器根据各个所述结点以及所述关系信息生成所述搜索树,并存储所述搜索树。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
监听敏感词词库更新信息,所述敏感词词库更新信息包括待更新敏感词;
根据所述敏感词词库更新信息对所述敏感词词库进行更新以得到更新后的敏感词词库并将所述更新后的敏感词词库存储在数据库中;
发送所述待更新敏感词至所述分布式缓存服务器,以供所述分布式缓存服务器根据所述待更新敏感词更新所述搜索树。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
根据所述待识别文本对应的各个字符与所述搜索树的各个节点进行匹配;
获取所述待识别文本与所述搜索树完整匹配的至少一个敏感词;
根据各个所述敏感词作为所述匹配结果并根据所述匹配结果确定所述待识别文本中的敏感词。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
接收到所述词库检索服务器发送的数据访问请求时,根据所述数据访问请求对应的主键查找所述主键对应的缓存节点;
获取所述缓存节点中存储的搜索树;
将所述搜索树返回至所述词库检索服务器,以供所述词库检索服务器基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
接收所述词库检索服务器发送的所述搜索树的各个结点与各个结点对应的关系信息;
根据所述各个结点与各个结点对应的关系信息生成对应的搜索树;
根据所述搜索树对应的主键通过哈希算法确定所述主键对应的缓存节点;
将所述搜索树缓存在所述缓存节点中。
进一步地,处理器1001可以调用存储器1005中存储的敏感词识别程序,还执行以下操作:
接收到所述词库检索服务器发送的待更新敏感词时,根据所述待更新敏感词获取待更新序列;
根据所述待更新序列在所述搜索树中生成新的路径插入所述搜索树中,以更新所述搜索树。
现有技术中,在进行敏感词识别时,通过通过访问数据库,以获取所述数据库中存储的敏感词词库,在敏感词词库对应的数据量很大时,基于数据库保存在硬盘中,访问速度过慢,导致敏感词识别速度缓慢。
参照图2,本发明敏感词识别方法第一实施例提供一种敏感词识别方法,所述敏感词识别方法包括:
步骤S10,在接收到待识别文本时,向分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,所述分布式缓存服务器接收到所述数据访问请求时,从自身对应的缓存节点中获取所述主键对应的搜索树,并将所述搜索树发送至所述词库检索服务器;
步骤S20,接收所述分布式缓存服务器返回的所述主键对应的所述搜索树;
步骤S30,基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
在本申请实施例,应用于敏感词识别系统中的词库检索服务器,所述敏感词识别系统包括所述词库检索服务器以及与所述词库检索服务器连接的数据库和分布式缓存服务器,其中,所述数据库为mysql数据库,所述分布式缓存服务为redis缓存服务器,所述redis缓存服务器包括redis集群,所述redis集群包括至少一个缓存节点,所述分布式缓存服务器基于内存建立,基于内存的访问速度远远大于硬盘的访问速度,基于此,本申请实施例需获取对应的搜索树时,直接访问所述分布式缓存服务器读取搜索树对应的效率远远大于比直接访问所述数据读取数据库的效率。
可选地,所述mysql数据库保存着敏感词词库,所述敏感词词库包括若干个敏感词,所述敏感词词库基于系统配置人员在所述敏感词词库增加敏感词,删除敏感词或修改所述敏感词词库中已有敏感词。
可选地,为了避免在敏感词识别过程中,本申请实施例通过将所述敏感词词库缓存在分布式缓存服务器的缓存节点对应的内存时,以使在后续的敏感词识别中,可直接访问所述分布式缓存服务器中的敏感词词库。可选地,所述敏感词词库缓存在所述分布是缓存服务器对应的内存时,为了提升敏感词识别的效率,本申请实施例通过将所述存储在所述mysql数据库的敏感词词库构建对应的搜索树,进而将所述搜索树缓存在所述分布式缓存服务器对应的内存中。基于此,所述步骤S10之前还包括:
获取数据库中存储的敏感词词库,根据所述敏感词库基于AC自动机算法建立所述敏感词词库对应的搜索树;
将所述搜索树同步到所述分布式缓存服务器中,以供所述分布式缓存服务器在对应的缓存节点中存储所述搜索树。
可选地,所述词库检索服务器通过接收所述mysql数据库中存储的敏感词词库,进而根据所述敏感词词库构建对应的搜索树。
可选地,所述根据所述敏感词词库建立对应的搜索树的方式包括基于AC自动机算法建立所述敏感词词库对应的搜索树。在具体实施过程中,获取所述敏感词词库中存储的各个敏感词,基于各个所述敏感词构建对应的Trie树,进而基于所述Trie树中的各个结点构建对应的失败指针,所述失败指针用于在当前匹配的结点匹配失败时,根据所述当前匹配结点对应的失败结点继续往下匹配,进而根据所述Trie树以及各个所述失败指针完成所述搜索树的建立。
可选地,在完成所述搜索树的建立后,将所述搜索树缓存在所述分布式缓存服务器对应的缓存节点中。所述分布式缓存服务器基于redis集群建立,所述redis集群包括至少一个缓存节点。所述将所述搜索树同步到所述分布是缓存服务器中的步骤包括:
获取所述搜索树对应的各个结点的关系信息;
将各个所述结点与所述关系信息以键值对的形式同步到所述分布式存储服务器中,以供所述分布式存储服务器根据各个所述结点以及所述关系信息生成所述搜索树,并存储所述搜索树。
在具体实施过程中,获取所述搜索树对应的各个结点的关系信息,所述关系信息包括各个结点对应的父节点,进而将各个所述结点与所述关系信息以键值对(key-value)的形式同步到所述分布式缓存服务器中。其中,所述键值对包括key值,所述key值用于标记所述搜索树,所述key值可以是用户自行配置,例如,所述搜索树对应的key值为minganci。另外,所述键值对包括vulue值,所述value值的数据结构为无序集合set。该无序集合里包括各个所述结点各个所述结点的关系信息。例如,所述无序集合的其中一个结点与所述结点对应的关系信息为{parent:root,value:红},所述结点为红,所述结点对应的关系信息为:父结点root,子结点为红。所述分布式缓存服务器接收到所述key值与所述value值,基于哈希算法获取所述key值对应的哈希值,根据所述哈希值确定所述key值对应的缓存节点,进而将所述key值与所述value值缓存在所述缓存节点对应的内存中。
可选地,所述分布式缓存服务器将所述key值与所述value值缓存在所述缓存节点对应的内存后,根据所述value值对应的各个结点与各个所述节点的关系信息基于AC自动机算法生成对应的搜索树,进而将所述搜索树缓存在所述key值对应的缓存节点中。可以理解的是,所述分布式缓存服务器中缓存的搜索树与所述词库检索服务器基于敏感词词库建立的搜索树相同。
可选地,在将所述搜索树同步至所述分布式缓存服务器后,后续执行敏感词识别操作时,可直接访问所述分布式缓存服务器,以获取对应的搜索树。在实际操作过程中,所述词库检索服务器在接收到待识别文本后,向所述分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,所述主键相当于对应的key值,以供所述分布式缓存服务器接收到主键时,根据所述主键在所述分布式缓存服务器的各个缓存节点中查询所述主键对应的缓存节点,在查询到对应的缓存节点后,根据所述主键获取对应的搜索树,进而将所述搜索树返回至所述词库检索服务器中。
可选地,所述词库检索服务器接收到所述分布式缓存服务器返回的搜索树后,进而基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果。
可选地,所述基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果的步骤包括:
根据所述待识别文本对应的各个字符与所述搜索树的各个结点进行匹配;
获取所述待识别文本与所述搜索树完整匹配的至少一个敏感词;
根据各个所述敏感词作为所述匹配结果并根据所述匹配结果确定所述待识别文本中的敏感词。
可选的,所述待识别文本由多个中文字符和/或英文字符组成,例如所述待识别文本为“快来抢红包”,所述各个字符分别为“快”、“来”、“抢”、“红”、“包”。
在获取对应的各个字符后,根据所述各个字符与所述搜索树的各个结点进行匹配,进而获取所述待识别文本与所述搜索树完整匹配的至少一个敏感词。参照图3,图3为所述搜索树的其中一个实施例,基于所述待识别文本与所述搜索树完整匹配的敏感词为“抢红包”。
可选地,在获取所述与所述搜索树完整匹配的至少一个敏感词后,将所述敏感词作为当前敏感词识别操作的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词,例如,所述匹配结果为“抢红包”,进而确定所述待识别文本中的敏感词为“抢红包”。
在本申请实施例中,在获取待识别文本后,根据所述待识别文本向所述分布式缓存服务器发出数据访问请求,所述分布式缓存服务器建立在内存中,以获取对应的搜索树,进而基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,进而根据所述匹配结果确定所述待识别文本中的敏感词。基于直接访问分布是缓存服务器,而无需访问存储在硬盘的数据库,减轻了数据库的压力,并提升了敏感词识别的效率。
可选地,参照图4,基于第一实施例,本发明提出了敏感词识别方法第二实施例,所述步骤S20之前还包括:
步骤S40,监听敏感词词库更新信息,所述敏感词词库更新信息包括待更新敏感词;
步骤S41,根据所述敏感词词库更新信息对所述敏感词词库进行更新以得到更新后的敏感词词库并将所述更新后的敏感词词库存储在数据库中;
步骤S42,发送所述待更新敏感词至所述分布式缓存服务器,以供所述分布式缓存服务器根据所述待更新敏感词更新所述搜索树。
可选地,基于业务需要,敏感词会实时更新,基于此,为了提高敏感词识别的识别能力,所述敏感词库也需要动态更新。
可选地,在本申请实施例中,所述词库检索服务器在预设时间间隔内监听敏感词库更新信息,所述敏感词词库更新信息包括待更新敏感词,进而根据所述待更新敏感词对所述数据库中存储的敏感词词库进行更新以获取更新后的敏感词词库,其中,对所述数据库中存储的敏感词词库进行更新的方式可以是增添新的敏感词,还可以是删除原有的敏感词,还可以是修改原有的敏感词。
可选地,对所述敏感词词库进行更新后,根据所述更新后的敏感词词库对所述数据库存储的搜索树进行更新,以获取更新后的搜索树。
可选地,在更新所述搜索树,根据所述更新后的搜索树发送待更新敏感词至所述分布式缓存服务器,以供所述分布式缓存服务器根据所述待更新敏感词更新所述分布式缓存服务器中缓存的搜索树。
其中,所述根据所述待更新敏感词更新所述分布是缓存服务器中缓存的搜索树的方式为基于AC自动机增量算法进行搜索树的更新。
在本申请实施例中,通过监听敏感词词库更新信息,进而更新所述敏感词词库更新信息动态更新所述敏感词词库,根据根据所述更新后的敏感词词库对应的待更新敏感词更新对应的搜索树,并同时更新所述分布式缓存服务器中缓存的搜索树,以实现搜索树的实时更新,提高了基于更新后的搜索树进行敏感词识别的响应速度并提高了所述敏感词识别的识别能力。
可选地,参照图5,本发明提出了敏感词识别方法第三实施例,本申请敏感词识别方法第三实施例应用于敏感词识别系统中的分布式缓存服务器,所述敏感词识别方法的步骤包括:
步骤S50,接收到所述词库检索服务器发送的数据访问请求时,根据所述数据访问请求对应的主键查找所述主键对应的缓存节点;
步骤S60,获取所述缓存节点中存储的搜索树;
步骤S70,将所述搜索树返回至所述词库检索服务器,以供所述词库检索服务器基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
在本申请实施例中,在执行敏感词识别的过程中,所述词库检索服务器向所述分布式缓存服务器发送数据访问请求,所述分布式缓存服务器接收到所述数据访问请求时,根据所述访问请求对应的主键查找所述主键对应的缓存节点,其中,所述根据所述主键查找所述主键对应的缓存节点的具体实施方式为基于哈希算法计算出所述主键对应的哈希值,进而根据所述哈希值确定所述哈希值对应的缓存节点,进而将所述哈希值对应的缓存节点确定为所述主键对应的缓存节点,
可选地,在获取对应的缓存节点后,进而根据所述主键获取所述主键对应的搜索树,其中,所述主键与所述搜索树是一一对应的关系。
在获取对应的搜索树后,将所述搜索树发送至所述词库检索服务器中,以供所述词库检索服务器基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
在本申请实施例中,所述分布式缓存服务器在接收数据访问请求后,根据所述数据访问请求查询到对应的搜索树,进而将所述搜索树返回至所述词库检索服务器,提高了获取对应的搜索树的效率,进而提高了敏感词识别的效率。
可选地,参照图6,基于上述实施例,所述步骤S50之前还包括:
步骤S80,接收所述词库检索服务器发送的所述搜索树的各个结点与各个结点对应的关系信息;
步骤S81,根据所述各个结点与各个结点对应的关系信息生成对应的搜索树;
步骤S82,根据所述搜索树对应的主键通过哈希算法确定所述主键对应的缓存节点;
步骤S83,将所述搜索树缓存在所述缓存节点中。
在本申请实施例中,所述词库检索服务器根据所述敏感词词库后建立对应的搜索树,为了实现将所述搜索树缓存在所述分布式缓存服务器中,所述词库检索服务器将所述搜索树对应的各个结点与各个结点对应的关系信息发送到所述分布式缓存服务器中,以供所述分布式缓存服务器根据所述各个结点与各个结点对应的关系信息构建相同的搜索树,进而将所述搜索树缓存在对应的节点中。
可以理解的是,所述词库检索服务器在将各个结点与各个结点对应的关系信息发送给所述分布式缓存服务器时,同时把所述搜索树对应的主键发送给所述分布式缓存服务器,所述分布式缓存服务器接收到所述主键后,基于哈希算法计算出所述主键对应的缓存节点,进而将所述各个结点与各个结点对应的关系信息缓存在所述缓存节点中。
可选地,在接收到各个结点与各个结点对应的关系信息后,基于AC自动机算法建立所述结点与各个结点对应的关系信息对应的搜索树,进而将所述搜索树缓存在所述主键对应的缓存节点中。
在本申请实施例中,接收到所述词库检索服务器发送的所述搜索树的各个结点与各个结点对应的关系信息后,根据所述各个结点与各个所述结点对应的关系信息构建与所述数据库存储的搜索树相同的搜索树,同时根据所述数据库存储的搜索树的主键通过哈希算法确定所述主键对应的缓存节点,进而同时将所述搜索树、各个结点与各个所述结点对应的关系信息均保存在所述缓存节点中,以供在敏感词识别的过程中,更快地将所述搜索树返回给所述词库检索服务器,提升敏感词识别的效率。
可选地,参照图7,所述敏感词识别方法的步骤还包括:
步骤S90,接收到所述词库检索服务器发送的待更新敏感词时,根据所述待更新敏感词获取待更新序列;
步骤S91,根据所述待更新序列在所述搜索树中生成新的路径插入所述搜索树中,以更新所述搜索树。
在本申请实施例中,所述敏感词词库存储的敏感词可以动态更新,在所述敏感词词库更新后,将对应的待更新敏感词发送至所述分布式缓存服务器中,以供所述分布式缓存服务器根据所述待更新敏感词更新对应的搜索树。
其中,所述分布式缓存服务器根据所述待更新敏感词更新对应的搜索树的具体实施方式为根据所述待更新敏感词生成对应的待更新序列,例如,所述待更新敏感词为“快来拼团”,所述待更新敏感词对应的待更新序列为“快-来-拼-团”。
可选地,在获取对应的待更新序列后,根据所述待更新序列形成新的路径,并将所述路径插入所述搜索树中,以更新所述搜索树。
可选地,在获取对应的待更新序列时,还可以根据所述待更新序列删除所述搜索树中对应的路径。
可选地,所述更新所述搜索树的方式包括但不限于上述两种方式。
在本申请实施例中,通过接收到的待更新敏感词实时更新缓存在所述分布式缓存服务器中的搜索树,提高了搜索树实时更新的效率,以实现在敏感词识别过程中,及时根据更新后的搜索树进行敏感词识别,提升了敏感词识别的识别能力。
此外,本发明实施例还提出一种敏感词识别系统,所述敏感词识别系统包括词库检索服务器以及与所述词库检索服务器连接的数据库和分布式缓存服务器,所述敏感词识别包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的敏感词识别程序,所述敏感词识别程序被所述处理器执行时实现如上所述的各个实施例的敏感词识别方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有敏感词识别程序,所述敏感词识别程序被处理器执行时实现如下上所述的各个实施例的敏感词识别方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种敏感词识别方法,其特征在于,应用于词库检索服务器,所述敏感词识别方法的步骤包括:
在接收到待识别文本时,向分布式缓存服务器发送数据访问请求,其中,所述数据访问请求包括主键,所述分布式缓存服务器接收到所述数据访问请求时,从自身对应的缓存节点中获取所述主键对应的搜索树,并将所述搜索树发送至所述词库检索服务器;
监听敏感词词库更新信息,所述敏感词词库更新信息包括待更新敏感词;
根据所述敏感词词库更新信息对所述敏感词词库进行更新以得到更新后的敏感词词库并将所述更新后的敏感词词库存储在数据库中,进而根据所述更新后的敏感词词库对所述数据库存储的搜索树进行更新,以获取更新后的搜索树;
发送所述待更新敏感词至所述分布式缓存服务器,以供所述分布式缓存服务器根据所述待更新敏感词更新所述搜索树;
接收所述分布式缓存服务器返回的所述主键对应的所述搜索树,所述搜索树在所述分布式缓存服务器的数据结构为无序集合;
基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词。
2.如权利要求1所述的敏感词识别方法,其特征在于,所述在接收到待识别文本时,向分布式缓存服务器发送数据访问请求的步骤之前,还包括:
获取数据库中存储的敏感词词库,根据所述敏感词词库基于AC自动机算法建立所述敏感词词库对应的搜索树;
将所述搜索树同步到所述分布式缓存服务器中,以供所述分布式缓存服务器在对应的缓存节点中存储所述搜索树。
3.如权利要求2所述的敏感词识别方法,其特征在于,所述将所述搜索树同步到所述分布式缓存服务器中的步骤包括:
获取所述搜索树对应的各个结点的关系信息;
将各个所述结点与所述关系信息以键值对的形式同步到所述分布式缓存服务器中,以供所述分布式缓存服务器根据各个所述结点以及所述关系信息生成所述搜索树,并存储所述搜索树。
4.如权利要求1所述的敏感词识别方法,其特征在于,所述基于AC自动机算法确定所述待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词的步骤包括:
根据所述待识别文本对应的各个字符与所述搜索树的各个节点进行匹配;
获取所述待识别文本与所述搜索树完整匹配的至少一个敏感词;
根据各个所述敏感词作为所述匹配结果并根据所述匹配结果确定所述待识别文本中的敏感词。
5.一种敏感词识别方法,其特征在于,应用于分布式缓存服务器,所述敏感词识别方法的步骤包括:
接收到词库检索服务器发送的数据访问请求时,根据所述数据访问请求对应的主键查找所述主键对应的缓存节点;
获取所述缓存节点中存储的搜索树;
将所述搜索树返回至所述词库检索服务器,以供所述词库检索服务器基于AC自动机算法确定待识别文本与所述搜索树的匹配结果,并根据所述匹配结果确定所述待识别文本中的敏感词;
所述敏感词识别方法还包括:
接收到所述词库检索服务器发送的待更新敏感词时,根据所述待更新敏感词获取待更新序列;
根据所述待更新序列在所述搜索树中生成新的路径插入所述搜索树中,以更新所述搜索树。
6.如权利要求5所述的敏感词识别方法,其特征在于,所述接收到所述词库检索服务器发送的数据访问请求时,根据所述数据访问请求对应的主键查找所述主键对应的缓存节点的步骤之前,还包括:
接收所述词库检索服务器发送的所述搜索树的各个结点与各个结点对应的关系信息;
根据所述各个结点与各个结点对应的关系信息生成对应的搜索树;
根据所述搜索树对应的主键通过哈希算法确定所述主键对应的缓存节点;
将所述搜索树缓存在所述缓存节点中。
7.一种敏感词识别系统,其特征在于,所述敏感词识别系统词库检索服务器以及与所述词库检索服务器连接的数据库和分布式缓存服务器,所述敏感词识别系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的敏感词识别程序,所述敏感词识别程序被所述处理器执行时实现如权利要求1至6中任一项所述的敏感词识别方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有敏感词识别程序,所述敏感词识别程序被处理器执行时实现如权利要求1至6中任一项所述的敏感词识别方法的步骤。
CN202110951685.8A 2021-08-19 2021-08-19 敏感词识别方法、系统及计算机可读存储介质 Active CN113407662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110951685.8A CN113407662B (zh) 2021-08-19 2021-08-19 敏感词识别方法、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110951685.8A CN113407662B (zh) 2021-08-19 2021-08-19 敏感词识别方法、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113407662A CN113407662A (zh) 2021-09-17
CN113407662B true CN113407662B (zh) 2021-12-14

Family

ID=77688565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110951685.8A Active CN113407662B (zh) 2021-08-19 2021-08-19 敏感词识别方法、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113407662B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033563B (zh) * 2023-10-10 2024-04-26 北京轻松怡康信息技术有限公司 一种文本检索方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935270B1 (en) * 2010-05-13 2015-01-13 Netlogic Microsystems, Inc. Content search system including multiple deterministic finite automaton engines having shared memory resources
CN107451214A (zh) * 2016-09-21 2017-12-08 广州特道信息科技有限公司 一种非主键查询方法和分布式NewSQL数据库系统
CN111143513A (zh) * 2019-12-25 2020-05-12 支付宝(杭州)信息技术有限公司 一种敏感词识别方法、装置及电子设备
EP3846045A1 (en) * 2019-08-23 2021-07-07 Spicter AG Archiving data in a delta store

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494154B2 (en) * 2011-06-20 2013-07-23 Bae Systems Information And Electronic Systems Integration Inc. Cryptographic ignition key system
US10496283B2 (en) * 2016-01-22 2019-12-03 Suraj Prabhakar WAGHULDE Adaptive prefix tree based order partitioned data storage system
CN107346307B (zh) * 2016-05-04 2021-02-26 北京京东尚科信息技术有限公司 分布式缓存系统及方法
CN111813792A (zh) * 2020-06-22 2020-10-23 上海悦易网络信息技术有限公司 一种用于分布式缓存系统中缓存数据更新的方法与设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935270B1 (en) * 2010-05-13 2015-01-13 Netlogic Microsystems, Inc. Content search system including multiple deterministic finite automaton engines having shared memory resources
CN107451214A (zh) * 2016-09-21 2017-12-08 广州特道信息科技有限公司 一种非主键查询方法和分布式NewSQL数据库系统
EP3846045A1 (en) * 2019-08-23 2021-07-07 Spicter AG Archiving data in a delta store
CN111143513A (zh) * 2019-12-25 2020-05-12 支付宝(杭州)信息技术有限公司 一种敏感词识别方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于AC自动机的抗干扰不良文本检测系统设计与实现;熊斯玥;《中国优秀博硕士学位论文全文数据库(硕士) 息科技辑》;20210715;第I138-742页 *

Also Published As

Publication number Publication date
CN113407662A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
CN109299110B (zh) 数据查询方法、装置、存储介质和电子设备
CN107943840B (zh) 数据处理方法、系统和计算机可读存储介质
CN108549538B (zh) 一种代码检测方法、装置、存储介质及测试终端
CN111782977B (zh) 兴趣点处理方法、装置、设备及计算机可读存储介质
WO2018233140A1 (zh) 域名解析装置、方法及计算机可读存储介质
CN108401026B (zh) 基于区块链的数据存储方法、系统及计算机可读存储介质
US9928282B2 (en) Method and apparatus for providing search results on a mobile terminal
CN109036397B (zh) 用于呈现内容的方法和装置
CN113472901B (zh) 负载均衡方法、装置、设备、存储介质及程序产品
CN111382341B (zh) 一种基于大数据的科技信息资源检索查询系统及方法
CN109936504B (zh) 图片展示的方法、装置、服务器设备及存储介质
CN114553784A (zh) 限流处理方法及装置
CN113420051A (zh) 一种数据查询方法、装置、电子设备和存储介质
CN113407662B (zh) 敏感词识别方法、系统及计算机可读存储介质
CN107862068B (zh) 数据处理方法、装置及计算机可读存储介质
US20230194302A1 (en) Method of updating map data, electronic device and storage medium
CN111078986A (zh) 数据检索方法、装置及计算机可读存储介质
CN114115895A (zh) 一种代码查询方法、装置、电子设备和存储介质
CN110795615B (zh) 搜索方法、装置、设备和存储介质
CN109474563A (zh) 文件流的处理、提供方法、客户端及服务器
CN111367606A (zh) 一种应用程序页面的显示方法、装置、终端及介质
WO2022135410A1 (zh) 加载源文件的方法及装置
CN113157722B (zh) 一种数据处理方法、装置、服务器、系统及存储介质
KR20190089384A (ko) 전자 장치 및 이를 이용한 검색어 처리 방법
CN113393288A (zh) 订单处理信息生成方法、装置、设备和计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant