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

文档序号:15020026发布日期:2018-07-25 00:29阅读:171来源:国知局

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



背景技术:

目前,随着互联网的迅猛发展,网络数据量不断增长,在给网络用户获取信息带来便利的同时也造成了信息过载问题,如何在海量的数据中快速有效地查找定位到需要的信息成为当前互联网发展中的突出问题,也是网络信息检索研究的热点。

为了解决上述问题,很多媒体内容平台在用户访问或者说浏览一媒体内容时,向用户推荐相关的其它媒体内容。比如:新闻网站在用户打开某一新闻内容之后都会通过新闻推荐方式向用户推荐与新闻客户端当前显示的新闻相关的其他新闻,作为扩展阅读。新闻推荐的方式可以为用户推荐个性化新闻资讯,帮助用户发现感兴趣的内容,可以有效帮助用户快速、准确地找到需要的资源,具有广阔的应用前景。



技术实现要素:

本申请提供了一种媒体内容推荐方法,包括:获取预定时间段内对于各媒体内容的用户访问记录,并根据所述用户访问记录确定每两个媒体内容之间的第一相似度并存储,所述第一相似度表征两个媒体内容的访问用户的相似度;接收应用客户端发送的媒体内容推荐请求,其中,当所述各媒体内容中的第一媒体内容在所述应用客户端中被用户访问时,所述应用客户端发送所述媒体内容推荐请求;响应于所述媒体内容推荐请求,从所存储的所述第一相似度中获取各第二媒体内容与所述第一媒体内容的第一相似度,将与所述第一媒体内容的第一相似度超过第一预设阈值的各第二媒体内容作为候选媒体内容;计算每一候选媒体内容与所述第一媒体内容之间的第二相似度,所述第二相似度表征两个媒体内容的内容相似度;基于所述候选媒体内容中每一候选媒体内容与所述第一媒体内容之间的第一相似度及第二相似度计算每一候选媒体内容的可推荐性得分,并将可推荐性得分超过第二预设阈值的候选媒体内容作为所述第一媒体内容的相关推荐媒体内容;将所述第一媒体内容的相关推荐媒体内容的链接发送给所述应用客户端。

本申请还提出了一种媒体内容推荐装置,包括:第一相似度确定单元,用于获取预定时间段内对于各媒体内容的用户访问记录,并根据所述用户访问记录确定每两个媒体内容之间的第一相似度并存储,所述第一相似度表征两个媒体内容的访问用户的相似度;媒体内容推荐请求接收单元,用于接收应用客户端发送的媒体内容推荐请求,其中,当所述各媒体内容中的第一媒体内容在所述应用客户端中被用户访问时,所述应用客户端发送所述媒体内容推荐请求;候选媒体内容确定单元,用于响应于所述媒体内容推荐请求,从所存储的所述第一相似度中获取各第二媒体内容与所述第一媒体内容的第一相似度,将与所述第一媒体内容的第一相似度超过第一预设阈值的各第二媒体内容作为候选媒体内容;第二相似度计算单元,用于计算每一候选媒体内容与所述第一媒体内容之间的第二相似度,所述第二相似度表征两个媒体内容的内容相似度;相关推荐媒体内容确定单元,用于基于所述候选媒体内容中每一候选媒体内容与所述第一媒体内容之间的第一相似度及第二相似度计算每一候选媒体内容的可推荐性得分,并将可推荐性得分超过第二预设阈值的候选媒体内容作为所述第一媒体内容的相关推荐媒体内容;发送单元,用于将所述第一媒体内容的相关推荐媒体内容的链接发送给所述应用客户端。

采用本申请提出的上述方案,能够获得相关性更强的相关可推荐媒体内容。

附图说明

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

图1是本申请实例提出的媒体内容推荐方法涉及的系统架构示意图;

图2是本申请涉及的一种用户界面示意图;

图3是本申请实例提出的媒体内容推荐方法的流程示意图;

图4是协同过滤推荐算法与基于内容的推荐算法关于点击率的对比示意图;

图5是计算获取第一相似度的流程示意图;

图6是采用大小窗口并行计算后推荐结果覆盖率示意图;

图7是采用余弦相似度计算第一相似度的流程示意图;

图8是采用余弦相似度计算第二相似度的流程示意图;

图9是采用去重策略后点击率的示意图;

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

图11是本申请实例提出的媒体内容推荐装置所在的计算设备的组成结构图。

具体实施方式

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

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

终端用户可以使用应用客户端101访问推送信息平台102中的应用服务器103,比如:浏览新闻或者文章等。当用户使用应用客户端101访问应用服务器103时,应用客户端101可以将用户的访问行为上报给应用服务器103,应用服务器103将用户的访问行为数据保存在用户访问记录数据库104中。应用客户端101上报用户访问行为的同时,应用客户端101可以向推送信息平台102发出信息推送请求,推送信息平台102可以将与该信息推送请求相匹配的媒体内容推送给应用客户端101。通过推送信息提供方客户端105,推送信息提供方可以将其要推送的媒体内容的素材上传到推送信息平台102,以生成相应的用于推送的媒体内容。

当上述媒体内容为新闻时,图1所示的系统构架可以为实现新闻推荐的系统构架,其中,推送信息平台102可以为新闻推送平台,推送信息提供方可以为新闻发布者,应用客户端101为新闻客户端,应用服务器103为新闻服务器。图2示出的是一个新闻APP客户端的页面,其中展示了一条用户正在浏览的新闻和下方的与该浏览的新闻相关的3条推荐的新闻消息,每一条推荐的新闻消息包括标题和图片,点击每条推荐新闻消息的标题和图片,应用客户端101展示该推荐新闻消息的完整内容。当用户使用新闻客户端浏览新闻时,新闻客户端向新闻推送平台发出新闻推送请求,新闻推送平台将与正被浏览的新闻相关的推荐新闻的链接发送给新闻客户端,新闻客户端将该链接以文字或图片的形式展示在浏览新闻下方的相关阅读中,当用户点击所述文字或图片时,新闻客户端展示推荐新闻的全部内容。

在一些实例中,推送信息平台102在获取相关推荐媒体内容时,是基于内容的推荐,根据用户正在浏览的媒体内容的关键字信息,将关键字信息相关得分满足阈值条件的媒体内容作为相关推荐媒体内容。目前的基于内容的推荐存在以下缺陷:单纯的依赖内容相关,推荐出来的媒体内容质量难以保证,同时在例如时政类的文章推荐上容易出现旧文等影响用户体验的情况。

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

步骤301:获取预定时间段内对于各媒体内容的用户访问记录,并根据所述用户访问记录确定每两个媒体内容之间的第一相似度并存储,所述第一相似度表征两个媒体内容的访问用户的相似度。

在本步骤中,首先获取各媒体内容的用户访问记录,获取最近预定时间段内所有用户对各媒体内容的访问记录。终端用户在使用应用客户端101访问应用服务器时,应用客户端101向应用服务器103上报用户的访问行为数据,应用服务器103将用户的访问行为数据保存在用户访问记录数据库104中。在本步骤中,应用服务器103从用户访问记录数据库中获取预定时间段内所有用户对各媒体内容的访问记录。每一个用户的行为记录数据格式可以为(用户A,媒体内容1、媒体内容3、媒体内容5、…),其中用户A可以为该用户的用户ID,例如可以包括用户A在各种APP、网站上注册使用的各种账号,如:QQ等即时通讯号码、e-mail地址、微信账号、微博账号、淘宝账号等。

在一些实例中获得各媒体内容的用户访问记录后,过滤脏数据,如在获得的用户访问记录中去除明显非用户行为的访问记录和/或影响较小的用户的访问记录。明显非用户行为的访问记录指在预定时间段内访问大量媒体内容,超出正常用户的访问能力范围,一些机器的访问行为记录。影响较小的用户的访问记录指预定时间段内访问媒体内容量特别小的用户的访问记录,如12小时内仅访问一个媒体内容的用户访问记录。在有效过滤脏数据的基础上基于媒体内容的一级分类计算每两个媒体内容的第一相似度,在这里并不是计算任意两个媒体内容之间的第一相似度,而是相同一级分类下的媒体内容之间计算第一相似度,因为具有相同一级分类下的媒体内容之间具有更大的相关性,不同一级分类下的媒体内容之间的相关性较小。例如对于新闻媒体内容来说,新闻媒体内容的一级分类可以包括体育、时政要闻、娱乐、财经等,例如一级分类都为体育的两篇新闻具有较大的相关性,因而计算一级分类为体育下的两两新闻之间的第一相似度。但一级分类为体育的新闻与一级分类为时政要闻的新闻一般相关性较小,因而不同一级分类下的新闻之间不计算第一相似度,这样也提高了计算的效率。

步骤302:接收应用客户端发送的媒体内容推荐请求,其中,当所述各媒体内容中的第一媒体内容在所述应用客户端中被用户访问时,所述应用客户端发送所述媒体内容推荐请求。

当用户使用应用客户端101访问第一媒体内容时,应用客户端101向推送信息平台102发送媒体内容推荐请求的消息。

步骤303:响应于所述媒体内容推荐请求,从所存储的所述第一相似度中获取各第二媒体内容与所述第一媒体内容的第一相似度,将与所述第一媒体内容的第一相似度超过第一预设阈值的各第二媒体内容作为候选媒体内容。

推送信息平台102接收到应用客户端101发送的媒体内容推荐请求消息后,从步骤301中已经获得并存储的每两个媒体内容之间的第一相似度中获取各第二媒体内容与所述第一媒体内容的第一相似度,并将该第一相似度超过第一预设阈值的各第二媒体内容作为候选媒体内容,从而完成相关推荐媒体内容的第一步过滤。获取所述候选媒体内容的方式为基于项目的协同过滤方式,根据所有用户的历史访问记录计算物品之间的相似性,将与用户喜欢的物品相似的物品推荐给用户。图4示出了采用基于项目的协同过滤的推荐与现有的基于内容的推荐在点击率上的差别,其中基于项目的协同过滤的推荐与基于内容的推荐各投放50%,可以看到与基于内容的推荐相比,采用基于项目的协同过滤的推荐的点击率有较大提高。在本申请的其他实例中也可以采用基于内容推荐的方式获得候选媒体内容,还可以基于用户的协同过滤方式获得候选媒体内容,或者是基于内容的推荐方式、基于用户的协同过滤方式、基于项目的协同过滤方式三者拟合的方式获得候选媒体内容。当获得的候选媒体内容的数量较大时,可以在获得候选媒体内容中依据其第一相似度取前100篇。

步骤304:计算每一候选媒体内容与所述第一媒体内容之间的第二相似度,所述第二相似度表征两个媒体内容的内容相似度。

每一个媒体内容都有一些关键字,这些关键字存在媒体内容的标题或内容中,根据媒体内容的关键字可以检索到该媒体内容,两个媒体内容的相同关键字越多,则其内容相似度越大。

步骤305:基于所述候选媒体内容中每一候选媒体内容与所述第一媒体内容之间的第一相似度及第二相似度计算每一候选媒体内容的可推荐性得分,并将可推荐性得分超过第二预设阈值的候选媒体内容作为所述第一媒体内容的相关推荐媒体内容。

在进行相关新闻推荐时,本申请区别于传统的基于内容的相似性来推荐,本申请提出的媒体内容推荐方法综合考虑候选媒体内容的第一相似度及第二相似度,此外还可以考虑每一个候选媒体内容的热度及时新度。

步骤306:将所述第一媒体内容的相关推荐媒体内容的链接发送给应用客户端。

推送信息平台获得用户正在浏览的媒体内容的相关推荐媒体内容后,将相关推荐媒体内容的链接发送给应用客户端,应用客户端将该链接以文字或图片的形式展示在用户正浏览的媒体内容下方的相关阅读中,当用户点击所述文字或图片时,应用客户端展示相关推荐媒体内容的全部内容。

采用本申请提供的媒体内容推荐方法,在通过协同过滤获得候选媒体内容的基础上,进一步综合考虑各候选媒体内容与用户浏览的媒体内容之间的用户相似性、内容相似性对候选媒体内容进行进一步的过滤后得到相关推荐媒体内容,挖掘出基于媒体内容的更多相关性和可读性更强的媒体内容。

在一些实例中,在上述步骤301中,在执行根据用户访问记录确定每两个媒体内容之间的第一相似度时,如图5所示,可进一步包括以下步骤:

步骤501:根据最近第一预设时间段内各媒体内容的用户访问记录,计算每两个媒体内容之间的第一相似度,每经历一个第一周期重新计算一次,并将所述第一相似度存储在第一集合中,所述第一周期小于所述第一预设时间。

在该步骤中,首先预设一个第一预设时间,根据最近的第一预设时间段内的用户访问记录来计算两个媒体内容之间的第一相似度,同时每经历一个第一周期重新计算一次。第一预设时间可以为12小时,第一周期可以为1小时,根据最近12小时的用户访问记录计算两个媒体内容之间的第一相似度,每小时重新计算一次,并将计算得到的第一相似度存储在第一集合中。本步骤中计算第一相似度通过大窗口计算,第一预设时间较长,针对某一个媒体内容,计算得到与该媒体内容相似的其他媒体内容比较全面。但大窗口计算中的第一周期也比较长,较长的更新周期难以满足快速传播的爆炸性媒体内容的相关阅读需求。例如当更新周期为1小时的情况下,在1小时的时间段内出一条爆炸性新闻,当用户浏览该爆炸性新闻时,与该爆炸性新闻相关的推荐新闻在大窗口中还没有计算出来,因而就无法对该爆炸性新闻进行相关新闻的推荐。为解决该问题,本申请在大窗口计算的同时采用小窗口计算,具体如步骤502所述。

步骤502:根据最近第二预设时间段内各媒体内容的用户访问记录,计算每两个媒体内容之间的第一相似度,每经历一个第二周期重新计算一次,并将所述第一相似度存储在第二集合中,所述第二周期小于所述第二预设时间,所述第二预设时间小于所述第一预设时间,所述第二周期小于所述第一周期。

该步骤计算两媒体内容之间的第一相似度是通过小窗口计算,小窗口的第二预设时间小于大窗口的第一预设时间,同时小窗口的第二周期小于大窗口的第一周期。如第二预设时间为1小时,第二周期为10分钟,在小窗口中根据最近1小时的用户访问记录计算两媒体内容之间的第一相似度,每10分钟更新计算一次,并将计算得到的第一相似度存储在第二集合中。从而在大窗口还处于计算时,及时同步小窗口数据,达到弥补大窗口造成的计算延时的目的。

获得每两媒体内容之间的第一相似度后,当第一媒体内容在应用客户端中被用户访问时,应用客户端发送媒体内容推荐请求给推送信息平台。所述获取各第二媒体内容与所述第一媒体内容的第一相似度包括:推送信息平台在第一集合及第二集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度,具体如下面步骤所述。

步骤503:判断所述第一集合中是否存储有各第二媒体内容与所述第一媒体内容的第一相似度。

判断所述第一集合中是否存储有各第二媒体内容与所述第一媒体内容的第一相似度,如果是,在所述第一集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度;否则在所述第二集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度。当确定各第二媒体内容与所述第一媒体内容的第一相似度时,先在第一集合中查找,看大窗口是否已经计算出各第二媒体内容与所述第一媒体内容的第一相似度。如果第一集合中存在各第二媒体内容与所述第一媒体内容的第一相似度,则执行步骤504,在第一集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度,否则执行步骤505,在第二集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度

步骤504:在所述第一集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度。大窗口计算得到的第一相似度比较全面,因而在大窗口已经计算出第一相似度的情况下优先在大窗口对应的第一集合中查找获取第一相似度。

步骤505:在所述第二集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度。在大窗口还没有计算出第一相似度的情况下,在小窗口对应的第二集合中查找获取第一相似度。

大窗口计算得到的第一相似度比较全面,但存在计算延时的情况,小窗口虽然计算得到的第一相似度不够全面,但能够及时更新,当基于项目的协同过滤采用大-小窗口并行计算后,如图6所示,媒体内容的相关推荐结果覆盖率提高了。

在一些实例中,在上述步骤501及步骤502中,在执行计算每两个媒体内容之间的第一相似度时,采用余弦相似度来计算第一相似度,如图7所示,可进一步包括以下步骤:

步骤701:获取两个媒体内容中每一个媒体内容的访问用户向量。

根据上述内容中获取的预定时间段内的用户访问记录,假设在所述预定时间段内共有10个用户访问了媒体内容,分别为用户A、用户B、用户C、用户D、用户E、用户F、用户G、用户H、用户I、用户J。对于媒体内容i及媒体内容j,在所述预定时间段内访问了媒体内容i的用户包括用户A、用户B、用户D、用户F、用户G、用户I,在所述预定时间段内访问了媒体内容j的用户包括用户A、用户B、用户C、用户D、用户I、用户J。访问用户向量表征对于一个媒体内容在所述预定时间段内都有哪些用户访问过它,因而与媒体内容i相对应的访问用户向量为(1,1,0,1,0,1,1,0,1,0),与媒体内容j相对应的访问用户向量为(1,1,1,1,0,0,0,0,1,1)。

步骤702:计算两个媒体内容的访问用户向量的余弦相似度。

如上述所述的媒体内容i及媒体内容j,媒体内容i的访问用户向量为(1,1,0,1,0,1,1,0,1,0),媒体内容j的访问用户向量为(1,1,1,1,0,0,0,0,1,1),媒体内容i的访问用户向量与媒体内容j的访问用户向量之间的余弦相似度用如下公式(1)表示:

通过公式(1)可计算得到媒体内容i与媒体内容j之间的余弦相似度。

步骤703:将计算得到的余弦相似度作为所述两个媒体内容之间的第一相似度。

在一些实例中,在上述步骤304中,在执行计算每一候选媒体内容与所述第一媒体内容之间的第二相似度时,采用余弦相似度来计算第二相似度,如图8所示,可进一步包括以下步骤:

步骤801:获取每一候选媒体内容的关键字向量。

所有用户查看的所有媒体内容的关键字之间的对应关系如下所示:

媒体内容:tag1,tag2,tag3…,tagM

上式中媒体内容表示所有用户查看的所有媒体内容,tag表示从各媒体内容中提取出的关键字,关键字包含在媒体内容标题或内容中,根据该关键字可以检索到该媒体内容,关键字可以是任何中文、英文、数字,或中文英文数字的混合体。tag1表示所有用户查看的所有新闻中的第一个关键字,tag2表示所有用户查看的所有新闻中的第二个关键字,tag3表示所有用户查看的所有新闻中的第三个关键字,以此类推,tagM表示所有用户查看的所有媒体内容中的第M个关键字,M表示所有用户查看的所有媒体内容的全部关键字的数量。根据一个媒体内容都包含有哪些关键字,可以确定与该媒体内容相对应的关键字向量,例如媒体内容i包括tag1及tag3,则与媒体内容i相对应的关键字向量为(1,0,1,0,0,0,…)。

步骤802:获取第一媒体内容的关键字向量。获取第一媒体内容的关键字向量的方式与上述获取每一候选媒体内容的关键字向量的方式相同,在此不再赘述。

步骤803:计算所述第一媒体内容的关键字向量与每一候选媒体内容的关键字向量的余弦相似度。

当一个候选媒体内容的关键字向量为第一媒体内容的关键字向量为时,关键字向量及关键字向量的余弦相似度通过公式(1)计算。

步骤804:将所述计算得到的余弦相似度作为每一候选媒体内容与所述第一媒体内容之间的第二相似度。

在一些实例中,在上述步骤305中,在执行基于所述候选媒体内容中每一候选媒体内容与所述第一媒体内容之间的第一相似度及第二相似度计算每一候选媒体内容的可推荐性得分时,可以将每一候选媒体内容的第一相似度及第二相似度加权求和得到每一候选媒体内容的可推荐性得分。其中第一相似度的权重及第二相似度的权重可通过经验预先设定,还可以通过机器学习获得,并根据抽样结果进行调整。

在另一些实例中,在上述步骤305中,在执行基于所述候选媒体内容中每一候选媒体内容与所述第一媒体内容之间的第一相似度及第二相似度计算每一候选媒体内容的可推荐性得分时,可以包括以下步骤:

1)、获取每一候选媒体内容的热度及时新度。一些媒体内容本身具有热点属性,对这样媒体内容加上热度值。时新度为媒体内容产生的时间对于当前系统时间的时间衰减度。

2)、将每一候选媒体内容的第一相似度、第二相似度、热度和/或时新度加权求和得到每一候选媒体内容的可推荐性得分。

当考虑的因素包括第一相似度、第二相似度、热度和时新度时,采用以下公式(2)计算每一候选媒体内容的可推荐性得分。

Score=a1WCF+a2WTag+a3WHot+a4WTime(ai>0) (2)

在公式(2)中,WCF为第一相似度,WTag为第二相似度,WHot为热度,WTime为时新度,α1、α2、α3、α4、分别为第一相似度、第二相似度、热度及时新度的权重参数。计算得到每一候选媒体内容的可推荐性得分后,将可推荐性得分超过第二预设阈值的候选媒体内容作为所述第一媒体内容的相关推荐媒体内容。

在一些实例中,本申请提出的媒体内容推荐方法还包括:

在所述相关推荐媒体内容中剔除被用户访问过的相关推荐媒体内容。

相关推荐的原理往往会引起特征相似或关联性较强的两个媒体内容计算出来的相关推荐媒体内容重合度很高,导致不同媒体内容的相关阅读多次曝光相同的相关推荐媒体内容,影响用户体验和长尾文章的露出。实现中需要额外存储相关推荐媒体内容的曝光记录,由于访问量巨大,这对运行效率和存储开销都是很大的挑战。本申请采用了支持高效读写Redis来存储曝光历史,应用服务器为每个用户维护了一个访问过的媒体内容队列,当用户使用应用客户端浏览媒体内容时,应用客户端将用户浏览媒体内容的行为上报给应用服务器,此时应用服务器判断是否存在与该用户相对应的访问过的媒体内容队列,如果存在,则把此次的访问行为数据从队列的尾部保存到队列中,否则为该用户构建一个空的队列,并将此次的访问行为数据保存到队列中。为了解决过期数据的存储问题,所述访问过的媒体内容队列保持固定的长度,超出该长度部分中的数据从队列的头部删除。给用户推送相关推荐媒体内容时,对于所述相关推荐媒体内容中的每一个相关对接媒体内容,先在该用户的访问过的媒体内容队列中查看是否存在所述相关推荐媒体内容,如果存在,则所述相关推荐媒体内容不作为向用户推送的对象。这样可以保证用户在阅读相关推荐媒体内容时不出现任何已经访问过的媒体内容,保证用户的阅读体验。图9显示了当媒体内容为文章时,采用去重策略对整体文章点击率CTR及自媒体文章(OM文章)点击率的影响。其中曲线上各坐标点对应的灰度为采用去重策略的相关推荐文章的投放比例,其中下方的曲线为整体文章CTR,上方的曲线为OM文章CTR,可以看出,采用去重策略后,文章的点击率提高了。同时在实践中发现采用去重策略后曝光的文章总数也增加了。也就是说,使更多的文章被用户浏览到,改善了整个系统的信息推送效果。

在一些实例中,本申请提出的媒体内容推荐方法还包括:将获得的相关推荐媒体内容结合用户的兴趣进行进一步的过滤。具体地,根据用户历史访问媒体内容的记录获得用户在用户画像上的兴趣特征,将获得的相关推荐媒体内容与用户的兴趣特征进行匹配,得到每一个候选媒体内容与用户兴趣特征之间的匹配度,匹配度越高的相关推荐媒体内容表示用户对该相关推荐媒体内容感兴趣的可能性越大,在向用户推荐相关推荐媒体内容时,过滤掉匹配度较小的相关推荐媒体内容。

对应上述的媒体内容推荐方法,本申请一些实例还提供一种媒体内容推荐装置,该装置可应用于推送信息平台102中的应用服务器103,如图10所示,所述装置包括:

第一相似度确定单元1001,用于获取预定时间段内对于各媒体内容的用户访问记录,并根据所述用户访问记录确定每两个媒体内容之间的第一相似度并存储,所述第一相似度表征两个媒体内容的访问用户的相似度;

媒体内容推荐请求接收单元1002,用于接收应用客户端发送的媒体内容推荐请求,其中,当所述各媒体内容中的第一媒体内容在所述应用客户端中被用户访问时,所述应用客户端发送所述媒体内容推荐请求;

候选媒体内容确定单元1003,用于响应于所述媒体内容推荐请求,从所存储的所述第一相似度中获取各第二媒体内容与所述第一媒体内容的第一相似度,将与所述第一媒体内容的第一相似度超过第一预设阈值的各第二媒体内容作为候选媒体内容;

第二相似度计算单元1004,用于计算每一候选媒体内容与所述第一媒体内容之间的第二相似度,所述第二相似度表征两个媒体内容的内容相似度;

相关推荐媒体内容确定单元1005,用于基于所述候选媒体内容中每一候选媒体内容与所述第一媒体内容之间的第一相似度及第二相似度计算每一候选媒体内容的可推荐性得分,并将可推荐性得分超过第二预设阈值的候选媒体内容作为所述第一媒体内容的相关推荐媒体内容;

发送单元1006,用于将所述第一媒体内容的相关推荐媒体内容的链接发送给所述应用客户端。

采用本申请提供的媒体内容推荐装置,在通过协同过滤获得候选媒体内容的基础上,进一步综合考虑各候选媒体内容与用户浏览的媒体内容之间的用户相似性、内容相似性对候选媒体内容进行进一步的过滤后得到相关推荐媒体内容,挖掘出基于媒体内容的更多相关性和可读性更强的媒体内容。

在本申请的一些实施例中,上述第一相似度确定单元1001包括:

第一计算模块,用于根据最近第一预设时间段内各媒体内容的用户访问记录,计算每两个媒体内容之间的第一相似度,每经历一个第一周期重新计算一次,并将所述第一相似度存储在第一集合中,所述第一周期小于所述第一预设时间;

第二计算模块,用于根据最近第二预设时间段内各媒体内容的用户访问记录,计算每两个媒体内容之间的第一相似度,每经历一个第二周期重新计算一次,并将所述第一相似度存储在第二集合中,所述第二周期小于所述第二预设时间,所述第二预设时间小于所述第一预设时间,所述第二周期小于所述第一周期;

上述候选媒体内容确定单元1003包括:

第一相似度查找获取模块,用于判断所述第一集合中是否存储有各第二媒体内容与所述第一媒体内容的第一相似度,如果是,在所述第一集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度;否则在所述第二集合中查找获取各第二媒体内容与所述第一媒体内容的第一相似度。

在本申请的一些实施例中,上述相关推荐媒体内容确定单元1005用于将每一候选媒体内容的第一相似度及第二相似度加权求和得到每一候选媒体内容的可推荐性得分。

在本申请的一些实施例中,上述相关推荐媒体内容确定单元1005用于:

获取每一候选媒体内容的热度及时新度,

将每一候选媒体内容的第一相似度、第二相似度、热度和/或时新度加权求和得到每一候选媒体内容的可推荐性得分。

在本申请的一些实施例中,所述媒体内容推荐装置还包括:

去重单元,用于在所述相关推荐媒体内容中剔除被用户访问过的相关推荐媒体内容。

上述各模块可能实现在同一个服务器设备或者服务器集群中,也可能分布在不同的服务器设备或者服务器集群中。

上述各模块功能的实现原理前文已有详述,这里不再赘述。

在一实例中,上述媒体内容推荐装置中的各模块可运行在各种计算设备中,并加载在该计算设备的存储器中。

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

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

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

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

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

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

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

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

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

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

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

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

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

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