首页> 中国专利> 应用程序质量识别方法、装置、计算机设备和存储介质

应用程序质量识别方法、装置、计算机设备和存储介质

摘要

本申请涉及一种应用程序质量识别方法、装置、计算机设备和存储介质。所述方法包括:获取待识别应用程序所在应用程序集合对应的有向操作路径图;所述有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的;从所述有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成所述目标图节点对应的向量表示;所述目标图节点为所述待识别应用程序对应的图节点;根据所述向量表示对所述待识别应用程序进行分类,根据得到的分类结果确定所述待识别应用程序的质量识别结果。采用本方法能够提高应用程序质量识别的准确性。

著录项

  • 公开/公告号CN111177015A

    专利类型发明专利

  • 公开/公告日2020-05-19

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN202010283514.8

  • 发明设计人 梁华盛;颜强;

    申请日2020-04-13

  • 分类号

  • 代理机构广州华进联合专利商标代理有限公司;

  • 代理人唐彩琴

  • 地址 518000 广东省深圳市南山区高新区科技中一路腾讯大厦35层

  • 入库时间 2023-12-17 10:03:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-24

    授权

    授权

  • 2020-06-12

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20200413

    实质审查的生效

  • 2020-05-19

    公开

    公开

说明书

技术领域

本申请涉及计算机技术领域,特别是涉及一种应用程序质量识别方法、装置、计算机设备和存储介质。

背景技术

随着计算机技术的发展,出现了各种各样的应用程序,这些应用程序的质量参差不齐,用户需要花费较多时间去筛选满足需求的应用程序,为了避免低质量的应用程序对用户造成干扰,可以对应用程序进行质量识别。

传统技术中,通常是通过人工审核的方式对应用程序进行质量识别,这种方式受限于人工审核经验,得到的质量识别结果准确度不高。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高应用程序质量识别结果的应用程序质量识别方法、装置、计算机设备和存储介质。

一种应用程序质量识别方法,所述方法包括:

获取待识别应用程序所在应用程序集合对应的有向操作路径图;所述有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的;

从所述有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成所述目标图节点对应的向量表示;所述目标图节点为所述待识别应用程序对应的图节点;

根据所述向量表示对所述待识别应用程序进行分类,根据得到的分类结果确定所述待识别应用程序的质量识别结果。

一种应用程序质量识别装置,所述装置包括:

获取模块,用于获取待识别应用程序所在应用程序集合对应的有向操作路径图;所述有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的;

聚合模块,用于从所述有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成所述目标图节点对应的向量表示;所述目标图节点为所述待识别应用程序对应的图节点;

分类模块,用于根据所述向量表示对所述待识别应用程序进行分类,根据得到的分类结果确定所述待识别应用程序的质量识别结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取待识别应用程序所在应用程序集合对应的有向操作路径图;所述有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的;

从所述有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成所述目标图节点对应的向量表示;所述目标图节点为所述待识别应用程序对应的图节点;

根据所述向量表示对所述待识别应用程序进行分类,根据得到的分类结果确定所述待识别应用程序的质量识别结果。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取待识别应用程序所在应用程序集合对应的有向操作路径图;所述有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的;

从所述有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成所述目标图节点对应的向量表示;所述目标图节点为所述待识别应用程序对应的图节点;

根据所述向量表示对所述待识别应用程序进行分类,根据得到的分类结果确定所述待识别应用程序的质量识别结果。

上述应用程序质量识别方法、装置、计算机设备和存储介质,首先获取待识别应用程序所在应用程序集合对应的有向操作路径图,该有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的,那么可以从整体上反映用户对应用程序的满意程度,接着从所述有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成所述目标图节点对应的向量表示,由于该向量表示是从有向操作路径图中提取的特征进行聚合生成的,那么该向量表示可以反映用户对待识别应用程序的满意程度,最后根据所述向量表示对所述待识别应用程序进行分类,根据得到的分类结果确定所述待识别应用程序的质量识别结果,相当于根据用户的满意程度来识别待识别应用程序的质量,相较于传统技术的人工审核受限于经验的影响,用户的满意程度能够更加客观的反映待识别应用程序的质量,因此,本申请得到的质量识别结果准确性更高。

附图说明

图1为一个实施例中应用程序质量识别方法的应用环境图;

图2为一个实施例中应用程序质量识别方法的流程示意图;

图3为一个实施例中有向操作路径图的示意图;

图4为另一个实施例中应用程序质量识别方法的流程示意图;

图5为一个实施例中通过特征提取层聚合特征的流程示意图;

图6为一个实施例中通过目标图分类模型得到分类结果的过程示意图;

图7为又一个实施例中应用程序质量识别方法的流程示意图;

图7A为一个实施例中对原始图与反视图进行拼接的过程示意图;

图8为一个实施例中应用程序质量识别装置的结构框图;

图9为另一个实施例中应用程序质量识别装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的应用程序质量识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102和服务器104均可单独用于执行本申请实施例中提供的应用程序质量识别方法。终端102和服务器104也可协同用于执行本申请实施例中提供的应用程序质量识别方法。

需要说明的是,本申请实施例所指的应用程序可以是子应用程序或者是母应用程序。母应用程序是原生应用程序。原生应用程序是可直接运行于操作系统的应用桯序。子应用程序则是是一种不需要下载即可使用的应用程序,可在母应用程序提供的环境中实现,通过母应用程序进行启动、运行、关闭,为用户提供相应的业务服务。母应用程序可以是社交应用、专门支持子应用的专用应用、文件管理应用、邮件应用、购物应用或者游戏应用等。社交应用包括即时通信应用、SNS(Social Network Service,社交网站)应用或者直播应用等。子应用程序可以是社交应用、文件管理应用、邮件应用或者游戏应用等。母应用程序具体可以是微信(Wechat)、支付宝、今日头条等等,相应的子应用程序可以是小程序(MiniProgram)、公众号等。

还需要说明的是,本申请实施例提供的方案涉及人工智能的机器学习技术。人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。机器学习(Machine Learning, ML)是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。本申请具体通过如下实施例对涉及的机器学习技术进行说明:

在一个实施例中,如图2所示,提供了一种应用程序质量识别方法,本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备可以是上述图1中的终端102或服务器104。参照图2,该应用程序质量识别方法具体包括如下步骤:

步骤202,获取待识别应用程序所在应用程序集合对应的有向操作路径图;有向操作路径图是根据预设时间段内应用程序集合对应的操作序列得到的。

其中,待识别应用程序指的是需要进行质量识别的应用程序。待识别应用程序所在应用程序集合指的与待识别应用程序类型相同的所有应用程序组成的集合。具体来说,当待识别应用程序为子应用程序时,则待识别应用程序所在应用程序集合为同一母应用程序对应的所有子应用程序组成的集合,例如,母应用程序为微信,则应用程序集合可以为微信中所有小程序、公众号等组成的集合。当待识别应用程序为母应用程序时,则待识别应用程序所在应用程序集合为能够与待识别应用程序在同一搜索引擎中被搜到的所有应用程序组成的集合,例如,待识别应用程序为某个应用商店中的应用程序,则待识别应用程序所在应用程序集合为该应用商店中所有的应用程序组成的集合。

有向操作路径图指的是由图节点和图节点之间的有向连边组成的图数据集合,有向操作路径图是根据预设时间段内应用程序集合对应的操作序列得到的。有向操作路径图中每一个图节点代表应用程序集合中的一个应用程序。图节点之间的连边可以代表应用程序之间的跳转方向及跳转概率。每一个图节点有各自丰富的特征,包括一些常规的静态特征,例如类目、主体类型、认证类型、服务类型、注册时间等,还可以包括其他统计特征,例如增长率、点击率、更新频率等等。这些特征计算机设备可以从本地数据库或者其他计算机设备进行获取。

应用程序集合对应的操作序列指的是应用程序集合中的一部分或者全部应用程序在预设段内的操作序列。这里的操作指的是用户在进行搜索后,对搜索结果中展现的应用程序的选择操作,选择操作具体可以是触控选择操作、语音选择操作或者手势选择操作。触控选择操作具体可以是点击操作,例如鼠标按压点击、屏幕触摸点击。点击操作可以是单击或双击。操作序列指的是用户在一次搜索期间,所有选择操作对应的应用程序,按照时间先后顺序连接形成的序列。举个过程,用户A在某个搜索期间,依次点击应用程序1、应用程序1、应用程序3、应用程序4,则可以得到操作序列为应用程序1—>应用程序1—>应用程序3—>应用程序4。

这里的一次搜索可以理解为用户带着某个需求开始搜索应用程序,直到需求被满足或者被放弃而离开搜索引擎的整个过程。可以理解的是,通常情况下,如果用户对当前选择的应用程序满意,就不会再去搜索结果中选择其他应用程序,而一些低质量的应用程序,往往无法满足用户的实际需求,那么用户就会继续去搜索结果中选择其他应用程序,或者持续搜索其他结果进行需求满足,因此,用户在一次搜索期间内的点击序列能够反映该用户对当前搜索的应用程序的满意程度。那么根据应用程序集合对应的操作序列得到的有向操作路径图则可以从整体上反映用户对应用程序集合的满意程度。

具体地,计算机设备在对待识别应用程序进行质量识别时,首先需要获取该待识别应用程序所在应用程序集合对应的有向操作路径图。

在一个实施例中,计算机设备可以预先生成有向操作路径图并保存在本地,那么在进行质量识别时,计算机设备可以直接从本地存储器中获取有向操作路径图。在其他实施例中,计算机设备也可以通过网络从其他计算机设备获取有向操作路径图。

在一个实施例中,在获取待识别应用程序所在应用程序集合对应的有向操作路径图之前,方法还包括:获取预设时间段内,应用程序集合对应的操作日志集合,根据操作日志集合得到多个操作序列;将多个操作序列中的应用程序确定为有向操作路径图的图节点;根据多个操作序列中应用程序之间的排列关系,构建图节点之间的连边并确定每一条连边的方向,得到有向操作路径图。

其中,操作日志指的是对用户搜索过程中对搜索结果的选择操作进行记录得到的日志。操作日志集合指的是应用程序集合中的一部分或者全部应用程序在预设时间段内所有操作日志组成的集合。

具体地,计算机设备获取到预设时间段内应用程序集合对应的操作日志集合后,对每一个操作日志进行解析,得到该操作日志中各个应用程序的操作时间,根据操作时间先后顺序对各个应用程序进行排列形成对应的操作序列,从而得到多个操作序列。在得到多个操作序列后,计算机设备将多个操作序列涉及到的所有应用程序分别确定为有向操作路径图的图节点,并获取这些图节点的特征,然后根据多个操作序列中应用程序之间的排列关系构建图节点之间的连边并确定每一条连边的方向,得到有向操作路径图。

在确定连边的方向时,对于相邻的两个应用程序,连边的方向由排列在前的应用程序指向排列在后的应用程序。由于操作序列中的应用程序是按照时间先后排列的,也就是说用户在对搜索结果进行选择操作时,由排列在前的应用程序跳转至排列在后的应用程序,那么有向操作路径图中连边的方向也可以反映应用程序之间的跳转方向。通常而言,在进行跳转时,都是由低质量的应用程序跳转至高质量的应用程序。

可以理解的是,预设时间段可以根据需要进行设定。预设时间段越长,则得到的有向操作路径图包含的信息越丰富,能更好地反映用户对应用程序的满意程度。如果预设时间段设置的比较短,为了避免信息稀疏,计算机设备可以获取历史时间段内的操作序列,根据历史时间段内的操作序列及预设时间段内的操作序列一起来得到有向操作路径图。比如预设时间段设置为一天,而有些应用程序可能一周才有一个用户使用,那么可以获取过去30天内的操作序列与当天的操作序列一起来得到有向操作路径图。

在一个实施例中,当计算机设备与各个用户的终端可以通过网络通信时,计算机设备可以通过网络直接接收各个用户的终端发送的操作日志。在另外的实施例中,计算机设备也可以不与各个用户的终端直接通信,各个用户的终端可以将操作日志统一发送至对应的服务器,那么计算机设备可以直接从该服务器获取到预设时间段内的操作日志集合。

如图3所示,为一个实施例中,有向操作路径图的示意图。本实施例中,应用程序为小程序,用户想要搜索小程序进行高铁抢票,在该搜索需求下,总共包括7个小程序,根据用户的点击操作可以得到如图3所示的有向操作路径图。参照图3,虚线框内的5个小程序:“免费火车高铁动车抢票”、“火车高铁抢票时刻快速查询”、“高铁抢票工具”、“高铁抢票”、“高铁抢票神器”分别与“智行火车票”、“火车票管家火车票正晚点时刻表”之间存在连边,且连边的方向都是由这5个小程序分别指向“智行火车票”、“火车票管家火车票正晚点时刻表”,那么可以看出用户在对搜索结果进行点击时,当点击选中到虚线框内的5个小程序之间的任意一个时,都是不满意的,会继续进行点击,跳转至“智行火车票”或者“火车票管家火车票正晚点时刻表”,也就是说用户对“智行火车票”、“火车票管家火车票正晚点时刻表”的满意程度高些,那么显然地,虚线框内的5个小程序为低质量的小程序,而“智行火车票”、“火车票管家火车票正晚点时刻表”为高质量的小程序。

在一个实施例中,在根据多个操作序列中应用程序之间的排列关系,构建图节点之间的连边并确定每一条连边的方向,得到有向操作路径图之后,方法还包括:对于每一条连边,根据多个操作序列统计连边对应的源应用程序跳转至连边对应的目标应用程序的目标跳转次数;根据多个操作序列统计连边对应的源应用程序跳转至其他应用程序的跳转总次数;根据目标跳转次数及跳转总次数,确定连边的权重。

其中,由于连边的方向可以反映两个应用程序之间的跳转方向,那么连边所连接的图节点所代表的两个应用程序中,跳转方向所指向的图节点代表的应用程序可以称为目标应用程序,另一个图节点代表的应用程序可以称为源应用程序。参考图3,其中连接“免费火车高铁动车抢票”和“智行火车票”的连边对应的源应用程序为“免费火车高铁动车抢票”,目标应用程序为“智行火车票”。

具体地,对于每一条连边,计算机设备可以统计多个操作序列中,该连边对应的源应用程序与连边对应的目标应用程序直接相邻,且源应用程序排列在前的次数,得到源应用程序跳转至连边对应的目标应用程序的目标跳转次数,并进一步统计源应用程序在操作序列中出现且排列在其他应用程序之前的次数,得到连边对应的源应用程序跳转至其他应用程序的跳转总次数。可以理解,这里的其他应用程序指的是多个操作序列中,除该源应用程序之外的所有应用程序。

在得到目标跳转次数及跳转总次数,计算机设备可将目标跳转次数在跳转总次数中的占比作为连边的权重。可以理解的是,该权重同时也反映了连边对应的源应用程序跳转至连边对应的目标应用程序的跳转概率。

举个例子,某条连边对应的源应用程序为小程序a、目标应用程序为小程序b,根据多个操作序列统计得到a跳转至b的次数为3,a跳转至小程序c的次数为5,则连边的权重计算为:3 /(3+5)。

可以理解的是,对于有些连边,如果连接的两个图节点代表的应用程序之间可以相互跳转,那么这样的连边就存在两个跳转方向,可以把这样的连边看成是两条子连边的集合,不同的跳转方向对应不同的子连边,那么在计算该连边的权重时,可以分别计算两条子连边的权重,得到两个权重。

上述实施例中,在根据操作序列中的应用程序及应用程序之间的排列关系构建有向操作路径图后,对于有向操作路径图中的每一条连边,通过计算该连边对应的跳转概率来得到权重,最终得到的有向操作路径图能够很好的反映用户对应用程序的满意程度。

步骤204,从有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示;目标图节点为待识别应用程序对应的图节点。

其中,向操作路径图中每一个图节点代表一个应用程序,而目标图节点则指的是向操作路径图中待识别应用程序对应的图节点,用于代表目标应用程序。邻居节点指的是有向操作路径图中与目标图节点通过连边相连接的图节点。这里的连接可以是直接连接或者间隔连接。直接连接的图节点为直接邻居,也可以称之为一阶邻居。间接连接的图节点为间接邻居,间接邻居中,与目标图节点通过N条连边相连接的,称为N阶邻居。例如图3中,“免费火车高铁动车抢票”为“智行火车票”的直接邻居,“高铁抢票”为“智行火车票”的二阶邻居。

可以理解的是,在一个实施例中,由于图信息的传播通常是跟图中连边的方向是一致的,因此,目标图节点对应的邻居节点指的是前向邻居节点。前向邻居节点指的是与目标图节点通过入边连接的邻居节点,入边指的是从某个图节点出发指向目标图节点的连边。参考图3,“免费火车高铁动车抢票”和“智行火车票”之间的连边为“智行火车票”的入边,则“免费火车高铁动车抢票”为“智行火车票”的前向邻居节点。

与前向邻居节点相对的为后向邻居节点,后向邻居节点指的是与目标图节点通过出边连接的邻居节点,出边指的是从目标图节点出发指向其他图节点的连边。参考图3,“免费火车高铁动车抢票”和“智行火车票”之间的连边为“免费火车高铁动车抢票”的出边,则“智行火车票”为“免费火车高铁动车抢票”的后向邻居节点。

具体地,计算机设备从有向操作路径图中提取目标图节点对应的邻居节点的特征,特征提取的过程可以理解为对邻居节点的特征进行变换后映射至新的特征空间的过程,以达到降维的目的。特征提取的方法包括但不限于主成分分析法(PrincipalComponents Analysis,PCA),独立成分分析法(Independent Component CorrelationAlgorithm,ICA),线性判别分析法(Linear Discriminant Analysis,LDA)。提取到邻居节点的特征后,计算机设备进一步对提取到的特征进行聚合,聚合的过程可以理解为将提取到的各个节点的特征聚集到一起进行融合的过程,由于目标图节点和其邻居节点之间通常存在相似性,那么对邻居节点的特征进行聚合后,根据聚合得到的特征可以生成目标图节点对应的向量表示。这里所指的目标图节点对应的向量表示指的是目标图节点在有向操作路径图对应的图节点所在特征空间中的特征表达。

在一个实施例中,计算机设备对提取到的特征进行聚合具体可以是平均聚合,也就是对邻居节点的特征求平均。举个例子,假设提取到目标图节点的三个邻居节点的特征向量分别为[1,2,3,4]、[2,3,4,5]、[3,4,5,6],对每一维分别求平均得到的聚合特征为[2,3,4,5]。可以理解的是,在其他实施例中,计算机设备也可以采用其他方法对提取的特征进行聚合,例如可以对提取到的特征进行池化操作,本申请对特征聚合的方法不做限定。

在一个实施例中,计算机设备在对提取到的特征进行聚合时,可同时聚合目标图节点自身的特征,这样聚合得到的特征可以更好地对目标图节点进行表达。

在一个实施例中,计算机设备在对特征进行聚合后,可以对聚合得到的特征进行非线性变换,以增强特征表达能力。

步骤206,根据向量表示对待识别应用程序进行分类,根据得到的分类结果确定待识别应用程序的质量识别结果。

其中,分类结果指的是进行质量分类得到的类别,每一个分类结果对应一个质量识别结果。例如,当分类结果包括第一分类结果和第二分类结果时,则第一分类结果可以对应“低质量”、第二分类结果可以对应“高质量”。

具体地,由于目标图节点的向量表示可以对待识别应用程序进行表达,那么计算机设备在得到目标图节点的向量表示后,可以根据该向量表示对待识别应用程序的质量进行分类,得到分类结果,将分类结果对应的质量识别结果确定为待识别应用程序的质量识别结果。

上述应用程序质量识别方法中,首先获取待识别应用程序所在应用程序集合对应的有向操作路径图,该有向操作路径图是根据预设时间段内应用程序集合对应的操作序列得到的,那么可以从整体上反映用户对应用程序的满意程度,接着从有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示,由于该向量表示是从有向操作路径图中提取的特征进行聚合生成的,那么该向量表示可以反映用户对待识别应用程序的满意程度,最后根据向量表示对待识别应用程序进行分类,根据得到的分类结果确定待识别应用程序的质量识别结果,相当于根据用户的满意程度来识别待识别应用程序的质量,相较于传统技术的人工审核受限于经验的影响,用户的满意程度能够更加客观的反映待识别应用程序的质量,因此,本申请得到的质量识别结果准确性更高。

进一步,本申请通过生成向量表示并进行分类,实现了对待识别应用程序质量的自动识别,相较于传统技术的人工审核来识别质量,显然效率更高。

在一个实施例中,如图4所示,提供了一种应用程序质量识别方法,包括以下步骤:

步骤402,获取待识别应用程序所在应用程序集合对应的有向操作路径图;有向操作路径图是根据预设时间段内应用程序集合对应的操作序列得到的。

步骤404,获取目标图分类模型。

其中,图分类模型指的是用于对图数据进行分类的机器学习模型。机器学习模型是通过对样本进行机器学习以具备某种能力的数学模型。目标图分类模型指的是根据已标注的应用程序训练好的图分类模型。目标图分类模型包括但不限于是GCN(GraphConvolutional Network)模型、GraphSAGE(Graph Sample and Aggregate)模型。

在一个实施例中,目标图分类模型可以是计算机设备预先训练好并存储至本地的,那么计算机设备可以直接从本地存储器中获取到目标图分类模型。在其他实施例中,目标图分类模型也可以是其他计算机设备训练得到的,那么计算机设备可以通过网络从其他计算机设备获取到训练好的目标图分类模型。

步骤406,将有向操作路径图输入目标图分类模型的特征提取层中,通过特征提取层提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示。

其中,特征提取层指的是目标图分类模型中用于进行特征提取及聚合的网络层。特征提取层具体可以是用于对图数据进行卷积操作的卷积网络层。特征提取层可以是一层或多层的网络结构。

步骤408,将向量表示输入目标图分类模型的分类层中,得到分类结果,根据得到的分类结果确定待识别应用程序的质量识别结果。

其中,分类层指的是可以用于进行分类的网络层。分类层具体可以用全连接层和softmax函数实现。分类层输出的分类结果可以是各种形式。例如,分类结果可以为数字1或者向量(1 ,0);又例如,分类结果可以是包括各个分类类别的概率的向量。

本实施例中,通过获取目标图分类模型,由目标图分类模型的特征提取层提取特征并聚合,由目标图分类模型的分类层实现分类得到分类结果,借助于机器学习模型强大的学习能力,本实施例得到的分类结果更加准确,从而能够得到更加准确的质量识别结果。

在一个实施例中,如图5所示,将有向操作路径图输入目标图分类模型的特征提取层中,通过特征提取层提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示,具体包括以下步骤406A-406B:

步骤406A,从特征提取层的顶层开始,依次对有向操作路径图中各个网络层各自对应的候选邻居节点进行采样直至特征提取层的底层,得到有向操作路径图对应的有向子图。

其中,某个网络层对应的候选邻居节点指的是该网络层可以进行采样的邻居节点。

本实施例中,特征提取层在进行特征聚合时,首先需要对有向操作路径图进行邻域采样,邻域采样也就是采样目标图节点的邻居节点,最终得到一个有向子图,该有向子图相较于有向操作路径图,由于减少了图节点的数量,大大降低网络的复杂度。特征提取层包括多个网络层,将有向操作路径图输入特征提取层后,特征提取层的多个网络层自上而下,依次对有向操作路径图进行邻域采样,各个网络层分别采样不同阶数的邻居节点,从特征提取层的顶层开始,每下降一个网络层,采样的邻居节点的阶数相应的增加一阶,直至特征提取层的底层时,根据各个网络层采样得到的邻居节点得到有向子图。

如图6所示,为一个实施例中,通过目标图分类模型得到分类结果的过程示意图。参考图6,目标图分类模型的特征提取层包括三层网络层,根据网络深度依次为k=2层、k=1层及k=0层,在图6的第一个图中,展示的是各个网络层进行邻域采样的过程,可以看出,在k=2层时,采样的是目标图节点a本身,也就是0阶邻居,在k=1层时,该网络层的候选邻居节点为一阶邻居节点,从目标图节点a的四个一阶邻居节点中采样邻居节点c和邻居节点b,在k=0层时,该网络层的候选邻居节点为二阶邻居节点,采样目标图节点a的三个二阶邻居节点d、e、f,最终得到的有向子图是由图节点a、b、c、d、e、f及这些图节点之间的连边所形成的。

步骤406B,从特征提取层的底层开始,依次提取有向子图中各个网络层各自对应的目标邻居节点的特征并进行聚合,以更新对应的前一阶邻居节点的特征直至前一阶邻居节点为目标图节点时,生成目标图节点对应的向量表示。

其中,某个网络层对应的目标邻居节点指的是通过该网络层采样得到的邻居节点。

具体地,在得到有向子图后,特征提取层的多个网络层自下而上逐层提取并聚合各自对应的目标邻居节点的特征,在每一个网络层,聚合得到的特征用于更新该层对应的目标邻居节点的前一阶邻居节点的特征,这里的前一阶邻居节点,也就是该网络层对应的上一层网络层的目标邻居节点,这样,当前一阶邻居节点为目标图节点时,得到的向量表示相当于聚合了有向子图中所有目标邻居节点的特征。

可以理解的是,当某个网络层中的目标邻居节点对应不同的前一阶邻居节点时,将对应同一个前一阶邻居节点的目标邻居节点的特征进行提取并聚合以更新这些邻居节点共同对应的前一阶邻居节点。举个例子,假设某个网络层中包括10个目标邻居节点分别为目标邻居节点1、目标邻居节点2,……,目标邻居节点10,其中,目标邻居节点1、目标邻居节点2、目标邻居节点3对应的前一阶邻居节点为邻居节点A,目标邻居节点4、目标邻居节点5、目标邻居节点6对应的前一阶邻居节点为邻居节点B,其余4个目标邻居节点对应的前一阶邻居节点为邻居节点C,则提取目标邻居节点1、目标邻居节点2、目标邻居节点3的特征进行聚合以更新邻居节点A的特征,提取目标邻居节点4、目标邻居节点5、目标邻居节点6的特征进行聚合以更新邻居节点B的特征,提取其余4个目标邻居节点的特征进行聚合以更新邻居节点C的特征。

在一个实施例中,在根据聚合得到的特征更新对应的前一阶邻居节点的特征时,可以将聚合得到的特征与对应的前一阶邻居节点的特征进行拼接,并进行非线性转换以得到更新后的特征。

继续参考图6,在图6的第二个图中,展示了特征提取层聚合邻居节点的特征的过程,在k=0层时,提取目标邻居节点d、e、f的特征并进行聚合以更新对应的前一阶邻居节点c的特征,该邻居节点c也就是k=1层时的目标邻居节点,那么在k=1层时,提取该层对应的目标邻居节点b以及目标邻居节点c的特征并进行聚合,此时,由于目标邻居节点c聚合了邻居节点d、e、f,那么在k=1层聚合时,相当于聚合了邻居节点b、c、d、e、f的特征,由于在k=1层时,邻居节点b以及邻居节点c对应的前一阶邻居节点为目标图节点c,那么在聚合邻居节点b以及邻居节点c的特征对目标图节点c进行更新后,就可以得到目标图节点c的向量表示。

继续参考图6,在图6的第三个图中,将在k=2层时得到的向量表示输入到分类层后,可以得到对应的分类结果。

上述实施例中,由于目标图分类模型的特征提取层可以从有向操作路径图中采样目标图节点的邻居节点并聚合采样到的邻居节点的特征,也就是说目标图分类模型在训练的过程中学习到的是如何对特征进行聚合的能力,这种能力使得目标图分类模型在训练完成后,可以方便快捷地得到任意一个图节点的向量表示。

在一个实施例中,步骤406A从特征提取层的顶层开始,依次对有向操作路径图中各个网络层各自对应的候选邻居节点进行采样直至特征提取层的底层,得到有向操作路径图对应的有向子图包括:在特征提取层的网络层中,获取对应的候选邻居节点的目标连边的权重;根据目标连边的权重,确定候选邻居节点的采样权重;按照候选邻居节点的采样权重对候选邻居节点进行采样。

其中,目标连边为候选邻居节点与对应的前一阶邻居节点之间的连边。候选邻居节点的采样权重用于表征该候选邻居节点被采样的概率,采样权重越大,那么该候选邻居节点被采样到的概率也就越大。

可以理解的是,在有向操作路径图中,每一个邻居节点对于目标图节点的质量的贡献是不一样的,贡献越大,则说明该邻居节点的特征对目标图节点越重要,而连边的权重就是重要性的很好体现,由于连边的权重反映的是图节点代表的应用程序之间的跳转概率,显然,某个应用程序A跳转到另外一个应用程序B的跳转概率越高,则该应用程序A对应用程序B的质量贡献越大,也就是说某个邻居节点的目标连边的权重越大,则该邻居节点对目标节点的质量贡献越大,质量贡献越大的邻居节点,如果被采样到,那么传播给目标节点的特征就越能体现目标图节点对应的应用程序的质量。

基于此,在特征提取层的单个网络层中进行邻域采样时,计算机设备可以获取该网络层对应的每一个候选邻居节点的目标连边的权重,根据目标连边的权重,确定每一个候选邻居节点的采样权重,最后在进行采样时,按照采样权重来对这些候选邻居节点进行采样,以保证质量贡献较大的邻居节点能够以较大的概率被采样到,从而提高质量识别的准确性。

在一个实施例中,根据目标连边的权重,确定候选邻居节点的采样权重包括:获取目标图分类模型对应的第一超参数;根据第一超参数对目标连边的权重进行缩放,得到候选邻居节点的采样权重。

其中,超参数是在对模型训练之前设置的模型参数。

本实施例中,为了提高目标连边的权重大的候选邻居节点被采样的概率,可以对各个候选邻居节点的目标连边的权重根据第一超参数进行缩放来得到采样权重,具体缩放的公式参考下面的公式,其中,为采样权重,为候选邻居节点的目标连边的权重,为第一超参数:

举个例子,假设第一超参数为2,候选邻居节点A的目标连边的权重为0.1,候选邻居节点B的目标权重为0.4,则候选邻居节点A的采样权重为=0.01,而候选邻居节点B的采样权重为=0.16,可以看出,经过缩放之后,虽然候选邻居节点A对应的权重和候选邻居节点B对应的权重都减小了,但是显然邻居节点A对应的权重下降的幅度大些,也就是说通过缩放后得到的采样权重,可以提高权重大的候选邻居节点的采样概率。

在一个实施例中,步骤406B从特征提取层的底层开始,依次提取有向子图中各个网络层各自对应的目标邻居节点的特征并进行聚合,以更新对应的前一阶邻居节点的特征直至前一阶邻居节点为目标图节点时,生成目标图节点对应的向量表示包括:在特征提取层的网络层中,获取对应的目标邻居节点的目标连边的权重;目标连边为目标邻居节点与对应的前一阶邻居节点之间的连边;根据目标连边的权重,确定目标邻居节点的传播权重;对目标邻居节点进行特征提取并按照对应的传播权重对提取到的特征进行加权聚合,以更新对应的前一阶邻居节点的特征。

具体地,由于邻居节点的目标连边的权重越大时,该邻居节点对目标节点的质量贡献越大,传播给目标节点的特征就越能体现目标图节点对应的应用程序的质量,基于此,在本实施例中,在特征提取层的单个网络层中对每一个目标邻居节点进行特征提取时,可首先获取该目标邻居节点的目标连边的权重,根据目标连边的权重,确定该目标邻居节点的传播权重,用该传播权重来体现该目标邻居节点的特征对于目标图节点的重要性,最后在进行聚合时,可按照传播权重对各个目标邻居节点的特征进行加权聚合,以得到聚合特征,根据该聚合特征来更新对应的前一阶邻居节点的特征。

举个例子,假设某个网络层包括3个目标邻居节点,对这3个目标邻居节点提取特征分别为X、Y、Z,根据这3个目标邻居节点各自对应的目标连边的权重得到的传播权重分别为w1、w2、w3,则加权聚合得到的特征为:w1*X +w2*Y+w3*Z。

在一个实施例中,根据目标连边的权重,确定目标邻居节点的传播权重包括:获取目标图分类模型对应的第二超参数;根据第二超参数对目标连边的权重进行缩放,得到目标邻居节点的传播权重。

其中,第二超参数为预先设置的超参数。根据第二超参数对目标连边的权重进行缩放,具体可参考前文实施例中,根据第一超参数对目标连边的权重进行缩放的具体描述,本申请在此不赘述。

上述实施例中,通过得到的传播权重对提取的目标邻居节点的特征进行加权聚合,可以体现不同目标邻居节点的特征对目标图节点的质量贡献度,使得得到的向量表达能够更加准确地体现待识别应用程序的质量,从而提高质量识别的准确性。

在一个实施例中,如图7所示,提供了一种应用程序质量识别方法,包括以下步骤:

步骤702,获取待识别应用程序所在应用程序集合对应的有向操作路径图;所述有向操作路径图是根据预设时间段内所述应用程序集合对应的操作序列得到的。

步骤704,对有向操作路径图中各个连边的方向进行反转,得到有向操作路径图对应的反视图。

具体地,由于图信息的传播都是跟连边的方向是一致的,导致目标图节点能够接收到源图节点的特征,而源图节点无法接收到目标图节点的特征。而一个应用程序的质量判断,不仅与跳转到该应用程序的其他应用程序有关,还与该应用程序跳向了哪些应用程序有直接关联,但是仅仅根据得到的有向操作路径图没法传递这些应用程序的特征,因此,在本实施例中,引入了反视图,计算机设备通过将有向操作路径图(即原视图)中各个连边的方向进行反转,得到有向操作路径图对应的反视图。对连边的方向进行反转也就是将连边的方向调整为原方向的反方向,举个例子,假设连边A原来是由图节点1指向图节点2,那么反转后,连边的方向由图节点2指向图节点1。

在一个实施例中,对于反视图中的每一条连边,可以根据多个操作序列统计该连边对应的目标应用程序跳转至该连边对应的源应用程序的跳转次数,以及该连边对应的源应用程序跳转至其他应用程序的跳转总次数,来确定连边的权重。举个例子,若反视图中某个连边的方向代表应用程序1跳转至应用程序2,根据多个操作序列统计得到应用程序2跳转至应用程序1的次数为5,应用程序1跳转至其他应用程序的总次数为10,则该连边的权重为5/10=0.5。

步骤706,拼接反视图及有向操作路径图,得到拼接路径图。

具体地,在得到反视图后,计算机设备将原始图与反视图进行拼接,得到拼接路径图。

如图7A所示,为一个实施例中,对原始图与反视图进行拼接的过程示意图。其中,第一个图为原视图,第二个图为反视图,第三个图为拼接路径图。

步骤708,从拼接路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示。

具体地,由于拼接路径图中包括了原始图和反视图,在对原始图中的邻居节点进行采样时,可以聚合前向邻居节点的特征,而原始图中的后向邻居节点到了反视图中则变成了“前向邻居节点”,因此,通过聚合反视图中“前向邻居节点”的特征实际上就是聚合了目标图节点真正的后向邻居节点的特征,也就是说,本申请在引入反视图后,可以同时聚合目标图节点的前向邻居节点以及后向邻居节点的特征。

步骤710,根据向量表示对待识别应用程序进行分类,根据得到的分类结果确定待识别应用程序的质量识别结果。

上述实施例中,通过引入反视图,在进行特征聚合时,不仅能聚合前向邻居节点的特征,同时还能聚合后向邻居节点的特征,从而得到的聚合特征更加丰富,能够更加的表达目标图节点代表的应用程序的质量,提高分类的准确性,从而可以得到更加准确的质量识别结果。

在一个实施例中,目标图分类模型的训练步骤包括:获取未标注的应用程序作为第一训练样本;根据第一训练样本对初始图分类模型进行无监督训练,得到预训练图分类模型;获取已标注的应用程序作为第二训练样本,将已标注的应用程序对应的标注结果作为训练标签;根据第二训练样本及对应的训练标签对预训练图分类模型进行有监督地训练,得到目标图分类模型。

其中,未标注的应用程序以及已标注的应用程序均为待识别应用程序所在应用程序集合中的应用程序。已标注的应用程序对应的标注结果指的是该应用程序的质量识别结果。标注结果可以是通过审核得到的应用程序的质量识别结果。初始图分类模型指的是模型结构已经确定但是未进行参数初始化的图分类模型。初始图分类模型包括特征提取层和分类层。

具体地,应用程序集合中包含大量未标注的应用程序,这些未标注的应用程序中相似的应用程序显然具有相似的分类结果,那么计算机设备可以获取这些未标注的应用程序作为第一训练样本,根据第一训练样本对初始图分类模型进行无监督训练,在无监督训练的过程中,初始图分类模型自动学习第一训练样本所揭示的数据分布信息与类别之间的联系,训练完成后,可以得到初始图分类模型中各层网络层的参数,相当于对初始图分类模型进行了参数初始化,将参数初始化后的初始图分类模型作为预训练图分类模型。

在得到预训练图分类模型后,计算机设备可以进一步获取已标注的应用程序作为第二训练样本,将已标注的应用程序对应的标注结果作为训练标签,以对预训练图分类模型进行有监督地训练,在有监督训练的过程中,计算机设备将应用程序集合对应的有向操作路径图输入预训练图分类模型中,通过预训练图分类模型的特征提取层提取与第二训练样本对应的图节点的邻居节点的特征,对提取到的特征进行集合,生成与第二训练样本对应的图节点对应的向量表示,进一步将生成的向量表示继续输入分类层中,得到预测的分类结果,根据该预测的分类结果与训练标签对应的分类结果之间的差异来构建损失函数,再按照最小化该损失函数的方向调整预训练图分类模型的网络参数并继续训练,直至满足训练结束条件时,得到目标图分类模型。这里的训练结束条件包括但不限于:训练时间超过预设时长、调整网络参数的次数超过预设次数、预测的分类结果与训练标签对应的分类结果之间的差异小于预设阈值。

本实施例中,通过对初始图分类模型进行无监督训练,得到预训练图分类模型,再对预训练图分类模型进行有监督学习来得到目标图分类模型,由于模型的初始化参数不是通过随机初始化得到的,而是通过学习样本的数据分布信息得到的,那么这个初始化参数更接近全局优化,最终得到的目标图分类模型具有更好的分类效果。

可以理解的是,在其他实施例中,计算机设备也可以在对初始图分类模型进行随机参数初始化后,直接通过已标注的应用程序对初始图分类模型进行有监督地训练来得到目标图分类模型。

在一个实施例中,该应用程序质量识别方法还包括:接收应用程序搜索请求;应用程序搜索请求携带搜索条件;根据搜索条件确定对应的候选应用程序集合;获取候选应用程序集合中各个候选应用程序的质量识别结果,根据各个候选应用程序的质量识别结果确定应用程序搜索请求对应的搜素结果。

其中,搜索条件指的是用户搜索时输入的搜索文本。例如,用户想要在微信中搜索高铁抢票的小程序,可输入“高铁抢票”,此时,“高铁抢票”即为搜索条件。候选应用程序集合指的是所有候选应用程序组成的集合,候选应用程序指的是所有符合搜索条件的应用程序。

具体地,计算机设备在接收到用户触发的应用程序搜索请求后,通过解析该应用程序集合可获取其中携带的搜索条件,进一步确定符合该搜索条件的所有候选应用程序,得到候选应用程序集合,对于该候选应用程序集合中所有候选应用程序,可通过上文实施例中提供的方法确定对应的质量识别结果,最后,计算机设备可根据各个候选应用程序的质量识别结果确定目标应用程序,得到搜索结果。可以理解的是,这里的目标应用程序指的是最终呈现给用户的应用程序。

在一个实施例中,计算机设备在得到搜索条件后,可根据搜索条件进行意图识别,得到对应的搜索意图,从所有应用程序中获取符合该搜索意图的应用程序作为候选应用程序。其中,意图识别可采用现有技术中的各自意图识别方法,本申请在此不对意图识别的方法进行限定。

在一个实施例中,计算机设备在获取到各个候选应用程序的质量识别结果后,可过滤掉其中质量识别结果为预设质量识别结果的候选应用程序,将剩下的候选应用程序作为应用程序搜索请求对应的搜素结果。例如,质量识别结果包括“高质量”、“中等质量”、“低质量”时,可将质量识别结果为“低质量”的应用程序过滤掉。

在其他实施例中,计算机设备在获取到各个候选应用程序的质量识别结果后,可根据质量识别结果所表征的质量从高到低对候选应用程序进行排序,以保证高质量类型的候选应用程序排序在前,将低质量的应用程序排序在后,得到搜索结果。例如,质量识别结果包括“高质量”、“中等质量”、“低质量”时,则将质量识别结果为“高质量”的应用程序排序在前,将质量识别结果为“中等质量”的应用程序排序在质量识别结果为“高质量”的应用程序之后,最后排序质量识别结果为“低质量”的应用程序排序。

本实施中,在接收到应用程序搜索请求后,根据各个候选应用程序的质量识别结果来最终确定应用程序搜索请求对应的搜素结果,最终得到的搜索结果可以更好地满足用户的需求,提高搜索效率。

在一个具体的实施例中,提供了一种应用程序质量识别方法,包括以下步骤:

1、获取预设时间段内,待识别应用程序所在应用程序集合对应的操作日志集合,根据操作日志集合得到多个操作序列。

其中,待识别应用程序为小程序;小程序为目标应用程序的子应用程序;目标应用程序运行于操作系统,为子应用程序的运行提供环境。

2、将多个操作序列中的应用程序确定为有向操作路径图的图节点。

3、根据多个操作序列中应用程序之间的排列关系,构建图节点之间的连边并确定每一条连边的方向,得到有向操作路径图。

4、对于有向操作路径图的每一条连边,根据多个操作序列统计该连边对应的源应用程序跳转至连边对应的目标应用程序的目标跳转次数,根据多个操作序列统计该连边对应的源应用程序跳转至其他应用程序的跳转总次数,根据统计到的目标跳转次数及跳转总次数,确定该连边的权重。

5、获取有向操作路径图。

6、对有向操作路径图中各个连边的方向进行反转,得到有向操作路径图对应的反视图。

7、对于反视图的每一条连边,根据多个操作序列统计该连边对应的目标应用程序跳转至该连边对应的源应用程序的跳转次数,以及该连边对应的源应用程序跳转至其他应用程序的跳转总次数,根据统计到的目标跳转次数及跳转总次数,确定该连边的权重。

8、拼接反视图及有向操作路径图,得到拼接路径图。

9、获取目标图分类模型。

10、将拼接路径图输入目标图分类模型的特征提取层,从特征提取层的顶层开始,依次对拼接路径图中各个网络层各自对应的候选邻居节点进行采样直至特征提取层的底层,得到拼接路径图对应的有向子图。

其中,目标图分类模型的训练步骤包括:获取未标注的应用程序作为第一训练样本,根据第一训练样本对初始图分类模型进行无监督训练,得到预训练图分类模型;获取已标注的应用程序作为第二训练样本,将已标注的应用程序对应的标注结果作为训练标签;根据第二训练样本及对应的训练标签对预训练图分类模型进行有监督地训练,得到目标图分类模型。

具体地,在每一次采样时,获取该次采样的网络层对应的候选邻居节点的目标连边的权重,获取目标图分类模型对应的第一超参数,根据第一超参数对目标连边的权重进行缩放,得到候选邻居节点的采样权重,按照候选邻居节点的采样权重对候选邻居节点进行采样。其中,目标连边为候选邻居节点与对应的前一阶邻居节点之间的连边。

11、从特征提取层的底层开始,依次提取有向子图中各个网络层各自对应的目标邻居节点的特征并进行聚合,以更新对应的前一阶邻居节点的特征直至前一阶邻居节点为目标图节点时,生成目标图节点对应的向量表示。

具体地,在每一次特征提取与聚合时,获取该次特征提取与聚合的网络层对应的目标邻居节点的目标连边的权重,获取目标图分类模型对应的第二超参数,根据第二超参数对目标连边的权重进行缩放,得到目标邻居节点的传播权重,对目标邻居节点进行特征提取并按照对应的传播权重对提取到的特征进行加权聚合,以更新对应的前一阶邻居节点的特征。其中,目标连边为目标邻居节点与对应的前一阶邻居节点之间的连边。

12、将向量表示输入目标图分类模型的分类层中,得到分类结果,根据得到的分类结果确定待识别应用程序的质量识别结果。

应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种应用程序质量识别装置800,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块802、聚合模块804和分类模块806,其中:

获取模块802,用于获取待识别应用程序所在应用程序集合对应的有向操作路径图;有向操作路径图是根据预设时间段内应用程序集合对应的操作序列得到的;

聚合模块804,用于从有向操作路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示;目标图节点为待识别应用程序对应的图节点;

分类模块806,用于根据向量表示对待识别应用程序进行分类,根据得到的分类结果确定待识别应用程序的质量识别结果。

在一个实施例中,如图9所示,该装置还包括:路径图得到模块902,用于获取预设时间段内,应用程序集合对应的操作日志集合,根据操作日志集合得到多个操作序列;将多个操作序列中的应用程序确定为有向操作路径图的图节点;根据多个操作序列中应用程序之间的排列关系,构建图节点之间的连边并确定每一条连边的方向,得到有向操作路径图。

在一个实施例中,路径图得到模块902还用于对于每一条连边,根据多个操作序列统计连边对应的源应用程序跳转至连边对应的目标应用程序的目标跳转次数;根据多个操作序列统计连边对应的源应用程序跳转至其他应用程序的跳转总次数;根据目标跳转次数及跳转总次数,确定连边的权重。

在一个实施例中,如图9所示,该装置还包括:模型获得模块904,用于获取目标图分类模型;聚合模块804还用于将有向操作路径图输入目标图分类模型的特征提取层中,通过特征提取层提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示;分类模块806还用于将向量表示输入目标图分类模型的分类层中,得到分类结果。

在一个实施例中,特征提取层包括多个网络层;聚合模块804还用于从特征提取层的顶层开始,依次对有向操作路径图中各个网络层各自对应的候选邻居节点进行采样直至特征提取层的底层,得到有向操作路径图对应的有向子图;从特征提取层的底层开始,依次提取有向子图中各个网络层各自对应的目标邻居节点的特征并进行聚合,以更新对应的前一阶邻居节点的特征直至前一阶邻居节点为目标图节点时,生成目标图节点对应的向量表示。

在一个实施例中,聚合模块804还用于在特征提取层的网络层中,获取对应的候选邻居节点的目标连边的权重;目标连边为候选邻居节点与对应的前一阶邻居节点之间的连边;根据目标连边的权重,确定候选邻居节点的采样权重;按照候选邻居节点的采样权重对候选邻居节点进行采样。

在一个实施例中,聚合模块804还用于获取目标图分类模型对应的第一超参数;根据第一超参数对目标连边的权重进行缩放,得到候选邻居节点的采样权重。

在一个实施例中,聚合模块804还用于在特征提取层的网络层中,获取对应的目标邻居节点的目标连边的权重;目标连边为目标邻居节点与对应的前一阶邻居节点之间的连边;根据目标连边的权重,确定目标邻居节点的传播权重;对目标邻居节点进行特征提取并按照对应的传播权重对提取到的特征进行加权聚合,以更新对应的前一阶邻居节点的特征。

在一个实施例中,聚合模块804还用于获取目标图分类模型对应的第二超参数;根据第二超参数对目标连边的权重进行缩放,得到目标邻居节点的传播权重。

在一个实施例中,如图9所示,该装置还包括反视图获得模块906,用于对有向操作路径图中各个连边的方向进行反转,得到有向操作路径图对应的反视图,拼接反视图及有向操作路径图,得到拼接路径图;聚合模块804还用于从拼接路径图中提取目标图节点对应的邻居节点的特征,对提取到的特征进行聚合,生成目标图节点对应的向量表示。

在一个实施例中,如图9所示,该装置还包括模型训练模块908,用于获取未标注的应用程序作为第一训练样本;根据第一训练样本对初始图分类模型进行无监督训练,得到预训练图分类模型;获取已标注的应用程序作为第二训练样本,将已标注的应用程序对应的标注结果作为训练标签;根据第二训练样本及对应的训练标签对预训练图分类模型进行有监督地训练,得到目标图分类模型。

在一个实施例中,该装置还包括:搜索结果确定模块,用于接收应用程序搜索请求;应用程序搜索请求携带搜索条件;根据搜索条件确定对应的候选应用程序集合;获取候选应用程序集合中各个候选应用程序的质量识别结果,根据各个候选应用程序的质量识别结果确定应用程序搜索请求对应的搜素结果。

关于应用程序质量识别装置的具体限定可以参见上文中对于应用程序质量识别方法的限定,在此不再赘述。上述应用程序质量识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备具体可以是图1中的终端102或服务器104,该计算机设备的内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序质量识别方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号