基于注意力机制的神经网络贝叶斯群组推荐算法

2020-05-16 06:33李诗文潘善亮
计算机应用与软件 2020年5期
关键词:贝叶斯群组组员

李诗文 潘善亮

(宁波大学信息科学与工程学院 浙江 宁波 315211)

0 引 言

互联网的飞速发展给人们带来了极大的便利,同时造成了信息呈现指数型的增长。人们翱翔在科技信息、娱乐信息、新闻信息、广告信息和社交信息[1]的海洋中,却面临着难以寻找到喜爱的物品的窘境。淘宝、京东、今日头条等移动APP的实践表明,推荐系统能够缓解“信息过载”造成人们获取有价值的信息越来越难、时间成本越来越高的问题,为用户提供真正需求的商品,实现用户与商家的共赢。推荐系统能够根据用户的购买记录、评分数据、历史浏览记录和发表言论信息等行为和商品的材质、颜色、尺寸、用途和价格等属性信息,挖掘用户与商品之间的潜在关系。通过推荐算法从海量的商品中发现用户感兴趣的商品,用推荐列表的形式呈现给用户。

传统的推荐算法目标是为用户提供个性化推荐,然而,在实际生活中更多是群体活动,例如,现实中的同事们聚餐、情侣约会、朋友旅游、看电影和社交网络中的微信公众号、微信读书及豆瓣讨论组、电影组、音乐组等。如何权衡群组间用户的差异性同时为群组推荐一个满意的商品,使群组推荐成为一个热门且具有挑战性的研究课题。已经有很多学者对群组推荐算法进行了相关研究,群组推荐算法主要分为推荐模型融合和推荐结果融合两类。推荐模型融合算法首先获取各个组员的偏好,然后根据组员的偏好融合为群组的偏好,最后利用个性化推荐算法进行推荐。常用的模型策略有以下四种:① 多元投票策略[12],优点是考虑了多数用户的偏好推荐得票数最多的项目,但不能解决负面偏好和投票时间过长的问题;② 专家策略[4],优点是由特定工作领域知识经验丰富组员的推荐,但需要专家有权威性和组员服从专家的决定才能有高质量的推荐;③ 最小痛苦策略[5],优点是生成所有用户都认可的商品,但推荐的商品通常过于普通,组员既不讨厌也不喜欢;④ 均值策略[6]能够平均多用户的偏好,若组内用户相似性较高则可以生成满意度高的推荐。推荐结果融合算法[2]首先根据各个用户的偏好生成个性化推荐列表,然后融合所有组员的个性化推荐列表生成群组推荐列表,根据不同的个性化推荐算法,其推荐结果的差异性较大。

本文将注意力模型引入神经网络贝叶斯个性化排序算法(NBPR)[9]中,利用注意力权重表示组员对于群组的重要程度,考虑多用户的特征聚合和多用户的特征交互,提出基于注意力机制的贝叶斯群组推荐算法(ANBGR)。首先根据群组和项目的交互记录和群组中的组员信息,将用户和项目映射到高维空间,得到用户和项目的高维潜在矩阵,然后在注意力模型层考虑了群组用户的偏好聚合和群组用户的偏好相互影响,最后利用贝叶斯理论知识预测群组的偏好。相比较传统推荐算法,本文算法不仅考虑不同组员在群组中具有不同的重要性,还考虑了组员相互影响新生成的偏好,提高了推荐算法的预测精度;使用贝叶斯个性化排序的思想,生成用户和项目的高维潜在矩阵信息,利用正负数据构建三元组,在模型层面解决了矩阵稀疏性问题。

1 相关研究

1.1 群组推荐算法

面向群组的推荐算法不仅要尽可能地满足群组成员的需求,还要尽可能地减少群组成员偏好的冲突,使群组推荐不仅面临着传统推荐算法的问题,还有亟待解决的新问题。针对群组偏好相似性与差异性问题,Sihem等[10]基于共识函数的理论,计算组员对于项目偏好的相似程度及组员之间的差异程度。针对群组推荐算法中忽略组员间交互和影响问题,Liu等[11]通过分析群组的决策过程提出个人影响主题模型,其假设用户与群组服从主题的狄利克雷分布,考虑组员的个人偏好、个人影响和社交网络信息,具有影响力的用户能够代表群组决策,但该模型没有考虑到用户在不同模型的影响力。Yuan等[3]提出概率模型来对群组活动进行建模,认为与主题相关的专家更具有影响力,结合用户的历史和个人信息分配不同的权重。针对群组推荐结果融合问题,Ortega等[2]提出群组推荐相似度度量方法,将推荐过程分为相似度度量、建立领域、预测阶段和推荐项四个基本阶段,证明了协同过滤在群组推荐的适应性。针对群组推荐中不确定性问题,Campos等[7]提出贝叶斯协作网络模型来考虑群组推荐过程中的用户偏好不确定性和群组成员相互影响导致决策过程的不确定性,根据相似用户的投票计算群组评分。针对群组推荐中时效性问题,Masthof等[16]提出上下文感知系统,聚合单个用户的模型信息,并针对用户的情感建模。

1.2 注意力模型

注意力模型最初是在机器翻译和阅读理解领域中提出,用于解决编码器问题,随后在图像领域用于生成高质量的图片。Gong等[15]提出了全局通道和局部通道注意力模型解决微博中的标签推荐问题,它将标签推荐看成一个多目标分类问题,局部通道可以看成是一个决策过程,将所有微博词汇连接成一个序列,计算每个词汇的重要程度,全局通道设计卷积神经网络作为架构,在池化层使用过滤器提取最重要的功能图。Wang等[8]提出了一种动态注意力模型解决文章推荐问题,它使用字符集文本建模和卷积神经网络学习文章的表达形式,获取其中有助于预测行为的单词,使用注意力模型获取编辑者选择文章的动态特征。Vinh等[18]认为在作出群组决策之前群组用户会相互讨论,提出用户会影响群组其他用户决策的模型,利用注意模型学习其他群体成员的专业知识对同一群体中某一成员决策的影响,从而模拟群体决策过程,不仅可以探索每个用户对组的影响,还可以获得不同组中一个用户的各种影响。Zhou等[17]基于用户行为建模,将用户的行为描述为(动作类型,目标,时间)三元组,然后语义映射空间将用户行为映射多个语义空间,通过注意力模型层模拟一个行为被其他行为影响后的表征。基于已有的研究启发,本文考虑在群组推荐系统中引入注意力模型,动态地给群组中不同组员分配不同的权重,同时考虑组员偏好交互的影响生成新的特征,以期实现一个更有效的群组推荐算法。

2 算法设计

本文使用注意力机制的神经网络贝叶斯个性化排序模型,模型采用神经网络架构,从下往上依次是嵌入层、注意力模型层、隐藏层、BGR层,如图1所示。其中:嵌入层分别得到用户和项目的高维统一向量表示;注意力模型层不仅考虑组员偏好聚合,同时考虑组员偏好交互,生成群组对于项目的表示;隐藏层使用多层感知机模型学习非线性高阶特征;BGR层通过神经网络反向传播实现。

图1 ANBGR框架图

2.1 嵌入层

嵌入层将用户和项目映射到高维空间,生成用户和项目的潜在向量表示。其有两个嵌入矩阵F1和F2,F1表示u×d维的用户潜在高维矩阵,F2表示i×d维的项目的潜在矩阵,u和i分别表示用户和项目的个数,d是自定义值,输入用户和项目就可以生成用户和项目的高维统一向量。

2.2 注意力模型层

本文使用注意力模型进行建模,评估群组中每个组员对于群组的重要性,权重越高的用户说明其重要性越高,其推荐的项目更可能被群组其他成员采纳。在计算的过程中,考虑了用户偏好聚合策略和用户偏好交互策略,最后将两者作为注意力模型的输出,公式如下:

(1)

式中:fgi表示群组g对于项目i的偏好;fut表示群组中用户的潜在高维向量;aut表示群组中用户的权重;huk表示群组中多用户交互生成的潜在高维特征向量;buk表示群组中多用户交互生成的特征向量的权重;q为偏置参数。

2.2.1 用户偏好聚合策略

本文使用加权求和的方法聚合用户的偏好,模型如图2所示,其中系数aut表示用户在群组中的权重。在实际中,一个用户对于一个领域有更多的专业知识,群组其他用户可能服从他的决定,即专家策略。计算注意力权重时考虑了用户潜在向量fut={fu1,fu2,…,fun}、项目潜在向量fi和上下文向量c1,其计算过程如下:

(2)

(3)

式中:系数矩阵Wa、Wb、Wc和偏置项c1为模型参数,然后使用Softmax函数进行归一化处理。

图2 用户偏好聚合策略图

2.2.2 用户偏好交互策略

在计算群组偏好时,不仅要考虑组员对于群组的影响,还要考虑组员间的行为博弈。例如:情侣在一起选择影剧时,男生喜欢看科幻类型,而女生喜欢看宫廷类型,最后的选择可能是青春校园类型。fut={fu1,fu2,…,fun},将fut看成一个集合,定义H为fut的非空子集,则huk=H-fut。其模型如图3所示,在模型中,将不同组员的特征用红绿蓝三基色表示,不同组员交互影响就会生成七原色。

(4)

(5)

式中:矩阵Wd、We、Wf和偏置c2为模型参数,然后使用Softmax函数进行归一化处理。

图3 用户偏好交互模型图

2.3 隐藏层

隐藏层是一个多层感知机网络结构,分别将注意力模型的输出fgi、fi与fg j、fj作为隐藏层的输入,通过隐藏层网络获取群组与项目之间的非线性高阶关系,从而预测群组对于项目的偏好Sgi和Sg j。

2.4 BGR层

BGR算法基于贝叶斯理论在先验知识下极大化后验概率,其核心是针对一个群组面对两个项目的排序进行建模,如果一个群组g对于项目i的评分高于项目j的评分,表示群组更喜欢项目i,本文用三元组表示。BGR算法基于两个假设:① 每个群组偏好相对独立,与其他群组无关;② 同一个群组对于项目的偏好相互独立,与其他项目无关。根据贝叶斯公式有:

p(θ|>g)∝p(>g|θ)p(θ)

(6)

式中:>g表示群组g对于所有项目的全序关系;θ表示模型参数。

第一步 似然函数p(>g|θ)可以改写为:

(7)

式中:i>gj表示群组g对于项目i偏好程度高于项目j。

p(i>gj|θ)=σ(Sgi-Sg j)

(8)

式中:σ(θ)是Sigmoid函数;Sgi表示群组g对于项目i的偏好;Sg j表示群组g对于项目j的偏好。

第二步 假设θ是均值为0、参数为λ的正态分布:

p(θ)~N(0,λθI)

(9)

第三步 BGR算法的最大似然函数为:

lnp(θ|>g)∝lnp(>g|θ)p(θ)=

(10)

式中:Sgi表示群组g对于项目i的偏好;Sg j表示群组g对于项目j的偏好;θ是模型的参数。

3 实 验

3.1 实验数据

本文研究的数据集是CAMRa2011,来源于ACM推荐系统大赛,是一个记录了个人用户和家庭电影评分的真实数据集。该数据集中用户与电影、家庭与电影的交互是评分等级为0到100的反馈,数据集包含602个用户、290个家庭组、7 710部电影、116 344个用户与电影交互和145 068个家庭组与电影交互。

3.2 评价指标

为了评价推荐模型的性能,本文采用了HR、归一化折损积累增益(Normalized Discounted Cumulative Gain,NDCG)作为评价指标。在推荐列表中,靠近前面的推荐项目应该是最重要的,靠近后面的项目是次要的,推荐列表的每一项除以一个递增的数,得到折损值,然后计算出整个推荐列表的折损积累总值。将算法得到的DCG除以理想状况下推荐列表的折损积累总值(IDCG),这个值越大说明推荐结果越接近理想推荐列表,最重要的推荐结果排在推荐列表的前面,则归一化折损积累表示为:

(11)

(12)

推荐命中率(Hit Ratio)表述为HR,按TOP_N推荐列表中的项目占总体测试集的比例计算。命中率越高说明推荐结果越好,更符合用户的需求,则推荐命中率表示为:

(13)

3.3 对比实验方法

本文共选择了7种对比实验来衡量算法的有效性,其中NCF为个性化推荐算法,而在为群组推荐时使用均值策略、最小痛苦策略、最大满意度策略、专家策略作为合成算法。此外,为了与最新的算法进行对比,本文采用了Yuan等[3]提出的生成建模的概率方法COM,以及文献[13]提出的根据项目的受欢迎程度向用户和群组推荐算法Popularity。为了衡量注意力模型的重要性,本文做了ANBGR的变体实验,引入群组成员均值权重NBGR算法。综上,本文使用的对比方法为以NCF为基础的群组推荐算法NCF_avg、NCF_lm、NCF_ms、NCF_exp,以及最新算法COM[3]、Popularity[13]和NBGR算法。

3.4 实验结果分析

3.4.1 推荐个数分析

在推荐个数为5和10的条件下,图4和图5分别展示了本文算法与对比算法的推荐命中率和归一化折损积累增益情况。

图4 不同算法的推荐命中率

图5 不同算法的归一化折损增益

可以看出,本文推荐算法表现结果均优于对比实验算法。在推荐个数为5的条件下,本文提出算法在推荐命中率上比NCF_avg算法提升4.9%,在归一化折损积累增益上比NCF_avg提升3.9%,在推荐个数为10的条件下,本文提出算法在推荐命中率上比NCF_avg算法提升3.6%,在归一化折损积累增益上比NCF_avg提升3.8%。这表明了本文推荐算法使用注意力模型的有效性。其次NCF为基础的群组推荐算法NCF_avg、NCF_lm、NCF_ms、NCF_exp比Popularity算法有更好的结果,说明神经网络模型的优越性,能够获取到群组的高维特征,有更强的泛化能力。

3.4.2 计算性能分析

为了验证注意力权重模型相对均值权重模型的有效性,在最优参数设置条件下,图6和图7分别展示了算法ANBGR和NBGR的迭代性能情况。可以看出,在推荐个数为5的条件下,由于注意力模型的参数需要一个学习的过程,所以,在前5次迭代过程中,NBGR模型推荐结果略高于ANBGR,但迭代30次时,ANBGR算法在推荐命中率上比NBGR提升3.5%,在归一化折损积累上比NBGR提升4.3%;在推荐个数为10的条件下,ANBGR算法在推荐命中率上比NBGR提升3.9%,在归一化折损积累上比NBGR提升4.0%。这验证了注意力模型能够提高推荐结果。

图6 ANBGR与NBGR在TOP5的迭代HR

图7 ANBGR与NBGR在TOP5的迭代NDCG

4 结 语

本文将贝叶斯个性化排序算法引入群组推荐中,成对的优化群组对于积极项目和消极项目间的差异,避免了矩阵稀疏的影响;基于注意力模型提出用户偏好聚合和用户偏好交互的两种策略来融合群组的特征,既保留了群组多用户的相似特征,又增强了群组的泛化能力;隐藏层使用多层感知机网络结构学习群组的非线性高阶关系。实验结果表明,本文算法相对于对比算法,有较好的推荐结果。

本文算法并未考虑到用户、项目的固有属性特征信息,下一步的研究工作包括:用户、项目属性的多样化、个性化,考虑引入语义分析;用户、项目属性具有不同的重要性,考虑引入注意力机制突出重要的属性特征,提高推荐算法的推荐准确率。

猜你喜欢
贝叶斯群组组员
群组推荐系统:现状与展望
当组长真不容易
回忆流金岁月
小组落幕
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述
贝叶斯公式的应用和推广
还是不错的