媒体内容的推送方法和装置、存储介质、电子装置与流程

文档序号:18620156发布日期:2019-09-06 22:24阅读:240来源:国知局
媒体内容的推送方法和装置、存储介质、电子装置与流程

本发明涉及互联网领域,具体而言,涉及一种媒体内容的推送方法和装置、存储介质、电子装置。



背景技术:

随着互联网技术的飞速发展,网络上的服务数量也随之急剧增长,然而,这种增长远远超过个人或系统所能接受、处理和有效利用的范畴。在这种环境下,为了解决服务数量增长所带来的“信息过载”问题,能够针对不同用户需求的服务推荐系统应运而生,服务推荐理论及其相关技术己成为学术界和工业界的一个热门研究课题。

为了提高用户的使用体验,增加媒体内容的数据点击量,相关技术会利用推荐系统向用户推荐与其相关的流媒体消息,通常采用基于内容的媒体内容推荐方法。但该技术方案中仅仅利用了用户的基本固定属性(例如用户名称、年龄、性别等)以及用户历史操作行为(例如观看过的视频、观看视频的时间等),也仅仅用到了流媒体消息的内容描述信息等固定属性。上述基于内容的流媒体消息推荐方法将会导致向用户推送的流媒体消息的丰富度较低、推荐面较窄、推荐无惊喜、而且容易陷入热门推荐,由于属性固定无变化,所推荐的内容准确度得不到保障,从而降低用户体验。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种媒体内容的推送方法和装置、存储介质、电子装置,以至少解决相关技术中为用户推荐的媒体内容的准确度较低的技术问题。

根据本发明实施例的一个方面,提供了一种媒体内容的推送方法,包括:获取第一终端的推送请求,其中,推送请求用于请求向第一终端推送媒体内容;获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;响应于推送请求,向第一终端推送目标媒体内容。

根据本发明实施例的另一方面,还提供了一种媒体内容的推送装置,包括:第一获取单元,用于获取第一终端的推送请求,其中,推送请求用于请求向第一终端推送媒体内容;第二获取单元,用于获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;选取单元,用于基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;推送单元,用于响应于推送请求,向第一终端推送目标媒体内容。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

在本发明实施例中,获取第一终端的推送请求,推送请求用于请求向第一终端推送媒体内容;获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;响应于推送请求,向第一终端推送目标媒体内容,该机制考虑了安装了相似应用的用户可能对相似的媒体内容感兴趣的情况,可以解决相关技术中为用户推荐的媒体内容的准确度较低的技术问题,进而达到准确地为用户进行媒体内容的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的媒体内容的推送方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的媒体内容的推送方法的流程图;

图3是根据本发明实施例的一种可选的媒体内容的推送方案的示意图;

图4是根据本发明实施例的一种可选的媒体内容的推送方案的示意图;

图5是根据本发明实施例的一种可选的媒体内容的推送界面的示意图;

图6是根据本发明实施例的一种可选的媒体内容的推送方案的示意图;

图7是根据本发明实施例的一种可选的媒体内容的推送方案的示意图;

图8是根据本发明实施例的一种可选的媒体内容的推送方法的流程图;

图9是根据本发明实施例的一种可选的媒体内容的推送方案的示意图;

图10是根据本发明实施例的一种可选的媒体内容的推送装置的示意图;以及

图11是根据本发明实施例的一种终端的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

循环神经网络rnn:全称为recurrentneuralnetworks,是一种节点定向连接成环的神经网络,这种网络的内部状态可以展示动态时序行为,不同于前馈神经网络的是,rnn可以利用它内部的记忆来处理任意时序的输入序列。

手机应用共同消费网络:指由用户作为节点、用户之间共同消费的手机应用(app)信息作为连边构成的网络(network)。

注意力机制:指神经网络模型具备的专注于其输入(或特征)子集的能力,用于以动态的、不同的权重汇集多个来源的信息。

目标用户:发出请求、希望推荐系统为其推荐新闻的用户。

分布式表示(distributedrepresentation),描述的是把文本分散嵌入到另一个空间,一般从是从高维空间嵌入到低维空间。

随着智能手机的普及,越来越多的用户开始在手机应用(app)中阅读新闻等媒体内容,而不是阅读传统的纸质新闻,这给新闻推荐系统的应用提供了广阔的空间,与电商等其他领域的推荐任务不同,新闻等媒体内容推荐具有以下显著特性:社会性,用户阅读某一条新闻,有时并不是因为他对该新闻的主题感兴趣,而是因为周围的人都在看,属于区域内必须知晓的内容;待推荐物品的生命周期较短,一条新闻从出现到不再具有价值的时间通常只有几天,因此新闻推荐方案需要更多地依靠新闻的内容,而不能仅仅使用点击信息。

基于以上背景,根据本发明实施例的一方面,提供了一种媒体内容的推送方法的方法实施例,以克服其缺陷。

可选地,在本实施例中,上述媒体内容的推送方法可以应用于如图1所示的由终端101(如第一终端和第二终端等用户终端)和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如多媒体服务、新闻服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于pc、手机、平板电脑等。

本发明实施例的媒体内容的推送方法可以由服务器103来执行,也可以由服务器103和终端101共同执行。图2是根据本发明实施例的一种可选的媒体内容的推送方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤s202,服务器获取第一终端的推送请求,推送请求用于请求向第一终端推送媒体内容。

上述目标终端即代表目标用户的终端,是发出请求、希望推荐系统为其推荐新闻等媒体内容的用户终端。

步骤s204,服务器获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系,如表示第一终端和第二终端上安装的相同类型的应用或者相同的应用。

步骤s206,服务器基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容,可见,所选取的目标媒体内容是基于从第一日志中得到的第一终端的阅读习惯和从第二日志中得到的第一终端的类似终端(第二终端)的第二日志中得到的类似的阅读习惯得到的。

步骤s208,响应于推送请求,服务器向第一终端推送目标媒体内容。

通过上述步骤s202至步骤s208,获取第一终端的推送请求,推送请求用于请求向第一终端推送媒体内容;获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;响应于推送请求,向第一终端推送目标媒体内容,该推送机制考虑了安装了相似应用的用户可能对相似的媒体内容感兴趣的情况,可以解决相关技术中为用户推荐的媒体内容的准确度较低的技术问题,进而达到准确地为用户进行媒体内容的技术效果。

在本申请的技术方案中,提供了一种利用手机应用安装信息,进行更准确的新闻等媒体内容推荐的模型框架,本申请主要包含两个部分,即构建的用户的手机应用共同消费网络,与基于手机应用共同消费网络的新闻等媒体内容推荐。第一个部分中,通过提取用户(对第一终端)的手机应用安装信息,结合用户所处的地理位置,为每个用户寻找n个最相似的“相邻用户”(即第二终端),使用节点来代表用户,使用节点之间的边来连接用户,进而构建用户之间的网络,并使用被连接的用户的手机应用安装信息来作为边的特征;在第二个部分中,使用循环神经网络来对用户近期的新闻浏览记录进行编码,然后基于目标用户近期的浏览记录,其相邻用户近期的浏览记录,以及用户之间的手机应用消费情况,通过神经网络模型进行个性化的信息整合。基于整合后的信息,最终生成新闻推荐结果,该机制考虑了安装了相似应用的用户可能对相似的新闻感兴趣的情况(例如:安装了某个体育类应用的用户可能对体育新闻感兴趣等),并基于相似用户近期阅读的新闻进行推荐,相对于传统的仅依赖目标用户个人的浏览记录的方法,可以提高推荐的及时性和准确性。下面结合图2所示的步骤进一步详述本申请的技术方案:

在步骤s202提供的技术方案中,服务器获取第一终端的推送请求,推送请求用于请求向第一终端推送媒体内容。例如,在用户启动某个具备浏览媒体内容的功能的应用后,用户的第一终端自动向服务器发送该应用生成的推送请求;再如,当用户在该应用内刷新当前的媒体内容界面时,第一终端向服务器发送该应用生成的推送请求。

在步骤s204提供的技术方案中,服务器获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量eik,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系。

需要说明的是,上述的第一终端是指某个特定用户的终端,如用户a使用过的终端,具体而言,如果用户a先后使用自己的帐号(即第一帐号)在终端1和终端2上浏览过媒体内容,那么终端1和终端2均可被视为第一终端,故而第一日志是指记录了用户a的所有或者一段时间内在所有第一终端上的浏览行为的日志;类似地,第二终端是指用户b使用过的终端,只要用户b使用自己的帐号(即第二帐号)在终端上浏览过媒体内容,那么该终端就可被视为第二终端,故而第二日志是指记录了用户b的所有或者一段时间内在所有第二终端上的浏览行为的日志。

上述的第一日志可以保存在第一终端上或者服务器上,第二日志可以保存在第二终端上或者服务器上,故服务器获取日志时可以从本地数据库获取第一日志和第二日志或者从第一终端和第二终端上获取第一日志和第二日志。

可选地,获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量可以使用基于用户的协同过滤方案来确定上述。

基于用户的协同过滤方案(user-basedcollaborativefiltering,usercf),使用该方案可认为消费过类似的物品(即浏览的媒体内容)的用户,在未来可能仍然会消费相似的物品,即再次浏览类似的媒体内容,基于用户的协同过滤首先使用用户的历史消费行为(即日志中记载的用户的历史浏览记录),计算两两用户之间的相似度,然后使用该相似度,针对与目标用户最相似的n个用户的消费记录,求其加权平均数,作为最终向目标用户推荐某个物品的推荐度,计算用户w(对应第二终端)与用户u(对应第一终端)相似度的公式,及使用该相似度计算推荐度的公式如下所示:

其中,swu表示用户w与用户u之间的相似度,k表示第k个物品(即第k个媒体内容),iw表示表示用户w消费过的物品的集合,iu表示用户u消费过的物品的集合,ruk表示用户u的物品k的评分,表示用户u对所有消费过的物品的平均评分,rwk表示用户w对物品k的评分,表示用户w对所有消费过的物品的平均评分,表示预测的用户u对物品j的评分,rwj表示用户w对物品j的评分,表示用户u的相似用户中所有消费过物品j(对物品j有评分)的用户的集合。

可选地,还可以采用从手机应用领域向新闻领域的基于迁移学习的双侧冷启动推荐方法,该方法是基于用户的协同过滤方法的一个特例,该方法处理的场景主要是双侧冷启动新闻推荐场景,即用户、新闻均为冷启动的情况,该方法通过使用应用的安装情况来计算用户之间的相似度以克服用户侧冷启动问题,并通过在类别级别的粒度计算推荐度的方法来克服新闻侧冷启动的问题。

该方法的流程如图3所示,首先在新闻领域(newsdomain),基于非冷启动用户的历史行为r,获得用户在新闻类别上的偏好c;然后在手机应用领域(appdomain),基于应用安装情况获得冷启动用户与非冷启动用户之间的相似度g;最后基于以上相似度和非冷启动用户在类别粒度上的偏好,进行新闻推荐。

采用以上基于用户的协同过滤方案的方案,相当于使用一个标量swu来表征用户之间的相似性,该类方法是基于新闻的id来进行推荐(而不是基于新闻的分布式表示)。基于新闻的id,忽略了新闻的内容,无法发现新闻内容上的相似性,难以准确地推荐冷启动新闻;由于只适用一个标量来描述两个用户之间的关系,使得该描述过于粗放,限制了模型的性能;当用户有新的行为时,该方法需要重新计算用户相似度,才能生成针对用户的新行为的推荐结果,由于更新用户相似度的代价较大,因此该方法难以及时地响应用户的最新行为。

采用以上从手机应用领域向新闻领域的基于迁移学习的双侧冷启动推荐方案是基于用户的协同过滤方案的一个特例,在计算用户相似度时使用了手机应用的安装情况,最终同样使用标量来对用户之间的关系建模,该模型过于粗放;该方法仅在类别粒度上对冷启动新闻建模,同样过于粗放,限制了对新闻内容的精细化的理解。

上述的解决方案中,没有提供同时考虑新闻阅读的社会性、可以及时响应用户最新行为、可以处理冷启动用户与冷启动新闻的方法,故而限制了方案的推荐效果。针对现有方法的缺陷,为了提高响应用户的最新行为的时间,并进一步提高推荐的准确度,本方案提出了一种基于手机应用共同消费网络的新闻推荐方案,可以修改用户相似度的计算公式,通过在计算用户相似度时考虑时间、地点等因素来引入更多的信息,以提高准确度和响应速度。上述的第二终端可以是从所有终端(即不论是否与第一终端位于同一地理区域)中确定的,也可以是从与第一终端位于同一地理区域的候选终端中确定的,以后者为例,获取第二终端与第一终端之间的关系向量时:可查找与第一终端位于同一地理区域的候选终端,例如与第一终端位于同一个市、同一个区县、与第一终端之间的距离小于某个阈值(如10千米)的区域等同一地理区域的终端;利用候选终端上安装的与第一终端上相同类型的应用确定候选终端与第一终端之间的相似度,此处的相同类型可以是指相同类型的应用,如聊天应用、体育新闻应用、新闻头条应用等,也可以是指相同的某个应用;创建包括第一元素ui、第二元素uk以及第三元素的关系向量eik,第一元素用于指示第一终端上安装的应用的类型,第二元素用于指示第二终端安装的应用的类型,第三元素为对第一元素和第二元素执行同或运算的结果。

在步骤s206提供的技术方案中,服务器基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容。

上述的基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容可以通过步骤s2062-步骤s2064实现:

步骤s2062,提取第一日志中记录的第一终端浏览过的媒体内容的第一特征(即输入第一终端最近浏览的媒体内容的分布式表示的序列,输出结果编码后的向量记为第一特征)和第二日志中记录的第二终端浏览过的媒体内容的第二特征(即输入第二终端最近浏览的媒体内容的分布式表示的序列,输出结果编码后的向量记为第一特征),并获取媒体内容库中媒体内容的分布式向量,其中,第一特征用于表示第一终端的浏览时间相邻的媒体内容之间的关联关系,第二特征用于表示第二终端的浏览时间相邻的媒体内容之间的关联关系。

可选地,提取第一日志中记录的第一终端浏览过的媒体内容的第一特征和第二日志中记录的第二终端浏览过的媒体内容的第二特征包括:获取用于表示第一日志中记录的第一终端浏览过的媒体内容的第一序列(即输入第一终端最近浏览的媒体内容的分布式表示的序列)和用于表示第二日志中记录的第二终端浏览过的媒体内容的第二序列(即输入第二终端最近浏览的媒体内容的分布式表示的序列),第一序列中相邻的元素用于表示第一终端的浏览时间相邻的媒体内容,第二序列中相邻的元素用于表示第二终端的浏览时间相邻的媒体内容;通过第一循环神经网络对第一序列中相邻的元素执行卷积操作得到第一特征,并通过第二循环神经网络对第二序列中相邻的元素执行卷积操作得到第二特征。

为了解决新闻等媒体内容推荐领域物品生命周期较短的挑战,可使用doc2vec、去噪自动编码机(denoisingautoencoders,dae)等模型,基于新闻等媒体内容的文本内容,获得新闻等媒体内容的分布式表示(distributedrepresentations);然后使用用户近期阅读过的新闻的表示的序列,预测用户下一个将要点击的新闻,其基本框架如图4所示,该类型方法的特点在于,模型的输入仅包含目标用户个人近期点击新闻的序列(如内容a-内容d),实际输入的是对这些内容进行编码后的向量,输出结果为编码后的向量hi(即用户的隐状态h1-h4),即模型只显式地基于目标用户自身的行为进行后续的推荐。

如图4所示,该方法的输入主要是用户的历史行为记录(即用户在近期点击的若干个新闻,即第一日志和第二日志中记录的),若仅仅使用这一个方案,容易陷入用户近期行为当中,当有突发新闻或其他重要新闻出现时,该方法难以完成高质量的推荐。如:当引力波第一次被检测到时,该新闻对很多用户而言都是有价值的;但通常来说,用户不会总是浏览引力波相关的新闻,假设用户最近浏览的新闻全部是娱乐相关的,那么该方法很难预测引力波新闻与用户的相关性。在见,单独使用基于循环神经网络rnn的序列推荐方案会忽略新闻阅读的社会性,所以本申请将其与其他方案相结合,以克服其缺陷。

步骤s2064,利用第一特征、第二特征、关系向量以及媒体内容库的分布式向量从媒体内容库中选取目标媒体内容。

可选地,利用第一特征、第二特征、关系向量以及媒体内容库中媒体内容的分布式向量从媒体内容库中选取目标媒体内容包括:在神经网络模型中,从媒体内容库中查找类型与第一终端和第二终端中的至少之一匹配的候选媒体内容,并利用第一特征、第二特征、关系向量以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度;从候选媒体内容选取出目标媒体内容,其中,目标媒体内容与第一终端的匹配度大于等于候选媒体内容中除目标媒体内容以外的媒体内容与第一终端的匹配度。

在上述实施例中,利用第一特征、第二特征、关系向量以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度可以通过如下方式实现:获取第一终端与第二终端之间的第一相似参数和第二终端之间的第二相似参数,第一相似参数pik是根据第一特征和关系向量确定的,第二相似参数gik是根据第二特征和关系向量确定的;根据第一特征、关系向量以及对第一相似参数和第二相似参数执行同或运算的运算结果确定第一终端浏览的媒体内容与第二终端上浏览的媒体内容之间的关联权重cik(也可是归一化后的wik);利用关联权重、运算结果以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度。

可选地,利用关联权重、运算结果以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度可包括:获取多个第一参数的和第二参数ni,其中,多个第一参数中的每个第一参数用于表示第一终端浏览的媒体内容与一个第二终端上浏览的媒体内容之间的关联权重和根据第一终端与相同的第二终端的运算结果之间的乘积;根据第二参数ni和第一特征确定用于表示第一终端所关注内容类型的第三参数qi;利用第三参数qi和候选媒体内容的分布式向量vl确定候选媒体内容与第一终端的匹配度ril。

在步骤s208提供的技术方案中,响应于推送请求,服务器向第一终端推送目标媒体内容。

在本申请的技术方案中,在基于循环神经网络的序列推荐方法的基础上,结合基于用户的协同过滤方案的思路来进行推荐,该方案首先构建用户的手机应用共同消费网络,来发现相邻用户、并使用向量而不是标量来描述用户之间的关系;然后使用循环神经网络对用户近期的行为进行编码;最后,基于目标用户、相邻用户的近期的阅读行为及用户之间的关系,模型应用注意力机制来对相邻用户的行为进行归纳,并最终结合目标用户和相邻用户两部分的信息,生成推荐结果。作为一种可选的实施例,下面以媒体内容为新闻为例进一步详述本申请的实施方案。

如图5所示,示出了一种可选的内容推荐场景,进入应用界面后,向下拉动页面,进入“热点”场景,该场景提供了新闻推荐的功能。

本方案流程图如图6所示,图6展示了一种可选的的新闻推荐系统框架。通常,候选新闻库(或者称为内容库)的规模较大,需要首先进行新闻召回(candidategeneration),快速地将百万量级的候选新闻降至百量级;然后再结合用户历史画像、新闻特征、上下文特征进行排序(ranking),最后结合业务策略完成几十个新闻的展现。

本方案提出的模型应用与召回部分。图7为本方案的示意图,具体流程参见图8。

如图7所示,本方案主要包含两个部分,即手机应用共同消费网络的构建,和基于该网络的推荐模型的训练。在线推荐时,只要根据用户请求,利用用户手机应用安装情况找到目标用户的相邻用户,整理相邻用户的历史行为,以及目标用户的历史行为,模型再结合用户之间的关系基于训练好的模型以及在线请求给出推荐结果即可;离线训练需要使用历史数据进行训练。

以下将介绍本章节的符号定义,然后详细介绍手机应用共同消费网络的构建和基于用户网络的推荐模型的结构。

需要使用的部分符号含义如下:

使用下标i代表目标用户,下标k代表相邻用户,下标j代表手机应用,下标l代表新闻。

为用户-手机应用矩阵,其中如果用户i消费了手机应用j,则rij=1,否则为0。i为总的用户数,j为总的手机应用数。

ril为用户-新闻评分,如果用户i浏览了新闻l,则ril=1,否则为0。

vl为新闻l的分布式表达,可以基于新闻的内容应用doc2vec模型来获得。

手机应用共同消费网络,基于给定的用户-手机应用矩阵r,通过以下步骤,可以获得用户的手机应用共同消费网络。

步骤s801:对矩阵r应用tf-idf算法进行处理,该步骤的目的是减小即时通讯应用、购物应用等过于热门的应用对共同消费网络的影响。如下所示

步骤s802:使用svd分解处理矩阵从而获得用户对手机应用的偏好向量。即

ui*t、vt*j、∑t*t对矩阵进行svd分解之后获得的三个矩阵,u可以认为是描述用户兴趣的特征;v可以认为是描述物品特性的特征;∑可以认为是描述分解后的各个隐因子重要性的特征(svd分解后的奇异值)。

步骤s803:矩阵u的第i行,即ui,代表了用户i对手机应用的偏好。通过以下公式可以计算不同用户之间偏好的相似度。对每个用户根据与其的相似度进行排序,选择最相似的n个用户作为他的相邻用户。相似度计算公式为:

ui是矩阵u的第i行,uk是矩阵u的第k行,是uk转置后得到的列向量。

步骤s804:使用以下向量来描述用户i与用户k的关系,注意eik中的三部分分别描述了目标用户、相邻用户,以及他们之间无序的相似性。公式如下:

eik=[uiukui⊙uk]

步骤s805:以用户作为节点,在目标用户与他的相邻用户之间建立连边,即可获得用户的手机应用共同消费网络。该网络可以表示成如下的三元组:

g={<(i,k),eik>}

通过以上步骤,构建手机应用共同消费网络,可以用向量描述用户之间的相似关系。相对于传统的usercf,对用户之间的关系的描述精细度显著提升。

基于用户网络的推荐模型如图9所示,图9展示了基于用户网络的推荐模型的方案框架。图9中假设用户0为目标用户,用户1到用户5为相邻用户。模型主要包括三部分,即用户编码(userencoding)部分,注意力机制(attending)部分,和生成推荐结果部分。以下将介绍推荐模型的流程。其中,用户编码部分涉及步骤s806,注意力机制部分涉及步骤s807到步骤s811,生成推荐结果部分涉及步骤s812。

步骤s806:用户编码,该部分使用经典的rnn模型对用户进行编码,即输入为每个用户最近浏览的新闻的分布式表示的序列,输出结果为编码后的向量h(即用户的隐状态)。

针对目标用户i和相邻用户k,结合他们近期浏览行为编码后的向量hi和hk,以及用户之间的相似关系eik,模型对从用户k到用户i的信息进行提取,并使用(多头)注意力机制进行信息的汇总,该过程涉及步骤s807到步骤s8011。

步骤s807:根据用户k的隐状态和用户之间的相似关系,使用以下公式获得可以通过连边的信息,

pik=φ(wphhk+wpeeik+bp)

其中,pik表示目标用户i和相邻用户k之间的连边,wph、wpe、bp表示神经网络的参数,需要训练神经网络从而得到这些参数的最优值,φ()表示pik是tanh()函数。

步骤s808:根据用户i的隐状态和用户之间的相似关系,使用以下公式获得用户i关注的信息,

gik=σ(wghhi+wgeeik+bg)

其中,wgh、wge、bg表示神经网络的参数,需要训练神经网络从而得到这些参数的最优值,σ()表示sigmoid函数。

步骤s809:结合步骤s807和步骤s808的结果,获得用户k到用户i的有价值的信息,

cik=gik⊙pik

步骤s810:使用注意力机制,从多个相邻用户处汇总信息。用户i对用户k的注意力分数计算公式如下:

αik=leakyrelu(wahhi+waeeik+waccik+ba)

wah、wae、wac、ba表示神经网络的参数,需要训练神经网络从而得到这些参数的最优值,cik表示用户k到用户i的有价值的信息。

针对多个相邻用户,使用softmax函数进行权重归一化,如下所示:

其中,ni表示_用户i的若干个最相似用户构成的集合。

步骤s811:执行h个独立的注意力机制,并将结果拼接(concatenate)起来,从而获得注意力机制部分的最终输入,如下所示:

其中,h表示多头注意力机制multi-headattention的head个数,可以根据需要或者经验进行设置,如为3,表示第h个attentionhead对应得到的cik,与此类似,表示拼接运算。

步骤s812:结合目标用户的隐状态、相邻用户的汇总后的信息,生成最终的推荐结果。首先预测用户兴趣:

qi=φ(wqhhi+wqnni+bq)

其中,wqh、wqn、bq表示神经网络的参数,需要训练神经网络从而得到这些参数的最优值,φ()表示qi是tanh()函数。

然后,用户i对新闻l的推荐度(计算出来的即匹配度)计算公式如下

其中,表示是qi转置后得到的向量。

其中vl是新闻l的分布式表示。计算对目标用户,所有新闻的推荐度,然后降序排序,输出推荐度最高的若干个结果,即可完成新闻召回。

在离线训练过程中,使用历史数据,基于以上过程更新模型参数(w与b),即可完成模型的训练。在线预测过程中,使用训练好的模型进行推荐。

相比相关技术中的推荐方案,本方案提供了同时具有如下优点的方案:

1)本方案更好地考虑了新闻阅读中的社会性。通过手机应用的安装信息,发现相似用户群,并结合目标用户和相邻用户的行为进行推荐。模型可以发现不同的手机应用代表的用户兴趣(如虎扑-体育,豆瓣-阅读及电影,知乎-碎片化知识等),结合新闻的分布式表示,可以更有针对性地推荐用户感兴趣的新闻。同时,由于模型显式地添加了相邻用户的行为,模型可以更好地跳出目标用户的近期阅读历史,避免推荐结果过于单一;

2)可以响应用户的最新行为。由于在对目标用户编码时使用了用户最近的阅读记录,当目标用户的行为发生变化时,模型可以马上响应,产生新的推荐结果。同时,用户的新的行为也会让总结相邻用户行为的结果产生变化,从而实现更加个性化的推荐结果;

3)可以同时处理冷启动用户、冷启动新闻,同时也不会影响非冷启动用户上的推荐效果。对于冷启动用户,通过提取其手机应用的安装情况,模型可以基于相邻用户的阅读情况完成推荐;对于冷启动新闻,模型是基于新闻内容的分布式表达进行推荐的,而不是基于新闻的id,因此可以完成冷启动新闻的推荐;同时,模型可以从数据中学习如何平衡用户自身行为中的信息和相邻用户行为中的信息。模型提供了针对各种情况的用户和各种新闻的统一的推荐逻辑。

可见,本方案提供了一种更好地描述用户之间关系的方法,使用向量而不是标量,描述的精细度更高;更好地考虑了新闻阅读的社会性,显式地引入相邻用户的行为进行推荐;同时提供了对不同类型用户、不同类型新闻的推荐能力,且能够响应用户的最新行为。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例的另一个方面,还提供了一种用于实施上述媒体内容的推送方法的媒体内容的推送装置。图10是根据本发明实施例的一种可选的媒体内容的推送装置的示意图,如图10所示,该装置可以包括:

第一获取单元901,用于获取第一终端的推送请求,其中,推送请求用于请求向第一终端推送媒体内容。

第二获取单元903,用于获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系。

选取单元905,用于基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容。

推送单元907,用于响应于推送请求,向第一终端推送目标媒体内容。

需要说明的是,该实施例中的第一获取单元901可以用于执行本申请实施例中的步骤s202,该实施例中的第二获取单元903可以用于执行本申请实施例中的步骤s204,该实施例中的选取单元905可以用于执行本申请实施例中的步骤s206,该实施例中的推送单元907可以用于执行本申请实施例中的步骤s208。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,获取第一终端的推送请求,推送请求用于请求向第一终端推送媒体内容;获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;响应于推送请求,向第一终端推送目标媒体内容,该推送机制考虑了安装了相似应用的用户可能对相似的媒体内容感兴趣的情况,可以解决相关技术中为用户推荐的媒体内容的准确度较低的技术问题,进而达到准确地为用户进行媒体内容的技术效果。

可选地,选取单元可包括:提取模块,用于提取第一日志中记录的第一终端浏览过的媒体内容的第一特征和第二日志中记录的第二终端浏览过的媒体内容的第二特征,并获取媒体内容库中媒体内容的分布式向量,其中,第一特征用于表示第一终端的浏览时间相邻的媒体内容之间的关联关系,第二特征用于表示第二终端的浏览时间相邻的媒体内容之间的关联关系;选取模块,用于利用第一特征、第二特征、关系向量以及媒体内容库的分布式向量从媒体内容库中选取目标媒体内容。

可选地,提取模块还用于:获取第一序列和第二序列,其中,第一序列用于表示第一日志中记录的在第一终端上浏览过的媒体内容,第二序列用于表示第二日志中记录的在第二终端上浏览过的媒体内容,其中,第一序列中相邻的元素用于表示第一终端的浏览时间相邻的媒体内容,第二序列中相邻的元素用于表示第二终端的浏览时间相邻的媒体内容;通过第一循环神经网络对第一序列中相邻的元素执行卷积操作得到第一特征,并通过第二循环神经网络对第二序列中相邻的元素执行卷积操作得到第二特征。

可选地,选取模块还可用于:在神经网络模型中,从媒体内容库中查找类型与第一终端和第二终端中的至少之一匹配的候选媒体内容,并利用第一特征、第二特征、关系向量以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度;从候选媒体内容选取出目标媒体内容,其中,目标媒体内容与第一终端的匹配度大于等于候选媒体内容中除目标媒体内容以外的媒体内容与第一终端的匹配度。

可选地,选取模块还可用于:获取第一终端与第二终端之间的第一相似参数和第二终端之间的第二相似参数,其中,第一相似参数是根据第一特征和关系向量确定的,第二相似参数是根据第二特征和关系向量确定的;根据第一特征、关系向量以及对第一相似参数和第二相似参数执行同或运算的运算结果确定第一终端浏览的媒体内容与第二终端上浏览的媒体内容之间的关联权重;利用关联权重、运算结果以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度。

可选地,选取模块还可用于在利用关联权重、运算结果以及候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度时,获取多个第一参数的和第二参数,其中,多个第一参数中的每个第一参数用于表示第一终端浏览的媒体内容与一个第二终端上浏览的媒体内容之间的关联权重和根据第一终端与相同的第二终端的运算结果之间的乘积;根据第二参数和第一特征确定用于表示第一终端所关注内容类型的第三参数;利用第三参数和候选媒体内容的分布式向量确定候选媒体内容与第一终端的匹配度。

可选地,第二获取单元包括:查找模块,用于查找与第一终端位于同一地理区域的候选终端;确定模块,用于利用候选终端上安装的与第一终端上相同类型的应用确定候选终端与第一终端之间的相似度;创建模块,用于创建包括第一元素、第二元素以及第三元素的关系向量,其中,第一元素用于指示第一终端上安装的应用的类型,第二元素用于指示第二终端安装的应用的类型,第三元素为对第一元素和第二元素执行同或运算的结果。

相比相关技术中的推荐方案,本方案提供了同时具有如下优点的方案:

1)本方案更好地考虑了新闻阅读中的社会性。通过手机应用的安装信息,发现相似用户群,并结合目标用户和相邻用户的行为进行推荐。模型可以发现不同的手机应用代表的用户兴趣(如虎扑-体育,豆瓣-阅读及电影,知乎-碎片化知识等),结合新闻的分布式表示,可以更有针对性地推荐用户感兴趣的新闻。同时,由于模型显式地添加了相邻用户的行为,模型可以更好地跳出目标用户的近期阅读历史,避免推荐结果过于单一;

2)可以响应用户的最新行为。由于在对目标用户编码时使用了用户最近的阅读记录,当目标用户的行为发生变化时,模型可以马上响应,产生新的推荐结果。同时,用户的新的行为也会让总结相邻用户行为的结果产生变化,从而实现更加个性化的推荐结果;

3)可以同时处理冷启动用户、冷启动新闻,同时也不会影响非冷启动用户上的推荐效果。对于冷启动用户,通过提取其手机应用的安装情况,模型可以基于相邻用户的阅读情况完成推荐;对于冷启动新闻,模型是基于新闻内容的分布式表达进行推荐的,而不是基于新闻的id,因此可以完成冷启动新闻的推荐;同时,模型可以从数据中学习如何平衡用户自身行为中的信息和相邻用户行为中的信息。模型提供了针对各种情况的用户和各种新闻的统一的推荐逻辑。

可见,本方案提供了一种更好地描述用户之间关系的方法,使用向量而不是标量,描述的精细度更高;更好地考虑了新闻阅读的社会性,显式地引入相邻用户的行为进行推荐;同时提供了对不同类型用户、不同类型新闻的推荐能力,且能够响应用户的最新行为。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的另一个方面,还提供了一种用于实施上述媒体内容的推送方法的服务器或终端。

图11是根据本发明实施例的一种终端的结构框图,如图11所示,该终端可以包括:一个或多个(图11中仅示出一个)处理器1001、存储器1003、以及传输装置1005,如图11所示,该终端还可以包括输入输出设备1007。

其中,存储器1003可用于存储软件程序以及模块,如本发明实施例中的媒体内容的推送方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的媒体内容的推送方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器1003用于存储应用程序。

处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:

获取第一终端的推送请求,其中,推送请求用于请求向第一终端推送媒体内容;

获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;

基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;

响应于推送请求,向第一终端推送目标媒体内容。

处理器1001还用于执行下述步骤:

提取第一日志中记录的第一终端浏览过的媒体内容的第一特征和第二日志中记录的第二终端浏览过的媒体内容的第二特征,并获取媒体内容库中媒体内容的分布式向量,其中,第一特征用于表示第一终端的浏览时间相邻的媒体内容之间的关联关系,第二特征用于表示第二终端的浏览时间相邻的媒体内容之间的关联关系;

利用第一特征、第二特征、关系向量以及媒体内容库的分布式向量从媒体内容库中选取目标媒体内容。

采用本发明实施例,获取第一终端的推送请求,推送请求用于请求向第一终端推送媒体内容;获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;响应于推送请求,向第一终端推送目标媒体内容,该机制考虑了安装了相似应用的用户可能对相似的媒体内容感兴趣的情况,可以解决相关技术中为用户推荐的媒体内容的准确度较低的技术问题,进而达到准确地为用户进行媒体内容的技术效果。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图11所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图11其并不对上述电子装置的结构造成限定。例如,终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行媒体内容的推送方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

获取第一终端的推送请求,其中,推送请求用于请求向第一终端推送媒体内容;

获取第一终端的第一日志、第二终端的第二日志以及第二终端与第一终端之间的关系向量,其中,第一日志中记录有第一帐号在第一终端上浏览过的媒体内容,第二日志中记录有第二帐号在第二终端上浏览过的媒体内容,关系向量用于表示第一终端和第二终端上安装的应用之间的关系;

基于第一日志、第二日志以及关系向量从媒体内容库中选取目标媒体内容;

响应于推送请求,向第一终端推送目标媒体内容。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

提取第一日志中记录的第一终端浏览过的媒体内容的第一特征和第二日志中记录的第二终端浏览过的媒体内容的第二特征,并获取媒体内容库中媒体内容的分布式向量,其中,第一特征用于表示第一终端的浏览时间相邻的媒体内容之间的关联关系,第二特征用于表示第二终端的浏览时间相邻的媒体内容之间的关联关系;

利用第一特征、第二特征、关系向量以及媒体内容库的分布式向量从媒体内容库中选取目标媒体内容。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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