软件学报  2020, Vol. 31 Issue (4): 1090-1100   PDF    
融合商品潜在互补性发现的个性化推荐方法
邵英玮1,2 , 张敏1,2 , 马为之1,2 , 王晨阳1,2 , 刘奕群1,2 , 马少平1,2     
1. 清华大学 计算机科学与技术系, 北京 100084;
2. 清华大学 北京信息科学与技术国家研究中心, 北京 100084
摘要: 结合领域内知识的个性化推荐算法在近年来受到了广泛关注,许多研究工作尝试将商品之间的关系(如互补关系等)融入到推荐算法中.对于商家而言,了解商品互补的关系能够帮助他们更好地制定定价策略;对于推荐算法而言,结合商品关系的推荐也更有可能生成令人满意的结果,因此,如何挖掘商品间的互补关系是一个很有意义的研究问题.现有方法大多从用户历史中的"共同购买"发掘商品的互补关系,但是由于真实的购买场景非常复杂,得到的很可能仅仅是共现关系而不是互补关系.借鉴经济学的相关研究,提出了商品潜在互补性发现推荐模型(latent complementarity discovery model,简称LCDM),试图从另一角度更准确地刻画商品间关系.首先,基于经济学理论中的需求交叉弹性(cross-price elasticity of demand),提出互补性发现模型(complementarity discovery model,简称CDM)联合商品价格与购买历史来挖掘商品间的互补关系.在用户标注任务中,所提算法较已有方法在用户标注的一致性上提升了10.6%.随后,基于此提出了融合商品互补关系的双重注意力机制推荐模型LCDM.最后,在真实数据集上的对比实验结果表明,提出的LCDM推荐模型能够显著改善推荐的效果,在Recall@5和NDCG@5上分别有54.5%和125.8%的提升,验证了所提方法的有效性.
关键词: 推荐系统    表示学习    商品关系    计算经济学    
Integrating Latent Item-item Complementarity with Personalized Recommendation Systems
SHAO Ying-Wei1,2 , ZHANG Min1,2 , MA Wei-Zhi1,2 , WANG Chen-Yang1,2 , LIU Yi-Qun1,2 , MA Shao-Ping1,2     
1. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China;
2. Beijing National Research Center for Information Science and Technology, Tsinghua University, Beijing 100084, China
Abstract: Domain-specific personalized recommendation algorithm is getting more popular nowadays. In particularly, item-item relationship (e.g. complementary good, substitute good) has already been considered in the development of recommendation algorithms. In terms of its potential application for sellers, the ability to notice actual item-item complementarity from data is of paramount importance, as it helps sellers to gain a market competitive advantage via designing better pricing strategies (e.g. bundling or pricing discount). For recommender systems, integrating algorithms with the item-item relationship is also more likely to generate better recommendation results. Therefore, how to mine item-item complementarity is a research problem deserving of study. Even though most existing methodologies leverage on co-occurrence relationship, yet, the recommendation accuracy might easily be adversely affected by noise data due to the complex dynamics in the online shopping environment. In light of the research on economics, the latent complementarity discovery model (LCDM) is proposed in an attempt to more accurately describe the item-item relationship from a different perspective. Specifically, complementarity discovery model (CDM) is firstly proposed based on cross-price elasticity of demand, which jointly utilizes item pricing and purchase history to discover item-item complementarity relationship. Comparing with existing mining methods based on item co-occurrence relationship, the proposed method yields 10.6% increase in user label consistency. Then, LCDM is constructed by integrating dual-item attention with item-item complementarity insight mined from CDM. Lastly, from the comparison experiments conducted on real-world dataset, LCDM has made a significant improvement in recommendation performance, in which there is a 54.4% and 125.8% increase in Recall@5 and NDCG@5 respectively.
Key words: recommender system    representation learning    item-item relationship    computational economics    

在新零售时代, 随着各种生鲜购物平台的崛起, 如国外的亚马逊生鲜, 国内的盒马和每日优鲜等等, 购物变得更为便利, 越来越多原本在零售店的食品和杂货交易开始转为在线上发生.与传统电商相比, 用户在零售店购物时更关注购买的必要性[1], 以满足他们日常所需, 所以该领域产品个性化推荐的应用变得尤为重要.精准推荐一方面能够帮助用户节省大量商品比较、搜索时间, 另一方面能让用户在海量同类型商品中发现潜在需求.已有推荐中比较关注商品间的“共同购买”关系, 它是商品互补性的一种体现.而根据经济学的相关定义, 互补品是指两个商品存在依赖关系, 互为互补品的两个商品不仅有着正向的需求关系, 一个商品的价格上升还会导致另外一个商品的需求量下降[2].对于商家而言, 互补品在经营策略中也得到了广泛的应用, 其中两种普遍的策略包括:(1)捆绑式销售:商家把一组不同类型、属于互补品的产品打包售出[3]; (2)交叉补贴:商家通过有意把互补品中的一个降价而达到促销盈利的目的[2].

然而, 在真实场景中, 策略的表现也受制于互补品的关系紧密程度.其一是用户和互补品的相对性[2], 对于不同的用户人群, 在不同场景下有不同的互补商品组合.例如, 对于健身人群而言, 牛奶和蛋白粉是一种互补品, 但是对孕妇人群就可能是牛奶和奶瓶的组合, 所以缺乏对互补品和互补者的全面理解会为商家的价格策略带来障碍.其二, 一个特定商品可能有多个互补商品[2], 针对不同的用户重要性也有所不同.大部分互补品组合相互依赖程度的微小差异单凭人的经验知识难以区分, 但会影响到商家商品降价的选择.即使是同一组互补品(如洗衣机和洗衣粉), 由于用户在现今网络发达的年代拥有更完备的商品认识, 用户也较倾向于把两者的购买独立考量, 对于两者都有个别的品牌偏好, 商品与商品之间的互补联系也变得更加模糊, 导致辨别互补产品变得更具挑战性.

基于以上所述, 商品的互补性发现是一个重要且具有挑战性的问题, 本文针对此问题提出了商品潜在互补性发现推荐模型(latent complementarity discovery model, 简称LCDM).首先, 与单纯考量共同购买不一样, 本文提出的商品的潜在互补品发现算法利用了需求交叉弹性(cross-price elasticity of demand)的经济学原理, 综合考虑了商品价格与用户购买行为.随后, 根据所发现的互补性关系, 本文进一步提出了结合双重商品注意力机制和深度学习网络的LCDM模型来个性化预测同一订单用户最有可能会购买的商品, 并在真实移动支付数据集上的对比实验验证了所提出模型的有效性.

本文主要有以下3方面贡献:第一, 将经济学理论中的需求交叉弹性用于商品的互补关系挖掘.第二, 我们设计了潜在互补性发现推荐模型, 能够将商品的互补关系与双重注意力机制融入到个性化推荐算法中.第三, 提出的算法在真实的用户购买记录上较传统方法取得了显著的效果提升.

1 相关工作 1.1 个性化商品推荐

购物平台往往有海量的商品, 但每位用户往往只对少部分商品感兴趣.个性化推荐系统(personalised recommender system, 简称PRS)则扮演了为用户进行商品信息匹配的角色.推荐系统也已被应用到多媒体推荐[4]、新闻推荐[5]和商品推荐[6]等诸多场景.其中, 协同过滤(collaborative filtering, 简称CF)方法被广泛使用, 特别是在Netflix比赛中表现突出的隐性因子模型(latent factor model).矩阵分解(MF)在隐性因子模型中起到了核心作用, 也被应用在许多真实场景的推荐系统[7, 8]中.随后, Rendle等人[9]提出的依靠成对方法(pairwise approach)学习的贝叶斯个性化排序(Bayesian personalized ranking from implicit feedback, 简称BPR)算法在利用矩阵分解方法的同时, 使用成对的损失函数对用户在不同物品的相对偏好作排序优化.而BPR在实际场景的成功也使得成对训练的损失函数在推荐系统被广泛用于模型训练[10].除了分析用户与商品的交互历史, 近年来推荐系统也尝试引入额外信息优化算法表现, 例如商品评论[11]、社交关系[12]、图像信息[13]等等.物品之间的关系也备受关注, 尤其是商品间的互补关系.直观来说, 互补品对用户而言是两个功能相互补足的商品(例如乒乓球和乒乓球拍), 所以用户往往会倾向于共同购买此类商品[2].基于这种特点, 有研究尝试从用户的浏览或同时购买行为数据中挖掘出此类型的关系[14], 还有一部分的工作是分别考虑商品描述和评论[15]、商品类别[16]以及图像的信息来更准确地识别互补品.但是这些工作的识别效果容易受到行为噪声影响, 且很多时候共现不等于互补(如:用户可能会同时购买啤酒和纸巾, 但是它们并没有互补关系)[15].此外, 基于神经网络的隐向量学习方法[1, 17-19]也被应用于预测商品之间的互补关系, 但是这些方法主要针对的是用户每次购买一个商品的场景, 难以挖掘订单内商品之间的互补关系[1].

1.2 基于深度学习的推荐算法

近年来, 深度神经网络在各个领域, 包括计算机视觉、自然语言处理以及语音识别方面都取得了巨大的成功[20].因此不少研究工作尝试结合各种不同的神经网络结构来改善推荐系统的性能.在此过程中, He等人[21]提出了神经协同过滤(neural collaborative filtering, 简称NCF)框架, 旨在通过联合矩阵分解和多层前馈神经网络学习用户和物品的隐向量, 从而预测用户对商品的评分.随后, 神经分解机(neural factorization machines, 简称NFM)[22]也被提出用于针对高维和非线性特征交互的建模以增强原有的分解机模型(factorization machine, 简称FM).但是已有的大部分推荐工作都没有考虑商品之间的关系.

特别地, 神经网络中的注意力机制已在各种机器学习任务, 如视频/图像描述和自然语言处理中显示出它的有效性[23, 24].其中, 软注意力的关键思想是给一组特征学习分配合适的权重(0~1之间), 特征权重越高, 代表对于学习目标的信息量越大, 反之亦然.例如在机器翻译领域, 注意力机制能够在生成对应文字的任务上找到句子中哪些文字的重要程度是比较高的.在推荐系统领域中, 也有工作在CF中组件级别和物品级别的模块分别引入了注意力机制, 并应用于多媒体的推荐场景[25].另外一个例子是NFM模型的延伸——AFM模型(attention factorization machine)[26], 它同时使用了注意力机制区分不同特征交互的重要程度.鉴于之前一系列工作反映出的注意力机制广泛的应用性和可解释性, 本文也将应用注意力机制进行特征的融合.

1.3 基于经济学理论的推荐算法

在实际场景中, 各种推荐算法能够带来巨大的经济效应, 但是就我们所知, 已有算法与经济学相关理论结合得并不紧密, 仅有少数推荐系统研究进行了尝试.其中有工作[27]在商品推荐中考虑了边际效用递减法则(the law of diminishing marginal utility)以区分消耗品和耐用品.另外, 在考虑价格敏感性(price sensitivity)方面, 有部分工作可估计出客户在电商平台的预期支付意愿(willingness-to-pay)[28]或商品的评论信息区分价格敏感程度相对比较高的客户, 从而进行商品的个性化定价[29], 以提高商家的收益.也有研究[30]为了提高整体社会公益(social surplus), 在推荐系统中融入了总盈余(total surplus)的概念以更好地匹配卖家和用户.此外, 也有工作[7, 31]以电商平台中“共同购买”和“共同浏览”的信息作为互补品(complementary good)和替代品(substitute good)的标签, 然后用监督学习算法来识别商品间的关系类型.本文的研究重点在于互补品的关系挖掘, 它也在经济学领域中被广泛关注[32-34].受已有经济学理论的启发, 本文将尝试融合需求交叉弹性理论挖掘商品的互补关系, 并将其应用在推荐系统中.据我们所知, 这是属于少数融合经济理论的推荐算法研究工作.

2 基于需求交叉弹性的互补品发现方法

本文主要利用经济学理论的需求交叉弹性来进行互补品的挖掘[2].需求交叉弹性主要描述的是两个商品价格与需求量变化的联系.具体来说, 假设其他因素保持不变, 另外一种商品的价格变化百分之一会导致本产品需求量百分比的改变[2].这一概念用于计算两种商品之间是否存在互补关系, 如果有互补关系, 一种商品价格的变化会让另外一种商品的需求量产生交叉影响.需求交叉弹性的定义如下:

${E_{AB}} = \frac{{\frac{{\Delta {Q_{dA}}}}{{{Q_{dA}}}}}}{{\frac{{\Delta {P_B}}}{{{P_B}}}}} = \frac{{\Delta {Q_{dA}}}}{{\Delta {P_B}}} \cdot \frac{{{P_B}}}{{{Q_{dA}}}}$ (1)

其中, EAB为商品A相对于商品B的需求交叉弹性, QdA为商品A的需求量, ΔQdA为商品A需求的变化量, PB为商品B的价格, ΔPB为商品B的价格变化量.实际计算时, 我们使用弧弹性计算公式计算EAB:

${E_{AB}} = \frac{{\frac{{\Delta {Q_{dA}}}}{{\frac{{{Q_{dA1}} + {Q_{dA2}}}}{2}}}}}{{\frac{{\Delta {P_B}}}{{\frac{{{P_{B1}} + {P_{B2}}}}{2}}}}} = \frac{{\Delta {Q_{dA}}}}{{\Delta {P_B}}} \cdot \frac{{{P_{B1}} + {P_{B2}}}}{{{Q_{dA1}} + {Q_{dA2}}}}$ (2)

其中, QdA1为商品A开始时的需求量, QdA2为商品A结束时的需求量, PB1为商品B开始时的价格, PB2为商品B结束时的价格.需求交叉弹性的计算结果可正可负, 为正, 代表两个商品价格和需求量的变化为同方向(例:一种商品价格的上升会带来另一种商品需求量的上升), 说明两种商品有着替代品的关系; 为负, 代表商品价格和需求量的变化为反方向(例:一种商品价格的上升会带来另外一种商品需求量的下降), 说明两种商品有着互补品的关系.此外, 数值的大小也同时说明商品间的依赖程度, EAB的数值越大, 商品BA的替代性越强.

我们将这种基于需求交叉弹性理论的互补品计算方法命名为潜在互补品发现算法(complementarity discovery model, 简称CDM), 它可以从商品的历史购买数据中计算不同商品之间的潜在关系.相较于已有的互补品发现算法, 这一方法并不需要依赖于用户的评论内容, 也不是单纯的计算商品共现, 而是从经济学角度计算商品间是否存在互补关系.此外, 对于每个商品A而言, 我们可以将其他商品根据EAB排序而得到互补性序列, 从而为任意商品得到互补商品的结果, 弥补了已有互补品发现算法的数据稀疏性问题.

3 融合互补品关系的双重注意力机制推荐模型

本文所使用的变量符号表定义见表 1.

Table 1 Symbol annotation 表 1 符号描述

本文的目标是将商品的互补关系计算结果融入到个性化推荐算法中, 算法主要利用了商品的互补关系、所在订单以及用户历史购买来进行用户偏好的建模.假设有n个用户U=(u1, u2, …, un), m个商品V=(v1, v2, …, vm)和w个订单T=(t1, t2, …, tw).其中, 用户、商品、订单存在4种关系, 分别是用户和商品的交互关系[R]=[rij]n×m∈{0, 1}, 代表ui是否购买过vj, 用户和订单的交互关系X=[xik]n×n∈{0, 1}, 代表ui是否下过订单, 商品与订单的关系Y= [yjs]n×t∈{0, 1}, 代表商品vj是否在订单tk中出现过, 商品与商品的互补关系Z=[z(j1, j2)]m×m∈{0, 1}, 代表商品vj1vj2是否有互补关系.给定一个目标用户ui, 任务是要推荐一系列同一订单用户ui感兴趣的商品, 可定义为:

输入:用户集合U, 商品集合V, 订单集合T, 用户和商品交互的关系R, 用户和订单的交互关系X, 商品与订单的关系Y以及商品与商品的互补关系Z.

输出:针对每个用户ui的个性化排序结果.

3.1 潜在互补性发现模型概述

潜在互补性发现推荐模型(latent complementarity discovery model, 简称LCDM)是一个端到端的深度学习模型(如图 1所示), 特点在于融合了商品之间的互补关系、商品订单信息, 同时加入了双重注意力机制.模型主要分为用户和商品两大模块, 然后通过成对学习的训练方法学习能够最佳区分正例和负例商品的参数.下面我们将以先商品、后用户的顺序分别加以详细的介绍.

Fig. 1 The graphical representation of latent complementarity discovery model (LCDM) 图 1 潜在互补性发现推荐模型(LCDM)的示意图

3.2 候选商品的多粒度特征提取 3.2.1 商品互补关系的融合

为了降低数据稀疏性和噪声的影响, 我们先对数据进行了预处理.首先, 为了避免冷启动商品影响推荐结果, 我们保留了最少被M次购买的商品.其次, 在计算互补品时我们只保留最少被共同购买过N次的商品, 因为一方面存在互补关系的商品更倾向于被共同购买或使用, 另外一方面也可以减少其他因素带来的随机性.在筛选过后, 本文利用第2节提到的互补性发现算法CDM对每一个候选目标商品计算其与其他商品的需求交叉弹性, 并且取值最小的k个商品作为与该商品具有互补关系的商品集合Rj.每一个商品我们用一个d维的隐向量加以表示(该向量将在模型训练时学习更新).为了进一步考虑不同互补商品造成的影响程度, 本文加入了注意力机制, 学习每一个互补商品特征的权重, 计算公式如下:

$\gamma _{(j, l, i)}^* = h_r^TReLU({W_{{r_1}}}{\tilde v_{(j, l)}} + {W_{{r_2}}}v_j^{(i)} + {b_r})$ (3)

其中, ${W_{{r_1}}} \in {R^{dxw}}, {W_{{r_2}}} \in {R^{dxw}}, {b_r} \in {R^k}, {h_r} \in {R^k}$是注意力模型的参数.为了得到商品互补品的特征, 最后得出的商品注意力会被指数函数归一化(softmax), 即:

${\gamma _{(j, l, i)}} = \frac{{\exp (\gamma _{(j, l, i)}^*)}}{{\mathop \sum \nolimits_{t \in {R_j}} \exp (\gamma _{(j, l, i)}^*)}}$ (4)

得到注意力网络的权重后, 本文通过加权求和计算出当前待推荐商品互补品的特征向量p(i.j), 并在对商品推荐时加以使用, 计算公式如下:

${\mathit{\boldsymbol{p}}_{(\mathit{\boldsymbol{i}}, \mathit{\boldsymbol{j}})}} = \sum\nolimits_{\mathit{\boldsymbol{l}} \in {\mathit{\boldsymbol{R}}_\mathit{\boldsymbol{j}}}} {{\mathit{\boldsymbol{\gamma }}_{(\mathit{\boldsymbol{j}}, \mathit{\boldsymbol{l}}, \mathit{\boldsymbol{i}})}}{{\mathit{\boldsymbol{\tilde v}}}_{(\mathit{\boldsymbol{j}}, \mathit{\boldsymbol{l}})}}} $ (5)
3.2.2 商品所在订单特征

在实际购物场景中, 同一个订单的商品整体更可能反映用户的单一购买意愿, 例如在准备火锅的时候, 订单大部分以新鲜的蔬菜、鲜肉、丸子、火锅汤料和饮料等等有互补功能的商品组合为主.基于这一考虑, 本文也将为每一个订单学习一个d维的隐向量, 然后同样使用注意力网络学习所在订单里哪些更能反映待推荐商品的功能, 计算公式如下:

$\beta _{(j, s, i)}^* = h_t^TReLU({W_{{t_1}}}{t_{(j, s)}} + {W_{{t_2}}}v_j^{(i)} + {b_t})$ (6)

其中, ${W_{{t_1}}} \in {R^{dxw}}, {W_{{t_2}}} \in {R^{dxw}}, {b_t} \in {R^k}, {h_t} \in {R^k}$是订单注意力机制的参数, 最后的输出会被指数函数归一化:

${\beta _{(j, s, i)}} = \frac{{\exp (\beta _{(j, s, i)}^*)}}{{\mathop \sum \nolimits_{t \in {T_j}} \exp (\beta _{(j, s, i)}^*)}}$ (7)

得到注意力网络的权重后, 本文通过加权求和计算出待推荐商品曾出现的订单特征q(i.j), 公式如下:

${\mathit{\boldsymbol{q}}_{(\mathit{\boldsymbol{i}}, \mathit{\boldsymbol{j}})}} = \sum\nolimits_{\mathit{\boldsymbol{s}} \in {\mathit{\boldsymbol{T}}_\mathit{\boldsymbol{i}}}} {{\beta _{(\mathit{\boldsymbol{i}}, \mathit{\boldsymbol{l}}, \mathit{\boldsymbol{j}})}}{\mathit{\boldsymbol{t}}_{(\mathit{\boldsymbol{i}}, \mathit{\boldsymbol{s}})}}} $ (8)

其中, Ti代表了包含商品j的订单集合.

3.2.3 商品基本特征

我们为每个商品j学习一个d维的隐向量vj作为商品的基本特征.在推荐中我们会将它与互补商品的特征向量和商品所在订单的特征向量相加, 从而得到最终商品的表示向量$\mathit{\boldsymbol{V}}_\mathit{\boldsymbol{j}}^*.$

$\mathit{\boldsymbol{V}}_\mathit{\boldsymbol{j}}^* = {\mathit{\boldsymbol{v}}_\mathit{\boldsymbol{j}}} + {\mathit{\boldsymbol{p}}_{(\mathit{\boldsymbol{i}}, \mathit{\boldsymbol{j}})}} + {\mathit{\boldsymbol{q}}_{(\mathit{\boldsymbol{i}}, \mathit{\boldsymbol{j}})}}$ (9)
3.3 用户的长短期偏好建模 3.3.1 用户长期基本特征

我们为每位用户学习一个d维的隐向量, 作为用户的基本特征ui.

3.3.2 用户短期购买历史

为了考虑用户的短期购买需求, 本文在模型中考虑了每一个用户最近期购买的Y个商品, 每个商品用d维的隐向量表达拼接成矩阵, 之后将该矩阵输入到卷积神经网络(convolutional neural network, 简称CNN)中[35], 将其压缩学习成一个短期兴趣向量, 然后再和用户的基本特征(用户长期偏好)进行求和, 得到最终的用户表示向量$\mathit{\boldsymbol{u}}_\mathit{\boldsymbol{i}}^\mathit{\boldsymbol{j}}.$

3.4 模型训练

我们使用用户向量与商品向量点积的方式预测用户对该商品的评分, 即:

$scor{e_j} = \mathit{\boldsymbol{V}}_\mathit{\boldsymbol{j}}^*\mathit{\Theta }\mathit{\boldsymbol{u}}_\mathit{\boldsymbol{i}}^\mathit{\boldsymbol{j}}$ (10)

本文采用了成对的训练方法, 故此我们按照上述方法分别得到正例商品(被用户购买过的商品)以及被随机负采样的负例商品(没有被用户购买过的商品)的评分输出.由于训练目标是希望正例商品的得分应该尽可能地比负例商品的得分要高, 因此目标函数如下:

$L(Y, f(x)) = - \log (\sigma (scor{e_j} - scor{e_b}))$ (11)

其中, scorejscoreb分别代表了正例商品和负例商品的最终分数.我们使用Adam算法进行优化.

4 实验分析 4.1 数据集

本文使用了真实场景下的用户购买记录数据集, 包含多个线下零售商店的移动支付记录.该数据集的时间跨度从2017/5/28~2018/3/6(约10个月), 用户共购买过734 066件商品, 数据的统计信息见表 2.在构造数据集时, 我们先把购买过多及过少的用户先过滤掉, 然后对于每一个订单随机抽取一个商品加入到验证集, 一个商品加入到测试集, 之后, 其他商品用于训练.本文在训练时会为每一个正例商品都随机地在整个训练集中负采样一个负例商品.在验证和测试时, 考虑到若对所有商品的得分作预测的话时间较长, 于是我们预先对每个验证和测试样本构造了大小为100的候选商品集合, 集合中包含用户在这个订单中购买过的正例(仅1个), 其余则是随机采样的未被用户购买过的商品.

Table 2 Dataset statistics 表 2 数据统计

4.2 互补关系预测效果对比

为了验证提出的算法(CDM)在商品互补性发现任务上的有效性, 本文设计了人工标注实验, 具体在相关性、多样性和惊喜性3个维度上进行评估.两种对比方法分别是基于同时购买频率的互补品发现(norm_prob)和基于同时购买条件概率的互补品发现(cooccur).在实验中, 我们首先利用3种方法(包括CDM)分别计算商品间的互补关系, 然后分别取出每种方法得到的Top 150个互补性最高的商品, 把它们合并成一个包含450个商品对的列表.经过样本随机后, 我们招募了5名被试者针对每个商品对回答4个问题, 以评价互补性表现, 其中, 1分代表同意, 0分代表不同意.问题包括:(1)我有可能同时购买商品A和商品B; (2)我倾向于同时使用/食用商品A和商品B; (3)商品A和商品B很不相似; (4)商品A和商品B的搭配出乎我意料, 却感觉挺合适的.最终得到的实验标注结果Kappa系数 > 0.3, 说明实验结果的一致性较高, 可以使用于之后的分析.3种方法在4个问题上的得分对比结果如图 2所示.

Fig. 2 The results of the labeling experiment 图 2 人工标注实验的结果

图 2的结果说明, 本文提出的互补性发现算法CDM在互补商品对发现问题上, 相对基于同时购买(norm_prob)和同时购买频率的方法(cooccur), 在商品相关性、多样性和惊喜度方面皆有显著的提升.在商品相关性方面, 本文的方法在问题1和问题2上的显著提升说明了所提方法不仅能够发现拥有同时购买特性的互补品, 还能发现更符合经济学定义的功能互补的互补品.在商品多样性方面, CDM在问题3上取得了接近50%的提升(相对于第二高的方法), 说明了本文的方法有更大的概率能够发现不同种类的互补品(例如不同牌子/种类), 也更贴近互补品的真实情况.此外, 在惊喜度方面, CDM在问题4上的表现更是说明了本文的方法除了能够发现更多样的互补品外, 商品的组合同时也让用户觉得有新鲜感且是合理的.具体的例子如3种方法找出前10位的互补品中, CDM能找到(火锅料, 羊肉), 基于同现购买频次能找到(可口可乐, 雪碧)以及基于购买条件概率能找到(卡布奇诺咖啡, 拿铁咖啡).本文方法找出的商品对明显更符合用户于火锅的场景下互补品.相反, 另外两种方法找出的商品对都属于同一类别, 两种商品更接近于替代品的关系.

4.3 实验对比的基准算法

● 通用矩阵分解(GMF)[21]:此方法把用户和商品的嵌入向量按元素相乘, 然后把其输出结果通过一层神经网络得到商品的最终评分;

● 多层感知机(MLP)[21]:此方法把用户和商品的隐向量拼接输入到多层神经网络得到商品的最终评分;

● 基于深度神经网络的协同过滤(NCF)[21]:此方法是当前最好的基于深度模型的推荐方法之一, 其核心结合了矩阵分解(GMF)和多层感知器(MLP).在本实验中最终使用的参数如下:两个多层感知器里的嵌入层大小分别为128和64, 以及其正则化皆为0.001, 模型学习率为0.000 1, L2正则化为0.05, dropout为0.25;

● 贝叶斯个性化排序(BPR)[9]:此方法通过贝叶斯个性化排序的目标函数把矩阵分解(MF)进行优化.最终使用的参数如下:L2正则化为0.05, 学习率为0.000 7;

● 共现发现推荐模型(LCDMcoocur-noAtten):此方法使用商品同现信息代替了LCDM的商品互补信息, 但没有加上双重注意力机制;

● 基于注意力机制的共现发现推荐模型(LCDMcoocur):此方法使用商品的共现信息代替了CDM计算的商品互补信息, 并使用了双重注意力机制;

● 互补性发现推荐模型(LCDMcomple-noAtten):此方法只使用了基于CDM的商品互补关系, 但没有加上双重注意力机制;

● 基于注意力机制的潜在互补性发现推荐模型(LCDMcomple):此方法是融合CDM计算的商品互补关系和双重注意力机制的推荐算法, 也是本文提出的完整算法.模型的参数设置如下:用户、商品、订单的嵌入层大小皆为16, 批量大小为256, 学习率为0.000 8.

4.4 评价指标

我们使用了召回(Recall@K)和归一化折损累计增益(NDCG@K)来进行推荐算法评价.Recall@K是考虑了有多少正例在Top K个位置被召回, 而NDCG@K则同时考虑正例在Top K个的排序的具体位置.其中, IDCG是指最理想情况下的DCG.两种指标的计算公式如下:

${\rm{Recall@}}K = \frac{{\mathop \sum \nolimits_{i = 1}^K re{l_i}}}{{\min (K, \left| {y_u^{test}} \right|)}}, {\rm{ DCG@}}K = \sum\nolimits_{i = 1}^K {\frac{{{2^{re{l_i}}} - 1}}{{{{\log }_2}(i + 1)}}} , {\rm{ NDCG@}}K = \frac{{{\rm{DCG@}}K}}{{{\rm{IDCG@}}K}}.$
4.5 结果与分析

表 3显示了5个基准模型和本文提出的方法在各个指标上的表现, 其中, LCDMcomple的效果相比所有其他模型都有显著的提升.首先, 我们发现NCF要优于它的分割模型GMF和MLP.比较NCF和BPR的算法表现, 虽然NCF有比较强的表达能力, 但是NCF需要更大规模的用户和交互数据用于参数学习, 再加上本数据集相对较为稀疏, 所以NCF效果要略低于BPR.随后, 我们将NCF和BPR与LCDMcomple对比后发现, 随着商品互补关系的引入, 推荐算法在Recall和NDCG指标上均取得了显著提升.Recall的提高说明, 本文提出的方法可比其他方法找到更多的正例商品, 而NDCG由于考虑了排名的位置, 该指标上更为显著的提升也说明了模型对于商品的排序性能有大幅提升, 整体返回列表的质量更高.

Table 3 Comparison of different methods on dataset 表 3 不同实验方法在各数据集中的表现

实验中我们也通过对LCDMcomple的核心模块进行删减构建对比模型, 主要针对模型的两个创新点进行效果验证:(1)基于需求交叉弹性发现互补品的效果; (2)双重注意力机制的影响.第一, 通过与LCDMcoocur-noAtten和LCDMcomple-noAtten的对比, 我们发现使用需求交叉弹性得到的商品互补信息效果明显比使用商品同现信息要好, 说明使用本文的CDM方法能够比商品同现关系更有效地刻画商品间的互补关系, 并且能够在推荐系统取得更好的表现.第二, 从LCDMcoocur和LCDMcomple的效果对比可以看出, 注意力机制能够有效帮助模型在商品和订单层面上学习出刻画商品的相关特征.

总结来看, 本文提出的方法对于新零售线上平台食物杂货购买的场景具有独特意义.因为在线上平台带来便利的前提下, 大部分的客户在进行购买时已经较清楚自己需要什么类别的商品, 相对传统电商的探索式购物来说有更为单一的购买倾向.所以用户注重的是在众多相似的同类型商品下能否寻找到与同一订单下功能/体验互补的商品.所以LCDMcomple更高的recall说明本文的方法能够找到更多与用户偏好相匹配的商品.此外, 由于用户在较高频的购物情况下需要快捷的搜索体验, 加上大部分用户习惯从上而下阅读, 相关商品在位置上排得明显靠前能够有效地缩短用户浏览的时间.实验结果显示, 本文的方法在NDCG上有大幅提升, 说明LCDMcomple能够更准确地为用户在靠前的位置提供相关的商品, 缩短浏览时间.因此本文的方法确实能够在杂货购物的实际场景中为用户带来便利, 显著优化线上购物的体验.

5 结论与展望

在推荐领域, 除了挖掘用户兴趣与购买规律, 商品间的关系能够进一步帮助提升其表现.本文提出潜在互补性发现推荐模型(LCDM), 能够从经济学理论中的需求交叉弹性出发, 重点使用商品价格和交易信息计算得到商品之间的互补关系.我们基于这些信息设计的双重注意力机制能够同时考虑互补商品以及商品订单的信息, 更好地刻画了商品特征.最终提出的算法较已有的推荐算法在真实数据集上取得了显著提升.未来, 我们会尝试将时间因素加入到模型中, 以进一步优化推荐系统的表现.

本文由“非经典条件下的机器学习方法”专题特约编辑高新波教授、黎铭教授、李天瑞教授推荐.

参考文献
[1]
Wan M, Wang D, Liu J, Bennett P, McAuley J. Representing and recommending shopping baskets with complementarity, compatibility and loyalty. In: Proc. of the 27th ACM Int'l Conf. on Information and Knowledge Management. ACM, 2018. 1133-1142.
[2]
O'sullivan A, Sheffrin SM. Economics: Principles in Action. Prentice Hall, 2003.
[3]
Bakos Y, Brynjolfsson E. Bundling and competition on the Internet. Marketing Science, 2000, 19(1): 63-82. [doi:10.1287/mksc.19.1.63.15182]
[4]
Covington P, Adams J, Sargin E. Deep neural networks for Youtube recommendations. In: Proc. of the ACM RecSys. 2016. 191-198.
[5]
Yi X, Hong L, Zhong E, Liu NN, Rajan S. Beyond clicks: Dwell time for personalization. In: Proc. of the ACM RecSys. 2014. 113-120.
[6]
Wang P, Guo J, Lan Y, Xu J, Cheng X. Your cart tells you: Inferring demographic attributes from purchase data. In: Proc. of the WSDM. 2016. 173-182.
[7]
LiorRokach FR, Shapira B. Introduction to recommender systems handbook. In: Recommender Systems Handbook. 2011. 1-35.
[8]
Su XY, Khoshgoftaar TM. A survey of collaborative filtering techniques. In: Advances in Artificial Intelligence. 2009. 4.
[9]
Rendle S, Freudenthaler C, Gantner Z, Schmidt-Thieme L. BPR: Bayesian personalized ranking from implicit feedback. In: Proc. of the 25th Conf. on Uncertainty in Artificial Intelligence. AUAI Press, 2009. 452-461.
[10]
Chen JY, Zhang HW, He XN, Liu W, Liu W, Tat SC. Attentive collaborative filtering: Multimedia recommendation with item- and component-level attention. In: Proc. of the SIGIR. 2017. 335-344.
[11]
Chen C, Zhang M, Liu Y, Ma S. Neural attentional rating regression with review-level explanations. In: Proc. of the 2018 World Wide Web Conf. 2018. 1583-1592.
[12]
Chen C, Zhang M, Liu Y, Ma S. Social attentional memory network: Modeling aspect-and friend-level differences in recommendation. In: Proc. of the 12th ACM Int'l Conf. on Web Search and Data Mining. ACM, 2019. 177-185.
[13]
Kwon OB. "I know what you need to buy":CONTEXT-aware multimedia-based recommendation system. Expert Systems with Applications, 2003, 25(3): 387-400. [doi:10.1016/S0957-4174(03)00063-0]
[14]
Zheng J, Wu X, Niu J, Bolivar A. Substitutes or complements: Another step forward in recommendations. In: Proc. of the 10th ACM Conf. on Electronic Commerce. ACM, 2009. 139-146.
[15]
McAuley J, Pandey R, Leskovec J. Inferring networks of substitutable and complementary products. In: Proc. of the 21st ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. ACM, 2015. 785-794.
[16]
Wang Z, Jiang Z, Ren Z, Tang J, Yin D. A path-constrained framework for discriminating substitutable and complementary products in e-commerce. In: Proc. of the 11th ACM Int'l Conf. on Web Search and Data Mining. ACM, 2018. 619-627.
[17]
Barkan O, Koenigstein N. Item2vec: Neural item embedding for collaborative filtering. In: Proc. of the 26th IEEE Int'l Workshop on Machine Learning for Signal Processing (MLSP). IEEE, 2016. 1-6.
[18]
Dong Y, Chawla NV, Swami A. Metapath2vec: Scalable representation learning for heterogeneous networks. In: Proc. of the 23rd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. ACM, 2017. 135-144.
[19]
Vasile F, Smirnova E, Conneau A. Meta-prod2vec: Product embeddings using side-information for recommendation. In: Proc. of the 10th ACM Conf. on Recommender Systems. ACM, 2016. 225-232.
[20]
LeCun Y, Bengio Y, Hinton G. Deep learning. Nature, 2015, 521(7553): 436. [doi:10.1038/nature14539]
[21]
He XN, Liao LZ, Zhang HW, Nie LQ, Hu X, Tat SC. Neural collaborative filtering. In: Proc. of the WWW. 2017. 173-182.
[22]
He XN, Tat SC. Neural factorization machines for sparse predictive analytics. In: Proc. of the SIGIR. 2017. 355-364.
[23]
Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate. arXiv Preprint arXiv: 1409.0473, 2014.
[24]
Rush AM, Chopra S, Weston J. A neural attention model for abstractive sentence summarization. arXiv Preprint arXiv: 1509.00685, 2015.
[25]
Chen JY, Zhang HW, He XN, Liu W, Liu W, Tat SC. Attentive collaborative filtering: Multimedia recommendation with item- and component-level attention. In: Proc. of the SIGIR. 2017. 335-344.
[26]
Xiao J, Ye H, He X, Zhang H, Wu F, Chua TS. Attentional factorization machines: Learning the weight of feature interactions via attention networks. arXiv Preprint arXiv: 1708.04617, 2017.
[27]
Wang J, Zhang Y. Utilizing marginal net utility for recommendation in e-commerce. In: Proc. of the SIGIR. ACM, 2011. 1003-1012.
[28]
Zhao Q, Zhang Y, Friedman D, Tan F. E-commerce recommendation with personalized promotion. In: Proc. of the RecSys. 2015. 219-226.
[29]
Shiu YW, Guo C, Zhang M, Liu YQ, Ma SP. Identifying price sensitive customers in e-commerce platforms for recommender systems. In: Proc. of the 24th China Conf., CCIR 2018. 2018.[doi:10.1007/978-3-030-01012-6_18]
[30]
Zhang Y, Zhao Q, Zhang Y, Friedman D, Zhang M, Liu Y, Ma S. Economic recommendation with surplus maximization. In: Proc. of the WWW. 2015. 73-83.
[31]
Ma W, Zhang M, Cao Y, et al. Jointly learning explainable rules for recommendation with knowledge graph. In: Proc. of the World Wide Web Conf. ACM, 2019. 1210-1221.
[32]
Shocker AD, Bayus BL, Kim N. Product complements and substitutes in the real world:The relevance of "other products". Journal of Marketing, 2004, 68(1): 28-40. [doi:10.1509/jmkg.68.1.28.24032]
[33]
Russell GJ, Bolton RN. Implications of market structure for elasticity structure. Journal of Marketing Research, 1988, 229-241. http://cn.bing.com/academic/profile?id=83e08fc36b1959cce1ecac13d2623552&encoded=0&v=paper_preview&mkt=zh-cn
[34]
Russell GJ, Petersen A. Analysis of cross category dependence in market basket selection. Journal of Retailing, 2000, 76(3): 367-392. [doi:10.1016/S0022-4359(00)00030-0]
[35]
LeCun Y, Bengio Y. Convolutional networks for images, speech, and time series. In: The Handbook of Brain Theory and Neural Networks, 1995, 3361(10).