多模态代码表示及其与自然语言交互研究

来源 :浙江大学 | 被引量 : 0次 | 上传用户:schunter
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着现代计算机软件及开源社区的快速发展,软件维护与管理成为影响软件开发效率和质量的关键因素。如何从大量开源代码库中学习知识,从而提高软件开发效率和质量实现软件自动化,是当前软件工程领域的重要科学课题。目前巳有很多研究将自然语言处理技术应用到程序语言分析上并取得了一定效果,但依然面临一些困难和挑战:(1)现有方法虽然考虑了代码分词所产生的词素序列或抽象语法树等特征,但忽略了代码的控制流等图结构特征。(2)现有深度学习模型无法推断出代码不同部分对模型结果的贡献。(3)现有模型没有很好地处理代码的开放式词汇以及在代码摘要生成时候容易出现词汇外单词。
  针对以上所述困难和挑战,本文重点研究了代码表示学习、代码片段检索以及代码摘要生成等关键技术,提出了一系列自动化工具,旨在为软件开发者提供高性能自动化工具,提升软件开发效率和友好性。本文主要工作与贡献如下:
  1.针对传统方法在代码表示上只考虑了代码分词所产生的词素序列或代码抽象语法树进行表征,而忽略了代码的控制流图等图结构信息。本文调研了不同模态对代码表示的性能影响,同时提出一种多模态学习方法将代码所呈现的不同模态特征(包括代码的非结构化和结构化特征)融合到一个表示向量中,从而使得代码表示更加全面。通过在一个真实C语言数据上,设计代码片段检索和代码摘要生成等两个实际任务并展开充分的实验,结果验证了多模态表示学习在代码表示上性能有一定提升。
  2.针对传统代码片段检索方法无法体现各模态贡献度的不同,本文提出了一种基于注意力机制的多模态网络MMAN用于代码片段检索。通过在一个真实C语言数据上展开充分的实验,并和传统基线方法进行对比,结果验证了基于注意力机制的MMAN模型对代码片段检索性能有所提升,同时通过可视化不同模态所贡献的权重为MMAN提供了一个可解释性。
  3.针对传统代码摘要生成方法忽略控制流图、代码学习过程中噪声过多等问题,本文引入了一种别名感知的代码摘要生成范式,通过别名分析技术大幅度降低词汇量,并提出一种基于深度强化学习的复制一生成器网络MMRCN,实现了代码自动摘要生成, 实验结果验证了通过在一个真实C语言数据上展开充分的实验,并和传统基线方法进行对比,结果验证了MMRCN模型对代码摘要生成性能有所提升。
其他文献
目标检测是计算机视觉领域的一个研究热点和基本任务,它是图像识别技术和目标定位技术的结合。近来,在卷积神经网络的帮助下取得了巨大的进展,目标检测技术在不同的场景中已经日趋完善。智能监控、自动驾驶、公共安防等实际应用对目标检测技术提出了更大的需求。然而,在这些视频应用中,受目标形变、遮挡、模糊、光照等场景和自然因素的影响,现有的目标检测技术难以克服这些问题。因此,视频目标检测技术面临着更多的挑战。在视
学位
构件式的软件开发方法代表了面向对象软件开发技术的进一步发展。随着大型软件系统的日益复杂化,基于构件的软件开发方法在设计、开发、灵活度和可重用性方面提供了比面向对象技术更多的优势。在构件式软件系统中,构件之间相互调用集成,不同的构件在系统中发挥着不同的作用,其失效对系统造成的影响也是不同的。因此,在构件式软件系统的缺陷预测中应综合考虑不同构件对系统的影响程度及构件组成通路间缺陷的传播趋势,这样得出的
学位
传统的数据分析与数据挖掘的步骤一般包括,数据预处理、特征选择、模型选择、超参数调优、模型评估等。其中合理选择数据挖掘算法是数据挖掘的核心步骤,并且在构建模型的过程中,不同的数据挖掘算法具有不同类别的超参数,同种算法选择不同的超参数值,模型的性能也会有较大的差异,因此需要反复调优这些超参数,才能使模型达到最优性能。然而目前超参数调优这项工作比较依赖数据工程师和领域专家的专业知识和相关经验,计算和调试
学位
随着互联网软硬件技术的不断进步,各种电子商务平台蓬勃发展,网络购物成为人们生活中不可或缺的一部分,而网络服装购物成为其中最热门的一个应用,因此如何有效的对网络服装图像进行检索至关重要。针对这一问题,跨场景服装图像检索应运而生,通过输入服装图像快速而准确地检索出所需产品,大大提高了用户的网购体验。跨场景服装检索受到了越来越多专家学者的关注,但目前仍存在很多问题,主要面临的问题包括如下几个方面:1)日
学位
随着人工智能和网络购物的快速发展,越来越多的人喜爱线上购物,其中服装购买占据线上购物的很大部分。但是服装种类繁多,数量巨大,所以面对海量的服装图像数据,如何快速准确有效地搭配出用户所需要服装商品是一个亟待解决的问题。针对这一问题,服装搭配应运而生。服装搭配的目标是根据用户所选择的服装自动搭配出满足用户需求的服装。大部分现有的服装搭配系统依赖于用户的交互输入,然后提取服装的颜色、纹理、材料等特征进行
学位
计算机技术和互联网的迅速发展,使得多媒体作品的制作和传播变得越来越方便,但是这种便捷同时也带来了严重的版权问题,由此数字水印技术得到广泛应用。数字水印通过嵌入版权信息的方式来版权保护,因此其不可见性和鲁棒性之间的矛盾很难平衡。零水印不再向待保护图像中加入任何信息,而是通过注册零水印的方式来保护版权,成功解决了传统数字水印的矛盾。零水印一经提出,便引起了学术界的广泛关注,因此本文研究的是零水印技术。
学位
蜜罐技术作为一种主动防御方式可通过诱骗攻击者达到消耗攻击资源的目的,而蜜罐自身的虚假属性面临被攻击者识别的风险,从而绕开蜜罐陷阱转而攻击真实资源。本文课题提出了一种基于区块链技术的阵列蜜罐防御方案,构建由多种服务组成的真假切换蜜罐阵列,通过不断地变换服务真伪属性迷惑攻击者,为计算机网络安全领域提供防护方案。在表象上真实资源与虚假蜜罐已自成一体,即便攻击者觉察到蜜罐的存在,若其仍保持攻击动机,将无法
学位
在数据呈现爆炸式增长的背景下,如何从庞大的数据中提取知识显得至关重要。德国的Wille R.教授于1982年提出了形式概念分析理论,通过概念格这一可视化的层次结构表达二维表中对象与属性间的隶属关系,从而进行知识表示和数据挖掘。属性粒度的选择在概念格构造和知识发现的过程中具有重要作用。传统的概念格属性一般是固定的,结合粒计算理论,将属性作为粒计算的对象,对属性进行多粒度讨论,可以得到具有不同结构的概
学位
很多现实问题都可以建模成数学中的函数问题。为使利益最大化或成本最小化,求解函数极值问题就变得尤其重要。很多传统求解函数极值的方法都要受到函数可微、可导的条件限制,而群智能算法则突破了这些限制,在满足一定终止条件的情况下能够给出满意近似解。群体智能优化算法的思想来源于仿生动物学。人工蜂群算法是近年来提出的一种模拟蜜蜂采蜜过程的群体智能算法。粒子群优化算法是一种模拟鸟类觅食行为的群智能算法。人工蜂群算
学位
在高性能计算中,如何根据用户提交的任务需求,对处理核等资源进行合理的按需分配是计算机系统结构的重要研究内容。但目前,该领域还存在诸如调度目标动态性,任务约束多样化及任务对资源需求多样性等问题,这些问题已成为制约众核任务调度效率和系统效能的关键因素。因此,基于调度目标动态性、任务和资源需求多样性,有针对地提出可以支持高效的多目标优化调度算法和调度目标灵活插拔的众核任务调度体系,将有利于调度效率和系统
学位