一种视频搜索方法、装置及服务器与流程

文档序号:11251049阅读:446来源:国知局
一种视频搜索方法、装置及服务器与流程

本发明涉及互联网技术领域,具体而言,涉及一种视频搜索方法、装置及服务器。



背景技术:

随着科学技术的不断发展,电子技术也得到了飞速发展。人们可以通过例如智能手机、平板电脑等电子设备下载安装各种资讯类应用(如今日头条、搜狐新闻、uc头条等)以观看视频。现有技术中,用户可以在应用界面上通过输入搜索词来获取想要观看的视频,但是存在的问题是,展示出的搜索结果给用户的体验不佳,经常会出现没有用户想要的视频或者搜索出的视频质量欠佳,不能很好的满足用户的观看需求。



技术实现要素:

有鉴于此,本发明的目的在于提供一种视频搜索方法、装置及服务器,以改善上述问题。

本发明较佳实施例提供一种视频搜索方法,该方法包括:计算输入的搜索词与资源数据库中每个视频的相似度;根据所述资源数据库中每个视频对应的相似度,生成所述搜索词的候选搜索列表;获取所述搜索词之前每次被搜索时得到的搜索结果列表;根据上述得到的各个所述搜索结果列表,计算所述候选搜索列表中每个视频的质量数据;根据所述候选搜索列表中每个视频的所述质量数据和对应的相似度,获得所述搜索词当前的目标搜索结果列表。

本发明另一较佳实施例提供一种视频搜索装置,该装置包括:相似度计算模块,用于计算输入的搜索词与资源数据库中每个视频的相似度;候选搜索列表生成模块,用于根据所述资源数据库中每个视频对应的相似度,生成所述搜索词的候选搜索列表;搜索结果列表获取模块,用于获取所述搜索词之前每次被搜索时得到的搜索结果列表;质量数据计算模块,用于根据上述得到的各个所述搜索结果列表,计算所述候选搜索列表中每个视频的质量数据;目标搜索结果列表生成模块,用于根据所述候选搜索列表中每个视频的所述质量数据和对应的相似度,获得所述搜索词当前的目标搜索结果列表。

本发明另一较佳实施例提供一种服务器,所述服务器包括:存储器;处理器;以及,视频搜索装置,该视频搜索装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,该视频搜索装置包括:相似度计算模块,用于计算输入的搜索词与资源数据库中每个视频的相似度;候选搜索列表生成模块,用于根据所述资源数据库中每个视频对应的相似度,生成所述搜索词的候选搜索列表;搜索结果列表获取模块,用于获取所述搜索词之前每次被搜索时得到的搜索结果列表;质量数据计算模块,用于根据上述得到的各个所述搜索结果列表,计算所述候选搜索列表中每个视频的质量数据;目标搜索结果列表生成模块,用于根据所述候选搜索列表中每个视频的所述质量数据和对应的相似度,获得所述搜索词当前的目标搜索结果列表。

本发明实施例提供的视频搜索方法、装置及服务器,计算输入的搜索词与资源数据库中每个视频的相似度,然后根据计算出的相似度生成候选搜索列表,再计算候选搜索列表中每个视频的质量数据,最后基于得到的所述相似度和视频的质量数据生成对应该搜索词的当前的目标搜索结果列表。这种综合考虑了搜索词与视频的相似度以及视频的质量数据的视频搜索方法,其搜索出的结果可以明显提升用户的观看体验,用户可以从搜索结果中得到自己想要观看或者喜欢观看的并且有质量保障的视频。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的服务器与至少一个电子设备进行通信的交互示意图;

图2为本发明实施例提供的所述服务器的方框示意图;

图3为本发明实施例提供的一种视频搜索方法的流程图;

图4为本发明实施例提供的一种视频搜索装置的功能模块示意图。

图标:100-服务器;200-电子设备;视频搜索装置-110;120-存储器;130-处理器;140-通信单元;150-资源数据库;1102-相似度计算模块;1104-候选搜索列表生成模块;1106-搜索结果列表获取模块;1108-质量数据计算模块;1110-目标搜索结果列表生成模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,是本发明实施例提供的服务器100与至少一个电子设备200进行通信的交互示意图。所述电子设备200可通过网络与服务器100建立通信连接,以进行数据传输或交互。所述服务器100可以提供至少一个适用于各种操作系统的应用(application,app)的安装包供所述电子设备200下载。所述电子设备200可通过所述网络访问所述服务器100以下载适用于该电子设备200的操作系统的应用的安装包,并将所述应用安装到所述电子设备200中。

本实施例中,所述应用可以是资讯类应用,如uc头条、腾讯新闻、搜狐新闻、今日头条等。当安装于所述电子设备200上的资讯类应用在前台打开时,用户可以在打开的界面上观看例如视频(尤其是短视频)的信息资讯,或者在界面上通过输入搜索词搜索自身想要观看的例如视频的信息资讯。

本实施例中,所述服务器100可以是,但不限于,网络服务器、文件传输协议服务器等。所述电子设备200可以是,但不限于,个人电脑、平板电脑、智能手机、个人数字助理、移动上网设备等。所述网络可以是,但不限于,有线网络或无线网络。所述电子设备200的操作系统可以是,但不限于,安卓(android)系统、ios系统、windowsphone系统等。

请参阅图2,是本发明实施例提供的所述服务器100的方框示意图。所述服务器100包括视频搜索装置110、存储器120、处理器130、通信单元140以及资源数据库150。

所述存储器120、处理器130以及通信单元140之间直接或间接的电性连接,以实现数据的传输或交互。所述视频搜索装置110包括至少一个可以软件或固件的形式存储于所述存储器120中或固化在所述服务器100的操作系统中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述视频搜索装置110所包括的软件功能模块及计算机程序等。

所述通信单元140用于通过所述网络建立所述服务器100与电子设备200之间的通信连接,并用于通过所述网络收发数据。

所述资源数据库150用于存储例如视频的信息资讯。所述资源数据库150可以存储于所述存储器120中,以供所述处理器130在执行例如视频搜索装置110所包括的软件功能模块时访问。

请参阅图3,是本发明实施例提供的一种视频搜索方法的流程图。本实施例中的方法适用于所述服务器100,以搜索例如资讯类应用中的例如短视频的信息资讯。所应说明的是,本方法不以图3及下述的具体顺序为限制。下面将对图3所示的各步骤进行详细阐述。

步骤s101,计算输入的搜索词与资源数据库150中每个视频的相似度。

作为一种实施方式,当资讯类应用(如uc头条)在电子设备200的前台打开时,用户可以在应用界面上输入搜索词,然后通过电子设备200将所述搜索词发送到服务器100,以使服务器100根据接收到的搜索词在所述资源数据库150中进行视频搜索。

下面以所述资源数据库150中的一个视频为例,示例性地阐述所述服务器100计算所述搜索词与该视频的相似度的实现过程。可以理解,计算所述相似度的方式可以不限制于此。

预先获取描述该视频的文本信息。所述文本信息可以包括视频的名称或者该视频的介绍文字。所述文本信息还可以是该视频的名称和介绍文字的组合。作为一种可能的实现方式,视频的名称或者介绍文字可以是视频上传者或管理者手动设置并在上传服务器100时一并发送到服务器100的,也可以通过网络从特定网页中去抓取。若上述名称或文字来源于网页,可以将抓取内容中附带的网页信息剔除后得到相应的文本信息。

使用预设的分词算法对该视频的文本信息及所述搜索词进行处理得到分词结果。所述预设的分词算法可以是,但不限于,最大匹配法、逆向匹配法、双向匹配法等。在本实施例中,在进行分词处理时可以对分词结果进行过滤以保留能反映文本内容的分词。例如,可以将分词结果中的标点符号(如:句号、顿号及逗号等)和不表达实质内容的分词(如:“无需”、“没有”、“的”及“又”等连接词)过滤掉。

计算出每个分词在所述文本信息、所述搜索词中出现的词频(termfrequency)。所述词频(termfrequency)用于表示分词在其对应文本内容中出现的频率。本实施例中,可以采用以下计算式计算每个分词在所述文本信息中的词频:

其中,ni表示分词ti在所述文本信息中出现的次数,∑knk表示在所述文本信息中所有分词出现的次数之和,tfi表示分词ti在所述文本信息中出现的频率。

同理,本实施例中,可以采用以下计算式计算每个分词在所述搜索词中的词频:

其中,n′i表示分词ti在所述搜索词中出现的次数,∑kn′k表示在所述搜索词中所有分词出现的次数之和,tf′i表示分词ti在所述搜索词中出现的频率。

再根据所述资源数据库150中的所有视频对应的文本信息,计算每个分词的逆文档频率(inversedocumentfrequency)。以j表示所述资源数据库150中所有视频的集合,iscontaini,j表示分词ti是否在视频j对应的文本信息中出现,若等于1则表示出现了,若等于0则表示没有出现,idfi表示分词ti的逆文档频率,具体计算公式可以为:

然后,根据每个分词的逆文档频率和在该视频的文本信息中的词频,计算每个分词在该视频的文本信息中的tf-idf(termfrequency-inversedocumentfrequency)值。具体地,计算分词ti在该视频的文本信息中的tf-idf值的方式可以是:

tf-idfi=tfi×idfi

其中,idfi表示分词ti的逆文档频率,tfi表示分词ti在该视频的文本信息中出现的频率,tf-idfi表示分词ti在该视频的文本信息中的tf-idf值。

以及,根据每个分词的逆文档频率和在所述搜索词中的词频,计算每个分词在所述搜索词中的tf-idf值。具体地,计算分词ti在该搜索词中的tf-idf值的方式可以是:

tf-idf′i=tf′i×idfi

其中,idfi表示分词ti的逆文档频率,tf′i表示分词ti在所述搜索词中出现的频率,tf-idf′i表示分词ti在所述搜索词中的tf-idf值。

最后,按照上述方法计算出每个分词在该视频的文本信息中的tf-idf值后,得到对应该视频的tf-idf向量:

tdf=(tf-idf1,tf-idf2,...,tf-idfi,...)

其中,tdf表示该视频的tf-idf向量。

以及,按照上述方法计算所述出每个分词在所述搜索词中的tf-idf值后,得到该搜索词的tf-idf向量:

tdf′=(tf-idf′1,tf-idf′2,...,tf-idf′i,...)

其中,tdf′表示该搜索词的tf-idf向量。

再根据向量tdf和tdf′计算所述搜索词与该视频的相似度,具体计算式可以是:

sim=cos<tdf,tdf′>

即,通过所述搜索词与该视频的tf-idf向量的余弦值表示所述相似度。

按照上述示例中所述的方法可以计算出输入的搜索词与资源数据库150中每个视频的相似度。

步骤s103,根据所述资源数据库150中每个视频对应的相似度,生成所述搜索词的候选搜索列表。

作为一种实施方式,在计算出资源数据库150中每个视频与搜索词的相似度后,获取其中相似度大于预设值(如大于零)的所有视频构成该候选搜索列表。

可以理解,所述预设值还可以是其他值,如0.1、0.15等,本实施例中对所述预设值的具体取值不做限定。

步骤s105,获取所述搜索词之前每次被搜索时得到的搜索结果列表。

本实施例中,若该搜索词之前被其他用户搜索过,则获取之前其他用户搜索时所获得的搜索结果列表。

可以理解,若该搜索词被频繁搜索导致本次搜索之前的搜索结果列表的数目较为庞大,则可以选择性的获取之前一部分其他用户搜索时所获得的搜索结果列表。

步骤s107,根据上述得到的各个所述搜索结果列表,计算所述候选搜索列表中每个视频的质量数据。

本实施例中,视频的质量数据可以与视频的播放完成率、被点击率、用户行为反馈率和被跳过率相关。

上述的视频的播放完成率、被点击率、用户行为反馈率和被跳过率可以通过预先统计得到。

例如,可以根据计算式:统计每个视频在各个所述搜索结果列表中的播放完成率。其中,numdis表示视频在各个所述搜索结果列表中被展示的总次数,numst表示视频在各个所述搜索结果列表中被点击且播放完成的总次数。具体地,假设在一实施方式中,共获取到1000所述搜索词之前被搜索时对应的搜索结果列表。视频i是候选搜索列表中的一视频。在上述1000个搜索结果列表中有800个展示了(或者说包含有)该视频i,则此实施方式中numdis可以取值800。在这800个展示了该视频i的搜索结果列表中,该视频i被点击并且播放完成的次数为400,那么,此实施方式该视频i的播放完成率就为0.5。

类似地,可以根据计算式:统计每个视频在各个所述搜索结果列表中的被点击率。其中,numct表示视频在各个所述搜索结果列表中被点击的总次数。仍以上述示例的实施方式为例,假设在800个展示了视频i的搜索结果列表中,有500个搜索结果列表中的视频i被点击过(无论是否播放完成),则视频i的被点击率为0.625。

可以根据计算式:统计每个视频在各个所述搜索结果列表中的用户行为反馈率。其中,numhb表示视频在各个所述搜索结果列表中的用户行为反馈总次数。所述用户行为反馈包括针对该视频的点赞、评论和分享。

以及,可以根据计算式:统计每个视频在各个所述搜索结果列表中的被跳过率。其中,numsk表示视频在各个所述搜索结果列表中被跳过的总次数。所述被跳过包括在搜索结果列表中的展示位在该视频之后的其他视频被点击而该视频未被点击。

进一步地,作为一种实施方式,在统计得到视频的播放完成率、被点击率、用户行为反馈率和被跳过率后,可以通过以下计算式:

计算候选搜索列表中每个视频的质量数据。以候选搜索列表中任一视频为例,上述计算式中,qul表示该视频的质量数据;j表示所述候选搜索列表;st表示预先统计得到的该视频在各个所述搜索结果列表中的播放完成率,avgj∈j(stj)表示预先统计得到的所述候选搜索列表中所有视频在各个所述搜索结果列表中的平均播放完成率;ct表示预先统计得到的该视频在各个所述搜索列表中的被点击率,avgj∈j(ctj)表示预先统计得到的所述候选搜索列表中所有视频在各个所述搜索结果列表中的平均被点击率;hb表示预先统计得到的该视频在各个所述搜索列表中的用户行为反馈率,avgj∈j(hbj)表示预先统计得到的所述候选搜索列表中所有视频在各个所述搜索结果列表中的平均用户行为反馈率;sk表示预先统计得到的该视频在各个所述搜索列表中的被跳过率,avgj∈j(skj)表示预先统计得到的所述候选搜索列表中所有视频在各个所述搜索结果列表中的平均被跳过率;α、β、γ、θ是预设的权重参数,四者和为1。

可以理解,以上仅仅是视频质量数据的一种计算方式,在其它实施例方式中,还可以加入用于反应用户对所述视频的其它用户数据来计算所述质量数据。

步骤s109,根据所述候选搜索列表中每个视频的所述质量数据和对应的相似度,获得所述搜索词当前的目标搜索结果列表。

本实施例中,作为一种实施方式,针对所述候选搜索列表中的每个视频,将其对应的相似度和所述质量数据相乘得到每个视频的排序值。然后,按照所述排序值对所述候选搜索列表中的视频进行排序,生成所述搜索词当前的目标搜索结果列表。例如,按照所述排序值的降序排列所述候选搜索列表中的视频,生成所述目标搜索结果列表。

步骤s111,将生成的目标搜索结果列表发送至电子设备200进行展示。

本实施例中提供的视频搜索方法,既考虑了资源数据库150中的每个视频与搜索词的相似度,又考虑了每个视频在以往的搜索结果列表中的质量数据,通过这种综合、全面的搜索方式得到的搜索结果列表,可以提升用户的搜索体验和后续的观看体验。

请参阅图4,是本发明实施例提供的一种视频搜索装置110的功能模块框图。该视频搜索装置包括相似度计算模块1102、候选搜索列表生成模块1104、搜索结果列表获取模块1106、质量数据计算模块1108、目标搜索结果列表生成模块1110。

所述相似度计算模块1102,用于计算输入的搜索词与资源数据库150中每个视频的相似度。该相似度计算模块1102可用于执行图3中所示的步骤s101,关于相似度计算模块1102的具体操作方法可参照上述对步骤s101的详细描述。

所述候选搜索列表生成模块1104,用于根据所述资源数据库150中每个视频对应的相似度,生成所述搜索词的候选搜索列表。该候选搜索列表生成模块1104可用于执行图3中所示的步骤s103,关于候选搜索列表生成模块1104的具体操作方法可参照上述对步骤s103的详细描述。

所述搜索结果列表获取模块1106,用于获取所述搜索词之前每次被搜索时得到的搜索结果列表。该搜索结果列表获取模块1106可用于执行图3中所示的步骤s105,关于搜索结果列表获取模块1106的具体操作方法可参照上述对步骤s105的详细描述。

所述质量数据计算模块1108,用于根据上述得到的各个所述搜索结果列表,计算所述候选搜索列表中每个视频的质量数据。该质量数据计算模块1108可用于执行图3中所示的步骤s107,关于质量数据计算模块1108的具体操作方法可参照上述对步骤s107的详细描述。

所述目标搜索结果列表生成模块1110,用于根据所述候选搜索列表中每个视频的所述质量数据和对应的相似度,获得所述搜索词当前的目标搜索结果列表。该目标搜索结果列表生成模块1110可用于执行图3中所示的步骤s109,关于目标搜索结果列表生成模块1110的具体操作方法可参照上述对步骤s109的详细描述。

以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例所提供的视频搜索装置110,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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