一种创建跨域迁移深度网络的方法及设备与流程

文档序号:13483445阅读:153来源:国知局

本申请涉及计算机领域,尤其涉及一种创建跨域迁移深度网络的方法及设备。



背景技术:

个性化推荐技术作为解决信息爆炸时代所带来的信息过载问题的一种有效的途径,已经成为互联网时代不可缺少的一项技术,其能够通过分析客户信息数据以及客户行为数据,挖掘客户对于产品的偏好,并为客户推荐出最符合其偏好的产品。当前推荐技术已经广泛地应用于包括电子商务、新闻门户、多媒体等多种互联网服务型网站。近些年,随着金融行业中金融产品日趋丰富,以及金融信息化程度的提高,个性化推荐技术也开始应用到金融产品的推荐上。

目前,常用的推荐方法主要分为两类,一个是基于内容的推荐,另一个是基于协同过滤的推荐。其中,基于内容的推荐是根据产品的显性的特征去给不同类型的用户进行产品推荐;基于协同过滤的推荐分析用户对产品的行为数据,并计算出用户对于产品的隐性的交互特征以及偏好,并根据这些偏好对用户进行产品推荐。

但传统的推荐方法通常面临着数据稀疏以及冷启动的问题,并且只能对一种领域内的产品进行推荐,无法分析挖掘用户在其他领域产品的行为数据。例如,对于一个从未买过理财产品的新用户,无法得知其购买理财产品的偏好;此外上述传统的推荐方法也无法很好的处理非结构化的特征数据以及高维稀疏化的特征数据。



技术实现要素:

本申请的一个目的是提供一种创建跨域迁移深度网络的方法及设备,解决现有技术中只能对一种领域内的产品进行推荐,无法分析挖掘用户在其他领域产品的行为数据,以及数据稀疏和冷启动的问题。

根据本申请的一个方面,提供了一种创建跨域迁移深度网络的方法,所述方法包括:

获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;

对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;

构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;

基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型。

进一步地,上述方法中,所述方法包括:

获取用户在待测产品领域的一个或多个候选产品;

通过训练后的跨域迁移深度网络模型对所述一个或多个候选产品进行预测,得到用户对于每一候选产品的偏好值。

进一步地,上述方法中,对所述样本数据进行数据处理,包括:

抽取所述样本数据的用户特征和/或产品特征,对所述用户特征和/或产品特征对应的数据进行数据处理。

进一步地,抽取所述样本数据的用户特征和/或产品特征,对所述用户特征和/或产品特征对应的数据进行数据处理,包括:

抽取所述样本数据中的用户特征和/或产品特征,对所述用户特征和/或产品特征中的连续值进行离散处理,得到离散区间值;

对经离散处理得到的离散区间值及所述用户特征和/或产品特征中的离散值进行独热编码处理,得到高维稀疏的特征。

进一步地,上述方法中,抽取所述样本数据中的产品特征,包括:

从所述样本数据中的产品信息的文字信息中抽取所述产品特征。

进一步地,从所述样本数据中的产品信息的文字信息中抽取所述产品特征,包括:

对所述样本数据中的产品信息的文本文字信息进行词向量处理,将得到的高维稀疏的词向量归属于所述产品特征。

进一步地,上述方法中,所述构建跨域迁移深度网络的关系层包括:

通过所述输入层接收所述用户特征和/或各产品特征的高维稀疏的特征;

在嵌入层将所述输入层中的高维稀疏的特征按相同离散变量映射至预设长度的低维实数向量;

将所述低维实数向量在所述隐藏层中进行全连接,得到相同维度的隐式特征向量,其中,所述隐式特征向量包括用户的隐式特征向量及各产品之间的隐式特征向量;

输出层基于用户的隐式特征向量及各产品之间的隐式特征向量确定所述用户对于各产品的偏好值。

进一步地,上述方法中,将所述低维实数向量在所述隐藏层中进行全连接,得到相同维度的隐式特征向量,包括:

根据不同高维稀疏的特征确定对应的隐藏层的深度和神经元数量,其中,不同高维稀疏的特征对应的隐藏层的最大深度的顶层包含相同数量的神经元。

进一步地,所述方法还包括:

基于预设的激活函数确定所述用户及各产品之间的隐式特征。

进一步地,根据所述特征数据构建训练数据集,包括:

根据所述特征数据中的用户与产品的历史交互信息,构建训练数据集中的正样本及负样本。

进一步地,根据所述训练数据集对所述跨域迁移深度网络进行训练,包括:

若所述训练数据集中包含不同产品领域的数据,则通过梯度下降方式训练所述跨域迁移深度网络。

进一步地,得到用户对于每一候选产品的偏好值之后,包括:

基于用户对于候选产品的偏好值,将最大偏好值对应的产品推荐至用户。

根据本申请另一个方面,还提供了一种创建跨域迁移深度网络的设备,所述设备包括:

采集装置,用于获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;

处理装置,用于对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;

构建装置,用于构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;

训练装置,用于基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型。

进一步地,上述设备中,所述设备包括:

获取装置,用于获取用户在待测产品领域的一个或多个候选产品;

预测装置,用于通过训练后的跨域迁移深度网络模型对所述一个或多个候选产品进行预测,得到用户对于每一候选产品的偏好值。

进一步地,所述处理装置用于:

抽取所述样本数据的用户特征和/或产品特征,对所述用户特征和/或产品特征对应的数据进行数据处理。

进一步地,所述处理装置用于:

抽取所述样本数据中的用户特征和/或产品特征,对所述用户特征和/或产品特征中的连续值进行离散处理,得到离散区间值;

对经离散处理得到的离散区间值及所述用户特征和/或产品特征中的离散值进行独热编码处理,得到高维稀疏的特征。

进一步地,所述处理装置用于:

从所述样本数据中的产品信息的文字信息中抽取所述产品特征。

进一步地,所述处理装置用于:

对所述样本数据中的产品信息的文本文字信息进行词向量处理,将得到的高维稀疏的词向量归属于所述产品特征。

进一步地,所述构建装置用于:

通过所述输入层接收所述用户特征和/或各产品特征的高维稀疏的特征;

在嵌入层将所述输入层中的高维稀疏的特征按相同离散变量映射至预设长度的低维实数向量;

将所述低维实数向量在所述隐藏层中进行全连接,得到相同维度的隐式特征向量,其中,所述隐式特征向量包括用户的隐式特征向量及各产品之间的隐式特征向量;

输出层基于用户的隐式特征向量及各产品之间的隐式特征向量确定所述用户对于各产品的偏好值。

进一步地,所述构建装置用于:

根据不同高维稀疏的特征确定对应的隐藏层的深度和神经元数量,其中,不同高维稀疏的特征对应的隐藏层的最大深度的顶层包含相同数量的神经元。

进一步地,上述设备中,所述设备还包括:

确定装置,用于基于预设的激活函数确定所述用户及各产品之间的隐式特征。

进一步地,所述处理装置用于:

根据所述特征数据中的用户与产品的历史交互信息,构建训练数据集中的正样本及负样本。

进一步地,所述训练装置用于:

若所述训练数据集中包含不同产品领域的数据,则通过梯度下降方式训练所述跨域迁移深度网络。

进一步地,所述设备包括:

推荐装置,用于基于用户对于候选产品的偏好值,将最大偏好值对应的产品推荐至用户。

根据本申请再一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;

对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;

构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;

基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型。

与现有技术相比,本申请通过获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型;可以分析和挖掘用户在不同领域产品上的行为数据,从而克服数据稀疏和冷启动的问题,得到更全面的用户偏好;此外,利用跨域迁移深度网络能够处理和利用非结构化的特征以及高维稀疏的数据特征来强化用户产品偏好,从而更精确地为用户进行个性化的产品推荐。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请的一个方面提供的一种创建跨域迁移深度网络的方法流程示意图;

图2示出本申请一实施例中跨域迁移深度网络的关系层的示意图;

图3示出本申请一实施例中的基于跨域迁移深度网络的产品推荐的流程图;

图4示出根据本申请的另一个方面提供的一种创建跨域迁移深度网络的设备结构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

图1示出根据本申请的一个方面提供的一种创建跨域迁移深度网络的方法流程示意图,所述方法包括:步骤s11~步骤s14,

在步骤s11中,获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;在此,获取样本数据,可以为获取一个产品领域内多个产品的样本数据,也可以获取多个产品领域内的多个产品的样本数据,例如,获取用户在金融领域内存款储蓄产品、保险产品的产品基本信息、用户个人信息以及用户与所使用存款储蓄产品、保险产品的历史交互数据。用户个人信息可以包括用户的姓名、联系方式、年龄、性别、所在地等信息。

在步骤s12中,对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;在此,需要对获取到的样本数据进行数据处理,以得到特征数据,并构造训练数据集,其中,特征数据包括用户特征数据以及产品特征数据,用户特征数据例如用户年龄特征、性别特征、收入金额特征等,产品特征如产品金额、产品销量等特征。通过对数据的处理,可以更好地建立跨域迁移深度网络,数据处理的恰当、准确可以使训练数据集更准确、减少创建网络模型时数据的训练时间,且训练的跨域迁移深度网络更准确。

在步骤s13中,构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;在此,构建跨域迁移深度网络的关系层,关系层包括四个部分,每个部分至下往上包含输入层、嵌入层、隐藏层、输出层,分别用于训练用户特征以及一个或多个产品领域的产品特征。

在步骤s14中,基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型。在此,构建的关系层用于训练用户特征以及一个或多个产品领域的产品特征,根据通过特征数据得到的训练数据集,对跨域迁移深度网络进行训练,得到准确的跨域迁移深度网络模型,通过跨域迁移深度网络模型可以进行预测,跨域迁移深度网络可以采用端到端的训练模型。

进一步地,得到训练后的跨域迁移深度网络模型之后,所述方法包括:步骤s15,获取用户在待测产品领域的一个或多个候选产品;步骤s16,通过训练后的跨域迁移深度网络模型对所述一个或多个候选产品进行预测,得到用户对于每一候选产品的偏好值。在本申请一实施例中,当给定用户u以及领域d上的候选的产品列表时,可以通过训练后的跨域迁移深度网络模型计算该用户u与领域d上每个产品i上的偏好值。例如,得到用户u对应的用户特征,以及理财产品i对应的理财产品特征后,输入到训练后的深度网络模型中,在输出层理财产品特征对应的输出单元上计算得到用户u对于理财产品i的偏好值。更进一步地,基于用户对于候选产品的偏好值,将最大偏好值对应的产品推荐至用户。在此,在候选的产品列表中,可以通过计算该偏好值,并进行排序,将偏好值高的产品作为推荐结果推荐给用户。

在本申请一实施例中,在步骤s12中,抽取所述样本数据的用户特征和/或产品特征,对所述用户特征和/或产品特征对应的数据进行数据处理。在此,处理用户数据及产品数据并抽取相关特征,得到高维稀疏的用户特征以及产品特征数据,具体步骤如下:

抽取所述样本数据中的用户特征和/或产品特征,对所述用户特征和/或产品特征中的连续值进行离散处理,得到离散区间值;对经离散处理得到的离散区间值及所述用户特征和/或产品特征中的离散值进行独热编码处理,得到高维稀疏的特征。

在此,首先将用户特征及产品特征中的连续值做离散处理,得到离散的区间值,将用户特征及产品特征中的离散特征值及经过离散处理后的连续特征进行独热编码处理,得到高维稀疏的特征。其中,用户特征及产品特征包括连续特征和离散特征,连续特征是连续的数值类型特征,比如年龄、月收入金额、产品金额、产品销量等,离散特征是指类别型的特征,比如用户的性别、出生地,以及产品的类别、风险等。对连续值做离散处理,可以根据业务经验进行分,比如年龄可以分成儿童、少年、青年、中年及老年这些年龄段;金额可以按照业务规则分成高、中、低的几个区间;还可以通过观测数据的分布进行离散,比如按照相等的距离切分或者按照数据的百分比切分。对于高维稀疏的特征,例如,以用户出生地这一用户特征为例,出生地有600多个城市,则经过稀疏独热编码后为600多维的稀疏特征。

进一步地,在步骤s12中,从所述样本数据中的产品信息的文字信息中抽取所述产品特征。在本申请一实施例中,对于产品信息的文字信息部分,还需要进行处理,补充产品特征。具体地,可以对所述样本数据中的产品信息的文本文字信息进行词向量处理,将得到的高维稀疏的词向量归属于所述产品特征。在此,将产品信息中产品描述等相关文本文字信息做词向量处理,得到高维稀疏的词向量,并作为产品特征的一部分,需要说明的是,词向量作不需要做离散处理,可以直接作为产品特征的一部分。从而补充产品特征的数据,更全面分析和挖掘用户使用产品的行为数据。

进一步地,在步骤s13中,通过所述输入层接收所述用户特征和/或各产品特征的高维稀疏的特征;在嵌入层将所述输入层中的高维稀疏的特征按相同离散变量映射至预设长度的低维实数向量;将所述低维实数向量在所述隐藏层中进行全连接,得到相同维度的隐式特征向量,其中,所述隐式特征向量包括用户的隐式特征向量及各产品之间的隐式特征向量;输出层基于用户的隐式特征向量及各产品之间的隐式特征向量确定所述用户对于各产品的偏好值。在本申请一实施例中,输入层接收用户特征以及不同产品特征的高维稀疏的特征数据,嵌入层将属于同一个离散变量的高维稀疏特征映射到一个低维固定长度的实数向量中,并将这些向量拼接作为深度网络新的输入,通过嵌入的映射可以降低稀疏特征的维度,极大减少深度网络中的训练参数和训练时间。例如,以用户出生地为例,若出生地有600多个城市,则经过稀疏独热编码后为600多维的一个稀疏向量,对于每个用户的稀疏向量中只有其出生地对应的那个维度为1,其他维度为0,则对于出生地这个维度对应的600多维稀疏向量,在嵌入层被单独映射到一个固定长度(假设8维)的低维实数向量中,从而可以把高维稀疏的600多维降到只有8维,减少隐藏层的连接数量。

进一步地,根据不同高维稀疏的特征确定对应的隐藏层的深度和神经元数量,其中,不同高维稀疏的特征对应的隐藏层的最大深度的顶层包含相同数量的神经元。在此,隐藏层为全连接层,可根据需要设置不同深度和神经元的数量,并基于预设的激活函数确定所述用户及各产品之间的隐式特征,设置不同的激活函数,如relu(修正线性单元,rectifiedlinearunit)、sigmoid(逻辑斯谛函数)等,用于学习和挖掘用户和产品之间的隐式特征,其中,隐式特征比如为网络输出层的用户向量以及产品向量中的值。不同部分的隐藏层最顶层包含相同数量的神经元,从而使得数据经过隐藏层的变化后得到具有相同维度的隐式特征向量。输出层联合了用户的隐式特征向量以及不同产品之间的隐式特征向量,在本申请一实施例中,输出层的输出单元函数可以使用cos(vu,vi),其中,vu为用户u对应的隐式特征向量,vi为产品i对应的隐式特征向量。输出单元的输出则表示用户u对于产品i的偏好程度,偏好值越大则表示用户u对于产品i的偏好越强,用户购买概率越高。

图2示出本申请一实施例中跨域迁移深度网络的关系层的示意图,以用户对用户储蓄产品、保险产品及理财产品的行为数据为基础数据,进行分析和挖掘用户在其他产品上的行为数据。输入层接收用户特征、储蓄产品特征、保险产品特征及理财产品特征,以理财产品为例,用户特征包含用户id、性别、年龄、出生地和风险偏好,理财产品类型特征包含理财id、理财类型、理财起售金额和理财文本描述,首先对于连续变量做离散化处理,结合业务经验及数据分布,假设对于用户年龄,可以划分为6个等级。对于所有离散的变量做独热编码,性别特征可以表示为一个二维向量,年龄特征可以表示为一个六维向量,出生地特征假设可以表示为一个600维的向量,风险偏好可以表示为一个10维的向量,则可以将所有用户的偏好表示为一个2+6+600+10的稀疏向量。输入层接收该稀疏向量,嵌入层中可将六百维表示出生地的稀疏向量映射到固定长度,例如4维的实数向量中,再输入隐藏层进行全连接,假设隐藏层的数目为1000,则连接数量可以从600*1000降到4*1000,从而可以极大地降低网络连接的数量。由图2可看出,不同部分:用户特征、储蓄产品特征、理财产品特征及保险产品特征的隐藏层的最顶层为相同数量的神经元,比如图2中可以为三个神经元,即长度为3的向量,最后输出时可以计算用户和产品向量的相似度。

进一步地,在步骤s12中,根据所述特征数据中的用户与产品的历史交互信息,构建训练数据集中的正样本及负样本。在本申请一实施例中,获取用户存储储蓄产品的交易历史记录,用户保险产品的交易历史记录以及用户理财交易历史记录数据,可以得到用户u对于购买过的一个属于领域d的产品i的训练正样本(u,d,i),并标记为1,同时对于用户u在领域d中历史从未购买过的产品j,可以构造一个负样本(u,d,j),并标记为0。跨域迁移深度网络采用端到端的训练模型,对于得到的一个标记为1的正样本(u,d,i),若d为理财产品,则网络输入层的输入分别为得到的用户u对应的用户特征,以及理财产品i对应的理财产品特征,对应输出层中用户与理财产品的输出单元cos(u,i)的输出为1。对于标记为0的负样本,对应的输出层中输出单元的标记为0。进一步地,若所述训练数据集中包含不同产品领域的数据,则通过梯度下降方式训练所述跨域迁移深度网络。在此,对于用户在不同领域中的标记数据,可以使用梯度下降的方法训练整个深度网络,不同领域的数据为深度网络的不同部分。

图3示出本申请一实施例中的基于跨域迁移深度网络的产品推荐的流程图,其中,首先获取数据,对数据进行处理及特征抽取,构造训练数据集以及构建跨域迁移深度网络,利用训练数据集对深度网络进行训练,进而可以基于训练后的跨域迁移深度网络预测候选产品的推荐结果;通过本申请所述的跨域迁移深度网络,可以分析和挖掘用户在不同领域产品上的行为数据,从而克服数据稀疏和冷启动的问题,得到更全面的用户偏好;此外,利用跨域迁移深度网络能够处理和利用非结构化的特征以及高维稀疏的数据特征来强化用户产品偏好,从而更精确地为用户进行个性化的产品推荐。

图4示出根据本申请的另一个方面提供的一种创建跨域迁移深度网络的设备结构示意图,所述设备包括:采集装置11、处理装置12、构建装置13和训练装置14,

采集装置11,用于获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;在此,获取样本数据,可以为获取一个产品领域内多个产品的样本数据,也可以获取多个产品领域内的多个产品的样本数据,例如,获取用户在金融领域内存款储蓄产品、保险产品的产品基本信息、用户个人信息以及用户与所使用存款储蓄产品、保险产品的历史交互数据。用户个人信息可以包括用户的姓名、联系方式、年龄、性别、所在地等信息。

处理装置12,用于对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;在此,需要对获取到的样本数据进行数据处理,以得到特征数据,并构造训练数据集,其中,特征数据包括用户特征数据以及产品特征数据,用户特征数据例如用户年龄特征、性别特征、收入金额特征等,产品特征如产品金额、产品销量等特征。通过对数据的处理,可以更好地建立跨域迁移深度网络,数据处理的恰当、准确可以使训练数据集更准确、减少创建网络模型时数据的训练时间,且训练的跨域迁移深度网络更准确。

构建装置13,用于构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;在此,构建跨域迁移深度网络的关系层,关系层包括四个部分,每个部分至下往上包含输入层、嵌入层、隐藏层、输出层,分别用于训练用户特征以及一个或多个产品领域的产品特征。

训练装置14用于,基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型。在此,构建的关系层用于训练用户特征以及一个或多个产品领域的产品特征,根据通过特征数据得到的训练数据集,对跨域迁移深度网络进行训练,得到准确的跨域迁移深度网络模型,通过跨域迁移深度网络模型可以进行预测,跨域迁移深度网络可以采用端到端的训练模型。

进一步地,所述设备包括:获取装置15,用于得到训练后的跨域迁移深度网络模型之后,获取用户在待测产品领域的一个或多个候选产品;预测装置16,用于通过训练后的跨域迁移深度网络模型对所述一个或多个候选产品进行预测,得到用户对于每一候选产品的偏好值。在本申请一实施例中,当给定用户u以及领域d上的候选的产品列表时,可以通过训练后的跨域迁移深度网络模型计算该用户u与领域d上每个产品i上的偏好值。例如,得到用户u对应的用户特征,以及理财产品i对应的理财产品特征后,输入到训练后的深度网络模型中,在输出层理财产品特征对应的输出单元上计算得到用户u对于理财产品i的偏好值。更进一步地,所述设备包括推荐装置,用于基于用户对于候选产品的偏好值,将最大偏好值对应的产品推荐至用户。在此,在候选的产品列表中,可以通过计算该偏好值,并进行排序,将偏好值高的产品作为推荐结果推荐给用户。

在本申请一实施例中,处理装置12,用于抽取所述样本数据的用户特征和/或产品特征,对所述用户特征和/或产品特征对应的数据进行数据处理。在此,处理用户数据及产品数据并抽取相关特征,得到高维稀疏的用户特征以及产品特征数据,具体过程如下:

抽取所述样本数据中的用户特征和/或产品特征,对所述用户特征和/或产品特征中的连续值进行离散处理,得到离散区间值;对经离散处理得到的离散区间值及所述用户特征和/或产品特征中的离散值进行独热编码处理,得到高维稀疏的特征。

在此,首先将用户特征及产品特征中的连续值做离散处理,得到离散的区间值,将用户特征及产品特征中的离散特征值及经过离散处理后的连续特征进行独热编码处理,得到高维稀疏的特征。其中,用户特征及产品特征包括连续特征和离散特征,连续特征是连续的数值类型特征,比如年龄、月收入金额、产品金额、产品销量等,离散特征是指类别型的特征,比如用户的性别、出生地,以及产品的类别、风险等。对连续值做离散处理,可以根据业务经验进行分,比如年龄可以分成儿童、少年、青年、中年及老年这些年龄段;金额可以按照业务规则分成高、中、低的几个区间;还可以通过观测数据的分布进行离散,比如按照相等的距离切分或者按照数据的百分比切分。对于高维稀疏的特征,例如,以用户出生地这一用户特征为例,出生地有600多个城市,则经过稀疏独热编码后为600多维的稀疏特征。

进一步地,处理装置12,用于从所述样本数据中的产品信息的文字信息中抽取所述产品特征。在本申请一实施例中,对于产品信息的文字信息部分,还需要进行处理,补充产品特征。具体地,可以对所述样本数据中的产品信息的文本文字信息进行词向量处理,将得到的高维稀疏的词向量归属于所述产品特征。在此,将产品信息中产品描述等相关文本文字信息进行词向量处理,得到高维稀疏的词向量,并作为产品特征的一部分,需要说明的是,词向量作不需要做离散处理,可以直接作为产品特征的一部分。从而补充产品特征的数据,更全面分析和挖掘用户使用产品的行为数据。

进一步地,构建装置13,用于通过所述输入层接收所述用户特征和/或各产品特征的高维稀疏的特征;在嵌入层将所述输入层中的高维稀疏的特征按相同离散变量映射至预设长度的低维实数向量;将所述低维实数向量在所述隐藏层中进行全连接,得到相同维度的隐式特征向量,其中,所述隐式特征向量包括用户的隐式特征向量及各产品之间的隐式特征向量;输出层基于用户的隐式特征向量及各产品之间的隐式特征向量确定所述用户对于各产品的偏好值。在本申请一实施例中,输入层接收用户特征以及不同产品特征的高维稀疏的特征数据,嵌入层将属于同一个离散变量的高维稀疏特征映射到一个低维固定长度的实数向量中,并将这些向量拼接作为深度网络新的输入,通过嵌入的映射可以降低稀疏特征的维度,极大减少深度网络中的训练参数和训练时间。例如,以用户出生地为例,若出生地有600多个城市,则经过稀疏独热编码后为600多维的一个稀疏向量,对于每个用户的稀疏向量中只有其出生地对应的那个维度为1,其他维度为0,则对于出生地这个维度对应的600多维稀疏向量,在嵌入层被单独映射到一个固定长度(假设8维)的低维实数向量中,从而可以把高维稀疏的600多维降到只有8维,减少隐藏层的连接数量。

进一步地,构建装置13用于根据不同高维稀疏的特征确定对应的隐藏层的深度和神经元数量,其中,不同高维稀疏的特征对应的隐藏层的最大深度的顶层包含相同数量的神经元。在此,隐藏层为全连接层,可根据需要设置不同深度和神经元的数量,所述设备包括确定装置,用于基于预设的激活函数确定所述用户及各产品之间的隐式特征,设置不同的激活函数,如relu(修正线性单元,rectifiedlinearunit)、sigmoid(逻辑斯谛函数)等,用于学习和挖掘用户和产品之间的隐式特征,其中,隐式特征比如为网络输出层的用户向量以及产品向量中的值。不同部分的隐藏层最顶层包含相同数量的神经元,从而使得数据经过隐藏层的变化后得到具有相同维度的隐式特征向量。输出层联合了用户的隐式特征向量以及不同产品之间的隐式特征向量,在本申请一实施例中,输出层的输出单元函数可以使用cos(vu,vi),其中,vu为用户对应的隐式特征向量,vi为产品对应的隐式特征向量。输出单元的输出则表示用户u对于产品i的偏好程度,偏好值越大则表示用户u对于产品i的偏好越强,用户购买概率越高。

图2示出本申请一实施例中跨域迁移深度网络的关系层的示意图,以用户对用户储蓄产品、保险产品及理财产品的行为数据为基础数据,进行分析和挖掘用户在其他产品上的行为数据。输入层接收用户特征、储蓄产品特征、保险产品特征及理财产品特征,以理财产品为例,用户特征包含用户id、性别、年龄、出生地和风险偏好,理财产品类型特征包含理财id、理财类型、理财起售金额和理财文本描述,首先对于连续变量做离散化处理,结合业务经验及数据分布,假设对于用户年龄,可以划分为6个等级。对于所有离散的变量做独热编码,性别特征可以表示为一个二维向量,年龄特征可以表示为一个六维向量,出生地特征假设可以表示为一个600维的向量,风险偏好可以表示为一个10维的向量,则可以将所有用户的偏好表示为一个2+6+600+10的稀疏向量。输入层接收该稀疏向量,嵌入层中可将六百维表示出生地的稀疏向量映射到固定长度,例如4维的实数向量中,再输入隐藏层进行全连接,假设隐藏层的数目为1000,则连接数量可以从600*1000降到4*1000,从而可以极大地降低网络连接的数量。由图2可看出,不同部分:用户特征、储蓄产品特征、理财产品特征及保险产品特征的隐藏层的最顶层为相同数量的神经元,比如图2中可以为三个神经元,即长度为3的向量,最后输出时可以计算用户和产品向量的相似度。

进一步地,处理装置12,用于根据所述特征数据中的用户与产品的历史交互信息,构建训练数据集中的正样本及负样本。在本申请一实施例中,获取用户存储储蓄产品的交易历史记录,用户保险产品的交易历史记录以及用户理财交易历史记录数据,可以得到用户u对于购买过的一个属于领域d的产品i的训练正样本(u,d,i),并标记为1,同时对于用户u在领域d中历史从未购买过的产品j,可以构造一个负样本(u,d,j),并标记为0。跨域迁移深度网络采用端到端的训练模型,对于得到的一个标记为1的正样本(u,d,i),若d为理财产品,则网络输入层的输入分别为得到的用户u对应的用户特征,以及理财产品i对应的理财产品特征,对应输出层中用户与理财产品的输出单元cos(u,i)的输出为1。对于标记为0的负样本,对应的输出层中输出单元的标记为0。进一步地,训练装置14用于若所述训练数据集中包含不同产品领域的数据,则通过梯度下降方式训练所述跨域迁移深度网络。在此,对于用户在不同领域中的标记数据,可以使用梯度下降的方法训练整个深度网络,不同领域的数据为深度网络的不同部分。

图3示出本申请一实施例中的基于跨域迁移深度网络的产品推荐的流程图,其中,首先获取数据,对数据进行处理及特征抽取,构造训练数据集以及构建跨域迁移深度网络,利用训练数据集对深度网络进行训练,进而可以基于训练后的跨域迁移深度网络预测候选产品的推荐结果;通过本申请所述的跨域迁移深度网络,可以分析和挖掘用户在不同领域产品上的行为数据,从而克服数据稀疏和冷启动的问题,得到更全面的用户偏好;此外,利用跨域迁移深度网络能够处理和利用非结构化的特征以及高维稀疏的数据特征来强化用户产品偏好,从而更精确地为用户进行个性化的产品推荐。

此外,根据本申请再一个方面,还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

获取用户在一个或多个产品领域内的样本数据,其中,所述样本数据包括用户的个人信息、产品信息及用户与产品的历史交互信息;

对所述样本数据进行数据处理,得到特征数据,并根据所述特征数据构建训练数据集;

构建跨域迁移深度网络的关系层,其中,所述关系层包括输入层、嵌入层、隐藏层和输出层;

基于所构建的关系层,根据所述训练数据集对所述跨域迁移深度网络进行训练,得到训练后的跨域迁移深度网络模型。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1