视频搜索方法、装置及电子设备
技术领域
本申请涉及互联网
技术领域
,更具体地,涉及一种视频搜索方法、装置及电子设备。背景技术
随着互联网技术的飞速发展,具有视频播放功能的互联网产品逐渐融入人们的生活。当用户想要观看某个视频的某一段情节时,需要通过拖动进度条的方式手动寻找,用户使用体验非常不方便。尤其当用户不确定该情节具体位于哪一个视频中时,更是需要耗费更多的时间和精力,而且还有可能无法成功找到该情节对应的视频片段。
发明内容
本申请提出了一种视频搜索方法、装置及电子设备,以改善上述问题。
一方面,本申请实施例提供了一种视频搜索方法,包括:获取多个用户针对所述视频输入的多个情节标记,其中所述情节标记包含一个或多个描述所述视频的情节信息的词汇;根据所述多个用户对所述视频的所述多个情节标记将所述视频划分为多个视频情节片段,根据所述多个情节标记生成与所述多个视频情节片段分别对应的多个情节描述,并保存所述多个视频情节片段与所述多个情节描述的对应关系;接收第一用户输入的情节搜索关键词;根据所述对应关系搜索所述情节搜索关键词对应的所述视频情节片段。
另一方面,本申请实施例提供了一种视频搜索装置,包括:获取模块,用于获取多个用户针对所述视频输入的多个情节标记,其中所述情节标记包含一个或多个描述所述视频的情节信息的词汇;建立模块,用于根据所述多个用户对所述视频的所述多个情节标记将所述视频划分为多个视频情节片段,根据所述多个情节标记生成与所述多个视频情节片段分别对应的多个情节描述,并保存所述多个视频情节片段与所述多个情节描述的对应关系;接收模块,用于接收第一用户输入的情节搜索关键词;搜索模块,用于根据所述对应关系搜索所述情节搜索关键词对应的所述视频情节片段。
另一方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,其上存储有程序代码,该程序代码可被处理器调用执行上述的方法。
本申请提供的方案,利用用户主动输入的情节标记建立大数据,对于所有用户上传的情节标记进行智能语义分析,提取出概括的情节描述,建立视频情节片段与情节描述的对应关系。根据所述对应关系,用户可以通过情节搜索关键词匹配到对应的视频情节片段,解决视频观看过程中搜索功能缺乏的状况,在用户观看视频时可以用这种方法跳过不感兴趣的情节,精确到达目标情节位置,从而提高用户查找所需视频情节片段的速度,增强用户粘性。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种适用于本申请实施例的应用环境示意图。
图2示出了本申请实施例提供的一种视频搜索方法的流程示意图。
图3A示出了本申请实施例提供的一个例子中的弹幕发布界面示意图。
图3B示出了本申请实施例提供的另一个例子中的弹幕发布界面示意图。
图4示出了图2所示步骤S202的一种细化流程示意图。
图5示出了本申请实施例提供的一个例子中的情节搜索结果标注示意图。
图6示出了本申请实施例提供的另一个例子中的情节搜索结果标注示意图。
图7示出了本申请实施例提供的另一种视频搜索方法的流程示意图。
图8示出了本申请实施例提供的一个例子中的情节标注示意图。
图9示出了本申请实施例提供的另一种视频搜索方法的流程示意图。
图10示出了本申请实施例提供的视频搜索装置的框图。
图11示出了用于执行本申请实施例的视频搜索方法的电子设备的框图。
图12示出了用于保存或者携带实现本申请实施例的视频搜索方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提出了一种视频搜索方法、装置及电子设备,可以基于用户主动输入的情节标记(例如弹幕形式)的文本内容通过智能的语义分析提取出概括的情节描述,补充后台人工维护的视频情节标注信息,在用户想要观看某一视频情节片段时实现情节搜索,从而可以提高用户查找所需视频情节片段的速度,提升用户粘性。下面将对该内容进行详细的描述。
请参阅图1,图1是适用于本申请实施例的应用环境示意图。其中,服务器100可以通过网络与终端设备200通信连接。终端设备200安装有客户端210,并可以通过客户端210登录到服务器100,从而通过与服务器100的配合,为用户提供相应的服务,例如视频播放服务、弹幕服务、视频搜索服务等。
其中,服务器100可以是独立的服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云计算、大数据和人工智能平台等基础云计算服务的云服务器。终端设备200可以是,但不限于,智能手机、平板电脑、笔记本电脑、个人计算机(Personal Computer,PC)、智能电视、便携式穿戴设备等。客户端210可以是任意具有视频播放功能且支持标记或弹幕输入的应用程序,例如,可以是视频播放应用、直播应用、具有视频播放功能的页面浏览平台(比如,浏览器客户端)、社交平台、教育平台等。本申请实施例可以应用于所有视频播放的场景中,尤其适用于电视剧剧集和电影等视频类型。
本申请实施例提供的视频搜索方法及装置可以应用于电子设备,这里的电子设备可以是图1所示的服务器100或者终端设备200。所述视频搜索方法既可以在服务器100中执行,也可以在终端设备200中执行,或者通过服务器100和终端设备200之间的交互实现。
请参阅图2,图2是本申请实施例提供的一种视频搜索方法。该方法可以应用于电子设备,本实施例以电子设备是图1中的服务器100为例,对该方法的步骤进行描述。可以理解,本实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括:
S200,获取多个用户针对所述视频输入的多个情节标记。
当用户观看某一个视频时,可以对感兴趣或喜欢的情节进行标记。所述情节标记包含一个或多个描述所述视频的情节信息的词汇。终端设备200可以响应用户操作,在本地保存所述情节标记,并将所述情节标记上传至服务器100中。在本实施例中,所述情节标记可以采用弹幕的形式实现,用户在观看所述视频过程中可以将情节信息作为弹幕发布,包含所述情节信息的该条弹幕即为所述情节标记,所述情节标记既保存在本地,也通过弹幕的形式上传至服务器100。一般而言,用户是在某一视频片段的播放时段内,通过发布弹幕对该视频片段的情节进行标记。并且,终端设备200在接收用户输入的所述情节标记的同时,记录用户输入所述情节标记的时间,将所述输入时间与对应的所述情节标记一并保存并上传至服务器100。
优选地,作为所述情节标记的弹幕与普通弹幕(即不作为所述情节标记的弹幕)的发布方式不同。服务器100通过以下方式获取用户发布的作为所述情节标记的弹幕:在所述视频的播放界面显示第一组件,所述第一组件用于输入并发布作为所述情节标记的所述弹幕;从所述第一组件对应的第一接口获取用户发布的所述弹幕,得到所述情节标记。其中,所述第一组件可以有两种实现方式,一种是在所述视频的播放界面分别提供作为所述情节标记的弹幕的输入区域和普通弹幕输入区域,作为所述情节标记的弹幕的输入区域即为所述第一组件,所述普通弹幕输入区域为第二组件,分别对应不同的第一接口和第二接口,向服务器100传输作为所述情节标记的弹幕和普通弹幕。例如,图3A示出了本申请实施例提供的一个例子中的弹幕发布界面示意图。在图3A中,视频画面右下方为情节标记输入框(第一组件,对应第二接口),左下方为普通弹幕输入框(第二组件,对应第二接口),。当用户想要通过弹幕标记喜欢的情节时,可以在所述情节标记输入框中输入情节信息并点击“发标记”,则所输入的内容除了作为弹幕发布之外,还会作为情节标记在本地保存并上传至服务器100。
另一种是在所述视频的播放界面仅提供一个弹幕输入区域,同时用于输入作为所述情节标记的弹幕和普通弹幕,用户可以在弹幕发布时通过特定操作(第一预设操作)将该条弹幕设置为所述情节标记,所述特定操作可以是点击某个特定按钮或图标等,则所述弹幕输入区域及所述特定按钮或图标构成所述第一组件。当用户通过所述第一组件发布作为所述情节标记的弹幕时,所述弹幕经由第一接口向服务器 100传输。当用户不执行所述第一预设操作直接发布普通弹幕时,经由第二接口向服务器100传输所述普通弹幕。例如,图3B示出了本申请实施例提供的另一个例子中的弹幕发布界面示意图。在图3B中,视频画面下方显示有弹幕输入框及“情节标记”按钮。当用户想要通过弹幕标记喜欢的情节时,可以在所述弹幕输入框中输入情节描述并点击“情节标记”按钮将该条弹幕设置为情节标记(所述弹幕输入框及“情节标记”按钮为第一组件,对应第一接口),则所输入的内容除了作为弹幕发布之外,还会作为情节标记在本地保存并上传至服务器100。
无论上述哪一种方式,服务器100均可通过区别于所述第二接口的所述第一接口获取用户发布的作为所述情节标记的弹幕,得到所述情节标记。
相对于普通弹幕,作为所述情节标记的弹幕中所包含的信息更单纯,主要为情节信息,因此在本实施例中将作为所述情节标记的弹幕与普通弹幕进行区分,可以避免在所述视频的所有弹幕中过滤大量冗余信息,降低了后续进行情节提取时的计算难度。可以理解,若不将作为所述情节标记的弹幕与普通弹幕进行区分,则在后续进行情节提取时需要先初步筛选弹幕,剔除与视频情节完全不相关的弹幕,例如仅包含感叹词的弹幕。
在其他实施例中,所述情节标记也可以采用其他可行的形式,例如用户在所述视频的进度条当前位置(或点击需要标记的视频片段起始位置等)通过第二预设操作(如单击鼠标右键后显示情节标记输入框)添加针对该部分视频内容的情节描述。这种形式的情节标记不作为弹幕发送,但可以在终端设备200 中本地保存及上传至服务器100。
另外,所述情节标记中除了输入情节描述之外,还可以输入用户的观看体会等内容,以便该用户后续再次查看。
S202,根据所述多个用户对所述视频的所述多个情节标记将所述视频划分为多个视频情节片段,根据所述多个情节标记生成与所述多个视频情节片段分别对应的多个情节描述,并保存所述多个视频情节片段与所述多个情节描述的对应关系。
各个终端设备200在接收到用户针对所述视频输入的所述情节标记后,均会上传至服务器100。当服务器100收集到多个用户的多个所述情节标记后,可以根据这些情节标记从所述视频中划分出多个视频情节片段,从所述情节标记的文本内容中提取出情节描述,并对所述视频中的各个所述视频情节片段与相应的所述情节描述之间建立对应关系。所述视频情节片段是指可以通过所述情节描述概括主要情节内容的一段视频。
在本实施例中,采用基于自然语言处理的视频情节提取算法来实现上述过程。进一步参阅图4,为上述步骤S202的一种细化流程示意图。在图4中,所述步骤S202具体包括:
S2020,从所述视频的所述多个情节标记中进行文本特征词汇提取,并统计得到重要词汇。
首先对收集到的所有所述情节标记中出现的每个词汇Wordi标记一个唯一识别的编号i,然后以预设基本单位(例如一分钟)将所述视频划分为初始片段,再分别统计每个初始片段内每个词汇Wordi出现的频率Ni(次/分钟)。一般情况下,某个词汇出现的频率越高则该词汇的重要性越大,在不同的视频片段,重要词汇是不同的。将每个初始片段内每个词汇出现的频率域预先设置的第一阈值Nmin进行对比,判断所述词汇是否属于所述初始片段的重要词汇。当某个词汇在某个初始片段中出现的频率大于或等于所述第一阈值时,确定该词汇属于所述初始片段的重要词汇。反之,当某个词汇在所述初始片段中出现的频率小于所述第一阈值时,确定该词汇不属于所述初始片段的重要词汇。
S2022,根据所述多个情节标记与所述重要词汇的相似度确定所述视频情节片段的起止时间。
根据所收集到的所述多个情节标记,可以基于词汇向量的特征提取和分类来进行所述情节标记与所述重要词汇之间的相似度判断。通过类似神经网络模型训练,将每个词汇映射成一个定维度的向量,每个向量代表对应的词汇,词汇的语义和语法相似性可以通过向量之间的相似度来判断。在本实施例中可以用简单的余弦相似度进行评判,两个向量相似度越高,余弦值越接近于1,反之则趋于-1。假设有x1和x2两个向量,余弦相似度为:
其中k表示维度,x1和x2均为n维向量。
一种可选的方式中,首先将所述情节标记进行文本分词,得到所述情节标记所包含的多个词汇。然后将所述情节标记的每个词汇分别与所述情节标记所处的所述初始片段的重要词汇计算第一相似度。再根据每个所述词汇的所述第一相似度通过加权计算得到所述情节标记与所述重要词汇的第二相似度,用以代表所述情节标记与所述初始片段的关联度,其中所述重要词汇按照出现频率从高到低降序分配权重。最后通过统计所述视频中每个时刻的所有所述情节标记与所述重要词汇的第二相似度确定所述视频所包含的视频情节片段的起止时间。具体而言,统计所述视频中每个时刻的所有所述情节标记中与所述重要词汇的第二相似度高于第二阈值Mmax的数量,并将所述数量与预先设置的第三阈值Mmin进行比较,当该时刻的所有所述情节标记中与所述重要词汇的第二相似度高于所述第二阈值的情节标记数量少于所述第三阈值时,确定该时刻为一个所述视频情节片段的起始时间或者终止时间。
例如,假设视频A在初始片段00:10:00-00:10:59的重要词汇包括词汇B、词汇C、词汇D,而在时刻 00:10:15和00:10:52与上述重要词汇的第二相似度高于所述第二阈值的情节标记数量少于所述第三阈值,且00:10:16-00:10:51间每个时刻与上述重要词汇的第二相似度高于所述第二阈值的情节标记数量均大于所述第三阈值,则可以判断出所述视频在00:10:15-00:10:52为一个所述视频情节片段,情节内容对应上述重要词汇(词汇B、词汇C、词汇D),其中时刻00:10:15为所述视频情节片段的起始时间,时刻 00:10:52为所述视频情节片段的终止时间。
可以理解,当从两个相邻的初始片段中分别提取出的两个所述视频情节片段时间连续且重要词汇相同时,可以认为这两个视频情节片段属于同一情节,将这两个视频情节片段合并成一个视频情节片段。
S2024,根据所述重要词汇生成所述视频情节片段的情节描述。
经过上一步骤可以确定所述视频包含的所述视频情节片段以及每个所述视频情节片段对应的所述重要词汇,将所述重要词汇整合为句子,即可得到所述视频情节片段的情节描述。示例性地,首先确定所述情节描述的文本结构,主要是确定文本中呈现信息的顺序。然后是句子聚合,确定在单个句子中呈现哪些信息,就是如何用言简意赅的话语准确表达想要表达的语言信息,并引用表达式生成,包括识别要表达的对象以及用合适的词或短语表示该对象。最后是语言实现,也就是将所有单词和短语组合成格式良好的句子。上述过程涉及到对句子的成分进行排序,以及生成正确的形态形式,通常还需要插入功能词(如助动词和介词)和标点符号等。此处可以通过任意可行的现有文本处理方式实现上述过程,根据所述重要词汇整合为句子,生成所述情节描述,在此不再赘述。
可以理解,在其他实施例中,也可以通过其他任意可行的方式来得到所述视频情节片段对应的情节描述。例如,统计所述视频情节片段的所有所述情节标记中出现频率最高的句子,直接将该句子作为对所述视频情节片段的情节描述。
S2026,记录所述视频情节片段的起止时间与对应的所述情节描述,得到所述对应关系。
当生成完整可理解的情节描述后,即可建立起所述情节描述与所述视频情节片段(起止时间)之间的对应关系。所述对应关系可以采用索引列表的形式进行记录和保存。所述对应关系中包括所述视频情节片段的起止时间与对应的所述情节描述,以及其他必要信息,例如所述视频的名称、地址等。
回到图2,S204,接收第一用户输入的情节搜索关键词。
在视频播放界面或其他界面为用户提供情节搜索输入框,当第一用户(可以是所述多个用户中的一个或其他用户)想要观看与某一情节相关的视频片段时,可以通过输入情节搜索关键词搜索相应的所述视频情节片段。终端设备200接收用户输入的所述情节搜索关键词后,向服务器100发出包含所述情节搜索关键词的搜索请求,服务器100根据接收到的所述情节搜索关键词进行搜索。
其中,第一用户可以在某一个视频的播放界面通过输入所述情节搜索关键词搜索该视频的视频情节片段,也可以在其他页面通过输入所述情节搜索关键词搜索视频资源库中所有视频的视频情节片段。
S206,根据所述对应关系搜索所述情节搜索关键词对应的所述视频情节片段。
基于已经建立的各个视频的视频情节片段与情节描述的对应关系,服务器100可以根据所述情节搜索关键词从所述对应关系中搜索到对应的情节描述(包含所述情节搜索关键词),并进一步根据所述对应关系匹配搜索出的所述情节描述对应的视频情节片段,从而定位所述视频情节片段并显示给第一用户查看。例如,当接收到第一用户输入的所述情节搜索关键词为词汇E和词汇F时,服务器100从所述对应关系的索引列表中搜索同时包含词汇E和词汇F的情节描述G,再匹配情节描述G对应的视频情节片段 H(得到起止时间),然后定位所述视频情节片段H并显示给第一用户查看。
一般情况下,第一用户可能针对某个已知的视频(例如已知电视剧名称以及集数)搜索其中某一个视频情节片段,也可能针对未知的视频进行搜索。具体而言,当针对一个已知的视频进行搜索时,第一用户可以在该视频的播放界面输入所述情节搜索关键词,在该情况下,服务器100根据所述情节搜索关键词进行搜索的范围仅为所述视频(所包含的所述视频情节片段与所述情节描述之间的对应关系);或者在其他界面输入视频信息(例如视频名称和集数)及所述情节搜索关键词,在该情况下,服务器100 可以先根据所述视频信息从视频资源库中定位所述视频后,再在所述视频的范围内根据所述情节搜索关键词进行搜索。而针对未知的视频则包括多种情况,例如已知视频名称但不知道集数或者不知道任何视频信息等等。同样地,在有已知的视频信息的情况下,也可以先根据所述视频信息缩小搜索范围后再根据所述情节搜索关键词进行搜索。
可以理解,本实施例的搜索结果可能只对应一个所述视频情节片段,也可能对应多个所述视频情节片段(当然也可能没有),可以采用列表或其他形式显示搜索结果。在搜索结果中,可以显示完整的视频或对应的链接,当第一用户点击观看时再跳转到所述视频情节片段的起始时间进行播放,也可以显示预先截取的所述视频情节片段。请参阅图5,图5示出了本申请实施例提供的一个例子中的情节搜索结果示意图。在图5中,第一用户输入的情节搜索关键词为词汇E和词汇F,搜索结果得到视频情节片段H1、 H2、H3,通过列表显示。
另外,当针对一个已知的视频进行搜索时,还可以通过在所述视频的进度条上标示(例如加粗或以特定颜色显示等)所述视频情节片段对应的时段等方式来显示搜索结果。请参阅图6,图6示出了本申请实施例提供的另一个例子中的情节搜索结果示意图。在图6中,用户在视频A的播放界面输入的情节搜索关键词为词汇E和词汇F,搜索结果得到视频情节片段H4,通过列表显示。
本实施例提出的视频搜索方法,利用用户主动输入的情节标记建立大数据,对于所有用户上传的情节标记进行智能语义分析,提取出概括的情节描述,建立视频情节片段与情节描述的对应关系。根据所述对应关系,用户可以通过情节搜索关键词匹配到对应的视频情节片段,解决视频观看过程中搜索功能缺乏的状况,在用户观看视频时可以用这种方法跳过不感兴趣的情节,精确到达目标情节位置,从而提高用户查找所需视频情节片段的速度,增强用户粘性。该方法充分利用了视频播放的先验知识(已上传的情节标记),从而避免了复杂的视频理解及计算,其整体计算量较小,且较易进行部署。
请参阅图7,图7是本申请实施例提供的另一种视频搜索方法。在本实施例中,所述视频搜索方法在上一实施例的基础上,还包括步骤S304。可以理解,本实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括:
S300,获取多个用户针对所述视频输入的多个情节标记。
当用户观看某一个视频时,可以对感兴趣或喜欢的情节进行标记。所述情节标记包含一个或多个描述所述视频的情节信息的词汇。终端设备200可以响应用户操作,在本地保存所述情节标记,并将所述情节标记上传至服务器100中。在本实施例中,所述情节标记可以采用弹幕的形式实现,用户在观看所述视频过程中可以将情节信息作为弹幕发布,包含所述情节信息的该条弹幕即为所述情节标记,所述情节标记既保存在本地,也通过弹幕的形式上传至服务器100。一般而言,用户是在某一视频片段的播放时段内,通过发布弹幕对该视频片段的情节进行标记。并且,终端设备200在接收用户输入的所述情节标记的同时,记录用户输入所述情节标记的时间,将所述输入时间与对应的所述情节标记一并保存并上传至服务器100。
优选地,作为所述情节标记的弹幕与普通弹幕的发布方式不同。服务器100通过以下方式获取用户发布的作为所述情节标记的弹幕:在所述视频的播放界面显示第一组件,所述第一组件用于输入并发布作为所述情节标记的所述弹幕;从所述第一组件对应的第一接口获取用户发布的所述弹幕,得到所述情节标记。其中,所述第一组件可以有两种实现方式,一种是在所述视频的播放界面分别提供作为所述情节标记的弹幕的输入区域和普通弹幕输入区域,作为所述情节标记的弹幕的输入区域即为所述第一组件,所述普通弹幕输入区域为第二组件,分别对应不同的第一接口和第二接口,向服务器100传输作为所述情节标记的弹幕和普通弹幕。
另一种是在所述视频的播放界面仅提供一个弹幕输入区域,同时用于输入作为所述情节标记的弹幕和普通弹幕,用户可以在弹幕发布时通过特定操作(第一预设操作)将该条弹幕设置为所述情节标记,所述特定操作可以是点击某个特定按钮或图标等,则所述弹幕输入区域及所述特定按钮或图标构成所述第一组件。当用户通过所述第一组件发布作为所述情节标记的弹幕时,所述弹幕经由第一接口向服务器 100传输。当用户不执行所述第一预设操作直接发布普通弹幕时,经由第二接口向服务器100传输所述普通弹幕。
无论上述哪一种方式,服务器100均可通过区别于所述第二接口的所述第一接口获取用户发布的作为所述情节标记的弹幕,得到所述情节标记。相对于普通弹幕,作为所述情节标记的弹幕中所包含的信息更单纯,主要为情节信息,因此在本实施例中将作为所述情节标记的弹幕与普通弹幕进行区分,可以避免在所述视频的所有弹幕中过滤大量冗余信息,降低了后续进行情节提取时的计算难度。可以理解,若不将作为所述情节标记的弹幕与普通弹幕进行区分,则在后续进行情节提取时需要先初步筛选弹幕,剔除与视频情节完全不相关的弹幕,例如仅包含感叹词的弹幕。
在其他实施例中,所述情节标记也可以采用其他可行的形式,例如用户在所述视频的进度条当前位置(或点击需要标记的视频片段起始位置等)通过第二预设操作(如单击鼠标右键后显示情节标记输入框)添加针对该部分视频内容的情节描述。这种形式的情节标记不作为弹幕发送,但可以在终端设备200 中本地保存及上传至服务器100。
另外,所述情节标记中除了输入情节描述之外,还可以输入用户的观看体会等内容,以便该用户后续再次查看。
S302,根据所述多个用户对所述视频的所述多个情节标记将所述视频划分为多个视频情节片段,根据所述多个情节标记生成与所述多个视频情节片段分别对应的多个情节描述,并保存所述多个视频情节片段与所述多个情节描述的对应关系。
各个终端设备200在接收到用户针对所述视频输入的所述情节标记后,均会上传至服务器100。当服务器100收集到多个用户的多个所述情节标记后,可以根据这些情节标记从所述视频中划分出多个视频情节片段,从所述情节标记的文本内容中提取出情节描述,并对所述视频中的各个所述视频情节片段与相应的所述情节描述之间建立对应关系。所述视频情节片段是指可以通过所述情节描述概括主要情节内容的一段视频。
在本实施例中,采用基于自然语言处理的视频情节提取算法来实现上述过程。在此情况下,S302的详细实现流程与上述的S202类似,在此不再赘述。
可以理解,在其他实施例中,也可以通过其他任意可行的方式来得到所述视频情节片段对应的情节描述。例如,统计所述视频情节片段的所有所述情节标记中出现频率最高的句子,直接将该句子作为对所述视频情节片段的情节描述。
S304,根据所述对应关系在所述视频中所述视频情节片段相应位置标注所述情节描述。
当建立所述多个视频情节片段与所述多个情节描述之间的对应关系之后,可以在所述视频的播放界面中针对各个所述视频情节片段标注相应的情节描述。在本实施例中,可以在所述视频的播放界面的进度条中进行标注。例如,在进度条中每个所述视频情节片段对应的时段(或起始时间)上添加特定的标记(例如加粗高亮标示),用来标注所述情节描述。
请参阅图8,图8示出了本申请实施例提供的一个例子中的情节标注示意图。在图8中,视频播放界面的进度条上通过一些特定的标记标示出各个所述视频情节片段对应的时段,当用户(通过手指触碰或移动鼠标等方式)操作某一所述特定的标记时,以小窗口的形式显示对应的情节描述。
S306,接收第一用户输入的情节搜索关键词。
在视频播放界面或其他界面为用户提供情节搜索输入框,当第一用户想要观看与某一情节相关的视频片段时,可以通过输入情节搜索关键词搜索相应的所述视频情节片段。终端设备200接收用户输入的所述情节搜索关键词后,向服务器100发出包含所述情节搜索关键词的搜索请求,服务器100根据接收到的所述情节搜索关键词进行搜索。
其中,第一用户可以在某一个视频的播放界面通过输入所述情节搜索关键词搜索该视频的视频情节片段,也可以在其他页面通过输入所述情节搜索关键词搜索视频资源库中所有视频的视频情节片段。
S308,根据所述对应关系搜索所述情节搜索关键词对应的所述视频情节片段。
基于已经建立的各个视频的视频情节片段与情节描述的对应关系,服务器100可以根据所述情节搜索关键词从所述对应关系中搜索到对应的情节描述(包含所述情节搜索关键词),并进一步根据所述对应关系匹配搜索出的所述情节描述对应的视频情节片段,从而定位所述视频情节片段并显示给第一用户查看。例如,当接收到第一用户输入的所述情节搜索关键词为词汇E和词汇F时,服务器100从所述对应关系的索引列表中搜索同时包含词汇E和词汇F的情节描述G,再匹配情节描述G对应的视频情节片段 H(得到起止时间),然后定位所述视频情节片段H并显示给第一用户查看。
一般情况下,第一用户可能针对某个已知的视频(例如已知电视剧名称以及集数)搜索其中某一个视频情节片段,也可能针对未知的视频进行搜索。具体而言,当针对一个已知的视频进行搜索时,第一用户可以在该视频的播放界面输入所述情节搜索关键词,在该情况下,服务器100根据所述情节搜索关键词进行搜索的范围仅为所述视频(所包含的所述视频情节片段与所述情节描述之间的对应关系);或者在其他界面输入视频信息(例如视频名称和集数)及所述情节搜索关键词,在该情况下,服务器100 可以先根据所述视频信息从视频资源库中定位所述视频后,再在所述视频的范围内根据所述情节搜索关键词进行搜索。而针对未知的视频则包括多种情况,例如已知视频名称但不知道集数或者不知道任何视频信息等等。同样地,在有已知的视频信息的情况下,也可以先根据所述视频信息缩小搜索范围后再根据所述情节搜索关键词进行搜索。
可以理解,本实施例的搜索结果可能只对应一个所述视频情节片段,也可能对应多个所述视频情节片段(当然也可能没有),可以采用列表或其他形式显示搜索结果。在搜索结果中,可以显示完整的视频或对应的链接,当第一用户点击观看时再跳转到所述视频情节片段的起始时间进行播放,也可以显示预先截取的所述视频情节片段。
另外,当针对一个已知的视频进行搜索时,还可以通过在所述视频的进度条上标示(例如加粗或以特定颜色显示等)所述视频情节片段对应的时段等方式来显示搜索结果。
本实施例提出的视频搜索方法,利用用户主动输入的情节标记建立大数据,对于所有用户上传的情节标记进行智能语义分析,提取出概括的情节描述,建立视频情节片段与情节描述的对应关系。根据所述对应关系,一方面可以使用户通过情节搜索关键词匹配到对应的视频情节片段,解决视频观看过程中搜索功能缺乏的状况,提高用户查找所需视频情节片段的速度,在用户观看视频时可以用这种方法跳过不感兴趣的情节,精确到达目标情节位置,从而增强用户粘性。另一方面可以在视频中进行情节标注,根据所有用户的情节标记在后台生成关于视频情节更丰富的数据库,使得所述情节标注更加全面,方便用户根据所述情节标注寻找所需的视频片段,并减少后台人力运维成本。
请参阅图9,图9是本申请实施例提供的另一种视频搜索方法。在本实施例中,所述视频搜索方法在以上任一实施例的基础上(本图以图7为基础进行示例性说明),还包括步骤S410-S412。可以理解,本实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括:
S400,获取多个用户针对所述视频输入的多个情节标记。
当用户观看某一个视频时,可以对感兴趣或喜欢的情节进行标记。所述情节标记包含一个或多个描述所述视频的情节信息的词汇。终端设备200可以响应用户操作,在本地保存所述情节标记,并将所述情节标记上传至服务器100中。在本实施例中,所述情节标记可以采用弹幕的形式实现,用户在观看所述视频过程中可以将情节信息作为弹幕发布,包含所述情节信息的该条弹幕即为所述情节标记,所述情节标记既保存在本地,也通过弹幕的形式上传至服务器100。一般而言,用户是在某一视频片段的播放时段内,通过发布弹幕对该视频片段的情节进行标记。并且,终端设备200在接收用户输入的所述情节标记的同时,记录用户输入所述情节标记的时间,将所述输入时间与对应的所述情节标记一并保存并上传至服务器100。
优选地,作为所述情节标记的弹幕与普通弹幕的发布方式不同。服务器100通过以下方式获取用户发布的作为所述情节标记的弹幕:在所述视频的播放界面显示第一组件,所述第一组件用于输入并发布作为所述情节标记的所述弹幕;从所述第一组件对应的第一接口获取用户发布的所述弹幕,得到所述情节标记。相对于普通弹幕,作为所述情节标记的弹幕中所包含的信息更单纯,主要为情节信息,因此在本实施例中将作为所述情节标记的弹幕与普通弹幕进行区分,可以避免在所述视频的所有弹幕中过滤大量冗余信息,降低了后续进行情节提取时的计算难度。可以理解,若不将作为所述情节标记的弹幕与普通弹幕进行区分,则在后续进行情节提取时需要先初步筛选弹幕,剔除与视频情节完全不相关的弹幕,例如仅包含感叹词的弹幕。
在其他实施例中,所述情节标记也可以采用其他可行的形式,例如用户在所述视频的进度条当前位置(或点击需要标记的视频片段起始位置等)通过第二预设操作(如单击鼠标右键后显示情节标记输入框)添加针对该部分视频内容的情节描述。这种形式的情节标记不作为弹幕发送,但可以在终端设备200 中本地保存及上传至服务器100。
另外,所述情节标记中除了输入情节描述之外,还可以输入用户的观看体会等内容,以便该用户后续再次查看。
S402,根据所述多个用户对所述视频的所述多个情节标记将所述视频划分为多个视频情节片段,根据所述多个情节标记生成与所述多个视频情节片段分别对应的多个情节描述,并保存所述多个视频情节片段与所述多个情节描述的对应关系。
各个终端设备200在接收到用户针对所述视频输入的所述情节标记后,均会上传至服务器100。当服务器100收集到多个用户的多个所述情节标记后,可以根据这些情节标记从所述视频中划分出视频情节片段,从所述情节标记的文本内容中提取出情节描述,并对所述视频中的各个所述视频情节片段与相应的所述情节描述之间建立对应关系。所述视频情节片段是指可以通过所述情节描述概括主要情节内容的一段视频。
在本实施例中,采用基于自然语言处理的视频情节提取算法来实现上述过程。在此情况下,S402的详细实现流程与上述的S202类似,在此不再赘述。
可以理解,在其他实施例中,也可以通过其他任意可行的方式来得到所述视频情节片段对应的情节描述。例如,统计所述视频情节片段的所有所述情节标记中出现频率最高的句子,直接将该句子作为对所述视频情节片段的情节描述。
S404,根据所述对应关系在所述视频中所述视频情节片段相应位置标注所述情节描述。
当建立所述多个视频情节片段与所述多个情节描述之间的对应关系之后,可以在所述视频的播放界面中针对各个所述视频情节片段标注相应的情节描述。在本实施例中,可以在所述视频的播放界面的进度条中进行标注。例如,在进度条中每个所述视频情节片段对应的时段(或起始时间)上添加特定的标记(例如加粗高亮标示),用来标注所述情节描述。
另外,针对每个终端设备200本地保存的所述情节标记(对应一个用户),也可以直接标注在所述终端设备200播放的所述视频中供该用户自己查看。这些情节标记在其他用户的终端设备200播放所述视频时不会标注,并且在该用户的终端设备200中,可以同时显示根据所述对应关系标注的情节描述及本地保存的所述情节标记(例如在进度条上以不同颜色的时间节点分别显示),也可以响应用户操作进行切换。
在其他实施例中,也可以仅保存各个所述视频情节片段和相应的所述情节描述的对应关系表,而不在所述视频的播放界面中进行标注,当用户后续需要搜索时再根据搜索结果进行标注或其他显示。
S406,接收第一用户输入的情节搜索关键词。
在视频播放界面或其他界面为用户提供情节搜索输入框,当第一用户想要观看与某一情节相关的视频片段时,可以通过输入情节搜索关键词搜索相应的所述视频情节片段。终端设备200接收用户输入的所述情节搜索关键词后,向服务器100发出包含所述情节搜索关键词的搜索请求,服务器100根据接收到的所述情节搜索关键词进行搜索。
其中,第一用户可以在某一个视频的播放界面通过输入所述情节搜索关键词搜索该视频的视频情节片段,也可以在其他页面通过输入所述情节搜索关键词搜索视频资源库中所有视频的视频情节片段。
S408,根据所述对应关系搜索所述情节搜索关键词对应的所述视频情节片段。
基于已经建立的各个视频的视频情节片段与情节描述的对应关系,服务器100可以根据所述情节搜索关键词从所述对应关系中搜索到对应的情节描述(包含所述情节搜索关键词),并进一步根据所述对应关系匹配搜索出的所述情节描述对应的视频情节片段,从而定位所述视频情节片段并显示给第一用户查看。例如,当接收到第一用户输入的所述情节搜索关键词为词汇E和词汇F时,服务器100从所述对应关系的索引列表中搜索同时包含词汇E和词汇F的情节描述G,再匹配情节描述G对应的视频情节片段 H(得到起止时间),然后定位所述视频情节片段H并显示给第一用户查看。
一般情况下,第一用户可能针对某个已知的视频(例如已知电视剧名称以及集数)搜索其中某一个视频情节片段,也可能针对未知的视频进行搜索。具体而言,当针对一个已知的视频进行搜索时,第一用户可以在该视频的播放界面输入所述情节搜索关键词,在该情况下,服务器100根据所述情节搜索关键词进行搜索的范围仅为所述视频(所包含的所述视频情节片段与所述情节描述之间的对应关系);或者在其他界面输入视频信息(例如视频名称和集数)及所述情节搜索关键词,在该情况下,服务器100 可以先根据所述视频信息从视频资源库中定位所述视频后,再在所述视频的范围内根据所述情节搜索关键词进行搜索。而针对未知的视频则包括多种情况,例如已知视频名称但不知道集数或者不知道任何视频信息等等。同样地,在有已知的视频信息的情况下,也可以先根据所述视频信息缩小搜索范围后再根据所述情节搜索关键词进行搜索。
可以理解,本实施例的搜索结果可能只对应一个所述视频情节片段,也可能对应多个所述视频情节片段(当然也可能没有),可以采用列表或其他形式显示搜索结果。在搜索结果中,可以显示完整的视频或对应的链接,当第一用户点击观看时再跳转到所述视频情节片段的起始时间进行播放,也可以显示预先截取的所述视频情节片段。
另外,当针对一个已知的视频进行搜索时,还可以通过在所述视频的进度条上标示(例如加粗或以特定颜色显示等)所述视频情节片段对应的时段等方式来显示搜索结果。
S410,接收第二用户输入的本地搜索关键词。
在视频播放界面或其他界面为第二用户(终端设备200对应的本地用户)提供本地搜索输入框,当第二用户想要查看自己曾经输入的所述情节标记时,可以通过输入本地搜索关键词搜索相应的所述情节标记。终端设备200接收第二用户输入的所述本地搜索关键词后,可以直接根据接收到的所述本地搜索关键词进行搜索。终端设备200可以为用户提供不同的搜索接口,分别用于输入所述情节搜索关键词和所述本地搜索关键词。
S412,从本地保存的所述情节标记中搜索所述本地搜索关键词对应的情节标记。
由于第二用户输入的所述情节标记均已在本地进行保存,当接收到所述本地搜索关键词时,可以直接在本地搜索到所述本地搜索关键词对应的情节标记,并将搜索结果显示给第二用户查看。当然,也可以从服务器100中保存的已上传的所述终端设备200对应的情节标记中进行本地搜索。在本实施例中,可以将搜索出的所述情节标记对应的视频与所述情节标记一起显示,例如从所述情节标记发布的时刻开始播放所述视频并通过进度条上的标注或弹幕或另外单独显示情节标记文本等形式显示所述情节标记。对于经典视频情节回看或者推理剧等需要反复观看的场景来说,第二用户可以通过所述情节标记来记录自己的情节描述或观看体会,并在后续通过本地搜索快速找到相应的情节标记,在用户个人使用角度看更具个性化,丰富的个人信息在观看过程中不断增加可以增强用户对视频应用的依赖性。
本实施例提出的视频搜索方法,利用用户主动输入的情节标记建立大数据,对于所有用户上传的情节标记进行智能语义分析,提取出概括的情节描述,建立视频情节片段与情节描述的对应关系,根据所述对应关系可以在视频中进行情节标注或者实现情节搜索,精确到达目标情节位置。并且,用户还可以通过本地搜索查找自己输入的所述情节标记,使用体验更具个性化,该方法有助于打造依赖性更高的视频应用,增强用户粘性。
请参阅图10,其示出了本申请实施例提供的一种视频搜索装置的结构框图。该装置900可以用于执行本申请实施例提供的方法中的相应步骤。从功能上划分,该装置900可以包括:获取模块901、建立模块902、接收模块903和搜索模块904。
其中,获取模块901用于获取多个用户针对所述视频输入的多个情节标记。其中,所述情节标记包含一个或多个描述所述视频的情节信息的词汇。
建立模块902用于根据多个多个用户对所述视频的所述多个情节标记将所述视频划分为多个视频情节片段,根据所述多个情节标记生成与所述多个视频情节片段分别对应的多个情节描述,并保存所述多个视频情节片段与所述多个情节描述的对应关系。
接收模块903用于接收第一用户输入的情节搜索关键词。
搜索模块904用于根据所述对应关系搜索所述情节搜索关键词对应的所述视频情节片段。
可选地,所述获取模块901通过获取用户发布的弹幕得到所述情节标记。所述情节标记既保存在终端设备200本地,也通过弹幕的形式上传至服务器100。一般而言,用户是在某一视频片段的播放时段内,通过发布弹幕对该视频片段的情节进行标记。
可选地,所述获取模块901获取用户发布的作为所述情节标记的弹幕的方式为:在所述视频的播放界面显示第一组件,所述第一组件用于输入并发布作为所述情节标记的所述弹幕;从所述第一组件对应的第一接口获取用户发布的所述弹幕,得到所述情节标记。
可选地,建立模块902具体可以用于:从所述视频的所述多个情节标记中进行文本特征词汇提取,并统计得到重要词汇;根据所述多个情节标记与所述重要词汇的相似度确定所述视频情节片段的起止时间;根据所述所述视频的生成所述视频情节片段的情节描述;记录所述视频情节片段的起止时间与对应的所述情节描述,得到所述对应关系。
可选地,建立模块902得到所述重要词汇的方式可以是:对所述视频的所述多个情节标记中出现的每个词汇标记一个唯一识别编号;以预设基本单位将所述视频划分为多个初始片段;分别统计每个所述初始片段内每个所述词汇出现的频率;将所述频率与预先设置的第一阈值进行对比,判断所述词汇是否属于所述初始片段的重要词汇,其中,当所述词汇在所述初始片段中出现的所述频率大于或等于所述第一阈值时,确定所述词汇属于所述初始片段的重要词汇;当所述词汇在所述初始片段中出现的所述频率小于所述第一阈值时,确定所述词汇不属于所述初始片段的重要词汇。
可选地,建立模块902确定所述视频情节片段的起止时间的方式可以是:将所述情节标记进行文本分词,得到所述情节标记所包含的多个词汇;将所述情节标记的每个所述词汇分别与所述情节标记所处的所述初始片段的所述重要词汇计算第一相似度;根据每个所述词汇的所述第一相似度通过加权计算得到所述情节标记与所述重要词汇的第二相似度;通过统计所述视频中每个时刻的所有所述情节标记与所述重要词汇的所述第二相似度确定所述视频所包含的所述视频情节片段的起止时间。具体而言,首先统计所述视频中每个时刻的所有所述情节标记中与所述重要词汇的所述第二相似度高于第二阈值的数量,并将所述数量与第三阈值进行比较;当所述时刻的所有所述情节标记中与所述重要词汇的所述第二相似度高于所述第二阈值的情节标记数量少于所述第三阈值时,确定所述时刻为所述视频情节片段的起始时间或者终止时间。
可选地,建立模块902根据所述重要词汇生成所述视频情节片段的情节描述的方式可以是:将所述视频情节片段对应的所述重要词汇整合为句子,得到所述视频情节片段的情节描述。
可选地,搜索模块904具体可以用于:从所述对应关系中搜索包含所述情节搜索关键词的情节描述;根据所述对应关系匹配搜索出的所述情节描述对应的所述视频情节片段;定位所述视频情节片段并显示给第一用户查看。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图11,其示出了本申请实施例提供的一种电子设备1000的结构框图。该电子设备1000 可以是图1所示的服务器100或者终端设备200。本申请中的电子设备1000可以包括一个或多个如下部件:处理器1010、存储器1020、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1020中并被配置为由一个或多个处理器1010执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器1010可以包括一个或者多个处理核。处理器1010利用各种接口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1020内的指令、程序、代码集或指令集,以及调用存储在存储器1020内的数据,执行电子设备1000的各种功能和处理数据。可选地,处理器1010可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field -Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1010可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU 主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1010中,单独通过一块通信芯片进行实现。
存储器1020可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器 (Read-Only Memory)。存储器1020可用于存储指令、程序、代码、代码集或指令集。存储器1020 可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1000在使用中所创建的数据等。
可以理解,图11所示的结构仅为示意。电子设备1000还可以包括比图10所示更多、更少或是完全不同的组件。比如,电子设备1000还可以包括音频采集器件、显示单元等。
请参阅图12,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。根据本申请的一个方面,提供了一种计算机程序产品或计算机程序1110,该计算机程序产品或计算机程序1110 包括计算机指令,该计算机指令存储在计算机可读存储介质1100中。计算机设备的处理器从计算机可读存储介质1100读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。。
计算机可读存储介质1100可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1100包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。