[发明专利]基于HTrie树的中文敏感词变形体识别方法及系统有效
申请号: | 202310826501.4 | 申请日: | 2023-07-07 |
公开(公告)号: | CN116562297B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 张克君;金禹含;王文彬;王钧;邹兵 | 申请(专利权)人: | 北京电子科技学院 |
主分类号: | G06F40/295 | 分类号: | G06F40/295;G06F40/284;G06F18/22;G06F16/31 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 金怡 |
地址: | 100070*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 htrie 中文 敏感 变形体 识别 方法 系统 | ||
1.一种基于HTrie树的中文敏感词变形体识别方法,其特征在于,包括:
步骤S1:获取网络的敏感词数据集,对所述敏感词数据集进行预处理以及扩充,构建扩充敏感词数据集;
步骤S2:根据所述扩充的敏感词数据集构建HTrie树;
步骤S3:对待识别的目标文本进行预处理,得到标准化的目标文本;
步骤S4:使用基于HTrie树的中文敏感词变形体识别算法对所述标准化的目标文本进行识别,将识别结果与所述扩充的敏感词数据集进行相似度计算,将大于预设阈值的词识别为敏感词,具体包括:
步骤S41:对所述标准化的目标文本使用双指针机制依次获取其部分待检测字符串,
步骤S42:将所述待检测字符串和HTrie树,使用基于HTrie树的中文敏感词变形体识别算法进行识别匹配,如果匹配成功,则第一个指针直接指向匹配成功的字符串后一位,重复步骤S42;其中,所述基于HTrie树的中文敏感词变形体识别算法,具体包括:
步骤S421:判断所述标准化的目标文本是否只含中文,若不是,则直接跳转步骤S424;若只含中文,则使用HTrie树进行前缀搜索,得到中文搜索结果列表;
步骤S422:如果所述中文搜索结果列表不为空,则直接查找所述中文搜索结果列表内是否存在与所述待检测字符串相同的词,若存在,则所述待检测字符串为敏感词,否则直接结束本轮搜索;如果所述中文搜索结果列表为空,则将所述待检测字符串转为拼音再次使用HTrie树进行前缀搜索,得到拼音搜索结果列表;
步骤S423:如果所述拼音搜索结果列表为空,则结束本轮搜索;否则将所述拼音搜索结果列表中所有词分别与所述待检测字符串计算相似度J1,若J1大于阈值T1时,则所述待检测字符串为敏感词;
步骤S424:判断所述待检测字符串是否只含英文或拼音,若不是,则直接跳转步骤S426;若只含英文或拼音,则先将所述待检测字符串转为英文、拼音和拼音首字母三种形式分别储存并使用HTrie树进行三次前缀搜索,获得一个合并三次搜索结果的列表;
步骤S425:如果所述合并三次搜索结果的列表为空,则结束本轮搜索;如果不为空,则直接查找所述合并三次搜索结果的列表内与所述待检测字符串相同的词,若存在,则所述待检测字符串为敏感词;
步骤S426:将所述待检测字符串转为拼音及拼音首字母两种形式分别储存并使用HTrie树进行两次前缀搜索,获得一个合并两次搜索结果列表;
步骤S427:如果所述合并两次搜索结果列表为空,则结束本轮搜索;若不为空,则将所述合并两次搜索结果列表内的所有结果查询其对应的普通式敏感词及拼音式敏感词,分别计算所述普通式敏感词及所述拼音式敏感词与所述待检测字符串相似度J2和J3,若J2大于阈值T2或J3大于阈值T3时,则所述待检测字符串为敏感词;
步骤S43:如果匹配不成功,所述第一个指针和第二个指针均向后移1位,重复步骤S42。
2.根据权利要求1所述的基于HTrie树的中文敏感词变形体识别方法,其特征在于,所述步骤S1:获取网络的敏感词数据集,对所述敏感词数据集进行预处理以及扩充,构建扩充敏感词数据集,具体包括:
步骤S11:对采集的所述敏感词数据集进行去重、清洗和排序的预处理;
步骤S12:将所述敏感词数据集中的敏感词设为普通式敏感词;构建所述普通式敏感词对应的繁体式敏感词、拼音式敏感词、英文式敏感词和汉字拆解式敏感词,从而形成扩充敏感词数据集。
3.根据权利要求2所述的基于HTrie树的中文敏感词变形体识别方法,其特征在于,所述步骤S2:根据所述扩充的敏感词数据集构建HTrie树,具体包括:
根据所述扩充敏感词数据集构建HTrie树,所述HTrie树根节点不包含字符,其子节点及叶节点均只包含一个字符。
4.一种基于HTrie树的中文敏感词变形体识别系统,其特征在于,包括下述模块:
构建扩充敏感词数据集模块,用于获取网络的敏感词数据集,对所述敏感词数据集进行预处理以及扩充,构建扩充敏感词数据集;
构建HTrie树模块,用于根据所述扩充的敏感词数据集构建HTrie树;
目标文本预处理模块,用于对待识别的目标文本进行预处理,得到标准化的目标文本;
识别敏感词模块,用于使用基于HTrie树的中文敏感词变形体识别算法对所述标准化的目标文本进行识别,将识别结果与所述扩充的敏感词数据集进行相似度计算,将大于预设阈值的词识别为敏感词,具体包括:
步骤S41:对所述标准化的目标文本使用双指针机制依次获取其部分待检测字符串,
步骤S42:将所述待检测字符串和HTrie树,使用基于HTrie树的中文敏感词变形体识别算法进行识别匹配,如果匹配成功,则第一个指针直接指向匹配成功的字符串后一位,重复步骤S42;其中,所述基于HTrie树的中文敏感词变形体识别算法,具体包括:
步骤S421:判断所述标准化的目标文本是否只含中文,若不是,则直接跳转步骤S424;若只含中文,则使用HTrie树进行前缀搜索,得到中文搜索结果列表;
步骤S422:如果所述中文搜索结果列表不为空,则直接查找所述中文搜索结果列表内是否存在与所述待检测字符串相同的词,若存在,则所述待检测字符串为敏感词,否则直接结束本轮搜索;如果所述中文搜索结果列表为空,则将所述待检测字符串转为拼音再次使用HTrie树进行前缀搜索,得到拼音搜索结果列表;
步骤S423:如果所述拼音搜索结果列表为空,则结束本轮搜索;否则将所述拼音搜索结果列表中所有词分别与所述待检测字符串计算相似度J1,若J1大于阈值T1时,则所述待检测字符串为敏感词;
步骤S424:判断所述待检测字符串是否只含英文或拼音,若不是,则直接跳转步骤S426;若只含英文或拼音,则先将所述待检测字符串转为英文、拼音和拼音首字母三种形式分别储存并使用HTrie树进行三次前缀搜索,获得一个合并三次搜索结果的列表;
步骤S425:如果所述合并三次搜索结果的列表为空,则结束本轮搜索;如果不为空,则直接查找所述合并三次搜索结果的列表内与所述待检测字符串相同的词,若存在,则所述待检测字符串为敏感词;
步骤S426:将所述待检测字符串转为拼音及拼音首字母两种形式分别储存并使用HTrie树进行两次前缀搜索,获得一个合并两次搜索结果列表;
步骤S427:如果所述合并两次搜索结果列表为空,则结束本轮搜索;若不为空,则将所述合并两次搜索结果列表内的所有结果查询其对应的普通式敏感词及拼音式敏感词,分别计算所述普通式敏感词及所述拼音式敏感词与所述待检测字符串相似度J2和J3,若J2大于阈值T2或J3大于阈值T3时,则所述待检测字符串为敏感词;
步骤S43:如果匹配不成功,所述第一个指针和第二个指针均向后移1位,重复步骤S42。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京电子科技学院,未经北京电子科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310826501.4/1.html,转载请声明来源钻瓜专利网。