[发明专利]代码表示的生成方法和装置、存储介质及电子设备在审
申请号: | 202310949796.4 | 申请日: | 2023-07-31 |
公开(公告)号: | CN116661805A | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 石志林 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N3/0464;G06N3/088 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 江舟 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 表示 生成 方法 装置 存储 介质 电子设备 | ||
1.一种代码表示的生成方法,其特征在于,包括:
获取待生成向量表示的初始代码;
对所述初始代码执行代码解析操作,得到目标语法树,其中,所述目标语法树用于以树状的形式表示所述初始代码的语法结构;
使用预训练的目标编码器对所述目标语法树执行编码操作,得到目标代码表征向量,其中,所述目标代码表征向量用于以向量形式表示所述初始代码,所述目标编码器是利用一组样本语法树对初始编码器进行无监督训练得到的编码器,所述无监督训练的过程包括将目标样本语法树输入所述初始编码器,由所述初始编码器输出目标子树是否属于所述目标样本语法树的概率,并根据所述概率以及目标标签对所述初始编码器进行训练,所述一组样本语法树包括所述目标样本语法树,所述目标子树来自于对所述一组样本语法树进行识别所得到的一组子树,所述目标标签用于表示所述目标子树是否为所述目标样本语法树中识别到的子树。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取一组样本代码;
对所述一组样本代码分别执行所述代码解析操作,得到所述一组样本语法树;
对所述一组样本语法树分别执行自动识别操作,得到所述一组子树,并生成一组样本标签,其中,所述一组子树与所述一组样本标签一一对应,所述样本标签用于指示对应的子树所属的样本语法树;
利用所述初始编码器确定一组样本表征向量和一组子树表征向量,其中,所述一组样本表征向量与所述一组样本语法树一一对应,所述一组子树表征向量与所述一组子树一一对应;
根据所述一组样本表征向量和所述一组子树表征向量确定多组样本概率,其中,一组样本概率与一个所述样本表征向量对应;
根据所述一组样本标签和所述多组样本概率训练所述初始编码器,直到所述初始编码器对应的损失函数满足预设损失条件。
3.根据权利要求2所述的方法,其特征在于,所述利用所述初始编码器确定一组样本表征向量,包括:
通过如下方式确定所述一组样本表征向量,其中,每次确定的样本表征向量被视为目标样本表征向量,所述目标样本表征向量与所述目标样本语法树对应:
获取所述目标样本语法树包括的节点集合、节点特征集合以及边集合,其中,所述节点集合中的每个节点与所述节点特征集合中的部分节点特征对应,所述边集合中的一个边用于连接所述节点集合中的父节点和子节点,所述节点特征集合中的节点特征用于表示对应节点的代码信息;
使用层级树卷积神经网络对所述节点集合、所述节点特征集合以及所述边集合进行处理,确定所述节点集合中各个节点对应的节点表征向量;
基于注意力机制对所述各个节点对应的节点表征向量执行聚合操作,确定所述目标样本表征向量。
4.根据权利要求3所述的方法,其特征在于,所述使用层级树卷积神经网络对所述节点集合、所述节点特征集合以及所述边集合进行处理,确定所述节点集合中各个节点对应的节点表征向量,包括:
根据所述节点集合、所述节点特征集合以及所述边集合确定一组初始化节点表征向量;
使用层级树卷积神经网络对所述一组初始节点表征向量执行卷积操作,得到所述各个节点对应的所述节点表征向量,其中,每个所述初始节点表征向量执行所述卷积操作所使用的权重矩阵包括与父节点关联的第一权重矩阵、与左邻节点关联的第二权重矩阵以及与右邻节点关联的第三权重矩阵,所述第一权重矩阵、所述第二权重矩阵以及所述第三权重矩阵对应的权重与对应节点的节点深度和节点位置相关联。
5.根据权利要求3所述的方法,其特征在于,所述基于注意力机制对所述各个节点对应的节点表征向量执行聚合操作,确定所述目标样本表征向量,包括:
为所述各个节点对应的节点表征向量关联隐藏状态向量,得到一组节点状态向量;
根据所述一组节点状态向量与全局注意向量之间的归一化内积,确定所述各个节点对应的权重值;
利用相对应的所述权重值与所述节点表征向量进行加权线性组合,确定所述目标样本表征向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310949796.4/1.html,转载请声明来源钻瓜专利网。