基于DSR和BGRU模型的聊天文本证据分类方法

2022-04-18 01:23张宇李炳龙李学娟张和禹
网络与信息安全学报 2022年2期
关键词:聊天记录语义向量

张宇,李炳龙,李学娟,张和禹

(1. 信息工程大学,河南 郑州 450001;2. 河南理工大学,河南 焦作 454003)

0 引言

随着移动互联网的快速发展,智能手机的使用频率也在快速增长。但智能手机在给人们带来便利的同时,也给犯罪带来了便利。利用智能手机犯罪的记录在不断增长。以往的手机取证主要关注手机保存的地理信息数据、短信、通话记录等。但随着社交软件的发展,社交软件所保留的聊天记录已经成为新的取证来源。根据CNNIC发布的调查报告显示[1],截至2021年1月,我国社交软件的使用人数已经达到96 012万。正是由于社交软件的流行,社交软件上的聊天记录具有重要的取证意义。

取证人员通过对聊天记录进行分析来找到与案情相关的数据,但问题在于聊天记录大量繁杂,而取证人员采用的方式是手动搜索或者通过设置过滤器的方法,这样的方法低效而且很可能会遗漏关键证据。此外,近年来,犯罪分子的反取证意识不断提高,在使用社交软件时往往采用“黑话”来传递犯罪信息。例如,在非法借贷中“高炮”指一种超高息的短期借款;电信诈骗中“金主”指实施诈骗者,“水房”指洗钱机构;毒品交易中“猪肉”“苹果”等指冰毒,“溜冰”指吸食冰毒。“黑话”影响了取证的效率。因此需要一种文本分类方法来从犯罪领域的聊天记录中筛选出关键数据。

将文本分类技术应用到聊天记录中仍有许多问题需要解决。

第一,犯罪领域的聊天文本具有鲜明的犯罪特征,常用的聊天记录预处理方法会丢失这些特征。

第二,随着时间的移动,“黑话”不断出现并更新。出现新单词会降低分类器的准确性,某些语义信息会在文本量化期间被忽略。

第三,“黑话”,如“猪肉”“苹果”等涉毒词,往往与涉及的领域无关,这需要结合上下文信息才能被认为与犯罪行为有关。这种“一词多义”问题影响分类器的效果。

为了将文本分类技术应用到聊天记录来筛选与犯罪有关的文本,本文提出了一种聊天记录犯罪证据分类方法。该方法通过更新文本特征表示和文本特征提取技术来提高分类性能。

针对犯罪相关的文本分类主要应用于社交平台所产生的聊天记录。文献[2]提出ARPR(AHP-relation-PageRank)算法。该算法采用TF-IDF(term frequency-inverse document frequency)方法对涉毒关键词进行提取并对其词向量加权,然后以好友关系为链接建立关系网络作为PageRank的入度与出度来计算相对应的PageRank权值。ARPR算法结合TF-IDF方法和PageRank方法对聊天文本进行处理,使其能根据禁毒领域的业务需求,筛选出聊天文本中涉及的重点嫌疑人员。

与其他文本分类任务相比,与犯罪相关的文本特点是存在大量的“黑话”(一词多义)现象。有不少研究者将深度学习用于解决文本分类中的一词多义问题[3-4]。文献[5]引入RNN(recurrent neural network)抽取词语特征,其中词语的特征不仅与当前词有关还与它的上文有关。这种做法使得词语的特征表示会随着上文的变化而变化,具有语义的特性。但RNN循环机制过于简单,在梯度反向传播时会产生梯度爆炸或梯度消失等错误状况,从而造成训练过程停滞。LSTM(long short-term memory)和GRU(gated recurrent unit)在传统RNN的基础上引入“门机制”,在一定限度上避免了RNN的失误。以此为基础,大部分模型对GRU和LSTM模型实施改良。文献[6]为了增强模型中上下文信息的处理效果,在LSTM模型的基础上新增了外部记忆单元。但外部记忆单元参数量大,容易影响准确度。Tang等[7]提出CLSTM模型来解决一词多义问题,该模型在LSTM的基础上,引入注意力机制,取得了不错的效果。文献[8]在文献[9]的基础上进行改进,引入注意力机制来聚焦文本中的重要信息。文献[10]与文献[8]类似,区别在于,其引入BGRU来代替LSTM,相比文献[8],文献[10]提出的模型在时间性能上有较大提升。

以上的研究将RNN、CNN这样的模型结构串联起来用于文本分类,但这种层叠串联的模型结构会随着层次的加深丢失特征信息。针对这一问题,文献[11]提出一种双通道深度学习模型,该模型并行采用 CNN和LSTM分别从字、词角度对不同嵌入方式下的文本进行特征提取,并将双通道提取出的特征进行融合,从而进行分类。文献[12]将CNN和LSTM并联起来,并在模型的后端综合各通道提取的特征进行分类。

总而言之,本文的研究技术流程如图1所示。

图1 研究技术流程 Figure 1 Research technology process

本文的主要贡献如下。

1) 提出犯罪领域的聊天文本预处理的手段,使其保存犯罪领域特征。

2) 提出动态语义表示模型(DSR)对词进行特征表示。该模型首先在预训练好的词向量上使用聚类算法选择语义词。然后采用稀疏约束训练语义词对新单词进行稀疏表示。采用DSR模型能有效降低新单词对分类器准确性的影响。

3) 采用BGRU模型[13]从词向量组成的文本中进行上下文特征提取,并对其改进使其能适应“黑话特点”从而能根据上下文变化来解决“黑话”一词多义问题。

1 模型设计

为从犯罪领域的聊天记录中筛选出关键数据,本文提出结合DSR模型和BGRU模型的聊天记录文本分类方法。其中,DSR模型用于捕获语义层次的信息,BGRU模型提取词向量的文本特征并用于分类。首先对聊天记录进行分类,分为训练集和测试集,在预处理后,先训练训练集,而后对结果进行测试,通过反馈的正确率验证模型的准确率,来看模型是否有效。DSR-BGRU模型结构如图2所示,主要分为4个模块:聊天记录预处理;DSR模型进行文本特征表示;BGRU提取文本特征;实施文本分类。

图2 DSR-BGRU模型结构 Figure 2 The structure of DSR-BGRU model

1.1 聊天记录预处理

1) 在聊天记录中,除了文本数据外,还存在符号、表情、图片、语气词等非文本数据,这些非文本数据将会变成乱码而影响数据处理的结果,因此应先去除这类数据。但犯罪领域的聊天记录中的图片内容往往是展示用于犯罪的道具,或者触犯法律的物品。这类图片具有较高的取证价值以及鲜明的犯罪领域特征。DSR模型采用识图工具识别图片内容,并将其输出为文本替代聊天记录中的图片。

2)犯罪分子在聊天记录中会用“黑话”来掩盖自己的犯罪意图,这类词往往具有名词的特性。DSR模型对聊天记录分词切割后标注词性用于后续的加权,标注结果如表1所示,词性对应含义如表2所示。

表1 分词及词性标注结果Table 1 Word segmentation and speech tagging results

表2 词性对应含义Table 2 Corresponding meaning of word

1.2 文本特征表示

本文提出DSR模型对文本进行特征表示。DSR模型通过聚类算法筛选出语义词,并通过单词属性与语义词的加权组合对非语义词词向量进行特征表示,且将语义词用于对新单词进行稀疏表示。

1.2.1 语义词筛选与重构

语义词的筛选基于已经预训练好的词向量。采用预训练的词向量,模型将每个单词的嵌入向量w组成矩阵。然后对聊天信息T进行聚类分析,将具有相似语义的单词划分为同一类。在每个聚类过程中,提取聚类中心作为文本的语义词。

本文使用AP聚类算法计算文本的聚类中心并作为语义词,假设文本的嵌入向量集为,将S定义为词向量之间的相似矩阵,s(i,j)表示wi和wj两个词向量之间的相同程度,值为两个词向量之间的欧式距离。信息矩阵用A来表示,而吸引信息矩阵用R来表示,R中r(i,j)描述wj适合作为wi的聚类中心的适用性,A中a(i,j)描述wi选择wj作为其聚类中心的适用性,如式(1)~式(4)所示。

若在多次迭代后聚类中心保持不变或迭代次数超过了设置的迭代次数,将停止计算,并将计算出的聚类中心作为语义词,最终取A+R最大的wk作为聚类中心。

基于上述方法,DSR模型可以将文本中相似的词语替换为相应的语义词并且对训练集中的每个文本都生成了语义词集合 SW 。该集合包含m个语义词 {sw1,sw2,… , swm}。训练集中文本的语义词集合会组成词库,用于对测试集中的新单词进行表示,从而进一步提高了模型的自适应能力。

模型结合词的各项特征以及与词相近的语义词来表示训练集中的非语义词词向量。采用式(5)对语义词集合的词进行特征融合。

其中,MTF()是特征融合函数。不同于仅使用统计特征来表示所有单词的传统单词袋(BoW),DSR模型结合单词频率、单词词性、单词位置这3个特征来重构词向量。

单词频率是单词在文本中出现的次数。单词频率越高,单词越重要。它是统计功能中常用的词属性之一。模型运用函数来计算词频因子 frei,如下所示。

n是单词wi在文章中的出现次数。非线性函数有两个优点:一是词频因子与词频成正比;二是词频因数与词频成正比。当词频增加到一定程度时,词频因子的值会减小,符合语言现实。

词性因子是词性的量化。对文本语义有较大影响的语义词大多数是名词。与名词相比,形容词和动词对句子不会产生太大的影响。在对文本的分类中,词性的不同产生的影响也不一样,因此根据词性将词分为3类:

单词在文本中的位置在判断其重要性方面也具有重要价值。不同的单词出现在文本的不同位置,对语义的影响也不同。根据如下公式定义位置的影响力:

firsti是wi首先出现的位置, lasti是wi最后出现的位置,sumi是文本中单词的总数。

这里,构造融合特征来表示语义词,计算如下。

其中,frei是单词频率因子,posi是词性因子,loci是单词位置因子,α1、α2和α3是特征因子的权重,S(wi)表示 SW 中与wi相近的语义词。因此,根据式(5),可以使用{V(w( 1)),V(w( 2)),… ,V(w(i) )}j来表示具有i个词的文本Tj。

1.2.2 稀疏表示

由于训练集和测试集是随机分配的,并且词库中的语义词由训练集中的词组成,而从测试集提取的词可能不会出现在词库中。如果从测试文本中提取的词未出现在词库中,则将使用其他语义词来稀疏地表示这些词。目标函数如下。

或者

y是需要重建的样本,X是嵌入向量的矩阵,ε和λ都是小的正常数。

尽管L_1范数在回归训练样本的选择中起着隐性作用,但迭代解的计算成本很高,用L_2范数代替正则化项。目标函数可以表示为

稀疏表示为:

其中,λ是权重参数,ki是测试文本中的第i个新单词对应的词向量,xi∈Rm是重构向量,K∈Rm×n由词库中的m个语义词向量组成,n是词向量维度,最后将被稀疏表示过的新语义词添加到词库中,用来提高模型的适应性。

1.3 文本特征提取

本文使用BGRU模型从训练的词向量组成的文本向量矩阵提取文本特征。

聊天记录中的“黑话”与原有的语义有较大的差别,需要根据上下文才能理解“黑话”的歧义。本文在BGRU模型上进行改进来适应这一特点。BGRU模型由两个反向的GRU模型组成,GRU模型结构如图3所示。

图3中,Zt为更新门,rt为重置门,xt表示t时刻的输入;ht−1为隐藏层,表示t−1时刻的输出;σ为Sigmoid函数;ht为隐藏层,表示t时刻的输出;在xt和ht−1输入GRU之前分别添加固定值β和1 −β作为权重来控制xt和ht−1的输入影响。GRU 模型中各个门计算如式(14)~式(17)所示。

图3 GRU模型结构 Figure 3 Structure of GRU model

其中,Wz表示更新门连接的权重矩阵,Wr表示重置门连接的权重矩阵,“⋅”表示两个矩阵元素的相乘。

图4 BGRU模型结构 Figure 4 Structure of BGRU model

BGRU模型中每一个时刻状态计算如式(18)、式(19)所示。输出则由这两个方向的GRU的状态共同决定,如式(20)所示。

其中,wt表示正向输出的权重矩阵,vt表示反向输出的权重矩阵,bt表示t时刻的偏置矩阵。

经过反复测试,β为0.2时,分类效果最好,这时,BGRU模型提取的文本特征受到上下文的影响较大,这也符合聊天记录中的“黑话”特点。

1.4 文本分类

本文通过Keras框架搭建BGRU模型来提取文本特征,其中模型的组成部分有:输入层使用DSR模型进行词的向量表示组成的文本矩阵;大小为64的BGRU隐藏层;从模型的两个方向输入的输入序列;通过隐藏层提取文本的上文信息特征和文本的下文信息特征;用式(21)结合隐藏层的两个方向。

其中,Tijt表示在t时刻输入的第j个文本的i个词向量组成的文本矩阵;hijt表示在t时刻BGRU的输出。

输出层softmax的大小与文本分类的类别一致,数据二分类后结果存在两个神经元,分别代表正常与异常。

通过softmax函数进行文本分类,分类函数如式(22)所示。

其中,wi表示特征提取层到输出层的权重系数矩阵,bi表示相应的偏置,hijt表示在t时刻特征提取层的输出向量。

2 实验分析

本文实验的目的如下。

1) 分析DSR模型中不同单词属性加权方法对分类效果的影响以及对新单词的稀疏表示方法的效果。

2) 分析犯罪领域的聊天记录存在的“黑话”现象特点。

3) 比较不同文本分类模型的性能。

2.1 实验环境

本文实验环境为x86平台,Intel CPU,内存16 GB,硬盘100 GB。操作系统Windows10家庭版,使用TensorFlow的深度学习库 Keras 进行模型搭建与测试。

2.2 数据集

实验数据来自实验所用Android智能手机。手机中有与1 000个微信好友的聊天记录,这1 000个会话内容包括正常聊天和与犯罪相关的聊天。正常聊天和与犯罪相关的聊天主题如表3所示。本文将正常聊天内容标注为“正常文本”,与犯罪相关的文本标注为“异常文本”,这些聊天记录共包含24 100条聊天短文本。从聊天记录中随机抽取一些数据集,包括正常、异常两类,每个类别的数据集按4:1的比例分为训练集、测试集两部分。数据结果用csv格式进行存储,如表4所示。

表3 聊天记录主题Table 3 The topic of chat record

表4 数据集划分Table 4 Data set division table

另外,如表5所示,本文使用4个数据集来评估DSR模型的性能,其中ChnSentiCorp_htl_all来自谭松波的“酒店评论数据集”,waimai_10k是Github网站“某外卖平台收集的用户评价数据集”,online_shoping_10_cats是Github网站“各电商平台的用户评价数据集”,weibo_senti_100k来自于新浪微博评论数据集。由于关于异常文本分类的数据集较少,因此本文挑选常见的用于文本情感倾向判别的中文数据集。数据集中80%为训练集,其余文本为测试集。

表5 中文数据集Table 5 Chinese data set

2.3 模型评估

本文采用精确率、召回率和F1值对分类结果进行评估。其中,FN(false negative)、FP(false positive)和TP(true positive)分别表示正常文本预测为异常文本数量,异常文本预测为正常文本数量,正常文本预测为正常文本数量。计算如下所示。

2.4 BGRU模型超参数

实验采用参数固定法,确定BGRU模型的超参数,如优化器、损失函数、激活函数等。

本文使用的是BGRU模型训练超参数如表6所示。

表6 BGRU模型训练超参数Table 6 BGRU model training super-parameter

经过反复实验测试,当采用表6的超参数,以准确率作为评估标准,训练轮数达到27时,实验效果最好。精确率随轮数变化如图5所示。

图5 精确率随轮数变化 Figure 5 The graph of accuracy with the number of rounds

2.5 DSR模型性能评估

在NLP中有很多量化单词权重的方法,常见的有TF-IDF加权和单词频率加权。本文将单词的位置、频率、词性特征相结合来量化单词权重。在实验中,本文研究比较了这些量化单词权重方法的效果。图6中的结果表明,加权组合比其他加权方法更有效。

图6 不同单词属性加权方法的影响 Figure 6 Influence of different word attribute weighting methods

为了验证稀疏表示方法的有效性,本文在4个数据集上测试了去掉稀疏表示方法的情况下,各方法的F1值。

如图7所示,稀疏表示方法提高了大多数数据集上分类器的性能。ChnSentiCorp数据集上的优化性能较差,原因是训练集与测试集中的词重合比较大,因此动态表示添加的新词较少。其他数据集上训练集和测试集词语重合较少,但词义相近。这提高了稀疏表示的效果。

图7 稀疏表示的影响 Figure 7 The influence of sparse representation

图7中F1_1展示的是去掉稀疏表示的分类结果的F1值,F1_2展示的是加上稀疏表示的分类结果的F1值。

2.6 “黑话”现象探讨

犯罪领域的聊天记录存在“黑话”现象。本文比较了被用作“黑话”的单词在数据集中正常文本和异常文本中的特征表示。由于单词的特征表示维度较高,本文使用sklearn算法库中的T-SNE算法进行降维可视化,结果如图8所示。

图8 “黑话”足球在不同文本领域的特征表示 Figure 8 Feature representation of "slang" football in different text fields

如图8所示,“黑话”在异常文本领域中分布较广,在正常文本中集中为特定领域。而且不同领域的“黑话”特征表示相近,异常文本中不同领域的“黑话”特征表示相距较远。这说明“黑话”在犯罪领域中语义不固定,且与原义有较大偏差。“黑话”的歧义问题也是自然语言处理中经典的“一词多义”问题,所以利用上下文识别其真实意义是解决这一问题的方法。但在应用时应根据“黑话”的特点,进行特征表示时减小词本身的含义影响,放大上下文的影响。

2.7 模型对比

为了充分验证DSR-BGRU文本分类模型的有效性、增强对比性,本文不仅与其他犯罪文本分类研究进行对比,而且采取目前比较流行的面向社交媒体的文本分类模型进行比较分析。这些研究的详细信息如下。

1) DSR-BGRU:本文提出的文本分类模型,分别运用DSR模型和BGRQ模型对文本进行特征表示及提取。

2) 文献[2]:文献[2]将PageRank算法和关系网络相结合,提出一种ARPR算法。该算法采用TF-IDF方法提取群聊人员的群聊涉毒关键词,并对涉毒关键词在涉毒嫌疑程度排序中的贡献进行度量;然后以层次分析法引导聚合各维度信息计算得到的嫌疑人员权重为权重系数,以好友关系为链接建立关系网络作为PageRank的入度与出度来计算相对应的PageRank权值。

3) 文献[14]:文献[14]对单词的特征表示训练方法进行了改进,根据分类任务目标对预训练的词嵌入基于对应领域的词库进行针对性的重构来增强分类效果。

4) 文献[15]:文献[15]提出了BLS(broad learning system)模型用于文本分类,该模型在LSTM的基础上进行了改进,引入了注意力机制来关注重点单词,并且增加了遗忘门来控制上下文信息的传递。

5) 文献[16]:文献[16]提出了一种被称为DE-CNN的神经网络,该网络可以将与上下文相关的概念合并到卷积神经网络中,以进行短文本分类。模型首先利用两层分别提取概念和上下文,使用关注层提取与上下文相关的概念;然后,将这些概念合并到文本特征表示中以进行短文本分类。

6) 文献[17]:文献[17]使用BERT预训练语言模型对短文本进行句子层面的特征向量表示,并使用softmax对其进行分类。

由表7可以看出,本文提出的模型在准确率、召回率、F1这3个指标上都有较明显的优势。文献[2]采用的模型各项指标均最低,原因在于它采用TF-IDF方法提取群聊人员的群聊涉毒关键词,对于“黑话”的一词多义、更新速度快的特点难以适应,尽管是适用于分类涉毒领域的聊天文本,但在其他犯罪领域的聊天文本上表现较差。文献[14]与文献[2]在数据集上表现效果相近,是因为采用类似的方法强化在单一文本领域的表现能力,适应性较弱。文献[17]与文献[15]相比,性能较弱。是因为相比文献[17]引入的注意力机制,文献[15]根据分类目标对预训练的词嵌入能更增强模型的特征表示能力。文献[16]相比文献[15]和文献[17],将注意力机制结合卷积层神经网络,有效捕捉上下文语法语义以及更深层次的信息,从实验结果来看性能表现较好。

表7 对比实验结果Table 7 Results of the compare experiment

从对比实验的结果来看,能有效捕捉句子中的序列、上下文、语法语义以及更深层次的信息的模型在犯罪领域的聊天文本分类上有不错的表现能力。这是因为犯罪领域中“黑话”一词多义的特点要求模型从上下文语境中提取深层次信息的能力。本文提出的DSR-BGRU模型针对BGRU模型做的改进使得在犯罪领域的聊天文本分类上具有一定优势。

2.8 模型缺点

本节对数据集中分类错误的聊天文本进行了探讨。在分类错误的聊天文本中,表情符、特殊符号作为“黑话”来掩盖真实的犯罪意图。本文研究提出的模型在预处理环节丢弃了表情符和特殊符号,这可能会丢弃潜在的“黑话”,从而造成误判。

此外,本文针对BGRU模型做的改进是添加了固定参数β来控制输入单词与上下文对语义的影响。这种单一权重的使用降低了“黑话”单词对语义的影响,也降低了其他单词对语义的影响。

3 结束语

本文提出一个文本分类模型用于解决数字取证时遇到的聊天文本分类难题。本文提出DSR模型将语料中的词语用高维的词向量表示,接着将词向量输入改进后的BGRU模型中提取特征,最后连上一个softmax输出层,这样就建立了一个文本分类模型。该模型使用DSR对文本预训练来从语义层面对聊天文本进行特征表示,再使用改进后的BGRU对使用这些词向量组成的文本提取上下文特征,从而能够更好地准确理解评论文本的语义信息。实验结果表明,使用DSR-BGRU模型能够更加准确地完成识别和提取与犯罪事件有关聊天证据。

但DSR-BGRU模型存在一定不足,其无法处理聊天文本中的表情符和特殊符号以及使用固定参数控制输入单词与上下文对语义的影响。针对这些不足,可以对所有表情符号与特殊符号生成独特的特征向量后再引入文本分类中以及引入注意力机制[8],根据单词词义或其他属性变化参数值来控制输入单词与上下文对语义的影响。

猜你喜欢
聊天记录语义向量
真实场景水下语义分割方法及数据集
储存聊天记录用掉两个半三峡水电站电量
向量的分解
聚焦“向量与三角”创新题
一键备份手机QQ聊天记录
和爸妈的爆笑聊天记录
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
向量五种“变身” 玩转圆锥曲线
汉语依凭介词的语义范畴