【技术实现步骤摘要】
一种结合用户反馈信息的API推荐方法及终端
本专利技术属于代码推荐
,具体涉及一种结合用户反馈信息的API推荐方法及终端。
技术介绍
应用程序编程接口(API)在编程中扮演着重要的角色。在API的帮助下,开发人员可以更有效地执行编程任务。但是,由于库中有大量API,开发人员很难熟悉所有,并为特定的开发任务选择正确的API。因此,我们展开相关的研究工作,主要致力于为用户查询提供最相关的API来处理编程任务。现有与代码推荐相关的研究工作大多数都是基于文本相似度来对用户查询语句进行推荐,有的利用了查询语句与源代码上下文信息的关联程度,有的利用了查询语句与API相关信息的相似度。这些研究均着重使用与API相关的文本信息,且利用相似度来对结果进行排序并推荐。这些API推荐任务利用查询语句关键字在海量信息中缩小搜索范围,提高推荐效率。然而,在许多情况下,由于文本的差异,正确的API信息与查询并不相似。比如下述查询语句:Makeanegativenumberpositive,该查询语句可用java.lang.Math.abs ...
【技术保护点】
1.一种结合用户反馈信息的API推荐方法,其特征在于,包括步骤如下:/n(1)输入用户查询语句,对该查询语句进行API推荐,得到关于查询的API推荐结果列表;/n(2)对反馈列表中的反馈信息和API推荐结果列表中的API进行特征提取:遍历反馈列表,若反馈列表中存在与查询语句相似的反馈语句,并且可用于正确处理该反馈语句的对应的API也出现在API推荐结果列表中,则将该反馈语句作为该推荐API的反馈信息,并与API推荐结果列表中的对应API的描述信息一起进行特征提取;/n(3)根据排序学习和主动学习方法对API推荐结果列表进行重新排序,并向用户呈现重新排序后的API推荐结果列表 ...
【技术特征摘要】
1.一种结合用户反馈信息的API推荐方法,其特征在于,包括步骤如下:
(1)输入用户查询语句,对该查询语句进行API推荐,得到关于查询的API推荐结果列表;
(2)对反馈列表中的反馈信息和API推荐结果列表中的API进行特征提取:遍历反馈列表,若反馈列表中存在与查询语句相似的反馈语句,并且可用于正确处理该反馈语句的对应的API也出现在API推荐结果列表中,则将该反馈语句作为该推荐API的反馈信息,并与API推荐结果列表中的对应API的描述信息一起进行特征提取;
(3)根据排序学习和主动学习方法对API推荐结果列表进行重新排序,并向用户呈现重新排序后的API推荐结果列表;
(4)在重新排序后的API推荐结果列表中选择可用于处理该查询语句的API,与上述查询语句一起形成反馈数据并放入反馈列表中保存。
2.根据权利要求1所述的结合用户反馈信息的API推荐方法,其特征在于,所述步骤(2)中对反馈列表中的反馈信息和API推荐结果列表中的API进行特征提取具体包括:对反馈列表的查询语句进行遍历,计算当前查询语句与反馈列表中查询语句的相似度,计算公式如下:
其中,querySim(Q1,Q2)表示两个查询语句Q1和Q2之间的相似度;wordSim(Q1,Q2)表示查询Q1中所有单词与查询Q2之间的相似度;同理,wordSim(Q2,Q1)表示查询Q2中所有单词与Q1之间的相似度:
其中,ω1表示查询Q1中的单词,ω2表示查询Q2中的单词;idf(ω1)表示单词ω1的idf值,idf(ω2)表示单词ω2的idf值;将单词ω1与单词ω2的相似度记为sim(ω1,ω2),simmax(ω1,Q2)是单词ω1与查询Q2中单词相似度的最大值,即sim(ω1,ω2)的最大值;同理,将单词ω2与单词ω1的相似度记为sim(ω2,ω1),simmax(ω2,Q1)是单词ω2与查询Q1中单词相似度的最大值,即sim(ω2,ω1)的最大值;sim(ω1,ω2)和sim(ω2,ω1)的计算公式如下:
其中,表示单词ω1的向量,表示单词ω2的向量,表示单词ω1的向量的模,表示单词ω2的向量的模。
3.根据权利要求2所述的结合用户反馈信息的API推荐方法,其特征在于,所述步骤(2)具体还包括:若相似度阈值达到0.7,则认为该反馈查询与当前查询相似,在推荐结果中找到该反馈查询的对应的API,并将查询语句的相似度记作该API的反馈特征;其余特征从API及其相关信息中提取,共同构成特征向量。
4.根据权利要求1所述的结合用户反馈信息的API推荐方法,其特征在于,所述步骤(3)具体包括:根据排序学习和主动学习方法对API推荐结果列表进行重新排序,并向用户...
【专利技术属性】
技术研发人员:周宇,杨忻莹,陈韬略,黄志球,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。