首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种代码搜索方法、装置、电子设备及存储介质_四川大学_202410431330.X 

申请/专利权人:四川大学

申请日:2024-04-11

公开(公告)日:2024-06-21

公开(公告)号:CN118035424B

主分类号:G06F16/332

分类号:G06F16/332;G06F16/33;G06N3/0455;G06N3/084;G06N3/0895;G06N3/096

优先权:

专利状态码:有效-授权

法律状态:2024.06.21#授权;2024.05.31#实质审查的生效;2024.05.14#公开

摘要:本申请提供了一种代码搜索方法、装置、电子设备及存储介质,采用预训练编码器编码输入的代码与查询文本得到嵌入向量,由动量对比学习和跨模态匹配单元微调代码搜索任务;动量对比学习单元针对嵌入向量构造正样本与负样本,最大化正样本间相似度并最小化负样本间相似度;跨模态匹配单元以编码器输出的代码隐状态和查询隐状态为输入,判断是否在语义上匹配进行辅助学习;根据跨模态匹配与动量对比对应的损失函数确定目标损失函数训练代码搜索模型。在微调阶段改善负样本选择范围局限于单一批次的缺点,通过维护队列实现跨批次选择,学习更好的嵌入空间,跨模态匹配辅助任务通过交叉注意力融合代码和查询文本的信息,在嵌入层面弥补两者的语义差距。

主权项:1.一种代码搜索方法,其特征在于,应用于包括预训练编码器、动量对比学习单元以及跨模态匹配单元的代码搜索模型,所述方法包括:获取查询文本以及源代码,通过所述预训练编码器编码所述查询文本对应的文本嵌入向量和动量文本嵌入向量,以及所述源代码对应的代码嵌入向量和动量代码嵌入向量;采用所述动量对比学习单元,根据所述动量文本嵌入向量以及所述动量代码嵌入向量,分别构建所述代码嵌入向量与所述文本嵌入向量对应的正样本及负样本进行动量对比学习,在最大化正样本之间的相似度的同时,最小化负样本之间的相似度,并确定对应的动量对比损失函数;基于以下步骤构建正样本和负样本:根据所述动量文本嵌入向量,构建文本嵌入队列;在代码-查询文本对比学习中,针对每个所述代码嵌入向量,正样本为该代码嵌入向量在数据集当前批次中有配对关系的所述动量文本嵌入向量,负样本为无配对关系的动量文本嵌入向量和所述文本嵌入队列中的全部嵌入向量;根据所述动量代码嵌入向量,构建代码嵌入队列;在查询文本-代码对比学习中,针对每个所述文本嵌入向量,正样本为该文本嵌入向量在数据集当前批次中有配对关系的所述动量代码嵌入向量,负样本为无配对关系的动量代码嵌入向量和所述代码嵌入队列中的全部嵌入向量;将所述文本嵌入向量和所述代码嵌入向量输入至所述跨模态匹配单元,确定对应的融合嵌入表征,并根据所述融合嵌入表征确定所述跨模态匹配单元对应的跨模态匹配损失函数;根据所述跨模态匹配损失函数以及所述动量对比损失函数确定目标损失函数,根据所述目标损失函数训练所述代码搜索模型;将目标查询文本以及待搜索源代码输入至训练好的所述代码搜索模型,确定与所述目标查询文本匹配的目标源代码。

全文数据:

权利要求:

百度查询: 四川大学 一种代码搜索方法、装置、电子设备及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。