一种视频推荐列表的推送方法及装置
技术领域
本发明涉及信息推送技术领域,尤其涉及一种视频推荐列表的推送方法及装置。
背景技术
近年来随着机器学习系统的发展,推荐系统开始支持个性化内容的推荐。个性化推荐策略是需要结合不同用户的实际使用情况进行差异化处理的,做到千人千面。目前业界常用的为基于协同过滤的个性化推荐方法。协同过滤推荐(Collaborative Filteringrecommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。协同过滤具有“群体智慧”的优势,并且成本比较低,可以快速应用到业务场景。但是它过分依赖用户的行为,捕获新视频和实时热点视频的能力较差,并且基于协同过滤的推荐结果不具有可解释性,不利于运营人员的人为干预和广告投放,而目前的个性化视频推荐系统则依赖用户的观看和点击行为,无法实时的捕获新视频和实时热点视频,进而影响个性化视频推荐的新颖性,同时其基于用户的观看行为列表,倾向向用户推荐类似视频,话题集中且单一,无法扩展用户的兴趣,进而影响个性化推荐的多样性,以及其完全基于行为进行推荐,缺乏推荐的可解释性,推荐的视频无法进行有效的干预,不利于企业的个性化推荐的干预和抵抗风险的能力。
发明内容
本发明的主要目的在于提供一种视频推荐列表的推送方法及装置,以解决现有技术中视频推荐系统无法根据用户兴趣为用户推荐视频的问题。
该部分内容与权利要求部分内容一致,待权利要求部分定稿后,我再补充!
本发明实施例提供的视频推荐列表的推送方法及装置,通过获取用户近期观看视频的兴趣标签,从而根据该兴趣标签向用户推荐其感兴趣的视屏,使得推荐视频更加具有针对性,实现了按照用户兴趣进行视频推荐的目的,在提高了用户满意度的同时也提高了视频的点击率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例1中提供的视频推荐列表的推送方法的流程图;
图2是本发明实施例3中提供的视频推荐列表的推送装置的结构框图。
具体实施方式
为了解决现有技术的视频推荐系统无法根据用户兴趣为用户推荐视频的问题,本发明提供了一种视频推荐列表的推送方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
实施例1
本实施例提供了一种视频列表推送方法,图1是该方法的流程图,如图1所示,该方法包括如下处理:
步骤101:获取用户在与当前时刻相邻的第一预设时间段内观看的视频对应的第一兴趣标签,该第一兴趣标签用于标识视频对应的关键字;
步骤102:查找与第一兴趣标签对应的视频,生成第一视频列表;
步骤103:将第一视频列表推送给所述用户。
上述方法进一步还可以包括:在获取用户在与当前时刻相邻的第一预设时间段内观看的视频对应的第一兴趣标签之前,获取用户对应的第二兴趣标签,与用户对应第二兴趣标签用于标识用户感兴趣的关键字;查找与用户对应的第二兴趣标签对应的视频,生成第二视频列表;在第一视频列表中视频数目未达到预设数目时,使用第二视频列表中的视频对第一视频列表进行补充。
进一步的,上述方法还可以包括:在获取用户在与当前时刻相邻的第一预设时间段内观看的视频对应的第一兴趣标签之前,根据视频的主题名称以及视频上传者对视频的文字描述生成视频的文字描述信息;对文字描述信息进行关键词识别以及兴趣关键词切分,得到视频对应的兴趣关键词;使用视频对应的兴趣关键词与兴趣关键词对应的第一兴趣标签进行映射,得到视频与第一兴趣标签的对应关系。
其中,用户与第二兴趣标签的对应关系的建立方法包括如下处理:确定出用户在第二预设时间段内观看完成的视频,生成第三视频列表,其中,用户观看完成的视频包括用户观看至少完成50%的视频;根据第三视频列表中所有视频对应的兴趣标签以及所有视频被观看的时间点按照公式(1)计算用户与兴趣标签的匹配度;
其中,s(vm,tj)为兴趣标签与视频的匹配度,timeDelay(vm)为视频被用户观看的时间点对应的系数,视频被用户观看完成的时间点越靠前,系数越小;将第三视频列表中所有视频对应的兴趣标签与计算得到各匹配度建立对应关系,第三视频列表中的所有兴趣标签为用户的第一兴趣标签。
其中,将第一视频列表推送给用户具体可以包括:将第一视频列表以及第二视频列表进行合并,得到用户的视频推荐列表;按照公式(2)计算视频推荐列表中视频的推荐优先级;
用户与兴趣标签的匹配度按照公式(3)进行计算:
其中,s(vm,tj)为视频与兴趣标签的匹配度,timeDelay(vm)为视频被用户观看的时间点对应的系数,视频被用户观看完成的时间点越靠前,系数越小;其中,s(ui,tj)为用户与兴趣标签的匹配度,s(vk,tj)为视频与兴趣标签的匹配度;
其中,视频与兴趣标签的匹配度按照公式(4)进行计算:
s(vi,kj)=tf(vi,kj)×idf(kj)
其中,tf(vi,kj)为视频与兴趣标签的词频tf匹配度,idf(kj)为兴趣标签kj的逆向文件频率idf匹配度,S(vi,kj)为视频与兴趣标签的匹配度,s(vi,tj)为视频与兴趣标签的匹配度;根据计算出的推荐优先级的高低在视频推荐列表中对视频进行排序;将排序后的视频推荐列表推送给用户。
其中,将第一视频列表推送给用户具体可以包括:在根据计算出的推荐优先级的高低在视频推荐列表中对视频进行排序之后,对视频推荐列表进行如下处理:当视频推荐列表中出现至少三个属于同一上传者的视频时,仅保留该类视频中推荐优先级最高的两个视频;当视频推荐列表中出现至少三个属于同一第二级别的视频时,仅保留该类视频中推荐优先级最高的两个视频;当视频推荐列表中出现在第一预设时间段内,用户观看完成的视频时,在视频推荐列表中删除该视频;当视频推荐列表中出现至少三个属于同一第三级别的视频时,仅保留该类视频中推荐优先级最高的两个视频;将处理后的视频推荐列表推送给用户。
本实施例提供的视频列表推送装置,利用视频描述进行视频主题的捕获,可以实时获取视频对应的兴趣标签,有效的捕获热点视频和新视频,进行实时的个性视频推荐,增加视频推荐的实时性;利用用户的兴趣标签进行视频推荐,可以充分挖掘用户的兴趣,进行视频的精准推荐,并且从多个兴趣标签的维度进行推荐,提高用户推荐视频列表的多样性;通过获取用户的兴趣标签和视频的兴趣标签,利运维人员对推荐视频的分析和用户的分析,从而能够对推荐视频列表进行人工干预;基于用户的兴趣标签推荐,可以让个性化视频推荐具有可解释性,并且利用用户的信息反馈,提高用户的体验。
实施例2
本实施例提供了一种视频列表推送装置,该装置用于实现上述实施例1中提供的视频列表推送方法,以下对该装置进行说明。
该装置主要包括以下几个模块:
视频标签生成模块,主要用于实时生成视频所对应的兴趣标签,并且生成视频对应不同标签的权重(即视频与兴趣标签的匹配度)。
用户实时兴趣标签生成模块,根据用户的观看、订阅等行为,对用户标注其感兴趣的兴趣标签,表征用户的兴趣。
视频实时召回模块,本模块主要是利用用户感兴趣的标签和视频对应的兴趣标签,通过兴趣标签召回用户感兴趣的视频。
视频排序模块,本模块主要对召回的视频进行排序,从而筛选出最符合用户个性化需求的视频,可以采用CTR(Click Through Rate,点击通过率)模型进行排序。
个性化列表生成模块,本模块主要是对排序后的视频列表进行筛选和控制,增加视频的多样性,并去除非法视频。
以下分别对上述各模块的功能进行说明:
视频标签实时生成模块:
本模块用于实时生成视频对应的兴趣标签,并生成兴趣标签和视频的权重,该模块具体可以包括以下组成部分:
视频描述的生成模块,视频内容和主题的描述,此处主要使用视频的标题名称和视频上传者对视频的文字描述来表征视频的内容和主题,在本实施例中,视频Vi对应的视频描述为Si。
兴趣词分词模块,由于视频描述生成模块利用文字信息对视频进行描述,需要对文字信息进行关键词识别,并进行切分。此模块可以采用最长公共字符串匹配算法进行兴趣词分词,在本实施例中,视频Vi对应的兴趣词为{k1,k2,…kn}。
兴趣标签映射模块,此模块主要用于对视频进行兴趣标签的标注。利用视频对应的兴趣词和兴趣标签对应的兴趣词进行映射,将视频标注其对应的兴趣标签。如视频V1对应的兴趣词为{k1,k2,..kn},其中,k1对应的标签为t1,K2对应的标签为t2依次类推,可以获得视频对应的标签为{t1,t2..tn}。
视频兴趣词标签权重计算模块,本模块主要是计算视频与兴趣标签的相似度或匹配度,表征兴趣标签对视频主题的描述度。本模块采用了tf-idf(termfrequency–inversedocument frequency,词频-逆向文件频率)的方法进行视频标签权重计算,具体计算公式如下:
s(vi,kj)=tf(vi,kj)×idf(kj)
其中,tf(vi,kj)为视频与兴趣词的tf权重,idf(kj)为兴趣词kj的IDF权重。S(vi,kj)为视频与兴趣词的匹配权重,s(vi,tj)为视频与兴趣标签的匹配权重。
用户兴趣标签实时生成模块:
用户兴趣标签实时生成模块,主要用于根据用户的静态信息和操作行为对用户的兴趣进行挖掘和刻画,生成用户对应的兴趣标签,并计算用户与其对应的兴趣标签的匹配度,该模块具体可以包括以下组成部分:用户兴趣视频列表模块,主要是用来获取用户对视频的观看行为,为用户兴趣标签挖掘提供数据。本模块定义用户兴趣视频为用户对视频的观看完成度超过50%的视频,用户观看完成度定义如下:
其中,watched(vi)为用户对视频vi的有效观看时长,len(vi)为视频vi的总时长。
通过用户观看完成度的定义,可以获取用户ui对应的兴趣视频列表list(ui)={v1,v2,..vn}。
用户兴趣标签生成模块,描述用户对应的兴趣主题。通过用户兴趣视频列表,可以获得其对应的用户兴趣标签。获取视频vi对应的兴趣标签{t1,t2,..tn},通过兴趣视频的映射,可以直接获取用户对应的兴趣标签,ui->vi->{t1,t2,..tn},即用户ui对应的兴趣标签为cl(ui)={t1,t2,..,tn}。
用户与兴趣标签权重模块,对用户与兴趣标签进行匹配度描述,具体的匹配度计算公式如下:
其中,s(vm,tj)为视频与兴趣标签的权重,timeDelay(vm)为对视频进行的时间衰减惩罚(即,为视频被用户观看的时间点对应的系数),使得距离用户观看时间较长的时间进行降权,反之,用户近期观看的视频权重相对较大。
用户兴趣标签输出模块,本模块主要是将实时计算的用户兴趣标签数据,实时对外提供,封装为对应的数据服务接口。
视频实时召回模块:
该模块主要用于从海量的视频中找出用户可能感兴趣的视频候选列表,作为用户个性化推荐的候选视频,该模块具体可以包括如下组成部分:用户实时观看视频列表生成模块,用于生成用户实时观看的视频列表。本模块采用上述定义的用户观看完成度指标,获取用户最近一天且用户观看完成度大于50%的视频,定义近期观看视频列表为wl={v1,v2,..vn}。
用户视频标签召回模块,基于用户兴趣标签进行视频个性化推荐。根据上述获得了用户对应的兴趣标签cl(ui),通过兴趣标签可以直接获得用户感兴趣的视频cv(ui)。
用户视频标签召回筛选模块,本模块分为两部分筛选,用户实时兴趣视频以及用户近期兴趣视频。
为了提高用户近期兴趣视频的曝光概率,利用上述得到的wl(ui)用户实时观看的视频列表,将其对应的兴趣标签下的视频进行召回,获得实时召回兴趣视频列表onTime(ui)。
获取上述获取到的用户视频列表nearTime(ui)。
用户视频召回列表输出模块,本模块主要召回视频进行合并输出,视频合并的原则为实时召回视频列表优先,当实时召回视频个数不满足召回视频的个数时,从用户近期兴趣召回视频列表中进行补充。
视频排序模块:
该视频排序模块用于将用户召回的候选视频列表中的视频进行排序,从而确定视频列表中每个视频被推荐的优先级。具体采用如下的计算方法:
其中,s(ui,tj)为用户兴趣标签的权重(即用户与兴趣标签的匹配度),s(vk,tj)为视频标签的权重(即视频与兴趣标签的匹配度)。
个性化列表生成模块:
在对用户进行视频个性化推荐时,不仅需要预测用户的感兴趣的视频,同时还要考虑推荐视频的多样性,基于此,该模块主要对视频进行筛选和控制,可以基于以下规则对视频推荐列表中的视频进行筛选。
视频推荐列表中的视频,最多不能出现三个视频为同一上传者的视频。否则过滤掉优先级排序低的视频;推荐的视频中,最多不能出现三个视频为同一个二级频道的视频,否则过滤掉优先级排序低的视频。推荐的视频列表中,不能出现用户近期已经观看过的视频。推荐的视频列表中,不能出现三个视频为同一个三级兴趣标签下的视频。
基于以上原则,对视频推荐列表中的视频进行筛选,生成满足要求的视频推荐列表。
另外,将不满足推荐列表长度的视频列表进行热点视频补充,并返回给请求用户,需要说明的是,在本发明中热点视频为一周内视频观看排序的热点视频,将此视频列表作为热点视频源。
实施例3
本实施例提供了一种视频列表推送装置,该装置可以包括上述实施例2中提供的视频列表推送装置的所有组成部分,且,该装置中的各组成模块可以是上述装置或上述装置中的某一模块的一个组成部分,图2是该装置的结构框图,如图2所示,该装置20包括如下组成部分:
第一获取模块21,用于获取用户在与当前时刻相邻的第一预设时间段内观看的视频对应的第一兴趣标签,所述第一兴趣标签用于标识所述视频对应的关键字;
第一查找模块22,用于查找与第一兴趣标签对应的视频,生成第一视频列表;
推送模块23,用于将所述第一视频列表推送给所述用户。
进一步的,上述装置还可以包括:第二获取模块,用于在获取用户在与当前时刻相邻的第一预设时间段内观看的视频对应的第一兴趣标签之前,获取用户对应的第二兴趣标签,与用户对应第二兴趣标签用于标识用户感兴趣的关键字;第二查找模块,用于查找与用户对应的第二兴趣标签对应的视频,生成第二视频列表;补充模块,用于在第一视频列表中视频数目未达到预设数目时,使用第二视频列表中的视频对第一视频列表进行补充。
进一步的,上述装置还可以包括:生成模块,用于获取用户在与当前时刻相邻的第一预设时间段内观看的视频对应的第一兴趣标签之前,根据视频的主题名称以及视频上传者对视频的文字描述生成视频的文字描述信息;切分模块,用于对文字描述信息进行关键词识别以及兴趣关键词切分,得到视频对应的兴趣关键词;映射模块,用于使用视频对应的兴趣关键词与兴趣关键词对应的第一兴趣标签进行映射,得到视频与第一兴趣标签的对应关系。
其中,上述装置还可以包括建立模块,该建立模块用于建立用户与第二兴趣标签的对应关系,该建立模块具体可以包括:具体可以包括:确定单元,用于确定出用户在第二预设时间段内观看完成的视频,生成第三视频列表,其中,用户观看完成的视频包括用户观看至少完成50%的视频;第一计算单元,用于根据第三视频列表中所有视频对应的兴趣标签以及所有视频被观看的时间点按照公式(1)计算用户与兴趣标签的匹配度;
其中,s(vm,tj)为兴趣标签与视频的匹配度,timeDelay(vm)为视频被用户观看的时间点对应的系数,视频被用户观看完成的时间点越靠前,系数越小;建立单元,用于将第三视频列表中所有视频对应的兴趣标签与计算得到各匹配度建立对应关系,第三视频列表中的所有兴趣标签为用户的第一兴趣标签。
其中,推送模块23具体可以包括:合并单元,用于将第一视频列表以及第二视频列表进行合并,得到用户的视频推荐列表;第二计算单元,用于按照公式(2)计算视频推荐列表中视频的推荐优先级;
用户与兴趣标签的匹配度按照公式(3)进行计算:
其中,s(vm,tj)为视频与兴趣标签的匹配度,timeDelay(vm)为视频被用户观看的时间点对应的系数,视频被用户观看完成的时间点越靠前,系数越小;其中,s(ui,tj)为用户与兴趣标签的匹配度,s(vk,tj)为视频与兴趣标签的匹配度;其中,视频与兴趣标签的匹配度按照公式(4)进行计算:
s(vi,kj)=tf(vi,kj)×idf(kj)
其中,tf(vi,kj)为视频与兴趣标签的词频tf匹配度,idf(kj)为兴趣标签kj的逆向文件频率idf匹配度,S(vi,kj)为视频与兴趣标签的匹配度,s(vi,tj)为视频与兴趣标签的匹配度;
排序单元,用于根据计算出的推荐优先级的高低在视频推荐列表中对视频进行排序;推送单元,用于将排序后的视频推荐列表推送给用户。
其中,上述推送模块25具体用于:在根据计算出的推荐优先级的高低在视频推荐列表中对视频进行排序之后,对视频推荐列表进行如下处理:当视频推荐列表中出现至少三个属于同一上传者的视频时,仅保留该类视频中推荐优先级最高的两个视频;当视频推荐列表中出现至少三个属于同一第二级别的视频时,仅保留该类视频中推荐优先级最高的两个视频;当视频推荐列表中出现在第一预设时间段内,用户观看完成的视频时,在视频推荐列表中删除该视频;当视频推荐列表中出现至少三个属于同一第三级别的视频时,仅保留该类视频中推荐优先级最高的两个视频;将处理后的视频推荐列表推送给用户。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。