《Hierarchical User Profiling forE-commerce Recommender Systems》原文

电子商务推荐系统的分层用户简档

摘要

分层用户简档旨在以不同粒度建模用户实时兴趣的,这是电子商务中个性化推荐的一个重要问题。一方面,项目(即产品)通常在类别中分层组织,相应地,用户的兴趣在项目和类别的不同粒度上自然分层。另一方面,面向多粒度的推荐在电子商务网站中变得非常流行,这也需要不同粒度的分层用户配置。在本文中,我们提出了HUP,一个分层的用户剖析框架来解决电子商务推荐系统中的分层用户剖析问题。在HUP中,我们提供了一个配备了行为LSTM的金字塔递归神经网络,以在多个尺度上表达用户的分层实时兴趣。此外,代替在传统方法中简单地利用用户的项目级行为(例如,评级或点击),HUP收集用户的时间精细粒度交互的顺序信息(微行为,例如,点击像图片或评论这样的项目的组件,通过搜索引擎或推荐的导航进行浏览)用于建模。在两个真实的电子商务数据集上进行的大量实验表明,对于分层用户剖析和推荐问题,HUP相对于最先进的方法有显著的性能提升。

关键词 用户画像;推荐系统;分层用户画像;金字塔递归神经网络;电子商务

在互联网时代,推荐系统在各种应用中发挥着至关重要的作用,如电子商务门户网站(如亚马逊、JD.com、阿里巴巴)、脸书等社交网站、Youtube等视频分享网站、Pinterest等视觉发现网站等。实际上,用户简档[5,11,18,24,33,38]是推荐系统中最重要的阶段之一。它产生了通过深入了解用户的历史交互来正式表示用户兴趣的简档向量,可用于候选人生成[31,42]、点击率预测[4,39,40]、转化率预测[3,16]和长期用户参与度优化[34–37,44–46]。

用户画像在很多应用中都很重要,生成用户向量用于候选人生成预测等。

近年来,在电子商务推荐系统中,对用户的分层实时兴趣建模逐渐成为一个关键问题。首先,电子商务网站中的项目(即产品)通常以分级目录的形式组织。相应地,用户的兴趣自然分层地位于项目和类别的多个粒度上。其次,不同粒度的推荐(例如,项目、主题和类别)在电子商务网站中变得非常流行,并且这种场景也需要不同粒度的用户画像。

例如,图1展示了亚马逊分层推荐的一个真实例子。图的左侧向用户推荐了一些物品(手机),右侧显示了“手机配件”、“充电器”等类别的推荐列表。类别推荐可以帮助推荐系统快速找出用户的主要兴趣,做出更好的推荐。

现有的用户简档方法主要关注项目推荐,通常基于用户的项目级响应,如评级[20]或点击[14]。在现有的方法中,潜在因子建模是一个热门的分支,包括矩阵分解[13,20,38],神经嵌入[8,10]等。一般来说,他们为目标用户学习统一的嵌入,以基于她的历史行为在项目上表示她的兴趣。最近,递归神经网络(RNN)在基于会话的建议中取得了最先进的性能[14,29]。

现有方法有以下限制。首先,当面对不同粒度的推荐任务时,他们中的大多数通常需要在不同粒度的项目组织上多次运行类似的算法,其中每次运行都为相应的推荐任务构建用户的特定级别侧写向量,即项目推荐的侧写向量和类别推荐的侧写向量。相应地,每个级别的轮廓向量的训练过程完全独立于其他级别。然而,用户的多层次兴趣密切相关。图2展示了用户的分层兴趣,包括一个项目级别和两个类别级别,以及她的历史行为。由于项目和类别之间的相关性,一项推荐任务的改进可能会使其他任务受益。然而,据我们所知,这种特权还没有在现有的方法中得到探索。

本位根据项目和分类之间的关系实现了一个分级用户画像方式,每一层不是独立的。

现存方法的局限:第一,对于多粒度的推荐任务,一般都是在每一层上运行相同的算法得到每一层的用户画像。但是没有考虑到层级之间的关系。

第二,仅仅收集用户项目级交互的信号如评分和点击是不够的。在大多数电子商务门户网站中,用户提供精细的响应,如点击和浏览不同模块(如评论和图片)的项目,添加到购物车和购买,这被称为“微行为”[30,41]。例如,图2的底层呈现了用户在JD.com(全球最大的电商网站之一)的历史微行为,包括从主页浏览一双耐克鞋、搜索阅读iPhone 8的规格、从推广页面浏览Google Pixels 2、搜索iPhone X、阅读评论并添加到购物车中进行购买等。显然,与用户的项目级响应相比,微观行为提供了更详细的信息,初步研究[30,41]已经证明了对这种详细行为建模的优势。然而,据我们所知,现有的方法都没有利用这些优势来提高多级用户概要分析的性能。

第二,当前的方法只利用项目级的信息比如排序以及点击行为,没有利用微行为比如搜索收藏购买加购物车。

第三,一般来说,用户的兴趣是动态的,不断变化的。一些最先进的方法,如时间-LSTM [43]通常结合时间间隔来跟踪兴趣转移。然而,我们认为,除了时间间隔之外,行为类型及其停留时间也极其重要。如图2所示,我们知道iPhone X优于其他手机,因为iPhone X上出现了停留时间较长的各种微行为。我们还观察到,在iPhone X下单后,用户对手机的兴趣急剧下降。如果忽略对行为类型和停留时间的建模,时间LSTM将很难捕捉到用户的详细偏好和兴趣转移。

第三,当前工作一般结合时间间隔挖掘用户兴趣转移,但本文是结合用户停留时间捕捉用户爱好和兴趣转移。

为了应对这些挑战,我们提出了HUP,这是一个分层的用户配置框架,可以精确地表达用户对多个项目组织的实时兴趣,目标是在推荐准确性方面获得显著的性能提升。具体来说,它使用金字塔递归神经网络对用户的多层次兴趣进行建模,该神经网络通常由微层、项目层和多类别递归神经网络层组成。微层收集详细的行为信息并传递给更高层,可以同时抽象出用户在项目组织相应层级上的分层兴趣。此外,为了敏感地跟踪用户的实时兴趣,我们在每一层中引入了行为LSTM,其中设计了一个行为门来模拟行为的类型和停留时间。在两个大规模真实电子商务数据集上进行了项目推荐和类别推荐任务的大量实验,验证了所提方法的有效性。

HUP用于表示用户在不同级别上的实时兴趣,设计为金字塔RNN,分为三个层,微层、项目层以及多个RNN层。每一层中加一个行为-LSTM用于建模行为类型以及停留时间。

综上所述,我们的主要贡献如下:

我们提出了一个新的分层用户特征问题,旨在精确地同时建模电子商务推荐系统中用户的多层次兴趣。

我们提出了HUP,它利用金字塔递归神经网络基于用户的历史微观行为进行分层用户剖析。

我们提出了行为-LSTM,它利用行为门来模拟行为的类型和停留时间,从而有效地表达用户的实时兴趣。

我们进行了广泛的实验,证明我们的方法在项目推荐和类别推荐任务上都大大优于最先进的基线。

2相关工作

2.1推荐的用户概况

推荐系统[1]可以向用户推荐潜在感兴趣的项目,以解决信息过载问题。现有作品主要分为基于内容的技术[26]或协同过滤[23]。在这两种情况下,用户简档在根据用户过去的行为[18,24,33,35,38]制定用户的兴趣或特征[5]方面起着至关重要的作用。像矩阵分解这样的经典协同过滤技术[20]从用户的评级偏好中学习用户的静态简档,用于估计用户未来的兴趣[38]。此外,基于时变因子模型[19]、向量自回归[24]、动态稀疏主题模型[8]等,进化用户简档可以学习用户沿时间的动态简档。然而,这些方法主要集中在项目推荐问题上,既不能考虑用户行为的顺序信息,也不能考虑用户简档的层次结构。

推荐系统中的用户画像要么是静态的(如矩阵分解)或者动态的,但是都是基于项目推荐,没有考虑到用户的行为以及多层次的用户画像。

2.2基于RNN的用户简档

在推荐系统中,递归神经网络(RNN)通过对用户的顺序行为进行建模,显示出令人印象深刻的优势[14,15,17,29]。例如,Hidasi等人[14]引入了基于会话的推荐的概念,并首次提出了一个基于RNN的框架来处理用户在会话中对项目的点击序列。Tan等人[29]通过考虑数据增加和时间偏移问题,进一步提高了其性能。Hidasi等人[15]将从图像和文本中提取的一些内容特征集成到并行的RNN架构中,这证明了它们相对于基线的显著性能改进。李等[22]提出了一种神经注意力推荐机,能够以性能提升为目标,识别用户当前会话的主要目的。除了会话内的行为,Quadrana等人[27]利用额外的GRU层来为基于会话的推荐建模用户的跨会话活动。最近,人们发现时间信息和用户的精细交互对推荐有很大帮助。Wu等人[32]利用长短期记忆的行为时间戳()自回归方法。朱等人[43]提出了时间,它利用时间门来模拟行为之间的时间间隔。Wan和McAuley [30]在推荐中利用了用户不同类型行为之间关系的有效性。周等[41]训练了一个产品推荐的微观行为单层RNN模型。然而,这种方法只模拟用户对项目的兴趣,只是利用微观行为信息作为额外的输入,这可能会导致性能下降。该方法利用多层行为LSTM单元和注意力对微观行为信息进行显式建模,既能解决项目推荐问题,又能解决分层类别推荐问题。

总之,大多数现有的基于RNN的方法都无法解决分层用户配置问题。此外,据我们所知,没有任何探索能够在RNN框架中同时利用行为的类型、停留时间和时间间隔来进行用户剖析

本文提出基于多层behavior-LSTM建模用户微观行为,解决多层类别推荐问题。同时加入用户行为类型、停留时间以及时间间隔。

3问题表述

在这一部分,我们首先介绍了本文的背景、符号和定义,然后正式表述我们的问题。

3.1背景

分层类别以不同的粒度组织电子商务网站的产品。层次结构通常是一个树形结构,其中每一个较低层次的类别都是较高层次的一个元素,产品通常挂在最细的类别上,作为树的叶节点。例如,第一级类别“电子产品”可能包括一些第二级类别,如“电话”和“附件”,“移动电话”是属于“电话”的第三级和最高级类别。

微行为是用户与推荐系统之间的详细单元交互(例如阅读详细评论、加购物车)。它们可以提供丰富的信息来指示用户的及时兴趣,包括用户对某个项目的行为类型、用户在某个项目上停留的时间以及移动到下一个项目的时间[30,41]。在本文中,我们考虑了10种微观行为,如表1所示。

分层类别:不同粒度组织电子商务产品。

微行为:用户的一些详细系统交互

3.2分层用户画像

定义3.1(分层用户画像)。分层用户画像旨在基于不同粒度下的用户兴趣生成微观级别、项目级别和分层类别级别的简档向量p_{m_u}, p_{i_u} and\quad p_{c_u} = \left \{ p_{c_u}^{(1)}, \ldots p_{c_u}^{(K)} \right \}

定义3.2(分级建议)。U是一组用户,V是一组项目,C(1),C(2),。。。,C(K)是类别的K级层次结构。分层推荐任务旨在为每一个用户推荐一组项目和K组类别,\hat{c}_{u}^{(1)},\ldots,\hat{c}_{u}^{(K)}通过在不同的粒度中最大化U和她的推荐之间的相关性。

分层用户画像

4 HUP:一个分层的用户概要分析框架

在本节中,我们介绍HUP,一个用于分层推荐的分层用户概要分析框架。如图3所示,HUP利用金字塔递归神经网络从多尺度的微观行为中提取用户的层次兴趣。

4.1输入和嵌入层

给定一个目标用户u,我们模型的输入是她的一系列微观行为X = 〈x1,x2。。。,xN〉.第I个元素xi= (ti,vi,ci,bi,di,gi)表示u在时间ti上执行类型为bi的微行为,其中vi属于多级类别ci= {c(1) i,c(2) i,...,c(K) i },停留时间为di,xi和Xi+1的时间间隔为gi,这里停留时间和时间间隔都是实数。正如前面的工作所做的[41],我们将它们分别离散成几个桶用于嵌入。对于每个微行为xi,嵌入层首先使用项目、类别、行为类型、停留时间桶和时间间隔的嵌入表来分别将vi、ci、bi、di、дi转换为低维密集向量(即evi、eci、ebi、edi、e7i),然后将这些向量连接成单个嵌入向量ei。嵌入表被初始化为随机数。

输入和嵌入层:用于将微观行为的所有类别、停留时间以及时间间隔等向量转化成嵌入向量,再连接在一起。

4.2金字塔递归神经网络

大多数以前基于递归神经网络(RNN)的推荐方法[5,14,15,29,41]使用单层RNN来生成用户简档向量,这可能无法捕获用户在不同级别的分层兴趣。为了解决这个问题,受空间金字塔汇集网(SPP-net) [12]的启发,我们提出了一个金字塔递归神经网络,它包含一个微观层次、一个项目层次和几个类别层次的RNN层,以同时在多个尺度上抽象用户的分层兴趣。

微观层面的RNN层旨在模拟用户最细微的兴趣。来自嵌入层的该层的时间戳I处的输入xMi和该层的输出YMi被转发到项目级RNN层用于进一步计算。隐藏状态在将每个微行为作为输入后更新。微水平RNN层的公式在等式1中定义。

\begin{array}{l} X_{M}=\left[x_{M_{i}}\right]=\left[e_{i}\right], \quad i=1,2, \ldots, N\\ Y_{M}=\left[y_{M_{i}}\right]=R N N_{M}\left(X_{M}\right), \quad i=1,2, \ldots, N \end{array}

微观层:用嵌入层的向量得到RNN输入输出

项目级RNN层对用户的项目级兴趣进行建模。该层时间戳I处的输入是嵌入项和微层输出的连接。只有在用户将焦点从一个项目转移到另一个项目后,隐藏状态才会更新。其输出YIis被转发到类别级RNN层。项目级RNN层的公式在等式2中定义。

类别级RNN层制定用户的类别级兴趣。在第K类别层(最细的类别粒度)中,时间戳I处的输入是,这是类别嵌入e(K) ci和对该类别下的项目计算的项目级RNN层的输出的串联。对于其他更高级别的类别层,在第k级类别层的时间戳I处的输入是,这是该层中的类别嵌入和第(k-1)级类别层的输出的串联。在每一层中,隐藏状态只有在用户将她的焦点从该层中的一个类别移动到另一个类别后才会更新。类别级RNN层的公式在等式3中定义。

 类别级输入是本级别的嵌入和k-1级别的串联,定义RNN

 

 4.3行为-LSTM细胞

一般来说,用户的兴趣是动态的,不断变化的。时间-LSTM [43]是一种最先进的方法,它结合了用户连续购买之间的时间间隔,以解决利益转移问题。但是,它无法对行为类型和停留时间信息进行建模,这可能会导致性能下降。我们在这里提出了行为-LSTM,一个新的RNN层,它提供了一个额外的行为门来处理行为的类型和停留时间,使HUP能够更精确地跟踪用户的实时兴趣。具体来说,它在图4中描述,并在等式4中表示

 其中I、F、T、A和O是输入、遗忘、时间、行为和输出门,C和h是单元状态和隐藏状态向量,WI、WF、WT、WA、WCandWOare权重矩阵,bI、bF、bT、bA、bCandbOare分别是偏差。行为模型的输入是一个元组(xt,at,\Deltat),其中xt是输入在时间戳t的嵌入向量,at是行为类型或停留时间信息的嵌入向量,而\Deltat是当前行为和下一个行为之间的时间间隔的嵌入向量。

在LSTM中加入了时间门T和行为门A,时间门记录两个行为之间的时间间隔,行为门用于记录行为的停留时间和类型。

在行为-LSTM中,时间门T估计有多少信息应该保持或传递到下一个状态,行为门A用行为的元信息计算当前行为的重要性。特别地,这些行为的元信息涉及两个方面:它们的类型和用户的停留时间。特别是,行为门实际上只处理微观层次RNN层中的微观行为类型。这是因为大多数微行为都是即时响应,我们无法得到它们的停留时间,但是它们的类型对于用户兴趣建模是极其重要的。在项目级和分级类别级RNN图层中,此门模拟项目或类别的停留时间。这是因为停留时间在项目和类别上有很大的不同,并且在呈现用户兴趣方面非常有用。

behavior-LSTM包括两方面:停留时间和类型,但在微行为层只包含行为类型,因为停留时间过短,但在其他项目以及目录层包含停留时间和类型。

4.4注意力层次注意力机制[2]

注意力层次注意力机制是深度学习中的一种常见技术。通常,它能够减轻长期依赖问题并提供解释,这在现实世界的推荐系统中非常重要。特别地,关注层采用输出序列Y = [y1,y2,...,yT]作为输入,并返回一个上下文向量s。每个关注层的上下文向量被计算为所有时间戳中的兴趣向量的加权和,这在等式5中正式表述。

 HUP有多个关注层,每个关注层后面都有相应的RNN层,因此分别称为微观、项目和类别级别的关注层。来自这些关注层的上下文向量被表示为sm、si和sc= {s(1) c、s(2) c,...,s(K) c }分别为。注意信号ai表示微观层次注意层中微观行为的类型,以及在项目和类别层次注意层中的停留时间。f是一个对齐模型,它根据隐藏状态I、最后一个隐藏状态y和注意力信号ai对I的重要性进行评分。为了获得丰富的表达能力,我们将对齐模型f设计为两层前馈神经网络,在模型中联合训练。

 在每一层RNN之前加上一层注意力机制,用于得到用户每一层的兴趣向量s,由上一层的隐藏层状态Yi以及行为类型ai和上一个的隐藏层状态得到。

4.5 全连接层

全连接神经网络层将用户的上下文向量从关注层转换为分层的用户简档。具体来说,它们转换用户的微观级别、项目级别和类别级别的上下文向量sm、siand sc= 转换为实时用户画像向量,pi,pc= 在相应的级别。

在每一层LSTM后加一层注意力,得到微观层、项目层以及类别损失的向量。再将每一个加入全连接层得到实时向量pi,pm...

 4.6损失函数

像卷积神经网络[21]和递归神经网络[9]这样的深度学习模型通常使用softmax作为预测的最后一层。然而,在现实世界的推荐场景中,可能的项目可能是数百万或数十亿,因此对所有项目的这种计算是极其昂贵的。给定一个用户u和她的顺序活动序列Xu,我们尝试最大化用户的实时简档向量(即pm,pi和 pc= 和真实的画像嵌入,目标用户将在下一个时间戳N + 1(即,对于微观和项目级层的下一个项目VN+1或者下一个分层类别用于类别级层)。类似的策略在推荐系统中取得了成功[14,29,41]。设是目标用户的微观层次、项目层次和类别层次的损失。微观层LMu的损失可按公式6计算,其中是项目Vn+1的真实嵌入。项目和类别级别的损失可以类似地计算。

 总损失L是所有用户的微观层、项目层和类别层损失的加权和。正式定义如下:

 

 其中分别是微观层、项目层和多类别层的损失系数。

 对每一个用户计算当前时间戳N的实时用户侧写,计算和最后一时间戳真实用户向量的余弦相似度。加权三层的损失函数后作为整体损失。

5实验设置

5.1分层推荐

我们在两个任务上评估我们提出的HUP方法:项目推荐和类别推荐。给定一个目标用户u和她的一系列微行为,HUP为u生成一个分层的简档向量,分别表示用户对项目和分层类别的兴趣。同时,在训练阶段,也可以从HUP中学习项目和多级类别的嵌入向量。物品推荐流程如下。在每个推荐阶段,正如之前的工作所做的那样[41],我们首先检索一组候选项,这些候选项在嵌入的余弦相似性方面与至少一个用户浏览的项相似。然后,我们计算每个候选项目嵌入和用户的项目级配置文件向量排序得分之间的余弦相似度。最后,我们对候选项目进行排名,并选择推荐的顶级项目。类别推荐以类似的方式执行。

推荐方法:项目级推荐和目录级推荐,根据HUP可以得到项目和多个目录的嵌入向量。

项目级推荐:取出和用户浏览过的至少一个项目嵌入余弦相似度较大的作为候选项目,计算候选项目嵌入和用户实时向量pi的余弦相似度进行一个排序。最后选出前N的作为推荐商品。

目录级推荐相似

 5.2数据集

为了评估HUP的有效性,我们利用了基准“JD微观行为数据集”[41],这些数据集是从JD.com的一个大型电子商务网站收集的。数据集包含用户在两个产品类别“设备”和“计算机”中的微行为,其中每一行都是用户在会话中的微行为序列。数据集的统计数据如表2所示。在每个数据集中,我们按照时间顺序对所有会话进行排序,并分别使用70%、10%、20%的会话作为训练集、验证集和测试集。正如之前的工作所做的[41],每个会话中的最后一项和相应的最细类别被用作真实数据。

 5.3基线方法

我们对我们的HUP方法和以下方法进行了比较研究,其中后三种方法是基于RNN的最先进的方法,最近表现出色。

POP向每个用户推荐最受欢迎的商品。这种简单的方法是推荐系统中常见的机制。这种简单的方法已经被证明可以与一些复杂的推荐算法相媲美[6]。

BPR-MF利用贝叶斯个人排名损失实现矩阵分解。这是最受欢迎的推荐方法之一[13,20,28]。

项目-KNN是一种流行的基于项目的推荐算法,它使用项目之间的相似性进行推荐[7]。特别地,相似度是用计算的,其中F r eq(i)是项目i出现的序列数[7]。

Word2vec用Word2vec方法得到序列最后一项的嵌入从而提出推荐。在推荐[10]中已经证明是有效的。

Word2vec-avg根据序列中所有项目的平均嵌入量提出推荐[41]。

RIB [41]是一种最先进的方法,它使用RNN和注意力机制来模拟用户的微观行为以进行推荐。

时间-LSTM [43]将用户项目级行为之间的时间间隔信息集成到LSTM。

S-HRNN [27]利用一个分层的GRUs来模拟用户跨会话的交互。

 基线方法:time-LSTM S-HRNN:分别将用户行为间隔和绘画之间的交互加入到LSTM中。

5.4评估指标

我们使用两个广泛使用的指标Recall@K和RR@K [14,27,29,41]来比较我们的模型和基线。对于物品推荐问题,和之前的工作一样[41],我们使用Recall@20和RR@20进行评估。对于类别推荐,我们改用Recall @和RR @ 5,因为用户对类别的兴趣相对稳定。我们已经用Keras 2.2实现了我们的框架HUP。项目行为、类别、停留时间和时间间隔的嵌入大小分别设置为30、5、8、5和5,批量大小为128,PRNN层的隐藏大小为100。

 推荐系统常用评级指标:

precision(查准率):已经查出的项目中相关项目的比例

recall(查全率):所有相关项目中已经查出的比例。

MRR:平均倒数排名(Mean Reciprocal Rank),计算相关其中Qi 表示用户个数,   表示对于第i个用户,推荐列表中的结果中第一个有效值所在的位置。

 

Recall@K:前K个项目中的recall值

MRR@K:前K个项目中的MRR值

6实验结果

6.1与基线的比较

表3显示了不同方法对应用程序和计算机数据集上的项目和类别推荐任务的实验结果。我们对我们的方法在所有基线上的改进进行了显著性测试。“∞”表示p值< 0.01的强显著差异。从表中我们可以发现:在两个数据集上,对于这两个任务,HUP的性能明显优于最先进的方法。具体来说,对于项目推荐,对于“设备”和“计算机”数据集,HUP在召回@20中的性能优于最先进的方法3.4%、6.1%,在MRR@20中的性能优于最先进的方法6.7%、9.1%。对于类别推荐,我们的性能提升相对微妙,因为这个问题比由密集数据集产生的项目推荐更容易。

POP和BPR-MF方法表现最差。

三种基于RNN的方法,包括RIB、时间-LSTM和S-HRNN,大大超越了常规基线。

通过对时间信息进行建模,时间LSTM获得了比RIB更好的性能。

6.2 HUP中组件的有效性

为了系统地验证HUP中每个组件的有效性,我们实现了HUP的以下变体,每个变体都消除了一个特定的模型组件。

HUP-NoMicro。此变体不使用微观行为进行建模。它仅使用基于用户与项目和类别交互的项目级和类别级RNN层。(去掉微观行为)

HUP-LSTM。这个变体在PRNN图层中使用了LSTM。该方法缺乏与时间相关的微观行为机制和类型。(用简单的LSTM而不是用behavior-LSTM)

HUP-TLSTM。该变体在PRNN层中使用时间LSTM [43],其中在RNN层中仅使用时间门来建模行为之间的时间间隔。

HUP-NoAtt。这个变体从HUP中移除了关注层

HUP-single。这个变体独立地解决每个推荐任务,它包括框架中的单个行为LSTM层和注意层。

表3的底部显示了不同变体的性能。从表中,我们可以看到完整版本的HUP优于所有变体,并发现:(1)金字塔递归神经网络。与HUP-Single方法相比,性能的提高证明了PRNN方法的有效性。

(2)微观行为。与HUP-NoMicro的比较证明了微观行为在HUP中的重要性。我们还注意到HUP-NoMicro在所有指标中表现最差。

3)时间机制。HUP-LSTM相对于HUP-TLSTM和HUP的性能损失证明了时间信息在用户兴趣建模中的必要性。此外,复杂的时间机制可以获得更好的性能。例如,配备时间门,HUP-TLSTM可以实现比HUP-LSTM更好的性能;通过在注意层进一步使用行为门和时间机制,HUP优于HUP-TLSTM。

(4)注意层。正如我们的实验所证明的,注意力层可以显著提高HUP对HUP-NoAtt变体的性能。同时,注意力机制也有助于解释和可视化推荐结果。我们将在后面的案例研究部分展示这一点。

对比实验:①整体HUP的性能②微行为③时间门④注意力层

6.3损失函数的权衡

如公式(7)所示,损失函数由三个部分组成。根据我们的实验,HUP实现了λlM= 0时性能最佳。因为微观层面的RNN层对于基于历史行为预测下一个微观行为是有用的,但是不直接影响项目和类别的预测。然而,该层可用于解释每个用户的历史微观行为的实时有效性。不失一般性,我们设置λlC = 1-λLi, 0≤λlI≤1。因此,我们只需要在损失函数中调整λlI,以在项目和类别推荐任务之间进行权衡。图6显示了HUP相对于“应用程序”数据集λlI的不同值的性能。“计算机”数据集上的曲线是相似的,由于本文中页数限制要求,没有绘制曲线。从图中我们可以看出,当λLII变低时,项目推荐的指标下降,而类别推荐的趋势完全相反。为了平衡不同级别用户侧写的性能,我们在实验中将λlI和λlC设置为0.5

比较不同损失函数的权重参数对于结果的影响,微观层的损失参数为0,对项目层和类别层没有影响。

6.4案例研究

图5展示了来自“设备”数据集的真实案例,以解释HUP是如何工作的。图中列出了6类7个项目的最后12个微行为。最后一项是基础事实,它跨越了两个微观行为。图的右侧显示了我们提出的HUP、HUP-TLSTM(HUP的变体)和RIB(最先进的基线)的这些微观行为的注意力权重。从图中我们可以看到:

(1)“Cart”和“Search2Product”这两个微行为的关注权重对于所有方法都高于其他方法,这意味着这两个微行为对于建模用户兴趣很重要。

(2)“小熊电水壶”项目上的浏览行为与下一次浏览行为的时间间隔为36秒。如关注权重所示,由于时间门,HUP-TLSTM和HUP对前4个项目的关注度远远低于RIB。通过对时间间隔信息的建模,说明了他们遗忘很久以前发生的历史行为的能力。

(3)“酸奶机和冰淇淋机”和“熊蛋煲”上的浏览行为之间的时间间隔仅为2秒。“熊蛋煲”和下一个物品(地面-真相)之间的这个数字也是2秒。两者都很短。HUP-TLSTM保留了这样的历史信息,并且由于时间间隔短,仍然非常关注这两个项目。但是,HUP可以注意到用户已经将这两个项目添加到购物车中。因此,它降低了这两个项目及其类别的重要性,然后从相关类别(酸奶制造商和烤面包机捆绑包)中选择一个项目返回。

用于解释HUP的各个组件的功能:当项目时间间隔比较短的时候对项目的注意力权重比较大。比较大的时候权重比较小。但也考虑到了已经加购物车的微行为,所以权重也会比较小。

 7结论

在本文中,我们研究了分层用户侧写问题,旨在以不同粒度对用户的实时兴趣进行建模。对于项目、类别、主题、主题推荐等多层次推荐任务来说至关重要。因此,我们提出了HUP,一个分层的用户剖析框架,它利用金字塔递归神经网络从用户的微观行为中同时提取不同粒度的用户兴趣。为r-了更好地建模用户的实时兴趣,我们设计了behavior-LSTM,将行为的元信息(例如类型、停留时间和时间间隔信息)集成到HUP中。在两个真实电子商务数据集上的大量实验验证了我们的方法对于项目和类别推荐任务的有效性。

由于其有效性和灵活性,我们的框架可以广泛用于在各种网络服务(例如视频或音乐共享网站、社交网络)中推荐项目(例如电影、音乐、新闻)和相应的类别(例如科幻电影、摇滚乐、突发新闻)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值