首页> 中国专利> 使用编码的结构化表示进行语义解析

使用编码的结构化表示进行语义解析

摘要

本申请的各实施例涉及使用编码的结构化表示进行语义解析。本文中描述的各方面包括一种语义解析的方法以及一种相关的系统和计算机程序产品。该方法包括:接收包括多个词的输入;生成多个词的结构化表示;将结构化表示编码到潜在嵌入空间中;以及将来自潜在嵌入空间的所编码的结构化表示解码为多个词的逻辑表示。

著录项

  • 公开/公告号CN112287661A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN202010657692.2

  • 发明设计人 吴凌飞;张围;

    申请日2020-07-09

  • 分类号G06F40/205(20200101);G06F40/30(20200101);G06F16/33(20190101);G06N3/08(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人辛鸣

  • 地址 美国纽约阿芒克

  • 入库时间 2023-06-19 09:41:38

说明书

技术领域

本申请的各实施例涉及使用编码的结构化表示进行语义解析。

背景技术

本发明涉及语义解析,并且更具体地涉及在语义解析内使用文本的所编码的结构化表示。

语义解析是将自然语言文本翻译成自然语言文本的含义的机器可解释表示的任务,例如逻辑形式或可执行查询。语义解析在问题回答系统、深度学习系统等中起着重要作用。在语义解析中,自然语言文本的含义可以表示为结构化对象,诸如树结构。但是,很多神经语义解析器倾向于只考虑词序列信息,而忽略了结构化对象可以呈现的语法信息。

发明内容

根据本发明的一个实施例,一种语义解析的方法包括:接收包括多个词的输入;生成多个词的结构化表示;将结构化表示编码到潜在嵌入空间中;以及将来自潜在嵌入空间的所编码的结构化表示解码为多个词的逻辑表示。

根据本发明的另一实施例,一种系统包括被配置为执行用于语义解析的操作的一个或多个计算机处理器。该操作包括:接收包括多个词的输入;生成多个词的结构化表示;将结构化表示编码到潜在嵌入空间中;以及将来自潜在嵌入空间的所编码的结构化表示解码为多个词的逻辑表示。

根据本发明的另一实施例,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包含有计算机可读程序代码。该计算机可读程序代码由一个或多个计算机处理器可执行以执行用于语义解析的操作。该操作包括:接收包括多个词的输入;生成多个词的结构化表示;将结构化表示编码到潜在嵌入空间中;以及将来自潜在嵌入空间的所编码的结构化表示解码为多个词的逻辑表示。

附图说明

图1是示出根据一个或多个实施例的能够执行语义解析的示例性系统的框图;

图2是示出根据一个或多个实施例的示例性图编码器和树解码器的框图;

图3是根据一个或多个实施例的执行语义解析的示例性方法;

图4是示出根据一个或多个实施例的示例性图中包括的依赖性的图;

图5是示出根据一个或多个实施例的示例性图中包括的选区的图;以及

图6是示出根据一个或多个实施例的图编码器和树解码器的示例性操作的框图。

具体实施方式

本发明的各种实施例的描述已经出于说明的目的被给出,而非意图是穷举性的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,很多修改和变化对于本领域普通技术人员将是很清楚的。选择本文中使用的术语是为了最好地解释实施例的原理、实际应用或对市场上发现的技术的技术改进,或者使得本领域其他普通技术人员能够理解本文中公开的实施例。

在下文中,参考本公开中提出的实施例。然而,本公开的范围不限于特定描述的实施例。相反,可以设想以下特征和元素的任何组合(无论是否与不同的实施例有关)都可以实现和实践所设想的实施例。此外,尽管本文中公开的实施例可以实现优于其他可能解决方案或现有技术的优点,但是通过给定的实施例是否能够实现特定优点并不限制本公开的范围。因此,以下方面、特征、实施例和优点仅是示例性的,而不被认为是所附权利要求的要素或限制,除非在权利要求中明确叙述。同样,对“本发明”的引用不应当被解释为本文中公开的任何发明主题的概括,并且不应当被视为所附权利要求的要素或限制,除非在权利要求中明确叙述。

本发明的各方面可以采取以下形式:完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)、或结合了软件和硬件方面的实施例,这些实施例通常在本文中可以全部称为“电路”、“模块”或“系统”。

本文中讨论的实施例总体上涉及基于图神经网络(GNN)的神经语义解析器,该解析器考虑在含义表示的结构化对象中呈现的语法信息。语义解析器可以被实现为图到树(或“Graph2Tree”)语义解析器。在一些实施例中,语义解析器包括图编码器,该图编码器从由词序列和对应依赖性解析树、选区(constituency)解析树或抽象含义表示构造的语法图中学习。语义解析器还包括树解码器,该树解码器从学习到的图的向量表示中捕获逻辑形式的结构。一些实施例还包括学习语法图与逻辑形式之间的软对准的注意机制。有利地,通过使用语法图中包含的语法信息,与现有方法(诸如序列到序列(“Seq2Seq”)、序列到树(“Seq2Tree”)和图到序列(“Graph2Seq”)模型)相比,提高了语义解析器的性能。

图1是示出根据一个或多个实施例的能够执行语义解析的示例性系统100的框图。系统100包括一个或多个处理器105、和存储器110。一个或多个处理器105可以以任何合适的形式实现,诸如通用微处理器、控制器、专用集成电路(ASIC)等。存储器110可以包括针对其大小、相对性能或其他能力而选择的各种计算机可读介质:易失性和/或非易失性介质、可移动和/或不可移动介质等。此外,一个或多个处理器105和/或存储器110可以被包括在单个计算设备中,或者可以被分布在多个通信耦合的计算设备之间。

存储器110可以包括用于执行本文中描述的各种功能的一个或多个“模块”或“子模块”。在一个实施例中,每个模块或子模块包括由一个或多个处理器105可执行的程序代码。然而,其他实施例可以具有部分或完全在系统100的硬件(即,电路系统)或固件中实现的功能。如图所示,系统100包括解析模块115、图生成模块120和图到树模块125,但是也可以考虑所描述功能的其他组合。

解析模块115接收自然语言文本并且生成自然语言文本的结构(分层)表示。在一些实施例中,解析模块115从自然语言文本生成依赖性解析树、选区解析树和抽象含义表示(AMR)之一。解析模块115可以包括附加功能,诸如处理自然语言文本以从字符序列生成令牌,检查自然语言文本的正确语法,等等。

图生成模块120从解析模块115接收结构表示,并且从结构表示构造(或以其他方式生成)语法图。语法图可以以G=(V,E)形式表示,其中V表示一组顶点,E表示一组有序顶点对。该组顶点V可以对应于自然语言文本中包括的一组词,并且在某些情况下还可以对应于标点符号、词干和词缀等。该组有序顶点对E可以反映该组顶点V中包括的元素之间的头部相关关系和文法关系。在其他实施例中,图生成模块120构造AMR图(例如,用于表示结构表示的语义图)。

图到树模块125包括图编码器130,图编码器130将语法图编码为向量表示。在一些实施例中,图编码器130是归纳节点嵌入算法。归纳节点嵌入算法可以生成双向节点嵌入(即,前向和后向嵌入)。每个节点嵌入通过聚合来自节点本地邻域的信息(例如,在图内的K个跃点内)来学习其向量表示。

图到树模块125还包括树解码器135,树解码器135学习以由图编码器提供的图级向量表示为条件的逻辑形式。在一些实施例中,树解码器135定义多个令牌,诸如用于开始解码子树的“nonterminal”令牌和指示序列结束的特殊令牌。在一些实施例中,树解码器135使用长短期存储器(LSTM)单元来解码子树的逻辑形式,直到遇到特殊令牌。树解码器135可以通过以对应非终端节点的隐藏表示为条件来生成逻辑形式的部分。为了充分利用存储在每个非终端节点中的信息,树解码器135可以使用父馈送方案来提供非终端节点嵌入的附加输入,以随输入而增强并且馈送到LSTM单元中。在一些实施例中,树解码器135使用一种或多种注意机制来将输入的隐藏向量并入解码过程中。尽管对树解码器135的讨论集中于具有LSTM单元的实现,但是其他实现可以将其他解码器用于结构化输出,诸如模块化解码器。

系统100还包括与一个或多个处理器105通信耦合的输入设备140。在一些实施例中,经由输入设备140提供用于语义解析的自然语言文本。输入设备140可以以任何合适的形式实现,诸如从用户输入接收自然语言文本的键盘或触摸屏、经由一个或多个网络与一个或多个处理器105耦合的外部计算设备等。因此,在一些实施例中,输入设备140可以与一个或多个处理器105和存储器110集成在一起。在其他实施例中,输入设备140可以在一个或多个处理器105和/或存储器110外部。在使用外部计算设备来实现输入设备140的情况下,输入设备140可以存储自然语言文本,可以从麦克风或音频文件执行语音识别处理,等等。

系统100还包括显示设备145,显示设备145向用户显示视觉界面。显示设备145可以用任何合适的显示技术来实现:发光二极管(LED)、有机LED(OLED)、阴极射线管(CRT)、液晶显示器(LCD)、等离子体、电致发光(EL)等。在一些实施例中,显示设备145与一个或多个处理器105和存储器110(例如,膝上型计算机、平板电脑、智能电话的显示器)集成在一起。在其他实施例中,显示设备145在一个或多个处理器105和存储器110外部,诸如与输入设备140集成在一起或在其外部的外部显示器。

在一些实施例中,显示设备145显示经由输入设备提供的输入(例如,包括多个词的自然语言文本)、和多个词的逻辑表示(例如,使用图到树模块125确定的)。用户可以经由输入设备140提供关于逻辑表示的准确性的反馈。在一些实施例中,由用户提供的反馈可以调节语法图的构造,因为图构造的某些迭代可能比其他迭代更好或更差。

图2是示出根据一个或多个实施例的示例性图编码器130和树解码器135的框图200。图2所示的特征可以与其他实施例结合使用。

图编码器130包括确定节点嵌入220的节点嵌入子模块205。在一些实施例中,节点嵌入子模块205实现双向嵌入模型,使得节点嵌入220包括前向和后向嵌入。在一些实施例中,节点嵌入子模块205接收图G=(V,E),并且使用例如LSTM单元从v的文本属性为所有节点生成特征向量。在另一实施例中,通过查找嵌入矩阵W

节点嵌入子模块205可以根据边缘方向将节点v的邻居分类为前向邻居

节点嵌入子模块205可以将前向邻居

节点嵌入子模块205可以根据

在计算节点v的前向表示和后向表示K次之后,可以将最终的前向表示和后向表示的级联用作节点v的最终双向表示:

图编码器130还包括池化子模块215,池化子模块215执行节点嵌入220的聚合功能以生成图嵌入225。每个节点邻居的向量已经被馈送通过完全连接层210,并且池化子模块215应用逐元素最大池操作:

树解码器135接收节点嵌入220和图嵌入225。由树解码器135输出自然语言文本的多个词的逻辑表示235。

树解码器135包括多个LSTM单元230-1、230-2、……、230-N。在一些实施例中,多个LSTM单元230-1、230-2、……、230-N以多个级布置,使得多个LSTM单元230-1、230-2、……、230-N的第一部分在第一级中执行解码,多个LSTM单元230-1、230-2、……、230-N的第二部分在第一级下游的第二级中执行解码。

在一些实施例中,多个LSTM单元230-1、230-2、……、230-N的第一部分解码图嵌入225的逻辑形式,在遇到指示序列结束的特殊令牌时停止解码。在一些实施例中,多个LSTM单元230-1、230-2、……、230-N的第一部分通过以对应非终端节点的隐藏表示为条件来生成逻辑形式的一部分。为了充分利用非终端节点的信息,父馈送方案可以提供非终端节点嵌入的其他输入,以随输入而增强并且馈送到多个LSTM单元230-1、230-2、……、230-N的第二部分中。

图3是根据一个或多个实施例的执行语义解析的示例性方法300。方法300可以结合其他实施例来执行,例如,使用图1的系统100。

方法300在框305处开始,在框305处,系统接收包括多个词的输入。在框315处,系统生成多个词的结构化表示。在一些实施例中,结构化表示是依赖性解析树、选区解析树和抽象含义表示之一。

在框325处,系统将结构化表示编码到潜在嵌入空间中。在一些实施例中,对结构化表示编码包括将语法图编码为包括双向节点嵌入的向量表示。

在框335处,系统将来自潜在嵌入空间的所编码的结构表示解码为多个词的逻辑表示。在一些实施例中,对所编码的结构表示的解码使用多个LSTM单元来执行。在框345处,该系统显示输入和逻辑表示。在一些实施例中,用户输入可以提供关于逻辑表示的准确性的反馈。在框345完成之后,方法300结束。

图4是示出根据一个或多个实施例的示例性图中包括的依赖性的图400。更具体地,图400示出了参考词序列的依赖性解析树。图4所示的特征可以与其他实施例结合使用。

在图400中,词序列410为输入文本的每个词提供相应节点415-1、……、415-6(“are there ada jobs outside austin”)。节点415-1与节点415-2连接,节点415-2与节点415-3连接,以此类推。

示出了指示词序列410的两个词之间的语法关系的依赖性405。依赖性405包括与节点415-1、415-2(“are”、“there”)有关的专有(expl)依赖性、与节点415-1、415-4(“are”、“jobs”)有关的名义主题(nsubj)依赖性、与节点415-4、415-6(“jobs”、“austin”)有关的名义修饰符(nmod)依赖性、与节点415-4、415-3(“jobs”、“ada”)有关的复合依赖性、和与节点415-6、415-5(“austin”、“outside”)有关的案例标记(case)依赖性。每个依赖性405可以将其标签转换为与节点415-1、……、415-6一起被包括在语法图中的相应节点。

图5是示出根据一个或多个实施例的示例性图中包括的选区的图500。更具体地,图500示出了参考词序列410的选区树。图5所示的特征可以与其他实施例结合使用。

在图500中,示出了用于指示词序列410中包括的短语结构信息的选区505。在第一级(第1级)内,“are”表示为VBP(非第三人称单数形式动词),“there”表示为EX(存在性“there”),“ada”表示为FW(外来词),“jobs”表示为NNS(复数名词),“outside”表示为IN(介词),“austin”表示为NN(名词)。

在第二级(第2级)内,EX链接到第一名词短语(NP),FW和NNS链接到第二NP,NN链接到第三NP。在第三级(第3级)内,IN和第三NP链接到第一介词短语(PP)。在第四级内,第二NP和第一PP链接到第二PP。在第五级内,VBP、第一NP和第二PP链接到问题(SQ)。然后,SQ链接到根级别(ROOT)。

图6是示出根据一个或多个实施例的图编码器130和树解码器135的示例性操作的框图600。图6所示的特征可以与其他实施例结合使用,例如,使用图1的系统100执行的。

系统接收包括多个词(“are there ada jobs outside austin”)的输入605。系统解析输入605并且确定词之间的依赖性610。系统从依赖性610构造图615。如图所示,图615包括用于每个词和每个依赖性的节点,它们以不同的跃点布置。

系统从图615生成双向节点嵌入620(节点嵌入220的一个示例)。如图所示,对于每个节点,双向节点嵌入620包括节点的前向表示和后向表示的级联。双向节点嵌入620通过图神经网络的完全连接(FC)层210来馈送,并且逐元素最大池操作在双向节点嵌入620上执行以生成图嵌入225。

树解码器135接收图嵌入225。树解码器135使用LSTM单元对子树的深度1处与逻辑形式t的部分相对应的逻辑形式解码,直到遇到特殊令牌。树解码器135还通过以对应非终端节点的隐藏表示为条件来生成逻辑形式的部分。为了充分利用非终端节点的信息,采用父馈送方案来提供非终端节点嵌入的附加输入,以增强输入并且馈送到LSTM中。

在一些实施例中,树解码器135包括用于确定图615与由树解码器135生成的逻辑表示之间的对准的注意机制。注意机制可以将输入的隐藏向量合并到由树解码器135执行的解码中。在一些实施例中,树解码器135确定上下文向量625(表示为s

在一些实施例中,树解码器135在与原始词令牌和解析树节点相对应的节点表示上计算单独的注意机制,以计算最终上下文向量630(表示为隐藏状态

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质上具有用于引起处理器执行本发明的各方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者用一种或多种编程语言(包括面向对象的编程语言,诸如Smalltalk、C++等;以及常规过程编程语言,诸如“C”编程语言或类似编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以如下执行:完全在用户的计算机上,部分在用户计算机上,作为独立软件包,部分在用户计算机上并且部分在远程计算机上,或者完全在远程计算机或服务器上。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以与外部计算机建立连接(用于例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路系统、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)在内的电子电路系统可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路系统以便执行本发明的各方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

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

尽管前述内容涉及本发明的实施例,但是在不脱离本发明的基本范围的情况下,可以设计本发明的其他和另外的实施例,并且本发明的范围由所附权利要求书确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号