背景描述及需求

随着通讯时代的到来,手机成为人们日常通讯必不可少的工具之一。手机短信也以其操作简单、方便快捷等诸多优点,逐渐成为用户间沟通的重要桥梁,但在为人们带来极大便利的同时,随之而来的诸多垃圾短信问题日益严峻,广告信息、欺诈短信、谣言散布等短信内容,严重危害了社会公共安全。据360手机卫士安全中心发布的数据,2019年全国垃圾短信拦截总量约为320亿条,平均每天收到垃圾短信超过5000万条。据统计,各类垃圾内容中,冒充类短信占所有垃圾短信的92.8%,多以银行诈骗、互联网虚假网购、电信诈骗等内容为主。垃圾短信泛滥,已经严重影响到人们正常生活、运营商形象乃至社会稳定。

面对激烈的市场竞争,各大运营商及相关部门都在寻求一种快速、有效的垃圾短信识别方法。通过垃圾短信的精准识别,以完善用户的通讯环境,为有关部门提供有效依据,维护运营商利益。试通过建立合理的短信识别模型,对垃圾短信进行识别,解决运营商和手机用户等困扰。

现状分析

目前我国垃圾短信的现状:

1)垃圾短信黑色利益链由于短信的方便、低成本等特点,垃圾短信已经形成了黑色利益链,严重为害社会公众安全。由于监管缺失,一些不良组织通过各式各样的渠道收集个人手机信息,并将手机信息卖给有需求的商家和业务人员获取利益,同时商家等通过发送广告推销、诈骗等垃圾短息,来谋取利益,严重危害了短信用户的信息安全及正常生活。

2)缺乏法律保护:目前,虽然我国颁布了有关调整或者规范短信的法律、法规、政策性文件,如公安部、信息产业部、中国银行业监督管理委员会联合发出《在全国范围内统一严打手机违法短信息的通知》等,但是以规范短信业务的制度法来说,仍属空白。对垃圾短信的识别并追踪,找到垃圾短信发送的种子用户,不仅能够打击该类违法分子,还能弥补法律空白。

3)短信内容日益多变:垃圾短信的投放方式和内容的不断改进及变化,导致垃圾短信的拦截效果越来越差,传统的基于敏感词过滤方法不仅易受到同义词、字符等干扰,且不能很好适应垃圾短信的快速变化。

因此,垃圾短信过滤方法的改进优化成为运营商需要重点解决的问题。

思路流程

垃圾短信识别的主要步骤如下所示:

1.数据获取,获取所需数据集;

2.数据预处理,对数据进行文本中文分词、停用词过滤处理等;

3.建模准备,将分词结果分别转换成文档-词条矩阵,并划分测试集与训练集;

4.模型构建与评价,构建随机森林模型,并建立评价指标精确率、召回率、F1值对模型分类效果进行评价。

5.分析结果,总结和建议。

实施过程

数据接入

目前,某运营商已经积累了大量的垃圾短信数据。本案例收集了295755条短信文本数据,字段说明如下:

字段名称

类型

字段说明

_c1

整型

0表示正常短信,1表示垃圾短信

_c2

字符串

短信内容

经过加工处理数据如图所示:

 

为了方便识别字段含义,这里接入一个 元数据编辑 节点取别名,如图:

 

数据预处理

1、分词

中文分词是指将一整段文字切分为具有最小语义的词条信息,即以词作为基本单元,使用计算机自动对中文文本进行词语的切分,将文本数据转化为机器可识别的形式。英文单词之间是由空格作为分界符的,中文则是由字为基本书写单位,词语之间没有明显的区分符,因此,中文分词是中文信息处理的基础与关键。分词结果的准确性,对后续文本挖掘有着重要影响。如在进行特征的选择时,不同的分词效果将影响词语在文本中的重要性,从而影响特征的选择。

这里接入一个 分词 节点将text列进行分词,_c2_seg为分词后的字符串型结果,_c2_seg_words为分词后的WrappedArray类型结果,分词输出结果如图:

2、停用词处理

中文表达中常常包含许多功能性词语,相比于其它词汇,功能性词语并没有太多的实际含义。最常用的功能性词语是限定词,如“的”、“一个”、“这”、“那”等。这些词语的使用较大的作用仅仅是协助一些文本的名词描述和概念表达。在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词。

我们选择_c2_seg_words列,接入一个 停用词处理 节点,自定义停用词列表如图:

输出结果如图:

3、TF-IDF

由于文本数据无法直接用于建模,因此需要将文本表示成计算机能够直接处理的形式,即文本数字化。TF-IDF算法即将文本数据进行数值化。TF意思是词频,IDF意思是逆文本频率指数,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF值越高,说明该词越重要。

我们接入 TF-IDF 算法进行抽取变换,输出结果如图:

整个的数据预处理流程图如下:

构建模型

本案例采用 随机森林 算法模型,通过特征选择_c2_seg_words_filtered_idf列,目标标签为target,整体模型训练预测如图:

随机森林参数配置如图:

模型评价

通过 评估 节点接入,如构建模型的整体模型训练预测图所示。评估结果如图:

分析结果得出F1分数达到0.91,说明该模型效果比较不错的。

该模型能较好地识别出垃圾短信,有效进行垃圾短信过滤,解决运营商及用户的困扰。并且由上述分析提出以下建议:

  • 对于垃圾短信过滤可结合传统匹配方法与基于内容的分类方法,不断优化识别模型以适应垃圾短信内容形式的不断变化。
  • 对于垃圾短信泛滥问题,应当健全法律机制,结合垃圾短信识别系统,从根源上进行遏制,从而建立一个良好的通信环境。

总结

本案例运用短信数据,对垃圾短信进行识别。重点介绍了文本数据的处理及转换过程,以及随机森林文本分类算法在实际案例中的应用。主要实现了垃圾短信的精确识别,通过获得以上挖掘结果,为相关运营商提供一种解决垃圾短信过滤问题的方案。