CN114579608A - 基于表格数据的人机交互方法、装置及设备 - Google Patents
基于表格数据的人机交互方法、装置及设备 Download PDFInfo
- Publication number
- CN114579608A CN114579608A CN202210440970.8A CN202210440970A CN114579608A CN 114579608 A CN114579608 A CN 114579608A CN 202210440970 A CN202210440970 A CN 202210440970A CN 114579608 A CN114579608 A CN 114579608A
- Authority
- CN
- China
- Prior art keywords
- vector
- conversion model
- language conversion
- loss
- token
- 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.)
- Granted
Links
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/2423—Interactive query statement specification based on a database schema
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于表格数据的人机交互方法、装置及设备。本申请的方法,通过在训练数据中增加与问题样本具有语义一致性的相似语句,在模型训练过程中,它能够给语言转换模型对问题样本进行两次编码得到第一表征向量和第二表征向量,对相似语句进行编码得到第三表征向量,根据第一表征向量和第二表征向量之间的差异以及第二表征向量和第三表征向量之间的差异,确定第一损失,最小化第一损失能使语言转换模型对语义一致的不同输入语句编码得到的表征向量趋于一致,并且对于同一输入语句进行多次编码得到的表征向量趋于一致,泛化性和鲁棒性更强,从而使用该语言转换模型实现基于表格数据的人机交互的系统的泛化性和鲁棒性更强。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于表格数据的人机交互方法、装置及设备。
背景技术
基于表格数据的人机交互系统(Table QA),是将用户输入的自然语言问题转换成对应的结构化查询语言(Structured Query Language,简称SQL)语句,并在数据库中用于存储表格数据的数据表中找到SQL语句对应的结果反馈给用户的功能。由于表格是日常工作和生活中常见的数据存储结构,基于表格数据的人机交互系统有很广泛的应用场景,比如数据的查询、统计与筛选等,可以应用于政务、金融、能源等多种应用领域中。
实现基于表格数据的人机交互系统的关键技术是将自然语言问题转换成对应的SQL语句,即Text-to-SQL语言转换。在应用于不同的应用领域时,需要基于具体应用领域的训练集进行模型训练。目前对Text-to-SQL语言转换模型的训练时,通常对用户提出问题标注对应的标准的SQL语句作为训练数据,局限于一个问题对应一个标准SQL方式进行模型训练,得到的Text-to-SQL语言转换模型的泛化性和鲁棒性差,造成人机交互系统的泛化性和鲁棒性差。
发明内容
本申请提供一种基于表格数据的人机交互方法、装置及设备,用以解决目前Text-to-SQL语言转换模型的泛化性和鲁棒性差,造成人机交互系统的泛化性和鲁棒性差的问题。
第一方面,本申请提供一种基于表格数据的人机交互方法,包括:
获取训练数据中问题样本对应的相似语句,所述相似语句与所述问题样本具有语义一致性;
在训练语言转换模型的过程中,将所述问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将所述相似语句输入所述语言转换模型进行编码得到第三表征向量;
根据所述第一表征向量和所述第二表征向量之间的差异,以及所述第二表征向量和所述第三表征向量之间的差异,确定第一损失;
根据所述第一损失优化所述语言转换模型的参数,以得到训练好的语言转换模型;
利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行所述SQL语句得到所述问题的答复信息。
第二方面,本申请提供一种基于表格数据的人机交互装置,包括:
数据获取模块,用于获取训练数据中问题样本对应的相似语句,所述相似语句与所述问题样本具有语义一致性;
编码模块,用于在训练语言转换模型的过程中,将所述问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将所述相似语句输入所述语言转换模型进行编码得到第三表征向量;
损失确定模块,用于根据所述第一表征向量和所述第二表征向量之间的差异,以及所述第二表征向量和所述第三表征向量之间的差异,确定第一损失;
模型优化模块,用于根据所述第一损失优化所述语言转换模型的参数,以得到训练好的语言转换模型;
在线交互模块,用于利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行所述SQL语句得到所述问题的答复信息。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现上述第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请提供的基于表格数据的人机交互方法、装置及设备,通过在训练数据中增加与问题样本具有语义一致性的相似语句,在训练语言转换模型的过程中,将所述问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入所述语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异反映了语言转换模型使用的神经网络自身的不确定性,第二表征向量和第三表征向量之间的差异反映了不同用户问法的不确定性;进一步地,根据所述第一表征向量和所述第二表征向量之间的差异,以及所述第二表征向量和所述第三表征向量之间的差异,确定第一损失,最小化第一损失能够使得语言转换模型语义一致的不同输入语句编码得到的表征向量趋于一致,并且对于同一输入语句进行多次编码得到的表征向量趋于一致,训练得到的语言转换模型的泛化性和鲁棒性更强,从而使得基于该语言转换模型进行基于表格数据的人机交互的系统的泛化性和鲁棒性更强。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请所基于的一种网络架构的示意图;
图2 为本申请一示例性实施例提供的一种基于表格数据的人机交互方法流程图;
图3为本申请另一示例性实施例提供,基于表格数据的人机交互方法流程图;
图4为本申请一示例性实施例提供的语言转换模训练的框架图;
图5为本申请一示例性实施例提供的语言转换模使用流程图;
图6为本申请一示例性实施例提供的基于表格数据的人机交互装置的结构示意图;
图7为本申请一示例实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
数据表:结构化查询语言(SQL)数据库中的数据表,用于存储数据,数据存入数据库的对应数据表后,即完成了待存储数据的永久化,此后可以通过访问查询数据库的数据表,来获取数据的数据内容。
数据元素:也称作数据表的模式,指数据表中的表名、列名、值等信息。
Table QA:一种基于表格数据(或表格知识)的人机交互系统,其实现将用户输入的自然语言问题转换为SQL语句,并在数据库中用于存储表格数据的数据表中找到SQL语句对应的结果反馈给用户的功能。如,基于表格数据的问答/对话系统。
Text-to-SQL语言转换模型:是基于表格数据的人机交互系统(Table QA)的核心技术,一种语言理解(semantic parsing)的方式,用于将人类的自然语言描述的问题(Text)转换为计算机可执行的结构化查询语句(SQL语句)。利用该模型可以实现人和表格/数据库之间的自由交互,无需用户学习复杂的SQL语法。进一步地,依赖该模型可以实现基于表格/数据库的问答/对话系统(Table QA)。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
本申请中提到的语言转换模型均是指Text-to-SQL语言转换模型。
本申请提供的基于表格数据的人机交互方法,可以应用于多种应用领域中基于表格数据(表格知识或数据库)的人机交互系统,如基于表格数据的问答/对话系统。
在实际的基于表格数据的人机交互系统中,为了获得同一查询结果,不同用户会给出多种不同的问法,也即用于获取同一查询结果的SQL语句可以对应多个语义一致的自然语言问题。但是,目前对Text-to-SQL语言转换模型的训练时,通常对用户提出问题标注对应的标准的SQL语句作为训练数据,训练集中包含问题样本和问题样对应的SQL语句(也即标注信息),局限于一个问题对应一个标准SQL方式进行模型训练,得到的Text-to-SQL语言转换模型的泛化性和鲁棒性差,当遇到表达一个意思而说法不同的问题时,有很差的表现,造成人机交互系统的泛化性和鲁棒性差。
针对上述技术问题,本申请提供一种基于表格数据的人机交互,通过在训练数据中增加与问题样本具有语义一致性的相似语句,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异反映了网络自身的不确定性,第二表征向量(或第一表征向量)和第三表征向量之间的差异反映了不同用户问法的不确定性;进一步地,根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失,最小化第一损失能够使得语言转换模型语义一致的不同输入语句编码得到的表征向量更加相似(趋于一致),并且对于同一输入语句进行多次编码得到的表征向量更加相似(趋于一致),训练得到的语言转换模型的泛化性和鲁棒性更强,从而使得基于该语言转换模型进行基于表格数据的人机交互的系统的泛化性和鲁棒性更强。
示例性地,图1为本申请所基于的一种网络架构的示意图,图1所示网络架构具体可包括服务器以及终端。
其中,服务器具体可为设置在云端的服务器集群,该服务器上的数据库的数据表中存储有用于实现问答/对话的表格数据,该服务器中还存储有Text-to-SQL语言转换模型相关的模型数据,以及问题样本等用于模型训练的数据,通过服务器中预设运算逻辑,服务器可实现模型训练、基于表格数据的问答/对话等多种运算功能。
服务器基于已有的训练数据,获取训练数据中与问题样本具有语义一致性的相似语句,形成包括问题样本、相似语句和标注的SQL语句的新的训练集,基于该训练集训练Text-to-SQL语言转换模型。在训练Text-to-SQL语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量;根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失;根据第一损失优化语言转换模型的参数,以得到训练好的语言转换模型。基于训练好的语言转换模型实现基于表格数据的人机交互功能。
终端具体可为具有网络通信功能、运算功能以及信息显示功能的硬件设备,其包括但不限于智能手机、平板电脑、台式电脑、物联网设备等。
通过与服务器的通信交互,终端可将用户输入的问题发送至服务器,服务器获取到用户输入的问题之后,利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行SQL语句查询存储有表格数据的数据表得到查询结果,查询结果作为问题的答复信息,将答复信息反馈给终端。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2 为本申请一示例性实施例提供的一种基于表格数据的人机交互方法流程图。本实施例提供的基于表格数据的人机交互方法具体可以应用于前述提及的服务器。如图2所示,该方法具体步骤如下:
步骤S201、获取训练数据中问题样本对应的相似语句,相似语句与问题样本具有语义一致性。
本实施例中,在现有训练集的基础上,服务器获取训练数据中问题样本对应的相似语句,形成包括问题样本、相似语句和标注的SQL语句的新的训练集,基于该训练集训练Text-to-SQL语言转换模型。
其中,问题样本和相似语句是与标注的SQL语句对应的两种具有语义一致性的不同问法,能够模拟实际应用场景中针对同一查询结果不同用户会给出多种不同的问法的情况。
示例性地,新的训练集包括多条训练数据,每一条训练数据包括问题样本、问题样本对应的相似语句和问题样本对应的SQL语句。
步骤S202、在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量。
基于上述对训练数据的改变,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异能够反映语言转换模型使用的神经网络自身的不确定性,第二表征向量(或第一表示向量)和第三表征向量之间的差异能够反映不同用户问法的不确定性。
步骤S203、根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失。
通过根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,来确定第一损失,第一损失能够表征通过语言转换模型对同一问题编码得到的两个表征向量之间的差异性,以及过语言转换模型对具有语义一致性的两种不同问法编码得到的两个表征向量之间的差异性。
需要说明的是,第一表征向量和第二表征向量用于指代同一样本问题两次输入语言转换模型进行编码得到的两个表征向量。其中,第一表征向量指代第一次编码得到的表征向量,第二表征向量指代第二次编码得到的表征向量;或者,也可以是第一表征向量指代第二次编码得到的表征向量,第二表征向量指代第一次编码得到的表征向量。
可选地,服务器还可以根据第一表征向量和第二表征向量之间的差异,以及第一表征向量与第三表征向量之间的差异,来确定第一损失。
可选地,服务器还可以根据第一表征向量和第二表征向量之间的差异,第二表征向量和第三表征向量之间的差异,以及第一表征向量与第三表征向量之间的差异,来确定第一损失。
步骤S204、根据第一损失优化语言转换模型的参数,以得到训练好的语言转换模型。
通过最小化第一损失来训练语言转换模型,使得语言转换模型学习语义一致的不同问题之间潜在的互补信息,利用这种方法实现数据的特征增强,从而使得语言转换模型语义一致的不同输入语句编码得到的表征向量更加相似(趋于一致),并且对于同一输入语句进行多次编码得到的表征向量更加相似(趋于一致)。
基于上述步骤S201-S204训练得到的语言转换模型具有更强的泛化性和鲁棒性,应用于基于表格数据的人机交互系统时,能够提高基于表格数据的人机交互系统的泛化性和鲁棒性,从而针对用户输入的问题给出更高质量的答复信息。
步骤S205、利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行SQL语句得到问题的答复信息。
在应用于基于表格数据的人机交互系统时,用户可以通过使用的终端输入问题并向服务器提交问答请求,该问答请求包含用户输入的问题。
服务器响应于问答请求,提取用户输入的问题,将用户输入的问题输入训练好的语言转换模型,通过语言转换模型将用户输入的问题转换为对应的SQL语句。服务器在数据库中运行该SQL语句,即可从存储表格数据的数据表中查询得到问题的查询结果。进一步地,可以将查询结果作为问题的答复信息发送给终端,以使终端输出答复信息,以供用户查看。
可选地,服务器还可以基于查询结果,根据预先设置的答复话术生成答复信息,并将生成的答复信息反馈给终端,以使终端输出答复信息,以供用户查看。
可选地,服务器还可以将查询结果反馈给终端,以使终端预先设置的答复话术生成答复信息,并输出答复信息,以供用户查看。
本实施例通过在训练数据中增加与问题样本具有语义一致性的相似语句,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异反映了语言转换模型使用的神经网络自身的不确定性,第二表征向量和第三表征向量之间的差异反映了不同用户问法的不确定性;进一步地,根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失,最小化第一损失能够使得语言转换模型语义一致的不同输入语句编码得到的表征向量趋于一致,并且对于同一输入语句进行多次编码得到的表征向量趋于一致,训练得到的语言转换模型能够将同一问题的不同问法转换成语义一致的 SQL语句,泛化性和鲁棒性更强,从而使得基于该语言转换模型进行基于表格数据的人机交互的系统的泛化性和鲁棒性更强。
一种可选实施例中,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量之后,通过语言转换模型的解码器,对第一表征向量、第二表征向量和第三表征向量进行解码,得到SQL转换结果;根据SQL转换结果与问题样本对应的SQL标注信息,确定第二损失,基于第一损失和第二损失来优化语言转换模型的参数。
参见图3,图3为本申请另一示例性实施例提供,基于表格数据的人机交互方法流程图。如图3所示,该方法具体步骤如下:
步骤S301、获取训练数据中问题样本对应的相似语句,相似语句与问题样本具有语义一致性。
一种可选地实施方式中,服务器可以获取人工改写好的训练集,包括问题样本、问题样本对应的相似语句、以及标注好的问题样本对应的SQL语句(也即问题样本对应的SQL标注信息)。
其中,问题样本和相似语句是与标注的SQL语句对应的两种具有语义一致性的不同问法,能够模拟实际应用场景中针对同一查询结果不同用户会给出多种不同的问法的情况。
示例性地,新的训练集包括多条训练数据,每一条训练数据包括问题样本、问题样本对应的相似语句和问题样本对应的SQL标注信息。
可选地,用户还可以通过终端打包改写好的训练集并上传到服务器。
可选地,服务器可以提供问题样本的改写页面,供用户进行问题样本改写相似语句,并提交改写好的相似语句。服务器将用户改写好的相似语句与对应问题样本及SQL标注信息对应存储,形成新的训练集。
另一种可选地实施方式中,服务器可以根据预先设置的改写规则,对训练数据中的问题样本自动进行改写,得到与问题样本具有语义一致性的相似语句。将已有的训练数据与训练数据中问题样本对应的相似语句组合成新的训练集。
步骤S302、在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量。
基于上述对训练数据的改变,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异能够反映语言转换模型使用的神经网络自身的不确定性,第二表征向量(或第一表示向量)和第三表征向量之间的差异能够反映不同用户问法的不确定性。
示例性地,语言转换模型可以为基于Transformer架构的神经网络模块,包括编码器和解码器(如图4中所示的)。
具体地,参见图4,将问题样本两次输入语言转换模型的编码器,从而通过编码器对问题样本进行两次编码,得到第一表征向量和第二表征向量。由于神经网络本身的不确定性,因此得到的第一表征向量和第二表征向量不相同。
同样地,将相似语句输入语言转换模型的编码器,通过编码器对相似语句进行编码得到第三表征向量。由于问题样本和相似语句不相同,因此对相似语句进行编码得到的第三表征向量,与对问题样本进行两次编码得到的第一表征向量和第二表征向量均不相同。
步骤S303、根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失。
本实施例中,通过根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,来确定第一损失,第一损失能够表征通过语言转换模型对同一问题编码得到的两个表征向量之间的差异性,以及过语言转换模型对具有语义一致性的两种不同问法编码得到的两个表征向量之间的差异性。
可选地,可以根据第一表征向量和第二表征向量,确定网络结构损失;根据第二表征向量和第三表征向量,确定语义损失,第一损失包括网络结构损失和语义损失。
示例性地,网络结构损失和语义损失为以下任意一种:
KL散度、向量间的距离。
其中,向量间的距离可以包括用于衡量两个向量之间差异性的距离信息,包括但不限于以下几种:欧式距离、曼哈顿距离、马氏距离。
示例性地,可以根据第一表征向量和第二表征向量,计算第一表征向量和第二表征向量的KL散度,作为网络结构损失,同理根据第二表征向量和第三表征向量,计算第二表征向量和第三表征向量的KL散度,作为语义损失。
其中,KL散度(Kullback-Leibler divergence),又被称为相对熵或信息散度,是两个概率分布间差异的非对称性度量。
可选地,可以根据第一表征向量和第二表征向量,确定网络结构损失;根据第二表征向量和第三表征向量,确定语义损失;并对网络结构损失和语义损失求均值,得到第一损失。通过最小化第一损失可以优化语言转换模型的编码器的参数。
示例性地,可以根据第一表征向量和第二表征向量,计算第一表征向量和第二表征向量的欧式距离,作为网络结构损失,同理根据第二表征向量和第三表征向量,计算第二表征向量和第三表征向量的欧式距离,作为语义损失;再计算网络结构损失和语义损失均值,得到第一损失。
一种可选地实施方式中,在模型训练过程中,可以在语言转换模型中增加两个如下网络模块:网络一致性约束模块和语义一致性约束模块。其中,网络一致性约束模块用于根据第一表征向量和第二表征向量,确定网络结构损失。语义一致性约束模块用于根据第二表征向量和第三表征向量,确定语义损失。
示例性地,参见图4,将第一表征向量和第二表征向量输入网络一致性约束模块,通过网络一致性约束模块确定loss1,作为网络结构损失。将第二表征向量和第三表征向量输入语义一致性约束模块,通过语义一致性约束模块确定loss2,作为语义损失。
在训练完成后,将语言转换模型中的网络一致性约束模块和语义一致性约束模块摘除,得到训练好的语言转换模型。
参见图5,训练好的语言转换模型包括解码器和编码器,应用于基于表格数据的人机交互系统时,将用户输入的问题输入训练好的语言转换模型的编码器,通过编码器对用户输入的问题进行编码得到表征向量;将表征向量输入解码器,通过解码器对表征向量进行解码,得到用户输入的问题对应的SQL语句。
本实施例中,通过编码器编码得到的表征向量(包括第一表征向量、第二表征向量和第三表征向量)均被输入解码器,通过解码器对表征向量进行解码,得到对应的SQL语句作为预测结果。
步骤S304、通过语言转换模型的解码器,对第一表征向量、第二表征向量和第三表征向量进行解码,得到SQL转换结果。
具体地,将第一表征向量和第二表征向量分别输入语言转换模型的解码器,通过解码器分别对第一表征向量和第二表征向量进行解码,得到问题样本对应的两个SQL转换结果。将第三表征向量输入语言转换模型的解码器,通过解码器对第三表征向量进行解码,得到相似语句对应的SQL转换结果。
示例性地,参见图4,将第一表征向量输入解码器进行解码,得到SQL1;将第二表征向量输入解码器进行解码,得到SQL2;将第三表征向量输入解码器进行解码,得到SQL3。
步骤S305、根据SQL转换结果与问题样本对应的SQL标注信息,确定第二损失。
本实施例中,问题样本对应的相似语句与问题样本具有语义一致性,问题样本对应的相似语句对应的SQL语句与问题样本对应的SQL语句是相同的。
在通过语言转换模型对问题样本和相似语句进行转换(编码和解码)处理,得到SQL转换结果后,根据SQL转换结果与对应的SQL标注信息,计算交叉熵损失,得到第二损失(如图4中的loss3)。通过最小化第二损失,可以优化语言转换模型的编码器和解码器的参数。
需要说明的是,本实施例中步骤S304-S305的过程,可以与步骤S303并行进行,以提高计算效率,从而提高模型训练的效率。
步骤S306、对第一损失和第二损失加权求和,确定综合损失。
其中,第一损失和第二损失对应的权重可以根据实际应用场景和经验值进行设置和调整,也可以在模型训练过程中进行优化,此处不做具体限定。
步骤S307、根据综合损失优化语言转换模型的参数,训练结束后得到训练好的语言转换模型。
本实施例中,对第一损失和第二损失加权求和确定综合损失,通过最小化综合损失来优化语言转换模型的参数。
通过多次迭代上述步骤S302-S307,直至满足迭代停止条件时,结束训练,确定训练好的语言转换模型。
示例性地,迭代停止条件可以为迭代次数达到迭代次数阈值,或者,迭代时长达到预设时长,或者,语言转换模型的准确率达到预设值等,可以采用模型训练中常规的方式进行设置,此处不做具体限定。
通过最小化综合损失来训练语言转换模型,能够使得语言转换模型学习语义一致的不同问题之间潜在的互补信息,利用这种方法实现数据的特征增强,从而使得语言转换模型语义一致的不同输入语句编码得到的表征向量更加相似(趋于一致),并且对于同一输入语句进行多次编码得到的表征向量更加相似(趋于一致)。
基于上述步骤S301-S307训练得到的语言转换模型具有更强的泛化性和鲁棒性,应用于基于表格数据的人机交互系统时,能够提高基于表格数据的人机交互系统的泛化性和鲁棒性,从而针对用户输入的问题给出更高质量的答复信息。
步骤S308、利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行SQL语句得到问题的答复信息。
在应用于基于表格数据的人机交互系统时,用户可以通过使用的终端输入问题并向服务器提交问答请求,该问答请求包含用户输入的问题。
服务器响应于问答请求,提取用户输入的问题,将用户输入的问题输入训练好的语言转换模型,通过语言转换模型将用户输入的问题转换为对应的SQL语句。服务器在数据库中运行该SQL语句,即可从存储表格数据的数据表中查询得到问题的查询结果。进一步地,可以将查询结果作为问题的答复信息发送给终端,以使终端输出答复信息,以供用户查看。
可选地,服务器还可以基于查询结果,根据预先设置的答复话术生成答复信息,并将生成的答复信息反馈给终端,以使终端输出答复信息,以供用户查看。
可选地,服务器还可以将查询结果反馈给终端,以使终端预先设置的答复话术生成答复信息,并输出答复信息,以供用户查看。
本实施例提供了语言转换模型的完整训练过程,通过在训练数据中增加与问题样本具有语义一致性的相似语句,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异反映了语言转换模型使用的神经网络自身的不确定性,第二表征向量和第三表征向量之间的差异反映了不同用户问法的不确定性;进一步地,根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失,最小化第一损失能够使得语言转换模型语义一致的不同输入语句编码得到的表征向量趋于一致,并且对于同一输入语句进行多次编码得到的表征向量趋于一致,训练得到的语言转换模型能够将同一问题的不同问法转换成语义一致的 SQL语句,泛化性和鲁棒性更强,从而使得基于该语言转换模型进行基于表格数据的人机交互的系统的泛化性和鲁棒性更强。
图6为本申请一示例性实施例提供的基于表格数据的人机交互装置的结构示意图。本申请实施例提供的基于表格数据的人机交互装置可以执行基于表格数据的人机交互方法实施例提供的处理流程。如图6所示,基于表格数据的人机交互装置60包括:
数据获取模块601,用于获取训练数据中问题样本对应的相似语句,相似语句与问题样本具有语义一致性。
编码模块602,用于在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量。
损失确定模块603,用于根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失。
模型优化模块604,用于根据第一损失优化语言转换模型的参数,以得到训练好的语言转换模型。
在线交互模块605,用于利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行SQL语句得到问题的答复信息。
本申请实施例提供的装置可以具体用于执行上述图2对应方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
可选地,如图6所示,基于表格数据的人机交互装置60还可以包括:解码模块606。
解码模块606用于:通过语言转换模型的解码器,对第一表征向量、第二表征向量和第三表征向量进行解码,得到SQL转换结果。
损失确定模块还用于:根据SQL转换结果与问题样本对应的SQL标注信息,确定第二损失。
可选地,模型优化模块还用于:对第一损失和第二损失加权求和,确定综合损失,根据综合损失优化语言转换模型的参数,训练结束后得到训练好的语言转换模型
可选地,损失确定模块还用于:
根据第一表征向量和第二表征向量,确定网络结构损失;根据第二表征向量和第三表征向量,确定语义损失,第一损失包括网络结构损失和语义损失。
可选地,网络结构损失和语义损失为以下任意一种:
KL散度、向量间的距离。
可选地,数据获取模块还用于:
对训练数据中的问题样本进行改写,得到与问题样本具有语义一致性的相似语句。
本申请实施例提供的装置可以具体用于执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本实施例提供了语言转换模型的完整训练过程,通过在训练数据中增加与问题样本具有语义一致性的相似语句,在训练语言转换模型的过程中,将问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将相似语句输入语言转换模型进行编码得到第三表征向量,第一表征向量和第二表征向量之间的差异反映了语言转换模型使用的神经网络自身的不确定性,第二表征向量和第三表征向量之间的差异反映了不同用户问法的不确定性;进一步地,根据第一表征向量和第二表征向量之间的差异,以及第二表征向量和第三表征向量之间的差异,确定第一损失,最小化第一损失能够使得语言转换模型语义一致的不同输入语句编码得到的表征向量趋于一致,并且对于同一输入语句进行多次编码得到的表征向量趋于一致,训练得到的语言转换模型能够将同一问题的不同问法转换成语义一致的 SQL语句,泛化性和鲁棒性更强,从而使得基于该语言转换模型进行基于表格数据的人机交互的系统的泛化性和鲁棒性更强。
图7为本申请一示例实施例提供的电子设备的结构示意图。如图7所示,该电子设备70包括:处理器701,以及与处理器701通信连接的存储器702,存储器702存储计算机执行指令。
其中,处理器执行存储器存储的计算机执行指令,以实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。该电子设备可以为上述提及的服务器。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种基于表格数据的人机交互方法,其特征在于,包括:
获取训练数据中问题样本对应的相似语句,所述相似语句与所述问题样本具有语义一致性;
在训练语言转换模型的过程中,将所述问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将所述相似语句输入所述语言转换模型进行编码得到第三表征向量;
根据所述第一表征向量和所述第二表征向量之间的差异,以及所述第二表征向量和所述第三表征向量之间的差异,确定第一损失;
根据所述第一损失优化所述语言转换模型的参数,以得到训练好的语言转换模型;
利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行所述SQL语句得到所述问题的答复信息。
2.根据权利要求1所述的方法,其特征在于,在训练语言转换模型的过程中,将所述问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将所述相似语句输入所述语言转换模型进行编码得到第三表征向量之后,还包括:
通过所述语言转换模型的解码器,对所述第一表征向量、第二表征向量和第三表征向量进行解码,得到SQL转换结果;
根据所述SQL转换结果与所述问题样本对应的SQL标注信息,确定第二损失。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一损失优化所述语言转换模型的参数,以得到训练好的语言转换模型,包括:
对所述第一损失和所述第二损失加权求和,确定综合损失;
根据所述综合损失优化所述语言转换模型的参数,训练结束后得到训练好的语言转换模型。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述第一表征向量和所述第二表征向量之间的差异,以及所述第二表征向量和所述第三表征向量之间的差异,确定第一损失,包括:
根据所述第一表征向量和所述第二表征向量,确定网络结构损失;
根据所述第二表征向量和所述第三表征向量,确定语义损失,所述第一损失包括所述网络结构损失和所述语义损失。
5.根据权利要求4所述的方法,其特征在于,所述网络结构损失和所述语义损失为以下任意一种:
KL散度、向量间的距离。
6.根据权利要求1-3中任一项所述的方法,其特征在于,所述获取训练数据中问题样本对应的相似语句,包括:
对训练数据中的问题样本进行改写,得到与所述问题样本具有语义一致性的相似语句。
7.一种基于表格数据的人机交互装置,其特征在于,包括:
数据获取模块,用于获取训练数据中问题样本对应的相似语句,所述相似语句与所述问题样本具有语义一致性;
编码模块,用于在训练语言转换模型的过程中,将所述问题样本两次输入语言转换模型进行编码,得到第一表征向量和第二表征向量,并将所述相似语句输入所述语言转换模型进行编码得到第三表征向量;
损失确定模块,用于根据所述第一表征向量和所述第二表征向量之间的差异,以及所述第二表征向量和所述第三表征向量之间的差异,确定第一损失;
模型优化模块,用于根据所述第一损失优化所述语言转换模型的参数,以得到训练好的语言转换模型;
在线交互模块,用于利用训练好的语言转换模型将用户输入的问题转换为对应的SQL语句,运行所述SQL语句得到所述问题的答复信息。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440970.8A CN114579608B (zh) | 2022-04-26 | 2022-04-26 | 基于表格数据的人机交互方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440970.8A CN114579608B (zh) | 2022-04-26 | 2022-04-26 | 基于表格数据的人机交互方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579608A true CN114579608A (zh) | 2022-06-03 |
CN114579608B CN114579608B (zh) | 2022-08-02 |
Family
ID=81777980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210440970.8A Active CN114579608B (zh) | 2022-04-26 | 2022-04-26 | 基于表格数据的人机交互方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579608B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019052311A1 (zh) * | 2017-09-12 | 2019-03-21 | 腾讯科技(深圳)有限公司 | 风格语句的生成方法、模型训练方法、装置及计算机设备 |
US20200134427A1 (en) * | 2018-10-30 | 2020-04-30 | Samsung Electronics Co., Ltd. | Method of outputting prediction result using neural network, method of generating neural network, and apparatus therefor |
US20200334233A1 (en) * | 2019-04-18 | 2020-10-22 | Sap Se | One-shot learning for text-to-sql |
CN112685539A (zh) * | 2020-12-31 | 2021-04-20 | 成都网安科技发展有限公司 | 基于多任务融合的文本分类模型训练方法和装置 |
US20210182291A1 (en) * | 2019-12-12 | 2021-06-17 | Business Objects Software Ltd. | Question Library For Data Analytics Interface |
CN112988785A (zh) * | 2021-05-10 | 2021-06-18 | 浙江大学 | 基于语言模型编码和多任务解码的sql转换方法及系统 |
CN113656540A (zh) * | 2021-08-06 | 2021-11-16 | 北京仁科互动网络技术有限公司 | 基于nl2sql的bi查询方法、装置、设备及介质 |
WO2021243903A1 (zh) * | 2020-06-02 | 2021-12-09 | 东云睿连(武汉)计算技术有限公司 | 自然语言至结构化查询语言的转换方法及系统 |
US20210383064A1 (en) * | 2020-06-03 | 2021-12-09 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Text recognition method, electronic device, and storage medium |
CN114020768A (zh) * | 2021-10-13 | 2022-02-08 | 华中科技大学 | 中文自然语言的sql语句生成模型的构建方法及应用 |
CN114238373A (zh) * | 2021-12-16 | 2022-03-25 | 中国人民银行清算总中心 | 一种自然语言问题转换为结构化查询语句的方法及装置 |
CN114265858A (zh) * | 2021-12-09 | 2022-04-01 | 阿里巴巴(中国)有限公司 | 一种自然语言到sql的转义方法、设备及存储介质 |
CN114281968A (zh) * | 2021-12-20 | 2022-04-05 | 北京百度网讯科技有限公司 | 一种模型训练及语料生成方法、装置、设备和存储介质 |
-
2022
- 2022-04-26 CN CN202210440970.8A patent/CN114579608B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019052311A1 (zh) * | 2017-09-12 | 2019-03-21 | 腾讯科技(深圳)有限公司 | 风格语句的生成方法、模型训练方法、装置及计算机设备 |
US20200134427A1 (en) * | 2018-10-30 | 2020-04-30 | Samsung Electronics Co., Ltd. | Method of outputting prediction result using neural network, method of generating neural network, and apparatus therefor |
US20200334233A1 (en) * | 2019-04-18 | 2020-10-22 | Sap Se | One-shot learning for text-to-sql |
US20210182291A1 (en) * | 2019-12-12 | 2021-06-17 | Business Objects Software Ltd. | Question Library For Data Analytics Interface |
WO2021243903A1 (zh) * | 2020-06-02 | 2021-12-09 | 东云睿连(武汉)计算技术有限公司 | 自然语言至结构化查询语言的转换方法及系统 |
US20210383064A1 (en) * | 2020-06-03 | 2021-12-09 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Text recognition method, electronic device, and storage medium |
CN112685539A (zh) * | 2020-12-31 | 2021-04-20 | 成都网安科技发展有限公司 | 基于多任务融合的文本分类模型训练方法和装置 |
CN112988785A (zh) * | 2021-05-10 | 2021-06-18 | 浙江大学 | 基于语言模型编码和多任务解码的sql转换方法及系统 |
CN113656540A (zh) * | 2021-08-06 | 2021-11-16 | 北京仁科互动网络技术有限公司 | 基于nl2sql的bi查询方法、装置、设备及介质 |
CN114020768A (zh) * | 2021-10-13 | 2022-02-08 | 华中科技大学 | 中文自然语言的sql语句生成模型的构建方法及应用 |
CN114265858A (zh) * | 2021-12-09 | 2022-04-01 | 阿里巴巴(中国)有限公司 | 一种自然语言到sql的转义方法、设备及存储介质 |
CN114238373A (zh) * | 2021-12-16 | 2022-03-25 | 中国人民银行清算总中心 | 一种自然语言问题转换为结构化查询语句的方法及装置 |
CN114281968A (zh) * | 2021-12-20 | 2022-04-05 | 北京百度网讯科技有限公司 | 一种模型训练及语料生成方法、装置、设备和存储介质 |
Non-Patent Citations (4)
Title |
---|
BINYUAN HUI,RUIYING GENG: "S2SQL:Injecting Syntax to Question-Schema Interaction Graph Encoder for Text-to-SQL Parsers", 《ARXIV》 * |
BINYUAN HUI,XIANG SHI: "Improving Text-to-SQL with Schema Dependency Learning", 《ARXIV》 * |
BOWEN QIN,LIHAN WANG,BINYUAN HUI: "Linking-Enhanced Pre-Traning for Table Semantic Parsing", 《ARXIV》 * |
王华杰: "基于神经网络的文本转SQL策略研究", 《中国优秀硕士学位论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114579608B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457675B (zh) | 预测模型训练方法、装置、存储介质及计算机设备 | |
EP4060565A1 (en) | Method and apparatus for acquiring pre-trained model | |
CN110956018B (zh) | 文本处理模型的训练方法、文本处理方法、装置及存储介质 | |
CN111931517B (zh) | 文本翻译方法、装置、电子设备以及存储介质 | |
CN109582952B (zh) | 诗歌生成方法、装置、计算机设备和介质 | |
WO2021218028A1 (zh) | 基于人工智能的面试内容精炼方法、装置、设备及介质 | |
WO2021218029A1 (zh) | 基于人工智能的面试方法、装置、计算机设备及存储介质 | |
CN112328761B (zh) | 一种意图标签设置方法、装置、计算机设备及存储介质 | |
CN112270182B (zh) | 一种基于多轮对话问答式的分析思路衍生方法、系统及存储介质 | |
CN110795552A (zh) | 一种训练样本生成方法、装置、电子设备及存储介质 | |
CN110619124B (zh) | 一种结合注意力机制与双向lstm的命名实体识别方法及系统 | |
CN115238143A (zh) | 查询语句生成方法及装置、模型训练方法、设备、介质 | |
CN116303537A (zh) | 数据查询方法及装置、电子设备、存储介质 | |
CN115730590A (zh) | 意图识别方法以及相关设备 | |
CN113326367B (zh) | 基于端到端文本生成的任务型对话方法和系统 | |
CN112989829B (zh) | 一种命名实体识别方法、装置、设备及存储介质 | |
CN114579608B (zh) | 基于表格数据的人机交互方法、装置及设备 | |
CN110826341A (zh) | 一种基于seq2seq模型的语义相似度计算方法 | |
CN113792120B (zh) | 图网络的构建方法及装置、阅读理解方法及装置 | |
CN110704623A (zh) | 基于Rasa_Nlu框架提高实体识别率的方法、装置、系统和存储介质 | |
TWI754445B (zh) | 智慧信息處理系統與方法 | |
CN117408679B (zh) | 一种运维场景信息的处理方法及装置 | |
CN116860940A (zh) | 问答信息处理方法、装置、电子设备及存储介质 | |
CN118261144A (zh) | 一种文本数据增强方法、系统、设备及存储介质 | |
CN117520793A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |