共查询到20条相似文献,搜索用时 203 毫秒
1.
代码注释可以帮助开发人员理解代码的功能和实现方法。代码注释生成模型可以自动识别代码中的关键信息,并生成相关注释,提高代码的可读性和可维护性。现有的代码注释生成模型通常只使用抽象语法树结构信息来表示代码,导致模型生成注释质量不高。提出一种融合多结构信息的代码注释生成模型,该模型在代码抽象语法树的基础上,增加了数据流图结构信息来表示代码。模型使用Transformer的编码器对抽象语法树序列进行编码,捕获代码全局信息。使用图神经网络对数据流图进行特征提取,提供变量之间的计算依赖关系等信息。然后使用跨模态注意力机制融合抽象语法树和数据流2种特征,经过Transformer的解码器生成相应的注释。实验结果表明,与6种主流模型相比,所提出的模型在Java和Python数据集上的BLEU、METEOR和ROUGE-L指标得分均有提高,生成的注释也具有良好的可读性。 相似文献
2.
代码注释能够增强源代码的可读性、辅助软件开发过程,因此代码注释自动生成任务成为研究热点。然而现有工作大多只利用了源代码的序列信息或抽象语法树信息,未能充分捕捉代码语言特有的多种特征。为进一步利用源代码的多维度特征,提升注释生成的效果,构建基于多维度异质图结构的代码注释自动生成模型。利用异质图结构和图神经网络,将源代码的抽象语法树、控制流图、数据流图等进行融合并构建为具有多种节点和连边的异质表示图,以此表现代码的语义特征、序列特征、语法特征、结构特征等多维度特征。在真实数据集上的实验结果表明,该模型相较于Hybrid-DRL、NeuralCodeSum、SeqGNN等模型具有更好的效果,在BLEU-4、METEOR、ROUGE-L指标上分别最高提升1.6%、3.2%、3.1%,可获得更流畅、可读性更好的代码注释。 相似文献
3.
代码注释可以帮助开发人员快速理解代码,降低代码维护成本。为了保留代码的结构信息,针对经典的Seq2Seq模型将代码的结构信息压缩为序列,导致结构信息丢失的问题,提出使用Tree-LSTM编码器直接将代码转化成抽象语法树进行编码,使注释生成模型能有效获取代码的结构信息,提升注释生成效果。采用基于注意力机制的Tree2Seq模型实现代码注释生成任务,避免了编码器端将所有输入信息压缩为固定向量,导致部分信息丢失的情况。通过在Java和Python 2种编程语言的数据集上进行实验,使用3种机器翻译常用的自动评测指标进行评估验证,并选取一部分测试数据进行了人工评估。实验结果表明,基于注意力机制的Tree2Seq模型能为解码器提供更全面且丰富的语义结构信息,为后续实验分析和改进提供指导。 相似文献
4.
针对代码注释较少导致软件项目可维护性降低、理解代码语义困难等问题,提出一种基于NMT模型的双编码器框架自动生成代码注释的方法.在该框架中,首先提取不同的代码特征信息;然后分别采用序列编码器和图编码器对不同的代码特征编码,引入注意力机制调整编码器输出向量,再对双编码器的输出向量综合处理;最终利用解码器对综合向量解码获得注释序列.为了验证带有注意力机制的双编码器模型效果,本文构建自动生成代码注释算法框架.实验表明,双编码器模型与文中的序列编码器和树编码器模型算法相比,在生成代码注释方面的结果评估得分上表现较好.通过BLEU-1、ROUGE-L和F1测评指标得分对比,验证了本文算法的有效性. 相似文献
5.
针对目前方面级情感分析(ABSA)模型过多依赖关系较为稀疏的句法依赖树学习特征表示,导致模型学习局部信息能力不足的问题,提出了一种融合多窗口局部信息的ABSA模型MWGAT(combining Multi-Window local information and Graph ATtention network)。首先,通过多窗口局部特征学习机制学习局部上下文特征,并挖掘文本包含的潜在局部信息;其次,采用能够较好理解依赖树的图注意力网络(GAT)学习句法依赖树所表示的语法结构信息,并生成语法感知的上下文特征;最后,将这两种表示不同语义信息的特征融合,形成既包含句法依赖树的语法信息又包含局部信息的特征表示,从而便于分类器高效判别方面词的情感极性。在Restaurant、Laptop和Twitter这3个公开数据集上进行实验,结果表明与结合了句法依赖树的T-GCN(Type-aware Graph Convolutional Network)模型相比,所提模型的Macro-F1分数分别提高了2.48%、2.37%和0.32%。可见,所提模型能够有效挖掘潜在的局部信息,并更为精确地预测方面词的... 相似文献
6.
为了提高组合优化问题可行解集合的收敛性和泛化性,根据不同无监督学习策略的特点,提出一种基于数据关联感知的深度融合指针网络模型(DMAG-PN),模型通过指针网络框架将Mogrifier LSTM、多头注意力机制与图卷积神经网络三者融合.首先,编码器模块中的嵌入层对输入序列进行编码,引入多头注意力机制获取编码矩阵中的特征信息;然后构建数据关联模型探索序列节点间的关联性,采用图卷积神经网络获取其多维度关联特征信息并融合互补,旨在生成多个嵌入有效捕捉序列深层的节点特征和边缘特征;最后,基于多头注意力机制的解码器模块以节点嵌入数据和融合图嵌入数据作为输入,生成选择下一个未访问节点的全局概率分布.采用对称旅行商问题作为测试问题,与当前先进算法进行对比,实验结果表明,所提出DMAG-PN模型在泛化性和求解精确性方面获得较大的改进与提高,预训练好的DMAG-PN模型能够直接对大规模实例进行端到端的求解,避免传统算法迭代搜索的过程,具有较高的求解效率. 相似文献
7.
在软件开发过程中,性能良好的代码注释工具能够提高开发效率并降低维护成本。部分研究者将代码注释自动生成看作将源代码翻译成自然语言注释的翻译任务,但仅考虑源代码的序列信息而忽略了代码内部的结构特性。为此,在常见端到端翻译模型的基础上,利用代码抽象语法树将源代码的结构信息嵌入到编码器解码器翻译模型中,提出一种基于结构感知的双编码器解码器模型,该模型综合考虑源代码的序列信息与代码内部的结构特性。在真实数据集上的实验结果表明,相比PBMT、Seq2seq模型,该模型的BLEU得分较高,且生成的注释更准确和易读。 相似文献
8.
针对现有基于深度学习的图像修复算法在处理大面积不规则缺损图像时出现局部结构不连通与模糊的问题,提出一种基于边缘和注意力跨层转移的二阶生成式图像修复模型。该模型由边缘修复网络和图像修补网络构成,边缘修复网络在自编码器的基础上结合扩张卷积对缺损图像的边缘二值图进行修复,并将边缘修复图作为先验条件与缺损图像一起输入到图像修补网络,在图像修补网络中,给出注意力跨层转移网络对各尺度编码特征由深到浅进行重构,并将重构特征图跳跃连接至解码层与对应潜在特征融合进行解码,提高各级解码层输出的上下文一致性,减少结构信息和语义特征丢失,最终得到修复图像。在Celeba、Facade、Places2这3个数据集上的实验结果表明,与当前主流算法相比,该方法平均L1损失降低了1.044%~3.801%,峰值信噪比和结构相似性分别提升了1.435~4.486 dB和1.789%~8.755%,不仅能够生成整体语义合理的内容,而且在局部结构连通性和纹理合成方面更符合人眼视觉感受。 相似文献
9.
代码注释有助于提高程序的可读性和可理解性,而不断地创建和更新注释非常费时费力,这将影响对软件的理解、重用和维护.自动代码注释试图解决此类问题,其中代码的表示和文本生成是研究的核心问题.该文提出一种基于编码器-解码器结构的自动生成Java代码注释模型.方法将代码的顺序序列和代码结构作为单独的输入进行处理,允许模型学习Java方法的结构和语义;以一定的概率从模型生成的预测序列和真实词序列中采样作为下一步的输入,以提高模型的纠错恢复能力.通过与3种典型自动代码注释方法在11个Java项目上的对比实验,结果表明,提出的模型在BLEU得分上提升了16.1%,有助于提高自动代码注释的性能. 相似文献
10.
命名实体识别指识别文本中具有特定意义的实体,是自然语言处理诸多下游任务的重要基石。在命名实体识别任务中,协同图网络(CGN)模型通过引入多个图注意力网络获得较强的知识整合能力及较高的处理速度,但CGN模型在嵌入层中没有充分利用词边界信息,且采用的传统静态图注意力网络影响了图注意力的表达能力。在对CGN模型的图注意力网络进行改进的基础上,提出一种中文命名实体识别新模型,在嵌入层融入词语的分词信息,以生成包含词边界信息的字向量,从而充分利用词边界信息。通过在编码层使用BiLSTM模型获取文本的上下文信息,采用改进后的图注意力网络提取文本特征,并通过优化传统图注意力网络中相关系数的计算方式,增强模型的特征提取能力。最后,利用条件随机场对文本进行解码,从而实现对实体的标注。实验结果表明,该模型相比CGN模型在MSRA、OntoNotes4.0、Weibo数据集上的F1值分别提升了0.67%、3.16%、0.16%,验证了其在中文命名实体识别任务上的有效性。 相似文献
11.
由目标检测算法提取的目标特征在图像描述生成任务中发挥重要作用,但仅使用对图像进行目标检测的特征作为图像描述任务的输入会导致除关键目标信息以外的其余信息获取缺失,且生成的文本描述对图像内目标之间的关系缺乏准确表达。针对上述不足,提出用于编码图像内目标特征的目标Transformer编码器,以及用于编码图像内关系特征的转换窗口Transformer编码器,从不同角度对图像内不同方面的信息进行联合编码。通过拼接方法将目标Transformer编码的目标特征与转换窗口Transformer编码的关系特征相融合,达到图像内部关系特征和局部目标特征融合的目的,最终使用Transformer解码器将融合后的编码特征解码生成对应的图像描述。在MS-COCO数据集上进行实验,结果表明,所构建模型性能明显优于基线模型,BLEU-4、METEOR、ROUGE-L、CIDEr指标分别达到38.6%、28.7%、58.2%和127.4%,优于传统图像描述网络模型,能够生成更详细准确的图像描述。 相似文献
12.
现有代码注释生成方法的复制机制未考虑源代码复杂多变的语法结构,导致存在准确率和鲁棒性不高等问题.通过改进指针网络使其支持结构化数据输入,提出一种语法辅助复制机制,以用于代码注释自动生成.该机制包含节点筛选策略和去冗余生成策略2个部分.节点筛选策略基于语法信息引入掩盖变量以过滤无效节点,从而降低指针网络对复杂语法的学习成... 相似文献
13.
针对基于Transformer框架的图像标注任务中提取视觉特征容易引入噪声问题且为了进一步提高视觉的上下文信息,提出了一种基于综合几何关系稀疏自注意力机制的图像标注方法。首先通过结合图像区域的绝对位置、相对位置和空间包含关系提取详细全面的视觉表示,获取图像中潜在的上下文信息;其次提出了注意力层权重矩阵的稀疏化方法,该方法解决了Transformer忽略图像区域的局部性并引入噪声信息的问题;最后,采用了强化学习方法作为指导策略,实现模型在句子级别优化目标序列。通过在MS-COCO数据集上进行的对比实验结果表明,提出的方法在BLEU1、BLEU4、METEOR、ROUGE-L、CIDEr和SPICE指标上分别比基线模型提升了0.2、0.7、0.1、0.3、1.2和0.4,有效提升了图像自动标注的性能。 相似文献
14.
图像描述任务是图像理解的一个重要分支,它不仅要求能够正确识别图像的内容,还要求能够生成在语法和语义上正确的句子。传统的基于编码器-解码器的模型不能充分利用图像特征并且解码方式单一。针对这些问题,提出一种基于注意力机制的多层次编码和解码的图像描述模型。首先使用Faster R-CNN(Faster Region-based Convolutional Neural Network)提取图像特征,然后采用Transformer提取图像的3种高层次特征,并利用金字塔型的融合方式对特征进行有效融合,最后构建3个长短期记忆(LSTM)网络对不同层次特征进行层次化解码。在解码部分,利用软注意力机制使得模型能够关注当前步骤所需要的重要信息。在MSCOCO大型数据集上进行实验,利用多种指标(BLEU、METEOR、ROUGE-L、CIDEr)对模型进行评价,该模型在指标BLEU-4、METEOR和CIDEr上相较于Recall(Recall what you see)模型分别提升了2.5个百分点、2.6个百分点和8.8个百分点;相较于HAF(Hierarchical Attention-based Fusion)模型分别提升了1.2个百分点、0.5个百分点和3.5个百分点。此外,通过可视化生成的描述语句可以看出,所提出模型所生成的描述语句能够准确反映图像内容。 相似文献
15.
针对传统的图像描述模型不能充分利用图像信息且融合特征方式单一的问题,提出了一种融合自适应常识门(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模型,能够对图像内容进行准确的描述。 相似文献
16.
代码摘要(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的有效性. 相似文献
17.
针对传统的神经网络模型不能较好地反映科技论文内不同章节之间的宏观篇章结构信息,从而容易导致生成的科技论文摘要结构不完整、内容不连贯的问题,提出了一种基于宏观篇章结构的科技论文摘要模型。首先,搭建了一种基于宏观篇章结构的层级编码器,并利用图卷积神经网络对章节间的宏观篇章结构信息进行编码,从而构建章节层级语义表示;然后,提出了一个信息融合模块,旨在将宏观篇章结构信息和单词层级信息进行有效融合,从而辅助解码器生成摘要;最后,利用注意力机制优化单元对上下文向量进行更新优化操作。实验结果表明,所提出的模型比基准模型分别在ROUGE-1、ROUGE-2以及ROUGE-L上分别高出3.53个百分点、1.15个百分点和4.29个百分点,并且通过对生成的摘要内容进行分析对比,可进一步证明该模型可有效提高生成摘要的质量。 相似文献
18.
图像描述是将图像所包含的全局信息用语句来表示。它要求图像描述生成模型既能提取出图像信息,又能将提取出来的图像信息用语句表达出来。传统的模型是基于卷积神经网络(CNN)和循环神经网络(RNN)搭建的,在一定程度上可以实现图像转语句的功能,但该模型在提取图像关键信息时精度不高且训练速度缓慢。针对这一问题,提出了一种基于CNN和长短期记忆(LSTM)网络改进的注意力机制图像描述生成模型。采用VGG19和ResNet101作为特征提取网络,在注意力机制中引入分组卷积替代传统的全连接操作,从而提高评价值指标。使用了公共数据集Flickr8K、Flickr30K对该模型进行训练,采用多种评价指标(BLEU、ROUGE_L、CIDEr、METEOR)对模型进行验证。实验结果表明,与引入传统的注意力机制模型相比,提出的改进注意力机制图像描述生成模型对图像描述任务的准确性有所提升,并且该模型在5种评价指标上均优于传统的模型。 相似文献
19.
Text generation from abstract meaning representation is a fundamental task in natural language generation. An interesting challenge is that distant context could influence the surface realization for each node. In the previous encoder-decoder based approaches, graph neural networks have been commonly used to encode abstract meaning representation graphs and exhibited superior performance over the sequence and tree encoders. However, most of them cannot stack numerous layers, thus being too shallow to capture distant context. In this paper, we propose solutions from three aspects. Firstly, we introduce a Transformer based graph encoder to embed abstract meaning representation graphs. This encoder can stack more layers to encode larger context, while without performance degrading. Secondly, we expand the receptive field of each node, i.e. building direct connections between node pairs, to capture the information of its distant neighbors. We also exploit relative position embedding to make the model aware of the original hierarchy of graphs. Thirdly, we encode the linearized version of abstract meaning representation with the pre-trained language model to get the sequence encoding and incorporate it into graph encoding to enrich features. We conduct experiments on LDC2015E86 and LDC2017T10. Experimental results demonstrate that our method outperforms previous strong baselines. Especially, we investigate the performance of our model on large graphs, finding a larger performance gain. Our best model achieves 31.99 of BLEU and 37.02 of METEOR on LDC2015E86, 34.21 of BLEU, and 39.26 of METEOR on LDC2017T10, which are new states of the art. 相似文献
20.
针对神经机器翻译中资源稀缺的问题,提出了一种基于双向依存自注意力机制(Bi-Dependency)的依存句法知识融合方法。首先,利用外部解析器对源句子解析得到依存解析数据;然后,将依存解析数据转化为父词位置向量和子词权重矩阵;最后,将依存知识融合到Transformer编码器的多头注意力机制上。利用Bi-Dependency,翻译模型可以同时对父词到子词、子词到父词两个方向的依存信息进行关注。双向翻译的实验结果表明,与Transformer模型相比,在富资源情况下,所提方法在汉-泰翻译上的BLEU值分别提升了1.07和0.86,在汉-英翻译上的BLEU值分别提升了0.79和0.68;在低资源情况下,所提方法在汉-泰翻译上的BLEU值分别提升了0.51和1.06,在汉-英翻译上的BLEU值分别提升了1.04和0.40。可见Bi-Dependency为模型提供了更丰富的依存信息,能够有效提升翻译性能。 相似文献
|