媒体内容推荐方法及装置与流程

文档序号:15686461发布日期:2018-10-16 21:06阅读:108来源:国知局

本申请涉及互联网技术领域,尤其涉及一种媒体内容推荐方法及装置。



背景技术:

随着互联网技术的发展,人们在互联网上进行的活动越来越多,不仅是简单的浏览网页,还可以在互联网上进行即时通讯、购物、广告宣传和网络游戏等。随着互联网技术的普及,个性化推荐系统已经广泛地应用于在线电子商务平台。所谓个性化推荐即根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品,从而可节省用户搜索信息或商品的时间。



技术实现要素:

本申请实例提供了一种媒体内容推荐方法,包括:

获取多个用户对各媒体内容的评分记录;

接收应用客户端发送的所述多个用户中第一用户的媒体内容推荐请求;

根据所述评分记录确定该第一用户对所述多个用户中的各个第二用户的信任度,其中,该第一用户对任一第二用户的所述信任度用于表征该第一用户对于该第二用户对各媒体内容评分结果的认可程度;

在确定的该第一用户对各第二用户的信任度中选取达到预定条件的多个信任度;

从所述选取的多个信任度对应的多个第二用户评分过的媒体内容中确定提供给该第一用户的推荐媒体内容,将所述确定的推荐媒体内容的链接发送给所述应用客户端。

本申请实例还提供了一种媒体内容推荐装置,包括:

评分记录获取单元,用于获取多个用户对各媒体内容的评分记录;

推荐请求接收单元,用于接收应用客户端发送的所述多个用户中第一用户的媒体内容推荐请求;

信任度确定单元,用于根据所述评分记录确定该第一用户对所述多个用户中的各个第二用户的信任度,其中,该第一用户对任一第二用户的所述信任度用于表征该第一用户对于该第二用户对各媒体内容评分结果的认可程度;

信任度选取单元,用于在确定的该第一用户对各第二用户的信任度中选取达到预定条件的多个信任度;

推荐媒体内容确定单元,用于从所述选取的多个信任度对应的多个第二用户评分过的媒体内容中确定提供给该第一用户的推荐媒体内容,将所述确定的推荐媒体内容的链接发送给所述应用客户端。

采用本申请提供的上述方案,对媒体内容的推荐更加准确。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是是本申请实例涉及的系统构架图;

图2是本申请一实例媒体内容推荐方法的流程图;

图3是本申请一实例媒体内容推荐装置的结构示意图;以及

图4为本申请实例中的计算设备组成结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请提出了一种基于互联网的媒体内容推荐方法,该方法可应用于图1所示的系统构架中。如图1所示,该系统构架包括:应用(app)客户端101、媒体内容推送平台102和媒体内容提供方客户端106,这些实体可以通过互联网107进行通信,其中媒体内容推送平台102包括应用服务器103、用户访问媒体内容的记录数据库104以及用户对媒体内容进行评分的评分数据库105。

终端用户可以使用应用客户端101访问媒体内容推送平台102中的应用服务器103,比如:浏览网页或者观看在线视频等。当用户使用应用客户端101访问应用服务器103时,应用客户端101可以将用户的访问行为上报给应用服务器103,应用服务器103将用户的访问行为数据保存在用户访问记录数据库104中。用户使用应用客户端101访问应用服务器103时,也可以对应用客户端101上展示的媒体内容进行评分,例如,在应用客户端上,用户访问的媒体内容下方展示有星级评分选项,用户通过选择具体的星级个数对媒体内容进行评分,应用客户端根据用户对该媒体内容给出的1-5星评价获得该用户对该媒体内容的相应评分。应用客户端101可以将用户对媒体内容的评分上报给应用服务器103,应用服务器103将用户对媒体内容的评分保存在评分数据库105中。应用客户端101在上报用户的访问行为及评分行为的同时,应用客户端101可以向媒体内容推送平台102发出媒体内容推送请求,媒体内容推送平台102可以将与该媒体内容推送请求相匹配的媒体内容推送给应用客户端101。通过媒体内容提供方客户端106,媒体内容提供方可以将其要推送的媒体内容的素材上传到媒体内容推送平台102,以生成相应的用于推送的媒体内容。

当上述媒体内容为视频时,图1所示的系统构架可以为实现视频推荐的系统构架,其中,媒体内容推送平台102可以为视频推送平台,媒体内容提供方可以为视频制作者,应用客户端101为视频app,应用服务器103为视频服务器。用户在视频app上观看视频时,将用户访问过的视频上报给视频服务器,视频服务器将其保存在访问记录数据库104中,当用户对观看的视频进行评分时,视频app将用户对视频的评分上报给视频服务器,服务器将其保存在评分数据库105中。用户在视频app上观看视频的同时,视频app向媒体内容推送平台102发送视频推送请求,媒体内容推送平台102根据一些推荐算法获得待推送的媒体内容,并将该媒体内容的链接发送给视频app,视频app能够获取到所选择的视频对应的视频内容并展示。

在一些实例中,采用的推荐算法是协同过滤(collaborativefiltering,简称cf)推荐算法,cf的基本思想是根据用户之前的喜好以及其他兴趣相近的用户的选择来给用户推荐项目。协同过滤从算法上分为基于项目的协同过滤及基于用户的协同过滤。基于项目的协同过滤通过用户对不同项目的评分来评测项目之间的相似性,基于项目之间的相似性做出推荐。基于用户的协同过滤通过不同用户对项目的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。

在一些实例中,采用基于用户的协同过滤算法对用户进行推荐,即通过不同用户对项目的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。

但这样计算出来的用户之间的影响程度是相同的,比如计算出来用户a和用户b之间的相似度为0.7,在进行推荐的时候,用户a对用户b的影响力和用户b对用户a的影响力是相同的,都是0.7。这显然是不科学的,因为人与人的之间影响力和信任程度是不对称的。

基于上述技术问题,本申请提出一种媒体内容推荐方法,该方法可应用于媒体内容推送平台102中的应用服务器103,如图2所示,该方法包括以下步骤:

步骤201:获取多个用户对各媒体内容的评分记录。

用户在应用客户端101上访问媒体内容时,可以通过对访问的媒体内容进行打分来对该媒体内容进行评价。应用客户端将用户对媒体内容的打分上传到应用服务器103,应用服务器将其保存在评分数据库105中。用户对媒体内容的评分如表1所示:

表1

其中i1-i10代表媒体内容,u1、u2、u3代表用户u1、用户u2、用户u3,wj,k代表用户uj对媒体内容ik的评分。表1中标识为0的媒体内容代表用户对对应的媒体内容没有进行评分。

步骤202:接收应用客户端发送的所述多个用户中第一用户的媒体内容推荐请求。

用户在应用客户端101上访问媒体内容时,会向媒体内容推送平台102发送媒体内容推荐请求。在用户的历史访问媒体内容过程中,应用客户端将用户对访问过的媒体内容的评分上传给媒体内容推送平台102中的应用服务器103。在评分数据库105中保存有该用户对访问过的媒体内容的评分记录。例如对于电影媒体内容来说,当用户在视频app上对观看过的影片进行评分时,视频app将用户对影片的评分上传给视频服务器,视频服务器将其保存在评分数据库中,评分数据库中还保存有其他用户对影片的评分,当上述用户再次登录视频app观看影片时,视频服务器可以根据该用户对观看过的影片的历史评分以及其他用户的历史影片评分向上述用户推荐影片。

对于所述评分记录中的多个用户中的任一第二用户,计算该第一用户对该第二用户的支持度。支持度表示用户间对评分相互能够支撑的程度,用户相互之间的支持度是不同的。通过用户相互之间共同的评分过的媒体内容中评分相近的个数,以及用户自身的评分过的媒体内容个数,构建用户之间的支持度。因为每个用户对媒体内容评分的个数不同,而用户相互之间都评分过的媒体内容中评分相近的媒体内容个数相同,因此构建出来的用户支持度是相互不对称的,即用户a对用户b的支持度与用户b对用户a的支持度是不同的。支持度的取值是介于[0,1]之间的一个值。计算上述第一用户对第二用户的支持度,主要包括执行以下操作:

步骤203:根据所述评分记录确定该第一用户对所述多个用户中的各个第二用户的信任度,其中,该第一用户对任一第二用户的所述信任度用于表征该第一用户对于该第二用户对各媒体内容评分结果的认可程度。

在确定第一用户对某一个第二用户的信任度时,根据所述评分记录中第一用户对各媒体内容的评分情况及该第二用户对各媒体内容的评分情况确定第一用户对该第二用户的信任度,其中信任度用以表征第一用户对于该第二用户对各媒体内容评分结果的认可程度。第二用户对各媒体内容的评分结果与第一用户对各媒体内容的评分结果越相似,第一用户对第二用户的信任度越高,反之,则信任度越低。第一用户对第二用户的信任度与第一用户与第二用户评分接近的媒体内容个数占第一用户评分过的媒体内容个数的比例有关,因为第一用户评分过的媒体内容个数与第二用户评分过的媒体内容个数可能不同,因而第一用户对第二用户的信任度与第二用户对第一用户的信任度可能不同,很好地体现了现实中人与人相互之间信任的不对称性。此外,第一用户对第二用户的信任度还与第一用户与第二用户之间的评分相似度有关。

步骤204:在确定的该第一用户对各第二用户的信任度中选取达到预定条件的多个信任度。

在确定得到的该第一用户对各第二用户的信任度中选取达到预定条件的多个信任度。具体地,在步骤203中得到的第一用户对各第二用户的信任度中,选取达到预定条件的多个信任度。该预定条件可以是设置一阈值,超过该阈值的信任度认为是达到了预定条件。在一些实例中,该预定条件也可以是将计算得到的信任度从高到低进行排序,选取前n个信任度。

步骤205:从所述选取的多个信任度对应的多个第二用户评分过的媒体内容中确定提供给该第一用户的推荐媒体内容,将所述确定的推荐媒体内容的链接发送给所述应用客户端。

从所述选取的多个信任度对应的多个第二用户评分过的媒体内容中确定提供给该第一用户的推荐媒体内容,将所述确定的推荐媒体内容的链接发送给所述应用客户端。首先,确定选取的多个信任度对应的多个第二用户,进而将所述多个第二用户评分过的媒体内容作为该第一用户的推荐媒体内容,媒体内容推送平台102将确定的媒体内容的链接发送给第一用户所在客户端。在一些实例中,在上述确定多个第二用户评分过的媒体内容后,还可以对媒体内容进行再一步的过滤,过滤后的媒体内容作为第一用户的推荐媒体内容。

采用本申请提供的媒体内容推荐方法,通过第一用户对各媒体内容的评分记录及任一第二用户对各媒体内容的评分记录,确定该第一用户对该第二用户的信任度,其中,第一用户对第二用户的信任度与第二用户对第一用户的信任度不同,很好地体现了现实中人与人相互之间信任的不对称性。根据第一用户对各第二用户的信任度,选取信任度高的第二用户评分过的媒体内容作为第一用户的推荐媒体内容,避免了采用传统相似度推荐时,相似度的对称性对推荐结果的等同的影响。

此外,采用本申请提供的媒体内容推荐方法,还能解决传统的基于用户的相似度的推荐算法由于评分的稀疏性造成的相似度计算不科学的问题。如上述表1中的示例,利用皮尔森系数相似性计算公式得到用户u1和用户u2的相似度要大于用户u2和用户u3的相似度,由上表可见,用户u2和用户u3在共同评分的媒体内容的评分值接近的媒体内容项数比较多;而用户u1和用户u2共同评分了一项媒体内容,分值都是5,虽然评分值相同,但是在其他媒体内容上却没有评分相近的媒体内容。显然,用户u2和用户u3的相似度大于用户u1和用户u2的相似度更合理些。计算出现较大偏差的主要原因在于用户u1和用户u2的共同评分项目太少,数据的稀疏性会使得计算出的相似度带有很大的偶然性。而采用本申请提供的媒体内容推荐方法,基于用户之间的信任度进行推荐,其中第一用户对第二用户的信任度与第一用户与第二用户评分接近的媒体内容个数占第一用户评分过的媒体内容个数的比例有关,并且第一用户对第二用户的信任度与第二用户对第一用户的信任度可能不同,因而能够避免上述问题。

在一些实例中,在上述步骤203中,在执行所述确定该第一用户对各个第二用户的信任度时,包括以下步骤:对于任一第二用户,执行以下操作:

步骤s11:根据所述评分记录,确定该第二用户与该第一用户的评分值之差在预定范围内的第一媒体内容的项数。

本申请中,采用表示用户uk和用户uj共同评分并且评分值在预定范围内的媒体内容的集合。评分值在预定范围内是指两个用户对同一个媒体内容的评分值的差值的绝对值小于一个定义的阈值,这里使用评分值的差值不超过δ来表示。采用以下公式(1)表示用户uk和用户uj共同评分并且评分值在预定范围内的媒体内容的集合。

其中,im代表媒体内容im,wk,m代表用户uk对媒体内容im的评分,wj,m代表用户uj对媒体内容im的评分。在一些实例中δ定义为2,在其他实例中还可以定义为其他值。例如,在δ定义为2的情况下,在表1中,用户u1与用户u2评分值在预定范围内的媒体内容为媒体内容i1,用户u2与用户u3评分值在预定范围内的媒体内容为媒体内容i1、i4、i5、i6、i7。获得用户评分值在预定范围内的媒体内容集合后,进而确定该媒体内容集合中的媒体内容的项数。

步骤s12:根据所述评分记录,确定该第一用户评分过的第二媒体内容的项数。

在本申请中采用表示用户uk评分过的媒体内容集合的势,即评分过的媒体内容的项数。还如在表1中,用户u1评分过的媒体内容项数为3,用户u2评分过的媒体内容项数为6,用户u3评分过的媒体内容项数为6。

步骤s13:根据所述第一媒体内容的项数与所述第二媒体内容的项数确定该第一用户对该第二用户的支持度。

在一些实例中,将所述第一媒体内容的项数与所述第二媒体内容的项数的比值作为该第一用户对该第二用户的支持度。

采用以下公式(2)表示用户uk对用户uj的支持度sup(uk,uj)

此时,uk为上述第一用户,即要向其推荐媒体内容时的目标用户,uj为其他用户,表示用户uk与用户uj的评分值在预定范围内的第一媒体内容的项数。表示用户uk评分过的媒体内容集合的势,即该媒体内容集合中媒体内容的项数。

媒体内容推送平台102当向用户uj推送媒体内容时,用户uj为目标用户,即第一用户,此时需要计算用户第一用户uj对其他用户uk的支持度,采用以下公式(3)表示用户uj对用户uk的支持度:

对比公式(2)及公式(3)会发现,由于分子相同但是分母不同,因此用户uk对用户uj的支持度与用户uj对用户uk的支持度不同。因而得到的用户之间的支持度矩阵不像用户间的相似度矩阵一样是对阵矩阵了,支持度矩阵是非对称的。

步骤s14:根据所述评分记录,确定该第二用户与该第一用户的评分相似度。

相似度用于表示用户之间的相似程度,在这里评分相似度表示用户对不同媒体内容的评分的相似程度。用户会对访问过的、感兴趣的媒体内容进行评分,评分越高,兴趣值越高。用户之间共同评分过的媒体内容项数越多、对同一媒体内容的评分值越接近,表示用户的兴趣越相似。常用的计算相似度的算法公式有余弦(cosine)相似性、皮尔森系数相似性(pearson’scorrelation)以及修正的余弦相似性(adjustedcosine)。

步骤s15:根据所述支持度及所述评分相似度计算该第一用户对该第二用户的信任度。

采用上述所述的第一用户对第二用户的支持度,以及第一用户与第二用户之间的评分相似度来构建第一用户对第二用户的信任度。由于用户之间的相似度相同,而用户之间支持度不同,因此计算出来的用户相互之间的信任度也是不同的。即第一用户对第二用户的信任度与第二用户对第一用户的信任度不同,很好的体现了现实中人与人相互之间信任的不对称性。后续通过第一用户对不同第二用户的信任度来对第一用户进行推荐,避免了采用传统相似度推荐时,相似度的对称性对推荐结果的等同的影响。

在一些实例中,在上述步骤s14中,在执行所述确定该第二用户与该第一用户的评分相似度时,采用皮尔森系数相似性计算第一用户与第二用户之间的评分相似度,主要包括以下步骤:

步骤s1:在所述评分记录中查找该第二用户与该第一用户都评分过的媒体内容的集合以及该第二用户及该第一用户分别对所述媒体内容集合中各媒体内容的评分值。

还如表1中的示例所示,对应用户u2及用户u3,用户u2及用户u3共同评分的媒体内容包括i1、i4、i5、i6、i7,形成的媒体内容集合为{i1、i4、i5、i6、i7},同时在表1中查找用户u2对该集合中的每一项媒体内容的评分分别为:5、5、4、5、4,用户u3对该集合中的每一项媒体内容的评分分别为:4、4、4、3、4。

步骤s2:根据所述评分记录计算该第一用户对评分过的媒体内容的平均评分值以及该第二用户对评分过的媒体内容的平均评分值。

还如上例所示,用户u2评分过的媒体内容分别为媒体内容i1、i4、i5、i6、i7、i8,评分值分别为5、5、4、5、4、5,从而得到用户u2评分过的媒体内容的平均评分值为4.67。用户u3评分过的媒体内容分别为媒体内容i1、i2、i4、i5、i6、i7,评分值分别为4、5、4、4、3、4,从而得到用户u3评分过的媒体内容的平均评分值为4。

步骤s3:根据该第二用户及该第一用户分别对所述媒体内容集合中各媒体内容的评分值、该第一用户及该第二用户的所述平均评分值,计算该第二用户与该第一用户的评分相似度。

根据在步骤s1中得到的第二用户及第一用户对都评分过的媒体内容集合中各媒体内容的评分值,以及步骤s2中第一用户对评分过的媒体内容的平均评分值以及该第二用户对评分过的媒体内容的平均评分值计算第一用户与第二用户之间的评分相似度。

在一些实例中,通过以下公式(4)计算该第二用户与该第一用户的评分相似度:

其中,sim(uk,uj)代表用户uk及用户uj之间的评分相似度,ik,j代表用户uk及用户uj共同评分过的媒体内容集合,i代表所述媒体内容集合中的一项媒体内容,wk,i代表用户uk对媒体内容i的评分值,wj,i代表用户uj对媒体内容i的评分值,代表用户uk对评分过的媒体内容的平均评分,代表用户uj对评分过的媒体内容的平均评分。

在一些实例中,通过以下公式(5)计算该第一用户对该第二用户的信任度:

其中sup(uk,uj)是用户uk对用户uj的支持度,计算方式参加公式(2),而sim(uk,uj)是用户uk和用户uj之间的评分相似度,计算方式参见公式(4)。信任度的取值是介于0到1之间的一个值。在这里用户uk是第一用户,用户uj为第二用户。

当对用户uj推荐媒体内容时,用户uj为第一用户,用户uk是第二用户,那么用户uj对用户uk的信任度通过以下公式(6)计算:

其中,sup(uj,uk)是用户uj对用户uk的支持度,计算方式参加公式(3),而sim(uj,uk)与sim(uk,uj)相同,是用户uk和用户uj之间的评分相似度,计算方式参见公式(4)。

对比公式(5)和公式(6),由于sup(uk,uj)和sup(uj,uk)不一定相等,所以用户uk对用户uj的信任度和用户uj对用户uk的信任度也不一定相等。也就是说,对信任度的计算用户之间是不一样的。根据公式(5)或(6)得到的用户信任度矩阵比用户相似度矩阵更贴近客观现实。

在一些实例中,在上述步骤205中,在执行所述从所述选取的多个信任度对应的多个第二用户评分过的媒体内容中确定提供给该第一用户的推荐媒体内容时,主要包括以下步骤:

步骤s1:确定所述选取的多个信任度对应的多个第二用户评分过的所述媒体内容中所述第一用户没有访问过的媒体内容集合。

根据确定的多个第二用户,确定该多个第二用户评分过的媒体内容,同时在所述媒体内容中选取第一用户没有访问过的媒体内容形成媒体内容集合。在这里可以根据用户访问记录数据库104中记录的第一用户访问过的媒体内容,确定所述多个第二用户评分过的所述媒体内容中所述第一用户没有访问过的媒体内容集合。所述第二用户为选取的所述第一用户对其信任度比较高的第二用户,将该选取的第二用户感兴趣的媒体内容,即评分过的媒体内容推荐给该第一用户。同时在向第一用户推荐媒体内容时,第一用户访问过的媒体内容不再推荐,只推荐第一用户没有访问过的媒体内容。

步骤s2:在所述评分记录中查找所述多个第二用户分别对所述媒体内容集合中每一项媒体内容的评分值。

对于上步骤中确定的媒体内容集合,在评分记录中查找所述多个第二用户中每一个第二用户分别对所述媒体内容集合中每一项媒体内容的评分值。

步骤s3:根据所述多个第二用户对所述媒体内容集合中任一项媒体内容的多个评分值,确定该媒体内容的可推荐度。

对于所述媒体内容集合中任一项媒体内容,根据所述多个第二用户对该媒体内容的评分值确定该媒体内容的可推荐度,在一些实例中该可推荐度可以为所述多个第二用户对该媒体内容的平均评分。在另一些实例中,可以将所述多个第二用户对该媒体内容的评分加权相加后得到该媒体内容的可推荐度,评分的权重可以根据实际经验得到。还可以采用其他的计算方式获得可推荐度。

步骤s4:将所述可推荐度达到预定条件的媒体内容作为该第一用户的推荐媒体内容。

该预定条件可以是设置一阈值,超过该阈值的可推荐度认为是达到了预定条件。在一些实例中,该预定条件也可以是将计算得到的可推荐度从高到低进行排序,选取前m个可推荐度。将选取的可推荐度对应的媒体内容作为所述第一用户的推荐媒体内容。

采用本申请提供的媒体内容推荐方法,通过在电影评分数据集(movielength)上测试,取到了很好的实验结果。根据准确率评价标准,推荐的电影的准确率大概在30%左右,远高于基于相似度进行推荐的7%左右的准确率。

本申请还提供了一种媒体内容推荐装置300,应用于媒体内容推送平台102中的应用服务器103,如图3所示,该装置主要包括:

评分记录获取单元301,用于获取多个用户对各媒体内容的评分记录;

推荐请求接收单元302,用于接收应用客户端发送的所述多个用户中第一用户的媒体内容推荐请求;

信任度确定单元303,用于根据所述评分记录确定该第一用户对所述多个用户中的各个第二用户的信任度,其中,该第一用户对任一第二用户的所述信任度用于表征该第一用户对于该第二用户对各媒体内容评分结果的认可程度;

所述装置还包括:

信任度选取单元304,用于在确定的该第一用户对各第二用户的信任度中选取达到预定条件的多个信任度;

推荐媒体内容确定单元305,用于从所述选取的多个信任度对应的多个第二用户评分过的媒体内容中确定提供给该第一用户的推荐媒体内容,将所述确定的推荐媒体内容的链接发送给所述应用客户端。

采用本申请提供的媒体内容推荐装置,通过第一用户对各媒体内容的评分记录及任一第二用户对各媒体内容的评分记录,确定该第一用户对该第二用户的信任度,其中,第一用户对第二用户的信任度与第二用户对第一用户的信任度不同,很好地体现了现实中人与人相互之间信任的不对称性。根据第一用户对各第二用户的信任度,选取信任度高的第二用户评分过的媒体内容作为第一用户的推荐媒体内容,避免了采用传统相似度推荐时,相似度的对称性对推荐结果的等同的影响。

此外,采用本申请提供的媒体内容推荐装置,还能解决传统的基于用户的相似度的推荐算法由于评分的稀疏性造成的相似度计算不科学的问题。如上述表1中的示例,利用皮尔森系数相似性计算公式得到用户u1和用户u2的相似度要大于用户u2和用户u3的相似度,由上表可见,用户u2和用户u3在共同评分的媒体内容的评分值接近的媒体内容项数比较多;而用户u1和用户u2共同评分了一项媒体内容,分值都是5,虽然评分值相同,但是在其他媒体内容上却没有评分相近的媒体内容。显然,用户u2和用户u3的相似度大于用户u1和用户u2的相似度更合理些。计算出现较大偏差的主要原因在于用户u1和用户u2的共同评分项目太少,数据的稀疏性会使得计算出的相似度带有很大的偶然性。而采用本申请提供的媒体内容推荐方法,基于用户之间的信任度进行推荐,其中第一用户对第二用户的信任度与第一用户与第二用户评分接近的媒体内容个数占第一用户评分过的媒体内容个数的比例有关,并且第一用户对第二用户的信任度与第二用户对第一用户的信任度可能不同,因而能够避免上述问题。

在一些实例中,所述信任度确定单元303,用于:

对于任一第二用户,执行以下操作:

根据所述评分记录,确定该第二用户与该第一用户的评分值之差在预定范围内的第一媒体内容的项数;

根据所述评分记录,确定该第一用户评分过的第二媒体内容的项数;

根据所述第一媒体内容的项数与所述第二媒体内容的项数确定该第一用户对该第二用户的支持度;

根据所述评分记录,确定该第二用户与该第一用户的评分相似度;及

根据所述支持度及所述评分相似度计算该第一用户对该第二用户的信任度。

在一些实例中,所述信任度确定单元303还用于:

在所述评分记录中查找该第二用户与该第一用户都评分过的媒体内容的集合,以及该第二用户及该第一用户分别对所述媒体内容集合中各媒体内容的评分值;

根据所述评分记录计算该第一用户对评分过的媒体内容的平均评分值以及

该第二用户对评分过的媒体内容的平均评分值;

根据该第二用户及该第一用户分别对所述媒体内容集合中各媒体内容的评分值、该第一用户及该第二用户的所述平均评分值,计算该第二用户与该第一用户的评分相似度。

在一些实例中,所述信任度确定单元303通过公式(4)计算该第二用户与该第一用户的评分相似度:

其中,sim(uk,uj)代表用户uk及用户uj之间的评分相似度,ik,j代表用户uk及用户uj共同评分过的媒体内容集合,i代表所述媒体内容集合中的一项媒体内容,wk,i代表用户uk对媒体内容i的评分值,wj,i代表用户uj对媒体内容i的评分值,代表用户uk对评分过的媒体内容的平均评分,代表用户uj对评分过的媒体内容的平均评分。

在一些实例中,所述信任度确定单元303,还用于:

将所述第一媒体内容的项数与所述第二媒体内容的项数的比值作为该第一用户对该第二用户的支持度。

在一些实例中,所述信任度确定单元303通过公式(5)计算该第一用户对该第二用户的信任度:

其中sup(uk,uj)是用户uk对用户uj的支持度,sim(uk,uj)是用户uk和用户uj之间的评分相似度,用户uk是第一用户,用户uj为第二用户。

在一些实例中,所述推荐媒体内容确定单元305,用于:

确定所述选取的多个信任度对应的多个第二用户评分过的所述媒体内容中所述第一用户没有访问过的媒体内容集合;

在所述评分记录中查找所述多个第二用户分别对所述媒体内容集合中每一项媒体内容的评分值;

根据所述多个第二用户对所述媒体内容集合中任一项媒体内容的多个评分值,确定该媒体内容的可推荐度;

将所述可推荐度达到预定条件的媒体内容作为该第一用户的推荐媒体内容

图4示出了媒体内容推荐装置300所在的计算设备的组成结构图。如图4所示,该计算设备包括一个或者多个处理器(cpu)402、通信模块404、存储器406、用户接口410,以及用于互联这些组件的通信总线408。

处理器402可通过通信模块404接收和发送数据以实现网络通信和/或本地通信。

用户接口410包括一个或多个输出设备412,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口410也包括一个或多个输入设备414,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。

存储器406可以是高速随机存取存储器,诸如dram、sram、ddrram、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。

存储器406存储处理器402可执行的指令集,包括:

操作系统416,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;

应用418,包括用于媒体内容推荐的各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括媒体内容推荐装置300中的部分或全部单元或者模块。媒体内容推荐装置300中的各单元或模块中的至少一个单元或模块可以存储有机器可执行指令。处理器402通过执行存储器406中各单元或模块中至少一个单元或模块中的机器可执行指令,进而能够实现上述各单元或模块中的至少一个模块的功能。

需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。

各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。

各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。

另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。

图4模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的cpu等可以根据指令执行部分和全部实际操作。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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