发明内容
鉴于现有技术中存在的问题,本发明的目的在于提供一种不仅仅依赖于TF-ID(term frequency-inverse document frequency,即:词频-逆向文件频率)方法,同时具有网络视频自身特点的排序检索方法。为了达到上述目的,本发明提供了一种基于词频、播放量和创建时间检索信息的方法及系统。
根据本发明提供的一种基于词频、播放量和创建时间检索信息的方法,该方法包括如下步骤:步骤(1)用户输入关键词后触发检索;步骤(2)根据网络视频文字信息,统计该关键词的词频与包含这个关键词的网络视频数、网络视频总数,计算词频-逆向文件频率权重值;步骤(3)根据网络视频的播放量,及该网络视频所属网络视频分类中所含的网络视频个数、该网络视频分类的所有播放量、所有网络视频的播放量的总和计算网络视频播放量权重值;步骤(4)根据网络视频信息中包含的创建时间计算创建时间权重值;步骤(5)当进行倒排预排时,根据计算得出的词频-逆向文件频率权重值、网络视频播放量权重值、创建时间权重值计算最终的权重并依据该最终权重对该关键词后的网络视频文档进行排序;步骤(6)按照顺序显示与网络视频文档对应的网络视频信息。
更进一步的,本方法中的步骤(2)包括以下步骤:
计算
其中:nij是所述关键词在某网络视频文字信息dj(Vj)中的出现次数,而分母则是在文字信息dj(Vj)中所有字词的出现次数之和;
计算
其中:|D|:全部的网络视频信息数量;
{j:ti∈Vj}:包含词语ti的网络视频数目;
计算tfidfij=tfij*idfi.得到词频-逆向文件频率权重值。
更进一步的,本方法中的步骤(3)包括以下步骤:
进行以下计算
其中:{Cj}j=1,2.........k代表第j个网络视频分类;
Hit(v)代表某一网络视频v的播放量;
Vnum({Cj})代表第j个网络视频分类中所含的网络视频个数;
CHitN({Cj})某个分类中的所有网络视频的播放量;
AHitN所有网络视频的播放量的总和;
CQHit指某个类别中的网络视频的播放量在所有的网络视频播放量中所占的百分比;
根据以上结果执行
最后根据Power(Hit(v),v∈{Cj})=Pow(Hit(v))*CQHit*f({Cj}).获得网络视频播放量的权重值。
更进一步,本发明的方法中步骤(4)包括以下步骤:
其中FTime(v)表示某个网络视频的创建时间;
FunTimeO表示当前时间,可以认为是所有网络视频创建时间的最大值;
FunTime1表示最早时间,可以认为是所有网络视频创建时间的最小值;
FunTimeUnit表示时间分段单位时间;
根据下面的微调函数进行微调:
其中:
FunTimeO≥FTime(v)>FunTime1
通过TPower(v)=FTPow(v)*f(FTime(v)).来获得创建时间权重。
更进一步,本发明所述的方法中的步骤(5)中所述根据计算得出的词频-逆向文件频率权重值、网络视频播放量权重值、创建时间权重值对某关键词后的网络视频文档进行排序是指根据下式来进行计算最终的权重:
fPower(ti,vk)=tfidfik*Power(Hit(vk),vk∈{Cj})*TPower(v)。
此外,本发明还提供了一种基于词频、播放量和创建时间检索信息的系统,该系统包括网络视频信息数据库,保存有网络视频信息;网络视频信息读取单元,该单元从网络视频信息数据库中读取数据,获取网络视频文字信息、创建时间、所属类别及其播放量;网络视频信息汇总单元,根据网络视频文字信息统计网络视频中的某关键词词频、包含所述关键词的网络视频数以及总的网络视频数量,统计各类别网络视频的总的播放量及网络视频个数信息;权重计算单元,根据汇总得到的关键词的词频及包含这个词的网络视频数和网络视频总数计算TF-IDF加权值,根据网络视频的播放量及该网络视频所属网络视频分类中所含的网络视频个数、该网络视频分类的所有播放量、所有网络视频的播放量的总和计算网络视频播放量权重值;根据网络视频的创建时间计算创建时间权重值;根据以上三个权重值计算出关于该关键词的网络视频的最终权重;排序单元:在进行倒排预排时,对于包含该同一关键词的所有网络视频在这个过程中按照计算的网络视频最终权重进行排序;检索单元:根据关键词调用以上各单元进行检索并返回排序数据;触发显示单元:将用户输入的关键词传输给检索单元并触发检索单元检索,按顺序从检索单元接收检索到的数据进行相应的网络视频信息显示。
本发明所述的方法及系统具有以下优点:
本发明所述的方法避免了由于网络视频文字信息较短,单独使用TF-IDF进行检索预排序几乎完全按照输入顺序的缺点,增加网络视频播放量权重与时间权重因素后,使得播放量较大时间上较新的数据能够排在前面,这样进行检索时能够提供出播放多时间新的网络视频。
具体实施方式
为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明:
首先设定DX代表一个文档(网络视频文字信息)编号,Wx代表一个词的标号。那么我们文档对应的词的关系结构可以表示为下面的非对称矩阵形式。
如果需要检索,则需要建立一个词对应文档的倒排结构,将上矩阵建倒排之后则可以表示为如下矩阵形式:
当进行倒排时需要对D0,D1......DM(M>=0)进行预排序,按照传统的方法,只需要计算标准的TF-IDF值。但是这里一个文档代表着一个网络视频,由于网络视频的某些特点,不能简单的使用表针的TF-IDF来做,而需要综合网络视频播放量、网络视频创建时间以及标准的TF-IDF值计算每个网络视频排序的权重值。如图1和图2所示。
1.TF-IDF部分
TF-IDF计算遵循标准的算法。
TF(term frequency,即:词频)指一个给定的词(即用户给定的关键词)在该网络视频文字信息(主要包括网络视频作者、标题、关键字)中出现的频率。这个数字是对TC(term count,即:词数)的归一化,以防止它偏向长文字信息的网络视频。(同一个词语在长文字信息里可能会比短文件有更高的词数,而不管该词语重要与否。)对于在某一特定网络视频文字信息里的词语tj来说,它的重要性可表示为:
其中:
nij是该给定的词在某网络视频文字信息dj(Vj)中的出现次数,而分母则是在文字信息dj(Vj)中所有字词的出现次数之和。
IDF(inverse document frequency,逆向文件频率)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件(网络视频)数目除以包含该词语之文件的数目,再将得到的商取对数得到:
其中:
|D|:全部的文字信息数量,在本发明中认为是能够得到的所有网络视频的总数。
{j:ti∈Vj}:包含所述某一特定词语ti的文件数目(即nij≠0的网络视频数目)如果该词语不在语料库中,就会导致被除数为零,因此一般情况下使用{j:ti∈Vj}+1
最终:
tfidfij=tfij*idfi....................................................................................(3)
某一特定文字信息段内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。
tfidfij是通过网络视频标题、作者等文字信息进行网络视频搜索的基础。是整个过程中网络视频评分的第一个因素,也是进行网络视频评分的基础。但是,TF-IDF只是语义基础得分,由于网络视频文字信息有限,在大量的网络视频文字信息中词只出现1次,无法体现网络视频的重要程度,因此必须考虑网络视频的一些特有的特征。
2.网络视频播放量
用户在通过网站观看网络视频时,网络视频通过播放器进行播放同时会向服务器发送播放日志。通过每小时日志的统计就能够得到网络视频的被观看次数,然后将播放次数累加到数据库记录中。通过数据库查询就能够获得网络视频的播放量。
为了更好的说明这个问题,定义以下基本符号:
{Cj}j=1,2.........k代表第j个网络视频分类(如电影,电视剧);
Hit(v)代表某一网络视频v的播放量;
Vnum({Cj})代表第j个网络视频分类中所含的网络视频个数;
评价一个网络视频好不好,最明显的特征就是网络视频本身被用户看过多少,换句话说就是网络视频播放量。在系统中网络视频是被分成不同类型的,比如电影、电视剧、综艺等等,因此考虑时首先网络视频要分类考虑,即要考虑网络视频所属类型的对全部网络视频的播放量的贡献。这个关系可以用以下公式表示:
其中:
CHitN({Cj})某个分类中的所有网络视频的播放量;
AHitN所有网络视频的播放量的总和;
CQHit指某个类别播放量在所有播放量中所占的百分比。
可以认为CQHit某类别播放量所占百分比就代表了某个分类的贡献量。如果某个类别对全局的贡献越大越能证明这个类别观看的越多,用户越希望在相关位置和后续的正比例关系排序中看到。
但是从另一个角度来讲,如果两个网络视频播放量近似,但出现在不同的类别中,那么相对来讲在所有网络视频中占有比例较小的网络视频以表现的机会。这就需要对某个类别的所有网络视频计算某个值进行调整,使用某类网络视频在所有网络视频中所占比例的倒数来进行调整:
每个网络视频的播放量在单独类别中都是相对的,为了表示这个相对程度,使用每个网络视频的播放量相对类别平均播放量的倍数这个标量的对数来表示,简单的可以用以下公式计算
这样计算网络视频播放量考虑了以上三个方面,这三个值的乘积作为某个网络视频播放量量化排序的因素值。
Power(Hit(v),v∈{Cj})=Pow(Hit(v))*CQHit*f({Cj})..................(9)
3.网络视频创建时间
为了更好的说明这个问题,首先定义以下符号:
FTime(v)某个网络视频的创建时间;
FunTimeO当前时间,可以认为是所有网络视频创建时间的最大值;
FunTime1最早时间,可以认为是所有网络视频创建时间的最小值;
FunTimeUnit时间分段单位时间。
作为网络视频来讲,像每个人一样都有一个出生的时间,这里使用网络视频的创建时间。为了计算时间对于网络视频重要程度的影响,做以下定义:随着时间的发展,网络视频的重要程度在降低,即越接近当前时间创建的网络视频重要性越高,其降低过程被认为是一个先快后慢的过程。
网络视频的时间基本权重在一定时间段内(这个时间段可以是1天,2天,也可以是一周,一个月)是一样的,随着时间向前推移逐步降低,其降低幅度越来越小。为此我们使用以下函数:
其中:
表示对结果进行向下取整,这样可以将时间分段对应到sin(x)的某个周期中。
这里使用了
式(11)是分段函数形式,将网络视频常见时间通过变换映射到|sin(x)|的某个周期中,使用本周期中的局部近似最大值
作为本区间的基本权重。
在某个时间段内部,创建时间点的不同,其时间权重也有些许不同,因此需要进行微调,这里使用以下函数作为微调的函数
其中:
FunTimeO≥FTime(v)>FunTime1
这样我们使用下式来描述创建时间权重
TPower(v)=FTPow(v)*f(FTime(v))..............................................................................(13)
TPower(v)就描述了创建时间对网络视频权重的意义。一方面对根据网络视频创建时间进行分段,另一方面又在每个区间内部进行调整,从而得到创建时间对于网络视频的一个合理的权重。
综合以上三个方面,最终的排序使用这三个值的乘积,即:
fPower(ti,vk)=tfidfik*Power(Hit(vk),vk∈{Cj})*TPower(v)......(14)
当进行网络视频的倒排预排时,根据计算得出的网络视频最终权重fPower(ti,vk)对某词后的文档进行排序,这样检索时将优先出现距离现在时间较近、点击量较高的网络视频。
下面我们通过具体的例子来说明上述方法的使用,给定关键词语t和网络视频v,fPower(t,v)的具体计算过程如下:
1.TF-IDF
假设该给定词t在某网络视频v中的出现次数为1,v中所有的字词出现次数之和为5,网络视频总量|D|为5*107,包含t的网络视频总数为3*103,则根据公式(1)-(3)可得到
tfidft,v=tft,v*idft≈1.843
2.网络视频播放量权重计算
假设v的播放量v属于类别Ci,Ci的网络视频总数Vnum(Ci)=5×106,该类别的总播放量CHitN(Ci)=4×1010,网络视频总量|D|为5×107,所有网络视频的播放量的总和AHitN=5×1011。
由公式(6)-(9)可得到
Power(Hit(v),Ci)=Pow(Hit(v))*CQHit*f(Ci)≈2.021
3.网络视频创建时间权重计算
假设最早时间FunTime1=0,当前时间FunTimeO=5×103,网络视频v的创建时间FTime(v)=3×103,时间分段单位时间FunTimeUnit=10。
由公式(10)(12)(13)可得
TPower(v)=FTPow(v)*f(FTime(v))≈0.003
综合上述计算的结果,由公式(14)可得最终权重为
fPower(ti,vk)=tfidfik*Power(Hit(vk),vk∈{Cj})*TPower(v)
=1.84×3 2.0×2.1 0≈0.03
则在对包含词t的所有网络视频进行排序时,0.012就是本网络视频的最终权重,并基于此值进行预排序。
在综合网络视频播放量、网络视频创建时间和TF-IDF之前,在加载倒排时排序只按照TF-IDF一个因素,导致命中时,只是按照网络视频进入的先后顺序进行命中,这些网络视频的时间不一定离现在较近,点击量也不一定高,这样很难向用户提供好的搜索结果。使用本发明后,可以根据网络视频播放量和网络视频创建时间综合,将相对重要的网络视频排在前边,这样检索到的结果就是相对重要的结果。
以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的。这些都在本发明的权利要求所限定的保护范围内。