APP下载

面向群组用户时序行为的动态推荐算法

2021-01-21蔡瑞初郝志峰

计算机应用 2021年1期
关键词:群组矩阵物品

温 雯,刘 芳*,蔡瑞初,郝志峰,2

(1.广东工业大学计算机学院,广州 510000;2.佛山科学技术学院数学与大数据学院,广东佛山 528000)

0 引言

近年来,互联网上的信息资源不断丰富,人们对线上信息的依赖程度越来越高。在这种时代背景下,用户在面对大量信息时也越来越难以获得自己真正感兴趣的部分,如何定位用户感兴趣的信息、并将其展示(曝光)给用户也成为信息系统所需面临的一个挑战。因此,通过对用户的历史行为数据建模,从而主动为用户推荐偏好内容的个性化推荐系统[1]具有重要且现实的应用意义。近年来,推荐系统已经成功应用到了诸多领域,最常见的应用落地场景有:在线视频[2]、社交网络[3-5]、在线音乐[6]、电子商务[7]等。

传统的推荐系统通过分析用户的历史时序行为,挖掘用户的个性化需求,从而将一些商品个性化推荐给相应的用户,帮助用户找到自己想要但难以被发现的商品[8],目前应用最广泛的是基于协同过滤(Collaborative Filtering,CF)算法[9-11]的推荐系统。然而,在现实生活中,用户的历史行为往往是复杂多变的。譬如,对于互联网在线购物数据而言,用户的行为记录包括购买、浏览、收藏等,这些行为数据构成了用户的曝光数据,即用户已经了解或看到了这些商品;而用户购买过的物品可以表明用户的个人喜好,因此构成用户点击数据。即通过用户对商品的购买行为可以分析用户是否喜爱该商品或该商品是否只是曝光给了用户,但对于用户未浏览或购买的商品,并不能直接表明用户不喜欢这些商品,有可能是因为用户从未听说过这些商品[12-13]。而仅基于用户历史点击行为数据建模的推荐算法并未考虑到这一点,且用户的兴趣往往是随着时间动态变化的,因此推荐结果往往会产生偏差。

此外,对于互联网在线电视节目点播系统和网上购物系统来说,一个用户ID所产生的观看/购买历史记录背后可能隐含了多个家庭成员的观看/购买记录,而往往家庭成员之间的喜好不尽相同,即系统所采集的数据是用户群组的数据,且每个成员的喜好也会随时间而动态变化,但目前的推荐算法并未考虑这一情况。

本文针对以上问题提出一种面向群组用户时序行为的动态偏好推荐方法,由于经典的推荐算法直接对用户的点击数据建模,这种建模方法会使得系统侧重于推荐用户经常点击的物品而忽视了曝光数据对系统结果造成的偏差影响。因此本文利用因果推断(Causal Inference,CI)[14]中的逆倾向加权方法(Inverse Propensity Weighting,IPW),将数据以其流行度的倒数输入模型进行加权训练,使得训练时所有物品相当于处于一个以同等概率曝光的公平状态,尽可能减小经常对用户曝光的物品对推荐系统产生的偏差。

本文的主要工作和贡献如下:

1)本文提出了一种面向群组用户时序行为的动态偏好推荐方法,通过融合数据集中时间序列的特性和隐含群组的信息,为用户作动态时序推荐;

2)构建出某一时刻下群组角色的多项式分布概率矩阵,得到该时刻下的用户角色,按时间为用户作精准推荐;

3)针对曝光模型设计了两种计算流行度的方法,并采用逆倾向加权思想将流行度融入训练过程中,使得流行度较高的物品不会产生太大的权重,平衡样本状态;

4)在网络电视节目IPTV 数据集和阿里巴巴网上购物云主题(Cloud theme)两个真实数据集上进行了实验,结果表明,本文提出的时序推荐算法可以切实有效地为群组用户做出推荐。

1 相关工作

与本文相关的工作主要包括以下2 个方面:1)基于矩阵分解的推荐算法;2)面向时间序列的推荐算法。

1.1 基于矩阵分解的推荐算法

传统矩阵分解[15-16]的基本思想是将推荐系统中所有用户和物品映射到一个共享的潜在因子空间(Latent Factor Space),然后分别使用用户潜在偏好特征向量(User Latent Feature Vector)和物品潜在属性特征向量(Item Latent Feature Vector)代表对应的用户和物品,因此用户-物品之间的关联矩阵可被建模成两个潜在特征向量的内积。早期基于矩阵分解的算法[17-18]主要针对用户的显式反馈信息建模,即直接利用用户对物品的评分来预测用户的偏好,然而这种只关注可观测到的正向反馈信息的做法在真实的Top-K推荐场景下会导致比较差的效果,且应用场景受限。

此外,Salakhutdinov 等[19]在2007 年提出的概率矩阵分解(Probabilistic Matrix Factorization,PMF)模型中假设用户评分矩阵中的元素是由用户潜在偏好向量和节目潜在属性向量的内积决定的,并服从正态分布,该算法能有效解决大型数据集中用户行为稀疏的问题。文献[11]中针对隐式反馈数据提出加权矩阵分解(Weighted Matrix Factorization,WMF)模型,通过对样本引入置信度来确定用户喜好该物品的程度,实验表明该模型尤其在数字电视数据集上效果显著。Lee 等[16]1999年在Nature上提出了一种新的矩阵分解思想——非负矩阵分解(Non-negative Matrix Factorization,NMF)算法,它假设用户评分矩阵分解出来的小矩阵应该满足非负约束,使得分解出来的结果更能符合现实世界的解释,譬如图像数据中不可能存在负数的像素值,在文档统计中,词频为负也无法解释。文献[20]中提出一种DBPMF(Deep Bias Probabilistic Matrix Factorization)模型,利用深度卷积网络提取用户/物品的特征并将其融入PMF 中,以此来跟进用户的评分行为和物品的流行度变化,建立在线协同过滤系统。文献[21]中采用一种非采样的方法提出了 ENMF(Efficient Neural Matrix Factorization)模型,通过推导的三种优化方法来有效学习数据中的模型参数,减小了计算复杂度,改善了由于采用负采样方法的传统模型而产生的计算消耗和鲁棒性问题。另外,Liang 等[13]在传统矩阵分解的基础上就用户是否对物品曝光这一问题进行建模,将曝光因子建模成一个隐变量,根据用户行为数据推断其值,并利用不同数据中的附加信息(如文档主题、街道位置)建模,提出了一种ExpoMF(Exposure Matrix Factorization)模型。同时,Liang 等[12]提出IPW-MF(Inverse Propensity Weighted Matrix Factorization)模型,它对用户的曝光数据和点击数据分别建模成曝光模型和点击模型,其中曝光模型又分别根据物品流行度和用户搜索情况具体化为流行度模型和泊松模型,并在模型训练中引入因果推断中的逆倾向评分加权方法,消除由于曝光数据产生的推荐偏差。该算法最接近本文的工作,不同的是本文在曝光模型部分采用的是流行度模型,并根据问题设计了两种计算流行度的方式,最后依据时序数据的特性按时间为用户做出Top-K推荐。

传统的矩阵分解推荐算法虽基于用户的历史点击行为数据可以预测特定用户对某物品的喜好,但其面临着用户数据稀疏、冷启动等问题。而改进的矩阵分解模型虽然可以解决数据稀疏、缩短训练时间等问题,但其在设计时没有主动地考虑到用户兴趣是随时间变化的,针对这一不足之处,本文探究了在时间序列上应用矩阵分解方法为用户做动态推荐的问题。

1.2 面向时间序列的推荐算法

近年来,工业界和学者们逐渐将目光投向了时间序列上的推荐算法研究。如Koren[18]在矩阵分解的基础上对时间进行建模,提出将SVD++模型与时间参数联合起来建模成TimeSVD++,该方法能有效挖掘用户喜好的局部变化,并准确地预测电影评分。文献[22]中提出一种在线进化协同过滤方法来捕捉用户兴趣随时间的动态变化,达到实时推荐的效果。此外,文献[23]基于用户评分的时序信息同时构建用户和物品的近邻关系,并将两者融入到PMF 中,提出基于用户时序行为的推荐算法(SequentialMF)。文献[24]提出一种ISLF(Interest Shift and Latent Factors combination model),将用户兴趣转移(Interest Shift)与潜在因子方法结合起来,通过考虑用户长短期兴趣变化从而捕捉用户真正的偏好。Liu 等[25]为给用户作时序推荐引入了马尔可夫模型(Markov Model)来找出用户评分行为的周期性特征,提升了计算效率。文献[26]首次将泊松分解框架和泊松过程联系起来提出一种RPF(Recurrent Poisson Factorization)框架,通过推断用户随时间动态变化的兴趣爱好从而在合适的时间为其推荐合适的物品,并针对不同的问题场景提出了三个RPF的变体框架。以上基于时间序列的推荐算法虽然考虑到了用户兴趣是随时间动态变化的这一问题,但它们都是针对用户行为由单一角色产生这一场景下的,没有考虑到在现实场景中,一个用户ID 所呈现的行为记录可能是由一个家庭的多个成员所产生的。

同时随着深度学习[27-28]的兴起,众多时间序列的研究都逐渐偏向使用深度神经网络来预测用户行为[29-32],并能取得不错的效果,但是对于本文研究的问题来说,单一时间片的单用户数据具有较大的稀疏性,而深度学习的方法对于数据量要求很高,因此不能获得较好的学习效果,其次深度学习的过程缺乏一定的可解释性。

据了解,目前的研究工作中,还没有关注到个体用户背后的隐变量,即用户背后存在的群组角色不定,可能会在不同的时刻产生不同的兴趣,本文工作正是考虑到了以上问题并结合时间序列的特点针对此类群组用户为其做出合适的物品推荐。

2 问题描述

本章首先给出问题定义,然后对群组用户下的推荐问题进行形式化描述并约定相关符号。

2.1 问题定义

本文的目标是利用曝光数据判别出隐藏在用户背后的群组角色,然后研究用户在一天24 个时刻下的时序行为,最后按时间为用户做出推荐。相关术语和问题定义如下。

定义1定义用户行为是随时间t变化的,本文研究用户一天24 个时刻下的行为,因此本文中所用到的时刻均是指间隔1 h 的时间段,例如t=0 时刻表示0:00—1:00(包括0:00 时刻)的时间段。

定义2定义第d天、第t时刻下用户u的行为观测数据集D(u,t)包括曝光数据aui(t)和点击数据yui(t),即D(u,t)={aui(t),yui(t)},其中曝光数据aui(t)表示用户u看过或了解物品i,yui(t)表示用户u点击了物品i。且用户u只能在物品i已曝光的条件下点击它,即p(yui(t)=1|aui(t)=0)=0。

定义3定义用户背后隐藏了多个群组角色uw(u,t),(w=1,2,…),w为角色类型,譬如可以是家庭中常见的角色类型:儿童、青少年、成年人、老人等。本文依据实验数据集特性,按照不同物品访问的群体(群组角色)不同对物品进行划分,且为符合现实情况和便于说明,将群组角色定义为三类并给定对应的标签:儿童、成年人、老人。在不同时刻下,产生用户点击行为的角色类型是随时间变化的。

问题定义给定任意用户u∈{1,2,…,U}以及用户在前m天不同时刻下的行为观测数据集D(u,t)、用户角色uw(u,t),本文的任务是通过构建学习模型获得用户随时间变化的偏好预测函数,从而能够对m+1 天之后的用户行为进行Top-K推荐。

2.2 相关符号

为了能更好地阐述本算法的模型,本节给出本文中所用的相关符号及其含义,如表1所示。

表1 相关符号及含义Tab.1 Related symbols and their definitions

3 面向群组用户时序行为的动态偏好推荐

3.1 模型描述

本文主要研究用户群组角色随时间而变化的情况下,如何结合用户的曝光数据及点击行为记录对用户偏好进行准确预测,即不同时刻下用户背后的群组角色是随时间变化的隐变量,本文将用户每天的行为记录看成一天24 个时刻下的周期行为。首先根据用户的曝光行为数据构造出曝光模型,这里本文采用的是流行度模型,得到当前时刻下的群组角色,然后在物品已曝光的条件下,用户偏好由传统的矩阵分解模型推测得出。

矩阵分解是假设在一个推荐系统中存在用户u∈{1,2,…,U}和物品i∈{1,2,…,I},对于给定的用户点击行为矩阵Yui∈RU×I,yui表示用户u对物品i的点击,θu表示用户u的潜在偏好向量θu∈Rk,βi表示物品i的潜在属性向量βi∈Rk,其中k为向量维度,求解出用户潜在偏好特征矩阵Θu和物品潜在属性特征矩阵Bi,使得两者之积尽可能拟合Yui。一般可利用随机梯度下降(Stochastic Gradient Descent,SGD)法迭代计算式(1)的局部最优解θu和βi:

其中:D表示用户的所有观测数据,即用户的历史行为记录,表示模型的正则化项,λ为超参,用于控制模型的正则化程度。yui>0 表示用户u对物品i的真实喜好程度表示系统预测的用户u对物品i的喜好程度。

和经典的矩阵分解方法[19]一样,假设随时间变化的用户潜在偏好向量θu(t)和物品潜在属性向量βi(t)、用户是否点击已曝光物品yui|aui=1 的情况均服从正态分布,物品i是否对用户u曝光服从伯努利分布,具体如下:

雷贝拉唑为苯并咪唑类化合物,是第二代质子泵抑制剂,通过特异性地抑制胃壁细胞H+、K+‐ATP酶系统而阻断胃酸分泌的最后步骤。临床上注射用雷贝拉唑钠主要用于口服疗法不适用的胃、十二指肠溃疡出血,并可使基础胃酸分泌和刺激状态下的胃酸分泌均受抑制[1]。注射用雷贝拉唑钠的临床前药理学的研究报道较少,有关临床应用以及检测方法的居多。本研究主要考察注射用雷贝拉唑钠对不同溃疡模型大鼠的抑制作用,包括对吲哚美辛引起的胃溃疡、醋酸性胃溃疡、大鼠反流性食管炎以及半胱胺型十二指肠溃疡的影响。

其中:δ0表示t时刻下未对用户u曝光的物品i,被用户点击了的概率为0或未被用户点击的概率为1,即p(yui(t)=1|aui(t)=0)=0 或p(yui(t)=0|aui(t)=0)=1。(λθ,λβ,λy)为引入的超参,μui(t)为物品i在用户中的流行度,结合本文的实际研究问题,本文将讨论两种方式来构建物品的流行度模型。

对于偏好预测的点击模型,由于此时用户的观测数据集并不是直接来自于点击数据,因此利用传统的贝叶斯后验推断会由于曝光模型所决定的数据分布导致系统的推断结果产生偏差,即经常对用户曝光的物品会产生太大的权重,而较少对用户曝光的物品甚至没有权重,最后可能导致用户只能看到自己已经看过的东西,而未看过的东西一直不会被看到,久而久之,用户就会陷入一个“信息茧房”,看不到自己真正感兴趣的信息。

为了解决以上问题,本文借鉴了因果推断[14]中的逆倾向评分加权思想,从观测集中采样物品并以其流行度的倒数对其进行加权训练,使得在推断用户偏好时流行度高的物品权重减小,流行度低的物品权重增大,所有物品处于一个相对公平的环境里被均衡采样,从而实现为用户精准推荐的目的。

3.2 流行度模型

首先根据用户的可观测数据构造曝光模型,本文采用的是流行度模型。对于式(2)中的定义aui(t)~Bernoulli(μui(t)),一般做法是通过统计每个物品i被多少个用户看见的比例来获得最大似然估计即倾向评分值的计算为:

但本文中所要解决的问题是隐含多个群组角色的用户兴趣随时间变化的动态推荐问题,因此结合问题本文具体设计了以下两种求解倾向评分值的思路。

思路1 (Ours.v1)。物品i对用户u的曝光是随时间变化的。由于隐含在用户背后的群组角色是随时间变化的,例如对于电视点播数据集来说,早上7:00 可能是老年人在看早间新闻,晚上19:00 可能是儿童在看动画节目。因此物品在不同时刻对于不同的群组角色曝光情况肯定是不同的,此时倾向评分值的计算为:

其中:Uw(u,t)的计算方法与式(4)中一样,μi_w为当前t时刻下的物品在所属物品集中的流行度矩阵,求得为|U|×24×|I|大小的矩阵。

3.3 用户偏好推断

在曝光的条件下,利用传统的矩阵分解方法构造点击模型去得到用户随时间变化的潜在偏好因子θu(t)和物品潜在属性因子βi(t),从而根据推断出用户的偏好。

具体来说,利用逆倾向评分加权方法的矩阵分解模型的目标函数为:

首先计算用户潜在偏好因子θu(t)。假设物品潜在属性矩阵是一个随时间变化的大小为|I|×k的矩阵β(t),其中k为向量维度,|I|为物品数目;对于每个用户u定义一个随时间变化的大小为|I|×|I|的对角矩阵Pu(t),其中Pu(t)=y(u)=yui表示用户u的所有喜好,即用户的点击项。通过最小化损失函数(6)可得:

同样地,假设用户潜在偏好矩阵是一个随时间变化的大小为|U|×k的矩阵θ(t),对于每个物品i定义一个随时间变化的大小为|U|×|U|的对角矩阵Pi(t),其中Pi(t)=yui表示用户u的所有喜好。同样可得物品潜在属性因子为:

通过不断迭代模型得到θu(t)、βi(t)的值后,取的值按从大到小排在前K位对应的物品为用户做出推荐。

3.4 学习算法及时间复杂度分析

本节给出目标函数优化的完整算法流程,并分析该优化算法的时间复杂度,其中该算法的复杂度主要在目标函数参数更新的计算过程中。算法流程如算法1所示。

算法1 目标函数优化算法。

输入 每个时刻下的点击矩阵{Yui(t):∀(u,i) ∈D(u,t)},潜在向量维度k,正则化参数λθ、λβ,利用式(4)或(5)计算出的倾向评分值。

输出 随时间变化的用户潜在偏好因子θ1:U(t)和物品潜在属性因子β1:I(t)。

在等式(7)中,βT(t)的计算对于每个用户的时间复杂度为O(k2× |I|),将会耗费大量的计算时间。为了加速优化过程,本文采用WMF 中的方法,利用βT(t)βT(t)β(t) +βT(t)(1/Pu(t) -I)β(t),因此βT(t)β(t)的计算将独立于用户可以预先计算出来,而第二项βT(t)(1/Pu(t) -I)β(t)中的(1/Pu(t) -I)将只涉及到yui=1的项,因此时间复杂度与数据集中的用户已点击物品数成正比。式(7)中的y(u)同样只与数据集中的用户已点击物品数相关。因此,式(7)中对于每个用户的时间复杂度为O(k2|I|yui=1+k3+k|I|yui=1)=O(k2|I|yui=1+k3),其中O(k3)假设为式(7)中βT(t)β(t) +λθIk)-1的逆运算复杂度。则对于数据集中的所有用户数|U|的总的复杂度为O(k2|I|+k3|U|),其中可知,该算法的时间复杂度与输入的用户数和物品数成正比,其中向量维度k的值在本文实验中设置为50。同样可知式(8)中物品潜在因子参数βi(t)的总的计算时间复杂度为

4 实验结果与分析

4.1 度量标准

本文采用推荐系统中普遍适用的Recall、MAP(Mean Average Precision)、NDCG(Normalized Discounted Cumulative Gain)来评判模型性能。Recall衡量的是用户推荐列表中的喜好物品数占测试集中用户所有喜好的物品数比例;MAP 计算的是每个用户的平均精度均值(Average Precision,AP),它考虑了推荐物品的位置,位置越靠前,MAP 值越高,推荐越精准;NDCG 是一个位置敏感型指标,推荐列表中用户喜欢的物品位置越靠前,获得的增益越大,推荐效果越好。假设Ru表示用户u的Top-K推荐物品列表,Tu表示测试集中用户u所有偏好的物品列表,d对应推荐列表中的物品。计算公式如下:

其中:I(x)是一个指示函数,当x>0 时,I(x)=1,反之为0。表示用户u的推荐列表中的第n个位置的物品。Pu(n)表示用户u在前n个物品上的准确度。Z是常数,其值为理想状态下的DCG@K。

4.2 数据集

为了验证不同类型的数据对算法性能的影响,本文将在IPTV和Cloud theme[34]2个真实数据集上进行实验和对比分析。下面从数据集大小和数据特点等方面分别介绍这2个数据集。

IPTV 数据集为国内某运营商网络电视节目点播数据集,其结构为用户从2015 年10 月7 日到2015 年11 月9 日的历史播放节目记录,原始的数据中总共包含了18 万多个用户的5 398多万条观看记录,筛选出每天都有播放记录的活跃用户并进一步定义用户观看时长小于1 min 的播放记录为曝光但未点击的情况即(yui(t)=0|aui(t)=1),最终得到了2 920 个用户,32 341个节目,2 227 811个曝光项的数据集。

Cloud theme 数据集为淘宝app 中云主题产品的用户点击数据,数据集包含了70 多万个用户在大促期间6 天的140 多万条用户点击日志,涵盖355 个不同场景,同时提供了商品与主题的对应关系、用户在大促前1 个月的购买日志。同样地,通过设置每个物品至少被10 个用户点击过,每个用户至少点击了3 个物品的筛选条件后,得到3 812 个用户、25 382 个商品、52 282个曝光项。两个数据集的具体统计信息如表2。

表2 数据集统计信息Tab.2 Statistics of datasets

其中,在构造流行度模型的思路2 中针对所有物品按照所属的群组角色对应划分成3 个不同的物品子集问题中,对于IPTV 数据集而言,由于原数据集给出了每个节目的类型标签,因此可按照不同的节目类型访问的群体(群组角色)不同对节目进行划分,为了便于区分、说明,本文统一将节目划分为三类并给定对应的标签:儿童、成人、老人。划分后的结果如表3。

表3 IPTV数据集的子集统计Tab.3 Subset statistics of IPTV dataset

对于Cloud theme 数据集,因为原数据集提供了每个物品所属的主题标签,因此可以依据给出的主题标签聚合划分成只有三类主题的物品子集,为了便于区分,同样对三类主题给定儿童、成人、老人的标签。划分后的结果如表4。

表4 Cloud theme数据集的子集统计Tab.4 Subset statistics of Cloud theme dataset

4.3 实验和结果

4.3.1 实验设置

本文使用以上两个数据集来验证提出的模型的可行性。对于每个数据集,将用户的观看/购买行为记录按日期顺序从小到大排列并以8∶2 的比例划分训练集和测试集,然后从训练集中随机抽取10%的数据作为验证集,并确保测试集中的用户和节目/物品为训练集和验证集中出现过的项。在所有的实验中,潜在向量的维度设为50,在模型训练的过程中,使用交替最小二乘法来训练模型参数,正则化参数(λθ,λβ)通过网格化搜索依次从[e-5,e-4,…,e4,e5]中组合确定。

4.3.2 对比方法

本文采用了以下相关方法进行对比。

1)MF[15]。经典的矩阵分解方法,将用户没有的行为当作缺失值,并基于相似度矩阵填充缺失值。

2)NMF[16]。一种约定分解的小矩阵中所有元素均为非负数的矩阵分解方法。

3)IPW-MF[12]。本文进行改进的原对比方法,该方法在构造曝光模型中计算的是物品在整个数据集所有用户中的流行度。

4.3.3 结果及分析

本节给出模型在两个数据集上按一天24 个时刻进行Top-K推荐的实验结果。为符合日常推荐情景,本文取Recall@20、NDCG@20、MAP@20 作为最后的性能评价。结果如图1~2所示。

图1 5种矩阵分解方法在IPTV数据集上的性能比较Fig.1 Performance comparison of five matrix factorization methods on IPTV dataset

图2 5种矩阵分解方法在Cloud theme数据集上的性能比较Fig.2 Performance comparison of five matrix factorization methods on Cloud theme dataset

根据图1 中的结果可以分析出:对于稀疏程度不高的IPTV 数据集来说,本文所提的模型(Ours.v1 & Ours.v2)在NDCG@20(图1(c))和MAP@20(图1(b))评价指标上明显优于其他3 个模型;在Recall@20(图1(a))上,Ours.v1 效果依然明显优于其他方法,Ours.v2在前8个时刻召回率略低于IPWMF,但在后16个时刻上高于IPW-MF;同时对于MF和NMF来说,本文的两个模型在3 个指标上远远高于MF 和NMF,说明在MF 基础上对数据采用逆倾向评分加权值的方法去训练的方案是可行的,且整体上Ours.v1的效果要优于Ours.v2。

在Cloud theme 数据集上,由于该数据集稀疏度较高,因此各模型的性能指标相对较低。在召回率Recall@20(图2(a))的指标上,本文的方法优胜的时刻占大多数(Our.v1 有14 个时刻上的效果优于3 种对比方法,Ours.v2 有16 个时刻上的效果优于对比方法);在NDCG@20(图2(c))上,本文的两种方法明显优于IPW-MF 和MF,但有3 个时刻(t=9,14,18)两种方法的指标略低于NMF;在准确度MAP@20(图2(b))上,Ours.v2 与Ours.v1 的效果不相上下,且Ours.v2 有8 个时刻上的效果都要明显优于另外的4 种方法,同时NMF 有3 个时刻(t=9,14,18)准确度略高于本文的方法,可能是因为这3个时刻下的用户行为数据相对较多,导致了NMF 模型效果的提升。整体上看,模型效果的优先级为:Ours.v2 >Ours.v1>NMF>MF>IPW-MF。

另外本研究也在WMF[11]和ENMF[21]上做了一系列对比实验,结果显示在IPTV 数据集上,两个模型效果略高于本文的两个模型;但在Cloud theme 数据集中,本文的模型效果优于WMF 和ENMF,经猜想可能是因为这两个模型不太适合处理稀疏程度高的数据。

5 结语

本文提出了一种面向群组用户时序行为的动态偏好推荐方法,通过考虑用户行为的时序信息,针对隐含多个类型角色行为的用户采用基于矩阵分解的算法思想,设计两种计算物品流行度的思路,并利用因果推断中的逆倾向加权方法将基于流行度的曝光模型与矩阵分解模型结合起来,使得经常对用户曝光的物品权重减小,让所有训练数据处于一个平衡的状态。同时本文构建的推荐系统可以捕捉到用户的兴趣行为随时间的动态变化,实现了推荐的动态性,通过在两个真实数据集上的实验结果表明本文的模型在召回率和时间效率上优于其他对比方法,因此本文的方法是切实可行的。

此外,本文对于基于用户行为的时序推荐工作提供了一个新的思路,即可以探索隐藏在用户背后的群组角色问题,因此未来的研究将关注模型自动学习群组用户中各类型角色的权重方向上,并利用数据中的用户行为周期和观看时长等附加信息构造一个更加精准高效的推荐系统。

猜你喜欢

群组矩阵物品
称物品
群组推荐系统:现状与展望
多项式理论在矩阵求逆中的应用
图画捉迷藏
矩阵
矩阵
矩阵
找物品
创意,源自生活的可爱小物品