掌桥专利:专业的专利平台
掌桥专利
首页

基于Transformer的序列推荐方法及系统

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及人工智能技术领域,尤其涉及一种基于Transformer的序列推荐方法及系统。

背景技术

在大数据时代,个性化推荐系统涉及的应用场景很多,从各大电商平台、音乐软件到短视频,以及长视频网站等都会使用个性化推荐,以在海量的数据中为用户推荐用户可能喜欢的商品(简称,Item),减少用户的主动搜索,节省不必要的时间成本,提高用户体验感,进而吸引用户,增加用户的观察时长和点击次数等。随着网络资源的不断丰富,信息过载是一个新的问题,个性化推荐是解决信息过载的一个有效手段。

现有技术中,常用的推荐算法包括基于内容的推荐算法等。其中,基于内容的推荐算法主要通过计算每一对象特征与每一商品特征之间的相似度得到最终推荐列表,但这些方法是通过静态方式建模用户和商品内容之间的交互,虽然可以获取到用户整体的兴趣偏好,但用户的偏好往往会跟随时间的推移而变化。因此,无法及时捕捉用户的动态偏好,导致推荐结果不准确。

发明内容

本发明提供一种基于Transformer的序列推荐方法及系统,用以解决现有技术中通过静态方式建模用户和商品内容之间的交互,无法及时捕捉用户的动态偏好,导致推荐结果不准确的缺陷,实现动态捕捉用户的偏好信息,提高推荐结果的准确性。

本发明提供一种基于Transformer的序列推荐方法,包括:

获取目标用户的当前行为数据;

将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;

根据所述待推荐商品列表,对所述目标用户执行推荐操作;

其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

根据本发明提供的一种基于Transformer的序列推荐方法,所述序列推荐模型的训练步骤具体包括:

将所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,输入所述Transformer模型对应的候选网络架构中,对所述候选网络架构进行神经网络架构搜索,得到所述Transformer模型对应的最优网络架构;

根据所述Transformer模型对应的最优网络架构,构建所述序列推荐模型的初始模型;

基于所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,对所述初始模型的参数进行优化训练,得到所述序列推荐模型。

根据本发明提供的一种基于Transformer的序列推荐方法,所述将所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,输入所述Transformer模型对应的候选网络架构中,包括:

对所述历史行为数据进行预处理;

其中,所述预处理包括数值缺失处理,和/或对无效的历史行为数据进行剔除处理;

将预处理后的历史行为数据、所述商品库中各商品的商品信息,以及所述预处理后的历史行为数据对应的已访问商品列表,输入所述候选网络架构中。

根据本发明提供的一种基于Transformer的序列推荐方法,所述将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表,包括:

将所述目标用户的当前行为数据和所述商品库中各商品的商品信息输入所述序列推荐模型中,得到所述目标用户当前对各商品的偏好程度等级;

根据所述目标用户当前对各商品的偏好程度等级,从所述商品库中选择所述偏好程度等级满足预设条件的待推荐商品;

根据所述待推荐商品生成所述待推荐商品列表。

根据本发明提供的一种基于Transformer的序列推荐方法,所述序列推荐模型包括特征提取单元和预测单元;

其中,所述特征提取单元基于编码器构建生成,用于对所述目标用户的当前行为数据和各商品的商品信息进行特征编码,得到所述目标用户对应的用户特征和各商品的商品特征,并学习所述用户特征和各商品的商品特征之间的依赖关系;

所述编码器包括嵌入层和自注意力层;

所述预测单元基于全连接层结构生成,用于对所述用户特征和各商品的商品特征之间的依赖关系进行学习,预测得到所述待推荐商品列表。

根据本发明提供的一种基于Transformer的序列推荐方法,所述序列推荐模型的损失函数基于交叉熵损失函数构建生成。

本发明还提供一种基于Transformer的序列推荐系统,包括:

获取模块,用于获取目标用户的当前行为数据;

预测模块,用于将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;

推荐模块,用于根据所述待推荐商品列表,对所述目标用户执行推荐操作;

其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于Transformer的序列推荐方法。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于Transformer的序列推荐方法。

本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于Transformer的序列推荐方法。

本发明提供的基于Transformer的序列推荐方法及系统,通过一方面基于Transformer模型构建序列推荐模型,使得序列推荐模型可以动态捕捉用户行为数据的序列特征,以准确表征用户的序列性偏好变化,进而提高推荐结果的准确性;另一方面,通过使用神经网络架构搜索,可自动搜索获取最优的序列推荐模型,以快速训练得到可准确预测待推荐商品列表的序列推荐模型,在有效减少人工参与构建网络的同时,可有效提高序列推荐模型的性能,进一步提高推荐结果的准确性,进而提升用户体验感。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的基于Transformer的序列推荐方法的流程示意图之一;

图2是本发明提供的基于Transformer的序列推荐方法的流程示意图之二;

图3是本发明提供的基于Transformer的序列推荐系统的结构示意图;

图4是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,为实现商品的智能推荐,有一些学者采用深度特征学习实现商品推荐,具体通过构建初始推荐模型,并通过训练样本对初始推荐模型进行迭代训练,将评论文本和评分数据导入训练好的推荐模型,通过对评论文本进行编码,得到文本特征,通过生成评分数据的评分特征,并融合文本特征和评分特征,生成偏好特征,通过对偏好特征进行解码,得到偏好信息,并基于偏好信息完成推荐。通过多层感知机制构建推荐模型,通过推荐模型的感知层获取深度评分特征,通过Transformer(机器翻译)网络学习文本特征,并结合评分特征和文本特征完成推荐,提高了推荐模型的准确性。但该方法中的Transformer的层数和头数均需要人工确定,很难获取最佳的网络结构,进而导致推荐结果不准确;另外,仅考虑评论信息,难以到更多与用户偏好信息相关的特征。因此,该方法的表征能力差,进一步导致推荐结果不准确。

另外,有一些学者采用BERT(Bidirectional Encoder Representation fromTransformers,预训练的语言表征)模型实现商品推荐,具体通过嵌入层将稀疏高维的用户和物品特征映射成稠密低维矩阵,并将用户行为序列与物品特征共同嵌入表示,通过转换层训练学习表示用户行为序列,输出层将转化层的结果加上K层隐藏层并用Softmax函数作为分类器得到最终的输出,该方法能够有效利用用户历史行为序列的数据,能够有效利用用户和物品的辅助信息,能够自动从数据中提取特征,避免了人工设计特征的扩展性低的问题,避免了数据稀疏的问题,利用双向模型避免了节点只能从左到右严格有序的单向序列推荐准确率低的问题。但是,该方法中的BERT模型的结构需要人工确定,很难获取最佳的网络结构,进而导致推荐结果不准确。

针对这一技术问题,本实施例提供了一种基于Transformer的序列推荐方法,通过采用神经网络架构搜索算法,自动搜索获取最优的Transformer网络架构,并根据最优的Transformer网络架构构建序列推荐模型,从而获得具有更高的泛化性与准确性的序列决策模型,以动态准确地向用户推荐商品,在有效减少人工参与的同时,可最大限度地提高推荐结果的准确性,进而提升用户体验感。

需要说明的是,该方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本发明不作具体限定。

下面结合图1描述本发明的基于Transformer的序列推荐方法,该方法包括:步骤101,获取目标用户的当前行为数据。

其中,目标用户是指待向其进行产品推荐的用户。

目标用户的当前行为数据为目标用户对待推荐商品进行的各项操作。

以待推荐商品为视频为例,当前行为数据包括用户对视频产生的观看、评论、评分、搜索、收藏、观看时长等,以及操作时携带的用户信息,即用于表征与目标用户本身相关的各项参数,如用户的年龄、性别、注册账号等,本实施例对此不做具体地限定。

可选地,在需要向目标用户进行产品推荐情况下,实时监测获取目标用户的当前行为数据,以便向目标用户推荐其感兴趣的商品。

步骤102,将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

其中,待推荐商品列表中包含待推荐给目标用户的所有商品,如小说、音乐、视频等不同类型的商品;相应地,目标用户可以是电子书应用程序、音乐应用程序、视频应用程序等不同类型的信息提供平台的用户,本实施例对此不作具体地限定。也就是说,本实施例中提出的序列推荐方法可适用于各种类型的产品推荐场景。

其中,序列推荐模型是一种可以通过对用户的历史行为序列和商品信息进行建模,学习用户的动态偏好变化,进而根据动态偏好变化为用户进行动态推荐商品的推荐模型。

序列推荐模型的构建主要通过用户的历史行为交互序列来建模分析用户的偏好信息;而用户的偏好信息往往会跟随时间的推移而变化。在序列推荐模型中,用户的行为一般具有强烈的时间先后关系,即顺序模式;因此,在推荐场景中,本实施采用基于Transformer模型构建生成的序列推荐模型在捕捉用户短期兴趣的问题上显得更为适合,具有时间建模的优势。

本实施例中的序列推荐模型基于Transformer模型构建生成,序列推荐模型中至少包括特征提取单元和预测单元,具体结构可以根据神经网络架构搜索算法自动搜索获取。

在执行步骤102之前,需要先对序列推荐模型进行训练,具体训练步骤包括:

首先,获取训练数据集;其中,训练数据集由在历史时间段内采集的样本用户的历史行为数据、商品库中各商品的商品信息、历史行为数据对应的已访问商品列表构建生成。其中,历史时间段可以是当前时刻之前的预设时间段;如当前时刻为5点,历史时间段可以是1点到4点之间的历史时间段。

其中,样本用户包括与目标用户同类型的用户,也可以包括目标用户;相应地,样本用户的历史行为数据包括与目标用户同类型的用户的历史行为数据,也可以包括目标用户的历史行为数据,本实施对此不作具体地限定。

然后,将所述历史时间段内采集的样本用户的所有历史行为数据按照时间的先后顺序,形成历史访问行为序列;或者,对有历史行为数据进行预处理后,如数据筛选、标准化处理等,再将预处理后的历史行为数据按照时间的先后顺序,形成历史访问行为序列。

然后,直接以历史访问行为序列、商品库中各商品的商品信息。以及历史访问行为序列对应的已访问商品列表作为训练数据集,并采用神经网络架构搜索算法,对序列推荐模型的结构和参数共同进行训练优化,得到可最终的序列推荐模型。

可选地,通过神经网络架构搜索算法,可自动准确地确定序列推荐模型的最优架构,具体包括序列推荐模型的最优层数、层间的操作如卷积、池化、或全连接操作,以及超参数的设定,如卷积核的大小和幅度等,以及每层神经元的数量等,本实施例对此不做具体地限定。

在获取到训练好的序列推荐模型后,可以将目标用户的当前访问行为和商品库中各商品的商品信息输入训练好的序列推荐模型中,直接由训练好的序列推荐模型输出当前行为数据对应的待推荐商品列表;也可以先获取训练好的序列推荐模型根据当前行为数据学习到的用户特征信息和商品特征信息,根据用户特征信息和商品特征信息进行匹配后,从商品库中选择相应的待推荐商品,形成待推荐商品列表等,本实施例对此不做具体地限定。

步骤103,根据所述待推荐商品列表,对所述目标用户执行推荐操作。

可选地,在获取到待推荐商品列表后,可以根据待推荐商品列表确定各商品的推荐指数;其中,商品的推荐指数越高,表征用户对该商品的偏好程度越高。

按照各商品的推荐指数,将各商品推荐给目标用户;具体按照推荐指数从大到小的顺序,依次将各商品推荐给目标用户。

本实施例一方面基于Transformer模型构建序列推荐模型,使得序列推荐模型可以动态捕捉用户行为数据的序列特征,以准确表征用户的序列性偏好变化,进而提高推荐结果的准确性;另一方面,通过使用神经网络架构搜索,可自动搜索获取最优的序列推荐模型,以快速训练得到可准确预测待推荐商品列表的序列推荐模型,在有效减少人工参与构建网络的同时,可有效提高序列推荐模型的性能,使得推荐结果更加准确,进而提升用户体验感。

在上述实施例的基础上,本实施例中所述序列推荐模型的训练步骤具体包括:将所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,输入所述Transformer模型对应的候选网络架构中,对所述候选网络架构进行神经网络架构搜索,得到所述Transformer模型对应的最优网络架构;根据所述Transformer模型对应的最优网络架构,构建所述序列推荐模型的初始模型;基于所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,对所述初始模型的参数进行优化训练,得到所述序列推荐模型。

可选地,序列推荐模型的训练步骤具体包括:

首先,获取样本数据集,具体包括历史行为数据、商品库中各商品的商品信息,以及历史行为数据对应的已访问商品列表。

然后,在获取到样本数据集后,可以将训练数据集划分为训练集、验证集,采用训练集用于训练,验证集用于验证,具体划分比例可以根据实际需求进行设置。

然后,根据预设的构建策略,获取Transformer模型对应的多个候选网络框架,构成搜索空间。

其中,构建策略可以根据实际需求进行预先设定,其中包含有适用于商品推荐的所有Transformer模型的架构集合构建策略。

然后,将训练集输入Transformer模型对应的各候选网络架构中,采用预设搜索策略,对各候选网络架构进行神经网络架构搜索,并在搜索过程中对各候选网络架构的进行性能评估,以从多个候选网络框架中搜索得到推荐性能最优的网络架构;其中,预设搜索策略包括随机搜索、网格搜索、基于梯度的搜索策略、进化算法和强化学习策略等,本实施例对此不做具体地限定。

或者,在搜索过程中对各候选网络架构的进行评估,并根据评估结果对构建策略进行调整,以更新生成新的候选架构,迭代执行,直到达到搜索终止条件,得到最优网络架构。其中,最优网络架构中包含但不限于Transformer模型的最优层数,自注意力层的头数、各层最优神经元节点数据,超参数的最优值等。

在得到最优网络架构后,根据Transformer模型对应的最优网络架构,构建序列推荐模型的初始模型。

然后,再基于样本用户的历史行为数据、商品库中各商品的商品信息,以及历史行为数据对应的已访问商品列表,对初始模型的参数进行再次优化训练,得到最终的序列推荐模型。

本实施例中的神经网络架构搜索依赖于搜索策略,根据搜索策略即可自动识别出性能较好的网络架构,并仅对性能较好的网络架构进行性能评估,有效可以避免测试性能较差的网络架构带来的时间成本和计算成本;并可自动搜索确定Transformer模型对应的最优网络架构,在减少人工参与的同时,可快速得到具有良好的鲁棒性、泛化性和准确度的序列推荐模型。

在上述实施例的基础上,本实施例中所述将所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,输入所述Transformer模型对应的候选网络架构中,包括:对所述历史行为数据进行预处理;其中,所述预处理包括数值缺失处理,和/或对无效的历史行为数据进行剔除处理;将预处理后的历史行为数据、所述商品库中各商品的商品信息,以及所述预处理后的历史行为数据对应的已访问商品列表,输入所述候选网络架构中。

其中,无效的历史行为数据为对用户的推荐信息影响较小甚至无关的行为数据,如目标用户对视频或新闻的观看时长小于预设时长阈值,则表征该历史行为数据对推荐信息的影响较小,确定该历史行为数据无效等。

可选地,预先获取的历史行为数据可以通过物联网采集设备获取。由于设备误差、设备故障和人为因素等都会造成采集的历史行为数据缺失或数据无效。所以,在将历史行为数据输入到序列推荐模型中进行训练之前需要对其进行预处理。

其中,预处理包括:对历史行为数据进行数值缺失处理;具体直接将数值缺失的历史行为数据进行删除,或者根据邻近历史行为数据,对数值缺失的历史行为数据进行补全等,本实施例对此不做具体地限定。

和/或,判断各时刻的历史行为数据是否有效,并对无效的历史行为数据进行剔除处理,以保留对商品推荐有价值的历史行为数据,进而提升序列推荐模型的性能的收敛速度。

可以对各时刻的历史行为数据采用上述任一种预处理方法进行预处理,也可以将上述多种预处理方法结合对各时刻采集的历史行为数据进行预处理。本实施例不限于对历史行为数据进行预处理的方法。

在获取预处理后的历史行为数据后,将预处理后的历史行为数据、所述商品库中各商品的商品信息,以及所述预处理后的历史行为数据对应的已访问商品列表,输入所述候选网络架构中,以对快速准确地训练获取具有良好推荐性能的序列推荐模型。

在上述实施例的基础上,本实施例中所述将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表,包括:将所述目标用户的当前行为数据和所述商品库中各商品的商品信息输入所述序列推荐模型中,得到所述目标用户当前对各商品的偏好程度等级;根据所述目标用户当前对各商品的偏好程度等级,从所述商品库中选择所述偏好程度等级满足预设条件的待推荐商品;

根据所述待推荐商品生成所述待推荐商品列表。

可选地,步骤102中获取当前行为数据对应的待推荐商品列表的步骤具体包括:

首先,将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,得到所述序列推荐模型对当前行为数据和各商品的商品信息进行学习和匹配后,得到的目标用户当前对各商品的偏好程度等级;

其中,偏好程度等级用于表征目标用户对各商品的感兴趣程度等级。偏好程度等级越高,表征目标用户对商品的感兴趣程度越高,越有可能购买或访问该商品。

预设条件可以根据实际需求进行预先设定,如偏好程度等级较高的预设数量的商品;或者偏好程度等级大于预设值的商品等。

在预设条件为偏好程度等级较高的预设数量的商品的情况下,需要按照偏好程度等级,对各商品进行排序;具体按照偏好程度等级从高到低或从低到高的顺序进行排序,本实例对此不做具体地限定。然后,根据排列结果,从中选择偏好程度等级较高的预设数量的待推荐商品,以生成待推荐商品列表。

在预设条件为偏好程度等级大于预设值的商品的情况下,需要判断各商品的偏好程度等级是否大于预设值,将大于预设值的商品作为待推荐商品,以生成待推荐商品列表。

本实施例根据序列推荐模型可以动态准确地获取目标用户当前对各商品的偏好程度等级,并根据目标用户当前对各商品的偏好程度等级,动态生成待推荐商品列表,进而为目标用户提供更加精准的商品推荐信息,提升用户体验感。

在上述实施例的基础上,本实施例中所述序列推荐模型包括特征提取单元和预测单元;其中,所述特征提取单元基于编码器构建生成,用于对所述目标用户的当前行为数据和各商品的商品信息进行特征编码,得到所述目标用户对应的用户特征和各商品的商品特征,并学习所述用户特征和各商品的商品特征之间的依赖关系;所述编码器包括嵌入层和自注意力层;所述预测单元基于全连接层结构生成,用于对所述用户特征和各商品的商品特征之间的依赖关系进行学习,预测得到所述待推荐商品列表。。

其中,序列推荐模型基于Transformer模型构建生成,以动态学习用户的偏好信息后,动态输出目标用户的当前行为数据对应的待推荐商品列表。

序列推荐模型包括特征提取单元和预测单元;

其中,特征提取单元至少包含一组嵌入层和自注意力层;预测单元至少包含一组全连接层;嵌入层、自注意力层和全连接层的具体结构由神经网络架构搜索算法搜索优化得到,如两层全连接层等。

可选地,首先,将目标用户的当前行为数据和商品库中各商品的商品信息输入嵌入层,提取目标用户的当前行为数据和各商品信息的嵌入特征,即语义特征。

然后,将目标用户的当前行为数据和各商品信息的嵌入特征输入自注意力层,对当前行为数据和各商品信息的嵌入特征进行学习,先得到目标用户对应的用户特征和各商品的商品特征;然后,根据用户特征和各商品的商品特征,学习输出用户特征和各商品的商品特征之间的依赖关系。

最后,再将用户特征和各商品的商品特征之间的依赖关系输入预测单元,对用户特征和各商品的商品特征之间的依赖关系进行学习,预测得到待推荐商品列表。

本实施例通过嵌入层和自注意力层,可有效提取出用户特征和各商品的商品特征,以及用户特征和各商品的商品特征之间的依赖关系,使得提取的编码特征更能有效地表征对商品信息推荐结果,有效提高序列推荐模型的推荐准确率。

在上述实施例的基础上,本实施例中的所述序列推荐模型的损失函数基于交叉熵损失函数构建生成。

可选地,在构建序列推荐模型的损失函数时,将序列推荐模型输出的样本用户的历史行为数据对应的待推荐商品列表和已访问商品列表作为交叉熵损失函数的变量,以度量历史行为数据对应的待推荐商品列表和已访问商品列表之间的偏差,进而获得序列推荐模型的损失函数。

并基于序列推荐模型的损失函数对序列推荐模型的参数进行迭代训练,以得到模型参数最优的序列推荐模型,进而提高序列推荐模型输出结果的准确性。

如图2所示,为本实施例提供的一种基于Transformer的序列推荐方法的流程示意图之二,本实施例的研究核心是基于序列推荐技术的智能推荐算法,主要包括数据处理、用户行为分析、序列推荐模型构建和序列推荐等步骤。其中,数据处理是推荐工作的基础,序列推荐模型是通过对历史行为数据进行学习后进行推荐,故需要采集用户历史行为数据,挖取用户过去某段时间的历史行为数据,转化为序列的形式,定义基本的数据结构模型,继而送进序列推荐模型进行学习,以得到可根据当前行为数据,动态输出出相应的待推荐商品列表的序列推荐模型。具体包括如下步骤:

步骤1,从数据库中获取样本用户在历史时间段内的历史行为数据,并对历史行为数据进行预处理,得到对商品推荐有价值的历史行为数据;

步骤2,将历史行为数据和商品库中各商品的商品信息,输入Transformer模型的嵌入层,得到相应的嵌入特征;

步骤3,将嵌入特征,输入Transformer模型的自注意力层后经过全连层,并利用神经网络架构搜索Transformer模型对应的最优网络架构,包括Transformer模型的最优层数和自注意力层的最优头数等。

步骤4,基于序列推荐模型的损失函数,对最优网络架构进行优化,得到最终的序列推荐模型;

步骤5,将当前行为数据和商品库中各商品的商品信息输入训练好的序列推荐模型,得到目标用户对应的用户特征和各商品的商品特征;并对用户特征和各商品的商品特征进行匹配学习,得到所述用户特征和各商品的商品特征之间的依赖关系,根据依赖关系预测得到所述待推荐商品列表,为用户推荐商品列表中偏好程度等级较高的多个商品。

综上,本实施例针对目前序列推荐算法中存在的问题,设计了引入神经网络架构搜索的序列推荐算法,相对主流的推荐算法而言,本实施例中的序列推荐方法的准确度得到了进一步提升,并且在序列推荐模型的训练过程中,不需要反复迭代尝试寻找最佳参数值,有效加快序列推荐模型的收敛效率。

下面对本发明提供的基于Transformer的序列推荐系统进行描述,下文描述的基于Transformer的序列推荐系统与上文描述的基于Transformer的序列推荐方法可相互对应参照。

如图3所示,本实施例提供一种基于Transformer的序列推荐系统,该系统包括获取模块301、预测模块302和推荐模块303,其中:

获取模块301,用于获取目标用户的当前行为数据。

其中,目标用户是指待向其进行产品推荐的用户。

目标用户的当前行为数据为目标用户对待推荐商品进行的各项操作。

以待推荐商品为视频为例,当前行为数据包括用户对视频产生的观看、评论、评分、搜索、收藏、观看时长等,以及操作时携带的用户信息,即用于表征与目标用户本身相关的各项参数,如用户的年龄、性别、注册账号等,本实施例对此不做具体地限定。

可选地,在需要向目标用户进行产品推荐情况下,实时监测获取目标用户的当前行为数据,以便向目标用户推荐其感兴趣的商品。

预测模块302,用于将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

其中,序列推荐模型是一种可以通过对用户的历史行为序列和商品信息进行建模,学习用户的动态偏好变化,进而根据动态偏好变化为用户进行动态推荐商品的推荐模型。

序列推荐模型的构建主要通过用户的历史行为交互序列来建模分析用户的偏好信息;而用户的偏好信息往往会跟随时间的推移而变化。在序列推荐模型中,用户的行为一般具有强烈的时间先后关系,即顺序模式;因此,在推荐场景中,本实施采用基于Transformer模型构建生成的序列推荐模型在捕捉用户短期兴趣的问题上显得更为适合,具有时间建模的优势。

本实施例中的序列推荐模型基于Transformer模型构建生成,序列推荐模型中至少包括特征提取单元和预测单元,具体结构可以根据神经网络架构搜索算法自动搜索获取。

先对序列推荐模型进行训练,具体训练步骤包括:

首先,获取训练数据集;其中,训练数据集由在历史时间段内采集的样本用户的历史行为数据、商品库中各商品的商品信息、历史行为数据对应的已访问商品列表构建生成。其中,历史时间段可以是当前时刻之前的预设时间段。

然后,将所述历史时间段内采集的所有历史行为数据按照时间的先后顺序,形成历史访问行为序列;或者,对有历史行为数据进行预处理后,如数据筛选、标准化处理等,再将预处理后的历史行为数据按照时间的先后顺序,形成历史访问行为序列。

然后,直接以历史访问行为序列、商品库中各商品的商品信息。以及历史访问行为序列对应的已访问商品列表作为训练数据集,并采用神经网络架构搜索算法,对序列推荐模型的结构和参数共同进行训练优化,得到可最终的序列推荐模型。

可选地,通过神经网络架构搜索算法,可自动准确地确定序列推荐模型的最优架构,具体包括序列推荐模型的最优层数、层间的操作如卷积、池化、或全连接操作,以及超参数的设定,如卷积核的大小和幅度等,以及每层神经元的数量等,本实施例对此不做具体地限定。

在获取到训练好的序列推荐模型后,可以将目标用户的当前访问行为和商品库中各商品的商品信息输入训练好的序列推荐模型中,直接由训练好的序列推荐模型输出当前行为数据对应的待推荐商品列表;也可以先获取训练好的序列推荐模型根据当前行为数据学习到的用户特征信息和商品特征信息,根据用户特征信息和商品特征信息进行匹配后,从商品库中选择相应的待推荐商品,形成待推荐商品列表等,本实施例对此不做具体地限定。

推荐模块303,用于根据所述待推荐商品列表,对所述目标用户执行推荐操作。

可选地,在获取到待推荐商品列表后,可以根据待推荐商品列表确定各商品的推荐指数;其中,商品的推荐指数越高,表征用户对该商品的偏好程度越高。

按照各商品的推荐指数,将各商品推荐给目标用户;具体按照推荐指数从大到小的顺序,依次将各商品推荐给目标用户。

本实施例一方面基于Transformer模型构建序列推荐模型,使得序列推荐模型可以动态捕捉用户行为数据的序列特征,以准确表征用户的序列性偏好,进而提高推荐结果的准确性;另一方面,通过使用神经网络架构搜索,可自动搜索获取最优的序列推荐模型,以快速训练得到可准确预测待推荐商品列表的序列推荐模型,在有效减少人工参与构建网络的同时,可有效提高序列推荐模型的性能,使得推荐结果更加准确,进而提升用户体验感。

在上述实施例的基础上,本实施例中还包括训练模块,具体用于:将所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,输入所述Transformer模型对应的候选网络架构中,对所述候选网络架构进行神经网络架构搜索,得到所述Transformer模型对应的最优网络架构;根据所述Transformer模型对应的最优网络架构,构建所述序列推荐模型的初始模型;基于所述历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,对所述初始模型的参数进行优化训练,得到所述序列推荐模型。

在上述实施例的基础上,本实施例中训练模块,还用于:对所述历史行为数据进行预处理;其中,所述预处理包括数值缺失处理,和/或对无效的历史行为数据进行剔除处理;将预处理后的历史行为数据、所述商品库中各商品的商品信息,以及所述预处理后的历史行为数据对应的已访问商品列表,输入所述候选网络架构中。

在上述各实施例的基础上,本实施例中预测模块,还用于:将所述目标用户的当前行为数据和所述商品库中各商品的商品信息输入所述序列推荐模型中,得到所述目标用户当前对各商品的偏好程度等级;根据所述目标用户当前对各商品的偏好程度等级,从所述商品库中选择所述偏好程度等级满足预设条件的待推荐商品;根据所述待推荐商品生成所述待推荐商品列表。

在上述各实施例的基础上,本实施例中所述序列推荐模型包括特征提取单元和预测单元;其中,所述特征提取单元基于编码器构建生成,用于对所述目标用户的当前行为数据和各商品的商品信息进行特征编码,得到所述目标用户对应的用户特征和各商品的商品特征,并学习所述用户特征和各商品的商品特征之间的依赖关系;所述编码器包括嵌入层和自注意力层;所述预测单元基于全连接层结构生成,用于对所述用户特征和各商品的商品特征之间的依赖关系进行学习,预测得到所述待推荐商品列表。

在上述各实施例的基础上,本实施例中所述序列推荐模型的损失函数基于交叉熵损失函数构建生成。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行基于Transformer的序列推荐方法,该方法包括:获取目标用户的当前行为数据;将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;根据所述待推荐商品列表,对所述目标用户执行推荐操作;其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于Transformer的序列推荐方法,该方法包括:获取目标用户的当前行为数据;将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;根据所述待推荐商品列表,对所述目标用户执行推荐操作;其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于Transformer的序列推荐方法,该方法包括:获取目标用户的当前行为数据;将所述目标用户的当前行为数据和商品库中各商品的商品信息输入序列推荐模型中,获取所述当前行为数据对应的待推荐商品列表;所述待推荐商品列表是基于所述商品库中待推荐商品构建生成的;根据所述待推荐商品列表,对所述目标用户执行推荐操作;其中,所述序列推荐模型基于Transformer模型构建生成;所述序列推荐模型是,基于在历史时间段内采集的样本用户的历史行为数据、所述商品库中各商品的商品信息,以及所述历史行为数据对应的已访问商品列表,进行神经网络架构搜索训练得到的。

以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120114693144