1、SOFTWARE软 件2023第 44 卷 第 1 期2023 年Vol.44,No.1基金项目:嘉兴南湖学院大学生科研训练计划(SRT)项目“基于 Bert 模型的垃圾短信识别方法研究”(218517249)作者简介:王靖轩(2002),男,新疆伊宁人,本科,研究方向:自然语言处理。通讯作者:陆贝妮(1993),女,浙江嘉兴人,硕士研究生,助教,研究方向:自然语言处理、服务计算。基于 Bert 模型的垃圾短信识别研究王靖轩 陆贝妮 杨杰 吴思楠(嘉兴南湖学院信息工程学院,浙江嘉兴 312000)摘要:针对现有垃圾短信识别方法,在复杂场景中特征表示效率低的问题,提出文本预处理结合 Bert 模
2、型的垃圾短信识别方法。首先对数据集进行预处理,消除冗余信息对分类器的影响,然后将预处理后的数据按 8:1:1 比例划为训练集,交叉验证集和测试集三类。将 Bert 模型引入垃圾短信识别分类场景,利用动态掩码提高了文本特征表征能力。实验结果表明,本文提出的垃圾短信识别方法具有较好的识别效果。关键词:垃圾短信;文本分类;Bert 模型中图分类号:TP391.1 文献标识码:A DOI:10.3969/j.issn.1003-6970.2023.01.004本文著录格式:王靖轩,陆贝妮,杨杰,等.基于Bert模型的垃圾短信识别研究J.软件,2023,44(01):016-019Research on
3、 Spam Message Recognition Based on Bert ModelWANG Jingxuan,LU Beini,YANG Jie,WU Sinan(Jiaxing Nanhu University School of Information Engineering,Jiaxing Zhejiang 312000)【Abstract】:Aiming at the problem of low efficiency in feature representation of existing spam message recognition methods in comple
4、x scenes,a spam message recognition method combining text preprocessing and Bert model is proposed.Firstly,the data set is preprocessed to eliminate the influence of redundant information on the classifier,then the preprocessed data were divided into training set,cross validation set and test set in
5、 a ratio of 8:1:1.The Bert model is introduced into spam message recognition scenarios,and the dynamic mask is used to improve the ability of text feature representation.Experimental results show that the proposed method in this paper has a good recognition effect.【Key words】:spam message;text class
6、ification;Bert model基金项目论文0 引言随着万物互联时代的到来,智能手机已经成为用户日常通讯的重要工具之一。其中,手机短信凭借其运作简易、舒适便捷等诸多优点,已成为用户之间沟通的重要媒介。然而在短信业务迅速发展的同时也带来了一些信息安全方面的问题。不法分子利用短信大量发送广告、虚假信息、散布谣言、传播不良、色情信息等垃圾短信。垃圾短信不仅污染了网络环境,占用了有限的网络资源,造成网络拥塞,使运营商耗费更多的资源对其进行处理,手机用户也要耗费大量的时间来删除垃圾短信,垃圾短信已成为一种社会公害。如何对海量的垃圾短信准确识别分类和有效处理仍是当前亟待解决的重要课题。目前常用的中
7、文垃圾短信识别方法有基于规则的方法、基于黑白名单的方法、基于内容的方法1。规则法要求人为提前进行规则制定,遇到新型垃圾短信需新增规则才能识别,这种垃圾短信识别方法过于繁琐。黑白名单法只能识别已经在名单中的号码,过于单一,无法对陌生号码的信息进行识别,大多时间需人工干预。基于内容的短信识别是将文本分类技术引入垃圾短信识别,是目前国内外主流的垃圾短信识别方法。该方法主要通过机器学习分类模型对垃圾文本进行分类,如:TextCNN2、贝叶斯网络、支持向量机利用机器学习算法提升了垃圾短信识别效率。然而,在一些一词多义等复杂场景中,现有模型不能很好的表征文本特征。前述针对垃圾短信文本的特征表示算法均是将其
8、进行分词或17王靖轩陆贝妮杨杰等:基于 Bert 模型的垃圾短信识别研究者分字,处理对象为字符或者词语层面的特征,而由于垃圾短信具有特征稀疏的特性,字符或者词语不能表示短信的完整语义,因此导致短信的特征表示向量不能较好地代表短信语义。因此,短信的特征表示是提高垃圾短信识别性能的关键步骤。例如:“我喜欢小米”,这里的小米可能是指小米手机,也可能是吃的小米。Bert 模型通过对未标注的文本信息进行深层双向表示获得上下文语义信息,一词多意问题在 Bert 模型中得到了解决。本文将 Bert 模型引入垃圾短信识别,提出本文数据预处理结合 DMBert 模型的垃圾短信识别方法,论文主要贡献如下:(1)将
9、 Bert 技术引入到垃圾短信处理场景,解决了以往垃圾短信处理中的特征表示存在歧义性、分类精度低的问题;(2)提出动态 MASK 方法(简称 DMBert),提升了文本特性的表征能力;(3)与现有方法的实验对比表明,DMBert 在垃圾短信识别中有一定的优势。本文基于 Bert 的垃圾短信识别算法主要由短信数据预处理、短信数据向量化以及短信识别三部分构成,短信数据预处理的目的是将输入的短信数据整理成识别所需的文本,降低其他符号对识别效果的影响,然后对预处理后的短信数据进行向量化表示并形成特征向量,最终将特征向量输入搭建好的识别器以实现垃圾短信识别。1 数据预处理数据预处理是垃圾短信识别的关键步
10、骤,预处理质量的高低直接影响识别效率。数据预处理过程主要包括删除重复语句、分词、删除无用词等。中文句子词语之间没有显著的分隔符标识,相对英文句子,结构比较复杂。理解中文句子,首先要理解中文词语,要对句子中的词进行分割。分词质量直接影响文本分类效果。目前主流的分词工具有、JIEBA、NLPIR、THULAC 和 SNOW NLP 分词器3。其中,JIEBA 分词器根据文本内容自定义和修改词典,在中文分词中被广泛应用。本文采用 JIEBA 分词器对短信文本进行分词,降低无用词对分类器的干扰。在原始数据集中包含许多重复语句和无用信息,如特殊符号、标点符号、数字、表情、乱码等冗余信息,这些冗余信息对分
11、类模型产生不必要的噪音,影响垃圾短信识别效果。本文的数据预处理包括两个部分,首先删除数据集中重复语句,然后,去除“、%、&.”“你”“地”“她”“和”等标点符号、特殊符号、人称代词、副词、连接词。垃圾短信(文本信息)属于非结构化的字符串数据,如何将汉字字符串信息编码成计算机能识别的二进制数据是文本分类中的关键。传统的中文文本编码方式有:One-hot、词袋模型、TF-IDF、共生矩阵(Co_ocurrence matrix)等4,目前主流的文本编码方式,即文本向量化(词嵌入)方法有两种,静态预训练模型 Word2Vec、GloVe 和动态预训练模型XLNet、Bert。Bert 解决了一词多义
12、问题,在复杂场景中具有较好的识别效果,本文采用 Bert 模型作为词向量表征方法。2 Bert 和 DMBert 模型Bert(Bidirectional Encoder Representation from Transformers)模型于 2018 年由 Google AI 研究院提出5,可为文本信息生成高质量的特征表征。Bert是一个预训练自然语言处理模型,它通过对未标注的文本进行深层双向表示获得上下文语义信息,在训练过程中学习到文本的更多维、更深层次的内容。训练得到的模型可用于文本分类等多个领域,相比于传统自然语言处理(Natural Language Processing,NLP)
13、方法更加方便、高效。Bert 模型的核心为 Transformer 框架,输入向量 X 由 Token Embedding、Segment Embedding、Position Embedding 3 个向量构成。其中Token Embedding包含字符的语义信息,Seg-ment Embedding包含上下文信息,Position Embedding 包含位置信息。Transformer 由一堆编码器(Encoder)编码组件和相同数量(与编码器对应)的解码器(Decoder)组成。其中,单个编码器由注意力机制、前馈神经网络组成,解码器由注意力机制、编码-解码注意力层、前馈神经网络组成。D
14、MBert(Dynamic Masking Bert):在 Bert 开始训练数据时,训练集中的每一个样本只进行一次随机MASK,这样该样本在所有的 Epoch 中重复,在每一个训练步中都是用相同的 MASK,这就是 Bert 的静态MASK。在我们的 DMBert 中,训练集中的每一个样本在每一个训练步都进行一次动态随机 MASK,这样每个Epoch 的样本 MASK 是变化的,这就有效避免了训练集数据的重复,动态 MASK 的操作,近似于对数据增广操作。预测效果在 Bert 基础上有了进一步地提升。2.1 Bert 预训练预训练模型的目的是利用庞大的语料库训练出一个尽量能够应对各种下游任务
15、的模型,即通过预训练让模型对每一个词,在各种可能的上下文环境中的语义和用法留下记忆。Bert 通过两项任务对模型进行预训练,分别为遮蔽语言模型(Masked Language Model,MLM)和邻句预测(Next Sentence Prediction,NSP)。Bert 用 MLM(Masked Language Model,掩码语言模型)方法训练词的语义理解能力,MLM 是借鉴18软 件第 44 卷 第 1 期SOFTWARE完形填空任务和 Word2Vec 中 CBOW 算法思想定义的一种模型预训练任务。具体实现过程为:随机抽取部分词进行掩码操作,用 Mask 掩码字符来替换被抽取到
16、的单词,训练 Bert 模型来正确预测这些被掩码词。遮蔽语言模型的训练集与测试集数据之间存在不可避免的系统性数据分布差异,这会产生训练与预测数据偏差导致的性能损失,为改善这一弊端,Bert 在样本中随机抽取 15%的掩码词后,对抽取的掩码 80%的样本用掩码标记 Mask 替换掩码词,对另外 10%的样本不做任何替换,对最后 10%的样本从模型词表中随机抽取单词来替换掩码词。Bert 用 NSP(Next Sentence Prediction,下句预测)方法训练句子之间的理解能力,使模型能学会捕捉句子间的语义联系。具体实现过程为:模型的输入语句由两个句子组成,其中有 50%的概率将语义连贯的两个连续句子作为训练样本(连续句对应取自篇章级别的语料,以确保前后语句的语义强相关),另有 50%的概率将完全随机抽取的两个句子作为训练样本,模型要根据输入的两个句子,判断它们是否属于真实的连续句对。2.2 Bert 微调微调阶段增强了 Bert 模型的鲁棒性和对上下文信息的提取能力。预训练阶段 MLM 和 NSP 这两项任务同时进行。使用训练好的 Bert 模型,同时加入一个全连接网络进行微调,