基于深度学习的自然语言编程任务分解研究

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:ydy611
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着人工智能、深度学习等技术的发展,互联网上出现了越来越多的开源社区和开源软件,其中包含着上亿行的代码。这些代码资源的出现给传统的软件工程带来了新的机遇和挑战,合理的使用这些代码资源能够大大提高软件开发的质量和效率。目前已有大量相关的研究工作,例如代码自动生成和代码搜索技术。程序员可以利用这些技术来实现某个高级编程任务,但是这些技术仍然存在一定的局限性,代码自动生成技术通常无法生成大规模、功能复杂的程序,而代码搜索技术受限于搜索空间,可能无法搜索到合适的代码段。本课题提出了一种基于深度学习的任务分解工具Lego,能够将给定的高级编程任务分解为相应的子任务序列,这些序列代表了完成编程任务所需要的每一个步骤,每个子任务所表示的功能也更加简单。课题的主要工作包括:(1)调研了Stack Overflow和GitHub开源社区,对其中的Java代码进行了分析,并从中总结出两种注释:一种是具有高级意图的总注释,和高级编程任务相似;另外一种是具有低级意图的分段注释,和低级的子任务相似。基于此,本课题从上述开源社区中提取了用于训练任务分解模型的数据集,其中包含多条<任务,[子任务1,…,子任务N]>,并且采用了深度学习算法从数据集中学习并建立任务分解模型。(2)注释质量判断;Java源代码中存在部分低质量注释,其无法正确的解释后续代码段。这种注释的存在会影响整个工作的效果,因此本课题提出了一种有监督的注释质量判断方法,用于识别低质量注释。(3)分段注释生成;在从Java源代码中提取分段注释的过程中,发现大部分Java代码都不包含或者缺少分段注释,这导致了分段注释的数量过低,数据集数量太少。针对那些缺少分段注释的代码段,本课题提出了一种分段注释生成方法,通过代码摘要生成模型生成分段注释。在实验评估中,注释质量判断的F-score达到92.78%;代码摘要生成模型的BLEU分数达到30.78;Lego在任务分解上的BLEU分数达到20.19。并且通过控制变量法评估了注释质量判断和分段注释生成的有效性,在加入了注释质量判断后,Lego的BLEU分数提高了1.32;在加入了分段注释生成的数据后,Lego的BLEU分数提高了7.6。
其他文献
用户在网络中的点击和跳转可以看作是在虚拟空间中的移动,该行为往往受到兴趣的驱使,尽管人们在人类时空行为动力学的研究中取得了诸多突破性进展,但是对于虚拟空间中人类兴
隧道内发生车辆违法变道行为较露天更易引起交通事故,且事故造成的后果也更为严重,因此对车辆进行实时检测跟踪,及时发现并处理违法变道行为显得尤为重要。传统的人工抓拍方
作为一种新型储能装置,超级电容器因具有功率密度高、循环寿命长以及充放电速率快等优点而引起广泛关注。介孔碳由于具有比表面积大、孔径适中且连续可调等优点,而成为超级电
从工业革命开始,煤炭作为燃料被大量的使用,这引起了严重的环境污染,同时这也是全球气候变暖问题的主要原因之一。随着经济的快速发展,对电能的需求也越来越大,而人们环保意
受气候、环境以及成像设备的影响,获取的图像经常存在光照不均、噪声多、边缘模糊等问题,导致无法对图像进行有效的特征提取,影响重要特征表达。因此,本文选取井下图像作为光
新中国成立以来党和政府一贯重视华文教育工作,作为华文教育重要形式的“中国寻根之旅”自1999年创办以来,在不断加深海外华裔青少年对中国国情和中华文化的了解方面做出了极
聚类是机器学习中最重要的研究问题之一,关于聚类的工作一直层出不穷。大部分传统聚类算法都是直接作用于原始输入空间,而当原始输入数据属于高维空间时,它们的性能都会受到
近年来,无线胶囊内窥镜(Wireless Capsule Endoscopy,WCE)技术因具有安全、无痛、无创及能检查到传统内窥镜难以到达的小肠内部区域等优点,在临床消化道检查中得到了广泛的应
在信息过载的时代,人们的日常生活越来越离不开推荐技术。因此,对推荐系统的性能的改善具有很大的社会意义。由于异构信息网络在处理多种节点以及不同的边类型上存在着天然的
2015年2月27日,习近平总书记在中央全面深化改革领导小组第十次会议上指出“让人民群众有更多获得感”。“获得感”是一个深具中国特色的词语,必须将其放到建设新时代中国特