首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 265 毫秒
1.
代码注释可以帮助开发人员理解代码的功能和实现方法。代码注释生成模型可以自动识别代码中的关键信息,并生成相关注释,提高代码的可读性和可维护性。现有的代码注释生成模型通常只使用抽象语法树结构信息来表示代码,导致模型生成注释质量不高。提出一种融合多结构信息的代码注释生成模型,该模型在代码抽象语法树的基础上,增加了数据流图结构信息来表示代码。模型使用Transformer的编码器对抽象语法树序列进行编码,捕获代码全局信息。使用图神经网络对数据流图进行特征提取,提供变量之间的计算依赖关系等信息。然后使用跨模态注意力机制融合抽象语法树和数据流2种特征,经过Transformer的解码器生成相应的注释。实验结果表明,与6种主流模型相比,所提出的模型在Java和Python数据集上的BLEU、METEOR和ROUGE-L指标得分均有提高,生成的注释也具有良好的可读性。  相似文献   

2.
源代码注释生成旨在为源代码生成精确的自然语言注释,帮助开发者更好地理解和维护源代码.传统的研究方法利用信息检索技术来生成源代码摘要,从初始源代码选择相应的词或者改写相似代码段的摘要;最近的研究采用机器翻译的方法,选择编码器-解码器的神经网络模型生成代码段的摘要.现有的注释生成方法主要存在两个问题:一方面,基于神经网络的方法对于代码段中出现的高频词更加友好,但是往往会弱化低频词的处理;另一方面,编程语言是高度结构化的,所以不能简单地将源代码作为序列化文本处理,容易造成上下文结构信息丢失.因此,本文为了解决低频词问题提出了基于检索的神经机器翻译方法,使用训练集中检索到的相似代码段来增强神经网络模型;为了学习代码段的结构化语义信息,本文提出结构化引导的Transformer,该模型通过注意力机制将代码结构信息进行编码.经过实验,结果证明该模型在低频词和结构化语义的处理上对比当下前沿的代码注释生成的深度学习模型具有显著的优势.  相似文献   

3.
代码注释可以帮助开发人员快速理解代码,降低代码维护成本。为了保留代码的结构信息,针对经典的Seq2Seq模型将代码的结构信息压缩为序列,导致结构信息丢失的问题,提出使用Tree-LSTM编码器直接将代码转化成抽象语法树进行编码,使注释生成模型能有效获取代码的结构信息,提升注释生成效果。采用基于注意力机制的Tree2Seq模型实现代码注释生成任务,避免了编码器端将所有输入信息压缩为固定向量,导致部分信息丢失的情况。通过在Java和Python 2种编程语言的数据集上进行实验,使用3种机器翻译常用的自动评测指标进行评估验证,并选取一部分测试数据进行了人工评估。实验结果表明,基于注意力机制的Tree2Seq模型能为解码器提供更全面且丰富的语义结构信息,为后续实验分析和改进提供指导。  相似文献   

4.
牛长安  葛季栋  唐泽  李传艺  周宇  骆斌 《软件学报》2021,32(7):2142-2165
代码注释在软件质量保障中发挥着重要的作用,其可以提升代码的可读性,使代码更易理解、重用和维护.但出于各种各样的原因,有时开发者并没有添加必要的注释,使得在软件维护的过程中,往往需要花费大量的时间来理解代码,大大降低了软件维护的效率.近年来,多项工作利用机器学习技术自动生成代码注释,这些方法从代码中提取出语义和结构化信息后,输入序列到序列的神经网络模型生成相应的注释,均取得了不错的效果.然而,当前最好的代码注释生成模型Hybrid-DeepCom仍然存在两方面的不足.一是其在预处理时可能破坏代码结构导致不同实例的输入信息不一致,使得模型学习效果欠佳;二是由于序列到序列模型的限制,其无法在注释中生成词库之外的单词(Out-Of-Vocabulary word,OOV word).例如在源代码中出现次数极少的变量名、方法名等标识符通常都为OOV词,缺少了他们,注释将难以理解.为解决上述问题,本文提出了一种新的代码注释生成模型CodePtr.一方面,通过添加完整的源代码编码器解决代码结构被破坏的问题;另一方面,引入指针生成网络(Pointer-Generator Network)模块,在解码的每一步实现生成词和复制词两种模式的自动切换,特别是遇到在输入中出现次数极少的标识符时模型可以直接将其复制到输出中,以此解决无法生成OOV词的问题.最后,本文在大型数据集上通过实验对比了CodePtr和Hybrid-DeepCom模型,结果表明,当词库大小为30,000时CodePtr的各项翻译效果指标平均提升6%,同时处理OOV词的效果提升近50%,充分说明了CodePtr模型的有效性.  相似文献   

5.
针对代码注释较少导致软件项目可维护性降低、理解代码语义困难等问题,提出一种基于NMT模型的双编码器框架自动生成代码注释的方法.在该框架中,首先提取不同的代码特征信息;然后分别采用序列编码器和图编码器对不同的代码特征编码,引入注意力机制调整编码器输出向量,再对双编码器的输出向量综合处理;最终利用解码器对综合向量解码获得注释序列.为了验证带有注意力机制的双编码器模型效果,本文构建自动生成代码注释算法框架.实验表明,双编码器模型与文中的序列编码器和树编码器模型算法相比,在生成代码注释方面的结果评估得分上表现较好.通过BLEU-1、ROUGE-L和F1测评指标得分对比,验证了本文算法的有效性.  相似文献   

6.
代码注释能够提高程序代码的可读性,从而提升软件开发效率并降低成本。现有的代码注释生成方法将程序代码的序列表示或者抽象语法树表示输入到不同结构的编码器网络,无法融合程序代码不同抽象形式的结构特性,导致生成的注释可读性较差。构建一种结构感知的混合编码模型,同时考虑程序代码的序列表示和结构表示,通过序列编码层和图编码层分别捕获程序代码的序列信息和语法结构信息,并利用聚合编码过程将两类信息融合至解码器。设计一种结构感知的图注意力网络,通过将程序代码的语法结构的层次和类型信息嵌入图注意力网络的学习参数,有效提升了混合编码模型对程序代码的复杂语法结构的学习能力。实验结果表明,与SiT基准模型相比,混合编码模型在Python和Java数据集上的BLEU、ROUGE-L、METEOR得分分别提高了2.68%、1.47%、3.82%和2.51%、2.24%、3.55%,能生成更准确的代码注释。  相似文献   

7.
基于卷积神经网络的代码注释自动生成方法   总被引:1,自引:0,他引:1  
彭斌  李征  刘勇  吴永豪 《计算机科学》2021,48(12):117-124
自动化代码注释生成技术通过分析源代码的语义信息生成对应的自然语言描述文本,可以帮助开发人员更好地理解程序,降低软件维护的时间成本.大部分已有技术是基于递归神经网络(Recurrent Neural Network,RNN)的编码器和解码器神经网络实现的,但这种方法存在长期依赖问题,即在分析距离较远的代码块时,生成的注释信息的准确性不高.为此,文中提出了一种基于卷积神经网络(Convolutional Neural Network,CNN)的自动化代码注释生成方法来缓解长期依赖问题,以生成更准确的注释信息.具体而言,通过构造基于源代码的CNN和基于AST的CNN来捕获源代码的语义信息.实验结果表明,与DeepCom和Hybrid-DeepCom这两种最新的方法相比,在常用的BLEU和METEOR两种评测指标下,所提方法能更好地生成代码注释,且执行时间更短.  相似文献   

8.
代码注释能够增强源代码的可读性、辅助软件开发过程,因此代码注释自动生成任务成为研究热点。然而现有工作大多只利用了源代码的序列信息或抽象语法树信息,未能充分捕捉代码语言特有的多种特征。为进一步利用源代码的多维度特征,提升注释生成的效果,构建基于多维度异质图结构的代码注释自动生成模型。利用异质图结构和图神经网络,将源代码的抽象语法树、控制流图、数据流图等进行融合并构建为具有多种节点和连边的异质表示图,以此表现代码的语义特征、序列特征、语法特征、结构特征等多维度特征。在真实数据集上的实验结果表明,该模型相较于Hybrid-DRL、NeuralCodeSum、SeqGNN等模型具有更好的效果,在BLEU-4、METEOR、ROUGE-L指标上分别最高提升1.6%、3.2%、3.1%,可获得更流畅、可读性更好的代码注释。  相似文献   

9.
为提升维汉机器翻译模型的翻译能力,该文提出使用多编码器多解码器的结构,搭建大规模的维汉神经网络机器翻译模型。相比于单编码器单解码器的浅层的小模型,多编码器多解码器模型具有多个编码器,可以对源语言进行多层次、多视角的压缩表示;同时具有多个解码器,可以增强目标语言的生成能力。实验证明,在大规模的训练数据上,使用该方法搭建的大规模维汉神经网络机器翻译模型,译文质量可以大幅度地超过基于短语的统计机器翻译模型和基本的神经网络翻译模型。该文还针对维汉翻译源端语言和目标端语言的翻译单元粒度进行了实验,发现维吾尔语端使用字节对编码单元、汉语端使用字单元,可以消除对汉语分词器的依赖,做到和双端都使用字节对编码单元可比的效果。  相似文献   

10.
图像标题生成是指通过计算机将图像翻译成描述该图像的标题语句。针对现有图像标题生成任务中,未充分利用图像的局部和全局特征以及时间复杂度较高的问题,本文提出一种基于卷积神经网络(Convolution Neural Networks,CNN)和Transformer的混合结构图像标题生成模型。考虑卷积网络所具有的空间和通道特性,首先将轻量化高精度的注意力ECA与卷积网络CNN进行融合构成注意力残差块,用于从输入图像中提取视觉特征;然后将特征输入到序列模型Transformer中,在编码器端借助自注意学习来获得所参与的视觉表示,在语言解码器中捕获标题中的细粒度信息以及学习标题序列间的相互作用,进而结合视觉特征逐步得到图像所对应的标题描述。将模型在MSCOCO数据集上进行实验,BLEU-1、BLEU-3、BLEU-4、Meteor和CIDEr指标分别提高了0.3、0.5、0.7、0.4、1.6个百分点。  相似文献   

11.
张文  冯洋  刘群 《中文信息学报》2018,32(10):36-44
基于注意力机制的神经网络机器翻译模型已经成为目前主流的翻译模型,在许多翻译方向上均超过了统计机器翻译模型,尤其是在训练语料规模比较大的情况下,优势更加明显。该模型使用编码器—解码器框架,将翻译任务建模成序列到序列的问题。然而,在基于门控循环单元(gated recurrent unit, GRU)的编码器—解码器模型中,随着模型层数的增加,梯度消失的问题使模型难以收敛并且严重退化,进而使翻译性能下降。该文使用了一种简单循环单元(simple recurrent unit, SRU)代替GRU单元,通过堆叠网络层数加深编码器和解码器的结构,提高了神经网络机器翻译模型的性能。我们在德语—英语和维语—汉语翻译任务上进行了实验,实验结果表明,在神经网络机器翻译模型中使用SRU单元,可以有效地解决梯度消失带来的模型难以训练的问题;通过加深模型能够显著地提升系统的翻译性能,同时保证训练速度基本不变。此外,我们还与基于残差连接(residual connections)的神经网络机器翻译模型进行了实验对比,实验结果表明,我们的模型有显著性优势。  相似文献   

12.
Capturing the underlying semantic relationships of sentences is helpful for machine translation. Variational neural machine translation approaches provide an effective way to model the uncertain underlying semantics in languages by introducing latent variables. Multitask learning is applied in multimodal machine translation to integrate multimodal data. However, these approaches usually lack a strong interpretation in utilizing out-of-text information in machine translation tasks. In this paper, we propose a novel architecture-free multimodal translation model, called variational multimodal machine translation (VMMT), under the variational framework which can model the uncertainty in languages caused by ambiguity through utilizing visual and textual information. In addition, the proposed model can eliminate the discrepancy between training and prediction in the existing variational translation models by constructing encoders only relying on source data. More importantly, the proposed multimodal translation model is designed as multitask learning in which the shared semantic representation for different modes is learned and the gap among semantic representation from various modes is reduced by incorporating additional constraints. Moreover, the information bottleneck theory is adopted in our variational encoder–decoder model, which helps the encoder to filter redundancy and the decoder to concentrate on useful information. Experiments on multimodal machine translation demonstrate that the proposed model is competitive.  相似文献   

13.
结合注意力机制的编解码框架模型已经被广泛地应用在图像描述任务中。大多数方法都强制对生成的每个单词进行主动的视觉注意,然而,解码器很可能不需要关注图像中的任何视觉信息就生成非视觉单词,比如“the”和“of”。本文提出一种自适应注意力模型,编码端采用Faster R-CNN网络提取图像中的显著特征,解码端LSTM网络中引入一个视觉监督信号。在每个时间步长,它可以自动地决定何时依赖于视觉信号,何时仅依赖于语言模型。最后在Flickr30K和MS-COCO数据集进行验证,实验结果表明该模型有效地提升了描述语句的质量。  相似文献   

14.
赵宏  孔东一 《计算机应用》2021,41(9):2496-2503
针对现有基于注意力机制的图像内容中文描述模型无法在关注信息不减弱和无缺失的条件下对重点内容进行注意力加强关注的问题,提出一种图像特征注意力与自适应注意力融合的图像内容中文描述模型。模型使用编解码结构,首先在编码器网络中提取图像特征,并通过图像特征注意力提取图像全部特征区域的注意力信息;然后使用解码器网络将带有注意力权重的图像特征解码生成隐藏信息,以保证关注信息不减弱、无缺失;最后利用自适应注意力的视觉哨兵模块对图像特征中的重点内容进行再次加强关注,从而更加精准地提取图像的主体内容。使用多种评价指标(BLEU、METEOR、ROUGEL和CIDEr)进行模型验证,将所提模型与单一基于自适应注意力和基于图像特征注意力的图像描述模型进行对比实验,该模型的CIDEr评价指标值分别提高了10.1%和7.8%;同时与基线模型NIC(Neural Image Caption )以及基于自底向上和自顶向下(BUTD)注意力的图像描述模型相比,该模型的CIDEr评价指标值分别提高了10.9%和12.1%。实验结果表明,所提模型的图像理解能力得到了有效提升,其各项评价指标得分均优于对比模型。  相似文献   

15.
汉越神经机器翻译是典型的低资源翻译任务,由于缺少大规模的平行语料,可能导致模型对双语句法差异学习不充分,翻译效果不佳。句法的依存关系对译文生成有一定的指导和约束作用,因此,该文提出一种基于依存图网络的汉越神经机器翻译方法。该方法利用依存句法关系构建依存图网络并融入神经机器翻译模型中,在Transformer模型框架下,引入一个图编码器,对源语言的依存结构图进行向量化编码,利用多头注意力机制,将向量化的依存图结构编码融入到序列编码中,在解码时利用该结构编码和序列编码一起指导模型解码生成译文。实验结果表明,在汉越翻译任务中,融入依存句法图可以提升翻译模型的性能。  相似文献   

16.
杨有  陈立志  方小龙  潘龙越 《计算机应用》2022,42(12):3900-3905
针对传统的图像描述模型不能充分利用图像信息且融合特征方式单一的问题,提出了一种融合自适应常识门(ACG)的图像描述生成模型。首先,使用基于视觉常识区域的卷积神经网络(VC R-CNN)提取视觉常识特征,并将常识特征分层输入到Transformer编码器中;然后,在编码器的每一分层中设计了ACG,从而对视觉常识特征和编码特征进行自适应融合操作;最后,将融合常识信息的编码特征送入Transformer解码器中完成训练。使用MSCOCO数据集进行训练和测试,结果表明所提模型在评价指标BLEU-4、CIDEr和SPICE上分别达到了39.2、129.6和22.7,相较于词性堆叠交叉注意网络(POS-SCAN)模型分别提升了3.2%、2.9%和2.3%。所提模型的效果明显优于使用单一显著区域特征的Transformer模型,能够对图像内容进行准确的描述。  相似文献   

17.
针对神经机器翻译和人工翻译性能的差异最小化、训练语料不足问题, 提出了一种基于生成对抗网络的神经机器翻译改进方法.首先对目标端句子序列添加微小的噪声干扰, 通过编码器还原原始句子形成新的序列; 其次将编码器的处理结果交给判别器和解码器进一步处理, 在训练过程中, 判别器和双语评估基础值(BLEU)目标函数用于评估生成的句子, 并将结果反馈给生成器, 引导生成器学习及优化.实验结果表明, 对比传统的神经机器翻译模型, 基于GAN模型的方法极大地提高了模型的泛化能力和翻译的精度.  相似文献   

18.
针对人群计数方法中存在的尺度变化和多层级特征融合不佳的问题,基于U-Net的编码器-解码器网络结构,提出一种自适应特征融合网络,来进行精准的人群计数。提出自适应特征融合模块,根据解码器分支的需要,高效地聚合编码器分支提取的高层语义信息和底层的边缘信息;提出自适应上下文信息提取器,从不同感受野下提取多尺度的上下文信息并自适应加权融合,提高网络对于人头尺度变化的鲁棒性。在ShanghaiTech、UCF-CC-50和UCG-QNRF上的实验表明,与目前主流的人群计数算法相比,该算法具有更强的准确性和鲁棒性。  相似文献   

19.
针对拍摄场景中物体运动不一致所带来的非均匀模糊,为提高复杂运动场景中去模糊的效果,提出一种多尺度编解码深度卷积网络。该网络采用"从粗到细"的多尺度级联结构,在模糊核未知条件下,实现盲去模糊;其中,在该网络的编解码模块中,提出一种快速多尺度残差块,使用两个感受野不同的分支增强网络对多尺度特征的适应能力;此外,在编解码之间增加跳跃连接,丰富解码端信息。与2018年国际计算机视觉与模式识别会议(CVPR)上提出的多尺度循环网络相比,峰值信噪比(PSNR)高出0.06 dB;与2017年CVPR上提出的深度多尺度卷积网络相比,峰值信噪比和平均结构相似性(MSSIM)分别提高了1.4%和3.2%。实验结果表明,该网络能快速去除图像模糊,恢复出图像原有的边缘结构和纹理细节。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

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

京公网安备 11010802026262号