CN109284417B - 视频推送方法、装置、计算机设备和存储介质 - Google Patents
视频推送方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109284417B CN109284417B CN201810981201.2A CN201810981201A CN109284417B CN 109284417 B CN109284417 B CN 109284417B CN 201810981201 A CN201810981201 A CN 201810981201A CN 109284417 B CN109284417 B CN 109284417B
- Authority
- CN
- China
- Prior art keywords
- video
- user
- similarity
- data
- identifications
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000011159 matrix material Substances 0.000 claims abstract description 141
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 47
- 230000006399 behavior Effects 0.000 claims description 91
- 238000004422 calculation algorithm Methods 0.000 claims description 42
- 238000012360 testing method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 17
- 239000013598 vector Substances 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000012549 training Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 208000022417 sinus histiocytosis with massive lymphadenopathy Diseases 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004260 weight control Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种视频推送方法、装置、计算机设备和存储介质,包括:获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储得到评分矩阵,将用户标识、视频标识和评分矩阵输入已训练的视频推送模型,对评分矩阵进行分解,根据分解结果确定用户之间的用户相似度和视频之间的视频相似度,根据用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端,提高视频推荐的准确度,增强用户体验。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种视频推送方法、装置、计算机设备和存储介质。
背景技术
网络视频平台的发展,多媒体内容不断丰富,视频数量不断膨胀。用户需要花费大量的精力和时间从庞大的内容中查找自己感兴趣的视频。为了帮助用户快速从海量信息数据中,获取到其所需的信息,人们设计了数据推荐系统。推荐系统的出现,改变了用户与信息数据的互动方式:由用户主动获取信息转变为将信息主动推送给用户。而推荐系统的重点和难点在于如何给用户提供精确的推荐信息。推荐系统通过分析用户的历史行为对用户的兴趣进行建模,从而主动推荐用户感兴趣的信息。目前的推荐系统通过分析历史行为数据给用户推荐感兴趣的信息,由于用户和视频的数据量非常大,但是用户对视频反馈的有效信息较少,导致评分矩阵存在稀疏问题,从而无法保证视频推送指令的精确度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高视频推送精确度的视频推送方法、装置、计算机设备和存储介质。
一种视频推送方法,包括:
获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵;
将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度;
根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合;
将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
一种视频推送装置,包括:
数据获取模块,用于获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵;
相似度计算模块,用于将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度;
视频推送模块,用于根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行所述程序时实现以下步骤:
获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵;
将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度;
根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合;
将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵;
将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度;
根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合;
将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
上述视频推送方法、装置、计算机设备和存储介质,获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵,将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
附图说明
图1为一个实施例中视频推送方法的应用环境图;
图2为一个实施例中视频推送方法的流程示意图;
图3为一个实施例中视频推送方法的交互示意图;
图4为一个实施例中确定目标视频标签集合的步骤流程示意图;
图5为一个实施例中计算相似度的步骤流程示意图;
图6为一个实施例中生成已训练的视频推送模型的步骤流程示意图;
图7为一个实施例中推送视频的步骤流程示意图;
图8为一个实施例中推送视频系统的流程示意图;
图9为一个实施例中视频推送装置的结构框图;
图10为一个实施例中视频推送模块的结构框图;
图11为另一个实施例中视频推送装置的结构框图;
图12为又一个实施例中视频推送装置的结构框图;
图13为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中视频推送方法的应用环境图。参照图1,该视频推送方法应用于视频推送系统。该视频推送系统包括多个终端110(终端112、终端114和终端116)和服务器120。终端110和服务器120通过网络连接。服务器120获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵,将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端110。终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种视频推送方法。本实施例主要以该方法应用于上述图1中的终端110(或服务器120)来举例说明。参照图2,该视频推送方法具体包括如下步骤:
步骤S202,获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵。
其中,用户标识是用于表示用户的唯一标识信息,视频标识是用于唯一标识视频的标签信息,视频标识和用户标识通常由数字、字母、文字和特殊符号等中的一种或多种组成。历史行为数据是指用户对视频执行的相应的操作的集合,包括但不限于点击视频、点赞、评论、转发等操作。评分数据是用户对视频数据的评价指标,不同的评分数据代表了用户对视频的偏好程度,评分数据越高代表用户与喜欢该视频,评分数据集合是由各个用户对各个视频的评分数据组成的数据集合,评分矩阵是指用户、视频和评分对应的数据矩阵。
具体地,服务器获取各个用户标识对各个视频的历史行为数据,通过各个用户对各个视频对应的历史行为数据,根据各个用户对各个视频的历史行为数据计算出对应的评分数据,其中根据历史行为数据计算对应的评分数据之前,还可以按照历史行为数据对应的评价等级和评价标准赋予对应的评价分数,不同的历史行为数据赋予的评价分数可以按照需求自定义。由各个用户对应的各个视频的评分数据组成评分数据集合,将评分数据集合按照矩阵的形式存储,得到评分矩阵。
在一个实施例中,对于不存在历史行为数据的用户,服务器可以根据需求向用户推送对应的视频信息,如可以根据各个视频的综合评分数据确定推送的视频信息,也可以根据用户注册的地域信息、用户的年龄阶段等个人信息确定视频推送信息。
步骤S204,将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度。
具体地,已训练的视频推送模型是指通过大量的携带用户标识和视频标识的评分数据进行学习得到的数学模型,该模型可以包括一个或多个网络模型,网络模型包括但不限于深度学习神经网络模型、卷积神经网络模型等。矩阵分解算法是指将输入的一个矩阵分解成多个矩阵的算法,如将一个矩阵S,分解成矩阵U和矩阵V相乘,即S=U*V,常见的矩阵分解算法包括奇异值分解(singular value decomposition,SVD)、QR分解、交替最小二乘分解(alternating least squares,ALS)等。用户相似度是用于体现用户之间喜欢的视频是否类似的指标,不同用户对同类型视频的评分较高的表示不同用户之间的用户相似度较高,视频相似度是用于体现视频内容之间是否类似的指标,若两个不同视频之间的视频相似度较高,判定两个视频属于同类型视频。将用户标识,对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,得到用户矩阵和视频矩阵,根据用户矩阵计算用户之间的相似度得到用户相似度,根据视频矩阵计算视频之间的相似度得到视频相似度。
步骤S206,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合。
步骤S208,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
具体地,目标视频标识集合是指向用户所推送的视频对应的视频标识的集合。根据用户相似度可以确定各个用户之间是否相似,根据各个用户与其他用户的用户相似度的情况选取出各个用户对应的目标相似用户,从目标相似用户对应的用户标识和视频标识中筛选出视频相似度较高的视频标识,得到各个用户标识对应的目标视频标识集合。视频标识与视频链接一一对应,将各个用户标识对应的目标视频标识集合对应的视频链接,推送至对应的各个用户标识对应的终端。如图3所示,用户A观看过的视频包括视频A和视频C,用户B观看过的视频包括视频B,用户C观看过的视频包括视频A,视频C和视频D,其中用户A与用户C为相似用户,视频A和视频C为用户A和用户C都观看过的视频,则可以将用户观看过的视频D推送给用户A。通过用户相似度和视频相似的双重判定确定最佳推荐的视频标识,能够确保推荐的视频数据更为准确。
在一个实施例中,向各个用户推送对应的视频链接后,定时获取各个用户新产生的历史行为数据,对新产生的历史行为数据进行处理,得到新的评分数据,将新的评分数据与之前的评分数据合并,得到更新后的评分数据集合。
在一个实施例中,服务器包含多个,其中包含机器学习服务器、业务服务器,机器学习服务器用户对评分数据进行学习,业务服务器用户处理业务,业务包括视频数据请求、视频数据推送等
上述视频推送方法,通过获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵,将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。上述视频推送方法通过收集各个用户的历史行为数据,对各个用户对各个视频的历史行为数据进行分析,确定各个用户对各个视频的评分数据,将评分数据以矩阵的形式存储,将各个用户标识、对应的视频标识和评分矩阵输入已训练的视频推送模型,通过模型对评分矩阵进行分解,从而得到各个用户和各个视频的相似度,根据相似度确定向各个用户所推送的视频信息,其中采用已训练的视频推送模型进行数据分析能够快速的对庞大的数据进行准确的分析,得到准确视频推送信息,从而提高视频推送的精确度。
在一个实施例中,如图4所示,步骤S206包括:
步骤S2062,按照由高到低的顺序对各个用户标识对应的评分数据进行排序,获取排在第一预设位置之前的视频标识作为各个用户标识对应的标准视频标识集合。
步骤S2064,按照由高到低的顺序对各个用户标识对应的用户,与多个用户标识中的各个用户标识对应的用户之间的用户相似度进行排序,获取排在第二预设位置之前的各个用户标识对应的视频标识,组成候选视频标识集合。
步骤S2066,按照由高到低的顺序对候选视频标识集合中各个候选候视频标识对应的视频,与标准视频标识集合中各个标准视频标识对应的视频之间的视频相似度进行排序,选择排在第三预设位置之前的各个候选视频标识,组成目标视频标识集合。
具体地,其中,第一预设位置、第二预设位置和第三预设位置都是预先设置好的临界值。第一预设位置,第二预设位置和第三预设位置都可以根据需求自定义。按照由高到低对各个用户对各个视频的评分数据进行排序,评分越高表明用户对该视频的喜欢程度越高。如第一预设位置设置为4,则表示选择评分数据排在前三位的各个评分数据对应的视频标识作为标准视频标识,组成标准视频标识集合。同样的按照由高到低对各个用户之间的用户相似度进行排序,用户相似度越高表示两个用户之间越相似。如第二预设位置设置为3,则表示选择用户相似度在前两位的用户相似度对应的用户标识,将用户标识对应的视频标识作为候选视频标识,从所有的候选视频标识对应的视频与标准视频标识对应的视频相似度排在第三预设位置前的视频标识作为目标视频标识,组成目标视频标识集合。以任意一个用户为例进行说明,若存在用户A,与用户A相似的用户,用户相似度排在前三位的分别是用户B、用户C和用户D,用户A观看过的视频中,评分排在前三位分别是视频A1、视频A2和视频A3,视频A1、视频A2和视频A3组成标准视频标识集合,用户B观看过的视频包括视频B1、视频B2、视频B3和视频B4,用户C观看过的视频包括视频C1、视频C2和视频C3,用户D观看过的视频包括视频D1、视频D2和视频D3,则候选视频标识集合包括视频B1、视频B2、视频B3、视频B4、视频C1、视频C2、视频C3、视频D1、视频D2和视频D3。则根据标准视频标识对应的三个视频分别与候选视频中的10个视频标识对应的视频相似度进行排序,将候选视频标识中排列在三预设位置之前的视频标识作为目标视频标识,组成用户A的目标视频标识集合。其中若是用户B、用户C和用户D中与用户A观看的视频中相同的视频已经排除在外。
在一个实施例中,上述视频推送方法还包括:
步骤S210,通过Spark定时获取预设时间段内各个用户标识对应的视频标识和历史行为数据,根据获取的历史行为数据计算各个用户标识对应的评分数据,组成评分数据子集,将评分数据子集添加至评分数据集合,得到更新后的评分数据集合。
具体地,Spark是一种编程语言,定时获取是指在特定时间进行获取,如设置每小时、每半天、每天或两天获取数据,预设时间段是指上一次定时获取后到当前获取数据前的时间段。通过Spark获取各个用户标识对应的视频标识和历史行为数据,根据各个用户标识对应的历史行为数据计算各个用户评分数据,得到评分数据子集。其中评分数据子集是指在预设时间段内产生的历史行为数据对应的评分数据。将评分数据子集加入步骤S202中评分数据集合,组成新的评分数据集合,对新的评分数据按照矩阵的形式存储,得到新的评分矩阵,将新的评分矩阵和对应的用户标识以及对应的视频标识输入已训练的视频推送模型,重复执行评分矩阵的分解、计算用户相似度、视频相似度从而推送新的视频信息,一直循环执行上述过程。
在一个实施例中,历史行为数据包括多个历史行为子数据,步骤S202,包括:
步骤S2022,为各个历史行为子数据分配对应的权重因子,根据各个历史行为子数据和对应的权重因子进行加权得到各个用户标识对应的评分数据。
具体地,历史行为子数据是指包含不同操作的历史行为数据,历史行为子数据包括但不限于点击视频、视频点赞、视频评价、转发视频等等,不同的历史行为子数据对应不同的权重,权重的具体分配可以根据需求自定义,如转发视频对应的权重因子大于点赞视频对应的权重因子,点赞视频对应的权重因子大于点击视频对应的权重因子等,且不同点击次数、点赞次数、转发次数可以对应不同的权重等级。按照对应的权重因子对各个历史行为子数据进行加权得到对应的评分数据。不同的历史行为子数据分配不同的权重因子能够得到更精确的评分数据,用户愿意转发的视频一般来说都是比较喜欢的,故转发的权重因子设置的更大,更贴近用户的真实想法,那么在设计权重因子的占比时考虑用户平时的行为代表的含义能够更好贴近用户的真实想法,得到更准确的评分数据,推送更符合用户想法的视频信息,提升用户体验。
在一个实施例中,如图5所示,步骤S204包括:
步骤S2042,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,得到用户矩阵和视频矩阵。
步骤S2044,采用向量相似度算法计算用户矩阵中各个标签用户对应的用户之间的用户相似度和视频矩阵中各个视频标识对应的视频之间的视频相似度,向量相似度算法为余弦相似算法或欧式距离。
具体地,用户矩阵是用于表征用户特征的矩阵,视频矩阵是用于表征视频特征的视频矩阵,如评分矩阵为一个M*N的矩阵,其中M代表的是用户数目,N代表视频数据,评分矩阵的每一行数据代表同一个用户对各个视频的评分数据,每一列代表各个用户对同一个视频的评分数据,通过矩阵分解算法将评分矩阵S分解为用户矩阵U和视频矩阵V,其中S=U*V,U=M*f,V=f*N,f为特征参数,该特征参数可以根据需求自定义,如特征参数为技术人员根据经验设定的数值或对是矩阵进行分析得到的数值。其中用户矩阵中每一行数据代表的是同一个用户的特性,视频矩阵的每一列代表是每一个视频的特性。向量相似度算法是用于衡量两个向量之间的相似度的算法,度量两个向量之间相似度的方法包括但不限于计算连个向量之间的欧式距离、余弦、皮尔逊相关性和斯皮尔曼等级相关系数等。计算两个用户之间的用户相似度,即从用户矩阵中获取两个用户对应的一行数据,计算两个用户对应的数据行之间的向量相似度,得到两个用户的相似度。视频相似度与用户相似度同理可得,与计算用户相似度不同的是计算的视频矩阵中不同两列的相似度。
在一个实施例中,如图6所示,生成已训练的视频推送模型的步骤包括:
步骤S302,获取待训练数据集合和测试数据集合,数据集合包括用户标识、对应的视频标识和对应的评分矩阵。
步骤S304,将待训练数据集合输入视频推送模型,根据视频推送模型对待训练数据集合的学习结果调整视频推送模型的参数,直至视频推送模型对测试数据的预测评分与真实评分之间的误差满足预设误差时,得到已训练的视频推送模型。
具体地,待训练数据集合和测试数据集合是指收集一段时间用户对视频的反馈信息,即为用户标识对应的视频标识和对应的评分矩阵,评分矩阵的各个矩阵元素与用户标识和视频标识对应,将用户标识、对应的视频标识和对应的评分矩阵输入视频推送模型中,通过对评分矩阵学习,得到对应的学习结果,根据学习结果是否符合要求确定是否调整视频推送模型的参数,直到视频推送模型对测试数据的测试结果满足模型收敛条件时,得到已训练的视频推送模型。其中模型收敛条件是指通过视频推送模型计算得到各个用户对视频的评分与测试数据的真实评分之间的误差满足预设误差。其中预测评分与真实评分的误差可以是直接对各个视频的预测评分和真实评分之间的差进行累加的结果,或是对各个视频的预测评分和真实评分之间的差进行自定义运算后的累加结果,其中自定义运算包括对预测评分与真实评分之差进行平方、开方、取对数等运算中的至少一种。根据测试结果确定模型的收敛能够得到更为准确模型,从而实现更准确的推送。设置合理的模型收敛条件设置的合理才能够避免模型的过拟合或欠拟合,模型的过拟合和欠拟合使得模型对未知数据的预测能力不佳,从而影响视频推送的准确度。
在一个实施例中,如图7所示,步骤S206之后,还包括:
步骤S402,将各个用户标识对应的视频标识集合按照列表的形式存入Redis缓存中。
具体地,远程数据服务(Remote Dictionary Server,Redis)是一种内存高速缓存的数据库,Redis缓存具有支持丰富的数据结构类型,能够一边运行,一边把数据往硬盘中备份,内存大等优点。
步骤S208,包括:
步骤S2082,当业务服务器接收到各个用户标识对应的终端发送的视频请求时,业务服务器从Redis缓存中将目标视频标识集合对应的视频链接推送对应的终端。
具体地,业务服务器是指用于处理业务请求的服务器,该服务器主要用户处理用户的视频请求、推送视频等。当业务服务器接收到终端发送的视频请求时,获取终端对应的用户标识,将与用户标识对应的目标视频标签对应的视频链接推送至对应的终端。
在一个实施例中,如图8所示,提供了一种视频推荐系统,其中视频推荐系统包括终端310、业务服务器320和机器学习服务器330,终端310与业务服务器320通过网络连接,业务服务器320与机器学习服务器330通过网络连接。业务服务器320获取终端310的用户标识和对应视频标识以及对应的点赞次数、点击次数、转发次数和评价信息,业务服务器320将获取到的上述数据发送至机器学习服务器330,通过机器学习服务器330对数据进行处理得到各个用户标识对应的目标视频标识集合,并将目标视频标识集合存入Redis缓存中,当业务服务器接收320接收到终端310发送的视频推荐,业务服务器320根据视频推荐请求获取该请求携带的用户标识,根据用户标识向Redis缓存中获取与用户标识对应的目标视频标识集合,将该目标视频标签集合对应的视频链接发送至终端310。
在一个具体的实施例中,上述视频推荐方法包括:在推送初期,服务器随机推荐视频给各个用户标识对应的终端,并采集预设时间内所有用户的行为数据,作为初始数据,通过用户的行为数据来初始化视频推送模型,在完成模型初始化之后,将上述数据存储至对象存储中,并通过spark定时从对象存储中取出行为数据,对行为数据进行筛选和加权得到新的评分数据子集,并与已有的数据合并,以parquet格式保存上述数据,该数据可以用于做数据统计和用于更新模型。使用parquet格式存储,能够加快spark的读写过程。整个数据的训练过程是基于spark的流式计算,一旦产生新的视频频分数据,将视频评分数据合并到原有的模型中进行迭代,更新视频列表,保证推荐模型的实时性。
模型的训练可以采用spark Mllib,具体格式如val model=ALS.train(ratings,rank,iterations,lambda);其中:Ratings弹性分布数据集(Resilient DistributedDataset,RDD),rank对应的是隐因子的个数,iterations对应迭代次数,lambda用于控制正则化过程,其值越高,正则化程度就越深,若正则化程度越深,模型学习过程中会出现过拟合现象,即参数过大导致模型的性能降低,正则化可以在一定程度上限制模型的参数大小,防止过拟合。
对数据集进行ALS推荐系统模型训练,对评分矩阵进行分解,返回类型为MatrixFactorizationModel对象,它将结果分别保存到两个(id,factor)RDD里面,分别名为userFeatures和productFeatures,即为对评分矩阵分解后为得到的两个子矩阵,userFeatures为用户矩阵,productFeatures为视频矩阵。
具体的步骤为:
1.收集视频的被观看情况、点赞、评论等行为数据,对上述行为数据进行预处理后,得到对应的评分数据。预处理包括对上述行为进行筛选和加权。加权因子的对象包括观看次数、每次的观看时长占比、是否点赞、是否评论、是否转发,不同的行为赋与不同的权重,最后计算得到总评分。原则上,越重度的操作,赋予的权重要更大。如,转发的权重一般要大于点赞。视频评分数据的产不是由用户直接评分得到,而是通过一系列的用户行为做综合加权。
2.若评分数据集中含有M个用户和N个视频,M和N为正整数,以固定间隔设置近邻个数K的值,K为正整数,计算各个用户之间以及各个视频之间的相似度,分别构建用户u和视频i的近邻集合N(u)和N(i)。计算两种单一协同过滤的预测值,以固定间隔设置单一模型权重控制因子ω,每次选择一个ω值训练,将两种单一模型进行加权平均,其中,ω∈[0,1],得到训练后的模型,采用训练后的模型对测试数据集合进行测试,得到测试数据集中各个测试数据的预测评分。
3.综合计算测试数据集中各个测试数据通过各个训练后的模型进行测试得到的预测评分,与测试数据集中各个测试数据对应的实际评分的平均绝对误差,根据平均绝对误差确定最优的控制因子ω,已经通过最优的控制因子ω训练得到的模型,作为最优推荐模型。通过训练不同控制因子下的模型,再校验集中验证,获取最佳控制因子对应的模型,评估用户和视频之间的相似度关系,防止在共同评分项过少的情况下出现相似度度量的过拟合情况。
采用最优推荐模型进行推荐的步骤包括:
1.将用于训练和测试训练数据集合和测试数据和之后产生的数据构建的评分数据集合进行合并得到完整的数据集合,将完整的数据集合输入推荐模型,设置近邻个数K的值,构建用户和用户未交互项目的近邻集合。
2.将最优的控制因子ω代入视频推送模型得出用户对待测视频的预测评分。
3.对所有待测视频评分预测完毕后,将预测评分进行排序,为每个用户选出对应评分最高的若干个视频列表,存入到redis缓存中。
4.业务服务器在收到终端请求时,从redis中取出视频列表推送到终端,终端将该列表展示给用户,并收集用户对每个视频的观看情况形成新的评分数据,新的评分数据,会被送入到spark中,进行新的一轮迭代计算,形成新的视频推荐列表,不断迭代。
近邻集合的构建通过相似度算法计算出用户之间的相似度和视频之间的相似度,并将相似度质量结合到权重因子中以减少离散偏大的近邻成员对预测结果的影响,在权重因子中加入控制因子,减缓评分矩阵稀疏性的影响,挖掘出用户近邻集合和项目近邻集合的关联,使混合模型中两种协同过滤算法的比例达到最优比例,提高预测水平。
图2、4-7为一个实施例中视频推送方法的流程示意图。应该理解的是,虽然图2、4-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种视频推荐装置200,包括:
数据获取模块202,用于获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵。
相似度计算模块204,用于将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度。
视频推送模块206,用于根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
在一个实施例中,如图10所示,视频推送模块206,包括:
标准标签获取模块2062,用于按照由高到低的顺序对各个用户标识对应的评分数据进行排序,获取排在第一预设位置之前的视频标识作为各个用户标识对应的标准视频标识集合。
候选标签获取单元2064,用于按照由高到低的顺序对各个用户标识对应的用户,与多个用户标识中的各个用户标识对应的用户之间的用户相似度进行排序,获取排在第二预设位置之前的各个用户标识对应的视频标识,组成候选视频标识集合。
目标标签获取单元2066,用于按照由高到低的顺序对候选视频标识集合中各个候选候视频标识对应的视频,与标准视频标识集合中各个标准视频标识对应的视频之间的视频相似度进行排序,选择排在第三预设位置之前的各个候选视频标识,组成目标视频标识集合。
在一个实施例中,视频推送装置200还包括:
数据更新模块208,用于通过Spark定时获取预设时间段内各个用户标识对应的视频标识和历史行为数据,根据获取的历史行为数据计算各个用户标识对应的评分数据,组成评分数据子集,将评分数据子集添加至评分数据集合,得到更新后的评分数据集合。
在一个实施例中,数据获取模块202还用于为各个历史行为子数据分配对应的权重因子,根据各个历史行为子数据和对应的权重因子进行加权得到各个用户标识对应的评分数据。
在一个实施例中,相似度计算模块204还用于通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,得到用户矩阵和视频矩阵,采用向量相似度算法计算用户矩阵中各个标签用户对应的用户之间的用户相似度和视频矩阵中各个视频标识对应的视频之间的视频相似度,向量相似度算法为余弦相似算法或欧式距离。
在一个实施例中,如图11所示,视频推荐装置200还包括:
待训练数据获取模块210,用于获取待训练数据集合和测试数据集合,数据集合包括用户标识、对应的视频标识和对应的评分矩阵。
模型训练模块212,用于将待训练数据集合输入视频推送模型,根据视频推送模型对待训练数据集合的学习结果调整视频推送模型的参数,直至视频推送模型对测试数据的预测评分与真实评分之间的误差满足预设误差时,得到已训练的视频推送模型。
在一个实施例中,如图12所示,视频推送装置200还包括:
数据存储模块214,用于将各个用户标识对应的视频标识集合按照列表的形式存入Redis缓存中。
视频推送模块206还用于当业务服务器接收到各个用户标识对应的终端发送的视频请求时,业务服务器从Redis缓存中将视频标识集合对应的视频链接推送对应的终端。
图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频推送方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频推送装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频推送装置的各个程序模块,比如,图9所示的数据获取模块202、相似度计算模块204和视频推送模块206。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频推送方法中的步骤。
例如,图13所示的计算机设备可以通过如图9所示的视频推送装置中的数据获取模块202,用于获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵。计算机设备可通过相似度计算模块204执行将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度。计算机设备可通过视频推送模块206执行根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵,将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
在一个实施例中,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,包括:按照由高到低的顺序对各个用户标识对应的评分数据进行排序,获取排在第一预设位置之前的视频标识作为各个用户标识对应的标准视频标识集合,按照由高到低的顺序对各个用户标识对应的用户,与多个用户标识中的各个用户标识对应的用户之间的用户相似度进行排序,获取排在第二预设位置之前的各个用户标识对应的视频标识,组成候选视频标识集合,按照由高到低的顺序对候选视频标识集合中各个候选候视频标识对应的视频,与标准视频标识集合中各个标准视频标识对应的视频之间的视频相似度进行排序,选择排在第三预设位置之前的各个候选视频标识,组成目标视频标识集合。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过Spark定时获取预设时间段内各个用户标识对应的视频标识和历史行为数据,根据获取的历史行为数据计算各个用户标识对应的评分数据,组成评分数据子集,将评分数据子集添加至评分数据集合,得到更新后的评分数据集合。
在一个实施例中,历史行为数据包括多个历史行为子数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,包括:为各个历史行为子数据分配对应的权重因子,根据各个历史行为子数据和对应的权重因子进行加权得到各个用户标识对应的评分数据。
在一个实施例中,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,包括:通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,得到用户矩阵和视频矩阵,采用向量相似度算法计算用户矩阵中各个标签用户对应的用户之间的用户相似度和视频矩阵中各个视频标识对应的视频之间的视频相似度,向量相似度算法为余弦相似算法或欧式距离。
在一个实施例中,生成已训练的视频推送模型的步骤包括:获取待训练数据集合和测试数据集合,数据集合包括用户标识、对应的视频标识和对应的评分矩阵,将待训练数据集合输入视频推送模型,根据视频推送模型对待训练数据集合的学习结果调整视频推送模型的参数,直至视频推送模型对测试数据的预测评分与真实评分之间的误差满足预设误差时,得到已训练的视频推送模型。
在一个实施例中,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合之后,还包括:将各个用户标识对应的视频标识集合按照列表的形式存入Redis缓存中,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端包括:当业务服务器接收到各个用户标识对应的终端发送的视频请求时,业务服务器从Redis缓存中将视频标识集合对应的视频链接推送对应的终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵,将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
在一个实施例中,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,包括:按照由高到低的顺序对各个用户标识对应的评分数据进行排序,获取排在第一预设位置之前的视频标识作为各个用户标识对应的标准视频标识集合,按照由高到低的顺序对各个用户标识对应的用户,与多个用户标识中的各个用户标识对应的用户之间的用户相似度进行排序,获取排在第二预设位置之前的各个用户标识对应的视频标识,组成候选视频标识集合,按照由高到低的顺序对候选视频标识集合中各个候选候视频标识对应的视频,与标准视频标识集合中各个标准视频标识对应的视频之间的视频相似度进行排序,选择排在第三预设位置之前的各个候选视频标识,组成目标视频标识集合。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过Spark定时获取预设时间段内各个用户标识对应的视频标识和历史行为数据,根据获取的历史行为数据计算各个用户标识对应的评分数据,组成评分数据子集,将评分数据子集添加至评分数据集合,得到更新后的评分数据集合。
在一个实施例中,历史行为数据包括多个历史行为子数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,包括:为各个历史行为子数据分配对应的权重因子,根据各个历史行为子数据和对应的权重因子进行加权得到各个用户标识对应的评分数据。
在一个实施例中,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,包括:通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,得到用户矩阵和视频矩阵,采用向量相似度算法计算用户矩阵中各个标签用户对应的用户之间的用户相似度和视频矩阵中各个视频标识对应的视频之间的视频相似度,向量相似度算法为余弦相似算法或欧式距离。
在一个实施例中,生成已训练的视频推送模型的步骤包括:获取待训练数据集合和测试数据集合,数据集合包括用户标识、对应的视频标识和历史行为数据,将待训练数据集合输入视频推送模型,根据视频推送模型对待训练数据集合的学习结果调整视频推送模型的参数,直至视频推送模型对测试数据的预测评分与真实评分之间的误差满足预设误差时,得到已训练的视频推送模型。
在一个实施例中,根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合之后,还包括:将各个用户标识对应的视频标识集合按照列表的形式存入Redis缓存中,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端包括:当业务服务器接收到各个用户标识对应的终端发送的视频请求时,业务服务器从Redis缓存中将视频标识集合对应的视频链接推送对应的终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种视频推送方法,其特征在于,包括:
获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵;
将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度;
根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合;
将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端;
根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,包括:
按照由高到低的顺序对各个用户标识对应的评分数据进行排序,获取排在第一预设位置之前的视频标识作为各个用户标识对应的标准视频标识集合;
按照由高到低的顺序对各个用户标识对应的用户,与多个用户标识中的各个用户标识对应的用户之间的用户相似度进行排序,获取排在第二预设位置之前的各个用户标识对应的视频标识,组成候选视频标识集合;
按照由高到低的顺序对候选视频标识集合中各个候选候视频标识对应的视频,与标准视频标识集合中各个标准视频标识对应的视频之间的视频相似度进行排序,选择排在第三预设位置之前的各个候选视频标识,组成目标视频标识集合;
方法还包括:
通过Spark定时获取预设时间段内各个用户标识对应的视频标识和历史行为数据,根据获取的历史行为数据计算各个用户标识对应的评分数据,组成评分数据子集,将评分数据子集添加至评分数据集合,得到更新后的评分数据集合;其中,
生成已训练的视频推送模型的步骤包括:
获取待训练数据集合和测试数据集合,数据集合包括用户标识、对应的视频标识和对应的评分矩阵;
将待训练数据集合输入视频推送模型,根据视频推送模型对待训练数据集合的学习结果调整视频推送模型的参数,直至视频推送模型对测试数据的预测评分与真实评分之间的误差满足预设误差时,得到已训练的视频推送模型;
根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合之后,还包括:
将各个用户标识对应的视频标识集合按照列表的形式存入Redis缓存中;
将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端包括:
当业务服务器接收到各个用户标识对应的终端发送的视频请求时,业务服务器从Redis缓存中将视频标识集合对应的视频链接推送对应的终端。
2.根据权利要求1所述的一种视频推送方法,其特征在于,历史行为数据包括多个历史行为子数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,包括:
为各个历史行为子数据分配对应的权重因子,根据各个历史行为子数据和对应的权重因子进行加权得到各个用户标识对应的评分数据。
3.根据权利要求1所述的一种视频推送方法,其特征在于,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度,包括:
通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,得到用户矩阵和视频矩阵;
采用向量相似度算法计算用户矩阵中各个标签用户对应的用户之间的用户相似度和视频矩阵中各个视频标识对应的视频之间的视频相似度,向量相似度算法为余弦相似算法或欧式距离。
4.执行如权利要求1至3中任一项所述的一种视频推送方法的装置,其特征在于,包括:
数据获取模块,用于获取多个用户标识与对应的视频标识和对应的历史行为数据,根据各个用户标识的历史行为数据计算各个用户标识对应的评分数据,组成评分数据集合,将评分数据集合按照矩阵进行存储,得到评分矩阵;
相似度计算模块,用于将多个用户标识、对应的视频标识和对应的评分矩阵输入已训练的视频推送模型,通过已训练的视频推送模型中的矩阵分解算法对评分矩阵进行分解,根据分解结果确定各个用户标识对应的用户之间的用户相似度和各个视频标识对应的视频之间的视频相似度;
视频推送模块,用于根据各个用户标识对应的用户之间用户相似度,和对应的视频之间的视频相似度,确定各个用户标识对应的目标视频标识集合,将目标视频标识集合对应的视频链接推送给对应的各个目标用户标识对应的终端。
5.一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1至3中任一项所述的一种视频推送方法的步骤。
6.一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1至3中任一项所述的一种视频推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810981201.2A CN109284417B (zh) | 2018-08-27 | 2018-08-27 | 视频推送方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810981201.2A CN109284417B (zh) | 2018-08-27 | 2018-08-27 | 视频推送方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284417A CN109284417A (zh) | 2019-01-29 |
CN109284417B true CN109284417B (zh) | 2022-11-22 |
Family
ID=65183885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810981201.2A Active CN109284417B (zh) | 2018-08-27 | 2018-08-27 | 视频推送方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284417B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977822B (zh) * | 2019-03-15 | 2023-05-09 | 广州市网星信息技术有限公司 | 数据供给方法、模型训练方法、装置、系统、设备和介质 |
CN110213325B (zh) * | 2019-04-02 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 数据处理方法以及数据推送方法 |
CN110069714B (zh) * | 2019-04-25 | 2021-06-22 | 北京酷我科技有限公司 | 一种视频推荐系统 |
CN111949808B (zh) * | 2019-04-29 | 2024-01-02 | 北京达佳互联信息技术有限公司 | 一种多媒体内容相似度确定方法、装置、电子设备及存储介质 |
CN110113638A (zh) * | 2019-05-10 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种预测方法、装置及电子设备 |
CN110321474B (zh) * | 2019-05-21 | 2022-01-11 | 北京奇艺世纪科技有限公司 | 基于搜索词的推荐方法、装置、终端设备及存储介质 |
CN110222233B (zh) * | 2019-06-14 | 2021-01-15 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置、服务器及存储介质 |
CN112118486B (zh) * | 2019-06-21 | 2022-07-01 | 北京达佳互联信息技术有限公司 | 内容项投放方法、装置、计算机设备及存储介质 |
CN110287421A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 一种信息内容推荐方法、装置及电子设备 |
CN110366043B (zh) * | 2019-08-20 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 视频处理方法、装置、电子设备及可读介质 |
CN110866146B (zh) * | 2019-11-26 | 2022-11-11 | 杭州市第一人民医院 | 视频推荐方法、装置、计算机设备和存储介质 |
CN112925924B (zh) * | 2019-12-05 | 2024-07-09 | 北京达佳互联信息技术有限公司 | 多媒体文件的推荐方法、装置、电子设备及存储介质 |
CN111178949B (zh) * | 2019-12-18 | 2023-07-28 | 中电金信软件有限公司 | 服务资源匹配参考数据确定方法、装置、设备和存储介质 |
CN111010592B (zh) * | 2019-12-19 | 2022-09-30 | 上海众源网络有限公司 | 一种视频推荐方法、装置、电子设备及存储介质 |
CN111192174A (zh) * | 2019-12-27 | 2020-05-22 | 广东德诚科教有限公司 | 考试数据评测方法和装置、服务器、计算机可读存储介质 |
CN111563769B (zh) * | 2020-04-26 | 2024-01-26 | 北京深演智能科技股份有限公司 | 数据处理方法、装置、非易失性存储介质和处理器 |
CN111651667B (zh) * | 2020-04-30 | 2024-06-25 | 中国平安财产保险股份有限公司 | 数据推送分流控制方法、装置及计算机可读存储介质 |
CN111683280B (zh) * | 2020-06-04 | 2024-06-21 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置及电子设备 |
CN111538860B (zh) * | 2020-07-07 | 2020-11-03 | 北京搜狐新媒体信息技术有限公司 | 视频推荐方法及装置、存储介质及电子设备 |
CN112819024B (zh) * | 2020-07-10 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 模型处理方法、用户数据处理方法及装置、计算机设备 |
CN112148987B (zh) * | 2020-10-12 | 2021-08-31 | 平安科技(深圳)有限公司 | 基于目标对象活跃度的消息推送方法及相关设备 |
CN112487240B (zh) * | 2020-11-02 | 2024-03-15 | 泰康保险集团股份有限公司 | 一种视频数据的推荐方法和装置 |
CN113194360B (zh) * | 2021-04-25 | 2022-06-24 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置、服务器及存储介质 |
CN113626698A (zh) * | 2021-08-06 | 2021-11-09 | 北京奇艺世纪科技有限公司 | 视频推荐方法、装置、电子设备及可读存储介质 |
CN115250369A (zh) * | 2021-08-23 | 2022-10-28 | 上海禾万企业发展有限公司 | 一种基于线上教育智能化视频推送方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007024736A2 (en) * | 2005-08-19 | 2007-03-01 | Biap Systems, Inc. | System and method for recommending items of interest to a user |
CN102426686A (zh) * | 2011-09-29 | 2012-04-25 | 南京大学 | 一种基于矩阵分解的互联网信息产品推荐方法 |
CN103209342A (zh) * | 2013-04-01 | 2013-07-17 | 电子科技大学 | 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法 |
CN104933135A (zh) * | 2015-06-12 | 2015-09-23 | 海信集团有限公司 | 一种多媒体数据的聚类方法及装置 |
CN105389590A (zh) * | 2015-11-05 | 2016-03-09 | Tcl集团股份有限公司 | 一种视频聚类推荐方法和装置 |
-
2018
- 2018-08-27 CN CN201810981201.2A patent/CN109284417B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007024736A2 (en) * | 2005-08-19 | 2007-03-01 | Biap Systems, Inc. | System and method for recommending items of interest to a user |
CN102426686A (zh) * | 2011-09-29 | 2012-04-25 | 南京大学 | 一种基于矩阵分解的互联网信息产品推荐方法 |
CN103209342A (zh) * | 2013-04-01 | 2013-07-17 | 电子科技大学 | 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法 |
CN104933135A (zh) * | 2015-06-12 | 2015-09-23 | 海信集团有限公司 | 一种多媒体数据的聚类方法及装置 |
CN105389590A (zh) * | 2015-11-05 | 2016-03-09 | Tcl集团股份有限公司 | 一种视频聚类推荐方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109284417A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284417B (zh) | 视频推送方法、装置、计算机设备和存储介质 | |
EP3819821B1 (en) | User feature generating method, device, and apparatus, and computer-readable storage medium | |
CN110321422B (zh) | 在线训练模型的方法、推送方法、装置以及设备 | |
US10360517B2 (en) | Distributed hyperparameter tuning system for machine learning | |
CN110263244B (zh) | 内容推荐方法、装置、存储介质和计算机设备 | |
CN105138624B (zh) | 一种基于在线课程用户数据的个性化推荐方法 | |
CN111159564A (zh) | 信息推荐方法、装置、存储介质及计算机设备 | |
EP4083857A1 (en) | Information prediction model training method and apparatus, information prediction method and apparatus, storage medium, and device | |
US11109085B2 (en) | Utilizing one hash permutation and populated-value-slot-based densification for generating audience segment trait recommendations | |
CN112819523B (zh) | 结合内/外积特征交互和贝叶斯神经网络的营销预测方法 | |
CN111611488A (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
CN111275492A (zh) | 用户画像生成方法、装置、存储介质及设备 | |
CN113254795B (zh) | 一种推荐模型的训练方法和装置 | |
CN113869943A (zh) | 物品推荐方法、装置、设备以及存储介质 | |
Salehi | Latent feature based recommender system for learning materials using genetic algorithm | |
KR20200145346A (ko) | 상품 또는 컨텐츠 추천 서비스 제공 프로그램 | |
JP2021033895A (ja) | 変数選定方法、変数選定プログラムおよび変数選定システム | |
KR20200145344A (ko) | 협업 필터링 기반의 사용자 선호도 예측을 이용한 상품 또는 컨텐츠 추천 서비스 제공 방법 | |
CN115186173A (zh) | 多媒体资源推送、智能体网络生成方法及装置 | |
CN111325246B (zh) | 区域选择方法、装置、计算机设备及存储介质 | |
CN110275986B (zh) | 基于协同过滤的视频推荐方法、服务器及计算机存储介质 | |
CN114139046A (zh) | 对象推荐方法、装置、电子设备及存储介质 | |
KR20200145349A (ko) | 상품 또는 컨텐츠 추천 서비스 제공 프로그램 기록매체 | |
Izadi et al. | Unifying inconsistent evaluation metrics in recommender systems | |
Lin et al. | A Recommender System Based on a Double Feature Allocation Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |