CN116108053A - 基于表格的问答处理方法及装置 - Google Patents
基于表格的问答处理方法及装置 Download PDFInfo
- Publication number
- CN116108053A CN116108053A CN202310120405.8A CN202310120405A CN116108053A CN 116108053 A CN116108053 A CN 116108053A CN 202310120405 A CN202310120405 A CN 202310120405A CN 116108053 A CN116108053 A CN 116108053A
- Authority
- CN
- China
- Prior art keywords
- text
- sql
- answer
- network
- question
- 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
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/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/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/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- 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/2455—Query execution
-
- 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/248—Presentation of query results
-
- 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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
-
- 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/338—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种基于表格的问答处理方法及装置,涉及人工智能技术领域。其中方法包括:获取问题文本对应的SQL(结构化查询语言)语句;利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;查询所述SQL语句及其查询结果对应的文本片段,所述文本片段是在离线阶段从答案生成模型利用所述SQL语句和所述表格中的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;利用查询到的文本片段,得到所述问题文本对应的答案文本。本申请能够快速生成答案文本,提高效率且降低对线上计算能力的要求。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种基于表格的问答处理方法及装置。
背景技术
目前智能问答已经被广泛应用于客服、营销、服务获取等场景,作为GUI(Graphical User Interface,图形用户界面)的补充而为用户提供高效、个性化的体验,甚至被集成到智能音箱、智能家居、智能导航等硬件设备中。TableQA(表格问答)作为其中一种智能问答形式被广泛地应用于各种场景。TableQA中,知识是用表格的形式组织的。例如商家的产品信息用表格的形式存储,当用户询问某个产品的具体属性时,可以将用户查询时输入的自然语言转化成SQL(Structured Query Language,结构化查询语言)语句,利用SQL查询表格然后由答案生成模型生成自然语言的答案。
目前在线上问答场景中,大多直接使用端到端的答案生成模型,由于设备计算能力的限制,通常难以满足线上对于答案生成模型的性能要求,效率较低。
发明内容
有鉴于此,本申请提供了一种基于表格的问答处理方法及装置,以便于提高基于表格的问答效率。
本申请提供了如下方案:
第一方面,提供了一种基于表格的问答处理方法,所述方法包括:
获取问题文本对应的结构化查询语言SQL语句;
利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;
查询所述SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和所述表格中的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;
利用查询到的文本片段,得到所述问题文本对应的答案文本。
根据本申请实施例中一可实现的方式,所述方法还包括:
在离线阶段针对所述表格的属性数据分别构造一个以上的SQL语句;
将构造的SQL语句和属性数据的组合输入答案生成模型,获取所述答案生成模型生成的答案文本;
按照预设的片段抽取策略,从所述答案生成模型生成的答案文本中抽取文本片段;
记录构造的SQL语句和属性数据的组合与抽取的文本片段之间的对应关系。
根据本申请实施例中一可实现的方式,若所述构造的SQL语句中包括表格的属性值,则将所述对应关系中所述SQL语句包括的属性值及在文本片段中对应的属性值进行泛化处理。
根据本申请实施例中一可实现的方式,所述在离线阶段针对所述表格的属性数据分别构造SQL语句包括:
获取SQL语法树,其中SQL语法树是利用SQL语法规则预先生成的;
遍历所述SQL语法树,得到一个以上的SQL语句表达,利用所述表格的表格名称、属性名和属性值中的至少一个分别对所述一个以上的SQL语句表达进行填充,得到一个以上的SQL语句。
根据本申请实施例中一可实现的方式,所述按照预设的片段抽取策略,从所述答案生成模型生成的答案文本中抽取文本片段包括:
确定所述答案生成模型生成的答案文本中的条件部分片段和结果部分片段;
若构造的SQL语句的目标操作包括排序类操作、查询是否类属性操作或包含条件运算符的查询操作,则从所述答案文本中抽取条件部分片段;
若构造的SQL语句的目标操作包括聚合函数类操作,则从所述答案文本中抽取结果部分片段。
根据本申请实施例中一可实现的方式,所述方法还包括:将抽取到的所述文本片段通过配置界面提供给第一用户,获取所述第一用户通过所述配置界面对所述文本片段进行的编辑;
记录构造的SQL语句和属性数据的组合与抽取的文本片段之间的对应关系包括:记录构造的SQL语句和属性数据的组合与所述第一用户编辑后的文本片段之间的对应关系。
根据本申请实施例中一可实现的方式,所述方法还包括:
对表格的属性名和属性值进行扩展;
依据已有的对应关系得到扩展后的对应关系,包括:将已有的对应关系中SQL语句的焦点参数替换为扩展的属性名,将与该SQL语句组合的属性数据替换为扩展的属性值,将与该组合对应的文本片段依据扩展的属性名和/或属性值进行修改,利用替换后的组合和修改后的文本片段得到扩展后的对应关系。
根据本申请实施例中一可实现的方式,所述答案生成模型包括编码网络和解码网络,所述编码网络包括N层编码子网络,所述编码子网络包括Transformer网络、归一化网络和图注意力网络,所述N为预设的正整数;
第一层编码子网络中的Transformer网络利用输入文本序列中各Token的嵌入表示进行编码,得到各Token的第一特征表示;其它层编码子网络中的Transformer网络对来自上一层编码子网络的输入文本序列中的各元素Token的第二特征表示进行编码,得到各Token的第一特征表示;
所述归一化网络对所述各Token的第一特征表示进行归一化处理;
所述图注意力网络利用由所述SQL语句和所述表格的数据构建的异构图,对所述归一化处理后的各Token的第一特征表示进行注意力机制的处理,得到本层编码子网络输出的各Token的第二特征表示;
所述解码网络利用最后一层编码子网络输出的各Token的第二特征表示,预测答案文本。
根据本申请实施例中一可实现的方式,所述异构图包括所述SQL语句对应的语法树和所述表格的数据节点,还包括所述SQL语句对应的语法树中参数节点与所述表格的数据节点之间的连接关系;所述数据节点包括表格名称、属性名和属性值;所述参数节点包括焦点参数和/或条件参数。
根据本申请实施例中一可实现的方式,若所述问题文本对应的SQL语句的目标查询操作包含多个操作,则查询到所述SQL语句及其查询结果对应的多个文本片段;
所述利用查询到的文本片段,得到所述问题文本对应的答案文本包括:按照预设的组装策略,将所述多个文本片段进行组装,得到所述问题文本对应的答案文本。
根据本申请实施例中一可实现的方式,所述方法应用于人机交互系统,所述问题文本为用户在所述人机交互系统中输入的文本或输入的语音对应的文本,所述人机交互系统将所述答案文本或利用所述答案文本生成的语音返回给所述用户。
第二方面,提供了一种应用于人机交互系统的问答处理方法,所述方法包括:
利用用户在所述人机交互系统中输入的文本或输入的语音对应的文本得到问题文本;
获取问题文本对应的结构化查询语言SQL语句;
利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;
查询所述SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和所述表格中的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;
利用查询到的文本片段,得到所述问题文本对应的答案文本;
将所述答案文本提供给所述人机交互系统,由所述人机交互系统将所述答案文本或利用所述答案文本生成的语音返回给所述用户。
第三方面,提供了一种基于表格的问答处理装置,所述装置包括:
SQL获取单元,被配置为获取问题文本对应的结构化查询语言SQL语句;
表格查询单元,被配置为利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;
片段查询单元,被配置为查询所述SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和所述表格的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;
答案确定单元,利用查询到的文本片段,得到所述问题文本对应的答案文本。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
根据第五方面,提供了一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面中任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
1)本申请将答案生成模型布设于线下,使得答案生成模型预先针对各SQL语句和表格中的属性数据生成文本片段,以供线上利用问题文本的SQL语句以及查询结果直接查询对应的文本片段,进而利用文本片段快速生成答案文本,提高效率且降低对线上计算能力的要求。
2)本申请中利用表格数据对SQL语句表达进行填充,来构造SQL语句作为答案生成模型的输入之一生成答案文本来抽取文本片段,这种构造SQL语句的方式能够节约人力构造成本,提高效率。
3)本申请中对于离线阶段抽取的文本片段可以通过配置界面提供给第一用户进行编辑,使得第一用户能够对不合理或不准确的文本片段进行修改,提高线上生成答案文本的质量,节约配置成本。
4)本申请对答案生成模型进行了改进,在编码子网络中Transformer网络之后增加了图注意力网络,使得图注意力网络能够利用由SQL语句和表格数据构建的异构图对输入文本序列中各Token的第一特征表示进行注意力机制的处理。也就是说,通过异构图和图注意力网络将SQL语句和表格数据的结构化信息引入了特征表示的学习,进而使得生成的答案文本更加准确。
5)本申请通过对相似属性对应的属性名和属性值进行扩展,利用扩展的属性名和属性值对SQL语句和属性数据的组合进行替换,从而得到更多扩展后的对应关系,使得能够使用的对应关系数据更加丰富。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为是本申请实施例所适用的系统架构图;
图2为本申请实施例提供的基于表格的问答处理方法流程图;
图3为本申请实施例提供的生成文本片段的方法流程图;
图4为本申请实施例提供的一种SQL语法树中的部分示意性内容;
图5为本申请实施例提供的答案生成模型的结构性示意图;
图6为本申请实施例提供的异构图的实例图;
图7为本申请实施例提供的问答处理装置的示意性框图;
图8为本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
正如背景技术中所提及的,目前的线上问答场景中大多直接使用端到端的答案生成模型。获取用户的问题文本后,将问题文本输入端到端的答案生成模型在线获取问题文本对应的答案文本。但这种方式对运行答案生成模型的设备的计算能力具有很高的要求,计算能力稍有不足就无法满足线上对于答案生成模型的性能要求,造成问答效率低下。
有鉴于此,本申请提供了一种全新的思路,为了方便对本申请的理解,首先对本申请所适用的系统架构进行简单描述。图1示出了可以应用本申请实施例的示例性系统架构,如图1中所示,该系统架构包括采用离线方式建立答案生成模型的模型训练装置,以及在线实现问答的问答处理装置。
其中,模型训练装置在获取训练数据后,预先训练得到答案生成模型。
答案生成模型用以利用SQL语句以及该SQL语句在表格中的查询结果,生成答案文本。
问答处理装置可以本申请实施例提供的方式针对用户的问题文本,获取该文本提问对应的答案文本,并将答案文本返回给用户。
模型训练装置和问答处理装置可以分别设置为独立的服务器,也可以设置于同一个服务器或服务器群组,还可以设置于独立的或者同一云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Virtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。模型训练装置和问答处理装置还可以设置于具有较强计算能力的计算机终端。
在其中一种常用的场景下,用户可以使用终端设备与设置于服务端的问答处理装置进行交互,终端设备上可以安装有各种应用,例如语音交互应用、网页浏览器应用、通信类应用等。
终端设备可以是各种电子设备,可以是有屏设备,也可以是无屏设备。包括但不限于智能手机、平板电脑、智能音箱、智能电视、PC(Personal Computer,个人计算机)、可穿戴式设备等等。
用户可以通过文本或语音的方式输入问题,该问题通过网络发送到服务器端的问答处理装置,由问答处理装置获取该问题对应的答案后,将答案返回给用户的终端设备。若采用语音的形式,则在服务器端还会包含相应的语音处理部分,例如语音解析、语音合成等模块,本申请对此不做限制。
应该理解,图1中的模型训练装置、问答处理装置、终端设备以及答案生成模型的数目仅仅是示意性的。根据实现需要,可以具有任意数目的模型训练装置、问答处理装置、终端设备以及答案生成模型。
图2为本申请实施例提供的基于表格的问答处理方法流程图,该方法可以由图1所示架构中的问答处理装置执行。如图2中所示,该方法可以包括以下步骤:
步骤202:获取问题文本对应的SQL语句。
步骤204:利用SQL语句查询表格,得到SQL语句对应的查询结果。
步骤206:查询SQL语句及其查询结果对应的文本片段,文本片段是在离线阶段从答案生成模型利用SQL语句和表格中的属性数据生成的答案文本中抽取得到的,答案生成模型基于深度学习模型训练得到。
步骤208:利用查询到的文本片段,生成问题文本对应的答案文本。
由上述流程可以看出,本申请将答案生成模型布置于线下,使得答案生成模型预先针对各SQL语句和表格中的属性数据生成文本片段,以供线上利用问题文本的SQL语句以及查询结果直接查询对应的文本片段,进而利用文本片段快速生成答案文本,提高效率且降低对线上计算能力的要求。
下面对上述方法中的各步骤进行详细描述。首先对上述步骤202和步骤204即“获取问题文本对应的SQL语句”以及“利用SQL语句查询表格,得到SQL语句对应的查询结果”进行详细描述。
在智能问答场景下,问题文本通常来自于用户,用户可以向智能问答系统输入问题文本,也可以向智能问答系统输入问题语音,然后对问题语音进行语音识别得到问题文本。
本申请对于如何获取问题文本对应的SQL语句并不加以限制,可以采用任意可以实现的方式,例如利用预先建立的语义解析模型将自然语言的问题文本直接转换为SQL语句。
例如,用户输入问题“收益大于4个点的理财产品有哪些”,其对应的SQL语句为:“select产品名称where收益率>4%”。其目标操作实际上是条件运算符的查询操作,即查询收益率大于4的产品名称。
还有一些情况下,一个问题文本转换得到的SQL语句的目标操作可能包含多个操作,例如用户输入问题文本“收益大于4个点且风险等级小于2级的理财产品有哪些”,其对应的SQL语句为“select产品名称where收益率>4%and风险等级<2”,目标操作包括两个条件运算符的查询操作(即查询收益率大于4的产品名称,以及查询风险等级小于2的产品名称),然后取交集。
SQL是一门用于访问和处理数据库的标准的计算机语言,用来访问和操作数据库系统。SQL是面向数据库执行处理,可从数据库查询数据,在数据库中插入新的记录,更新数据库中的数据,从数据库删除记录、创建新数据库,在数据库中创建新表,等等。在数据库上执行的大部分操作都可以由SQL语句完成,本申请实施例涉及的主要是利用SQL语句对数据库的查询,由于数据库的组织形式主要是表格,因此SQL语句对数据库的查询就是对表格的查询。在得到SQL语句后,利用SQL语句对数据库中的表格进行查询,即可得到SQL对应的查询结果。其中SQL语句主要包括操作部分(通常以操作关键词select开始的部分)和条件部分(通常以操作关键词where开始的部分),依据SQL语句对表格的查询主要包括两种:一种是依据条件部分所指示的条件对特定表格(例如默认表格或者操作部分所指示的表格)进行匹配,返回满足所指示条件的匹配结果作为查询结果。其中查询结果可以是表格中满足条件部分的属性名、属性值等。另一种是依据操作部分所指示的属性名,对特定表格(例如默认表格或者操作部分所指示的表格)查询该属性名对应的属性值。鉴于该部分为较为公知的内容,在此不做详述。
下面结合实施例重点对上述步骤206即“查询SQL语句及其查询结果对应的文本片段,文本片段是在离线阶段从答案生成模型利用SQL语句和表格中的属性数据生成的答案文本中抽取得到的”进行详细描述。
在本申请实施例中,并非利用线上的答案生成模型在线生成答案文本,而是在离线阶段利用SQL语句和表格中的属性数据预先生成文本片段。然后在线上利用SQL语句和查询结果查询对应的文本片段,用文本片段快速生成答案文本。
其中在离线阶段生成文本片段的过程可以如图3中所示,包括以下步骤:
步骤302:在离线阶段针对表格中的属性数据分别构造一个以上的SQL语句。
通常数据库中,表格中的属性数据主要包括属性名和属性值,例如,列名称通常是属性名,记录值通常为该列所对应属性的属性值。SQL语句的查询是基于对特定表格的特定列查询得到的。因此可以在离线节点针对表格的各属性数据分别构造SQL语句,即预先将用户可能发起的SQL语句进行模拟。
作为其中一种可实现的方式,可以通过SQL语法树来进行SQL语句的构造。例如,获取SQL语法树,遍历SQL语法树得到一个以上的SQL语句表达,利用表格的表格名称、属性名和属性值中的至少一个分别对所述一个以上的SQL语句表达进行填充,得到一个以上的SQL语句。
SQL具有特定的语法规则,根据SQL语法规则可以生成一个抽象语法树,该抽象语法树与包含了SQL语句可能的语法结构。SQL语法树主要包括操作部分节点和条件部分节点。
其中,操作部分节点主要包括操作关键词、焦点参数和聚合函数。操作关键词是用以指示具体操作的关键词,例如“select”、“from”、“update”、“delete”等(SQL语法不区分大小写)。聚合函数可以是一些具体的函数名,诸如求平均的函数avg、取最大值的函数max、取最小值的函数min等等。焦点参数主要体现该SQL查询的焦点是什么,在SQL语法树中,焦点参数节点可以指示对应的表格数据类型,例如表格名称、属性名等等。
条件部分节点主要包括条件关键词、条件参数和条件运算符。条件关键词是用以指示条件的关键词,例如“where”等。条件运算符可以是一些具体的函数名、逻辑运算符或数学运算符等。例如,and、or、not、>、<、=等等。
图4为本申请实施例提供的一种SQL语法树中的部分示意性内容,如图4中所示。对于select语句而言,其可以包括操作部分节点和条件部分节点。其中,操作部分节点包括操作关键词“select”和“from”。select之后的fields部分可以包括焦点参数“fieldname”,这部分可以包含指示信息,可以指示对应属性名。fields部分还可以包括函数名function(),具体可以包括functionA()、functionB()等等。from之后的tables部分可以包括焦点参数“tablename”,该部分可以包含指示信息,指示对应表名称。tables部分还可以包括其他select语句。条件部分节点包括条件关键词“where”。where之后的condition部分可以包括具体条件参数,例如expA、expB、expC等等,该部分可以包含指示信息,指示对应属性名。Condition部分还可以包括and、or、not、>、<、=等运算符。
其中,SQL语法树中还可以指示有一些部分是非必须的,例如条件部分,再例如操作部分的一些关键词,等等。需要说明的是,图4仅仅是示意性的,具体的SQL语法树可以采用其他结构,但精神原则是类似的。
遍历SQL语法树的方式得到各种SQL语句的表达,可以利用表格的表格名称和/或属性名对SQL语句表达进行填充,得到SQL表达。例如,对于表达中的焦点参数可以采用属性名和/或表格名称进行填充,对表达中的条件参数可以采用属性名和/或属性值进行填充,得到SQL语句。经过上述多种表达和多种表格数据之间的组合,就能够得到数量众多的SQL语句。
举个例子,遍历SQL语法树得到其中一种SQL语句的表达为:““select(焦点参数1)from(焦点参数2)where(条件参数1)>(条件参数2)”,利用表格数据的填充关系即“select(属性名)from(表名称)where(属性名)>(属性值)”进行填充后可以得到如下SQL语句:
select姓名from学生登记表where身高>180
select产品名称for产品表where价格>200
……
除了上述遍历SQL语法树的方式之外,也可以依据SQL语法树预先整理出所有模板,然后利用表格数据对模板进行填充或组合,或者采用其他可实现的方式,例如从以往对表格的历史查询日志中获取SQL语句等,在此不做一一列举。
步骤304:将构造的SQL语句和属性数据的组合输入答案生成模型,获取答案生成模型生成的答案文本。
本申请实施例中涉及的答案生成模型能够在输入SQL语句和查询结果时,自动生成自然语言的答案文本。在构造得到SQL语句后,可以利用SQL语句和属性数据作为答案生成模型的输入,由答案生成模型生成对应的答案文本。
在进行组合时,可以首先进行属性数据的筛选,过滤掉一些质量不好的属性数据。例如,过滤掉包含特殊字符、敏感词、表情符号等的属性数据。再例如,如果属性数据所在的表格的行或列少于预设的阈值,例如少于2,则过滤掉该属性数据。筛选规则在此不做一一列举。
举个例子,假设构造的SQL语句为“select是否有天窗where产品=XX品牌YY型号”,将属性值“有”与SQL语句进行组合作为答案生成模型的输入,答案生成模型生成答案文本“有全景天窗的汽车是XX品牌YY型号”。其中“XX”指代某个具体的汽车品牌,“YY”指代某个具体的型号。
将构造的SQL语句和属性数据进行组合,实际上是模拟表格中每个列在不同查询操作下的情况,进而利用答案生成模型针对模拟的各种情况分别生成答案文本并从中抽取文本片段。
答案生成模型是目前已有的一种模型,通常由编码网络和解码网络构成,实质上是一种Seq2Seq(序列到序列)的预测模型。将SQL语句和属性数据(即对应查询结果)构成的输入文本序列输入答案生成模型。例如,可以将SQL语句和属性数据进行拼接构成输入文本序列。
编码网络对输入文本序列中的各Token(元素)进行特征提取,得到各Token的第二特征表示。解码网络利用各Token的第二特征表示预测答案文本。其中,Token可以是输入文本序列中的字符、词语或分隔符等。
在本申请实施例中,为了能够充分利用表格数据的结构化信息,对答案生成模型进行了改进,如图5中所示,在编码网络中增加图注意力网络。也就是说,编码网络包括N层编码子网络,编码子网络包括Transformer(转换)网络、归一化网络和图注意力网络,N为预设的正整数。Transformer网络包括注意力网络和前馈神经网络,本申请实施例增加的归一化网络和图注意力网络布设于每个Transformer网络的前馈神经网络之后。
另外需要说明的是,在编码网络之前,还会由Embedding(嵌入)层用以对输入文本序列的各Token进行嵌入处理,得到各Token的Embedding表示。
其中,上述的Embedding处理可以包括诸如词Embedding、位置Embedding等。其中,词Embedding是将各Token进行词向量编码,得到词向量表示。位置Embedding是将各Token在输入序列中的位置进行编码,得到位置的表示。
第一层编码子网络中的Transformer网络利用输入文本序列中各Token的Embedding表示进行编码,得到各Token的第一特征表示。其它层编码子网络中的Transformer网络对来自上一层编码子网络的输入文本序列中的各元素Token的第二特征表示进行编码,得到各Token的第一特征表示。
归一化(LayerNormalization)网络对各Token的第一特征表示进行归一化处理。
图注意力网络利用由SQL语句和表格数据构建的异构图,对归一化处理后的各Token的第一特征表示进行注意力机制的处理,得到本层编码子网络输出的各Token的第二特征表示。
解码网络利用最后一层编码子网络输出的各Token的第二特征表示,预测答案文本。
在此需要说明的是,本申请实施例中涉及的“第一”、“第二”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分,例如“第一特征表示”和“第二特征表示”用以在名称上区分两个特征表示。
对于一个输入文本序列而言,原有的答案生成模型忽略了输入文本序列中SQL语句和表格数据之间的结构关系。本申请则引入了一个异构图,该异构图由SQL语句和表格数据构建,可以包括SQL语句对应的语法树和表格的数据节点,还包括SQL语句对应的语法树中参数节点与表格的数据节点之间的连接关系。其中,参数节点包括焦点参数和/或条件参数,数据节点包括表格名称、属性名和属性值。例如,焦点参数节点可以与属性名和/或表格名称存在连接关系,条件参数节点可以与属性名和/或属性值存在连接关系。
例如,SQL语句“select公司名称where市值(亿元)>10000and国家=中国”与表格数据构建的异构图可以如图6中所示。其中,圆形节点为SQL语句对应的语法树中的节点,方形节点为表格数据的数据节点。可以看出,SQL语句对应的语法树中的节点和数据节点之间存在连接关系。
注意力处理是一种让模型对重要信息重点关注并充分学习的技术,上述图注意力网络进行注意力处理时,可以采用多头注意力机制,多头注意力机制是将输入进行多组的自注意力处理,即通过在不同投影空间中将各Token的第一特征表示进行交互,从而学习在不同投影空间中各Token的第一特征表示之间的交互关系,该交互关系可以理解为各Token之间的影响程度。对于每一个Token而言,对该Token的影响程度大的其他Token的第一特征表示进行重点学习,从而得到该Token的第二特征表示。具体原理如下:
hr=Concat(z1,...,zH) (6)
v为输入文本序列中的Token,n也是输入文本序列中的Token且是异构图中节点v的邻居节点,hv和hn为Transformer网络输出的v和n的第一特征表示。LayerNorm()表示归一化网络进行归一化处理的函数。和是对异构图中的节点和进行Embedding之后的结果。N(v)为节点v的所有邻居节点构成的集合。表征n对v的影响。和分别表示查询矩阵、键矩阵和值矩阵对应的权重向量。d为键矩阵的空间维度,H为注意力的组数(也称为注意力头数)。为v和n之间的相关性系数,zh为一组注意力的结果,上标h均表示第h组注意力。hr表示将多组注意力的结果进行拼接后得到的多头注意力的最终结果。
上述答案生成模型可以预先训练得到。首先获取包括训练样本的训练数据,其中每个训练样本均包括输入样本和输入样本对应的答案样本,输入样本包括SQL样本和该SQL样本对应的查询结果。
其中,上述SQL样本可以采用之前实施例中步骤302所提供的方式来构造SQL语句来作为SQL样本。输入样本对应的答案样本可以由人工进行标注,也可以依据一些预设的话术模板来产生,或者,也可以在采用预设的话术模板产生答案样本后再提供给人工进行核实和修改。
然后将输入样本作为答案生成模型的输入,将输入样本对应的答案样本作为答案生成模型的目标输出,训练得到答案生成模型。也就是在训练过程中采用的训练目标为:最小化答案生成模型针对输入样本得到的答案文本与对应的答案样本之间的差异。
可以依据上述训练目标预先构建损失函数,在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
继续参见图3,步骤306:按照预设的片段抽取策略,从答案生成模型生成的答案文本中抽取文本片段。
其中,片段抽取策略可以依据SQL语句的目标查询操作以及答案生成模型生成的答案文本的句法结构预先设置。例如:
可以对答案生成模型生成的答案文本进行句法分析,确定答案文本中的条件部分片段和结果部分片段。通常答案生成模型生成的答案文本是诸如“A的B是C”、“A的B包括C”、“A的B有C”等等,其中,A所指代部分的片段用以限制B,属于B的条件,因此A对应的就是条件部分片段。C是结果部分片段。
若构造的SQL语句的目标查询操作为排序类操作、查询是否类属性操作或包含条件运算符的查询操作,则从答案文本中抽取条件部分片段。其中,上述的条件运算符可以包括诸如“=”、“>”、“<”、“>”“!=”等。
若构造的SQL语句的目标查询操作为聚合函数类操作,则从答案文本中抽取结果部分片段。
更进一步地,通常SQL语句的表达及其对应的自然语言表达在很多时候会包含表格中的属性值,而该属性值是离散的、数量较多的,因此若构造的SQL语句中包括表格的属性值,则将对应关系中SQL语句包括的属性值及其在文本片段中对应的属性值进行泛化处理。
仍以SQL语句“select是否有天窗where产品=XX品牌YY型号”和属性值“有”的组合输入答案生成模型为例,答案生成模型生成答案文本“有全景天窗的汽车是XX品牌YY型号”。SQL语句的目标操作为查询是否类属性操作,可以从该答案生成模型中抽取其中的条件部分片段“有全景天窗”。对其中的属性值“XX品牌YY型号”进行泛化处理,就可以得到对应关系:“select是否有天窗where产品=【】”,“有”>-“有全景天窗”。
以SQL语句“select avg(收益率)from表格1”和属性值“3.2%”的组合输入答案生成模型为例,答案生成模型生成答案文本“表格1的平均收益率为3.2%”。SQL语句的目标操作为聚合函数类操作,则可以从答案文本中抽取结果部分片段“平均收益率为3.2%”。
还有一些情况下的SQL语句的目标操作包含多个操作,则从答案文本中抽取多个文本片段。以SQL语句“select avg(收益率)where类型=保本and起售金额<10000”和属性值“3.2%”为例,答案生成模型生成答案文本“保本并且起售金额小于1万元的理财产品平均收益率为3.2%”,从中抽取文本片段“保本型”、“起售金额小于1万元”和“平均收益率是3.2%”。
步骤308:记录构造的SQL语句和属性数据的组合与抽取的文本片段之间的对应关系。
另外,对于在上述步骤306抽取得到的文本片段可以通过配置界面提供给第一用户,该第一用户可以是问答处理装置的管理人员。第一用户可以通过配置界面对抽取的文本片段进行审核,并可以对文本片段进行编辑。然后在步骤308中记录构造的SQL语句和属性数据的组合与编辑后的文本片段之间的对应关系。
更进一步地,在一些场景下,有很多表格的属性是比较相似的,例如对于是否类的属性“有没有全景天窗”、“能否打包”、“是否上市”等等,对于这些比较相似的属性生成的文本片段也是具有一些相似性的。基于此,本申请实施例可以进一步对上述对应关系进行扩展。
具体地,可以对表格的属性名和属性值进行扩展;然后依据已有的对应关系得到扩展后的对应关系,包括:将已有的对应关系中SQL语句的焦点参数替换为扩展的属性名,将与该SQL语句组合的属性数据替换为扩展的属性值,将与该组合对应的文本片段依据扩展的属性名和/或属性值进行修改,利用替换后的组合和修改后的文本片段得到扩展后的对应关系。
举个例子,已有对应关系:
“select是否有天窗where产品=XX品牌YY型号”,“有”>-“有全景天窗”
可以扩展出“属性名”:“是否有倒车影像”、“是否有安全气囊”、“有没有防眩目后视镜”、“能否智能泊车”等。
扩展出属性值:“是”、“否”、“没有”、“能”、“不能”等。
并将文本片段依据扩展的属性名和/或属性值进行修改后可以扩展出文本片段:“有倒车影像”、“有安全气囊”、“没有防眩目后视镜”、“不能智能泊车”等等。
这样就可以扩展出多个对应关系:
“select是否有倒车影像where产品=【】”,“有”>-“有倒车影像”
“select是否有安全气囊where产品=【】”,“有”>-“有安全气囊”
“select是否有防眩目后视镜where产品=【】”,“没有”>-“没有防眩目后视镜”
“select是否能智能泊车where产品=【】”,“不能”>-“不能智能泊车”
……
下面结合实施例对上述步骤208即“利用查询到的文本片段,生成问题文本对应的答案文本”进行详细描述。
如果问题文本对应一个SQL语句,则直接利用该SQL语句和查询结果对应的文本片段得到问题文本对应的答案文本。例如用户的问题文本为“XX品牌YY型号的汽车是否有倒车影像”,经过上述过程得到文本片段“有倒车影像”,则将该文本片段作为答案文本。
如果一个问题文本对应多个SQL语句,则将多个SQL语句和查询结果的组合分别对应的文本片段进行组装,得到答案文本。其中在进行组装时,可以按照预设的组装策略进行。
举个例子,问题文本“保本并且起售金额小于1万元的理财产品平均收益是多少”,其对应的SQL语句为“select avg(收益率)where类型=保本and起售金额<10000”,查询结果为“3.2%”。查询得到对应的文本片段包括:“保本型”、“起售金额小于1万元”和“平均收益率是3.2%”。按照句法规则进行组装可以得到答案文本“起售金额小于1万元的保本型产品平均收益率是3.2%”。
本申请实施例提供的上述方法可以应用于人机交互系统,包括:利用用户在人机交互系统中输入的文本或输入的语音对应的文本得到问题文本;获取问题文本对应的SQL语句;利用该SQL语句查询表格,得到该SQL语句对应的查询结果;查询该SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和表格中的属性数据生成的答案文本中抽取得到的,答案生成模型基于深度学习模型训练得到;利用查询到的文本片段,得到问题文本对应的答案文本;将该答案文本提供给人机交互系统,由人机交互系统将该答案文本或利用该答案文本生成的语音返回给用户。在此列举两种比较典型的应用场景:
应用场景1:
现在越来越多的电子商务平台使用在线客服为用户提供客户服务。用户常常在与在线客服沟通的过程中进行相关商品的咨询,这种情况下可以获取到用户输入的问题文本后,通过查询商品数据库中的表格,采用本申请实施例提供的方式快速生成答案文本并返回给用户。
应用场景2:
用户在与智能音箱的交互过程中,常常会向智能音箱提问,这种情况下,可以获取用户的问题语音,由智能音箱将该语音发送给服务端。由服务端进行语音识别后得到问题文本,将该问题文本提供给问答处理装置。问答处理装置利用本申请实施例提供的方式查询相关知识库,快速生成答案文本,然后进行语音合成后,将合成的语音由服务端发送给智能音箱,再由智能音箱播放给用户。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种问答处理装置。图7示出根据一个实施例的该问答处理装置的示意性框图。如图7所示,该装置700包括:SQL获取单元701、表格查询单元702、片段查询单元703和答案确定单元704,还可以包括片段生成单元705、片段扩充单元706和模型训练单元707。其中各组成单元的主要功能如下:
SQL获取单元701,被配置为获取问题文本对应的结构化查询语言SQL语句。
表格查询单元702,被配置为利用SQL语句查询表格,得到SQL语句对应的查询结果。
片段查询单元703,被配置为查询SQL语句及其查询结果对应的文本片段,文本片段是在离线阶段从答案生成模型利用SQL语句和表格中的属性数据生成的答案文本中抽取得到的,答案生成模型基于深度学习模型训练得到。
答案确定单元704,利用查询到的文本片段,得到问题文本对应的答案文本。
作为其中一种可实现的方式,片段生成单元705,被配置为在离线阶段针对表格的属性数据分别构造一个以上的SQL语句;将构造的SQL语句和属性数据的组合输入答案生成模型,获取答案生成模型生成的答案文本;按照预设的片段抽取策略,从答案生成模型生成的答案文本中抽取文本片段;记录构造的SQL语句和属性数据的组合与抽取的文本片段之间的对应关系。
作为其中一种可实现的方式,若构造的SQL语句中包括表格的属性值,则片段生成单元705可以将上述对应关系中SQL语句包括的属性值及其在文本片段中对应的属性值进行泛化处理。
作为其中一种可实现的方式,片段生成单元705在针对表格的属性数据分别构造一个以上的SQL语句时,可以具体被配置为:获取SQL语法树,其中SQL语法树是利用SQL语法规则预先生成的;遍历SQL语法树,得到一个以上的SQL语句表达,利用表格的表格名称、属性名和属性值中的至少一个分别对一个以上的SQL语句表达进行填充,得到一个以上的SQL语句。
片段生成单元705在按照预设的片段抽取策略,从答案生成模型生成的答案文本中抽取文本片段时,具体被配置为:确定答案生成模型生成的答案文本中的条件部分片段和结果部分片段;若构造的SQL语句的目标操作包括排序类操作、查询是否类属性操作或包含条件运算符的查询操作,则从答案文本中抽取条件部分片段;若构造的SQL语句的目标操作包括聚合函数类操作,则从答案文本中抽取结果部分片段。
作为其中一种可实现的方式,片段生成单元705还可以被配置为:将抽取到的文本片段通过配置界面提供给第一用户,获取第一用户通过配置界面对文本片段进行的编辑;记录构造的SQL语句和属性数据的组合与抽取的文本片段之间的对应关系包括:记录构造的SQL语句和属性数据的组合与第一用户编辑后的文本片段之间的对应关系。
作为其中一种可实现的方式,片段扩充单元706,被配置为对表格的属性名和属性值进行扩展;依据已有的对应关系得到扩展后的对应关系,包括:将已有的对应关系中SQL语句的焦点参数替换为扩展的属性名,将与该SQL语句组合的属性数据替换为扩展的属性值,将与该组合对应的文本片段依据扩展的属性名和/或属性值进行修改,利用替换后的组合和修改后的文本片段得到扩展后的对应关系。
作为其中一种可实现的方式,本申请实施例中提供的答案生成模型可以包括编码网络和解码网络,编码网络包括N层编码子网络,编码子网络包括Transformer网络、归一化网络和图注意力网络,N为预设的正整数。
第一层编码子网络中的Transformer网络利用输入文本序列中各Token的嵌入表示进行编码,得到各Token的第一特征表示;其它层编码子网络中的Transformer网络对来自上一层编码子网络的输入文本序列中的各元素Token的第二特征表示进行编码,得到各Token的第一特征表示。
归一化网络对各Token的第一特征表示进行归一化处理。
图注意力网络利用由SQL语句和表格的数据构建的异构图,对归一化处理后的各Token的第一特征表示进行注意力机制的处理,得到本层编码子网络输出的各Token的第二特征表示。
解码网络利用最后一层编码子网络输出的各Token的第二特征表示,预测答案文本。
其中,上述异构图包括SQL语句对应的语法树和表格的数据节点,还包括SQL语句对应的语法树中参数节点与表格的数据节点之间的连接关系;数据节点包括表格名称、属性名和属性值;参数节点包括焦点参数和/或条件参数。
作为其中一种可实现的方式,模型训练单元707,被配置为采用如下方式预先训练得到答案生成模型:获取包括多个训练样本的训练数据,训练样本包括SQL样本和该SQL样本对应的查询结果构成的输入样本,以及该输入样本对应的答案样本;将输入样本输入答案生成模型,将答案样本作为答案生成模型的目标输出,训练得到答案生成模型。
作为其中一种可实现的方式,若问题文本对应的SQL语句的目标查询操作包含多个操作,则片段查询单元703查询到SQL语句及其查询结果对应的多个文本片段。
答案确定单元704按照预设的组装策略,将多个文本片段进行组装,得到问题文本对应的答案文本。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
其中,图8示例性的展示出了电子设备的架构,具体可以包括处理器810,视频显示适配器811,磁盘驱动器812,输入/输出接口813,网络接口814,以及存储器820。上述处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,与存储器820之间可以通过通信总线830进行通信连接。
其中,处理器810可以采用通用的CPU、微处理器、应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器820可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器820可以存储用于控制电子设备800运行的操作系统821,用于控制电子设备800的低级别操作的基本输入输出系统(BIOS)822。另外,还可以存储网页浏览器823,数据存储管理系统824,以及问答处理装置825等等。上述问答处理装置825就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器820中,并由处理器810来调用执行。
输入/输出接口813用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口814用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线830包括一通路,在设备的各个组件(例如处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,与存储器820)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器810、视频显示适配器811、磁盘驱动器812、输入/输出接口813、网络接口814,存储器820,总线830等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序产品的形式体现出来,该计算机程序产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种基于表格的问答处理方法,其特征在于,所述方法包括:
获取问题文本对应的结构化查询语言SQL语句;
利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;
查询所述SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和所述表格中的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;
利用查询到的文本片段,得到所述问题文本对应的答案文本。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在离线阶段针对所述表格中的属性数据分别构造一个以上的SQL语句;
将构造的SQL语句和所述属性数据的组合输入答案生成模型,获取所述答案生成模型生成的答案文本;
按照预设的片段抽取策略,从所述答案生成模型生成的答案文本中抽取文本片段;
记录构造的SQL语句和所述属性数据的组合与抽取的文本片段之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,若所述构造的SQL语句中包括表格中的属性值,则将所述对应关系中所述SQL语句包括的属性值及在文本片段中对应的属性值进行泛化处理。
4.根据权利要求2所述的方法,其特征在于,所述在离线阶段针对所述表格中的属性数据分别构造SQL语句包括:
获取SQL语法树,其中SQL语法树是利用SQL语法规则预先生成的;
遍历所述SQL语法树,得到一个以上的SQL语句表达,利用所述表格的表格名称、属性名和属性值中的至少一个分别对所述一个以上的SQL语句表达进行填充,得到一个以上的SQL语句。
5.根据权利要求2所述的方法,其特征在于,所述按照预设的片段抽取策略,从所述答案生成模型生成的答案文本中抽取文本片段包括:
确定所述答案生成模型生成的答案文本中的条件部分片段和结果部分片段;
若构造的SQL语句的目标操作包括排序类操作、查询是否类属性操作或包含条件运算符的查询操作,则从所述答案文本中抽取条件部分片段;
若构造的SQL语句的目标操作包括聚合函数类操作,则从所述答案文本中抽取结果部分片段。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:将抽取到的所述文本片段通过配置界面提供给第一用户,获取所述第一用户通过所述配置界面对所述文本片段进行的编辑;
记录构造的SQL语句和所述属性数据的组合与抽取的文本片段之间的对应关系包括:记录构造的SQL语句和所述属性数据的组合与所述第一用户编辑后的文本片段之间的对应关系。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对表格的属性名和属性值进行扩展;
依据已有的对应关系得到扩展后的对应关系,包括:将已有的对应关系中SQL语句的焦点参数替换为扩展的属性名,将与该SQL语句组合的属性数据替换为扩展的属性值,将与该组合对应的文本片段依据扩展的属性名和/或属性值进行修改,利用替换后的组合和修改后的文本片段得到扩展后的对应关系。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述答案生成模型包括编码网络和解码网络,所述编码网络包括N层编码子网络,所述编码子网络包括转换Transformer网络、归一化网络和图注意力网络,所述N为预设的正整数;
第一层编码子网络中的Transformer网络利用输入文本序列中各元素Token的嵌入表示进行编码,得到各Token的第一特征表示;其它层编码子网络中的Transformer网络对来自上一层编码子网络的输入文本序列中的各元素Token的第二特征表示进行编码,得到各Token的第一特征表示;
所述归一化网络对所述各Token的第一特征表示进行归一化处理;
所述图注意力网络利用由所述SQL语句和所述表格的数据构建的异构图,对所述归一化处理后的各Token的第一特征表示进行注意力机制的处理,得到本层编码子网络输出的各Token的第二特征表示;
所述解码网络利用最后一层编码子网络输出的各Token的第二特征表示,预测答案文本。
9.根据权利要求8所述的方法,其特征在于,所述异构图包括所述SQL语句对应的语法树和所述表格的数据节点,还包括所述SQL语句对应的语法树中参数节点与所述表格的数据节点之间的连接关系;所述数据节点包括表格名称、表格中的属性名和属性值;所述参数节点包括焦点参数和/或条件参数。
10.根据权利要求1至7中任一项所述的方法,其特征在于,若所述问题文本对应的SQL语句的目标查询操作包含多个操作,则查询到所述SQL语句及其查询结果对应的多个文本片段;
所述利用查询到的文本片段,得到所述问题文本对应的答案文本包括:按照预设的组装策略,将所述多个文本片段进行组装,得到所述问题文本对应的答案文本。
11.一种应用于人机交互系统的问答处理方法,其特征在于,所述方法包括:
利用用户在所述人机交互系统中输入的文本或输入的语音对应的文本得到问题文本;
获取问题文本对应的结构化查询语言SQL语句;
利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;
查询所述SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和所述表格中的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;
利用查询到的文本片段,得到所述问题文本对应的答案文本;
将所述答案文本提供给所述人机交互系统,由所述人机交互系统将所述答案文本或利用所述答案文本生成的语音返回给所述用户。
12.一种基于表格的问答处理装置,其特征在于,所述装置包括:
SQL获取单元,被配置为获取问题文本对应的结构化查询语言SQL语句;
表格查询单元,被配置为利用所述SQL语句查询表格,得到所述SQL语句对应的查询结果;
片段查询单元,被配置为查询所述SQL语句及其查询结果对应的文本片段,其中,文本片段是在离线阶段从答案生成模型利用SQL语句和所述表格中的属性数据生成的答案文本中抽取得到的,所述答案生成模型基于深度学习模型训练得到;
答案确定单元,利用查询到的文本片段,得到所述问题文本对应的答案文本。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至11任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310120405.8A CN116108053A (zh) | 2023-01-18 | 2023-01-18 | 基于表格的问答处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310120405.8A CN116108053A (zh) | 2023-01-18 | 2023-01-18 | 基于表格的问答处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116108053A true CN116108053A (zh) | 2023-05-12 |
Family
ID=86253996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310120405.8A Pending CN116108053A (zh) | 2023-01-18 | 2023-01-18 | 基于表格的问答处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108053A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115497477A (zh) * | 2022-09-09 | 2022-12-20 | 平安科技(深圳)有限公司 | 语音交互方法、语音交互装置、电子设备、存储介质 |
-
2023
- 2023-01-18 CN CN202310120405.8A patent/CN116108053A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115497477A (zh) * | 2022-09-09 | 2022-12-20 | 平安科技(深圳)有限公司 | 语音交互方法、语音交互装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111046132B (zh) | 一种检索多轮对话的客服问答处理方法及其系统 | |
CN110321419B (zh) | 一种融合深度表示与交互模型的问答匹配方法 | |
CN114547329A (zh) | 建立预训练语言模型的方法、语义解析方法和装置 | |
CN112163681B (zh) | 设备故障原因确定方法、存储介质以及电子设备 | |
CN109657054A (zh) | 摘要生成方法、装置、服务器及存储介质 | |
US20160275444A1 (en) | Procurement System | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
CN106844380A (zh) | 一种数据库操作方法、信息处理方法和相应装置 | |
CN110222194B (zh) | 基于自然语言处理的数据图表生成方法和相关装置 | |
CN115495563A (zh) | 基于表格数据检索的智能会话方法及服务器 | |
CN110008308B (zh) | 针对用户问句补充信息的方法和装置 | |
CN115238710B (zh) | 一种文档智能生成与管理方法及装置 | |
CN116108053A (zh) | 基于表格的问答处理方法及装置 | |
CN116974554A (zh) | 代码数据处理方法、装置、计算机设备和存储介质 | |
CN117874210B (zh) | 自主交互问答方法、系统、设备及介质 | |
CN112579600B (zh) | 一种基于车载问答的数据处理方法和装置 | |
WO2024093578A1 (zh) | 语音识别方法、装置、电子设备、存储介质及计算机程序产品 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN117407507A (zh) | 基于大语言模型的事件处理方法、装置、设备及介质 | |
CN116186219A (zh) | 一种人机对话交互方法方法、系统及存储介质 | |
KR102559849B1 (ko) | 악플 필터 장치 및 방법 | |
CN116976341A (zh) | 实体识别方法、装置、电子设备、存储介质及程序产品 | |
CN113763949B (zh) | 语音识别修正方法、电子设备及计算机可读存储介质 | |
CN114662002A (zh) | 对象推荐方法、介质、装置和计算设备 | |
CN111681670B (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 |