用于项关联的联合嵌入的制作方法

文档序号:6359435阅读:175来源:国知局
专利名称:用于项关联的联合嵌入的制作方法
技术领域
本发明的实施例涉及使存储在存储器中的各种类型的项相关联。
背景技术
诸如图像、音频记录、视频记录和文本的各种类型的项被数字存储并且可通过诸如因特网和万维网(“web”)的计算机网络和服务访问。在一些情况下,这些项可以基于它们的原始源或基于在它们中检测到的特定特征相互关联。例如,图像可以与该图像在其中出现的文章中的特定文本有关,具有相同或相似文本的文章可以相互有关,以及在其中检测到特定对象的图像可以与该对象的名称的文本表示有关。使与感兴趣的特定主题有关的各种类型的项相关联的能力,对于充分利用通过像因特网和web这样的事物可访问的海量信息存储是重要的。大量传统方法可用来将各种类型的项相互关联。传统方法可以基于语义内容来使项相关联。然而,传统方法没有足够扩展到利用通过web可获得的非常大量的数据。此外,传统方法可能没有充分确定在非常大的项集合中的各种项之间的所有有用语义关系。图像注释是基于使各种类型的项语义上相关联的应用。用于基于语义关系的图像注释的已知传统方法可能不能扩展到非常大的数据集,以及可能没有充分确定语义关系来通过这样的非常大的数据集获益。许多传统方法基于提取各种图像特征,然后为每一种图像类别,训练独立的简单分类器,诸如线性支持向量机(SVM)。为每一种图像类别训练独立的分类器对于较大数据集会是低效的。独立分类器的性能还会随着注释的数量而快速降级。替选的非参数传统方法是使用K-最近邻方法来从训练集选择在图像特征空间中与新的图像最近的图像,并且基于最近图像的注释来对该新的图像进行注释。然而,当训练数据集非常大时,以高准确度找到最近邻可能是极低效的。
其他传统方法包括为每一个训练图像将图像特征和相关联的文本标签相连结,然后概率性地使新的图像与训练图像相关。一些传统方法基于图像特征来使预先注释的训练图像聚类,然后基于在新的图像和训练图像集群中的一个或多个的特征之间的相似性来为新的图像确定注释。例如,用于新的图像的注释可以是来自最近训练图像集群的注释。主要基于手动注释的图像来创建新的图像注释可能不能扩展到非常大的数据集。并且,例如,由于当一个关系的概率被改变时,必须重新校准大量其他关系的概率,所以概率性方法对于较大数据集会是极低效的。

发明内容
公开了使用联合嵌入空间来使多个项类型的语义上相关的项相关联的方法和系统。所公开的方法和系统可扩展到较大、web-规模训练数据集。根据实施例,用于使多个项类型的语义上相关的项相关联的方法包括将多个项类型的训练项嵌入在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中;为项类型中的每一个学习到联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射;以及基于在训练的联合嵌入空间中从第一项到每一个所述相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与第一项相关联。可以被嵌入联合嵌入空间中的示例性项类型包括图像、注释、音频和视频。在实施例中,该方法可以进一步包括在通过为多个项类型中的第一项类型应用学习的映射来确定的第一位置处嵌入第一项;以及基于一个或多个相关联的嵌入的训练项来对第一项进行注释。根据另一个实施例,用于使多个项类型的语义上相关的项相关联的系统包括处理器;耦接到处理器的存储器;联合嵌入空间配置器;映射器;以及项关联器。联合嵌入空间配置器被配置成将多个项类型的训练项嵌入在存储器中的联合嵌入空间中。映射器被配置成为项类型中的每一个学习到联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射。项关联器被配置成基于在训练的联合嵌入空间中从第一项到每一个所述相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与第一项相关联。又一个实施例是存储指令的计算机可读介质,其中所述指令当被执行时促使至少 一个处理器使用方法来使多个项类型的语义上相关的项相关联。该方法包括将多个项类型的训练项嵌入在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中;为项类型中的每一个学习到联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射;以及基于在训练的联合嵌入空间中从第一项到每一个所述相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与第一项相关联。用于对查询作出响应的方法的实施例包括接收查询;确定在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中的位置,其中在嵌入在联合嵌入空间中的第一项和第二项之间的距离对应于在第一和第二项之间的语义关系;基于嵌入在联合嵌入空间中的与该位置最近的一个或多个项来识别一个或多个结果;以及返回该一个或多个结果作为对查询的响应。多个项类型的项被嵌入在联合嵌入空间中。查询的方法包括将查询传送给服务器;以及从服务器接收响应,其中响应由服务器通过识别联合嵌入空间中的对应于查询的位置、以及通过识别与所识别的位置最近的一个或多个结果项来形成。服务器包括被配置在耦接到至少一个处理器的存储器中的联合嵌入空间,其中在嵌入在联合嵌入空间中的第一项和第二项之间的距离对应于在第一项和第二项之间的语义关系,以及其中多个项类型的项被嵌入在联合嵌入空间中。在下面参考附图详细描述了本发明的进一步特征和优势以及其各种实施例的结构和操作。


将参考本发明的实施例,其示例可以在附图中被图示。这些附图意在是说明性而非限制性的。尽管在这些实施例的情景下一般地描述了本发明,然而,应当理解的是,并不意在将本发明的范围限制到这些特定实施例。图I图示根据实施例的用于使多个项类型的语义上相关的项相关联的系统。图2图示根据实施例的用于使多个项类型的语义上相关的项相关联的方法。图3图示根据实施例的用于配置联合嵌入空间的方法。
图4图示根据实施例的用于学习到联合嵌入空间的一个或多个映射的方法。图5图示根据实施例的用于选择在联合嵌入空间中的嵌入项三元组的方法。图6图示根据实施例的用于使多个项类型的语义上相关的项相关联的方法。图7图示根据实施例的用于使多个音乐相关项类型的语义上相关的项相关联的系统的组件。图8图示根据实施例的客户端-服务器环境。图9图示根据实施例的为查询服务的方法。
具体实施方式
虽然在本文中参考用于特定应用的说明性实施例描述了本发明,但是应当理解的是,本发明并不限于此。本领域技术人员通过使用在本文中的教导将认识到在本发明的范围内的另外修改、应用和实施例以及本发明在其中将有重大功用的另外领域。综述期望的是,利用非常大的各种类型的项的集合来基于语义内容找到项之间的关系。例如,对于新的图像,基于较大项集合中的关系的注释可以比基于较小项集合的注释更具描述性。因此,用于使可扩展到非常大的信息集合并且考虑项之间的多种关系的项语义上相关联的方法和系统是期望的。本发明的实施例包括方法和系统,其利用在训练数据集中可获得的各种数据类型的项之间的一系列关系,以确定在训练数据集的项和一个或多个其他训练项或新嵌入项之间的关联(也被称为“关系”)。本发明的实施例可扩展到较大训练数据项语料库,诸如可以通过web收集的那些。例如,存储在经由web可访问的资源中的图像、音频、视频和文本使得能够创建具有潜在无限数量的训练数据记录的非常大的训练数据集。对于诸如图像注释、图像检索、基于内容的数据检索等的许多目的,用于确定在各种项之间的关联的可扩展和高效方法是有用的。为了简洁和便利,在下面主要使用图像注释的应用来描述了本发明的实施例。然而,应当理解的是,利用项之间的关系的其他应用预期在本发明的实施例的范围内。例如,可以将在图像项和注释项之间的发现的关联用于其他应用,诸如首频和视频注释、图像检索、基于语义内容的对音频和视频的检索等。本发明的实施例扩展到非常大的训练数据库。另外,本发明的实施例不需要手动注释的图像作为训练数据,以及可以利用带有相当大噪音的注释。本发明的实施例对非常大的训练语料库的使用受助于利用嘈杂注释的能力。例如,本发明的实施例可以基于来自使用谷歌的图像搜索服务来执行的用户查询的点击数据来生成训练数据。本发明的实施例的可扩展性还使得能够通过在新的训练信息变得可获得时并入新的训练信息来高效不断改进系统。在本文档中,“注释”是文本注释以及可以包括一个或多个关键词、查询、句子或其他文本内容。此外,通过将所有项类型嵌入联合嵌入空间中,本发明的实施例创建基于各个项的相对语义内容的关联。如在本文中所使用的,“联合嵌入空间”是多维嵌入空间,其中可以嵌入多个类型的项,诸如但不限于图像、注释、音频和/或视频,使得它们的位置反映它们的基于附近的嵌入项的语义内容。并且,将不同类型的项独立地嵌入联合嵌入空间中使得能够进行在项之间的更灵活的组合。例如,在本发明的实施例中,可以不管注释所基于的训练数据的任何特性,将新的图像与注释相关联。用于使项语义上相关联的系统图I图示根据本发明的实施例的用来使多个项类型的项相关联的系统100。系统100被配置成将图像项与注释项相关联来对图像自动进行注释。本发明的其他实施例可以被配置成建立在项类型的项之间的关联,所述项类型诸如但不限于视频、音频、图像和注释。系统100包括至少一个处理器102、存储器104、存储106、网络接口 108、用户输入/输出设备110、通信基础设施112、训练数据库114以及联合嵌入空间模块130。系统100可以在服务器计算机、与通信网络互连的一个或多个计算机、服务器群、云计算平台等上实现。处理器102包括一个或多个处理器,其被配置成执行诸如联合嵌入空间模块130的应用。存储器104可以包括单个存储器或位于一个或多个计算机中的多个互连的存储器。在 实施例中,存储器104包括动态随机存取存储器(DRAM)。存储106包括一个或多个互连的非易失性计算机可读介质,以及可以包括硬盘、闪存、光存储设备等。网络接口 108包括到系统100可以连接到的任何类型的网络的接口,所述任何类型的网络诸如但不限于以太网和无线局域网(LAN)。用户输入/输出设备110包括到以下中的一个或多个的接口 键盘、鼠标和显示设备,通过其,诸如人类操作员的用户或应用可以控制系统100的操作和/或显示来自系统100的输出。通信基础设施112可以包括一个或多个通信总线,诸如但不限于系统总线、外围组件互连(PCI)总线、通用串行总线(USB)、火线或以太网。通信基础设施112提供互连装置来通信地耦接系统100的组件。训练数据库114包括各种项类型的训练项的集合。如在本文档中所使用的,术语“数据库”暗指任何数据集合和访问数据集合的方法,并且不必暗指商用数据库管理系统(DBMS)。根据实施例,训练数据库114包括已知图像数据库116、已知注释数据库118和已知关系数据库120中的一个或多个。训练数据库114可以是任何大小的。在训练数据库非常大,即,带有数百万训练项或更多的web-规模的情况下,相对于传统方法,本发明的实施例可以尤其有利。训练数据库114可以包括直接连接到系统100的单个数据库或通信地耦接到系统100的分布式数据库。在一个实施例中,训练数据库驻存于存储114中。在另一个实施例中,训练数据库驻存于通过例如网络接口 108通信地耦接到系统100的一个或多个远程计算机中。在又一个实施例中,训练数据库114可以内部驻存到系统100以及驻存于远程计算机中。根据实施例,训练数据库114包括提交给来自谷歌公司的基于web的图像搜索服务的查询,以及关于响应于那些查询而返回的图像的信息。例如,可以将每一个查询存储在已知注释数据库118中,以及将响应于查询而返回的图像序列或图像集存储在已知图像数据库116中。关于每一个查询,还可以存储每一个图像被用户点击的次数(“查询点击数据”)。在实施例中,对于存储在已知图像数据库116中的每一个图像,可以将如下的一个或多个查询存储在已知注释数据库118中基于所述一个或多个查询,最大数量的用户选择或点击了该图像。已知关系数据库120包括在训练数据库中的项之间的关系。在实施例中,已知关系数据库120包括在已知图像数据库116中的训练图像和已知注释数据库118中的训练注释之间的关系、在两个或更多个训练图像之间的关系、以及在两个或更多个训练注释之间的关系。可以使用许多另外的方法来生成训练数据。为图像注释获得训练数据的其他手段包括但不限于对图像的手动注释以及收集被用户预先注释的图像。存储器104包括多维联合嵌入空间150。根据实施例,联合嵌入空间150的每一个维度由实值轴定义。联合嵌入空间意在将语义上相关的项自动安置在相互接近的地方。在联合嵌入空间内,将语义上相似的项自动安置在相互接近的地方,而不考虑每一个项的类型。在实施例中,项X在联合嵌入空间中的位置可以被指定为〈x” X2, ...,xD>,其中Xi i =I... D是指定项X在D维的联合嵌入空间中的维度i中的位置的实数。增加联合嵌入空间150的维度通常提高在嵌入项之间的关联的准确度。高维度联合嵌入空间可以表示较大训练数据库,诸如从web可访问的源获得的训练数据库,具有比低维联合嵌入空间高的准确度。然而,较高维度还增加计算复杂度。因此,可以基于诸如以下的因素来确定维数可获得的训练数据库的大小、所需准确度水平以及计算时间。基于实值轴来定义联合嵌入空间150增加了关联的准确度水平,因为可以维持基本上连续的映射空间。存储器104还可以包括与嵌入在联合嵌入空间150中的各个项相对应的多个项向量154,以及将项类型中的每一个映射到联合嵌入空间150的多个映射152。
联合嵌入空间模块130包括以下功能创建联合嵌入空间150、为一个或多个项类型学习到联合嵌入空间150的映射、确定从新嵌入项到已嵌入在联合嵌入空间150中的训练项的关联。联合嵌入空间模块130的逻辑指令可以以软件、固件、硬件或使用其组合来实现。根据实施例,联合嵌入空间模块130包括用于以下的逻辑指令使用联合嵌入空间150来对图像自动进行注释;以及使用在已知图像数据库116、已知注释数据库118和已知关系数据库120中的训练数据来学习到联合嵌入空间150的映射或图像和注释。在实施例中,联合嵌入空间模块130包括训练数据收集器132、注释分析器134、图像分析器136、注释器138、联合嵌入空间配置器140、映射器142、新图像嵌入器144、项关联器146以及语义查询模块148。训练数据收集器132包括获得例如可以被存储在训练数据库114中的训练数据的功能。例如,在实施例中,训练数据收集器132可以收集并处理图像查询数据,其包括查询、响应于每一个查询而返回的图像响应集、以及在每一个响应集中,用户所点击的图像。然后,可以对所获得的数据进行处理来存储图像,以及对于每一个图像,如响应于对应的查询而点击了该图像的用户的数量所指示的、该图像与之有关的一个或多个查询。可以将图像存储在已知图像数据库116中,以及可以将查询存储在已知注释数据库118中。在实施例中,可以将在已存储的图像和已存储的注释之间的已知关系存储在已知关系数据库120中。在一些实施例中,例如通过将关于同一查询被点击的图像认为是相关的,还可以使用查询点击数据来确定图像之间的关系。并且,在一些实施例中,例如通过将频繁一起出现的词或词语认为是相关的,可以确定在一个或多个已存储的注释之间的关系。在各种实施例中,训练数据收集器132还可以获得手动注释的图像和/或其他预先注释的图像。其他获取训练数据的手段,诸如通过web爬取来直接获得注释的图像或并入预先准备的注释的数据集合,是可能的,以及预期在本发明的实施例的范围内。注释分析器134包括分析并处理注释的功能。在实施例中,注释分析器134包括对用作训练注释的注释进行处理的功能。例如,注释分析器134可以对诸如存储在已知注释数据库118中的查询的查询进行处理来改正打字错误、校正拼写错误、对关键词序列统一排序、从一种语言翻译成另一种以及类似目的。在各种实施例中,可以将每一个注释表示为字符串、关键词向量或类似方式。图像分析器136包括例如通过提取图像特征来对图像进行分析的功能。图像特征可以包括但不限于以下中的一个或多个边、角、脊、兴趣点和颜色直方图。特征提取可以基于一个或多个已知方法,诸如但不限于尺度不变特征变换(SIFT)和主成分分析(PCA)。在实施例中,图像由非常稀疏的特征向量表示。首先,以各种尺度将每一个图像分割成若干重叠方块。然后,每一个块由颜色和边特征的连结表示。然后,使用先前训练的典型的这样的块的词典来将每一个图像表示为视觉词袋、或每一个词典视觉词在图像中出现的次数的直方图,产生具有平均超过200个非零值的向量。在Grangier,D.和Bengio,S.的 “A discriminative kernel-based model to rank images from text queries”,Transactions on Pattern Analysis and Machine Intelligence,vol.30,Issue8,2008, pp. 1371-1384中描述了图像的示例表示。
注释器138包括为新的图像构建注释的功能。例如,在实施例中,注释器138基于在联合嵌入空间150中与新嵌入的图像最近的一个或多个注释来为该新嵌入的图像构建注释。联合嵌入空间配置器140包括创建训练项并且将训练项嵌入在联合嵌入空间150中的功能。例如,在实施例中,联合嵌入空间配置器140将来自训练数据库114的图像和注释嵌入在联合嵌入空间中。可以将来自已知图像数据库116的训练图像和来自已知注释数据库118的训练注释嵌入在联合嵌入空间150中。映射器142包括为每一个项类型学习到联合嵌入空间150的一个或多个映射152的功能。映射152指定每一个项向量154如何被安置在联合嵌入空间150中。在实施例中,映射器142被配置成学习从图像空间和注释空间到联合嵌入空间150的映射。例如,通过基于嵌入在联合嵌入空间150中的训练图像和注释的学习过程,映射器142确定从图像空间到联合嵌入空间150的映射函数,以及还确定注释到联合嵌入空间150的映射。在实施例中,定义待为每一个图像确定的图像特征集,以及将每一个图像表示为那些图像特征的向量。用于图像的映射函数可以指定从图像特征向量到联合嵌入空间的映射。在本发明的各种实施例中,映射函数可以是线性或非线性的。新图像嵌入器144包括基于学习的映射将图像嵌入在联合嵌入空间150中的功能。例如,新图像嵌入器144可以基于使用映射器142学习的映射函数,确定新图像待被嵌入的位置。在实施例中,新图像嵌入器144确定新图像的特征集,并且使用从该特征集到联合嵌入空间150中的位置的映射。项关联器146包括确定在联合嵌入空间150中在新嵌入的项和已嵌入的项之间的关联的功能。在实施例中,项关联器146确定在联合嵌入空间150中在新嵌入的图像和一个或多个注释之间的关系。例如,项关联器146可以确定与新嵌入的图像最近的注释的排名列表。注释器138可以基于项关联器146所确定的注释的排名列表来对新嵌入的图像进行注释。语义查询模块140包括对联合嵌入空间150中的关联进行分析以输出与另一个指定项相关联的任何项类型的一个或多个项的功能。例如,语义查询模块148可以通过识别联合嵌入空间150中的特定查询词语,然后识别与该查询词语相关联的所有图像,来输出与该特定查询词语相关联的所有图像。用于使项语义上相关联的方法图2图示根据本发明的实施例的用于使多个项类型的语义上相关的项相互关联的方法200 (步骤202-210)。根据实施例,可以使用关联来对新的项进行注释。在步骤202,配置联合嵌入空间。在实施例中,步骤202可以由联合嵌入空间配置器140在存储器104中创建联合嵌入空间150来实现。可以预先确定联合嵌入空间的维数。如上所述,可以基于一个或多个因素来确定维数,所述一个或多个因素诸如但不限于所需准确度、可获得的计算资源以及训练数据库的大小。联合嵌入空间的每一个维度可 以由实值轴来定义。根据实施例,联合嵌入空间被配置成嵌入包括图像和对应注释的数据项。例如,在实施例中,可以使用预先注释的图像的语料库来获取训练图像和对应的训练注释。在另一个实施例中,如上所述,可以将来自基于web的图像搜索服务的查询点击数据用作训练图像和训练注释。在下面参考图3更详细地描述了对联合嵌入空间进行配置。在步骤204,学习将每一个类型的项映射到联合嵌入空间的映射函数。根据实施例,该学习过程迭代地选择嵌入的训练项集,并且确定在各个选择的项之间基于其在联合嵌入空间中的当前位置的距离是否对应于在其之间的已知关系。例如,考虑嵌入的训练图像、其对应的嵌入的训练注释和无关的嵌入的训练注释。然后,如果其在联合嵌入空间中的当前位置是这样的从该图像到对应的注释的距离小于从该图像到无关的注释的距离并且至少预先确定的裕度,则所述项可以被认为是已与所选择的关系一致地被安置,因此,不需要对映射或其当前位置进行改变。否则,对项的映射和位置进行调整,以使其相对于彼此的位置被改进。另外,对任何项在联合嵌入空间中的位置进行调整可以由于当前映射函数的改变而触发对映射函数的调整和/或对其他项的位置的调整。例如,对嵌入的注释的位置的改变可以改变从图像空间到联合嵌入空间的当前映射函数以维持图像相对于注释的位置的
一致性。可以基于预先确定的终止标准,诸如当在没有如例如对项的位置的调整的相对幅度所确定的对映射的实质改变的情况下,发生学习的预先确定数量的迭代时,结束是迭代的学习过程。在学习过程结束时,项在联合嵌入空间中的位置反映在项之间的语义关系。在一些实施例中,例如,通过嵌入新的训练数据或通过对终止标准进行调整来允许学习过程继续以精化联合嵌入空间和学习的映射,可以视需要间或执行学习过程(步骤204)来递增地改进联合嵌入空间和学习的映射。并且,在学习过程结束时,映射函数可以被认为是稳定的。取决于项的类型,映射函数可以在形式上不同。在实施例中,用于图像的映射函数用来将基于其特征的任何图像映射到联合嵌入空间,而每一个注释被独特地映射。在下面,在语境上不清楚时,术语“训练的联合嵌入空间”用来指在已执行学习过程之后的联合嵌入空间。在下面参考图4-5进一步描述了学习过程204。在步骤206,将新的项嵌入联合嵌入空间。根据实施例,在嵌入新的项之前,完成训练数据的嵌入,以及完成针对映射的学习过程。将新的项嵌入在训练的联合嵌入空间中的基于用于对应的项类型的学习的映射函数而确定的位置中。在实施例中,可以将新的图像嵌入在训练的联合嵌入空间中的基于用于图像的学习的映射函数而确定的位置中。计算新的图像的预先确定的特征集,以及将学习的图像映射函数应用到计算的特征集来确定在联合嵌入空间中的嵌入位置。在上面参考图I描述了图像特征向量和注释表示。在步骤208,确定在新嵌入的项和先前嵌入的项之间的一个或多个关联。在实施例中,确定在新嵌入的图像和先前嵌入的注释之间的关联。关联基于从新嵌入的项的位置到相应先前嵌入的项的位置的距离,诸如欧几里得距离。可以使用使用与新的图像具有关联的注释的各种方法。在一个实施例中,可以考虑在距新的图像的预先定义的阈值距离内的所有注释。在另一个实施例中,考虑具有距新的图像最短距离的注释。在步骤210,基于在步骤208中确定的关联来对新嵌入的项进行注释。在一个实施例中,基于与新嵌入的图像最近的注释来对该图像进行注释。在另一个实施例中,可以基于在距新嵌入的图像预先确定的距离内的所有注释来对该图像进行注释。在又一个实施 例中,在距新嵌入的图像预先确定的距离内的一个或多个注释可以被组合并且被进一步处理,以创建待被分配给新嵌入的图像的注释。配置联合嵌入空间图3图示根据本发明的实施例的用于配置联合嵌入空间的方法(步骤302-308)。例如,在实施例中,步骤302-308执行步骤202的处理。在步骤302,在存储器中创建联合嵌入空间。在实施例中,可以定义XXD大小的阵列或矩阵,其中X是待被嵌入的训练项的数量,以及D是联合嵌入空间的维数。其他结构对于在存储器中的联合嵌入空间的表示是可能的,以及预期在实施例的范围内。本领域技术人员将理解的是,联合嵌入空间可以分布在易失性存储器和诸如虚拟存储器的其他存储器资源之间。如上所述,将基于各种因素来确定联合嵌入空间的维度。并且,如上根据实施例所描述的,可以基于为每一个维度定义的实值轴来确定联合嵌入空间中的位置。在步骤304,为嵌入在联合嵌入空间中的每一个项类型初始化映射函数。根据为图像和注释配置联合嵌入空间的实施例,初始化从图像空间到联合嵌入空间的一个映射函数,以及为每一个嵌入的注释初始化独立映射函数。用于图像的映射函数基于预先确定的特征集,因此可以被应用到任何新的图像。在实施例中,用于图像的映射被指定为线性映射,并且可以被表示为矩阵。用于每一个注释的映射对该映射是特有的,并且不能被推广到其他注释。在实施例中,用于每一个注释的映射线性地将该注释映射到联合嵌入空间中的位置。根据实施例,步骤306和308分别包括训练注释和训练图像的嵌入。包括训练注释和训练图像的训练数据可以例如来自训练数据库114。在上面参考图I描述了训练数据。在实施例中,训练数据包括来自谷歌图像搜索服务的查询点击数据。训练图像包括响应于图像搜索查询而返回的图像,其中到图像的链接或缩略图被点击。训练注释包括输入到图像搜索的查询。在步骤306和308,可以将训练注释和训练图像嵌入在联合嵌入空间中。根据实施例,将项嵌入在联合嵌入空间中可以通过将位置分配给该项来执行。根据实施例,初始映射是随机的,因此,用于每一个项的初始位置是随机的。根据实施例,用于所有图像的线性映射和用于第i注释的线性映射分别如在下面(I)和(2)中所示的被指定。O1(X) =Vx (I)
Ow(I)=Wi (2)其中x是图像特征向量,V是矩阵,其中初始值可以是随机的,以及Wi索引Y X D矩阵的第i列。Y是注释数,以及D是联合嵌入空间中的维数。在下面描述的随后训练过程意在精化每一个图像和注释的位置,使得项被嵌入在训练的联合嵌入空间中的最终位置反映该项的关于位于附近的其他项的语义内容。训练和学习到联合嵌入空间的映射图4图示根据本发明的实施例的学习的方法(步骤402-408)。在实施例中,步骤204的处理可以通过步骤402-408来执行。步骤402-408图示可以基于非常大的训练集的相对较小的样本来可扩展地训练联合嵌入空间和为每一个项类型学习映射的随机过程。迭代地执行步骤402-408,直到满足预先确定的终止标准。在步骤402,选择项三元组,使得在三元组的第一项对之间的关系的强度大于在第二对之间的关系的强度。在实施例中,选择具有一个嵌入的图像和两个嵌入的注释或两个嵌入的图像和一个嵌入的注释的项三元组,其中已知至少一个项对比另一个项对更强相关。例如,三元组可以是图像、与该图像有关的注释以及与该图像无关的注释。在该三元组中,相关对包括该图像和相关注释,以及无关对包括该图像和无关注释。可以例如基于在已知关系数据库120中可获得的信息来选择三元组。在其他实施例中,可以选择不同的项组
口 o在步骤404,确定在联合嵌入空间中的已知相关对之间的距离和无关对之间的距离,并且将所述距离与在三元组的第一和第二对之间的关系的相对强度进行比较。如果在联合嵌入空间中的三元组的每一对中的项之间的距离与已知关系一致,则不需要对映射和联合嵌入空间进行改变,并且处理可以直接前进到步骤406。然而,如果在联合嵌入空间中的三元组的每一对中的项之间的距离与已知关系不一致,则处理前进到步骤406。例如,可以确定相关对之间的距离是否大于无关对之间的距离达预先确定的安全裕度。在实施例中,距离是欧几里得距离。在步骤406,对联合嵌入空间中的所选择的项中的一个或多个的映射和/或位置进行调整,以使在所选择的项之间的相对距离遵循在所选择的项三元组之间的已知关系的相对强度。例如,如果如上所述,由图像、相关注释和无关注释组成的三元组被选择,则可以对该三元组中的任何或所有项的位置进行改变以遵循那些已知关系。可以将位置改变成使相关对之间的距离小于无关对之间的距离加上可以被预先确定的安全裕度。在实施例中,基于梯度下降技术来确定所选择的项的位置的改变。使用梯度下降技术以及尤其随机梯度技术来基于非常大的训练数据集的相对较小的样本来高效地训练联合嵌入空间。如下所述,在实施例中,使用随机梯度下降,来优化成本函数以扩展到非常大的数据集。Usunier, N. >Buffoni, D.和 Gallinari,P.的“Ranking with ordered weighted pairwiseclassification,,, Proceedings of the 26th International Conference on MachineLearning, 2009描述了示例成本函数。在应用梯度下降对所选择的三元组的项的位置作出的调整可以基于项的当前位置以及一个或多个因素,诸如但不限于项相对于彼此的排名、期望的准确度水平以及期望的收敛速度。在示例性实施例中,用于三元组的项的新位置通过以下来确定基于相关配对的排名来将其当前位置调整一距离量。关于所选择的三元组中的第一项,例如图像,相关注释的“排名”是指相关注释在按照距该图像最小到最大距离的顺序安排的所有注释序列中的位置。训练过程的目标是对联合嵌入空间中的项进行调整,使得最相关的注释与图像最近,即,具有关于该图像的最高排名。在实施例中,项X的排名可以在(3)中被定义为
权利要求
1.一种用于使多个项类型的语义上相关的项相关联的方法,包括 (a)将所述多个项类型的训练项嵌入在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中; (b)为所述项类型中的每一个学习到所述联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射;以及 (C)基于在所述训练的联合嵌入空间中从第一项到每一个相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与所述第一项相关联。
2.根据权利要求I所述的方法,进一步包括 (d)在所述训练的联合嵌入空间中,在通过为所述多个项类型中的第一项类型应用所述一个或多个学习的映射来确定的第一位置处嵌入所述第一项。
3.根据权利要求2所述的方法,进一步包括 (e)基于所述一个或多个相关联的嵌入的训练项来对所述第一项进行注释。
4.根据权利要求2所述的方法,其中所述学习步骤(b)包括 (i)从所述嵌入的训练项选择第二项、第三项和第四项,其中所述第二项和所述第三项相关,以及其中所述第二项和所述第四项不相关; (ii)确定第一距离小于第二距离,其中所述第一距离是在所述联合嵌入空间中在所述第二项和所述第三项之间的距离,以及其中所述第二距离是在所述联合嵌入空间中在所述第二项和所述第四项之间的距离;以及 (iii)基于所述确定来调整所述一个或多个学习的映射。
5.根据权利要求4所述的方法,其中所述调整步骤(iii)进一步包括 改变所述第二、第三和第四项中的至少一个在所述联合嵌入空间中的位置。
6.根据权利要求5所述的方法,其中所述改变位置步骤包括 在所述联合嵌入空间中对所述第二、第三或第四项中的至少一个进行移动,使得在所述第二和第三项之间的距离小于从所述第二项到所述第四项的距离。
7.根据权利要求6所述的方法,其中所述移动基于随机梯度下降技术。
8.根据权利要求4所述的方法,其中所述调整基于随机梯度下降技术。
9.根据权利要求4所述的方法,其中所述选择步骤(i)包括 迭代地选择项作为所述第四项,直到从所述第二项到所选择的项的距离小于在所述第二和第三项之间的距离;以及 基于选择所述第四项所需的迭代数来估计所述第三项关于所述第二项的排名。
10.根据权利要求9所述的方法,其中所述改变位置步骤包括 在所述联合嵌入空间中对所述第二、第三或第四项中的至少一个进行移动,使得在所述第二和第三项之间的距离小于从所述第二项到所述第四项的距离。
11.根据权利要求10所述的方法,其中所述移动基于根据所估计的排名赋予权重的随机梯度下降技术。
12.根据权利要求4所述的方法,其中所述学习步骤(b)进一步包括 (iv)重复至少步骤(i)_(iii),直到满足预先确定的终止标准。
13.根据权利要求4所述的方法,其中所述学习步骤(b)进一步包括 为所述第一项类型的所有项学习第一映射函数;以及为第二项类型的多个项中的每一个学习相应的映射函数。
14.根据权利要求I所述的方法,进一步包括 在所述训练的联合嵌入空间中识别查询对象,其中所述查询对象是嵌入的训练项; 将位于所述查询对象的预先确定的距离内的一个或多个训练的嵌入项确定为结果项;以及 输出所述结果项。
15.一种用于使多个项类型的语义上相关的项相关联的系统,包括 至少一个处理器; 耦接到所述至少一个处理器的存储器; 联合嵌入空间配置器,其被配置成将所述多个项类型的训练项嵌入在所述存储器中的联合嵌入空间中; 映射器,其被配置成为所述项类型中的每一个学习到所述联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射;以及 项关联器,其被配置成基于在所述训练的联合嵌入空间中从第一项到每一个相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与所述第一项相关联。
16.根据权利要求15所述的系统,进一步包括 新项嵌入器,其被配置成将第一项嵌入在所述联合嵌入空间中的第一位置处,所述第一位置通过为所述多个项类型中的第一项类型应用学习的映射来确定。
17.根据权利要求16所述的系统,进一步包括 注释器,其被配置成基于所述一个或多个相关联的嵌入的训练项对所述第一项进行注释。
18.根据权利要求16所述的系统,其中所述映射器被进一步配置成使用随机梯度技术为一个或多个项类型学习所述映射。
19.根据权利要求18所述的系统,其中所述项关联器被进一步配置成 迭代地选择项作为第四项,直到从第二项到选择的项的距离小于在所述第二和第三项之间的距离;以及 基于选择所述第四项所需的迭代数来估计所述第三项关于所述第二项的排名;以及在所述联合嵌入空间中对所述第二、第三或第四项中的至少一个进行移动,使得在所述第二和第三项之间的距离小于从所述第二项到所述第四项的距离,其中所述移动基于根据所估计的排名赋予权重的随机梯度技术。
20.根据权利要求15所述的系统,其中所述联合嵌入空间包括预先确定数量的实值轴。
21.根据权利要求15所述的系统,进一步包括 语义查询模块,其被配置成 在所述训练的联合嵌入空间中识别查询对象,其中所述查询对象是嵌入的训练项;以及 将位于所述查询对象的预先确定的距离内的一个或多个训练的嵌入项确定为结果项。
22.—种存储指令的计算机可读介质,其中所述指令当被执行时促使至少一个处理器使用方法来使多个项类型的语义上相关的项相关联,所述方法包括将所述多个项类型的训练项嵌入在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中; 为所述项类型中的每一个学习到所述联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射;以及 基于在所述训练的联合嵌入空间中从第一项到每一个相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与所述第一项相关联。
23.一种用于对查询作出响应的方法,包括 接收所述查询; 响应于所述查询,确定在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中的位置,其中在嵌入在所述联合嵌入空间中的第一项和第二项之间的距离对应于在所述第一和第二项之间的语义关系,以及其中多个项类型的项被嵌入在所述联合嵌入空间中; 基于嵌入在所述联合嵌入空间中的与所述位置最近的一个或多个项来识别一个或多个结果;以及 返回所述一个或多个结果作为对所述查询的响应。
24.根据权利要求23所述的方法,其中所述确定所述位置包括 基于所接收的查询来确定查询项;以及 将所述查询项嵌入在所述位置处,其中所述位置通过为所述查询项的项类型应用至少一个学习的映射来确定。
25.根据权利要求23所述的方法,其中所述查询包括艺术家的名字或歌曲,以及所述一个或多个结果包括第二艺术家的名字和第二歌曲中的至少一个,其中所述第二艺术家的名字和第二歌曲中的至少一个与所述艺术家的名字或所述歌曲相关联。
26.根据权利要求23所述的方法,其中所述查询包括标签,以及所述一个或多个结果包括至少一个图像,其中所述图像与所述标签相关联。
27.—种查询方法,包括 将查询传送给服务器,其中所述服务器包括被配置在耦接到至少一个处理器的存储器中的联合嵌入空间,其中在嵌入在所述联合嵌入空间中的第一项和第二项之间的距离对应于在所述第一项和所述第二项之间的语义关系,其中多个项类型的项被嵌入在所述联合嵌入空间中;以及 从所述服务器接收响应,其中所述响应由所述服务器通过在所述联合嵌入空间中识别对应于所述查询的位置、并且通过识别与所识别的位置最近的一个或多个结果项来形成。
全文摘要
公开了使用联合嵌入空间来使多个项类型的语义上相关的项相关联的方法和系统。所公开的方法和系统可扩展到较大、web-规模训练数据集。根据实施例,用于使多个项类型的语义上相关的项相关联的方法包括将多个项类型的训练项嵌入在被配置在耦接到至少一个处理器的存储器中的联合嵌入空间中;为项类型中的每一个学习到联合嵌入空间的一个或多个映射以创建训练的联合嵌入空间和一个或多个学习的映射;以及基于在训练的联合嵌入空间中从第一项到每一个相关联的嵌入的训练项的距离来将一个或多个嵌入的训练项与第一项相关联。可以被嵌入在联合嵌入空间中的示例性项类型包括图像、注释、音频和视频。
文档编号G06F17/30GK102782678SQ201180007972
公开日2012年11月14日 申请日期2011年2月1日 优先权日2010年2月1日
发明者萨米·本希奥, 贾森·韦斯顿 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1