1、基于多维隐藏特征的电商推荐系统排名设计与实现研究魏一丁摘 要利用 8 天左右的淘宝用户数据,基于 Keras 框架完成电商推荐系统排名部分构建。该系统采用了多层深度学习框架,使用用户 ID、商品 ID、类目 ID、用户行为类型与行为时间作为隐藏特征来源输入,映射成高密度低维向量,利用 ReLU 与 Softmax 等激活函数生成推荐模型,预测误差率 0.21。关键词隐藏特征;推荐系统;排名;深度学习;Kerasdoi:10.3969/j.issn.1673-0194.2020.12.073中图分类号TP391.3文献标识码A文章编号1673-0194(2020)12-0-041基于多维隐藏特征
2、电商推荐系统的相关研究对于在线电商平台来说,主要目的是最高效率地撮合交易,高性能的推荐系统不可或缺,可以让买卖双方在最短时间内找到对方,并实现交易。有关推荐系统的算法包括传统推荐算法和当前基于深度学习的算法。当前有 3 类基于内容、协同过滤和混合的推荐方法,其中协同过滤推荐方法由 GoldBerg 等人提出,基于项目或基于用户,通过矩阵的点乘积计算得分实现。目前,推荐算法引入了深度学习算法,大致说来:基于深度神经网络的 DNN 适用于隐藏多层的数据维度,卷积神经网络 CNN 训练参数较少,图卷积 GNN 适合推荐质量要求较高以及关注序列信息的循环神经网络 RNN 与 LSTM 等,每种方法都有
3、不同的侧重场景。推荐系统一般分为召回阶段和排序阶段。在召回时,快速使用简单维度的数据将百万级用户商品等数据过滤成百级。在排序期,充分利用多维度的数据来精细化筛选,输出个、十位数级。在上述两个阶段中,核心在于嵌入(Embedding)生成,旨在将高维数据映射到低维数据域,降低了计算复杂度。当前的嵌入方法包括:LLE、LaplacianEigenmaps、Graph、HOPE 的因式分解型,DeepWalk、node2Vec 的随机行走型,还有 GCN等深度学习型。其中,每个社交媒体根据自身数据分布情况和特点选取数据维度生成嵌入。目前,成熟的社交媒体平台采用的架构基本一致,只是在算法选择、网络层设
4、计有所不同。Youtube 采用前述,全部使用 DNN 方式,在召回时不再使用 LSH,而是使用 Spill-tree 这种改进版的邻域搜索方法。Instagram 采用的 PinSage 架构,一种基于 GNN 的方式。衡量推荐系统的指标包括 A/B 测试、精准率和响应时间等,而目前各类开源架构、开放 Python 功能包,在所考虑的各项指标中基本能够满足实际方面的需求。比较成熟的是Keras 框架,基本囊括了大多数算法和网络层。此外,一些新兴的算法,也可以通过引包方式实现。相对于评论文字、星级评价这些显性的特征,用户在线状态、在线时长、观看次数、点击数、购买频次、加购、收藏数则是隐性特征,
5、需要一种可量度的方式来构建用户与商品的关联。本研究侧重隐藏特征,从用户 ID、商品 ID、行为类型与行为时间构建嵌入Embedding,通过 Keras 的 DNN,实现生成推荐。2研究方法及过程本文选取基于淘宝平台 2017 年 11 月 25 日 01:21:10-2017 年 12 月 3 日 17:38:11的数据,合计 1 亿多条。将原始数据清洗,并按照 28 的比例随机分成训练集、测试集(图 1)。假设:研究侧重于精细化排序部分,简单地将亿条数据按用户 ID 大于 100 的条目进行删除,得到 1 万多条数据,近似于召回的结果。沿用 Keras 的 Embedding 方法,使用“
6、ReLU”“Softmax”函数进行激活,编译器为“adam”,选取“mean_squared_error”指标评估。嵌入映射部分,选用用户 ID、商品ID、行为类型、时间戳等作为隐藏多维数据。其中,行为类型包括【展现-1】、【加购-2】、【收藏-3】、【购买-4】。特征工程:给定某个用户 ID,能够准确预测与之相近的商品 ID。基于打分逻辑,该预测假设展现对应 1 分,加购对应 2 分,收藏对应 3 分,购买对应 4 分,分数越高则越是期望推荐的商品。于是将数据集做一个处理,分别用评分 14 代替原有行为类型,嵌入部分如图 1 所示。其中,用户 ID 等数据分别表示嵌入,经过 Flatten
7、 之后,合并输入第一层。ReLU 分别有 5 层,从 1 028 位到 32 位,最后通过分类函数 Softmax 输出(图2)。这 4 类输入参数均具有一对多的关系,用户可以连接任何一个商品,商品可以连接任何一个行为类型,行为类型也可以连接任何一个时间戳(图 3)。但实际情况是,某些连接出现频次更高,可以在任何两个隐藏特征层之间,越粗的线条,代表频次高;用权重代表,即模型在学习过程中更新的权重系数,可以代表某个具体特征的权重,图 4 就代表了商品的权重系数。将商品 ID 嵌入 item_Embedding 用 PCA 方式表示(图 5),图 5a 的输入包括所有数据维度,图 5b 的输入只有
8、用户 ID 与商品 ID。横轴占较大比例。其学习过程曲线,横轴代表迭代次数,纵轴代表误差率,可以看出其逐渐达到最小误差点,最终的误差率维持在 0.17(图 6)。通过减少输入参数,只保留用户 ID 与商品ID,误差曲线类似。将得到的模型存储,并用验证集校验,发现其预测误差率为 21%,即准确率 79%。模型参数(图 7)通过对比其他参数设置可以发现:学习深度越深越广,误差率越小。有Softmax 激活函数比没有的情况误差率减小 10%。3結 语越多的数据维度参与学习就会得到越丰富的特征向量,建立的预测模型越精准。Keras 框架可以实现快速设计模型,通过使用自身的 Embedding 方法,可
9、以轻松实现高维空间向低维空间的映射。将用户行为类型设置为不同的等级,按照 4 个数据维度的网络关系(图 3)进行多次迭代,发现各个节点的权重系数,最终形成网络模型,可以进行推荐。电商推荐系统是提升精准度的关键环节,可以用于召回与排序,有很多的推荐算法可以实现,但是在具体实践中,需要考虑用户的属性与数据维度。依据用户评论文字和评分会造成稀疏矩阵和冷启动问题,这里不进一步展开。因此这就意味着卖家需要靠评价提高自身获取流量的权重。这往往带来虚假交易等现象,浪费了平台很多资源,甚至花费更高的成本去监管。随着推荐系统的成熟,快速匹配相似度高的交易已经成为趋势。电商平台将隐藏维度的数据引入推荐系统中,模型
10、会深刻地描绘用户画像。主要参考文献1周万珍,曹迪,许云峰,等.推荐系统研究综述J.河北科技大学学报,2020(1):76-87.2David Goldberg,David.Nichols,Brian M,et al.Using CollaborativeFiltering to Weave an Information TapesteyJ.Communications of the ACM,1992,35(12):61-70.3Goyal P,Ferrara E.Graph Embedding Techniques,Applications,andPerformance:A SurveyJ.Knowledge Based Systems,2018,151:78-94.