CN113609157B - 语言转换模型训练、语言转换方法、装置、设备及介质 - Google Patents
语言转换模型训练、语言转换方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113609157B CN113609157B CN202110908451.5A CN202110908451A CN113609157B CN 113609157 B CN113609157 B CN 113609157B CN 202110908451 A CN202110908451 A CN 202110908451A CN 113609157 B CN113609157 B CN 113609157B
- Authority
- CN
- China
- Prior art keywords
- training
- language
- language conversion
- module
- data
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 300
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 251
- 238000000034 method Methods 0.000 title claims abstract description 106
- 239000013598 vector Substances 0.000 claims abstract description 133
- 230000006870 function Effects 0.000 claims description 35
- 125000004122 cyclic group Chemical group 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims 1
- 238000011426 transformation method Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 17
- 230000015654 memory Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
-
- 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/044—Recurrent networks, e.g. Hopfield 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Devices For Executing Special Programs (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例公开了一种语言转换模型训练、语言转换方法、装置、设备及介质,语言转换模型训练方法包括:获取所述编码模块输出的编码向量;将所述编码向量转换为不包括语义信息的零向量;将所述零向量作为译码模块预训练数据输入至所述译码模块;根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。本发明实施例的技术方案能够提高语言转换模型的稳定性、训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种语言转换模型训练、语言转换方法、装置、设备及介质。
背景技术
目前,将自然语言转换为机器语音或结构化语言等其他语言类型是自然语言处理领域热点关注的技术分支。例如,将自然语言转换为SQL(Structured Query Language,结构化查询语言)(该技术称为NL2SQL)一直以来都是自然语言处理任务中的热点。通过对NL2SQL相关算法的研究发现,几乎所有语言转换算法都是使用的encoder(编码器)-decoder(译码器)框架及其变种。encoder-decoder框架的基本思想为,使用encoder对源语言进行编码,得到向量x,x就包含了源语言的语义信息。再使用decoder对x进行解码,将其转换成目标语言。
与NL2SQL任务相类似的任务最具代表性的为机器翻译,例如在中英翻译模型中,利用encoder对中文进行编码,再利用decoder将编码结果解码成英文。实际上,NL2SQL也可以看作是一种翻译任务。与传统机器翻译模型不同的是,NL2SQL转换的目标语言是具有强语法规则的语言SQL。例如,在SQL的查询语句中,必定是以“select”起始,同时,在“select”短语的后面接着的,必定是“from”短语。针对这一特点,可以对encoder-decoder框架的decoder部分进行改进,加强语法规则约束,使其在解码的过程中,减少预测范围。例如,在预测出“from”这个词之后,接下来需要预测的只从“table_name”和“select”等少数几个可能的词里匹配,而不需要从所有关键字“where、group by”等等搜索,可以有效提高语言转换的准确率。目前,现有的基于NL2SQL的语言转换模型基本都是采用RATSQL(Relation-Aware Schema Encoding and Linking for Text-to-SQL Parsers,文本到SQL)模型,RATSQL模型就是上述思路构建的,将关系可知transformer的文本到SQL模型将数据库信息和用户问句信息拼在一起,并且充分考虑它们之间的关系,将关系信息融入到问句和数据库信息的表示之中。RATSQL使用了上述规则约束的方法,称为语法树,所有可能的SQL语句都可以归纳到这棵语法树上。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:现有的基于语言转换模型直接采用训练样本数据进行模型训练,模型训练效率和准确率较低。例如,以基于NL2SQL的语言转换模型为例说明,部分训练方法会对基于NL2SQL的语言转换模型中的encoder进行预训练,当encoder预训练完成后在利用训练样本数据进行模型的整体训练,导致模型整体训练过程将语法树与decoder的参数一起训练。这种训练方式会弱化语法树节点之间的原生关系,导致模型的训练效率和准确率的效果依旧不够理想。所谓原生关系是指,不论自然语言如何描述,SQL的语法不会发生改变,如“select”短语后面一定接的是“from”短语。
发明内容
本发明实施例提供一种语言转换模型训练、语言转换方法、装置、设备及介质,能够提高语言转换模型的稳定性、训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
第一方面,本发明实施例提供了一种语言转换模型训练方法,所述语言转换模型包括编码模块和译码模块;所述语言转换模型训练方法包括:
获取所述编码模块输出的编码向量;
将所述编码向量转换为不包括语义信息的零向量;
将所述零向量作为译码模块预训练数据输入至所述译码模块;
根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
第二方面,本发明实施例还提供了一种语言转换方法,包括:
获取待转换语言数据;
将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;
其中,所述语言转换模型通过第一方面所述的语言转换模型训练方法训练得到。
第三方面,本发明实施例还提供了一种语言转换模型训练装置,所述语言转换模型包括编码模块和译码模块;所述语言转换模型训练装置包括:
编码向量获取模块,用于获取所述编码模块输出的编码向量;
编码向量转换模块,用于将所述编码向量转换为不包括语义信息的零向量;
零向量输入模块,用于将所述零向量作为译码模块预训练数据输入至所述译码模块;
第一预训练模块,用于根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
第四方面,本发明实施例还提供了一种语言转换装置,包括:
待转换语言数据获取模块,用于获取待转换语言数据;
目标转换语言获取模块,用于将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;
其中,所述语言转换模型通过第一方面所述的语言转换模型训练方法训练得到。
第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的语言转换模型训练方法或语言转换方法。
第六方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的语言转换模型训练方法或语言转换方法。
本发明实施例通过将语言转换模型的编码模块输出的编码向量转换为零向量,从而屏蔽编码向量中包括的语义信息,并将不包括语义信息的零向量作为译码模块预训练数据输入至语言转换模型的译码模块,以对译码模块进行预训练。在预训练的过程中,译码模块可以根据零向量不断训练更新原始语法树,直至原始语法树更新至目标语法树。当语言转换模型训练完成后,可以将获取的待转换语言数据输入至语言转换模型中,得到目标转换语言,解决现有语言转换模型存在的训练效率和模型准确率较低等问题,能够提高语言转换模型的训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
附图说明
图1是本发明实施例一提供的一种语言转换模型方法的流程图;
图2是本发明实施例一提供的一种语言转换模型训练效果的对比示意图;
图3是本发明实施例二提供的一种语言转换模型方法的流程图;
图4是本发明实施例三提供的一种语言转换模型方法的流程图;
图5是本发明实施例四提供的一种语言转换模型训练装置的示意图;
图6是本发明实施例五提供的一种语言转换装置的示意图;
图7为本发明实施例六提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
实施例一
图1是本发明实施例一提供的一种语言转换模型方法的流程图,本实施例可适用于对语言转换模型的译码模块进行预训练,以提高语言转换模型的训练效率和模型准确率的情况,该方法可以由语言转换模型训练装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中,该计算机设备可以是终端设备也可以服务器设备等,本发明实施例并不对计算机设备的类型进行限定。相应的,如图1所示,该方法包括如下操作:
S110、获取所述编码模块输出的编码向量。
在本发明实施例中,语言转换模型可以用于将自然语言转换为目标语言。其中,目标语言可以是任意类型的具有严格语法规则的语言,如SQL语言、C语言或Physon语言等,本发明实施例并不对目标语言的具体类型进行限定。可选的,当目标语音为SQL语言时,语言转换模型可以是RATSQL模型等。
语言转换模型可以包括编码模块(encoder)和译码模块(decoder)。其中,编码模块可以用于处理常用的自然语言的语义向量,同时融入自然语言和数据库表信息的关系向量,从而根据用户输入的自然语言进行编码处理,输出对应的编码向量。相应的,编码模块可以将输出的编码向量输入至译码模块,由译码模块通过一系列的预测动作对编码向量进行译码处理,从而推断出编码向量中隐含的语法规则。
在本发明实施例中,输入至编码模块的数据可以为自然语言,如用户提问的问题等,译码模块对自然语言输出的翻译结果可以为具有严格语法规则的语言,如SQL语言等。也即,语言转换模型可以完成自然语言至目标语言的翻译过程。
为了强化语言转换模型语法树节点之间的原生关系,在本发明实施例中,在对语言转换模型进行正式训练之前,可以首先对语言转换模型的译码模块进行预训练。在对语言转换模型的译码模块进行预训练时,可以首先获取语言转换模型的编码模块输出的编码向量。
S120、将所述编码向量转换为不包括语义信息的零向量。
可以理解的是,在不干预状态下,语言转换模型的编码模块输出的编码向量包括了自然语言的语义信息,该语义信息会干扰译码模块的预训练过程。因此,为了避免语义信息干扰译码模块的预训练过程,可以将编码模块输出的编码向量转换为不包括语义信息的零向量。零向量也即向量中的各元素取值均为0。由此可见,将编码向量转换为不包括语义信息的零向量,可以有效屏蔽来源于源语言的语义信息,采用不包括语义信息的零向量预训练译码模块可以强化译码模块对语法规则的学习能力,避免语义信息弱化语言转换模型语法树节点之间的原生关系,从而提高译码模块输出数据的准确率。
在本发明的一个可选实施例中,所述零向量可以基于如下公式表示:
其中,Pr(P)表示生成目标语言的概率,at表示t时刻的解码结果,Pr(at|a<t,0)表示在与语义无关的前提下,根据t前几个时刻的结果,预测出at的概率,a<t表示小于t时刻的所有解码结果。其中,目标语言例如可以是SQL等具有严格语法规则的语言等。
S130、将所述零向量作为译码模块预训练数据输入至所述译码模块;
S140、根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
其中,译码模块预训练数据也即对译码模块进行预训练的样本数据。原始语法树可以是译码模块在没有训练之前配置的语法树,由于没有经过训练,原始语法树与目标语言的语法逻辑可能并不完全匹配。或者,原始语法树可以理解为随机设置的一个树形结构。目标语法树可以是译码模块在经过预训练之后由原始语法树不断更新训练得到的语法树,由于经过预训练过程,目标语法树与目标语言的语法逻辑匹配度较高。
相应的,在将编码向量转换为不包括语义信息的零向量之后,即可将零向量作为译码模块预训练数据输入至所述译码模块,以对译码模块进行预训练。
或者,也还可以单独对语言转换模型的译码模块进行预训练。也即,在对语言转换模型的译码模块进行预训练时,可以直接将零向量作为训练样本数据输入至译码模块中,以对译码模块进行预训练,而无需执行对编码模块输出的编码向量转换为不包括语义信息的零向量的操作,从而提高译码模块的预训练效率。
可以理解的是,语言转换模型的译码模块是根据语法树输出具有语法规则的语句的。在没有对译码模块进行训练之前,译码模块会配置有一个原始语法树。对译码模块进行预训练的过程也即根据目标语言的语法规则不断训练更新原始语法树的过程,使得原始语法树最终更新为与目标语言的语法规则高度吻合的语法树,作为目标语法树。
需要说明的是,本发明实施例并未对语言转换模型的模型结构进行改进,而是通过采用不包括任何语义信息的零向量对译码模块进行训练,以使译码模块能够具备学习目标语言语法的能力,如能够学习SQL语法等。
具体的,以SQL作为目标语言为例说明,当来自编码模块的输入为零向量时,译码模块在生成SQL的过程中只能依靠SQL语法的语法规则去生成SQL。尽管译码模块根据零向量无法知道具体的列名、表名和值等信息,但零向量依然能够让译码模块学习到SQL语法的内在语法逻辑:例如,译码模块在生成SQL的过程中,永远是先生成select接着是from然后是where等。也即,译码模块在预训练过程中,会以原始的语法树(原始的语法树体现的语法逻辑可能并不准确)为基础,根据SQL语法的内在语法逻辑不断更新强化的语法树,最终得到与SQL语法逻辑完全匹配的语法树。这样在预训练SQL时,SQL能够学习到关于SQL语法结构的信息。进一步的,当SQL预训练完成后,在训练整体语言转换模型时,语言转换模型的损失函数会更加侧重于找到准确的表名、列名和值,从而提升语言转换模型训练的稳定性和准确性。
在本发明的一个可选实施例中,所述根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树,可以包括:将所述零向量作为初始预训练数据输入至所述译码模块,得到所述译码模块的输出结果;根据所述译码模块的输出结果确定循环预训练数据;将循环预训练数据输入至所述译码模块,再次得到所述译码模块的输出结果;返回执行根据所述译码模块的输出结果确定循环预训练数据的操作,直至确定所述译码模块的原始语法树更新至所述目标语法树。
其中,初始预训练数据也即首次输入至译码模块的训练数据。循环预训练数据可以是除首次输入至译码模块的训练数据之外的训练数据。
可以理解的是,译码模块通常由循环神经网络构成,因此,在预训练译码模块时,可以根据译码模块的输出结果来确定下一次循环的预训练数据。具体的,可以首先将零向量作为初始预训练数据输入至译码模块中。由于零向量不包括语义信息,因此,译码模块可以根据本身的网络结构特点对零向量进行预测,以学习目标语言的语法规则,从而根据学习到的语法规则不断更新当前语法树的结构。示例性的,假设目标语言为SQL语言,则译码模块可以根据本身的网络结构特点在无语义信息的干扰下直接学习SQL语言的语法规则,并根据学习到的语法规则不断更新当前语法树的结构。可以理解的是,每一次利用零向量预训练译码模块,译码模块当前的语法树的精度就会有所提升。当译码模块根据零向量预测语法规则得到零向量对应的输出数据后,可以根据输出数据确定下一次预训练所适用的循环预训练数据,并将循环预训练数据输入至译码模块。译码模块可以根据本身的网络结构特点对循环预训练数据进行预测,再次得到包括语法规则的输出数据。也即,译码模块的后续预训练过程均可以根据上一次预训练输出的数据生成下一次预训练所适用的预训练数据,直至确定译码模块的原始语法树更新至目标语法树,则确定译码模块预训练完成。
在本发明的一个可选实施例中,所述根据所述译码模块的输出结果确定循环预训练数据,可以包括:将所述译码模块的输出结果作为所述循环预训练数据;或,将所述译码模块的输出结果和零向量的拼接数据作为所述循环预训练数据。可选的,可以采用多种方式根据译码模块的输出结果确定循环预训练数据。其中,第一种方式可以为:仅需要对译码模块输入一次零向量数据进行预训练,译码模块可以将每次输出的数据直接作为循环预训练数据,并将循环预训练数据再次输入至译码模块实现循环训练过程。第二种方式可以为:第一次对译码模块进行预训练可以将零向量输入至译码模块。当译码模块每次输出数据后,可以在输出数据的基础上与零向量进行拼接,得到译码模块的输出结果和零向量的拼接数据,将拼接数据作为循环预训练数据,并将循环预训练数据再次输入至译码模块实现循环训练过程。
以RATSQL模型为例说明,译码模块在解码时可以使用LSTM(Long Short-TermMemory,长短期记忆网络)模型。其中,在预训练过程中,LSTM的状态更新策略如下述公式所示:
其中,mt和ht分别表示LSTM模型在t时刻的状态和输出;at-1表示之前一个动作(action)的向量,动作是指根据语法树判断下一个节点该选择哪一个。pt是当前节点的父节点,表示LSTM模型处理父节点时的输出,/>表示LSTM模型处理父节点时的动作的向量,/>表示当前节点的类别向量,以目标语言为SQL为例说明,类别向量的类别可以包括但不限于SQL关键字、运算符、聚合函数、列名以及表名等。[0]替代的是原来的zt,zt原本表示的是ht-1通过多头注意力机制与编码模块的编码向量的计算结果,由于编码向量都被0向量替代,因此,需要将zt替换为0。mt-1表示LSTM模型在t-1时刻的状态,ht-1表示LSTM模型在t-1时刻的输出。由上述状态更新策略可知,译码模块在t时刻的输出ht需要根据译码模块在t-1时刻的输出ht-1来确定。
需要说明的是,使用零向量占位而不是直接删除编码向量,是为了与语言转换模型的模型框架相融合。另外,在预训练译码模块的过程中,为了防止译码模块出现过拟合的现象,可以限制译码模块的训练次数,如限制到300等。在译码模块的预训练过程中,可以使用Adam(Adaptive moment estimation,适应性矩估计)等优化算法对译码模块进行优化训练,可选的,学习率可设置为10-3。
相应的,在译码模块完成预训练之后,即可将预训练得到的译码模块与编码模块进行连接,构成完整的语言转换模型,并联合编码器的语义信息再一起对语言转换模型进行全部参数的正式训练。
上述技术方案,通过利用零向量对译码模块进行预训练,可以缩短译码模块在正式训练过程中的训练损失和训练时间,从而显著提高语言转换模型的稳定性、训练效率和模型准确率。图2是本发明实施例一提供的一种语言转换模型训练效果的对比示意图,在一个具体的例子中,如图2所示,以RATSQL模型为例说明,图2中颜色较深的线条代表译码模块经过预训练(with GP)的RATSQL模型的正式训练效果,颜色较浅的线条代表译码模块未经过预训练(without GP)的RATSQL模型的正式训练效果。由图2可知,译码模块经过预训练的RATSQL模型的稳定性显著提高,且与原本的RATSQL模型相比,准确率也有所提升。如图2所示,RATSQL模型在使用预训练方法预训练译码模块之后,在正式训练的过程中,模型的损失值一直保持在十分稳定的水平。同时,就准确率而言,在验证集上,语言转换模型使用了预训练方法预训练译码模块之后,模型最终的准确率从71.5%提升到72.3%,可见译码模块的预训练方法对于模型鲁棒性、准确率提升都存在积极影响。
本发明实施例通过将语言转换模型的编码模块输出的编码向量转换为不包括语义信息的零向量,并将零向量作为译码模块预训练数据输入至语言转换模型的译码模块,以对译码模块进行预训练,解决现有语言转换模型存在的训练效率和模型准确率较低等问题,能够提高语言转换模型的稳定性、训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
实施例二
图3是本发明实施例二提供的一种语言转换模型方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了对语言转换模型进行训练的其他多种具体可选的实现方式。相应的,如图3所示,本实施例的方法可以包括:
S210、确定目标预训练模型。
其中,目标预训练模型可以用于对语言转换模型的编码模块进行预训练。
S220、通过所述目标预训练模型对所述编码模块进行预训练。
在本发明实施例中,还可以确定目标预训练模型,以根据目标预训练模型对语言转换模型的编码模块进行预训练。可选的,目标预训练模型例如可以是BERT(Bidirectional Encoder Representation from Transformers)模型或XLnet模型等,只要能够对目标预训练模型的编码模块进行预训练即可,本发明实施例并不对目标预训练模型的类型进行限定。
通过采用目标预训练模型对编码模块进行预训练,可以有效提升编码模块的语义处理能力,从而进一步提高语言转换模型的训练效率和模型准确率,进而提高自然语言转换任务处理的准确率。
S230、获取所述编码模块输出的编码向量。
S240、将所述编码向量转换为不包括语义信息的零向量。
S250、将所述零向量作为译码模块预训练数据输入至所述译码模块,根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
需要说明的是,图3仅是是一种实现方式的示意图,步骤S210-S220和步骤S230-S250之间并没有先后顺序关系,可以先实施步骤S210-S220,再实施步骤S230-S250,也可以先实施步骤S230-S250,再实施步骤S210-S220,还可以两者并行实施或择一实施。也即,编码模块和译码模块的预训练过程是相互独立,彼此不受影响的。
S260、获取原始训练样本数据。
其中,原始训练样本数据可以是用于对语言转换模型进行正式训练的,未经处理的训练样本数据。
在本发明实施例中,当语言转换模型的编码模块和译码模块均预训练完成后,可以将编码模块和译码模块进行连接,并对连接构成的语言转换模型开始进行正式的整体训练。
S270、根据所述原始训练样本数据构建所述编码模块的目标训练样本数据。
其中,目标训练样本数据可以是对原始训练样本数据进行数据处理得到的训练样本数据。
考虑到语法规则的特殊性,会存在映射混淆的问题,为了进一步提高语言转换模型的准确率,在利用原始训练样本数据训练语言转换模型之前,可以对原始训练样本数据进行预处理,得到输入至编码模块对语言转换模型的目标训练样本数据。
在本发明的一个可选实施例中,所述语言转换模型为RATSQL模型;所述原始训练样本数据包括用户问题和数据库数据;所述数据库数据包括表名、列名以及列名枚举值;所述根据所述原始训练样本数据构建所述编码模块的目标训练样本数据,可以包括:按照所述用户问题、所述列名和所述表名的顺序构建原始编码数据;将所述列名枚举值插入至所述原始编码数据中对应的列名后,得到所述目标训练样本数据;或,按照所述用户问题、所述列名、所述列名枚举值和所述表名的顺序构建所述目标训练样本数据。
其中,用户问题可以是用户实际提出的包含自然语义的问题。也即,用户问题属于自然语言类型。示例性的,用户问题例如可以是“WAW总共有几款车型?”。数据库数据可以是与用户问题相对应的结构化语言数据。列名枚举值可以是列名下匹配的枚举值。原始编码数据可以是现有技术中输入至语言转换模型的编码模块中的数据。
在本发明实施例中,以RATSQL模型作为语言转换模型为例具体说明。对于数据库数据来说,不同的列中极易出现相同的枚举值,从而引起混淆问题。现有技术中,按照用户问题、数据库数据中的列名和表名的顺序构建的原始编码数据仅构建了表/列/用户问句之间的关系,不能总是有效准确地连接问句中的关键词和数据库结构的正确映射。
为例解决上述问题,本发明实施例在按照用户问题、列名和表名的顺序构建原始编码数据之后,进一步将各个列名枚举值插入至原始编码数据中对应的列名后,从而在原始编码数据的基础上构建得到目标训练样本数据。
或者,也还可以直接按照用户问题、列名、列名枚举值和表名的顺序构建目标训练样本数据,只有能够生成目标训练样本数据即可,本发明实施例并不对目标训练样本数据的生成方式进行限定。
在本发明的一个可选实施例中,所述原始编码数据基于如下表达式表示:
S=<s>,Q,</s>,C1,</s>,C2,</s>,…,T1,</s>,T2,</s>…Tk,</s>
其中,Q=q1,q2,…,qk,表示机器识别的用户问题,也可称为用户问题的token(token表示符号化、可被计算机识别的语言),表示机器识别的列名,也可称为列名的token,/>表示机器识别的表名,也可称为表名的token。由此可见,现有根据原始训练样本数据构建的原始编码数据仅仅构建了表/列/用户问句之间的关系,而无法有效解决相同列名枚举值在不同列中出现造成混淆问题的情况。<s>和</s>表示间隔符号。
为了解决上述问题,本发明实施例中的目标训练样本数据可以基于如下表达式表示:
S=<s>,Q,</s>,C1,V1,</s>,C2,V2,</s>,…,Cn,Vn,</s>,T1,</s>,T2,</s>…Tk,</s>
由此可见,通过在列名后设置与用户问题最匹配的列名枚举值进行编码,能够有效填充列名取值的匹配信息,从而扩展了目标训练样本数据中的特征维度,进而提高目标训练样本数据的准确率。
在一个具体的例子中,假设一个数据库中“WAW”(可以表示某一车辆品牌)这个值分别出现在了“make”(可以表示生产商)和“model”(可以表示车型)这两个列里。在“make”列下,是以“WAW 145e(SW)”的值出现,在“model”列下是以“WAW”的形式出现。前者与“WAW”是部分匹配,后者则是完全匹配。理论上,完全匹配的列名枚举值的相关性更高。因此,构建的目标训练样本数据例如可以是S=<s>,Q,</s>,model,WAW,</s>,T1,</s>,T2,</s>…Tk,</s>。
S280、将所述目标训练样本数据输入至所述编码模块,以对所述语言转换模型进行正式训练。
相应的,在构建得到目标训练样本数据之后,即可将目标训练样本数据输入至编码模块,以对语言转换模型进行正式训练。由于目标训练样本数据比现有的原始编码数据具有更高的特征维度,特征信息更加丰富,因此利用目标训练样本数据训练得到的语言转换模型的准确率更高。
在本发明的一个可选实施例中,语言转换模型训练方法还可以包括:确定所述语言转换模型在正式训练的过程中的局部最优状态;获取所述语言转换模型在局部最优状态的局部最优损失函数;对所述局部最优损失函数添加损失扰动参数,得到目标损失函数;根据所述目标损失函数继续对所述语言转换模型进行正式训练。
其中,局部最优状态可以是语言转换模型陷入局部最优点的状态。局部最优损失函数可以是语言转换模型处于局部最优状态时的损失函数。损失扰动参数可以是对损失函数进行干扰的参数。
可以理解的是,目前通常采用梯度下降的方法训练语言转换模型,而使用梯度下降的方法训练语言转换模型,很容易使得语言转换模型陷入局部最优点,使得模型没能被充分训练,导致最终获取的模型准确率不够理想。
为了解决上述问题,在正式训练语言转换模型的过程中,可以确定语言转换模型的局部最优状态,并获取语言转换模型在局部最优状态的局部最优损失函数。一般情况下,当语言转换模型的损失函数变得很小或不再变化时,语言转换模型会陷入局部最优状态。当语言转换模型会陷入局部最优状态时,可以将语言转换模型在局部最优状态的损失函数确定为局部最优损失函数,并在局部最优损失函数的基础上添加损失扰动参数,从而得到目标损失函数,并利用目标损失函数继续对语言转换模型继续进行正式训练。
示例性的,假设局部最优损失函数为loss局,则目标损失函数可以是:loss目标=loss局+b。其中,loss目标表示目标损失函数,b表示损失扰动参数。通过对局部最优函数添加损失扰动参数,可以增大局部最优函数的损失值,使得语言转换模型在正式训练过程中跳出局部最优点,直至达到全局最优点,得到准确率最高的语言转换模型。其中,损失扰动参数可以是一个经验值,可选的,损失扰动参数的取值可以为0.2。
上述技术方案,通过利用原始训练样本数据构建包括列名枚举值的目标训练样本数据,并根据目标训练样本数据对语言转换模型进行正式训练。在正式训练的过程中,锁定语言转换模型的局部最优状态,并对局部最优状态下的损失函数进行改进,添加损失扰动参数以使语言转换模型训练至全局最优状态,能够提高语言转换模型的准确率,进而提高自然语言转换任务处理的准确率。
实施例三
图4是本发明实施例三提供的一种语言转换模型方法的流程图,本实施例可适用于训练完成的语言转换模型对待转换语音数据进行语言转换的情况,该方法可以由语言转换装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中,该计算机设备可以是终端设备也可以服务器设备等,本发明实施例并不对计算机设备的类型进行限定。相应的,如图4所示,该方法包括如下操作:
S310、获取待转换语言数据。
其中,待转换语言数据也即需要转换为目标语言的自然语言数据。可选的,待转换语言数据可以是用户提出的问题等,本发明实施例对此并不进行限制。
S320、将所述待转换语言数据输入至语言转换模型中,得到目标转换语言。
其中,所述语言转换模型通过本发明任一实施例所述的语言转换模型训练方法训练得到。
其中,目标转换语言也即语言转换模型对待转换语言数据转换得到的语言,可以是任意类型的机器语言或结构化语言等,只要是具备严格语法规则的语言即可,本发明实施例并不对目标转换语言的类型进行限定。
在本发明实施例中,当语言转换模型训练完成之后,即可将获取的待转换语言数据输入至语言转换模型中,通过语言转换模型对待转换语言数据进行学习和转换后,得到目标转换语言。
本发明实施例通过采用多种方式训练语言转换模型,以提升语言转换模型的准确率。当语言转换模型训练完成后,可以将获取的待转换语言数据输入至语言转换模型中,得到目标转换语言,解决现有语言转换模型存在的训练效率和模型准确率较低等问题,能够提高语言转换模型的训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。
实施例四
图5是本发明实施例四提供的一种语言转换模型训练装置的示意图,语言转换模型包括编码模块和译码模块,如图5所示,所述语言转换模型训练装置包括:编码向量获取模块410、编码向量转换模块420、零向量输入模块430以及第一预训练模块440,其中:
编码向量获取模块410,用于获取所述编码模块输出的编码向量;
编码向量转换模块420,用于将所述编码向量转换为不包括语义信息的零向量;
零向量输入模块430,用于将所述零向量作为译码模块预训练数据输入至所述译码模块;
第一预训练模块440,用于根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
本发明实施例通过将语言转换模型的编码模块输出的编码向量转换为不包括语义信息的零向量,并将零向量作为译码模块预训练数据输入至语言转换模型的译码模块,以对译码模块进行预训练。当语言转换模型训练完成后,可以将获取的待转换语言数据输入至语言转换模型中,得到目标转换语言,解决现有语言转换模型存在的训练效率和模型准确率较低等问题,能够提高语言转换模型的训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
可选的,第一预训练模块440具体用于:将所述零向量作为初始预训练数据输入至所述译码模块,得到所述译码模块的输出结果;根据所述译码模块的输出结果确定循环预训练数据;将循环预训练数据输入至所述译码模块,再次得到所述译码模块的输出结果;返回执行根据所述译码模块的输出结果确定循环预训练数据的操作,直至确定所述译码模块的原始语法树更新至所述目标语法树。
可选的,第一预训练模块440具体用于:将所述译码模块的输出结果作为所述循环预训练数据;或,将所述译码模块的输出结果和零向量的拼接数据作为所述循环预训练数据。
可选的,所述零向量基于如下公式表示:
其中,Pr(P)表示生成目标语言的概率,at表示t时刻的解码结果,Pr(at|a<t,0)表示在与语义无关的前提下,根据t前几个时刻的结果,预测出at的概率,a<t表示小于t时刻的所有解码结果。
可选的,语言转换模型训练装置还可以包括:目标预训练模型确定模块,用于确定目标预训练模型;第二预训练模块,用于通过所述目标预训练模型对所述编码模块进行预训练。
可选的,语言转换模型训练装置还可以包括:原始训练样本数据获取模块,用于获取原始训练样本数据;目标训练样本数据构建模块,用于根据所述原始训练样本数据构建所述编码模块的目标训练样本数据;语言转换模型训练模块,用于将所述目标训练样本数据输入至所述编码模块,以对所述语言转换模型进行正式训练。
可选的,所述语言转换模型为RATSQL模型;所述原始训练样本数据包括用户问题和数据库数据;所述数据库数据包括表名、列名以及列名枚举值;目标训练样本数据构建模块具体用于:按照所述用户问题、所述列名和所述表名的顺序构建原始编码数据;将所述列名枚举值插入至所述原始编码数据中对应的列名后,得到所述目标训练样本数据;或,按照所述用户问题、所述列名、所述列名枚举值和所述表名的顺序构建所述目标训练样本数据。
可选的,所述原始编码数据基于如下表达式表示:
S=<s>,Q,</s>,C1,</s>,C2,</s>,…,T1,</s>,T2,</s>…Tk,</s>
所述目标训练样本数据基于如下表达式表示:
S=<s>,Q,</s>,C1,V1,</s>,C2,V2,</s>,…,Cn,Vn,</s>,T1,</s>,T2,</s>…Tk,</s>
可选的,语言转换模型训练装置还可以包括:局部最优状态确定模块,用于确定所述语言转换模型在正式训练的过程中的局部最优状态;局部最优损失函数获取模块,用于获取所述语言转换模型在局部最优状态的局部最优损失函数;目标损失函数获取模块,用于对所述局部最优损失函数添加损失扰动参数,得到目标损失函数;语言转换模型训练模块还用于根据所述目标损失函数继续对所述语言转换模型进行正式训练。
上述语言转换模型训练装置可执行本发明任意实施例所提供的语言转换模型训练方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的语言转换模型训练方法。
由于上述所介绍的语言转换模型训练装置为可以执行本发明实施例中的语言转换模型训练方法的装置,故而基于本发明实施例中所介绍的语言转换模型训练方法,本领域所属技术人员能够了解本实施例的语言转换模型训练装置的具体实施方式以及其各种变化形式,所以在此对于该语言转换模型训练装置如何实现本发明实施例中的语言转换模型训练方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中语言转换模型训练方法所采用的装置,都属于本申请所欲保护的范围。
实施例五
图6是本发明实施例五提供的一种语言转换装置的示意图,如图6所示,所述语言转换装置包括:待转换语言数据获取模块510以目标转换语言获取模块520,其中:
待转换语言数据获取模块510,用于获取待转换语言数据;
目标转换语言获取模块520,用于将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;
其中,所述语言转换模型通过本发明任一实施例所述的语言转换模型训练方法训练得到。
本发明实施例通过采用多种方式训练语言转换模型,以提升语言转换模型的准确率。当语言转换模型训练完成后,可以将获取的待转换语言数据输入至语言转换模型中,得到目标转换语言,解决现有语言转换模型存在的训练效率和模型准确率较低等问题,能够提高语言转换模型的训练效率和模型准确率,从而提高自然语言转换任务处理的准确率。
上述语言转换装置可执行本发明任意实施例所提供的语言转换方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的语言转换方法。
由于上述所介绍的语言转换装置为可以执行本发明实施例中的语言转换方法的装置,故而基于本发明实施例中所介绍的语言转换方法,本领域所属技术人员能够了解本实施例的语言转换装置的具体实施方式以及其各种变化形式,所以在此对于该语言转换装置如何实现本发明实施例中的语言转换方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中语言转换方法所采用的装置,都属于本申请所欲保护的范围。
实施例六
图7为本发明实施例六提供的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图7显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,实现本发明任一实施例所提供的语言转换模型训练方法:获取所述编码模块输出的编码向量;将所述编码向量转换为不包括语义信息的零向量;将所述零向量作为译码模块预训练数据输入至所述译码模块根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
或,处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,实现本发明任一实施例所提供的语言转换方法:获取待转换语言数据;将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;其中,所述语言转换模型通过本发明任一实施例所述的语言转换模型训练方法训练得到。
实施例七
本发明实施例七还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的语言转换模型训练方法:获取所述编码模块输出的编码向量;将所述编码向量转换为不包括语义信息的零向量;将所述零向量作为译码模块预训练数据输入至所述译码模块根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树。
或者,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的语言转换方法:获取待转换语言数据;将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;其中,所述语言转换模型通过本发明任一实施例所述的语言转换模型训练方法训练得到。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnly Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable Read OnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种语言转换模型训练方法,其特征在于,所述语言转换模型包括编码模块和译码模块;所述语言转换模型训练方法包括:
获取所述编码模块输出的编码向量;
将所述编码向量转换为不包括语义信息的零向量;其中,所述零向量基于如下公式表示:
其中,Pr(P)表示生成目标语言的概率,at表示t时刻的解码结果,Pr(at|a<t,0)表示在与语义无关的前提下,根据t前几个时刻的结果,预测出at的概率,a<t表示小于t时刻的所有解码结果;
将所述零向量作为译码模块预训练数据输入至所述译码模块;
根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树;
其中,所述根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树,包括:
将所述零向量作为初始预训练数据输入至所述译码模块,得到所述译码模块的输出结果;
根据所述译码模块的输出结果确定循环预训练数据;
将循环预训练数据输入至所述译码模块,再次得到所述译码模块的输出结果;
返回执行根据所述译码模块的输出结果确定循环预训练数据的操作,直至确定所述译码模块的原始语法树更新至所述目标语法树;
其中,所述根据所述译码模块的输出结果确定循环预训练数据,包括:
将所述译码模块的输出结果作为所述循环预训练数据;或
将所述译码模块的输出结果和零向量的拼接数据作为所述循环预训练数据。
2.根据权利要求1所述的语言转换模型训练方法,其特征在于,在所述获取所述编码模块输出的编码向量之前,还包括:
确定目标预训练模型;
通过所述目标预训练模型对所述编码模块进行预训练。
3.根据权利要求1-2任一所述的语言转换模型训练方法,其特征在于,在所述译码模块预训练完成之后,还包括:
获取原始训练样本数据;
根据所述原始训练样本数据构建所述编码模块的目标训练样本数据;
将所述目标训练样本数据输入至所述编码模块,以对所述语言转换模型进行正式训练。
4.根据权利要求3所述的语言转换模型训练方法,其特征在于,所述语言转换模型为RATSQL模型;所述原始训练样本数据包括用户问题和数据库数据;所述数据库数据包括表名、列名以及列名枚举值;
所述根据所述原始训练样本数据构建所述编码模块的目标训练样本数据,包括:
按照所述用户问题、所述列名和所述表名的顺序构建原始编码数据;
将所述列名枚举值插入至所述原始编码数据中对应的列名后,得到所述目标训练样本数据;或
按照所述用户问题、所述列名、所述列名枚举值和所述表名的顺序构建所述目标训练样本数据。
6.根据权利要求3所述的语言转换模型训练方法,其特征在于,还包括:
确定所述语言转换模型在正式训练的过程中的局部最优状态;
获取所述语言转换模型在局部最优状态的局部最优损失函数;
对所述局部最优损失函数添加损失扰动参数,得到目标损失函数;
根据所述目标损失函数继续对所述语言转换模型进行正式训练。
7.一种语言转换方法,其特征在于,包括:
获取待转换语言数据;
将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;
其中,所述语言转换模型通过权利要求1-6任一所述的语言转换模型训练方法训练得到。
8.一种语言转换模型训练装置,其特征在于,所述语言转换模型包括编码模块和译码模块;所述语言转换模型训练装置包括:
编码向量获取模块,用于获取所述编码模块输出的编码向量;
编码向量转换模块,用于将所述编码向量转换为不包括语义信息的零向量;其中,所述零向量基于如下公式表示:
其中,Pr(P)表示生成目标语言的概率,at表示t时刻的解码结果,Pr(at|a<t,0)表示在与语义无关的前提下,根据t前几个时刻的结果,预测出at的概率,a<t表示小于t时刻的所有解码结果;
零向量输入模块,用于将所述零向量作为译码模块预训练数据输入至所述译码模块;
第一预训练模块,用于根据所述零向量将所述译码模块的原始语法树预训练更新至目标语法树;
其中,所述第一预训练模块具体用于:将所述零向量作为初始预训练数据输入至所述译码模块,得到所述译码模块的输出结果;根据所述译码模块的输出结果确定循环预训练数据;将循环预训练数据输入至所述译码模块,再次得到所述译码模块的输出结果;返回执行根据所述译码模块的输出结果确定循环预训练数据的操作,直至确定所述译码模块的原始语法树更新至所述目标语法树;
所述第一预训练模块具体用于:将所述译码模块的输出结果作为所述循环预训练数据;或,将所述译码模块的输出结果和零向量的拼接数据作为所述循环预训练数据。
9.一种语言转换装置,其特征在于,包括:
待转换语言数据获取模块,用于获取待转换语言数据;
目标转换语言获取模块,用于将所述待转换语言数据输入至语言转换模型中,得到目标转换语言;
其中,所述语言转换模型通过权利要求1-6任一所述的语言转换模型训练方法训练得到。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述计算机程序时实现如权利要求1-6中任一所述的语言转换模型训练方法,或实现如权利要求7所述的语言转换方法。
11.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一所述的语言转换模型训练方法,或实现如权利要求7所述的语言转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110908451.5A CN113609157B (zh) | 2021-08-09 | 2021-08-09 | 语言转换模型训练、语言转换方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110908451.5A CN113609157B (zh) | 2021-08-09 | 2021-08-09 | 语言转换模型训练、语言转换方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609157A CN113609157A (zh) | 2021-11-05 |
CN113609157B true CN113609157B (zh) | 2023-06-30 |
Family
ID=78340018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110908451.5A Active CN113609157B (zh) | 2021-08-09 | 2021-08-09 | 语言转换模型训练、语言转换方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609157B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118093641B (zh) * | 2024-04-29 | 2024-06-25 | 创意信息技术股份有限公司 | 一种基于因果推断的自然语言转sql查询语句方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472251A (zh) * | 2018-05-10 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 翻译模型训练的方法、语句翻译的方法、设备及存储介质 |
CN111095259A (zh) * | 2017-10-25 | 2020-05-01 | 谷歌有限责任公司 | 使用n-gram机器的自然语言处理 |
JP2021026760A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社Nttドコモ | 機械翻訳装置及び方法 |
CN112528637A (zh) * | 2020-12-11 | 2021-03-19 | 平安科技(深圳)有限公司 | 文本处理模型训练方法、装置、计算机设备和存储介质 |
-
2021
- 2021-08-09 CN CN202110908451.5A patent/CN113609157B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111095259A (zh) * | 2017-10-25 | 2020-05-01 | 谷歌有限责任公司 | 使用n-gram机器的自然语言处理 |
CN110472251A (zh) * | 2018-05-10 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 翻译模型训练的方法、语句翻译的方法、设备及存储介质 |
JP2021026760A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社Nttドコモ | 機械翻訳装置及び方法 |
CN112528637A (zh) * | 2020-12-11 | 2021-03-19 | 平安科技(深圳)有限公司 | 文本处理模型训练方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113609157A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110337B (zh) | 翻译模型训练方法、介质、装置和计算设备 | |
CN111402861B (zh) | 一种语音识别方法、装置、设备及存储介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN112036162B (zh) | 文本纠错的适配方法、装置、电子设备及存储介质 | |
CN112668338B (zh) | 澄清问题生成方法、装置和电子设备 | |
CN113590761B (zh) | 文本处理模型的训练方法、文本处理方法及相关设备 | |
US11417415B2 (en) | Molecular representation | |
US20190130251A1 (en) | Neural question answering system | |
CN116820429B (zh) | 代码处理模型的训练方法、装置、电子设备及存储介质 | |
CN111414745A (zh) | 文本标点确定方法与装置、存储介质、电子设备 | |
CN114936287A (zh) | 预训练语言模型的知识注入方法和相应的交互系统 | |
CN115238045B (zh) | 一种生成式事件论元抽取方法、系统及存储介质 | |
CN113609157B (zh) | 语言转换模型训练、语言转换方法、装置、设备及介质 | |
CN115906815A (zh) | 一种用于修改一种或多种类型错误句子的纠错方法及装置 | |
CN115168402A (zh) | 训练序列生成模型的方法及装置 | |
WO2021117180A1 (ja) | 対話処理装置、学習装置、対話処理方法、学習方法及びプログラム | |
CN114333838A (zh) | 语音识别文本的修正方法及系统 | |
CN116757184B (zh) | 融合发音特征的越南语语音识别文本纠错方法及系统 | |
JP2023542057A (ja) | グラフベースの時間的分類を用いたニューラルネットワークの訓練 | |
Cai et al. | Kg-eco: Knowledge graph enhanced entity correction for query rewriting | |
CN111104520B (zh) | 一种基于人物身份的人物实体链接方法 | |
CN116644180A (zh) | 文本匹配模型的训练方法、训练系统和文本标签确定方法 | |
WO2020166125A1 (ja) | 翻訳用データ生成システム | |
CN114625759A (zh) | 模型训练方法、智能问答方法、设备、介质及程序产品 | |
JP7375943B2 (ja) | 変換装置、変換方法、およびプログラム |
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 |