CN110489102A - 一种从自然语言自动生成Python代码的方法 - Google Patents

一种从自然语言自动生成Python代码的方法 Download PDF

Info

Publication number
CN110489102A
CN110489102A CN201910689490.3A CN201910689490A CN110489102A CN 110489102 A CN110489102 A CN 110489102A CN 201910689490 A CN201910689490 A CN 201910689490A CN 110489102 A CN110489102 A CN 110489102A
Authority
CN
China
Prior art keywords
natural language
abstract syntax
generator
syntax tree
arbiter
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
Application number
CN201910689490.3A
Other languages
English (en)
Other versions
CN110489102B (zh
Inventor
祝亚兵
张岩峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201910689490.3A priority Critical patent/CN110489102B/zh
Priority to PCT/CN2019/099733 priority patent/WO2021017025A1/zh
Publication of CN110489102A publication Critical patent/CN110489102A/zh
Application granted granted Critical
Publication of CN110489102B publication Critical patent/CN110489102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明属于自然语言处理技术领域,具体涉及一种从自然语言自动生成Python代码的方法。所述的方法步骤如下:步骤1:采用GAN网络的生成器根据自然语言描述生成程序片段的抽象语法树。步骤2:采用GAN的判别器判断生成器生成的抽象语法树的语义是否与给定的自然语言描述的语义是否一致。步骤3:将GAN网络的生成器和判别器一起训练。本发明通过生成对抗网络优化训练,生成一个代码生成系统,该系统可以根据用户给定的对于一个功能的自然语言描述,然后生成一段具有相同功能的程序代码。相较于传统的优化方法,使用生成对抗网络进行对抗博弈训练,生成器能够更有效地学习到自然语言和编程语言的语言模型。

Description

一种从自然语言自动生成Python代码的方法
技术领域
本发明属于自然语言处理技术领域,具体涉及一种从自然语言自动生成Python代码的方法。
背景技术
语义分析任务是自然语言处理领域中的一类任务,主要研究的是如何将给定的自然语言描述文本转换成一种计算机能够理解并且可以执行的一种逻辑表示,比如SQL,Python,Java等形式。传统的方法是根据程序设计语言的特点设计出固定的模板,然后使用模式匹配的方式将自然语言描述解析成模板中的一个个实例。随着深度学习技术的发展,Encoder-Decoder等深度学习框架也被引入到语义分析分析任务中,比如采用机器翻译的方法将自然描述语言序列直接翻译成编程语言序列,又或者是在生成代码的时候,引入编程语言的语法,先生成程序的抽象语法树,然后再将抽象语法树转换成程序代码。但是上述Encoder-Decoder模型在处理从自然语言到编程语言之间的转换的时候,Encoder和Decoder分别处理两种不同语言,由于Encoder和Decoder使用的神经网络的不同,以及网络的深度,自然语言描述的语义在程序代码生成的过程中会逐步丢失,因此缺少一个强的语义约束的训练模型。
发明内容
针对于上述问题,本发明提出来一种从自然语言自动生成Python代码的方法。本发明旨在通过判别器提高生成器根据自然语言描述生成程序片段的效果,学习到自然语言和编程语言的分布之间的联系。
本发明的技术方案是:
一种从自然语言自动生成Python代码的方法,步骤如下:
步骤1:采用GAN网络的生成器根据自然语言描述生成程序片段的抽象语法树。
生成器是一个Encoder-Decoder深度学习框架,Encoder负责对自然语言描述序列进行编码,Decoder则根据Encoder的编码结果,将自然语言描述的语义解码成程序片段的抽象语法树。
步骤1.1:采用双向LSTM网络作为Encoder,对自然语言描述序列进行编码;
步骤1.1.1:从左到右以及从右到左两个方向对自然语言描述序列进行编码,得到每个字符的中间隐藏向量
步骤1.1.2:将中间隐藏向量进行concat操作即为自然语言描述字符的编码向量,并把每个字符的编码向量保存下来,以待后面Decoder使用。
步骤1.1.3:将最后一个字符的中间隐藏向量作为Decoder的初始状态hend
步骤1.2:采用单向LSTM网络作为Decoder,将Encoder编码的自然语言语义解码构建为程序的抽象语法树。
这一步骤将编程语言的语法规则引入到生成过程中。以深度优先遍历的方式生成抽象语法树,每一个生成步骤,是对上下文无关文法产生式的应用。语法规则为抽象语法树的生成提供先验知识,缩小搜索空间。
步骤1.2.1:将1.1.3中的hend作为Decoder的初始状态,并使用注意力机制计算hend的内容向量,然后将该内容向量作为LSTM的输入。
步骤1.2.2:采用Softmax对1.2.1的LSTM输出结果进行多分类,这些类别分别对应生成抽象语法树的动作。
步骤1.2.3:对于1.2.2生成的抽象语法树的动作,该动作一类是生成叶子节点,该动作另一类是生成非叶子节点。
对于生成非叶子节点的动作来说,是上下文无关文法扩展;而生成叶子节点的动作,则是生成具体的字符,也就是程序片段中的序列字符,可以采用复制的方式从自然语言描述序列中将字符复制过来,也可以根据由模型生成相应的字符。
步骤1.2.4:按照深度优先遍历的方式应用1.2.3的抽象语法树的动作构建抽象语法树。
步骤1.2.5:将1.2.4的输出结果作为1.2.1的输入,重复1.2.1到1.2.4操作,最终得到一棵完整的抽象语法树,即自然语言描述语义对应的程序片段的抽象法树。
步骤1.2.6:将抽象语法树解析成程序片段。
步骤2:采用GAN的判别器判断生成器生成的抽象语法树的语义是否与给定的自然语言描述的语义是否一致,这也是对生成器生成的一种强的语义约束。训练判别器的数据分为三种:A训练数据中的自然语言描述和与之对应的程序的抽象语法树。B给定自然语言描述和生成器生成的抽象语法树。C自然语言描述序列和与之无关的程序的抽象语法树。对于训练数据A给定标签为一致,而训练数据B,C给定标签为不一致。
步骤2.1:采用GAN生成器中Encoder的方法对自然语言描述序列进行编码,这一步只要得到最后的语义向量。
步骤2.2:采用树型LSTM网络,自底向上对抽象语法树进行编码,一直编码到抽象语法树的根节点,也就是这个抽象语法树对应的语义向量。
步骤2.3:将2.1和2.2中的自然语言语义向量和抽象语法树的语义向量进行向量乘法。
步骤2.4:重复2.1和2.3,对步骤2中的训练数据B和训练数据C进行同样的操作。
步骤2.5:对2.4中的训练数据对进行二分类预测,及判断这三种情况下自然语言和程序抽象语法树的语义是否一致。
步骤3:训练GANCoder,将GAN网络的生成器和判别器一起训练。在优化的时候,生成器和判别器交替优化。在训练之前,先分别对生成器和判别器进行预训练,然后再一起博弈训练。
进一步的,由一种从自然语言自动生成Python代码的方法生成的模型GANCoder包含两个部分:生成器和判别器,其中生成器负责实现从自然语言到编程语言程序片段的生成,而判别器则识别出生成器生成的程序片段。训练的时候,生成器和判别器处于博弈训练的状态,相互提高,到最后判别器不能识别出编程语言程序片段是原始训练集的数据还是由生成器生成的数据。
本发明具备的有益效果:
本发明通过生成对抗网络优化训练,生成一个代码生成系统,该系统可以根据用户给定的对于一个功能的自然语言描述,然后生成一段具有相同功能的程序代码。相较于传统的优化方法,使用生成对抗网络进行对抗博弈训练,生成器能够更有效地学习到自然语言和编程语言的语言模型。
附图说明
图1是基于Encoder-Decoder模型的语义分析器。
图2是一个Python程序对应的抽象语法树。
图3是本发明GANCoder的总体框架。
图4是GANCoder的生成器的框架表示图。
图5是使用树型LSTM网络对抽象法树进行编码。
具体实施方式
以下结合技术方案和附图详细叙述本发明的具体实施方式。
一种从自然语言自动生成Python代码的方法,提出的GANCoder系统,总体上是一个生成对抗网络,包含生成器和判别器两个部分,如图3所示。其中生成器是一个Encoder-Decoder模型,如图4所示,Encoder负责对自然语言描述序列进行编码,使用双向LSTM网络,而Decoder则将Encoder编码的语义解码成程序的抽象语法树,使用单向LSTM网络;而判别器主要负责判断自然语言描述和抽象语法树的语义是否一致,对于自然语言描述的语义编码使用生成器Encoder,对于抽象语法树的编码则采用树型LSTM网络,树型LSTM网络如图5所示,以自底向上的方式对程序的抽象语法树进行编码,抽象语法树的根节点的编码向量为抽象语法树的语义向量。
步骤1:采用GAN网络的生成器根据自然语言描述生成程序片段的抽象语法树。
生成器是一个Encoder-Decoder深度学习模型,如图4所示,图中左边是Encoder,是一个双向LSTM网络,负责对自然语言描述序列进行编码;图中右边是Decoder,是一个单向LSTM网络,它则根据Encoder的编码结果,将自然语言描述的语义解码成程序片段的抽象语法树。
步骤1.1:采用双向LSTM网络作为Encoder,对自然语言描述序列进行编码。图4Encoder中左右两个方向表示LSTM网络的编码顺序。
步骤1.1.1:从左到右以及从右到左两个方向对自然语言描述序列进行编码,得到每个字符的中间隐藏向量如图4Encoder中LSTM网络的两个编码方向一样。
步骤1.1.2:将1.1的进行concat操作,得到即为自然语言描述字符的编码向量,并把每个字符的编码向量保存下来,以待后面Decoder使用。
步骤1.1.3:将最后一个字符的中间隐藏向量作为Decoder的初始状态hend
步骤1.2:采用单向LSTM网络作为Decoder,将Encoder编码的自然语言语义解码构建为程序的抽象语法树。
这一步骤将编程语言的语法规则引入到代码生成过程中。以深度优先遍历的方式生成抽象语法树,每一个生成步骤,是对上下文无关文法产生式的应用。语法规则为抽象语法树的生成提供先验知识,缩小搜索空间。
步骤1.2.1:如图4,Decoder将1.1.3中的hend作为始状态,并使用注意力机制计算hend的内容向量C1,然后将该内容向量作为LSTM的输入。
步骤1.2.2:采用Softmax对LSTM输出结果进行多分类,这些类别分别对应生成抽象语法树的动作,对应如图2中右图抽象语法树的每个节点。
步骤1.2.3:对于1.2.2预测的动作,一类是生成叶子节点,另一类是生成非叶子节点,也就是图2中抽象语法树中叶子节点和非叶子节点。对于生成非叶子节点的动作来说,是上下文无关文法扩展,每一条为上下文文法规则;而生成叶子节点的动作,则是生成具体的字符,也就是程序片段中的序列字符,可以采用复制的方式从自然语言描述序列中将字符复制过来,也可以根据由模型生成相应的字符。
步骤1.2.4:按照深度优先遍历的方式应用1.2.3预测动作构建抽象语法树。图2中的抽象语法树节点用实线箭头表示的顺序为建立抽象语法树中每个节点构建的顺序。
步骤1.2.5:将1.2.4的输出结果作为1.2.1的输入,如图2,上一个节点的信息传递给下一节点,其中信息包括上一步骤的状态,也就是实线箭头表示的,还有父节点的信息,虚线箭头传递的信息。然后重复1.2.1到1.2.4操作,最终得到一棵完整的抽象语法树,即自然语言描述语义对应的程序片段的抽象语法树。
步骤1.2.6:将完整的抽象语法树解析成程序片段。
步骤2:采用GAN的判别器判断生成器生成的抽象语法树的语义是否与给定的自然语言描述的语义是否一致,这也是对生成器生成的一种强的语义约束。训练判别器的数据分为三种:1.训练数据中的自然语言描述和与之对应的程序的抽象语法树。2.给定自然语言描述和生成器生成的抽象语法树。3.自然语言描述序列和与之无关的程序的抽象语法树。对于1来说,给定标签为一致,而2,3两种数据,给定标签为不一致。
步骤2.1:采用GAN生成器中Encoder的方法对自然语言描述序列进行编码,这一步只要得到最后的语义向量,Encoder的结构如图4所示。
步骤2.2:采用树型LSTM网络,如图5所示,自底向上地对抽象语法树进行编码,抽象语法树的孩子节点是父节点编码的输入,一直编码到抽象语法树的根节点,也就是这个抽象语法树对应的语义向量。
步骤2.3:将2.1和2.2中的自然语言语义向量和抽象语法树的语义向量进行向量乘法。
步骤2.4:重复2.1和2.3,对步骤2中的训练数据2和训练数据3进行同样的操作。
步骤2.5:对2.4中的训练数据对进行二分类预测,及判断这三种情况下自然语言和程序抽象语法树的语义是否一致。
步骤3:训练GANCoder,将GAN网络的生成器和判别器一起训练。在优化的时候,生成器和判别器交替优化。在训练之前,先对生成器和判别器进行预训练,然后再一起博弈训练,如图3所示,判别器的信息会反馈到生成器。

Claims (4)

1.一种从自然语言自动生成Python代码的方法,其特征在于,步骤如下:
步骤1:采用GAN网络的生成器根据自然语言描述生成程序片段的抽象语法树;
步骤1.1:采用双向LSTM网络作为Encoder,对自然语言描述序列进行编码;
步骤1.1.1:从左到右以及从右到左两个方向对自然语言描述序列进行编码,得到每个字符的中间隐藏向量
步骤1.1.2:将中间隐藏向量进行concat操作即为自然语言描述字符的编码向量,并把每个字符的编码向量保存下来,以待后面Decoder使用;
步骤1.1.3:将最后一个字符的中间隐藏向量作为Decoder的初始状态hend
步骤1.2:采用单向LSTM网络作为Decoder,将Encoder编码的自然语言语义解码构建为程序的抽象语法树;
步骤2:训练判别器的数据分为三种:A训练数据中的自然语言描述和与之对应的程序的抽象语法树;B给定自然语言描述和生成器生成的抽象语法树;C自然语言描述序列和与之无关的程序的抽象语法树;
对于训练数据A给定标签为一致;而训练数据B,C给定标签为不一致;
步骤2.1:采用GAN生成器中Encoder的方法对自然语言描述序列进行编码;
步骤2.2:采用树型LSTM网络,自底向上对抽象语法树进行编码,一直编码到抽象语法树的根节点;
步骤2.3:将2.1和2.2中的自然语言语义向量和抽象语法树的语义向量进行向量乘法;
步骤2.4:重复2.1和2.3,对步骤2中的训练数据B和训练数据C进行同样的操作;
步骤2.5:对2.4中的训练数据对进行二分类预测,及判断这三种情况下自然语言和程序抽象语法树的语义是否一致;
步骤3:将GAN网络的生成器和判别器一起训练,生成器和判别器交替优化。
2.如权利要求1所述的从自然语言自动生成Python代码的方法,其特征在于,所述的步骤1.2具体方法如下:
步骤1.2.1:将1.1.3中的初始状态hend作为Decoder的初始状态,并使用注意力机制计算hend的内容向量,然后将该内容向量作为LSTM的输入;
步骤1.2.2:采用Softmax对1.2.1的LSTM输出结果进行多分类,这些类别分别对应生成抽象语法树的动作;
步骤1.2.3:对于1.2.2生成的抽象语法树的动作,该动作一类是生成叶子节点,该动作另一类是生成非叶子节点;
步骤1.2.4:按照深度优先遍历的方式应用1.2.3的抽象语法树的动作构建抽象语法树;
步骤1.2.5:将1.2.4的输出结果作为1.2.1的输入,重复1.2.1到1.2.4操作,最终得到一棵完整的抽象语法树,即自然语言描述语义对应的程序片段的抽象法树;
步骤1.2.6:将抽象语法树解析成程序片段。
3.如权利要求1或2所述的从自然语言自动生成Python代码的方法,其特征在于,所述的步骤3中,在训练生成器和判别器之前,先分别对生成器和判别器进行预训练,再一起博弈训练。
4.根据权利要求1~3任一所述的从自然语言自动生成Python代码的方法生成的模型包含两个部分:生成器和判别器,其中生成器负责实现从自然语言到编程语言程序片段的生成,而判别器则识别出生成器生成的程序片段;训练时,生成器和判别器处于博弈训练的状态,相互提高,到最后判别器不能识别出编程语言程序片段是原始训练集的数据还是由生成器生成的数据。
CN201910689490.3A 2019-07-29 2019-07-29 一种从自然语言自动生成Python代码的方法 Active CN110489102B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910689490.3A CN110489102B (zh) 2019-07-29 2019-07-29 一种从自然语言自动生成Python代码的方法
PCT/CN2019/099733 WO2021017025A1 (zh) 2019-07-29 2019-08-08 一种从自然语言自动生成Python代码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910689490.3A CN110489102B (zh) 2019-07-29 2019-07-29 一种从自然语言自动生成Python代码的方法

Publications (2)

Publication Number Publication Date
CN110489102A true CN110489102A (zh) 2019-11-22
CN110489102B CN110489102B (zh) 2021-06-18

Family

ID=68548396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910689490.3A Active CN110489102B (zh) 2019-07-29 2019-07-29 一种从自然语言自动生成Python代码的方法

Country Status (2)

Country Link
CN (1) CN110489102B (zh)
WO (1) WO2021017025A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111443904A (zh) * 2020-03-12 2020-07-24 清华大学深圳国际研究生院 一种生成可执行代码的方法及计算机可读存储介质
CN111639153A (zh) * 2020-04-24 2020-09-08 平安国际智慧城市科技股份有限公司 基于法律知识图谱的查询方法、装置、电子设备及介质
CN112255962A (zh) * 2020-10-30 2021-01-22 浙江佳乐科仪股份有限公司 基于人工智能的plc编程系统
CN112905188A (zh) * 2021-02-05 2021-06-04 中国海洋大学 一种基于生成式对抗gan网络的代码翻译方法及系统
CN112987653A (zh) * 2019-12-17 2021-06-18 深圳市恒控科技有限公司 一种将中文程序转化为g代码的方法和装置
CN113126973A (zh) * 2021-04-30 2021-07-16 南京工业大学 一种基于门控注意力和交互lstm的代码生成方法
CN113849162A (zh) * 2021-09-28 2021-12-28 哈尔滨工业大学 一种利用模型驱动和深度神经网络相结合的代码生成方法
CN114860241A (zh) * 2022-07-07 2022-08-05 中国海洋大学 一种基于生成对抗网络的代码抽象语法树生成方法
CN116400901A (zh) * 2023-04-12 2023-07-07 上海计算机软件技术开发中心 一种Python代码自动生成方法及系统
CN116400901B (zh) * 2023-04-12 2024-06-11 上海计算机软件技术开发中心 一种Python代码自动生成方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388425A (zh) * 2018-03-20 2018-08-10 北京大学 一种基于lstm自动补全代码的方法
CN108446540A (zh) * 2018-03-19 2018-08-24 中山大学 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统
CN108733359A (zh) * 2018-06-14 2018-11-02 北京航空航天大学 一种软件程序的自动生成方法
RU2018135235A (ru) * 2018-10-05 2018-11-19 Общество с ограниченной ответственностью "Алгоритм" Система классификации трафика

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858263B2 (en) * 2016-05-05 2018-01-02 Conduent Business Services, Llc Semantic parsing using deep neural networks for predicting canonical forms
CN109799990B (zh) * 2017-11-16 2022-02-11 中标软件有限公司 源代码注释自动生成方法及系统
CN109359293B (zh) * 2018-09-13 2019-09-10 内蒙古大学 基于神经网络的蒙古文命名实体识别方法及其识别系统
CN109783809B (zh) * 2018-12-22 2022-04-12 昆明理工大学 一种从老挝-汉语篇章级对齐语料中抽取对齐语句的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446540A (zh) * 2018-03-19 2018-08-24 中山大学 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与系统
CN108388425A (zh) * 2018-03-20 2018-08-10 北京大学 一种基于lstm自动补全代码的方法
CN108733359A (zh) * 2018-06-14 2018-11-02 北京航空航天大学 一种软件程序的自动生成方法
RU2018135235A (ru) * 2018-10-05 2018-11-19 Общество с ограниченной ответственностью "Алгоритм" Система классификации трафика

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
乔阳: ""基于深度神经网络的程序分类技术研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112987653B (zh) * 2019-12-17 2022-04-15 深圳市恒控科技有限公司 一种将中文程序转化为g代码的方法和装置
CN112987653A (zh) * 2019-12-17 2021-06-18 深圳市恒控科技有限公司 一种将中文程序转化为g代码的方法和装置
CN111443904A (zh) * 2020-03-12 2020-07-24 清华大学深圳国际研究生院 一种生成可执行代码的方法及计算机可读存储介质
CN111443904B (zh) * 2020-03-12 2023-04-07 清华大学深圳国际研究生院 一种生成可执行代码的方法及计算机可读存储介质
CN111639153A (zh) * 2020-04-24 2020-09-08 平安国际智慧城市科技股份有限公司 基于法律知识图谱的查询方法、装置、电子设备及介质
CN112255962A (zh) * 2020-10-30 2021-01-22 浙江佳乐科仪股份有限公司 基于人工智能的plc编程系统
CN112905188A (zh) * 2021-02-05 2021-06-04 中国海洋大学 一种基于生成式对抗gan网络的代码翻译方法及系统
CN113126973A (zh) * 2021-04-30 2021-07-16 南京工业大学 一种基于门控注意力和交互lstm的代码生成方法
CN113849162A (zh) * 2021-09-28 2021-12-28 哈尔滨工业大学 一种利用模型驱动和深度神经网络相结合的代码生成方法
CN113849162B (zh) * 2021-09-28 2024-04-02 哈尔滨工业大学 一种利用模型驱动和深度神经网络相结合的代码生成方法
CN114860241A (zh) * 2022-07-07 2022-08-05 中国海洋大学 一种基于生成对抗网络的代码抽象语法树生成方法
CN116400901A (zh) * 2023-04-12 2023-07-07 上海计算机软件技术开发中心 一种Python代码自动生成方法及系统
CN116400901B (zh) * 2023-04-12 2024-06-11 上海计算机软件技术开发中心 一种Python代码自动生成方法及系统

Also Published As

Publication number Publication date
CN110489102B (zh) 2021-06-18
WO2021017025A1 (zh) 2021-02-04

Similar Documents

Publication Publication Date Title
CN110489102A (zh) 一种从自然语言自动生成Python代码的方法
CN109657051A (zh) 文本摘要生成方法、装置、计算机设备及存储介质
CN110688394B (zh) 面向新型供电城轨列车大数据运维的nl生成sql方法
CN109492202A (zh) 一种基于拼音的编码与解码模型的中文纠错方法
CN108563433B (zh) 一种基于lstm自动补全代码的装置
CN111859978A (zh) 一种基于深度学习的情感文本生成方法
CN110427629B (zh) 半监督文本简化模型训练方法和系统
CN112765345A (zh) 一种融合预训练模型的文本摘要自动生成方法及系统
CN111178085B (zh) 文本翻译器训练方法、专业领域文本语义解析方法和装置
CN113657123A (zh) 基于目标模板指导和关系头编码的蒙语方面级情感分析方法
Zhu et al. Robust spoken language understanding with unsupervised asr-error adaptation
CN108363685B (zh) 基于递归变分自编码模型的自媒体数据文本表示方法
CN116737759A (zh) 一种基于关系感知注意力的中文查询生成sql语句方法
CN115759042A (zh) 一种基于句法感知提示学习的句子级问题生成方法
CN113901847A (zh) 基于源语言句法增强解码的神经机器翻译方法
CN112835585A (zh) 一种基于抽象语法树的程序理解方法及系统
CN114548053A (zh) 一种基于编辑方法的文本对比学习纠错系统、方法及装置
CN108733359B (zh) 一种软件程序的自动生成方法
CN116910272B (zh) 基于预训练模型t5的学术知识图谱补全方法
CN106843858A (zh) 一种由转换原语生成Spark代码的方法
CN115826988A (zh) 一种基于数据流分析和注意力机制的Java方法注释即时自动更新方法
CN113239166B (zh) 一种基于语义知识增强的自动化人机互动方法
CN115309886A (zh) 基于多模态信息输入的人工智能文本创作方法
CN112668344B (zh) 基于混合专家模型的复杂度可控的多样化问题生成方法
CN114881010A (zh) 一种基于Transformer和多任务学习的中文语法纠错方法

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