发明内容
本发明目的在于解决了针对当前移动终端应用种类繁多,对用户的使用和应用的管理产生极大不便的问题,提出了一种基于SVM(即:支持向量机)的移动终端应用分类方法和系统。
本发明解决其技术问题所采取的技术方案是:本发明提供一种基于SVM(即:支持向量机)的移动终端应用分类方法和系统,该系统是由终端应用消耗数据采集模块、数据类型指标模块、基于SVM的分类模块组成。终端应用消耗数据采集模块是检测应用在特定环境中消耗的各类资源数量,包括电量、流量、权限开放情况、测试时延、丢包率、延时抖动等作为应用分类的基础。数据类型指标模块是提供一个指标类型库,为前面采集到的数据处理提供依据,也是联接数据采集模块和分类模块的重要部分。并且为每一个采集到的数据按照分类作用的程度提供权重值。基于SVM的分类模块将处理后的终端数据利用向量机进行最终的分类。
本发明采用移动应用特征识别分类技术,是基于多种类型的移动终端应用,结合现有的特征识别和分类技术,支持向量机技术,对移动应用进行特征识别并实现聚类,从而将现有的智能终端移动应用划分为不同业务类型。本发明以即时通讯为主的带来信令影响的业务应用、以浏览类为主的与传统业务类似的业务应用、以流媒体、下载为主的带来流量影响的业务。在移动应用是属于某一测试的前提下,对移动应用进行分类。
本发明还提供一种基于SVM的移动终端应用分类系统的实现方法,该方法包括如下步骤:
步骤1:移动终端在采集模块采集被测试应用软硬件消耗数据之前,需要确保测试时长,测试内容都必须是在同一指标下。确保所有测试应用的在测试基本消耗数据时都在同一条件下。
步骤2:移动终端在测试前提条件下通过采集模块采集应用的各项基本软硬件消耗数据,再由数据发送模块将采集数据发送到服务端。
步骤3:服务端通过数据接收模块从移动终端获取基本的测试应用的采集数据,并发送到数据存储中心。
步骤4:数据中心主要保存着所有已被测试应用的基本消耗数据,所以对于第一次测试的应用可以直接将测试的消耗数据存储到数据存储中心,对于在数据中心存在对当前测试应用的历史记录则将新旧记录通过2:8的原则(即:原有测试记录数据的占8,新的测试记录数据的占2的比例)替换原有的数据记录。
步骤5:将数据中心最新的被测试应用的测试数据提取出来,而且需要对数据进行归一化预处理,即把原始数据规整到[0,1]范围内,再转换成测试应用的特征数据记录文件,最后发送到SVM分类中心。
步骤6:在SVM分类模块用于分类测试应用的采集数据之前,需要定义一个类库,用于存储已分类的应用的特征数据。所以创建一个特征类库文件。
步骤7:SVM分类模块通过特征库文件和新采集的应用测试记录文件得出应用的类型,最后将应用类型通过服务器端的发送模块发送到移动终端。
步骤8:移动终端接收模块获取服务器端的运行结果,最终给测试应用分类。
有益效果:
1、本发明是基于SVM的应用分类,构造移动应用的分类向量机,采用移动终端应用的软硬件消耗数据对应用分类。
2、本发明在服务器端增加数据存储中心,可使移动终端的新旧软硬件消耗数据通过数据存储中心整合,形成更合理的测试数据来提高分类的准确度。
3、本发明为动态的应用分类机制,分类的种类在服务器端能动态的控制。
具体实施方式
下面结合说明书附图对本发明作进一步地详细说明。
如图2和图3所示,本发明提供一种基于SVM的移动终端应用分类系统,该系统是由终端应用消耗数据采集模块、数据类型指标模块、基于SVM的分类模块组成。终端应用消耗数据采集模块是检测应用在特定环境中消耗的各类资源数量,包括电量、流量、权限开放情况、测试时延、丢包率、延时抖动等作为应用分类的基础。数据类型指标模块是提供一个指标类型库,为前面采集到的数据处理提供依据,也是联接数据采集模块和分类模块的重要部分。并且为每一个采集到的数据按照分类作用的程度提供权重值。基于SVM的分类模块将处理后的终端数据利用向量机进行最终的分类。
本发明采用移动应用特征识别分类技术,是基于多种类型的移动终端应用,结合现有的特征识别和分类技术,支持向量机技术,对移动应用进行特征识别并实现聚类,从而将现有的智能终端移动应用划分为不同业务类型。本发明以即时通讯为主而带来信令影响的业务应用、以浏览类为主而与传统业务类似的业务应用、以流媒体、下载为主的带来流量影响的业务。在移动应用是属于某一测试的前提下,对移动应用进行分类。
本发明的具体实施方式进一步包括如下:
1.客户端和服务器端的模型
本发明客户端负责被测试应用的软硬件消耗数据的采集和最终的分类结果显示,采集的数据交由服务器进行处理,包括数据中心新旧数据创建和合并替换,并进行归一化处理,分类的主要核心是使用SVM的支持向量技术,利用预先创建的分类特征文件,对测试数据分类,分类特征文件则是在整个分类系统分类高准确性的核心,需要通过测试大量各类不同的优秀应用获取的基本消耗数据来创建,保证了分类的准确度和对未来移动应用的友好性提供指导性的支持。
2.SVM的分类模块
本发明为了取得理想的分类结果,采用以径向基为核函数的SVM分类模型,并用交叉验证法对模型参数进行优化。将测试得到的移动应用的耗电量、软硬件消耗量、隐私安全等基本数据作为模型的特征输入值,将大量的测试数据作为训练集,由于这些参数值不是同一量纲,因此在进行训练之前,需要对数据进行归一化预处理,即把原始数据规整到[0,1]范围内。然后对支持向量机进行训练,用得到的模型对实时监测的数据进行分类,模型建立的整体流程如图所示。
因为移动应用种类的数目有限且可数,适合先采用静态分类方法。按照现有的移动应用业务不同,预先分为下面五类应用:网络浏览器类应用,即时通信类应用,社交网络、信息管理类应用,音视频分享类应用,游戏类应用。这样也能方便移动应用业务的拓展。对需要分析的移动应用可以使用向量机的分类算法,划分到上述的几大类的应用当中。
本发明为了识别应用的分类,需要先定义一个类库,用于存储已分类的应用的特征数据。所以创建一个特征类库文件。
文件格式:
[label] [index1]:[value1] [index2]:[value2]...
[label] [index1]:[value1] [index2]:[value2]...
一行一条记录数据,如:
+1 1:0.708 2:1 3:1 4:0.320 5:0.105 6:1
label或者说是class,就是要分类的种类,都设定为整数。
index是有顺序的索引,通常是连续的整数。
value就是用来测试的数据,都是一堆实数。
在本发明中label代表移动应用的分类如上所示,预分为五类,用各种不同的整数代表不同的种类,value则代表对每个应用测试所得的数据,将这些准备的特征数据生成model文件,则可用于对新输入的数据进行预测数据的类别。
综上所述,本发明基于SVM的应用分类,构造移动应用的分类向量机,采用移动终端应用的软硬件消耗数据对应用分类;本发明在服务器端增加数据存储中心,可使移动终端的新旧软硬件消耗数据通过数据存储中心整合,形成更合理的测试数据来提高分类的准确度;本发明为动态的应用分类机制,分类的种类在服务器端能动态的控制。
如图1所示,本发明还提供一种基于SVM的移动终端应用分类系统的实现方法,该方法包括如下步骤:
步骤1:移动终端在采集模块采集被测试应用软硬件消耗数据之前,需要确保测试时长,测试内容都必须是在同一指标下。确保所有测试应用的在测试基本消耗数据时都在同一条件下。
步骤2:移动终端在测试前提条件下通过采集模块采集应用的各项基本软硬件消耗数据,再由数据发送模块将采集数据发送到服务端。
步骤3:服务端通过数据接收模块从移动终端获取基本的测试应用的采集数据,并发送到数据存储中心。
步骤4:数据中心主要保存着所有已被测试应用的基本消耗数据,所以对于第一次测试的应用可以直接将测试的消耗数据存储到数据存储中心,对于在数据中心存在对当前测试应用的历史记录则将新旧记录通过2:8的原则(即:原有测试记录数据的占8,新的测试记录数据的占2的比例)替换原有的数据记录。
步骤5:将数据中心最新的被测试应用的测试数据提取出来,而且需要对数据进行归一化预处理,即把原始数据规整到[0,1]范围内,再转换成测试应用的特征数据记录文件,最后发送到SVM分类中心。
步骤6:在SVM分类模块用于分类测试应用的采集数据之前,需要定义一个类库,用于存储已分类的应用的特征数据。所以创建一个特征类库文件。
步骤7:SVM分类模块通过特征库文件和新采集的应用测试记录文件得出应用的类型,最后将应用类型通过服务器端的发送模块发送到移动终端。
步骤8:移动终端接收模块获取服务器端的运行结果,最终给测试应用分类。