获取目标媒体文件的方法、装置及存储介质与流程

文档序号:17926169发布日期:2019-06-15 00:25阅读:170来源:国知局
获取目标媒体文件的方法、装置及存储介质与流程

本发明涉及数据处理技术,尤其涉及一种获取目标媒体文件的方法、装置及存储介质。



背景技术:

随着互联网技术的发展,用户可通过移动终端的客户端观看视频、图文等媒体文件,客户端亦可向用户进行优质媒体文件的推荐,以提高媒体文件的点击率,如图1所示,用户可通过内容分发平台(看点)的主feeds进行推荐视频的观看。

相关技术中,采用用户主观制定的规则(如发文媒体等级)评价媒体文件的优劣,或者基于媒体文件的后验统计信息(如点击信息)评价媒体文件的优劣,进而进行目标媒体文件的获取,然而,这种获取方式所采用的评价媒体文件优劣的信息较为片面,使得无法准确的获取优质的目标媒体文件。



技术实现要素:

本发明实施例提供一种获取目标媒体文件的方法、装置及存储介质,能够快速、准确的获取优质的目标媒体文件。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种获取目标媒体文件的方法,包括:

加载多个媒体文件的媒体数据;

基于所述媒体数据,分别对各所述媒体文件进行特征抽取,得到各所述媒体文件的多个特征值,所述多个特征值包括:所述媒体文件的属性特征的特征值及所述媒体文件的统计特征的特征值;

基于各所述媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系,得到各所述媒体文件的评分;

基于各所述媒体文件的评分,选取所述多个媒体文件中预设数量的媒体文件作为目标媒体文件。

第二方面,本发明实施例提供一种获取目标媒体文件的方法,包括:

响应于目标媒体文件的获取指令,发送所述目标媒体文件的获取请求;

接收返回的所述目标媒体文件,所述目标媒体文件基于媒体文件的评分,从多个媒体文件中选取得到,所述媒体文件的评分基于所述媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系计算得到,所述多个特征值包括:所述媒体文件的属性特征的特征值及所述媒体文件的统计特征的特征值;

通过用户界面展示所述目标媒体文件。

第三方面,本发明实施例提供一种获取目标媒体文件的装置,包括:

加载单元,用于加载多个媒体文件的媒体数据;

抽取单元,用于基于所述媒体数据,分别对各所述媒体文件进行特征抽取,得到各所述媒体文件的多个特征值,所述多个特征值包括:所述媒体文件的属性特征的特征值及所述媒体文件的统计特征的特征值;

映射单元,用于基于各所述媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系,得到各所述媒体文件的评分;

选取单元,用于基于各所述媒体文件的评分,选取所述多个媒体文件中预设数量的媒体文件作为目标媒体文件。

第四方面,本发明实施例提供一种获取目标媒体文件的装置,包括:

发送单元,用于响应于目标媒体文件的获取指令,发送所述目标媒体文件的获取请求;

接收单元,用于接收返回的所述目标媒体文件,所述目标媒体文件基于媒体文件的评分,从多个媒体文件中选取得到,所述媒体文件的评分基于所述媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系计算得到,所述多个特征值包括:所述媒体文件的属性特征的特征值及所述媒体文件的统计特征的特征值;

展示单元,用于通过用户界面展示所述目标媒体文件。

第五方面,本发明实施例提供了一种获取目标媒体文件的装置,包括:

存储器,配置为保存获取目标媒体文件的程序;

处理器,配置为运行所述程序,其中,所述程序运行时执行本发明实施例提供的所述获取目标媒体文件的方法。

第六方面,本发明实施例提供一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现本发明实施例提供的所述获取目标媒体文件的方法。

应用本发明上述实施例具有以下有益效果:

应用本发明实施例上述获取目标媒体文件的方法、装置及存储介质,由于在对媒体文件进行特征抽取过程中,得到的媒体文件的特征值包括:媒体文件的属性特征的特征值及媒体文件的统计特征的特征值,即采用的媒体文件的特征既包括了媒体文件的固有属性特征,又包括媒体文件的后验统计特征,采用的特征信息全面,然后基于得到的多个特征值对媒体文件进行评分,所得到的评分能够准确、真实的反应媒体文件的优劣,进而使得目标媒体文件的获取准确度更高。

附图说明

图1为本发明实施例提供的客户端呈现推荐视频的示意图;

图2为本发明实施例提供的用户画像的一个示意图;

图3为本发明实施例提供的获取目标媒体文件的系统100的架构示意图;

图4为本发明实施例提供的获取目标媒体文件的装置的硬件结构示意图;

图5为本发明实施例提供的获取目标媒体文件的方法流程示意图一;

图6为本发明实施例提供的基于用户画像加载媒体数据的示意图;

图7为本发明实施例提供的特征值的组成结构示意图;

图8为本发明实施例提供的获取目标媒体文件的方法流程示意图二;

图9为本发明实施例提供的获取目标媒体文件的架构示意图;

图10为本发明实施例提供的视频评分倒排序的架构示意图;

图11为本发明实施例提供的模型训练的架构示意图;

图12为本发明实施例提供的获取目标媒体文件的装置的组成结构示意图一;

图13为本发明实施例提供的获取目标媒体文件的装置的组成结构示意图二。

具体实施方式

以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。

需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。

例如,本发明实施例提供的获取目标媒体文件的方法包含了一系列的步骤,但是本发明实施例提供的获取目标媒体文件的方法不限于所记载的步骤,同样地,本发明实施例提供的获取目标媒体文件的装置包括了一系列单元,但是本发明实施例提供的装置不限于包括所明确记载的单元,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的单元。

在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。

对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)用户画像,指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型,本文中指根据用户的历史行为数据抽象出的对应用户的层次化的兴趣模型,用于指示用户的兴趣分类,如图2所示为本发明实施例提供的用户画像的一个示意图。

2)媒体文件,互联网中可获取的各种形式(如视频、音频、图文等媒体形式)的媒体,如客户端中呈现的视频文件、包括图文形式的文章等。

3)时新度:用于衡量媒体文件的时效性的参考标准,反映了媒体文件在时间上的及时程度;例如当天发布的视频新闻的时新度高于一周前发布的视频新闻的时新度。

4)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

在一些实施例中,可通过如下方式进行目标媒体文件的获取:采用媒体文件属性评价媒体文件的优劣,基于媒体文件的属性对多个媒体文件进行评分,然后基于评分对多个媒体文件进行排序,基于排序结果进行目标媒体文件的选取;媒体文件的属性如发布媒体的等级、媒体文件等级、媒体文件tag数量等,其中,发文媒体等级是根据该媒体历史发布的媒体文件的质量、数据表现等对该媒体的一个综合打分;类似的,媒体文件等级是根据媒体文件的标题长度、标题关键词个数、正文信息、图片信息、长度等对文章的一个综合打分。这种获取目标媒体文件的方式建立在强先验知识的前提下,采用用户主观制定的规则评价媒体文件的优劣(如认为优质媒体发布的所有媒体文件优于其他媒体发布的媒体文件),主观性较强。

在一些实施例中,还可通过如下方式进行目标媒体文件的获取:基于媒体文件的后验统计信息评价媒体文件的优劣,基于后验统计信息的贪婪排序:如e-greedy算法,汤普森采样等方法。e-greedy算法每次按照当前媒体文件的点击率进行排序,认为当前最优即为全局最优;汤普森采样使用伽马分布建模,通过媒体文件当前的点击量、展示量来建模,每次通过采样的方式来得到媒体文件当前收益值。这种获取目标媒体文件的方式强依赖文章的后验统计信息,使用文章的后验统计信息进行建模,完全抛弃了媒体文件的固有属性信息,并且,贪婪算法一般为局部最优,非全局最优。

图3是本发明实施例提供的获取目标媒体文件的系统100的一个可选的架构示意图,参见图3,为实现支撑一个示例性应用,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。

在一些实施例中,终端400,用于在用户通过客户端触发媒体文件的获取指令时(如打开手机qq的看点页面),发送目标媒体文件的获取请求给服务器;

服务器200,用于接收终端发送的目标媒体文件的获取请求,加载多个媒体文件的媒体数据,基于媒体数据,分别对各媒体文件进行特征抽取,得到各媒体文件的多个特征值,所述多个特征值包括:媒体文件的属性特征的特征值及媒体文件的统计特征的特征值,基于各媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系,得到各媒体文件的评分,基于各媒体文件的评分,选取多个媒体文件中预设数量的媒体文件作为目标媒体文件;

服务器200,还用于发送选取得到的目标媒体文件给终端400;

终端400,还用于通过图形界面410(示例性示出了图形界面410-1和图形界面410-2)上显示接收到的目标媒体文件。

接下来对本发明实施例提供的获取目标媒体文件的装置进行说明。本发明实施例提供的获取目标媒体文件的装置可以实施为硬件或者软硬件结合的方式,下面说明本发明实施例提供的装置的各种示例性实施。

下面对本发明实施例的获取目标媒体文件的装置的硬件结构做详细说明,可以理解,图4仅仅示出了获取目标媒体文件的装置的示例性结构而非全部结构,根据需要可以实施图4示出的部分结构或全部结构。

本发明实施例提供的获取目标媒体文件的装置20包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。获取目标媒体文件的装置20中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统205。

其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。

可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。

本发明实施例中的存储器202用于存储各种类型的数据以支持获取目标媒体文件的装置20的操作。这些数据的示例包括:用于在获取目标媒体文件的装置20上操作的任何可执行指令,如可执行指令,实现本发明实施例的获取目标媒体文件的方法的程序可以包含在可执行指令中。

本发明实施例揭示的获取目标媒体文件的方法可以应用于处理器201中,或者由处理器201实现。处理器201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,获取目标媒体文件的方法的各步骤可以通过处理器201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器201可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器201可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器202,处理器201读取存储器202中的信息,结合其硬件完成本发明实施例提供的获取目标媒体文件的方法的步骤。

接下来对本发明实施例提供的获取目标媒体文件的方法进行说明。在一些实施例中,参见图5,图5是本发明实施例提供的获取目标媒体文件的方法的流程示意图,本发明实施例提供的获取目标媒体文件的方法包括:

步骤301:服务器加载多个媒体文件的媒体数据。

在一些实施例中,服务器可通过如下方式进行媒体数据的加载:

服务器获取目标用户的历史行为数据;基于历史行为数据,确定指示目标用户的兴趣分类的用户画像;加载对应用户画像的多个媒体文件的媒体数据。

这里,在实际实施时,服务器可基于目标用户标识获取目标用户的历史行为数据,如观看/点击过的媒体文件、相应的媒体文件类型、观看/点击次数等,基于目标用户的历史行为数据,进行目标用户的用户画像的计算,以确定目标用户的兴趣分类,图6为本发明实施例提供的基于用户画像加载媒体数据的示意图,参见图6,用户画像中包含科比的标签,服务器加载与科比相关的视频数据,加载的视频文件作为候选视频文件存在,进而在候选视频文件中进行目标视频文件(待推荐视频文件)的选取,以为用户推荐最契合用户兴趣的优质媒体文件。

在实际应用中,服务器加载的媒体文件的媒体数据可包括媒体文件的属性信息(正排数据)及后验统计数据;其中,以媒体文件为视频为例,视频文件的属性信息可以为视频文件的一级分类、二级分类、三级分类、时长、标签(tag)、来源、话题、封面分、质量分、爆款分、时新度、是否组图、是否大图、视频等级、时新度等,视频文件的后验统计数据可以为视频文件的点击数、播放数、点击率、时长、点赞数、评论数、双击数、收藏数、分享数等;其中,后验统计数据可根据离线上报的点击日志、时长日志、行为日志等得到。

步骤302:基于所述媒体数据,分别对各媒体文件进行特征抽取,得到各媒体文件的多个特征值,所述多个特征值包括:媒体文件的属性特征的特征值及媒体文件的统计特征的特征值。

在一些实施例中,服务器分别对每个媒体文件执行以下操作,以实现对各媒体文件的特征抽取:

服务器获取媒体文件的至少两个特征的原始值,所述至少两个特征包括所述媒体文件的属性特征及统计特征;分别基于每个特征的原始值及相应的特征名称,得到各特征的特征值。

这里,在实际实施时,媒体文件的属性特征可以包括以下至少之一:媒体文件一级分类、媒体文件二级分类、媒体文件三级分类、媒体文件时长、媒体文件来源、媒体文件标签、媒体文件标题标签、媒体文件是否是组图、媒体文件是否为大图、媒体文件地域等级、媒体文件内容等级、媒体文件时新度、媒体文件标题字节数、媒体文件标识、媒体文件图片属性、媒体文件发布时间、媒体文件来源、媒体文件地域信息、媒体文件主题、媒体文件标题、媒体文件标题字数、媒体文件来源质量分、媒体文件封面分、媒体文件质量分、媒体文件爆款分、媒体文件封面分与媒体文件分类的交叉、媒体文件封面分与媒体文件时长的交叉、媒体文件质量分与媒体文件分类的交叉、媒体文件质量分与媒体文件时长的交叉、媒体文件爆款分与媒体文件分类的交叉、媒体文件主题与媒体文件发布时间的交叉、媒体文件分类与媒体文件地域的交叉等。

在实际实施时,媒体文件的统计特征可以包括以下至少之一:媒体文件的媒体文件的点击数量、媒体文件的点击率、媒体文件的点赞数量、媒体文件的评论数量、媒体文件的收藏数量、媒体文件的分享数量、媒体文件的转发数量、媒体文件的热度、媒体文件的播放时长、媒体文件的观看完成度、媒体文件的喜欢数/喜欢率、媒体文件的不喜欢数/喜欢率、媒体文件的频道点击数、媒体文件的频道点击率、媒体文件的主题点击数、媒体文件的主题点击率、媒体文件的媒体点击率、媒体文件的来源点击数、媒体文件的来源点击率、媒体文件点击率与点击数的交叉、媒体文件频道与热度的交叉、媒体文件主题与热度的交叉、媒体文件来源点击数与点击率的交叉等。

为了区分媒体文件在不同时间段的统计数据表现,上述部分统计特征可进一步限定在不同的时间窗口内,时间窗口如小时、天、周、月等四个时间窗口,例如媒体文件天/周/月的点击数量、媒体文件天/周/月的点击率、媒体文件天/周/月的点赞数量、媒体文件天/周/月的评论数量、媒体文件天/周/月的收藏数量、媒体文件天/周/月的分享数量、媒体文件天/周/月的转发数量等。

这里对媒体文件的特征交叉进行说明,在本发明实施例中,特征交叉也叫特征组合,是通过将单独的特征进行组合而形成合成特征,以媒体文件点击率与点击数的交叉为例,该特征为将单独特征点击率和点击数进行组合形成的一个合成特征。

在一些实施例中,服务器在得到媒体文件的属性特征及统计特征的原始值之后,可通过如下方式进一步得到各个特征的特征值:

对每个特征的原始值进行哈希,得到各特征的第一哈希值、对每个特征的特征名称字符串进行哈希,得到各特征的第二哈希值;分别基于每个特征的第一哈希值及第二哈希值,得到各特征的特征值。

这里,在实际实施时,服务器具体可通过如下方式得到特征的第一哈希值:服务器将特征的原始值映射到64位的哈希空间,所得到的64位的哈希值即为该特征的第一哈希值。以单特征为例,特征的原始值一般有三种类型,uint64类型,float类型,字符串类型;例如点击数、点赞数等特征一般为uint64类型,点击率、点赞率等特征一般为float类型,发文媒体等特征一般为字符串类型。

在实际实施时,服务器具体可通过如下方式得到特征的第二哈希值:服务器将特征名称字符串映射到64位的哈希空间,所得到的64位的哈希值即为该特征的第二哈希值。

在实际实施时,服务器基于每个特征的第一哈希值及第二哈希值,具体可通过如下方式得到特征的特征值:服务器取第二哈希值的低16位指示特征类型,取第一哈希值的低48位指示特征索引(即该特征在该类特征内的偏移),然后组合成该特征64位的特征值,其中,特征值的前16位表示特征类型,后48位表示特征索引。与连续特征相比,这种哈希特征的方式可以减少特征之间的冲突,增加了特征的区分性,得到的特征的特征值的一个示例如图7所示。

步骤303:基于各媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系,得到各媒体文件的评分。

在一些实施例中,服务器具体可通过预先训练的机器学习模型得到媒体文件的评分,在实际应用中,所采用的机器学习模型可以依据实际需要进行选取,例如:逻辑回归(lr,logisticregression)模型,因子分解机(fm,factorizationmachine)模型、场感知分解机(ffm,field-awarefactorizationmachine)模型、深度因子分解机(deepfm,deepfactorisationmachine)模型、宽度&深度(wide&deep)模型;以选用lr模型进行评分的获取为例,服务器分别将各媒体文件的多个特征值输入预先训练得到的逻辑回归模型(分类模型),得到各媒体文件的评分,所采用的公式可以为:y=w0+w1*x1+w2*x2+w3*x3+…+wn*xn;其中,xn为媒体文件的第n个特征值,wn为xn的系数,y为媒体文件的评分,y∈[0,1],在实际应用中,服务器得到某个媒体文件的n个特征对应的n个特征值后,将n个特征值输入训练得到的lr模型,得到对应该媒体文件的取值介于0和1之间的一个评分。

接下来以采用lr模型为例对lr模型的训练进行说明。在实际实施时,lr模型根据正样本数据及负样本数据训练得到,在媒体文件的一次展示过程中,所展示的多个媒体文件中被请求的媒体文件对应的样本数据作为正样本数据、所展示的多个媒体文件中未被请求的媒体文件对应的样本数据作为负样本数据。

这里,以n值为63,抽取媒体文件的34个属性特征和29个统计特征为例,对于正样本数据来说,以媒体文件的34个属性特征的特征值、29个统计特征的特征值作为输入、以评分为1作为输出,对于负样本数据来说,以媒体文件的34个属性特征的特征值、29个统计特征的特征值作为输入、以评分为0作为输出,训练lr模型根据输入的n个特征值预测相应的媒体文件的评分的性能。

在实际实施时,对于lr模型的训练,可采用在线机器学习ftrl(follow-the-regularized-leader)算法进行大规模稀疏逻辑回归模型的实时训练。

步骤304:基于各媒体文件的评分,选取所述多个媒体文件中预设数量的媒体文件作为目标媒体文件。

在一些实施例中,服务器可通过如下方式进行目标媒体文件的选取:

服务器基于各媒体文件的评分,按照评分高低对多个媒体文件进行排序,得到媒体文件序列,从媒体文件序列中第一个媒体文件开始进行媒体文件选取,直至选取预设数量的媒体文件作为目标媒体文件。

以服务器得到10个媒体文件的评分、预设数量为3为例进行说明。服务器得到的10个媒体文件的评分均介于0和1之间,服务器按照评分由高到低的顺序对得到的10个评分进行排序,如0.9、0.85、0.83、0.8、0.75、0.7、0.66、0.64、0.6、0.58,选取评分为0.9、0.85、0.83所对应的媒体文件作为目标媒体文件。

在一些实施例中,服务器可基于选取的目标媒体文件进行媒体文件的推送,服务器发送目标媒体文件至目标用户的客户端进行呈现。由于所推送的目标媒体文件为基于用户画像确定的优质的媒体文件,更契合目标用户需求,进而提高媒体文件的点击率及播放率。

接下来以媒体文件为视频文件为例对本发明实施例的获取目标媒体文件的方法进行说明,图8是本发明实施例提供的获取目标媒体文件的方法的流程示意图,参见图8,本发明实施例提供的获取目标媒体文件的方法包括:

步骤401:响应于目标视频文件的获取指令,目标用户客户端发送目标视频文件的获取请求给服务器。

这里,在实际应用中,目标用户客户端可以为任意具备视频文件推送(推荐)功能的客户端,例如qq客户端中的看点模块,当目标用户通过qq客户端点击看点页面时,qq客户端发送目标视频文件(推荐视频)的获取请求给服务器,以在看点页面进行视频推荐。

步骤402:服务器基于接收到的所述获取请求,确定目标用户的用户画像。

在实际实施时,服务器解析收到的目标视频文件的获取请求,得到目标用户标识,基于目标用户标识获取目标用户的历史行为数据,如视频观看数据、视频点赞数据、视频评论数据、视频收藏数据等,然后基于目标用户的历史行为数据,计算目标用户的用户画像,以确定目标用户的兴趣分类。

步骤403:服务器基于目标用户的用户画像,加载相应的多个视频的视频数据。

这里,由于目标用户的用户画像为基于目标用户的历史行为数据抽象出的标签化的用户模型,也即,基于目标用户的历史行为数据为目标用户贴标签,而标签为能表示目标用户某一维度特征的标识,因此,在实际实施时,可基于抽象出的用户模型中的标签获取与标签相关的视频数据(视频正排数据),这里的视频数据包括视频标题、视频描述、分类、标签、点赞数、评论数等。

步骤404:服务器基于加载的视频数据分别对每个视频进行特征抽取,得到各视频的n个特征值。

这里,在实际实施时,对于每个视频文件来说,服务器通过如下方式实现特征抽取:服务器获取包括视频的属性特征及统计特征的n个特征的原始值,然后分别将每个特征的原始值映射到64位的哈希空间,取所得到的每个64位哈希值的低48位指示特征索引,然后分别将每个特征的特征名称字符串映射到64位的哈希空间,取所得到的每个64位哈希值的低16位指示特征类型,然后将指示特征类型的16位哈希值及指示特征索引的48位哈希值,组合成前16位表示特征类型、后48位表示特征索引的64位的该特征的特征值。服务器采用相同的方法得到每一个视频的n个特征值,在实际应用中,n值可依据实际需要进行设定。

具体地,服务器可采用如下公式进行特征值的计算:

y=hash((feature_name&0xffff)<<48+feature_value&0xffffffffffff。

步骤405:服务器分别将每个视频的n个特征值输入训练得到的lr模型,得到各个视频的评分。

步骤406:服务器基于得到的各个视频的评分,从所述多个视频中选取预设数量的目标视频,发送相应的视频数据给目标用户客户端。

这里,服务器在进行视频文件选取时,可基于评分高低进行选取,具体地,可按照评分高低对多个视频文件进行排序,得到视频文件序列,从视频文件序列中第一个视频文件开始进行视频文件选取,直至选取预设数量的视频文件作为目标视频文件。

在实际实施时,服务器可采用流式传输的方式发送选取视频的视频数据(如视频封面数据)给目标用户客户端。

步骤407:目标用户客户端展示服务器发送的视频数据。

在实际应用中,目标用户基于客户端展示的视频数据进行视频观看,如目标用户点击想要观看的视频,客户端向服务器请求该视频的视频数据,同时记录对应该视频的用户操作数据,基于当前展示的视频,构建新的正样本数据(在当前的一次视频展示过程中,用户请求的视频对应的样本数据),以及负样本数据(在当前的一次视频展示过程中,用户请求的视频对应的样本数据),然后,采用构建的正样本数据及负样本数据更新上述训练得到的lr模型,得到参数更新后的lr模型,以用于后续对视频的评分获取。

这里,对客户端的一次视频展示进行说明,由于在实际应用中,用户对视频的请求(点击)相对于视频展示存在延时,因此,设置时间窗口,视为一个时间窗口(具体可依据实际情况进行设定,如15分钟)内发生的对于视频的请求(点击),均为对应该次视频展示过程中的视频请求;以时间窗口为15分钟为例,从视频展示开始15分钟内,展示的视频中,用户请求的视频对应的样本数据均为正样本数据,在该15分钟内,展示的视频中,用户未请求的视频对应的样本数据均为负样本数据。

接下来以媒体文件为视频文件、客户端为qq客户端,qq客户端中设置有视频推荐引擎(看点)为例,对本发明实施例的获取目标媒体文件的方法进行说明。图9是本发明实施例提供的获取目标媒体文件的架构示意图,参见图9,本发明实施例提供的获取目标媒体文件的方法主要包括离线部分及在线部分;其中,离线部分主要是根据用户的历史行为数据计算用户画像,主要包含tag、频道等不同维度的画像,在线部分主要包含候选视频的召回、视频的排序打分和视频多样性展示等,接下来对各部分分别进行说明。

对于离线部分来说,用户画像是对用户兴趣的长期积累,是一个层次化的兴趣模型,如图2所示,从顶层往下依次是一级分类、二级分类、tag;以“科比”这个tag为例,即为召回视频库中“科比”相关的视频作为候选视频。在实际实施时,当用户启动推荐服务时,服务器可基于客户端发送的请求中携带的用户标识,对该用户进行用户画像计算,以进行相关视频的召回。

对于在线部分来说,图10是本发明实施例提供的视频评分倒排序的架构示意图,参见图10,包括视频排序部分及模型训练部分;接下来对各部分分别进行说明。

对于视频排序部分来说,包括视频数据加载、特征抽取及评分排序。

首先,对视频数据加载进行说明。

这里,在实际实施时(即推荐服务启动时),服务器会基于用户画像加载相应的视频的正排数据,正排数据包含了视频的全部属性特征信息,如视频的一级分类、二级分类、三级分类、时长、tag、来源、话题、封面分、质量分、爆款分、时新度、是否组图、是否大图、视频等级、时新度等视频相关的全部属性特征数据;同时,服务器还会加载相应视频的统计特征数据(视频在曝光之后的一系列的数据表现信息),如视频的点击数、播放数、点击率、时长、点赞数、评论数、双击数、收藏数、分享数等不同统计特征数据。其中,统计特征数据可根据离线上报的点击日志、时长日志、行为日志等统计得到,以离线统计文件的形式推送到线上,在加载正排数据的时候一并加载进去,为后续特征抽取提供数据支撑。

接下来对特征抽取进行说明。特征抽取主要特征工程、特征索引及特征编码三部分。

其中,特征工程主要是从加载的视频数据中抽取视频的属性特征及统计特征,得到各个特征的原始值。

在一些实施例中,从视频内容角度出发,视频包含一级分类、二级分类、三级分类、时长、tag、来源、话题、封面分、质量分、爆款分、时新度、是否组图、是否大图、文章等级、时新度等重要属性,本发明实施例针对性的抽取了属性单特征,针对其中比较重要的单属性特征,如话题、时长、封面分、质量分、爆款分等,增加其与一级分类、二级分类、三级分类等视频基础类别的交叉,最终,得到26类单属性特征,8类交叉属性特征,共计34类视频属性特征。

以视频为视频新闻为例,可进行如下属性特征的抽取:视频新闻一级分类、视频新闻二级分类、视频新闻三级分类、视频新闻时长、视频新闻来源、视频新闻tag、视频新闻标题tag、视频新闻是否是组图、视频新闻是否为大图、视频新闻地域新闻等级、视频新闻事件等级、视频新闻时新度、视频新闻标题字节数、视频新闻id、视频新闻图片属性、视频新闻发布时长、视频新闻发文时间、视频新闻地域、视频新闻话题、视频新闻标题、视频新闻标题字数、视频新闻来源质量分、视频新闻封面分、视频新闻质量分、视频新闻爆款分、视频新闻封面分与视频分类交叉、视频新闻封面分与视频时长交叉、视频新闻质量分与视频分类交叉、视频新闻质量分与视频时长交叉、视频新闻爆款分与视频新闻分类交叉、视频新闻爆款分与视频时长交叉、视频新闻话题与视频新闻发布时长交叉、视频新闻分类与视频地域交叉。

从推荐业务角度出发,视频在曝光之后有一系列的数据表现信息,如视频的点击数、播放数、点击率、时长、点赞数、评论数、双击数、收藏数、分享数等不同统计特征,本发明实施例针对性的添加了视频上述后验单统计特征,同时,为了区分视频在不同时间段的数据表现,本发明实施例针对上述部分重要单统计特征添加了不同时间窗口内的统计特征,如小时、天、周、月等四个时间窗口,共计23类单统计特征、6类交叉特征,最终得到29类视频后验统计特征。

以视频为视频新闻为例,可进行如下统计特征的抽取:视频新闻小时点击率、视频新闻天点击率、视频新闻周点击率、视频新闻热度、视频新闻天/周/月播放数、视频新闻天/周/月分享数、视频新闻天/周/月转发数、视频新闻天/周/月收藏数、视频新闻天/周/月biu数、视频新闻来源点击率、视频新闻来源点击数、视频新闻阅读时长、视频新闻评论数、视频新闻评论率、视频新闻阅读完成度、视频新闻用户喜欢数、视频新闻喜欢率、视频新闻用户不喜欢数、视频新闻不喜欢率、视频新闻小时点击数、视频新闻频道点击率、视频新闻频道点击数、视频新闻话题点击数、视频新闻话题点击率、视频新闻媒体点击率、视频新闻点击率与点击数的交叉、视频新闻周点击率和点击率的交叉、视频新闻小时级ctr与点击数的交叉、视频新闻频道与热度的交叉、视频新闻话题与视频热度的交叉、视频新闻来源点击数与点击率的交叉。

服务器执行特征工程操作时,基于加载的视频数据,获取上述34类视频属性特征的原始值以及上述29类视频后验统计特征的原始值。

特征索引为计算该特征在该类特征内的偏移,特征做索引时,一般会有一个或者多个输入值(即原始值),这里根据输入的一个或者多个值来进行特征索引的计算,在实际实施时,可通过将特征的原始值映射至64位的哈希空间得到。

以单特征为例,输入一般有三种类型,uint64类型,float类型,字符串类型。例如点击数、点赞数等特征,一般为uint64类型,此时特征索引即为输入x值;例如点击率、点赞率等特征,一般为float特征,此时特征索引为x*10000;例如发布媒体等特征,一般为字符串特征,此时特征索引为hash(x),针对字符串哈希计算值。

以交叉特征为例,输入一般有多个参数,以频道、点击数的交叉特征为例,这两个单特征分别对应两个uint64值,分别为x1、x2,本发明实施例通过乘质数进行连接,具体为x1*13131+x2的方式进行连接。此处可进行拓展,输入值为任意格式的特征都可以根据上述单特征计算索引的方式得到各自的索引值,然后通过上述乘以质数的方式进行连接。同理,可从2个输入特征拓展到多个输入特征。

特征编码主要为特征值的编码计算。为了增加特征的区分性,兼顾在线性能,本发明实施例把特征值映射到了64位的哈希空间。使用64位空间的前16位表示特征类型,通过将特征名称字符串哈希,取低16位得到;使用后48位表示特征索引,通过将特征值哈希,取低48位得到,即为:

y=hash((feature_name&0xffff)<<48+feature_value&0xffffffffffff;

与连续特征相比,这种哈希特征的方式可以减少特征之间的冲突,增加了特征的区分性。

接下来对评分排序进行说明。

服务器将特征抽取得到的视频的多个特征值输入训练得到的lr模型,得到对应该视频的评分。lr模型的前向计算方式为:

y=w0+w1*x1+w2*x2+w3*x3+…+wn*xn;

其中,xn为视频的第n个特征值,wn为xn的系数,y为视频的评分,y∈[0,1]。

在实际实施时,可使用stl的unordered_map容器存取参数,但是查找耗时过高,亦可使用googledense_map的容器存取参数,以空间换时间,可降低约2/3的查找耗时。

服务器得到各个视频的评分后,基于评分高低对各个视频进行排序,以基于排序结果,选取评分高的预设数量的视频进行视频推荐。

接下来对模型训练部分进行说明。图11是本发明实施例提供的模型训练的架构示意图,参见图11,模型训练主要包含日志合并、特征抽取和模型训练三个部分,接下来分别进行说明。

日志合并主要是根据点击日志、展示日志、特征日志将一次请求的全部信息聚合在一起。因为点击相对于展示一般延时比较大,所以存在时间窗口问题,本发明实施例采用15min的时间窗口,认为一个展示的点击都是在15min之内发生的。针对每次请求的每一篇展示文章,查找是否被点击及相应的特征数据,合并好的日志数据写在kafka上。

特征抽取运行在spark框架上,根据合并好的日志数据,分别抽取对应的特征数据,构建模型训练的正样本和负样本,其中被点击的视频对应的样本数据为正样本数据,未被点击的视频对应的样本数据为负样本数据,本发明实施例将正样本数据、负样本数据分别写到kafka的两个topic上,供模型训练侧读取。在抽取特征的同时,本发明同时统计了训练样本数、测试样本数、平均样本长度、正样本率等核心指标,用以监控模型的运行状态,例如,若进行模型训练的样本中正样本率为0,即不存在正样本,则说明当前训练得到的模型不准确。在实际应用中,具体可采用开源框架mxnet进行模型训练。

图12为本发明实施例提供的获取目标媒体文件的装置的组成结构示意图,该装置位于服务器侧,参见图12,本发明实施例提供的获取目标媒体文件的装置包括:

加载单元121,用于加载多个媒体文件的媒体数据;

抽取单元122,用于基于所述媒体数据,分别对各所述媒体文件进行特征抽取,得到各所述媒体文件的多个特征值,所述多个特征值包括:所述媒体文件的属性特征的特征值及所述媒体文件的统计特征的特征值;

映射单元123,用于基于各所述媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系,得到各所述媒体文件的评分;

选取单元124,用于基于各所述媒体文件的评分,选取所述多个媒体文件中预设数量的媒体文件作为目标媒体文件。

在一些实施例中,所述加载单元,具体用于获取目标用户的历史行为数据;

基于所述历史行为数据,确定指示所述目标用户的兴趣分类的用户画像;

加载对应所述用户画像的多个媒体文件的媒体数据。

在一些实施例中,所述抽取单元,具体用于分别对各所述媒体文件执行以下操作:

获取所述媒体文件的至少两个特征的原始值,所述至少两个特征包括所述媒体文件的属性特征及统计特征;

分别基于每个所述特征的原始值及相应的特征名称,得到各所述特征的特征值。

在一些实施例中,所述抽取单元,具体用于对每个所述特征的原始值进行哈希,得到各所述特征的第一哈希值、对每个所述特征的特征名称字符串进行哈希,得到各所述特征的第二哈希值;

分别基于每个所述特征的第一哈希值及第二哈希值,得到各所述特征的特征值。

在一些实施例中,所述映射单元,具体用于分别将各所述媒体文件的多个特征值输入逻辑回归模型,得到各所述媒体文件的评分;

所述逻辑回归模型根据正样本数据及负样本数据训练得到;

其中,在媒体文件的一次展示过程中,所展示的多个媒体文件中被请求的媒体文件对应的样本数据作为正样本数据、所展示的多个媒体文件中未被请求的媒体文件对应的样本数据作为负样本数据。

在一些实施例中,所述选取单元,具体用于基于各所述媒体文件的评分,按照评分高低对所述多个媒体文件进行排序,得到媒体文件序列;

从所述媒体文件序列中第一个媒体文件开始进行媒体文件选取,直至选取预设数量的媒体文件作为目标媒体文件。

在一些实施例中,所述装置还包括:

推送单元,用于发送所述目标媒体文件至目标用户的客户端进行呈现。

图13为本发明实施例提供的获取目标媒体文件的装置的组成结构示意图,参见图13,该装置位于客户端侧,本发明实施例提供的获取目标媒体文件的装置包括:

发送单元131,用于响应于目标媒体文件的获取指令,发送所述目标媒体文件的获取请求;

接收单元132,用于接收返回的所述目标媒体文件,所述目标媒体文件基于媒体文件的评分,从多个媒体文件中选取得到,所述媒体文件的评分基于所述媒体文件的多个特征值、特征值与媒体文件评分之间的映射关系计算得到,所述多个特征值包括:所述媒体文件的属性特征的特征值及所述媒体文件的统计特征的特征值;

展示单元133,用于通过用户界面展示所述目标媒体文件。

本发明实施例还提供了一种获取目标媒体文件的装置,所述装置包括:

存储器,用于存储可执行程序;

处理器,用于执行所述存储器中存储的可执行程序时,实现本发明实施例提供的上述获取目标媒体文件的方法。

本发明实施例还提供了一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现本发明实施例提供的上述获取目标媒体文件的方法。

这里需要指出的是:以上涉及获取目标媒体文件的装置的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述,对于本发明实施例所述获取目标媒体文件的装置中未披露的技术细节,请参照本发明方法实施例的描述。

实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(ram,randomaccessmemory)、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ram、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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