融合图嵌入和注意力机制的代码搜索

本文提出了一种融合图嵌入和注意力机制的代码搜索算法GraphCS,旨在改善源代码检索任务中仅考虑文本信息而忽视代码结构信息的问题。GraphCS通过LSTM提取文本特征,使用Graph2Vec提取图结构特征,并结合注意力机制来分配特征权重,以增强对程序的理解。在特征融合阶段,将不同特征映射到同一向量空间,通过余弦相似度衡量代码片段与自然语言查询的相似性。实验结果表明,GraphCS在多个评估指标上优于现有算法CODEnn,提高了代码检索的准确性和效率。
摘要由CSDN通过智能技术生成

摘要

源代码检索任务是指将自然语言作为查询语句,从代码库中搜索相关代码片段。在代码检索任务中,大多数代码检索算法只考虑代码片段的文本序列信息而未考虑代码的结构信息,导致不能充分捕获代码片段包含的语义和语法信息。为了提高对程序语言的理解,提出了注意力机制和图嵌入相结合的代码检索算法(GraphCS)。在特征提取部分,以LSTM提取文本特征向量表示,以Graph2Vec提取图的向量特征表示。在特征融合部分中引入注意力机制,更好地为每一个特征分配相应的权重,从而提升程序的理解。考虑源代码和自然语言为异构数据,将代码片段特征和自然语言特征映射到同一个向量空间,以排名损失来保证语义相似的点在特征空间拥有较近的距离。为了验证算法的高效性,与目前最好的算法CODEnn进行对比。实验结果表明,在Precision@1/5/10、SuccessRate@1/5/10以及MRR上均有一定的提升。

关键词: 源代码检索; 注意力机制; 图嵌入; 自然语言; 语义相似; 向量空间

 

随着人们对软件的需求越来越多样化和复杂化,程序开发人员往往要实现很多复杂的功能来满足用户的要求。然而在程序的开发过程当中会发现许多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋罗世家技术屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值