一种用于新项目冷启动的推荐方法与流程

文档序号:11950584阅读:277来源:国知局
一种用于新项目冷启动的推荐方法与流程
本发明涉及传媒领域,具体说涉及一种用于新项目冷启动的推荐方法。
背景技术
:随着生产力发展,现有的项目数量不断增加。面对众多的项目,由于用户没有足够的精力时间掌握所有项目的情况,因此导致明明存在适合用户需求的项目,但用户并不知道其存在。针对上述问题,通常采用的解决办法是使用推荐系统,向用户主动推荐符合用户需求的项目,从而避免用户错过合适的项目。应用最为广泛的推荐算法是基于物品的协同过滤推荐算法。其基本思想是,同时被很多人喜欢的两件东西之间具有一定的相似性。通过用户对项目的偏好(例如评分信息),找出项目的相似集。利用用户已有的偏好信息和项目的相似集信息,对用户进行项目推荐。但是,当一个全新的项目加入推荐系统,由于其缺乏用户偏好(评分),新的项目无法进入相似度计算环节,无法将其推荐给目标用户(无法冷启动)。因此,针对上述问题,需要一种推荐新项目的方法。技术实现要素:为了对新项目进行推荐,本发明提供了一种用于新项目冷启动的推荐方法,所述方法包括:计算项目间的相似度以获取与新项目相似的现有项目;结合用户的偏好历史记录,根据与新项目相似的现有项目预测每个用户对新项目的偏好程度;根据对新项目偏好程度的预测值对所有用户进行筛选,向筛选出的用户推荐所述新项目。在一实施例中,计算新项目与现有项目的相似度,其中,对项目进行因素分解以获取多个不同项目因素,分别针对多个项目因素计算不同项目间的项目因素相似度,综合多个项目因素相似度计算结果计算获取不同项目间的相似度。在一实施例中,计算不同项目间的项目因素相似度,其中,计算用户对项目因素的喜好度,根据用户对项目因素的喜好度计算项目因素相似度。在一实施例中,计算用户对项目因素的喜好度,其中,根据用户对项目的评分矩阵,结合各个项目的项目因素标签,通过加权平均的方式计算获取用户对项目因素的偏好矩阵。在一实施例中,根据用户对项目因素的偏好矩阵,利用相似性计算公式直接计算项目因素相似度。在一实施例中,针对稀疏的评分矩阵,采用矩阵分解方法计算项目因素相似度,其中:将项目-项目因素评分矩阵转化为项目-潜在因素矩阵和潜在因素-项目因素矩阵;根据潜在因素-项目因素矩阵,利用每个项目因素的潜在因素向量进行项目因素相似度的计算。在一实施例中,对项目进行因素分解以获取多个不同项目因素,其中,所述用户对所述项目的偏好可以映射为所述用户对多个所述项目因素的偏好。在一实施例中,当所述项目为电影时,所述项目因素为导演以及演员。在一实施例中,根据与所述新项目相似度非零的所有现有项目的集合以及用户评价过的现有项目中所有评分超过其评分均值的项目集合计算用户对所述新项目的偏好程度。在一实施例中,根据对新项目偏好程度的预测值对所有用户进行筛选,其中:根据推荐需求确定推荐数目;基于对新项目偏好程度的预测值对所有用户进行预测值由高到低的筛选,筛选出达到所述推荐数目的用户。根据本发明的方法,可以将新项目推荐给最有可能采纳新项目的用户,不仅有效避免用户错过适合自己的新项目,而且降低了项目推荐的盲目性,提高了推荐效率。本发明的其它特征或优点将在随后的说明书中阐述。并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:图1和图2分别是根据本发明两个不同实施例的方法流程图。具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。随着生产力发展,现有的项目数量不断增加。面对众多的项目,由于用户没有足够的精力时间掌握所有项目的情况,因此导致明明存在适合用户需求的项目,但用户并不知道其存在。以传媒领域为例,通常是采用罗列的方式将所有电影的概述展现给用户,由用户从决定具体观看哪一个电影。然而,随着电影的数量不断提高,用户没有足够的时间精力浏览所有电影的概述。这就导致用户在尚未浏览所有的电影的概述之前就选择了具体观看的电影。这最终导致用户错过高质量、适合用户喜好的电影。针对上述问题,通常采用的解决办法是使用推荐系统,向用户主动推荐符合用户需求的项目,从而避免用户错过合适的项目。应用最为广泛的推荐算法是基于物品的协同过滤推荐算法。其基本思想是,同时被很多人喜欢的两件东西(例如电影)之间具有一定的相似性。通过用户对项目的偏好(例如评分信息),找出项目的相似集。利用用户已有的偏好信息和项目的相似集信息,对用户进行项目推荐。但是,当一个全新的项目加入推荐系统,由于其缺乏用户偏好(评分),新的项目无法进入相似度计算环节,无法将其推荐给目标用户(无法冷启动)。针对上述问题,本发明提出了一种用于新项目冷启动的推荐方法。在本发明的方法中,首先预测每个用户对新项目的偏好程度(量化计算新项目和用户需求之间的匹配程度)。根据预测结果(匹配度计算结果)向偏好程度达到推荐阈值(匹配程度达到推荐阈值)的用户推荐新项目。即根据对新项目偏好程度的预测值(匹配程度的预测值)对所有用户进行筛选,向筛选出的用户推荐所述新项目。在本发明中,针对新项目,考虑到新项目不存在具体的使用评价等可以用于预测用户对新项目的偏好程度的参数。因此在本发明中,首先计算项目间的相似度以获取与新项目相似的现有项目,然后结合用户的偏好历史记录(即对现有项目的偏好程度),根据与新项目相似的现有项目预测每个用户对新项目的偏好程度。根据本发明的方法,可以将新项目推荐给最有可能采纳新项目的用户(对新项目的预测偏好程度最高的用户或是与用户需求匹配度最高的用户),不仅有效避免用户错过适合自己的新项目,而且降低了项目推荐的盲目性,提高了推荐效率。进一步的,由于是基于与新项目相似的现有项目预测用户的偏好程度,因此针对具有特定受众群的新项目也能进行高效的推荐。接下来基于附图描述根据本发明具体实施例的方法的执行过程,附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图1所示,在本发明一实施例中,首先获取新项目的相似项目(步骤S110),然后根据新项目的相似项目预测用户对新项目的偏好程度(步骤S120),接着基于用户对新项目的偏好程度的预测值对用户进行筛选,筛选推荐目标(步骤S130),最后向筛选出的推荐目标推荐新项目(步骤S140).在上述步骤中,关键点之一是步骤S110,获取新项目的相似项目,即计算新项目与现有项目的相似度(相似度达到阈值的视为相似项目)。在现有技术中,在计算项目间的相似度时,通常采用的方法是基于标签的相似度算法,主要是基于文档词频的TF-IDF和JACCARD相关系数。以视频推荐为例,考虑到视频标签的有限性,视频推荐系统中最常用的为JACCARD相关系数。JACCARD相关系数计算时,仅考虑标签是否出现,忽略了标签之间存在的相似性和相关性。尤其针对视频推荐系统来说,由于电影标签主要由电影流派、导演、演员等组成。针对每个导演和演员来说,所能够参与的电影有限。仅用演员或导演是否出现,衡量电影的相似度,可信度不高。在本发明一实施例中,考虑了标签之间存在的相似性和相关性。即具有相似标签的两个项目之间具有一定的相似性。具体的,在计算项目相似度的过程中,对项目进行因素分解以获取多个不同项目因素(标签),分别针对多个项目因素计算不同项目间的项目因素相似度,综合多个项目因素相似度计算结果计算获取不同项目间的相似度。进一步的,由于在本发明中,项目间相似度的计算的最终目的是利用相似的项目预测用户对新项目的偏好程度。因此在项目进行因素分解时是基于可影响用户对项目的偏好来进行因素分解的。即,最终因素分解完成后,用户对项目的偏好可以映射为用户对多个项目因素的偏好。在本发明一实施例中,具体的,项目为电影。针对电影,相似导演执导的电影却在一定程度上具有一定的相似度。同理,相似演员所参演的电影之间,也可能具有一定的相似性。同时,用户对电影的偏好也可以映射为用户对导演的偏好以及用户对演员的偏好。因此,在本发明一实施例中,当项目为电影时,项目因素为导演以及演员。具体的,用户对电影的喜好度表示了用户对电影的评价。其实就是将用户对电影的评分,直接映射成为用户对导演演员的评分。进一步的,由于在本发明中,项目间相似度的计算的最终目的是利用相似的项目预测用户对新项目的偏好程度。也就是说,在本发明的应用环境中,具有用户对于两个不同的项目因素喜好程度相似的话,即可以认为该两个项目因素相似。因此在本发明一实施例中,根据用户对项目因素的喜好度计算项目因素相似度。具体的,在本发明一实施例中,计算用户对项目因素的喜好度的过程包括:根据用户对项目的评分矩阵,结合各个项目的项目因素,通过加权平均的方式计算获取用户对项目因素的偏好矩阵。然后根据用户对项目因素的偏好矩阵,利用相似性计算公式(例如COSINE公式和PEARSON公式)直接计算项目因素相似度。考虑到当用户对项目的评分矩阵过于稀疏时无法使用相似性计算公式,在本发明一实施例中,针对稀疏的评分矩阵,采用矩阵分解方法计算项目因素相似度,其中:将项目-项目因素评分矩阵转化为项目-潜在因素矩阵和潜在因素-项目因素矩阵;根据潜在因素-项目因素矩阵,利用每个项目因素的潜在因素向量进行项目因素相似度的计算。具体的,针对项目为电影时,在本发明一实施例中,项目相似度的计算过程如下:(1)计算用户对导演、演员的喜好度根据用户-项目的评分矩阵,且结合各个项目的导演、演员标签。通过简单的加权平均方式,可以计算出用户-导演偏好矩阵以及用户-演员偏好矩阵。具体来说,用户u对导演和演员的喜好度如下:其中,Li表示项目Ii的电影和演员的标签集合,rui表示用户对项目Ii的评分。例如用户对电影A评分10电影B评分8电影AB的导演都是x则用户对x的评分是(10+8)/2=9(2)计算导演之间和演员之间的相似度得到用户-导演矩阵之后,可以利用COSINE公式和PEARSON公式直接计算导演和导演之间的相似度。同理可以计算演员之间的相似度。考虑到针对COSINE公式和PEARSON公式而言,某个导演或者演员只有单个用户偏好时,则无法计算相似度。因此,针对极度稀疏的评分矩阵,采用矩阵分解的方法,计算导演、演员之间的相似度。将电影-导演评分矩阵转化为电影-潜在因素矩阵和潜在因素-导演矩阵。根据潜在因素-导演矩阵,进行导演相似度计算。同理可以进行演员相似度计算。(3)计算项目之间的相似度综合考虑系统可以获得的三种电影标签。最终得到项目相似度计算如下:其中:simd(Ii,Ij),sima(Ii,Ij)分别表示项目Ii,Ij的导演相似度和演员相似度。本发明的方法通过对电影导演之间和演员之间的相似度计算,提高新电影利用标签寻找最近邻时的准确度。解决新电影在冷启动阶段,不能为其高效推荐目标用户的问题。基于上述相似度计算方法,计算新项目与现有项目的相似度从而获取与新项目相似的现有项目。具体的,在本发明一实施例中,将与新项目相似度非零的现有项目定义为与新项目相似的现有项目。接下来就可以结合用户的偏好历史记录,根据与新项目相似的现有项目预测每个用户对新项目的偏好程度。具体的,在本发明一实施例中,根据与新项目相似度非零的所有现有项目的集合以及用户评价过的现有项目中所有评分超过其评分均值的项目集合计算用户对新项目的偏好程度。具体的,新项目的相似项目集合为与其相似度非零的所有项目组成的集合,记为Si。对某一用户而言,结合用户的偏好历史记录,和新项目的相似项目集合,预测当前用户对新项目的偏好程度。具体公式如下:其中,Si表示新项目Ii的相似项目集合,Iu表示用户u喜好过的所有项目集合ruj(用户评价过的现有项目中所有评分超过其评分均值的项目集合),ruj表示用户u对项目Ij的偏好度。最后,根据对新项目偏好程度的预测值对所有用户进行筛选。具体的,在本发明一实施例中,首先根据推荐需求确定推荐数目(N);然后基于对新项目偏好程度的预测值对所有用户进行预测值由高到低的筛选,筛选出达到推荐数目的用户。即将所有用户对新项目的预测评分进行排序,并截取评分最高的前N个用户作为新项目的目标推荐用户,为用户推荐当前的新项目。这样就解决在新项目没有任何评分时,为其进行推荐的新项目冷启动问题。以一具体应用环境为例,如图2所示,项目为电影。首先获取用户-电影偏好矩阵(用户对电影的评分)(步骤S210)。然后分别获取用户-导演偏好矩阵(用户对导演的喜好度)(步骤S221)以及用户演员偏好矩阵(用户对演员的喜好度)(步骤S222)。基于用户-导演偏好矩阵获取导演相似度矩阵(步骤S241);基于用户-演员偏好矩阵获取演员相似度矩阵(步骤S242)。获取新电影的导演、演员信息(步骤S230),基于导演相似度矩阵、演员相似度矩阵以及新电影的导演、演员信息获取新电影的相似电影集合(步骤S260)。获取用户偏好电影集合(步骤S250),根据新电影的相似电影集合以及用户偏好电影集合预测用户对新电影的评分(步骤S270)。最后根据用户对新电影的评分预测值对用户进行筛选并向筛选出的用户推荐新电影(步骤S280)。具体的,在一应用实例中,假设存在:老电影A:导演D2演员A3,A4;老电影B:导演D3演员A2,A4;新电影C:导演D1演员A1,A2。并且有用户评分矩阵如表1所示。ABU15nullU2null4表1按照现有方法,由于新电影C的标签只和电影B标签中的演员A2重合,而由于电影C与电影A的标签不存在重合,默认新电影C和电影A不存在相似性。因此,只为观看过电影B的U2进行推荐。根据本发明的方法:计算获取的导演相似度矩阵如表2所示。D1D2D3D110.60.5D20.610.2D30.50.21表2计算获取的导演相似度矩阵如表3所示。A1A2A3A4A110.50.60A20.510.10A30.60.110A40001表3新电影C与电影A的相似度为:I.导演相似度为0.6(D1与D2);II.演员相似度为(0.6(A1与A3)+0(A2与A4))/2(每个电影平均两个演员)=0.3;最终相似度为0.5*0.6+0.5*0.3=0.45。新电影C与电影B的相似度为:I.导演相似度为0.5(D1与D3);II.演员相似度为(1(A2与A2)+0(A1与A4))/2(每个电影平均两个演员)=0.5;最终相似度为0.5*0.5+0.5*0.5=0.5。由于新电影C与电影A电影B都有相似度,因此会为U1和U2都进行推荐。综上,根据本发明的方法,可以将新项目推荐给最有可能采纳新项目的用户,解决了新项目的冷启动问题。根据本发明的方法不仅有效避免用户错过适合自己的新项目,而且降低了项目推荐的盲目性,提高了推荐效率。虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1