论文部分内容阅读
随着近年通信技术的大幅进步,以及智能手机功能的逐步完善与用户量的日益增多,移动互联网行业得以极速发展,并已广泛融入于大众生活中,从而产生大量的用户推送信息。这些推送信息可反映出相关行业的发展情况,然而其内容过于繁杂,难以进行管理。如何对这些信息进行有效过滤和整理,挖掘其中潜在价值成为一个亟需解决的问题。本文主要研究了针对中文推送短消息的自动分类问题,根据文本数据的特点实现并改进了分类算法。首先研究了文本预处理的相关技术,选用合适的分词方法,对某公司的推送短消息文本进行分词处理。完成分词处理以后,使用卡方校验的方式选择文本特征,将降维的文本转化为稀疏向量的形式。之后通过kNN算法对四种文本相似性计算方法进行实验对比,根据实验结果选择了余弦相似度大小作为分类过程中查找近邻点的依据。然后,分析了kNN和决策树两种常用分类算法的优势与不足。由于kNN算法计算繁琐,耗时较长,本文提出了一种结合决策树的改进kNN文本分类算法TREE-kNN。通过CART决策树,完成文本数据的预分类,评价每个叶子节点的分类效果。对于评价较低的节点中对应的样本,它的比较范围缩小为仅包含该叶子节点所覆盖类别下的子训练集,再对其使用改进的kNN算法进行分类。通过对训练集中样本空间的划分,缩小了kNN分类过程中与待分类样本比较的训练样本范围,减少了余弦相似度的计算次数,从而提高分类速度。为了解决k值较大情况下提速不明显的问题,本文引入了类中心法优化了近邻样本的查询过程。实验结果显示,TREE-kNN算法的分类速度与传统kNN算法相比有了明显提升,分类结果的正确率也得到了提高。最后,本文基于上述分类方法设计和实现了针对大批量推送短消息数据的文本挖掘系统,用于统计分类后的文本数量分布情况,并对统计数据进行可视化处理。借助Spark平台,以并行化方式实现了文本特征选择和文本向量化;将文本分词,文本分类过程拆分成多个数据分区并行执行,提高了任务执行效率。文本分类完成后,利用Spark统计交易类文本的条数的时间分布和电商物流类文本条数的空间分布情况,保存到数据库中。同时采用Web技术,将统计数据的查询方法封装到Dubbo服务中,由系统的控制器模块向数据查询服务发起请求,将返回的统计数据发送到前端,前端利用Echarts把传来的数据绘制成图的形式渲染到页面中。通过这种方式,清楚的展现出了推送短消息文本的时空分布规律。