智能终端及其应用程序的自动分类方法
技术领域
本发明涉及智能电子设备技术领域,具体涉及一种智能终端及其应用程序的自动分类方法。
背景技术
随着电子技术的快速发展以及智能终端的大规模普及应用,可被智能终端安装的应用程序达到了百亿量级,因此如何对所要下载及安装的应用程序进行有效的分类与管理显得越来越重要。当前市场上的应用程序分类方法一般是基于云端服务器的大数据支持,或者将这部分大数据内置于智能终端。不过这类方法运算量大,维护复杂,可移植性较弱。
发明内容
鉴于此,本发明实施例提供一种智能终端及其应用程序的自动分类方法,无需依赖于云端服务器的大数据支持,也无需将这部分大数据内置于智能终端,维护简单,可移植性较强,且分类结果准确。
本发明一实施例的应用程序的自动分类方法,包括:从已划分为至少两个分类的多个应用程序的配置文件中提取有效特征;计算每个有效特征在各个分类中出现的概率;根据每个有效特征在各个分类中出现的概率以及朴素贝叶斯算法训练生成朴素贝叶斯分类器;从待分类的应用程序的配置文件中提取特征,并计算特征在各个分类中出现的概率;将特征在各个分类中出现的概率作为朴素贝叶斯分类器的输入参数,以得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个,从而将待分类的应用程序划分为概率最大的分类。
可选地,所述从已分类的多个应用程序的配置文件中提取有效特征的步骤,包括:从已分类的多个应用程序的配置文件中提取初始特征;获取每个分类中正向概率与逆向概率比值最大的初始特征,并将所述比值最大的初始特征作为有效特征。
可选地,所述初始特征的语种包括多类语种中的至少一类。
可选地,所述从待分类的应用程序的配置文件中提取特征的步骤,包括:对待分类的应用程序的配置文件进行语种识别,并对识别出的同一语种采用相同特征提取方法以得到特征。
可选地,所述根据每个有效特征在各个分类中出现的概率以及朴素贝叶斯算法训练生成朴素贝叶斯分类器的步骤,包括:将每个有效特征在各个分类中出现的概率转变为对数形式;所述得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个的步骤,包括:获取对数形式的特征在各个分类中出现的概率;将对数形式的特征在各个分类中出现的概率相加,并比较得到相加之和最大的一个。
本发明一实施例的智能终端,包括:提取模块,用于从已划分为至少两个分类的多个应用程序的配置文件中提取有效特征;计算模块,用于计算每个有效特征在各个分类中出现的概率;训练生成模块,用于根据每个有效特征在各个分类中出现的概率以及朴素贝叶斯算法训练生成朴素贝叶斯分类器;提取模块还用于从待分类的应用程序的配置文件中提取特征,计算模块还用于计算所述特征在各个分类中出现的概率;应用管理模块,用于将所述特征在各个分类中出现的概率作为朴素贝叶斯分类器的输入参数,以得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个,从而将待分类的应用程序划分为概率最大的分类。
可选地,提取模块从已分类的多个应用程序的配置文件中提取初始特征,并获取每个分类中正向概率与逆向概率比值最大的初始特征,从而将所述比值最大的初始特征作为有效特征。
可选地,所述初始特征的语种包括多类语种中的至少一类。
可选地,提取模块包括语言识别单元,用于对待分类的应用程序的配置文件进行语种识别,所述提取模块对识别出的同一语种采用相同特征提取方法以得到特征。
可选地,训练生成模块将每个有效特征在各个分类中出现的概率转变为对数形式;应用管理模块获取对数形式的所述特征在各个分类中出现的概率,并将对数形式的特征在各个分类中出现的概率相加,比较得到相加之和最大的一个,从而得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个。
有益效果:本发明实施例只需采样智能终端中多个应用程序的配置文件的特征,并结合朴素贝叶斯算法即可对待分类的应用程序进行分类,无需依赖于云端服务器的大数据支持,也无需将这部分大数据内置于智能终端,并且可表现为纯软件算法实现分类,维护简单,可移植性较强,且分类结果准确。
附图说明
图1是本发明的应用程序的自动分类方法一实施例的流程图;
图2是本发明的有效特征的提取方法一实施例的流程图;
图3是本发明的初始特征的提取方法一实施例的流程图;
图4是本发明的有效特征在分类中出现的概率的获取方法一实施例的流程图;
图5是本发明训练生成朴素贝叶斯分类器方法一实施例的流程图;
图6是本发明的未知应用程序的分类识别方法一实施例的流程图;
图7是本发明的应用程序的自动分类方法另一实施例的流程图;
图8是本发明的智能终端一实施例的原理框示意图;
图9是本发明的智能终端一实施例的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明所提供的各个示例性的实施例的技术方案进行清楚、完整地描述。在不冲突的情况下,下述各个实施例以及实施例中的特征可以相互组合。
请参阅图1,为本发明一实施例的应用程序的自动分类方法。所述应用程序的自动分类方法可以包括步骤S11~S15。
S11:从已划分为至少两个分类的多个应用程序的配置文件中提取有效特征。
S12:计算每个有效特征在各个分类中出现的概率。
S13:根据每个有效特征在各个分类中出现的概率以及朴素贝叶斯算法训练生成朴素贝叶斯分类器。
S14:从待分类的应用程序的配置文件中提取特征,并计算特征在各个分类中出现的概率。
S15:将特征在各个分类中出现的概率作为朴素贝叶斯分类器的输入参数,以得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个,从而将待分类的应用程序划分为概率最大的分类。
本发明实施例相当于为智能终端增加了一项未知应用程序自动分类的功能,所述未知应用程序可理解为从互联网上下载及所要安装的应用程序。在现实应用场景中,实现该功能的方式包括但不限于:以智能手机为例,首先,预先编程一脚本或程序,以在智能手机的设置界面中增加“未知应用程序自动分类”选项;然后,用户通过滑动滑块开启该选项。也就是说,本发明实施例可以通过能够在智能终端的操作系统上运行的脚本或程序自动进行上述步骤S11~S15。
上述方法可以分为三个阶段:第一阶段,建立特征库,包括步骤S11和S12;第二阶段,训练生成朴素贝叶斯分类器,包括步骤S13;第三阶段,识别未知应用程序的分类,包括步骤S14和S15。
第一阶段
本实施例可以从多个应用程序的配置文件中提取有效特征。参阅图2,提取有效特征的方法可以包括步骤S21和S22。
S21:从已分类的多个应用程序的配置文件中提取初始特征。
所述已分类的多个应用程序包括但不限于PMS(Plant Management System,设备管理系统)获取的终端已经下载及安装的应用程序,这些应用程序可视为已知分类的应用程序。
所述配置文件中包含有各个应用程序的ID(Identification,身份标识号)信息,例如labelRes(应用名地址)、descriptionRes(应用描述信息地址),从中获取应用程序的基准地址(又称首地址),并将其作为有效地址。而对于未能从ID中获取基准地址的情况,终端可以根据操作系统地址规则遍历该应用程序可能的地址,从而获取有效地址。
所述有效地址实际上就是一段字符串,终端提取其中的字符以作为初始特征。在提取过程中,终端可以对不同语种采用相对应的提取方法。具体地,终端可以采用ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)识别英语与其他语种的区别,以此筛选出配置文件中相同语种的有效地址。而后,针对不同语种使用不同的分词算法,分词后即可得到所述初始特征。也就是说,本实施例的初始特征的语种包括多类语种中的至少一类。
请结合图3,为本发明的提取初始特征一具体应用例,该具体应用实现本发明前述实施例的整个过程,在此不作赘述。
S22:获取每个分类中正向概率与逆向概率比值最大的初始特征,并将所述比值最大的初始特征作为有效特征。
鉴于采样的为已知分类的多个应用程序,即多个应用程序已经提前分类,本实施例可以建立多个文件夹,各个文件夹的命名为应用程序的包名,并建立多个文件夹与各个分类的一一映射关系。
对于通过分词算法得到的初始特征(字符串),本实施例计算每个分类的应用程序拥有某一初始特征的概率,即每个有效特征在各个分类中出现的概率,以作为该初始特征的正向概率,并且,计算不是该分类的应用程序拥有该初始特征的概率,以作为该初始特征的逆向概率。举例而言,以分类为Music的应用程序、初始特征为song为例,正向概率可理解为分类Music中拥有字符song的概率,逆向概率可理解为除分类Music之外的分类中拥有字符song的概率。正向概率和逆向概率是统计学领域普遍采用的概率统计方式,其计算原理及过程可参阅现有技术,此处不予以赘述。
进一步,对于各个分类中的各个初始特征,本实施例计算每一初始特征的正向概率与逆向概率的比值,并选取其中比值最大的初始特征作为该分类的有效特征。此步骤能够避免某一字符串作为有效特征在多个分类中重复出现,以减少后续对未知应用程序的分类的影响。
请结合图4,为本发明的计算每个有效特征在各个分类中出现的概率一具体应用例。在前述步骤S22之后,该具体应用将每个有效特征的正向概率作为其在各个分类中出现的概率。
第二阶段
结合图5所示,本实施可以以列表形式显示前述有效特征,以及统计的每个有效特征在各个分类中出现的概率。
结合朴素贝叶斯算法的关系式如下:
P(C│F1F2…Fn)=P(F1F2…Fn│C)*P(C)/P(F1F2…Fn)
P(F1F2…Fn│C)=P(F1│C)*P(F2│C)…P(Fn│C)
结合上述关系式,即可得到如下朴素贝叶斯关系式:
P(C│F1F2…Fn)=P(F1│C)*P(F2│C)…P(Fn│C)*P(C)/P(F1F2…Fn)
其中,F1,F2,…Fn表示各个有效特征,C表示其中一个分类,P(C│F1F2…Fn)表示当一个未知应用程序拥有F1,F2,…Fn这些特征时它是分类C的概率,P(F1F2…Fn│C)表示分类C拥有有效特征F1,F2,…Fn的概率,P(C)表示所有分类中为分类C的概率,P(F1F2…Fn)表示所有分类拥有有效特征F1,F2,…Fn的概率,P(F1│C)表示分类C中拥有有效特征F1的概率,P(F2│C)表示分类C中拥有有效特征F2的概率,P(Fn│C)表示分类C中拥有有效特征Fn的概率。
由于采样的有效特征较多,且计算得到的上述概率均小于1,上述多个概率相乘会出现尾数丢失的问题,因此本实施例优选将每个有效特征在各个分类中出现的概率转变为对数形式。也就是说,将上述朴素贝叶斯关系式进行对数转换,以得到如下对数关系式:
log(P(C│F1F2…Fn))=log(P(F1│C))+log(P(F2│C))…+log(P(Fn│C))+log(P(C))-log(P(F1F2…Fn))
该对数关系式即可视为朴素贝叶斯分类器。在该对数关系式中,多个分类中的各分类的log(P(C))和log(P(F1F2…Fn))相等,因此只需将以对数形式表示的各个分类中分别拥有有效特征F1,F2,…Fn的概率相加,并比较得到相加之和最大的一个,即可将未知应用程序划分为相加之和最大的分类。换言之,通过该关系式,本实施例可以得到在拥有有效特征F1,F2,…Fn时未知应用程序为相加之和最大的分类的正向概率,反言之,将关系式中的分类C换为多个分类中的其他分类,得到不是该相加之和最大的分类拥有有效特征F1,F2,…Fn的概率,即相加之和最大的分类的逆向概率。
第三阶段
结合图6所示,从待分类的应用程序的配置文件中提取特征,所述特征的提取方法与第一阶段的初始特征的提取方法相同,例如,首先从配置文件中包含的应用程序的ID信息中提取有效地址,而后对其进行语种识别,最后采用与识别的语种相对应的分词算法对有效地址的字符串进行分词,从而得到至少一个特征。进一步地,本阶段提取的特征属于第一阶段采样的有效特征的一部分,通过结合上述有效特征的正向概率即可得到本阶段提取的每个特征在各个分类中出现的概率。
如果本阶段提取的特征为F1,F3,F6,Fn,多个分类C包括A,B,D,则上述朴素贝叶斯分类器的对数关系式即可表示为:
log(P(C│F1F3F6Fn))=log(P(F1│C))+log(P(F3│C))+log(P(F6│C))+log(P(Fn│C))+log(P(C))-log(P(F1F3F6Fn))
将已知的特征在各个分类A,B,D中出现的概率log(P(F1│C))、log(P(F3│C))、log(P(F6│C))、log(P(Fn│C)),作为参数输入朴素贝叶斯分类器,基于前述中log(P(C))-log(P(F1F2…Fn))相等,因此只需比较log(P(F1│A))+log(P(F3│A))+log(P(F6│A))+log(P(Fn│A))、log(P(F1│B))+log(P(F3│B))+log(P(F6│B))+log(P(Fn│B))、log(P(F1│D))+log(P(F3│D))+log(P(F6│D))+log(P(Fn│D))中最大的一个,即可将待分类的应用程序划分为该相加之和最大的分类。
请参阅图7,为本发明的应用程序的自动分类方法一具体应用例。该应用例实现本发明前述实施例的整个过程,在此不作赘述。
由上述可知,本发明实施例只需采样智能终端中多个应用程序的配置文件的特征,并结合朴素贝叶斯算法即可对待分类的应用程序进行分类,无需依赖于云端服务器的大数据支持,也无需将这部分大数据内置于智能终端,也可以实现准确分类,维护方便,成本较低,并且可以适用于不同语种,通用性很高,另外上述各个步骤可由纯软件算法实现,即通过纯软件算法实现分类,维护简单,可移植性较强。
应该理解到,上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可存储在一个电子设备可读取存储介质中,即本发明实施例可以以软件产品的形式体现出来,其包括若干指令用以使得一台智能终端执行本发明各实施例所述方法的全部或部分步骤。
请参阅图8,为本发明一实施例的智能终端。所述终端80可以包括提取模块81、计算模块82、训练生成模块83和应用管理模块84。提取模块81用于从已划分为至少两个分类的多个应用程序的配置文件中提取有效特征。计算模块82用于计算每个有效特征在各个分类中出现的概率。训练生成模块83用于根据每个有效特征在各个分类中出现的概率以及朴素贝叶斯算法训练生成朴素贝叶斯分类器。提取模块81还用于从待分类的应用程序的配置文件中提取特征。计算模块82还用于计算所述特征在各个分类中出现的概率。应用管理模块84用于将所述特征在各个分类中出现的概率作为朴素贝叶斯分类器的输入参数,以得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个,从而将待分类的应用程序划分为概率最大的分类。
为了避免某一字符串作为有效特征在多个分类中重复出现,以减少后续对未知应用程序的分类的影响,所述提取模块81可以从已分类的多个应用程序的配置文件中提取初始特征,并获取每个分类中正向概率与逆向概率比值最大的初始特征,从而将所述比值最大的初始特征作为有效特征。
其中,初始特征的语种包括多类语种中的至少一类。提取模块81可以对不同语种采用相对应的提取方法,具体地,提取模块81的语言识别单元811对多个应用程序的配置文件进行语种识别,而后提取模块81采用相对应的分词算法得到初始特征。基于此,语言识别单元811可以对待分类的应用程序的配置文件进行语种识别,所述提取模块81对识别出的同一语种采用相同特征提取方法以得到特征。
由于采样的有效特征较多,且计算得到的上述概率均小于1,上述多个概率相乘会出现尾数丢失的问题,因此本实施例优选训练生成模块83将每个有效特征在各个分类中出现的概率转变为对数形式。对应地,在对未知应用程序进行分类时,应用管理模块84获取对数形式的所述特征在各个分类中出现的概率,并将对数形式的特征在各个分类中出现的概率相加,比较得到相加之和最大的一个,从而得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个。
本发明实施例的智能终端80的上述模块对应执行上述各个实施例的应用程序的自动分类方法,具有与其相同的技术效果。
应该理解到,上述模块的划分为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如两个模块可以集成到另一个系统中,或一些特征可以忽略,或不执行。另外,模块相互之间的连接可以通过一些接口,也可以是电性或其它形式。上述模块既可以采用软件功能框的形式实现,也可以采用例如图9所示的硬件的形式实现。
参阅图9,所述智能终端80包括至少一个处理器91、至少一个存储器92以及至少一个通信总线93,通信总线93用于处理器91调用各种数据,存储器92用于存储程序指令。为了方便说明,图9所示处理器91、存储器92以及通信总线93的数量为一个。
其中,所述处理器91用于:
执行程序指令以从已划分为至少两个分类的多个应用程序的配置文件中提取有效特征,并计算每个有效特征在各个分类中出现的概率;
执行程序指令以根据每个有效特征在各个分类中出现的概率以及朴素贝叶斯算法训练生成朴素贝叶斯分类器;
执行程序指令以从待分类的应用程序的配置文件中提取特征,并计计算所述特征在各个分类中出现的概率;
执行程序指令以将所述特征在各个分类中出现的概率作为朴素贝叶斯分类器的输入参数,以得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个,从而将待分类的应用程序划分为概率最大的分类。
为了避免某一字符串作为有效特征在多个分类中重复出现,以减少后续对未知应用程序的分类的影响,处理器91可以从已分类的多个应用程序的配置文件中提取初始特征,并获取每个分类中正向概率与逆向概率比值最大的初始特征,从而将比值最大的初始特征作为有效特征。
其中,初始特征的语种包括多类语种中的至少一类。处理器91可以对不同语种采用相对应的提取方法,具体地,处理器91对多个应用程序的配置文件进行语种识别,而后采用相对应的分词算法得到初始特征。基于此,处理器91可以对待分类的应用程序的配置文件进行语种识别,并对识别出的同一语种采用相同特征提取方法以得到特征。
由于采样的有效特征较多,且计算得到的上述概率均小于1,上述多个概率相乘会出现尾数丢失的问题,因此本实施例优选处理器91将每个有效特征在各个分类中出现的概率转变为对数形式。对应地,在对未知应用程序进行分类时,处理器91获取对数形式的所述特征在各个分类中出现的概率,并将对数形式的特征在各个分类中出现的概率相加,比较得到相加之和最大的一个,从而得到在具有所述特征时待分类的应用程序为各个分类的概率中最大的一个。
本发明实施例全文所述的终端(包括智能终端80)可以为智能手机、PDA(PersonalDigital Assistant,个人数字助理或平板电脑)等移动终端,也可以是佩戴于肢体或者嵌入于衣物、首饰、配件中的可穿戴设备,还可以是其他具有应用程序下载及安装的智能电子设备。
需要说明,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。