多媒体数据的搜索方法、装置、设备及存储介质

文档序号:190633 发布日期:2021-11-02 浏览:6次 >En<

阅读说明:本技术 多媒体数据的搜索方法、装置、设备及存储介质 (Multimedia data searching method, device, equipment and storage medium ) 是由 蓝玮毓 于 2021-01-29 设计创作,主要内容包括:本申请提供了一种多媒体数据的搜索方法、装置、设备及计算机可读存储介质;方法包括:基于获取到的搜索请求,确定待处理的多媒体数据和文本数据获取训练好的跨模态表征模型,其中,所述训练好的跨模态表征模型是利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的;将所述多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的各个语义相似度;基于所述语义相似度和各个多媒体数据,确定并输出搜索结果。通过本申请,能够提高检索结果与搜索内容本身的相关度。(The application provides a method, a device, equipment and a computer-readable storage medium for searching multimedia data; the method comprises the following steps: determining multimedia data to be processed and text data to acquire a trained cross-modal characterization model based on the acquired search request, wherein the trained cross-modal characterization model is acquired through two training stages by using multimedia training data, identification information of the multimedia training data and a search text corresponding to the multimedia training data; inputting the multimedia data and the text data into the trained cross-modal characterization model to obtain each semantic similarity of the multimedia data and the text data; and determining and outputting a search result based on the semantic similarity and each multimedia data. By the method and the device, the correlation degree between the retrieval result and the search content can be improved.)

多媒体数据的搜索方法、装置、设备及存储介质

技术领域

本申请涉及机器学习技术,尤其涉及一种多媒体数据的搜索方法、装置、设备及计算机可读存储介质。

背景技术

随着互联网技术和终端技术的发展,移动终端作为ー种通信工具,已经远远超过了本身定义的功能,更多的带给用户的是娱乐性和互动性,例如用户可以利用移动终端随地随地进行观看直播或者视频、收听音乐等。

在用户需要搜索自己感兴趣的视频或音乐时,可以通过视频App或者音乐App,亦或者通过浏览器输入搜索关键字,从而获取相关联视频或音乐。此时由于检索对象是一个多媒体,与自然语言检索之间具有语义鸿沟,需要利用标题等文本信息以外的多模态数据来获取更精准的检索效果。相关技术中在实现多媒体数据搜索时所采用的多媒体语义信息提取法以及跨模态表征模型中的语义向量凸组合方法需要将时间信息转化为文本信息,会造成细节丢失;而通过双塔模型等跨模态表征模型的训练数据大多来源于人工标注的描述视频或图片内容的分类、标签、文本片段,需要大量的标注资源、成本高昂,训练数据的获取受限、应用范围受限。

发明内容

本申请实施例提供一种多媒体数据的搜索方法、装置及计算机可读存储介质,能够提高检索结果与搜索内容本身的相关度。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种多媒体数据的搜索方法,包括:

基于获取到的搜索请求,确定待处理的多媒体数据和文本数据;

获取训练好的跨模态表征模型,其中,所述训练好的跨模态表征模型是利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的;

将所述多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的语义相似度;

基于所述语义相似度和所述多媒体数据,确定并输出搜索结果。

本申请实施例提供一种多媒体数据的搜索装置,包括:

第一确定模块,用于基于获取到的搜索请求,确定待处理的多媒体数据和文本数据;

第一获取模块,用于获取训练好的跨模态表征模型,其中,所述训练好的跨模态表征模型是利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的;

相似度计算模块,用于将所述多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的语义相似度;

第二确定模块,用于基于所述语义相似度和所述多媒体数据,确定并输出搜索结果。

在一些实施例中,该装置还包括:

第二获取模块,用于获取预设的跨模态表征模型,并获取所述预设的跨模态表征模型的训练数据集,其中所述训练数据集包括第一训练数据子集和第二训练数据子集;

所述第一训练数据子集包括多媒体训练数据和所述多媒体训练数据的标识信息,所述第二训练数据子集包括所述多媒体训练数据和所述多媒体训练数据对应的搜索文本;

第一训练模块,用于利用所述第一训练数据子集对所述预设的跨模态表征模型进行训练,得到初步训练好的跨模态表征模型;

第二训练模块,用于利用所述第二训练数据子集对所述初步训练好的跨模态表征模型进行训练,得到训练好的跨模态表征模型。

在一些实施例中,该第二获取模块,还用于:

获取预设时长内的搜索日志,所述搜索日志中包括多个搜索文本和多个搜索文本对应的点击事件信息;

获取各个点击事件信息对应的多媒体数据的点击播放时长和实际时长;

基于各个多媒体数据的点击播放时长和实际时长,确定目标多媒体数据,并获取所述目标多媒体数据对应的搜索文本和所述目标多媒体数据标识信息;

将所述目标多媒体数据确定为所述多媒体训练数据,将所述目标多媒体数据的标识信息确定为多媒体训练数据的标识信息,将所述目标多媒体数据对应的搜索文本确定为多媒体训练数据对应的搜索文本;

从多媒体数据库中筛选出多个实际时长小于时长阈值的补充多媒体数据,获取所述补充多媒体数据的标识信息;所述第一训练数据子集还包括所述补充多媒体数据和所述补充多媒体数据的标识信息。

在一些实施例中,第一训练模块,还用于:

基于第一训练数据子集确定第一训练正样本和第一训练负样本,其中第一训练正样本包括各个多媒体数据和各个多媒体数据对应的标识信息,第一训练负样本包括随机确定的多媒体数据和随机确定的标识信息;

将各个第一训练正样本输入至所述预设的跨模态表征模型,得到各个第一正样本预测相似度;

将各个第一训练负样本输入至所述预设的跨模态表征模型,得到各个第一负样本预测相似度;

将各个第一正样本预测相似度和各个第二负样本预测相似度反向传播至所述预设的跨模态表征模型,利用第一损失函数对所述预设的跨模态表征模型进行训练,以对所述预设的跨模态表征模型的参数进行调整。

在一些实施例中,第二训练模块,还用于:

获取所述第二训练数据子集中各个多媒体数据的类别标签和预测类别;

基于第二训练数据子集确定第二训练正样本和第二训练负样本,其中第二训练正样本包括各个多媒体数据和各个多媒体数据对应的搜索文本,第二训练负样本包括随机确定的多媒体数据和随机确定的搜索文本;

将各个第二训练正样本输入至所述预设的跨模态表征模型,得到各个第二正样本预测相似度;

将各个第二训练负样本输入至所述预设的跨模态表征模型,得到各个第二负样本预测相似度;

将各个第二正样本预测相似度、各个第二负样本预测相似度、各个类别标签和预测类别反向传播至所述预设的跨模态表征模型,利用第一损失函数和第二损失函数对所述预设的跨模态表征模型进行联合训练,以对所述预设的跨模态表征模型的参数进行调整。

在一些实施例中,所述预设的跨模态表征模型包括多媒体子模型和文本子模型,第二训练模块,还用于:

将各个多媒体数据输入至所述多媒体子模型,得到各个多媒体特征向量;

将各个多媒体数据对应的搜索文本输入至所述文本子模型,得到各个搜索文本特征向量;

对所述各个多媒体特征向量进行聚类处理,得到各个多媒体类别;

对所述各个搜索文本特征向量进行分类处理,得到各个文本类别;

将各个多媒体数据对应的多媒体类别确定为预测类别,将各个多媒体数据对应的搜索文本的文本类别确定为类别标签。

在一些实施例中,所述训练好的跨模态表征模型包括训练好的多媒体子模型和训练好的文本子模型,对应地,相似度计算模块,还用于:

将所述多媒体数据输入所述多媒体子模型,得到所述多媒体数据对应的各个多媒体特征向量;

将所述文本数据输入所述文本子模型,得到所述文本数据对应的文本特征向量,其中,所述多媒体特征向量和所述文本特征向量属于同一个向量空间;

利用所述多媒体特征向量和所述文本特征向量确定所述各个多媒体数据和所述文本数据的语义相似度。

在一些实施例中,该第一确定模块,还用于:

获取终端发送的搜索请求,并基于所述搜索请求确定搜索文本;

基于所述搜索文本和多媒体数据库中各个多媒体数据的标题信息,确定待处理的多媒体数据;

将所述搜索文本确定为待处理的文本数据。

在一些实施例中,该第一确定模块,还用于:

获取所述搜索请求中携带的搜索信息;

当所述搜索信息为文本信息时,将所述搜索信息确定为搜索文本;

当所述搜索信息为语音信息时,对所述搜索信息进行语音识别,得到搜索文本。

在一些实施例中,该第二确定模块,还用于:

基于语义相似度对多个待处理的多媒体数据进行排序,得到排序后多媒体数据,其中,与所述搜索文本相似度最高的多媒体数据为第一个多媒体数据;

基于排序后的多媒体数据,确定搜索结果;

向发送所述搜索请求的终端返回所述搜索结果。

本申请实施例提供一种多媒体数据的搜索设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。

本申请实施例具有以下有益效果:

在基于获取到的搜索请求,确定待处理的多媒体数据和文本数据,并获取训练好的跨模态表征模型之后,将所述多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的语义相似度,最后基于所述语义相似度和所述多媒体数据,确定并输出搜索结果;其中,所述训练好的跨模态表征模型是利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的,也就是说,该跨模态表征模型能有效将多媒体数据与文本数据映射到同一空间,从而能够在搜索过程中建立文本与多媒体数据之间的关联,提高检索结果与输入的检索信息的相关度,从而提高检索结果的准备性,并且该跨模态表征模型的训练过程不需要额外收集人工标注数据,因此能够降低训练成本,并提高训练效率。

附图说明

图1A为相关技术中语义向量的凸组合模型示意图;

图1B为相关技术中双塔结构的神经网络模型的结构示意图;

图2为本申请实施例提供的多媒体数据的搜索系统的网络架构示意图;

图3为本申请实施例提供的服务器400的结构示意图;

图4为本申请实施例提供的多媒体数据的搜索方法的一种实现流程示意图;

图5A为本申请实施例提供的利用第一训练子集对预设的跨模态表征模型进行第一阶段训练的实现流程示意图;

图5B为本申请实施例提供的利用第二训练子集对预设的跨模态表征模型进行第二阶段训练的实现流程示意图;

图6为本申请实施例提供的多媒体数据的搜索方法的另一种实现流程示意图;

图7为本申请实施例提供的双塔结构的神经网络模型的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)跨模态表征(cross modal embedding):将视频、图片、文本等多个模态的输入均映射为同一个向量空间中的固定长度的的低维特征向量,其距离可以度量不同输入之间的语义相似性。

2)NextVLAD:一种时序汇合方法,将视频帧特征转换为视频级别特征,视频识别模型的一个模块。

3)损失函数(Loss Function),又称为代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计,是机器学习模型的优化目标。

4)词向量,也称为词嵌入(word embedding)或词空间嵌入表示,词向量是自然语言分词在词空间中的表示,是指将词映射到一个语义空间,得到的向量。

5)三元组排序损失函数(Triplet ranking loss),思想是让负样本对之间的距离大于正样本对之间的距离。

为了更好地理解本申请实施例提供的多媒体数据的搜索方法,首先对相关技术中的多媒体数据搜索方法以及存在的缺点进行说明。在此以视频搜索为例进行说明。

视频平台上的检索由于检索对象是一个多媒体,与自然语言检索之间具有语义鸿沟,需要利用标题等文本信息以外的多模态数据来获取更精准的检索效果,为了满足多模态搜索的需要,目前有以下几种搜索方法:

第一、视频语义信息提取:对视频、帧进行标签自动预测,识别出视觉模态中的明星、物体、动作等内容并进行索引,再将检索文本与预测的文本标签进行匹配召回出视频解构后的信息,可以支持用户对精准视频内容片断的需求。

第二、以图搜图:用户可以通过拍照、上传图片搜索人物及节目、相似画面的视频,检索步骤可以是从人脸识别后用人名召回节目,也可以直接通过图片的表征向量召回相似的画面,即在视觉模块进行利用单模块的表征向量进行召回。

第三、跨模态表征模型:与多模态搜索关联的任务包括将视频转成文本任务、视频片段定位搜索任务,检索与输入文本相关的视频片段任务。这些任务中学习得到的模型,可以将视频与文本进行跨模态的匹配。跨模态表征模型的结构包括语义向量的凸组合和双塔模型。语义向量的凸组合模型示意图如图1A所示,视频通过预训练多标签模型101和预训练词向量模型102得到视频预测标签;检索文本通过预训练词向量模型103和语言模型104得到文本预测标签,将视频预测标签和文本预测标签作为语义向量进行凸组合相加得到一个对应的语义向量,再与检索文本的语义向量进行匹配。

双塔模型的结构示意图如图1B所示,把检索文本输入至词向量+文本模型112,将视频输入至视觉模型111,然后将两个神经网络模型的输出进行维度变换,从而映射到一个向量空间里,再做相似度的匹配排序。

通过视频语义信息提取来辅助多模态检索的方法将视频、图像等多媒体内容压缩为文本信息,一定程度上可以利用多媒体内容,但是丢失了许多丰富的细节,且依赖于提前定义的标签体系,不能及时捕捉新的语义信息。

以图搜图的方法只能在单模态的视觉空间中进行相似度的计算,限定了检索的输入形式,而日常的检索交互中自然语言的使用是更自然、更主流的。跨模态表征模型中的语义向量凸组合方法同样依赖于将视觉信息转化为文本信息来进行跨模态表征,与语义信息提取的局限性相同。

通过双塔模型等跨模态表征模型辅助的多模态检索则能够更充分的利用多媒体信息,减少视觉与语言的之间的语义鸿沟。但目前的跨模态表征模型的训练数据大多来源于人工标注的描述视频或图片内容的分类、标签、文本片段,需要大量的标注资源、成本高昂,训练数据的获取受限、应用范围受限。而直接利用网络上弱相关的视频与文本数据训练模型,通常模型难以收敛。

从用户的检索和点击对数据可以构建大量的样本对训练跨模态embedding,有效利用用户的行为数据,得到更好的表征模型。本发明提出的方法基于双塔模型进行优化,通过引入多阶段训练的方法,先利用视频的标题等文本信息进行第一阶段训练,再利用检索日志进行二阶段训练,在不需要额外收集人工标注数据的情况下,可以训练出有效将视频与文本映射到同一空间的表征模型。同时,提出在训练过程中使用聚类伪标签,加快了模型的收敛速度,也提升了模型的效果。

下面说明本申请实施例提供的多媒体数据的搜索设备的示例性应用,本申请实施例提供的设备可以实施为终端,也可以实施为服务器。

参见图2,图2是本申请实施例提供的多媒体数据的搜索系统100的网络架构示意图,如图2所示,该网络架构包括终端200、网络300和服务器400,其中,网络300可以是广域网或者局域网,又或者是二者的组合。

终端200上安装有各种应用程序(Application,App),例如可以是购物App、音乐App、视频App、即时通讯App、浏览器App等。用户可以通过终端200上的视频App搜索想要观看的视频,也可以通过音乐App搜索想要收听的音乐或者歌曲。这里以进行视频搜索为例进行说明,终端200可以基于接收到的输入操作,获取搜索信息,并将搜索信息携带于搜索请求中通过网络300发送至服务器400,服务器400在接收到搜索请求后,基于搜索信息确定出搜索文本,并从视频库中筛选出与搜索文本匹配的多个视频,然后再获取训练好的跨模态表征模型,然后将各个视频和搜索文本分别输入至训练好的跨模态表征模型,以确定搜索文本和各个视频的语义相似度,然后基于各个语义相似度对视频进行排序,然后将排序后的视频的入口信息作为搜索结果,返回给终端200,终端200接收并呈现搜索结果,这样,终端200所呈现的搜索结果中的视频是按照语义相似度从高到低排序的,从而保证搜索结果的准确性。

在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

参见图3,图3是本申请实施例提供的多媒体数据的搜索设备的结构示意图,在本实施例中,以该多媒体数据的搜索设备为服务器400进行说明。图3所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。

处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。

存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。

在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;

输入处理模块453,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的多媒体数据的搜索装置454,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块4541、第一获取模块4542、相似度计算模块4543和第二确定模块4544,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。

将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的多媒体数据的搜索方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Applicati on Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。

将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的多媒体数据的搜索方法。

为了更好地理解本申请实施例提供的方法,首先对人工智能、人工智能的各个分支,以及本申请实施例提供的方法所涉及的应用领域进行说明。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例提供的方案主要涉及人工智能的自然语言处理和机器学习技术,以下对这两项技术分别进行说明。

自然语言处理(NLP,Nature Language processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。

本申请实施例提供一种多媒体数据的搜索方法,该方法可以由服务器或终端实现,在一些实施例中也可以由终端和服务器共同实现。在本申请实施例中,以该方法由服务器实现为例进行说明。参见图4,图4是本申请实施例提供的多媒体数据的搜索方法的一种实现流程示意图,将结合图4示出的步骤进行说明。

步骤S101,基于获取到的搜索请求,确定待处理的多媒体数据和文本数据。

这里,该搜索请求可以是终端响应于接收到的搜索操作发送至服务器的,该搜索请求中携带有搜索信息,搜索信息可以是文本信息,例如可以是“红烧肉做法”,搜索信息还可以是语音信息,当搜索信息为文本信息时,那么直接将该搜索信息确定为待处理的文本数据,而当搜索信息为语音信息时,那么对搜索信息进行语音识别,并将识别出的文本确定为待处理的文本数据。待处理的多媒体数据可以是基于待处理的文本数据确定出的,在实现时,可以将多媒体数据库中标题与待处理的文本数据满足匹配条件的多个多媒体数据确定为待处理的多媒体数据。该多媒体数据可以是视频数据,还可以是音频数据。

步骤S102,获取训练好的跨模态表征模型。

这里,所述训练好的跨模态表征模型是利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的。多媒体训练数据的标识信息可以为多媒体训练数据的标题,在实现时,多媒体训练数据和多媒体训练数据的标识信息可以作为第一阶段的训练数据,多媒体训练数据和多媒体训练数据对应的搜索文本可以作为第二阶段的训练数据。多媒体训练数据和多媒体训练数据对应的搜索文本可以是从一定时长内的搜索日志中筛选得到的。在本申请实施例中,跨模态表征模型的训练过程所采用的训练数据不需要人工标注数据,从而能够降低训练数据的人工成本,从而能够提高训练效率。另外,该跨模态表征模型包括两个子模型,分别为多媒体子模型和文本子模型,用于将不同模态的数据映射至同一个向量空间。

步骤S103,将所述多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的语义相似度。

在本申请实施例中,训练好的跨模态表征模型包括训练好的多媒体子模型和训练好的文本子模型,待处理的多媒体数据一般为多个,步骤S103在实现时,将各个多媒体数据分别输入至训练好的多媒体子模型,得到各个多媒体特征向量,将文本数据输入至文本子模型,得到文本特征向量,并且各个多媒体特征向量和文本特征向量在同一个向量空间中,然后在基于各个多媒体特征向量和文本特征向量确定分别各个多媒体数据和文本数据之间的各个语义相似度。

步骤S104,基于所述语义相似度和多媒体数据,确定并输出搜索结果。

这里,步骤S104在实现时,可以是将多个多媒体数据按照语义相似度从大到小的顺序进行排序,然后基于排序后的多媒体数据,确定搜索结果,该搜索结果可以是排序后的多媒体数据对应的入口地址,例如可以是多媒体数据对应的统一定位符(URL,UniformResource Locator)地址。输出搜索结果在实现时可以是服务器将搜索结果发送至搜索请求对应的终端,在一些实施例中,也可以是在服务器的显示界面上呈现搜索结果。

在本申请实施例提供的多媒体数据的搜索方法中,在基于获取到的搜索请求,确定待处理的各个多媒体数据和文本数据,并获取训练好的跨模态表征模型之后,将所述各个多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述各个多媒体数据和所述文本数据的各个语义相似度,最后基于所述各个语义相似度和各个多媒体数据,确定并输出搜索结果;其中,所述训练好的跨模态表征模型是利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的,也就是说,该跨模态表征模型能有效将多媒体数据与文本数据映射到同一空间,从而能够在搜索过程中建立文本与多媒体数据之间的关联,提高检索结果与输入的检索信息的相关度,从而提高检索结果的准确性,并且该跨模态表征模型的训练过程不需要额外收集人工标注数据,因此能够降低训练成本,并提高训练效率。

在一些实施例中,在步骤S102之前,需要通过以下步骤得到训练好的跨模态表征模型:

步骤S001,获取预设的跨模态表征模型,并获取所述预设的跨模态表征模型的训练数据集。

这里,该预设的跨模态表征模型可以为神经网络模型,例如可以是深度学习神经网络模型,跨模态表征模型包括多媒体子模型和文本子模型。所述训练数据集包括第一训练数据子集和第二训练数据子集;所述第一训练数据子集包括多媒体训练数据和所述多媒体训练数据的标识信息,该标识信息可以是多媒体训练数据的标题,所述第二训练数据子集包括所述多媒体训练数据和所述多媒体训练数据对应的搜索文本,第二训练数据子集是从多媒体平台的搜索日志中筛选出来的。

步骤S002,利用所述第一训练数据子集对所述预设的跨模态表征模型进行训练,得到初步训练好的跨模态表征模型。

这里,步骤S002在实现时,可以是基于第一训练数据子集构建正样本和负样本,并基于预设的损失函数和正样本、负样本对跨模态表征模型进行训练,得到初步训练好的跨模态表征模型。

步骤S003,利用所述第二训练数据子集对所述初步训练好的跨模态表征模型进行训练,得到训练好的跨模态表征模型。

步骤S003在实现时,可以基于第二训练数据子集构建正样本和负样本,为了提高模型收敛速度,步骤S003在实现时,还可以对多媒体数据对应的搜索文本进行聚类,并将聚类得到的类别作为多媒体数据的类别标签,并加入分类损失函数与第一损失函数进行联合训练,从而提高训练收敛的稳定性。

检索日志的数据虽然更符合最检索目标任务的需求,但是检索日志中噪音数据较多、词汇表覆盖不够全面,直接训练难以收敛,因此在上述的步骤S001至步骤S003中,首先利用多媒体数据和多媒体数据对应的标识信息对跨模态表征模型进行第一阶段的训练,然后再利用多媒体数据和多媒体数据对应的搜索文本进行第二阶段的训练,并且在第二阶段的训练过程中增加视频伪标签以加快收敛速度,提高模型的预测效果。

在一些实施例中,步骤S001中的“获取所述预设的跨模态表征模型的训练数据集”,可以通过以下步骤实现:

步骤S0011获取预设时长内的搜索日志。

这里,搜索日志中包括多个搜索文本和多个搜索文本对应的点击事件信息,在本申请实施例中,点击事件信息包括点击的多媒体数据的标识,点击播放时长。点击播放时长是指对点击某个多媒体数据后所播放的时长。

步骤S0012,获取各个点击事件信息对应的多媒体数据的点击播放时长和实际时长。

这里,多媒体数据的实际时长是指多媒体数据从开始播放到播放结束的时长,同一个多媒体数据的点击播放时长是小于或者等于实际时长的。例如某多媒体的实际时长为5分钟40秒,点击播放时长可以是5分钟20秒。

步骤S0013,基于各个多媒体数据的点击播放时长和实际时长,确定目标多媒体数据,并获取所述目标多媒体数据对应的搜索文本和所述目标多媒体数据标识信息。

步骤S0013在实现时,可以首先从多个多媒体数据中筛选出实际时长小于时长阈值的候选多媒体数据,然后再从候选多媒体数据中筛选出实际时长与点击播放时长的时长差值小于差值阈值的目标多媒体数据,并获取目标多媒体数据对应的搜索文本和所述目标多媒体数据标识信息。

在本申请实施例中,时长阈值和差值阈值可以是预先设置好的,例如时长阈值可以为5分钟,或者是10分钟;差值阈值可以是0,还可以是5秒等。当差异阈值为0时,说明要从候选多媒体数据中筛选出被播放完全的多媒体数据。

步骤S0014,将所述目标多媒体数据确定为所述多媒体训练数据,将所述目标多媒体数据的标识信息确定为多媒体训练数据的标识信息,将所述目标多媒体数据对应的搜索文本确定为多媒体训练数据对应的搜索文本。

步骤S0015,从多媒体数据库中筛选出多个实际时长小于时长阈值的补充多媒体数据,获取所述补充多媒体数据的标识信息。

在本申请实施例中,除了从搜索日志中确定目标多媒体数据之外,还可以从多媒体数据库中筛选出多个实际时长小于时长阈值的补充多媒体数据,以增加训练数据的数据量,也就是说,第一训练数据子集还包括所述补充多媒体数据和所述补充多媒体数据的标识信息。在一些实施例中,可以从多媒体数据库中筛选预设个数个补充多媒体数据,例如可以是筛选100万条多媒体数据。

,在本申请实施例中,由于补充多媒体数据是从多媒体数据库中获取的,并且仅获取了补充多媒体数据的标识信息,并没有获取补充多媒体数据的搜索文本,因此将补充多媒体数据和补充多媒体数据的标识信息增加至第一训练数据子集,从而增加第一训练数据子集的数据量,保证在第一训练阶段具有充足的训练数据,而在第二训练阶段是利用从搜索日志中筛选出的目标多媒体数据和目标多媒体数据对应的搜索文本作为训练数据,从而使得最终训练出的跨模态表征模型更符合检索目标任务的需求。

在一些实施例中,上述步骤S002“利用所述第一训练数据子集对所述预设的跨模态表征模型进行训练,得到初步训练好的跨模态表征模型”,可以通过如图5A所示的步骤S0021至步骤S0024实现:

步骤S0021,基于第一训练数据子集确定第一训练正样本和第一训练负样本。

其中,第一训练正样本包括各个多媒体训练数据和各个多媒体训练数据对应的标识信息,第一训练负样本包括随机确定的多媒体训练数据和随机确定的标识信息。以多媒体数据为视频数据为例进行说明。当一个视频数据是关于烹制红烧肉的视频,其标识信息为“肥而不腻瘦而不柴的红烧肉做法”,那么该视频数据和该标识信息为一个训练正样本,该视频数据与标识信息“今秋最流行穿搭”为一个训练负样本。

步骤S0022,将各个第一训练正样本输入至预设的跨模态表征模型,得到各个第一正样本预测相似度。

这里,可以将各个第一训练正样本的多媒体训练数据输入至所述预设的跨模态表征模型的多媒体子模型,得到多媒体训练数据的特征向量,进一步地,多媒体子模型可以包括特征提取层,用于提取多媒体数据的特征向量,当时多媒体数据为视频数据时,提取的是视频数据中各个采样帧的特征向量,得到向量矩阵,然后再经过时序池化层和语境门控层得到一维的特征向量,最后经过一个全连接层得到最终的多媒体特征向量;将第一训练样本的标识信息输入至文本子模型,首先经过词向量提取层,得到标识信息的词向量,然后再输入到全连接层和ReLU激活层进行非线性变换,再经过最大池化层以及一个全连接层得到最终的文本特征向量,此时多媒体特征向量和文本特征向量被映射在同一向量空间内,此时可以将多媒体特征向量和文本特征向量进行L2归一化,并进行点乘计算两个向量之间的余弦距离,从而确定第一训练样本中多媒体数据和标识信息的语义相似度。

步骤S0023,将各个第一训练负样本输入至所述预设的跨模态表征模型,得到各个第一负样本预测相似度。

这里,与步骤S0022类似,将各个第一训练负样本中的多媒体数据输入至所述预设的跨模态表征模型的多媒体子模型,得到多媒体特征向量,将标识信息输入至文本子模型,得到文本特征向量,并基于该多媒体特征向量和文本特征向量确定第一训练负样本中多媒体数据和标识信息之间的语义相似度。

步骤S0024,将各个第一正样本预测相似度和各个第二负样本预测相似度反向传播至所述预设的跨模态表征模型,利用第一损失函数对所述预设的跨模态表征模型进行训练,以对所述预设的跨模态表征模型的参数进行调整。

这里,第一损失函数可以是三元组排序损失函数,思想是让负样本对之间的距离大于正样本对之间的距离,也即是让负样本中多媒体数据与标识信息的语义相似度小于正样本中多媒体数据与标识信息的语义相似度。

通过上述步骤S0021至步骤S0024,即完成了利用第一训练数据子集构建第一训练正样本和第一训练负样本,并分别将多个第一训练正样本和第一训练负样本输入至所述预设的跨模态表征模型得到第一训练正样本对应的预测语义相似度和第一训练负样本对应的预测语义相似度,进而利用预设的第一损失函数,对跨模态表征模型进行训练,从而对跨模态表征模型的参数进行调整,得到初步训练好的跨模态表征模型。

在一些实施例中,上述步骤S003“利用所述第二训练数据子集对所述初步训练好的跨模态表征模型进行训练,得到训练好的跨模态表征模型”,可以通过图5B所示的以下步骤实现:

步骤S0031,获取所述第二训练数据子集中各个多媒体数据的类别标签和预测类别。

在本申请实施例中,第二训练数据子集中各个多媒体数据的类别标签可以是通过对各个多媒体数据对应的搜索文本进行分类处理所得到的分类结果而确定的,多媒体数据的预测类别可以是通过对多媒体数据的内容进行预测,得到的。

步骤S0032,基于第二训练数据子集确定第二训练正样本和第二训练负样本。

其中,第二训练正样本包括各个多媒体训练数据和各个多媒体训练数据对应的搜索文本,第二训练负样本包括随机确定的多媒体训练数据和随机确定的搜索文本。例如,多媒体数据内容是关于米其林大厨在中国的视频内容,对应的搜索文本为“米其林大厨在中国”,该多媒体数据和搜索文本为一个第二训练正样本,而该多媒体数据和随机确定的搜索文本“幼儿广播体操”为一个第二训练负样本。

步骤S0033,将各个第二训练正样本输入至所述预设的跨模态表征模型,得到各个第二正样本预测相似度。

这里,将第二训练正样本中的多媒体数据输入至所述预设的跨模态表征模型的多媒体子模型,得到多媒体特征向量,并将搜索文本输入至所述预设的跨模态表征模型的文本子模型,得到文本特征向量,进而根据多媒体特征向量和文本特征向量确定各个第二正样本预测相似度。

步骤S0034,将各个第二训练负样本输入至所述预设的跨模态表征模型,得到各个第二负样本预测相似度。

与步骤S0033类似,步骤S0034在实现时,将第二训练负样本中的多媒体数据输入至所述预设的跨模态表征模型的多媒体子模型,得到多媒体特征向量,并将搜索文本输入至所述预设的跨模态表征模型的文本子模型,得到文本特征向量,进而根据多媒体特征向量和文本特征向量确定各个第二负样本预测相似度。

步骤S0035,将各个第二正样本预测相似度、各个第二负样本预测相似度、各个类别标签和预测类别反向传播至所述预设的跨模态表征模型,利用第一损失函数和第二损失函数对所述预设的跨模态表征模型进行联合训练,以对所述预设的跨模态表征模型的参数进行调整。

这里,第一损失函数可以是三元组排序损失函数,用于限制第二负样本预测相似度低于第二正样本预测相似度,第二损失函数为分类损失函数,例如可以是交叉熵损失函数。由于损失函数数值大小上的差异,在利用第一损失函数和第二损失函数对跨模态表征模型进行联合训练时,可以为第一损失函数和第二损失函数分配不同的权值,例如,第一损失函数的权值为0.9,第二损失函数的权值为0.1,如此构建训练使用的多损失函数,从而利用各个第二正样本预测相似度、各个第二负样本预测相似度、各个类别标签和预测类别以及该多损失函数对跨模态表征模型的参数进行调整,得到最终训练好的跨模态表征函数。

在步骤S0031至步骤S0035中,首先获取第二训练数据子集中各个多媒体训练数据的类别标签和预测类别,然后构建第二训练正样本和第二训练负样本,并分别将多个第二训练正样本和第二训练负样本输入至所述预设的跨模态表征模型得到第二正样本预测相似度和第二负样预测相似度,并根据第一损失函数和第二损失函数构建联合损失函数,然后利用联合损失函数和多个第二正样本预测相似度、第二负样本预测相似度以及类别标签和预测类别对跨模态表征模型进行联合训练,由于引入了类别标签和预测类别以及第二损失函数(分类损失函数)如此能够加快模型收敛速度,提高模型训练效率。

由于预设的跨模态表征模型包括多媒体子模型和文本子模型,在训练跨模态表征模型的过程中,将第二训练数据子集中的搜索文本进行聚类得到各个多媒体训练数据的标签,对应地,上述步骤S0031“获取所述第二训练数据子集中各个多媒体数据的类别标签和预测类别”可以通过以下步骤实现:

步骤S311,将各个多媒体数据输入至所述多媒体子模型,得到各个多媒体特征向量。

这里,步骤S311在实现时,将多媒体数据输入至所述多媒体子模型,可以将多媒体数据进行采样,得到采样后的多媒体数据,然后再提取各个采样后的多媒体数据的特征向量,从而得到特征矩阵,再利用时序池化层将特征矩阵组成一个单独表达,也即得到一个特征向量,然后该特征向量在通过语境门控层,该层捕捉其特征关联信息并重新调整权重,得到多媒体特征向量。

步骤S312,将各个多媒体数据对应的搜索文本输入至所述文本子模型,得到各个搜索文本特征向量。

这里,步骤S312在实现时,将搜索文本输入至该文本子模型后,首先对搜索文本进行分词,然后再提取各个分词的词向量,并将多个词向量进行平均池化,得到一个定长的向量,也即各个搜索文本特征向量。

步骤S313,对所述各个多媒体特征向量进行分类处理,得到各个多媒体类别。

步骤S313在实现时,可以是对各个多媒体特征向量进行K-Means聚类,从而得到各个多媒体类别。例如可以是美食类、教育类、娱乐八卦类等。

步骤S314,对所述各个搜索文本特征向量进行分类处理,得到各个文本类别。

在实现时,可以是对各个搜索文本特征向量进行K-Means聚类,以确定各个搜索文本对应的各个文本类别。

步骤S315,将各个多媒体数据对应的多媒体类别确定为预测类别,将各个多媒体数据对应的搜索文本的文本类别确定为类别标签。

由于搜索日志中噪音数据较多、词汇表覆盖不够全面,直接利用搜索日志提取出的第二训练数据子集多跨模态表征模型进行训练时收敛速度慢,且训练效果依赖于正负样本集的构建,简单的负样本会限制网络的泛化能力。因此在步骤S311至步骤S315中,利用聚类的方法,使用多媒体数据对应搜索文本的聚类类别作为每个多媒体数据的标签,如此在不需要额外收集人工标注数据的情况下,能够加快跨模态表征模型的收敛速度,也能够提升跨模态表征模型的预测效果。

在本申请实施例中,训练好的跨模态表征模型包括训练好的多媒体子模型和训练好的文本子模型,对应地,图4所示的步骤S103“将多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的语义相似度”可以通过以下步骤实现:

步骤S1031,将所述多媒体数据输入所述多媒体子模型,得到所述多媒体数据对应的多媒体特征向量。

在实现时,多媒体数据输入多媒体子模型得到多媒体训练数据的特征向量,进一步地,首先会对多媒体数据进行采样,得到采样后的多媒体数据,然后在利用多媒体子模型中的特征提取层提取多个采样后的多媒体数据的特征向量,得到向量矩阵,该特征提取层可以是骨干网络;然后再经过时序池化层和语境门控层得到一维的特征向量,最后经过一个全连接层得到最终的多媒体特征向量。

步骤S1032,将所述文本数据输入所述文本子模型,得到所述文本数据对应的文本特征向量。

将文本数据输入至文本子模型,首先对文本数据进行分词,然后通过词向量提取层,得到各个分词的词向量,从而得到词向量矩阵,当分词数小于预设的词数阈值时,采用零向量补全,然后再将词向量矩阵输入到全连接层和ReLU激活层进行非线性变换,再经过最大池化层以及一个全连接层得到最终的文本特征向量,此时多媒体特征向量和文本特征向量被映射在同一向量空间内。

步骤S1033,利用所述多媒体特征向量和所述文本特征向量确定所述多媒体数据和所述文本数据的语义相似度。

这里,可以将多媒体特征向量和文本特征向量进行L2归一化,并进行点乘计算两个向量之间的余弦距离,从而确定第一训练样本中多媒体数据和标识信息的语义相似度。

在一些实施例中,还可以通过计算多媒体特征向量和文本特征向量的汉明距离、欧氏距离等来确定多媒体数据和文本数据的语义相似度。

基于前述的实施例,本申请实施例再提供一种跨模态语义相似度的确定方法,应用于图2所示的网络架构,图6为本申请实施例提供的多媒体数据的搜索方法的另一种实现流程示意图,如图6所示,该流程包括:

步骤S601,终端响应于针对搜索输入控件的输入操作,获取输入的搜索信息。

这里,该搜索输入控件可以接收用户输入的文本信息,该搜索输入控件还可以切换输入信息的类型,输入的搜索信息可以是文本信息,还可以是语音消息。

步骤S602,终端响应于搜索操作,向服务器发送搜索请求。

这里,该搜索操作可以是针对搜索控件的触控或点击操作,终端在接收到搜索操作后,向服务器发送搜索请求,该搜索请求中携带有搜索信息。

步骤S603,服务器接收该搜索请求,并基于所述搜索请求确定搜索文本;

这里,搜索请求中携带有搜索信息,该服务器获取终端发送的搜索请求,并解析该搜索请求,得到搜索信息,当搜索信息为文本信息时,直接将搜索信息确定为搜索文本,当搜索信息为语音信息时,对该搜索信息进行语音识别,从而得到搜索文本。

步骤S604,服务器基于所述搜索文本和多媒体数据库中各个多媒体数据的标题信息,确定多个待处理的多媒体数据。

这里,在实现时,可以对搜索文本进行分词,然后将多媒体数据库中各个多媒体数据的标题信息中包括这些分词的多媒体数据确定为待处理的多媒体数据。

步骤S605,服务器将所述搜索文本确定为待处理的文本数据。

步骤S606,服务器获取训练好的跨模态表征模型。

这里,训练好的跨模态表征模型包括训练好的多媒体子模型和训练好的文本子模型。该跨模态表征模型至少利用多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本,通过两个训练阶段得到的。

步骤S607,服务器将各个待处理的多媒体数据输入训练好的多媒体子模型,得到各个多媒体数据对应的各个多媒体特征向量。

步骤S608,服务器将待处理的文本数据输入训练好的文本子模型,得到该文本数据对应的文本特征向量。

这里,各个多媒体特征向量和所述文本特征向量属于同一个向量空间。

步骤S609,服务器利用各个多媒体特征向量和所述文本特征向量确定各个多媒体数据和所述文本数据的各个语义相似度。

步骤S610,服务器基于各个语义相似度对所述多个待处理的多媒体数据进行排序,得到排序后多媒体数据。

其中,与所述搜索文本相似度最高的多媒体数据为第一个多媒体数据。将各个语义相似度按照从大到小的顺序对多个待处理的多媒体数据进行排序,得到排序后的多媒体数据。

步骤S611,服务器基于排序后的多媒体数据,确定搜索结果。

这里,该搜索结果可以包括前N个多媒体数据的URL地址以及前N个多媒体数据的标识信息(也即标题),当多媒体数据为视频数据时,搜索结果还可以包括视频封面。

步骤S612,服务器向所述终端发送搜索结果。

步骤S613,终端接收并呈现该搜索结果。

这里,终端接收到该搜索结果后,在自身的显示界面显示该多媒体数据的标题,当多媒体数据为视频数据时,还可以呈现视频数据的封面。

在本申请实施例提供的多媒体数据的搜索方法中,终端在接收到搜索操作时,向服务器发送携带有搜索信息的搜索请求,服务器基于搜索请求确定待处理的多媒体数据和文本数据,并利用训练好的跨模态表征模型确定各个多媒体数据和文本数据之间的语义相似度,从而基于各个语义相似度确定搜索结果,从而能够保证能够召回与搜索信息语义相关度更高的搜索结果,提高搜索结果的准确性。

在一些实施例中,确定多媒体数据和文本数据的跨模态语义相关性的目的还可以是对待审核的多媒体数据进行标题审核,以确定标题是否与多媒体数据的实际内容相符,在该场景下,服务器获取终端发送的多媒体数据的标题审核请求,所述多媒体数据审核请求中携带有待审核的多媒体数据和所述多媒体数据的标题信息,并将所述待审核的多媒体数据确定为待处理的多媒体数据,将所述标题信息确定为待处理的文本数据并将该待处理的多媒体数据和文本数据输入到训练好的跨模态表征模型中,确定该待处理的多媒体数据和文本数据之间的语义相似度;之后确定所述多媒体数据和所述文本数据的语义相似度是否大于预设的相似度阈值,当所述语义相似度阈值大于所述相似度阈值时,确定所述多媒体数据的标题通过审核,并将携带有审核通过的标题审核响应发送至所述终端。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

视频表征(Embedding)可将视频映射为固定长度、低维、浮点表示的特征向量,其距离可以度量视频之间的语义相似性。跨模态的表征则是将自然语言(文本)和视频映射到同一个向量空间,在该向量空间中可以直接比较文本和视频的相似度,从而将该相似度作为搜索和推荐的召回和排序阶段的重要特征。

在本申请实施例提供的多媒体数据搜索方法中,采用双塔结构的神经网络模型,该神经网络模型的结构如图7所示,包括视频侧结构701和文本侧结构702,其中:

视频侧结构701包括:特征提取层7011、时序池化层7012、门控语境层7013和线性变换层7014;

文本侧结构702包括:词向量模型7021、全连接层(Linear Layer)+ReLU激活层7022、最大池化层7023和线性变换层7024。

以下结合视频侧结构和文本侧结构,对该双塔模型的训练和预测过程进行说明。

视频侧结构701的输入为多个视频帧(训练时每个视频采样8帧作为输入),利用该特征提取层7011对多个视频帧进行特征提取,在实际实现时可以采用ResNet50的骨干网络提取帧特征,得到[8,2048]的向量矩阵。该向量矩阵经过时序池化层7012和语境门控7013得到融合的维度为[1,2048]的视频特征。在实现时,时序池化层可以是NextVLAD融合层。在NextVLAD层,通过可学习参数将视频输入得到的多帧画面特征图(也即上述的向量矩阵)组成一个单独表达,得到[1,2048]的特征向量,其后该特征向量被输入至Context Gating层,该Context Gating层捕捉其特征关联信息并重新调整权重,得到最后的视频特征表达。

在本申请实施例中,在文本侧结构之前还包括预处理模块703,该预处理模块703用于将输入的检索文本进行分词,文本侧结构702的输入为分词后的检索分词,采用预训练学习得到的词向量(word embedding)模型7021得到词向量列表,即[8,64]的词向量矩阵,对于不足八个单词的语句,采用零向量补全。其后,输入到两个全连接层(Linear Layer)和ReLU激活层组成的模块7022进行非线性变换,再由MaxPooling层7023聚合得到一个[1,256]的文本的特征向量。

双塔模型在得到视频特征和文本特征后,分别将其输入到两个全连接层,也即将视频特征输入至全连接层7014,将文本特征输入至全连接层7024,如此两个模态的特征映射到一个相同维度的向量空间中,再分别对得到的向量进行归一化,在该向量空间中进行点乘计算余弦距离,衡量两个输入的相似性。

在模型进行训练是,语言模型可以利用大量的自然语言数据进行训练,但是视觉语言的跨模态模型需要高质量的图像、视频描述,且数据的质量和大小对于模型训练训练至关重要。在本申请实施例中,采用视频的标题作为预训练数据,使用由用户的检索点击对日志构建的数据作为二阶段训练的数据,训练跨模态表征模型。

假设视频平台的检索日志在抽样时间段中平均每天约有6.5千万次查询,1亿次的点击,其中2000万次的点击完整播放了视频。在训练中,采用的实验数据为两周内检索点击数据中视频被完整播放、视频时长小于10分钟,且频次不小于2的检索点击对,得到约1100万对的检索语句和视频对,共对应了690万个不同的视频,视频平均时长117s。预训练阶段的数据,包括所有筛选出的检索数据对应视频,以及在视频库中额外采样出的1000万个时长小于10分钟的视频,加上各个对应的标题文本信息作为多模态训练数据。检索日志数据集中划分出5%的数据作为验证集。

跨模态表征模型的训练目标是使匹配的文本和视频的向量在该空间中的距离更接近,因此通常使用三元组排序损失函数(triplet ranking loss)作为训练的损失函数。在本申请实施例中,首先将视频及其标题作为第一阶段的预训练数据,将视频及其检索语句作为第二阶段的训练数据,通过两个阶段训练双塔结构模型。

检索日志的数据虽然更符合最检索目标任务的需求,但是检索日志中噪音数据较多、词汇表覆盖不够全面,直接训练难以收敛。在第一训练阶段,视频及其对应的标题是一个正样本对,同一个训练随机批次内的其他视频、其他标题则为当前样本的负样本,以三元组排序损失函数作为训练目标进行训练。在第二训练阶段,使用检索日志作为训练数据时,用户的检索语句及其对应点击且完整播放的视频作为一对正样本对,同样将一个训练随机批次内的其他视频、其他标题作为负样本。

由于直接使用三元组排序损失函数的训练过程收敛慢,且训练效果依赖于正负样本集的构建,简单的负样本会限制网络的泛化能力。在第二训练阶段,使用视频对应搜索文本的聚类类别作为每个视频的伪标签,加入分类损失函数,与三元组排序损失函数一起训练,标记为多损失函数(multi-loss)模型,从而能够大大增大训练收敛的稳定性。在实现时,对文本侧的输入(也即搜索文本)进行分词,并经过训练好的词向量模型得到多个词向量,再将多个词向量进行平均池化,得到一个定长的向量,作为搜索文本的初步特征。对该搜索文本的初步特征进行kmeans聚类,聚类个数根据经验采用6400个,将每个检索文本对应的聚类类别id作为视频的分类标签,用交叉熵损失函数来计算分类的损失。由于损失函数数值大小上的差异,将分类损失函数与三元组排序损失函数按照1:10的权重相加,即为训练使用的多损失函数。

在利用训练好的双塔模型预测视频和输入文本的相似度时,经过该训练好的双塔模型可以得到两个模态的输入在一个向量空间中的特征,在该向量空间中进行点乘计算余弦距离,从而预测出两个输入的相似性。

表1为实验结果数据对比表,在表1中,[email protected]表示在验证集上,检索query召回的最相关的视频中答案视频排序在前k个内的占比,即[email protected]表示query召回的按照相关度排序的视频列表中,实际点击的答案视频在召回结果前5个中的比例。medR表示答案视频在召回结果中排序的中位数,meanR表示答案视频在召回结果中排序的平均数。多损失函数和多阶段训练均有效提升了检索的效果。

表1

在实际实现时,还可以使用不同的基础网络结构、不同的视频识别、语言模型以及不同的距离度量函数来实现相似的跨模态表征模型。

在本申请实施例中,在不需要额外收集人工标注数据的情况下,可以训练出有效将视频与文本映射到同一空间的表征模型,利用该跨模态表征模型,可以在搜索中建立语言与视觉之间的联系,召回更多相关视频,提高检索结果与内容本身的相关度。

同时,在本申请实施例中提出的引入聚类伪标签的多损失函数和多阶段训练方法,均有效提高了训练过程的稳定性,提升了模型的效果。

下面继续说明本申请实施例提供的多媒体数据的搜索装置454的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器440的多媒体数据的搜索装置454中的软件模块可以包括:

第一获取模块,用于获取训练好的跨模态表征模型,其中,所述预设的跨模态表征模型的训练数据集包括多媒体训练数据、所述多媒体训练数据的标识信息和所述多媒体训练数据对应的搜索文本;

第一获取模块,用于获取待处理的多媒体数据和文本数据;

相似度计算模块,用于将所述多媒体数据和所述文本数据输入至所述训练好的跨模态表征模型,得到所述多媒体数据和所述文本数据的语义相似度。

在一些实施例中,该装置还包括:

第二获取模块,用于获取预设的跨模态表征模型,并获取所述预设的跨模态表征模型的训练数据集,其中所述训练数据集包括第一训练数据子集和第二训练数据子集;

所述第一训练数据子集包括多媒体训练数据和所述多媒体训练数据的标识信息,所述第二训练数据子集包括所述多媒体训练数据和所述多媒体训练数据对应的搜索文本;

第一训练模块,用于利用所述第一训练数据子集对所述预设的跨模态表征模型进行训练,得到初步训练好的跨模态表征模型;

第二训练模块,用于利用所述第二训练数据子集对所述初步训练好的跨模态表征模型进行训练,得到训练好的跨模态表征模型。

在一些实施例中,该第二获取模块,还用于:

获取预设时长内的搜索日志,所述搜索日志中包括多个搜索文本和多个搜索文本对应的点击事件信息;

获取各个点击事件信息对应的多媒体数据的点击播放时长和实际时长;

基于各个多媒体数据的点击播放时长和实际时长,确定目标多媒体数据,并获取所述目标多媒体数据对应的搜索文本和所述目标多媒体数据标识信息;

将所述目标多媒体数据确定为所述多媒体训练数据,将所述目标多媒体数据的标识信息确定为多媒体训练数据的标识信息,将所述目标多媒体数据对应的搜索文本确定为多媒体训练数据对应的搜索文本;

从多媒体数据库中筛选出多个实际时长小于时长阈值的补充多媒体数据,获取所述补充多媒体数据的标识信息;所述第一训练数据子集还包括所述补充多媒体数据和所述补充多媒体数据的标识信息。

在一些实施例中,第一训练模块,还用于:

基于第一训练数据子集确定第一训练正样本和第一训练负样本,其中第一训练正样本包括各个多媒体数据和各个多媒体数据对应的标识信息,第一训练负样本包括随机确定的多媒体数据和随机确定的标识信息;

将各个第一训练正样本输入至所述预设的跨模态表征模型,得到各个第一正样本预测相似度;

将各个第一训练负样本输入至所述预设的跨模态表征模型,得到各个第一负样本预测相似度;

将各个第一正样本预测相似度和各个第二负样本预测相似度反向传播至所述预设的跨模态表征模型,利用第一损失函数对所述预设的跨模态表征模型进行训练,以对所述预设的跨模态表征模型的参数进行调整。

在一些实施例中,第二训练模块,还用于:

获取所述第二训练数据子集中各个多媒体数据的类别标签和预测类别;

基于第二训练数据子集确定第二训练正样本和第二训练负样本,其中第二训练正样本包括各个多媒体数据和各个多媒体数据对应的搜索文本,第二训练负样本包括随机确定的多媒体数据和随机确定的搜索文本;

将各个第二训练正样本输入至所述预设的跨模态表征模型,得到各个第二正样本预测相似度;

将各个第二训练负样本输入至所述预设的跨模态表征模型,得到各个第二负样本预测相似度;

将各个第二正样本预测相似度、各个第二负样本预测相似度、各个类别标签和预测类别反向传播至所述预设的跨模态表征模型,利用第一损失函数和第二损失函数对所述预设的跨模态表征模型进行联合训练,以对所述预设的跨模态表征模型的参数进行调整。

在一些实施例中,所述预设的跨模态表征模型包括多媒体子模型和文本子模型,第二训练模块,还用于:

将各个多媒体数据输入至所述多媒体子模型,得到各个多媒体特征向量;

将各个多媒体数据对应的搜索文本输入至所述文本子模型,得到各个搜索文本特征向量;

对所述各个多媒体特征向量进行聚类处理,得到各个多媒体类别;

对所述各个搜索文本特征向量进行分类处理,得到各个文本类别;

将各个多媒体数据对应的多媒体类别确定为预测类别,将各个多媒体数据对应的搜索文本的文本类别确定为类别标签。

在一些实施例中,所述训练好的跨模态表征模型包括训练好的多媒体子模型和训练好的文本子模型,对应地,相似度计算模块,还用于:

将所述多媒体数据输入所述多媒体子模型,得到所述多媒体数据对应的多媒体特征向量;

将所述文本数据输入所述文本子模型,得到所述文本数据对应的文本特征向量,其中,所述多媒体特征向量和所述文本特征向量属于同一个向量空间;

利用所述多媒体特征向量和所述文本特征向量确定所述多媒体数据和所述文本数据的语义相似度。

在一些实施例中,该第一确定模块,还用于:

获取终端发送的搜索请求,并基于所述搜索请求确定搜索文本;

基于所述搜索文本和多媒体数据库中各个多媒体数据的标题信息,确定待处理的多媒体数据;

将所述搜索文本确定为待处理的文本数据。

在一些实施例中,该第一确定模块,还用于:

获取所述搜索请求中携带的搜索信息;

当所述搜索信息为文本信息时,将所述搜索信息确定为搜索文本;

当所述搜索信息为语音信息时,对所述搜索信息进行语音识别,得到搜索文本。

在一些实施例中,该第二确定模块,还用于:

基于语义相似度对多个待处理的多媒体数据进行排序,得到排序后多媒体数据,其中,与所述搜索文本相似度最高的多媒体数据为第一个多媒体数据;

基于排序后的多媒体数据,确定搜索结果;

向发送所述搜索请求的终端返回所述搜索结果。

这里需要指出的是:以上多媒体数据的搜索装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本申请多媒体数据的搜索装置实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图图4、图5A、图5B和图6示出的方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:建议在线系统中的实体创建内容并向内容添加标签

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!