1.本公开大体上涉及自然语言处理,更具体地涉及使用条件图修改技术的自然语言处理。
背景技术:
2.自然语言处理(nlp)是指使用计算机来解释自然语言的技术。在一些情况下,nlp任务涉及将注释数据(诸如语法信息)指派给自然语言表达式内的词语或短语。不同种类的机器学习算法已被应用于nlp任务。这些算法可以将从自然语言数据生成的特征集作为输入。一些诸如决策树的算法使用硬假定(if-then)规则。其他系统使用神经网络或统计模型,其基于将实值权重附加到输入特征来做出软的概率决策。这些模型可以表达多个答案的相对概率。
3.如图形和解析树等结构化表示在许多nlp任务中发挥着重要作用。因此,许多nlp设备包括将文本映射到图形或解析树的解析器。然而,常规的nlp设备无法基于自然语言修改命令来修改现有的结构化表示。因此,本领域需要用于改变结构化表示的系统和方法。
技术实现要素:
4.本公开提供了用于为修改后的自然语言表达式生成结构化表示的系统和方法。在一些实施例中,表示原始表达式的结构化表示是使用第一神经网络编码的,并且表示对原始表达式的改变的修改表达式是使用第二神经网络编码的。编码后的结构表示和编码后的修改表达式在嵌入空间中被组合,并且组合结果被用于生成表示修改表达式的输出结构表示。
5.描述了一种用于自然语言处理的方法、装置和非瞬态计算机可读介质。该方法、装置和非瞬态计算机可读介质的实施例被配置为:接收搜索查询的结构化表示,其中结构化表示包括多个节点和连接节点中的两个节点的至少一个边;接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式;使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,基于结构化表示和修改表达式来生成修改后的结构化表示;以及基于修改后的结构化表示来执行搜索。
6.描述了一种用于自然语言处理的装置和方法。该装置和方法的实施例包括:图形编码器,被配置为基于结构化表示来生成结构化表示特征;文本编码器,被配置为基于修改表达式来生成自然语言表达式特征;特征融合网络,被配置为基于结构化表示特征和自然语言表达式特征来产生组合特征;节点译码器,被配置为基于组合特征来生成节点集合;以及边译码器,被配置为基于组合特征和节点集合来生成边集合。
7.描述了一种用于训练用于自然语言处理的神经网络的方法、装置和非瞬态计算机可读介质。该方法、装置和非瞬态计算机可读介质的实施例被配置为:标识包括多个带注释训练示例的训练数据,其中带注释训练示例中的每个带注释训练示例包括源结构化表示、目标结构化表示和至少一个修改表达式;使用图形编码器,为源结构化表示生成结构化表
示特征;使用文本编码器,为至少一个修改表达式生成自然语言表达式特征;使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生组合特征;使用节点译码器,基于组合特征来生成节点集合;使用边译码器,基于组合特征和节点集合来生成边集合;将节点集合和边集合与目标结构化表示进行比较;以及基于比较来更新神经网络。
附图说明
8.图1示出了根据本公开的各个方面的用于提供搜索结果的过程的示例。
9.图2示出了根据本公开的各个方面的用于自然语言处理的系统的示例。
10.图3示出了根据本公开的各个方面的用于自然语言处理的神经网络的示例。
11.图4示出了根据本公开的各个方面的交叉注意力融合的示例。
12.图5示出了根据本公开的各个方面的邻接矩阵样式边译码器的示例。
13.图6示出了根据本公开的各个方面的平坦边级(edge-level)译码器的示例。
14.图7示出了根据本公开的各个方面的场景图的示例。
15.图8示出了根据本公开的各个方面的插入过程的示例。
16.图9示出了根据本公开的各个方面的删除过程的示例。
17.图10示出了根据本公开的各个方面的对象替换过程的示例。
18.图11示出了根据本公开的各个方面的属性替换过程的示例。
19.图12示出了根据本公开的各个方面的用于自然语言处理的过程的示例。
20.图13示出了根据本公开的各个方面的用于组合图形特征和文本特征的过程的示例。
21.图14示出了根据本公开的各个方面的用于基于组合特征生成修改后的结构化表示的过程的示例。
22.图15示出了根据本公开的各个方面的用于训练用于自然语言处理的神经网络的过程的示例。
具体实施方式
23.本公开涉及用于执行自然语言处理(nlp)的系统和方法。本公开的一些实施例涉及条件图修改,其中表示自然语言表达式的源图基于修改命令来修改。在一些示例中,神经网络被训练,以执行修改。
24.如图形和解析树等结构化表示在许多nlp任务中发挥着重要作用。因此,一些nlp设备包括将文本映射到图形或解析树的解析器。然而,常规的nlp设备无法将操纵应用于结构化表示。在一些情况下,在人和计算机之间的交互期间,文本被解析以产生结构化表示。然而,典型的人和计算机的交互会话或对话不是单回合的(例如图像搜索)。因此,解析单个句子可能是不够的。
25.如果常规的nlp设备是在与人类用户对话期间使用的,则它将无法基于对话的后续回合更新先前生成的图形。例如,执行搜索的用户可以从描述他们在搜索中寻找的主要对象或主题的短语开始。取决于结果,用户可以修改其查询,以添加更多约束或给出附加信息。在这种情况下,静态表示不适合追踪用户的更新意图。因此,常规的nlp设备无法参加无缝的多回合互动,其中用户改变了先前表述的意图。
26.因此,本公开提供了执行图形修改的方法和系统。与常规的nlp设备不同,本公开的nlp设备包括神经网络模型的非常规元素,该神经网络模型被训练以在给定新用户命令的情况下更新现有场景图。因此,根据本公开的改进的nlp设备能够基于用户的后续表述来更新现有图形。因此,改进的nlp设备可以与人类用户进行无缝的多回合互动,其中用户改变了先前表述的意图。
27.在一些实施例中,表示原始表达式的结构化表示是使用第一神经网络编码的,并且表示对原始表达式的改变的修改表达式是使用第二神经网络编码的。编码后的结构表示和编码后的修改表达式在嵌入空间中组合,并且组合结果被用于生成表示修改表达式的输出结构表示。在一些示例中,该模型基于的是基于图形的稀疏变换器和交叉注意力信息融合。根据实施例,大型图形修改数据集被创建,并被用于模型的训练。
28.图1示出了根据本公开的各个方面的用于提供搜索结果的过程的示例。图1的过程是用于修改结构化表示的系统可以如何被应用于系统以基于自然语言搜索查询来搜索图像的示例。然而,这不是限制性示例,并且本公开的系统和方法也可以被应用于其他应用。
29.在一些示例中,图1的操作由系统执行,该系统包括执行代码集合以控制装置的功能元件的处理器。附加地或备选地,某些过程是使用专用硬件执行的。通常,这些操作是根据方法和过程执行的,方法和过程是根据本公开的各个方面描述的。在一些情况下,本文描述的操作由各种子步骤组成,或者结合其他操作执行。
30.在操作100中,用户提供搜索查询。用户在人和计算机的交互会话或对话中与计算机(或能够进行人和设备的交互的任何电子设备)交互。对话可以不仅仅是单回合交流。在一些情况下,用户从描述她正在寻找的主要对象或主题的短语开始(例如搜索短语或搜索查询是“穿着黑色衬衫的年轻男孩”)。取决于所生成的结果,用户可以修改她的搜索查询,以添加更多约束或提供附加信息来优化搜索。在一些情况下,该步骤的操作涉及参照图2描述的用户,或者可以由其执行。
31.在操作105中,服务器生成表示搜索查询的结构表示(例如图形)。结构化表示可以指语言表达式的形式化表示。结构化表示(如自然语言表达式)也可以表示图像。将自然语言表达式表示为结构化表示可以改进图像搜索结果,因为结构化表示清晰地标识了要被包括在搜索中的对象和关系。在一些情况下,该步骤的操作涉及参照图2描述的服务器,或者可以由其执行。
32.在一些情况下,服务器可以使用神经网络模型,以将结构化表示(即用图形编码器)和修改查询(即用文本编码器)编码到嵌入空间中。编码器的输出可以分别被称为结构化表示特征和自然语言表达式特征。在一些情况下,结构化表示特征和自然语言表达式特征在公共嵌入空间中被表示为向量。
33.在一些情况下,结构化表示可以包括表示对象或概念的两个或多个节点以及表示节点之间的关系的边。在一个示例中,“黑色”和“衬衫”是通过“属性”关系连接的节点。在另一示例中,“男人”和“帽子”是节点,并且“戴着”描述了关系。
34.根据本公开的实施例,图形可以由图形生成器生成。在表示图像的图形的情况下,该图形被称为场景图(即,图像的语义表示)。该图形包括节点和边,其中边中的每个边连接两个相应的节点。节点表示对象,而边表示相应节点之间的属性或关系。例如,用户的初始搜索查询可能是“穿着黑色衬衫的年轻男孩”。解析器被用于将搜索查询解析为对象列表,
例如“男孩”和“衬衫”。在一些示例中,对象及其关联的属性和关系形成一组三元组,例如(男孩、穿着、衬衫)、(男孩、属性、年轻)和(衬衫、属性、黑色)。
35.在操作110中,数据库基于图形(例如对应于搜索查询的一个或多个图像)提供搜索结果。在一些示例中,数据库向用户提供搜索结果,以使用户能够找到做出决定的内容。在一些情况下,用户可以基于搜索结果修改搜索(即,按原样获取搜索结果,或修改搜索查询以达到一些其他结果)。在一些情况下,该步骤的操作涉及参照图2描述的数据库,或者可以由其执行。
36.在操作115中,用户提供对搜索查询的修改。在一些示例中,取决于来自数据库的生成结果,用户可以选择修改她的搜索查询,以添加更多约束或提供附加信息来优化搜索。在以上示例中,用户不再需要黑色衬衫。相反,用户提供修改查询“改变为粉色衬衫”。
37.与在该示例中一样,修改查询不需要包括完整的表达式,也不需要引用原始搜索查询(或原始图形)中的每个节点或边。因此,在一些情况下,系统会确定哪些节点和边正在被改变以及它们将被改变为什么。在这种情况下,搜索查询被修改为“穿着粉色衬衫的年轻男孩”,其中与衬衫相关联的属性(描述颜色)被改变。在各种情况下,服务器会基于修改查询添加、改变或移除图形的节点或边。在一些情况下,该步骤的操作涉及参照图2描述的用户,或者可以由其执行。
38.在操作120中,服务器基于修改来修改图形。对象、属性和两个对象之间的关系被修改,因此更新后的结构表示(即,场景图)基于修改而被生成。例如,当用户的修改查询是“改变为粉色衬衫”时,衬衫不再是黑色,而是粉色。更新后的对象及其更新后的关联属性和关系形成一组三元组,例如(男孩、穿着、衬衫)、(男孩、属性、年轻)和(衬衫、属性、粉色)。
39.在另一示例中,用户不再需要衬衫而不管颜色如何,并将搜索查询修改为“年轻男孩”。分别代表衬衫和黑色的节点被删除。服务器通过移除与这些节点相关联的节点和边来修改图形。在一些情况下,该步骤的操作涉及参照图2描述的服务器,或者可以由其执行。
40.在操作125中,数据库基于修改后的图形提供更新后的搜索结果。例如,数据库向用户提供更新后的搜索结果,使得用户基于搜索结果做出决策(即,采用更新后的搜索结果,或者继续修改更新后的搜索查询)。在一些情况下,该步骤的操作涉及参照图2描述的数据库,或者可以由其执行。在一些情况下,在用户对搜索结果满意之前,用户、服务器和数据库之间的多次迭代被执行。
41.图2示出了根据本公开的各个方面的用于自然语言处理的系统的示例。所示出的示例包括用户200、用户设备205、服务器210、云245和数据库250。在一个实施例中,服务器210包括处理器单元215、存储器单元220、输入组件225、神经网络230、图形生成器235和搜索组件240。然而,在一些实施例中,服务器的组件和功能位于用户设备205上。
42.用户200可以经由用户设备205和云245与服务器210通信。例如,用户200提供搜索查询,并且服务器210生成表示搜索查询的图形。基于图形的搜索结果被存储在数据库250中。用户200提供对搜索查询的修改,并且服务器基于该修改来修改图形。更新后的搜索结果被添加到数据库250。
43.用户设备205可以是个人计算机、膝上型计算机、大型计算机、掌上计算机、个人助理、移动设备或任何其他合适的处理装置。
44.云245是被配置为提供计算机系统资源的按需可用性(诸如数据存储和计算功率)
的计算机网络。在一些示例中,云245提供资源,而没有由用户主动管理。术语“云”有时被用于描述许多用户通过互联网可用的数据中心。一些大型云网络具有从中央服务器分布在多个位置上的功能。如果服务器与用户具有直接或紧密连接,则它被特指为边服务器。在一些情况下,云245被限于单个组织。在其他示例中,云245可用于许多组织。在一个示例中,云245包括多层通信网络,其包括多个边路由器和核心路由器。在另一示例中,云245基于单个物理位置中的局部交换机集合。
45.服务器210向通过各种网络中的一个或多个链接的用户提供一个或多个功能。在一些情况下,服务器210包括单个微处理器板,其包括负责控制服务器的各个方面的微处理器。在一些情况下,服务器210使用微处理器和协议来经由超文本传送协议(http)和简单邮件传送协议(smtp)与一个或多个网络上的其他设备/用户交换数据,尽管其他协议,诸如文件传送协议(ftp)和简单网络管理协议(snmp)。在一些情况下,服务器210被配置为发送和接收超文本标记语言(html)格式化文件(例如用于显示网页)。在各种实施例中,服务器210包括通用计算设备、个人计算机、膝上型计算机、大型计算机、超级计算机或任何其他合适的处理装置。
46.处理器单元215是智能硬件设备(例如通用处理组件、数字信号处理器(dsp)、中央处理单元(cpu)、图形处理单元(gpu)、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑设备、分立门或晶体管逻辑组件、分立硬件组件或其任何组合)。在一些情况下,处理器单元215被配置为使用存储器控制器操作存储器阵列。在其他情况下,存储器控制器被集成到处理器单元215中。
47.在一些情况下,处理器单元215被配置为执行存储在存储器中的计算机可读指令以执行各种功能。在一些实施例中,处理器单元215包括用于调制解调器处理、基带处理、数字信号处理或传输处理的专用组件。
48.存储器单元220的示例包括随机存取存储器(ram)、只读存储器(rom)或硬盘。存储器单元的示例包括固态存储器和硬盘驱动器。在一些示例中,存储器单元220被用于存储包括指令的计算机可读、计算机可执行软件,该指令在被执行时使处理器执行本文描述的各种功能。在一些情况下,存储器单元220包含控制基础硬件或软件操作(诸如与外围组件或设备的交互)的基础输入/输出系统(bios)等。在一些情况下,存储器控制器操作存储器单元。例如,存储器控制器可以包括行译码器、列译码器或两者。在一些情况下,存储器单元220内的存储器单元以逻辑状态的形式存储信息。
49.在一些实施例中,服务器210包括人工神经网络(ann)。ann是硬件或软件组件,其包括许多连接节点(即,人工神经元),这些节点与人脑中的神经元松散对应。每个连接或边都将信号从一个节点传输给另一节点(就像大脑中的物理突触)。当节点接收到信号时,它会处理该信号,然后将处理后的信号传输给其他连接节点。在一些情况下,节点之间的信号包括实数,并且每个节点的输出由其输入的总和的函数计算。每个节点和边都与一个或多个节点权重相关联,这些权重确定了信号的处理和传输方式。
50.在训练过程期间,这些权重被调整以提高结果的准确度(即,通过最小化以某种方式对应于当前结果和目标结果之间的差异的损失函数)。边的权重提高或降低节点之间传输的信号强度。在一些情况下,节点具有阈值,信号低于该阈值根本不被传输。在一些示例中,节点被聚合为层。不同的层对其输入执行不同的变换。初始层被称为输入层,并且最后
一层被称为输出层。在一些情况下,信号会多次遍历某些层。
51.在一些实施例中,服务器210包括递归神经网络(rnn)。rnn是一类ann,其中节点之间的连接沿着有序(即,时间)序列形成有向图。这使rnn能够对时间动态行为进行建模,诸如预测序列中接下来应该是什么元素。因此,rnn适合于涉及有序序列的任务,诸如文本识别(词语在句子中排序)。术语rnn可以包括有限脉冲递归网络(特点在于节点形成有向非循环图)和无限脉冲递归网络(特点在于节点形成有向循环图)。
52.根据一些实施例,输入组件225接收搜索查询的结构化表示,其中结构化表示包括节点集合和连接节点中的两个节点的至少一个边。输入组件225接收搜索查询作为自然语言表达式。图形生成器(下面描述的)被配置为基于自然语言表达式来生成结构化表示。
53.输入组件225接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式。例如,修改表达式是“给我看看穿着夹克的男人”。修改表达式创建或修改两个对象(即,男人、夹克)之间的关系。
54.根据本公开的一个实施例,输入组件225接收图像的语义表示(即,场景图)。在一些情况下,解析器被用于将句子(即,搜索查询)解析为对象列表。例如,一个搜索查询是“穿着黑色衬衫的年轻男孩”。对象列表包括“男孩”和“衬衫”。这些对象及其关联的属性和关系形成一组三元组,例如(男孩、穿着、衬衫)、(男孩、属性、年轻)和(衬衫、属性、黑色)。在一些实施例中,利用人工注释器可以提高和分析数据质量。
55.根据一些实施例,神经网络230基于结构化表示和修改表达式生成修改后的结构化表示。在一些情况下,神经网络230组合结构化表示特征和自然语言表达式特征。神经网络230是参照图3描述的对应元素的示例,或包括其各个方面。
56.在一些实施例中,神经网络230包括编码器-译码器架构,其使用以图形为条件的变换器和交叉注意力网络。在一些情况下,神经网络230学习如何在给定新用户的命令(即,自然语言命令)的情况下更新现有场景图。在一个示例中,神经网络230基于基于图形的稀疏变换器和交叉注意力信息融合。
57.根据一些实施例,图形生成器235生成结构化表示。在一些示例中,图形生成器235被配置为基于自然语言表达式输入来生成结构化表示。结构化表示包括节点集合和连接节点中的两个节点的至少一个边。自然语言表达式是通过由用户键入的搜索查询创建的。例如,图形生成器235可以接收引用表达式作为输入,并生成被映射到分层主语、谓语、宾语(《s、p、o》)图形结构的解析树。
58.在一些实施例中,图形生成器235使用包含“标签注意力模型”的解析过程生成结构化表示,其中图形生成器网络的注意力头对应于用于要被分配的不同句法类别的标签。在一个实施例中,每个标签有一个注意力头。因此,例如确定词语是否对应于“名词短语”类别的标签注意力头与确定词语是否对应于“动词短语”类别的标签注意力头关注输入表达式的不同部分。
59.在一些实施例中,图形生成器235采用对象本体来理解图像对象(例如“徒步者”是一种“人”),并检测和分类对象属性(例如“棕褐色”是一种颜色,或“木头”是一种材料)。为了提高语言对象和视觉标签之间的映射的准确度,一些实施例采用基础本体来确保语言对象和视觉标签之间的语义映射一致。
60.根据一些实施例,搜索组件240基于修改后的结构化表示来执行搜索。在一些示例
中,搜索组件240基于搜索来取回与修改后的结构化表示相对应的图像集合。搜索组件240可以被配置为基于包括节点集合和边集合的修改后的结构化表示来执行搜索。
61.图3示出了根据本公开的各个方面的用于自然语言处理的神经网络310的示例。所示出的示例包括源图300、修改查询305、神经网络310、节点列表340和目标图345。
62.源图300是参照图4描述的对应元素的示例,或包括其各个方面。在一些情况下,源图300是场景图(即,图像的语义表示)。源图300是一种语义形式,其将期望图像表示为具有关系和属性的对象图。在一些情况下,解析器被用于将句子解析为对象列表,并且对象及其关联的属性和关系形成一组三元组。图形生成器被配置为生成结构化表示,其中结构化表示包括节点集合和连接节点中的两个节点的至少一个边。例如,源图300包括四个对象(即,图像、复制空间、茶杯和桌子)。对象及其关联的属性和关系形成一组三元组,在这种情况下是(图形、具有、复制空间)、(图像、的、茶杯)和(茶杯、属性、桌子)。
63.根据本公开的实施例,给定场景图神经网络310构造三元组(x,y,z),其中x是源图,y指示修改查询305,并且z表示目标图。
64.修改查询305是参照图4描述的对应元素的示例,或包括其各个方面。修改查询305表示由用户键入的搜索查询的表达式,其中修改表达式包括自然语言表达式。修改查询305创建或修改两个对象之间的关系。例如,修改查询305是“移除桌子”。在另一示例中,修改查询305是“给我看看穿着夹克的男人”。修改表达式创建或修改两个对象(即,男人、夹克)之间的关系。
65.在本公开的一个实施例中,神经网络310包括图形编码器315、文本编码器320、特征融合网络325、边译码器330和节点译码器335。神经网络310是参照图2描述的对应元素的示例,或包括其各个方面。编码器-译码器架构被用于条件图修改。根据本公开的实施例,图形编码器315被建立在机器翻译模型的自我注意力架构上。另外,一个实施例提供了一种以图形为条件的稀疏变换器,其中相关信息被直接嵌入到自我注意力网格中。
66.根据本公开的实施例,编码器-译码器架构包括图形编码器315(即,以图形为条件的、稀疏连接的变换器)、用于组合来自输入文本的信息(例如修改查询305)和源图300的早期特征融合模型和晚期特征融合模型。
67.根据本公开的实施例,该任务以源图和修改查询作为输入,并且神经网络310包括两个编码器以单独对源图和文本信息(即,自然语言表达式)进行建模。源图和文本修改查询被编码为联合表示,然后神经网络310在两阶段操作期间生成目标图。目标节点是经由节点级rnn生成的。然后,神经网络310利用另一rnn在节点上产生目标边。
68.针对译码器(即,边译码器330和节点译码器335),图形修改任务被视为序列生成任务。进一步地,为了鼓励输入图形和修改查询之间的信息共享,诸如通过门控进行晚期特征融合和通过交叉注意力进行早期特征融合等技术被使用。
69.根据一些实施例,图形编码器315可以被配置为基于结构化表示来生成结构化表示特征。在一些示例中,图形编码器315包括稀疏连接的变换器网络。图形编码器315为源结构化表示生成结构化表示特征。在一些情况下,图形卷积网络(gcn)和图形变换器被用作图形编码器315,以用于基于语义的文本生成中的图形到序列转导。图形编码器315是参照图4描述的对应元素的示例,或包括其各个方面。
70.变换器架构取决于全连接的自我注意力网格,以从一系列元素中获得上下文化的
表示。根据本公开的实施例,以图形为条件的、稀疏连接的变换器被用于对来自源图300的信息进行编码。
71.根据一些实施例,文本编码器320基于修改表达式来生成自然语言表达式特征。在一些示例中,文本编码器320包括变换器网络。例如,修改表达式是“移除桌子”。文本编码器320为至少一个修改表达式生成自然语言表达式特征。文本编码器320是参照图4描述的对应元素的示例,或包括其各个方面。
72.根据本公开的实施例,标准变换器编码器被用于对修改查询305进行编码。在另一实施例中,图形编码器315和文本编码器320的参数彼此共享,以促进语义对准。
73.根据一些实施例,特征融合网络325组合结构化表示特征和自然语言表达式特征,以产生组合特征的集合。在一些示例中,特征融合网络325包括阶段门控机制。在一些其他示例中,特征融合网络325包括交叉注意力网络。
74.根据一些实施例,特征融合网络325组合结构化表示特征和自然语言表达式特征,以产生组合特征。特征融合网络325是参照图4描述的对应元素的示例,或包括其各个方面。
75.根据本公开的一些实施例,存在两个信息源,这两个源中的每个源都需要单独的编码器。一种方式是通过串联合并两个信息源以生成串联表示。
76.为了提高模型组合编码器信息以更好地使用的能力,具有门控机制的参数化方法在本文中应用。通过门控机制,神经网络310可以基于修改查询305从图形中过滤有用信息,反之亦然。为了在图形编码器和文本编码器之间实现更深的交互,本公开的一个实施例在上下文化的节点和令牌表示被学习之前的早期阶段融合特征。这是经由诸如交叉注意力等早期融合技术实现的。
77.根据一些实施例,边译码器330基于组合特征和节点集合来生成边集合,其中修改后的结构化表示包括节点集合和边集合。在一些示例中,边译码器330包括邻接矩阵译码器。在一些其他示例中,边译码器330包括平坦边级译码器。边译码器330是参照图5和6描述的对应元素的示例,或包括其各个方面。
78.根据一些实施例,节点译码器335基于组合特征来生成节点集合。在一些示例中,节点译码器335包括rnn。门控递归单元(gru)单元被用于rnn节点译码器335。在一个示例中,节点译码器335包括基础自回归模型。
79.根据实施例,节点列表340是从节点译码器335生成的。节点列表340包括三个节点,它们是图像、茶杯和复制空间。
80.目标图345是参照图8至图11描述的对应元素的示例,或包括其各个方面。目标图345是场景图(即,图像的语义表示)。目标图345是一种语义形式,其将期望图像表示为具有关系和属性的对象图。在一些情况下,解析器被用于将句子解析为对象列表,并且对象及其关联的属性和关系形成一组三元组。图形生成器被配置为生成结构化表示,其中结构化表示包括节点集合和连接节点中的两个节点的至少一个边。例如,目标图345包括三个对象(即,图像、茶杯和复制空间)。对象及其关联的属性和关系形成一组三元组,在这种情况下是(图形、具有、复制空间)和(图像、的、茶杯)。由于修改查询305(即,“移除桌子”),先前的三元组(茶杯、属性、桌子)被移除。
81.图4示出了根据本公开的各个方面的交叉注意力融合的示例。所示出的示例包括源图400、修改查询405、图形编码器410、文本编码器415和特征融合网络420。特征融合网络
420还包括图形注意力425、交叉注意力430和文本注意力435以及联合嵌入440。
82.源图400是参照图3描述的对应元素的示例,或包括其各个方面。源图400是包括节点集合和边集合的场景图。在一些情况下,源图400是来自用户的搜索查询的结构化表示。节点集合表示对象,而边集合表示相应节点之间的关系或属性。
83.修改查询405是参照图3描述的对应元素的示例,或包括其各个方面。
84.图形编码器410是参照图3描述的对应元素的示例,或包括其各个方面。
85.根据本公开的实施例,以图形为条件的、稀疏连接的变换器被用于对来自图形的信息进行编码。变换器架构取决于全连接的自我注意力网格,以从一系列元素中获得上下文化的表示。具有稀疏连接的变换器的图形编码器410的架构在本文中图示。
86.与自然语言文本相比,图形是结构化数据,包括组件、节点和边。为了有效地对图形进行编码,本公开的一个实施例不仅对来自这些组成组件的信息进行编码,而且对来自它们的相互作用(即,节点-边关联和连接性)的信息进行编码。因此,图形编码器410将来自所有边的信息合并到这些边所源自的节点。边感知节点嵌入xi可以从源图节点和边的列表中获得,如下:
[0087][0088]
其中和t
ε
分别是节点和边标签的嵌入表,并且是连接(入站和出站)到图形中的第i个节点的节点集合。
[0089]
在具有边感知节点嵌入后,图形编码器410使用稀疏连接的变换器来学习整个图形的上下文化的嵌入。稀疏连接的变换器可能不会将位置编码合并到图形输入中,因为节点不在预定的序列中。给定来自x
ε
的边信息,连接性信息是通过使节点对其一阶邻居唯一可见来强制执行。变换器的注意力网格被表示为a。如果x
i,j
∈x
ε
或为零,则以下等式被定义:a[xi,xj]=f(xi,xj),其中f表示归一化的内积函数。
[0090]
根据本公开的实施例,稀疏连接的变换器使用输入嵌入中的边标签和自我注意力中的稀疏层提供以图形结构为条件的图形节点表示。稀疏连接的变换器的输出中的节点表示由表示。
[0091]
文本编码器415是参照图3描述的对应元素的示例,或包括其各个方面。根据本公开的实施例,标准变换器编码器被用于将修改查询y=(y1,..,y
|y|
)编码为为了促进语义对准,图形编码器410和文本编码器415的参数彼此共享。
[0092]
特征融合网络420是参照图3描述的对应元素的示例,或包括其各个方面。根据一些实施例,存在两个信息源,这两个信息源中的每个信息源都需要单独的编码器。一种方式是通过串联合并两个信息源。组合表示如下:
[0093][0094]
根据本公开的实施例,译码器组件负责通过其与两个编码器的连接在两个编码器之间进行信息通信。
[0095]
一些实施例采用被称为经由门控的晚期融合的技术。为了提高模型组合编码器信息以更好地使用的能力,具有门控机制的参数化方法在本文中应用。通过门控机制,神经网络可以基于修改查询405从图形中过滤有用信息,反之亦然。
[0096]
根据本公开的实施例,特殊令牌[cls]被添加到查询句子前面的图形中。该特殊令牌在编码器中的表示捕获了整体理解,其针对图形和修改查询分别由和my表示。神经网络使用这些整体意义向量来从图形节点和修改查询令牌的表示中过滤有用信息,如下:
[0097][0098][0099][0100][0101]
其中mlp是多层感知器,
⊙
指示逐元素乘法,并且σ是用于构造门和的逐元素sigmoid函数。更新后的节点和令牌被用于等式2的联合编码器表示中。
[0102]
这种门控机制被称为晚期融合,因为它可能不允许来自图形和文本的信息在它们相应的低级编码器中进行交互。例如,融合发生在上下文化的信息已经被学习之后。
[0103]
一些实施例还采用被称为经由交叉注意力的早期融合的技术。为了允许在图形编码器410和文本编码器415之间进行更深的交互,一个实施例在上下文化的节点和令牌表示被学习之前的早期阶段融合特征。这是经由交叉注意力、早期融合技术实现的。
[0104]
根据实施例,图形和查询编码器的参数彼此共享,以使得能够在相同语义空间中对两个源进行编码。例如,神经网络对两个源使用相同的变换器编码器。在交叉注意力中,特征融合网络420串联x(来自等式1)和变换器编码器之前的y。因此,编码器的输入是[x,y]。在变换器中,每个查询令牌的表示通过自我关注前一层中的所有查询令牌和图形节点的表示来更新。然而,根据稀疏连接的变换器的连接以及所有查询令牌,每个图形节点的表示通过仅自我关注其图形邻居来更新。最终表示m取自变换器的输出。
[0105]
图5示出了根据本公开的各个方面的邻接矩阵样式边译码器500的示例。所示出的示例包括边译码器500和图形510。源图和文本查询(即,修改查询)被编码为联合表示,然后目标图在两个阶段中生成。目标节点是经由节点级rnn生成的。然后,模型利用另一rnn在节点上产生目标边。
[0106]
在一些情况下,gru单元被用于rnn译码器。节点译码器包括基础自回归模型:
[0107][0108][0109][0110]
其中z
<t
表示在时间步长t之前生成的节点,是luong样式注意力,并且m是
来自编码器的信息融合的存储器向量。
[0111]
边译码器500是参照图3和图6描述的对应元素的示例,或包括其各个方面。在一个实施例中,边译码器500包括译码器元素505。译码器元素505是参照图6描述的对应元素的示例,或包括其各个方面。在一个实施例中,图形510包括节点515和边520。
[0112]
边译码器包括邻接矩阵样式边译码器500。邻接矩阵的行或列由节点按照由节点级译码器生成的顺序标示。邻接矩阵样式边译码器500针对每行包括自回归译码器,该自回归译码器将每个边的标签从边词汇表中发出给其他节点,包括示出边不存在的特殊令牌[null]。矩阵的下三角部分对于邻接矩阵样式边译码器500很重要,因为节点译码器以拓扑排列的方式生成节点。邻接矩阵的虚线上三角部分被专门用于并行计算,并且它们将被丢弃。
[0113]
包括gru单元的注意力译码器被用于生成边。它的操作类似于等式8和9所示的节点级译码器。然而,为了更准确的类型化边生成,在更新边译码器的隐藏状态时,源节点和目标节点(来自节点译码器)的隐藏状态被合并为输入:
[0114][0115]
其中是行i和列j的边译码器的隐藏状态,并且z
i,j-1
是先前生成的从节点i到j-1的边的标签。
[0116]
当生成边时,使用邻接矩阵样式边译码器500可能具有若干后果。首先,邻接矩阵中的虚拟边会造成计算浪费。其次,由先前行生成的边不以下一行中的边何时被生成为条件。但是使用关于先前节点的超出边的信息来提高下一节点的超出边的生成准确度仍然是有益的。
[0117]
图6示出了根据本公开的各个方面的平坦边级译码器的示例。边译码器600是参照图3和图5描述的对应元素的示例,或包括其各个方面。在一个实施例中,边译码器600包括译码器元素605。译码器元素605是参照图5描述的对应元素的示例,或包括其各个方面。
[0118]
根据本公开的一个实施例,平坦边级译码器600被用于平坦化图5所图示的邻接矩阵的下三角。虚拟边被移除,并且下三角矩阵的行被串联,以形成节点对序列,针对该节点对序列,边在相应节点之间生成。在新边被生成时,该边生成方法使用关于所有先前生成的边的信息。
[0119]
图7示出了根据本公开的各个方面的场景图的示例。所示出的示例包括第一节点700、第二节点705、第三节点710、第四节点715、第一边720、第二边725和第三边730。
[0120]
场景图可以被称为图像的语义表示。场景图是一种语义形式,其将期望图像表示为具有关系和属性的对象图。语义表示被适用于取回系统中。在一些情况下,解析器被用于将句子解析为对象列表,例如“男孩”和“衬衫”。这些对象及其关联的属性和关系形成一组三元组,例如(男孩、穿着、衬衫)、(男孩、属性、年轻)和(衬衫、属性、黑色)。例如,图形生成器可以接收引用表达式作为输入,并生成被映射到分层主语、谓语、宾语(《s、p、o》)图形结构的解析树。基于初始场景图和来自用户的新查询,神经网络基于现有场景图和修改查询生成修改后的场景图。
[0121]
在一些实施例中,图形生成器使用包含“标签注意力模型”的解析过程生成结构化表示,其中图形生成器网络的注意力头对应于用于要被分配的不同句法类别的标签。在一
个实施例中,每个标签有一个注意力头。因此,例如确定词语是否对应于“名词短语”类别的标签注意力头与确定词语是否对应于“动词短语”类别的标签注意力头关注输入表达式的不同部分。
[0122]
在一些实施例中,图形生成器采用对象本体来理解图像对象(例如“徒步者”是一种“人”),并检测和分类对象属性(例如“棕褐色”是一种颜色,或“木头”是一种材料)。为了提高语言对象和视觉标签之间的映射的准确度,一些实施例采用基础本体来确保语言对象和视觉标签之间的语义映射一致。
[0123]
图8示出了根据本公开的各个方面的插入过程的示例。所示出的示例包括源图800、修改查询805和目标图810。源图800是参照图3和图4描述的对应元素的示例,或包括其各个方面。修改查询805是参照图3和图4描述的对应元素的示例,或包括其各个方面。目标图810是参照图3描述的对应元素的示例,或包括其各个方面。
[0124]
本公开的一个实施例包括为多操作图形修改(mgm)任务创建数据的步骤。假设mgm取决于源图上的至少一个操作。这些步骤包括使用与启发式算法配对的四个动作(终止、插入、删除、替换)对修改后的图形执行操作。模型对动作进行采样,并且该动作是对最后修改的图形执行的,直到采样到终止或可用节点被耗尽为止。在一些情况下,大图形可以支持更多的修改,而小图形的自由度较低。另外,在一个实施例中,修改后的节点不改变一次以上。因此,随着编辑序列变长,终止的概率可能会增加,而其他动作的概率可能会下降。启发式算法在下面被称为算法1,它提供了具有不同编辑序列长度的数据集。
[0125]
[0126][0127]
根据实施例,场景图包括图像的语义表示。在一些情况下,解析器被用于将句子(即,搜索查询)解析为对象列表(例如“男孩、“衬衫”)。这些对象及其关联的属性和关系形成一组三元组。根据本公开的实施例,给定场景图三元组(x,y,z)被构造,其中x是源图,y是修改查询,并且z表示目标图。本公开的一个实施例从可能的图形修改操作集合a={insert,delete,substitute}中均匀选择并应用动作a。基于用户的搜索条目或修改查询,操作(例如删除、插入和替换)被应用于源图。
[0128]
根据实施例,动作包括插入命令。插入可以被看作是删除操作的反转。一个实施例经由对的“删除”操作产生源图x,其中目标图z被设置为与删除运算符类似,插入查询(即,修改查询的示例)y由来自众包应用(例如土耳其机器人)的工作人员或模板生成。在大多数情况下,众包应用被用于获得训练数据,以训练神经网络基于修改查询修改现有场景图。例如,源图800包括节点(即,男人)。修改查询805包括自然语言表达式“给我看看穿着夹克的男人”。目标图810具有通过边连接的两个节点。这两个节点包括与来自修改查询805的插入命令相对应的男人和夹克。
[0129]
图9示出了根据本公开的各个方面的删除过程的示例。所示出的示例包括源图
900、修改查询905和目标图910。
[0130]
源图900是参照图3和图4描述的对应元素的示例,或包括其各个方面。修改查询905是参照图3和图4描述的对应元素的示例,或包括其各个方面。目标图910是参照图3描述的对应元素的示例,或包括其各个方面。
[0131]
根据本公开的实施例,动作包括删除操作。节点从(表示源图x)中随机选择,并且系统移除该节点及其关联的边。剩余的节点和边被表示为目标图z。修改查询y是从随机选择的删除模板或由来自众包应用的工作人员生成的。例如,源图900具有三个节点(即,对象)和两个边(即,属性)。节点是“年轻”、“男人”和“帽子”。边包括“戴着”。对象及其关联的属性和关系形成一组三元组(男人、属性、年轻)和(男人、戴着、帽子)。源图900是场景图,其是搜索查询“戴着帽子的年轻男人”的语义表示。修改查询905包括自然语言表达式“拿走他的帽子”。目标图910具有两个节点和一个边。这些对象及其关联的属性和关系形成三元组(男人、属性、年轻)。在一些情况下,模板基于数据集(例如edit me数据集)和众包应用(例如土耳其机器人)。众包应用被用于获得训练数据,以训练神经网络基于修改查询905修改现有场景图(例如源图900)。
[0132]
图10示出了根据本公开的各个方面的对象替换过程的示例。根据本公开的实施例,动作包括替换操作(即,对象替换、属性替换)。所示出的示例包括源图1000、修改查询1005和目标图1010。源图1000是参照图3和图4描述的对应元素的示例,或包括其各个方面。修改查询1005是参照图3和图4描述的对应元素的示例,或包括其各个方面。目标图1010是参照图3描述的对应元素的示例,或包括其各个方面。
[0133]
根据实施例,从源图1000中随机选择的节点被语义类似的节点代替,以获得目标图。为了定位新节点,allennlp工具包可以被用于基于候选词与旧节点的语义相似度分数来获得候选词列表。例如,源图1000具有两个节点(即,对象)和一个边(即,属性)。节点是“小”和“时钟”。这些对象及其关联的属性和关系形成三元组(小、属性、时针)。源图1000是场景图,其是搜索查询(即,小时针)的语义表示。修改查询1005包括自然语言表达式“示出更多的时针”。目标图1010具有两个节点和一个边。这些对象及其关联的属性和关系形成三元组(小、属性、时针)。表示“时钟”(即,单数)的节点被表示“时钟”(即,复数)的新节点代替。
[0134]
图11示出了根据本公开的各个方面的属性替换过程的示例。根据本公开的实施例,动作包括替换操作(即,对象替换、属性替换)。所示出的示例包括源图1100、修改查询1105和目标图1110。源图1100是参照图3和图4描述的对应元素的示例,或包括其各个方面。修改查询1105是参照图3和图4描述的对应元素的示例,或包括其各个方面。目标图1110是参照图3描述的对应元素的示例,或包括其各个方面。
[0135]
根据实施例,从源图1100中随机选择的节点被语义类似的节点代替,以获得目标图。为了定位新节点,allennlp工具包可以被用于基于候选词与旧节点的语义相似度分数来获得候选词列表。例如,源图1100具有两个节点(即,对象)和一个边(即,属性)。节点是“白色”和“冲浪板”。这些对象及其关联的属性和关系形成三元组(冲浪板、属性、白色)。源图1100是场景图,其是搜索查询(白色冲浪板)的语义表示。修改查询1105包括自然语言表达式“我想要粉色的冲浪板;它不能是白色的”。目标图1110具有两个节点和一个边。这些对象及其关联的属性和关系形成三元组(粉色、属性、冲浪板)。表示“白色”的节点被表示“粉
色”的新节点代替。
[0136]
图12示出了根据本公开的各个方面的用于自然语言处理的过程的示例。在一些示例中,这些操作由系统执行,该系统包括执行代码集合以控制装置的功能元件的处理器。附加地或备选地,某些过程是使用专用硬件执行的。通常,这些操作是根据方法和过程执行的,方法和过程是根据本公开的各个方面描述的。在一些情况下,本文描述的操作由各种子步骤组成,或者结合其他操作执行。
[0137]
在操作1200中,系统接收搜索查询的结构化表示,其中结构化表示包括节点集合和连接节点中的两个节点的至少一个边。节点集合表示对象,并且边表示关联的属性和关系。在一个示例中,搜索查询是“穿着黑色衬衫的年轻男孩”,其可以由结构化表示来表示。结构化表示包括四个节点和三个边。节点表示四个对象(即,男孩、衬衫、年轻、黑色)。边包括诸如“穿着”等属性(即,传达两个对象之间的关系)。这些对象及其关联的属性和关系形成一组三元组,例如(男孩、穿着、衬衫)、(男孩、属性、年轻)和(衬衫、属性、黑色)。在一些情况下,该步骤的操作涉及参照图2描述的输入组件,或者可以由其执行。
[0138]
在操作1205中,系统接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式。根据实施例,修改表达式被用于根据操作或动作修改源图。一个实施例从所有可能的图形修改操作集合a={insert,delete,substitute}中均匀选择并应用动作a。操作(例如删除、插入和替换)被应用于源图。在一些情况下,该步骤的操作涉及参照图2描述的输入组件,或者可以由其执行。
[0139]
根据实施例,修改查询是从随机选择的删除模板或由来自众包应用的工作人员生成的。例如,源图是场景图,其是搜索查询“戴着帽子的年轻男人”的语义表示。修改查询包括自然语言表达式“拿走他的帽子”。
[0140]
在操作1210中,使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,系统基于结构化表示和修改表达式来生成修改后的结构化表示。在一些情况下,该步骤的操作涉及参照图2和3描述的神经网络,或者可以由其执行。
[0141]
根据实施例,神经网络包括编码器-译码器架构,其具有图形编码器、文本编码器、特征融合网络、边译码器和节点译码器。图形编码器包括以图形为条件的、稀疏连接的变换器。图形编码器被用于基于结构化表示来生成结构化表示特征。文本编码器被用于基于修改表达式来生成自然语言表达式特征。在一些实施例中,早期特征融合模型和晚期特征融合模型被用于组合来自输入文本(即,修改查询)的信息和源图。一个实施例将该任务制定为条件生成任务。给定源图和修改查询,神经网络可以通过最大化条件概率来生成目标图。
[0142]
在操作1215中,系统基于修改后的结构化表示来执行搜索。该搜索可以由图像搜索引擎从图像数据库中执行。用户利用图像搜索引擎来追踪目标图像的来源,或寻找与目标图像类似或相关的附加图像。用户被请求在搜索框中键入搜索查询和/或使用过滤器进行更深入的搜索。在一些情况下,该步骤的操作涉及参照图2描述的搜索组件,或者可以由其执行。
[0143]
图13示出了根据本公开的各个方面的用于组合图形特征和文本特征的过程的示例。在一些示例中,这些操作由系统执行,该系统包括执行代码集合以控制装置的功能元件的处理器。附加地或备选地,某些过程是使用专用硬件执行的。通常,这些操作是根据方法和过程执行的,方法和过程是根据本公开的各个方面描述的。在一些情况下,本文描述的操
作由各种子步骤组成,或者结合其他操作执行。
[0144]
在操作1300中,系统使用图形编码器,基于结构化表示来生成结构化表示特征。在一些情况下,该步骤的操作涉及参照图3和图4描述的图形编码器,或者可以由其执行。
[0145]
根据本公开的实施例,编码器-译码器框架将源图和修改查询作为输入,因此网络框架包括图形编码器和文本编码器,以分别对图形和文本信息进行建模。神经网络包括五个组件,图形编码器、文本编码器、特征融合网络、边译码器和节点译码器。
[0146]
以图形为条件的、稀疏连接的变换器被用于对来自源图的信息进行编码。源图和修改查询被编码为联合表示。与自然语言文本相比,图形是结构化数据,包括组件、节点和边。为了有效地对图形进行编码,本公开的一个实施例不仅对来自这些组成组件的信息进行编码,而且对来自它们的相互作用(即,节点-边关联和连接性)的信息进行编码。因此,图形编码器将来自所有边的信息合并到这些边所源自的节点。边感知节点嵌入是从源图节点和边的列表中获得的,如等式1所图示的,其中节点和边标签的嵌入表被分别生成。连接(入站和出站)至图形中的第i个节点的节点集合被创建。在获得边感知节点嵌入后,图形编码器使用稀疏连接的变换器来学习整个图形的上下文化的嵌入。稀疏连接的变换器可能不会将位置编码合并到图形输入中,因为节点不在预定的序列中。给定来自x
ε
的边信息,连接性信息是通过使节点对其一阶邻居唯一可见来强制执行。变换器的注意力网格被计算。
[0147]
根据本公开的实施例,稀疏连接的变换器使用输入嵌入中的边标签和自我注意力中的稀疏层提供以图形结构为条件的图形节点表示。稀疏连接的变换器的输出中的节点表示由表示。
[0148]
在操作1305中,系统使用文本编码器,基于修改表达式来生成自然语言表达式特征。在一些情况下,该步骤的操作涉及参照图3和图4描述的文本编码器,或者可以由其执行。
[0149]
根据本公开的实施例,标准变换器编码器被用于对修改查询进行编码。为了促进语义对准,图形编码器和文本编码器的参数彼此共享。
[0150]
在操作1310中,系统使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生组合特征的集合。根据一些实施例,存在两个信息源,这两个源中的每个源都需要编码器。一种方式是通过串联合并两个信息源。组合表示在上面被图示在等式2中。在一些情况下,该步骤的操作涉及参照图3和图4描述的特征融合网络,或者可以由其执行。
[0151]
为了提高模型组合编码器信息以更好地使用的能力,本公开的一些实施例引入了具有门控机制的参数化方法。通过门控机制,模型可以基于修改查询从图形中过滤有用信息,反之亦然。根据本公开的实施例,特殊令牌[cls]被添加到查询句子前面的图形中。该令牌在编码器中的表示捕获了整体理解。模型使用这些整体意义向量来从图形节点和修改查询令牌的表示中过滤有用信息。逐元素sigmoid函数被用于构造门。更新后的节点和令牌被用于联合编码器表示中。这种门控机制被称为晚期融合,因为它可能不允许来自图形和文本的信息在它们相应的低级编码器中进行交互。例如,融合发生在上下文化的信息已经被学习之后。
[0152]
根据实施例,特征融合网络经由交叉注意力使用早期融合。为了允许在图形编码器和文本编码器之间实现更深的交互,一个实施例在上下文化的节点和令牌表示被学习之
前的早期阶段融合特征。这是经由交叉注意力、早期融合技术实现的。
[0153]
根据实施例,图形和查询编码器的参数被共享,以使得能够在相同语义空间中对两个源进行编码。例如,模型对两个源使用相同的变换器编码器。在交叉注意力中,模型串联x(来自等式1)和变换器编码器之前的y。因此,编码器的输入是[x,y]。在变换器中,每个查询令牌的表示通过自我关注前一层中的所有查询令牌和图形节点的表示来更新。然而,根据稀疏连接的变换器的连接以及所有查询令牌,每个图形节点的表示通过仅自我关注其图形邻居来更新。最终表示m取自变换器的输出。
[0154]
图14示出了根据本公开的各个方面的用于基于组合特征生成修改后的结构化表示的过程的示例。在一些示例中,这些操作由系统执行,该系统包括执行代码集合以控制装置的功能元件的处理器。附加地或备选地,某些过程是使用专用硬件执行的。通常,这些操作是根据根据本公开的各个方面描述的方法和过程执行的。在一些情况下,本文描述的操作由各种子步骤组成,或者结合其他操作执行。
[0155]
在操作1400中,系统产生组合特征的集合。根据一些实施例,特征融合网络被用于组合结构化表示特征(来自图形编码器)和自然语言表达式特征(来自文本编码器)以产生组合特征的集合。在一些情况下,该步骤的操作涉及参照图3和图4描述的特征融合网络,或者可以由其执行。
[0156]
在操作1405中,系统使用节点译码器,基于组合特征来生成节点集合。在一些情况下,该步骤的操作涉及参照图3描述的节点译码器,或者可以由其执行。
[0157]
根据实施例,节点译码器包括rnn。在一些情况下,gru单元被用于rnn译码器。节点译码器包括基础自回归模型。
[0158]
在操作1410中,系统使用边译码器,基于组合特征和节点集合来生成边集合,其中修改后的结构化表示包括节点集合和边集合。在一些情况下,该步骤的操作涉及参照图3、图5和图6描述的边译码器,或者可以由其执行。
[0159]
根据实施例,边译码器应用邻接样式生成方法。邻接矩阵的行或列按照由节点译码器生成的顺序由节点标示。针对每行,自回归译码器将每个边的标签从边词汇表中发出给其他节点,包括示出边不存在的特殊令牌[null]。矩阵的下三角部分很重要,因为假设节点译码器以拓扑排列的方式生成节点。邻接矩阵的虚线上三角部分被专门用于并行计算,并且它们将被丢弃。
[0160]
根据实施例,使用gru单元的注意力译码器被用于生成边。注意力(边)译码器以与节点译码器类似的方式操作。为了更准确地生成类型化边,在更新边译码器的隐藏状态时,源节点和目标节点(来自节点译码器)的隐藏状态被合并为输入。
[0161]
使用这种边生成方法有许多后果。首先,邻接矩阵中的虚拟边会造成计算浪费。其次,由先前行生成的边不以下一行中的边何时被生成为条件。但是使用关于先前节点的超出边的信息来提高下一节点的超出边的生成准确度可能是有益的。因此,本公开的一个实施例平坦化邻接矩阵的下三角。虚拟边被移除,并且下三角矩阵的行被串联,以在边在相应节点之间生成时形成节点对序列。在新边被生成时,该平坦边级译码器使用关于所有先前生成的边的信息。
[0162]
在操作1415中,系统基于结构化表示和修改表达式来生成修改后的结构化表示。在一些情况下,该步骤的操作涉及参照图2和图3描述的神经网络,或者可以由其执行。
[0163]
图15示出了根据本公开的各个方面的用于训练用于自然语言处理的神经网络的过程的示例。在一些示例中,这些操作由系统执行,该系统包括执行代码集合以控制装置的功能元件的处理器。附加地或备选地,某些过程是使用专用硬件执行的。通常,这些操作是根据根据本公开的各个方面描述的方法和过程执行的。在一些情况下,本文描述的操作由各种子步骤组成,或者结合其他操作执行。
[0164]
一个实施例将该任务制定为条件生成任务。形式上,给定源图和修改查询y,可以通过最大化条件概率来产生目标图由于图形由类型化节点和边的列表组成,条件概率还被分解为:
[0165][0166]
其中和z
ε
分别表示图形的节点和边。
[0167]
给定由表示的输入-输出对的训练数据集,模型通过最大化条件对数似然l
cll
=l
node
l
edge
来训练,其中,
[0168][0169][0170]
在学习和译码期间,节点根据拓扑顺序进行排列,该拓扑顺序针对用户生成的数据集和合成数据集中的所有有向图存在。
[0171]
根据本公开的实施例,图形编码器包括三个堆叠的稀疏变换器,每层具有四个头。嵌入大小为256,并且前馈网络的内层的维度为512。节点级和边级译码器都是一层gru-rnn,隐藏大小为256,并且嵌入的大小也是256。30个epoch和300个epoch分别针对合成数据和用户生成数据训练,批次大小为256。该模型在每个epoch的开发(dev)集上进行评估,并且具有最佳图形准确度的检查点被选择以进行推理。例如,实验在单个英伟达特斯拉v100上运行。门控递归单元(gru)是递归神经网络中的门控机制。gru类似于具有遗忘门的长短期记忆(lstm),但参数比lstm少,因为它缺少输出门。
[0172]
训练阶段的不同设置下的图形处理单元(gpu)时间(ms/步)被测量。本公开的交叉注意力模型在gpu计算时间方面比其他模型更有效。不同设置下的参数数量也被测量和记录。用于每个模型的参数数量被记录。
[0173]
模型验证/开发集的性能和最佳基线被记录。基于结果,开发集和测试集的性能趋势之间没有显着差异。
[0174]
在操作1500中,系统标识包括带注释训练示例集合的训练数据,其中带注释训练示例中的每个带注释训练示例包括源结构化表示、目标结构化表示和至少一个修改表达式。
[0175]
在操作1505中,系统使用图形编码器为源结构化表示生成结构化表示特征。根据
本公开的实施例,以图形为条件的、稀疏连接的变换器被用于对来自图形的信息进行编码。图形编码器将来自所有边的信息合并到这些边所源自的节点。在具有边感知节点嵌入后,图形编码器使用稀疏连接的变换器来学习整个图形的上下文化的嵌入。在一些情况下,该步骤的操作涉及参照图3和图4描述的图形编码器,或者可以由其执行。
[0176]
在操作1510中,系统使用文本编码器为至少一个修改表达式生成自然语言表达式特征。根据本公开的实施例,文本编码器包括被用于对修改表达式进行编码的标准变换器编码器。在一些情况下,该步骤的操作涉及参照图3和图4描述的文本编码器,或者可以由其执行。
[0177]
在操作1515中,系统使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生组合特征。根据一些实施例,两个信息源(即,图形和文本查询)通过串联来组合。早期特征融合模型和晚期特征融合模型被用于组合来自图形的信息和输入文本。在一些情况下,该步骤的操作涉及参照图3和图4描述的特征融合网络,或者可以由其执行。
[0178]
为了提高模型组合编码器信息以更好地使用的能力,具有门控机制的参数化方法在本文中使用。通过门控机制,模型可以基于修改查询从图形中过滤有用信息,反之亦然。门控机制被称为晚期融合,因为它可能不允许来自图形和文本的信息在它们相应的低级编码器中进行交互。例如,融合发生在上下文化的信息已经被学习之后。
[0179]
根据实施例,为了允许在图形和文本编码器之间进行更深的交互,交叉注意力(早期融合技术)被用于在上下文化的节点和令牌表示被学习之前的早期阶段融合特征。
[0180]
在操作1502中,系统使用节点译码器,基于组合特征来生成节点集合。根据本公开的实施例,节点译码器包括rnn。另外,gru单元被用于rnn译码器。节点译码器包括基础自回归模型。在一些情况下,该步骤的操作涉及参照图3描述的节点译码器,或者可以由其执行。
[0181]
在操作1525中,系统使用边译码器,基于组合特征和节点集合来生成边集合。根据本公开的实施例,边译码器包括邻接矩阵译码器。备选地,边译码器包括平坦边级译码器。在一些情况下,该步骤的操作涉及参照图3、图5和图6描述的边译码器,或者可以由其执行。
[0182]
在操作1530中,系统将节点集合和边集合与目标结构化表示进行比较。根据本公开的实施例,训练数据被输入到神经网络中。神经网络使用编码器-译码器架构生成预测的结构化表示(即,节点集合和边集合)。目标结构化表示是用于比较的地面实况值。针对每次训练迭代,损失函数被用于计算或估计预测结构化表示和目标结构化表示之间的损失(或误差)。
[0183]
在操作1535中,系统基于比较更新神经网络。在每次训练迭代后,神经网络的参数被更新(例如使用梯度下降)。随着神经网络模型的训练,参数(权重和偏差)以损失函数被最小化的方式来调整。
[0184]
评估
[0185]
尽管针对图像有多个场景图注释数据集,但图形和文本之间的对准不可用。进一步地,图像实况场景图(例如视觉基因组数据集)还包含许多非显着对象和关系,而搜索查询更多地关注主要对象及其连接。根据本公开的实施例,由于缺少大规模和高质量的数据集,基准数据集被创建。三个数据集被创建,以通过数据创建过程评估模型。数据创建过程从字幕数据集开始,诸如mscoco和谷歌概念字幕(gcc)。为了构建场景图,该过程使用场景图解析器来解析mscoco描述数据和gcc字幕的随机子集。解析器在依存语法解析器上构建。
在一些情况下,该过程包括生成修改后的场景图和基于这些场景图的修改查询,并利用人工注释来提高和分析数据质量的方法。前两个数据集包括mscoco和gcc,而第三数据集是使用众包应用(例如土耳其机器人)收集的。
[0186]
前两个数据集在mscoco和gcc的字幕上方添加了注释。在一些示例中,以上解析器被用于从mscoco创建200k场景图,并且从gcc数据创建420k场景图。比较两个数据集,来自mscoco的图形相对简单,而gcc图形更复杂。根据搜索日志,图像搜索查询很短,因此mscoco图形表示与实际搜索查询更接近的匹配,而gcc图形对模型提出了更大的挑战。基于所进行的实验,该模型在f1分数方面的合成数据和用户生成数据的性能比基线提高了多达8.5%。在二进制分类的统计分析中,f1分数(也是f分数或f度量)是测试准确度的度量。它通过测试的精度和召回率计算,其中精度是正确标识的阳性结果的数量除以所有阳性结果(包括未正确标识的那些)的数量,并且召回率是正确标识的阳性结果的数量除以应被标识为阳性的所有样本的数量。
[0187]
除了使用模板之外,本公开的一个实施例使用众包应用来获得更加不同和自然的修改查询(例如土耳其机器人)。众包过程向工作人员示出了包括源图、目标图和三个可接受的修改查询的示例。然后,工作人员被要求为未注释的实例填写其自己的描述。数据集的基于模板的版本被称为“合成”,而用户生成的内容被称为“用户生成的”。
[0188]
通过初步试验,在数据收集过程期间存在一些挑战。首先,理解图形取决于与nlp相关的知识,因此并非所有土耳其机器人工作人员都可以提供良好的修改查询。其次,由于删除和解析器误差,一些图形可能在数据中具有断开的组件。第三,有许多过于复杂的图形并不能代表搜索查询,因为大多数搜索查询相对较短(即,限于一个或两个对象)。为了减轻挑战的影响,通过移除具有断开组件、低质量实例或过长描述(即,超过5个节点)的图形,本公开的一个实施例手动过滤数据。作为示例,最终数据集包含32000个示例。
[0189]
为了测试众包数据集的质量,对15个测试人员的用户研究被执行。15个测试人员不了解工作的性质和数据集的收集方式。测试人员被提供有随机实例集合,每个实例都是源图、修改查询和目标图的三元组。测试人员基于标准提供指示每个实例质量的分数,包括修改查询在目标图中的反映程度以及查询和图形的自然程度。
[0190]
来自200个随机选择的实例的分数分布被记录。大多数的3或4(即,质量分数)是由于修改查询或图形不自然。测试人员倾向于为语义错误的实例给出1(即,质量分数)。即,修改查询与改变不匹配。总体而言,测试人员对数据进行评分,平均分数为3.76。
[0191]
基于搜索日志,95%以上的查询被限于一个或两个节点,因此不太可能出现多于一个编辑操作被应用的情景。因此,修改后的mscoco和gcc中的实例是用一个编辑操作构造的。然而,在一些情况下,可能会存在很长的搜索描述,这导致了更长的编辑操作序列的可能性。根据本公开的实施例,数据集的多操作版本(即,来自gcc数据的mgm任务)被创建。
[0192]
源图和目标图的图形大小分布在集合中几乎相同。随着文本描述长度的增加,源图相应地变得更加复杂。来自搜索日志的查询长度的百分比被分析。在大多数情况下,搜索查询的长度可能少于五个令牌。因此,在实践中,不太可能遇到大图形(即,超过三个节点)和长修改查询。合成数据和用户生成数据上的节点和边数量的分布被记录。
[0193]
从用户获得注释是昂贵的,尤其是对于复杂的任务,诸如本公开的图形修改任务。因此,一个实施例探索用合成数据扩充用户生成数据以便训练模型的可能性。然而,使用合
成数据的数据扩充可能会导致不同的分布。这在用户生成数据上测试使用合成数据训练的模型时得到了说明。例如,图形生成准确度下降到20%左右,并且添加更多合成数据可能无济于事。为了有效地混合数据分布,本公开的一个实施例对用户生成数据进行上采样,并将其与合成数据以1:1的比率混合在每个小批次中。
[0194]
使用上采样的数据扩充与迁移学习(从合成数据和用户生成数据中学习的另一方法)进行比较。根据实施例,模型使用合成数据来预训练,然后模型在用户生成数据上微调。
[0195]
不同数据设置下的图形准确度(%)结果被记录。30000意味着添加30000个合成实例。它示出了与迁移学习相比,利用上采样的数据扩充是利用两种数据源的有效方法。另外,随着合成数据大小的增加,所描述的方案还将性能提高到达到稳定的某个点。例如,在注入9000个实例(数据比率3:1)后,性能就达到了稳定。与仅使用合成数据或用户生成数据相比,上采样和预训练都能产生更好的模型。专门在用户生成数据上训练的模型的图形准确率为60.90%(最佳结果)。
[0196]
在一些情况下,模板被用于合成数据。例如,简化模板被用于合成数据,其中每个操作具有十个模板。
[0197]
五个基线被考虑用于比较。在“复制源”基线中,系统将源图复制到目标图。它基于用户专门修改源图的一小部分的观察。在“text2text”基线中,基线模型平坦化图形,并以与修改查询类似的方式重构自然句子。在“修改后的图形rnn”基线中,基线模型使用基于广度优先搜索(bfs)技术的节点排序来平坦化图形(即,拓扑纽带被原始查询中出现的节点的顺序跳出),并且使用rnn作为编码器和译码器。在其他两个基线“图形变换器”和“深度卷积图形网络”(dcgcn)中,基线模型使用图形变换器和深度卷积图形网络对源图进行编码。
[0198]
来自本公开的模型以各种方式配置,并且模型的不同配置的结果被记录。根据本公开的实施例,全连接变换器对图形编码器使用密集连接。相比之下,稀疏变换器在自我注意力中使用源图的连接性结构。来自图形和查询编码器的信息可以通过串联、通过门控的晚期融合或通过交叉注意力的早期融合来组合。边译码的邻接矩阵样式可以被平坦边生成代替。
[0199]
本公开的一个实施例使用两个自动度量来进行评估。首先,所生成的节点和边的精度/召回率/f1分数计算。其次,评估度量使用严格匹配准确度,其被定义为与目标图相同以进行正确预测的生成图形。
[0200]
本公开的一个实施例将合成的mscoco数据划分为用于训练/开发/测试的196k/2k/2k,并且将gcc数据划分为用于训练/开发/测试的400k/7k/7k。在一些情况下,众包的用户生成数据被随机分为用于训练/开发/测试的30k/1k/1k。
[0201]
合成数据集和用户生成数据集上的模型和基线的结果被记录。基于实验结果,模型的各种配置都大大优于基线。例如,dcgcn和图形变换器是强大的基线,从而在诸如amr到文本生成和基于语法的神经机器翻译等任务中提供sota性能。任务中的大量边类型削弱了它们的能力。而且,关于平坦边生成优先于邻接矩阵样式边生成的假设在本文中证实。此外,图形和查询编码器之间通过门控机制的双向通信在边级和节点级生成方面始终优于简单串联。最终,交叉注意力(早期融合技术)导致所有度量的大幅增加。在一些情况下,为众包数据生成图形比合成数据要困难得多,这是由于由注释者引入的语义和表达式的多样性。因此,所有模型都遭受性能下降。
[0202]
在用户生成数据和合成数据上,模型的不同配置的性能趋势几乎相同。随着图形越来越复杂,模型在为gcc数据推理节点之间的关系时性能下降,这导致边f1分数和图形准确度下降。
[0203]
为了评估多个操作情景,两个数据集被创建,其中平均操作次数分别为1.44和2.01。针对每个数据集,基线和方法都在完整的训练集上进行训练。测试集根据操作次数被分组为四个仓(bin)。所有模型的性能都随着操作次数的增加而下降。由本公开的实施例提供的模型的性能明显优于基线。
[0204]
根据本公开的实施例,最佳性能来自包括交叉注意力、平坦边译码器和稀疏变换器的模型。在大多数情况下,这种配置优于基线。交叉注意力被用于关系修改和处理更长的描述,因为早期特征融合减少了图形生成中的噪声,并且比基线模型更好地保留了细粒度的细节。
[0205]
本公开的实施例涉及条件图修改,其中模型被用于基于修改命令来修改源图。基于以图形为条件的稀疏变换器和交叉注意力信息融合的模型的一种配置优于从机器翻译和图形生成改编的基线。
[0206]
因此,本公开至少包括以下实施例。
[0207]
描述了一种用于自然语言处理的方法。该方法的实施例被配置为:接收搜索查询的结构化表示,其中结构化表示包括多个节点和连接节点中的两个节点的至少一个边;接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式;使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,基于结构化表示和修改表达式来生成修改后的结构化表示;以及基于修改后的结构化表示来执行搜索。
[0208]
描述了一种用于自然语言处理的装置。该装置包括处理器、与处理器进行电子通信的存储器以及存储在存储器中的指令。该指令可操作以使处理器:接收搜索查询的结构化表示,其中结构化表示包括多个节点和连接节点中的两个节点的至少一个边;接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式;使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,基于结构化表示和修改表达式来生成修改后的结构化表示;以及基于修改后的结构化表示来执行搜索。
[0209]
描述了一种存储用于自然语言处理的代码的非瞬态计算机可读介质。在一些示例中,代码包括以下指令,由处理器可执行以:接收搜索查询的结构化表示,其中结构化表示包括多个节点和连接节点中的两个节点的至少一个边;接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式;使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,基于结构化表示和修改表达式来生成修改后的结构化表示;以及基于修改后的结构化表示来执行搜索。
[0210]
上述方法、装置和非瞬态计算机可读介质的一些示例还包括:接收搜索查询作为初始自然语言表达式。一些示例还包括:使用图形生成器来生成结构化表示。上述方法、装置和非瞬态计算机可读介质的一些示例还包括:使用图形编码器,基于结构化表示来生成结构化表示特征。
[0211]
上述方法、装置和非瞬态计算机可读介质的一些示例还包括:使用文本编码器,基于修改表达式来生成自然语言表达式特征。上述方法、装置和非瞬态计算机可读介质的一些示例还包括:使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生
组合特征的集合。
[0212]
上述方法、装置和非瞬态计算机可读介质的一些示例还包括:使用节点译码器,基于组合特征来生成节点集合。上述方法、装置和非瞬态计算机可读介质的一些示例还包括:使用边译码器,基于组合特征和节点集合来生成边集合,其中修改后的结构化表示包括节点集合和边集合。
[0213]
上述方法、装置和非瞬态计算机可读介质的一些示例还包括:基于搜索,取回与修改后的结构化表示相对应的多个图像。
[0214]
描述了一种用于自然语言处理的装置。该装置的实施例包括:图形编码器,被配置为基于结构化表示来生成结构化表示特征;文本编码器,被配置为基于修改表达式来生成自然语言表达式特征;特征融合网络,被配置为基于结构化表示特征和自然语言表达式特征来产生组合特征;节点译码器,被配置为基于组合特征来生成节点集合;以及边译码器,被配置为基于组合特征和节点集合来生成边集合。
[0215]
描述了一种提供用于自然语言处理的装置的方法。该方法包括:图形编码器,被配置为基于结构化表示来生成结构化表示特征;文本编码器,被配置为基于修改表达式来生成自然语言表达式特征;特征融合网络,被配置为基于结构化表示特征和自然语言表达式特征来产生组合特征;节点译码器,被配置为基于组合特征来生成节点集合;以及边译码器,被配置为基于组合特征和节点集合来生成边集合。
[0216]
上述装置和方法的一些示例还包括:图形生成器,被配置为基于自然语言表达式来生成结构化表示。上述装置和方法的一些示例还包括:搜索组件,被配置为基于包括节点集合和边集合的修改后的结构化表示来执行搜索。
[0217]
在一些示例中,图形编码器包括稀疏连接的变换器网络。文本编码器包括变换器网络。特征融合网络包括阶段门控机制。特征融合网络包括交叉注意力网络。节点译码器包括递归神经网络(rnn)。在一些示例中,边译码器包括邻接矩阵译码器。边译码器包括平坦边级译码器。
[0218]
描述了一种用于自然语言处理的方法。该方法的实施例被配置为:标识包括多个带注释训练示例的训练数据,其中带注释训练示例中的每个带注释训练示例包括源结构化表示、目标结构化表示和至少一个修改表达式;使用图形编码器,为源结构化表示生成结构化表示特征;使用文本编码器,为至少一个修改表达式生成自然语言表达式特征;使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生组合特征;使用节点译码器,基于组合特征来生成节点集合;使用边译码器,基于组合特征和节点集合来生成边集合;将节点集合和边集合与目标结构化表示进行比较;以及基于比较来更新神经网络。
[0219]
描述了一种用于自然语言处理的装置。该装置包括处理器、与处理器进行电子通信的存储器以及存储在存储器中的指令。该指令可操作以使处理器:标识包括多个带注释训练示例的训练数据,其中带注释训练示例中的每个带注释训练示例包括源结构化表示、目标结构化表示和至少一个修改表达式;使用图形编码器,为源结构化表示生成结构化表示特征;使用文本编码器,为至少一个修改表达式生成自然语言表达式特征;使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生组合特征;使用节点译码器,基于组合特征来生成节点集合;使用边译码器,基于组合特征和节点集合来生成边集合;将节点集合和边集合与目标结构化表示进行比较;以及基于比较来更新神经网络。
[0220]
描述了一种存储用于自然语言处理的代码的非瞬态计算机可读介质。在一些示例中,代码包括以下指令,由处理器可执行以:标识包括多个带注释训练示例的训练数据,其中带注释训练示例中的每个带注释训练示例包括源结构化表示、目标结构化表示和至少一个修改表达式;使用图形编码器,为源结构化表示生成结构化表示特征;使用文本编码器,为至少一个修改表达式生成自然语言表达式特征;使用特征融合网络来组合结构化表示特征和自然语言表达式特征,以产生组合特征;使用节点译码器,基于组合特征来生成节点集合;使用边译码器,基于组合特征和节点集合来生成边集合;将节点集合和边集合与目标结构化表示进行比较;以及基于比较来更新神经网络。
[0221]
在一些示例中,神经网络是使用端到端训练技术更新的,其中图形编码器、文本编码器、特征融合网络、节点译码器和边译码器的参数是在每次训练迭代期间更新的。
[0222]
本文描述的描述和附图表示示例配置,并且不表示权利要求的范围内的所有实现。例如,操作和步骤可以被重新布置、组合或以其他方式修改。而且,结构和设备可以以框图的形式表示,以表示组件之间的关系并避免混淆所描述的概念。类似的组件或特征可以具有相同的名称,但是可以具有对应于不同附图的不同附图标记。
[0223]
本公开的一些修改对于本领域技术人员来说可能是明显的,并且在不脱离本公开的范围的情况下,本文定义的原理可以被应用于其他变型。因此,本公开不被限于本文描述的示例和设计,而是被赋予与本文公开的原理和新颖特征一致的最广泛的范围。
[0224]
所描述的方法可以由设备实现或执行,该设备包括通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件或其任何组合。通用处理器可以是微处理器、常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备(例如dsp和微处理器的组合、多个微处理器、结合dsp核心的一个或多个微处理器或者任何其他这种配置)的组合。因此,本文描述的功能可以以硬件或软件来实现,并且可以由处理器、固件或其任何组合来执行。如果以由处理器执行的软件实现,则功能可以以指令或代码的形式被存储在计算机可读介质上。
[0225]
计算机可读介质包括非瞬态计算机存储介质和通信介质,包括支持代码或数据传送的任何介质。非瞬态存储介质可以是可以由计算机访问的任何可用介质。例如,非瞬态计算机可读介质可以包括随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、压缩盘(cd)或者其他光盘存储装置、磁盘存储装置或者用于携带或存储数据或代码的任何其他非瞬态介质。
[0226]
而且,连接组件可以被适当地称为计算机可读介质。例如,如果代码或数据是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或无线技术(诸如红外线、无线电或微波信号)从网站、服务器或其他远程源传输的,那么同轴电缆、光纤电缆、双绞线、dsl或无线技术被包括在介质的定义中。介质的组合也被包括在计算机可读介质的范围内。
[0227]
在本公开和以下权利要求中,词语“或者”指示包括性列表,使得例如x、y或z的列表表示x或y或z或xy或xz或yz或xyz。而且,短语“基于”未被用于表示条件闭集。例如,被描述为“基于条件a”的步骤可以基于条件a和条件b。换言之,短语“基于”应被解释为表示“至少部分地基于”。而且,词语“一”或“一个”指示“至少一个”。
技术特征:
1.一种用于自然语言处理的方法,包括:接收搜索查询的结构化表示,其中所述结构化表示包括多个节点和连接所述节点中的两个节点的至少一个边;接收针对所述搜索查询的修改表达式,其中所述修改表达式包括自然语言表达式;使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,基于所述结构化表示和所述修改表达式来生成修改后的结构化表示;以及基于所述修改后的结构化表示来执行搜索。2.根据权利要求1所述的方法,还包括:接收所述搜索查询作为初始自然语言表达式;以及使用图形生成器来生成所述结构化表示。3.根据权利要求1所述的方法,还包括:使用图形编码器,基于所述结构化表示来生成所述结构化表示特征。4.根据权利要求1所述的方法,还包括:使用文本编码器,基于所述修改表达式来生成所述自然语言表达式特征。5.根据权利要求1所述的方法,还包括:使用特征融合网络来组合所述结构化表示特征和所述自然语言表达式特征,以产生组合特征的集合。6.根据权利要求5所述的方法,还包括:使用节点译码器,基于所述组合特征来生成节点集合。7.根据权利要求6所述的方法,还包括:使用边译码器,基于所述组合特征和所述节点集合来生成边集合,其中所述修改后的结构化表示包括所述节点集合和所述边集合。8.根据权利要求1所述的方法,还包括:基于所述搜索来取回与所述修改后的结构化表示相对应的多个图像。9.一种用于自然语言处理的装置,包括:图形编码器,被配置为基于结构化表示来生成结构化表示特征;文本编码器,被配置为基于修改表达式来生成自然语言表达式特征;特征融合网络,被配置为基于所述结构化表示特征和所述自然语言表达式特征来产生组合特征;节点译码器,被配置为基于所述组合特征来生成节点集合;以及边译码器,被配置为基于所述组合特征和所述节点集合来生成边集合。10.根据权利要求9所述的装置,还包括:图形生成器,被配置为基于自然语言表达式来生成所述结构化表示。11.根据权利要求9所述的装置,还包括:搜索组件,被配置为基于包括所述节点集合和所述边集合的修改后的结构化表示来执行搜索。12.根据权利要求9所述的装置,其中:所述图形编码器包括稀疏连接的变换器网络。13.根据权利要求9所述的装置,其中:
所述文本编码器包括变换器网络。14.根据权利要求9所述的装置,其中:所述特征融合网络包括阶段门控机制。15.根据权利要求9所述的装置,其中:所述特征融合网络包括交叉注意力网络。16.根据权利要求9所述的装置,其中:所述节点译码器包括递归神经网络rnn。17.根据权利要求9所述的装置,其中:所述边译码器包括邻接矩阵译码器。18.根据权利要求9所述的装置,其中:所述边译码器包括平坦边级译码器。19.一种用于训练神经网络的方法,所述方法包括:标识包括多个带注释训练示例的训练数据,其中所述带注释训练示例中的每个带注释训练示例包括源结构化表示、目标结构化表示和至少一个修改表达式;使用图形编码器,为所述源结构化表示生成结构化表示特征;使用文本编码器,为所述至少一个修改表达式生成自然语言表达式特征;使用特征融合网络来组合所述结构化表示特征和所述自然语言表达式特征,以产生组合特征;使用节点译码器,基于所述组合特征来生成节点集合;使用边译码器,基于所述组合特征和所述节点集合来生成边集合;将所述节点集合和所述边集合与所述目标结构化表示进行比较;以及基于所述比较来更新所述神经网络。20.根据权利要求19所述的方法,其中:所述神经网络是使用端到端训练技术被更新的,其中所述图形编码器、所述文本编码器、所述特征融合网络、所述节点译码器和所述边译码器的参数是在每次训练迭代期间被更新的。
技术总结
本公开的实施例涉及基于自然语言命令的场景图修改。描述了用于自然语言处理的系统和方法。实施例被配置为:接收搜索查询的结构化表示,其中结构化表示包括多个节点和连接节点中的两个节点的至少一个边;接收针对搜索查询的修改表达式,其中修改表达式包括自然语言表达式;使用被配置为组合结构化表示特征和自然语言表达式特征的神经网络,基于结构化表示和修改表达式来生成修改后的结构化表示;以及基于修改后的结构化表示来执行搜索。于修改后的结构化表示来执行搜索。于修改后的结构化表示来执行搜索。
技术研发人员:Q
受保护的技术使用者:奥多比公司
技术研发日:2021.08.19
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-12099.html