1.本公开涉及短信识别技术领域,尤其涉及一种短信类别的识别方法及装置。
背景技术:
2.目前在诈骗短信的识别中,主要使用的是短信发送行为特征数据来构建模型,通过拟合输入在短信发送过程当中产生的行为数据特征进行建模,例如主叫被叫比、某时段内发送间隔、发送频率、平均短信收发间隔等各种行为特征,然后使用逻辑回归的方式进行诈骗短信的识别,这是一个二分类问题,用于识别短信是正常短信还是诈骗短信。除了行为特征很难进行区分外,还存在难以对诈骗短信的类型进行详细的识别的情况,不同的诈骗短信类型例如刷单行为和游戏充钱,仅仅只是把短信的内容做一个替换,而对于短信的发送行为几乎一模一样,因此,也无法通过短信的发送行为作为一个诈骗类型的识别。
3.由于近些年微信、qq、钉钉等交流软件的出现与发展,现如今使用短信进行交流的人越来越少,短信的用途更多是应用在了验证码接收、商户的推销、行业短信的接收等商业方面,而这类的短信所涉及到的行为特性与诈骗短信发送的行为特征很难进行区分。尤其现在诈骗短信层出不穷,其最终目的是向接收者传递特定的语义信息,因此无论发送行为特征如何改变,内容顺序怎样变换,其语义信息始终被蕴含在短信内容中。因此,若不结合短信内容本身,仅通过搜集和分析现有的行为特征来识别短信类型的准确率较低。
技术实现要素:
4.本公开提供一种短信类别的识别方法及装置,以至少解决现有技术中存在的以上技术问题。
5.本公开一方面提供一种短信类别的识别方法,包括:获取短信的待识别文本,所述待识别文本由多个字符组成,所述字符包括特殊符号、标点符号、运算符号和/或文字;从所述待识别文本中提取每个字符的字符向量,所述字符向量组成字符向量矩阵;将转置后的所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,拼接每个字符对应的所述前向隐向量和所述后向隐向量,得到每个字符对应的第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;将所述第一语义矩阵与所述字符向量矩阵的转置相加,得到第二语义矩阵;将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据多组所述中间矩阵得到对应的多个注意力值,将每个字符对应的多个所述注意力值进行拼接,得到每个字符对应的第二拼接向量,所有字符对应的所述第二拼接向量组成注意力矩阵;对所述注意力矩阵进行识别,得到所述短信对应各类别的概率值,确定所述概率值满足条件的类别为所述待识别文本的短信的类别。
6.在一可实施方式中,所述获取短信的待识别文本,包括:
获取短信文本数据;对所述短信文本数据去除停用词;对去除了停用词的短信文本数据进行文本掩码。
7.在一可实施方式中,所述对所述短信文本数据去除停用词包括去除助词、语气词和日期。
8.在一可实施方式中,所述文本掩码包括对网址、微信号、手机号和qq号的非运营商、地区以及网址的部分,采用替代符号的方式进行替换。
9.在一可实施方式中,所述将转置后所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,包括:对所述字符向量矩阵从前向计算第n个字符的前向隐向量时,根据从前往后开始的第1至第n个字符对应的所述字符向量,计算出第n个字符的前向隐向量;对所述字符向量矩阵从后向计算第n个字符的后向隐向量时,根据从后向前开始的第1至第n个字符对应的所述字符向量,计算出第n个字符的后向隐向量。
10.在一可实施方式中,所述将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,包括:获取多组参数矩阵,每组所述参数矩阵包括q、k和v三个所述参数矩阵,通过将每组所述q、k和v分别乘以所述第二语义矩阵,得到对应的每组所述中间矩阵,每组所述中间矩阵包括q、k、v三个所述中间矩阵。
11.在一可实施方式中,所述根据多组所述中间矩阵得到对应的多个注意力值,包括:根据所述中间矩阵,按如下公式得到每个字符的所述注意力值:所述q、k和v为所述中间矩阵,所述i为第i组,所述j为第j个字符,所述n为所述字符的个数,所述i、所述j和所述o依次从1取到n,所述softmax为归一化,所述为每个字符的所述注意力值。
12.本公开另一方面提供一种诈骗短信类别的识别装置,包括:获取模块,用于获取短信的待识别文本,所述待识别文本由多个字符组成,所述字符包括特殊符号、标点符号、运算符号和/或文字;处理模块,用于从所述待识别文本中提取每个字符的字符向量,所述字符向量组成字符向量矩阵;所述处理模块,还用于将转置后的所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,拼接每个字符对应的所述前向隐向量和所述后向隐向量,得到每个字符对应的第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;所述处理模块,还用于将所述第一语义矩阵与所述字符向量矩阵的转置相加,得到第二语义矩阵;
所述处理模块,还用于将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据多组所述中间矩阵得到对应的多个注意力值,将每个字符对应的多个所述注意力值进行拼接,得到每个字符对应的第二拼接向量,所有字符对应的所述第二拼接向量组成注意力矩阵;识别模块,用于对所述注意力矩阵进行识别,得到所述短信对应各类别的概率值,确定所述概率值满足条件的类别为所述待识别文本的短信的类别。
13.在一可实施方式中,所述获取模块,还用于获取短信文本数据;对所述短信文本数据去除停用词;对去除了停用词的短信文本数据进行文本掩码。
14.在一可实施方式中,所述获取模块,还用于对所述短信文本数据去除停用词包括去除助词、语气词和日期。
15.基于上述方案,本公开提供一种短信类别的识别方法,获取短信的待识别文本,待识别文本中保留有凸显诈骗短信相关特征的字符,通过对每个字符进行字符向量的提取,得到表征待识别文本的字符向量矩阵,基于字符在待识别文本中的组成次序,字符向量本身能够以前后文关系提供更多的语义隐藏信息,将字符向量从前向和后向进行处理以提取更多语义,得到用于解释每个字符的对应的第一拼接向量,全部的第一拼接向量组成表征待识别文本的第一语义矩阵,通过将第一语义矩阵与字符向量矩阵相加得到第二语义矩阵,以避免在上述处理过程中丢失信息,基于对第二语义矩阵的进一步处理,得到注意力矩阵,通过注意力矩阵确定待识别文本中,每个字符表征的语义特征的关注度,最后通过对注意力矩阵的识别,能够有效确定待识别文本对应的短信类别。
附图说明
16.图1所示为本公开一实施例提供的短信类别的识别方法的流程示意图;图2所示为本公开一实施例提供的短信类别的识别框架示意图;图3所示为本公开另一实施例提供的短信类别的识别方法的流程示意图;图4所示为本公开一实施例提供的短信类别的识别方法的操作示意图;图5所示为本公开一实施例提供的短信类别的识别方法的部分操作示意图;图6所示为本公开一实施例提供的短信类别的识别方法的部分操作示意图;图7所示为本公开一实施例提供的短信类别的识别方法的部分操作示意图;图8所示为本公开一实施例提供的短信类别的识别方法的部分操作示意图;图9所示为本公开一实施例提供的短信类别的识别方法的部分操作示意图;图10所示为本公开一实施例提供的短信类别的识别装置示意图。
具体实施方式
17.为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
18.为了区分正常短信和诈骗短信,同时更加有效地识别短信类别,如图1所示,本公
开一实施例提供了一种短信类别的识别方法,包括:101,获取短信的待识别文本,所述待识别文本由多个字符组成,所述字符包括特殊符号、标点符号、运算符号和/或文字;在一示例中,待识别文本由短信文本数据处理得到。获取到短信文本数据后,对短信文本数据进行预处理,预处理包括去停用词和文本掩码。
19.停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为stop words(停用词)。生成后的停用词会形成一个停用词表。通常来说,去停用词会去掉对文本特征没有任何贡献作用的字词,比如标点符号、语气和人称等,此处仅为举例说明,在此不做具体限定。文本掩码是为了去除对短信文本数据的语义特征提取具有干扰的杂质信息。
20.诈骗短信通常具有错别字、特殊符号、标点符号、网址和号码等特征,因此,待识别文本需要保留这些特征,但具体需要保留的具体特征应该根据实际情况选定,在此不做具体限定。
21.102,从所述待识别文本中提取每个字符的字符向量,所述字符向量组成字符向量矩阵;步骤101中的待识别文本为经过分字处理的文本,因此每个字符都是独立的单元,包括特殊符号、标点符号、运算符号和/或文字,通过结合整个待识别文本前后文的语义,对每个字符提取相应的字符向量,使得字符向量能够表征对应的字符含义。
22.103,将转置后的所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,拼接每个字符对应的所述前向隐向量和所述后向隐向量,得到每个字符对应的第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;在一示例中,所有字符对应的字符向量形成字符向量矩阵,通过对字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,能够从两个方向提取语义特征,有利于解决诈骗短信识别中句子长度的依赖问题。通过多个由前向隐向量和后向隐向量拼接得到的每个字符对应的第一拼接矩阵,组成第一语义矩阵,能够以更高维的语义对待识别文本进行表征。
23.104,将所述第一语义矩阵与所述字符向量矩阵的转置相加,得到第二语义矩阵;在步骤103中,为了计算第一语义矩阵,输入字符向量矩阵时以对应的字符为单位,需将字符向量矩阵转置后再进行计算,故第一语义矩阵的行与列与字符向量矩阵的行与列相反,因此需要将字符向量矩阵转置后再与第一语义矩阵相加,通过两者的相加,避免了第一语义矩阵相对于原始数据丢失部分语义信息的情况,可得到语义信息较为完整的第二语义矩阵。
24.105,将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据所述中间矩阵得到对应的多个注意力值,将每个字符对应的多个所述注意力值进行拼接,得到每个字符对应的第二拼接向量,所有字符对应的所述第二拼接向量组成注意力矩阵;在一示例中,计算注意力矩阵的方式可采用多头自注意力机制模型,通过往多头自注意力机制模型输入步骤104输出的第二语义矩阵,利用多头自注意力机制对每个对应的字符给出了进一步考虑前后文信息的表征,每个字符对应一个第二拼接向量,待识别文本即可由注意力矩阵表征。
25.106,对所述注意力矩阵进行识别,得到所述短信对应各类别的概率值,确定所述概率值满足条件的类别为所述待识别文本的短信的类别。
26.在一示例中,注意力矩阵可通过识别模型进行识别,识别模型可采用全连接网络模型,预先训练该模型,将注意力矩阵输入该模型后进行计算,最终得到与短信的类别相同数量的多个概率值,根据实际情况设定满足条件,确定满足条件的概率值所对应的类别,即可识别短信文本数据的短信类别。
27.本公开提供一种短信类别的识别方法,获取短信的待识别文本,待识别文本中保留有凸显诈骗短信相关特征的字符,通过对每个字符进行字符向量的提取,得到表征待识别文本的字符向量矩阵,基于字符在待识别文本中的组成次序,字符向量本身能够以前后文关系提供更多的语义隐藏信息,将字符向量从前向和后向进行处理以提取更多语义,得到用于解释每个字符的对应的第一拼接向量,全部的第一拼接向量组成表征待识别文本的第一语义矩阵,通过将第一语义矩阵与字符向量矩阵相加得到第二语义矩阵,以避免在上述处理过程中丢失信息,基于对第二语义矩阵的进一步处理,得到注意力矩阵,通过注意力矩阵确定待识别文本中,每个字符表征的语义特征的关注度,最后通过对注意力矩阵的识别,能够有效确定待识别文本对应的短信类别。
28.在一示例中,本公开还提供了一种用于执行短信类别的识别方法的框架,如图2所示的框图,包括:预处理模块和多模型融合网络模块,预处理模块包括去停用词和文本掩码。
29.多模型融合网络模块包括bert向量化抽取层、bi-gru层(双向循环网络层)、注意力机制层和全连接网络层。
30.应该理解的是,本示例仅列举了一种可实施上述方法的框架,如注意力机制层可采用多头自注意力机制模型,但每层具体使用的模型,在此不做具体限定。
31.在一示例中,本公开还提供了一种用上述方法执行的具体实施例,如图3的流程图和图4的操作示意图所示,包括:201,获取短信文本数据;如图5所示,对短信文本数据进行预处理,得到经过预处理的待识别文本数据。
32.预处理包括去停用词和文本掩码等。
33.本示例中,停用词包括助词、语气词和日期等,相较于常规的去停用词,此处保留了特殊符号和标点符号信息。由于现有的诈骗短信为了规避检测,通常会添加很多无意义的特殊符号和标点符号进行干扰,特殊符号包括φ、
¥
和$等,对于诈骗短信来说特殊符号和标点符号也成为其特征之一,因此本示例在去停用词时,对特殊符号和标点符号进行保留。
34.文本掩码时,需要进行掩码的对象主要包括网址、微信号、手机号和qq号等实体,通过使用替代符号,如星号标识“*”将需要进行掩码的实体替换。其中,对于手机号采取保留运营商信息和地区信息的方式,只保留前七位数据,后四位数据进行掩码,例如经过文本掩码后的手机号为“1833217****”;对网址信息则只保留域名后缀,例如经过文本掩码后的网址为“*******.cc”。此处针对不同的实体制定不同的掩码规则,只要能够去除对语义有干扰的杂质信息即可。
35.对经过去停用词和文本掩码的短信文本数据,进行分字处理,每个字符作为最小的单元,得到具有n个字符的待识别文本数据。应该理解的是,这里的字符不仅仅包括文字,
还包括标点符号、特殊符号和运算符号等,即字符代表每个最小的单元,例如【我和她,都是中国人】,分字处理后为【 我 和 她 , 都 是 中 国 人 】。
36.再例如,现有一短信文本数据为“您已获得一笔75000元借款资格,免上门哦,点击登录e600487.cc
ꢀ☀”
,经过去停用词后得到“已获得一笔元借款资格,免上门,点击登录e600487.cc
ꢀ☀”
,经过文本掩码后得到“已获得一笔元借款资格,免上门,点击登录*******.cc
ꢀ☀”
,此时对该短信文本进行分字处理,得到的待识别文本数据具有30个字符。
[0037] 202,将待识别文本数据输入bert向量化抽取层;如图6所示,在bert向量化抽取层,利用bert embedding模型(算法迁移模型)对待识别文本数据进行向量化操作,将每个字符用对应的字符向量表达出来,例如待识别文本数据包括n个字符,每个字符用wi表示,则待识别文本数据可用{w
1 ,w
2 ,w
3 ,w4ꢀ……
wn}表达,字符向量用ei表示,字符向量共m个维度,在某一个维度i上,待识别文本数据可用表达,故待识别文本数据为一个m行n列的字符向量矩阵e
m*n
。通常来说,经过bert embedding模型映射得到的字符向量的维度包括768维和1024维等。
[0038]
由于bert向量化抽取层的输入字数为固定设置的,根据短信文本数据的长度上限,本示例中设置n为140,在将待识别文本数据输入bert向量化抽取层之前,若检测n不足140,则进行填充处理,即将不足的位数补0。如待识别文本数据的字数量即n为110,则可在待识别文本数据的末尾补30个0后再输入bert向量化抽取层进行向量化处理。
[0039]
假设m为768,则本示例中m行n列的字符向量矩阵为768行、140列的字符向量矩阵。
[0040]
203,将m行n列的字符向量矩阵输入bi-gru模型;如图7所示,构建代表前向和代表后向的两个独立的gru模型,对单个gru的计算公式如下:式如下:根据m行n列的字符向量矩阵得到对应的转置矩阵为n行m列,则该转置矩阵的第1行行向量对应待识别文本中第1个字符的m个维度的字符向量,第2行行向量对应待识别文本中第2个字符的m个维度的字符向量,以此类推,第n行行向量对应待识别文本中第n个字符的m个维度的字符向量。
[0041]
x
t
是当前时刻从转置矩阵输入的字符向量,每个时刻输入一个字符对应的字符向量,例如转置矩阵共有3行,每一行对应一个字符,则第1时刻输入第1个字符对应的字符向量,第2时刻输入第2个字符对应的字符向量,第3时刻,输入第3个字符对应的字符向量;h
t
为当前时刻的输出,h
t-1
是上一时刻的记忆输出,表示当前时刻的隐藏状态,b为表征偏量的常数;z
t
是当前时刻的更新门,决定当前时刻状态和上一时刻状态对输出结构的影响程度;r
t
是当前时刻的重置门,受到上一时刻h
t-1
的影响。
[0042]
其中,对更新门z
t
和重置门r
t
的计算公式如下:bz
和br为表征偏量的常数;代表sigmoid函数;dropout为丢弃处理函数;wz和wr是bi-gru模型的参数。
[0043]
计算前向gru模型时,根据输入的字符向量计算出对应的前向隐向量lh
t
,当字符的维度为m时,lh
t
的维度为,计算后向gru模型时,根据输入的字符向量计算出对应的后向隐向量rh
n-t+1
,当字符的维度为m时,rh
n-t+1
的维度为,将每个字符对应的前向隐向量和后向隐向量拼接得到第一拼接向量hi=[lh
t
:rh
n-t+1
],则hi的维度为m。
[0044]
例如,假设字符个数n=3,则经过前向gru计算时,得到{lh1,lh2, lh3},经过后向gru计算时,得到{rh1,rh2,rh3},将每个字符对应的前向隐向量和后向隐向量拼接得到{lh1:rh3,lh2:rh2,lh3:rh1},因此该字符向量矩阵经过bi-gru模型的计算,可输出第一语义矩阵h,h={h1,h2,h3}。
[0045]
举一个例子,假设输入的字符向量矩阵中的字符向量为x1,x2,x3,计算前向gru时,第1时刻从转置矩阵输入x1,计算得到第一前向隐向量lx1;第2时刻从转置矩阵输入x2,由于上一时刻的记忆输出为x1,因此当前时刻的累计输入为x1和x2,计算得到第二前向隐向量lx2;第3时刻从转置矩阵输入字符向量x3,由于上一时刻的记忆输出为x1和x2,因此当前时刻的累计输入为x1、x2和x3,计算得到第三前向隐向量lx3;计算后向gru时,第1时刻从转置矩阵输入x3,计算得到第一后向隐向量rx1;第2时刻从转置矩阵输入x2,由于上一时刻的记忆输出为x3,因此当前时刻的累计输入为x3和x2,计算得到第二后向隐向量rx2;第3时刻从转置矩阵输入x1,由于上一时刻的记忆输出为x3和x2,因此当前时刻的累计输入为x3、x2和x1,计算得到第三后向隐向量rx3。
[0046]
其中,将第一前向隐向量与第三后向隐向量拼接,得到对应于字符向量x1的拼接向量lx1:rx3,将第二前向隐向量与第二后向隐向量拼接,得到对应于字符向量x2的拼接向量lx2:rx2,将第三前向隐向量与第一后向隐向量拼接,得到对应于字符向量x3的拼接向量lx3:rx1。
[0047]
再举一个例子,此处仍然假设字符个数n=3,字符维度m=2,则字符向量矩阵的转置矩阵为,计算第一个字符的前向隐向量lh1时,输入第一个字符对应的字符向量为,计算得到lh1=[c
11
],计算第一个字符的后向隐向量rh3时,当前时刻的累计输入为、和,即为,计算得到rh3=[c
12
],因此,第一个字符对应的第一拼接向量为h1=[lh1: rh3] =[c
11 c
12
];依次类推,第二个字符对应的第一拼接向量为h2=[lh2: rh2] =[c
21 c
22
],第三个字符对应的第一拼接向量为h3=[lh3: rh1] =[c
31 c
32
]。如此,得到第一语义矩阵为。
[0048]
应该理解的是,此处的n=3,m=2仅用于举例以进行说明,并非限定。若字符向量矩阵中,字符对应的字符向量为768维,则此处的m也对应为768维,计算方式与上述n=3,m=2的
例子相同,以此类推即可。
[0049]
因此,第一语义矩阵为n行m列,与字符向量矩阵的转置矩阵的行数和列数对应。
[0050]
204,将第一语义矩阵与字符向量矩阵的转置矩阵相加得到第二语义矩阵,将第二语义矩阵输入至多头自注意力机制模型;如图8所示,第二语义矩阵共n行m列,第二语义矩阵的每个行向量对应表征一个待识别文本数据中的字符,第二语义矩阵经过与多头自注意力机制模型的参数矩阵相乘,生成q、k和v,计算公式如下:h为第二语义矩阵,i为多头自注意力机制模型的第i个头,q、k和v均为模型的参数矩阵,可通过模型训练得到,每个头各自对应一组参数矩阵qi、ki和vi,每个头也因此各自对应一组中间矩阵qi、ki和vi。
[0051]
例如,现有3个头,即i=3,则每个头分别对应三组参数矩阵,分别为{q1、k1、v1}、{q2、k2、v2}和{q3、k3、v3},根据上述公式,计算每个头各自对应的中间矩阵,分别为{q1、k1、v1}、{q2、k2、v2}和{q3、k3、v3},即第1个头对应第一组中间矩阵{q1、k1、v1},第2个头对应第二组中间矩阵{q2、k2、v2},第3个头对应第三组中间矩阵{q3、k3、v3}。应该理解的是,这里所说的每个头都对应一个完整的第二语义矩阵,由于对应的参数矩阵不同,因而对应的中间矩阵不同。
[0052]
利用每组对应的qi、ki和vi,根据如下公式计算:其中,i为第i个头,j为第j个字符,n为字符的个数,softmax代表归一化,通过上述公式计算得到权值,将经过归一化得到权重,令乘以参数矩阵并求和,将所有求和的值相加得到第i个头的第j个字符的注意力值。
[0053]
例如,现有字符个数n=3,假设此处有4个头,当i取1时,j和o分别从1取到3,则第1个头的第1个字符向量计算有;第1个头的第2个字符向量计算有;第1个头的第3个字符向量计算有,以及相对应的可计算得到和。当i分别取2、3和4时,j和o仍然分别从1取到3,计算方式同上。
[0054]
以此类推,应该理解的是,计算第i个头的第j个字符时,的o取1至n,的j对应当前第j个字符,的o取1至n;再举个例子,仍然假设第二语义矩阵的字符个数为3,即n=3,有4个头,计算第1个
头的第1个字符的注意力值时,取和,取以及取和,分别计算出和,以进行后续注意力值的计算。
[0055]
计算第1个头的第2个字符的注意力值时,取和,取以及取和,分别计算出和,以进行后续注意力值的计算。
[0056]
计算第4个头的第3个字符的注意力值时,取和,取以及取和,分别计算出和,以进行后续注意力值的计算。
[0057]
然后将每个头输出的第j个字符对应的注意力值拼接,获得输出 ,形成注意力矩阵。因此,假设仍以字符个数n=3,4个头为例,形成的注意力矩阵则为,。
[0058]
可以理解的是,参数矩阵和中间矩阵的组数对应头数,第i个头就是第i组,行向量对应字符,第j个字符就是第j个行向量。
[0059]
205,将注意力矩阵输入全连接网络层;如图9所示,全连接网络层包括两层全连接层和分类器,注意力矩阵通过两层全连接层的计算,将得到的结果通过分类器进行输出,此处的分类器本质上为softmax函数,用于对得到的结果归一化以得到0-1范围之间的权重,一个权重对应于一个类别,所有类别的权重的和为1。权重值即为概率值,满足条件为选取最大的概率值,因此,获取概率值最大的位置,根据类别定义字典找到该位置对应的短信的类别,以判断输入的注意力矩阵所对应的短信文本数据的短信的类别。
[0060]
全连接网络层预先训练好,用于分类。事先采集多条短信文本数据作为训练集,根据需要设置的短信类型即短信类别,采集不同短信类别对应的特征,直到全连接网络层训练完毕。
[0061]
例如,定义5种短信类别,分别为生活短信、骚扰短信、平台推广、游戏充钱和刷单,假设获取的短信文本数据属于平台推广的短信类别,那么最终得到的五个概率值中,找到数值最大的概率值,假设这个最大的概率值位于第三位,则从预先设定的类别定义字典中找到第三位,即平台推广。
[0062]
再例如,除区分正常短信和诈骗短信外,为更细致的识别诈骗短信的类别,可为短信定义更多的类别,如生活短信、验证码短信、快递短信、正常推广、推销和游戏等。
[0063]
本公开将经过预处理的待识别文本传入bert向量化抽取层后,利用前向和后向的双向gru模型从待识别文本的语序以及多头自注意力机制模型的加权求和,挖掘了短信文本数据的内在和隐藏的语义特征,最终通过全连接网络层将概率值输出,通过对比输出的概率值确定诈骗短信的类别。
[0064]
与现有的通过关键词筛选进行训练的模型相比,本公开通过对短信文本数据挖掘了深层语义,可识别出仅通过关键字难以识别出的异常短信。例如,对于赌博类型的短信,
通过语义的抽取,可得到添加了联系方式、点击网址、等隐含的语义信息,避免了特意更改表达方式而对关键词进行规避的行为。再例如,对于假冒类型的短信,通过上述处理能够得到与正常官方短信不同的表达方式、表达语义、短信内联系方式或链接的差异性,从而识别出正常的官方短信还是仿冒的短信。当遇到采采用拼接字、合体字、同音字、同型字或添加特殊符号进行隔断等迷惑性手段的短信文本数据时,通过语义的提取能够识别出异常。
[0065]
应该理解的是,随着诈骗短信内容变化的丰富,本公开需要周期性的搜集相关的诈骗短信文本数据,用于作为上述模型的训练集,以保证对短信文本数据类别进行识别的准确率。
[0066]
本公开一实施例还提供了一种诈骗短信类别的识别装置,如图10所示,该装置包括:获取模块10,用于获取短信的待识别文本,所述待识别文本由多个字符组成,所述字符包括特殊符号、标点符号、运算符号和/或文字;处理模块20,用于从所述待识别文本中提取每个字符的字符向量,所述字符向量组成字符向量矩阵;所述处理模块20,还用于将转置后的所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,拼接每个字符对应的所述前向隐向量和所述后向隐向量,得到每个字符对应的第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;所述处理模块20,还用于将所述第一语义矩阵与所述字符向量矩阵的转置相加,得到第二语义矩阵;所述处理模块20,还用于将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据多组所述中间矩阵得到对应的多个注意力值,将每个字符对应的多个所述注意力值进行拼接,得到每个字符对应的第二拼接向量,所有字符对应的所述第二拼接向量组成注意力矩阵;识别模块30,用于对所述注意力矩阵进行识别,得到所述短信对应各类别的概率值,确定所述概率值满足条件的类别为所述待识别文本的短信的类别。
[0067]
所述获取模块10,还用于获取短信文本数据;对所述短信文本数据去除停用词;对去除了停用词的短信文本数据进行文本掩码。
[0068]
所述获取模块10,还用于对所述短信文本数据去除停用词包括去除助词、语气词和日期。
[0069]
除了上述方法和装置以外,本技术的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本技术各种实施例的方法中的步骤。
[0070]
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0071]
此外,本技术的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本技术各种实施例的方法中的步骤。
[0072]
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0073]
以上结合具体实施例描述了本技术的基本原理,但是,需要指出的是,在本技术中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本技术的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本技术为必须采用上述具体的细节来实现。
[0074]
本技术中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
[0075]
还需要指出的是,在本技术的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本技术的等效方案。
[0076]
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本技术。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本技术的范围。因此,本技术不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0077]
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本技术的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
技术特征:
1.一种短信类别的识别方法,其特征在于,包括:获取短信的待识别文本,所述待识别文本由多个字符组成,所述字符包括特殊符号、标点符号、运算符号和/或文字;从所述待识别文本中提取每个字符的字符向量,所述字符向量组成字符向量矩阵;将转置后的所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,拼接每个字符对应的所述前向隐向量和所述后向隐向量,得到每个字符对应的第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;将所述第一语义矩阵与所述字符向量矩阵的转置相加,得到第二语义矩阵;将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据多组所述中间矩阵得到对应的多个注意力值,将每个字符对应的多个所述注意力值进行拼接,得到每个字符对应的第二拼接向量,所有字符对应的所述第二拼接向量组成注意力矩阵;对所述注意力矩阵进行识别,得到所述短信对应各类别的概率值,确定所述概率值满足条件的类别为所述待识别文本的短信的类别。2.根据权利要求1所述的短信类别的识别方法,其特征在于,所述获取短信的待识别文本,包括:获取短信文本数据;对所述短信文本数据去除停用词;对去除了停用词的短信文本数据进行文本掩码。3.根据权利要求2所述的短信类别的识别方法,其特征在于,所述对所述短信文本数据去除停用词包括去除助词、语气词和日期。4.根据权利要求2所述的短信类别的识别方法,其特征在于,所述文本掩码包括对网址、微信号、手机号和qq号的非运营商、地区以及网址的部分,采用替代符号的方式进行替换。5.根据权利要求1至4任一项所述的短信类别的识别方法,其特征在于,所述将转置后所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,包括:对所述字符向量矩阵从前向计算第n个字符的前向隐向量时,根据从前往后开始的第1至第n个字符对应的所述字符向量,计算出第n个字符的前向隐向量;对所述字符向量矩阵从后向计算第n个字符的后向隐向量时,根据从后往前开始的第1至第n个字符对应的所述字符向量,计算出第n个字符的后向隐向量。6.根据权利要求1所述的短信类别的识别方法,其特征在于,所述将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,包括:获取多组参数矩阵,每组所述参数矩阵包括q、k和v三个所述参数矩阵,通过将每组所述q、k和v分别乘以所述第二语义矩阵,得到对应的每组所述中间矩阵,每组所述中间矩阵包括q、k、v三个所述中间矩阵。7.根据权利要求6所述的短信类别的识别方法,其特征在于,所述根据多组所述中间矩阵得到对应的多个注意力值,包括:根据所述中间矩阵,按如下公式得到每个字符的所述注意力值:
;=softmax()=self-attention(q,k,v)=*)所述q、k和v为所述中间矩阵,所述i为第i组,所述j为第j个字符,所述n为所述字符的个数,所述i、所述j和所述o依次从1取到n,所述softmax为归一化,所述为每个字符的所述注意力值。8.一种短信类别的识别装置,其特征在于,包括:获取模块,用于获取短信的待识别文本,所述待识别文本由多个字符组成,所述字符包括特殊符号、标点符号、运算符号和/或文字;处理模块,用于从所述待识别文本中提取每个字符的字符向量,所述字符向量组成字符向量矩阵;所述处理模块,还用于将转置后的所述字符向量矩阵从前向和后向分别计算每个字符的前向隐向量和后向隐向量,拼接每个字符对应的所述前向隐向量和所述后向隐向量,得到每个字符对应的第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;所述处理模块,还用于将所述第一语义矩阵与所述字符向量矩阵的转置相加,得到第二语义矩阵;所述处理模块,还用于将所述第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据多组所述中间矩阵得到对应的多个注意力值,将每个字符对应的多个所述注意力值进行拼接,得到每个字符对应的第二拼接向量,所有字符对应的所述第二拼接向量组成注意力矩阵;识别模块,用于对所述注意力矩阵进行识别,得到所述短信对应各类别的概率值,确定所述概率值满足条件的类别为所述待识别文本的短信的类别。9.根据权利要求8所述的短信类别的识别装置,其特征在于,包括:所述获取模块,还用于获取短信文本数据;对所述短信文本数据去除停用词;对去除了停用词的短信文本数据进行文本掩码。10.根据权利要求9所述的短信类别的识别装置,其特征在于,包括:所述获取模块,还用于对所述短信文本数据去除停用词包括去除助词、语气词和日期。
技术总结
本公开提供了一种短信类别的识别方法及装置,包括:获取短信的待识别文本,待识别文本由多个字符组成,字符包括特殊符号、标点符号、运算符号和/或文字;从待识别文本中提取字符向量组成字符向量矩阵;将转置后的字符向量矩阵计算每个字符的前向隐向量和后向隐向量,拼接前向隐向量和后向隐向量,得到第一拼接向量,所有字符对应的第一拼接向量组成第一语义矩阵;将第一语义矩阵与字符向量矩阵的转置相加,得到第二语义矩阵;将第二语义矩阵与多组参数矩阵相乘,得到多组中间矩阵,根据多组中间矩阵得到对应的多个注意力值,多个注意力值组成注意力矩阵;对注意力矩阵进行识别,得到概率值,确定概率值满足条件的类别为待识别文本的短信的类别。本的短信的类别。本的短信的类别。
技术研发人员:刘登涛 孙悦 蔡准 郭晓鹏
受保护的技术使用者:北京芯盾时代科技有限公司
技术研发日:2022.01.28
技术公布日:2022/3/8