APP下载

基于BERT和混合神经网络的诈骗电话文本识别

2022-11-25许鸿奎周俊杰姜彤彤卢江坤张子枫胡文烨

计算机技术与发展 2022年11期
关键词:特征提取向量卷积

许鸿奎,周俊杰,姜彤彤,卢江坤,张子枫,胡文烨

(1.山东建筑大学 信息与电气工程学院,山东 济南 250101;2.山东省智能建筑技术重点实验室,山东 济南 250101)

0 引 言

在互联网和移动通讯技术飞速发展的今天,科技在给人们的生活带来了极大便利的同时,也给从事电信诈骗的犯罪分子可乘之机。2020年以来,全国公安机关共破获电信网络诈骗案件25.6万起,抓获犯罪嫌疑人26.3万名,拦截诈骗电话1.4亿个、诈骗短信8.7亿条,为群众直接避免经济损失1 200亿元。2019年上半年公安部、最高检发布《电信网络诈骗治理研究报告》,在这个报告的统计中,排名前十的诈骗手法分别为交易诈骗、兼职诈骗、交友诈骗、返利诈骗、低价利诱诈骗、金融信用诈骗、仿冒诈骗、色情诈骗、免费诈骗和盗号诈骗,这些手段被交叉运用在电话诈骗之中,颇具威胁[1]。

诈骗电话文本在本质上是一些包含诈骗语义的文本内容,对电话诈骗文本的识别属于自然语言处理领域的范畴。文本分类[2]是自然语言处理中的一项任务类型,从20世纪50年代开始有人便开始了相关研究。文本分类方法主要分为两个大类:传统的机器学习方法和基于深度学习的算法。传统的机器学习方法包括支持向量机(Support Vector Machine,SVM)[3]、朴素贝叶斯等;基于深度学习的方法包括卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)和长短时记忆网络[4](Long Short-Term Memory,LSTM)等。

文本的特征提取直接影响到文本的分类准确率,传统的方法主要采用手动制作的特征,这主要依赖设计者的一些先验知识,这在效率和特征表示的丰富程度上都有所欠缺。深度学习在自然语言处理领域的发展为文本特征提取带来了更为有力的支持,它可以从大量数据中自动提取特征,通过大量的数据训练,挖掘出难以检测的特征,在效率和特征表示丰富程度上都要优于手工特征。

文本的词嵌入表示在自然语言处理的过程中极为重要,直接关系到下一步网络对文本特征的提取,从而影响最终模型输出的结果。词的分布式表示方法主要分为静态词嵌入和动态词嵌入两种方式。静态词嵌入方式利用Word2vec、Glove(Global Vectors)等词嵌入工具得到词语的嵌入向量,由于是静态的,不能解决一词多义的问题;动态的词嵌入方式如ELMo(Embedding from Language Model)、BERT(Bidirectional Encoder Representation from Transformers)等,能够根据上下文的内容及时调整向量表示,是特征较为丰富的一种词表示方式。

综上所述,该文采用词嵌入BERT和混合神经网络BiLCNN,提出了电话诈骗文本识别模型BERT+BiLCNN,实现了对电话文本的识别,主要贡献可总结为:

(1)构建了电话诈骗文本数据集;

(2)探究了几种不同的词嵌入方式,通过实验分析比较了它们的性能;

(3)提出了一种识别电话诈骗文本的混合神经网络模型。

1 相关研究

基于电话文本的诈骗识别本质上属于自然语言处理(Natural Language Process,NLP),NLP中词的表示方法是最基本的问题。基于神经网络的分布表示,又称为词嵌入,是最为有效的方法。

Bengio等人在2003年提出神经网络语言模型(Neural Network Language Model,NNLM)[5];2013年Mikolov等人[6]提出了词嵌入向量工具Word2Vec,它包括两种不同的训练方式CBOW(Continuous Bag-of-words)、Skip-Gram,CBOW用一个单词的上下文来预测该单词,Skip-Gram用一个单词来预测该单词的上下文,如图1所示;与此同时,斯坦福大学的Pennington等提出GloVe算法[7]同样取得了出色的成绩。Word2Vec、GloVe属于静态的词嵌入方式,较传统的词嵌入方式如One-hot、TF-IDF[8],解决了向量维度过高和表达语义不准确的问题,以较低维度的稠密向量将文本的语义以向量形式表示出来,极大地提升了分类的结果。但它同样存在一些问题,这种方式经过训练之后形成的向量表示是固定不变的,不能解决一词多义的问题。

在此之后,分布式表示出现了动态词嵌入的研究,Peters等人[9]在2018年提出了ELMo模型,ELMo采用双向的LSTM作为特征提取器,ELMo的本质思想为通过语言模型事先学习某个单词的词嵌入,倘若此时单词为多义词并不能进行区分,当不影响后续的使用过程,在实际的使用过程中,单词已经具备了特定的上下文,以此来调整单词的嵌入;OpenAI实验室的Alec Radford等人在2018年提出了GPT(Generative Pre-Training)[10]模型,GPT采用特征提取Transformer,Transformer由谷歌团队在2017年提出,主要采用了多头注意力机制;同样在2018年谷歌团队提出了BERT模型[11],与ELMo不同的是它采用Transformer作为特征提取器[12],与GPT不同的是它采用双向的Transformer结构,BERT以富含信息的向量形式表示文本的特征,同时解决了一词多义的问题。鉴于BERT出色的结构和效果,该文选择BERT作为电话诈骗文本的词嵌入方式。

文献[13-17]均采用词嵌入的方式处理文本分类领域的各类任务;文献[18]利用BERT改进Skip-Gram的词嵌入方式,使得文本的表示不仅包含句法和表面特征,还包含来自大规模预训练的丰富知识;周胜利等人[19]提出基于BERT迁移学习模型的新型网络电信诈骗平台预警方法,使用微调模型来预测和分类新的网络电信犯罪;文献[20]提出标签嵌入的双向注意模型提高了BERT的文本分类框架性能;文献[21]将BERT应用于处理公共安全信息文本中;文献[22]提出一种有效的截断方法,以应对BERT处理长文本的局限性,利用上下文化的BERT词嵌入有效的编码输入序列,在文本分类问题上表现出色。

该文采用混合神经网络BiLCNN对词嵌入向量进一步处理,Weston等人在2008年论述了卷积神经网络在自然语言处理中的应用[23];2014年,Kim在通过卷积神经网络对句子的分类研究之中提出了textCNN模型[24],该模型只采用一层卷积网络便取得了出色的效果;文献[25]通过构建多层卷积神经网络并引入注意力机制应用于临床命名实体识别;文献[26]基于多尺度的卷积神经网络和长短时记忆网络的组合模型,在多任务的情绪分类方面取得了出色的表现。

目前针对电话诈骗文本方面的研究较少,在以上研究中大多是基于非诈骗类文本来解决所研究的问题。因此,该文首先构建了电话诈骗文本数据集,结合动态的词嵌入方式BERT以及混合神经网络,基于文本分类的方法,提出了一种能够识别诈骗文本的BERT+BiLCNN模型。BERT词嵌入方式相比于Word2Vec、ELMo等词嵌入方式,对诈骗文本分类的准确率分别提高3.19%、1.89%,混合神经网络相比于卷积神经网络在准确率上又有了进一步的提升,证明了BERT+BiLCNN模型在诈骗电话文本识别上的有效性。

2 BERT词嵌入和混合神经网络模型

该文采用BERT+BiLCNN作为电话诈骗文本识别模型,首先介绍整个模型的工作流程,其次介绍词嵌入模型BERT,最后介绍混合神经网络对文本特征的提取,经过Softmax层得到电话文本的诈骗识别概率。

2.1 BERT+BiLCNN模型

该文采用文本分类方法对诈骗电话文本进行识别,提出了一种基于词嵌入和混合神经网络的融合模型BERT+BiLCNN,利用BERT强大的词表示能力对诈骗文本进行表示。首先将已经训练好的词嵌入模型Bert-base,Chinese作为字向量送入模型当中,经过诈骗电话文本训练之后获得诈骗文本的词嵌入表示,这些表示包含着诈骗文本的上下文关系、字序列信息、语法语义信息和深层的模型结构信息,通过混合神经网络充分提取出文本的时序特征和局部相关特征并将其融合,最后经Softmax层对诈骗电话文本进行分类。BERT+BiLCNN的模型流程如图1所示。

2.2 BERT模型

BERT采用双向的Transformer结构进行特征提取,这使得该模型的性能大大提升,BERT的网络模型结构如图2所示。

从图2可以看出,初始向量E1~En经双向的网络结构(Transformer)形成了具有特征信息的T1~Tn特征向量。

BERT输入表示是三个不同的嵌入单元,它们是词语嵌入(Token Embeddings)、分段嵌入(Segment Embeddings)和位置嵌入(Position Embeddings),BERT的输入表示如图3所示。输入的文本在经过分词之后,将[CLS]加入到分词结果的开头,[SEP]加入到分词结果的结尾,进行词语块嵌入;分段嵌入则是为了区分字词是否来自同一个句子;Transformer的Encoder层无法捕获文本的位置信息,因此需要位置嵌入来对其进行表示。

2.3 混合神经网络

文本数据在经过BERT的词向量表示之后,采用混合神经网络来对其进行特征提取,分别经过BiLSTM和CNN神经网络形成特征向量,之后对其进行特征融合,融合之后的向量既包含文本的局部相关特征、距离时序特征,将融合特征向量送入Softmax层,从而输出得到文本的诈骗概率。图4为混合神经网络的整体结构。

2.3.1 BiLSTM

长短时记忆网络(LSTM)是循环神经网络的一种变体,它可以学习句子中的序列信息并将其记忆存储,这在很大程度上可以缓解梯度消失的问题。在LSTM的内部有着独特的“门”结构,这种结构可以自动筛选信息,决定信息的存留。LSTM由输入门、遗忘门、输出门三个记忆单元组成,这是其核心部分,“遗忘门”控制是否保存前一时刻的细胞信息Ct-1,“输入门”控制是否保留当前时刻的细胞信息Ct,“输出门”控制是否输出新的细胞信息,其工作过程表示如下:

ft=σ(Wf·[ht-1,xt]+bf)

(1)

it=σ(Wx·[ht-1,xt]+bi)

(2)

Vt=tanh(Wc·[ht-1,xt]+bc)

(3)

Ct=ft*Ct-1+it*Vt

(4)

Ot=σ(Wo·[ht-1,xt]+bo)

(5)

ht=Ot*tanh(Ct)

(6)

其中,h表示输出向量,W、b分别表示单元的权重向量和偏置值,σ(·)表示sigmoid激活函数,tanh(·)表示双曲正切激活函数。该文采用BiLSTM提取句子的双向特征,形成的向量具有双向的时序特征表示。BiLSTM的输出如下式所示:

(7)

在某一时刻i,前向和后向的特征向量按位进行加操作后形成了BiLSTM输出向量。

2.3.2 CNN

在一个句子T中,假设词向量在句子中的表示分别为t1,t2,…,tn,可以得到表示句子的矩阵T,即T=[t1,t2,…,tn],T∈Rd×n,其中n为词向量的个数,d为词向量的维数。假设采用卷积核K对矩阵进行卷积操作,K∈Kd×h,h表示为卷积核的宽度,则用下面的公式表示采用卷积核K对句子T的卷积运算:

gi=tanh(+b)

(8)

其中,<·>为卷积计算,gi为所得卷积特征,gi∈R,i∈{1,2,…,n-h+1}。得到卷积特征之后,送入池化层,进行池化运算,采用下列公式:

(9)

其中,yi∈R。

使用不同尺度的卷积核K可以得到不同的输出yi,假设存在s个不同的卷积核,K1∈Kd×h1,K2∈Kd×h2,…,Ks∈Kd×hsK,在经过卷积操作后得到s个不同的输出y1,y2,…,ys。连接这些输出得到不同尺度的融合特征Y=[y1,y2,…,ys],Y∈RS。

2.3.3 Softmax分类

词嵌入向量经过BiLSTM网络后形成具有双向时序特征的向量表示,经过CNN网络形成具有局部词语间相关特征的向量表示,经过向量拼接操作形成具有丰富特征的融合特征向量,如下式所示:

Z=Cat(H,Y)

(10)

其中,H为BiLSTM的输出向量,Y为CNN的输出向量,融合特征向量经线性层处理之后,利用Softmax函数实现分类:

(11)

3 实 验

3.1 实验环境

实验基于Windows10 64位操作系统,CPU为Intel(R) Core(TM) i7-10700H CPU @2.90 GHz,内存容量为16 GB,GPU为NVIDIA GeForce RTX 2060,显存容量为6 GB,Python版本为3.7.9,基于Pytorch深度学习框架。

3.2 数据集

实验所用数据来自百度、知乎、微博、搜狐等各大网站,采用爬虫以及人工编写修改的方式来构建数据集,内容包括金融、教育、邮递、银行、交友、刷单、中彩票、冒充警察等多类诈骗事件,几乎涵盖了所有的诈骗类型。在每一条数据集的末尾处采取标签标记的方式,将电话文本分为诈骗类和正常类,分别以fraud、normal表示。数据集一共10 166条,选取6 000条用作训练集,3 000条用作验证集,1 166条用作测试集。表1为数据集的详细情况。

3.3 评价标准

采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1测度值来对模型进行评价,公式如下所示:

(12)

(13)

(14)

(15)

其中,TP表示诈骗样本预测为诈骗,TN表示正常样本预测为正常,FP表示正常样本预测为诈骗,FN表示诈骗样本预测为正常。

表1 数据集统计

3.4 参数设置

表2为本次实验各项参数。

表2 实验参数设置

3.5 实验结果

各模型的评价指标结果如表3所示。

表3 各模型评价指标结果 %

为了更直观地表示各模型的评价指标结果,对数据进行了柱状图表示,如图5所示。

(1)从结果中可以看出,BERT+CNN组合模型的准确率、精确率、召回率、F1测度值都要高于Word2Vec+CNN、ELMo+CNN模型,其中BERT+CNN的准确率比ELMo+CNN高出1.89%,比Word2Vec+CNN高出3.19%,在F1测度值上分别比ELMo+CNN、Word2Vec+CNN高出1.91%、3.19%,以此可以看出BERT作为词嵌入的优越表现。

(2)ELMo+CNN在准确率上比Word2Vec+CNN高出1.28%,在F1测度值上比其高出1.28%,ELMo是一种动态的词嵌入方式,可以根据上下文动态地调整自己的词嵌入方式,而Word2Vec是一种静态的词嵌入方式,其嵌入方式是固定的,从中可以看出动态词嵌入的优越性。

(3)BERT+CNN在准确率上比ELMo+CNN高出1.89%,在精确率、召回率、F1测度值上分别比其高出2.23%、1.73%、1.91%,ELMo采用双向的LSTM作为特征提取器,以此来表示文本特征,而BERT则采用双向的Transformer结构,其基于attention机制,能够更加丰富地提取文本的特征表示,因此在动态词嵌入的表示上BERT具有更加优秀的表现。

(4)BERT+BiLCNN相较于BERT+CNN性能又有了进一步的提升,在准确率上比其高出0.95%,在精确率、召回率、F1测度值上分别比其高出0.58%、1.25%、1.00%,对比于Word2Vec+CNN、ELMo+CNN在准确率上分别比其高出4.12%和2.84%。从实验数据上可以看出,BERT+BiLCNN在诈骗电话文本的识别上具有出色的表现。BiLSTM同时对文本的上下文进行特征提取,经该网络处理之后的特征向量具有双向时序特征,CNN对于文本局部特征进行提取,混合神经网络BiLCNN融合了BiLSTM以及CNN两部分特征,使得最终的特征向量具有了丰富的特征表示。

4 结束语

该文首先通过百度、知乎、搜狐、腾讯等各种互联网资源构建了中文诈骗电话文本数据集,采用文本分类的方法,基于词嵌入和混合神经网络对中文诈骗电话文本进行识别,在词嵌入上探究了静态词嵌入Word2Vec和动态词嵌入ELMo、BERT对于诈骗电话文本的表示,通过混合神经网络对句子中词语、短语之间的相关信息以及文本的上下文信息进行捕捉,丰富了文本特征,以便更好地实现文本分类。在诈骗电话文本数据上的实验,动态词嵌入模型BERT+CNN表现最为出色,在准确率、精确率、召回率、F1测度值上都要高于其他两种词嵌入模型,而模型BERT+BiLCNN经过混合神经网络的特征提取,各项评价指标又有了进一步的提升,由此采用BERT+BiLCNN模型实现了对中文诈骗电话文本的识别。该研究工作也存在着一定的不足之处,采用混合神经网络的输出进行拼接处理得到最终的特征向量,今后会考虑采用更加出色的特征融合方式。同时今后会在扩大数据集上多做工作,同时关注社会上的诈骗案件,更新数据集中的诈骗类型与套路。今后也将尝试BERT与其他的模型的组合来探究对诈骗电话文本的识别。

猜你喜欢

特征提取向量卷积
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
微动目标雷达特征提取、成像与识别研究进展
基于傅里叶域卷积表示的目标跟踪算法