一种集成浅层和深度学习的App分类方法技术

技术编号:20623672 阅读:55 留言:0更新日期:2019-03-20 14:55
一种集成浅层和深度学习的App分类方法,包括如下步骤:(1)将App名称输入互联网搜索引擎,对结果进行处理得到App文档;(2)基于向量空间模型抽取关键词分布特征,在此基础上采用浅层学习技术训练一个基分类器;(3)基于word2vec训练词向量,在此基础上采用卷积神经网络训练另一个基分类器;(4)设计一个协同学习框架,利用无标注样本对2个基分类器进行协同训练,并对训练结果进行融合得到最终的App分类器。本发明专利技术仅利用App名称实现对App的个性化分类;仅需要少量有标注样本即可建立准确率较高的分类模型;设计的协同学习框架考虑了不同基分类器的性能不平衡性,可减少无标注样本中噪声数据的影响。

An App Classification Method Integrating Shallow and Deep Learning

An App classification method that integrates shallow and deep learning includes the following steps: (1) input App name into Internet search engine and process the results to get App documents; (2) extract keyword distribution characteristics based on vector space model, and then train a basic classifier using shallow learning technology; (3) train word vectors based on word2vec, and adopt convolution spirit on this basis. Another base classifier is trained by network; (4) A collaborative learning framework is designed, and two base classifiers are trained by using unlabeled samples, and the final App classifier is obtained by fusing the training results. The invention realizes individualized classification of App only by using App name; only a small number of labeled samples are needed to establish a classification model with high accuracy; the designed cooperative learning framework takes into account the performance imbalance of different base classifiers, and can reduce the impact of noise data in unlabeled samples.

【技术实现步骤摘要】
一种集成浅层和深度学习的App分类方法
本专利技术涉及机器学习和自然语言处理技术,具体涉及一种基于集成学习的文本分类方法。
技术介绍
随着App数量的迅猛增长,将海量的App进行合理分类对App管理有着十分重要的意义,也是支持许多高级App相关服务(如App推荐、用户偏好画像)的必要步骤。虽然部分App下载平台(如GooglePlay,AppStore)已经对App进行了分类,但其仍有如下局限性:首先,下载平台的数据通常没有开放接口,无法被第三方程序和服务获取。其次,下载平台的类别体系是固定的,不能满足不同应用对类别体系的个性化需求。针对上述需求,许多现有方法采用机器学习技术对App进行分类。例如,H.Zhu、E.Chen、H.Xiong等人在“MobileAppclassificationwithenrichedcontextualinformation”(IEEETransactionsonMobileComputing13(2014):1550-1563)中从App名称和用户使用日志等数据中抽取特征建立App分类器。N.Chen、S.Hoi、S.Li等人在“SimApp:Aframeworkfordetectingsimilarmobileapplicationsbyonlinekernellearning”(WSDM2015:305-314)中从各类元数据(如开发商、评论、permission文件、App图标)中挖掘特征以评价App间的语义相似度。然而,现有基于机器学习的App分类方法仍存在以下问题:(1)依赖多种类型的数据:现有方法从App名称、开发商信息、评论信息、使用日志等多种类型数据中挖掘特征以建立分类模型,这极大的增加了系统的实现难度。事实上,最容易获取的App相关数据即App名称,因此设计仅基于App名称的App分类方法十分有必要。(2)需要大量有标注样本:现有方法需要大量有标注样本来训练分类模型。然而,在需要个性化类别体系的情况下,只能对App样本的类别进行人工标注,工作量极大。因此,实际操作过程中往往只能得到少量的有标注样本,大量样本是没有标注的。
技术实现思路
为了克服已有App分类方法的依赖多种类型的数据、需要大量有标注样本的不足,本专利技术提出了一种集成浅层和深度学习的App分类方法,该方法具有如下特性:(1)仅依赖App名称建立App分类模型。(2)利用少量有标注样本和大量无标注样本建立App分类模型。(3)由于浅层学习模型和深度学习模型通常性能差异较大,该方法为协同学习过程设计了一种有倾斜的样本挑选方案,以减少无标注样本中噪声数据的影响。本专利技术解决其技术问题所采用的技术方案是:一种集成浅层和深度学习的App分类方法,包括以下步骤:(1)基于互联网知识对App进行语义扩展,过程如下:(1-1)搜索片段获取:将App名称作为搜索关键词,输入互联网搜索引擎API,得到搜索片段;(1-2)App文档形成:对搜索片段进行过滤,合并剩下的搜索片段,形成App文档;(1-3)App文档预处理:对App文档进行分词、去停用词、App名称删除等操作;(2)构建基于浅层学习的App基分类器,过程如下:(2-1)关键词词典构建:对所有App文档中涉及的词进行去重汇总,计算每个词对每个App类型的权重,保留权重最高的部分词作为关键词,形成关键词词典;(2-2)特征向量计算:基于向量空间模型将每个App文档转化为一个向量,作为该App文档的特征向量;(2-3)基分类器训练:采用人工神经网络训练基分类器;(3)构建基于深度学习的App基分类器,过程如下:(3-1)词向量训练:基于word2vec训练得到每个词的向量表示;(3-2)基分类器训练:采用卷积神经网络训练基分类器;(4)基于半监督学习技术对两个基分类器进行协同学习,并对学习结果进行融合得到最终App分类器,过程如下:(4-1)复制样本集:为2个基分类器分别复制样本集;(4-2)有监督训练:基于有标注样本集,分别训练浅层学习基分类器和深度学习基分类器,并评测2个基分类器的准确度;(4-3)半监督训练:基于无标注样本集,对2个基分类器进行多轮协同训练;(4-4)算法迭代:迭代终止条件满足时,输出2个基分类器,否则转向步骤(4-2);(4-5)分类器融合:融合2个基分类器的识别结果,建立最终的App分类器。进一步,所述步骤(2)中,处理过程如下:(2-1)关键词词典构建:首先,对所有App文档中涉及的词进行去重汇总,得到词典W;然后,计算W中每个词对每个App类型的权重;计算W中第i个词wi对第j个App类型cj的权重w(i,j)如下公式,其中n(i,j)为wi在cj对应的所有App文档中出现的次数,C为App类型的集合;最后,为每个App类型取权重最高的kn个词作为其关键词,则可得到kn×|C|个关键词,形成关键词词典KW;(2-2)特征向量计算:将每个App文档d转化为一个|KW|维的向量vsm(d),其中vsm(d)的第i个分量代表KW中第i个关键词wi在d中的权重,计算方法如下公式;其中m(i,d)为wi在d中出现的次数,D为App文档的集合。则vsm(d)即为d的特征向量;(2-3)基分类器训练:基于有标注的App文档样本集L,采用人工神经网络训练基分类器SC。再进一步,所述步骤(3)中,处理过程如下:(3-1)词向量训练:将App文档集D作为语料库,采用word2vec进行词向量训练,设置词向量维度为k,则得到W中每个词对应的向量表示,词wi对应的向量表示为vi;(3-2)基分类器训练:采用卷积神经网络训练基分类器,其网络结构如图3所示,对网络结构的解释如下:输入层:将每个App文档处理成固定长度l,即固定包含l个词,并以词向量表示每个词,则每个App文档可被表示成一个l×k的矩阵,对长度大于l的App文档进行尾部截断,对长度小于l的App文档进行尾部填充全0向量;卷积层:采用3种不同大小的窗口,分别为3×k、4×k、5×k,同一窗口大小设置100个卷积核,则每个卷积核会产生一个fl维的卷积特征向量(fl=l-2、l-3或l-4),共300个卷积特征向量;池化层:采用Max-Pooling-Over-Time池化策略,即每个卷积特征向量只保留最大的那个值,拼接对所有卷积特征向量的池化结果得到一个300维的特征向量;输出层:采用“全连接层+Softmax”作为输出层,全连接层中采用Dropout机制防止过拟合。更进一步,所述步骤(4)中,给定有标注App文档样本集L和无标注App文档样本集U,对基分类器进行协同学习的过程如下:(4-1)复制样本集:复制样本集L1=L2=L,U1=U2=U;(4-2)有监督训练:基于L1,采用步骤(2)所述方法训练浅层学习基分类器SC;基于L2,采用步骤(3)所述方法训练深度学习基分类器DC,在此基础上,采用十折交叉验证评测SC和DC的准确度,记SC的准确度为PSC,DC的准确度为PDC;(4-3)半监督训练:首先,采用基分类器SC对U2中所有样本进行识别,为每个App类型cj挑选出识别置信度最高的min(nSC(j),m×PSC)个样本,其中,nSC(j)为SC在U2中识别结果为cj的样本的数量,本文档来自技高网
...

【技术保护点】
1.一种集成浅层和深度学习的App分类方法,其特征在于,所述方法包括以下步骤:(1)基于互联网知识对App进行语义扩展,过程如下:(1‑1)搜索片段获取:将App名称作为搜索关键词,输入互联网搜索引擎API,得到搜索片段;(1‑2)App文档形成:对搜索片段进行过滤,合并剩下的搜索片段,形成App文档;(1‑3)App文档预处理:对App文档进行分词、去停用词、App名称删除等操作;(2)构建基于浅层学习的App基分类器,过程如下:(2‑1)关键词词典构建:对所有App文档中涉及的词进行去重汇总,计算每个词对每个App类型的权重,保留权重最高的部分词作为关键词,形成关键词词典;(2‑2)特征向量计算:基于向量空间模型将每个App文档转化为一个向量,作为该App文档的特征向量;(2‑3)基分类器训练:采用人工神经网络训练基分类器;(3)构建基于深度学习的App基分类器,过程如下:(3‑1)词向量训练:基于word2vec训练得到每个词的向量表示;(3‑2)基分类器训练:采用卷积神经网络训练基分类器;(4)基于半监督学习技术对两个基分类器进行协同学习,并对学习结果进行融合得到最终App分类器,过程如下:(4‑1)复制样本集:为2个基分类器分别复制样本集;(4‑2)有监督训练:基于有标注样本集,分别训练浅层学习基分类器和深度学习基分类器,并评测2个基分类器的准确度;(4‑3)半监督训练:基于无标注样本集,对2个基分类器进行多轮协同训练;(4‑4)算法迭代:迭代终止条件满足时,输出2个基分类器,否则转向步骤(4‑2);(4‑5)分类器融合:融合2个基分类器的识别结果,建立最终的App分类器。...

【技术特征摘要】
1.一种集成浅层和深度学习的App分类方法,其特征在于,所述方法包括以下步骤:(1)基于互联网知识对App进行语义扩展,过程如下:(1-1)搜索片段获取:将App名称作为搜索关键词,输入互联网搜索引擎API,得到搜索片段;(1-2)App文档形成:对搜索片段进行过滤,合并剩下的搜索片段,形成App文档;(1-3)App文档预处理:对App文档进行分词、去停用词、App名称删除等操作;(2)构建基于浅层学习的App基分类器,过程如下:(2-1)关键词词典构建:对所有App文档中涉及的词进行去重汇总,计算每个词对每个App类型的权重,保留权重最高的部分词作为关键词,形成关键词词典;(2-2)特征向量计算:基于向量空间模型将每个App文档转化为一个向量,作为该App文档的特征向量;(2-3)基分类器训练:采用人工神经网络训练基分类器;(3)构建基于深度学习的App基分类器,过程如下:(3-1)词向量训练:基于word2vec训练得到每个词的向量表示;(3-2)基分类器训练:采用卷积神经网络训练基分类器;(4)基于半监督学习技术对两个基分类器进行协同学习,并对学习结果进行融合得到最终App分类器,过程如下:(4-1)复制样本集:为2个基分类器分别复制样本集;(4-2)有监督训练:基于有标注样本集,分别训练浅层学习基分类器和深度学习基分类器,并评测2个基分类器的准确度;(4-3)半监督训练:基于无标注样本集,对2个基分类器进行多轮协同训练;(4-4)算法迭代:迭代终止条件满足时,输出2个基分类器,否则转向步骤(4-2);(4-5)分类器融合:融合2个基分类器的识别结果,建立最终的App分类器。2.如权利要求1所述的一种集成浅层和深度学习的App分类方法,其特征在于,所述步骤(2)中,处理过程如下:(2-1)关键词词典构建:首先,对所有App文档中涉及的词进行去重汇总,得到词典W;然后,计算W中每个词对每个App类型的权重;计算W中第i个词wi对第j个App类型cj的权重w(i,j)如下公式,其中n(i,j)为wi在cj对应的所有App文档中出现的次数,C为App类型的集合;最后,为每个App类型取权重最高的kn个词作为其关键词,则可得到kn×|C|个关键词,形成关键词词典KW;(2-2)特征向量计算:将每个App文档d转化为一个|KW|维的向量vsm(d),其中vsm(d)的第i个分量代表KW中第i个关键词wi在d中的权重,计算方法如下公式;其中m(i,d)为wi在d中出现的次数,D为App文档的集合。则vsm(d)即为d的特征向量;(2-3)基分类器训练:基于有标注的App文档样本集L,采用人工神经网络训练基分类器SC。3.如权利要求1或2所述的一种集成浅层和深度学习的App分类方法,其特征在于,所述步骤(3)中,处理过程如下:(3-1)词向量训练:将App文档集D作为语料库,采用wor...

【专利技术属性】
技术研发人员:吕明琪黄超陈铁明
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1