首页 | 官方网站   微博 | 高级检索  
     

基于关键词的代码自动摘要
引用本文:张世琨, 谢睿, 叶蔚, 陈龙. 基于关键词的代码自动摘要[J]. 计算机研究与发展, 2020, 57(9): 1987-2000. DOI: 10.7544/issn1000-1239.2020.20190179
作者姓名:张世琨  谢睿  叶蔚  陈龙
作者单位:1.1(北京大学软件工程国家工程研究中心 北京 100871);2.2(北京大学软件与微电子学院 北京 100871) (ruixie@pku.edu.cn)
摘    要:代码摘要(code summary)是对一段源代码简短的自然语言描述,代码自动摘要(code summarization)技术通过自动化地生成代码摘要辅助开发者更好地理解程序代码,该技术在许多软件开发活动中都具有重要的应用价值.代码自动摘要同时结合了机器翻译和文本摘要2个任务,如何更好地对代码建模以及如何更好地筛选代码中的关键信息是代码摘要所面临的主要挑战.受人类写摘要时的习惯和相关研究的启发,提出了一种基于关键词的代码自动摘要方法(keyword-based source code summarization, KBCoS).该方法将函数签名和API(application programming interface)调用视为关键词,并利用关键词序列来优化解码器注意力机制中的权重分布,使模型在生成摘要时更集中地关注代码中的重要信息.此外,为克服代码符号词汇表过大的问题,提出了符号部分拆分算法,即当符号不在词表中时,依据常用命名规则将符号拆成子符号的序列.该算法简单有效,能很好地平衡代码符号序列长度和未登录词数目之间的矛盾.选用了带有注意力机制的序列到序列模型作为基准模型,并在公开的Java代码摘要数据集上进行了评估.实验表明,基于关键词的注意力机制和部分拆分算法在BLEU-4,METEOR,ROUGE-L这3个评测指标上均能提升基准模型的表现.同时,在另一个Python数据集上也取得了一致的实验结果.最后,将KBCoS与现有模型相结合,在Java数据集上取得了当前最好的结果,该结果表明KBCoS也能改进现有的其他模型.评测结果和注意力权重的热力图都表明了KBCoS的有效性.

关 键 词:代码自动摘要  未登录词  注意力机制  关键词  编码器-解码器  序列到序列

Keyword-Based Source Code Summarization
Zhang Shikun, Xie Rui, Ye Wei, Chen Long. Keyword-Based Source Code Summarization[J]. Journal of Computer Research and Development, 2020, 57(9): 1987-2000. DOI: 10.7544/issn1000-1239.2020.20190179
Authors:Zhang Shikun  Xie Rui  Ye Wei  Chen Long
Affiliation:1.1(National Engineering Research Center for Software Engineering, Peking University, Beijing 100871);2.2(School of Software and Microelectronics, Peking University, Beijing 100871)
Abstract:
Keywords:code summarization  out-of-vocabulary (OOV)  attention mechanism  keyword  encoder-decoder  sequence to sequence (Seq2Seq)
本文献已被 万方数据 等数据库收录!
点击此处可从《计算机研究与发展》浏览原始摘要信息
点击此处可从《计算机研究与发展》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号