一种车辆推荐方法、装置、设备及存储介质与流程

文档序号:19155943发布日期:2019-11-16 00:46阅读:137来源:国知局
一种车辆推荐方法、装置、设备及存储介质与流程
本发明实施例涉及计算机
技术领域
,尤其涉及一种车辆推荐方法、装置、设备及存储介质。
背景技术
:共享经济作为一种新的经济形态,通过共享平台暂时转移供给方闲置资源,提高资产利用率,为需求方创造价值。现有技术共享租车平台向用户进行车辆推荐时,通常根据热度和用户点击量等统计数据直接计算,粒度较粗,同时推荐以大众兴趣和普遍偏好车辆为主,推荐结果容易受群体热度影响,覆盖率较低,使得推荐结果与用户的匹配度较差,降低了用户体验。技术实现要素:本发明提供一种车辆推荐方法、装置、设备及存储介质,以提高车辆推荐结果与用户之间的匹配度,满足用户对车辆的个性化需求,进而提升用户体验。第一方面,本发明实施例提供了一种车辆推荐方法,包括:获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长;将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的深度因子分解机deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分;其中,所述deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到;根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。第二方面,本发明实施例还提供了一种车辆推荐装置,包括:特征向量获取模块,用于获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;行为向量确定模块,用于根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长;行为预测得分确定模块,用于将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的深度因子分解机deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分;其中,所述deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到;车辆推荐模块,用于根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。第三方面,本发明实施例还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面实施例所提供的一种车辆推荐方法。第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所提供的一种车辆推荐方法。本发明实施例通过获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;根据当前用户对用户推荐车辆的历史交互信息,确定当前用户在第一时间段的长期行为向量和第二时间段的短期行为向量;其中第一时间段时长大于第二时间段时长;将用户特征向量、车辆特征向量、长期行为向量和短期行为向量输入至预先训练好的deepfm模型中,根据deepfm模型的输出结果确定当前用户对待推荐车辆产生交互行为的行为预测得分;根据各待推荐车辆对应的行为预测得分,对各待推荐车辆进行排序,并基于排序结果向当前用户进行车辆推荐。由于所采用的deepfm模型基于向历史用户推荐车辆时历史用户的用户特征向量、已推荐车辆的车辆特征向量、历史用户对已推荐车辆的实际交互行为标签以及历史用户对应的长期行为向量和短期行为向量训练得到,使得在deepfm在模型使用过程中,能够追踪用户的长短期行为偏好,进而在进行车辆推荐时满足了用户的个性化需求,提高了车辆推荐结果与用户之间的匹配度,从而提升用户体验。附图说明图1是本发明实施例一中的一种车辆推荐方法的流程图;图2是本发明实施例二中的一种车辆推荐方法的流程图;图3是本发明实施例三中的一种车辆推荐方法的流程图;图4a是本发明实施例四中的一种车辆推荐方法的流程图;图4b本发明实施例四中的短期行为序列的选取示意图;图4c本发明实施例四中的长/短期rnn模型训练过程示意图;图4d本发明实施例四中的模型整体架构示意图;图5是本发明实施例五中的一种车辆推荐装置的结构图;图6是本发明实施例六中的一种电子设备的结构图。具体实施方式下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。实施例一图1是本发明实施例一中的一种车辆推荐方法的流程图,本发明实施例适用于在共享租车平台中向用户进行车辆推荐的情况,该方法由车辆推荐装置执行,该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中,其中电子设备可以是服务器或个人电脑。如图1所示的一种车辆推荐方法,包括:s110、获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量。其中,用户特征特征向量用于表征不同用户对应的特征信息,以对不同用户加以区分。示例性地,用户对应的特征信息可以是用户的性别、年龄等基本属性信息,还可以是住址、以及职业等附加属性信息。其中,车辆特征向量用于表征不同车辆对应的特征信息,以对不同类型的车辆加以区分。示例性地,车辆对应的特征信息可以是车型、颜色、排量、以及座位数等属性信息的至少一种。示例性地,用户特征向量可以预先存储在电子设备本地、与电子设备所关联的其他存储设备或云端中;相应的,获取当前用户的用户特征向量,可以是从电子设备本地、与电子设备所关联的其他存储设备或云端中进行与当前用户相对应的用户特征向量的获取。可选的,确定待推荐车辆的车辆特征向量,可以预先将当前用户在先产生过诸如浏览、收藏、下单、点击、或分享等交互行为的车辆作为待推荐车辆;并进行当前用户对应的待推荐车辆的车辆特征向量的获取。其中,车辆特征向量可以预先存储在电子设备本地、与电子设备相关联的其他存储设备或云端中;相应的,在进行车辆特征向量的获取时,从电子设备本地、与电子设备相关联的其他存储设备或云端进行查找获取。在本发明实施例的另一可选实施方式中,确定待推荐车辆的车辆特征向量,还可以是根据当前用户的用户特征向量,确定与当前用户对应的多个待推荐车辆。示例性地,可以采用协同过滤算法,确定与当前用户的用户特征向量相对应的多个待推荐车辆。可以理解的是,待推荐车辆的数量可以由技术人员根据用户需要或经验值进行确定。s120、根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长。其中,长期行为向量用于表征在第一时间段内,当前用户与历史推荐车辆之间的交互情况,并反映第一时间段内当前用户的行为偏好;短期行为向量用于表征在第二时间段内,当前用户与历史推荐车辆之间的交互情况,并反映第二时间段内当前用户的行为偏好。其中,第一时间段和第二时间段的长度可以由技术人员根据需要或经验值进行确定,还可以通过大量试验加以确定。在本发明实施例的一种可选实施方式中,根据当前用户对历史推荐车辆的历史交互信息,确定当前用户在第一时间段的长期行为向量,可以是:根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,分别确定所述当前用户对各所述历史推荐车辆产生交互行为的综合交互次数;根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆;基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述长期行为向量。其中,交互行为可以是点击行为、分享行为、收藏行为以及下单行为中的至少一种。在本发明实施例的一种可选实施方式中,根据当前用户对历史推荐车辆的历史交互信息,确定当前用户在第二时间段的短期行为向量,可以是:根据所述历史推荐车辆在所述第二时间段对应的历史交互信息,统计在不同时刻所述当前用户对所述历史推荐车辆产生交互行为的交互次数;根据预设时间长度内所述当前用户对所述历史推荐车辆产生交互行为的总交互次数,筛选历史推荐车辆;基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述短期行为向量。其中,交互行为可以是点击行为、分享行为、收藏行为以及下单行为中的至少一种。需要说明的是,本发明实施例对确定长期行为向量和短期行为向量的先后顺序不做任何限定,两者可以同时进行,也可以先后进行。s130、将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分。其中,deepfm(deepfactorizationmachines,深度因子分解机)模型的输入为根据用户特征向量、车辆特征向量、以及长期行为向量和短期行为向量;deepfm模型的输出为当前用户对待推荐车辆产生交互行为的行为预测得分。一般的,行为预测得分数值越稿,表明当前用户对相应车辆产生交互行为的可能性越大。可以理解的是,在使用deepfm模型对当前用户对待推荐车辆产生交互行为的情况进行预测时,需要预先采用大量的训练样本对deepfm模型的模型参数进行训练,以提高deepfm模型的预测精度和鲁棒性。其中,deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到。具体的,在deepfm模型的模型训练阶段,预先获取大量历史用户的用户特征向量,以及针对每个历史用户,在向历史用户进行车辆推荐时,各已推荐车辆的车辆特征向量,以及历史用户对已推荐车辆的产生实际交互行为时对应的长期行为向量和短期行为向量,并将所获取的用户特征向量、车辆特征向量、长期行为向量和短期行为向量作为训练样本输入至预先设定的deepfm模型中,得到模型输出结果;根据模型输出结果与各历史用户对已推荐车辆的实际交互行为标签对deepfm模型中的模型参数加以调整,直至deepfm模型的查准率和查全率满足设定需求,得到训练好的deepfm模型。s140、根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。根据行为预测得分由大到小的顺序,对各待推荐车辆进行排序;按照设定推荐规则,基于排序结果向当前用户进行车辆推荐。示例性地,按照设定推荐规则,基于排序结果向当前用户进行车辆推荐,可以是选取排序结果中排序最前的设定数量的待推荐车辆,和/或选取行为预测得分大于设定得分阈值的待推荐车辆;将选取的待推荐车辆按照排序顺序进行车辆推荐。本发明实施例通过获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;根据当前用户对用户推荐车辆的历史交互信息,确定当前用户在第一时间段的长期行为向量和第二时间段的短期行为向量;其中第一时间段时长大于第二时间段时长;将用户特征向量、车辆特征向量、长期行为向量和短期行为向量输入至预先训练好的deepfm模型中,根据deepfm模型的输出结果确定当前用户对待推荐车辆产生交互行为的行为预测得分;根据各待推荐车辆对应的行为预测得分,对各待推荐车辆进行排序,并基于排序结果向当前用户进行车辆推荐。由于所采用的deepfm模型基于向历史用户推荐车辆时历史用户的用户特征向量、已推荐车辆的车辆特征向量、历史用户对已推荐车辆的实际交互行为标签以及历史用户对应的长期行为向量和短期行为向量训练得到,使得在deepfm在模型使用过程中,能够追踪用户的长短期行为偏好,进而在进行车辆推荐时满足了用户的个性化需求,提高了车辆推荐结果与用户之间的匹配度,从而提升用户体验。在上述各实施例的技术方案的基础上,进一步地,在确定当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量之后,还包括:根据长期行为向量,确定当前用户对各待推荐车辆产生交互行为的第一参考预测得分;根据短期行为向量,确定当前用户对各待推荐车辆产生交互行为的第二参考预测得分。相应的,根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,包括:针对各所述待推荐车辆,将所述待推荐车辆对应的第一参考预测得分和第二参考预测得分中的至少一个,以及所述行为预测得分加权求和,得到所述当前用户对所述待推荐车辆产生交互行为的最终预测得分;根据各所述待推荐车辆对应的所述最终预测得分,对各所述待推荐车辆进行排序。示例性地,根据长期行为向量,确定当前用户对各待推荐车辆产生交互行为的第一参考预测得分,可以是:采用第一激活函数对长期行为向量进行处理,将第一激活函数的输出结果作为第一参考预测得分。其中,第一激活函数可以是sigmoid函数、tanh函数、及relu(therectifiedlinearunit)函数中的至少一种。示例性地,根据短期行为向量,确定当前用户对各待推荐车辆产生交互行为的第二参考预测得分,可以是:采用第二激活函数对短期行为向量进行处理,将第二激活函数的输出结果作为第二参考预测得分。其中,第二激活函数可以是sigmoid函数、tanh函数、及relu(therectifiedlinearunit)函数中的至少一种。其中,第一激活函数与第二激活函数可以相同也可以不同。本发明实施例基于长期行为向量进行第一参考预测得分的确定,使得第一参考预测得分能够充分考虑用户长期的行为偏好;基于短期行为向量进行第二参考预测得分的确定,使得第二参考预测得分能够充分考虑用户短期的行为偏好;通过将第一参考预测得分、第二参考预测得分以及行为预测得分进行融合,得到最终预测得分,进一步提高了最终预测得分与用户交互行为意愿之间的契合度,从而提升所推荐车辆与用户之间的匹配度。实施例二图2是本发明实施例二中的一种车辆推荐方法的流程图,本发明实施例在上述各实施例的技术方案的基础上进行了优化改进。进一步地,将操作“根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量”细化为“根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,分别确定所述当前用户对各所述历史推荐车辆产生交互行为的综合交互次数;根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆;基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述长期行为向量”,以完善长期行为向量的确定机制。如图2所示的一种车辆推荐方法,包括:s210、获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量。s220、根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,分别确定所述当前用户对各所述历史推荐车辆产生交互行为的综合交互次数。示例性地,根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,分别确定所述当前用户对各所述历史推荐车辆产生交互行为的综合交互次数,可以是针对每一历史推荐车辆,根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,统计所述当前用户对所述历史推荐车辆产生不同交互行为的交互次数;根据不同交互行为对应的交互权重和相应的交互次数,确定所述当前用户对所述历史推荐车辆产生交互行为的综合交互次数。其中,交互行为包括浏览行为、分享行为、收藏行为、和下单行为中的至少一种。具体的,针对每个历史推荐车辆,可以采用以下公式进行交互次数的确定:其中,ai为用户对历史推荐车辆产生第i种交互行为的交互次数,λi为第i种交互行为的交互权重,x为综合交互次数。可以理解的是,当用户对某一历史推荐车辆未产生某种交互行为时,则对该历史推荐车辆产生该种交互行为的交互次数为0,当用户对某一历史推荐车辆未产生任意一种交互行为时,相应的综合交互次数为0。s230、根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆。可选的,根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆,可以是直接对各历史推荐车辆对应的综合交互次数进行排序,并按照设定规则根据排序结果筛选设定数量的历史推荐车辆。其中,设定规则可以是直接筛选综合交互次数最大的设定数量的历史推荐车辆;还可以将综合交互次数大于设定值的车辆进行分类,通过不同类别所包含车辆的比例和设定数量,确定各类别待筛选数量;针对每个类别的历史推荐车辆,根据综合交互次数由大到小的顺序进行待筛选数量的历史推荐车辆的选取。或者可选的,根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆,还可以是在各历史推荐车辆对应的综合交互次数中,选取其中一个非零综合交互次数作为参考交互次数;根据所述参考交互次数和各所述综合交互次数,分别确定各所述历史推荐车辆对应的交互得分,并基于所述交互得分对各所述历史推荐车辆进行排序;根据各历史推荐车辆的排序结果,筛选出设定数量的历史推荐车辆。示例性地,参考交互次数可以是各综合交互次数中的任意一个非零综合交互次数、各综合交互次数的平均值、或者各非零综合交互次数的平均值。典型的,选取非零综合交互次数中的中位数作为参考交互次数。示例性地,根据所述参考交互次数和各所述综合交互次数,分别确定各所述历史推荐车辆对应的交互得分,可以采用以下公式加以实现:其中,m为参考交互次数,x为综合交互次数,score为交互得分。示例性地,根据各历史推荐车辆的排序结果,筛选出设定数量的历史推荐车辆,可以直接筛选出交互得分最高的设定数量的历史推荐车辆。s240、基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述长期行为向量。在本发明实施例的一种可选实施方式中,可以将筛选出的各历史推荐车辆对应的车辆特征向量组成长期行为特征序列,输入至预先训练好的第一rnn(recurrentneuralnetwork,循环神经网络)模型中,得到隐层状态向量;基于第一rnn模型的网络参数和所述隐层状态向量,确定所述长期行为向量。其中,所述第一rnn模型基于历史用户对应的长期行为特征序列和所述历史用户对已推荐车辆的实际交互行为标签训练得到。在第一rnn模型的模型训练阶段,采用上述同样的方式对历史用户对应的长期行为特征序列进行筛选,并将筛选出的k个历史推荐车辆对应的车辆特征向量组成长期行为特征序列将长期行为特征序列作为训练样本[x1,x2,…,xk]。将第i个历史用户对应的训练样本[xi1,xi2,…,xik]输入至预设的第一rnn模型中进行训练,隐藏层状态更新如下:输出层计算:其中,ul、wl、和vl为网络参数,b和c为偏置,σ为sigmoid函数。根据历史用户对已推荐车辆的实际交互行为标签yt,使用交叉熵损失函数计算如下:使用梯度反向传播算法更新网络参数ul、wl、和vl,直至交叉熵损失函数的函数值收敛。将筛选出的当前用户的历史推荐车辆对应的车辆特征向量组成长期行为特征序列[x1,x2,…,xk],输入至预先训练好的第一rnn模型中,得到隐层状态向量将得到的隐层状态向量确定为长期行为向量seq_featurel。s250、根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长。s260、将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分。其中,所述deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到;s270、根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。本发明实施例通过将根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量,细化为根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,分别确定所述当前用户对各所述历史推荐车辆产生交互行为的综合交互次数;根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆;基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述长期行为向量,完善了长期行为向量的确定机制,充分利用的当前用户与已推荐车辆之间的历史交互信息,实现了对用户长期行为偏好的追踪,进而为满足不同用户的个性化需求奠定基础。实施例三图3是本发明实施例三中的一种车辆推荐方法的流程图,本发明实施例在上述各实施例的技术方案的基础上进行了优化改进。进一步地,将操作“根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第二时间段的短期行为向量”细化为“根据所述历史推荐车辆在所述第二时间段对应的历史交互信息,统计在不同时刻所述当前用户对所述历史推荐车辆产生交互行为的交互次数;根据预设时间长度内所述当前用户对所述历史推荐车辆产生交互行为的总交互次数,筛选历史推荐车辆;基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述短期行为向量”,以完善短期行为向量的确定机制。如图3所示的一种车辆推荐方法,包括:s310、获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量。s320、根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量。s330、根据所述历史推荐车辆在所述第二时间段对应的历史交互信息,统计在不同时刻所述当前用户对所述历史推荐车辆产生交互行为的交互次数;其中,所述第一时间段时长大于所述第二时间段时长。s340、根据预设时间长度内所述当前用户对所述历史推荐车辆产生交互行为的总交互次数,筛选历史推荐车辆。示例性地,根据预设时间长度内所述当前用户对所述历史待推荐车辆产生交互行为的总交互次数,筛选所述历史推荐车辆,可以是:统计在对设置的滑动窗口滑动前后,所述当前用户在所述滑动窗口内对所述历史推荐车辆产生交互行为的总交互次数。其中,所述滑动窗口的长度等于所述预设时间长度,所述滑动窗口进行滑动的滑动区间为所述第二时间段;确定总交互次数最多时所述滑动窗口对应的候选时间段,并筛选在所述候选时间段内的交互行为所对应的各历史推荐车辆。可以理解的是,采用上述通过滑动窗口对第二时间段内的高峰交互行为进行筛选的操作,能够实现对用户短期的行为偏好的有效追踪。s350、基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述短期行为向量。在本发明实施例的一种可选实施方式中,可以将筛选出的各历史推荐车辆对应的车辆特征向量组成短期行为特征序列,输入至预先训练好的第二rnn模型中,得到隐层状态向量;将所述隐层状态向量确定为所述短期行为向量。其中,所述第二rnn模型基于历史用户对应的短期行为特征序列和所述历史用户对已推荐车辆的实际交互行为标签训练得到。在第二rnn模型的模型训练阶段,采用上述同样的方式对历史用户对应的短期行为特征序列进行筛选,并将筛选出的k个历史推荐车辆对应的车辆特征组成短期行为特征序列将短期行为特征序列作为训练样本[x1,x2,…,xk]。将第i个历史用户对应的训练样本[xi1,xi2,…,xik]输入至预设的第二rnn模型中进行训练,隐藏层状态更新如下:输出层计算:其中,us、ws、和vs为网络参数,b和c为偏置,σ为sigmoid函数。根据历史用户对已推荐车辆的实际交互行为标签yt,使用交叉熵损失函数计算如下:使用梯度反向传播算法更新网络参数us、ws、和vs,直至交叉熵损失函数的函数值收敛。将筛选出的当前用户的历史推荐车辆对应的车辆特征向量组成短期行为特征序列[x1,x2,…,xk],输入至预先训练好的第二rnn模型中,得到隐层状态向量将得到的隐层状态向量确定为短期行为向量seq_features。s360、将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分。其中,所述deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到。s370、根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。本发明实施例通过将根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第二时间段的短期行为向量,细化为根据所述历史推荐车辆在所述第二时间段对应的历史交互信息,统计在不同时刻所述当前用户对所述历史推荐车辆产生交互行为的交互次数;根据预设时间长度内所述当前用户对所述历史推荐车辆产生交互行为的总交互次数,筛选历史推荐车辆;基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述短期行为向量,完善了短期行为向量的确定机制,充分利用的当前用户与已推荐车辆之间的历史交互信息,实现了对用户短期行为偏好的追踪,进而为满足不同用户的个性化需求奠定基础。实施例四图4a是本发明实施例四中的一种车辆推荐方法的流程图,本发明实施例在上述各实施例的技术方案的基础上提供了一种优选实施方式。如图4a所示的一种车辆推荐方法,包括:s410、样本准备阶段;s420、长期rnn模型训练使用阶段;s430、短期rnn模型训练使用阶段;s440、deepfm模型训练使用阶段;s450、车辆推荐阶段。结合图4b所示的滑动窗口进行短期行为序列的选取示意图、图4c所示的长/短期rnn模型训练过程示意图、以及图4d所示的模型整体架构示意图,对车辆推荐方法进行详细说明。其中,在样本准备阶段,包括以下步骤:s411、构造用户特征向量和车辆特征向量。获取共享租车平台中的各用户的用户信息(包括性别以及年龄等),并根据用户信息构造用户特征向量userstatic;获取共享租车平台中所包含车辆的车辆信息(包括车型、颜色、以及排量等),并根据不同品牌车系的车辆对应的车辆信息构造车辆特征向量itemstatic。s412、构造用户对已推荐车辆的实际交互行为标签。获取用户在共享租车平台中的用户行为日志,并将根据用户行为日志中包含的用户对车辆交互的几种隐式反馈(如点击、浏览、分享、收藏、及下单等)进行统计,并根据反馈行为的类别,设定不同的优化目标定义正负样本,得到实际交互行为标签y。如,优化点击率则展示且点击为正样本,展示且未点击为负样本;若优化转化率则点击且下单为正样本,点击且未下单为负样本。s413、构造长期行为特征序列。针对每个用户,构造相应的长期行为特征序列,具体步骤如下1)针对每个品牌车系的车辆,根据以下公式确定用户对该品牌车系的车辆在第一时间段内的综合交互次数:其中,ai为用户对该品牌车系产生第i种隐式反馈的交互次数,λi为第i种隐式反馈的权重,x为综合交互次数。其中,第一时间段可以是180天。由于在第一时间段内点击、浏览、分享、收藏以及下单为0的车辆较多,因此x为0的数量较大。2)获取该用户对全部品牌车系非零综合交互次数的中位数。3)根据以下公式确定用户对各品牌车系的交互行为得分score:其中,m为中位数。4)对交互行为得分score进行排序,选取分数最高的k量车的车辆特征向量组成长期行为特征序列s414、构造短期行为特征序列。参见图4b,在第二时间段(例如90天)内,使用滑动窗口统计高峰交互行为(点击、分量、浏览、收藏、及下单等)发生时段,选取交互行为最多的一端时间(等于窗口大小k)内的车辆特征向量,作为短期行为特征序列其中,在长期rnn模型训练使用阶段,包括:s421、将历史用户对应的长期行为特征序列和实际交互行为标签对长期rnn模型进行训练。参见图4c,获取大量历史用户对应的长期行为特征序列将长期行为特征序列作为训练样本[x1,x2,…,xk],对长期rnn模型进行训练。将第i个历史用户对应的训练样本[xi1,xi2,…,xik]输入至预设的长期rnn模型中进行训练,隐藏层状态更新如下:输出层计算:其中,ul、wl、和vl为网络参数,b和c为偏置,σ为sigmoid函数。根据历史用户对已推荐车辆的实际交互行为标签yt,使用交叉熵损失函数计算如下:使用梯度反向传播算法更新网络参数ul、wl、和vl,直至交叉熵损失函数的函数值收敛。s422、将当前用户的长期行为特征序列输入至训练好的长期rnn模型,输出与当前用户对应的第一预测得分和长期行为向量。参见图4c,将当前用户的长期行为特征序列输入至训练好的长期rnn模型,输出第一预测得分yl和长期行为向量其中,在短期rnn模型训练使用阶段,包括:s431、将历史用户对应的短期行为特征序列和实际交互行为标签对短期rnn模型进行训练。获取短期行为特征序列将短期行为特征序列作为训练样本[x1,x2,…,xk],对短期rnn模型进行训练。将第i个历史用户对应的训练样本[xi1,xi2,…,xik]输入至预设的短期rnn模型中进行训练,隐藏层状态更新如下:输出层计算:其中,us、ws、和vs为网络参数,b和c为偏置,σ为sigmoid函数。根据历史用户对已推荐车辆的实际交互行为标签yt,使用交叉熵损失函数计算如下:使用梯度反向传播算法更新网络参数us、ws、和vs,直至交叉熵损失函数的函数值收敛。s432、将当前用户的短期用户行为特征序列输入至训练好的短期rnn模型,输出与当前用户对应的第二预测得分和短期行为向量。将当前用户的短期行为特征序列输入至训练好的短期rnn模型,输出第二预测得分ys和长期行为向量其中,在deepfm模型训练使用阶段,包括:s441、将历史用户对应的用户特征向量、车辆特征向量、长期行为向量和短期行为向量,作为训练样本对deepfm模型进行训练。结合图4d,对deepfm模型的训练使用阶段进行说明。1)连接用户特征向量、车辆特征向量、长期行为向量和短期行为向量,构造deepfm模型训练样本:x=[userstatic,itemstatic,seq_featurel,seq_features]。2)使用deepfm模型进行训练,deepfm的输入层由独热编码使用嵌入层映射至稠密向量空间后进行处理,训练样本中的特征包括userstatic、itemstatic、seq_featurel、及seq_features四部分,对于静态特征userstatic和itemstatic,使用独热编码和嵌入层处理,获得稠密特征向量;对于序列特征seq_featurel和seq_features,直接使用。经上述处理后,组成样本向量x=[x1,x2,…xk]预测标签y由dnn(deepneuralnetwork,深度神经网络)部分和fm(factorizationmachines,因子分解机)部分共同组成:ypred=σ(yfm+ydnn);优化特征的二阶组合内积,结构如下:vi和vj为网络参数中的隐变量,对应特征所有二阶组合的训练参数,特征连接后,使用连接后的特征作为训练样本训练deepfm网络。3)使用查准率(precision)和查全率(recall)对模型进行评估,根据样本的实际类型和判断类型,分类结果可分为如下四种:实际正实际负预测正tp(y=1,ypred=1)fp(y=0,ypred=1)预测负fn(y=1,ypred=0)tn(y=0,ypred=0)查准率=tp/(tp+fp),使用预测为正且实际为正的样本数量,除以预测为正的样本总数,用以表示预测样本中的对的部分的比例;查全率=tp/(tp+fn),使用预测为正且实际为正的样本数量,除以实际为正的样本总数,用以表示实际正样本中被推荐部分的比例。s442、将当前用户对应的用户特征向量、车辆特征向量、长期行为向量和短期行为向量输入至训练好的deepfm模型,输出与当前用户对应的第三预测得分。将当前用户对应的用户特征向量、车辆特征向量、长期行为向量和短期行为向量组合得到待测样本x=[userstatic,itemstatic,seq_featurel,seq_features]输入至训练好的deepfm模型,得到第三预测得分ypred=σ(yfm+ydnn)。s451、将第一预测得分和第二预测得分加权平均,得到参考预测得分。采用以下公式,得到参考预测得分yl-s:yl-s=αyl+(1-α)ys。其中,α为权重。s452、将参考预测得分与第三预测得分加权平均,得到最终预测得分其中,β为权重。实施例五图5是本发明实施例五中的一种车辆推荐装置的结构图,本发明实施例适用于在共享租车平台中向用户进行车辆推荐的情况,该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中,其中电子设备可以是服务器或个人电脑。如图5所示的一种车辆推荐装置,包括:特征向量获取模块510,行为向量确定模块520,行为预测得分确定模块530,以及车辆推荐模块540。特征向量获取模块510,用于获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;行为向量确定模块520,用于根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长;行为预测得分确定模块530,用于将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的深度因子分解机deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分;其中,所述deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到;车辆推荐模块540,用于根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。本发明实施例通过特征向量获取模块获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;通过行为向量确定模块根据当前用户对用户推荐车辆的历史交互信息,确定当前用户在第一时间段的长期行为向量和第二时间段的短期行为向量;其中第一时间段时长大于第二时间段时长;通过行为预测得分确定模块将用户特征向量、车辆特征向量、长期行为向量和短期行为向量输入至预先训练好的deepfm模型中,根据deepfm模型的输出结果确定当前用户对待推荐车辆产生交互行为的行为预测得分;通过车辆推荐模块根据各待推荐车辆对应的行为预测得分,对各待推荐车辆进行排序,并基于排序结果向当前用户进行车辆推荐。由于所采用的deepfm模型基于向历史用户推荐车辆时历史用户的用户特征向量、已推荐车辆的车辆特征向量、历史用户对已推荐车辆的实际交互行为标签以及历史用户对应的长期行为向量和短期行为向量训练得到,使得在deepfm在模型使用过程中,能够追踪用户的长短期行为偏好,进而在进行车辆推荐时满足了用户的个性化需求,提高了车辆推荐结果与用户之间的匹配度,从而提升用户体验。进一步地,行为向量确定模块520包括,长期行为向量确定单元,用于根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量;相应的,长期行为向量确定单元,包括:综合交互次数确定子单元,用于根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,分别确定所述当前用户对各所述历史推荐车辆产生交互行为的综合交互次数;历史推荐车辆筛选子单元,用于根据各所述历史推荐车辆对应的综合交互次数,筛选设定数量的历史推荐车辆;长期行为向量确定子单元,用于基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述长期行为向量。进一步地,综合交互次数确定子单元,具体用于:针对每一历史推荐车辆,根据所述历史推荐车辆在所述第一时间段内对应的历史交互信息,统计所述当前用户对所述历史推荐车辆产生不同交互行为的交互次数;根据不同交互行为对应的交互权重和相应的交互次数,确定所述当前用户对所述历史推荐车辆产生交互行为的综合交互次数。进一步地,历史推荐车辆筛选子单元,具体用于:在各历史推荐车辆对应的综合交互次数中,选取其中一个非零综合交互次数作为参考交互次数;根据所述参考交互次数和各所述综合交互次数,分别确定各所述历史推荐车辆对应的交互得分,并基于所述交互得分对各所述历史推荐车辆进行排序;根据各历史推荐车辆的排序结果,筛选出设定数量的历史推荐车辆。进一步地,长期行为向量确定子单元,具体用于:将筛选出的各历史推荐车辆对应的车辆特征向量组成长期行为特征序列,输入至预先训练好的第一循环神经网络rnn模型中,得到隐层状态向量;其中,所述第一rnn模型基于历史用户对应的长期行为特征向量序列和所述历史用户对已推荐车辆的实际交互行为标签训练得到;将所述隐层状态向量确定为所述长期行为向量。进一步地,行为向量确定模块520包括,短期行为向量确定单元,用于根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第二时间段的短期行为向量;相应的,短期行为向量确定单元,包括:交互次数统计子单元,用于交互次数统计根据所述历史推荐车辆在所述第二时间段对应的历史交互信息,统计在不同时刻所述当前用户对所述历史推荐车辆产生交互行为的交互次数;历史推荐车辆筛选子单元,用于根据预设时间长度内所述当前用户对所述历史推荐车辆产生交互行为的总交互次数,筛选历史推荐车辆;短期行为向量确定子单元,用于基于筛选的各历史推荐车辆对应的车辆特征向量,确定所述短期行为向量。进一步地,历史推荐车辆筛选子单元,具体用于:统计在对设置的滑动窗口滑动前后,所述当前用户在所述滑动窗口内对所述历史推荐车辆产生交互行为的总交互次数;其中,所述滑动窗口的长度等于所述预设时间长度,所述滑动窗口进行滑动的滑动区间为所述第二时间段;确定总交互次数最多时所述滑动窗口对应的候选时间段,并筛选在所述候选时间段内的交互行为所对应的各历史推荐车辆。进一步地,短期行为向量确定子单元,具体用于:将筛选出的各历史推荐车辆对应的车辆特征向量组成短期行为特征序列,输入至预先训练好的第二rnn模型中,得到隐层状态向量;其中,所述第二rnn模型基于历史用户对应的短期行为特征向量序列和所述历史用户对已推荐车辆的实际交互行为标签训练得到;将所述隐层状态向量确定为所述短期行为向量。进一步地,该装置还包括参考预测得分确定模块,具体包括:第一参考预测得分确定单元,用于在确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量之后,根据所述长期行为向量,确定所述当前用户对各待推荐车辆产生交互行为的第一参考预测得分;第二参考预测得分确定单元,用于在确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量之后,根据所述短期行为向量,确定所述当前用户对各待推荐车辆产生交互行为的第二参考预测得分;相应的,车辆推荐模块540在执行根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序时,包括:最终预测得分确定单元,用于针对各所述待推荐车辆,将所述待推荐车辆对应的第一参考预测得分、第二参考预测得分和所述行为预测得分加权求和,得到所述当前用户对所述待推荐车辆产生交互行为的最终预测得分;车辆排序单元,用于根据各所述待推荐车辆对应的所述最终预测得分,对各所述待推荐车辆进行排序。进一步地,所述交互行为包括浏览行为、分享行为、收藏行为、和下单行为中的至少一种。上述产品可执行本发明任意实施例所提供的车辆推荐方法,具备执行车辆推荐方法相应的功能模块和有益效果。实施例六图6是本发明实施例六中的一种电子设备的结构图,该设备包括:输入装置610、输出装置620、处理器630以及存储装置640。其中,输入装置610,用于获取当前用户的用户特征向量;输出装置620,用于基于排序结果向所述当前用户进行车辆推荐;一个或多个处理器630;存储装置640,用于存储一个或多个程序。图6中以一个处理器630为例,该电子设备中的输入装置610可以通过总线或其他方式与输出装置620、处理器630以及存储装置640相连,且处理器630和存储装置640也通过总线或其他方式连接,图6中以通过总线连接为例。在本实施例中,电子设备中的处理器630可以控制输入装置610获取当前用户的用户特征向量;还可以确定待推荐车辆的车辆特征向量;还可以根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长;还可以将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的深度因子分解机deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分;还可以根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序;还可以控制输出装置620基于排序结果向所述当前用户进行车辆推荐。该电子设备中的存储装置640作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中车辆推荐方法对应的程序指令/模块(例如,附图5所示的特征向量获取模块510,行为向量确定模块520,行为预测得分确定模块530,以及车辆推荐模块540)。处理器630通过运行存储在存储装置640中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的车辆推荐方法。存储装置640可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储数据等(如上述实施例中的用户特征向量、车辆特征向量、长期行为向量、短期行为向量、行为预测得分、以及待推荐车辆等)。此外,存储装置640可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置640可进一步包括相对于处理器630远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。实施例七本发明实施例七还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被车辆推荐装置执行时实现本发明实施提供的车辆推荐方法,该方法包括:获取当前用户的用户特征向量,并确定待推荐车辆的车辆特征向量;根据所述当前用户对历史推荐车辆的历史交互信息,确定所述当前用户在第一时间段的长期行为向量和在第二时间段的短期行为向量;其中,所述第一时间段时长大于所述第二时间段时长;将所述用户特征向量、所述车辆特征向量、所述长期行为向量和所述短期行为向量输入至预先训练好的深度因子分解机deepfm模型中,根据所述deepfm模型的输出结果确定所述当前用户对所述待推荐车辆产生交互行为的行为预测得分;其中,所述deepfm模型基于向历史用户推荐车辆时所述历史用户的用户特征向量、已推荐车辆的车辆特征向量、所述历史用户对所述已推荐车辆的实际交互行为标签以及所述历史用户对应的长期行为向量和短期行为向量训练得到;根据各所述待推荐车辆对应的所述行为预测得分,对各所述待推荐车辆进行排序,并基于排序结果向所述当前用户进行车辆推荐。通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1