掌桥专利:专业的专利平台
掌桥专利
首页

数据处理、数据检索、检索模型训练方法和装置

文献发布时间:2023-06-19 19:32:07


数据处理、数据检索、检索模型训练方法和装置

技术领域

本公开涉及数据处理领域,尤其是涉及数据检索。

背景技术

数据搜索/检索是常见的数据处理技术,其总体上指的是根据查询要求而获得所需要的数据,并且随着技术的发展已经提出了各种搜索类产品。在各种搜索类产品中,用户往往使用文字作为查询输入来进行检索,且随着多媒体时代的到来,检索返回的结果不仅仅只有文本,同时还有可能是图像和/或视频,这通常被定义为跨模态检索任务。

发明内容

提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

在本公开的第一方面,提供了一种数据处理方法,可包括获取基于参考数据之间的语义关联性所构建的多模态数据库,其中多模态数据库是基于通过对参考数据进行语义分析并按照分析出的语义特征将数据进行相关联而获得的共同语义组被构建的,以及基于所获取的多模态数据库,构建检索相关的特定数据的多模态实例集。

在本公开的第二方面,提供了一种数据检索方法,可包括对于待检索输入,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第一多模态实例集;对于候选检索集中的每一个候选检索结果,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第二多模态实例集;以及基于第一多模态实例集与第二多模态实例集之间的相似度来确定特定数量的候选检索结果来作为检索结果。

在本公开的第三方面,提供了一种检索模型训练方法,可包括对于第一训练样本,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第一多模态实例集;对于第二训练样本,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第二多模态实例集;以及利用第一多模态实例集与第二多模态实例集,基于损失函数执行检索模型训练。

在本公开的第四方面,提供了一种数据处理装置,可包括获取单元,被配置为获取基于参考数据之间的语义关联性所构建的多模态数据库,以及构建单元,被配置为基于所获取的多模态数据库,构建检索相关的特定数据的多模态实例集。

在本公开的第五方面,提供了一种数据检索装置,可包括第一获取单元,被配置为对于待检索输入,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第一多模态实例集;第二获取单元,被配置为对于候选检索集中的每一个候选检索结果,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第二多模态实例集;以及确定单元,被配置为基于第一多模态实例集与第二多模态实例集之间的相似度来确定特定数量的候选检索结果来作为检索结果。

在本公开的第六方面,提供了一种检索模型训练装置,可包括第一获取单元,被配置为对于第一训练样本,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第一多模态实例集;第二获取单元,被配置为对于第二训练样本,基于根据本公开中任一实施例所述的数据处理方法来获取相对应的第二多模态实例集;以及训练单元,被配置为利用第一多模态实例集与第二多模态实例集,基于损失函数执行检索模型训练。

在本公开的第七方面,提供一种电子设备,包括:存储器;和耦接至存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行本公开中所述的任一实施例的方法。

在本公开的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序在被处理器执行时导致实现本公开中所述的任一实施例的方法。

在本公开的第九方面,提供一种计算机程序产品,包括指令,该指令在由处理器执行时导致实现本公开中所述的任一实施例的方法。

在本公开的第十方面,提供一种计算机程序,包括程序代码,该程序代码在由处理器执行时导致实现本公开中所述的任一实施例的方法。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征、方面及其优点将会变得清楚。

附图说明

下面参照附图说明本公开的优选实施例。此处所说明的附图用来提供对本公开的进一步理解,各附图连同下面的具体描述一起包含在本说明书中并形成说明书的一部分,用于解释本公开。应当理解的是,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开构成限制。在附图中:

图1A示出了常规的多样性图像检索的示意图,

图1B示出了根据本公开的实施例的数据搜索相关处理的示意性概念图,

图1C示出了根据本公开的实施例的示例性多样性图像检索的示意图,

图2A示出了根据本公开的实施例的用于数据搜索的数据处理方法的流程图,

图2B示出了知识图谱的概念图,

图2C示出了根据本公开的实施例的超图的概念图。

图2D示出了根据本公开的实施例的数据搜索方法的流程图。

图2E示出了根据本公开的实施例的数据搜索模型训练方法的流程图。

图3A示出了根据本公开的实施例的用于数据搜索的数据处理装置的框图,

图3B示出了根据本公开的实施例的数据搜索装置的框图,

图3C示出了根据本公开的实施例的数据搜索模型训练装置的框图,

图4A示出了根据本公开的实施例的数据搜索处理的示例性流程图,

图4B示出了根据本公开的实施例的数据搜索处理的示例性架构图,

图4C示出了根据本公开的实施例的示例性知识超图,

图5示出本公开的电子设备的一些实施例的框图,

图6示出本公开的电子设备的另一些实施例的框图。

应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不一定是按照实际的比例关系绘制的。在各附图中使用了相同或相似的附图标记来表示相同或者相似的部件。因此,一旦某一项在一个附图中被定义,则在随后的附图中可能不再对其进行进一步讨论。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,但是显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对实施例的描述实际上也仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值应被解释为仅仅是示例性的,不限制本公开的范围。

本公开中使用的术语“包括”及其变型意指至少包括后面的元件/特征、但不排除其他元件/特征的开放性术语,即“包括但不限于”。此外,本公开使用的术语“包含”及其变型意指至少包含在其后面的元件/特征、但不排除其他元件/特征的开放性术语,即“包含但不限于”。在本公开上下文中,“包括”与“包含”是同义的。术语“基于”意指“至少部分地基于”。

整个说明书中所称“一个实施例”、“一些实施例”或“实施例”意味着与实施例结合描述的特定的特征、结构或特性被包括在本发明的至少一个实施例中。例如,术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。而且,短语“在一个实施例中”、“在一些实施例中”或“在实施例中”在整个说明书中各个地方的出现不一定全都指的是同一个实施例,但是也可以指同一个实施例。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。除非另有指定,否则“第一”、“第二”等概念并非意图暗示如此描述的对象必须按时间上、空间上、排名上的给定顺序或任何其他方式的给定顺序。

对于跨模态检索任务来说,利用多种模态信息去增强内容的理解能力是至关重要的,但相关技术中往往只对准确率具有高要求,而应指出,返回的结果具有多样性也是十分影响用户的使用体验的。比如对于用户搜索“动物”,准确率优先的模型往往会给出很多的狗、猫等常见动物的图片,但对于用户来说,看到更多样性的结果也能够极大优化体验,除了更多的动物外,如动物医院、卡通动物等也具有一定的消费价值。

相关技术中,多样性图像检索的方案主要分为两种:多阶段重排序和多语义表征。

多阶段重排序主要通过先过滤、再设计人工规则进行重排,如图1A(a),包括以下步骤:过滤,在其中通过应用特征相似度、图像的属性信息等获得一个小集合的图像候选集;然后,对图像候选集进一步进行处理,包括聚类,选择,排序,从而得到可应用的语义空间。特别地,通过人工设计几种重排策略来改变图像的顺序。例如,使用聚类方法得到多个相似的簇,然后从不同的簇中选取图像以最大化搜索结果的多样性。多阶段重排序缺点在于在多阶段在设计上比较复杂,更多依赖于人类的经验。

多语义表征直接学习关于查询文本的多角度语义,即一对多的子语义,如图1A(b),包括:多样性生成器,其中将一个输入变为多个角度的含义,如使用注意力机制等方法在隐空间中建模;然后基于多样性生成器的结果来获得多实例包,从而得到语义空间,例如,这可称为多语义检索,其中利用生成器得到的多个子概念分别进行检索,并返回给用户。多语义表征的缺点在于,生成器得到的特征往往是隐式的,不便于控制也缺乏可解释性。

鉴于此,本公开提出了改进的用于数据检索的数据处理,以便实现具有改进的多样性的多模态检索。特别地,本公开提出了利用所构建的改进的多模态数据库,将特定的检索相关数据扩展为更具多样性语义的数据集,基于此进行数据检索相关的处理,例如数据检索模型训练,多模态数据检索应用等等。

图1B示出了根据本公开的实施例的数据搜索相关处理的示意性概念图。

首先,可以基于参考数据来构建多模态数据库。参考数据可以包括文本、图像、视频、动图等等中的至少一者,参考数据可以源自已知的各种数据库或数据集,特别地,可源自知识图谱和检索数据集。可通过基于数据的语义关联性来进行数据关联以构建多模态数据库,从而可以实现对于检索数据集进行多样性扩展,获得语义更加丰富的数据库。

然后,基于所构建的多模态数据库,来对于特定数据,例如与数据检索有关的特定数据,尤其是文本输入内容,进行适当扩展。特别地,可以从多模态数据库中获取与特定数据相关联的多模态语义表示,诸如是语义更加多样的子数据集,从而可实现对于检索相关数据的语义扩展,这样能够获得更加多样性的内容以用于检索相关处理。

这样,基于实现语义扩展的数据集,可以进行数据检索相关的处理,例如针对查询输入而执行多模态数据检索,进行数据检索模型的训练等等。这样,本公开的方案能够有效地实现端对端且可解释的多样化搜索检索。

图1C示出了根据本公开的实施例的多样性图像检索的一种示例性实现。其中,针对查询句子“Golden Rider”,在作为所构建的多模态数据库的知识超图中寻找相近的语义,如卡牌中的“Golden Rider”或者旅游景点“Golden Rider”,这些语义将作为查询句子的扩展关联语义被用于后续的多样性检索中,例如可以构建查询句子的多实例包,然后应用该查询句子的多实例包以及由图像数据库得出的实例包来在语义空间中进行处理,从而可用于后续的检索或者训练等等。

下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。下面这些具体实施例可以相互结合,对于相同或者相似的概念或过程可能在某些实施例不再赘述。此外,在一个或多个实施例中,特定的特征、结构或特性可以由本领域的普通技术人员从本公开将清楚的任何合适的方式组合。

应指出,尽管在本公开上下文的描述中,主要以检索模型、尤其是图像检索模型为例来描述本公开的方案,但是应指出,本公开的实施例还可以同样应用于各种适当的数据检索处理,并且可以取得类似的有利技术效果。

图2A示出了根据本公开的实施例的用于数据检索的数据处理方法的流程图。

方法200至少包括如下步骤。在步骤S201,获取基于参考数据之间的语义关联性所构建的多模态数据库,在步骤S202,基于所获取的多模态数据库,构建检索相关的特定数据的多模态实例集。

根据本公开的实施例,参考数据可以是用于构建多模态数据库的任何适当的数据,例如包括文本、图像、视频、动图等等各种包含信息的内容。在一些实施例中,参考数据可以为预先存在的数据,例如可以源自各种类型的已有数据库或数据集等。替代地或者附加地,参考数据也可以是在进行检索相关处理时实时获取并且存储以供使用的。在本公开的一些实施例中,用于构建多模态数据库的数据可包括源自知识图谱和检索数据集中的数据。其中,知识图谱和检索数据集可以是当前已知的各种类型的图谱和数据集,例如检索数据集是用于数据检索的数据库或数据集,其可以各种适当形式,例如文本数据库,而知识图谱可以是预先构建的、已有图谱,诸如多模态知识图谱,如图2B所示,其可包括文本实体和图像实体,实体之间可存在多种关系。

根据本公开的实施例,多模态数据库可以基于知识图谱和检索数据集来构建,例如,可以通过利用数据之间的语义关联性来实现知识图谱和检索数据集有效链接,获得更具多样性的数据库或数据集,这样在一定程度上实现了对于知识图谱和/或检索数据集的扩展,进一步扩展了其中数据的语义多样性。例如,现有知识图谱和检索数据集之间在数据分布上存在语义差距。比如现有知识图谱中并没有“Golden Rider”这一节点,那么很难利用其进行语义的扩展;此外,在多模态知识图谱中,节点既有文本又有图像,图像和文本模态之间存在语义差距,这使得语义特征的扩展和融合变得困难。而通过本公开的实施例的方案,能够利用数据之间的语义关联性,将各个数据源的数据有效地整合在一起,从而使得数据的语义更具多样性。

根据本公开的一些实施例,数据的语义可以与数据的属性、类型、特征等等有关,其与数据相关联的且固有的,并且可以为各种适当的类型。特别地,不管是各种类型的数据,都可以分析得到其相关联的语义。作为示例,文本数据“黄金骑士”的语义可以示例性地与“骑士”、“黄金”、“黄色”、“马”等等有关,图片“黄金骑士”的语义可以示例性地与图片的大小、图片拍摄地点、时间、图片类型等等有关。英文文本或图片或者其它语言、表述的文本图片等等同样可以分析得到其相关联语义。当然,数据的语义可以是其它类型的语义,并且可被各种适当的方式来表示,例如以特征向量等方式来表示。

在本公开的一些实施例中,数据的语义特征可以通过利用特定模型对于数据进行语义分析而得到的,并且将具有相同语义的数据来组成共同语义组,由此构建多模态数据库。作为示例,通过对数据进行语义分析可得到M个语义特征/语义属性,然后按照M个语义特征/属性,将数据进行分组,可以得到M个共同语义组,从而可得到由M个共同语义组构成的多模态数据库。数据库的构成可采用各种适当的方式来实现,例如存储/记录共同语义组中的数据以及它们的语义,然后例如加索引等来构成数据库。当然其他方式也是可行的,这里将不再详细描述。在一些实施例中,特定模型可以是各种适当类型的模型,例如,其可以被包含在数据检索模型中,或者为数据检索模型本身,或者为不同于数据检索模型的语义分析和分组模型等。并且依赖于所使用的模型,所得到的语义特征可以为相应的任何适当形式,这里将不再详细描述。

根据本公开的实施例,可以通过对参考数据进行语义分析,按照分析出的语义特征将数据进行关联以获得共同语义组,由此构建多模态数据库。例如,可以将具有相同或相似语义特征的数据相关联,例如分组、归类等,从而获得共同语义组。

特别地,在一些实施例中,可以按照语义模式来对参考数据进行分类,例如根据语义模式对数据进行聚类以获取共同语义模式组或类,例如将属于或具有相同或相似语义模式的数据相关联,例如分组或归类,然后对于每一共同语义模式组或类中的数据再进行语义分析,从而可以在每一类数据中得到一个或多个共同语义组或类,然后基于所得到的共同语义组来构成多模态数据库。

在一些实施例中,语义模式可包括各种适当语义模式。作为示例,可以包括视觉语义模式、文本语义模式、属性语义模式。例如,视觉语义模式可以指示数据是否为视觉相关的,例如是否为图片或图像、是否为视频、是否为动图等。文本语义模式可以指示数据是否为文本。属性语义模式可以指示数据要根据属性来进行分类,数据属性可以包括各种适当属性,包括但不限于位置属性、时间属性、内容属性等等。作为示例,可以将所有图片归类为图片类,然后将图片类中的图片进行语义分析,然后根据分析出的语义特征/属性,可以将相同或相似语义特征/属性的图片分组为共同语义组,以此为基础构建多模态数据库。

根据本公开的实施例,多模态数据库可以用各种适当的方式来表示。在一些实施例中,多模态数据库可以等同于一种多维数据库,其中每一维可对应于一种语义,尤其是是对应于一种语义特征/属性,这样的多模态数据库可以更加清楚全面地包含数据以及它们之间的语义关联性,进一步体现了改进的或者提高的数据多样性。在一些实施例中,多模态数据库可以对应于超图,其中包含多条超边,每条超边可对应于一个共同语义组。特别地,共同语义组可以对应于数据库中的一个维度,超边则为这样的维度的概念性展示。作为另一示例,超边还可对应于如前所述的语义模式。

作为示例,普通的图一般为一条边连接两个节点,度为2,如图2B所示,而超图的度则是无限的,即一条超边连接多个节点,它们代表着共同的语义组。如图2C所示,如e1边同时连接v1、v2和v3节点,当节点数目为2时超图可以退化成普通的图,如e2边连接v2和v3两个节点。用这种简单而有效的方法便可以生成一个扩展的知识超图。通过这样的方法,可以获得多模态知识图谱的例子如下,它同时包含文本实体和图像实体,实体之前存在多种关系。一些就算不存在于知识图中的查询也可以很容易地通过语义或者属性被链接到图中,并且通过图中关联性获得多个子语义。

在本公开的实施例中,超图构建还可通过各种其他方式来实现。特别地,可以使用直接检索相关的语义、或者通过实体链接的方法构建超图。

根据本公开的实施例,多模态数据库的构建在本公开的方案中可被以适当的方式实现。在一些实施例中,多模态数据库的构建可以在要执行检索相关的处理过程之外执行。例如,这个步骤可以在获取检索输入之前来执行,多模态数据库可以被预先构建和存储,并且在执行检索时直接调用。也就是说,这里多模态数据库的构建可以是独立于检索输入的,也即是说不管检索输入如何,都执行多模态数据库的构建,并且预先存储在特定位置以供后续使用。这里作为构建基础的数据库可以是任何适当的数据库,例如各种通用的、已经存在的数据库。

这样,所获取的多模态数据库,例如可被称为多模态知识图谱,其可以对于源自不同数据库的数据基于语义关联性进行适当分组,从而获得更具多样性的扩展数据库。特别地,可以从这样的扩展数据库中获取检索输入的多模态多语义表示。

基于所获取的多模态数据库,可以生成与检索相关的特定数据的多模态实例集。在本公开的上下文中,针对特定数据所构建的多模态实例集也可被称为多模态实例包,其可包含从数据库中获取的可能与特定数据在语义上相关联的若干条目,或者数据项。特别地,取决于多模态数据库所包含的内容,例如,在特定数据为文本的情况下,基于多模态数据库可以获取与文本在语义上相关联的文本、图片、视频等等作为特定数据的多模态实例集。数据在语义上相关联可以包括但不限于这些数据具有或者属于相同语义。

特别地,在本公开的一些实施例中,构建检索相关的特定数据的多模态实例集包括从多模态数据库中获取与该特定数据语义相关联的特定数量的参考数据,并且基于所述特定数据和所述特定数量的参考数据构建所述多模态实例集。特别地,多模态实例集将包括特定数据和该特定数量的参考数据。特别地,特定数量可以被以各种方式适当地设定,例如可以根据使用者的经验而设定,或者可以考虑到运算效率、运算开销等被设定,或者考虑到运算开销和运算精度等的折中被设定。

在一些实施例中,可首先从多模态数据库中获取与该特定数据语义相关联的语义组,然后从所获取的语义组中选择特定数量的参考数据,由此构成多模态实例集。作为示例,可以对检索相关的特定数据,可以对其进行语音分析,可以获得该数据所涉及的至少一个语义特征/属性,然后可以选择与该至少一个语义特征/属性相对应的至少一个语义组,然后选择该至少一个语义组中所包含的数据来构建多模态实例集。例如,在图2C所示的超图中,在检索相关的特定数据对应于节点v3时,可以选择与该数据v3相关联的三个超边e1,e2,e3,然后选择各超边中的节点构建多模态实例集。

根据本公开的实施例,特定数量的参考数据可以包括与特定数据相关联的具有各种连接关系的数据,例如具有低阶连接的数据和高阶连接的数据。低阶连接可以是对应于直接连接,例如与特定数据节点直接连接的节点。高阶连接可对应于间接连接,例如与直接连接节点再连接的节点。作为示例,在与参考数据相关联的超边中所包含的数据尚未达到特定数量的情况下,可以进一步获取与超边中所包含的数据进一步关联的数据,这样的数据可被称为是间接连接节点或高阶连接节点。例如,在超边所包含的数据不足的情况下,可以首先选择与超边中距该特定数据最近的数据相关联的数据,如果数据仍不足,则进一步选择与超边中第二近数据相关联的数据,依次类推,直到得到预定数量的参考数据。

在一些实施例中,从多模态数据库中获取与该特定数据语义相关联的特定数量的参考数据包括:从所述多模态数据库中获取与特定数据的相近度由高到低的前特定数量的参考数据。

根据本公开的实施例,数据之间的关联性可以由各种适当的形式表示。在一些实施例中,可以由数据库中数据之间的相近度来表示,数据之间的相近度越高,则表示数据之间的关联度越高。特别地,作为示例,在多模态数据库可由超图表示的情况下,数据可在图中由节点表示,并且数据之间的关联性或相近度可由节点之间的距离指示,例如可以是节点之间的距离,或者可以进一步考虑节点的权重而得到的加权距离。

在一些实施例中,数据之间的相近度是基于数据的在多模态数据库中的特征表示来计算的。例如,在基于数据构建的多模态数据库为超图的形式下,可以得到在超图场景中获得数据的特征表示,然后可以通过基于数据的特征表示来计算数据之间的接近度。例如,可以计算特征表示之间的余弦相似度来表征数据之间的接近度。余弦相似度越大,则数据之间越接近。当然接近度也可通过其他方式来确定,例如基于特征表示的各种计算来确定,这里将不再详细描述。

作为示例,对于检索相关的特定数据,可以获得超图形式的多模态数据库中的与其接近的节点按照接近度从高到低进行排序,然后选取前特定数量个节点。当然,应指出,关联节点也可被以关联度从低到高的顺序排序,然后选择其中的倒数前特定数量的数据。

根据本公开的实施例,特别地,还可以对于多模态实例集进行进一步的优化,以便使得所得到的多模态实例集更加精确。

根据本公开的一些实施例中,构建检索相关的特定数据的多模态实例集进一步包括基于所述特定数量的参考数据之间的相似度来进行所述特定数量的参考数据的聚合。特别地,在一些实施例中,基于所述特定数量的数据中的相似度来进行所述特定数量的数据的聚合包括基于数据的特征表示确定数据之间的相似度,并且将相似度超过特定阈值的数据的特征进行组合。

在一些实施例中,数据之间的相似度可以为各种适当的形式。作为一个示例,数据的特征之间的余弦相似度来确定数据之间的相似度。这里的数据特征可以是数据在所构建的多模态数据库空间中(例如超图中)的特征表示,当然也可以是数据其它形式的特征表示。然后可在所确定的余弦相似度大于特定阈值的数据之间进行聚合,而小于特定阈值的数据可保持不变。阈值可以被设定为各种适当的值,例如可以根据经验设定。

在本公开的实施例中,聚合可通过各种适当方式来实现。在一些实施例中,两个数据的聚合可以包括将两个数据的特征进行统计计算,例如可以将数据的特征求和、加权和,或者进行拼接。例如,将可以进行聚合的数据或节点的特征进行拼接,从而每个数据或节点都包含拼接后的特征,即包含两个节点的特征。例如在两个节点可以进行聚合,每个节点的特征为N维向量的情况下,在聚合之后每个节点的特征可为2N维向量。数据特征的组合可以被各种适当的方式来实现,这里将不再详细描述。

这里,通过上述聚合处理,可以进一步优化数据的多模态实例集。特别地,在直接获取相关联的数据而得到的多模态实例集可能不足够合理,例如不冗余且语义均匀分布。特别是,少量的m个实例可能会导致多样性概念不足,而过多的m个实例可能会引入冗余和噪声。而通过聚合处理,可以进一步优化实例集中的数据/节点的特征,从而使得实例集中的语义均匀,且多样性更加适当。

一方面,本公开提出了构建多模态数据库,尤其是实现了超图,这样可以实现快速的知识图谱链接到具体数据集的方法,其基于超边可以使得任何不存在于图谱中的节点也能通过诸如属性相关语义等的语义链接到知识图谱,从而通过知识图谱进行子语义扩展,从而得到可解释、可控的多样性语义。而且,这样的知识图谱链接能够有效地解决数据集分布异构,特别地,现有知识图谱和检索数据集之间在数据分布上的语义差距,比如在检索输入可能没有存在于当前的知识图谱中,那么很难利用其进行子语义的扩展。而本公开构建的多模态知识图谱能够有效地实现子语义扩展。

另一方面,本公开提出了构建多模态实例集。特别地,对于特定数据,可以从所构建的多模态数据库中获取与特定数据相关联的特定数量的数据内容以构建多模态实例集,其体现了对于特定输入的子语义扩展,能够更好地构建和表征多样性。

还另一方面,本公开提出了对于多模态实例集进一步进行优化。特别地,可以对于多模态实例包中所包含的节点进一步进行优化,例如根据节点之间的相似度来执行节点之间的聚合,从而可以有效地优化多模态实例包中节点的分布,可以减少子语义之间的冗余,并且缩小图像和文本模态之间的语义差距。

与需要大量人工且流程繁琐的多阶段重排序方案相比,本公开的方案属于端对端的多样化策略,速度更快,性能更好。与隐式表示的多语义表征方案相比,本公开的方案实现了可解释、可控制的模型,更灵活,多样性效果更好。

根据本公开的实施例,所获取的多模态实例包可被以各种适当的方式应用于与数据检索相关的各种数据处理。与数据检索相关的各种数据处理可以包括但不限于数据检索模型训练、针对检索输入的数据检索等等。

根据本公开的实施例,所获取的多模态实例集可用于是针对检索输入来获取检索结果。特别地,可以基于所获取的多模态实例集,可以获得与检索输入相接近的数据来作为检索输出。

特别地,图2D示出了根据本公开的实施例的数据检索方法的流程图。方法210包括步骤S211,对于待检索输入,基于根据本公开的实施例中所描述的用于检索的数据处理方法来获取相对应的第一多模态实例集;在步骤S212,对于候选检索集中的每一个候选检索结果,基于根据本公开的实施例中所描述的用于检索的数据处理方法来获取相对应的第二多模态实例集;以及在步骤S213,基于第一多模态实例集与第二多模态实例集之间的相似度来确定特定数量的候选检索结果作为检索结果。

在一些实施例中,多模态实例集之间的相似度可以基于实例集中的实例/数据/节点之间的相似度来确定。例如,可以计算两个实例集中的实例之间的相似度,这可通过特征来计算,例如特征的余弦相似度,然后将实例集中的实例之间的相似度进行求和,来得到实例集之间的相似度。

根据本公开的实施例,所述特定数量的候选检索结果对应于与第一多模态实例集最相似的前特定数量的第二多模态实例集。这里,特定数量可以被预先设定,例如人工设定,或者考虑到计算开销、精确度等来设定。特别地,可以计算第一多模态实例集与多个第二多模态实例集中每一个的相似度,然后将按照相似度从高到低进行排序,从而可获取前特定数量的第二多模态实例集作为检索结果。

根据本公开的实施例,还可以基于所述的多模态数据实例集,来优化模型的结构。特别地,可以通过基于多模态数据实例集进行训练,从而通过训练过程来适应性地优化模型的参数。这样的模型可以是用于进行数据检索的模型。该模型可以为各种适当的模型,例如可以为对于特定检索输入从多模态数据库中获取检索结果的模型,例如可以为对于特定检索输入可获取检索输入与候选检索结果之间的相似性的模型等等。作为另一示例,检索模型的输入还可以是任何类型的数据,并且模型本身对于数据生成多模态实例集,然后基于所生成的多模态实例集来获取检索相关结果,例如检索集之间的相似性等等。这样的模型可以包含各种适当的模型,例如神经网络模型、深度学习模型等。

特别地,图2E示出了根据本公开的实施例的检索模型训练方法的流程图。该方法220可包括以下步骤。在步骤S221,对于第一训练样本,基于根据本公开的实施例中所描述的用于检索的数据处理方法来获取相对应的第一多模态实例集;在步骤S222,对于第二训练样本,基于根据本公开的实施例中所描述的用于检索的数据处理方法来获取相对应的第二多模态实例集;在步骤S223,利用第一多模态实例集与第二多模态实例集,基于损失函数执行检索模型训练。这里,第二训练样本可以是与第一训练样本不同类型的样本,例如第一训练样本可对应于文本样本,而第二训练样本可以是图像样本,或者文本与图像混合的样本。

根据本公开的实施例,损失函数可指示实例集中的正例对与负例对之间的语义距离。特别地,正例对可指示实例集相互一致,特别是语义一致,而负例对可指示实例集彼此不一致,特别是语义不相关。

根据本公开的实施例,损失函数可被以适当的设定。特别地,损失函数可以与数据的语义模式相关联,例如可以是与数据的语义模式相对应,尤其是用于构建多模态数据库的语义模式相对应,例如与上文所记载的超边相对应。在一些实施例中,所述损失函数与图匹配损失、实例损失、知识损失中的至少一者相关联。特别地,图匹配损失函数为指示文本实例集与图像实例集之间的一致性的损失函数,实例损失函数为指示实例语义是否一致的损失函数,知识损失函数为指示是否存在超边的损失函数。

由此,在模型训练过程中,可以基于适当的损失函数来执行训练。特别地,可以以损失函数最小化为目标来执行训练。

根据本公开的实施例,模型训练可迭代地执行。特别地,基于样本数据以及损失函数进行模型训练被迭代地执行,直到满足特定迭代终止条件。迭代终止条件可以为各种适当的模型训练终止条件,例如训练次数达到特定阈值,模型相关的性能指标(例如相似度,损失函数值等)满足特定性能阈值要求,在特定训练次数之后模型性能的变化小于特定变化范围等等,这里将不再详细描述。

根据本公开的实施例的数据处理、尤其是模型训练以及模型应用,可被以各种适当的方式来执行。在一些示例中,可以集中式处理,例如由单个处理设备或装置,诸如各种适当类型的服务器、处理器、图形处理单元(CPU)等来执行。在另一些示例中,可以分布式处理,例如可以在多个计算节点上分布式执行,所述计算节点中的至少一者包括各种适当类型的服务器、处理器、图形处理单元(CPU)等,并且分别在各计算节点上执行部分数据处理。

图3A示出了根据本公开的实施例的数据处理装置的框图。数据处理装置也可被称用于数据搜索的数据处理装置。装置300包括获取单元301,被配置为获取基于参考数据之间的语义关联性所构建的多模态数据库,以及构建单元302,被配置为基于所获取的多模态数据库,构建检索相关的特定数据的多模态实例集。

根据本公开的实施例,装置300还可包括多模态数据库构建单元,其可配置为基于通过对参考数据进行语义分析并按照分析出的语义特征将数据进行相关联而获得的共同语义组来构建多模态数据库。该多模态数据库构建单元可被包含在装置300内、但在获取单元301之外,或者也可被包含在获取单元301中。应指出,多模态数据库构建单元甚至还可位于装置300之外,并且将其构建的数据库提供装置300,例如装置300中的获取单元301。

在一些实施例中,该多模态数据库构建单元可被配置为对参考数据进行语义分析,按照分析出的语义特征将数据进行相关联以获得共同语义组,并且由共同语义组构成多模态数据库。

在一些实施例中,该多模态数据库构建单元可被配置为根据语义模式对参考数据进行聚类,将各类的参考数据进行语义分析,并基于分析出的语义特征进行归类,以获得该类下的共同语义组,以及由所获得的各类下的共同语义组构成多模态数据库。

在一些实施例中,构建单元302可被配置为从多模态数据库中获取与该特定数据语义相关联的特定数量的参考数据,并且基于所述特定数据和所述特定数量的参考数据构建所述多模态实例集。

在一些实施例中,构建单元302可进一步被配置为从多模态数据库中获取与该特定数据语义相关联的语义组,并且从所获取的语义组中选择特定数量的参考数据,作为与该特定数据语义相关联的特定数量的参考数据。

在一些实施例中,构建单元302可进一步被配置为从所述多模态数据库中获取与特定数据的相近度由高到低的前特定数量的参考数据,与该特定数据语义相关联的特定数量的参考数据。

在一些实施例中,构建单元302可被配置为基于所述特定数量的参考数据中的相似度来进行所述特定数量的参考数据的聚合,以由此构建多模态实例集。在此实施例中,作为示例,构建单元也可被称为聚合单元。

在一些实施例中,构建单元302可进一步被配置为基于数据的特征表示确定数据之间的相似度,并且将相似度超过特定阈值的数据的特征进行组合,以由此构建多模态实例集。

图3B示出了根据本公开的实施例的数据处理装置的框图。数据处理装置也可被称数据检索装置。装置310包括第一获取单元311,被配置为对于待检索输入,基于根据本公开的任一实施例所述的数据处理方法来获取相对应的第一多模态实例集,第二获取单元312,被配置为对于候选检索集中的每一个候选检索结果,基于根据本公开的任一实施例所述的数据处理方法来获取相对应的第二多模态实例集,以及确定单元313,被配置为基于第一多模态实例集与第二多模态实例集之间的相似度来确定特定数量的候选检索结果作为检索结果。

图3C示出了根据本公开的实施例的数据处理装置的框图。数据处理装置也可被称检索模型训练装置。装置320包括第一获取单元321,被配置为对于第一训练样本,基于根据本公开的任一实施例所述的数据处理方法来获取相对应的第一多模态实例集;第二获取单元322,被配置为对于第二训练样本,基于根据本公开的任一实施例所述的数据处理方法来获取相对应的第二多模态实例集;以及训练单元323,被配置为利用第一多模态实例集与第二多模态实例集,基于损失函数执行检索模型训练。

应指出,上述装置以及其所包含的各种单元所执行的操作或处理可如上文所述地执行,例如可如上文所述的相对步骤中的操作或处理那样执行,这里将不再详细描述。

应注意,上述各个单元仅是根据其所实现的具体功能划分的逻辑模块,而不是用于限制具体的实现方式,例如可以以软件、硬件或者软硬件结合的方式来实现。在实际实现时,上述各个单元可被实现为独立的物理实体,或者也可由单个实体(例如,处理器(CPU或DSP等)、集成电路等)来实现。此外,上述各个单元在附图中用虚线示出指示这些单元可以并不实际存在,而它们所实现的操作/功能可由处理电路本身来实现。特别地,依赖于根据本公开的实施例的处理实现,这些单元可以集中式地实现,或者分布式地实现。

此外,尽管未示出,该装置也可以包括存储器,其可以存储由装置、装置所包含的各个单元在操作中产生的各种信息、用于操作的程序和数据、将由通信单元发送的数据等。存储器可以是易失性存储器和/或非易失性存储器。例如,存储器可以包括但不限于随机存储存储器(RAM)、动态随机存储存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、闪存存储器。当然,存储器可也位于该装置之外。可选地,尽管未示出,但是该装置也可以包括通信单元,其可用于与其它装置进行通信。在一个示例中,通信单元可以被按照本领域已知的适当方式来实现,例如包括天线阵列和/或射频链路等通信部件,各种类型的接口、通信单元等等。这里将不再详细描述。此外,设备还可以包括未示出的其它部件,诸如射频链路、基带处理单元、网络接口、处理器、控制器等。这里将不再详细描述。

以下将参照附图来详细描述根据本公开的实施例的多模态检索数据处理的示例性过程。

图4A示出了根据本公开的实施例的检索方法的示意性算法流程,主要有以下步骤:1)对于现有的多模态知识和跨模态图像检索数据集进行快速链接,这主要基于超图的构建手法并构建得到超图。2)对于用户输入的查询文本,尝试在超图中扩展子语义。此时图像同样也可以利用超图进行概念扩展。3)多模态实例包将多个概念视为一个实例包,以展示某个实体所拥有的多个子概念。4)多模态聚合器尝试对实例包中的概念进行整合。5)最后计算图像实例包和文本实例包之间的相似度,相似度最高的一些图像将会被返回给用户。由于实例包中是多样性语义的表示,因此这些图像自然具有多样性语义。

图4B示出了根据本公开的实施例的检索相关处理的模型架构的框图。该模型架构可用于模型训练并且可包含四个组件:1)知识超图构建模块;2)多模态实例包模块;3)多样性概念聚合模块;4)模型训练模块。特别的,这些模块可以实现前文所述的根据本公开的实施例的检索相关处理,其中知识超图构建模块尝试快速链接多模态知识图谱和检索数据集;多模态实例包模块用多个子概念表示图像和文本以丰富多样性表示;多样性概念聚合模块用于整合概念、去除冗余;模型训练模块则设计了几种损失函数进行模型训练。

以下将具体描述根据本公开的实施例的模型架构的各模块的示例性实现。

在知识超图构建模块中,构建了知识超图以快速链接知识图谱和检索数据集。具体来说,我们设计了三种超边来方便和快速地得到相同语义模式的超边,分布为视觉超边构建、文本超边构建和属性超边构建。其中,视觉/文本超边构建会首先将多模态知识图谱和不同检索数据集中的所有图像和文本扁平化为视觉池和文本池,即忽略它们之间的关系。然后,将图像池和文本池分开聚类以捕获相同的语义模式,即同一聚类簇中的样本将共享一个超边。同时,具有相同属性的样本也应该共享一个属性超边缘(例如图像拍摄在同一个地点),它可以进一步丰富实体之间的关系。这三种超边将被添加进现有的知识图谱关系中。由此,通过这种简单而有效的方法便可以生成一个扩展的知识超图。通过这样的方法,一些就算不存在于知识图中的查询也可以很容易地通过语义或者属性被链接到图中,并且通过图中的高阶关系获得多个子语义。

图4C示出了根据本公开的实施例的示例性知识超图。其中(a)示出了对于例如来自各数据源的参考数据进行语义分析而获得它们之间关联性,实现语义扩展,(b)示出了根据不同的语义模式或者其它规则来构建超边,比如三个超边,(c)则示出了将超图的抽象化表示,例如用节点表示各类数据。

知识超图中的数据或节点X={x

X

其中O、D、B、P分别为超边的权重矩阵、节点的度矩阵、边的度矩阵和权重矩阵,上标-1/2指1/2次方、(l)则表示卷积的第l层。此处所使用的超图卷积可以是本领域中已知的,这里将不再详细描述,最终可以得到n个节点的特征表示。

在多模态实例包模块中,利用超图去显式地选择不同的实例来表示子语义。特别地,可以直接处理距离某个实体最近的m个高阶连接的节点作为子语义。由此,输入某个样本将被表示为一个由其自身和其他相关联实体组成的混合模态的实例集,既有文本又有图像。

应指出,混合模态的实例集的构建可用于扩展文本的语义,实现对于文本实例的多样性检索。但是,混合模态的实例集的构建也可用于图像,实现图像的语义扩展。特别地,当文本和图像都被建模为多语义表征时,语义之间的多对多关系将能被更充分的理解,即图像本身也对应着多种语义。最终,一个实例包可以被表示为B

多样性概念聚合模块主要旨在使得上述直接将最近的m个高阶节点视为子语义的粗糙扩展过程所得到的实例更合理,即不冗余且语义均匀分布。特别是,少量的m个实例可能会导致多样性概念不足,而过多的m个实例可能会引入冗余和噪声。

因此在多样性概念聚合模块中,可以使用一个多实例图来学习这些实例之间关系。具体来说,我们计算同一个实例包中两两实例特征之间的余弦相似度,当相似度超过某个阈值如0.4时,就认为两个实例之间存在关系,通过这种关系连接两个实例节点,例如将实例节点的特征进行拼接,最终形成一个实例图。然后使用消息传递机制优化示例特征。

其中“AGGREGATE”使用最大池化,即选择相似度最高的节点进行特征融合,融合的方式使用“CONCAT”即直接拼接自己和邻居节点的特征,其中W

在模型训练模块中,为了使上述的权重矩阵等参数得到充分训练,我们设计了多种损失函数模型进行约束,分为三种损失:图匹配损失、实例损失、知识损失。特别地,可以基于输入样本进行训练,输入样本可以分别是文本样本和图像样本,通过前述各模块而分别将文本样本和图像样本扩展为实例集,然后在文本样本实例集和图像样本实例集确定各种损失以用于进行训练。

图匹配损失指文本实例包

其中文本-图像语义一致的正例对为

实例损失和知识损失和图匹配损失类似,也是尝试区分正例对和负例对之间的语义距离。对于实例损失来说,正例对被定义为语义一致实例包中的实例

最终损失函数可以被定义为,当模型训练时,将使用以上多个损失函数训练网络参数使其收敛。

此外,检索相关处理的模型架构还可以对应于数据检索架构,其中除了知识超图构建模块、多模态实例包模块、多样性概念聚合模块之外,还可包括检索结果确定模块,其可基于待检索输入的多样性实例集和候选检索库中的每一候选检索的多样性实例集进行相似性确定,并且选择相似性最高的特定数量的候选检索作为检索结果。作为示例,待检索输入为输入文本,而候选检索库可包括检索图像数据库,这样,可以基于知识超图构建模块、多模态实例包模块、多样性概念聚合模块,分别为输入文本和检索图像数据库中每一图像生成多样性实例集,然后进行相似性确定。

本公开的一些实施例还提供一种电子设备,其可以操作以实现前述的模型预训练设备和/或模型训练设备的操作/功能。图5示出本公开的电子设备的一些实施例的框图。例如,在一些实施例中,电子设备5可以为各种类型的设备,例如可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。例如,电子设备5可以包括显示面板,以用于显示根据本公开的方案中所利用的数据和/或执行结果。例如,显示面板可以为各种形状,例如矩形面板、椭圆形面板或多边形面板等。另外,显示面板不仅可以为平面面板,也可以为曲面面板,甚至球面面板。

如图5所示,该实施例的电子设备5包括:存储器51以及耦接至该存储器51的处理器52。应当注意,图5所示的电子设备50的组件只是示例性的,而非限制性的,根据实际应用需要,该电子设备50还可以具有其他组件。处理器52可以控制电子设备5中的其它组件以执行期望的功能。

在一些实施例中,存储器51用于存储一个或多个计算机可读指令。处理器52用于运行计算机可读指令时,计算机可读指令被处理器52运行时实现根据上述任一实施例所述的方法。关于该方法的各个步骤的具体实现以及相关解释内容可以参见上述的实施例,重复之处在此不作赘述。

例如,处理器52和存储器51之间可以直接或间接地互相通信。例如,处理器52和存储器51可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器52和存储器51之间也可以通过系统总线实现相互通信,本公开对此不作限制。

例如,处理器52可以体现为各种适当的处理器、处理装置等,诸如中央处理器(CPU)、图形处理器(Graphics Processing Unit,GPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。例如,存储器51可以包括各种形式的计算机可读存储介质的任意组合,例如易失性存储器和/或非易失性存储器。存储器51例如可以包括系统存储器,系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。在存储介质中还可以存储各种应用程序和各种数据等。

另外,根据本公开的一些实施例,根据本公开的各种操作/处理在通过软件和/或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的计算机系统,例如图6所示的计算机系统600安装构成该软件的程序,该计算机系统在安装有各种程序时,能够执行各种功能,包括诸如前文所述的功能等等。图6是示出根据本公开的实施例的中可采用的计算机系统的示例结构的框图。

在图6中,中央处理单元(CPU)601根据只读存储器(ROM)602中存储的程序或从存储部分608加载到随机存取存储器(RAM)603的程序执行各种处理。在RAM 603中,也根据需要存储当CPU 601执行各种处理等时所需的数据。中央处理单元仅仅是示例性的,其也可以是其它类型的处理器,诸如前文所述的各种处理器。ROM 602、RAM603和存储部分608可以是各种形式的计算机可读存储介质,如下文所述。需要注意的是,虽然图6中分别示出了ROM602、RAM 603和存储装置608,但是它们中的一个或多个可以合并或者位于相同或不同的存储器或存储模块中。

CPU 601、ROM 602和RAM 603经由总线604彼此连接。输入/输出接口605也连接到总线604。

下述部件连接到输入/输出接口605:输入部分606,诸如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等;输出部分607,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD),扬声器,振动器等;存储部分608,包括硬盘,磁带等;和通信部分609,包括网络接口卡比如LAN卡、调制解调器等。通信部分609允许经由网络比如因特网执行通信处理。容易理解的是,虽然图6中示出电子设备600中的各个装置或模块是通过总线604来通信的,但它们也可以通过网络或其它方式进行通信,其中,网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。

根据需要,驱动器610也连接到输入/输出接口605。可拆卸介质611比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器610上,使得从中读出的计算机程序根据需要被安装到存储部分608中。

在通过软件实现上述系列处理的情况下,可以从网络比如因特网或存储介质比如可拆卸介质611安装构成软件的程序。

根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行根据本公开的实施例的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被CPU 601执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

在一些实施例中,还提供了一种计算机程序,包括:指令,指令当由处理器执行时使处理器执行上述任一个实施例的方法。例如,指令可以体现为计算机程序代码。

在本公开的实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(,包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块、部件或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块、部件或单元的名称在某种情况下并不构成对该模块、部件或单元本身的限定。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示例性的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

本公开可以以这里描述的任何形式实施,包括但不限于以下列举示例实施例,其描述了本发明实施例的一些部分的结构、特征和功能。

根据本公开的一些实施例,提供了一种数据处理方法,可包括获取基于参考数据之间的语义关联性所构建的多模态数据库,其中多模态数据库是基于通过对参考数据进行语义分析并按照分析出的语义特征将数据进行相关联而获得的共同语义组被构建的,以及基于所获取的多模态数据库,构建检索相关的特定数据的多模态实例集。

根据本公开的一些实施例,参考数据可得自参考知识图谱和参考检索数据集,并且可包括文本数据、图像数据、视频数据中的至少一者。根据本公开的一些实施例,多模态数据库可是基于参考知识图谱和参考检索数据集得到的多模态知识超图。

根据本公开的一些实施例,多模态数据库的构建可包括根据语义模式对参考数据进行聚类;将各类的参考数据进行语义分析,并基于分析出的语义特征进行归类,以获得该类下的共同语义组;以及由所获得的各类下的共同语义组构成多模态数据库。

根据本公开的一些实施例,语义模式可包括视觉相关语义模式、文本相关语义模式、属性相关语义模式中的至少一者。

根据本公开的一些实施例,构建检索相关的特定数据的多模态实例集可包括从多模态数据库中获取与该特定数据语义相关联的特定数量的参考数据,以及基于所述特定数据和所述特定数量的参考数据构建所述多模态实例集。

根据本公开的一些实施例,从多模态数据库中获取与该特定数据语义相关联的特定数量的参考数据可包括从多模态数据库中获取与该特定数据语义相关联的语义组,以及从所获取的语义组中选择特定数量的参考数据。

根据本公开的一些实施例,从多模态数据库中获取与该特定数据语义相关联的特定数量的参考数据可包括从所述多模态数据库中获取与特定数据的相近度由高到低的前特定数量的参考数据。

根据本公开的一些实施例,参考数据与特定数据的相近度可以是基于数据的在多模态数据库中的特征表示来计算的。

根据本公开的一些实施例,构建检索相关的特定数据的多模态实例集可进一步包括基于所述特定数量的参考数据中的相似度来进行所述特定数量的参考数据的聚合。

根据本公开的一些实施例,基于所述特定数量的数据中的相似度来进行所述特定数量的数据的聚合可包括基于数据的特征表示确定数据之间的相似度,并且将相似度超过特定阈值的数据的特征进行组合。

根据本公开的一些实施例,可基于所构建的检索相关的特定数据的多模态实例集执行检索模型训练和/或数据检索。

根据本公开的实施例,提供了一种数据检索方法,可包括对于待检索输入,基于根据本公开的任一实施例的数据处理方法来获取相对应的第一多模态实例集;对于候选检索集中的每一个候选检索结果,基于根据本公开的任一实施例的数据处理方法来获取相对应的第二多模态实例集;以及基于第一多模态实例集与第二多模态实例集之间的相似度来确定特定数量的候选检索结果来作为检索结果。

根据本公开的实施例,特定数量的候选检索结果可对应于与第一多模态实例集最相似的前特定数量的第二多模态实例集。

根据本公开的实施例,提供了一种检索模型训练方法,可包括对于第一训练样本,基于根据本公开的任一实施例的数据处理方法来获取相对应的第一多模态实例集;对于第二训练样本,基于根据本公开的任一实施例的数据处理方法来获取相对应的第二多模态实例集;以及利用第一多模态实例集与第二多模态实例集,基于损失函数执行检索模型训练。

根据本公开的实施例,损失函数可指示实例集中的正例对与负例对之前的语义距离。

根据本公开的实施例,损失函数可包括图匹配损失函数、实例损失函数、知识损失函数中的至少一者。

根据本公开的实施例,图匹配损失函数可为指示文本实例集与图像实例集之间的一致性的损失函数,实例损失函数可为指示实例语义是否一致的损失函数,并且知识损失函数可为指示是否存在超边的损失函数。

根据本公开的实施例,提供了一种数据处理装置,可包括获取单元,被配置为获取基于参考数据之间的语义关联性所构建的多模态数据库,以及构建单元,被配置为基于所获取的多模态数据库,构建检索相关的特定数据的多模态实例集。

根据本公开的实施例,提供了一种数据检索装置,包括:第一获取单元,被配置为对于待检索输入,基于根根据本公开的任一实施例的数据处理方法来获取相对应的第一多模态实例集;第二获取单元,被配置为对于候选检索集中的每一个候选检索结果,基于根据本公开的任一实施例的数据处理方法来获取相对应的第二多模态实例集;以及确定单元,被配置为基于第一多模态实例集与第二多模态实例集之间的相似度来确定特定数量的候选检索结果来作为检索结果。

根据本公开的实施例,提供了一种检索模型训练装置,包括:第一获取单元,被配置为对于第一训练样本,基于根据本公开的任一实施例的数据处理方法来获取相对应的第一多模态实例集;第二获取单元,被配置为对于第二训练样本,基于根据本公开的任一实施例的数据处理方法来获取相对应的第二多模态实例集;以及训练单元,被配置为利用第一多模态实例集与第二多模态实例集,基于损失函数执行检索模型训练。

根据本公开的实施例,提供了一种电子设备,可包括存储器;和耦接至所述存储器的处理器,所述存储器中存储有可执行指令,所述指令当由所述处理器执行时,使得所述电子设备执行根据本公开中任一实施例的方法。

根据本公开的又一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序由处理器执行时实现本公开中任一实施例所述的方法。

根据本公开的又一些实施例,提供计算机程序,包括:指令,指令当由处理器执行时使处理器执行本公开中任一实施例所述的方法。

根据本公开的一些实施例,提供一种计算机程序产品,包括指令,所述指令当由处理器执行时实现本公开中任一实施例所述的方法。

以上描述仅为本公开的一些实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

在本文提供的描述中,阐述了许多特定细节。然而,理解的是,可以在没有这些特定细节的情况下实施本发明的实施例。在其他情况下,为了不模糊该描述的理解,没有对众所周知的方法、结构和技术进行详细展示。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

技术分类

06120115939072