CN111368535B - 一种敏感词识别方法、装置及设备 - Google Patents

一种敏感词识别方法、装置及设备 Download PDF

Info

Publication number
CN111368535B
CN111368535B CN201811603465.0A CN201811603465A CN111368535B CN 111368535 B CN111368535 B CN 111368535B CN 201811603465 A CN201811603465 A CN 201811603465A CN 111368535 B CN111368535 B CN 111368535B
Authority
CN
China
Prior art keywords
word
information
segmentation
group
information entropy
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
CN201811603465.0A
Other languages
English (en)
Other versions
CN111368535A (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.)
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Digital Network Technology 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 Zhuhai Kingsoft Digital Network Technology Co Ltd filed Critical Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority to CN201811603465.0A priority Critical patent/CN111368535B/zh
Publication of CN111368535A publication Critical patent/CN111368535A/zh
Application granted granted Critical
Publication of CN111368535B publication Critical patent/CN111368535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Character Discrimination (AREA)

Abstract

本发明实施例提供了一种敏感词识别方法、装置及设备,方法包括:确定分词中的每个字对应的上下文信息;并根据该上下文信息中的语义关系,生成该分词的词向量序列,该词向量序列中包括该分词的词向量及该上下文信息中分词的词向量;将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果;对于敏感词变体来说,即使是字形或者字音发生了变化,上下文语义依赖关系不变,因此,本方案中基于上下文语义依赖关系识别敏感词,可以识别出敏感词的变体,提高了识别效果。

Description

一种敏感词识别方法、装置及设备
技术领域
本发明涉及文字处理技术领域,特别是涉及一种敏感词识别方法、装置及设备。
背景技术
在一些互联网场景中,比如网络论坛、个人主页、游戏聊天等场景中,用户可以发表一些文字内容,来表达意见、抒发心情、或与其他用户进行交流。为了营造健康的网络环境,通常需要对用户发表的文字内容进行审核,也就是识别文字内容中是否包含一些不符合规范的敏感词。
现有的敏感词识别方案通常包括:获取用户发表的文字内容,对该文字内容进行分割处理,得到多个分词,将每个分词与预先建立的敏感词汇库进行匹配,如果匹配成功,表示该分词为敏感词。
目前存在很多敏感词变体,这些变体与敏感词的字形相似或者字音相似,上述方案中,并不能识别出这种变体,识别效果欠佳。
发明内容
本发明实施例的目的在于提供一种敏感词识别方法、装置及设备,以提高识别效果。
为达到上述目的,本发明实施例提供了一种敏感词识别方法,包括:
获取待识别文本;
对所述待识别文本进行切分处理,得到多个分词;
针对每个分词,确定该分词中的每个字对应的上下文信息;并根据所述上下文信息中的语义关系,生成该分词的词向量序列,所述词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量;
将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果。
可选的,在所述获取待识别文本之后,还包括:
对所述待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本;
所述对所述待识别文本进行切分处理,得到多个分词,包括:
对所述预处理后的文本进行切分处理,得到多个分词。
可选的,在所述获取待识别文本之后,还包括:
从所述待识别文本中迭代截取预设长度的字符串;
针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配;
如果字典树中存在与该字符串相匹配的分支,则将该字符串识别为敏感词。
可选的,所述对所述待识别文本进行切分处理,得到多个分词,包括:
计算所述待识别文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;
针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;
计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词。
可选的,所述根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词,包括:
针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值;
如果大于,将该候选二元组确定为一个分词;
如果不大于,将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
可选的,所述信息熵包括左信息熵和右信息熵;所述判断该候选二元组的信息熵是否大于预设概率阈值,包括:
判断该候选二元组的左信息熵和右信息熵是否均大于预设概率阈值;
所述将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值,包括:
在所述左信息熵不大于所述预设概率阈值的情况下,将该候选二元组向左进行扩展,得到左扩展后的多元组,判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值;
在所述右信息熵不大于所述预设概率阈值的情况下,将该候选二元组向右进行扩展,得到右扩展后的多元组,判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值;
所述将所述多元组确定为一个分词,包括:
在所述左扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述左扩展后的多元组确定为一个分词;
在所述右扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述右扩展后的多元组确定为一个分词。
可选的,在所述得到左扩展后的多元组之后,还包括:
判断所述左扩展后的多元组的长度是否达到预设长度阈值;
如果未达到,执行所述判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤;
在所述得到右扩展后的多元组之后,还包括:
判断所述右扩展后的多元组的长度是否达到预设长度阈值;
如果未达到,执行所述判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤。
可选的,所述确定该分词中的每个字对应的上下文信息,包括:
针对该分词中的每个字,获取该字的笔画信息;
对所述笔画信息进行特征数值化处理,得到该字的多元特征序列;
将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
可选的,所述根据所述上下文信息中的语义关系,生成该分词的词向量序列,包括:
确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;
利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
可选的,采用如下步骤训练得到所述识别模型:
获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;
将所述训练样本输入至预设结构的分类模型中;
利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;
通过均值汇集策略,所述分类模型生成基于序列的预测信号;
基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
为达到上述目的,本发明实施例还提供了一种敏感词识别装置,包括:
获取模块,用于获取待识别文本;
切分模块,用于对所述待识别文本进行切分处理,得到多个分词;
确定模块,用于针对每个分词,确定该分词中的每个字对应的上下文信息;
生成模块,用于根据所述上下文信息中的语义关系,生成该分词的词向量序列,所述词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量;
第一识别模块,用于将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果。
可选的,所述装置还包括:
预处理模块,用于对所述待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本;
所述切分模块,具体用于:对所述预处理后的文本进行切分处理,得到多个分词。
可选的,所述装置还包括:
第二识别模块,用于从所述待识别文本中迭代截取预设长度的字符串;针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配;如果字典树中存在与该字符串相匹配的分支,则将该字符串识别为敏感词。
可选的,所述切分模块,包括:
计算子模块,用于计算所述待识别文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;
组成子模块,用于针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;
切分子模块,用于计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词。
可选的,所述切分子模块,包括:
判断单元,用于针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值;如果大于,触发第一确定单元,如果不大于,触发第二确定单元;
第一确定单元,用于将该候选二元组确定为一个分词;
第二确定单元,用于将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
可选的,所述信息熵包括左信息熵和右信息熵;所述判断单元,具体用于:判断该候选二元组的左信息熵和右信息熵是否均大于预设概率阈值;
所述第二确定单元,具体用于:在所述左信息熵不大于所述预设概率阈值的情况下,将该候选二元组向左进行扩展,得到左扩展后的多元组,判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值;在所述左扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述左扩展后的多元组确定为一个分词;在所述右信息熵不大于所述预设概率阈值的情况下,将该候选二元组向右进行扩展,得到右扩展后的多元组,判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值;在所述右扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述右扩展后的多元组确定为一个分词。
可选的,所述装置还包括:
判断模块,用于判断所述左扩展后的多元组的长度是否达到预设长度阈值;如果未达到,执行所述判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤;
判断所述右扩展后的多元组的长度是否达到预设长度阈值;如果未达到,执行所述判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤。
可选的,所述确定模块,具体用于:
针对该分词中的每个字,获取该字的笔画信息;
对所述笔画信息进行特征数值化处理,得到该字的多元特征序列;
将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
可选的,所述生成模块,具体用于:
确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;
利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
可选的,所述装置还包括:
模型训练模块,用于获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;将所述训练样本输入至预设结构的分类模型中;利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;通过均值汇集策略,所述分类模型生成基于序列的预测信号;基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
为达到上述目的,本发明实施例还提供了一种电子设备,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种敏感词识别方法。
为达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种敏感词识别方法。
应用本发明实施例进行敏感词识别时,确定分词中的每个字对应的上下文信息;并根据该上下文信息中的语义关系,生成该分词的词向量序列,该词向量序列中包括该分词的词向量及该上下文信息中分词的词向量;将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果;对于敏感词变体来说,即使是字形或者字音发生了变化,上下文语义依赖关系不变,因此,本方案中基于上下文语义依赖关系识别敏感词,可以识别出敏感词的变体,提高了识别效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的敏感词识别方法的第一种流程示意图;
图2为本发明实施例提供的字典树示意图;
图3为本发明实施例提供的一种确定分词的流程示意图;
图4为本发明实施例提供的另一种确定分词的流程示意图;
图5为本发明实施例提供的嵌入神经网络示意图;
图6为本发明实施例提供的分类模型示意图;
图7为本发明实施例提供的识别模型示意图;
图8为本发明实施例提供的敏感词识别方法的第二种流程示意图;
图9为本发明实施例提供的一种敏感词识别装置的结构示意图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种敏感词识别方法、装置及设备,该方法及装置可以应用于各种电子设备,具体不做限定。下面首先对本发明实施例提供的敏感词识别方法进行详细介绍。为了方便描述,以下实施例中将执行主体称为电子设备。
图1为本发明实施例提供的敏感词识别方法的第一种流程示意图,包括:
S101:获取待识别文本。
举例来说,该待识别文本可以为用户在网络论坛、个人主页、游戏聊天等各种场景中发表的文本内容。待识别文本可以为汉语文本、英语文本、日语文本等等,具体语言种类不做限定。
S102:对待识别文本进行切分处理,得到多个分词。
作为一种实施方式,在S101之后,可以先对所述待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本;这样,S102为:对所述预处理后的文本进行切分处理,得到多个分词。
举例来说,如果待识别文本为汉语文本,字符清洗可以为:去除非汉字、英文字母、聊天表情、“#~.¥%@&”等字符。
全角转半角:也就是将全角字符统一转换为半角字符,比如,将“abc ABC123”转换为“abcABC123”。
繁体转简体:也就是将繁体字转换为简体字,比如,将“壹萬年”转换为“一万年”。
拼音转文字:也就是将拼音的字母转换为简体字,比如,将“yiwannian”转换为“一万年”。
拆分字合并:如果待识别文本为汉语文本,也就是将拆分字合并为正常汉字,比如,将“车仑”转换为“轮”。
谐音字还原:将谐音字还原为正常汉字,比如,将“初黎期”转换为“处理器”。
如果采用上述多种方式进行预处理,这多种方式的先后顺序不做限定。
待识别文本中可能存在一些字形相似或者字音相似的敏感词变体。譬如,一些用户在敏感词之间加入了非汉字、英文字母、聊天表情、“#~.¥%@&”等字符,或者将敏感词转换为全角字符,或者将敏感词转换为繁体字,或者将敏感词转换为拼音,或者将敏感词转换为拆分字,或者将敏感词转换为谐音字,等等。经过上述预处理,可以将一些敏感词的变体还原为敏感词,减少了敏感词变体对识别造成的干扰。
作为一种实施方式,在S101之后,可以从待识别文本中迭代截取预设长度的字符串;针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配;如果字典树中存在与该字符串相匹配的分支,则将该字符串识别为敏感词。
举例来说,字典树可以如图2所示,包括一个根节点和多个叶子节点,根节点可以为空,或者说根节点不包括字符,叶子节点包括一个字符,从根节点到末端叶子节点之间的字符连接成字符串,该字符串即为敏感词。根节点到末端叶子节点构成字典树的分支,可以理解为,一个分支对应一个字符串,或者说,一个分支对应一个敏感词。图2中的字符串、字典树结构等仅为举例说明,并不对字典树构成限定。
从待识别文本中迭代截取预设长度的字符串,该预设长度可以为字典树中敏感词的最大长度。举例来说,假设预设长度为5个字符,假设待识别文本为“我们是好朋友”,则迭代截取出的字符串可以分别为:我们是好朋、们是好朋友。此处仅为举例说明,待识别文本通常为一段较长的文本内容。
将截取出的各字符串与字典树进行匹配的过程类似,下面一个字符串为例进行说明:
匹配过程是一个遍历字典树的过程,遍历从根节点开始,按照字典树中的指向(由根节点到末端叶子节点的方向),将字符串中的各字符依次与字典树各分支中的各叶子节点进行匹配;若该字符串中的字符与分支中各叶子节点均匹配成功,则表示该分支与该字符串相匹配。
具体来说,如果字符串中字符的数量大于分支中叶子节点的数量,比如,字符串为“我们是好朋”,而字典树的一个分支为“我们”,则该字符串的前两个字符与该分支的两个叶子节点均匹配成功,这种情况下,表示该分支与该字符串相匹配。如果字符串与字典树中的某个分支相匹配,则表示该字符串为敏感词。
可以理解,本实施方式中,预先存储一些通用敏感词,并将这些通用敏感词存储为字典树的形式。该字典树结构使用公共前缀(空的根节点),可以降低查询时间的开销,提高匹配效率。本实施方式中,将待识别文本中的字符串与字典树进行匹配,也就是先识别出待识别文本中的通用敏感词,再利用S102-S104的方案识别剩余内容中的敏感词。
如果采用上述一种实施方式,对待识别文本进行了上述任意一种或多种预处理,得到了预处理后的文本,则可以采用本实施方式,从预处理后的文本中迭代截取预设长度的字符串,并将字符串与预先建立的字典树进行匹配。具体匹配过程类似,不再赘述。
作为一种实施方式,S102可以包括:计算待识别文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词。
举例来说,可以利用如下算式,计算待识别文本中每两个相邻字之间的互信息:
PMI=p(x,y)/p(x)·p(y)=cnt(x,y)/cnt(x)·cnt(y)(式1)
其中,PMI表示相邻字之间的互信息,PMI越大,表示相邻字之间的关系程度越强,p(x)和p(y)分别代表事件x和事件y发生的概率,p(x,y)代表事件x和事件y同时发生的概率,cnt表示统计频次的函数。
可以预先设定关联阈值,如果两个相邻字之间的互信息大于该关联阈值,表示这两个相邻字的关联程度较强,将该两个相邻字组成一个候选二元组。关联阈值可以根据实际情况进行设定,比如可以为1,具体数值不做限定。可以理解,敏感词中各个字之间关联程度较强,可以先从待识别文本中筛选出关联程度较强的候选二元组,二元组由两个字组成。
本实施方式中,计算每个候选二元组的信息熵,信息熵表示一个文本片段左邻字集合和右邻字集合的随机程度。对于某个字来说,该字与其左右相邻的字之间的搭配词越多,表示该字与其左右相邻的字属于不同的词的概率越大。举例来说,可以利用如下算式,计算候选二元组的信息熵:
其中,Entropy表示信息熵,U表示候选二元组,i表示字的标识,pi表示标识为i的字出现的概率,n表示相邻字的数量。
比如,以“吃葡萄不吐葡萄皮不吃葡萄倒吐葡萄皮”这句话为例来说,“葡萄”一词出现了四次,其中左邻字分别为{吃,吐,吃,吐},右邻字分别为{不,皮,倒,皮}。根据式2计算得到:“葡萄”一词的左邻字的信息熵为–(1/2)·log(1/2)–(1/2)·log(1/2),它的右邻字的信息熵则为–(1/2)·log(1/2)–(1/4)·log(1/4)–(1/4)·log(1/4)。
作为一种实施方式,可以针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值:如果大于,将该候选二元组确定为一个分词;如果不大于,可以不执行其他步骤,也可以将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
概率阈值可以根据实际情况进行设定,具体数值不做限定。
一种情况下,可以设定长度阈值,长度阈值表示分词的最大长度,长度阈值可以根据实际情况进行设定,比如,可以设定为5个字符,具体数值不做限定。这种情况下,对候选二元组进行扩展时,扩展后的多元组的长度不超过该长度阈值。
一种情况下,候选二元组的信息熵包括左信息熵和右信息熵,也就是上述例子中的左邻字的信息熵和右邻字的信息熵。这种情况下,可以参考图3:
S301:判断候选二元组的左信息熵和右信息熵是否均大于预设概率阈值,如果左信息熵不大于预设概率阈值,执行S302-S304,如果右信息熵不大于预设概率阈值,执行S305-S307,如果左信息熵和右信息熵均大于预设概率阈值,执行S308。
S302:将该候选二元组向左进行扩展,得到左扩展后的多元组。
S303:判断左扩展后的多元组的信息熵是否大于预设概率阈值;如果大于,执行S304。
S304:将左扩展后的多元组确定为一个分词。
S305:将该候选二元组向右进行扩展,得到右扩展后的多元组。
S306:判断右扩展后的多元组的信息熵是否大于预设概率阈值;如果大于,执行S307。
S307:将右扩展后的多元组确定为一个分词。
S308:将该候选二元组确定为一个分词。
一种情况下,在得到扩展后的多元组之后,可以先判断扩展后的多元组是否达到预设长度阈值,如果达到,可以不执行后续步骤,如果未达到,再判断扩展后的多元组的信息熵是否大于预设概率阈值。
比如,可以参考图4,图4在图3的基础上,在S302之后增加S309:判断左扩展后的多元组的长度是否达到预设长度阈值;在S309判断结果为未达到的情况下,再执行S303。类似的,在S305之后增加S310:判断右扩展后的多元组的长度是否达到预设长度阈值,在S310判断结果为未达到的情况下,再执行S306。
可以理解,敏感词不会无限长,如果扩展到一定长度后,信息熵仍不大于概率阈值,则不再进行扩展,减少了不必要的计算量,提高了识别效率。
如果采用上述一种实施方式,对待识别文本进行了上述任意一种或多种预处理,得到了预处理后的文本,则可以采用本实施方式对预处理后的文本进行切分处理,具体切分过程类似,不再赘述。
或者,也可以采用其他切分方式,对待识别文本或预处理后的文本进行切分处理,具体切分方式不做限定。
S103:针对每个分词,确定该分词中的每个字对应的上下文信息。
下面以对一个分词的处理为例进行说明:作为一种实施方式,可以针对该分词中的每个字,获取该字的笔画信息;对所述笔画信息进行特征数值化处理,得到该字的多元特征序列;将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
举例来说,可以采用基于偏旁部首和汉字组件等笔画特征的字向量构建方法,构建的字向量包括字对应的上下文信息。这些笔画特征便于识别字形相近的敏感词变体。可以基于笔画特征对每个字进行编码,比如,可以将汉字笔画分为如下五类:
笔画名称
形状 丿
ID 1 2 3 4 5
具体来说,可以将待识别文本分割为单个的字,再将字拆分成笔画,得到字的笔画信息。对笔画信息进行特征数值化处理,可以理解为将笔画转化为ID。然后再按照笔画顺序将ID进行组合,便得到了多元特征序列。
可以使用N元窗口滑动的方式得到多元特征序列。比如,对汉字“荡”的笔画信息进行特征数值化处理后,得到序列1224443533,3元特征序列(3个笔画)就是122,4元元特征序列(4个笔画)就是1224,如此类推。这里所说的“多元特征序列”可以为N元特征序列,也就是对字进行N元编码。以N=5为例来说,5元特征序列可以如下所示:
122
224
...
1224
12244
...
将得到的多元特征序列输入至预设训练得到的映射模型,得到携带有上下文信息的字向量。
举例来说,可以对预设结构的嵌入神经网络进行训练,得到该映射模型。参考图5,该嵌入神经网络以及该映射模型可以包括输入层、隐藏层和输出层,输入层的维度可以为V,隐藏层的维度可以为N,输出层的维度可以为C×V,C表示上下文长度的一半。以一个字为例来说,输入层输入的可以为该一个字的多元特征序列xk,输出层输出的是xk的携带有上下文信息的字向量{xk-C,xk-C-1,...,xk-1,xk+1,...,xk+C-1,xk+C},上下文长度为2C。
图5中,输入层与隐藏层之间存在权重矩阵WV×N,WV×N的第i行表示词汇表中第i个字的权重,词汇表包括一些常见词汇,词汇表可以基于历史聊天文本统计得到;该权重矩阵WV×N包含了词汇表中所有字的权重信息,该权重矩阵WV×N可以理解为嵌入神经网络以及映射模型的参数,训练过程即为对这些参数进行调整的过程。
隐藏层到输出层之间存在N×V维的输出向量W’N×V。隐藏层包括N个节点,对输入层进行加权求和后得到的数据输入至隐藏层的节点。
举例来说,输出层可以共享权重,比如,通过softmax函数产生第C个字的多项式分布,该多项式包括第C个字对应的上下文中每个字与该第C个字的概率,具体的,可以通过式3计算该概率:
其中,yc,j表示上下文中第j个字的预测条件概率分布;p(wc,j=wO,c|wI)表示对于选定字wI来说上下文中第j个字是O的条件概率,“:=”表示“等价于”。
譬如“这个小黄瓜”,选定字“黄”,上下文中的字有“这”,“个”,“小”,“瓜”,上下文中第2个字是“个”的条件概率P(“个”|“黄”),在式3中,这个概率简写为y_(“黄”,2),即j=2,表示上下文第2个字。softmax函数也可以表示为exp(.)/sum(exp(.))函数。uc,j表示将选定字C的向量作为输入、经过隐藏层变换后输出的向量,其中输入层到隐藏层的变换为h=xTW=vw,I,隐藏层到输出层的变化是uc,j=h.muw,j
训练得到映射模型的过程可以包括:获取训练文本语料,该文本语料可以不包括标注信息,将该文本语料输入至未经调整的嵌入神经网络,利用数学求最优值算法,比如反向传播和随机梯度下降算法,迭代学习出权重w;其中隐藏层到输出层的权重更新迭代公式可以参考式4;输入层到隐藏层的权重更新迭代公式参考式5。
其中,w’(new)表示隐藏层到输出层的更新后的权重,w’(old)表示隐藏层到输出层的更新前的权重,η表示训练中的学习率,yc,j表示上下文中第j个字的预测条件概率分布,tc,j表示上下文中第j个字的统计频率概率分布,hi表示隐藏层的第i个节点,通过计算yc,j和tc,j的误差,可以不断地调优模型,使得神经网络输出的预测概率不断接近真实的统计概率。
其中,w(new)表示输入层到隐藏层的更新后的权重,wi,j表示第i个给定词中的第j个字的学习权重,表示输入层到隐藏层的更新前的权重,η表示训练中的学习率,yc,j表示上下文中第j个字的预测条件概率分布,tc,j表示上下文中第j个字的统计频率概率分布,hi表示隐藏层的第i个节点,V表示语料中的字数量。
当迭代收敛后,根据式3可以计算出携带有上下文信息的字向量。举例来说,字向量的维度可以为100维,或者也可以为其他,具体不做限定。
上述例子中,输出层共享权重,可以减少计算量,提高泛化模型表达力。
S104:根据该上下文信息中的语义关系,生成该分词的词向量序列。其中,所述词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量。
作为一种实施方式,S104可以包括:确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
本实施方式中,可以采用长序列编码算法,结合遗忘因素,基于S103中得到的携带有上下文信息的字向量,生成该分词的词向量序列。
不同的语序表达不同的语义。举例来说,假设文本S包含T个字,这T个字组成的语句序列表示为{x1,x2,x3…xT},将第t(1≤t≤T)个字的携带有上下文信息的字向量表示为et。通过式6依次计算zt(1≤t≤T),可以获得分词的上文、下文、片段、上文与片段组合、下文与片段组合等五类前后依赖关系。
其中,zt表示从位置1到位置t这段序列的编码,也就是从位置1到位置t这段序列的前后依赖关系,α(0<α<1)表示遗忘因子,α可以为0-1之间的一个固定值,用于表示前面序列对当前词的影响,反应了词在序列中的词序信息。
zt大小为|V|,zt大小与原文本S的长度T无关,也就是说,任意不定长文本可以被指定长度的编码唯一表示。
由以上内容可见,基于S103中得到的携带有上下文信息的字向量,利用以上编码过程,可以生成待识别文本切分出的各分词的词向量序列。
S105:将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果。
作为一种实施方式,可以采用如下步骤训练得到所述识别模型:
获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;
将所述训练样本输入至预设结构的分类模型中;
利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;
通过均值汇集策略,所述分类模型生成基于序列的预测信号;
基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
本实施方式中,通过对预设结构的分类模型进行训练,得到识别模型。该分类模型可以为基于逻辑回归的训练模型。该分类模型的逻辑结构可以如图6所示,包括多个序列记忆单元,序列记忆单元可以记录词向量序列的次序信息。训练过程,也就是对序列记忆单元的参数进行迭代调整的过程。
参考图6进行举例说明,训练样本可以包括多个向量,以一个向量[y,xi-c……xi+c]为例来说,xi-c……xi+c表示连续多个分词的词向量组成的词向量序列,其中xi表示被标注的分词的词向量,xi-c……xi-1分别表示被标注的分词之前c个词对应的词向量,xi+1……xi+c分别表示被标注的分词之后c个词对应的词向量;y表示被标注的分词对应的分类结果,比如,如果分词被标注为敏感词则y为1,如果分词被标注为非敏感词则y为0。
参考图6介绍下训练逻辑,序列记忆单元记录词向量序列的次序信息,然后通过均值汇集策略,生成基于序列的预测信号h;计算该预测信号h与分类结果y的差异,该差异也就是分类模型的损失,模型训练的过程就是利用反馈调整使得该损失最小的过程,该损失反馈给序列记忆单元,基于该损失迭代调整序列记忆单元的参数,直至训练完成,得到识别模型。模型训练的过程也可以理解为求解min(y,h),比如可以利用反射传播算法求解最优解。识别模型可以理解为权重参数集合,根据该权重参数集合计算预测值h,也就是进行分类判定。
作为一种实施方式,将训练样本输入分类模型后,可以先对该训练样本进行输入变换。假设t时刻分类模型的输入为特征信号xt,变换公式可以为式7:
c_int=tanh(Wxcxt+Whcht-1+bc_in)(式7)
其中,Wxc和Whc表示权重矩阵,bc_in表示偏置向量,tanh(.)表示双曲函数变换,c_int表示t时刻输入特征信号xt的变换信号,ht-1表示对t-1时刻的输入特征信号xt-1的输出预测信号。
t时刻的预测信号与其对应的输入特征信号xt、以及t-1时刻的输入特征信号xt-1的输出预测信号ht-1有关。
分类模型中可以包括记忆门控,该门控能够对文本的上下文依赖关系建模,而且能够在训练过程中减少其他因素对模型内部梯度的干扰。具体地,记忆门控可以通过式8记忆序列次序信息:
其中,Wxi、Whi、Wxf、Whf、Wxo和Who表示权重矩阵,bi、bf和bo表示偏置向量,g(.)表示激活函数,具体的,可以使用tanh(.)作为激活函数。it表示输入门控,用于衡量记忆现在的某些信息,ft表示遗忘门控,用于衡量忘记过去某些信息,ot表示输出门控,用于衡量保留某些信息。
本实施方式中,可以对分类模型的输出结果进行输出变换,假设t时刻模型的输出为预测信号ht,变换公式可以为式9:
其中,ct表示t时刻输入特征信号ht的变换信号,it表示输入门控,用于衡量记忆现在的某些信息,ft表示遗忘门控,用于衡量忘记过去某些信息,ot表示输出门控,用于衡量保留某些信息。
可见,通过式9将输入变换的结果c_int和记忆门控的结果it、ft、ot融合起来。
分类模型与识别模型的结构类似,具体可以参考图7:假设S104中得到一个待识别分词的词向量序列[qi-c……qi+c],qi-c……qi+c表示连续多个分词的词向量组成的词向量序列,其中qi表示该待识别分词的词向量,qi-c……qi-1分别表示该待识别分词之前c个词对应的词向量,qi+1……q+c分别表示该待识别分词之后c个词对应的词向量。
将该词向量序列输入训练得到的识别模型,对该词向量序列进行输入变换、记忆门控、输出变换等处理,得到信号h。识别模型对词向量序列的处理过程也可以参考上述输入变换、记忆门控、输出变换部分的内容。对信号h进行类别判定,得到预测概率qθ(h)。具体的类别判定公式可以参考式10:
其中,θ表示通过逻辑回归训练得到的模型参数。式10中,当预测概率qθ(h)大于等于0.5时,z为1,表示识别结果为:分词为敏感词。0.5只是一种设定阈值,具体数值不做限定。
在S105之后,可以将识别出的敏感词添加至存储的敏感词库中。比如,上述一种实施方式中,预先将通用敏感词存储为字典树的形式,则在S105之后,可以将识别出的敏感词添加至该字典树中。
应用本发明所示实施例,确定分词中的每个字对应的上下文信息;并根据该上下文信息中的语义关系,生成该分词的词向量序列,该词向量序列中包括该分词的词向量及该上下文信息中分词的词向量;将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果;对于敏感词变体来说,即使是字形或者字音发生了变化,上下文语义依赖关系不变,因此,本方案中基于上下文语义依赖关系识别敏感词,可以识别出敏感词的变体,提高了识别效果。
为了验证本发明实施例的效果,进行了如下实验:一个月中随机选择10天,其中每天随机筛选5000条聊天文本,对所筛选的文本进行敏感词识别。实验中定义“准确率”和“覆盖率”两个指标衡量识别效果。其中,准确率定义为:识别准确的样本数除以预测总样本数,覆盖率定义为:识别准确的样本数除以标注总样本数。
实验数据表明,应用本发明实施例的准确率90.2%,覆盖率85.2%。准确率的标准方差是0.02,覆盖率的标准方差是0.14,性能稳定。而应用传统的文字识别算法时,由于词库更新滞后,初始时的准确率80.1%,覆盖率75.2%,而且准确率和覆盖率会随着时间的推移出现显著下降;准确率的标准方差是42.2,覆盖率的标准方差是55.1。可见,本发明实施例在识别准确率及稳定性上显著优于传统算法。
图8为本发明实施例提供的敏感词识别方法的第二种流程示意图,包括:
S801:获取待识别文本。
举例来说,该待识别文本可以为用户在网络论坛、个人主页、游戏聊天等各种场景中发表的文本内容。待识别文本可以为汉语文本、英语文本、日语文本等等,具体语言种类不做限定。
S802:对待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本。
举例来说,如果待识别文本为汉语文本,字符清洗可以为:去除非汉字、英文字母、聊天表情、“#~.¥%@&”等字符。
全角转半角:也就是将全角字符统一转换为半角字符,比如,将“abc ABC123”转换为“abcABC123”。
繁体转简体:也就是将繁体字转换为简体字,比如,将“壹萬年”转换为“一万年”。
拼音转文字:也就是将拼音的字母转换为简体字,比如,将“yiwannian”转换为“一万年”。
拆分字合并:如果待识别文本为汉语文本,也就是将拆分字合并为正常汉字,比如,将“车仑”转换为“轮”。
谐音字还原:将谐音字还原为正常汉字,比如,将“初黎期”转换为“处理器”。
如果采用上述多种方式进行预处理,这多种方式的先后顺序不做限定。
待识别文本中可能存在一些字形相似或者字音相似的敏感词变体。譬如,一些用户在敏感词之间加入了非汉字、英文字母、聊天表情、“#~.¥%@&”等字符,或者将敏感词转换为全角字符,或者将敏感词转换为繁体字,或者将敏感词转换为拼音,或者将敏感词转换为拆分字,或者将敏感词转换为谐音字,等等。经过上述预处理,可以将一些敏感词的变体还原为敏感词,减少了敏感词变体对识别造成的干扰。
S803:从预处理后的文本中迭代截取预设长度的字符串。
S804:针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配,并判断字典树中是否存在与该字符串相匹配的分支,如果存在,执行S805。
S805:将该字符串识别为通用敏感词,将不包括通用敏感词的预处理后的文本确定为待处理文本。
举例来说,字典树可以如图2所示,包括一个根节点和多个叶子节点,根节点可以为空,或者说根节点不包括字符,叶子节点包括一个字符,从根节点到末端叶子节点之间的字符连接成字符串,该字符串即为敏感词。根节点到末端叶子节点构成字典树的分支,可以理解为,一个分支对应一个字符串,或者说,一个分支对应一个敏感词。图2中的字符串、字典树结构等仅为举例说明,并不对字典树构成限定。
从预处理后的文本中迭代截取预设长度的字符串,该预设长度可以为字典树中敏感词的最大长度。举例来说,假设预设长度为5个字符,假设预处理后的文本为“我们是好朋友”,则迭代截取出的字符串可以分别为:我们是好朋、们是好朋友。此处仅为举例说明,预处理后的文本通常为一段较长的文本内容。
将截取出的各字符串与字典树进行匹配的过程类似,下面一个字符串为例进行说明:
匹配过程是一个遍历字典树的过程,遍历从根节点开始,按照字典树中的指向(由根节点到末端叶子节点的方向),将字符串中的各字符依次与字典树各分支中的各叶子节点进行匹配;若该字符串中的字符与分支中各叶子节点均匹配成功,则表示该分支与该字符串相匹配。
具体来说,如果字符串中字符的数量大于分支中叶子节点的数量,比如,字符串为“我们是好朋”,而字典树的一个分支为“我们”,则该字符串的前两个字符与该分支的两个叶子节点均匹配成功,这种情况下,表示该分支与该字符串相匹配。如果字符串与字典树中的某个分支相匹配,则表示该字符串为敏感词。
本实施例中,预先存储一些通用敏感词,并将这些通用敏感词存储为字典树的形式。该字典树结构使用公共前缀(空的根节点),可以降低查询时间的开销,提高匹配效率。
本实施例中,将预处理后的文本中的字符串与字典树进行匹配,也就是先识别出预处理后的文本中的通用敏感词。一种情况下,可以将S805中识别出的通用敏感词从预处理后的文本中剔除,并将剩余文本作为待处理文本,针对待处理文本继续执行后续步骤,这样,可以避免对已经识别出的敏感词的重复识别,减少了不必要的计算量,提高了计算效率。
S806:对待处理文本进行切分处理,得到多个分词。
作为一种实施方式,S806可以包括:计算待处理文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待处理文本进行切分处理,得到多个分词。
举例来说,可以利用如下算式,计算待处理文本中每两个相邻字之间的互信息:
PMI=p(x,y)/p(x)·p(y)=cnt(x,y)/cnt(x)·cnt(y)(式1)
其中,PMI表示相邻字之间的互信息,PMI越大,表示相邻字之间的关系程度越强,p(x)和p(y)分别代表事件x和事件y发生的概率,p(x,y)代表事件x和事件y同时发生的概率,cnt表示统计频次的函数。
可以预先设定关联阈值,如果两个相邻字之间的互信息大于该关联阈值,表示这两个相邻字的关联程度较强,将该两个相邻字组成一个候选二元组。关联阈值可以根据实际情况进行设定,比如可以为1,具体数值不做限定。可以理解,敏感词中各个字之间关联程度较强,可以先从待处理文本中筛选出关联程度较强的候选二元组,二元组由两个字组成。
本实施方式中,计算每个候选二元组的信息熵,信息熵表示一个文本片段左邻字集合和右邻字集合的随机程度。对于某个字来说,该字与其左右相邻的字之间的搭配词越多,表示该字与其左右相邻的字属于不同的词的概率越大。举例来说,可以利用如下算式,计算候选二元组的信息熵:
其中,Entropy表示信息熵,U表示候选二元组,i表示字的标识,pi表示标识为i的字出现的概率,n表示相邻字的数量。
比如,以“吃葡萄不吐葡萄皮不吃葡萄倒吐葡萄皮”这句话为例来说,“葡萄”一词出现了四次,其中左邻字分别为{吃,吐,吃,吐},右邻字分别为{不,皮,倒,皮}。根据式2计算得到:“葡萄”一词的左邻字的信息熵为–(1/2)·log(1/2)–(1/2)·log(1/2),它的右邻字的信息熵则为–(1/2)·log(1/2)–(1/4)·log(1/4)–(1/4)·log(1/4)。
作为一种实施方式,可以针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值:如果大于,将该候选二元组确定为一个分词;如果不大于,可以不执行其他步骤,也可以将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
概率阈值可以根据实际情况进行设定,具体数值不做限定。
一种情况下,可以设定长度阈值,长度阈值表示分词的最大长度,长度阈值可以根据实际情况进行设定,比如,可以设定为5个字符,具体数值不做限定。这种情况下,对候选二元组进行扩展时,扩展后的多元组的长度不超过该长度阈值。
S807:针对每个分词,确定该分词中的每个字对应的上下文信息。
下面以对一个分词的处理为例进行说明:作为一种实施方式,可以针对该分词中的每个字,获取该字的笔画信息;对所述笔画信息进行特征数值化处理,得到该字的多元特征序列;将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
举例来说,可以采用基于偏旁部首和汉字组件等笔画特征的字向量构建方法,构建的字向量包括字对应的上下文信息。这些笔画特征便于识别字形相近的敏感词变体。可以基于笔画特征对每个字进行编码,比如,可以将汉字笔画分为如下五类:
笔画名称
形状 丿
ID 1 2 3 4 5
具体来说,可以将待识别文本分割为单个的字,再将字拆分成笔画,得到字的笔画信息。对笔画信息进行特征数值化处理,可以理解为将笔画转化为ID。然后再按照笔画顺序将ID进行组合,便得到了多元特征序列。
可以使用N元窗口滑动的方式得到多元特征序列。比如,对汉字“荡”的笔画信息进行特征数值化处理后,得到序列1224443533,3元特征序列(3个笔画)就是122,4元元特征序列(4个笔画)就是1224,如此类推。这里所说的“多元特征序列”可以为N元特征序列,也就是对字进行N元编码。以N=5为例来说,5元特征序列可以如下所示:
122
224
...
1224
12244
...
将得到的多元特征序列输入至预设训练得到的映射模型,得到携带有上下文信息的字向量。
举例来说,可以对预设结构的嵌入神经网络进行训练,得到该映射模型。参考图5,该嵌入神经网络以及该映射模型可以包括输入层、隐藏层和输出层,输入层的维度可以为V,隐藏层的维度可以为N,输出层的维度可以为C×V,C表示上下文长度的一半。以一个字为例来说,输入层输入的可以为该一个字的多元特征序列xk,输出层输出的是xk的携带有上下文信息的字向量{xk-C,xk-C-1,...,xk-1,xk+1,...,xk+C-1,xk+C},上下文长度为2C。
图5中,输入层与隐藏层之间存在权重矩阵WV×N,WV×N的第i行表示词汇表中第i个字的权重,词汇表包括一些常见词汇,词汇表可以基于历史聊天文本统计得到;该权重矩阵WV×N包含了词汇表中所有字的权重信息,该权重矩阵WV×N可以理解为嵌入神经网络以及映射模型的参数,训练过程即为对这些参数进行调整的过程。
隐藏层到输出层之间存在N×V维的输出向量W’V。隐藏层包括N个节点,对输入层进行加权求和后得到的数据输入至隐藏层的节点。
举例来说,输出层可以共享权重,比如,通过softmax函数产生第C个字的多项式分布,该多项式包括第C个字对应的上下文中每个字与该第C个字的概率,具体的,可以通过式3计算该概率:
其中,yc,j表示上下文中第j个字的预测条件概率分布;p(wc,j=wO,c|wI)表示对于选定字wI来说上下文中第j个字是O的条件概率,“:=”表示“等价于”。
譬如“这个小黄瓜”,选定字“黄”,上下文中的字有“这”,“个”,“小”,“瓜”,上下文中第2个字是“个”的条件概率P(“个”|“黄”),在式3中,这个概率简写为y_(“黄”,2),即j=2,表示上下文第2个字。softmax函数也可以表示为exp(.)/sum(exp(.))函数。uc,j表示将选定字C的向量作为输入、经过隐藏层变换后输出的向量,其中输入层到隐藏层的变换为h=xTW=vw,I,隐藏层到输出层的变化是uc,j=h.muw,j
训练得到映射模型的过程可以包括:获取训练文本语料,该文本语料可以不包括标注信息,将该文本语料输入至未经调整的嵌入神经网络,利用数学求最优值算法,比如反向传播和随机梯度下降算法,迭代学习出权重w;其中隐藏层到输出层的权重更新迭代公式可以参考式4;输入层到隐藏层的权重更新迭代公式参考式5。
其中,w’(new)表示隐藏层到输出层的更新后的权重,w’(old)表示隐藏层到输出层的更新前的权重,η表示训练中的学习率,yc,j表示上下文中第j个字的预测条件概率分布,tc,j表示上下文中第j个字的统计频率概率分布,hi表示隐藏层的第i个节点,通过计算yc,j和tc,j的误差,可以不断地调优模型,使得神经网络输出的预测概率不断接近真实的统计概率。
其中,w(new)表示输入层到隐藏层的更新后的权重,wi,j表示第i个给定词中的第j个字的学习权重,表示输入层到隐藏层的更新前的权重,η表示训练中的学习率,yc,j表示上下文中第j个字的预测条件概率分布,tc,j表示上下文中第j个字的统计频率概率分布,hi表示隐藏层的第i个节点,V表示语料中的字数量。
当迭代收敛后,根据式3可以计算出携带有上下文信息的字向量。举例来说,字向量的维度可以为100维,或者也可以为其他,具体不做限定。
上述例子中,输出层共享权重,可以减少计算量,提高泛化模型表达力。
S808:根据该上下文信息中的语义关系,生成该分词的词向量序列。其中,该词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量。
作为一种实施方式,S808可以包括:确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
本实施方式中,可以采用长序列编码算法,结合遗忘因素,基于S807中得到的携带有上下文信息的字向量,生成该分词的词向量序列。
不同的语序表达不同的语义。举例来说,假设文本S包含T个字,这T个字组成的语句序列表示为{x1,x2,x3…xT},将第t(1≤t≤T)个字的携带有上下文信息的字向量表示为et。通过式6依次计算zt(1≤t≤T),可以获得分词的上文、下文、片段、上文与片段组合、下文与片段组合等五类前后依赖关系。
/>
其中,zt表示从位置1到位置t这段序列的编码,也就是从位置1到位置t这段序列的前后依赖关系,α(0<α<1)表示遗忘因子,α可以为0-1之间的一个固定值,用于表示前面序列对当前词的影响,反应了词在序列中的词序信息。
zt大小为|V|,zt大小与原文本S的长度T无关,也就是说,任意不定长文本可以被指定长度的编码唯一表示。
由以上内容可见,基于S807中得到的携带有上下文信息的字向量,利用以上编码过程,可以生成待识别文本切分出的各分词的词向量序列。
S809:将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果。
作为一种实施方式,可以采用如下步骤训练得到所述识别模型:
获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;
将所述训练样本输入至预设结构的分类模型中;
利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;
通过均值汇集策略,所述分类模型生成基于序列的预测信号;
基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
本实施方式中,通过对预设结构的分类模型进行训练,得到识别模型。该分类模型可以为基于逻辑回归的训练模型。该分类模型的逻辑结构可以如图6所示,包括多个序列记忆单元,序列记忆单元可以记录词向量序列的次序信息。训练过程,也就是对序列记忆单元的参数进行迭代调整的过程。
参考图6进行举例说明,训练样本可以包括多个向量,以一个向量[y,xi-c……xi+c]为例来说,xi-c……xi+c表示连续多个分词的词向量组成的词向量序列,其中xi表示被标注的分词的词向量,xi-c……xi-1分别表示被标注的分词之前c个词对应的词向量,xi+1……xi+c分别表示被标注的分词之后c个词对应的词向量;y表示被标注的分词对应的分类结果,比如,如果分词被标注为敏感词则y为1,如果分词被标注为非敏感词则y为0。
参考图6介绍下训练逻辑,序列记忆单元记录词向量序列的次序信息,然后通过均值汇集策略,生成基于序列的预测信号h;计算该预测信号h与分类结果y的差异,该差异也就是分类模型的损失,模型训练的过程就是利用反馈调整使得该损失最小的过程,该损失反馈给序列记忆单元,基于该损失迭代调整序列记忆单元的参数,直至训练完成,得到识别模型。模型训练的过程也可以理解为求解min(y,h),比如可以利用反射传播算法求解最优解。识别模型可以理解为权重参数集合,根据该权重参数集合计算预测值h,也就是进行分类判定。
作为一种实施方式,将训练样本输入分类模型后,可以先对该训练样本进行输入变换。假设t时刻分类模型的输入为特征信号xt,变换公式可以为式7:
c_int=tanh(Wxcxt+Whcht-1+bc_in)(式7)
其中,Wxc和Whc表示权重矩阵,bc_in表示偏置向量,tanh(.)表示双曲函数变换,c_int表示t时刻输入特征信号xt的变换信号,ht-1表示对t-1时刻的输入特征信号xt-1的输出预测信号。
t时刻的预测信号与其对应的输入特征信号xt、以及t-1时刻的输入特征信号xt-1的输出预测信号ht-1有关。
分类模型中可以包括记忆门控,该门控能够对文本的上下文依赖关系建模,而且能够在训练过程中减少其他因素对模型内部梯度的干扰。具体地,记忆门控可以通过式8记忆序列次序信息:
其中,Wxi、Whi、Wxf、Whf、Wxo和Who表示权重矩阵,bi、bf和bo表示偏置向量,g(.)表示激活函数,具体的,可以使用tanh(.)作为激活函数。it表示输入门控,用于衡量记忆现在的某些信息,ft表示遗忘门控,用于衡量忘记过去某些信息,ot表示输出门控,用于衡量保留某些信息。
本实施方式中,可以对分类模型的输出结果进行输出变换,假设t时刻模型的输出为预测信号ht,变换公式可以为式9:
其中,ct表示t时刻输入特征信号ht的变换信号,it表示输入门控,用于衡量记忆现在的某些信息,ft表示遗忘门控,用于衡量忘记过去某些信息,ot表示输出门控,用于衡量保留某些信息。
可见,通过式9将输入变换的结果c_int和记忆门控的结果it、ft、ot融合起来。
分类模型与识别模型的结构类似,具体可以参考图7:假设S808中得到一个待识别分词的词向量序列[qi-c……qi+c],qi-c……qi+c表示连续多个分词的词向量组成的词向量序列,其中qi表示该待识别分词的词向量,qi-c……qi-1分别表示该待识别分词之前c个词对应的词向量,qi+1……q+c分别表示该待识别分词之后c个词对应的词向量。
将该词向量序列输入训练得到的识别模型,对该词向量序列进行输入变换、记忆门控、输出变换等处理,得到信号h。识别模型对词向量序列的处理过程也可以参考上述输入变换、记忆门控、输出变换部分的内容。对信号h进行类别判定,得到预测概率qθ(h)。具体的类别判定公式可以参考式10:
其中,θ表示通过逻辑回归训练得到的模型参数。式10中,当预测概率qθ(h)大于等于0.5时,z为1,表示识别结果为:分词为敏感词。0.5只是一种设定阈值,具体数值不做限定。
在S809之后,可以将识别出的敏感词添加至存储的敏感词库中。比如,上述一种实施方式中,预先将通用敏感词存储为字典树的形式,则在S809之后,可以将识别出的敏感词添加至该字典树中。
应用图8所示实施例,第一方面,对于敏感词变体来说,即使是字形或者字音发生了变化,上下文语义依赖关系不变,因此,本方案中基于上下文语义依赖关系识别敏感词,可以识别出敏感词的变体,提高了识别效果。第二方面,通过预处理,将一些敏感词的变体还原为敏感词,减少了敏感词变体对识别造成的干扰。第三方面,先识别出文本中的通用敏感词,仅针对不包含通用敏感词的文本进行后续识别,避免了对已经识别出的敏感词的重复识别,减少了不必要的计算量,提高了计算效率。
为了验证本发明实施例的效果,进行了如下实验:一个月中随机选择10天,其中每天随机筛选5000条聊天文本,对所筛选的文本进行敏感词识别。实验中定义“准确率”和“覆盖率”两个指标衡量识别效果。其中,准确率定义为:识别准确的样本数除以预测总样本数,覆盖率定义为:识别准确的样本数除以标注总样本数。
实验数据表明,应用本发明实施例的准确率90.2%,覆盖率85.2%。准确率的标准方差是0.02,覆盖率的标准方差是0.14,性能稳定。而应用传统的文字识别算法时,由于词库更新滞后,初始时的准确率80.1%,覆盖率75.2%,而且准确率和覆盖率会随着时间的推移出现显著下降;准确率的标准方差是42.2,覆盖率的标准方差是55.1。可见,本发明实施例在识别准确率及稳定性上显著优于传统算法。
与上述方法实施例相对应,本发明实施例还提供了一种敏感词识别装置,如图9所示,包括:
获取模块901,用于获取待识别文本;
切分模块902,用于对所述待识别文本进行切分处理,得到多个分词;
确定模块903,用于针对每个分词,确定该分词中的每个字对应的上下文信息;
生成模块904,用于根据所述上下文信息中的语义关系,生成该分词的词向量序列,所述词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量;
第一识别模块905,用于将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果。
作为一种实施方式,所述装置还包括:
预处理模块(图中未示出),用于对所述待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本;
切分模块902,具体用于:对所述预处理后的文本进行切分处理,得到多个分词。
作为一种实施方式,所述装置还包括:
第二识别模块(图中未示出),用于从所述待识别文本中迭代截取预设长度的字符串;针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配;如果字典树中存在与该字符串相匹配的分支,则将该字符串识别为敏感词。
作为一种实施方式,切分模块902,包括:计算子模块、组成子模块和切分子模块(图中未示出),其中,
计算子模块,用于计算所述待识别文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;
组成子模块,用于针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;
切分子模块,用于计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词。
作为一种实施方式,所述切分子模块,包括:
判断单元,用于针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值;如果大于,触发第一确定单元,如果不大于,触发第二确定单元;
第一确定单元,用于将该候选二元组确定为一个分词;
第二确定单元,用于将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
作为一种实施方式,所述信息熵包括左信息熵和右信息熵;所述判断单元,具体用于:判断该候选二元组的左信息熵和右信息熵是否均大于预设概率阈值;
所述第二确定单元,具体用于:在所述左信息熵不大于所述预设概率阈值的情况下,将该候选二元组向左进行扩展,得到左扩展后的多元组,判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值;在所述左扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述左扩展后的多元组确定为一个分词;在所述右信息熵不大于所述预设概率阈值的情况下,将该候选二元组向右进行扩展,得到右扩展后的多元组,判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值;在所述右扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述右扩展后的多元组确定为一个分词。
作为一种实施方式,所述装置还包括:
判断模块(图中未示出),用于判断所述左扩展后的多元组的长度是否达到预设长度阈值;如果未达到,执行所述判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤;
判断所述右扩展后的多元组的长度是否达到预设长度阈值;如果未达到,执行所述判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤。
作为一种实施方式,确定模块903,具体用于:
针对该分词中的每个字,获取该字的笔画信息;
对所述笔画信息进行特征数值化处理,得到该字的多元特征序列;
将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
作为一种实施方式,生成模块904,具体用于:
确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;
利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
作为一种实施方式,所述装置还包括:
模型训练模块(图中未示出),用于获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;将所述训练样本输入至预设结构的分类模型中;利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;通过均值汇集策略,所述分类模型生成基于序列的预测信号;基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
应用本发明所示实施例,确定分词中的每个字对应的上下文信息;并根据该上下文信息中的语义关系,生成该分词的词向量序列,该词向量序列中包括该分词的词向量及该上下文信息中分词的词向量;将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果;对于敏感词变体来说,即使是字形或者字音发生了变化,上下文语义依赖关系不变,因此,本方案中基于上下文语义依赖关系识别敏感词,可以识别出敏感词的变体,提高了识别效果。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001和存储器1002,
存储器1002,用于存放计算机程序;
处理器1001,用于执行存储器1002上所存放的程序时,实现上述任一种敏感词识别方法。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种敏感词识别方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、设备实施例以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (20)

1.一种敏感词识别方法,其特征在于,包括:
获取待识别文本;
对所述待识别文本进行切分处理,得到多个分词;
针对每个分词,确定该分词中的每个字对应的上下文信息;并根据所述上下文信息中的语义关系,生成该分词的词向量序列,所述词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量;
将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果;
所述确定该分词中的每个字对应的上下文信息,包括:
针对该分词中的每个字,获取该字的笔画信息;
对所述笔画信息进行特征数值化处理,得到所述笔画信息对应的ID;
按照笔画顺序将所述笔画信息对应的ID使用N元窗口滑动的方式进行组合,得到该字的多元特征序列;
将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
2.根据权利要求1所述的方法,其特征在于,在所述获取待识别文本之后,还包括:
对所述待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本;
所述对所述待识别文本进行切分处理,得到多个分词,包括:
对所述预处理后的文本进行切分处理,得到多个分词。
3.根据权利要求1所述的方法,其特征在于,在所述获取待识别文本之后,还包括:
从所述待识别文本中迭代截取预设长度的字符串;
针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配;
如果字典树中存在与该字符串相匹配的分支,则将该字符串识别为敏感词。
4.根据权利要求1所述的方法,其特征在于,所述对所述待识别文本进行切分处理,得到多个分词,包括:
计算所述待识别文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;
针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;
计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词。
5.根据权利要求4所述的方法,其特征在于,所述根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词,包括:
针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值;
如果大于,将该候选二元组确定为一个分词;
如果不大于,将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
6.根据权利要求5所述的方法,其特征在于,所述信息熵包括左信息熵和右信息熵;所述判断该候选二元组的信息熵是否大于预设概率阈值,包括:
判断该候选二元组的左信息熵和右信息熵是否均大于预设概率阈值;
所述将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值,包括:
在所述左信息熵不大于所述预设概率阈值的情况下,将该候选二元组向左进行扩展,得到左扩展后的多元组,判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值;
在所述右信息熵不大于所述预设概率阈值的情况下,将该候选二元组向右进行扩展,得到右扩展后的多元组,判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值;
所述将所述多元组确定为一个分词,包括:
在所述左扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述左扩展后的多元组确定为一个分词;
在所述右扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述右扩展后的多元组确定为一个分词。
7.根据权利要求6所述的方法,其特征在于,在所述得到左扩展后的多元组之后,还包括:
判断所述左扩展后的多元组的长度是否达到预设长度阈值;
如果未达到,执行所述判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤;
在所述得到右扩展后的多元组之后,还包括:
判断所述右扩展后的多元组的长度是否达到预设长度阈值;
如果未达到,执行所述判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤。
8.根据权利要求1所述的方法,其特征在于,所述根据所述上下文信息中的语义关系,生成该分词的词向量序列,包括:
确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;
利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
9.根据权利要求1所述的方法,其特征在于,采用如下步骤训练得到所述识别模型:
获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;
将所述训练样本输入至预设结构的分类模型中;
利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;
通过均值汇集策略,所述分类模型生成基于序列的预测信号;
基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
10.一种敏感词识别装置,其特征在于,包括:
获取模块,用于获取待识别文本;
切分模块,用于对所述待识别文本进行切分处理,得到多个分词;
确定模块,用于针对每个分词,确定该分词中的每个字对应的上下文信息;
生成模块,用于根据所述上下文信息中的语义关系,生成该分词的词向量序列,所述词向量序列中包括该分词的词向量及所述上下文信息中分词的词向量;
第一识别模块,用于将该分词的词向量序列输入至预先训练得到的识别模型,得到该分词是否为敏感词的识别结果;
所述确定模块,具体用于:
针对该分词中的每个字,获取该字的笔画信息;
对所述笔画信息进行特征数值化处理,得到所述笔画信息对应的ID;
按照笔画顺序将所述笔画信息对应的ID使用N元窗口滑动的方式进行组合,得到该字的多元特征序列;
将该字的多元特征序列输入至预设训练得到的映射模型,得到该字对应的上下文信息。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
预处理模块,用于对所述待识别文本进行以下任意一种或多种预处理:字符清洗、全角转半角、繁体转简体、拼音转文字、拆分字合并、谐音字还原,得到预处理后的文本;
所述切分模块,具体用于:对所述预处理后的文本进行切分处理,得到多个分词。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二识别模块,用于从所述待识别文本中迭代截取预设长度的字符串;针对所截取的每个字符串,将该字符串与预先建立的字典树进行匹配;如果字典树中存在与该字符串相匹配的分支,则将该字符串识别为敏感词。
13.根据权利要求10所述的装置,其特征在于,所述切分模块,包括:
计算子模块,用于计算所述待识别文本中每两个相邻字之间的互信息,所述互信息表示相邻字之间的关联程度;
组成子模块,用于针对大于预设关联阈值的每条互信息,将该互信息对应的两个相邻字组成一个候选二元组;
切分子模块,用于计算每个候选二元组的信息熵,根据计算得到的信息熵,对所述待识别文本进行切分处理,得到多个分词。
14.根据权利要求13所述的装置,其特征在于,所述切分子模块,包括:
判断单元,用于针对每个候选二元组,判断该候选二元组的信息熵是否大于预设概率阈值;如果大于,触发第一确定单元,如果不大于,触发第二确定单元;
第一确定单元,用于将该候选二元组确定为一个分词;
第二确定单元,用于将该候选二元组进行扩展得到多元组,判断所述多元组的信息熵是否大于所述预设概率阈值;如果大于,将所述多元组确定为一个分词。
15.根据权利要求14所述的装置,其特征在于,所述信息熵包括左信息熵和右信息熵;所述判断单元,具体用于:判断该候选二元组的左信息熵和右信息熵是否均大于预设概率阈值;
所述第二确定单元,具体用于:在所述左信息熵不大于所述预设概率阈值的情况下,将该候选二元组向左进行扩展,得到左扩展后的多元组,判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值;在所述左扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述左扩展后的多元组确定为一个分词;在所述右信息熵不大于所述预设概率阈值的情况下,将该候选二元组向右进行扩展,得到右扩展后的多元组,判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值;在所述右扩展后的多元组的信息熵大于所述预设概率阈值的情况下,将所述右扩展后的多元组确定为一个分词。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述左扩展后的多元组的长度是否达到预设长度阈值;如果未达到,执行所述判断所述左扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤;
判断所述右扩展后的多元组的长度是否达到预设长度阈值;如果未达到,执行所述判断所述右扩展后的多元组的信息熵是否大于所述预设概率阈值的步骤。
17.根据权利要求10所述的装置,其特征在于,所述生成模块,具体用于:
确定该分词的上下文语义依赖关系,所述依赖关系包括以下任意一种或多种:上文、下文、所属片段;
利用长序列编码算法,根据该分词的上下文语义依赖关系,生成该分词的词向量序列。
18.根据权利要求10所述的装置,其特征在于,所述装置还包括:
模型训练模块,用于获取训练样本,所述训练样本包括:连续多个分词的词向量组成的词向量序列、以及所述连续多个分词对应的分类结果;将所述训练样本输入至预设结构的分类模型中;利用所述分类模型中的序列记忆单元,对所述词向量序列的次序信息进行记录;通过均值汇集策略,所述分类模型生成基于序列的预测信号;基于所述预测信号及所述分类结果,对所述序列记忆单元的参数进行迭代调整,得到训练完成的识别模型。
19.一种电子设备,其特征在于,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
CN201811603465.0A 2018-12-26 2018-12-26 一种敏感词识别方法、装置及设备 Active CN111368535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811603465.0A CN111368535B (zh) 2018-12-26 2018-12-26 一种敏感词识别方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811603465.0A CN111368535B (zh) 2018-12-26 2018-12-26 一种敏感词识别方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111368535A CN111368535A (zh) 2020-07-03
CN111368535B true CN111368535B (zh) 2024-01-16

Family

ID=71206104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811603465.0A Active CN111368535B (zh) 2018-12-26 2018-12-26 一种敏感词识别方法、装置及设备

Country Status (1)

Country Link
CN (1) CN111368535B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112036167B (zh) * 2020-08-25 2023-11-28 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器及存储介质
CN111814192B (zh) * 2020-08-28 2021-04-27 支付宝(杭州)信息技术有限公司 训练样本生成方法及装置、敏感信息检测方法及装置
CN112084306B (zh) * 2020-09-10 2023-08-29 北京天融信网络安全技术有限公司 一种关键词挖掘方法、装置、存储介质及电子设备
CN112287684B (zh) * 2020-10-30 2024-06-11 中国科学院自动化研究所 融合变体词识别的短文本审核方法及装置
CN112364216A (zh) * 2020-11-23 2021-02-12 上海竞信网络科技有限公司 一种边缘节点内容审核过滤***及方法
CN112612894B (zh) * 2020-12-29 2022-03-18 平安科技(深圳)有限公司 意图识别模型的训练方法、装置、计算机设备和存储介质
CN112906380A (zh) * 2021-02-02 2021-06-04 北京有竹居网络技术有限公司 文本中角色的识别方法、装置、可读介质和电子设备
CN112801425B (zh) * 2021-03-31 2021-07-02 腾讯科技(深圳)有限公司 信息点击率的确定方法、装置、计算机设备和存储介质
CN113076748B (zh) * 2021-04-16 2024-01-19 平安国际智慧城市科技股份有限公司 弹幕敏感词的处理方法、装置、设备及存储介质
CN113033217B (zh) * 2021-04-19 2023-09-15 广州欢网科技有限责任公司 字幕敏感信息自动屏蔽转译方法和装置
CN113128241A (zh) * 2021-05-17 2021-07-16 口碑(上海)信息技术有限公司 文本识别方法、装置及设备
CN113449510B (zh) * 2021-06-28 2022-12-27 平安科技(深圳)有限公司 文本识别方法、装置、设备及存储介质
CN113407658B (zh) * 2021-07-06 2021-12-21 北京容联七陌科技有限公司 在线客服场景下的文本内容敏感词过滤替换的方法及***
CN113536782B (zh) * 2021-07-09 2023-12-26 平安国际智慧城市科技股份有限公司 敏感词识别方法、装置、电子设备及存储介质
CN113723096A (zh) * 2021-07-23 2021-11-30 智慧芽信息科技(苏州)有限公司 文本识别方法及装置、计算机可读存储介质和电子设备
CN114117149A (zh) * 2021-11-25 2022-03-01 深圳前海微众银行股份有限公司 一种敏感词过滤方法及装置、存储介质
CN115238044A (zh) * 2022-09-21 2022-10-25 广州市千钧网络科技有限公司 一种敏感词检测方法、装置、设备及可读存储介质
CN117009533B (zh) * 2023-09-27 2023-12-26 戎行技术有限公司 一种基于分聚类抽取与词向量模型的暗语识别方法
CN117077678B (zh) * 2023-10-13 2023-12-29 河北神玥软件科技股份有限公司 一种敏感词识别方法、装置、设备及介质
CN117435692A (zh) * 2023-11-02 2024-01-23 北京云上曲率科技有限公司 一种基于变体对抗敏感文本识别方法和***
CN117493540A (zh) * 2023-12-28 2024-02-02 荣耀终端有限公司 文本匹配方法、终端设备及计算机可读存储介质
CN117592473B (zh) * 2024-01-18 2024-04-09 武汉杏仁桉科技有限公司 一种多中文词组的谐音拆分处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850819A (zh) * 2014-02-18 2015-08-19 联想(北京)有限公司 信息处理方法及电子设备
CN107168952A (zh) * 2017-05-15 2017-09-15 北京百度网讯科技有限公司 基于人工智能的信息生成方法和装置
WO2017185674A1 (zh) * 2016-04-29 2017-11-02 乐视控股(北京)有限公司 新词发现方法及装置
CN108021558A (zh) * 2017-12-27 2018-05-11 北京金山安全软件有限公司 关键词的识别方法、装置、电子设备和存储介质
CN108734159A (zh) * 2017-04-18 2018-11-02 苏宁云商集团股份有限公司 一种图像中敏感信息的检测方法及***
CN108984530A (zh) * 2018-07-23 2018-12-11 北京信息科技大学 一种网络敏感内容的检测方法及检测***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850819A (zh) * 2014-02-18 2015-08-19 联想(北京)有限公司 信息处理方法及电子设备
WO2017185674A1 (zh) * 2016-04-29 2017-11-02 乐视控股(北京)有限公司 新词发现方法及装置
CN108734159A (zh) * 2017-04-18 2018-11-02 苏宁云商集团股份有限公司 一种图像中敏感信息的检测方法及***
CN107168952A (zh) * 2017-05-15 2017-09-15 北京百度网讯科技有限公司 基于人工智能的信息生成方法和装置
CN108021558A (zh) * 2017-12-27 2018-05-11 北京金山安全软件有限公司 关键词的识别方法、装置、电子设备和存储介质
CN108984530A (zh) * 2018-07-23 2018-12-11 北京信息科技大学 一种网络敏感内容的检测方法及检测***

Also Published As

Publication number Publication date
CN111368535A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN111368535B (zh) 一种敏感词识别方法、装置及设备
De Mulder et al. A survey on the application of recurrent neural networks to statistical language modeling
Chien et al. Bayesian recurrent neural network for language modeling
CN111914067B (zh) 中文文本匹配方法及***
CN110263325B (zh) 中文分词***
Wang et al. Sequence modeling via segmentations
CN110619034A (zh) 基于Transformer模型的文本关键词生成方法
CN112487190B (zh) 基于自监督和聚类技术从文本中抽取实体间关系的方法
Lan et al. Three convolutional neural network-based models for learning sentiment word vectors towards sentiment analysis
JP6291443B2 (ja) 接続関係推定装置、方法、及びプログラム
CN110569505A (zh) 一种文本输入方法及装置
Grzegorczyk Vector representations of text data in deep learning
Noaman et al. Enhancing recurrent neural network-based language models by word tokenization
CN109033084B (zh) 一种语义层次树构建方法以及装置
CN114490954A (zh) 一种基于任务调节的文档级生成式事件抽取方法
Shi A study on neural network language modeling
Lindén et al. Evaluating combinations of classification algorithms and paragraph vectors for news article classification
CN112835798A (zh) 聚类学习方法、测试步骤聚类方法及相关装置
Majewski et al. Sentence recognition using artificial neural networks
Sun et al. Chinese microblog sentiment classification based on convolution neural network with content extension method
De Meulemeester et al. Unsupervised embeddings for categorical variables
Shuang et al. Combining word order and cnn-lstm for sentence sentiment classification
Zhang Comparing the Effect of Smoothing and N-gram Order: Finding the Best Way to Combine the Smoothing and Order of N-gram
Kibria et al. Context-driven bengali text generation using conditional language model
Yan et al. Tibetan Sentiment Classification Method Based on Semi-Supervised Recursive Autoencoders.

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
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519080 Room 102, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant