一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种敏感词检测方法、装置、设备及可读存储介质与流程

2022-10-26 18:16:40 来源:中国专利 TAG:


1.本技术涉及自然语言处理技术领域,更具体地说,涉及一种敏感词检测方法、装置、设备及可读存储介质。


背景技术:

2.随着信息技术的快速发展,越来越多的信息通过互联网传播。为了保持网络环境的健康和有序,经常需要对人们发表的文本进行敏感词检测,以避免文本信息中出现带有负面影响的敏感词。
3.在现有的敏感词检测方法中将被检测文本按字进行切割后,会按照文本分割出的各个字及其先后顺序,依次遍历出文本中单独的字或者相邻的多个字所能构成的词,并依次将各词与敏感词库中的敏感词进行匹配,以检测出敏感词。例如:检测文本“夏天真热”中是否包含敏感词,需要将文本逐字切割成“夏”、“天”、“真”、“热”。那么,基于分割出的这几个字及其顺序进行敏感词查询时,可以先查询敏感词库中是否存在包含“夏”的敏感词。如果存在包含“夏”的敏感词,检查敏感词库中是否有“夏天”这一敏感词,如果存在,则确认该文本中包含敏感词;如果不存在,则继续查找敏感词库中是否存在包含有“夏天”的敏感词,以此类推。在以“夏”构建出待匹配的词,并将构建的词依次与敏感词库中的敏感词匹配之后,若未匹配到敏感词,则从“天”开始确定能构建出的词,并依次将构建的词与敏感词库进行敏感词匹配,以此类推。由此可见,这种方法是将文本按字进行切割,并组合成多个词,如:夏天、夏天真、夏天真热、天真、天真热、真热,再基于组合出的词进行敏感词的检测。
4.但是,现有的方法都是按字来切割文本,并基于切割出的字进行敏感词匹配,这就很容易出现从敏感词库中匹配到一些与文本表达意思无关的敏感词,从而将该文本误判为包含敏感词,使得敏感词检测的准确度不高。如,前面例子中,若敏感词库中包含“天真”这个敏感词,那么“夏天真热”这一文本就会误判为存在敏感词,但是“夏天真热”并不能够表达“天真”的意思。


技术实现要素:

5.有鉴于此,本技术提供了一种敏感词检测方法、装置、设备及可读存储介质,以提高文本中敏感词检测的准确度,减少误检的情况。
6.为了实现上述目的,现提出的方案如下:一种敏感词检测方法,包括:获得待检测的文本;基于所述文本的语义,对所述文本进行分词,得到所述文本分词出的至少一个目标分词;基于所述至少一个目标分词,在敏感词库中进行敏感词检测,得到敏感词检测结果。
7.优选地,所述基于所述至少一个目标分词,在敏感词库中进行敏感词检测,包括:
基于所述至少一个目标分词,在敏感词库对应的词典树中进行敏感词匹配;其中,所述词典树包括多条路径分枝,每条路径分枝用于表征所述敏感词库中的一个敏感词,所述敏感词对应的路径分枝中的至少一个节点分别表示:基于所述敏感词的语义对所述敏感词分词出的不同敏感分词。
8.优选地,所述词典树通过如下方式构建:针对敏感词库中每个敏感词,基于所述敏感词的语义,对所述敏感词进行分词,得到所述敏感词分词出的至少一个敏感分词;基于敏感词库中各敏感词各自的至少一个敏感分词,构建所述敏感词库对应的词典树。
9.优选地,在得到敏感词检测结果之后,还包括:如果所述敏感词检测结果表征检测到与所述至少一个目标分词中的至少部分目标分词匹配的敏感词,确定所述文本为属于包含敏感词的文本。
10.优选地,所述基于所述至少一个目标分词,在敏感词库对应的词典树中进行敏感词匹配,包括:基于所述至少一个目标分词,利用确定有穷自动机算法在敏感词库对应的词典树中进行敏感词匹配。
11.优选地,所述基于所述文本的语义,对所述文本进行分词,得到所述文本分词出的至少一个目标分词,包括:将所述文本输入到分词模型进行分词,以通过所述分词模型按照所述文本的语义将所述文本分词为至少一个目标分词。
12.优选地,还包括:检测到敏感词库中存在新增的敏感词,基于所述新增的敏感词的语义分词出的至少一个敏感分词,更新所述词典树。
13.又一方面,本技术还提供了一种敏感词检测装置,包括:文本获取单元,用于获得待检测的文本;分词获取单元,用于基于所述文本的语义,对所述文本进行分词,得到所述文本分词出的至少一个目标分词;敏感词检测单元,用于基于所述至少一个目标分词,在敏感词库中进行敏感词检测,得到敏感词检测结果。
14.又一方面,本技术还提供了一种计算机设备,包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如上任一项所述的敏感词检测方法。
15.又一方面,本技术还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的敏感词检测方法。
16.本技术中,基于待检测的文本的语义,对待检测的文本进行分词,使得文本分词出的各分词均与文本的语义相关。在此基础上,基于与该文本语义相关的各分词在敏感词库中进行敏感词检测,就可以减少从敏感词库中匹配出与文本语义无关的敏感词的情况,从而可以减少将敏感词库中与文本的语义无关的敏感词误判为该文本相关的敏感词的情况,减少了敏感词误判情况,提高了敏感词检测的准确度。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
18.图1为本技术实施例提供的一种敏感词检测的一种流程示意图;图2为本技术实施例中词典树的一种示例图;图3为本技术实施例中词典树的又一种示例图;图4为本技术实施例中词典树的又一种示例图;图5为本技术实施例中词典树的再一种示例图;图6为本技术实施例公开的一种敏感词检测装置的一种组成结构示意图;图7为本技术实施例公开的一种计算机设备的硬件结构框图。
具体实施方式
19.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.下面先对本技术实施例提供的一种敏感词检测方法进行介绍。
21.如图1所示,示出了本技术实施例提供的敏感词检测方法的一种流程示意图,本技术可以应用于服务器或者其他需要进行敏感词检测的计算机设备,对此不加限制。
22.本实施例的方法包括:步骤s100、获得待检测的文本。
23.其中,该文本为需要进行敏感词检测的文本。如,文本可以是用户输入的文本,例如,用户上传到特定平台需要发布的文本等;该文本也可以是预先存储的文本,需要进行敏感词检测到进行发布或者其他处理的文本等。本技术对于获得文本的具体方式以及文本的用途不加限制。
24.步骤s110、基于该文本的语义,对文本进行分词,得到文本分词出的至少一个目标分词。
25.其中,基于文本的语义进行文本分词是指在在对文本分词过程中,分析文本的语义,并基于文本的语义将文本拆分为与文本的语义相关的至少一个分词。为了便于区分,将文本分词出的各分词均称为目标分词。
26.其中,基于文本的语义对文本进行分词的方式可以有多种可能的实现方式,本技术对于具体分词过程不加限制。
27.为了便于理解,以一种可能的实现方式为例。如,可以将文本输入到分词模型进行分词,以通过该分词模型按照该文本的语义将文本分词为至少一个目标分词。
28.其中,分词模型为预先训练出的,能够结合文本语义进行分词的模型。
29.可以理解的是,为了获得分词模型,需要总结大量文本样本的词法、句法、情感等有效性信息,对神经网络模型或者其他机器学习模型进行训练,以得到能够识别文本语义
且能够基于文本语义进行分词的分词模型。
30.例如,该分词模型可以为基于大量标注有分词结果的训练文本,采用有监督训练方法对待训练的神经网络模型进行训练得到的。
31.当然,此处仅仅是举例说明,在实际应用中训练分词模型的方式还可以有其他可能,且可能需要考虑除了分词结果之外的其他语义等因素,对此不加限制。
32.进一步的,在使用分词模型对待检测的文本进行分词时,可以设置不同的标准来划分文本,如:分词的数量、分词的歧义等等。下面介绍以分词的数量为标准对待检测的文本进行划分,例如:待检测的文本为“中华民族精神”,可以设置不同的划分强度,分为“中华”“民族”“精神”,或者“中华民族”“精神”等等情况。
33.当然,对文本进行基于语义的分词还可以是结合语义识别算法以及其他分词工具,如:hanlp、结巴分词等等,在此不再赘述。在本技术中,基于文本的语义对其分词,是为了在敏感词检测时,文本分割出的词语都是与文本相关的,使得检测出的敏感词也是与文本有关的。
34.例如:待检测的文本为“春天真好”,在现有技术的敏感词检测方法中,文本会被逐字划分为“春”、“天”、“真”、“好”,逐字与敏感词库检测,且,还需要将各个字排列组合为:春天、春天真、春天真好、天真、天真好、真好等词之后,再去敏感词库中检测。若敏感词为“天真”,使用现有技术进行敏感词检测,则会将文本“天气真好”定义为有敏感词的文本。
35.而本方案中是根据文本的语义进行分词,则会将文本划分为“春天”、“真”、“好”,使得文本分出的分词中不包含与该文本语义不相关的“天真”,自然避免了后续将文本误识别为包含敏感词“天真”。
36.步骤s120、基于至少一个目标分词,在敏感词库中进行敏感词检测,得到敏感词检测结果。
37.其中,敏感词检测需要将文本分出的各目标分词与敏感词库中敏感词进行匹配,具体匹配方式可以有多种可能。
38.如,依次将各目标分词在敏感词库中进行匹配,若目标分词在敏感词库中匹配到相同的敏感词,则表明该文本中包含敏感词;或者,先将目标分词中的名词在敏感词库中进行匹配,再将其余目标分词在敏感词库中进行匹配,若目标分词在敏感词库中匹配到相同的敏感词,则表明该文本中包含敏感词。
39.其中,敏感词的检测结果可以表征是否从敏感词库中匹配到与文本的目标分词相匹配的敏感词,如果从敏感词库匹配到敏感词,该检测结果还可以包括匹配到的敏感词。
40.举例说明:以待检测的文本为“伟大的探险精神值得我们学习”为例说明。同时,假设敏感词库中存在敏感词“探险精神”。
41.那么,需要根据语义对该文本进行分词得到目标分词,可以分为:伟大的、探险、精神、值得、我们、学习。然后,将目标分词在敏感词库中进行敏感词匹配。当匹配到一个敏感词“探险”时,则可以确定该文本包含敏感词。当然,也可以是将所有目标分词都与敏感词库进行匹配之后,匹配到“探险”和“精神”两个敏感词时,确定文本中包含敏感词:“探险”和“精神”。
42.可以理解的是,敏感词检测的应用场景有多种,对于不同的应用场景,基于敏感词
检测结果对于文本的处理也可以有所不同。
43.如,用户在论坛发表文章时,服务器会对文章内容进行敏感词检测,当未检测到敏感词时,文章可以直接发表,当检测到文章存在敏感词时,服务器会将文章中的敏感词标注出来,以此提示用户进行修改。
44.又如,用户在聊天软件交流时,服务器会对用户输入的聊天信息进行敏感词检测。在未检测到敏感词时,可以直接发送用户输入的聊天信息,在检测到聊天信息中存在敏感词时,服务器会删除聊天信息中的敏感词之后,再发送聊天信息。
45.当然,此处仅仅是举例说明,敏感词检测的应用场景还有多种,对此不再赘述。
46.由以上内容可知,本技术的敏感词检测方法是基于待检测的文本的语义,对待检测的文本进行分词,使得文本分词出的各分词均与文本的语义相关。在此基础上,基于与该文本语义相关的各分词在敏感词库中进行敏感词检测,就可以减少从敏感词库中匹配出与文本语义无关的敏感词的情况,从而可以减少将敏感词库中与文本的语义无关的敏感词误判为文本相关的敏感词的情况,减少了敏感词误判情况,提高了敏感词检测的准确度。
47.在本技术的一些实施例中,考虑将各目标分词直接与敏感词库中的敏感词匹配,会浪费大量的时间且查询速度很慢。为了解决该问题,本技术实施例提供了步骤s120的一种可选实现方式,对该可选方式为:基于至少一个目标分词,在敏感词库对应的词典树中进行敏感词匹配。
48.其中,词典树包括多条路径分枝,每条路径分枝用于表征敏感词库中的一个敏感词,敏感词对应的路径分枝中的至少一个节点分别表示:基于敏感词的语义对敏感词分词出的不同敏感分词。
49.在实际应用中,基于敏感词库中的敏感词构建词典树后,后续涉及到敏感词匹配时,便可以依次将文本分词出的各目标分词与敏感词库对应的词典树中进行敏感词匹配。
50.其中,词典树是一种树形结构,有多条路径分枝,每条路径分枝表示敏感词库中的一个敏感词,且路径分枝可以包括敏感词分词出的各个敏感分词对应的节点。词典树的根节点不表示任何字符,除根节点外的每一个节点都包含一个字符(即表示一个字符),每个节点的所有子节点包含的字符都不相同;从根节点到某一节点的路径上所经过的节点对应的字符连接起来,就是这条路径对应的敏感词。在本方案中,词典树中的节点为敏感词的分词,在词典树查询时,利用公共的前缀,不仅可以提升查询速度,还可以减少查询时间。
51.可以理解的是,由于目标分词是基于文本的语义分词出的词,为了能够准确匹配敏感词,词典树中路径分枝上节点所表征的敏感分词也需要与该敏感词的语义相关。
52.基于此,本技术可以先针对敏感词库中每个敏感词,基于该敏感词的语义,对该敏感词进行分词,得到敏感词分词出的至少一个敏感分词。其中,为了便于区分,将敏感词分出的分词称为敏感分词。在此之后,可以基于敏感词库中各敏感词各自的至少一个敏感分词,构建敏感词库对应的词典树。
53.其中,结合各敏感词的各个敏感词分词搭建词典树的具体实现,可以采用目前通用的任意词典树搭建方式,对此不加限制。
54.为了便于理解词典树的构建,以一种可选实现方式介绍词典树的构建过程,如下所示:以示例敏感词“亵渎民族精神”为例,结合图3、图4、图5介绍构建词典树的过程。
55.首先,根据敏感词的语义划分为“亵渎”、“民族”、“精神”。
56.其次,结合图3所示,按照敏感分词在敏感词中的顺序进行构建。第一个敏感分词为“亵渎”,则在根节点下的子节点查找是否存在表示
ꢀ“
亵渎”的子节点,若不存在
ꢀ“
亵渎”对应的子节点,如图3中情况一所示,则在根节点的子节点中添加“亵渎”的子节点;若存在
ꢀ“
亵渎”对应的子节点,如图3中情况二所示,则访问已存在的子节点,无需重复添加子节点。
57.然后,结合图4所示,按照敏感分词在敏感词中的顺序进行构建。第二个敏感分词为“民族”,则在敏感词“亵渎”节点的子节点中查找是否存在
ꢀ“
民族”对应的子节点。若不存在
ꢀ“
民族”的子节点,如图4中情况一所示,则在敏感词“亵渎”节点的子节点中添加“民族”子节点;若存在
ꢀ“
民族”的子节点,如图4中情况二所示,则访问已存在的子节点。
58.最后,结合图5所示,按照敏感分词在敏感词中的顺序进行构建。第三个敏感分词为“精神”,则在
ꢀ“
民族”节点的子节点中查找是否存在
ꢀ“
精神”对应的子节点,若不存在
ꢀ“
精神”的子节点,如图5中情况一所示,则在敏感词“民族”节点的子节点中添加“精神”子节点;若存在敏感词“精神”的子节点,如图5中情况二所示,则访问已存在的子节点。至此,所有敏感分词在词典树中都有匹配的节点,该示例中敏感词的路径分枝构建完毕。
59.可以理解的是,上述步骤以构建的词典树中路径分枝为例说明,词典树中包含多条路径分枝,因此,敏感词库中的其他敏感词对应的路径分枝也都是按照上述步骤来进行构建,最终可以得到由多个路径分枝构成词典树。
60.此外,构建出的词典树的过程是为了便于我们的理解,在实际的应用中,词典树可以采用哈希表的方式在服务器中存储,以供服务器在检测敏感词时使用。
61.更进一步地,在词典树构造完成之后,可以利用文本分词出的各目标分词在敏感词库对应的词典树中进行敏感词匹配。
62.可以理解的是,在敏感词库以词典树形式存在的情况下,检测词典树中是否存在与目标分词匹配的敏感词的具体方式可以有多种可能,本技术对于具体匹配方式不加限制。如,可以将目标分词与词典树中表征敏感词的路径分枝及路径分枝上的节点表示的分词依次进行匹配。
63.在一种可能的实现方式中,本方案中是利用确定有穷自动机算法在敏感词库对应的词典树中进行敏感词匹配的。该算法是从一个状态通过一系列的事件,能够转换到另外一个状态。其中,关于状态以及事件都是可确定的,并且状态和事件的数量都是可以穷举的。可以理解为系统中有多个节点,通过传递的事件,来确定走哪一个路到达另外一个节点,并且节点是有限的。
64.下面以图2为例,介绍本方案中敏感词的匹配过程。图2是本技术中敏感词库对应的词典树的一种示例。该示例基于词典库中的敏感词构建而成的。如图2所示,该词典树包含三条路径分枝,分别是“中华-民族-精神”、“中华-文化”、“中华-人民”。根据上述词典树的构建过程可知,在词典树中,每条路径分枝与敏感词库中的一个敏感词相对应,并且每条路径分枝中的节点表示不同的敏感词。
65.如:示例文本为“勤劳的中华人民值得我们学习”,基于文本的语义分词得到若干目标分词,分别为:勤劳的、中华、人民、值得、我们、学习。将各目标分词依次在敏感词库对应的词典树中进行匹配,首先,匹配目标分词“勤劳的”,未从词典树中找到与之匹配的节点;其次,匹配目标分词“中华”,匹配到相应的敏感分词对应的节点;然后匹配目标分词“人
民”,在“中华”后的节点中,也匹配到了相应的敏感分词对应的节点,那么就可以匹配出的敏感词为“中华人民”;然后,匹配分词“值得”,在“人民”后的节点中,未匹配到相应的敏感分词的节点;最后,以此类推,继续在词典树中依次匹配其余分词,均未找到匹配的敏感词。最终,可以确定在词典树中匹配到的敏感词为“中华人民”。
66.本技术的实施例中,利用与敏感词库对应的词典树来进行敏感词的匹配,相比直接在敏感词库中进行敏感词匹配,由于词典树中的敏感词有一定的顺序,并且基于前缀查找可以减少搜索的次数,不仅可以减少查找时间,提高查找的速度,并且提高敏感词检测的效率。
67.进一步地,本方案中考虑到敏感词库中的敏感词不是一成不变的,有时敏感词会增加,因此,词典树也应相应变化。为了全面准确的查找文本中敏感词,本方案构建出词典树之后,如果检测到敏感词库中存在新增的敏感词,还可以基于新增的敏感词的语义分词出的至少一个敏感分词,更新词典树。
68.可以理解的是,敏感词库中敏感词是动态调整的,根据人们的用词习惯、时事资讯等等,敏感词会有增加。因此,对于增加的敏感词,也要及时更新敏感词库以及敏感词库对应的词典树。
69.其中,更新词典树需要将敏感词输入到分词模型进行分词,分词之后,按照词典树的路径分枝的构建过程,构建该敏感词对应的路径分枝,具体如前面所述,此处不再赘述。
70.本实施例中,根据敏感词的更新,更新相应的词典树。在检测待检测的文本时,能够根据敏感词实时的变化,准确的检测出敏感词,可以保证待检测的文本的规范性,同时营造安全有序的网络环境。
71.下面对本技术实施例提供的敏感词检测装置进行介绍,下文描述的敏感词检测装置与上文描述的敏感词检测方法可相互对应参照。
72.如图6,对本技术中的敏感词检测装置进行介绍,如图6所示,该敏感词检测装置可以包括:文本获取单元200,用于获得待检测的文本;分词获取单元210,用于基于文本的语义,对文本进行分词,得到文本分词出的至少一个目标分词;敏感词检测单元220,用于基于至少一个目标分词,在敏感词库中进行敏感词检测,得到敏感词检测结果。
73.可选的,分词获取单元可以包括:文本分词单元,用于将待检测的文本输入到分词模型中进行分词,获得至少一个目标分词。
74.可选的,敏感词检测单元可以包括:敏感词分词单元,用于将敏感词库中的敏感词输入到分词模型中进行分词,获得至少一个敏感分词;词典树构建单元,用于构建与敏感词库中的敏感词相对应的词典树。
75.可选的,本技术的敏感词检测装置还可以包括:词典树更新单元,用于基于新增的敏感词的语义分词出的至少一个敏感分词,更新词典树。
76.本技术实施例提供的敏感词检测装置可应用于计算机设备。图7中示出了计算机设备的硬件结构框图,参照图7,计算机设备可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
77.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量均为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于:实现如上任意一个实施例中提到的敏感词检测方法。
78.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,程序用于:实现如上任意一个实施例中提到的敏感词检测方法。
79.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
80.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
81.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献