Skip to content

深度学习 #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
coderZMR opened this issue Aug 5, 2019 · 20 comments
Open

深度学习 #5

coderZMR opened this issue Aug 5, 2019 · 20 comments

Comments

@coderZMR
Copy link
Owner

coderZMR commented Aug 5, 2019

No description provided.

@coderZMR
Copy link
Owner Author

coderZMR commented Aug 5, 2019

Nguyen A T, Nguyen T D, Phan H D, et al. A deep neural network language model with contexts for source code. In: Proceedings of 25th International Conference on Software Analysis, Evolution and Reengineering, Campobasso, 2018. 323-334
应用DNN模型整合语法和类型的上下文信息,分别使用3个DNN表示前n-1个语义、语法、类型信息,使用《Divide-and-conquer approach for multi-phase statistical migration for source code》文中的syntaxemes方法构造代码的语法上下文(Syntactic Context);使用《A statistical semantic language model for source code》文中的sememes方法构造代码的类型上下文(Type Context)。

@Fatead
Copy link
Collaborator

Fatead commented Aug 5, 2019

Dam H K, Tran T, Pham T. A deep language model for software code. 2016, ArXiv: 1608.02715
提出了基于LSTM模型的Java代码推荐工具DeepSoft,主要解决了传统统计语言模型所存在的难以捕获到长距离信息的问题,属于token粒度上的代码推荐。

@yanqianyu
Copy link
Collaborator

yanqianyu commented Aug 5, 2019

Chen X Y, Liu C, Song D. Execution-Guided Neural Program Synthesis. In: 7th International Conference on Learning Representations, New Orleans, 2019
指出多数基于输入输出样例的程序合成方法采用的encoder-decoder框架往往没有很好地利用语义信息,提出了2种可以与任意encoder-decoder框架的程序合成框架结合的、并且能更好地利用语义信息的策略,一种是execution-guided synthesis,一种是synthesizer ensemble。

@coderZMR
Copy link
Owner Author

coderZMR commented Aug 5, 2019

Chen C, Peng X, Sun J, et al. Generative API usage code recommendation with parameter concretization. Sci China Inf Sci, 2018, 61: 050108
基本思想是使用Tree-LSTM对代码建模,对带有窟窿的代码进行补全,同时使用数据依赖分析和启发式规则对补全出来的API的参数进行推荐。

@Fatead
Copy link
Collaborator

Fatead commented Aug 5, 2019

Balog M , Gaunt A L , Brockschmidt M , et al. DeepCoder: Learning to Write Programs. 2016.In: 5th International Conference on Learning Representations, Toulon, France, 2017.
为了让计算机自动化编写程序语言,作者使用神经网络和搜索技术,比如枚举搜索和基于SMT的搜索器,用于解决编程网站上的编程问题,实验结果表明他们的方法可以解决网站上最简单的编程问题。

@yanqianyu
Copy link
Collaborator

yanqianyu commented Aug 5, 2019

Brockschmidt M, Allamanis M, Gaunt A, et al. Generative Code Modeling with Graphs. In: 7th International Conference on Learning Representations, New Orleans, 2019
使用图来表示生成的输出的中间状态,通过在语法驱动的扩展步骤插入图增强和神经消息传递步骤来生成代码,提出了一种针对高度结构对象的基于图的一般生成步骤,并提出一种专注于根据源代码上下文生成短小但语义复杂表达式的任务。

@yanqianyu
Copy link
Collaborator

yanqianyu commented Aug 5, 2019

Li J, Wang Y, Lyu M, et al. Code Completion with Neural Attention and Pointer Networks. In : Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, Stockholm, 2019. 4159-4165
指出代码补全所利用的标准神经语言模型的out-of-vocabulary问题限制了代码补全的性能,受pointer networks的启发,提出了一种混合pointer网络,解决代码补全中的out-of-vocabulary问题。该网络基于上下文学习,生成词表中的词或者从上下文中生成词。

@yanqianyu
Copy link
Collaborator

yanqianyu commented Aug 5, 2019

Rabinovich M, Stern M, Klein D. Abstract Syntax Networks for Code Generation and Semantic Parsing. In: Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Vancouver, 2017, 1139-1149
提出了abstract syntax networks,是标准encoder-decoder框架的扩展,利用了模块化decoder,其子模块被组合成以自上而下的方式生成抽象语法树,解码的过程遵循模块之间动态选择的相互递归。每个子模块与语法树中的特定构造相关。

@coderZMR
Copy link
Owner Author

coderZMR commented Aug 5, 2019

Murali V, Qi L, Chaudhuri S, et al. Neural Sketch Learning for Conditional Program Generation. In: Proceedings of the 6th International Conference on Learning Representations, Vancouver, 2018
根据输入条件生成代码,基于Encoder-Decoder模型,先由用户输入的条件产生程序框架,再使用组合搜索技术将生成的程序框架具体化生成为目标程序代码。

@yanqianyu
Copy link
Collaborator

yanqianyu commented Aug 5, 2019

Ling W, Blunsom P, Grefenstette E, et al. Latent Predictor Networks for Code Generation. In: Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, 2016
提出了Latent Prediction Network,使用多个预测器,结合了pointer network从输入中复制关键字,根据游戏卡片的说明生成卡片代码。

@coderZMR
Copy link
Owner Author

coderZMR commented Aug 5, 2019

Gu X D, Zhang H Y, Zhang D M, et al. Deep API learning. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Seattle, 2016, 631-642
提出了使用RNN Encoder-Decoder模型由自然语言产生API调用序列,从而解决了使用词袋模型所导致的无法识别自然语言查询的深层语义的问题。

@yanqianyu

This comment has been minimized.

@yanqianyu
Copy link
Collaborator

Svyatkovskiy A, Zhao Y, Fu S Y, et al. Pythia: AI-assisted Code Completion System. In: Proceedings of the 25th {ACM} {SIGKDD} International Conference on Knowledge Discovery, Anchorage, 2019, 2727-2735
利用LSTM对抽象语法树上的叶节点进行训练,捕获叶节点携带的语义信息,生成方法和API推荐的排序列表。

@yanqianyu
Copy link
Collaborator

Yin P C, Neubig G. A Syntactic Neural Model for General-Purpose Code Generation. In: Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Vancouver, 2017, 440-450
针对将自然语言描述解析为Python之类通用编程语言编写的源代码问题,提出了一种由语法模型驱动的网络结构,可以显式地将目标语法捕获为先验知识。

@yanqianyu
Copy link
Collaborator

Ellis K, Ritchie D, Solar-Lezama A, et al. Learning to Infer Graphics Programs from Hand-Drawn Images. In: Advances in Neural Information Processing Systems 31: Annual Conference on Neural Information Processing Systems 2018, Montreal, 2018, 6062-6071
将简单的手绘图转成用LATEX子集编写的图形程序,使用了一个卷积神经网络从图中学习绘制的需求,并利用一个程序合成的模型从需求中恢复绘图程序。

@yanqianyu
Copy link
Collaborator

Polosukhin I, Skidanov A. Neural Program Search: Solving Programming Tasks from Description and Examples. In: 6th International Conference on Learning Representations, Vancouver, 2018
提出了从自然语言描述和少数输入输出例子中生成程序的算法,设计了丰富的DSL,定义了由SEQ2TREE模型指导的搜索算法,结合了深度学习和传统的搜索技术。

@yanqianyu
Copy link
Collaborator

Yu T, Li Z F, Zhang Z L, et al. TypeSQL: Knowledge-Based Type-Aware Neural Text-to-SQL Generation. In: Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, New Orleans, 2018, 588-594
提出TypeSQL将用户问题转为SQL查询语句,他们将此类问题看作是插槽填充任务,利用类型信息更好地理解自然语言中地稀有实体和数字,当用户查询不规范时,TypeSQL可以利用数据库内容更好地理解用户查询。

@yanqianyu
Copy link
Collaborator

Sun Z Y, Zhu Q H, Mou L L, et al. A Grammar-Based Structural CNN Decoder for Code Generation. In: The Thirty-Third {AAAI} Conference on Artificial Intelligence, Honolulu, 2019, 7055-7062
提出了一种基于语法的结构卷积神经网络用于代码生成,设计了基于树的卷积和前序卷积,输入是需要生成的程序的描述。

@coderZMR
Copy link
Owner Author

coderZMR commented Aug 6, 2019

Chakraborty S, Allamanis M, Ray B. Tree2Tree Neural Translation Model for Learning Source Code Changes. 2018, ArXiv: 1810.00314
因为对于软件开发与维护中增加新的软件功能、修复软件缺陷、重构等的代码变更具有重复性,所以为了减轻程序员对于这种重复性工作的负担,本文提出了使用Tree2Tree的神经机器翻译系统对代码变更建模,学习代码变更的模式,开发了CODIT工具,以代码片段作为输入,根据输入的代码片段给出变更建议。

@coderZMR
Copy link
Owner Author

coderZMR commented Aug 6, 2019

Allamanis M, Barr E T, Bird C, et al. Suggesting accurate method and class names. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, Bergamo, 2015, 38-49
使用log-bilinear神经语言模型建模代码上下文,解决方法和类命名问题,文中提出的方法能够建模范围更广的上下文,同时能够生成没有在训练集中存在的词语。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants