CN105069121A - 基于视频主题相似度的视频推送方法 - Google Patents

基于视频主题相似度的视频推送方法 Download PDF

Info

Publication number
CN105069121A
CN105069121A CN201510494284.9A CN201510494284A CN105069121A CN 105069121 A CN105069121 A CN 105069121A CN 201510494284 A CN201510494284 A CN 201510494284A CN 105069121 A CN105069121 A CN 105069121A
Authority
CN
China
Prior art keywords
video
matrix
value
theme
segmentation
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.)
Pending
Application number
CN201510494284.9A
Other languages
English (en)
Inventor
王佳
毕重兴
陈亮
毕先春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING BAOFENG TECHNOLOGY Co Ltd
Original Assignee
BEIJING BAOFENG TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING BAOFENG TECHNOLOGY Co Ltd filed Critical BEIJING BAOFENG TECHNOLOGY Co Ltd
Priority to CN201510494284.9A priority Critical patent/CN105069121A/zh
Publication of CN105069121A publication Critical patent/CN105069121A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明所提供的一种基于视频主题相似度的视频推送方法,包括以下步骤:A、抓取各个视频对应的标签;B、针对所述各个视频的标签进行LDA训练,获得各个视频的主题分布;C、基于步骤B所述各个视频的主题分布构建视频-主题分布矩阵,记为矩阵A,其转置矩阵表示为矩阵B;D、将所述矩阵A、B分别作为左右矩阵,采用外积法利用Map?Reduce分布式计算框架进行矩阵相乘计算,获得各个视频间的主题相似度;E、根据所述各个视频间的主题相似度选择视频进行推送。由上,实现在数量众多的视频库中较高效率的确定出各个视频相似度,以进行推送。

Description

基于视频主题相似度的视频推送方法
技术领域
本发明涉及视频推荐技术领域,特别涉及一种基于视频主题相似度的视频推送方法。
背景技术
主题模型(LDA,LatentDirichletAllocation)是一种非监督机器学习技术,以下称为LDA主题模型。LDA主题模型可以用来识别大规模文档集或语料库中潜藏的主题信息。它采用了词袋的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。
对于视频,基于其不同的名称、类型、参与的演员或导演、视频内容等均可视为不同的文档集或语料库,从而针对视频库,基于LDA主题模型训练,则可以生成视频库中所有视频的视频-主题分布。
当形成视频-主题分布后,当用户看某一视频时,便可依据不同视频间的主题的相似性,为用户推荐其他视频内容。如何在数量众多的视频库中寻找出与目前正在观看视频主题相似性的视频,是一亟待解决的问题。
现有方法中,采用在Hadoop集群上进行视频间的主题相似度计算。通过计算各视频主题向量间的余弦值,即可得到视频相似度,具体公式如下:
S i m ( m → 1 , m → 2 ) = c o s ( m → 1 , m → 2 ) = m → 1 · m → 2 | m → 1 | * | m → 2 | - - ( 1 )
式中,m1及m2表示任意两个视频,式中向量组成部分是该视频所拥有的各主题所占的比重,且视频向量模长为1。视频m1的主题向量集合表示为(m11、m12、……m1k),视频m2的主题向量集合表示为(m21、m22、……m2k)。
上述向量余弦值计算可简化为向量内积计算。假设将视频主题训练结果的视频-主题分布看作是M*K维矩阵,其中M指业务视频库总视频数,K指视频主题模型训练得到最优主题个数,则此矩阵可以视为是有M个K维向量组成。
A = a 11 a 12 ... a 1 K a 21 a 22 ... a 2 K ... ... ... ... a M 1 a M 2 ... a M K B = a 11 a 21 ... a M 1 a 12 a 22 ... a M 2 ... ... ... ... a 1 K a 2 K ... a M K - - ( 2 )
假设A矩阵是M*K维矩阵,B矩阵为K*M维矩阵,矩阵中的a11~a1k表示第一视频的主题分布,即第一视频对应的各主题向量值,k表示各视频的视频主题数量;a21~a2k表示第二视频的主题分布;……;aM1~aMk表示第M视频的主题分布。
C矩阵为A与B矩阵乘积。则C矩阵中元素可表示为:
c i j = Σ k = 1 K a i k b kj i , j ∈ ( 1 , 2 , ... , M ) - - ( 3 )
cij即为A矩阵第i行向量与B矩阵第j列向量内积。
根据上文中视频相似度计算公式可得cij值即为视频mi与视频mj相似度值。可见,视频库中任意两视频相似度计算可转化为两个矩阵的乘法计算。
在实际业务场景下,视频规模往往很大,即M值很大,视频主题模型训练得到的主题数也很大,即K值很大,因此常用的单机大规模矩阵相乘计算方法耗费时间和空间都很大。
另外,还有一种算法是分块矩阵乘法计算,其过程为:
将A矩阵划分为N1*S1的等大小矩阵,B矩阵为S1*N1的等大小矩阵,则有:
A = A 11 ... A 1 S ... ... A N 1 A N S B = A 11 ... A N 1 ... ... A 1 S A N S - - ( 4 )
C i j = Σ k = 1 S A i k B k j i ≤ N , j ≤ N - - ( 5 )
由上,对于分块矩阵乘法,对于不同的矩阵规模如何根据机器内存大小指定分块策略较不易,且不同分块之间的运算及逻辑控制很繁琐,由于策略的复杂和运行逻辑控制的繁琐,也导致运行效率不高。
若采用HadoopMapReduce分布式计算框架进行矩阵相乘计算,能有效减少计算耗时及耗费空间。
HadoopMapReduce分布式计算框架包含Map和Reduce两个阶段。Map阶段以key/value对作为输入,MapReduce框架会自动将这些中间数据按照key值进行聚集,且key值相同的数据被统一交给Reduce阶段处理。Reduce阶段产生另外一系列key/value对作为最终输出写入HDFS(Hadoop分布式文件系统)。
如何利用HadoopMapReduce分布式计算框架较高效率的完成基于主题模型的大规模视频相似度计算,或者说如何实现在数量众多的视频库中较高效率的确定出各个视频相似度,从而进行视频推送是本发明所要解决的技术问题。
发明内容
有鉴于此,本发明的主要目的在于,提供一种基于视频主题相似度的视频推送方法,
包括以下步骤:
A、抓取各个视频对应的标签;
B、针对所述各个视频的标签进行LDA训练,获得各个视频的主题分布;
C、基于步骤B所述各个视频的主题分布构建视频-主题分布矩阵,记为矩阵A,其转置矩阵表示为矩阵B;
D、将所述矩阵A、B分别作为左右矩阵,采用外积法利用HadoopMapReduce分布式计算框架进行矩阵相乘计算,获得各个视频间的主题相似度;
E、根据所述各个视频间的主题相似度选择视频进行推送。
由上,实现在数量众多的视频库中较高效率的确定出各个视频相似度,以进行推送。
可选的,步骤A后还包括步骤:对所抓取的各个视频的标签进行去重处理。
由上,使得各个视频的标签唯一,从而可以提高标签的准确性,避免重复。
可选的,步骤B包括:
将所抓取的各个视频标签归纳为各个视频的不同主题;
针对所述不同主题进行LDA训练,得出各个视频合适的主题个数以及不同主题分别所占的比重值。
可选的,所述得出各个视频合适的主题个数包括:采用以下计算式:
p e r p l e x i t y = exp { - Σ d = 1 M log p ( W d ) Σ d = 1 M N d } ;
p ( W d ) = Π n = 1 N d Σ z = 1 K p ( z | d ) p ( w n | z ) ;
其中,M表示视频库中视频总数,Wd表示第d个视频,Nd表示第d个视频的视频标签总数,Wn表示第d个视频标签中第n个词,K表示第d个视频的视频主题总数,z表示第d个视频的第z个视频主题;
计算结果perplexity值与所值与所述主题个数的合适程度成反比。
可选的,步骤D包括:
D1、所述矩阵A表示为:对于矩阵A中各元素的列位置序号记为key,其对应的value值标记为L-movieid-value形式;
所述矩阵B表示为:对于矩阵B中各元素的行位置序号记为key,其对应的value值标记为R-movieid-value形式;
L、R分别表示左、右矩阵;movieid表示左矩阵行位置及右矩阵列位置;value值表示各元素所对应的不同主题所占的比重值;
将所述矩阵A、B分别按列、行分段;所述分段方式为:将视频的总数进行因数分解表示为3个因数,记为f1、f2及f3,每个分段包含f1个值,共有f2*f3个分段;
分段后,对各个分段进行标记,左矩阵第n列第j个分段表示为:
jL-n-1#f2*f3-value_lstn∈(1,2,...,f2*f3);
右矩阵第n行第j’个分段表示为:
j'R-1#f2*f3-n-value_lstn∈(1,2,...,f2*f3);
1#f2*f3表示各元素拷贝份数的序列号,1表示开始序列号,f2*f3表示拷贝总数;value_lst表示在该分段内各视频主题所占的比重值的列表;
D2、对分段的矩阵A、B执行HadoopMapReduce的分段拷贝任务时,执行f2轮HadoopMapReduce的拷贝任务,每轮HadoopMapReduce将Map每条输入记录拷贝f3次;
完成MapReduce的拷贝任务时,左、右矩阵中的元素的记录样式分别表示为:
jL-n-r*f3#(r+1)*f3-value_lstn∈(1,2,...,f2*f3);
j'R-r*f3#(r+1)*f3-n-value_lstn∈(1,2,...,f2*f3);
r表示当前已拷贝的轮数;
D3、把要进行相乘的具有对应位置标记的左、右矩阵的两条记录合并为一条记录,
合并后左、右矩阵元素的记录为:
n-j-j'element_list-L,n,j-element_list-R,n,j';
element_list-L,n,j表示左矩阵中第n列中的第j个分段中各元素集合,element_list-R,n,j’表示右矩阵中第n行的第j’个分段中的各元素集合;
D4、将D3中的表达式各条记录中左矩阵element_list元素集合中的各个元素依次与右矩阵element_list元素集合中的各个元素相乘;
左矩阵中各个元素的key表示为movieid(L),即该元素在左矩阵的具体位置;右矩阵中各个元素的key表示为movieid(R);value值记为两元素的乘积,从而形成Reduce阶段的key/value对输出;
在Reduce阶段,将具有相同key的记录汇总,得到矩阵A、B乘积矩阵中的每一个元素,所述每个元素为视频间的主题相似度值。
附图说明
图1所示为本发明流程图;
图2所示为迭代拷贝任务原理示意图;
图3所示为实现本发明装置的原理示意图。
具体实施方式
为克服现有技术存在的缺陷,本发明提供一种基于视频主题相似度的视频推送方法,实现在数量众多的视频库中寻找出与目前正在观看视频主题相似性最高的视频,以进行推送。
如图1所示,本发明包括以下步骤:
S10:抓取视频的名称。
针对现有视频数据库中所存储的视频,获取各视频的名称。所获取的名称可按照首字母读音进行排序。
S20:依据视频名称抓取对应视频的各个标签,存入视频标签数据库。
通过网络爬虫程序,根据视频名称依次从互联网视频网站抓取对应的各个视频标签,并将视频标签存入视频标签数据库。其中,由于视频标签从不同的视频网站抓取,因此需在视频标签存入数据库时要进行视频标签唯一性甄别,将重复的视频标签进行去重处理。
举例来说,某视频为一场足球比赛,其视频名称为“2014-15赛季欧冠决赛_尤文图斯VS巴塞罗那”,该视频被不同的视频网站设置有不同的标签,如,包括:“欧冠”、“尤文图斯”、“巴塞罗那”、“梅西”、“皮尔洛”、“哈维”、“莫拉塔”等等,则本步骤依次将上述标签从各视频网站抓取并进行去重存储。
S30:基于视频标签数据库,进行LDA主题模型训练,形成视频-主题库。
本步骤的目的在于,基于与视频相关的各个视频标签对视频库进行主题归类训练,得到视频库中由视频标签生成视频名称的规律,也即视频由哪些主题组成,主题由哪些标签组成,即视频-主题库。例如,上述视频标签都可归类于“足球”主题;“欧冠”、“尤文图斯”、“巴塞罗那”可归类于“欧洲冠军联赛”主题;“哈维”、“皮尔洛”可归类于“球星”主题等等。
为了便于后面的计算,预先对所有视频设定相同数量的主题个数K。在对各视频进行主题模型训练的过程中,对所建立的主题模型的优劣进行评估,即确定视频的各个主题所占的比重值,所述比重值在后续的外积法计算中以向量值表示。本发明中,根据模型的perplexity值判定模型优劣,perplexity值越小则模型越好,表示其所对应的视频主题模型与所述视频标签越契合。在训练过程中,计算对应的模型的perplexity值,最终选取perplexity值最小的模型作为最优模型,对应的K值即为最合适的主题个数。其中,模型的perplexity值计算公式如下:
p e r p l e x i t y = exp { - Σ d = 1 M log p ( W d ) Σ d = 1 M N d } - - ( 6 ) p ( W d ) = Π n = 1 N d Σ z = 1 K p ( z | d ) p ( w n | z ) - - ( 7 )
其中,M表示视频库中视频总数,Wd表示视频库中第d个视频,Nd表示第d个视频的视频标签总数,Wn表示第d个视频标签中第n个词,K表示第d个视频的视频主题总数,z表示第d个视频的第z个视频主题。
S40:根据LDA主题模型训练结果记录的内容存储各视频的主题分布,即视频由哪些主题组成,以及视频在各主题所占的向量值。
仍以上述足球比赛的视频举例来说,该视频包括三个主题,即:“足球”、欧洲冠军联赛”和“球星”,其中“足球”的向量(即该主题在对应视频中所占的比重)为0.5;“欧洲冠军联赛”的向量为0.3;“球星”的向量为0.2。
S50:基于所确定出的各个视频的主题分布,进行视频间相似度计算。
由背景技术所述,视频库中任意两视频相似度计算可转化为两个矩阵乘法计算,且可采用HadoopMapReduce分布式计算框架进行矩阵相乘计算。通过现有技术中对的分析,采用内积计算方法或分块矩阵乘法存在着运算量大或运算及逻辑控制繁琐的问题,基于此,本发明基于外积法利用HadoopMapReduce进行大规模矩阵相乘进行视频间相似度计算,
其中,外积法计算过程为:
a 11 a 21 ... a M 1 × a 11 a 21 ... M 1 = a 11 * a 11 a 11 * a 21 ... a 11 * a M 1 a 21 * a 11 a 21 * a 21 ... a 21 * a M 1 ... ... ... ... a M 1 * a 11 a M 1 * a 21 ... a M 1 * a M 1 - - ( 8 )
a 12 a 22 ... a M 2 × a 12 a 22 ... M 2 = a 12 * a 12 a 12 * a 22 ... a 12 * a M 2 a 22 * a 12 a 22 * a 22 ... a 22 * a M 2 ... ... ... ... a M 2 * a 12 a M 2 * a 22 ... a M 2 * a M 2 - - ( 9 )
a 1 K a 2 K ... a M K × a 1 K a 2 K ... a M K = a 1 K * a 1 K a 1 K * a 2 K ... a 1 K * a M K a 2 K * a 1 K a 2 K * a 2 K ... a 2 K * a M K ... ... ... ... a M K * a 1 K a M K * a 2 K ... a M K * a M K - - ( 10 )
C = a 11 * a 11 + a 12 * a 12 + ... + a 1 K * a 1 K a 11 * a 21 + a 12 * a 22 + ... + a 1 K * a 2 K ... a 11 * a M 1 + a 12 * a M 2 + ... + a 1 K * a M K a 21 * a 11 + a 22 * a 12 + ... + a 2 K * a 1 K a 21 * a 21 + a 22 * a 22 + ... + a 2 K * a 2 K ... a 21 * a M 1 + a 22 * a M 2 + ... + a 2 K * a M K ... ... ... ... a M 1 * a 11 + a M 2 * a 12 + ... + a M K * a 1 K a M 1 * a 21 + a 12 * a M 2 + ... + a M K * a 2 K ... a M 1 * a M 1 + a M 2 * a M 2 + ... + a M K * a M K - - ( 11 )
由上可知,A矩阵中每一列的每个元素与B矩阵中每一行的每个元素依次相乘,计算结果分别是cij的组成部分,aik*ajk是独立的可以由不同计算节点运算,基于HadoopMapReduce模型最终只需要根据key(i,j)将运算结果进行汇总相加即可得到cij。故,本发明选择基于外积法利用HadoopMapReduce进行大规模矩阵相乘进行视频间相似度计算,具体的,本步骤S50包括下述子步骤:
S501:将视频主题模型进行训练得到的各视频的主题分布表示为如上公式(2)所示出的互为转置矩阵的A、B两个矩阵,且设定A矩阵为相乘时的左矩阵,B矩阵为相乘时的右矩阵。
如上所示,A、B互为转置矩阵。矩阵中的各元素a11~a1K表示第一视频的主题分布,即第一视频对应的各主题向量值;a21~a2K表示第二视频的主题分布;……;aM1~aMK表示第M视频的主题分布。即Map阶段所接收的key是视频的各主题序号,value值是视频对应各主题的向量值。
为保证左矩阵第n列元素与右矩阵第n行元素分布在同一个计算节点,以便于后面进行矩阵乘积运算,矩阵可以按以下方式表示:
对于视频的各主题的序号记为key(即表示在第几列),其对应的value值(向量值)标记为L-movieid-value形式,组成A矩阵。
其中,L表示左矩阵;movieid表示该元素在矩阵中的行位置,由此,可以根据对应行(例如第一行表示属于第一个视频,第M行表示属于第M个视频)和对应列(第一列表示对应第一个主题,对应主题第一个序号,第K列表示对应第K个主题,对应主题第K个序号)确定出该value值在左矩阵中的具体位置;value即表示该视频的该主题的向量值。在B矩阵中,视频的各主题的序号同样记为key(即表示在第几行),其对应的value值标记为R-movieid-value形式,组成B矩阵。
S502:确定矩阵的分段拷贝策略。
由前述步骤可获知视频总数M,将M进行因数分解表示为3个因数,记为f1、f2及f3。如果M因数分解得到因数个数小于等于2,则其他因数用1代替。在利用HadoopMapReduce分布式计算框架进行矩阵相乘计算时,则设置矩阵分段拷贝策略为:使矩阵的每个分段包含f1个元素,共有f2*f3个分段;在进行分段拷贝时,拷贝f2轮,每轮拷贝f3份。
下面对设置分段拷贝策略的原因进行介绍:
当视频数量较多(即M值较大)时,导致矩阵规模较大,直接左矩阵(即A矩阵)一列每个元素与右矩阵(即B矩阵)中一行中所有元素依次相乘,计算效率会较低。故本步骤采用左矩阵元素按列分段,右矩阵元素按行分段。
根据矩阵相乘外积法的算法思想,需要将两个矩阵中的分段一一对应相乘。假设每个分段包含w个元素,共有个n分段。由于左矩阵中第k列第i分段需要与右矩阵中第k行所有分段相乘,则左矩阵第i分段对应HadoopMapReduce的拷贝任务需要拷贝n份;同理右矩阵第j分段需要拷贝n份。分段以后,相比于整行或整列拷贝,可以提高拷贝效率。
进一步的,当M值较大时,左右矩阵每个分段需要拷贝份数都很大,如果采用一轮HadoopMapReduce完成所有分段拷贝任务,则每个Map对每行记录都需要执行很多遍拷贝工作,大大延长了Map执行时间,同时也没有使尽可能多的计算节点参与计算。因此,可以设置进行多轮MapReduce最终完成所有分段拷贝任务并将拷贝任务分发到尽可能多的计算节点(如机器)上。
假设进行r轮拷贝,每轮拷贝n/r份,每完成一轮拷贝任务,下一轮拷贝任务所输入的数据比上一轮拷贝任务输入数据膨胀n/r倍。相应此轮参与运算的集群节点比上轮增加n/r倍,即拷贝任务被分发至更多的机器,提升了拷贝效率,该迭代拷贝任务分发算法原理可参见图2所示。
S503:根据所确定的策略对矩阵进行分段与拷贝。
根据步骤S502制定的分段与拷贝策略,左矩阵每列分为f2*f3段,每段包含f1个元素;右矩阵每行分为f2*f3段,每段包含f1个元素。在利用HadoopMapReduce分布式计算框架进行矩阵相乘计算时,经过f2轮拷贝完成拷贝任务,每轮HadoopMapReduce将Map每条输入记录拷贝f3次。
完成矩阵所述分段后,对各个分段进行标记,例如,左矩阵第n列第j个分段表示为:
jL-n-1#f2*f3-value_lstn∈(1,2,...,f2*f3);--(12)
同理,右矩阵第n行第j’个分段表示为:
j'R-1#f2*f3-n-value_lstn∈(1,2,...,f2*f3);--(13)
其中,L、R分别表示左、右矩阵;1#f2*f3表示元素拷贝份数的序列号,1为开始序列号,f2*f3为拷贝总数,即终止序列号;value_lst表示在该分段内各视频主题向量值的列表。
采用上述表达式对矩阵内元素进行标记的目的在于,分别将各视频主题向量在矩阵中所处的位置进行标记,便于后续步骤的位置确定以及矩阵外积计算。
完成r轮拷贝任务后,左、右矩阵的元素的记录样式分别表示为:
jL-n-r*f3#(r+1)*f3-value_lstn∈(1,2,...,f2*f3)--(14);
j'R-r*f3#(r+1)*f3-n-value_lstn∈(1,2,...,f2*f3)--(15);
完成拷贝后,所拷贝的各元素仍然带有其所处位置的标签,另外还带有拷贝的序列号,即对应为Map阶段的key。
S504:执行因子相乘的准备步骤。
元素拷贝完成后,接下来就将进入最终元素相乘的最后准备工作。此步骤依据表达式(11),将接下来将要进行相乘的具有对应位置标记的左、右矩阵的两条记录合并为一条记录,以便于在下一个步骤中经过一轮的HadoopMapReduce就可以完成元素相乘。合并后左、右矩阵元素的记录为:
n-j-j'element_list-L,n,j-element_list-R,n,j'--(16)
表达式(16)中的element_list-L,n,j表示左矩阵中的第n列第j个分段中的各向量集合,element_list-R,n,j’表示右矩阵中的第n行第j’个分段中的各向量集合。
S505:通过矩阵相乘得到乘积矩阵中的每一个元素,即得到视频间相似度。
将表达式(16)中的各条记录中左矩阵element_list向量集合中的各个元素依次与右矩阵element_list向量集合中的各个元素相乘。相乘过程中,左矩阵中各个元素的key表示为movieid(L),即该元素在左矩阵的具体位置;同理,右矩阵中各个元素的key表示为movieid(R)。value值记为两元素的乘积,从而形成Reduce阶段的key/value对输出。
在Reduce阶段,将具有相同key的记录汇总,即可得到最终乘积矩阵中的每一个元素,即采用外积法计算矩阵A与矩阵B相乘,得到的矩阵C中的每一个元素。
S60:根据相似度值的大小确定出相似度高的视频,并进行记录。
例如,选取每个视频相似度值前50个视频组成视频相似度记录存入相应数据库中。
由上,则完成了视频相似度的判断以及录入数据库,该数据库即可以用于视频推荐业务等。如,当用户观看视频A的时候,根据该数据库的记录可确定出符合相似度要求的其他视频,向该用户进行推送。
图3所示为实现上述方法的装置原理示意图,包括:视频标签抓取模块31,用于从互联网抓取视频库中所有视频的内容相关标签,并进行去重处理所述视频内容相关标签如前述步骤S20中包括的“欧冠”、“尤文图斯”、“巴塞罗那”、“梅西”、“皮尔洛”、“哈维”、“莫拉塔”等等。
视频标签数据库模块32,与所述视频标签抓取模块31连接,用于存储视频库中各视频的所有标签。
LDA主题模型训练模块33,与所述视频标签抓取模块31连接,基于与视频内容相关的标签对视频库进行训练得到主题建模。此模块即是通过对视频库中各个视频进行训练,得到各视频中由标签生成视频的规律,也即视频由哪些主题组成,主题由哪些标签组成,及各主题在视频中所占比重,即步骤S40所述的向量值。
视频-主题接口模块34,与所述LDA主题模型训练模块33连接,用于存储LDA主题模型训练模块训练结果。该训练结果指出了每个视频的主题组成,及这些主题在视频中所占比重。
大规模视频相似度计算模块35,与所述LDA主题模型训练模块33连接,此计算模块基于LDA主题模型训练结果视频-主题分布计算视频相似度。
视频相似矩阵数据库模块36,与大规模视频相似度计算模块35连接,用于存储视频间相似关系,即视频库中每两个视频间相似度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于视频主题相似度的视频推送方法,其特征在于,包括以下步骤:
A、抓取各个视频对应的标签;
B、针对所述各个视频的标签进行LDA训练,获得各个视频的主题分布;
C、基于步骤B所述各个视频的主题分布构建视频-主题分布矩阵,记为矩阵A,其转置矩阵表示为矩阵B;
D、将所述矩阵A、B分别作为左右矩阵,采用外积法利用HadoopMapReduce分布式计算框架进行矩阵相乘计算,获得各个视频间的主题相似度;
E、根据所述各个视频间的主题相似度选择视频进行推送。
2.根据权利要求1所述的方法,其特征在于,步骤A后还包括步骤:对所抓取的各个视频对应的标签进行去重处理。
3.根据权利要求1所述的方法,其特征在于,
步骤B包括:
将所抓取的各个视频标签归纳为各个视频的不同主题;
针对所述不同主题进行LDA训练,得出各个视频合适的主题个数以及不同主题分别所占的比重值。
4.根据权利要求3所述的方法,其特征在于,所述得出各个视频合适的主题个数包括:采用以下计算式:
p e r p l e x i t y = exp { - Σ d = 1 M log p ( W d ) Σ d = 1 M N d } ;
p ( W d ) = Π n = 1 N d Σ z = 1 K p ( z | d ) p ( w n | z ) ;
其中,M表示视频库中视频总数,Wd表示第d个视频,Nd表示第d个视频的视频标签总数,Wn表示第d个视频标签中第n个词,K表示第d个视频的视频主题总数,z表示第d个视频的第z个视频主题;
计算结果perplexity值与所述主题个数的合适程度成反比。
5.根据权利要求1~4任一所述的方法,其特征在于,步骤D包括:
D1、所述矩阵A表示为:对于矩阵A中各元素的列位置序号记为key,其对应的value值标记为L-movieid-value形式;
所述矩阵B表示为:对于矩阵B中各元素的行位置序号记为key,其对应的value值标记为R-movieid-value形式;
L、R分别表示左、右矩阵;movieid表示左矩阵行位置及右矩阵列位置;value值表示各元素所对应的不同主题所占的比重值;
将所述矩阵A、B分别按列、行分段;所述分段方式为:将视频的总数进行因数分解表示为3个因数,记为f1、f2及f3,每个分段包含f1个值,共有f2*f3个分段;
分段后,对各个分段进行标记,左矩阵第n列第j个分段表示为:
jL-n-1#f2*f3-value_lstn∈(1,2,...,f2*f3);
右矩阵第n行第j’个分段表示为:
j'R-1#f2*f3-n-value_lstn∈(1,2,...,f2*f3);
1#f2*f3表示各元素拷贝份数的序列号,1表示开始序列号,f2*f3表示拷贝总数;value_lst表示在该分段内各视频主题所占的比重值的列表;
D2、对分段的矩阵A、B执行HadoopMapReduce的分段拷贝任务时,执行f2轮HadoopMapReduce的拷贝任务,每轮HadoopMapReduce将Map每条输入记录拷贝f3次;
完成拷贝任务时,左、右矩阵中的元素的记录样式分别表示为:
jL-n-r*f3#(r+1)*f3-value_lstn∈(1,2,...,f2*f3);
j'R-r*f3#(r+1)*f3-n-value_lstn∈(1,2,...,f2*f3);
r表示当前已完成拷贝的轮数;
D3、把要进行相乘的具有对应位置标记的左、右矩阵的两条记录合并为一条记录,
合并后左、右矩阵元素的记录为:
n-j-j'element_list-L,n,j-element_list-R,n,j';
element_list-L,n,j表示左矩阵中第n列中的第j个分段中各元素的集合,element_list-R,n,j’表示右矩阵中第n行中的第j’个分段中各元素的集合;
D4、将D3中的表达式各条记录中左矩阵element_list元素集合中的各个元素依次与右矩阵element_list元素集合中的各个元素相乘;
左矩阵中各个元素的key表示为movieid(L),即该元素在左矩阵的具体位置;右矩阵中各个元素的key表示为movieid(R);value值记为两元素的乘积,从而形成Reduce阶段的key/value对输出;
在Reduce阶段,将具有相同key的记录汇总,得到矩阵A、B乘积矩阵中的每一个元素,所述每个元素为视频间的主题相似度值。
CN201510494284.9A 2015-08-12 2015-08-12 基于视频主题相似度的视频推送方法 Pending CN105069121A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510494284.9A CN105069121A (zh) 2015-08-12 2015-08-12 基于视频主题相似度的视频推送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510494284.9A CN105069121A (zh) 2015-08-12 2015-08-12 基于视频主题相似度的视频推送方法

Publications (1)

Publication Number Publication Date
CN105069121A true CN105069121A (zh) 2015-11-18

Family

ID=54498491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510494284.9A Pending CN105069121A (zh) 2015-08-12 2015-08-12 基于视频主题相似度的视频推送方法

Country Status (1)

Country Link
CN (1) CN105069121A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107484038A (zh) * 2017-08-22 2017-12-15 北京奇艺世纪科技有限公司 一种视频主题的生成方法、装置及电子设备
CN108491529A (zh) * 2018-03-28 2018-09-04 百度在线网络技术(北京)有限公司 信息推荐方法及装置
CN110866563A (zh) * 2019-11-20 2020-03-06 咪咕文化科技有限公司 相似视频检测、推荐方法、电子设备和存储介质
CN112235599A (zh) * 2020-10-14 2021-01-15 广州欢网科技有限责任公司 一种视频处理方法及系统
CN113032671A (zh) * 2021-03-17 2021-06-25 北京百度网讯科技有限公司 内容处理方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120296941A1 (en) * 2010-02-03 2012-11-22 Nokia Corporation Method and Apparatus for Modelling Personalized Contexts
CN103544625A (zh) * 2012-07-10 2014-01-29 百度在线网络技术(北京)有限公司 一种根据海量数据进行应用相似度判断的方法及系统
CN103823848A (zh) * 2014-02-11 2014-05-28 浙江大学 一种基于lda和vsm的中草药相似文献的推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120296941A1 (en) * 2010-02-03 2012-11-22 Nokia Corporation Method and Apparatus for Modelling Personalized Contexts
CN103544625A (zh) * 2012-07-10 2014-01-29 百度在线网络技术(北京)有限公司 一种根据海量数据进行应用相似度判断的方法及系统
CN103823848A (zh) * 2014-02-11 2014-05-28 浙江大学 一种基于lda和vsm的中草药相似文献的推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王伟 等: "《中国科技论文在线》", 7 April 2015 *
胡吉明等: "基于动态LDA主题模型的内容主题挖掘与演化", 《图书情报工作》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107484038A (zh) * 2017-08-22 2017-12-15 北京奇艺世纪科技有限公司 一种视频主题的生成方法、装置及电子设备
CN108491529A (zh) * 2018-03-28 2018-09-04 百度在线网络技术(北京)有限公司 信息推荐方法及装置
CN108491529B (zh) * 2018-03-28 2021-11-16 百度在线网络技术(北京)有限公司 信息推荐方法及装置
CN110866563A (zh) * 2019-11-20 2020-03-06 咪咕文化科技有限公司 相似视频检测、推荐方法、电子设备和存储介质
CN110866563B (zh) * 2019-11-20 2022-04-29 咪咕文化科技有限公司 相似视频检测、推荐方法、电子设备和存储介质
CN112235599A (zh) * 2020-10-14 2021-01-15 广州欢网科技有限责任公司 一种视频处理方法及系统
CN113032671A (zh) * 2021-03-17 2021-06-25 北京百度网讯科技有限公司 内容处理方法、装置、电子设备和存储介质
CN113032671B (zh) * 2021-03-17 2024-02-23 北京百度网讯科技有限公司 内容处理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN105069121A (zh) 基于视频主题相似度的视频推送方法
Zhang et al. Large-scale multi-label classification using unknown streaming images
US10489480B2 (en) Sparse matrix multiplication in associative memory device
CN110674407B (zh) 基于图卷积神经网络的混合推荐方法
Snavely et al. Skeletal graphs for efficient structure from motion
Adhikari et al. Iterative bounding box annotation for object detection
CN104346629B (zh) 一种模型参数训练方法、装置及系统
Meng et al. Leveraging concept association network for multimedia rare concept mining and retrieval
Virtanen et al. Factorized multi-modal topic model
US20200218965A1 (en) Accelerating parallel processing of data in a recurrent neural network
CN103218391A (zh) 搜索装置、搜索方法和聚类装置
CN106815244A (zh) 文本向量表示方法及装置
CN102999615A (zh) 基于径向基函数神经网络的多样化图像标注和检索方法
CN104636486B (zh) 一种基于非负交替方向变换的用户特征抽取方法及抽取装置
CN106919719A (zh) 一种面向大数据的信息补全方法
CN104809161B (zh) 一种对稀疏矩阵进行压缩和查询的方法及系统
CN113094593A (zh) 社交网络事件推荐方法、系统、设备及存储介质
CN113590958B (zh) 基于样本回放的序列推荐模型的持续学习方法
CN101540061B (zh) 基于模拟退火的无序图像拓扑有序化匹配方法
JP2023024932A (ja) マルチモーダルのトランスフォーマベースのアイテム分類システム、データ処理システム、データ処理方法、及びコンピュータ実行方法
WO2020168675A1 (zh) 一种样本数据的处理方法、系统及装置
Wu et al. Explainable data transformation recommendation for automatic visualization
CN110213660A (zh) 节目的分发方法、系统、计算机设备和存储介质
Zhang et al. Common community structure in time-varying networks
Wen et al. Cross-modality salient object detection network with universality and anti-interference

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100191, Haidian District, Xueyuan Road, No. 51, the first to enjoy the 13 floor of science and technology building, Beijing

Applicant after: Storm group Limited by Share Ltd

Address before: 100191, Haidian District, Xueyuan Road, No. 51, the first to enjoy the 13 floor of science and technology building, Beijing

Applicant before: Beijing Baofeng Technology Co., Ltd.

COR Change of bibliographic data
RJ01 Rejection of invention patent application after publication

Application publication date: 20151118

RJ01 Rejection of invention patent application after publication