发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种基于矩阵的敏感词过滤方法及系统,以解决现有技术中存在的敏感词过滤准确率和效率低下的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请提供一种基于矩阵的敏感词过滤方法,包括:
获取敏感词并根据敏感词构建相关词库,该相关词库列举包括敏感词但与敏感词意义不同的词语,所有敏感词及其相关词库构成相关矩阵;
根据敏感词对目标文本进行检测,若出现敏感词,则进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语,若不存在,则过滤掉该敏感词,否则保留该敏感词。
可选地,所述获取敏感词之前还包括:
根据目标文本的题材对敏感词进行分类,所述获取敏感词具体为获取与目标文本的题材相对应的敏感词;
可选地,所述根据敏感词对目标文本进行检测具体为根据敏感词的优先级对目标文本进行检测,所述进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语具体为:根据相关词库中词语的优先级来进一步判断所在句子是否存在该敏感词相关词库中的词语,所述敏感词的优先级可根据敏感词出现的次数实时动态调整,所述相关词库词语的优先级可根据词语出现的次数实时动态调整。
可选地,所述根据敏感词对目标文本进行检测还可是:将敏感词根据优先级进行分段;选择敏感词区段;根据所选择的敏感词区段对目标文本进行检测;所述敏感词的优先级可根据敏感词出现的次数实时动态调整。
可选地,所述根据敏感词构建相关词库包括为敏感词设计替换词;所述过滤掉该敏感词可为用替换词替换掉敏感词。
可选地,所述敏感词可进行字符串间符号扩展,所述根据敏感词对目标文本进行检测具体为根据字符串间符号扩展后的敏感词对目标文本进行检测,所述符号不具备实际意义。
第二方面,本申请提供一种基于矩阵的敏感词过滤装置,包括:
构建单元,用于获取敏感词并根据敏感词构建相关词库,该相关词库列举包括敏感词但与敏感词意义不同的词语,所有敏感词及其相关词库构成相关矩阵;
检测单元,根据敏感词对目标文本进行检测,若出现敏感词,则进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语,若不存在,则过滤掉该敏感词,否则保留该敏感词。
可选地,所述装置还包括:
分类单元,用于在获取敏感词之前,根据目标文本的题材对敏感词进行分类,所述获取敏感词具体为获取与目标文本的题材相对应的敏感词;
可选地,所述检测单元具体用于根据敏感词的优先级对目标文本进行检测,所述进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语具体为:根据相关词库中词语的优先级来进一步判断所在句子是否存在该敏感词相关词库中的词语,所述敏感词的优先级可根据敏感词出现的次数实时动态调整,所述相关词库词语的优先级可根据词语出现的次数实时动态调整。
可选地,所述检测单元还用于将敏感词根据优先级进行分段;选择敏感词区段;根据所选择的敏感词区段对目标文本进行检测;所述敏感词的优先级可根据敏感词出现的次数实时动态调整。
可选地,所述构建单元还用于为敏感词设计替换词;所述过滤掉该敏感词可为用替换词替换掉敏感词。
可选地,所述敏感词可进行字符串间符号扩展,所述检测单元还用于根据字符串间符号扩展后的敏感词对目标文本进行检测,所述符号不具备实际意义。
第三方面,本申请实施例还提供一种电子设备,包括:
处理器、存储器及通信单元;
所述存储器存储有所述处理器可执行的机器可读指令,当所述终端运行时,所述处理器与所述存储器之间通过所述通信单元通信;
其中,所述处理器执行所述机器可读指令,以执行上述各方面所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述各方面所述的方法。
本申请的有益效果是:
本申请基于矩阵的敏感词过滤方法,通过构建敏感词相关矩阵,既可以保证过滤掉敏感词,又不会造成句子不可读,提高了敏感词过滤的准确性和高效性;同时通过设置敏感词和相关矩阵的优先级,可适应不同应用场景下的敏感词过滤需求,本算法可使用范围广,系统性能高,极大地增加了用户的使用便捷度。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
现有的敏感词过滤方法,是维护一个一维向量,把全部可能的敏感词作为元素,对每一篇文章进行全文检索,例如:传统的敏感词组成方式如下:(敏感词1,敏感词2,敏感词3,敏感词4,……),根据该一维向量中的每一个元素进行全文检索,当出现敏感词的时候,提示作者和编辑不能发表,或者直接用*替代了敏感词。这两种方式,一方面会导致检索效率不高,需要反复重新过滤,另一方面,也可能会把实质上不是敏感词的词语给过滤掉,导致文章句子不可读,给用户带来了极大不便。鉴于此,本申请提供一种基于矩阵的敏感词过滤方法,本方法通过给每个敏感词构建相关词库,所有敏感词的相关词库构成矩阵,基于该矩阵对敏感词进行过滤,可以有效提高敏感词过滤的准确性,提高用户体验。
下面结合附图和具体实施例对本申请加以详细解释。
图1为本申请提供的基于矩阵的敏感词过滤方法的流程示意图;如图1所示,该方法包括:
步骤S10:获取敏感词并根据敏感词构建相关词库,该相关词库列举包括敏感词但与敏感词意义不同的词语,所有敏感词及其相关词库构成相关矩阵;
本申请基于预先构建的敏感词库,从敏感词库中获取敏感词,例如预先构建的敏感词库为(敏感词1,敏感词2,敏感词3,敏感词4,敏感词5,敏感词6,……),本申请从该敏感词词库中提取每一个元素,并根据每一个元素构建相关词库,所有敏感词及其相关词库构成相关矩阵,所述相关矩阵具体构建如下:
[(敏感词1,敏感词1.1,敏感词1.2,敏感词1.3……)
(敏感词2,敏感词2.1,敏感词2.2,……),
(敏感词3,敏感词3.1,……),
(敏感词4,感词4.1,……),
(敏感词5,敏感词5.1,……)
(敏感词6,敏感词6.1,……)
……]
所述根据每一个元素构建相关词库的方法可运用大数据分析结合自然语义分析的方法进行,例如以“敏感词2”为例,在现有的文本数据库中,找到所有包括“敏感词2”这俩字的文章以及其所在的句子,提取包含“敏感词2”的词语,根据人工智能自然语义分析算法,选出包含“敏感词2”但与“敏感词2”意义不同的词语,而“敏感词2.1”,“敏感词2.2”,“敏感词2.3”,“敏感词2.4”等等这些词虽然也包括“敏感词2”俩字,但其意义与“敏感词2”不同,所以这些词可以选定出来构成相关词库。
步骤S20:根据敏感词对目标文本进行检测,若出现敏感词,则进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语,若不存在,则过滤掉该敏感词,否则保留该敏感词。
根据上述敏感词,对目标文本进行遍历,所述目标文本是指要进行敏感词过滤检测的文本,当遍历出敏感词时,例如当遍历出“敏感词4”时,则进一步检测该“敏感词4”所在的句子是否存在该敏感词对应的相关词库中的词语,例如,若存在“敏感词4.1”,则说明遍历出的“敏感词4”并不属于真正的敏感词,其不应该被过滤掉,此时保留该遍历出的“敏感词4”,而当不存在敏感词库中的词语,只是一个单独的“敏感词4”时,则将其过滤掉。
作为可选的实施方式,所述获取敏感词之前还包括:
根据目标文本的题材对敏感词进行分类,所述获取敏感词具体为获取与目标文本的题材相对应的敏感词;
所述目标文本的题材可为军事类、科幻类、悬疑类、文学类等等。在本实施方式中,先判定目标文本的题材,根据题材来选出与其对应的敏感词,例如,若目标文本为军事类题材时,则“敏感词5”和“敏感词6”等这些词就可以不纳入要过滤的敏感词范围,而只保留下敏感词3、敏感词2、敏感词1、敏感词4等这些词,当目标文本为科幻类题材时,则“敏感词1”、“敏感词2”等这些词可不纳入要过滤的敏感词范围。本实施方式针对不同的目标文本有选择性的过滤与其对应的敏感词,而不需要对所有的敏感词进行检测,从而一定程度上提高了敏感词过滤的效率,节省了用户时间。
作为可选的实施方式,所述根据敏感词对目标文本进行检测具体为:根据敏感词的优先级对目标文本进行检测,所述进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语具体为:根据相关词库中词语的优先级来进一步判断所在句子是否存在该敏感词相关词库中的词语,所述敏感词的优先级可根据敏感词出现的次数实时动态调整,所述相关词库词语的优先级可根据词语出现的次数实时动态调整。
在目标文本检测或遍历过程中,系统自动记录敏感词出现的次数或频率,并根据出现的次数或频率为敏感词划分优先级,出现的次数越多、频率越高,则其优先级也越高,且敏感词的优先级别可根据不同时段或不同场景下出现的频率不同而进行动态调整。例如,在上一个月内,系统检测出“敏感词3”出现的频率较高,则在进行新一轮的目标文本检测时,优先对“敏感词3”进行检测过滤,而在本月内,系统检测出“敏感词2”出现的频率较高,则在进行新一轮的目标文本检测时,优先对“敏感词2”进行检测过滤。类似的,对于相关词库中的词语,系统也会自动记录出现次数。
作为可选的实施方式,所述根据敏感词对目标文本进行检测还可是:将敏感词根据优先级进行分段;选择敏感词区段;根据所选择的敏感词区段对目标文本进行检测;所述敏感词的优先级可根据敏感词出现的次数实时动态调整。
在本实施方式中,对所有的敏感词根据其出现的次数或频率划分出优先级,例如敏感词库中有100个敏感词,则将该100个敏感词首先按照优先级从高到低的顺序进行划分排列,然后划分出两个大段,即将前50个优先级的敏感词作为第一个区段,后50个优先级的敏感词作为第二个区段。在实际检索时,可选择只针对第一个区段的敏感词进行检测,或者只针对第二个区段的敏感词检测。这种分区段检测的方法使得算法更加灵活,系统性能更高。例如当有大量的目标文本需要在短时间内做敏感词检测时,则可采用此异步方式,先存储目标文本,然后根据优先级划分的区段分时检索,如第一天检索优先级第一个区段的敏感词,第二天检索优先级第二个区段的名称,从而提高程序的友好性。
作为可选的实施方式,所述根据敏感词构建相关词库包括为敏感词设计替换词;所述过滤掉该敏感词可为用替换词替换掉敏感词。
在本实施方式中,为敏感词库中的敏感词设计替换词,例如,为敏感词“敏感词5”设计替换词“类似敏感词5”、“类似敏感词5”等,当目标文本中出现要过滤掉的“敏感词5”时,则用“类似敏感词5”、“类似敏感词5”等替换“敏感词5”。
作为可选的实施方式,所述敏感词可进行字符串间符号扩展,所述根据敏感词对目标文本进行检测具体为根据字符串间符号扩展后的敏感词对目标文本进行检测,所述符号不具备实际意义。
考虑到在实际检测中,目标文本中的敏感词会因存在某些变形而未被检测到,本申请还可根据变形后的敏感词对目标文本进行检测,从而防止漏掉需要被过滤的敏感词。实际中可能存在敏感词字符间存在空格、小数点或其他不具备实际意义的符号,对于这些变形,系统也将其实际视作为敏感词而过滤掉。
图2为本申请提供的基于矩阵的敏感词过滤装置的示意图;如图2所示,所述装置包括:
构建单元210,用于获取敏感词并根据敏感词构建相关词库,该相关词库列举包括敏感词但与敏感词意义不同的词语,所有敏感词及其相关词库构成相关矩阵;
检测单元220,用于根据敏感词对目标文本进行检测,若出现敏感词,则进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语,若不存在,则过滤掉该敏感词,否则保留该敏感词。
作为可选的实施方式,所述装置还包括:
分类单元230,用于在获取敏感词之前,根据目标文本的题材对敏感词进行分类,所述获取敏感词具体为获取与目标文本的题材相对应的敏感词;
作为可选的实施方式,所述检测单元220具体用于根据敏感词的优先级对目标文本进行检测,所述进一步判断该敏感词所在句子是否存在该敏感词相关词库中的词语具体为根据相关词库中词语的优先级来进一步判断所在句子是否存在该敏感词相关词库中的词语,所述敏感词的优先级可根据敏感词出现的次数实时动态调整,所述相关词库词语的优先级可根据词语出现的次数实时动态调整。
作为可选的实施方式,所述检测单元220还用于将敏感词根据优先级进行分段;选择敏感词区段;根据所选择的敏感词区段对目标文本进行检测;所述敏感词的优先级可根据敏感词出现的次数实时动态调整。
作为可选的实施方式,所述构建单元210还用于为敏感词设计替换词;所述过滤掉该敏感词可为用替换词替换掉敏感词。
作为可选的实施方式,所述敏感词可进行字符串间符号扩展,所述检测单元220还用于根据字符串间符号扩展后的敏感词对目标文本进行检测,所述符号不具备实际意义。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上装置(system-on-a-chip,简称SOC)的形式实现。
图3为本申请实施例提供的一种电子设备的结构示意图,该电子设备的功能与上述装置实现的功能相同,该电子设备包括:
处理器310、存储器320及通信单元330;
所述存储器320存储有所述处理器310可执行的机器可读指令,当所述终端运行时,所述处理器310与所述存储器320之间通过所述通信单元330通信;
其中,所述处理器310执行所述机器可读指令,以执行上述各方面所述的方法。
这些单元组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得电子设备能够执行上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本申请实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请基于矩阵的敏感词过滤方法,通过构建敏感词相关矩阵,既可以保证过滤掉敏感词,又不会造成句子不可读,提高了敏感词过滤的准确性和高效性;同时通过设置敏感词和相关矩阵的优先级,可适应不同应用场景下的敏感词过滤需求,提高了敏感词过滤的效率,节省用户的时间,本算法可使用范围广,系统性能高,极大地增加了用户的使用便捷度。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。