APP下载

利用深度置信网络的中文短信分类

2016-05-14王贵新郑孝宗张浩然张小川

现代电子技术 2016年9期
关键词:短信深度学习

王贵新 郑孝宗 张浩然 张小川

摘 要: 为了提高垃圾短信的过滤效果,通过对中文短信内容和结构特点分析,提出了一种充分利用word2vec工具将短信内容转化为固定长度向量的特征提取算法。同时设计了深度置信网络进行学习和分类,实验表明其推广性能比已有报道结果提高了5%左右。

关键词: 深度置信网络; 深度学习; 受限波尔兹曼机; 短信

中图分类号: TN911?34; TP391 文献标识码: A 文章编号: 1004?373X(2016)09?0037?04

Abstract: To improve the filtering effect of spam SMS, a feature extraction algorithm is proposed to convert SMS content into fixed length vector with word2vec tool by the analysis of Chinese SMS content and structure characteristics. The deep belief nets (DBN) were designed to learn and classify. The experimental results show that the generalization performance is increased by about 5% in comparison with the reported results.

Keywords: deep belief net; deep learning; restricted Boltzmann machine; SMS

0 引 言

每年移动运营商和国家都花费了大量的人力和物力进行垃圾短信治理,但公众还是不满意治理效果。目前移动运营商主要采用软件过滤加人工干预的治理方式[1?3]。软件过滤的算法原理主要有3类:有监督学习、无监督学习和半监督学习。单纯的有监督学习[4?10]和无监督学习[11?12]在垃圾短信过滤过程中的效果还是值得肯定的[4?10],但这些学习和过滤算法目前已经不能适应于市场和机器学习环境,特别是深度学习算法理论的完善和应用发展为机器学习提供了广阔空间[13]。

由于没有公开的短信素材可以得到,利用以前所做项目收集的大约有300万条短信作为实验样本,该样本没有主、被叫号码、短信时间等涉及个人隐私的信息。本文首先提出充分利用word2vec工具,将短信内容转化为固定长度向量的特征提取算法;然后设计了适合短信过滤的深度置信网络对样本进行学习和分类。实验效果表明本文的方法是可行的,这为汉字内容分类提供了一种途径。

1 短信内容向量化

按照有关规定,需要把短信内容分为: 敏感政治信息、黄色信息、商业广告信息、违法犯罪信息、诈骗信息、正常信息等6大类(本文分别用zp,ss,sy,sh,sp,qt字母组合表示类名)。分类结果除了正常信息外,其余信息需要过滤和提交不同部门处理。将短信表示成为向量的过程主要需要三个步骤:短信预处理,短信分词,向量化。

1.1 预处理

预处理主要包括非正规字词替换(不妨称为短信内容的正规化过程)。比如:“公$$司*開發@PIAO,酒折优惠,欢迎拨打:I39XXXXXXXX”。短信需要根据系统的谐音库、拼音库、繁体库等标准进行内容转换。同时剔除内容里面不相关的符号。结果这条短信就是“公司开发票,9折优惠,欢迎拨打:139XXXXXXXX”。

假设所有的短信集合记为[S,]记正规化过程对应的函数为[f1,]经过正规化处理的短信集合记为[G,]上面的过程可表达为:[?s∈S,f1(s)∈G。]

1.2 分词

本文采用中国科学院计算技术研究所ICTCLAS系统(网址:ictclas.nlpir.org)分词。在分词后,如果内容包含有数字,需要按照下面要求处理:

价格数字、电话或联系号码数字、商品数字、日期时间数字、其他数字等数字内容分别用AA,BB,CC,DD,NN替换。比如:“公司开发票,9折优惠,欢迎拨打:139XXXXXXXX”,分词的结果应该是:“公司 开 发票 AA折 优惠 欢迎 拨打 BB”。

1.3 向量化

谷歌推出了将词语转换成词向量的工具word2vec (https://code.google.com/p/word2vec/)。工具的主要原理是Bengio模型[14]的一个改进和应用,Bengio模型主要理论是:设句子[S]依次由一系列关键词[w1,w2,…,wt]组成, [wi]向量化的过程如图1所示。

短信内容向量化算法过程描述如下:

(1) 每类按照一定比例取出大约21 280个训练样本。然后将每个短信正规化。

(2) 按照1.2节中的方法把正规化的短信进行分词(每个词语之间空格分隔),并形成如下的7个文本文件:rubbish.txt,所有样本的分词文件;zp.txt,ss.txt,sy.txt,sh.txt,sp.txt,qt.txt分别是敏感政治信息、黄色信息、商业广告信息、违法犯罪信息、诈骗信息、正常信息等6大类训练样本对应的分词文件。

(3) 对rubbish.txt,zp.txt,ss.txt,sy.txt,sh.txt,sp.txt,qt.txt,分别执行word2vec指令(格式:word2vec ?train 分词文件名 ?output 向量化结果文件名 ?cbow 0 ?size 5 ?window 10 ?negative 0 ?hs 1 ?sample 1e?3 ?threads 2 ?binary 0),分别得到向量化结果文件rubbish.out,zp.out,ss.out,sy.out,sh.out,sp.out,qt.out。

猜你喜欢

短信深度学习
道歉短信
代发短信
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
短信笑坛
“八一”节日短信之一