用户行为预测方法及装置、行为预测模型训练方法及装置与流程

文档序号:17938708发布日期:2019-06-18 22:51阅读:163来源:国知局
用户行为预测方法及装置、行为预测模型训练方法及装置与流程
本申请涉及大数据处理领域,特别涉及一种用户行为预测方法及装置、行为预测模型训练方法及装置。
背景技术
:用户行为预测是一种根据行为预测信息(例如用户属性数据、当前环境数据以及行为的执行对象的属性数据等)对用户行为进行预测的技术,该用户行为预测技术广泛应用于个性化推荐及广告精准投放等领域。相关技术中,通常采用线性回归模型(linearregressionmodel,lrmodel)对用户行为进行预测。对于某个指定行为的行为预测信息,该lr模型可以计算该行为预测信息中的每个特征数据对于该指定行为的贡献值,然后将各个特征数据对于该指定行为的贡献值进行累加,即可得到用户执行该指定行为的概率。其中,贡献值可以用于指示特征数据对于用户执行该指定行为的影响程度,且该贡献值的大小与影响程度的高低正相关。但是,相关技术中的lr模型仅单独考虑了每个特征数据对于指定行为的影响程度,该用户行为预测方法的准确性较低。技术实现要素:本申请提供了一种用户行为预测方法及装置、行为预测模型训练方法及装置,可以解决相关技术中的行为预测方法准确性较低的问题。一方面,提供了一种用户行为预测方法,该方法可以包括:获取用于对指定行为进行预测的行为预测信息,该行为预测信息可以包括多个特征数据,且任意两个特征数据所属的类别不同。之后,可以分别获取该多个特征数据中每个特征数据对于该指定行为的第一贡献值,该第一贡献值用于指示对执行该指定行为的影响程度,且该第一贡献值的大小与该影响程度的高低正相关。对于该多个特征数据中的每n个特征数据,则可以采用对应的一个特征交互模型进行处理,得到每n个特征数据对于该指定行为的第二贡献值,其中,该n为大于1的整数,且任意n个特征数据对应的一个特征交互模型由该任意n个特征数据所属的n个类别确定,该第二贡献值用于指示对执行该指定行为的影响程度,且该第二贡献值的大小与该影响程度的高低正相关。最后,可以根据获取到的每个特征数据的第一贡献值和每n个特征数据的第二贡献值,确定该指定行为的执行概率。本申请提供的用户行为预测方法在对指定行为进行预测时,由于考虑了多个特征数据对指定行为的交互影响,因此可以有效提高行为预测的准确性。并且,由于每n个特征数据对应的特征交互模型是基于该n个特征数据所属的类别确定的,即每n个类别对应一个特征交互模型,因此不仅可以避免所有特征数据采用同一特征交互模型进行处理而导致预测结果不佳的问题,还可避免每n个特征数据均采用独立的特征交互模型进行处理,而导致计算复杂度过高的问题。即本申请提供的行为预测方法能够以较低的计算复杂度获得较好的预测效果。可选的,根据获取到的每个特征数据的第一贡献值和每n个特征数据的第二贡献值,确定指定行为的执行概率的过程可以包括:根据获取到的每个特征数据的第一贡献值确定第一综合贡献值,并根据获取到的每n个特征数据的第二贡献值确定第二综合贡献值。最后可以采用预设权重值,对该第一综合贡献值和该第二综合贡献值进行加权求和,得到该执行概率。其中,该预设权重值可以为预先对训练样本数据进行训练得到的,采用该预设权重值对两个综合贡献值进行加权求和,可以较好的平衡单独的特征数据对指定行为的影响,以及多个特征数据对指定行为的交互影响,保证行为预测的预测效果。可选的,根据获取到的每n个特征数据的第二贡献值确定该第二综合贡献值的过程可以包括:直接对获取到的每n个特征数据的第二贡献值进行求和,得到该第二综合贡献值。该获取第二综合贡献值的方法较为简单,计算复杂度较低。或者,也可以将获取到的每n个特征数据的第二贡献值均输入神经网络,并将该神经网络的输出作为该第二综合贡献值。其中,该神经网络可以为多层神经网络,且各神经元之间的权重和偏置可以为预先对训练样本数据进行训练得到的。采用预先训练得到的神经网络获取该第二综合贡献值,可以保证获取到的第二综合贡献值的准确性,进而可以保证行为预测的预测效果。可选的,根据获取到的每个特征数据的第一贡献值确定第一综合贡献值的过程可以包括:对获取到的各个特征数据的第一贡献值和基准贡献值进行求和,得到该第一综合贡献值。其中,该基准贡献值可以为预先对训练样本数据进行训练得到的。可选的,在获取该多个特征数据中每个特征数据对于指定行为的第一贡献值之前,该方法还可以包括:根据特征数据与特征标识的对应关系,确定该多个特征数据中每个特征数据的特征标识,该特征标识可以为满足预设格式要求的码字或者向量。由于行为预测信息中各特征数据的数据格式可能不同,因此先获取每个特征数据的特征标识,可以将各个特征数据转换为统一格式的特征标识,便于后续的数据处理,提高了行为预测的效率。相应的,该获取该多个特征数据中每个特征数据对于指定行为的第一贡献值的过程可以包括:根据特征标识与贡献值的对应关系,分别确定该多个特征数据中每个特征数据的特征标识所对应的第一贡献值。该特征标识与贡献值的对应关系可以是对训练样本数据进行训练得到的,直接基于对应关系获取每个特征数据的第一贡献值,效率较高。可选的,对于该多个特征数据中的每n个特征数据,采用对应的一个特征交互模型进行处理,得到每n个特征数据对于该指定行为的第二贡献值的过程可以包括:分别获取该每n个特征数据中每个特征数据的特征标识所对应的特征向量,且各个特征标识对应的特征向量的长度相等;然后再采用与该每n个特征数据所属的n个类别对应的一个特征交互模型,对获取到的n个特征向量进行处理,得到该每n个特征数据对于该指定行为的第二贡献值。由于不同特征数据对应的特征标识的长度可能不同,且某些类别(例如城市、时间和温度等)的特征数据的特征标识的长度可能过长,而有效信息较少。因此将每个特征数据的特征标识均转换为统一长度的特征向量然后再进行处理,可以提高数据处理的效率。可选的,在对于该多个特征数据中的每n个特征数据,采用对应的一个特征交互模型进行处理之前,该方法还可以包括:对于该多个特征数据中的每n个特征数据,从特征交互模型与类别的对应关系中,确定对应的一个特征交互模型。其中,该对应关系中包括多个特征交互模型,每个该特征交互模型对应n个类别,且任意两个该特征交互模型对应的类别不同。可选的,上述第一贡献值、第二贡献值和执行概率可以均由行为预测模型获取,该方法还可以包括如下训练过程:获取训练样本数据,该训练样本数据可以包括多个样本特征数据以及样本行为的行为标签,任意两个样本特征数据所属的类别不同,该行为标签用于指示用户是否执行该样本行为。之后,获取该多个样本特征数据中每个样本特征数据对于该样本行为的第一参考贡献值,并且对于该多个样本特征数据中的每n个样本特征数据,采用对应的一个特征交互模型进行处理,得到每n个样本特征数据对于该样本行为的第二参考贡献值。进一步的,根据获取到的每个样本特征数据的第一参考贡献值和每n个样本特征数据的第二参考贡献值,确定该样本行为的执行概率。最后,根据该样本行为的执行概率与该行为标签的差异,调整该行为预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练,得到调整模型参数后的该行为预测模型。其中,调整的该行为预测模型的模型参数可以包括各个特征交互模型的模型参数,还可以包括每个样本特征数据对应的第一参考贡献值。在本申请中,上述训练过程训练得到的行为预测模型中可以包括多个特征交互模型,且每个特征交互模型可以对应n个类别。采用该行为预测模型进行行为预测时,由于可以考虑n个特征数据对指定行为的交互影响,因此可以有效提高预测的准确性。可选的,根据获取到的每个样本特征数据的第一参考贡献值和每n个样本特征数据的第二参考贡献值,确定该样本行为的执行概率得过程可以包括:对获取到的各个样本特征数据的第一参考贡献值和基准贡献值进行求和,得到第一参考综合贡献值;将获取到的每个样本特征数据的第二参考贡献值均输入神经网络,并将该神经网络的输出作为第二参考综合贡献值;最后按照预设权重值,对该第一参考综合贡献值和该第二参考综合贡献值进行加权求和,得到该样本行为的执行概率。相应的,调整的该行为预测模型的模型参数至少还可以包括:该基准贡献值,该神经网络中各神经元之间的权重和偏置,以及该预设权重值。可选的,该特征交互模型可以包括:核函数,该核函数的形式可以为向量、矩阵或者泛函。该核函数的形式较为多样,行为预测模型建模时的灵活性较高。可选的,该n可以为2,即对于每两个特征数据,可以采用对应该两个特征数据所属的两个类别的特征交互模型进行处理,由此可以有效确保行为预测的预测效果。可选的,该行为预测信息可以包括:用户属性数据、当前环境数据以及该指定行为的执行对象的属性数据。其中,用户属性数据为用于描述用户属性的特征数据,可以包括性别、年龄和职业等多个类别的特征数据。当前环境数据为用于描述行为预测时刻的环境状态的特征数据,可以包括时间、地点和天气等多个类别的特征数据。指定行为的执行对象的属性数据为用于描述执行对象的属性的特征数据,可以包括执行对象的品牌和类型等多个类别的特征数据。另一方面,提供了一种行为预测模型训练方法,该行为预测模型包括多个特征交互模型,其中每个该特征交互模型对应n个类别,任意两个该特征交互模型对应的类别不同,该类别为训练样本数据中样本特征数据的类别。该训练方法可以包括:获取训练样本数据,该训练样本数据包括多个样本特征数据以及样本行为的行为标签,任意两个样本特征数据所属的类别不同,该行为标签用于指示用户是否执行该样本行为。之后可以获取该多个样本特征数据中每个样本特征数据对于该样本行为的第一参考贡献值,该第一参考贡献值用于指示对执行该样本行为的影响程度,且该第一参考贡献值的大小与该影响程度的高低正相关。对于该多个样本特征数据中的每n个样本特征数据,采用对应的一个特征交互模型进行处理,得到每n个样本特征数据对于该样本行为的第二参考贡献值,该第二参考贡献值用于指示对执行该样本行为的影响程度,且该第二参考贡献值的大小与该影响程度的高低正相关。进一步的,可以根据获取到的每个样本特征数据的第一参考贡献值和每n个样本特征数据的第二参考贡献值,确定该样本行为的执行概率。最后,可以根据该样本行为的执行概率与该行为标签的差异,调整该行为预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练,得到调整模型参数后的该行为预测模型。在本申请提供的模型训练方法训练得到的行为预测模型中可以包括多个特征交互模型,且每个特征交互模型可以对应n个类别。采用该行为预测模型进行行为预测时,由于可以考虑n个特征数据对指定行为的交互影响,因此可以有效提高预测的准确性。并且,由于在进行模型训练时,每n个类别对应一个特征交互模型,因此不仅可以避免所有样本特征数据采用同一特征交互模型进行处理而导致训练结果不佳的问题,还可避免每n个样本特征数据均采用独立的特征交互模型进行处理,而导致训练算复杂度过高的问题。即本发明实施例提供的训练方法能够以较低的算复杂度获得较好的训练效果。可选的,根据获取到的每个样本特征数据的第一参考贡献值和每n个样本特征数据的第二参考贡献值,确定该样本行为的执行概率的过程可以包括:对获取到的各个样本特征数据的第一参考贡献值和基准贡献值进行求和,得到第一参考综合贡献值,然后将获取到的每个样本特征数据的第二参考贡献值均输入神经网络,并将该神经网络的输出作为第二参考综合贡献值。之后,可以按照预设权重值,对该第一参考综合贡献值和该第二参考综合贡献值进行加权求和,得到该样本行为的执行概率。相应的,根据该差异调整的模型参数至少还可以包括:该基准贡献值,该神经网络中各神经元之间的权重和偏置,以及该预设权重值。又一方面,提供了一种用户行为预测装置,该装置可以包括至少一个模块,该至少一个模块可以用于实现上述方面所述的用户行为预测方法。再一方面,提供了一种行为预测模型训练装置,该装置可以包括至少一个模块,该至少一个模块可以用于实现上述方面所述的行为预测模型训练方法。再一方面,提供了一种服务器,该服务器可以包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述方面所述的用户行为预测方法,或者,如上述方面所述的行为预测模型训练方法。再一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行如上述方面所述的用户行为预测方法,或者,如上述方面所述的行为预测模型训练方法。再一方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如上述方面所述的用户行为预测方法,或者,如上述方面所述的行为预测模型训练方法。本申请提供的技术方案带来的有益效果至少可以包括:根据获取到的行为预测信息对指定行为的执行概率进行预测时,可以分别计算每个特征数据对指定行为的第一贡献值,并可以根据特征交互模型计算n个特征数据对指定行为的第二贡献值,由于考虑了多个特征数据对指定行为的交互影响,因此有效提高了行为预测的准确性。并且,由于每n个特征数据对应的特征交互模型是基于该n个特征数据所属的类别确定的,即每n个类别对应一个特征交互模型,因此不仅可以避免所有特征数据采用同一特征交互模型进行处理而导致预测结果不佳的问题,还可避免每n个特征数据均采用独立的特征交互模型进行处理,而导致计算复杂度过高的问题。即本申请提供的技术方案能够以较低的计算复杂度获得较好的预测效果。附图说明图1是本发明实施例提供的一种对象推送系统的结构示意图;图2是本发明实施例提供的一种用户行为预测方法的流程图;图3是本发明实施例提供的一种行为预测模型的结构示意图;图4是本发明实施例提供的一种行为预测模型的架构图;图5是本发明实施例提供的一种核函数的结构示意图;图6是本发明实施例提供的另一种核函数的结构示意图;图7是本发明实施例提供的又一种核函数的结构示意图;图8是本发明实施例提供的一种神经网络的结构示意图;图9是本发明实施例提供的一种行为预测模型的训练方法的流程图;图10是本发明实施例提供的一种确定样本行为的执行概率的方法流程图;图11是本发明实施例提供的一种用户行为预测装置的结构示意图;图12是本发明实施例提供的一种第一确定模块的结构示意图;图13是本发明实施例提供的另一种用户行为预测装置的结构示意图;图14是本发明实施例提供的一种行为预测模型训练装置的结构示意图;图15是本发明实施例提供的一种服务器的结构示意图。具体实施方式本发明实施例提供的用户行为预测方法可以应用于对象推送系统,该对象推送系统可以部署于服务器中。该服务器与多个终端通过有线网络或者无线网络建立有通信连接,能够向每个终端的用户推送应用程序、新闻或者广告等对象。其中,该服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该终端可以为智能手机、台式电脑、笔记本电脑、平板电脑或者可穿戴式设备等。可选的,该对象推送系统可以包括个性化推荐系统和广告精准投放系统等。其中,个性化推荐系统可以向终端的用户推荐应用程序和媒体内容(例如视频、新闻或者音乐等)等对象。广告精准投放系统则可以向终端的用户推送广告。良好的对象推送系统不仅影响到用户体验,同时更直接影响到对象提供方(如应用程序开发商和内容提供商)的收益。如图1所示,本发明实施例提供的对象推送系统可以包括学习模块10、行为预测模型20和推送模型30。该学习模块10、行为预测模型20和推送模型30可以部署在同一个服务器中,或者,也可以部署在不同的服务器中,例如该学习模块10和行为预测模型20可以部署在训练服务器中,该推送模型30可以部署在对象提供方的后台服务器中。其中,学习模块10用于获取日志文件40中记录的用户的历史行为信息,将该历史行为信息作为训练样本数据,并采用机器学习算法对该训练样本数据进行训练。训练结束后,学习模块10可以基于训练结果更新该行为预测模型20中的模型参数。该行为预测模型20可以根据获取到用于对指定行为进行预测的行为预测信息,确定用户执行该指定行为的概率,并将该确定的概率发送至推送模型30。推送模型30则可以对行为预测模型20确定的用户执行各个指定行为的概率进行排序,并向用户推送概率较高的指定行为的执行对象。其中,该日志文件40可以为网络(web)日志、通过数据包嗅探器获取到的日志、通过埋点技术获取到的日志或者其他方式获取到的日志,本发明实施例对此不做限定。用于对指定行为进行预测的行为预测信息可以包括:用户属性数据(例如用户的性别、年龄、职业和学历等)、该指定行为的执行对象的属性数据(例如应用程序的类型、发布时间和品牌等)以及当前的环境数据(例如时间、天气、温度和地点等)等数据。示例的,假设该对象推送系统为用于推送应用程序的个性化推荐系统,且该个性化推荐系统部署于应用市场的后台服务器中。当用户打开手机中安装的应用程序:应用市场时,该应用市场可以向后台服务器发送推荐请求。后台服务器在接收到该推荐请求后,对于多个候选应用程序,后台服务器可以分别获取用于对用户下载每个候选应用程序的行为进行预测的行为预测信息,并可以根据获取到的行为预测信息预测用户下载各个候选应用程序的概率。之后,后台服务器可以将概率较高的若干个应用程序推荐至应用市场进行显示,从而达到提高应用程序的下载率的效果。同时,用户的实际下载行为数据会存入到日志文件40中作为新的训练样本数据,以便学习模块10通过对该新的训练样本数据的训练,不断更新行为预测模型20的模型参数,以提高该行为预测模型20的预测效果。在广告精准投放系统中,行为预测模型20主要用于预测用户的广告点击行为。相应的,该学习模块10获取的历史行为信息可以为用户的广告点击历史数据。该行为预测模型20可以根据获取到的用户属性数据、当前的环境数据以及广告商提供的各个候选广告的属性数据,预测用户点击每个广告的概率,并向用户展示概率最高的广告。同时,用户的实际点击行为数据会存入到日志文件40中作为新的训练样本数据,以便学习模块10继续对该新的训练样本数据的训练。其中,学习模块10获取到的广告点击历史数据通常会包含多个属于不同类别的特征数据。例如,每个广告点击历史数据可以包括用户的年龄、性别、所在城市、点击广告的时间、广告的品牌以及互联网协议(internetprotocol,ip)地址等多个类别的特征数据。以下述两个广告点击历史数据为例:北京,周二,17:00,快餐a,0;上海,周日,11:20,快餐b,1;在该两个广告点击历史数据中,前四项均是特征数据,最后一项为行为标签。该行为标签可以用于指示用户是否点击了广告,例如,1表示用户点击了广告,0表示用户没有点击广告。上述两个广告点击历史数据中,每个广告点击历史数据中所包括的特征数据所属的类别依次为:用户所在城市、星期、时间以及广告的品牌。因此,第二个广告点击历史数据可以指示上海的一位用户在周日上午11:20对快餐a的广告的一次点击行为。根据上述举例可以看出,广告点击历史数据所包括的多个特征数据所属的类别各不相同,该多个特征数据具有较强的离散特性(即每个特征数据均可以由离散的数值表示),且不同类别的特征数据之间存在着复杂的交互关系:不同类别的特征数据之间的交互有时与用户点击广告的概率呈正相关分布,有时则呈负相关分布。例如,在用餐时间食品相关的广告更有被点击的可能,而在冬季冷饮相关的广告被点击的概率较低。因此,挖掘特征数据之间的联系对提高对象推送系统的推送正确率有着重要影响。本发明实施例提供了一种用户行为预测方法,可以通过分析不同类别的特征数据之间对指定行为的交互影响,提高行为预测的准确性。该方法可以应用于图1所示的对象推送系统中的行为预测模型20,该对象推送系统可以部署于服务器中。参考图2,该方法可以包括:步骤101、获取用于对指定行为进行预测的行为预测信息。在本发明实施例中,行为预测模型可以在接收到终端发送的预测请求后,获取用于对指定行为进行预测的行为预测信息。该指定行为可以为对象推送系统中预先配置的多个候选行为中的一个。用于对该指定行为进行预测的行为预测信息可以包括多个特征数据,且任意两个特征数据所属的类别不同。该预测请求可以为终端获取候选对象的请求,例如该预测请求可以为用户指示终端启动某个应用程序(如应用市场、新闻或者视频)后,终端向后台服务器发送的对象获取请求,该对象获取请求用于请求获取候选的应用程序、新闻或者视频等对象。或者,该预测请求也可以为终端获取指定对象的请求,例如该预测请求可以为用户指示终端在线播放某个视频后,终端向后台服务器发送的视频对象获取请求。后台服务器接收到该视频对象获取请求后,可以在向终端发送视频对象之前,根据获取到的行为预测信息预测终端的用户点击各个候选广告的概率,并向终端推送概率最高的广告。可选的,用于对该指定行为进行预测的行为预测信息可以包括:用户属性数据、当前环境数据以及该指定行为的执行对象的属性数据。其中,用户属性数据可以为用于描述用户属性的特征数据,例如可以包括性别、年龄、职业、学历和籍贯等多个类别的特征数据。当前环境数据为用于描述行为预测时刻的环境状态的特征数据,例如可以包括时间、地点、气温和天气等多个类别的特征数据。指定行为的执行对象的属性数据可以为用于描述该执行对象的属性的特征数据,例如可以包括执行对象的品牌、类型和发布时间等多个类别的特征数据。其中,该行为预测信息中的用户属性数据可以是从日志文件中获取的,或者可以是从对象提供方的后台服务器(例如视频服务器的用户数据库)中获取的。执行对象的属性数据可以是从日志文件中获取的,或者也可以是从该对象提供方的后台服务器(例如视频服务器的视频数据库)中获取的。示例的,假设该对象推送系统为用于在视频播放前推送广告的广告精准投放系统,则该用户行为即为用户点击广告的行为,该预测请求可以为终端发送的获取视频对象的请求。若该广告精准投放系统的推送模型30中预先存储有广告a至广告e共五个候选广告,则该广告精准投放系统的行为预测模型20检测到该预测请求后,可以分别获取用于对用户点击每个候选广告的行为进行预测的行为预测信息。例如,该行为预测模型20获取到的用于对用户点击广告a的行为进行预测的行为预测信息可以包括:女、30岁、12:00、广告a和食品。该行为预测信息中包括的多个特征数据所属的类别依次为:性别、年龄、时间、广告的品牌以及广告的类型。其中,性别和年龄为用户属性数据,时间为当前的环境数据,广告的品牌和类型为执行对象的属性数据。步骤102、根据特征数据与特征标识的对应关系,确定该多个特征数据中每个特征数据的特征标识。执行步骤103和步骤104。由于行为预测信息中各特征数据的数据格式可能不同,因此为了提高数据处理的效率,行为预测模型可以先确定每个特征数据的特征标识,该特征标识可以为满足预设格式要求的码字或者向量,由此可以将各个特征数据转换为统一格式的特征标识,便于后续的数据处理,提高了行为预测的效率。其中,每个特征数据在其所属的类别中对应有唯一的特征标识,不同类别的特征数据所对应的特征标识可以相同。可选的,每个特征数据的特征标识可以为采用独热码(one-hotcode)编码得到的向量。采用独热码得到的特征标识中仅有一位为1,其他位均为0,且该特征标识的长度与特征数据所属类别包括的特征数据的总数相等。示例的,对于性别这一类别,由于该类别的特征数据仅包括男和女两种特征数据,因此采用独热码得到的特征标识可以为包括两位二进制数的码字。例如性别女对应的码字可以为01,性别男对应的码字可以为10。对于星期这一类别,由于该类别的特征数据包括星期一至星期日共7种特征数据,因此采用独热码得到的特征标识可以为长度为7的向量,例如星期一对应的特征标识可以为向量[1,0,0,0,0,0,0],星期三对应的特征标识可以为向量[0,0,1,0,0,0,0]。在本发明实施例中,每个特征数据的特征标识也可以为采用其他编码方式编码得到的码字或向量,只要保证每个特征数据在其所属的类别中对应有唯一的特征标识即可。示例的,对于行为预测信息:女、30岁、12:00、广告a和食品,该行为预测模型中的数据处理模块201获取到的与该五个特征数据对应的特征标识可以依次为:1、30、12、1和4。图3是本发明实施例提供的一种行为预测模型的结构示意图,参考图3,该行为预测模型可以包括:数据处理模块201、宽度模型模块202、特征交互模型模块203以及结果整合模块204。上述步骤101所示的获取行为预测信息的步骤,以及步骤102中确定特征标识的步骤均可以由该数据处理模块201实现。步骤103、获取该多个特征数据中每个特征数据对于该指定行为的第一贡献值。执行步骤105。在本发明实施例中,行为预测模型中可以预先存储有特征标识与贡献值的对应关系,该对应关系是预先对训练样本数据进行训练得到的,且该对应关系中记录的特征标识可以包括该行为预测模型训练过的所有特征数据中每个特征数据的特征标识。在进行用户行为预测时,行为预测模型获取到行为预测信息中每个特征数据的特征标识后,可以直接根据该对应关系,获取每个特征数据对于该指定行为的第一贡献值。其中,该第一贡献值可以用于指示特征数据对执行该指定行为的影响程度,且该第一贡献值的大小与该影响程度的高低正相关。即某个特征数据的第一贡献值越大,则表明该特征数据对执行该指定行为的影响程度越高,即用户越有可能执行该指定行为。可选的,该第一贡献值可以为不大于1的正数。可选的,步骤103中确定第一贡献值的步骤可以由该宽度模型模块202实现。如前文所述,由于不同类别的特征数据的特征标识可能相同,因此该宽度模型模块202中存储的特征标识与贡献值的对应关系可以包括多个对应关系,每个对应关系对应一个类别,且每个对应关系用于记录对应类别中每个特征数据对应的第一贡献值。为了保证该宽度模型模块202能够准确识别每个特征数据,数据处理模块201可以将各个特征数据的特征标识按照预先约定的类别顺序(例如第一个特征数据的类别为性别,第二个特征数据的类别为年龄等)进行排列后得到一个标识序列,然后再将该标识序列输入至宽度模型模块202。宽度模型模块202获取到标识序列后,可以基于该预先约定的特征顺序,根据每个特征标识在该标识序列中所处的位置,确定该特征标识指示的特征数据所属的类别,进而可以获取该类别对应的对应关系,并从该对应关系中获取该特征数据的第一贡献值。示例的,假设该预先约定的类别顺序为:性别,年龄,时间,广告的品牌,广告的类型。若宽度模型模块202获取到的标识序列为1,30,12,1,4,则对于该标识序列中的第一个特征标识1,宽度模型模块202可以确定该特征标识指示的特征数据所属的类别为性别,因此可以从对应于性别的特征标识与第一贡献值的对应关系中,获取特征标识1对应的第一贡献值c0,1。同理,该宽度模型模块202可以基于同样的方法,依次获取到其他四个特征标识对应的第一贡献值:c1,30,c2,12,c3,1以及c4,4。其中,该每个第一贡献值中的下标的第一位可以表示特征数据的类别,即特征标识在标识序列中所处的位置,第二位即为特征数据在其所属类别中的特征标识。步骤104、对于该多个特征数据中的每n个特征数据,采用对应的一个特征交互模型进行处理,得到每n个特征数据对于该指定行为的第二贡献值。执行步骤106。其中,该n为大于1的整数,任意n个特征数据对应的一个特征交互模型由该任意n个特征数据所属的n个类别确定,该第二贡献值用于指示对执行该指定行为的影响程度,且该第二贡献值的大小与该影响程度的高低正相关。在本发明实施例中,该行为预测模型可以包括预先训练得到的多个特征交互模型,其中每个特征交互模型对应n个类别,且任意两个特征交互模型对应的类别不同。行为预测模型在获取到行为预测信息后,可以根据特征交互模型与类别的对应关系,确定每n个特征数据所属的n个类别对应的一个特征交互模型。之后,即可采用该确定出的特征交互模型对对应的n个特征数据进行处理,得到该n个特征数据对于该指定行为的第二贡献值。若该行为预测信息中包括的特征数据的个数为m(即类别数为m),由于对于m个中的每n个特征数据均需确定对应的一个特征交互模型,因此该行为预测模型一共需采用个特征交互模型对该行为预测信息中对应的特征交互数据进行处理。相应的,行为预测模型最终可以得到个第二贡献值。可选的,在本发明实施例中,n可以为2,即对于每两个特征数据,可以采用对应该两个特征数据所属的两个类别的特征交互模型进行处理,由此可以有效确保该行为预测模型的预测效果。示例的,假设在进行模型训练时,样本特征数据所属的类别数m=5,每个特征交互模型对应的类别数n=2,则该行为预测模型中可以包括10个特征交互模型。该10个特征交互模型与类别的对应关系可以如表1所示。其中,性别和年龄对应的特征交互模型为σ0,1,年龄和时间对应的特征交互模型为σ1,2。根据表1可知,该行为预测模型中,多个类别中的第i个类别和第j个类别对应的特征交互模型可以表示为σi,j。表1进一步的,若行为预测模型获取到的行为预测信息中包括的特征数据所属的类别依次为:性别,年龄,时间,广告的品牌,广告的类型(即m=5),且n=2。则对该5个类别的特征数据进行两两组合,一共可以得到种类别组合方式。对于其中每两个类别,行为预测模型可以根据上述表1所示的对应关系,确定与该两个类别对应的特征交互模型。例如对于性别与年龄,行为预测模型可以确定该两个类别对应的特征交互模型为σ0,1,并可以采用该特征交互模型为σ0,1对类别为性别的特征数和类别为年龄的特征数据进行处理,从而得到该两个特征数据对于指定行为的第二贡献值。在本发明实施例一种可选的实现方式中,由于在上述步骤102中,行为预测模型获取到了每个特征数据的特征标识,因此在获取每n个特征数据的第二贡献值时,该行为预测模型可以先分别获取该n个特征数据中每个特征数据的特征标识所对应的特征向量,然后再采用与该n个特征数据所属的n个类别对应的一个特征交互模型,对获取到的n个特征向量进行处理,得到该n个特征数据对于该指定行为的第二贡献值。其中,该行为预测模型中可以预先存储有特征标识与特征向量的对应关系,且各个特征标识对应的特征向量的长度均相等,该特征向量的长度可以由经验值确定,例如可以为16或者32等。由于不同特征数据对应的特征标识的长度可能不同,且某些类别(例如城市、时间和温度等)的特征数据的特征标识的长度可能过长,而有效信息较少。因此为了提高数据的处理效率,在计算每n个特征数据的第二贡献值之前,可以将每个特征数据的特征标识均转换为统一长度的特征向量,进而再对该每n个特征向量进行处理,得到对应的第二贡献值。可选的,如图3所示,该数据处理模块201可以将生成的标识序列发送至特征交互模型模块203中的特征交互子模块2031,之后可以由该特征交互子模块2031获取每n个特征数据的第二贡献值。图4是本发明实施例提供的一种行为预测模型的架构图,参考图4可以看出,该行为预测模型中可以包括嵌入层,该嵌入层可以为数据处理模块201中用于将特征标识转换为特征向量的处理层。如图4所示,该嵌入层可以将m个特征数据中的每个特征数据均转换为对应的特征向量,然后再将该特征向量输入至特征交互模型。如前文所述,由于不同类别的特征数据的特征标识可能相同,因此该宽度模型模块202中存储的特征标识与特征向量的对应关系可以包括多个对应关系,每个对应关系对应一个类别,每个对应关系用于记录对应类别中每个特征数据对应的特征向量。示例的,如图3所示,假设数据处理模块201发送至特征交互子模块2031的标识序列为1,30,12,1,4。该特征交互子模块2031可以根据预先约定的类别顺序:性别,年龄,时间,广告的品牌,广告的类型,确定该标识序列中每个特征标识指示的特征数据所属的类别。对于该标识序列中的第一个特征标识1,特征交互子模块2031可以确定该特征标识指示的特征数据所属的类别为性别,因此可以从对应于性别的特征标识与特征向量的对应关系中确定该特征标识1对应的特征向量为v0,1。同理,特征交互子模块2031可以基于同样的方法,依次获取到其他四个特征标识对应的特征向量:v1,30,v2,12,v3,1以及v4,4。其中,该每个特征向量中的下标的第一位可以表示特征数据的类别,即特征标识在标识序列中所处的位置,第二位即为特征数据在其所属类别中的特征标识。进一步的,对于该五个特征向量中的每两个特征向量,特征交互子模块2031可以根据该两个特征向量指示的特征数据所属的类别,采用对应的一个特征交互模型对该两个特征向量进行处理。例如,对于特征向量v0,1和v1,30,参考表1,该特征交互子模块2031可以采用特征交互模型σ0,1进行处理,得到该两个特征向量指示的特征数据的第二贡献值f0,1。同理,对于其他每两个特征向量,特征交互子模块2031可以分别采用对应的特征交互模型进行处理。特征交互子模块2031最终得到的第二贡献值可以依次为:f0,1,f0,2,f0,3,f0,4,f1,2,f1,3,f1,4,f2,3,f2,4,f3,4。该第二贡献值的下标中的两位数字可以表示该第二贡献值对应的两个特征数据所属的类别。在本发明实施例中,通过计算不同类别的特征数据对指定行为的第二贡献值,考虑特征数据之间对用户执行该指定行为的交互影响,因此可以有效提高行为预测模型的预测效果,可选的,在本发明实施例中,该行为预测模型中的特征交互模型可以为核函数σ,并且该核函数σ的形式可以为向量、矩阵或者泛函。不同的特征交互模型的核函数的结构可以相同(例如可以均为矩阵形式),但不同特征交互模型的核函数的参数不同。该各个核函数的参数是预先对训练样本数据进行训练得到的。示例的,如图5所示,该特征交互模型中的核函数σ可以为核向量(kernelvector);或者如图6所示,该核函数σ可以为核矩阵(kernelmatrix);又或者,如图7所示,该核函数σ可以为以神经网络形式进行表示的泛函(functionalkernel)。本发明实施例将特征交互模型的实现方式由单一的计算向量内积扩展到核函数,通过将特征向量映射到不同的空间中来计算各个特征向量之间对执行指定行为的影响,有效提高了特征交互模型实现时的灵活性。并且由于核函数的结构较为多样,可以进一步提高该特征交互模型计算得到的第二贡献值的准确性。步骤105、根据获取到的每个特征数据的第一贡献值确定第一综合贡献值。该第一综合贡献值可以与每个特征数据的第一贡献值正相关,即每个特征数据的第一贡献值越大,该第一综合贡献值也就越大。在本发明实施例中,该确定第一综合贡献值的过程也可以由该行为预测模型中的宽度模型模块202实现。作为一种可选的实现方式,行为预测模型可以对获取到的各个特征数据的第一贡献值和基准贡献值进行求和,得到该第一综合贡献值。其中,该基准贡献值可以为行为预测模型预先对样本特征数据进行训练得到的,且该基准贡献值也可以为不大于1的正数。例如,该基准贡献值可以为宽度模型模块202在无特征数据输入时的输出。示例的,假设该行为预测模型获取到的各个特征数据的第一贡献值为:c0,1,c1,30,c2,12,c3,1以及c4,4,预先训练得到的基准贡献值为cg,则该第一综合贡献值out1可以满足:out1=c0,1+c1,30+c2,12+c3,1+c4,4+cg。作为另一种可选的实现方式,行为预测模型也可以直接对获取到的各个特征数据的第一贡献值进行求和,从而得到该第一综合贡献值。即该行为预测模型也可以无需训练和存储该基准贡献值。步骤106、根据获取到的每n个特征数据的第二贡献值确定第二综合贡献值。在本发明实施例中,该确定第二综合贡献值的获取也可以由该行为预测模型中的特征交互模型模块203实现。例如,可以由该特征交互模型模块203中的综合处理子模块2032实现。作为一种可选的实现方式,行为预测模型可以直接对获取到的每n个特征数据的第二贡献值进行求和,得到该第二综合贡献值,该获取第二综合贡献值的方法较为简单,计算复杂度较低。示例的,假设n=2,该综合处理子模块2032获取到的10个特征交互模型输出的第二贡献值依次为:f0,1,f0,2,f0,3,f0,4,f1,2,f1,3,f1,4,f2,3,f2,4,f3,4。则该综合处理子模块2032对上述第二贡献值进行求和,得到的第二综合贡献值out2可以满足:out2=f0,1+f0,2+f0,3+f0,4+f1,2+f1,3+f1,4+f2,3+f2,4+f3,4。作为另一种可选的实现方式,行为预测模型还可以将获取到的每n个特征数据的第二贡献值均输入神经网络,并将该神经网络的输出作为该第二综合贡献值。采用预先训练得到的神经网络获取该第二综合贡献值,可以保证获取到的第二综合贡献值的准确性,进而可以保证行为预测的预测效果。可选的,综合处理子模块2032可以为一个神经网络模块。结合图3和图4,特征交互子模块2031获取到每n个特征数据的第二贡献值后,可以基于其获取到的各个第二贡献值生成特征交互向量,并将该特征交互向量输入至神经网络(例如,可以将该特征交互向量中的每个第二贡献值输入至输入层的一个神经元中)。该特征交互向量的长度为示例的,特征交互子模块2031基于其获取到的第二贡献值生成特征交互向量vf可以为:vf=[f0,1,f0,2,f0,3,f0,4,f1,2,f1,3,f1,4,f2,3,f2,4,f3,4]。其中,该特征交互向量中各个第二贡献值的排列顺序,可以是按照第二贡献值所对应的n个特征数据所属的类别在标识序列中的顺序进行排列的。例如,第二贡献值f0,1对应的两个特征数据所属的类别在标识序列中位于前两位,因此可以将该第二贡献值f0,1作为特征交互向量中的第一位。第二贡献值f3,4对应的两个特征数据所属的类别在标识序列中位于最后两位,因此可以将该第二贡献值f3,4作为特征交互向量中的最后一位。图8是本发明实施例提供的一种神经网络的结构示意图,参考图8,该神经网络可以为多层神经网络,每层神经网络均包括多个神经元,位于相邻层的神经元之间的权重和偏置也可以位于训练得到的。神经网络获取到该交互特征向量后,可以基于训练得到的各神经元之间的权重和偏置逐层计算每个神经元的数值,并最终计算得到输出层的神经元的数值。如图8所示,神经网络的输入层是整个网络的最底层,输出层是最上层。神经网络中每层神经元与相邻层的一个或者多个神经元相连,两个神经元之间的连边均包含一个权重和偏置。该神经网络在对输入的交互特征向量进行处理时,可以从输入层开始从底层向上层计算,每个神经元的数值由与之相连接的下一层的神经元的数值决定。每个下层神经元对其所连接的上一层的神经元的贡献值,由该下层神经元的数值乘以对应连边的权重后再加上偏置得到。对于每个神经元,可以在对其所连接的各个下层神经元的贡献值进行求和后,再乘以激活函数(通常是一个从全体实数映射到固定区间的非线性函数,以保证每个神经元的数值在固定范围内)即可得到该神经元的数值。神经网络可以重复上述过程直到计算得到输出层的神经元的数值,该数值就是整个神经网络的输出,也即是第二综合贡献值。示例的,假设第h+1层的神经元为rh+1,该第h+1层的神经元rh+1与第h层的神经元rh连接,且与该第h层的神经元rh之间连边的权重为wh,偏置为bh,a为激活函数,则神经网络中第h+1层的神经元rh+1的数值的计算公式如下:rh+1=a(whrh+bh);上述公式中的rh+1和bh可以均为k×1的矩阵,rh可以为l×1的矩阵,wh可以为k×l的矩阵,k为该第h+1层包括的神经元的个数,l为该第h层包括的神经元的个数。wh中第k行第l列(k为不大于k的正整数,l为不大于l的正整数)的元素为第h+1层中第k个神经元与第h层中第l个神经元之间连边的权重,bh中第k行的元素为该第h+1层中第k个神经元的偏置。示例的,假设神经网络中第一层和第二层均包括3个神经元(即w=l=3),其中第一层的3个神经元分别为x1,x2,x3,第二层的3个神经元分别为y1,y2,y3。以wkl表示第二层中第k个神经元与第一层中第l个神经元之间连边的权重,并以bk表示第二层中第k个神经元的偏置,则该第二层的3个神经元的取值分别为:y1=a(x1*w11+x2*w12+x3*w13+b1);y2=a(x1*w21+x2*w22+x3*w23+b2);y3=a(x1*w31+x2*w32+x3*w33+b3);该第二层的3个神经元的取值可以采用矩阵相乘的形式表示如下:假设神经网络共有h层,那么最终输出层的神经元的数值(即第二综合贡献值)out2可以满足:out2=rh=wh-1rh-1+bh-1=wh-1[a(wh-2rh-2+bh-2)]+bh-1;其中,rh-1为第h-1层的神经元,wh-1和bh-1分别为该第h-1层的神经元与输出层的神经元之间的连边的权重和偏置。参考上述公式可知,在计算该输出层的神经元的数值时,无需考虑该激活函数a,即仅在计算输出层之前的网络层的神经元时,需要乘以该激活函数a。步骤107、采用预设权重值,对该第一综合贡献值和该第二综合贡献值进行加权求和,得到该指定行为的执行概率。该预设权重值也是行为预测模型预先对样本特征数据进行训练得到的,且该预设权重值包括第一综合贡献值的权重,以及第二综合贡献值的权重。通过加权求和的方式得到该执行概率,可以较好的平衡单独的特征数据对指定行为的影响,以及多个特征数据对指定行为的交互影响,保证行为预测的预测效果。示例的,假设第一综合贡献值的权重为k1,第二综合贡献值的权重为k2,则该行为预测模型最终计算得到的用户执行该指定行为的执行概率p满足:p=k1×out1+k2×out2。该执行概率p也可以称为指定行为的预测分数(score)。该指定行为的执行概率p越高,表明用户越有可能执行该指定行为。可选的,由于对第一综合贡献值和第二综合贡献值进行加权求和后得到求和结果有可能超出[0,1]的范围,因此在进行加权求和之后,若该求和结果超出了[0,1]的范围,则还可以采用映射函数对该求和结果进行处理,以将该求和结果映射到[0,1]的区间内。其中,该映射函数可以为s形(sigmoid)函数,或者具备类似功能的其他函数,本发明实施例对此不做限定。在本发明实施例中,对于对象推送系统中预先配置的多个候选行为,行为预测模型可以通过上述步骤101至107所示的方法,分别计算用户执行每个候选行为的执行概率,并可以将计算结果发送至推送模型30。该推送模型30可以对各个候选行为的执行概率按照由高至低的顺序进行排序,并向终端推送执行概率最高的候选行为的执行对象,或者可以向终端推送执行概率排序靠前的若干个候选行为的执行对象。在一种可选的应用场景中,假设该对象推送系统为广告精准投放系统,则该候选行为即为点击广告的行为,该候选行为的执行对象即广告。若该广告精准投放系统中预先存储有广告a至广告e共五个候选广告,行为预测模型计算得到的用户点击上述五个广告的概率依次为0.8、0.5、0.3、0.6和0.4。则该推送模型30可以确定用户点击广告a的概率最高,因此可以向终端推送广告a。在另一种可选的应用场景中,假设该对象推送系统为个性化推荐系统,且该个性化推荐系统部署于应用市场的后台服务器中。当用户打开手机中安装的应用程序:应用市场时,该应用市场可以向后台服务器发送推荐请求。后台服务器中部署的个性化推荐系统在接收到该推荐请求后,对于多个候选应用程序,例如应用程序1至应用程序10,个性化推荐系统的行为预测模型可以分别计算用户下载每个候选应用程序的概率。之后,后台服务器可以将概率较高的若干个应用程序推荐至应用市场进行显示。可选的,在本发明实施例提供中,该对象推送系统所推送的对象除了可以为广告和应用程序之外,还可以为视频、音乐和新闻等,本发明实施例对此不做限定。需要说明的是,本发明实施例提供的行为预测方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如104与步骤103可以同步执行,或者步骤102也可以根据情况进行删除,即行为预测模型可以直接基于接收到的特征数据,获取第一贡献值和第二贡献值。任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。综上所述,本发明实施例提供了一种行为预测方法,该方法根据获取到的行为预测信息对指定行为的执行概率进行预测时,可以分别计算每个特征数据对指定行为的第一贡献值,并可以根据特征交互模型计算n个特征数据对指定行为的第二贡献值,由于考虑了多个特征数据对指定行为的交互影响,因此有效提高了行为预测的准确性。并且,由于每n个特征数据对应的特征交互模型是基于该n个特征数据所属的类别确定的,即每n个类别对应一个特征交互模型,因此不仅可以避免所有特征数据采用同一特征交互模型进行处理而导致预测结果不佳的问题,还可避免每n个特征数据均采用独立的特征交互模型进行处理,而导致计算复杂度过高的问题。即本发明实施例提供的行为预测方法能够以较低的计算复杂度获得较好的预测效果。本发明实施例还提供了一种行为预测模型的训练方法,该训练方法可以用于训练上述方法实施例中所采用的行为预测模型。该训练方法可以应用于图1所示的对象推送系统中的学习模块10。参考图9,该方法可以包括:步骤301、获取训练样本数据,该训练样本数据包括多个样本特征数据以及样本行为的行为标签。如图1所示,该训练样本数据可以是从日志文件40中获取到的用户的历史行为信息。该训练样本数据中,任意两个样本特征数据所属的类别不同。该行为标签可以用于指示用户是否执行该样本行为,且该行为标签的取值可以为0或1。其中,0用于指示未执行样本行为,1用于指示执行了样本行为。与行为预测信息类似,该训练样本数据中的样本特征数据也可以包括用户属性数据、环境数据以及样本行为的执行对象的属性数据。例如,学习模块10获取到的某个训练样本数据可以为:北京,周二,17:00,快餐a,0,该训练样本数据可以表示,北京的一位用户在周二下午17:00接收到快餐a的广告后,未点击该广告。其中,北京所属类别为用户所在城市,为用户属性数据;周二所属类别为星期,17:00所属类别为时间,该两个训练样本数据均为环境数据;快餐a所属类别为广告的品牌,为执行对象的属性数据。步骤302、获取该多个样本特征数据中每个样本特征数据对于该样本行为的第一参考贡献值。在本发明实施例中,在初次训练时,学习模块10中可以存储有每个样本特征数据对应的初始参考贡献值,该初始参考贡献值可以是随机初始化得到的。学习模块10可以基于该对应关系,获取每个样本特征数据对于该样本行为的第一参考贡献值。步骤303、对于该多个样本特征数据中的每n个样本特征数据,采用对应的一个特征交互模型进行处理,得到每n个样本特征数据对于该样本行为的第二参考贡献值。可选的,该学习模块10中可以存储有多个特征交互模型的初始模型参数,其中每个特征交互模型可以对应n个类别,各个特征交互模型对应的类别互不相同。并且,各个特征交互模型的初始模型参数可以相同,也可以不同,本发明实施例对此不做限定。对于该多个样本特征数据中的每n个样本特征数据,学习模块10可以根据该n个样本特征数据所属的n个类别,确定与该n个类别对应的一个特征交互模型,并采用该确定的特征交互模型对该n个样本特征数据进行处理。若该训练样本数据中包括m个样本特征数据,则该学习模块10最终可以得到个的第二参考贡献值。步骤304、根据获取到的每个样本特征数据的第一参考贡献值和每n个样本特征数据的第二参考贡献值,确定该样本行为的执行概率。可选的,学习模块10可以将获取到的各个样本特征数据的第一参考贡献值以及获取到的第二参考贡献值进行累加,得到该样本行为的执行概率。步骤305、根据该样本行为的执行概率与该行为标签的差异,调整该行为预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练,得到调整模型参数后的该行为预测模型。在本发明实施例中,学习模块在确定出样本行为的执行概率后,可以对比该执行概率与训练样本数据中记录的行为标签的差异,并基于该差异调整行为预测模型的模型参数。其中,该模型参数可以包括各个特征交互模型的模型参数、以及每个样本特征数据对应的第一参考贡献值。其中,该模型参数可以包括核函数的参数,以及每个特征数据的特征标识所对应的特征向量。该训练停止条件可以包括:迭代训练的次数达到指定次数,或者执行概率与行为标签的差异小于指定差异阈值。在结束训练后,最终得到的行为预测模型可以包括多个特征交互模型,其中每个特征交互模型可以对应n个类别,且任意两个特征交互模型对应的类别不同。可选的,图10是本发明实施例提供的一种确定样本行为的执行概率的方法流程图,参考图10,该方法可以包括:步骤3041、对获取到的各个样本特征数据的第一参考贡献值和基准贡献值进行求和,得到第一参考综合贡献值。其中,在初次训练时,该基准贡献值可以为预先设定的小于1的数值,例如可以0。步骤3042、将获取到的每个样本特征数据的第二参考贡献值均输入神经网络,并将该神经网络的输出作为第二参考综合贡献值。该神经网络可以为多层神经网络,每层均包括多个神经元。在初次训练时,相邻层的神经元之间的权重和偏置可以均为预先设定的初始值。步骤3043、按照预设权重值,对该第一参考综合贡献值和该第二参考综合贡献值进行加权求和,得到该样本行为的执行概率。同理,在初次训练时,该预设权重值也可以为预先设定的固定值。例如初次训练时,该第一参考综合贡献值和该第二参考综合贡献值的权重可以均为0.5。相应的,在上述步骤305中,该学习模块10所调整的模型参数至少还可以包括:该基准贡献值,该神经网络中各神经元之间的权重和偏置,以及该预设权重值。可选的,在上述步骤302之前,该方法还可以包括:根据样本特征数据与特征标识的对应关系,确定该多个样本特征数据中每个样本特征数据的特征标识。该确定样本特征数据的特征标识的过程可以参考上述步骤102,此处不再赘述。相应的,上述步骤302可以包括:根据特征标识与参考贡献值的对应关系,分别确定该多个样本特征数据中每个样本特征数据的特征标识所对应的第一参考贡献值。相应的,上述步骤303可以包括:步骤3031、分别获取每n个样本特征数据中每个样本特征数据的特征标识所对应的特征向量,各个特征标识对应的特征向量的长度相等。步骤3032、采用与该每n个样本特征数据所属的n个类别对应的一个特征交互模型,对获取到的n个特征向量进行处理,得到每n个样本特征数据对于该样本行为的第二贡献值。因此,在上述步骤305中,基于差异调整的行为预测模型的模型参数还可以包括每个特征标识所对应的特征向量。需要说明的是,为了保证训练得到的行为预测模型的性能,学习模块需要对大量的训练样本数据进行训练,其中对于每个训练样本数据进行训练的过程均可以参考上述步骤301至步骤305,此处不再赘述。并且,上述步骤301至步骤305,以及步骤3041至步骤3043的具体实现过程还可以参考上述图2所示实施例中的对应步骤,此处也不再赘述。本发明实施例提供的方法在对行为预测模型进行训练时,对于特征数据中的每n个类别可以建立对应的一个特征交互模型。如果对任意多个类别的特征数据均建立同一个特征交互模型,虽然可以有效提高模型训练的效率,但该特征交互模型的效果较差,不能有效表达不同类别的特征数据之间的交互特性。如果对于每n个特征数据均建立一个独立的特征交互模型,虽然能够充分表达特征数据之间的交互特性,但也使得特征交互模型中的参数数量大幅增加,极大增加了模型的复杂度以及训练的难度。例如,假设样本特征数据的类别共有m类,若对于每两类(即n=2)建立对应的一个特征交互模型,则需建立的特征交互模型的数量为若该m类样本特征数据中,每一类样本特征数据包括的样本特征数据的总数依次为n1,n2,…,nm,则需建立的特征交互模型的数量为:其中,nm为该m类样本特征数据中第m(m为不大于m的正整数)类样本特征数据包括的样本特征数据的总数。由此可以看出,如果对每两个特征数据均建立一个特征交互模型,则会显著提升模型训练的复杂度,降低模型训练的效率。示例的,假设训练样本数据的类别为性别、广告的品牌和星期,即m=3。若采用本发明实施例提供的方法,且n=2,则仅需为性别与广告的品牌,性别与星期,以及广告的品牌与星期分别建立对应的一个特征交互模型,该特征交互模型的数量为3。但如果需要对每两个特征数据均建立对应的一个特征交互模型,则由于在性别这一类别中,特征数据包括男和女两种,即特征数据的总数为2。星期这一类别中,特征数据包括星期一至星期日,特征数据的总数为7,假设广告的品牌这一类别中,特征数据的总数为5。则在建模时,需要对女性和星期一建立对应的一个特征交互模型,需要对男性和星期一建立对应的一个特征交互模型,还需要对女性和星期二建立对应的一个特征交互模型,依次类推,需要建立的特征交互模型的数量为根据上述分析可知,本发明实施例提供的方法对不同类别的特征数据建立对应的特征交互模型,能够较好的解决行为预测模型的预测效果和复杂度之间的矛盾关系。并且,本发明实施例提供的训练方法可以针对每n个类别建立一个对应的特征交互模型,因此实现了对多个特征数据之间的特征交互的显式建模,相比于隐式建模,该显式建模能够更好的解释和体现不同特征数据之间的交互情况。本发明实施例还对本申请提供的行为预测模型与相关技术中的预测模型的预测效果进行了对比。对比过程中采用了行为预测方法中常用的四个数据集,对比的对象包括相关技术中的lr模型、因式分解机(factorizationmachine,fm)模型、场感知因式分解机(factorizationmachine,ffm)模型、深度神经网络(deepneuralnetwork,dnn)模型、基于注意力的因式分解机(attentionalfactorizationmachine,afm)以及基于因式分解机的深度学习(deepfactorizationmachine,deepfm)模型。对比过程中采用的四个数据集中,第一个数据集包含了大量用户一个月的广告点击纪录,本发明实施例采用了其中某一天的广告点击记录作为训练集,另一天的广告点击记录作为测试集。同时对该训练集中的负样本(即行为标签用于指示未点击广告的样本)进行降采样,使最终训练集中正负样本比为1:1。对于第二个数据集,本发明实施例随机选取了其中80%的数据作为训练集,剩下的20%的数据作为测试集,同时删除了训练集中出现次数少于20的类别。第三个数据集本身即包含训练集与测试集,因此在本次对比过程中可以直接使用。第四个数据集为应用市场的游戏类应用程序的点击下载数据集。本发明实施例提供的行为预测模型可以称为基于乘积网络的神经网络(product-networkinnetwork,pin)模型。在对比过程中,pin模型以及相关技术中的lr模型、fm模型、ffm模型、dnn模型、afm模型以及deepfm模型中的每个模型,需分别采用上述四个数据集中的每个数据集提供的训练集进行模型训练,然后再对每个数据集提供的测试集进行行为预测。预测结果采用受试者工作特征曲线(receiveroperatingcharacteristiccurve,roc曲线)下的面积auc(areaundercurve)和对数损失(logloss)进行衡量。其中,auc的大小与预测结果的准确性正相关,即auc越大,表明预测效果越好。logloss的大小与预测结果的准确性负相关,即logloss越小,表明预测效果越好。本发明实施例提供的行为预测模型以及相关技术中的各个模型在该四个数据集下的预测结果如下述表2所示。参考表2可以看出,deepfm模型对第一个数据集中的训练集进行预测后的auc为79.91%,logloss为0.5423。而本申请实施例提供的行为预测模型pin模型对第一个数据集中的训练集进行预测后的auc为80.21%,logloss为0.5390。根据表2可知,本发明实施例提供的行为预测模型在各个数据集中的预测效果均优于其他模型。表2并且,对比各个预测结果还可以看出,本申请提供的行为预测模型相比排名第二的deepfm模型在auc上均有0.15%至0.3%的提升。而通常情况下,较小的auc提升可以带来较大的点击通过率(click-through-rate,ctr)的提升。例如,auc提升0.275%,可以使得ctr提升3.9%,该3.9%的ctr提升率可以为对象提供商带来较高的收益。进一步的,对各个模型的复杂度进行分析,假设各个模型中嵌入层(embedding)的大小为l(即嵌入层可以将特征标识转换为长度为l的特征向量),样本特征数据的类别数为m,各个类别所包括的特征数据的总数为n。则对于相关技术中的fm模型,其参数规模为o(ln),ffm模型的参数规模为o(nlm),而本发明实施例提供的pin模型的参数规模为o(ln+m*(m-1)/2*q)。其中,o()也可以理解为空间复杂度,即模型训练时所耗费的内存空间的数量级。q为本发明实施例提供的行为预测模型中,特征交互模型(例如核函数)所包括的参数的个数。由于实际应用中n的取值通常较大,而q的取值相对较小,因此本发明实施例提供的pin模型的参数相比ffm模型会少很多。表3是本发明实施例提供的一种各个模型对相同训练集进行训练时,所需的参数规模的对比表,该对比表以参数占用的内存作为参数规模的衡量标准。参考表3可以看出,lr模型所需的参数占用的内存为1×106字节,ffm模型所需的参数占用的内存大于或等于40×106字节,而本发明实施例提供的pin模型所需的参数占用的内存为26.48×106字节,其参数规模比ffm模型小很多。表3模型lrdnnfmffmpin参数规模(106)122.5121≥4026.48需要说明的是,本发明实施例提供的行为预测模型训练方法可以在上述图2所示实施例中的步骤101之前执行。或者,也可以在上述步骤107之后执行,即在行为预测模型确定出执行概率后,学习模块可以根据用户实际执行的行为,确定该指定行为的行为标签,并基于该行为预测信息和行为标签生成训练样本数据,并继续通过上述步骤301至步骤305所示的方法对该新生成的训练样本数据进行训练。综上所述,本发明实施例提供了一种行为预测模型训练方法,该方法在对训练样本数据进行训练时,对于每n个样本特征数据,可以根据该n个样本特征数据所属的类别,采用对应的一个特征交互模型计算该n个样本特征数据的第二贡献值,由此训练得到的行为预测模型中可以包括多个特征交互模型,且每个特征交互模型可以对应n个类别。采用该行为预测模型进行行为预测时,由于可以考虑n个特征数据对指定行为的交互影响,因此可以有效提高预测的准确性。并且,由于在进行模型训练时,每n个类别对应一个特征交互模型,因此不仅可以避免所有样本特征数据采用同一特征交互模型进行处理而导致训练结果不佳的问题,还可避免每n个样本特征数据均采用独立的特征交互模型进行处理,而导致训练算复杂度过高的问题。即本发明实施例提供的训练方法能够以较低的算复杂度获得较好的训练效果,能够满足实际部署需求。图11是本发明实施例提供的一种用户行为预测装置的结构示意图,该装置可以应用于图1所示的对象推送系统中。参考图11,该装置可以包括:第一获取模块401,可以用于实现上述方法实施例中步骤101所示的方法。第二获取模块402,可以用于实现上述方法实施例中步骤103所示的方法。第一处理模块403,可以用于实现上述方法实施例中步骤104所示的方法。第一确定模块404,用于根据获取到的每个特征数据的第一贡献值和每n个特征数据的第二贡献值,确定指定行为的执行概率。图12是本发明实施例提供的一种第一确定模块404的结构示意图,如图12所示,该第一确定模块404可以包括:第一确定子模块4041,可以用于实现上述方法实施例中步骤105所示的方法。第二确定子模块4042,可以用于实现上述方法实施例中步骤106所示的方法。第一求和子模块4043,可以用于实现上述方法实施例中步骤107所示的方法。可选的,该第二确定子模块4042可以用于:对获取到的每n个特征数据的第二贡献值进行求和,得到该第二综合贡献值;或者,将获取到的每n个特征数据的第二贡献值均输入神经网络,并将该神经网络的输出作为该第二综合贡献值。可选的,该第一确定子模块4041可以用于:对获取到的各个特征数据的第一贡献值和基准贡献值进行求和,得到该第一综合贡献值。图13是本发明实施例提供的另一种用户行为预测装置的结构示意图,如图13所示,该装置还可以包括:第二确定模块405,可以用于实现上述方法实施例中步骤102所示的方法。相应的,该第二获取模块402可以用于:根据特征标识与贡献值的对应关系,分别确定该多个特征数据中每个特征数据的特征标识所对应的第一贡献值。相应的,该第一处理模块403可以用于:分别获取该每n个特征数据中每个特征数据的特征标识所对应的特征向量;采用与该每n个特征数据所属的n个类别对应的一个特征交互模型,对获取到的n个特征向量进行处理,得到该每n个特征数据对于该指定行为的第二贡献值。继续参考图13,该装置还可以包括:第三确定模块406,用于在该第一处理模块403对于该多个特征数据中的每n个特征数据,采用对应的一个特征交互模型进行处理之前,对于该多个特征数据中的每n个特征数据,从特征交互模型与类别的对应关系中,确定对应的一个特征交互模型;该对应关系中可以包括多个特征交互模型,每个该特征交互模型可以对应n个类别,且任意两个特征交互模型对应的类别不同。可选的,第一贡献值、第二贡献值和执行概率可以均由行为预测模型获取,如图13所示,该装置还可以包括:第三获取模块407,可以用于实现上述方法实施例中步骤301所示的方法。第四获取模块408,可以用于实现上述方法实施例中步骤302所示的方法。第二处理模块409,可以用于实现上述方法实施例中步骤303所示的方法。第四确定模块410,可以用于实现上述方法实施例中步骤304所示的方法。调整模块411,可以用于实现上述方法实施例中步骤305所示的方法。可选的,该第四确定模块410可以用于实现上述方法实施例中步骤3041至步骤3043所示的方法。可选的,该特征交互模型可以包括:核函数;该n可以为2;该行为预测信息可以包括:用户属性数据、当前环境数据以及该指定行为的执行对象的属性数据。综上所述,本发明实施例提供了一种行为预测装置,该装置根据获取到的行为预测信息对指定行为的执行概率进行预测时,可以分别计算每个特征数据对指定行为的第一贡献值,并可以根据特征交互模型计算n个特征数据对指定行为的第二贡献值,由于考虑了多个特征数据对指定行为的交互影响,因此有效提高了行为预测的准确性。并且,由于每n个特征数据对应的特征交互模型是基于该n个特征数据所属的类别确定的,即每n个类别对应一个特征交互模型,因此不仅可以避免所有特征数据采用同一特征交互模型进行处理而导致预测结果不佳的问题,还可避免每n个特征数据均采用独立的特征交互模型进行处理,而导致计算复杂度过高的问题。即本发明实施例提供的行为预测装置能够以较低的计算复杂度获得较好的预测效果。图14是本发明实施例提供的一种行为预测模型训练装置的结构示意图,该装置可以应用于图1所示的对象推送系统中。该行为预测模型可以包括多个特征交互模型,其中每个该特征交互模型对应n个类别,且任意两个该特征交互模型对应的类别不同,该类别为训练样本数据中样本特征数据的类别。参考图14,该装置可以包括:第一获取模块501,可以用于实现上述方法实施例中步骤301所示的方法。第二获取模块502,可以用于实现上述方法实施例中步骤302所示的方法。处理模块503,可以用于实现上述方法实施例中步骤303所示的方法。确定模块504,可以用于实现上述方法实施例中步骤304所示的方法。调整模块505,可以用于实现上述方法实施例中步骤305所示的方法。可选的,该确定模块504可以用于实现上述方法实施例中步骤3041至步骤3043所示的方法。综上所述,本发明实施例提供了一种行为预测模型训练装置,该装置在对训练样本数据进行训练时,对于每n个样本特征数据,可以根据该n个样本特征数据所属的类别,采用对应的一个特征交互模型计算该n个样本特征数据的第二贡献值,由此训练得到的行为预测模型中可以包括多个特征交互模型,且每个特征交互模型可以对应n个类别。采用该行为预测模型进行行为预测时,由于可以考虑n个特征数据对指定行为的交互影响,因此可以有效提高预测的准确性。并且,由于在进行模型训练时,每n个类别对应一个特征交互模型,因此不仅可以避免所有样本特征数据采用同一特征交互模型进行处理而导致训练结果不佳的问题,还可避免每n个样本特征数据均采用独立的特征交互模型进行处理,而导致训练算复杂度过高的问题。即本发明实施例提供的训练装置能够以较低的算复杂度获得较好的训练效果,能够满足实际部署需求。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。图15是本发明实施例提供的一种服务器的结构示意图,如图15所示,该服务器可以包括:处理器1201(如cpu)、存储器1202、网络接口1203和总线1204。其中,总线1204用于连接处理器1201、存储器1202和网络接口1203。存储器1202可能包含随机存取存储器(randomaccessmemory,ram),也可能包含非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过网络接口1203(可以是有线或者无线)实现服务器与通信设备之间的通信连接。存储器1202中存储有计算机程序12021,该计算机程序12021用于实现各种应用功能,处理器1201用于执行存储器1202中存储的计算机程序12021来实现上述方法实施例提供的用户行为预测方法或者行为预测模型训练方法。本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行上述方法实施例提供的用户行为预测方法或者行为预测模型训练方法。本发明实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例提供的用户行为预测方法或者行为预测模型训练方法。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1