何 泉,孙百兵
(中国人民公安大学信息网络安全学院,北京 100038)
网络时代,社交媒体高速发展,带来便利的同时也带来了诸多挑战。依据新浪微博发布的2020 年微博用户发展报告,新浪微博用户月活跃人数已达到5.11 亿,是中国最大社交媒体之一,其它中文社交媒体诸如B 站、小红书等针对不同群体的平台也有着大量活跃用户,现如今社交媒体已经与人们的日常生活密不可分。海量社交媒体文本也伴随产生,其中不乏大量匿名虚假信息、不实言论,严重干扰网络秩序,影响人们的生产生活。
通过对社交媒体文本进行作者识别有助于侦破网络违法犯罪,当前针对中文社交媒体文本作者身份识别的研究不足,中文社交媒体文本数量大、语句简短、语义表达灵活、特征提取困难。本文将使用预训练模型将中文社交媒体文本转化成高质量向量,结合BiGRUCapsNet 混合模型实现中文社交媒体文本作者身份识别任务并加以实验,证明其有效性。
文本作者身份识别属于文体风格的归纳分析任务,1887年Mendenhall[1]最早开始了对文学作品特征的分析,他主要按照单词长度划分作品作者;Yule[2]对不同作者的随笔、传记分析后,按照句子长度及频率特征进行作者划分;Thisted 等[3]对莎士比亚作品的识别以词汇量和词汇使用频率作为特征;Zhang 等[4]针对路透社语料采用多层面文体特征集证明依据依存关系特征可以获得较好作者识别效果,从一元特征到多元、多层次特征,文本特征都需要人工选择提取。
深度学习自主提取特征为作者识别任务开拓新方向,研究开始尝试使用深度学习来进行作者识别,例如Ruder[5]引入CNN 网络提取文本信息,识别不同作者的文体特征;Bagnall[6]采用RNN 网络替换CNN 网络进行作者识别等,这些研究方法通过深度学习模型自主提取文本特征,改进了传统人工提取特征的方法,并取得了良好的效果。
目前多数研究主要基于英文语料或者针对长文本,集中于中文社交媒体文本的作者识别研究较少,主要有吕英杰等[7]结合中文UGC 特点抽取词汇、句法、结构和内容特征,运用文本分类算法在中文BBS 论坛文本和博客文本上验证了有效性;徐晓霖等[8]提出CABLSTM 深度学习模型进行中文微博作者识别任务;张翼翔等[9]结合采用双向门控循环单元结合注意力机制在短文本作者识别的准确率上取得较好成绩。
上述针对中文社交媒体作者识别的研究中,结合深度学习模型提取文本特征成为了主流方法并取得一定效果。但对于中文社交媒体文本,文本简短、句法表示灵活,仍存在文本特征提取困难的问题,目前深度学习采取的主流模型,如卷积神经网络模型中的池化操作造成的信息丢失、文本嵌入层转化的词向量不能很好地表示社交媒体文本等问题影响着作者识别的效果。本文尝试从改善词向量表示质量和提高文本分类效果两个思路解决上述问题,提出了采用Bert 预训练模型生成词向量,输入BiGRU 网络和CapsNet网络的混合模型来完成社交媒体文本作者识别任务。
本文提出一种基于BiGRU-CapsNet 的混合神经网络文本分类模型,模型结构分为4层,分别是:文本输入层、BiGRU 层、CapsNet 层和softmax分类层,模型结构如图1所示。
图1 BiGRU-CapsNet模型结构
文本输入层:社交媒体文本短,作者表达灵活,语义特征提取存在较大难度,本层采用无需复杂的特征设计的Bert 预训练模型,将中文文本序列转化为高质量特征词向量。
BiGRU 层:双向GRU 在保有BiLSTM 功能的基础上,精简结构,参数更少,训练效率更高,针对学习长期依赖任务有好的效果,适用于社交媒体文本特征提取。
CapsNet 层:CapsNet对BiGRU 网络输出的文本浅层特征进行进一步的特征提取。CapsNet输出为矢量形式的胶囊,包含更全面的文本特征。
Softmax 分类层:最后将CapsNet 提取得到的特征向量经全连接层输入softmax层进行分类,完成短文本作者的识别。
Devin 等[10]提出了预训练Bert 模型,Bert 集合了Word2Vec、ELMo 和GPT 等模型的优点。相较于ELMo,Bert 使用双向编码的Transformer Encoder[11]而不是双向LSTM 作为特征提取器,语义提取能力更强。Bert 主要提出了使用掩码语言模型(MLM)训练词的语义理解能力以及使用下一句预测(NSP)训练句子之间的理解能力。
MLM 方法的思想来源于完形填空任务和CBOW 模型,它是随机去掉句子中15%的词汇,然后通过其它词汇来预测被去掉的词汇是什么,被去掉的词汇用[mask]这样的一个标记代替,这些随机去掉的词汇称作掩码词。但是这样设计MLM 的训练方法存在弊端:在模型微调训练阶段或模型推理(测试)阶段,输入的文本中并没有[mask],进而导致产生由训练和预测数据偏差导致的性能损失,为了削弱[mask]符号的影响,训练样本中15%的词被选做掩码词后,这些掩码词按比例进行三类替换:
(1)80%的训练样本中的掩码词就用[mask]符号盖住。
(2)10%的训练样本中的掩码词保持不变。
(3)10%的训练样本中的掩码词用任意词替代。
NSP 方法是为了获得句子之间的语义联系,具体方式为输入由两个句子构成的语句,训练样本中50%的语句是连续句对,50%的语句是随机句对。语句首句开头打上[CLS]符号,结束打上[SEP]符号,两个句子间用[SEP]符号分隔。如表1所示。
表1 NSP方法
[CLS]标签用于表示类别,[CLS]为1时,表示语句为连续句对;[CLS]为0 时,表示语句为随机句对。通过训练[CLS]编码后的输出标签,BERT可以学会捕捉两个输入句对的文本语义。
Bert 模型参数众多、训练成本高昂,但是现存有许多已经预训练好的Bert 模型,可以直接使用这些预训练模型进行微调训练来获取下游任务最佳的词向量表示。
GRU 和LSTM 是RNN 网络的两种变形结构。相较于RNN 模型,GRU 有效解决了循环神网络中存在的长时依赖和反向传播中的梯度消失问题;相较于LSTM 模型,GRU 结构精简,GRU使用更新门(update gate)替换LSTM 中的遗忘门与输入门,输出门更改为重置门(reset gate)。GRU在保持与LSTM模型功能一致的情况下减少了门结构,所需参数更少,节约了时间成本。GRU结构如图2所示。
图2 GRU结构图
首先t时刻的输入xt和上层节点的隐状态ht-1以及权重W对r门(重置门)和z门(更新门)的门控状态进行更新,再通过sigmoid 函数获得门控信号,公式(1)和(2)。接着将包含之前节点所有信息的ht-1通过r门(重置门)重置得到ht-1',公式(3),再通过公式(4)利用tanh函数将ht-1'与xt拼接得到h',最后“更新记忆”,公式(5),使用一个门控z同步进行了遗忘和选择记忆,(1-z)·ht-1表示对ht-1的选择性遗忘,z·h'表示对ht进行选择性记忆,得到最终输出ht,包含了t时刻的所有有效信息。
单向GRU 无法兼顾后向的序列信息,Bi⁃GRU 网路是由前后两个方向的GRU 单元组成,可以更好理解文本语义。公式(6)表示t时刻前向GRU 输出,公式(7)表示t时刻后向GRU 单元输出,公式(8)表示BiGRU 在t时刻将两个方向输出拼接形成的最终输出。
胶囊网络(CapsNet)是Sabour 等[12]在卷积神经网络(CNN)的基础上提出的一种空间感知能力更强的神经网络,使用向量神经元替换了标量形式的神经元,从而能够表达更丰富的信息;另一方面,CapsNet 使用动态路由算法替换了CNN 中的池化层,可以有效避免道路空间关系的丢失,CapsNet动态路由如图3所示。
图3 动态路由示意图
向量神经元的全连接与标量神经元的全连接相似,首先利用公式(10)将低层输入向量ui乘上权重矩阵Wij加工得到新的输入向量,然后通过公式(11)将乘上权重cij再求和得到加权和Sj,最后通过非线性函数得到高层向量输出Vj,如公式(12),特殊点在于cij是通过动态路由算法得到的,首先初始化bij为0,通过公式(9)将bij用softmax 函数转化成初始概率cij,然后通过公式(13)计算高层向量输出Vj和低层输入向量的关系,当高层向量输出Vj和低层输入向量方向趋于一致时,bij增大从而增大权重cij;当高层向量输出Vj和低层输入向量方向趋于相反时,bij减小从而减小权重cij,通过多次迭代路由算法对权重cij进行动态调整,得到最终的高层向量输出Vj。
以上公式中,i表示低层输入向量神经元的下标,j、k表示高层输出向量神经元的下标,W是参数矩阵,b和c的值由动态路由算法确定,非线性函数是压缩函数,这是CapsNet特有的激活函数。
本文数据集来自微博上爬取的社交媒体文本数据,首先去除数据中非中文文本数据,其次去除转发微博以及30 字以内的文本数据,字数过少难以提取有效特征。人工挑选接近2000条发文量的10 名作者,作者名作为该用户发文内容标签,数据集总数为20190,训练集数量为16152,验证集数量为2019,测试集数量为2019。训练集10 位作者的微博文本数量如表2所示,微博数据集截取内容如表3所示。
表2 作者文本数据
表3 作者文本数据内容
本文的实验平台为64 位Linux 操作系统,版本号为Ubuntu 16.04.6 LTS,GPU 为NVIDIAGeForce RTX 3090,搭配处理器Intel(R)Core(TM)i9-10920X@3.50 GHz,内存为32 GB。使用的Bert 模型为哈尔滨工业大学公布的中文预训练模型BERT-wwm。
在NLP 中通常用精准度(Precision)、召回率(Recall)和F1 值(F1Score)作为常用评判模型优劣性标准。设总的测试集个数为TP+TN+FP+FN,其各自代表含义如表4所示。
表4 评估指标参数相关含义
各指标定义公式如下:
进行两组实验证明本文提出模型的有效性。第一组实验通过将Bert 中文预训练模型与Word2Vec、ELMO 对比体现不同词向量表示模型对作者识别效果的影响,实验结果如表5 所示。实验结果表明,不同词向量表示方式对作者识别模型效果存在不同程度的影响,采用微调方式的Bert 预训练模型在三种方式中表现最佳。ELMO 方式向量表示效果优于Word2Vec,是因为Word2Vec 模型在生成词向量时并没有考虑到词汇所在上下文的信息,ELMo 在Word2 Vec的基础上在生成的词向量中融入了该词汇的上下文信息,解决了同一个词汇在不同语境中意思不尽相同的问题,构建的词向量质量更高。虽然ELMo使用了双向模型,但也只是简单的编码拼接,本质上仍属于单向编码,Bert 集合了Word2Vec 和ELMo 模型的优点,相较于ELMo,Bert 使用双向编码的Transformer Encoder,而不是双向LSTM 作为特征提取器,语义提取能力更强,构建的词向量表示效果最有优势。
表5 不同词向量表示结果对比
第二组实验结果比较如表6所示。模型均使用Bert 中文预训练模型词向量作为网络输入。从表6 可知,本文提出的BiGRU-CapsNet 模型精准度为93.9%,F1值为93.2%,均优于另外三种模型。采用动态路由方式替代CNN 网络池化操作的CapsNet 模型C 效果比TextCNN 提升2.8%。采用双向RNN 模型后,识别模型效果进一步提升,BiGRU 模型相较于CapsNet 模型效果有小幅提升,得益于双向GRU 结构可以在文本上下文中获取更多信息。BiGRU-CapsNet 混合模型与BiGRU 模型相比,F1 值提升1.5%,由此可见BiGRU-CapsNet 混合模型同时结合了Bi⁃GRU学习文本上下文特征的能力和CapsNet提取更丰富文本信息的能力,证明了将两种模型进行结合提升了文本特征提取能力。
表6 不同模型结果对比
社交媒体文本作者识别存在特征提取困难的问题,本文通过Bert 中文预训练模型生成高质量词向量,然后结合BiGRU模型和CapsNet模型构成BiGRU-CapsNet 混合模型,该模型可以充分利用BiGRU和CapsNet各自优势进行深层次特征提取,更好地提取出社交媒体文本中的信息,实验结果表明该模型在社交媒体文本作者识别的任务表现更好。
本文提出的BiGRU-CapsNet 混合模型训练所需耗费的时间相较于单一的TextCNN、Cap⁃sNet 和BiGRU 模型,代价更高。在保证精准度的前提下提升训练效率,进一步加强模型泛化能力,是下一步工作目标。