基于LSTM 的商品推荐模型研究

2021-05-25 10:04张洁
科学技术创新 2021年11期
关键词:购物车步长重构

张洁

(东华大学,上海201620)

1 概述

电商行业的快速发展使得用户购买的商品由购买服装、日用品、电子产品等,转为购买肉类、蔬菜、水果、等生鲜类商品。不同生鲜类别的商品周期性规律不同。新零售平台需要对用户的周期性购买行为进行建模[1]。但新零售平台用户量巨大,对所有用户的周期性购买行为进行建模具有较大难度。因此,商品重构推荐模型的构建特点是要着重挖掘商品购买记录中的时序信息。

2 相关概念

2.1 Keras

Kerass 是由纯python 编写的深度学习框架,是一个高层神经网络API,支持快速实验,具有用户友好、模块化、易扩展的优点。Keras 没有单独的模型配置文件,模型由python 代码表述,更紧凑和更易debug.网络层、损失函数、优化器等都是独立的模块,可以使用它们构建自己的模型[2]。根据需要想要添加新模块比较容易,只需要仿照现有的模块编写类和方法函数即可。模块创新的便利性使得Keras 更加适合模型训练研究[3]。

2.2 深度学习模型

2.2.1 RNN 模型

递归神经网络(也叫RNN 算法)源自于1982 年由Saratha Sathasivam 提出的霍普菲尔德网络[4]。理论上,递归神经网络模型可以获取到时间点为止的所有信息,并保存为隐藏状态。然而,在实际应用中,普通的递归神经网络模型并没有这么好的效果,尤其是对于比较长的输入,很难学习长距离依赖特征[5]。RNN 模型如下图1 所示。

图1 RNN 模型

2.2.2 LSTM模型

长短期记忆网络通常只称为“LSTM”,是一种特殊的RNN,能够学习长期的规律。它们是由Hochreiter&Schmidhuber(1997)首先提出的[6],并且在后来的工作中被许多人使用和推广。LSTM明确旨在避免长期依赖性的问题。长时间记住信息实际上是他们的默认行为,而不是他们难以学习的东西。所有递归神经网络都具有神经网络重复模块链的形式。在标准RNN 中,该重复模块将具有非常简单的结构,例如单个tanh 层[7]。LSTM也具有这种类似链的结构,但重复模块具有不同的结构。有四个,而不是一个神经网络层。LSTM 模型如下图2 所示。

图2 LSTM 模型结构

图中各种元素图标的解释如下图3。

图3 图标解释

3 实验与结果分析

3.1 模型选择

基于DREAM的商品推荐模型曾被广泛研究,该模型是把用户购物车中的商品向量化后构建购物车向量,将该购物车向量应用于神经网络模型继而得到用户购买特点的个性化向量。最终结果是通过商品向量和用户的个性化向量积来计算出商品购买概率。明显可以看出,此模型只考虑独立商品和用户之间的购买关系但是并没有考虑用户的购买时序,也就是说没有考虑用户的购买历史。所以本文的商品推荐模型是基于LSTM模型,能够在模型训练中充分考虑用户时序信息。模型的特点如下:

3.1.1 商品重构模型是根据购物车数据得到的向量,在特征提取上是基于用USERID 和商品SKUID 为粒度,可以看出用户和商品是一对多的关系,得到多条特征样本。

3.1.2 矩阵不再是只有一个向量,USERID 和商品SKUID 组成的二元组将作为一部分时间步长,时间步长的输入具有连续性,下一个时间步长基于上一个时间步长,这一点是商品重构推荐模型的重点。基于此种时间步长的单神经元结构预测得到用户是否会再次购买曾经已经购买过的购物车中的某个SKUID 商品的概率。

3.2 数据预处理

数据预处理是将用户购买记录的源数据转换成能够用于模型训练的用户商品向量。One-Hot 编码是一种常用的数据预处理方式,本文也将采用这种方式,将商品映射为整数值,即每种商品唯一的商品id,然后再将商品id 进行二进制向量表示。例如{0,0,3,0,0…0}表示商品ID 为3 的商品。

4 实验与分析

4.1 实验环境

本章在深度学习框架Keras 上实现了设计的实验,Keras 是一个开源的深度学习框架,对比较流行的深度学习框架Tensorflow、Theano 等进行了高层API 的封装,使用起来更加简便,使用的时候可以自由选择后端框架,本文实验所使用的具体实验环境如下表1。

表1 实验环境

本文选择Tensorflow框架作为Keras 的后端。相比于Keras框架,Tensorflow 框架的实验代码编写更加灵活,可以自由的定义模型结构以及损失函数。

4.2 实验数据与实验参数

实验数据集来于某新零售公司实际销售数据,时间从2019年10 月到2019 年12 月,记录总条数939060 条。其中用于模型训练的数据占80%,用于参数调优的数据占10%,用于验证结果的数据则是剩下的10%。

4.3 评估指标

算法的评价指标是准确率(Precision),是指在推荐给用户的所有商品中用户实际购买的的商品所占的比例,见下式(1):

T(u)表示用户u 实际购买的所有商品,R(u)表示推荐给用户u 的所有商品。准确率越高,表示推荐的商品越符合用户的购买意向。

4.4 对比实验和结果分析

下面展示本文算法的训练结果,与RNN 网络网络模型做一个比较,以展示二者的差异和本文算法的优点,结果如下表2。

表2 推荐结果准确率比较

实验结果显示,在商品类别相近的商品推荐上本文算法效果更好,反之,效果近似。此外,在序列长度越长的训练场景,本文效果更好,因为LSTM能够考虑时序因素,将上一步长的结果作为下一步长的输入。

5 结论

本文根据用户在新零售电商平台重构商品行为和LTMS 的特点,将LSTM模型应用于新零售商品推荐。

LSTM神经网络是对RNN 神经网络的优化,上一步时间步长作为下一步时间步长的基础,因此对于商品重构模型这种时序性要求较强的应用场景具有很好的训练效果。但是由于加入了遗忘门的存在,无法考虑全部历史信息,在某种检索场景,这是一个缺憾,一定程度上会对商品重构准确率造成影响。

在未来的研究中,需要不断调优参数,了解更多种类可以应用于商品推荐的模型,力求找到一种更好的模型,能够具有更高的商品重构推荐准确率。

猜你喜欢
购物车步长重构
“双减”能否重构教育生态?
自然梯度盲源分离加速收敛的衡量依据
长城叙事的重构
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
一种改进的变步长LMS自适应滤波算法
高盐肥胖心肌重构防治有新策略
被疫情改变的购物车
一种非线性变步长LMS自适应滤波算法
购物车
购物车里的“时间线”