CN112580357A - 自然语言查询的语义解析 - Google Patents
自然语言查询的语义解析 Download PDFInfo
- Publication number
- CN112580357A CN112580357A CN201910930771.3A CN201910930771A CN112580357A CN 112580357 A CN112580357 A CN 112580357A CN 201910930771 A CN201910930771 A CN 201910930771A CN 112580357 A CN112580357 A CN 112580357A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- natural language
- data
- predetermined symbol
- symbols
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 45
- 238000013528 artificial neural network Methods 0.000 claims description 37
- 238000012549 training Methods 0.000 claims description 29
- 230000009471 action Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013459 approach Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 15
- 238000000605 extraction Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006740 morphological transformation Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据本公开的实现,提出了一种用于自然语言查询的语义解析的方案。在该方案中,针对数据表的自然语言查询被接收,其中自然语言查询包括多个词。与数据表相关联的一组知识表示被获取,该组知识表示以结构化方式描述理解针对数据表的自然语言查询所需的知识。通过基于该组知识表示将多个词替换成预定符号表中的相应符号,将自然语言查询转换成符号序列。与自然语言查询相对应的计算机可执行查询基于该符号序列被生成。本方案能够将来自不同领域的各种知识表示成通用的结构化知识表示,从而使用这些知识表示来帮助理解自然语言查询的语义并且生成对应的计算机可执行查询。
Description
背景技术
数据库的自然语言接口(NLIDB)允许用户使用自然语言来查询数据库,从而减轻了用户学习数据库查询语言的负担。与使用结构化查询语言(SQL)进行数据库查询的传统方法相比,这提供了更好的交互体验。通过使用语义解析技术,自然语言查询可以被转换为计算机可执行的查询(例如,SQL查询),以从数据库中检索答案。知识理解在自然语言查询的语义解析中起到重要的作用。在使用自然语言查询数据库时,来自不同领域的用户可能基于各个领域的不同类型的背景知识来生成自然语言查询。因此,往往需要基于这些背景知识才能准确理解自然语言查询的真实语义并实现自然语言查询到计算机可执行的查询的转换。
发明内容
根据本公开的实现,提出了一种用于自然语言查询的语义解析的方案。在该方案中,针对第一数据表的第一自然语言查询被接收,其中第一自然语言查询包括多个词。与第一数据表相关联的第一组知识表示被获取,第一组知识表示以结构化方式描述理解针对第一数据表的自然语言查询所需的知识。通过基于第一组知识表示将多个词替换成预定符号表中的相应符号,将第一自然语言查询转换成第一符号序列。基于第一符号序列来生成与第一自然语言查询相对应的第一计算机可执行查询。本方案能够将来自不同领域的各种知识表示成统一的知识表示,从而使用这些知识表示来帮助理解自然语言查询的语义并且生成对应的计算机可执行查询。
提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示出了能够实施本公开的多个实现的计算设备的框图;
图2示出了根据本公开的实现的用于对自然语言查询进行语义解析的解析模块的框图;
图3A示出了根据本公开的实现的获取与数据表相关联的知识表示的示意图;
图3B示出了根据本公开的实现的对应于数据表的示例本体图;
图4示出了根据本公开的实现的将自然语言查询转换成符号序列的示意图;
图5示出了根据本公开的实现的生成与符号序列相对应的逻辑表示的示意图;
图6示出了根据本公开的实现的用于训练神经网络的系统的框图;以及
图7示出了根据本公开的实现的用于解析自然语言查询的方法的流程图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“自然语言”指的是人类用于书面交流或口头交流的日常语言。自然语言的示例包括中文、英文、德文、西班牙文、法文等等。术语“机器语言”指的是计算机可直接执行的指令,也被称为计算机语言或计算机编程语言。机器语言的示例包括结构化查询(SQL)语言、SPARQL协议和RDF查询语言(SPARQL)、C/C+语言、Java语言、Python语言等。机器查询语言是一种机器语言,诸如SQL、SPARQL等,用于引导计算机执行查询操作。在以下描述中,将以英文作为自然语言的示例。然而应当理解,这仅仅出于示例的目的,而无意于限制本公开的范围。本公开的实现可以适用于各种不同的自然语言。
如以上提及的,数据库的自然语言接口(NLIDB)允许用户使用自然语言来查询数据库,从而减轻了用户学习数据库查询语言的负担。与使用结构化查询语言(SQL)进行数据库查询的传统方法相比,这提供了更好的交互体验。通过使用语义解析技术,自然语言查询可以被转换为计算机可执行的查询(例如,SQL查询),以从数据库中检索答案。
知识理解在自然语言查询的语义解析中起到重要的作用。在使用自然语言查询数据库时,来自不同领域的用户可能基于各个领域的不同类型的背景知识来生成自然语言查询,例如(查询“最昂贵的产品”或查询“二年级最老的学生”)。这些自然语言查询都涉及在原始数据库表中无法找到的知识(例如,“最昂贵”涉及对产品价格进行降序排序,“二年级最老”涉及对二年级的学生年龄进行降序排序等)。因此,往往需要基于这些背景知识才能准确理解自然语言查询的真实语义并实现自然语言查询到计算机可执行查询的转换。
一些传统方案将理解自然语言查询所需的背景知识隐含地编码在用于解析自然语言查询的模型参数中。也就是说,背景知识将在模型训练过程中从训练数据集中提取。然而,从训练数据集中提取背景知识可能存在局限性。首先,期望从有限的训练数据集中提取理解自然语言查询所需的所有背景知识是不可能的。其次,随着时间的推移世界的发展,背景知识可能被更新。在这些传统方案中,需要重新进行模型训练才能将更新后的背景知识编码到模型参数中,这显然会导致巨大的模型训练开销。
根据本公开的实现,提出了一种用于自然语言查询的语义解析的方案。该方案能够将来自不同领域的各种知识表示通用的结构化知识表示(也称为“知识框架”)。通过利用通用知识框架来表示知识,在训练用于解析自然语言查询的模型时,仅需要学习如何使用这些通用的知识框架来帮助理解自然语言查询的真实语义。当面对新领域中的自然语言查询时,可以将来自新领域的背景知识表示为通用知识框架。由于用于解析自然语言查询的模型基于通用知识框架而被训练,因此该模型能够直接基于来自新领域的通用知识框架来解析该新领域中的自然语言查询,而无须重新训练。
以下进一步结合附图来详细描述该方案的各种示例实现。
示例环境
图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。
在一些实现中,计算设备100可以被实现为各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(CPU)、微处理器、控制器、微控制器。
计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如内存、闪存驱动、磁盘或者任何其他介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。
计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
在一些实现中,除了被集成在单个设备上之外,计算设备100的各个部件中的一些或所有部件还可以以云计算架构的形式被设置。在云计算架构中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过web浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及相应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并或者它们可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文所描述的组件和功能。备选地,它们可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。
计算设备100可以用于实施本公开的多种实现中的对自然语言查询的语义解析。存储器120可以包括一个或多个模块,其具有一个或多个程序指令,这些模块可以由处理单元110访问和运行,以实现本文所描述的各种实现的功能。存储器120可以包括解析模块122,用于执行语义解析功能。存储器120还可以包括查询模块126,用于执行数据查询功能。
在执行语义解析时,计算设备100能够通过输入设备150接收自然语言查询170。自然语言查询170可以由用户输入,并且包括基于自然语言的语句,诸如包括多个词。在图1的示例中,自然语言查询170是以英语书写的语句“Who got the cheapest iPhone8?”。自然语言查询170可以被输入用于查询特定知识库,例如存储在存储设备130中的数据表132。数据表132例如包括多个数据列,数据列的列名分别为“Customer(客户)”、“Salesman(销售员)”、“Product(商品)”,“Price(价格)”和“Sales(销售额)”以及由行和列限定数据项,例如“Tom”、“Marry”等。
自然语言查询170被输入给存储器120中的解析模块122。解析模块122可以解析自然语言查询170,并且可以生成针对数据表132的计算机可执行查询124。计算机可执行查询124是由机器语言、特别是机器查询语言编写的查询。在图1的示例中,计算机可执行查询124是以SQL语言编写的查询“Select Customer where Product=iPhone8ORDERBY Priceasc LIMIT 1”。
计算机可执行查询124可以被提供给查询模块126。查询模块126可以执行计算机可执行查询124,以从数据表132中查询出以最便宜的价格购买了商品iPhone8的客户。查询模块126将查询结果180提供给输出设备160,并由输出设备160输出以作为对于自然语言查询170的响应。在图1的示例中,查询结果180被呈现为自然语言语句“Tom”。虽然在图1中查询结果180被图示为自然语言语句,在另外的实现中,根据具体查询结果类型和实际需要,还可以将查询结果呈现为数值、表、图、或者诸如音频和视频等其他形式。这方面的实现不受限制。
应当理解,图1示出的自然语言查询170、计算机可执行查询124、查询结果162以及数据表132仅用于示例的目的,不作为对本公开的实现的任何限制。虽然以SQL为例进行说明,自然语言查询可以被转换为任何其他机器语言形式的计算机可执行查询。数据表132或者其他用于查询的知识库可以被存储在计算设备10的本地或者被存储在经由通信单元140可访问的外部存储设备或数据库中。在一些实现中,计算设备100可以仅执行语义解析工作,并且将解析结果提供给其他设备用于实现计算机可执行查询的生成和/或查询结果的确定。因此,计算设备100的存储器120可以不包括查询模块126。
工作原理
根据本公开的实现,提出了一种用于自然语言查询的语义解析的方案。在该方案中,针对数据表的自然语言查询被接收,其中自然语言查询包括多个词。与数据表相关联的一组知识表示被获取,该组知识表示以结构化方式描述理解针对数据表的自然语言查询所需的知识。通过基于该组知识表示将多个词替换成预定符号表中的相应符号,将自然语言查询转换成符号序列。与自然语言查询相对应的计算机可执行查询基于该符号序列被生成。本方案能够将来自不同领域的各种知识表示成统一的知识表示,从而使用这些知识表示来帮助理解自然语言查询的语义并且生成对应的计算机可执行查询。
图2示出了根据本公开的一些实现的用于解析自然语言查询的解析模块122。解析模块122可以被实现在图1的计算设备100中。如图2所示,解析模块122可以包括知识提取单元210、数据抽象单元220和语义解析单元230。
知识提取单元210可以从数据表132(本文中也称为“第一数据表”)中提取一组知识表示201(本文中也称为“第一组知识表示”),其中知识表示201以结构化方式描述理解针对数据表132的自然语言查询所需的知识。数据抽象单元220可以通过基于一组知识表示201将自然语言查询170中的多个词替换成预定符号表中的相应符号,将自然语言查询170转换成符号序列202(本文中也称为“第一符号序列”)。语义解析单元230可以基于符号序列202来生成与自然语言查询170相对应的计算机可执行查询124(本文中也称为“第一计算机可执行查询”)。
应当理解,如图2所示的解析模块122的结构和功能仅出于示例目的而示出,不旨在限制本公开的范围。在一些实现中,解析模块122可以具有与图2不同的结构和/或功能。
知识表示的提取
如图2所示的知识提取单元210可以从数据表132中提取一组知识表示201。知识表示201以结构化方式描述理解针对数据表132的自然语言查询所需的知识。
在一些实现中,无论数据表132涉及何种应用领域,知识表示201中的每个知识表示可以指示以下一项或多项:该知识表示所描述的知识类型;数据表132中与该知识表示有关的数据列;自然语言查询中可能出现的与该数据列有关的至少一个词;以及由至少一个词所指示的语义信息。在一些实现中,这些信息可以以键值(key-value)对的形式记录在每个知识表示中。
在一些实现中,每个知识表示所描述的知识类型可以大体上分为以下三种:描述实体或者数据表中的数据列的列名的第一知识类型;描述数据表中的数据列的属性的第二知识类型;以及描述与数据表中的数据列有关的动作的第三知识类型。在一些实现中,根据所描述的实体的进一步分类,第一知识类型例如可以进一步包括人物(Person)类型、位置(Location)类型、时间(Time)类型、度量单位(Unit)类型(例如,美元)等等。
在一些实现中,具有第二知识类型的知识表示通常对应于自然语言查询中的形容词句式(adjective phrasing)。在一些实现中,具有第二知识类型的知识表示可以指示该知识表示所描述的知识类型、数据表中与该知识表示有关的数据列、自然语言查询中可能出现的与该数据列有关的至少一个形容词、以及至少一个形容词的修饰方向。例如,以表132中的数据列“Price(价格)”为例,诸如“cheap(便宜)”、“low(低)”之类的形容词反向地修饰“Price(价格)”,而诸如“expensive(昂贵)”、“high(高)”之类的形容词则正向地修饰“Price(价格)”。
在一些实现中,具有第三知识类型的知识表示通常对应于自然语言查询中的动词句式(verb phrasing),例如主谓句式、动宾句式、动补句式等。
以下结合图3A进一步举例说明每种类型的知识表示。图3A示出了根据本公开的实现的与数据表132相关联的知识表示201的示意图。如图3A所示,从数据表132中可以提取第一知识类型的知识表示310-1和310-2,第二知识类型的知识表示320-1和320-2,以及第三知识类型的知识表示330-1、330-2、330-3和330-4。
知识表示310-1例如为人物类型,其涉及数据表132中的数据列“Customer”。在自然语言查询中可能用于指代数据列“Customer”的词例如包括“who”。类似地,知识表示310-2例如为人物类型,其涉及数据表132中的数据列“Salesman”,在自然语言查询中可能用于指代该数据列的词例如包括“who”。
知识表示320-1例如为描述数据列“Price”的属性的第二知识类型,其涉及数据表132中的数据列“Price”。在自然语言查询中可能用于反向修饰数据列“Price”的词例如包括“cheap(便宜)”、“low(低)”等。类似地,知识表示320-2例如为描述数据列“Price”的属性的第二知识类型,其涉及数据表132中的数据列“Price”。在自然语言查询中可能用于正向修饰数据列“Price”的词例如包括“expensive(昂贵)”、“high(高)”等。
知识表示330-1例如为描述与数据列“Salesman”有关的动作的第三知识类型,其涉及数据表132中的数据列“Salesman”。在自然语言查询中可能用于描述与数据列“Salesman”有关的动作的词例如为“sell(卖)”。知识表示330-2例如为描述与数据列“Customer”有关的动作的第三知识类型,其涉及数据表132中的数据列“Customer”。在自然语言查询中可能用于描述与数据列“Customer”有关的动作的词例如包括“buy(买)”、“purchase(购买)”等。知识表示330-3例如为描述与数据列“Product”有关的动作的第三知识类型,其涉及数据表132中的数据列“Product”。在自然语言查询中可能用于描述与数据列“Product”有关的动作的词例如包括“sell(卖)”、“buy(买)”等。类似地,知识表示330-4例如为描述与数据列“Sales”有关的动作的第三知识类型,其涉及数据表132中的数据列“Sales”。在自然语言查询中可能用于描述与数据列“Sales”有关的动作的词例如包括“sell(卖)”等。
应当理解,图3A所示的各个知识表示仅出于示例目的而示出,以帮助本领域技术人员理解如何将不同领域的知识表示成通用的知识框架,而不旨在限制本公开的范围。在其他实现中,可以从数据表132中提取更多的知识表示,和/或与图3A不同的知识表示。
在一些实现中,知识提取单元210可以利用任何已知或将来开发的方法来自动、半自动或以人工方式生成例如图3A所示的知识表示201,包括但不限于,启发式方法、基于神经网络的方法、基于强化学习的方法、众包方法、基于数据挖掘的方法、基于专家知识的方法、基于人工交互的方法等。本公开的范围在此方面不受限制。在一些实现中,知识提取单元210可以首先基于数据表132来生成本体图(ontology graph),以用于描述各数据列的类型、属性以及不同数据列之间的关系。知识提取单元210可以基于本体图来生成例如图3A所示的知识表示201。本体图可以以自动或人工方式被生成。
图3B示出了根据本公开的实现的对应于数据表132的示例本体图350。如图3B所示,利用方框来表示的节点351、352……355分别对应于数据表132中的数据列“Salesman”、“Customer”、“Product”、“Price”和“Sales”。节点356和358分别表示涉及这些数据列的动作“Sell(卖)”和“Buy(买)”。例如,数据列“Salesman”是动作“Sell”的主语,数据列“Customer”是动作“Sell”的间接宾语,数据列“Product”是动作“Sell”的直接宾语,数据列“Sales”是动作“Sell”的补语。又例如,数据列“Customer”是动作“Buy”的主语,而数据列“Product”是动作“Buy”的直接宾语。数据列“Salesman”和数据列“Customer”的类型由节点357表示,其表示类型“Person(人物)”。另外,数据列“Price”是数据列“Product”的属性。数据列“Sales”的数量由节点359表示,其表示“Money”。“Money”的单位由节点362表示,节点362表示“Dollar”。用于正向修饰数据“Price”的词由节点360表示,包括例如“expensive”、“high”等。用于反向修饰数据“Price”的词由节点361表示,包括例如“cheap”、“low”等。知识提取单元210可以基于如图3B所示的本体图350来生成如图3A所示的知识表示201。
数据抽象
如图2所示的数据抽象单元220可以通过基于一组知识表示201将自然语言查询170中的多个词替换成预定符号表中的相应符号,将自然语言查询170转换成符号序列202。符号序列202中的多个预定符号的排列顺序与对应的多个词在自然语言查询170中的排列顺序相同。通过将自然语言查询170中的原始词汇映射到预定符号表中的有限预定符号,可以降低不同自然语言中的过多词汇的解析难度。
预定符号表也称为“预定词典”。在一些实现中,预定符号表中的符号可以包括指示与数据表相关的信息或数据的预定符号,以及与各种知识类型的知识表示相对应的预定符号。这类预定符号可以继续推演出其他符号,因此也可以被称为元数据符号,并且可以被包含在元数据符号集中。以下表1中给出了元数据符号集中的预定符号的一些示例。应当理解,表1中的英文字母类型的符号仅仅是示例,任何其他符号也是可行的。
表1元数据符号集
在表1中,符号C可以用于替换自然语言查询170中与数据表132中的数据列的列名相匹配的词,以及具有第一知识类型的知识表示(例如,如图3A所示的知识表示310-1和310-2)所指示的词(例如,“who”)。符号C具有属性“数据列”(可表示为col,如C.col)和“类型”(可表示为type,如C.type)。属性“数据列”记录该符号C所涉及的数据表132中的数据列的列名。属性“类型”可以是数据列中的数据的类型,诸如字符串、数值、日期等;或者第一知识类型所包括的那些类型,诸如人物、位置、时间、度量单位等。
符号V用于替换自然语言查询170中与数据表132中的一般数据项的值相匹配的词。符号N用于替换自然语言查询170中与数据表132中指示数值/数值范围的数据项的值相匹配的词。符号D用于替换自然语言查询170中与数据表132中指示日期/时间的数据项的值相匹配的词。符号V、N和D都具有属性“值”(可表示为value)和“数据列”(可表示为col),其中属性“值”记录由行和列限定的数据项的值,而属性“数据列”指示这些数据项所在的数据列。
符号ADJ用于替换自然语言查询170中由具有第二知识类型的知识表示(例如,如图3A所示的知识表示320-1和320-2)所指示的词(例如,“cheap”、“low”、“high”等),包括其比较级和最高级。符号ADJ具有属性“数据列”(可表示为col)和“修饰方向”(可表示为direction)。属性“数据列”记录该形容词所修饰的数据表132中的数据列的列名。属性“修饰方向”可以指示正向修饰(可表示为“+”)或反向修饰(可表示为“–”)。
符号VERB用于替换自然语言查询170中由具有第三知识类型的知识表示(例如,如图3A所示的知识表示330-1和330-2)所指示的词(例如,“buy”、“sell”、“purchase”等)。符号VERB具有属性“数据列”(可表示为col),用于记录该动作(动词)所针对的数据表132中的数据列的列名。
除了如表1所示的元数据符号之外,预定词典中的符号还可以包括指示给定自然语言中的特定词的符号。这样的特定词可以包括但不限于:重要的停用词,例如英文中的“by”、“of”、“with”等等;与数据运算和/或数据聚合相关的词,例如英文中的“group”、“sort”、“different”、“sum”、“average”、“count”等等;与比较相关的词,诸如英文中的“greater”、“than”、“less”、“between”、“most”等等;和/或冠词“a”、“an”、“the”等等。在数据抽象过程中,这样的特定词可以不被替换。备选地,这些特定词也可以由与元数据符号不同的统一符号替换,例如“PAT”。在一些实现中,还可以设置一个特殊符号,用于替换未知词,该特殊符号可以是任何区别于其他预定符号的符号,诸如“UNK”。可以看出,预定符号表中的预定符号不是某个数据表或某个领域所特定的,而是对于所有领域或所有数据表通用的。
在数据抽象过程中,可以采用多种技术来执行自然语言查询170中的一个或多个词与预定符号的匹配。在一些实现中,数据抽象单元220将自然语言查询170的多个词进行分割(即分词)和/或执行词形变换,从而获得多组词,每一组包括一个或多个词。备选地,在一些实现中,可以不执行分词,而直接将多个词逐个划分。然后,数据抽象单元220可以遍历自然语言查询170中的每组词或者每个词,以基于预定符号表中的符号的语义来确定应当将每组词或每个词替换为哪个预定符号。
图4示出了根据本公开的实现的将自然语言查询170转换成一个或多个符号序列202的示意图。图4中的自然语言查询170如图1所给出的具体自然语言查询语句。如图4所示,数据抽象单元220可以确定词“Who”与如图3A所示的具有第一知识类型的知识表示310-1和310-2所指示的词相匹配,因此将该词替换为符号“C”。词“got”无法与表1所示的元数据符号相匹配也不属于以上描述的那些特定词,因此数据抽象单元220将该词替换成符号“UNK”。词“the”属于以上描述的那些特定词,因此可以不被替换。词“cheapest”与如图3A所示的具有第二知识类型的知识表示320-1所指示的词“cheap”相匹配,因此数据抽象单元220将该词替换成符号“ADJ”。词“iphone8”与数据表132中的一般数据项的值相匹配,因此数据抽象单元220将该词替换成符号“V”。对于自然语言查询170中出现的标点符号,数据抽象单元220可以不进行替换。以此方式,数据抽象单元220可以将自然语言查询170转换为符号序列202“C UNK THE ADJ V?”。
在数据抽象过程中,对于自然语言查询170中的词,数据抽象单元220可能识别出多种匹配结果。例如,词“who”既可以与如图3A所示的具有第一知识类型的知识表示310-1相匹配,以指代数据列的列名“Customer”;也可以与如图3A所示的具有第一知识类型的知识表示310-2相匹配,以指代数据列的列名“Salesman”。在一些实现中,预定符号表中的每个元数据符号(例如,如表1所示的那些符号)可以具有对应的属性。数据抽象单元220可以生成带有属性信息的一个或多个符号序列,以表示所有可能的匹配。
图4示出了两种符号序列202-1和202-2,两者均对应于符号序列“C UNK THE ADJV?”,但是具有不同的符号属性信息。例如,在符号序列202-1中,符号C的属性信息指示了其相关的数据列列名“Customer”和其对应的知识表示的类型“Person”,符号ADJ的属性信息指示了其相关的数据列列名“Price”以及其修饰方向“–”(“–”表示反向修饰),符号V的属性信息指示了其相关的数据列列名“Price”和具体的数据项的值“iphone8”。与符号序列202-1不同,在符号序列202-2中,符号C的属性信息指示了其相关的数据列列名“Salesman”和其对应的知识表示的类型“Person”。
通过数据抽象过程,可以将自然语言查询170中的与数据表有关的信息、与知识表示对应的词、特定词等提取出来,并且可以用特殊预定符号(UNK)替换不存在于预定词典中的未知词。以此方式,具有较多可能词汇的自然语言查询被局限到有限符号表中,这使得后续的语义解析能够独立于特定领域和数据表,并且能够快速执行。
基于符号序列的语义解析
如图2所示的语义解析单元230可以基于符号序列202来生成与自然语言查询170相对应的计算机可执行查询124。语义解析单元230可以利用根据语义解析器来将符号序列202转换成与自然语言查询170相对应的计算机可执行查询124,包括但不限于基于规则的语义解析器或者基于神经网络的语义解析器。
在一些实现中,语义解析单元230可以通过向符号序列202应用推演规则集合,将符号序列202转换成多个逻辑表示,每个逻辑表示对应于自然语言查询170的一种预测语义。语义解析单元230可以从多个逻辑表示中选择与自然语言查询170的真实语义匹配度最高的逻辑表示,然后基于所选择的逻辑表示来生成计算机可执行查询124。
为了生成逻辑表示以促进语义解析,语义解析单元230可以向符号序列202应用不同的推演规则。每个推演规则定义了符号变换规则,其指示如何从当前符号推演出另一符号(本文也称为“推演符号”)。“推演符号”在本文中指的是从符号序列中的预定符号推演得到的符号。取决于具体的推演规则,推演符号可以选自元数据符号集(例如表1中所提供的那些)以及另一操作符号集。操作符号集包含一个或多个操作符号,其可以被映射到相应的数据分析操作。数据分析操作是计算机可解释且可执行的。通常,数据分析操作的对象是数据表132中的数据列。因此,每个操作符号可以具有属性“col”,以指示其对应的数据分析操作所针对的数据列。表2中给出了操作符号集的示例。应当理解,在其他实现中,操作符号集可以包括更多、更少或者不同的操作符号。
表2操作符号集
符号 | 属性 | 数据分析操作 |
A | 数据列 | 聚合 |
G | 数据列 | 分组 |
F | 数据列 | 过滤 |
S | 数据列 | 求极值 |
符号A的语义对应于聚合操作,其属性为“数据列(可表示为A.col)”,用于记录要被聚合的一个或多个列。符号G的语义对应于分组操作,其属性“列”用于记录要被分组的一个或多个列。符号F的语义对应于过滤操作,其属性“列”用于记录要应用过滤操作的列。符号S的语义对应于求极值操作,其属性“列”用于记录要应用取最值操作(取最大值、取最小值等)的列。
在应用推演规则时,可以从符号序列202中的一个或多个预定符号推演出另一预定符号。除了符号变换外,每个推演规则还可以定义应用条件,该应用条件指定在预定符号满足何种条件的情况下才能对其应用该推演规则。通过推演规则的应用,从预定符号获得的推演符号可以被映射到数据分析域中的操作或表示,这有利于后续生成的逻辑表示表征自然语言查询的某种语义,该语义是由计算机可解释(例如通过谓词逻辑来解释)。
在详细描述语义解析单元230如何生成与符号序列202对应的多个逻辑表示之前,首先讨论一些推演规则的示例。应当理解,所讨论的具体推演规则仅作为示例,而不旨在限制本公开的范围。
在一些实现中,对于组成符号序列的多个预定符号,仅针对其中来自元数据符号集(例如表1)的预定符号执行应用推演规则,因为这些符号指示与数据表相关的信息和/或指示对应的知识表示。在一些实现中,在前一次推演的基础上还可以继续推演(只要满足应用条件),因此推演规则还可以被应用在来自操作符号集合的预定符号。
在一些实现中,根据推演规则的不同,推演规则可以被划分为两个类别。第一类别的推演规则称为合成推演规则,其定义将两个预定符号合成为一个推演符号。取决于规则设置,推演符号在表现形式上可以与两个预定符号中的某个符号的相同或者与两个符号均不同。合成推演规则是重要的,因为可以反映语义中的组合特性。
以下表3中给出了合成推演规则的一些示例。
表3合成推演规则的示例
在表3中,标识“|”指示该标识两边的符号是“或”的关系,即取其一。在每个推演规则中,推演符号以上标“⌒”来特别标注,但推演符号仍然可以被认为是元数据数据集或操作符号集中的预定符号,虽然它的属性被特别设置。在下文中,推演符号有时不使用特殊上标来指示。还要注意,在推演中,“+”左右两侧的符号的顺序不影响该推演规则的使用。例如,“C+T”与“T+C”相同。
在表3中,第一列“推演和谓词逻辑”指示从左边的两个预定符号可以推演出右边的预定符号及其对应的谓词逻辑。这些符号变换/推演规则主要来自关系代数,并且谓词逻辑被映射到数据分析领域中的操作。表3中列出了谓词逻辑,诸如投射(project)、过滤(filter)、等同(equal)、大于(more)、小于(less)、和/或(and/or)、取最大/最小(argmax/argmin)或组合(combine)。第二列“应用条件”指示该推演规则在何种条件下可以被应用。应用条件的设置可以来自专家知识。通过设置应用条件,可以避免在对推演规则的随机排列组合应用时导致过多的冗余使用情况,从而极大减少搜索空间。例如,对于推演和谓词逻辑应用条件定义只有在预定符号“C”的属性(即类型)属于字符串或者日期时,才将符号“G”和“C”合成为推演符号
第三列“属性设置规则”指示如何设置推演符号的属性。在应用推演规则执行解析时,对推演符号的属性的设置可以用于后续推演以及对于计算机可执行查询的生成。例如,属性设置规则意味着推演符号的属性“列”将被设置为预定符号C、A、G或S的属性“列”所记录的列名称。
此外,在合成推演规则中还引入了修饰操作(modify)。这个符号基于语义解析领域中关于选区语法的X-bar理论,基于该理论,在词组中,带有一些修饰词的某些词可以被认为是中心词。发明人在设计适用于数据查询场景下的合成推演规则时发现,某些预定符号,诸如F和S可以被合成为其中一个预定符号,该预定符号是先前两个预定符号中表达其中心语义的符号(例如,)。合成的推演符号沿用先前的预定符号的属性,但修饰操作(modify)的谓词被指派给推演符号。这样的合成推演规则有助于正确解析语言学上的正-偏词组结构。虽然表3中仅给出了涉及修饰操作的一些推演规则,但根据需要还可以涉及更多的其他推演规则。
在一些实现中,还可以定义用于一对一的符号推演的推演规则。这样的推演规则可以被称为提升推演规则。提升推演规则涉及从指示数据表相关信息的预定符号推演出指示数据表相关信息的另一预定符号。在设计提升推演规则时,还可以避免出现提升语法循环(例如,两个预定符号可以不断相互转换),这可以通过设计推演规则的应用条件来实现。提升语法循环的抑制可以有效降低后续生成逻辑表示的数目。
表4给出了提升推演规则的一些示例。例如,定义推演规则 的推演规则允许从符号C推演出符号条件在于符号C对应的类型属性是数值(即,C.type=num)。推演符号A被映射到谓词逻辑可以包括与数值相关的多种谓词逻辑,诸如取最小值(min)、取最大值(max)、取总和(sum)、取平均值(average)。表4中的其他推演规则也是可以理解的。
表4提升推演规则的示例
在一些实现中,除了上述合成推演规则和提升推演规则以外,针对符号序列中对应于知识表示的各个符号及其组合,可以定义附加推演规则。附加推演规则涉及从对应于知识表示的预定符号推演出指示数据表相关信息的另一预定符号。表5给出了提升推演规则的一些示例。例如,定义推演规则的推演规则允许从对应于第一知识类型的知识表示的符号C推演出符号条件在于符号C对应的类型属性是人物、位置、时间之一(即,C.type=person|location|time)。定义推演规则的推演规则允许从对应于第一知识类型的知识表示的符号C推演出符号条件在于符号C对应的类型属性是人物、位置、时间、度量单位之一(即,C.type=person|location|time|unit)。
表5针对知识表示的推演规则的示例
以上讨论了不同推演规则的示例。应当理解,基于专家知识以及具体的数据查询场景,可以设置更多、更少或者不同的推演规则。
在一些实现中,语义解析单元230可以使用自底向上的语义解析,从符号序列202解析出多个语义解析树以作为多个逻辑表示。语义解析单元230可以利用各种语义解析方法的技术来生成逻辑表示。每个语义解析树的节点包括在应用相应的推演规则集后获得的推演符号和/或该推演符号对应的谓词逻辑。在一些实现中,每个语义解析树的节点还可以包括获得该推演符号对应的符号序列部分,即该推演符号被映射到的符号序列部分。每个语义解析树可以被认为对应于自然语言查询170的一个预测语义。
在一些实现中,针对每个符号序列202,使用自底向上的语义解析,可以从其包含的多个预定符号出发,在某个推演规则的应用条件满足时应用推演规则以获得推演符号,直到获得最后一个推演符号作为该语义解析树的顶点。举例而言,可以利用CKY算法来执行对符号序列202的自底向上的语义解析。CKY算法的使用可以实现动态规划,并且能够加速推理过程。此外,能够支持在特定规则基础上实现自底向上的语义解析的任何其他算法也可以被采用。本公开的实现的范围在此方面不受限制。
在生成语义解析树的过程中,语义解析单元230在多个推演规则的应用条件被满足时做出不同的选择,从而可以获得不同语义解析树。基本上,语义解析单元230搜索根据推演规则定义的所有可能的逻辑表示。以此方式,可以预测出自然语言查询170的所有可能语义。由于符号序列中可能的预定符号的数目有限,并且不同推演规则在一定条件下才会触发、而不是无条件使用,因此在本公开的实现中,语义解析树的搜索空间是有限的,这可以提高逻辑表示生成以及后续操作的效率。同时,预定符号和推演规则的设计还可以确保语法的灵活性和表达性,从而维持语义解析准确性。
图5示出了根据本公开的实现的生成与符号序列相对应的逻辑表示的示意图。图5示出了针对数据表132的自然语言查询510“Who sold an iPone8 to Tom?”。如图2所示的数据抽象单元220例如将自然语言查询510转换成符号序列520“C(Salesman,Person)VERBAN V(iPhone8,Product)TO V(Tom,Customer)?”
语义解析单元230可以基于符号序列520中的符号C(Salesman,Person)、VERB、V(iPhone8,Product)及V(Tom,Customer)来生成语义解析树530的叶节点531、532、533和534。语义解析单元230可以确定符号C(Salesman,Person)和符号VERB的组合符合如表5所示的推演规则的应用条件,因此可以通过应用该推演规则来生成叶节点531和532的父节点537,其表示推演符号C:Salesman。语义解析单元230可以确定符号V(iPhone8,Product)和符号V(Tom,Customer)分别符合如表4所示的推演规则 的应用条件,因此可以通过应用该推演规则来生成叶节点533的父节点535和叶节点534的父节点536,节点535和536分别表示推演符号F:equal。语义解析单元230可以进一步应用如表3所示的推演规则来生成节点535和536的父节点538,其例如表示推演符号F:and。语义解析单元230可以进一步应用如表3所示的推演规则来生成节点537和538的父节点539,其例如表示推演符号C:Salesman。
应当理解,图5中所示的语义解析树形式的逻辑表示530仅是示例性的,而不暗示针对每个符号序列仅能生成唯一逻辑表示。在一些实现中,语义解析单元230可以针对符号序列202生成多个逻辑表示,每个逻辑表示对应于自然语言查询170的一种预测语义。语义解析单元230可以从多个逻辑表示中选择与自然语言查询170的真实语义匹配度最高的逻辑表示,并且基于所选择的逻辑表示来生成计算机可执行查询124。
在一些实现中,语义解析单元230可以利用经训练的神经网络来从多个逻辑表示中选择与自然语言查询170的真实语义匹配度最高的逻辑表示。神经网络通常被构造为包括多个神经元,每个神经元根据训练获得的参数来处理输入,并产生输出。神经网络的所有神经元的参数组成神经网络的参数集。当神经网络的参数集被确定时,神经网络可以被运行以执行相应功能。在本文中,神经网络也可以被称为“模型”、“学习网络”、“神经网络模型”或“网络”。
在一些实现中,由语义解析单元230使用的神经网络可以被训练为确定多个逻辑表示中的每个逻辑表示对应的预测语义的语义置信度,语义置信度例如可以指示该逻辑表示反映自然语言查询170的真实语义的概率。语义解析单元230可以基于多个逻辑表示的相应语义置信度来选择与最高语义置信度相关联的逻辑表示,并且基于该逻辑表示来生成计算机可执行查询124。由于逻辑表示是一种计算机可解释的表示形式(例如,如图5所示的语义解析树530),因此计算机可以容易地将逻辑表示转换为由机器查询语言编写的计算机可执行查询(诸如SQL查询)。例如,针对如图5所示的语义解析树530,所生成的计算机可执行查询可以是“Select Salesman where Customer=Tom and Product=iPone8”。应当理解,可以使用任何已知方法或将要开发的方法来实现计算机可执行查询的生成,本公开的范围在此方面不受限制。
备选地,在一些实现中,神经网络也可以被训练为基于符号序列202而直接地生成反映自然语言查询170的真实语义的计算机可执行查询124。也即,如图2所示的语义解析单元230可以直接利用该神经网络,基于符号序列202来生成与自然语言查询170相对应的计算机可执行查询124。
模型训练
图6示出了根据本公开的实现的用于训练神经网络的系统600的框图。系统600可以用于训练将由语义解析单元230使用的神经网络。例如,系统600可以用于训练能够确定多个逻辑表示的相应语义置信度的神经网络,或者用于训练能够基于符号序列而直接地生成与之对应的计算机可执行查询的神经网络。
如图6所示,系统600总体可以包括知识提取单元610、数据抽象单元620和神经网络训练单元630。系统600的输入可以包括用于训练的数据表601(本文中也称为“第二数据表”)、针对数据表601的自然语言查询602(本文中也称为“第二自然语言查询”)以及与自然语言查询602语义匹配的计算机可执行查询603(本文中也称为“第二计算机可执行查询”)。第二数据表601可以是与第一数据表132相同或者不同的数据表。第二数据表601所涉及的领域可以与第一数据表132所涉及的领域相同或者不同。
知识提取单元610可以从第二数据表601提取一组知识表示604(本文中也称为“第二组知识表示”)。知识提取单元610可以以与如图2所示的知识提取单元210相同的方式被实现,在此不再赘述。数据抽象单元620可以通过基于第二组知识表示604将针对数据表601的自然语言查询602转换成用于训练的符号序列605(本文中也称为“第二符号序列”)。数据抽象单元620可以以与如图2所示的知识提取单元210相同的方式被实现,在此不再赘述。
第二计算机可执行查询603和第二符号序列605可以被提供给神经网络训练单元630。神经网络训练单元630可以至少基于第二计算机可执行查询603和第二符号序列605来生成训练数据,以用于训练神经网络606。应当理解,神经网络训练单元630可以使用任何已知方法或将要开发的方法来训练神经网络606,本公开的范围在此方面不受限制。经训练的神经网络606可以被提供给如图2所示的解析模块122(其中的语义解析单元230)。语义解析单元230例如可以利用神经网络606来对符号序列202进行语义解析,并生成计算机可执行查询124。
基于以上描述能够看出,本公开的实现提出了一种用于自然语言查询的语义解析的方案。该方案能够将来自不同领域的各种知识表示通用的结构化知识表示(也称为“知识框架”)。通过利用通用知识框架来表示知识,在训练用于对自然语言查询进行语义解析的模型时,仅需要学习如何使用这些通用的知识框架来帮助理解自然语言查询的真实语义。当面对新领域中的自然语言查询时,可以将来自新领域的背景知识表示为通用知识框架。由于用于解析自然语言查询的模型基于通用知识框架而被训练,因此该模型能够直接基于来自新领域的通用知识框架来解析该新领域中的自然语言查询,而无须重新训练。
示例过程
图7示出了根据本公开一些实现的用于自然语言查询的语义解析的方法700的流程图。方法700可以由计算设备100来实现,例如可以被实现在计算设备100的存储器120中的解析模块122处。在框710处,计算设备100接收针对第一数据表的第一自然语言查询,所述第一自然语言查询包括多个词。在框720处,计算设备100获取与所述第一数据表相关联的第一组知识表示,所述第一组知识表示以结构化方式描述理解针对所述第一数据表的自然语言查询所需的知识。在框730处,计算设备100通过基于所述第一组知识表示将所述多个词替换成预定符号表中的相应符号,将所述第一自然语言查询转换成第一符号序列。在框740处,计算设备100基于所述第一符号序列,生成与所述第一自然语言查询相对应的第一计算机可执行查询。
在一些实现中,所述第一组知识表示中的一个知识表示指示以下至少一项:所述知识表示所描述的知识类型;所述第一数据表中与所述知识表示有关的数据列;自然语言查询中可能出现的与所述数据列有关的至少一个词;以及由所述至少一个词指示的语义信息。
在一些实现中,所述知识表示所描述的知识类型包括以下之一:描述实体或者所述第一数据表中的数据列的列名的第一知识类型;描述所述第一数据表中的数据列的属性的第二知识类型;以及描述与所述第一数据表中的数据列有关的动作的第三知识类型。
在一些实现中,所述第一组知识表示包括具有所述第一知识类型的第一知识表示,所述预定符号表包括与所述第一知识类型相对应的第一预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第一词与所述第一数据表中的数据列的列名或者所述第一知识表示所指示的至少一个词相匹配,将所述第一词替换成所述第一预定符号。
在一些实现中,所述第一组知识表示包括具有所述第二知识类型的第二知识表示,所述预定符号表包括与所述第二知识类型相对应的第二预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第二词与所述第二知识表示所指示的至少一个词相匹配,将所述第二词替换成所述第二预定符号。
在一些实现中,所述第一组知识表示包括具有所述第三知识类型的第三知识表示,所述预定符号表包括与所述第三知识类型相对应的第三预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第三词与所述第三知识表示所指示的至少一个词相匹配,将所述第三词替换成所述第三预定符号。
在一些实现中,将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第四词与所述预定符号表中的第四预定符号指示的语义相匹配,将第四词替换成所述第四预定符号。
在一些实现中,生成所述第一计算机可执行查询包括:通过向所述第一符号序列应用推演规则集合,将所述第一符号序列转换成多个逻辑表示,每个逻辑表示对应于所述第一自然语言查询的一种预测语义;从所述多个逻辑表示中选择与所述第一自然语言查询的真实语义匹配度最高的逻辑表示;以及基于选择的所述逻辑表示,来生成所述第一计算机可执行查询。
在一些实现中,选择所述逻辑表示包括:利用经训练的神经网络来从所述多个逻辑表示中选择所述逻辑表示。
在一些实现中,生成所述第一计算机可执行查询包括:利用经训练的神经网络,基于所述第一符号序列来生成所述第一计算机可执行查询。
在一些实现中,方法700还包括:获取针对第二数据表的第二自然语言查询和与所述第二自然语言查询相对应的第二计算机可执行查询;获取与所述第二数据表相关联的第二组知识表示,所述第二组知识表示以结构化方式描述理解针对所述第二数据表的自然语言查询所需的知识;通过基于所述第二组知识表示将所述第二自然语言查询中的多个词替换成所述预定符号表中的相应符号,将所述第二自然语言查询转换成第二符号序列;以及至少基于所述第二符号序列和所述第二计算机可执行查询来生成训练数据,以用于训练所述神经网络。
示例实现方式
以下列出了本公开的一些示例实现方式。
在一方面,本公开提供了一种计算机实现的方法。所述方法包括:接收针对第一数据表的第一自然语言查询,所述第一自然语言查询包括多个词;获取与所述第一数据表相关联的第一组知识表示,所述第一组知识表示以结构化方式描述理解针对所述第一数据表的自然语言查询所需的知识;通过基于所述第一组知识表示将所述多个词替换成预定符号表中的相应符号,将所述第一自然语言查询转换成第一符号序列;以及基于所述第一符号序列,生成与所述第一自然语言查询相对应的第一计算机可执行查询。
在一些实现中,所述第一组知识表示中的一个知识表示指示以下至少一项:所述知识表示所描述的知识类型;所述第一数据表中与所述知识表示有关的数据列;自然语言查询中可能出现的与所述数据列有关的至少一个词;以及由所述至少一个词指示的语义信息。
在一些实现中,所述知识表示所描述的知识类型包括以下之一:描述实体或者所述第一数据表中的数据列的列名的第一知识类型;描述所述第一数据表中的数据列的属性的第二知识类型;以及描述与所述第一数据表中的数据列有关的动作的第三知识类型。
在一些实现中,所述第一组知识表示包括具有所述第一知识类型的第一知识表示,所述预定符号表包括与所述第一知识类型相对应的第一预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第一词与所述第一数据表中的数据列的列名或者所述第一知识表示所指示的至少一个词相匹配,将所述第一词替换成所述第一预定符号。
在一些实现中,所述第一组知识表示包括具有所述第二知识类型的第二知识表示,所述预定符号表包括与所述第二知识类型相对应的第二预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第二词与所述第二知识表示所指示的至少一个词相匹配,将所述第二词替换成所述第二预定符号。
在一些实现中,所述第一组知识表示包括具有所述第三知识类型的第三知识表示,所述预定符号表包括与所述第三知识类型相对应的第三预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第三词与所述第三知识表示所指示的至少一个词相匹配,将所述第三词替换成所述第三预定符号。
在一些实现中,将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第四词与所述预定符号表中的第四预定符号指示的语义相匹配,将第四词替换成所述第四预定符号。
在一些实现中,生成所述第一计算机可执行查询包括:通过向所述第一符号序列应用推演规则集合,将所述第一符号序列转换成多个逻辑表示,每个逻辑表示对应于所述第一自然语言查询的一种预测语义;从所述多个逻辑表示中选择与所述第一自然语言查询的真实语义匹配度最高的逻辑表示;以及基于选择的所述逻辑表示,来生成所述第一计算机可执行查询。
在一些实现中,选择所述逻辑表示包括:利用经训练的神经网络来从所述多个逻辑表示中选择所述逻辑表示。
在一些实现中,生成所述第一计算机可执行查询包括:利用经训练的神经网络,基于所述第一符号序列来生成所述第一计算机可执行查询。
在一些实现中,所述方法还包括:获取针对第二数据表的第二自然语言查询和与所述第二自然语言查询相对应的第二计算机可执行查询;获取与所述第二数据表相关联的第二组知识表示,所述第二组知识表示以结构化方式描述理解针对所述第二数据表的自然语言查询所需的知识;通过基于所述第二组知识表示将所述第二自然语言查询中的多个词替换成所述预定符号表中的相应符号,将所述第二自然语言查询转换成第二符号序列;以及至少基于所述第二符号序列和所述第二计算机可执行查询来生成训练数据,以用于训练所述神经网络。
在另一方面,本公开提供了一种计算设备。所述计算设备包括:处理单元;以及存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时,使得所述设备执行动作,所述动作包括:接收针对第一数据表的第一自然语言查询,所述第一自然语言查询包括多个词;获取与所述第一数据表相关联的第一组知识表示,所述第一组知识表示以结构化方式描述理解针对所述第一数据表的自然语言查询所需的知识;通过基于所述第一组知识表示将所述多个词替换成预定符号表中的相应符号,将所述第一自然语言查询转换成第一符号序列;以及基于所述第一符号序列,生成与所述第一自然语言查询相对应的第一计算机可执行查询。
在一些实现中,所述第一组知识表示中的一个知识表示指示以下至少一项:所述知识表示所描述的知识类型;所述第一数据表中与所述知识表示有关的数据列;自然语言查询中可能出现的与所述数据列有关的至少一个词;以及由所述至少一个词指示的语义信息。
在一些实现中,所述知识表示所描述的知识类型包括以下之一:描述实体或者所述第一数据表中的数据列的列名的第一知识类型;描述所述第一数据表中的数据列的属性的第二知识类型;以及描述与所述第一数据表中的数据列有关的动作的第三知识类型。
在一些实现中,所述第一组知识表示包括具有所述第一知识类型的第一知识表示,所述预定符号表包括与所述第一知识类型相对应的第一预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第一词与所述第一数据表中的数据列的列名或者所述第一知识表示所指示的至少一个词相匹配,将所述第一词替换成所述第一预定符号。
在一些实现中,所述第一组知识表示包括具有所述第二知识类型的第二知识表示,所述预定符号表包括与所述第二知识类型相对应的第二预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第二词与所述第二知识表示所指示的至少一个词相匹配,将所述第二词替换成所述第二预定符号。
在一些实现中,所述第一组知识表示包括具有所述第三知识类型的第三知识表示,所述预定符号表包括与所述第三知识类型相对应的第三预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第三词与所述第三知识表示所指示的至少一个词相匹配,将所述第三词替换成所述第三预定符号。
在一些实现中,将所述多个词替换成预定符号表中的相应符号包括:响应于确定所述多个词中的第四词与所述预定符号表中的第四预定符号指示的语义相匹配,将第四词替换成所述第四预定符号。
在一些实现中,生成所述第一计算机可执行查询包括:通过向所述第一符号序列应用推演规则集合,将所述第一符号序列转换成多个逻辑表示,每个逻辑表示对应于所述第一自然语言查询的一种预测语义;从所述多个逻辑表示中选择与所述第一自然语言查询的真实语义匹配度最高的逻辑表示;以及基于选择的所述逻辑表示,来生成所述第一计算机可执行查询。
在一些实现中,选择所述逻辑表示包括:利用经训练的神经网络来从所述多个逻辑表示中选择所述逻辑表示。
在一些实现中,生成所述第一计算机可执行查询包括:利用经训练的神经网络,基于所述第一符号序列来生成所述第一计算机可执行查询。
在一些实现中,所述方法还包括:获取针对第二数据表的第二自然语言查询和与所述第二自然语言查询相对应的第二计算机可执行查询;获取与所述第二数据表相关联的第二组知识表示,所述第二组知识表示以结构化方式描述理解针对所述第二数据表的自然语言查询所需的知识;通过基于所述第二组知识表示将所述第二自然语言查询中的多个词替换成所述预定符号表中的相应符号,将所述第二自然语言查询转换成第二符号序列;以及至少基于所述第二符号序列和所述第二计算机可执行查询来生成训练数据,以用于训练所述神经网络。
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
在又一方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (20)
1.一种计算机实现的方法,包括:
接收针对第一数据表的第一自然语言查询,所述第一自然语言查询包括多个词;
获取与所述第一数据表相关联的第一组知识表示,所述第一组知识表示以结构化方式描述理解针对所述第一数据表的自然语言查询所需的知识;
通过基于所述第一组知识表示将所述多个词替换成预定符号表中的相应符号,将所述第一自然语言查询转换成第一符号序列;以及
基于所述第一符号序列,生成与所述第一自然语言查询相对应的第一计算机可执行查询。
2.根据权利要求1所述的方法,其中所述第一组知识表示中的一个知识表示指示以下至少一项:
所述知识表示所描述的知识类型;
所述第一数据表中与所述知识表示有关的数据列;
自然语言查询中可能出现的与所述数据列有关的至少一个词;以及
由所述至少一个词指示的语义信息。
3.根据权利要求2所述的方法,其中所述知识表示所描述的知识类型包括以下之一:
描述实体或者所述第一数据表中的数据列的列名的第一知识类型;
描述所述第一数据表中的数据列的属性的第二知识类型;以及
描述与所述第一数据表中的数据列有关的动作的第三知识类型。
4.根据权利要求3所述的方法,其中所述第一组知识表示包括具有所述第一知识类型的第一知识表示,所述预定符号表包括与所述第一知识类型相对应的第一预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第一词与所述第一数据表中的数据列的列名或者所述第一知识表示所指示的至少一个词相匹配,将所述第一词替换成所述第一预定符号。
5.根据权利要求3所述的方法,其中所述第一组知识表示包括具有所述第二知识类型的第二知识表示,所述预定符号表包括与所述第二知识类型相对应的第二预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第二词与所述第二知识表示所指示的至少一个词相匹配,将所述第二词替换成所述第二预定符号。
6.根据权利要求3所述的方法,其中所述第一组知识表示包括具有所述第三知识类型的第三知识表示,所述预定符号表包括与所述第三知识类型相对应的第三预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第三词与所述第三知识表示所指示的至少一个词相匹配,将所述第三词替换成所述第三预定符号。
7.根据权利要求1所述的方法,其中将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第四词与所述预定符号表中的第四预定符号指示的语义相匹配,将第四词替换成所述第四预定符号。
8.根据权利要求1所述的方法,其中生成所述第一计算机可执行查询包括:
通过向所述第一符号序列应用推演规则集合,将所述第一符号序列转换成多个逻辑表示,每个逻辑表示对应于所述第一自然语言查询的一种预测语义;
从所述多个逻辑表示中选择与所述第一自然语言查询的真实语义匹配度最高的逻辑表示;以及
基于选择的所述逻辑表示,来生成所述第一计算机可执行查询。
9.根据权利要求8所述的方法,其中选择所述逻辑表示包括:
利用经训练的神经网络来从所述多个逻辑表示中选择所述逻辑表示。
10.根据权利要求1所述的方法,其中生成所述第一计算机可执行查询包括:
利用经训练的神经网络,基于所述第一符号序列来生成所述第一计算机可执行查询。
11.根据权利要求9或10所述的方法,还包括:
获取针对第二数据表的第二自然语言查询和与所述第二自然语言查询相对应的第二计算机可执行查询;
获取与所述第二数据表相关联的第二组知识表示,所述第二组知识表示以结构化方式描述理解针对所述第二数据表的自然语言查询所需的知识;
通过基于所述第二组知识表示将所述第二自然语言查询中的多个词替换成所述预定符号表中的相应符号,将所述第二自然语言查询转换成第二符号序列;以及
至少基于所述第二符号序列和所述第二计算机可执行查询来生成训练数据,以用于训练所述神经网络。
12.一种计算设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时,使得所述设备执行动作,所述动作包括:
接收针对第一数据表的第一自然语言查询,所述第一自然语言查询包括多个词;
获取与所述第一数据表相关联的第一组知识表示,所述第一组知识表示以结构化方式描述理解针对所述第一数据表的自然语言查询所需的知识;
通过基于所述第一组知识表示将所述多个词替换成预定符号表中的相应符号,将所述第一自然语言查询转换成第一符号序列;以及
基于所述第一符号序列,生成与所述第一自然语言查询相对应的第一计算机可执行查询。
13.根据权利要求12所述的设备,其中所述第一组知识表示中的一个知识表示指示以下至少一项:
所述知识表示所描述的知识类型;
所述第一数据表中与所述知识表示有关的数据列;
自然语言查询中可能出现的与所述数据列有关的至少一个词;以及
由所述至少一个词指示的语义信息。
14.根据权利要求13所述的设备,其中所述知识表示所描述的知识类型包括以下之一:
描述实体或者所述第一数据表中的数据列的列名的第一知识类型;
描述所述第一数据表中的数据列的属性的第二知识类型;以及
描述与所述第一数据表中的数据列有关的动作的第三知识类型。
15.根据权利要求14所述的设备,其中所述第一组知识表示包括具有所述第一知识类型的第一知识表示,所述预定符号表包括与所述第一知识类型相对应的第一预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第一词与所述第一数据表中的数据列的列名或者所述第一知识表示所指示的至少一个词相匹配,将所述第一词替换成所述第一预定符号。
16.根据权利要求14所述的设备,其中所述第一组知识表示包括具有所述第二知识类型的第二知识表示,所述预定符号表包括与所述第二知识类型相对应的第二预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第二词与所述第二知识表示所指示的至少一个词相匹配,将所述第二词替换成所述第二预定符号。
17.根据权利要求14所述的设备,其中所述第一组知识表示包括具有所述第三知识类型的第三知识表示,所述预定符号表包括与所述第三知识类型相对应的第三预定符号,并且将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第三词与所述第三知识表示所指示的至少一个词相匹配,将所述第三词替换成所述第三预定符号。
18.根据权利要求11所述的设备,其中将所述多个词替换成预定符号表中的相应符号包括:
响应于确定所述多个词中的第四词与所述预定符号表中的第四预定符号指示的语义相匹配,将第四词替换成所述第四预定符号。
19.根据权利要求11所述的设备,其中生成所述第一计算机可执行查询包括:
通过向所述第一符号序列应用推演规则集合,将所述第一符号序列转换成多个逻辑表示,每个逻辑表示对应于所述第一自然语言查询的一种预测语义;
从所述多个逻辑表示中选择与所述第一自然语言查询的真实语义匹配度最高的逻辑表示;以及
基于选择的所述逻辑表示,来生成所述第一计算机可执行查询。
20.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行动作,所述动作包括:
接收针对第一数据表的第一自然语言查询,所述第一自然语言查询包括多个词;
获取与所述第一数据表相关联的第一组知识表示,所述第一组知识表示以结构化方式描述理解针对所述第一数据表的自然语言查询所需的知识;
通过基于所述第一组知识表示将所述多个词替换成预定符号表中的相应符号,将所述第一自然语言查询转换成第一符号序列;以及
基于所述第一符号序列,生成与所述第一自然语言查询相对应的第一计算机可执行查询。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910930771.3A CN112580357A (zh) | 2019-09-29 | 2019-09-29 | 自然语言查询的语义解析 |
EP20751823.4A EP4035024A1 (en) | 2019-09-29 | 2020-06-18 | Semantic parsing of natural language query |
PCT/US2020/038292 WO2021061231A1 (en) | 2019-09-29 | 2020-06-18 | Semantic parsing of natural language query |
US17/631,576 US20220277005A1 (en) | 2019-09-29 | 2020-06-18 | Semantic parsing of natural language query |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910930771.3A CN112580357A (zh) | 2019-09-29 | 2019-09-29 | 自然语言查询的语义解析 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112580357A true CN112580357A (zh) | 2021-03-30 |
Family
ID=71950832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910930771.3A Pending CN112580357A (zh) | 2019-09-29 | 2019-09-29 | 自然语言查询的语义解析 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220277005A1 (zh) |
EP (1) | EP4035024A1 (zh) |
CN (1) | CN112580357A (zh) |
WO (1) | WO2021061231A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090619A (zh) * | 2022-01-19 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 自然语言的查询处理方法及装置 |
CN115098618A (zh) * | 2022-01-19 | 2022-09-23 | 支付宝(杭州)信息技术有限公司 | 基于自然语言数据进行查询、数据更新的方法及装置 |
WO2023240793A1 (zh) * | 2022-06-14 | 2023-12-21 | 上海跬智信息技术有限公司 | 基于智能sql解析的多维模型自动合并方法及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11954099B2 (en) * | 2020-11-10 | 2024-04-09 | Magnifi Llc | Systems, methods, and program products for providing investment expertise using a financial ontology framework |
CN115221198A (zh) * | 2022-01-19 | 2022-10-21 | 支付宝(杭州)信息技术有限公司 | 一种数据查询方法及装置 |
CN117131070B (zh) * | 2023-10-27 | 2024-02-09 | 之江实验室 | 一种自适应规则引导的大语言模型生成sql系统 |
CN117591547A (zh) * | 2024-01-18 | 2024-02-23 | 中昊芯英(杭州)科技有限公司 | 数据库的查询方法、装置、终端设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160066236A (ko) * | 2014-12-02 | 2016-06-10 | 주식회사 솔트룩스 | 지식 데이터베이스 기반 구조화된 질의 생성 방법 및 장치 |
CN109033063A (zh) * | 2017-06-09 | 2018-12-18 | 微软技术许可有限责任公司 | 基于知识图谱的机器推理 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461643B2 (en) * | 2017-05-09 | 2022-10-04 | Sri International | Deep adaptive semantic logic network |
US10747761B2 (en) * | 2017-05-18 | 2020-08-18 | Salesforce.Com, Inc. | Neural network based translation of natural language queries to database queries |
US11138005B2 (en) * | 2019-05-08 | 2021-10-05 | Apple Inc. | Methods and systems for automatically generating documentation for software |
-
2019
- 2019-09-29 CN CN201910930771.3A patent/CN112580357A/zh active Pending
-
2020
- 2020-06-18 EP EP20751823.4A patent/EP4035024A1/en active Pending
- 2020-06-18 US US17/631,576 patent/US20220277005A1/en active Pending
- 2020-06-18 WO PCT/US2020/038292 patent/WO2021061231A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160066236A (ko) * | 2014-12-02 | 2016-06-10 | 주식회사 솔트룩스 | 지식 데이터베이스 기반 구조화된 질의 생성 방법 및 장치 |
CN109033063A (zh) * | 2017-06-09 | 2018-12-18 | 微软技术许可有限责任公司 | 基于知识图谱的机器推理 |
Non-Patent Citations (1)
Title |
---|
ROHIT AGRAWAL等: "DBIQS - An Intelligent System for Querying and Mining Databases using NLP", 2014 INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS AND COMPUTER NETWORKS, 31 March 2014 (2014-03-31), pages 39 - 44, XP032690094, DOI: 10.1109/ICISCON.2014.6965215 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090619A (zh) * | 2022-01-19 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 自然语言的查询处理方法及装置 |
CN115098618A (zh) * | 2022-01-19 | 2022-09-23 | 支付宝(杭州)信息技术有限公司 | 基于自然语言数据进行查询、数据更新的方法及装置 |
WO2023240793A1 (zh) * | 2022-06-14 | 2023-12-21 | 上海跬智信息技术有限公司 | 基于智能sql解析的多维模型自动合并方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20220277005A1 (en) | 2022-09-01 |
WO2021061231A1 (en) | 2021-04-01 |
EP4035024A1 (en) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334635B2 (en) | Domain specific natural language understanding of customer intent in self-help | |
CN112580357A (zh) | 自然语言查询的语义解析 | |
CN110727839B (zh) | 自然语言查询的语义解析 | |
US8972408B1 (en) | Methods, systems, and articles of manufacture for addressing popular topics in a social sphere | |
US20190349320A1 (en) | System and method for automatically responding to user requests | |
US10706045B1 (en) | Natural language querying of a data lake using contextualized knowledge bases | |
CN112632225B (zh) | 基于案事件知识图谱的语义搜索方法、装置和电子设备 | |
CN112632226B (zh) | 基于法律知识图谱的语义搜索方法、装置和电子设备 | |
CN111459977B (zh) | 自然语言查询的转换 | |
US20200175390A1 (en) | Word embedding model parameter advisor | |
US11809419B2 (en) | System to convert natural-language financial questions into database queries | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
US20230161763A1 (en) | Systems and methods for advanced query generation | |
CN116628229B (zh) | 一种利用知识图谱生成文本语料的方法及装置 | |
CN116303537A (zh) | 数据查询方法及装置、电子设备、存储介质 | |
Kumar et al. | An abstractive text summarization technique using transformer model with self-attention mechanism | |
CN112926308B (zh) | 匹配正文的方法、装置、设备、存储介质以及程序产品 | |
CN111858860B (zh) | 搜索信息处理方法及系统、服务器、计算机可读介质 | |
JP7369228B2 (ja) | ユーザ興味画像の生成方法、装置、電子機器及び記憶媒体 | |
CN116662495A (zh) | 问答处理方法、训练问答处理模型的方法及装置 | |
WO2022262632A1 (zh) | 网页搜索方法、装置及存储介质 | |
US20190188270A1 (en) | Generating an executable code based on a document | |
WO2022271369A1 (en) | Training of an object linking model | |
Prathyusha et al. | Normalization Methods for Multiple Sources of Data | |
CN112579774A (zh) | 模型训练方法、模型训练装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |