论文阅读:Leveraging Code Generation to Improve Code Retrieval and Summarization via Dual Learning

论文题目与链接:

[2002.10198] Leveraging Code Generation to Improve Code Retrieval and Summarization via Dual Learning (arxiv.org)

论文简要脉络:

任务定义:

  • 代码摘要 (code summarization):给定代码片段,生成简要描述。
  • 代码检索(code retrieval):给定描述,检索相关的代码片段。

当前存在问题:

以上两个任务都是旨在建立自然语言描述和代码语言自建的关系,因此近期很多研究中会将上述任务进行联合以提升各自的性能。然而现有的融合工作通常单独训练或者串行两个任务,没有有效利用两个任务内在的联系,因而两个任务的性能很难得到均衡提升。

归结起来两个主要问题:

1. 代码检索和代码摘要模型性能难以得到平衡。

2. 模型融合过程过于复杂,难以训练收敛。

方案:

针对这两个任务,本文通过引入一个额外的代码生成任务提出一个端对端的方法融合方案。特别地,本文通过对偶学习(dual learning)显式挖掘了代码摘要和代码生成之间的概率关联关系,利用两个编码器进行 代码摘要 和 代码生成,通过多任务学习的架构训练代码检索模型。

效果:

在SQL 和Python的公开数据集上,代码检索性能超过了 SOTA 性能,在代码摘要任务上也获得了优异的 BLEU score 评分。

本文贡献:

  1. 提出一种简洁有效的端对端模型,通过引入代码生成任务辅助代码摘要和代码检索任务的融合。通过对偶学习和多任务学习挖掘任务之间的内在关联。
  2. 实验证明了本算法的有效性,代码检索性能超过了 SOTA 性能,在代码摘要任务上也获得了优异的 BLEU score 评分。
  3. 通过消融实验和案例分析 证明了引入代码生成和对偶学习可以在语音的层面更好地表示源代码和文本语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Deep Learning: Practical Neural Networks with Java by Yusuke Sugomori English | 8 Jun. 2017 | ASIN: B071GC77N9 | 1057 Pages | AZW3 | 20.28 MB Build and run intelligent applications by leveraging key Java machine learning libraries About This Book Develop a sound strategy to solve predictive modelling problems using the most popular machine learning Java libraries. Explore a broad variety of data processing, machine learning, and natural language processing through diagrams, source code, and real-world applications This step-by-step guide will help you solve real-world problems and links neural network theory to their application Who This Book Is For This course is intended for data scientists and Java developers who want to dive into the exciting world of deep learning. It will get you up and running quickly and provide you with the skills you need to successfully create, customize, and deploy machine learning applications in real life. What You Will Learn Get a practical deep dive into machine learning and deep learning algorithms Explore neural networks using some of the most popular Deep Learning frameworks Dive into Deep Belief Nets and Stacked Denoising Autoencoders algorithms Apply machine learning to fraud, anomaly, and outlier detection Experiment with deep learning concepts, algorithms, and the toolbox for deep learning Select and split data sets into training, test, and validation, and explore validation strategies Apply the code generated in practical examples, including weather forecasting and pattern recognition In Detail Machine learning applications are everywhere, from self-driving cars, spam detection, document search, and trading strategies, to speech recognitionStarting with an introduction to basic machine learning algorithms, this course takes you further into this vital world of stunning predictive insights and remarkable machine intelligence. This course helps you solve challenging problems in image processing, speech recognition, lan

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值