掌桥专利:专业的专利平台
掌桥专利
首页

一种推荐系统流行度去偏方法和系统、存储介质

文献发布时间:2024-01-17 01:26:37


一种推荐系统流行度去偏方法和系统、存储介质

技术领域

本发明涉及推荐系统,尤其是一种推荐系统流行度去偏方法和系统、存储介质。

背景技术

推荐系统是一种信息过滤系统,用于预测用户对商品的评分或偏好,例如根据用户和商品间的交互记录,学习用户与哪些商品有过交互,从而预测这些用户还会与其他哪些商品交互。协同过滤是推荐系统生成推荐列表的一类基础和最常用的方式,他们根据用户历史行为结合其他用户的相似决策建立模型来预测用户对哪些商品可能感兴趣。

近年来基于协同过滤的推荐系统已被广泛应用于线上购物,社交网络等诸多线上服务场景并取得了较高的推荐准确率。随着推荐系统在生活中的广泛应用,其在推荐公平性和无偏性问题正在获得越来越多的关注,其中一个重要的问题是推荐的流行度偏差。流行度偏差指的是:原本流行的商品会获得过度推荐,而不流行的小众商品几乎不会被推荐。有研究表明,对于用户同样喜欢的两件商品,传统基于协同过滤的推荐系统会对更流行的商品打出更高的预测分数,因此更有可能对其做出推荐。这种流行度偏差会导致马太效应的加剧,即更少的商品占有了绝大多数的推荐资源,这会损害整个推荐系统环境的长期可持续发展。在推荐系统流行度偏差问题中,明确流行度偏差的评估指标是一个重要的前置性问题,针对流行度偏差不合理的评估指标不仅会导致推荐系统流行度偏差评估的不准确,也会对去偏的目标造成错误的引导,可能会导致去偏优化无法达到好的去偏效果,或者与推荐系统的准确性有很大的冲突。

很多研究致力于去除流行度偏差,现有的推荐系统流行度偏差的评估指标主要包含针对推荐数量和推荐质量的评估指标等:

其中,针对推荐数量的流行度偏差评估指标关注流行商品和非流行商品被推荐的给的用户数量是否符合无偏的条件。根据无偏条件的不同,又会衍生出不同的流行度偏差指标。无偏条件一般可以分为:均等,即要求商品被推荐的数量相等;等比,即要求商品被推荐的数量应当与该商品本身的流行度成正比。针对推荐数量的流行度偏差评估指标仅关注了商品所获得的推荐量,往往会导致非流行商品获得过多低质量的推荐从而使得推荐结果依然对不同流行度的商品不公平。

其中,针对推荐质量的流行度偏差评估指标关注的是流行商品和非流行商品获得的推荐质量是否相同。最常用的针对推荐质量的流行度偏差评估指标是流行商品与非流行商品推荐召回率是否相同。以此为目标的去偏通过减小不同流行度商品推荐质量的差距,可以一定程度上减少非流行商品的低质量推荐,但可能会导致对非流行商品的总体推荐数量减少。

其他的流行度偏差评估指标有:推荐排序公平的流行度去偏评估,希望商品流行度与商品所获得的偏好分数在所有商品中的位次的互信息尽可能小;用户角度的流行度去偏评估,希望每个用户获得的推荐列表中流行商品与非流行商品所占比例能够符合无偏条件。两者都是从更细粒度的角度约束商品推荐结果的流行度偏差,但是他们的要求过于严格,可能会导致对推荐性能的较大损害。

根据不同的流行度偏差评估指标,现有研究通常以正则化、对抗训练、因果干预等方法去除推荐系统中的流行度偏差,但是由于优化目标的问题往往导致去偏结果不佳,或对推荐准确性的损害较大,并且也难以合理地量化评估去偏的程度以及推荐结果中残余的偏差多少。此外还有一部分去偏方法并没有明确提出流行度去偏的评估指标,这类方法往往只希望非流行的商品推荐量提升,但并不规定非流行商品在无偏的状态下应当获得多少推荐,因此他们的去偏结果更加难以评估,甚至会引入更多的偏差。

现有研究虽然给出了一些对流行度偏差的评估指标和去偏优化方法,但是仍存在一些明显的不足,包括:

现有的流行度偏差评估指标大多只关注了不同流行度的商品推荐的数量或质量的其中一个方面,这会导致对应的量化指标无法完整地刻画推荐结果中的流行度偏差,对应的去偏优化方法也只能去除推荐数量或质量一方面中的偏差,从而导致推荐结果仍然有偏;

现有的主流流行度偏差评估指标将推荐量均等作为无偏的条件,这忽略了商品本身的质量不一等固有区别,而强行要求所有商品的推荐量一致,这种要求会导致去偏方法对非流行商品过度推荐,而占用过多推荐资源,影响推荐质量;

现有的主流评估指标将流行度偏差定义在群体粒度上,即需要将商品划分为流行与不流行的组别,再度量不同组之间推荐结果分布的差异,这样的群体指标依赖人为划分指定哪些商品为流行商品或非流行商品,使得同一组推荐结果面对不同的商品划分时可能会出现不同的流行度偏差值,去偏优化的结果也会随商品分组的不同产生较大的变化而不稳定;

现有的评估指标大多与推荐系统的推荐准确性目标有较大的冲突。这种冲突会导致推荐系统的去偏不得不以降低推荐准确性为代价,这是难以接受的。

本发明在进行推荐系统流行度偏差研究时,发现现有的流行度偏差评估指标无法完整刻画商品推荐结果的流行度偏差。同时,这些评估指标往往不能刻画商品本身固有性质,依赖于对数据的人工划分,而且对应的优化目标会使得去偏后的推荐系统造成很大的推荐性能损失。

发明内容

针对现有技术的不足,本发明提供一种推荐系统流行度去偏方法,包括以下步骤:

数据集处理步骤,对商品i的交互记录进行随机采样划分,得到所述的训练集

推荐模型预训练步骤,使用该训练集

推荐模型去偏训练步骤,对预训练完成的推荐模型,使用下式去偏损失函数L

L

其中L

其中,M指商品的总数,I指所有商品构成的集合,I集合的大小是m,

当模型在验证集上的推荐结果的NDCG指标稳定时,保存当前推荐模型作为最终模型;

推荐步骤,对于系统中的任意用户,模型预测该用户对系统中全部商品的偏好分数,并在该用户未交互过的商品中选择预测的偏好分数最高的若干个商品,作为给该用户的推荐结果。

上述的推荐系统训练常用的损失函数包括:

贝叶斯个性化排序损失函数BPR loss:由下式表示,

或二元交叉熵损失函数BCE loss:由下式表示,

或均方误差损失函数MSE loss:

其中y

其中,对于参数为Θ的推荐模型的推荐结果

其中

上述的推荐系统流行度去偏方法,还包括:

将推荐模型流行度无偏状态下的推荐结果满足下式:

式中i,j为推荐系统中任意商品i,j,商品获得的有效推荐数量与其潜在用户数量成正比;

上述的推荐系统流行度去偏方法,更包括:

借助观测数据中用户与商品i的交互记录估计商品i的有效推荐数量

因此可以使用

对于两个商品i和j,当r

本发明还提出一种推荐系统流行度去偏系统,包括以下模块:

数据集处理模块,对商品i的交互记录进行随机采样划分,得到所述的训练集

推荐模型预训练模块,使用该训练集

推荐模型去偏训练模块,对预训练完成的推荐模型,使用下式去偏损失函数L

L

其中L

其中,M指商品的总数,I指所有商品构成的集合,I集合的大小是M,

当模型在验证集上的推荐结果的NDCG指标稳定时,保存当前推荐模型作为最终模型;

推荐模块,对于系统中的任意用户,模型预测该用户对系统中全部商品的偏好分数,并在该用户未交互过的商品中选择预测的偏好分数最高的若干个商品,作为给该用户的推荐结果。

其中,上述的推荐系统训练常用的损失函数包括:

贝叶斯个性化排序损失函数BPR loss:由下式表示,

或二元交叉熵损失函数BCE loss:由下式表示,

或均方误差损失函数MSE loss:

其中y

其中,对于参数为Θ的推荐模型的推荐结果

其中

上述的推荐系统流行度去偏系统,还包括:

将推荐模型流行度无偏状态下的推荐结果满足下式:

式中i,j为推荐系统中任意商品i,j,商品获得的有效推荐数量与其潜在用户数量成正比;

上述的推荐系统流行度去偏系统,更包括:

借助观测数据中用户与商品i的交互记录估计商品i的有效推荐数量

因此可以使用

对于两个商品i和j,当r

由以上方案可知,本发明的优点在于:

本发明所述方法关注商品所获得的有效推荐数量,并通过估计商品潜在用户的数量要求有效推荐数量与潜在用户数成正比刻画了其固有性质的差异。由于所述方法的评价与去偏操作不需要对商品进行分组,因此也解决了依赖人为划分组别带来的问题。此外,本发明所述方法能够在保证推荐准确性的前提下有较好的去偏效果。

附图说明

图1为本发明以MF为基础模型时λ

图2为本发明以LightGCN为基础模型时λ

图3为本发明一实施例的推荐系统流行度去偏方法的执行流程。

具体实施方式

本发明为了实现上述技术方案,主要包括下述技术效果:

关键点1,本发明提出了推荐系统在没有流行度偏差时的推荐结果形式的定义,即商品获得的有效推荐的数量应当与其潜在用户的个数成正比。该定义的约束对象是商品的有效推荐数量,而有效推荐数量能够更好的代表商品在推荐系统中所获得的收益,因此约束有效推荐数量的合理分配能够避免对商品的盲目过多或过少推荐;同时由于该无偏定义是对商品个体层面的约束,不需要人为划分流行与非流行商品;且该定义在约束推荐偏差的同时也考虑到了商品之间如质量等的固有差异,并可以与推荐质量的目标很好地兼容。具体来说,我们可以将推荐系统在流行度无偏状态下的推荐结果形式化为式:对推荐系统中的任意商品i,j

其中,

该定义约束有效推荐数量与潜在用户数量成正比有三方面的效果:

(1)该定义的关注点从商品的推荐数量转变为商品的有效推荐数量,因为商品获得推荐并不意味着商品可以从这个推荐中获得收益,相反,商品被推荐给不喜欢该商品的用户并不会使得该商品在推荐系统中获得更多的交互。因此有效推荐可以更好地代表商品在推荐系统中所获得的真正收益,要求不同流行度的商品有效推荐数量的合理分配能够更好地达成去偏的目标。

(2)该定义要求商品的有效推荐数量与商品的潜在用户数量成正比,而不是要求所有商品的有效推荐数量一致,这考虑到了商品本身固有特性,比如商品本身的质量越高,那么它的潜在用户数量往往也会越多。商品的潜在用户数量能够代表商品在推荐资源充足时再推荐系统中应得的收益。因此商品的获得的有效推荐数量应当正比于商品的潜在用户数量。

(3)该定义的要求是对每个个体商品的要求,这避免了现有技术中常用的人为划分流行与非流行商品组别,从而不会因为不合理的划分导致不合理的优化目标出现。

关键点2,本发明提出了推荐系统流行度偏差的评估指标;该评估指标给出了度量流行度偏差大小的量化指标有效推荐分配偏移(Allocation Deviation of Effectiverecommendation,ADE),借助观测数据中用户与商品的交互记录估计商品的有效推荐数量和潜在用户数量的比值,并在全体商品范围计算该比值的相对标准差作为评估指标ADE。

具体来说,本发明借助观测数据中用户与商品i的交互记录估计商品i的有效推荐数量

因此我们可以使用

对于两个商品i和j,当r

关键点3,本发明提出针对有效推荐数量等比分配目标的优化方法;技术效果:通过正则化损失函数针对有效推荐数量等比分配的去偏优化目标进行优化,在不损害推荐系统的推荐效果的基础上减小推荐系统带来的流行度偏差,并可以通过调整系数的方式调整去偏效果;同时作为一个通用的优化框架,可以应用于MF、LightGCN等主流的协同过滤推荐系统中。

具体来说,对于参数为Θ的模型的推荐结果,有

其中

所以模型最终的去偏损失函数形式为:

L

其中L

为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下:

图3为本发明一实施例的推荐系统流行度去偏方法执行流程。如图所示实施例,包括以下步骤:数据集处理步骤;推荐模型预训练步骤;推荐模型去偏训练步骤;推荐步骤。

在本实施例中,上述之数据集处理包括:本发明使用

具体来说,记商品i在全体观测数据、训练集、验证集和测试集上有交互的用户集合分别为

在本实施例中,上述推荐模型预训练使用贝叶斯个性化排序损失函数BPR loss:由下式表示,

其中Θ是推荐系统的模型参数,‖Θ‖

当模型在验证集上推荐结果的NDCG指标稳定时,意味着已经得到了一个预训练完成的推荐模型。

在本实施例中,上述步骤推荐模型去偏训练包括:使用去偏损失函数对预训练得到的推荐模型进行去偏训练,其中偏损失函数有下式表示:

L

其中L

当模型在验证集上的推荐结果的NDCG指标稳定不变时,意味着已经得到了一个去偏训练完成的推荐模型。

在本实施例中,上述去偏正则项是针对有效推荐数量等比分配写出,对于参数为Θ的模型的推荐结果,有

其中

在本实施例中,上述推荐步骤包括:对完成去偏训练的模型在上述的测试集上的推荐结果计算ADE指标,由下式表示

其中

在本实施例中,使用协同过滤场景下的四个常用公开数据集(MovieLens-1M、Gowalla、Yelp、Amazon book)来验证去偏的效果。本发明的去偏及优化方法框架分别实现了以协同过滤的经典模型MF作为基础模型的版本AEP_MF和以先进协同过滤模型LightGCN作为基础模型的版本AEP_LGCN。在基线方法的选择上,除了基础的MF和LightGCN外,本发明还选用以下方法作为对照包括:使用逆倾向分数加权去偏的方法IPW;正则化约束流行度与商品推荐排序的方法PO;通过因果干预的方式去偏的方法MACR以及基于对抗训练的去偏方法DPR。对于上述基线方法,本发明同样对比了他们基于MF和LightGCN的两套实现方式。

为了对比不同方法的推荐准确性和去偏效果,本发明选择推荐系统常用指标NDCG@20作为推荐准确性的指标,NDCG越大代表推荐准确性越好。实验结果如表1。

表1本发明推荐效果与基线方法的对比

表1展示了本发明的推荐效果与基线方法的对比结果。在所有的实验设置下,本发明的方法都达到了最优的推荐去偏效果。与此同时,本发明的方法相比基线方法也有着更高的推荐准确性。并且本发明的方法是左右对比方法中唯一同时做到提升推荐准确性与降低推荐流行度偏差的方法。

图1和图2分别展示了在以MF和LightGCN为基础模型时去偏正则项权重系数λ

以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。

本发明还提出了一种推荐系统流行度去偏系统,包括以下模块:

数据集处理模块,对商品i的交互记录进行随机采样划分,得到所述的训练集

推荐模型预训练模块,使用该训练集

推荐模型去偏训练模块,对预训练完成的推荐模型,使用下式去偏损失函数L

L

其中L

其中,M指商品的总数,I指所有商品构成的集合,I集合的大小是M;

当模型在验证集上的推荐结果的NDCG指标稳定时,保存当前推荐模型作为最终模型;

推荐模块,对于系统中的任意用户,模型预测该用户对系统中全部商品的偏好分数,并在该用户未交互过的商品中选择预测的偏好分数最高的若干个商品,作为给该用户的推荐结果。

其中,上述的推荐系统训练常用的损失函数包括:

贝叶斯个性化排序损失函数BPR loss:由下式表示L

或二元交叉熵损失函数BCE loss:由下式表示,

或均方误差损失函数MSE loss:

其中y

其中,对于参数为Θ的推荐模型的推荐结果

其中

上述的推荐系统流行度去偏系统,还包括:

将推荐模型流行度无偏状态下的推荐结果满足下式:

式中i,j为推荐系统中任意商品i,j,商品获得的有效推荐数量与其潜在用户数量成正比;

上述的推荐系统流行度去偏系统,更包括:

借助观测数据中用户与商品i的交互记录估计商品i的有效推荐数量

因此可以使用

对于两个商品i和j,当r

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护的内。

技术分类

06120116213099