一种混合文本敏感词变体识别方法和装置与流程

专利2022-06-29  85


本发明涉及网络技术领域,特别是指一种混合文本敏感词变体识别方法和装置。



背景技术:

随着网络的普及和迅速发展,网络游戏已经成为电子游戏的主流形式。随着游戏内聊天互动平台的开放,游戏内不同玩家之间的交流日益频繁。在交流过程中,由于玩家素质有高有低,就会产生一系列不符合国家法律法规或者辱骂性言论,对游戏的正常运营和游戏环境的维护产生风险。因此,设置构造相应的敏感词表,在玩家发表言论前,对其言论进行审核是很有必要的一个环节。但传统的做法,一般通过关键词与待审核文本直接进行匹配进行识别,这样一来,用户对敏感词进行变形,如“汉字拼音英文混合”,“错别字代称”,“数字符号代称”等方式,直接匹配的方式就会失效。进一步,当用户发现自己的言论被屏蔽后,一般会采取上述方式进行敏感词变形避开审核。

目前对文本敏感词变体识别的主要方法如下:

(1)基于敏感词表的规则匹配方法。首先将指定的敏感词汇和变体直接存入数据库中,然后将用户输入的文本内容与敏感词列表进行匹配,如输入的文本命中词表中的内容,就认为该本文含有敏感信息,需要进行进一步操作;

(2)采用机器学习的分类技术。通过采用bigram,词干等作为特征值来对文本信息做分类分析,或者基于贝叶斯滤波技术对文本内容信息概率统计,以检测出敏感词变体。

(3)基于深度神经网络的方法。利用大量人工标注的带标签的训练数据,采用卷积神经网络,循环神经网络或者transformer网络等深度神经网络对敏感信息的特征进行学习,构造相应的分类器,从而识别敏感词变体。

通过观察实践应用中的表现,发现上述这些方法存在如下不足:

(1)基于词表的规则匹配方法存在查找效率低,词表维护困难的问题。一般处理敏感词变体的方式是穷举法,将敏感词及变体都写入词表,但这种方法不仅会造成词表臃肿,降低查找效率,还无法动态捕捉新产生的变体;

(2)基于机器学习或者深度神经网络的分类方法存在误判风险,分类器分类效果受训练语料质量影响明显,目前这种方法在敏感词识别领域的应用还不够成熟,无法满足商业应用要求;

(3)目前针对敏感词识别的方法都只是对单一语种的文本进行处理,无法对中英混合文本进行处理,而实际网络中的聊天场景里中英混合文本更为常见,能对其中的敏感词进行识别显得更为实用。



技术实现要素:

本发明提出一种混合文本敏感词变体识别方法和装置,能够针对混合文本进行敏感词变形识别,降低维护敏感词表的工作量。

本发明的技术方案是这样实现的:

一种混合文本敏感词变体识别方法,具体包括以下步骤:

s1,对文本进行切分处理,得到多种类型的文本块,记录各文本块的一级位置索引表;

s2,对包含数字字母的混合文本块进行切分处理,得到单一类型的子文本块,记录各子文本块的二级位置索引表;

s3,将中文类型的文本块和s2得到的单一类型的子文本块转换为同一类型的字符串集;

s4,根据一级位置索引表和二级位置索引表将上一步得到的同一类型的字符串集按索引顺序进行排列,再转换成中英文词组集;

s5,根据敏感词库对中英文词组集进行敏感词匹配。

作为本发明的一个优选实施例,步骤s1具体包括以下步骤:

s101,对文本进行切分处理,得到中文字符、数字字母字符串和遗弃字符三种类型的文本块;

s102,记录各类型文本块及其对应的一级位置索引表;

s103,生成中文字符集、数字字母字符串集、遗弃字符集。

作为本发明的一个优选实施例,步骤s2具体包括以下步骤:

s201,根据文本切分算法和专用词表对数字字母型文本块进行切分处理,得到英文字符串、拼音字符串、数字字符三种类型的子文本块;

s202,记录各类型的子文本块及其对应的二级位置索引表;

s203,生成英文字符串集、拼音字符串集、数字字符集。

作为本发明的一个优选实施例,步骤s3将中文类型的文本块和s2得到的单一类型的子文本块转换为同一类型的字符串集;具体指的是

将中文类型的文本块和单一类型的子文本块中除英文字符串以外的文本块全部转换为拼音字符类型的字符串集。

作为本发明的一个优选实施例,s4,根据一级位置索引表和二级位置索引表将同一类型的字符串集按索引顺序进行排列,再转换中英文词组集;具体指的是

根据一级位置索引表和二级位置索引表将各个拼音类型的字符串及进行排列后,再通过拼音转汉字脚本转化,有中文映射关系的字符串转换成中文字符串,否则将保留为原字符串,保留下来的字符串以英文字符串的身份参与后续的敏感词匹配过程,将中英文字符串和其对应的位置索引以字典的形式存入中文字符串集。

一种混合文本敏感词变体识别装置,用于实现任一项所述的混合文本敏感词变体识别方法。

本发明的有益效果在于:能够针对混合文本进行敏感词变形识别,降低维护敏感词表的工作量。

附图说明

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

图1为本发明一种混合文本敏感词变体识别方法的流程图;

图2为本发明一种混合文本敏感词变体识别方法一个实施例的流程图;

图3为图2中文本切分算法a的流程图。

具体实施方式

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

由于本方法多文本进行了多次切分,相对位置也随之发生变动,为了便于描述,下文中定义了一级位置索引和二级位置索引的概念来分别描述第一次切分后文本块的相对位置和第二次切分后文本块的相对位置。

如图1-图3所示,本发明提出了一种混合文本敏感词变体识别方法,具体包括以下步骤:

s1,对文本进行切分处理,得到多种类型的文本块,记录各文本块的一级位置索引表;

步骤s1具体包括以下步骤:

s101,对文本进行切分处理,得到中文字符、数字字母字符串和遗弃字符三种类型的文本块;

s102,记录各类型文本块及其对应的一级位置索引表;

s103,生成中文字符集、数字字母字符串集、遗弃字符集。

s2,对包含数字字母的混合的文本块进行切分处理,得到单一类型的子文本块,记录各子文本块的二级位置索引表;

步骤s2具体包括以下步骤:

s201,根据文本切分算法和专用词表对数字字母型文本块进行切分处理,得到英文字符串、拼音字符串、数字字符三种类型的子文本块;

s202,记录各类型的子文本块及其对应的二级位置索引表;

s203,生成英文字符串集、拼音字符串集、数字字符集。

s3,将中文类型的文本块和s2得到的数字字符类型的子文本块分别转换为拼音字符类型的字符串集。

将中文字符转成拼音字符串,再将拼音字符串和其对应的一级位置索引以字典的形式存入拼音字符串a集。拼音字符串集为拼音字符串b集,将数字字符转成拼音字符串,再将拼音字符串和其对应的一级位置索引、二级位置索引以字典的形式存入拼音字符串c集。

s4,根据一级位置索引表和二级位置索引表将上一步得到的同一类型的字符串集按索引顺序进行排列,再转换成中英文词组集;根据一级位置索引表和二级位置索引表将各个拼音类型的字符串及进行排列后,再通过拼音转汉字脚本转化成中文字符串,将中文字符串和其对应的位置索引以字典的形式存入中文字符串集。

汇总生成的拼音字符串a集、拼音字符串b集、拼音字符串c集到拼音字符串总集。

s5,根据敏感词库对中文词组集进行敏感词匹配。将英文字符串集和中文字符串集分别与事先准备好的敏感词库进行匹配,如果命中到敏感词库中的敏感词,则输入匹配到的敏感词信息,包括命中的敏感词文本和敏感词对应的原始输入文本。

下面举例说明本专利基于python语言中的一种实现装置。

本方法在实现过程中的大部分底层转化过程可借助python开源库实现,如汉字转拼音部分可借助pypinyin库实现,拼音转汉字部分可借助pinyin2hanzi库实现,这部分内容都不再赘述。本部分主要介绍方法中双层切分算法的具体实现过程。为了便于记录文本在切分过程字符的位置变化情况,在本装置中构造二维数组indices=[idx_a,idx_b]来表示文本中字符的位置索引,其中idx_a表示字符的一级位置索引向量,idx_b表示字符的二级位置索引向量,索引向量值默认为

文本切分算法a采用定义正则匹配规则的方式对文本进行分类,如图3所示:

(1)获得输入文本中的数字字母型字符串集。先获取输入文本中每个字符的一级索引值,存入索引数组indices。再借助python标准库re,自定义正则通配符([^0-9a-za-z']),可从字符串中筛选出数字字母型字符串。以筛选出数字字母型字符串为key,索引数组indices为value,构造字典,存入数字字母型字符串集d1;文本中剩余的字符则以同样的形式存入其他字符集d_tmp;

⑵获得输入文本中的中文字符集。同样借助python标准库re,自定义正则通配符([u4e00-\u9fa5]),可从字符串中筛选出中文字符。以筛选出的中文字符为key,索引数组indices为value,构造字典,存入中文字符集d2;d_tmp中剩余的键值对则存入遗弃字符集d_discard;

通过以上两步可将输入文本的全部字符分别存入数字字母型字符串集d1、中文字符集d2、遗弃字符集d_discard。其中后续步骤不再对遗弃字符集中字符进行处理。

文本切分算法b采用动态规划方法的方式对数字字母型字符串进行拆分,流程算法大致思路:因为词表中的词都是独立分布且按词频排序好的,符合齐夫定律(zipf’slaw),即一个单词出现的频率和在词表中的排序成反比。用该定律可以粗略的计算词表中词word的出现概率:

p(word(k))=1/(k*log(n))(b-1)

k为单词word在词表中的位置序列,n为单词列表中词的总数目。在确定每个词的概率之后,就可以计算字符串切分后所有词的概率乘积。

当所有词的概率乘积为最大值时的句子是最希望得到的句子切分方式,同时为了方便计算,本方法中先定义了一个代价函数:

cost(str)=-log(p(str))=log(k(str)*log(n))(b-2)

用来表征词的概率大小,其中k(str)为字符串str在词表中的位置序列,n为词表中词的总数目,再通过公式:

可确定字符串中字符间最佳切分位置序列best_idx,其中str_lst为字符串str中字符组成的列表,l为字符串str长度,m为str_lst中字符的位置索引值。

切分算法b的具体步骤:

(1)构建专用词表;将数字、拼音和英文单词分别按词频排序后拼接成一张完整词表(按数字、拼音、英文的次序)。通过公式(b-2)可以计算词表中每个word的cost值。以word为key,word所对应的cost值为value,可构造出字典wordcost存储列表中的词和cost值;

⑵计算输入字符串可能得到的最小组合cost值。运用动态规划的思想计算输入字符串在每个字符间切分时,每个切分位置上能得到的最小组合cost值,记录到列表cost_min中。假定输入字符串str长度为l,动态规划的边界条件cost_min[0]设为0;通过公式(b-3)可以获取str中前i个字符组成的切片的最佳切分位置best_idx(i),假设已经确定了cost_min中的前i-1个字符的最小组合cost值,前i个字符的最小组合cost值cost_min[i]可通过如下状态转移方程求得:

cost_min[i]=min(cost(str_lst[-best_idx(i):]) cost_min(i-best_idx(i)))(b-4)

(best_idx(i),cost_min[i])以元组的形似保存到元组cost_final中。

(3)确定字符串中字符切分位置。可通过回溯法沿字符串逆向切分字符串str,每次切分的字符步长为best_idx(i),切分出来的字符串为str_cut=str_lst[l-best_idx(i):l],l每次切分后减去best_idx(i),知道str全部切分完。最后将所有str_cut结果按逆序保存即为输入字符串最终的切分结果。

一种混合文本敏感词变体识别装置,用于实现任一项所述的混合文本敏感词变体识别方法。

本发明能够对中英拼多种类型混合构成的文本进行敏感词及其变体识别。通过设计双层切分算法,从混合文本中切分出不同类型的文本,再采用拼音转化的手段使文本中常见的敏感词变体恢复成敏感词本体,能够有效地降低敏感词识别难度,提高敏感词变体的识别准确率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种混合文本敏感词变体识别方法,其特征在于,具体包括以下步骤:

s1,对文本进行切分处理,得到多种类型的文本块,记录各文本块的一级位置索引表;

s2,对包含数字字母的混合的文本块进行切分处理,得到单一类型的子文本块,记录各子文本块的二级位置索引表;

s3,将中文类型的文本块和s2得到的单一类型的子文本块转换为同一类型的字符串集;

s4,根据一级位置索引表和二级位置索引表将上一步得到的同一类型的字符串集按索引顺序进行排列,再转换成中英文词组集;

s5,根据敏感词库对中英文词组集进行敏感词匹配。

2.根据权利要求1所述的一种混合文本敏感词变体识别方法,其特征在于,步骤s1具体包括以下步骤:

s101,对文本进行切分处理,得到中文字符、数字字母字符串和遗弃字符三种类型的文本块;

s102,记录各类型文本块及其对应的一级位置索引表;

s103,生成中文字符集、数字字母字符串集、遗弃字符集。

3.根据权利要求1所述的一种混合文本敏感词变体识别方法,其特征在于,步骤s2具体包括以下步骤:

s201,根据文本切分算法和专用词表对数字字母型文本块进行切分处理,得到英文字符串、拼音字符串、数字字符三种类型的子文本块;

s202,记录各类型的子文本块及其对应的二级位置索引表;

s203,生成英文字符串集、拼音字符串集、数字字符集。

4.根据权利要求1所述的一种混合文本敏感词变体识别方法,其特征在于,步骤s3将中文类型的文本块和s2得到的单一类型的子文本块转换为同一类型的字符串集;具体指的是

将中文类型的文本块和单一类型的子文本块中除英文字符串以外的文本块全部转换为拼音字符类型的字符串集。

5.根据权利要求4所述的一种混合文本敏感词变体识别方法,其特征在于,s4,根据一级位置索引表和二级位置索引表将同一类型的字符串集按索引顺序进行排列,再转换中英文词组集;具体指的是

根据一级位置索引表和二级位置索引表将各个拼音类型的字符串及进行排列后,再通过拼音转汉字脚本转化,有中文映射关系的字符串转换成中文字符串,否则将保留为原字符串,保留下来的字符串以英文字符串的身份参与后续的敏感词匹配过程,将中英文字符串和其对应的位置索引以字典的形式存入中文字符串集。

6.一种混合文本敏感词变体识别装置,其特征在于,用于实现权利要求1-5任一项所述的混合文本敏感词变体识别方法。

技术总结
本发明公开了一种混合文本敏感词变体识别方法和装置,属于网络领域,具体包括以下步骤:对文本进行切分处理,得到多种类型的文本块,记录各文本块的一级位置索引表;对非中文的文本块进行切分处理,得到单一类型的子文本块,记录各子文本块的二级位置索引表;将中文类型的文本块和单一类型的子文本块转换为同一类型的字符串集;根据一级位置索引表和二级位置索引表将同一类型的字符串集进行排列,再转换成中英文词组集;根据敏感词库对中文词组集进行敏感词匹配。本发明能够针对混合文本进行敏感词变形识别,降低维护敏感词表的工作量。

技术研发人员:徐波
受保护的技术使用者:广州多益网络股份有限公司;广东利为网络科技有限公司;多益网络有限公司
技术研发日:2020.01.20
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24462.html

最新回复(0)