一种降低电影推荐系统中马太效应的方法与流程

文档序号:17000622发布日期:2019-03-02 01:46阅读:932来源:国知局
一种降低电影推荐系统中马太效应的方法与流程

本发明涉及电影推荐系统领域,具体涉及一种降低电影推荐系统中马太效应的方法。



背景技术:

推荐系统是一种帮助用户快速发现有用信息的工具,主要表现为通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。电影推荐系统是推荐系统领域重要的组成部分之一,其通过收集用户和电影的相关信息,帮助用户在庞大的电影库中快速找到令他们感兴趣的电影,一个好的推荐系统不仅需要有较高的推荐准确度、推荐覆盖率在抗冷启动能力和克服矩阵稀疏能力上也要有较好的表现。

马太效应,即所谓强者更强,弱者更弱的效应,如果是一个推荐系统会增加热门物品和非热门物品的流行度差距,让流行度呈两极分化趋势发展,导致用户难以发现自己真正感兴趣的物品,降低推荐系统的覆盖率和准确度,这样对推荐系统会造成非常消极的影响。目前的主流推荐算法均具有马太效应。

因此,如何降低电影推荐系统的马太效应成为了本领域技术人员亟需解决的问题。



技术实现要素:

针对现有技术中存在的上述不足,本发明实际要解决的问题是:如何降低电影推荐系统的马太效应。。

为解决上述技术问题,本发明采用了如下的技术方案:

一种降低电影推荐系统中马太效应的方法,包括如下步骤:

s1、获取电影评分矩阵与电影流行度集合,电影评分矩阵包括各用户对各电影的评分,所述电影流行度集合包括各部电影的流行度;

s2、基于电影评分矩阵及电影流行度集合获取受马太效应影响的电影,建立马太效应影响电影集合;

s3、计算马太效应影响电影集合中各电影的流行周期函数及标准流行周期函数;

s4、基于马太效应影响电影集合中各电影的流行周期函数及标准流行周期函数,计算马太效应影响电影集合中各电影的残差平方和,并建立残差集合;

s5、基于所述残差集合,对马太效应影响电影集合中各电影的平均评分进行惩罚,得到马太效应影响电影集合中各电影的新的平均评分,从而降低电影推荐系统中马太效应。

优选地,s2包括如下步骤:

s201、基于公式计算每部电影的评分的马太效应影响因子,δi为第i部电影的马太效应影响因子,rui为第u个用户对第i部电影的非零评分,u表示非零评分集合,card(rui)表示非零评分的个数,pi表示第i部电影的流行度;

s202、将马太效应影响因子在(0,1)之间的电影加入马太效应影响电影集合。

优选地,s3包括如下步骤:

s301、将马太效应影响电影集合中的各电影与其对应的流行度相拟合,得到各电影的流行周期函数;

s302、基于艾宾浩斯曲线函数及马太效应影响电影集合中的各电影对应的流行度进行回归分析得到各电影的标准流行周期函数。

优选地,s4包括如下步骤:

s401、基于公式计算马太效应影响电影集合中各电影的残差平方和,ssei为马太效应影响电影集合中第j部电影的残差平方和,fj(t)为第j部电影的流行周期函数,fj'(t)为第j部电影的标准流行周期函数,t表示第t个时间节点,fj(t)和fj'(t)是t的函数,n为时间节点的长度;

s402、基于马太效应影响电影集合中各电影的残差平方和建立残差集合s,s={sse1,sse2,sse3,…,ssej,…ssen}。

优选地,s5包括如下步骤:

s501、基于公式计算马太效应影响电影集合中各电影的平均评分,为马太效应影响电影集合中第j部电影的平均评分,k为对第j部电影进行评分的用户总数,rkj为第k个用户对第j部电影的评分,m为第j部电影的非零评分的总个数;

s502、对残差集合中各残差平方和进行归一化处理得到惩罚因子集合s',s'={sse1',sse2',sse3',…,ssej',…ssen'},ssej'为ssej对应的惩罚因子;

s503、基于公式计算马太效应影响电影集合中各电影的新的评分,λ为惩罚参数,0<λ≤1,rj'为马太效应影响电影集合中第j部电影的新的评分。

综上所述,本发明公开了一种降低电影推荐系统中马太效应的方法,包括如下步骤:获取电影评分矩阵与电影流行度集合,电影评分矩阵包括各用户对各电影的评分,所述电影流行度集合包括各部电影的流行度;基于电影评分矩阵及电影流行度集合获取受马太效应影响的电影,建立马太效应影响电影集合;计算马太效应影响电影集合中各电影的流行周期函数及标准流行周期函数;基于马太效应影响电影集合中各电影的流行周期函数及标准流行周期函数,计算马太效应影响电影集合中各电影的残差平方和,并建立残差集合;基于所述残差集合,对马太效应影响电影集合中各电影的平均评分进行惩罚,得到马太效应影响电影集合中各电影的新的平均评分,从而降低电影推荐系统中马太效应。采用本发明公开的方法,可以降低电影推荐系统中的马太效应,防止热门电影长期拥有过高的流行度,冷门物品无人问津的局面出现。

附图说明

图1为本发明公开的一种降低电影推荐系统中马太效应的方法的流程图;

图2为本发明中为拟合后的艾宾浩斯曲线的示意图。

具体实施方式

下面结合附图对本发明作进一步的详细说明。

如图1所示,本发明公开了一种降低电影推荐系统中马太效应的方法,包括如下步骤:

s1、获取电影评分矩阵与电影流行度集合,电影评分矩阵包括各用户对各电影的评分,所述电影流行度集合包括各部电影的流行度;

s2、基于电影评分矩阵及电影流行度集合获取受马太效应影响的电影,建立马太效应影响电影集合;

s3、计算马太效应影响电影集合中各电影的流行周期函数及标准流行周期函数;

s4、基于马太效应影响电影集合中各电影的流行周期函数及标准流行周期函数,计算马太效应影响电影集合中各电影的残差平方和,并建立残差集合;

s5、基于所述残差集合,对马太效应影响电影集合中各电影的平均评分进行惩罚,得到马太效应影响电影集合中各电影的新的平均评分,从而降低电影推荐系统中马太效应。

本发明针对现有技术的不足提出一种降低电影推荐系统中马太效应的方法,通过对手马太效应影响的电影的评分进行惩罚,得到这些电影新的评分的方式,提高电影推荐系统的覆盖率和准确度,防止热门电影长期拥有过高的流行度,冷门物品无人问津的局面出现。

具体实施时,s2包括如下步骤:

s201、基于公式计算每部电影的评分的马太效应影响因子,δi为第i部电影的马太效应影响因子,rui为第u个用户对第i部电影的非零评分,u表示非零评分集合,card(rui)表示非零评分的个数,pi表示第i部电影的流行度;

s202、将马太效应影响因子在(0,1)之间的电影加入马太效应影响电影集合。

本发明充分分析影响电影推荐系统马太效应的几个条件:电影流行度、电影评分、流行时间,通过电影流行度和电影评分得到的马太影响因子可以有效衡量电影对电影推荐系统的马太效应影响大小。

马太效应受电影流行度的影响较为严重,其次评分也是影响因素之一,首先,在大多数情况下人们总是更加信任大多数人所推荐的电影,其次一些商家通过广告宣传、炒作等手段增加低分电影的曝光率也能使用户对该电影产生购买行为。鉴于以上分析,本发明将所有电影分为三类:①评分较低且流行度较高的电影;②评分较高且流行度较高的电影;③流行度较低的电影。其中①和②是使系统具有马太效应的主要因素,本发明引入马太效应影响因子来衡量影响系统马太效应因素的大小。

传统推荐算法中没有考虑电影流行度对用户评分带来的客观影响,该公式的引入可以计算出这种影响力的大小,且较好的描述了前文所述的三种情况。当马太效应影响因子的取值范围为(0,1),说明该电影属于①或②类情况,此时电影的流行度较高并对推荐系统造成消极影响;当马太效应影响因子大于等于1时,说明该电影流行度过低,不会影响用户对其他电影的评分,因此在使用该公式对评分进行修正时,仅将①和②类电影加以惩罚,但不改变③类电影。因此将①和②类电影加入马太效应影响电影集合。

具体实施时,s3包括如下步骤:

s301、将马太效应影响电影集合中的各电影与其对应的流行度相拟合,得到各电影的流行周期函数;

s302、基于艾宾浩斯曲线函数及马太效应影响电影集合中的各电影对应的流行度进行回归分析得到各电影的标准流行周期函数。

经实验论证,热门电影流行时间对系统的马太效应影响同样很大,为了探索电影流行度随时间变化的趋势,本发明引入艾宾浩斯记忆曲线以表示一个电影项目上线之后随着时间推移流行度的变化程度,如图2所示为拟合后的艾宾浩斯曲线。图2中,竖轴为记忆量,即y=lt-0.125中的y,为百分比,横轴为时间节点,即y=lt-0.125中的t,单位可为天。在本发明中,由于马太效应影响电影集合中的电影初始热度存在差异,将函数中的常数项设为l。本发明中艾宾浩斯曲线函数为y=lt-0.125。电影与其对应的流行度相拟合,各电影对应的流行度进行回归分析均为现有成熟技术。

具体实施时,s4包括如下步骤:

s401、基于公式计算马太效应影响电影集合中各电影的残差平方和,ssei为马太效应影响电影集合中第j部电影的残差平方和,fj(t)为第j部电影的流行周期函数,fj'(t)为第j部电影的标准流行周期函数,t表示第t个时间节点,fj(t)和fj'(t)是t的函数,n为时间节点的长度;

s402、基于马太效应影响电影集合中各电影的残差平方和建立残差集合s,s={sse1,sse2,sse3,…,ssej,…ssen}。

为了计算实际数据与预测的流行度分布模型之间的差异,本发明选择sse(残差平方和)来表示电影的实际流行度分布与正常流行度分布之间的误差。

残差集合中,每个残差平方的值越小,代表数据点拟合程度越高,该电影对整个电影推荐系统马太效应带来的影响就越小,反之则说明其拟合程度差,存在不明因素使得该电影的流行度分布异常。

具体实施时,s5包括如下步骤:

s501、基于公式计算马太效应影响电影集合中各电影的平均评分,为马太效应影响电影集合中第j部电影的平均评分,k为对第j部电影进行评分的用户总数,rkj为第k个用户对第j部电影的评分,m为第j部电影的非零评分的总个数;

s502、对残差集合中各残差平方和进行归一化处理得到惩罚因子集合s',s'={sse1',sse2',sse3',…,ssej',…ssen'},ssej'为ssej对应的惩罚因子;

s503、基于公式计算马太效应影响电影集合中各电影的新的评分,λ为惩罚参数,0<λ≤1,rj'为马太效应影响电影集合中第j部电影的新的评分。

经过以上步骤可以发掘出在整个电影推荐系统中是哪些电影影响了系统的马太效应,而降低这种负面效应最直接的方法就是对该电影评分进行惩罚。

综上所述,本发明解决了以下技术问题:

(1)如何衡量电影对电影推荐系统的马太效应影响大小的问题

本发明充分分析影响电影推荐系统马太效应的几个条件:电影流行度、电影评分、电影流行时间,通过电影流行度和电影评分得到的马太影响因子可以有效衡量电影对电影推荐系统的马太效应影响大小。

(2)判断电影的流行度分布是否正常的问题

本发明通过艾宾浩斯遗忘曲线拟合数据得到的标准电影流行周期与特定的电影流行周期得到残差平方和,用于表示实际流行度分布于正常流行度分布的差异,筛选出流行度异常的电影。

(3)对推荐系统马太效应有消极影响的电影进行惩罚

本发明对流行度分布异常的电影的残差平方和进行标准化,通过该数值对该电影的预测评分进行算数运算,从而降低整个推荐系统的马太效应。

综上所述,本发明具有以下技术效果:

(1)以数值的形式表示出电影对电影推荐系统产生马太效应的影响;

(2)检测出由于过度广告、炒作与传播导致的部分热门电影中流行度分布不合理的电影;

(3)本发明引入的数学模型较好的描述了电影的流行度随时间变化的曲线;

(4)给出具体的解决办法,即通过惩罚电影评分减少其热度,还原了一个电影在无过度干预下的正常评分。

上述仅是本发明优选的实施方式,需指出是,对于本领域技术人员在不脱离本技术方案的前提下,还可以作出若干变形和改进,上述变形和改进的技术方案应同样视为落入本申请要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1