刘鑫 王皓晨 黄宇煦
摘 要: 为了清理互联网与移动通信网络所带来的不良詐骗信息,使用文本分类技术来识别电信诈骗信息。采用中文分词技术(jieba)对数据样本的中文信息进行分词,用TF-IDF算法提取电信诈骗信息的特征,向量空间模型(VSM)构建文本内容的特征,选取朴素贝叶斯分类算法的伯努利模型和多项式模型,分别训练数据并对比测试得出各自对电信诈骗信息的识别效果评估。
关键词: 文本分类; 电信诈骗信息; 机器学习; 朴素贝叶斯
中图分类号:TP391.1 文献标识码:A 文章编号:1006-8228(2023)04-29-04
Abstract: To clean up the harmful fraudulent messages brought from the Internet and the mobile communication networks, the text classification technology is employed to identify telecom fraudulent messages. The Chinese word segmentation technology (jieba) is adopted to segment the Chinese messages in the data samples, TF-IDF algorithm is used to extract features from the telecom fraudulent messages, and the vector space model (VSM) is applied to construct the features of text content. The Bernoulli model and the polynomial model of the naive Bayes classification algorithm are selected to train the data and achieve their respective classification evaluation of the telecom fraudulent messages through contrastive tests.
Key words: text classification; telecom fraudulent message; machine learning; naive Bayes
0 引言
电信诈骗通过电话或网络等方式对受害人实施远程、非接触的诈骗,最终目的是获得利益[1]。文字型垃圾信息是电信诈骗活动的主要载体和开端,可定义为:信息发送方未经接收方的许可,向接收方传输其不愿接收或违法的信息[2],这类信息会破坏用户对网络服务的使用体验,并占用网络资源而造成网络拥堵、资源浪费和更多治理成本[3]。通过有效筛查文字型垃圾信息,可以提高网络资源的利用效率与电信服务机构的信誉,实现相关机构与社会环境的良性运转[4]。
1 研究背景
1.1 电信诈骗信息识别概述
目前针对电信诈骗信息的识别主要分为基于文本特征的过滤和基于文本内容的二分类方法[3]。基于文本特征的过滤方法主要有流量控制、黑名单过滤等。流量控制法是对某时间段发送量超过预设阈值的信息根据既定标准判定为涉嫌信息,据此监控和限制发送方的信息发送。该方法有局限性。目前的识别研究主要侧重在基于文本内容的方法,采用文本分类技术,过程从文本获取开始,经过分词、文本特征提取与表示、特征选择、信息挖掘和决策应用,涉及到各类机器学习算法。
1.2 国内外相关工作
八十年代初,侯汉清介绍了国外的分类技术综述,开始了国内中文文本分类研究[5]。张培颖等提出了一种基于语义距离的分类方法,将语义信息考虑在内,有效地提高文本分类的有效性[6]。程功平等提出了一种基于改进贝叶斯算法的过滤方法,结合黑白名单机制有效减少了误判,识别率普遍高于基于文本特征的方法[7]。李润川等将多种特征融合,结论表明各模型对垃圾短信的过滤均效果良好,但提取代表性特征的工作量庞大[8]。李根等提出了基于距离特征的自分类簇和自学习算法,作为一种聚类算法能学习新的诈骗信息样本的特征实现自我更新,具有持续识别新加信息的能力[9]。
诈骗信息的识别逐渐凝练为构建合理的语料库、正确分词、文本预处理、提取最具统计意义和代表性特征及建立科学高效的过滤模型[10]。对此,国外相关工作大致发展如下:Luhn在1950年提出了词频概念应用于文本分类,开启了领域研究[11]。Maron验证了概率索引与信息检索的相关性,提出了概率模型,极大推动了早期文本分类技术[12]。Salton等在1975年提出了文本的空间向量表示模型,文本中具有区分度的关键词表示特征项,文本向量的分量值表示特征项的权重[13]。Blei等于2003年提出了隐含狄利克雷模型,应用贝叶斯方法构建了一种基于主题的文本表示模型,将文档集内各子集的主题以概率分布的形式给出[14]。Mikolov在2016年提出的FastText引入了n-gram方法捕获局部序列,较于传统分类器提升了速度和精度,且无需过多的非线性特征转换和组合就能获得良好的分类特征[15]。Kalchbrenner等提出了一种CNN文本分类模型,具有共享权值的网络结构和局部感知的特点,降低运算复杂度,减少权值数量,借鉴CNN的特点把文本转化为二维特征矩阵作为输入,最终分类效果非常理想[16]。
2 文本预处理和识别方法
2.1 文本分类流程概述
文本分类首先收集待分类的文本数据集,然后对数据预处理(包括分词、去除停用詞等),继而将投入分类模型[17]。
2.2 文本预处理
2.2.1 中文分词
词语是中文语句的基本单元,为了理解文本语义,必须对词语有效划分。目前,中文分词算法主要包括基于理解、基于统计和基于词典的分词这三类[17]。基于理解是通过模仿人对句子理解的思路分割语句,可采用ANN方法或者利用逻辑学原理;基于统计则是利用统计学原理,对于一个词中的文字而言,如果它们在句中总是相邻伴随出现,则可以猜测它们是一个词组,由此对文本统计并分词;基于词典是事先建立一个大容量词典,将待分文本在其中匹配。
目前,常见的中文分词工具包括NLPIR、SnowNLP、THULAC和jieba等,其中jieba目前受到广泛使用,它作为Python的第三方库开源提供,基于查找最大概率路径实现,支持自定义停用词,分词效果较好[18]。本文使用jieba实施分词工作。
2.2.2 停用词过滤
在文本分类中,停用词是指对分类效果几乎没有贡献的字词或符号,有时停用词甚至会降低分类精度。常见的停用词有标点符号、语气词、敏感序列等[17]。文本预处理过程应去除停用词,简化后序计算,清洗文本数据集,从而有助于提高分类精度。
2.3 文本特征提取及表示
2.3.1 TF-IDF算法
文本特征提取作为文本分类的基础环节,必须在保持原义的前提下,提取出最具统计意义和代表性的特征。常用的文本特征提取方法包括词频-逆文档频率(Term Frequency-Inverse Document Frequency, TF-IDF)、互信息(MutualInformation, MI)和信息增益(Information Gain, IG)等[19]。本文采用TF-IDF算法,作为一种文本统计的方法它能反映单个词在文档集合中的区分度,其中TF指某个词在某一文本中出现的次数,TF越大则该词对所在文本的代表性越高,可作为文本的特征,但如果某个词在某个文本中的TF很高且在文本集合内其他文本中也多次出现,则降低了该词对文本的代表性,因此需统计词语在多个文本中出现的频率,从而引入了IDF的概念,IDF越大说明该词在多个文档中出现的频率越低,能更好地区分文本类别。单独考虑TF或IDF都有所片面,需将两者综合考虑才能得到更合理的特征权重。
TF定义如下:设count(w,d)为词w在文档d中出现的次数,size(d)为文档d中的总词数,tf(w, d)为词w在d中的词频,则有:
由于不同文本的词数不一致,只计算词频会带来偏差,因此公式⑴需要归一化。
IDF定义如下:设n为文本总数,D为文件集,docs(w, D)为文件集D中包含词w的文件数,则有:
对于尚未在文本集D中收录的词,公式⑵无法得到一个有效值,需做一个平滑处理,有:
综上,可以得到TF-IDF的定义:
2.3.2 向量空间模型(VSM)
计算机无法直接计算原始文本信息,所以需对文本数值化转换。向量空间模型(Vector Space Model,VSM)作为文本表示的经典方法之一,可将文本转换为向量表示,向量的各个项为文本特征,文本特征取TF-IDF值,项数就是向量的维度[19],将文本信息投影为某个维度空间中的点,通过计算向量间的距离判定文本间的相似程度。
设n维坐标系t1,t2,...,tn,在该坐标系中现有两个文本向量Di=(wi1,wi2,...win),Dj=(wj1,wj2,...wjn),将n维向量Di与Dj表示在坐标系中,如图1所示。
计算Di与Dj相似度有内积、Dice系数、Jaccard系数和夹角θ的余弦等方法[17]。
2.4 朴素贝叶斯分类模型的分类过程
对于样本x=(x1,x2,x3,...,xn),其中xi(i=1,2,3,...,n)为样本的一个特征,有类别集合y={y1,y2,y3,...,ym},yj(j=1, 2,3,...,m)为类别集合中的一个类别,该分类模型会从训练集中学习到样本的特征xi在类别yj下的条件概率,从而可以得到一个集合C1={(xi,p(xi|yj))|1≤i≤n,1≤j≤m}。类似地,在训练过程中可以获得特征和特征在每个类别中的条件概率,以上的样本假设和类别假设不变,朴素贝叶斯分类器按以下流程对输入集x进行分类:
p(yj)为可以根据以往的数据或经验得出的先验概率,若不能确定其值,可根据贝叶斯假设获得,而p(xi|yj)的值在分类模型训练时得出的集合C1中,因此可以计算得到集合C2。欲判断样本x的所属类别,只需求出集合C2中的最大值:
其中1≤k≤m,样本x所属的类别为yk。
3 实验与分析
3.1 数据集
本文采用某电信服务机构提供的80万条短信数据集,每条短信的类别已人工标注完成,“1”表示包括电信诈骗信息在内的不良短信,“0”表示正常短信。数据集中涉及人名、电话号码、数量等内容用“X”取代。表1为数据集中部分信息示例。
3.2 数据预处理与参数设置
使用Python库jieba对数据集中的原始文本分词后,首先定义停用词库,并从数据集中过滤停用词,包括阿拉伯数字、标点、语气词、疑问词、逻辑关联词、人称用语等。去除停用词后,对数据集前三万条样本中的垃圾信息和正常信息分别使用Python库wordcloud生成词云图,其中正常信息26986条,垃圾信息3014条,如图2所示,其中上半部为垃圾信息,下半部为正常信息。
图2直观显示出垃圾信息与正常信息之间的区别,正常信息中的词语包括而不限于“飞机”、“电梯”、“旅游”等以及一些地名,涉及领域广泛而随机,涵盖日常生活各个领域,而电信诈骗信息中“活动”、“免费”、“优惠”、“女人节”等词汇,高度集中于营销获利等行为且诱导性、针对性极强。
调用Python机器学习库sklearn中的feature_extraction模块内的CountVectorizer函数将文本数据集转换为向量空间,并调用TidTransformer函数采用TF-IDF算法提取特征,其中范数设为L2。选择朴素贝叶斯分类器中的伯努利模型与多项式模型构建分类器,其中二者的拉普拉斯平滑参数α的值均为1.0,二值化阈值为0.0,验证方式用随机采样法,随机选取数据集中80%的数据为训练集,剩余20%为测试集。
3.3 电信诈骗信息分类的评估指标
根据电信诈骗信息的分类结果来评估,指标主要有准确率、精准率和召回率三种,定义如下。
其中,准确率关注整体分类效果,精准率关注模型预测的准确性,召回率关注模型预测的完整性,在评估分类结果时往往需要对上述指标综合考虑。
3.4 实验结果与分析
分别采用朴素贝叶斯分类算法的伯努利模型与多项式模型完成文本数据集训练后,将测试集中算法得出的分类标签与实际标注类别对比,最后针对各项评估指标得出分类效果如表2所示。
根据表2,在准确率和精确率两个指标上,两种分类器都得到了超过97%的分值,表现优良。其中伯努利模型在两个指标上都相较于多项式模型表现出0.005%左右的轻微优势;召回率方面分值尚可,其中伯努利模型取得93.055%召回率,多项式模型取得87.567%召回率,较于其他两种指标相比有所跌落。总体上两种模型的分类效果都呈优良,但伯努利模型相较多项式模型效果更好。
4 结束语
本文针对计算资源和成本有限的情形,采用了传统机器学习方法中的朴素贝叶斯算法,通过伯努利模型和多项式模型对电信诈骗信息的识别进行了研究,通过对比实验将某电信运营机构收集的80万条信息进行训练和测试,两种分类模型均取得了较为优良的分类效果,其中伯努利模型相对于多项式模型在准确率、精确率方面均呈现轻微优势,在召回率方面呈现明显优势。在后续的研究可以进一步横向对比传统机器学习与深度学习方法的分类效果,在实践应用中可以根据二者的横向对比差距和客观资源成本综合考虑,做出合理选择。
参考文献(References):
[1] 娄云敬.基于价值迭代的电信诈骗识别系统设计与实现[D].硕士,北京邮电大学,2021
[2] 李洋.基于深度学习的垃圾短信智能识别算法研究[D].硕士,北京工业大学,2019
[3] 梁厅.基于深度学习的垃圾短信识别方法研究[D].硕士,成都理工大学,2019
[4] 袁婷婷.基于人工神经网络的垃圾短信识别研究[D].硕士,东北师范大学,2012
[5] 侯汉清.分类法的发展趋势简论[J].情报科学,1981(1):58-63,30
[6] 张培颖,王雷全.基于语义距离的文本分类方法[J].计算机技术与发展,2013,23(1):128-130,134
[7] 陈功平,沈明玉,王红,等.基于内容的短信分类技术[J].华东理工大学学报(自然科学版),2011,37(6):770-774
[8] 李润川,昝红英,申圣亚,等.基于多特征融合的垃圾短信识别[J].山东大学学报(理学版),2017,52(7):73-79
[9] 李根,王科峰,贲卫国,等.基于自分簇自学习算法的垃圾短信识别[J].吉林大学学报(信息科学版),2021,39(5):583-588
[10] 李围围.垃圾短信识别的探索与研究[D].硕士,广西科技大学,2018
[11] Luhn H P.1958.Auto-encoding of documents for information retrieval systems[M].IBM Research Center.
[12] Maron M E,Kuhns J L.On relevance, probabilistic indexing and information retrieval[J].Journalof the ACM(JACM),1960,7(3):216-244
[13] Salton G, Wong A,Yang C S.A vectorSpace Model for Automatic Indexing[C].Communications of the ACM,1975,18(11):613-620
[14] Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J].Journal of Machine Learning Research,2016,3:993-1022
[15] Joulin A, Grave E, Bojanowski P, et al. Bag of tricks for efficient text classification[J].arXivpreprint arXiv:1607.01759,2016
[16] Kalchbrenner N, Grefenstette E, Blunsom P. 2014.A convolutionalneural network for modellingsentences[J]. arXiv preprint arXiv:1404.2188.
[17] 王紅.基于内容的中文垃圾短信分类技术的研究[D].硕士,安徽大学,2011
[18] 石凤贵.基于机器学习的垃圾短信识别应用[J].电脑知识与技术,2020,16(3):202-204
[19] 赵卫东,董亮.机器学习[M].北京:人民邮电出版社,2018:135-172
作者简介:刘鑫(1999-),男,贵州毕节人,研究生,主要研究方向:人工智能。
通讯作者:王皓晨(1988-),男,吉林省吉林市人,博士,讲师,主要研究方向:机器学习,数据挖掘。