CN114625759A - 模型训练方法、智能问答方法、设备、介质及程序产品 - Google Patents
模型训练方法、智能问答方法、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN114625759A CN114625759A CN202210273278.0A CN202210273278A CN114625759A CN 114625759 A CN114625759 A CN 114625759A CN 202210273278 A CN202210273278 A CN 202210273278A CN 114625759 A CN114625759 A CN 114625759A
- Authority
- CN
- China
- Prior art keywords
- model
- sample
- statement
- instruction
- analysis
- 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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例公开了一种模型训练方法、智能问答方法、设备、介质及程序产品,属于人工智能领域。该方法包括:构建模型训练框架;将样本对话内容输入语句改写模型得到样本自包含语句;将样本对话内容输入第一解析模型,得到第一解析指令;将样本自包含语句输入所述第二解析模型,得到第二解析指令;基于第一解析指令以及第二解析指令,对模型训练框架进行迭代训练。上述方法、设备、介质及程序产品有助于强化智能数据分析、智能语音问答等场景下模型对自然语言对话连贯性的认知,提高信息检索效率以及问题答复的准确率。
Description
技术领域
本申请实施例涉及人工智能技术领域,特别涉及一种模型训练方法、智能问答方法、设备、介质及程序产品。
背景技术
智能问答是指以问答的形式,定位用户所需要的信息,通过与用户进行交互提供个性化的信息服务。网络数据通常存储在数据库中,而数据库信息的提取则需要特殊的编程语言。智能问答可以将用户的自然语言问题转换为数据库查询语句,帮助用户进行数据获取和分析。
相关技术大多采用端到端的编解码结构进行语言解析,将自然语言转化为编程语言。依据相邻预料在语言上往往会相互依赖的特点,将自然语言对话的上下文直接串联,输入端到端模型完成自然语言向数据库语言的转化。
然而,相关技术的方法过于依赖历史语言解析的正确性,存在错误传播的风险,其次也很难应对用户焦点变化的问题。
发明内容
本申请实施例提供了一种模型训练方法、智能问答方法、设备、介质及程序产品,能够使模型充分学习到语义信息,提高信息检索效率以及问题答复的准确率。所述技术方案如下:
一方面,本申请实施例提供了一种模型训练方法,所述方法包括:
构建模型训练框架,所述模型训练框架包括由第一解析模型和第二解析模型构成的双塔模型,所述第一解析模型和所述第二解析模型用于将自然语言解析为结构化查询指令,所述第一解析模型的编码器层与所述第二解析模型的编码器层之间参数共享,且所述第一解析模型与所述第二解析模型的解码器层之间参数共享;
将样本对话内容输入所述第一解析模型,得到第一解析指令,所述样本对话内容包括样本信息查询语句以及样本历史对话内容;
将样本自包含语句输入所述第二解析模型,得到第二解析指令,所述样本自包含语句是基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复得到的;
基于所述第一解析指令以及所述第二解析指令,对所述模型训练框架进行迭代训练。
另一方面,本申请实施例提供了一种智能问答方法,所述方法包括:
获取信息查询语句,所述信息查询语句属于自然语言;
将所述信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令,所述目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性对双塔模型进行训练得到的,所述双塔模型中两个模型的编码器层参数共享,且所述两个模型的解码器层参数共享,所述样本自包含语句通过对所述样本信息查询语句进行语义恢复得到;
基于所述结构化查询指令从数据库中获取数据查询结果。
另一方面,本申请实施例提供了一种模型训练装置,所述装置包括:
模型构建模块,用于构建模型训练框架,所述模型训练框架包括由第一解析模型和第二解析模型构成的双塔模型,所述第一解析模型和所述第二解析模型用于将自然语言解析为结构化查询指令,所述第一解析模型的编码器层与所述第二解析模型的编码器层之间参数共享,且所述第一解析模型与所述第二解析模型的解码器层之间参数共享;
模型输入模块,用于将样本对话内容输入所述第一解析模型,得到第一解析指令,所述样本对话内容包括样本信息查询语句以及样本历史对话内容;
所述模型输入模块,还用于将样本自包含语句输入所述第二解析模型,得到第二解析指令,所述样本自包含语句是基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复得到的;
模型训练模块,用于基于所述第一解析指令以及所述第二解析指令,对所述模型训练框架进行迭代训练。
另一方面,本申请实施例提供了一种智能问答装置,所述装置包括:
语句获取模块,用于获取信息查询语句,所述信息查询语句属于自然语言;
指令解析模块,用于将所述信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令,所述目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性对双塔模型进行训练得到的,所述双塔模型中两个模型的编码器层参数共享,且所述两个模型的解码器层参数共享,所述样本自包含语句通过对所述样本信息查询语句进行语义恢复得到;
结果获取模块,用于基于所述结构化查询指令从数据库中获取数据查询结果。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的模型训练方法或智能问答方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如上述方面所述的模型训练方法或智能问答方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的模型训练方法或智能问答方法。
本申请实施例提供的技术方案至少包括以下有益效果:
本申请实施例中,通过利用样本对话内容以及样本自包含语句对双塔模型进行训练,将自包含问题和对话内容的上下文映射到同一潜在空间,使模型充分学习到语义信息,提高解析模型的性能。并且,利用SQL解析结果一致性进行模型训练,能够增强模型SQL解析的能力,强化了智能数据分析、表格问答等场景下模型对自然语言对话连贯性的认知,从而提高信息检索效率以及问题答复的准确率。
附图说明
图1是相关技术中自然语言解析模型的框架图;
图2是本申请一个示例性实施例示出的对话依赖现象的示意图;
图3是本申请一个示例性实施例示出的模型训练方法的流程图;
图4是本申请另一个示例性实施例示出的模型训练方法的流程图;
图5是本申请一个示例性实施例示出的模型训练框架的示意图;
图6是本申请另一个示例性实施例示出的模型训练方法的流程图;
图7是本申请一个示例性实施例示出的语句改写模型的框架图;
图8是本申请一个示例性实施例示出的智能问答方法的流程图;
图9是本申请一个示例性实施例示出的数据表的示意图;
图10是本申请另一个示例性实施例示出的智能问答方法的流程图;
图11是本申请一个示例性实施例示出的智能问答流程的示意图;
图12是本申请一个示例性实施例示出的智能问答界面的示意图;
图13是本申请一个示例性实施例示出的解析准确率测试的示意图;
图14是本申请一个示例性实施例示出的模型训练装置的结构框图;
图15是本申请一个示例性实施例示出的智能问答装置的结构框图;
图16是本申请一个示例性实施例示出的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先,对本申请实施例中涉及的名词进行介绍:
结构化查询语言(Structured Query Language,SQL):是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
表格问答(Table Question and Answer,TableQA):将用户输入的自然问题转化为数据表格可操作的SQL查询语句。
Natural Language to SQL(NL2SQL):将自然语言对话问题转换为SQL查询语句。
对话NL2SQL:将自然语言多轮对话问题转换为SQL查询语句,会涉及对话系统中的指代、省略等需要追溯上文的问题。
多轮改写技术:将多轮对话中存在的指代和省略都恢复出来,使得每一轮对话都是信息语义完整的描述。
Kullback-Leibler散度(Kullback-Leibler divergence,KL散度):用于计算两个概率分布之间的相似程度。
自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
相关技术在对话NL2SQL任务上,大多采用端到端的编解码结构,如图1所示,大部分对话系统的方案将上下文直接串联,输入到端到端模型完成自然语言向SQL查询语言的转化。
然而,以端到端方式训练基于对话系统的NL2SQL模型是较为常见的。具体来说,Edit-SQL是图1所示的模型,它利用交互历史,通过复制或编辑之前预测的SQL查询来提高生成质量,这是基于相邻的语料往往在语言上相互依赖这一现象,其相应的SQL查询结果往往是重叠的假设。这种假设过于依赖之前轮流预测的SQL查询结果的正确性,其次,它也很难应对用户焦点变化的问题。另外,R2SQL提出了动态记忆衰退机制,结合归纳偏见生成丰富的上下文关系表示,而它仍然受到长范围依赖问题的影响。以上方法都只是对多轮问题的串联进行编码,然而,这些端到端的方法对对话依赖现象的指导是不充分的。其中对话依赖现象指对话系统中出现的指代、省略、用户注意转移等问题,如图2所示。
本申请实施例提供了一种模型训练方法以及智能问答方法,由计算机设备执行。该计算机设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器等。
请参考图3,其示出了本申请一个示例性实施例提供的模型训练方法的流程图。本实施例以该方法由具有模型训练能力的计算机设备执行为例进行说明,该方法包括如下步骤:
步骤301,构建模型训练框架,模型训练框架包括由第一解析模型和第二解析模型构成的双塔模型。
在多轮对话场景中,在当前问题与前文对话内容相关的情况下,用户往往习惯于使用指代词代替前文部分内容,或者直接省略,这种情况称为对话依赖现象。当存在对话依赖现象时,若直接基于用户输入的语句进行解析,可能使得模型识别错误。
在一种可能的实施方式中,模型训练阶段负责进行语句解析的模型为双塔模型,包括第一解析模型以及第二解析模型,第一解析模型的编码器层与第二解析模型的编码器层之间参数共享,且第一解析模型与第二解析模型的解码器层之间参数共享,实现基于SQL解析一致性原则进行模型训练。其中一个模型用于对样本对话内容进行解析,另一个模型用于对样本自包含语句进行解析。计算机设备通过使两个解析模型参数共享,使样本自包含语句和样本对话内容映射至同一潜在空间。
步骤302,将样本对话内容输入第一解析模型,得到第一解析指令。
其中,样本对话内容包括样本信息查询语句以及样本历史对话内容。信息查询语句是人为输入的自然语言,历史对话内容包括同一对话场景中,在当前信息查询语句之前输入的自然语言以及计算机设备所反馈的答复内容。
示意性的,如图2所示的对话内容,当进行至第二轮对话时,其对应的信息查询语句为“那男教师呢?”,历史对话内容则包括“A大学有多少女教师?”以及计算机设备所反馈的数据。
步骤303,将样本自包含语句输入第二解析模型,得到第二解析指令。
为了解决语句改写的错误传播,以及无法应对焦点变化的问题,计算机设备基于样本对话内容以及样本自包含语句输进行模型训练,使语句解析模型基于样本对话内容以及样本自包含语句两种素材进行学习,一方面能够学习到自包含语句中的特征,另一方面也能够学习用户输入的原始语句的特征,充分学习语义信息。
步骤304,基于第一解析指令以及第二解析指令,对模型训练框架进行迭代训练。
由于样本自包含语句是基于样本历史对话内容对样本信息查询语句进行改写得到的,因此基于样本对话内容解析得到的结构化查询指令与基于样本自包含语句解析得到的结构化查询指令应当一致。计算机设备基于SQL解析结果一致的原则,向两种解析结果相互靠近的方向对模型训练框架进行迭代训练。
综上所述,本申请实施例中,通过利用样本对话内容以及样本自包含语句对双塔模型进行训练,将自包含问题和对话内容的上下文映射到同一潜在空间,使模型充分学习到语义信息,提高解析模型的性能。并且,利用SQL解析结果一致性进行模型训练,能够增强模型SQL解析的能力,强化了智能数据分析、表格问答等场景下模型对自然语言对话连贯性的认知,从而提高信息检索效率以及问题答复的准确率。
请参考图4,其示出了本申请另一个示例性实施例提供的模型训练方法的流程图。本实施例以该方法由具有模型训练能力的计算机设备执行为例进行说明,该方法包括如下步骤:
步骤401,构建模型训练框架。
为了解决对话依赖问题,优化模型的SQL解析能力,在一种可能的实施方式中,本申请实施例的SQL解析包含两个阶段。第一阶段是通过语句改写模型对用户输入的自然语言问题进行语义恢复,将其改写为语义信息完整的自包含问题。第二阶段是通过语句解析模型对自包含问题进行解析,将其转化为SQL语句。从而达到将存在对话依赖现象的自然语言转化为SQL语句的效果,方便用户通过自然语言进行信息查询。
因此,在模型训练阶段,计算机设备需要构建由语句改写模型和语句解析模型构成的模型训练框架,利用训练样本对两部分模型进行训练。在一种可能的实施方式中,模型训练框架包括语句改写模型、第一解析模型和第二解析模型。
步骤402,将样本对话内容输入语句改写模型得到样本自包含语句。
语句改写模型用于基于样本历史对话内容对样本信息查询语句进行语义恢复。
自包含语句的生成需要模型通过追溯上文,将本轮对话语句中的指代词、省略等情况识别出来,因此计算机设备需要将当前一轮对话中的信息查询语句以及历史对话内容均输入语句改写模型中。在模型训练阶段,计算机设备将包含样本信息查询语句以及样本历史对话内容的样本对话内容输入语句改写模型,得到样本自包含语句。
步骤403,将第一样本数据输入第一解析模型,得到第一解析指令。
其中,第一样本数据为样本对话内容以及样本模式信息,样本模式信息中包含样本数据表的表名和列名,样本数据表为样本历史对话内容对应的数据表。
在一种可能的实施方式中,语句解析模型的输入包括待解析的自然语言内容,以及待查询数据所涉及到的数据库模式。其中数据库模式可以基于历史对话内容得到,也可以基于对信息查询语句的初步识别确定。对于第一解析模型,其输入内容包括样本对话内容以及样本模式信息。
结合图5所示的模型结构,步骤403具体包括如下步骤:
步骤403a,将第一样本数据和第一隐变量输入第一解析模型的编码器层,得到第一样本特征,第一样本特征包含样本对话信息特征、第一模式信息特征以及第一隐变量特征。
双塔结构下,计算机设备构建编码器和解码器后,引入隐变量,通过两个解析模型的隐变量将第一样本数据和第二样本数据映射至同一潜在空间。
在一种可能的实施方式中,计算机设备按照样本对话内容、样本模式信息以及第一隐变量的顺序,将三者串联输入第一解析模型的编码器层。编码器层用于对输入的每个字符进行向量编码,得到三者对应的特征向量,即对话信息特征、第一模式信息特征以及第一隐变量特征。其中,第一隐变量特征用于指示对话信息特征和第一模式信息特征的权重。
如图5所示,左侧为第一解析模型的模型结构。计算机模型将样本对话内容C、样本模式信息S以及第一隐变量[z]串联输入编码器层,得到样本对话信息特征hc、第一模式信息特征hs以及第一隐变量特征h。
步骤403b,基于第一隐变量特征对样本对话信息特征和第一模式信息特征进行修正。
隐变量在训练过程中会逐步生成对文本问题和模式信息对应向量的权重影响。第一隐变量特征用于指示对话信息特征和第一模式信息特征的权重,计算机设备将第一隐变量特征代入样本对话信息特征以及第一模式信息特征,对二者进行修正。
步骤403c,将修正后的第一样本特征输入第一解析模型的解码器层,得到第一解析指令。
在一种可能的实施方式中,第一解析模型的解码器层具体输出的内容包括抽样语法预测项的预测概率分布,语法预测项包括:应用规则(ApplyRule),用于指示选择哪种操作;指定计算列(SelectColumn),用于指示选择数据表中的哪个列;指定数据表(SelectTable),用于指示选择哪个表。
步骤404,将第二样本数据输入第二解析模型,得到第二解析指令。
其中,第二样本数据包括样本模式信息以及样本自包含语句。
与第一解析模型的输入内容对应,第二解析模型的输入内容同样包括待解析的自然语言内容,以及待查询数据所涉及到的数据库模式。对于第一解析模型,其输入内容包括样本对话内容以及样本模式信息。
结合图5所示的模型结构,步骤404具体包括如下步骤:
步骤404a,将第二样本数据以及第二隐变量输入第二解析模型的编码器层,得到第二样本特征,第二样本特征包含第二隐变量特征、第二模式信息特征以及样本自包含特征。
双塔结构下,计算机设备构建编码器和解码器后,引入隐变量,通过两个解析模型的隐变量将第一样本数据和第二样本数据映射至同一潜在空间。
在一种可能的实施方式中,计算机设备按照第二隐变量、样本模式信息以及样本自包含语句的顺序,将三者串联输入第一解析模型的编码器层。编码器层用于对输入的每个字符进行向量编码,得到三者对应的特征向量,即第二隐变量特征、第二模式信息特征以及样本自包含特征。其中,第二隐变量特征用于指示第二模式信息特征以及样本自包含特征的权重。
如图5所示,右侧为第二解析模型的模型结构。计算机模型将第二隐变量[z]、样本模式信息S以及样本自包含语句Q串联输入编码器层,得到第二隐变量特征h、第二模式信息特征hs以及样本自包含特征hQ。
步骤404b,基于第二隐变量特征对第二模式信息特征和样本自包含特征进行修正。
隐变量在训练过程中会逐步生成对文本问题和模式信息对应向量的权重影响。第二隐变量特征用于指示第二模式信息特征和样本自包含特征的权重,计算机设备将第二隐变量特征代入第二模式信息特征和样本自包含特征,对二者进行修正。
步骤404c,将修正后的第二样本特征输入第二解析模型的解码器层,得到第二解析指令。
在一种可能的实施方式中,第二解析模型的解码器层具体输出的内容包括抽样语法预测项的预测概率分布,语法预测项包括:应用规则(ApplyRule),用于指示选择哪种操作;指定计算列(SelectColumn),用于指示选择数据表中的哪个列;指定数据表(SelectTable),用于指示选择哪个表。
值得一提的是,第一解析模型的隐变量(第一隐变量)与第二解析模型的隐变量(第二隐变量)不同。计算机设备通过模型迭代训练使二者相互逼近。
步骤405,基于第一解析指令以及第二解析指令确定模型损失。
由于样本信息查询语句和样本自包含语句的语义相同,其对应的查询结果所属的数据表相同,因此第一隐变量与第二隐变量、第一模式信息与第二模式信息特征在理想状态下应当一致,即存在模式基础一致性,第一解析指令与第二解析指令应当一致,即存在SQL解析一致性。
在一种可能的实施方式中,计算机设备基于模式基础一致性原则以及SQL解析一致性原则进行模型训练。因此模型损失包括两部分,步骤405包括如下步骤:
步骤405a,基于第一样本特征以及第二样本特征确定第一模型损失。
基于模式基础一致性,计算机设备确定第一模型损失,步骤405a包括如下步骤:
步骤一,基于第一模式信息特征以及第二模式信息特征确定第一特征相对熵,其中,相对熵用于指示信息之间的差异度。
步骤二,基于第一隐变量特征以及第二隐变量特征确定第二特征相对熵。
步骤三,基于第一特征相对熵和第二特征相对熵,确定第一模型损失。
其中,相对熵又称为KL散度。基于模式(schema)基础一致原则,计算机设备计算左右塔之间hS、h向量的KL散度。保障两边虽然输入不同,但数据库模式和隐变量的向量hS、h能够尽量逼近。
示意性的,第一模型损失的计算公式如下:
其中,hsleft为第一模式信息特征,hsright为第二模式信息特征,hleft为第一隐变量特征,hright为第二隐变量特征。
步骤405b,基于第一解析指令以及第二解析指令确定第二模型损失。
在一种可能的实施方式中,基于SQL解析一致性,计算机设备计算第二模型损失,步骤405b包括如下步骤:
步骤四,基于第一解析指令中的第一操作项和第二解析指令中的第二操作项确定第一指令相对熵,操作项用于指示数据库操作。
步骤五,基于第一解析指令所指示的第一数据表和第二解析指令所指示的第二数据表确定第二指令相对熵。
步骤六,基于第一解析指令所指示的第一数据列和第二解析指令所指示的第二数据列确定第三指令相对熵。
步骤七,基于第一指令相对熵、第二指令相对熵以及第三指令相对熵,确定第二模型损失。
由于需要使两个解析模型对应的每一种预测项尽量逼近,因此计算机设备分别计算两个解析指令中每种预测项对应的KL散度,以确定模型损失。示意性的,第二模型损失的计算公式如下:
DKL(papplyruleleft||papplyruleright)+DKL(pselectcolumnleft||pselectcolumnrigh)+DKL(pselecttableleft||pselecttableright)
其中,p是指预测的概率,p的下标对应抽象语法预测项,即papplyruleleft表示第一操作项的概率分布,papplyruleright表示第二操作项的概率分布,pselectcolumnleft表示第一数据列的概率分布,pselectcolumnright表示第二数据列的概率分布,pselecttableleft表示第一数据表的概率分布,pselecttableright表示第二数据表的概率分布。
步骤405c,基于第一模型损失以及第二模型损失确定模型损失。
在一种可能的实施方式中,计算机设备将第一模型损失与第二模型损失的算数和确定为整体的模型损失。
步骤406,基于模型损失对语句改写模型、第一解析模型以及第二解析模型进行参数更新。
计算机设备按照模型损失减小的方向更新模型的参数。由于模型的样本数据包括样本对话内容以及样本自包含语句,因此不仅能够提高解析模型的解析性能,还能够优化语句改写模型的改写准确率,从而提高模型容错性。
步骤407,响应于模型收敛,将第二解析模型确定为目标语句解析模型。
训练完成后的语句改写模型用于对获取到的信息查询语句进行语义恢复得到自包含语句,目标语句解析模型用于将自包含语句解析为结构化查询指令。
模型训练完成后,语句改写模型性能得到提升,能够基于存在对话依赖现象的信息查询语句以及上文内容进行改写,生成较为准确的自包含语句,第二解析模型能够对自包含语句进行精准解析得到SQL语句。因此应用阶段,计算机设备只需部署语句改写模型和第二解析模型,即可进行智能问答场景中的自然语言处理任务。
本申请实施例中,通过构建双塔模型以及引入隐变量机制,将自包含问题的语义和问题上下文映射到同一潜空间,在NL2SQL任务中利用两个一致性任务,将双塔模型的学习过程尽量逼近,从而帮助模型尽可能全面理解上下文语义,更好地解决相关技术中省略、指代和用户注意转移的对话依赖现象以及管道式方法中的错误传播问题。
在语句改写阶段,计算机设备根据业务场景的当前用户问题和历史用户会话,通过改写技术生成自包含问题。这里的改写技术方案可以通过变换神经网络(Transformer)实现,计算机设备通过将对话串联输入Transformer获得词向量编码(word embedding),解码器通过全连接层富集语义信息,在词级别上生成自包含的改写句。改写模型要初步解决多轮对话中两个问题,一是该轮查询语句是否需要改写,二是如何将省略、指代等问题识别出来并完成改写。
请参考图6,其示出了本申请另一个示例性实施例提供的模型训练方法的流程图。本实施例以该方法由具有模型训练能力的计算机设备执行为例进行说明,该方法包括如下步骤:
步骤601,构建模型训练框架。
步骤601的具体实施方式可以参考上述步骤401,本申请实施例在此不再赘述。
步骤602,对样本对话内容进行语句拆解,得到待处理文本,待处理文本中包含标识符。
其中,标识符用于指示样本对话内容中各个语句的起始位置。
如图7所示,计算机设备将样本对话内容拆解为单个字符,并在其中插入不同的标识符。标识符[CLS]表示文本首位,标识符[SEP]用于将两个语句进行间隔,表示一句话的结束和下一句话的开始。
步骤603,将待处理文本输入语句改写模型进行语义恢复,得到语句改写模型输出的样本自包含语句。
在一种可能的实施方式中,本申请实施例的改写方案可以使用循环改写,也可以使用抽取改写。针对循环改写,步骤603具体包括如下步骤:
步骤603a,将上一轮智能问答改写得到的样本自包含语句以及待处理文本输入语句改写模型中的编码器层,得到样本信息查询语句的语义特征。
步骤603b,将编码器层输出的语义特征输入语句改写模型中的解码器层,得到样本自包含语句。
循环改写,是将上轮改写结果、对话信息、schema作为输入,经过编码器-解码器(encoder-decoder)模块生成改写句。
针对抽取改写,步骤603具体包括如下步骤:
步骤603c,将待处理文本以及待处理文本对应的主句标识序列,输入语句改写模型,主句标识序列用于指示样本信息查询语句在待处理文本中的位置。
抽取改写,则利用Transformers的注意力机制有效判断本轮是否需要改写,以及提取指代词和上下文中关键信息的配对。其输入内容区别于一般的方法,有NL2SQL特有的底层数据库schema信息,并且还需要将主句标识一并送入模型。
如图7所示,第二行输入内容即为第一行待处理文本对应的主句标识,其中每个字符和标识符均对应一个标识。0表示非信息查询语句,1表示信息查询语句。语句改写模型基于主句标识可以确定出信息查询语句的位置,从而更好地利用注意力机制进行语义分析。
步骤603d,通过语句改写模型中的注意力机制对待处理文本进行信息抽取,得到待处理文本的特征表示,特征表示中包含抽取式信息,抽取式信息用于指示被省略语义的位置以及语义待插入位置。
语句改写模型基于注意力机制判断当前的信息查询语句是否需要改写,并通过句首标识符对应的特征进行表示。此外,在需要改写的情况下,语句改写模型还将抽取历史对话内容中的关键信息,标记关键信息的位置、指代内容的位置以及补全位置。
通过Transformer生成特征后,利用句首标识符的特征值hCLS做0/1分类预测,判断本轮的主句是否需要做改写。若需要,则使用抽取式关键信息start和关键信息end用来识别关键信息(需要为下文做信息补全或者指代的词)的起始位置;补全位置用于预测关键信息(start-end)插入在待改写语句的位置,实验中用插入位置的下一个标志(token)进行表示;指代start和end用于识别带改写语句出现的指代词。最终完成本轮的自包含问题的改写。如图7所示,语句改写模型标记出关键信息“刘某某”、指代信息“他”以及补全位置。
步骤603e,响应于特征表示指示样本信息查询语句需要进行完整语义恢复,将特征表示输入语句改写模型的任务器,得到样本自包含语句。
语句改写模型将携带有抽取式信息的特征表示提交至任务器,使任务器基于抽取式信息对样本信息查询语句进行补全,得到样本自包含语句。
步骤604,将样本对话内容以及样本自包含语句输入语句解析模型,分别得到样本对话内容对应的第一解析指令以及样本自包含语句对应的第二解析指令。
步骤605,基于第一解析指令以及第二解析指令,对模型训练框架进行迭代训练。
步骤604至步骤605的具体实施方式可以参考上述步骤303至步骤304,本申请实施例在此不再赘述。
上述各个实施例示出了计算机设备结合双塔模型以及隐变量机制,按照模式基础一致性以及SQL解析一致性的原则进行模型训练的过程。模型训练完成后,计算机设备即可基于语句改写模型以及目标语句解析模型进行自然语言处理。请参考图8,其示出了本申请一个示例性实施例提供的智能问答方法的流程图。本实施例以该方法由具有自然语言处理能力的计算机设备执行为例进行说明,该方法包括如下步骤:
步骤801,获取信息查询语句,信息查询语句属于自然语言。
在一种可能的实施方式中,用户通过终端输入信息查询语句(语音输入或文字输入),终端将信息查询语句发送至后台服务器(计算机设备)。该信息查询语句是用户用于获取信息的自然语言问句,比如“A大学有多少女教师?”、“你喜欢明星L吗?”。
步骤802,将信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令。
上述目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性对双塔模型进行训练得到的,该双塔模型中模型之间的编码器层参数共享,且模型之间的解码器层参数共享。样本自包含语句通过对样本信息查询语句进行语义恢复得到。具体的,训练阶段双塔模型包括第一解析模型和第二解析模型,二者模型结构一致。其中第一解析模型用于对输入的样本对话内容进行自然语言分析得到第一解析指令,第二解析模型用于对输入的样本自包含语句进行自然语言分析得到第二解析指令。计算机设备按照解析结果一致性的原则,基于第一解析指令和第二解析指令对双塔模型进行训练。训练完成后的第一解析模型即为目标语句解析模型。
计算机设备将信息查询语句输入目标语句解析模型,将其解析为SQL语句。目标语句解析模型是基于上述各个实施例中的模型训练方法对第一解析模型进行训练得到的。
由于用户输入的信息查询语句为自然语言,而数据库无法识别自然语言,数据的处理需要专用的结构化查询指令。因此,计算机设备需要对信息查询语句进行自然语言处理,将其转换为结构化查询语句。
在一种可能的实施方式中,计算机设备直接利用训练完成的第一解析模型(即目标语句解析模型)进行自然语言处理,将信息查询语句转化为结构化查询指令。由于目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性训练得到,因此目标语句解析模型具备将语义不完整的自然语言转化为结构化查询指令的能力。直接利用目标语句解析模型进行SQL解析,无需先改写得到自包含语句,能够缩短自然语言处理时长,提高SQL解析效率以及智能问答效率。
在另一种可能的实施方式中,计算机设备也可以使用训练完成的语句改写模型以及第二解析模型进行自然语言处理,共包含两阶段。第一阶段是对信息查询语句进行语义恢复,将其中的指代词、省略内容等恢复为完整的信息,得到自包含语句。第二阶段是基于自包含语句进行语句解析,得到结构化查询指令。计算机设备通过神经网络模型进行自然语言处理。该神经网络模型包括用于语义恢复的语句改写模型以及用于语句解析的语句解析模型。
步骤803,基于结构化查询指令从数据库中获取数据查询结果。
计算机设备或关联设备中存储有数据库系统,该数据库系统中保存有用户上传的信息,且以数据表的形式保存。计算机设备基于解析得到的结构化查询指令从数据库中获取数据查询结果。该结构化查询指令中包含操作项、数据表以及数据列。
例如,对于信息查询语句“A大学有多少女教师?”,计算机设备基于如图9所示的数据表进行信息查询,确定出涉及学校、职位以及性别的数据列,获取数据查询结果并反馈至终端。
本申请实施例中,利用基于样本对话内容以及样本自包含语句训练得到的目标语句解析模型进行自然语言处理,将信息查询语句转化为结构化查询指令,由于模型训练过程中自包含问题和对话内容的上下文映射在同一潜在空间,模型充分学习到语义信息,因此能够增强模型SQL解析的能力,强化了智能数据分析、表格问答等场景下模型对自然语言对话连贯性的认知,从而提高信息检索效率以及问题答复的准确率。
请参考图10,其示出了本申请另一个示例性实施例提供的智能问答方法的流程图。本实施例以该方法由具有自然语言处理能力的计算机设备执行为例进行说明,该方法包括如下步骤:
步骤1001,获取信息查询语句,信息查询语句属于自然语言。
步骤1001的具体实施方式可以参考上述步骤801,本申请实施例在此不再赘述。
步骤1002,将包含信息查询语句以及历史对话内容的目标对话内容、模式信息以及隐变量串联输入目标语句解析模型中的编码器层,分别得到对话信息特征、模式信息特征以及隐变量特征。
步骤1003,基于隐变量特征修正对话信息特征以及模式信息特征。
隐变量通过模型训练得到,其中,隐变量用于指示目标对话内容以及模式信息的权重,模式信息中包含目标数据表的表名和列名,目标数据表为历史对话内容对应的数据表。
本申请实施例中的隐变量即上述模型训练方法对应的实施例中,第一解析模型的隐变量。与模型训练过程相对应,计算机设备通过将隐变量特征代入模式信息特征以及对话信息特征,调整二者的权重。
步骤1004,将修正后的对话信息特征、模式信息特征以及隐变量特征输入问题转化模型中的解码器层,得到解码器层输出的结构化查询指令。
结构化查询指令用于指示数据库操作、数据表以及数据列。
步骤1005,基于结构化查询指令从数据库中获取数据查询结果。
步骤1005的具体实施方式可以参考上述步骤803,本申请实施例在此不再赘述。
本申请实施例中,模型训练阶段使用隐变量将自包含语句的语义和智能问答文本映射到同一潜空间,对双塔模型进行训练,使双塔模型的学习过程尽量逼近,从而帮助模型尽可能全面的理解上下文。在模型应用阶段,计算机设备基于双塔模型中的第一解析模型进行SQL解析,从而优化省略、指代以及用户注意转移的对话依赖现象和错误传播问题,提高SQL解析的准确率。
在一种可能的实施方式中,本申请实施例提供的智能问答方法可以应用于多种多轮对话场景。比如通过智能终端对某地教师分布情况进行查询,或者通过车载终端对某地交通情况进行查询等。如图11所示,用户可以语音输入信息查询语句,该信息查询语句属于自然语言。终端语音识别获取信息查询语句,并将其发送至后台服务器,由后台服务器负责对信息查询语句进行自然语言处理,将其转换为结构化查询指令,并基于结构化查询指令从数据库中进行检索,将获取到的数据结论反馈至终端。图12示出了一种智能对话界面的示意图,用户输入信息查询语句“查询A市各区的专职教师分布情况”,终端即可反馈相应的数据结论,使用户无需学习数据库语言,通过自然语言即可获取所需的信息。
本申请提供的模型训练方法能够较大幅度提升模型的预测性能,图13示出了在SParC榜单中的测试结果。对比同领域的其它算法,本申请实施例提供的目标语句解析模型,在SParC的验证集(dev集)和测试集(test集)中均实现了较好的指标。其中问题匹配准确性(Question Match accuracy,QM)指SQL语句解析的准确率,交互匹配准确性(Interaction Match accuracy,IM)指在一次多轮对话中,多个SQL语句均被正确解析的比例。因此可以看出,本申请提供的模型训练方法存在较高的性能优势。
图14是本申请一个示例性实施例提供的模型训练装置的结构框图,该装置包括如下结构:
模型构建模块1401,用于构建模型训练框架,所述模型训练框架包括由第一解析模型和第二解析模型构成的双塔模型,所述第一解析模型和所述第二解析模型用于将自然语言解析为结构化查询指令,所述第一解析模型的编码器层与所述第二解析模型的编码器层之间参数共享,且所述第一解析模型与所述第二解析模型的解码器层之间参数共享;
模型输入模块1402,用于将样本对话内容输入所述第一解析模型,得到第一解析指令,所述样本对话内容包括样本信息查询语句以及样本历史对话内容;
所述模型输入模块1402,还用于将样本自包含语句输入所述第二解析模型,得到第二解析指令,所述样本自包含语句是基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复得到的;
模型训练模块1403,用于基于所述第一解析指令以及所述第二解析指令,对所述模型训练框架进行迭代训练。
可选的,所述模型输入模块1402,还用于:
将第一样本数据输入所述第一解析模型,得到所述第一解析指令,所述第一样本数据包括所述样本对话内容和样本模式信息,所述样本模式信息中包含样本数据表的表名和列名,所述样本数据表为所述样本历史对话内容对应的数据表;
将第二样本数据输入所述第二解析模型,得到所述第二解析指令,所述第二样本数据包括所述样本模式信息以及所述样本自包含语句;
所述模型训练模块1403,还用于:
基于所述第一解析指令以及所述第二解析指令确定模型损失;
基于所述模型损失对所述语句改写模型、所述第一解析模型以及所述第二解析模型进行参数更新;
响应于模型收敛,将所述第二解析模型确定为目标语句解析模型,训练完成后的所述语句改写模型用于对获取到的信息查询语句进行语义恢复得到自包含语句,所述目标语句解析模型用于将所述自包含语句解析为所述结构化查询指令。
可选的,所述模型输入模块1402,还用于:
将所述第一样本数据以及第一隐变量输入所述第一解析模型的编码器层,得到第一样本特征,所述第一样本特征包含样本对话信息特征、第一模式信息特征以及第一隐变量特征;
基于所述第一隐变量特征对所述样本对话信息特征和所述第一模式信息特征进行修正;
将修正后的所述第一样本特征输入所述第一解析模型的解码器层,得到所述第一解析指令。
可选的,所述模型输入模块1402,还用于:
将所述第二样本数据以及第二隐变量输入所述第二解析模型的编码器层,得到第二样本特征,所述第二样本特征包含第二隐变量特征、第二模式信息特征以及样本自包含特征;
基于所述第二隐变量特征对所述第二模式信息特征和所述样本自包含特征进行修正;
将修正后的所述第二样本特征输入所述第二解析模型的解码器层,得到所述第二解析指令。
可选的,所述模型训练模块1403,还用于:
基于所述第一样本特征以及所述第二样本特征确定第一模型损失;
基于所述第一解析指令以及所述第二解析指令确定第二模型损失;
基于所述第一模型损失以及所述第二模型损失确定所述模型损失。
可选的,所述模型训练模块1403,还用于:
基于所述第一模式信息特征以及所述第二模式信息特征确定第一特征相对熵,其中,相对熵用于指示信息之间的差异度;
基于所述第一隐变量特征以及所述第二隐变量特征确定第二特征相对熵;
基于所述第一特征相对熵和所述第二特征相对熵,确定所述第一模型损失。
可选的,所述模型训练模块1403,还用于:
基于所述第一解析指令中的第一操作项和所述第二解析指令中的第二操作项确定第一指令相对熵,所述操作项用于指示数据库操作;
基于所述第一解析指令所指示的第一数据表和所述第二解析指令所指示的第二数据表确定第二指令相对熵;
基于所述第一解析指令所指示的第一数据列和所述第二解析指令所指示的第二数据列确定第三指令相对熵;
基于所述第一指令相对熵、所述第二指令相对熵以及所述第三指令相对熵,确定所述第二模型损失。
可选的,所述模型训练框架还包括语句改写模型;
所述模型输入模块1402,还用于:
将所述样本对话内容输入所述语句改写模型,得到所述样本自包含语句,所述语句改写模型用于基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复。
可选的,所述模型输入模块1402,还用于:
对所述样本对话内容进行语句拆解,得到待处理文本,所述待处理文本中包含标识符,所述标识符用于指示所述样本对话内容中各个语句的起始位置;
将所述待处理文本输入所述语句改写模型进行语义恢复,得到所述语句改写模型输出的所述样本自包含语句。
可选的,所述模型输入模块1402,还用于:
将上一轮智能问答改写得到的样本自包含语句以及所述待处理文本输入所述语句改写模型中的编码器层,得到所述样本信息查询语句的语义特征;
将所述编码器层输出的所述语义特征输入所述语句改写模型中的解码器层,得到所述样本自包含语句。
可选的,所述模型输入模块1402,还用于:
将所述待处理文本以及所述待处理文本对应的主句标识序列,输入所述语句改写模型,所述主句标识序列用于指示所述样本信息查询语句在所述待处理文本中的位置;
通过所述语句改写模型中的注意力机制对所述待处理文本进行信息抽取,得到所述待处理文本的特征表示,所述特征表示中包含抽取式信息,所述抽取式信息用于指示被省略语义的位置以及语义待插入位置;
响应于所述特征表示指示所述样本信息查询语句需要进行完整语义恢复,将所述特征表示输入所述语句改写模型的任务器,得到所述样本自包含语句。
图15是本申请一个示例性实施例提供的智能问答装置的结构框图,该装置包括如下结构:
语句获取模块1501,用于获取信息查询语句,所述信息查询语句属于自然语言;
指令解析模块1502,用于将所述信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令,所述目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性对双塔模型进行训练得到的,所述双塔模型中两个模型的编码器层参数共享,且所述两个模型的解码器层参数共享,所述样本自包含语句通过对所述样本信息查询语句进行语义恢复得到;
结果获取模块1503,用于基于所述结构化查询指令从数据库中获取数据查询结果。
可选的,所述指令解析模块1502,还用于:
将包含所述信息查询语句以及所述历史对话内容的目标对话内容、模式信息以及隐变量串联输入所述目标语句解析模型中的编码器层,分别得到对话信息特征、模式信息特征以及隐变量特征,所述隐变量通过模型训练得到,所述隐变量用于指示所述目标对话内容以及所述模式信息的权重,所述模式信息中包含目标数据表的表名和列名,所述目标数据表为所述历史对话内容对应的数据表;
基于所述隐变量特征修正所述对话信息特征以及所述模式信息特征;
将修正后的所述对话信息特征、所述模式信息特征以及所述隐变量特征输入所述目标语句解析模型中的解码器层,得到所述解码器层输出的所述结构化查询指令,所述结构化查询指令用于指示数据库操作、数据表以及数据列。
综上所述,本申请实施例中,通过利用样本对话内容以及样本自包含语句同时对语句改写模型和语句解析模型进行训练,将自包含问题和对话内容的上下文映射到同一潜在空间,使模型充分学习到语义信息,提高改写模型的性能。并且,利用SQL解析结果一致性进行模型训练,能够增强模型SQL解析的能力,强化了智能数据分析、表格问答等场景下模型对自然语言对话连贯性的认知,从而提高信息检索效率以及问题答复的准确率。
请参考图16,其示出了本申请一个实施例提供的计算机设备的结构示意图。
所述服务器1600包括中央处理单元(Central Processing Unit,CPU)1601、包括随机存取存储器(Random Access Memory,RAM)1602和只读存储器(Read Only Memory,ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述服务器1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(Input/Output,I/O)控制器1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为服务器1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存或其他固态存储其技术,CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
根据本申请的各种实施例,所述服务器1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统(未示出)。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上各个实施例所述的模型训练方法或智能问答方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的模型训练方法或智能问答方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的历史对话内容、信息查询语句、帐号标识等信息都是在充分授权的情况下获取的。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种模型训练方法,其特征在于,所述方法包括:
构建模型训练框架,所述模型训练框架包括由第一解析模型和第二解析模型构成的双塔模型,所述第一解析模型和所述第二解析模型用于将自然语言解析为结构化查询指令,所述第一解析模型的编码器层与所述第二解析模型的编码器层之间参数共享,且所述第一解析模型与所述第二解析模型的解码器层之间参数共享;
将样本对话内容输入所述第一解析模型,得到第一解析指令,所述样本对话内容包括样本信息查询语句以及样本历史对话内容;
将样本自包含语句输入所述第二解析模型,得到第二解析指令,所述样本自包含语句是基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复得到的;
基于所述第一解析指令以及所述第二解析指令,对所述模型训练框架进行迭代训练。
2.根据权利要求1所述的方法,其特征在于,所述将样本对话内容输入所述第一解析模型,得到第一解析指令,包括:
将第一样本数据输入所述第一解析模型,得到所述第一解析指令,所述第一样本数据包括所述样本对话内容和样本模式信息,所述样本模式信息中包含样本数据表的表名和列名,所述样本数据表为所述样本历史对话内容对应的数据表;
所述将样本自包含语句输入所述第二解析模型,得到第二解析指令,包括:
将第二样本数据输入所述第二解析模型,得到所述第二解析指令,所述第二样本数据包括所述样本模式信息以及所述样本自包含语句;
所述基于所述第一解析指令以及所述第二解析指令,对所述模型训练框架进行迭代训练,包括:
基于所述第一解析指令以及所述第二解析指令确定模型损失;
基于所述模型损失对所述语句改写模型、所述第一解析模型以及所述第二解析模型进行参数更新;
响应于模型收敛,将所述第一解析模型确定为目标语句解析模型,所述目标语句解析模型用于将所述信息查询语句解析为所述结构化查询指令。
3.根据权利要求2所述的方法,其特征在于,所述将第一样本数据输入所述第一解析模型得到所述第一解析指令,包括:
将所述第一样本数据以及第一隐变量输入所述第一解析模型的编码器层,得到第一样本特征,所述第一样本特征包含样本对话信息特征、第一模式信息特征以及第一隐变量特征;
基于所述第一隐变量特征对所述样本对话信息特征和所述第一模式信息特征进行修正;
将修正后的所述第一样本特征输入所述第一解析模型的解码器层,得到所述第一解析指令。
4.根据权利要求3所述的方法,其特征在于,所述将第二样本数据输入所述第二解析模型得到所述第二解析指令,包括:
将所述第二样本数据以及第二隐变量输入所述第二解析模型的编码器层,得到第二样本特征,所述第二样本特征包含第二隐变量特征、第二模式信息特征以及样本自包含特征;
基于所述第二隐变量特征对所述第二模式信息特征和所述样本自包含特征进行修正;
将修正后的所述第二样本特征输入所述第二解析模型的解码器层,得到所述第二解析指令。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一解析指令以及所述第二解析指令确定模型损失,包括:
基于所述第一样本特征以及所述第二样本特征确定第一模型损失;
基于所述第一解析指令以及所述第二解析指令确定第二模型损失;
基于所述第一模型损失以及所述第二模型损失确定所述模型损失。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一样本特征以及所述第二样本特征确定第一模型损失,包括:
基于所述第一模式信息特征以及所述第二模式信息特征确定第一特征相对熵,其中,相对熵用于指示信息之间的差异度;
基于所述第一隐变量特征以及所述第二隐变量特征确定第二特征相对熵;
基于所述第一特征相对熵和所述第二特征相对熵,确定所述第一模型损失。
7.根据权利要求5所述的方法,其特征在于,所述基于所述第一解析指令以及所述第二解析指令确定第二模型损失,包括:
基于所述第一解析指令中的第一操作项和所述第二解析指令中的第二操作项确定第一指令相对熵,所述操作项用于指示数据库操作;
基于所述第一解析指令所指示的第一数据表和所述第二解析指令所指示的第二数据表确定第二指令相对熵;
基于所述第一解析指令所指示的第一数据列和所述第二解析指令所指示的第二数据列确定第三指令相对熵;
基于所述第一指令相对熵、所述第二指令相对熵以及所述第三指令相对熵,确定所述第二模型损失。
8.根据权利要求1至7任一所述的方法,其特征在于,所述模型训练框架还包括语句改写模型;
所述将样本自包含语句输入所述第二解析模型,得到第二解析指令之前,所述方法还包括:
将所述样本对话内容输入所述语句改写模型,得到所述样本自包含语句,所述语句改写模型用于基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复。
9.根据权利要求8所述的方法,其特征在于,所述将样本对话内容输入所述语句改写模型,得到所述样本自包含语句,包括:
对所述样本对话内容进行语句拆解,得到待处理文本,所述待处理文本中包含标识符,所述标识符用于指示所述样本对话内容中各个语句的起始位置;
将所述待处理文本输入所述语句改写模型进行语义恢复,得到所述语句改写模型输出的所述样本自包含语句。
10.根据权利要求9所述的方法,其特征在于,所述将所述待处理文本输入所述语句改写模型进行语义恢复,得到所述语句改写模型输出的所述样本自包含语句,包括:
将上一轮智能问答改写得到的样本自包含语句以及所述待处理文本输入所述语句改写模型中的编码器层,得到所述样本信息查询语句的语义特征;
将所述编码器层输出的所述语义特征输入所述语句改写模型中的解码器层,得到所述样本自包含语句。
11.根据权利要求9所述的方法,其特征在于,所述将所述待处理文本输入所述语句改写模型进行语义恢复,得到所述语句改写模型输出的所述样本自包含语句,包括:
将所述待处理文本以及所述待处理文本对应的主句标识序列,输入所述语句改写模型,所述主句标识序列用于指示所述样本信息查询语句在所述待处理文本中的位置;
通过所述语句改写模型中的注意力机制对所述待处理文本进行信息抽取,得到所述待处理文本的特征表示,所述特征表示中包含抽取式信息,所述抽取式信息用于指示被省略语义的位置以及语义待插入位置;
响应于所述特征表示指示所述样本信息查询语句需要进行完整语义恢复,将所述特征表示输入所述语句改写模型的任务器,得到所述样本自包含语句。
12.一种智能问答方法,其特征在于,所述方法包括:
获取信息查询语句,所述信息查询语句属于自然语言;
将所述信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令,所述目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性对双塔模型进行训练得到的,所述双塔模型中两个模型的编码器层参数共享,且所述两个模型的解码器层参数共享,所述样本自包含语句通过对所述样本信息查询语句进行语义恢复得到;
基于所述结构化查询指令从数据库中获取数据查询结果。
13.根据权利要求12所述的方法,其特征在于,所述将所述信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令,包括:
将包含所述信息查询语句以及所述历史对话内容的目标对话内容、模式信息以及隐变量串联输入所述目标语句解析模型中的编码器层,分别得到对话信息特征、模式信息特征以及隐变量特征,所述隐变量通过模型训练得到,所述隐变量用于指示所述目标对话内容以及所述模式信息的权重,所述模式信息中包含目标数据表的表名和列名,所述目标数据表为所述历史对话内容对应的数据表;
基于所述隐变量特征修正所述对话信息特征以及所述模式信息特征;
将修正后的所述对话信息特征、所述模式信息特征以及所述隐变量特征输入所述目标语句解析模型中的解码器层,得到所述解码器层输出的所述结构化查询指令,所述结构化查询指令用于指示数据库操作、数据表以及数据列。
14.一种模型训练装置,其特征在于,所述装置包括:
模型构建模块,用于构建模型训练框架,所述模型训练框架包括由第一解析模型和第二解析模型构成的双塔模型,所述第一解析模型和所述第二解析模型用于将自然语言解析为结构化查询指令,所述第一解析模型的编码器层与所述第二解析模型的编码器层之间参数共享,且所述第一解析模型与所述第二解析模型的解码器层之间参数共享;
模型输入模块,用于将样本对话内容输入所述第一解析模型,得到第一解析指令,所述样本对话内容包括样本信息查询语句以及样本历史对话内容;
所述模型输入模块,还用于将样本自包含语句输入所述第二解析模型,得到第二解析指令,所述样本自包含语句是基于所述样本历史对话内容对所述样本信息查询语句进行语义恢复得到的;
模型训练模块,用于基于所述第一解析指令以及所述第二解析指令,对所述模型训练框架进行迭代训练。
15.一种智能问答装置,其特征在于,所述装置包括:
语句获取模块,用于获取信息查询语句,所述信息查询语句属于自然语言;
指令解析模块,用于将所述信息查询语句以及历史对话内容输入目标语句解析模型,得到结构化查询指令,所述目标语句解析模型是基于样本信息查询语句与样本自包含语句的解析结果一致性对双塔模型进行训练得到的,所述双塔模型中两个模型的编码器层参数共享,且所述两个模型的解码器层参数共享,所述样本自包含语句通过对所述样本信息查询语句进行语义恢复得到;
结果获取模块,用于基于所述结构化查询指令从数据库中获取数据查询结果。
16.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一所述的模型训练方法,或,权利要求12或13所述的智能问答方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至11任一所述的模型训练方法,或,权利要求12或13所述的智能问答方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至11任一所述的模型训练方法,或,权利要求12或13所述的智能问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210273278.0A CN114625759A (zh) | 2022-03-18 | 2022-03-18 | 模型训练方法、智能问答方法、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210273278.0A CN114625759A (zh) | 2022-03-18 | 2022-03-18 | 模型训练方法、智能问答方法、设备、介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114625759A true CN114625759A (zh) | 2022-06-14 |
Family
ID=81902997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210273278.0A Pending CN114625759A (zh) | 2022-03-18 | 2022-03-18 | 模型训练方法、智能问答方法、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114625759A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737756A (zh) * | 2023-08-15 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、设备及存储介质 |
-
2022
- 2022-03-18 CN CN202210273278.0A patent/CN114625759A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737756A (zh) * | 2023-08-15 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN116737756B (zh) * | 2023-08-15 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种数据查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807332A (zh) | 语义理解模型的训练方法、语义处理方法、装置及存储介质 | |
CN110795945A (zh) | 一种语义理解模型训练方法、语义理解方法、装置及存储介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN112100332A (zh) | 词嵌入表示学习方法及装置、文本召回方法及装置 | |
CN111831789A (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN113672708A (zh) | 语言模型训练方法、问答对生成方法、装置及设备 | |
CN116820429B (zh) | 代码处理模型的训练方法、装置、电子设备及存储介质 | |
CN112287093B (zh) | 基于半监督学习和Text-to-SQL模型的自动问答系统 | |
CN115238045B (zh) | 一种生成式事件论元抽取方法、系统及存储介质 | |
CN116246213B (zh) | 数据处理方法、装置、设备以及介质 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN115497477A (zh) | 语音交互方法、语音交互装置、电子设备、存储介质 | |
CN115115984A (zh) | 视频数据处理方法、装置、程序产品、计算机设备和介质 | |
CN116050425A (zh) | 建立预训练语言模型的方法、文本预测方法及装置 | |
CN114333838A (zh) | 语音识别文本的修正方法及系统 | |
CN114625759A (zh) | 模型训练方法、智能问答方法、设备、介质及程序产品 | |
CN113849623A (zh) | 文本视觉问答方法和装置 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN111831624A (zh) | 数据表创建方法、装置、计算机设备及存储介质 | |
CN113761946A (zh) | 模型训练及数据处理方法、装置、电子设备、存储介质 | |
CN117473054A (zh) | 基于知识图谱的通用智能问答方法及装置 | |
CN115730051A (zh) | 一种文本处理方法和装置、电子设备及存储介质 | |
CN113536741B (zh) | 中文自然语言转数据库语言的方法及装置 | |
CN114492450A (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 |