首页> 中国专利> 应用程序动态行为的特征向量的生成方法及装置

应用程序动态行为的特征向量的生成方法及装置

摘要

一种应用程序动态行为的特征向量的生成方法,包括:获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征,并为该动态行为特征生成对应的原始特征向量;根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵;根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量,并输出。此外,本发明还提供一种应用程序动态行为的特征向量的生成装置。上述应用程序动态行为的特征向量的生成方法及装置,可减少应用程序动态行为的特征向量的表示长度,并使得相近似的动态行为特征他们的向量表示也相近。

著录项

  • 公开/公告号CN104392174A

    专利类型发明专利

  • 公开/公告日2015-03-04

    原文格式PDF

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

    申请/专利号CN201410570820.4

  • 发明设计人 杨宜;于涛;李璐鑫;

    申请日2014-10-23

  • 分类号G06F21/56(20130101);

  • 代理机构31264 上海波拓知识产权代理有限公司;

  • 代理人杨波

  • 地址 518000 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-12-17 04:23:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-06

    授权

    授权

  • 2015-04-01

    实质审查的生效 IPC(主分类):G06F21/56 申请日:20141023

    实质审查的生效

  • 2015-03-04

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及一种应用程序动态行为的特征向量的生成方法及装置。 

背景技术

应用程序的动态行为是指应用程序在运行时发生的一系列行为,例如:创建新文件进程、进程退出、创建本地线程、枚举进程、隐藏窗口创建进程、创建可执行文件、打开文件等等。在恶意程序分析中,通常需要获取程序的动态行为,并通过这些行为去判断该程序是否为恶意程序。随着机器学习技术的发展,机器学习技术也被应用到恶意程序分析领域。为使用机器学习技术对恶意软件进行分析,需要将获取的程序的动态行为特征转换为机器学习模型可以进行识别和计算的向量。 

现有技术在处理这些动态行为特征时,会把每一个特征表示为一个很长的向量,这个向量的维度是特征总数大小,其中只有一个维度的值是1,这个维度代表了当前的动态行为特征,其他维度的值是0。 

例如:假设共有V种不同特征,然后为每一个动态行为分配一个特征标识,则“创建新文件进程”,可以被表示为:“创建本地线程”,可以被表示为:在获取到这些特征点后,可以将其进行拼接或相加或进行其他处理,作为该程序的向量表示。例如:将上述两个特征拼接为:或者,将上述两个特征进行相加为:

通过上述向量表示方式可以发现,现有技术存在着以下问题:1、向量维度较大,影响后续的存储和计算的性能;2、没有考虑到动态行为特征之 间的上下文关系和相互联系。 

发明内容

有鉴于此,本发明提供一种应用程序动态行为的特征向量的生成方法及装置,可减小应用程序动态行为的特征向量的表示长度,并使得相近似的动态行为特征他们的向量表示也相近。 

本发明实施例提供的一种应用程序动态行为的特征向量的生成方法,包括:获取多个应用程序的动态行为记录数据,根据所述动态行为记录数据获取所述应用程序的动态行为特征,并为所述动态行为特征生成对应的原始特征向量;根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型,求解所述预测模型得到特征向量变换矩阵;根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量,并输出。 

本发明实施例提供的一种应用程序动态行为的特征向量的生成装置,包括:获取模块,用于获取多个应用程序的动态行为记录数据,根据所述动态行为记录数据获取所述应用程序的动态行为特征;生成模块,用于为所述获取模块获取的所述动态行为特征生成对应的原始特征向量;建模模块,用于根据所述原始特征向量,建立用于预测所述应用程序的动态行为特征的预测模型;运算模块,用于求解所述建模模块建立的所述预测模型得到特征向量变换矩阵;所述运算模块,还用于根据所述特征向量变换矩阵以及所述原始特征向量获得所述动态行为特征的目标特征向量;输出模块,用于输出所述目标特征向量。 

本发明实施例提供的应用程序动态行为的特征向量的生成方法及装置,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个 预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度。 

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。 

附图说明

图1示出了一种终端设备的结构示意图; 

图2为本发明第一实施例提供的应用程序动态行为的特征向量的生成方法的流程图; 

图3为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法的流程图; 

图4为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法中Skip-Gram模型的示意图; 

图5为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法中窗口的示例图; 

图6为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法中Continues bag of words模型的示意图; 

图7为本发明第三实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图; 

图8为图7的存储环境示意图; 

图9为本发明第四实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图。 

具体实施方式

为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、 特征及其功效,详细说明如后。 

本发明实施例提供的应用程序动态行为的特征向量的生成方法可应用于如图1所示的终端设备100中,实现对应用程序动态行为的特征向量的生成。 

图1示出了一种终端设备的结构框图。如图1所示,终端设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、显示模块112、按键模块114。这些组件通过一条或多条通讯总线/信号线116相互通讯。 

可以理解,图1所示的结构仅为示意,终端设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。 

存储器102可用于存储软件程序以及模块,如本发明实施例中的应用程序动态行为的特征向量的生成方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序动态行为的特征向量的生成方法。 

存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至终端设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。 

处理器106运行存储器102内的各种软件、指令以执行终端设备100的各种功能以及进行数据处理。 

外设接口108用于将各种外部设备耦合至CPU以及存储器102。 

在一些实施例中,存储控制器104、处理器106以及外设接口108可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。 

射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通信网络或者其他设备进行通讯。射频模块110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code division multiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocol,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。 

显示模块112在终端设备100与用户之间提供一个输出界面,向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。可以理解的,显示模块112还可以在终端设备100与用户之间同时提供一个输出及输入界面。具体地,除了向用户显示视频输出之外,显示模块112还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做 出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。显示模块112的具体实例包括但并不限于液晶显示器或发光聚合物显示器。 

按键模块114同样提供用户向终端设备100进行输入的接口,用户可以通过按下不同的按键以使终端设备100执行不同的功能。 

第一实施例 

请参阅图2,图2为本发明第一实施例提供的应用程序动态行为的特征向量的生成方法的流程图。如图2所示,本实施例提供的应用程序动态行为的特征向量的生成方法包括: 

步骤S101,获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征,并为该动态行为特征生成对应的原始特征向量; 

具体地,终端设备100接收用户的获取指令,根据该获取指令的指示,获取对应的海量应用程序,并通过沙箱或虚拟机模拟运行上述海量应用程序,以获取上述海量应用程序在运行过程中产生的动态行为的记录数据。然后,根据该动态行为的记录数据获取各应用程序的动态行为,并根据预置的划分规则,对获取的动态行为进行划分,将划分的每一组动态行为作为该应用程序的一种动态行为特征并为其分配一个对应的特征标识,并根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 

上述应用程序可以包括:可执行的恶意程序和非恶意程序。 

步骤S102,根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵; 

本步骤也可以理解为将上述各动态行为特征的原始特征向量输入用于预测该应用程序的动态行为特征的预测模型进行训练,以获得模型参数特征向量变换矩阵。该预测模型的原理是将位于高维离散空间(维数为动态行为的特征数目)中的每个动态行为的特征映射到低维(K维)连续空间 的实数向量。具体地,该预测模型可以为Skip-Gram模型或Continues bag of words模型。 

步骤S103,根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量,并输出。 

对于每一种动态行为特征来说,该动态行为特征的原始特征向量与特征向量变换矩阵的乘积就为其目标特征向量。 

本发明实施例提供的应用程序动态行为的特征向量的生成方法,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度,进而减小为存储上述特征向量所占用的存储空间,提高运算速度。 

第二实施例 

请参阅图3,图3为本发明第二实施例提供的应用程序动态行为的特征向量的生成方法的流程图。如图3所示,本实施例提供的应用程序动态行为的特征向量的生成方法包括: 

步骤S201,获取多个应用程序的动态行为记录数据; 

具体地,终端设备100接收用户的获取指令,根据该获取指令的指示,获取对应的海量应用程序。该应用程序可以包括:可执行的恶意程序和非恶意程序。 

于本实施例中,终端设备100可通过启动沙箱或虚拟机,在虚拟环境下运行上述海量应用程序,并通过调用监控程序获取上述海量应用程序在运行过程中产生的动态行为的记录数据。 

步骤S202,根据该记录数据获取该应用程序的动态行为特征,并为该动态行为特征生成对应的原始特征向量。 

具体地,终端设备100根据上述多个应用程序的动态行为记录数据,获取各应用程序的动态行为,并根据预置的划分规则,对获取的动态行为进行划分,以获取各应用程序的动态行为特征;然后将划分的每一组动态行为作为该应用程序的一种动态行为特征并为其分配一个对应的特征标识,并根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 

于本实施例中,可按照提取的动态行为在应用程序运行时出现的时间先后顺序,将每B个动态行为划分为一种动态行为特征,然后为划分的每一种动态行为特征分配一个特征标识。 

举例来说,假设提取出应用程序A按照出现的时间先后,依次具有以下8个动态行为:创建新文件进程,进程退出,创建本地线程,枚举进程,隐藏窗口,创建进程,创建可执行文件,打开文件。 

当B等于1时,可将每一个动态行为视为一种动态行为特征,其中重复的动态行为视为一个动态行为。定义V为划分的每一种动态行为特征的原始特征向量的维度,也就是对上述8个动态行为进行划分后,获得的动态行为特征的种数。这里,当B=1时,V=8,也就是说应用程序A具有8种动态行为特征,于是可以取第一个划分是“创建新文件进程”,为其分配一个特征标识并为其生成一个对应的原始特征向量,该特征标识可用符号w1表示,该原始特征向量可表示为:第二个划分取“进程退出”,为其分配一个特征标识并为其生成一个对应的原始特征向量,该特征标识可用符号w2表示,该原始特征向量可表示为:以此类推,直至为所有的应用程序的所有种动态行为特征分配完对应的特征标识,并为其生成对应的原始特征向量。 

当B等于2时,可按出现的时间先后顺序,将上述8个动态行为划分 为:“创建新文件进程,进程退出”;“创建本地线程,枚举进程”;“隐藏窗口,创建进程”;“创建可执行文件,打开文件”四组,并将每一组动态行为视为一种动态行为特征,此时V=4。而为每一种动态行为特征分配对应的特征标识并为其生成一个对应的原始特征向量的方法与B=1时相同,此处不再赘述。 

像这样,按照出现的时间先后顺序对提取的动态行为进行分组,由于每一分组中包含至少一个动态行为,因此能够丰富动态行为特征的内容,获得更多特征信息,使得最终获得的计算结果更为精确。 

步骤S203,根据该原始特征向量,建立用于预测该应用程序的动态行为特征的Skip-Gram模型或Continues bag of words模型,求解Skip-Gram模型或Continues bag of words模型得到特征向量变换矩阵; 

本步骤也可以理解为将上述各动态行为特征的原始特征向量输入用于预测该应用程序的动态行为特征的Skip-Gram模型或Continues bag of words模型进行训练,以获得模型参数特征向量变换矩阵。 

具体地,终端设备100可根据上述各动态行为特征的原始特征向量建立用于预测该应用程序的动态行为特征的Skip-Gram模型。Skip-Gram模型的目标为通过已知动态行为特征,预测未出现的动态行为特征。假设共有V种不同的动态行为特征,共获得N个应用程序,每个应用程序可以提取出Mj(0≤j≤N)种动态行为特征。取定窗口大小c,即窗口内包含有c组特征,目标函数为: 

min-ΣjNΣiMjΣ-ckc,k0logp(wi+k|wi)

其中, 

p(wi+k|wi)=exp(vwiTSvwi+k)Σj=1vexp(vwiTSvwj)

上述公式中,(K×1大小的向量,0≤i≤V)和特征向量变换矩阵S(V×K大小的矩阵)为待求解值。S表示线性隐层。可以理解地,于 其他实施例中,也可以使用其他隐层,例如tanh、sigmoid等。是Softmax的参数,为了得到概率表示,需要使用Softmax。 

表示动态行为特征wi的原始特征向量。p(wi+k|wi)的含义为:已知出现动态行为特征wi,下一个动态行为特征是wi+k的概率。 

V表示上述获取到的所有海量应用程序中所包含的所有动态行为特征的数量。 

举例来说,请参考图4与图5,假设B=1,窗口大小c=2,若wi表示出现“枚举进程”,则p(wi-2|wi)表示当出现“枚举进程”时,前面第2个动态行为特征是“进程退出”的概率;p(wi+2|wi)表示当出现“枚举进程”时,后面第2个动态行为特征是“创建可执行文件”的概率。 

具体地,或者终端设备100还可根据上述各动态行为特征的原始特征向量建立用于预测该应用程序的动态行为特征的Continues bag of words模型。Continues bag of words模型的目标为通过已知动态行为特征,预测未出现的动态行为特征。假设共有V种不同的动态行为特征,共获得N个应用程序,每个应用程序可以提取出Mj(0≤j≤N)种动态行为特征。取定窗口大小c,即窗口内包含有c组特征,目标函数为: 

min-ΣjNΣiMjlogp(wi|wi-c,...,wi-1,wi+1,...,wi+c)

其中, 

p(wi|wi-c,...,wi-1,wi+1,...,wi+c)=exp(v^wiTSvwi)Σk=1Vexp(v^wiTSvwk)

上述公式中,(K×1大小的向量,0≤i≤V)和特征向量变换矩阵S(V×K大小的矩阵)为待求解值。S表示线性隐层。可以理解地,于其他实施例中,也可以使用其他隐层,例如tanh、sigmoid等。是Softmax 的参数,为了得到概率表示,需要使用Softmax。 

表示动态行为特征wi的原始特征向量。为输入的具有上下文关系的动态行为特征的原始特征向量的加和:

p(wi|wi-c,...,wi-1,wi+1,...,wi+c)的含义为: 

已知出现特征wi-c,...,wi-1,wi+1,...,wi+c,中间是特征wi的概率。 

举例来说,请参考图5与图6,假设B=1,窗口大小c=2,p(wi|wi-c,...,wi-1,wi+1,...,wi+c)表示当动态行为特征wi前出现动态行为特征“进程退出”、“创建本地进程”,wi后出现动态行为特征“隐藏窗口创建进程”、“创建可执行文件”时,wi表示动态行为特征“枚举进程”的概率。 

步骤S204,根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量,并输出。 

终端设备100求解上述Skip-Gram模型或Continues Bag-of-words模型,得到特征向量变换矩阵S,则对于每一种动态行为特征wi,就为其目标特征向量表示。表示原始特征向量通过线性隐层后的输出。 

从上述公式不难发现,通过上述两个模型获得的目标特征向量能够考 虑到应用程序的各动态行为特征的上下文关系和相互联系,从而使得最终获得的动态行为特征的目标特征向量表示相较于原始特征向量表示而言,更为合理和紧凑,因此可以用作深度学习模型的输入。 

终端设备100将求得的上述目标特征向量输出至存储器存储。由于上述目标特征向量是使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度,进而减小为存储上述特征向量所占用的存储空间。 

进一步地,终端设备100还可根据用户的输入指令,将上述目标特征向量输入机器学习模型,以用于检测恶意程序。 

于本实施例中,应用程序动态行为的目标特征向量的生成原理是将位于高维离散空间(维数为动态行为的特征数目)中的每个动态行为的特征映射到低维(K维)连续空间的实数向量,从而可减少应用程序动态行为的特征向量的表示长度,并且相近似的动态行为特征他们的向量表示也相近。举例来说,假定取K=3;B=1,则经过计算,动态行为特征“在cmd中调用taskkill”可表示为:[0.1,0.3,0.6],动态行为特征“调用系统函数TerminateProcess”可表示为[0.1,0.2,0.6],V在cmd中调用taskkillTS≈V调用系统函数TerminateProcessTS,两者是有相关性的,都表示结束一个进程。但是按照原有的表示方法, ,两者是正交无相关性的。因此,相较于现有技术,通过本实施例提供的方法,更可检测出具有相似动态行为特征的恶意程序,从而可提高恶意程序检测的准确性。 

此外,本发明实施例提供的应用程序动态行为的特征向量的生成方法的目标在于学习到每个动态行为的特征的向量表示,并将这种向量表示用于不同的恶意程序检测任务,学习到的动态行为的特征向量既可以作为完全的动态行为的特征输入到某些特定任务的有监督学习算法中,也可以作为依赖于不同任务所特定提取特征的有益扩充。 

本发明实施例提供的应用程序动态行为的特征向量的生成方法,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度,进而减小为存储上述特征向量所占用的存储空间,提高运算速度。 

第三实施例 

图7为本发明第三实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图。本实施例提供的应用程序动态行为的特征向量的生成装置可运行于图1所示的终端设备100中,用于实现上述实施例中的应用程序动态行为的特征向量的生成方法。如图7所示,应用程序动态行为的特征向量的生成装置30包括: 

获取模块31,用于获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征; 

生成模块32,用于为获取模块31获取的该动态行为特征生成对应的原始特征向量; 

建模模块33,用于根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型; 

运算模块34,用于求解建模模块33建立的该预测模型得到特征向量变换矩阵; 

运算模块34,还用于根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量; 

输出模块35,用于输出该目标特征向量。 

以上各模块可以是由软件代码实现,此时,上述的各模块可存储于存储器102内,如图8所示。以上各模块同样可以由硬件例如集成电路芯片实现。 

本实施例对应用程序动态行为的特征向量的生成装置30的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。 

本发明实施例提供的应用程序动态行为的特征向量的生成装置,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度。 

第四实施例 

图9为本发明第四实施例提供的应用程序动态行为的特征向量的生成装置的结构示意图。本实施例提供的应用程序动态行为的特征向量的生成装置可运行于图1所示的终端设备100中,用于实现上述实施例中的应用程序动态行为的特征向量的生成方法。如图9所示,应用程序动态行为的特征向量的生成装置40包括: 

获取模块31,用于获取多个应用程序的动态行为记录数据,根据该动态行为记录数据获取该应用程序的动态行为特征; 

生成模块32,用于为获取模块31获取的该动态行为特征生成对应的原始特征向量; 

建模模块33,用于根据该原始特征向量,建立用于预测该应用程序的动态行为特征的预测模型; 

运算模块34,用于求解建模模块33建立的该预测模型得到特征向量变换矩阵; 

运算模块34,还用于根据该特征向量变换矩阵以及该原始特征向量获得该动态行为特征的目标特征向量; 

输出模块35,用于输出该目标特征向量。 

优选地,获取模块31还用于根据该动态行为记录数据,获取该应用程序的动态行为; 

生成模块32,包括: 

划分单元321,用于根据预置的划分规则,对获取的动态行为进行划分; 

分配单元322,用于将划分的每一组动态行为作为该应用程序的一种动态行为特征并为其分配一个对应的特征标识; 

生成单元323,用于根据预置的生成规则,为每一种动态行为特征生成一个对应的原始特征向量。 

优选地,建模模块33包括:第一建模单元331,用于根据该原始特征向量建立用于预测该应用程序的动态行为特征的Skip-Gram模型。 

优选地,运算模块34还用于求解该Skip-Gram模型得到特征向量变换矩阵S; 

该Skip-Gram模型的目标函数为: 

min-ΣjNΣiMjΣ-ckc,k0logp(wi+k|wi);

其中, 

p(wi+k|wi)=exp(vwiTSvwi+k)Σj=1Vexp(vwiTSvwj),

V表示获取到的所有该应用程序中所包含的所有动态行为特征的数量,N表示该应用程序的数量,Mj(0≤j≤N)表示获取到的每个该应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。p(wi+k|wi)表示已知出现动态行为特征wi,下一个动态行为特征是wi+k的概率。 

优选地,建模模块33还包括:第二建模单元332,用于根据该原始特征向量建立用于预测该应用程序的动态行为特征的Continues Bag-of-words模型。 

优选地,运算模块34还用于求解该Continues Bag-of-words模型得到特征向量变换矩阵S; 

该Continues Bag-of-words模型的目标函数为: 

min-ΣjNΣiMjlogp(wi|wi-c,...,wi-1,wi+1,...,wi+c);

其中, 

p(wi|wi-c,...,wi-1,wi+1,...,wi+c)=exp(v^wiTSvwi)Σk=1Vexp(v^wiTSvwk),

V表示获取到的所有该应用程序中所包含的所有动态行为特征的数量,N表示该应用程序的数量,Mj(0≤j≤N)表示获取到的每个该应用程序中所包含的动态行为特征的数量,c表示窗口大小,表示动态行为特征wi的原始特征向量。为输入的具有上下文关系的动态行为特征的原始特征向量的加和:v^wi=Σj=1,jicvwj,p(wi|wi-c,...,wi-1,wi+1,...,wi+c)表示已知出现特征wi-c,...,wi-1,wi+1,...,wi+c,中间是特征wi的概率。 

优选地,运算模块34还用于根据以及S计算作为该动态行为特征的目标特征向量。 

本实施例对应用程序动态行为的特征向量的生成装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。 

本发明实施例提供的应用程序动态行为的特征向量的生成装置,通过建立用于预测应用程序的动态行为特征的预测模型,求解该预测模型得到特征向量变换矩阵,并根据该特征向量变换矩阵以及该动态行为特征的原始特征向量获得该动态行为特征的目标特征向量,由于使用一个预先设定好的可远小于特征向量维数的K维向量表示动态行为特征,因此可极大地减小应用程序动态行为的特征向量的表示长度。 

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。 

本领域技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。 

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可 利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。 

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号