[发明专利]基于Lucene的强化学习代码检索模型在审
申请号: | 202011384240.8 | 申请日: | 2020-12-01 |
公开(公告)号: | CN114579102A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 张卫丰;王国程;周国强 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F16/31;G06F16/33;G06F16/332;G06K9/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 lucene 强化 学习 代码 检索 模型 | ||
1.基于Lucene的强化学习代码检索模型:首先,分析代码文档并提取代码文档特征,使用Lucene为代码文档特征生成索引文件,对代码文档的文本、令牌、API等特征建立索引库;其次,通过比较当前查询和先前查询来获得查询重构,并根据代码文档特征和查询重构计算特征分数,从用户反馈中提取用户满意度;然后,采用MDP并根据查询公式和用户满意度计算特征权重;最后,通过其特征得分和特征权重的内积来计算与每个代码文档之间的相关性得分,返回结果。用户满意则流程结束,否则提取用户满意度,继续执行。
2.根据权利要求1所描述的基于Lucene的强化学习代码检索模型,其特征包括以下几个步骤:
1)分析代码文档并提取代码文档特征。
2)使用Lucene为代码文档特征生成索引文件。
3)通过比较当前查询和先前查询来获得查询重构。
4)相似度计算组件根据代码文档特征和查询重构计算特征分数,并从用户反馈中提取用户满意度。
5)采用MDP来根据查询公式和用户满意度计算特征权重。
6)通过其特征得分和特征权重的内积来计算与每个代码文档之间的相关性得分,返回结果。用户满意则流程结束,否则返回步骤4。
3.根据权利要求2所述的基于Lucene的强化学习代码检索模型,其特征是步骤1)中,分析代码文档提取了代码文档特征E。该特征分为三个部分:文本,令牌,API。其中:
·文本:通过删除标点符号和停用词,减小大小写和词干来预处理文本功能。
·令牌:令牌功能是通过删除Java关键字,根据驼峰大小写分割单词并减小大小写来提取的。
·API:使用与Deep API Learning中相同的步骤从每个Java方法中提取API功能,使用编译器将源文件解析为AST并遍历AST。
4.根据权利要求2所述的基于Lucene的强化学习代码检索模型,其特征是步骤2)中,使用Lucene为码文档特征生成索引文件。对代码文档的文本、令牌、API等特征使用词法分析和语法分析形成一系列词,经过索引创建形成词典和反向索引表,最终建立索引库。
5.根据权利要求2所述的基于Lucene的强化学习代码检索模型,其特征是步骤3)中,查询分析将生成查询重构G。查询重构是两个连续查询之间的句法编辑更改,令Qi为当前查询,令Qi-1为先前查询,G由Qsame,Qadded和Qremoved组成。其中:
·Qsame是包含在Qi和Qi-1中都包含的项的项集:Qsame=Qi∩Qi-1。
·Qadded是包括Qi中但不包含在Qi-1中的项的项集:Qadded=Qi-Qi∩Qi-1。
·Qremoved是包含在Qi中但不包含在Qi-1中的项的项集:Qremoved=Qi-1-Qi∩Qi-1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011384240.8/1.html,转载请声明来源钻瓜专利网。