[发明专利]一种代码分析的方法以及相关装置有效
申请号: | 201910747791.7 | 申请日: | 2019-08-13 |
公开(公告)号: | CN110427330B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 赵旸;刘思凡;邱旻峰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/33;G06N3/0442 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 聂秀娜 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 分析 方法 以及 相关 装置 | ||
1.一种代码分析的方法,其特征在于,包括:
获取待分析代码文本所对应的N个待分析词向量和错误代码文本所对应的错误词向量,所述错误代码文本表示与所述待分析代码文本进行匹配的代码文本,N为大于1的整数;
通过神经网络模型获取组合词向量所对应的N个输出向量,其中,所述组合词向量为根据所述待分析词向量和所述错误词向量生成的;
根据所述N个输出向量和所述错误词向量,计算所述N个输出向量中每个输出向量在待分析代码文本中起始概率,以及所述每个输出向量在所述待分析代码文本中终止概率;
根据所述每个输出向量在待分析代码文本中起始概率,以及所述每个输出向量在所述待分析代码文本中终止概率确定目标代码段;
根据所述目标代码段生成所述待分析代码文本的代码分析结果;
所述根据所述N个输出向量和所述错误词向量,计算所述N个输出向量中每个输出向量在待分析代码文本中起始概率,以及所述每个输出向量在所述待分析代码文本中终止概率,包括:
根据所述N个输出向量和所述错误词向量,计算所述N个输出向量中每个输出向量在待分析代码文本中起始概率;
根据所述N个输出向量和所述错误词向量,计算所述N个输出向量中每个输出向量在待分析代码文本中终止概率;
其中,所述根据所述N个输出向量和所述错误词向量,计算所述N个输出向量中每个输出向量在待分析代码文本中起始概率,包括:
根据第i个所述输出向量、设定的起始权重和所述错误词向量确定第i个所述输出向量对应的起始权重分数,所述i为大于或等于1,且小于或等于N的整数;
根据N个所述输出向量、设定的起始权重和所述错误词向量确定起始权重总分数;
根据第i个所述输出向量对应的起始权重分数和所述起始权重总分数确定所述起始概率;
其中,所述根据所述N个输出向量和所述错误词向量,计算所述N个输出向量中每个输出向量在待分析代码文本中终止概率,包括:
根据第j个所述输出向量、设定的终止权重和所述错误词向量确定第j个所述输出向量对应的终止权重分数;
根据N个所述输出向量、设定的终止权重和所述错误词向量确定终止权重总分数;
根据第j个所述输出向量对应的终止权重分数和所述终止权重总分数确定所述终止概率,所述j为大于或等于1,且小于或等于N的整数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个输出向量在待分析代码文本中起始概率,以及所述每个输出向量在所述待分析代码文本中终止概率确定目标代码段包括:
根据所述每个输出向量在待分析代码文本中起始概率确定所述目标代码段的起始位置;
根据所述每个输出向量在待分析代码文本中终止概率确定所述目标代码段的终止位置;
根据所述目标代码段的起始位置和所述目标代码段的终止位置确定所述目标代码段;
其中,所述根据所述每个输出向量在待分析代码文本中起始概率确定所述目标代码段的起始位置包括:
获取所述起始概率最高的所述输出向量;
根据所述起始概率最高的所述输出向量,通过所述输出向量与所述待分析代码文本的映射关系确定所述目标代码段的起始位置;
其中,所述根据所述每个输出向量在待分析代码文本中终止概率确定所述目标代码段的终止位置包括:
获取所述终止概率最高的所述输出向量;
根据所述终止概率最高的所述输出向量,通过所述输出向量与所述待分析代码文本的映射关系确定所述目标代码段的结束位置;
根据所述起始位置和所述结束位置确定所述目标代码段。
3.根据权利要求1所述的方法,其特征在于,所述通过神经网络模型获取组合词向量所对应的N个输出向量,其中,所述组合词向量为根据所述待分析词向量和所述错误词向量生成的包括:
根据所述待分析词向量以及所述错误词向量确定所述待分析词向量对应的组合词向量,所述组合词向量包括注意力机制向量和所述待分析词向量,所述注意力机制向量根据所述错误词向量与所述待分析词向量的注意力分数通过加权得到,所述注意力分数用于表示所述错误词向量与所述待分析词向量的相关程度;
通过所述神经网络模型获取所述组合词向量所对应的所述N个输出向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910747791.7/1.html,转载请声明来源钻瓜专利网。