[发明专利]代码文件查询方法和装置有效
| 申请号: | 201410042833.4 | 申请日: | 2014-01-29 |
| 公开(公告)号: | CN104809139B | 公开(公告)日: | 2019-03-19 |
| 发明(设计)人: | 刘博;邬亮 | 申请(专利权)人: | 日本电气株式会社 |
| 主分类号: | G06F16/38 | 分类号: | G06F16/38;G06F8/75 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张耀光 |
| 地址: | 日本国*** | 国省代码: | 日本;JP |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 代码 文件 查询 方法 装置 | ||
1.一种代码文件查询方法,其特征在于,所述方法包括:
计算转换矩阵包括的第一转换矩阵的转置矩阵与当前查询词向量的乘积,得到转换后的查询词向量,所述转换矩阵包括所述第一转换矩阵和第二转换矩阵;其中,所述转换矩阵用于对查询词向量以及代码特征向量进行转换,所述第一转换矩阵用于对查询词向量进行转换,所述第二转换矩阵用于对每个代码文件的代码特征向量进行转换,使得所述查询词向量与所述代码特征向量映射至同一语义空间;
将每个代码文件的代码特征向量组成代码特征矩阵,所述代码文件的代码特征向量根据代码文件中的代码块确定;
计算所述代码特征矩阵的转置矩阵与所述第二转换矩阵的乘积,得到转换后的代码特征矩阵;
提取所述转换后的代码特征矩阵的转置矩阵中的每个向量,作为对应代码文件的转换后的代码特征向量;
根据所述当前查询词向量、所述转换后的查询词向量、所述每个代码文件转换后的代码特征向量以及所述每个代码文件的文本特征向量,计算每个代码文件与查询词之间的相似度;
根据所述每个代码文件与所述查询词之间的相似度,得到代码文件查询结果。
2.根据权利要求1所述的方法,其特征在于,根据所述当前查询词向量、所述转换后的查询词向量、所述每个代码文件转换后的代码特征向量以及所述每个代码文件的文本特征向量,计算每个代码文件与查询词之间的相似度包括:
计算每个代码文件的文本特征向量与所述查询词向量之间的第一相似度;
计算每个代码文件转换后的代码特征向量与所述转换后的查询词向量之间的第二相似度;
对每个代码文件的第一相似度和第二相似度进行加权求和,得到每个代码文件与所述查询词之间的相似度。
3.根据权利要求1所述的方法,其特征在于,计算转换矩阵包括的第一转换矩阵的转置矩阵与当前查询词向量的乘积,得到转换后的查询词向量之前,所述方法还包括:
对于每个代码文件,根据所述代码文件的自然语言描述、注释和变量名称,获取所述代码文件的文本特征向量;
判断所述代码文件中是否包括出现次数大于预设阈值的代码块;
当所述代码文件中包括出现次数大于所述预设阈值的代码块时,提取所述出现次数大于所述预设阈值的代码块;
将提取到的不同代码块的出现次数组成所述代码文件的代码特征向量。
4.根据权利要求1所述的方法,其特征在于,计算转换矩阵包括的第一转换矩阵的转置矩阵与当前查询词向量的乘积,得到转换后的查询词向量之前,所述方法还包括:
获取历史查询过程中所应用的每个历史查询词向量,组成样本查询矩阵;
将代码库中每个代码文件的文本特征向量组成样本文本特征矩阵;
将代码块中每个代码文件的代码特征向量组成样本代码特征矩阵;
根据所述样本查询矩阵、所述样本文本特征矩阵和所述样本代码特征矩阵,确定以第一转换矩阵和第二转换矩阵为自变量的目标函数;
求解所述目标函数的最小值,获取所述目标函数为最小值时所对应的解。
5.根据权利要求4所述的方法,其特征在于,所述目标函数为:
其中,和为正则化参数,U为所述第一转换矩阵,V为所述第二转换矩阵,∈1(U,V)用于表示转换后同一代码文件或相似代码文件的文本特征向量与代码特征向量之间的距离,∈2(U,V)用于表示转换后相似代码文件的文本特征向量与代码特征向量之间的距离与不相似的代码文件的文本特征向量与代码特征向量之间的距离之差,g(U,V)用于表示转换后相似代码文件的文本特征向量之间的距离、代码特征向量之间的距离、文本特征向量与代码特征向量之间的距离、所述历史查询词向量与每个代码文件的文本特征向量之间的距离、所述历史查询词向量与每个代码文件的代码特征向量之间的距离以及相似历史查询词向量之间的距离之和,c(U,V)用于表示转换后任一字符段与包含所述字符段的代码文件的代码特征向量之间的距离,r(U,V)用于控制所述第一转换矩阵U和所述第二转换矩阵V的复杂程度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于日本电气株式会社,未经日本电气株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410042833.4/1.html,转载请声明来源钻瓜专利网。





