Developers often need to use appropriate APIs to program efficiently, but it is usually a difficult task to identify the exact one they need from a vast of candidates. To ease the burden, a multitude of API recommendation approaches have been proposed. However, most of the currently available API recommenders do not support the effective integration of users' feedback into the recommendation loop. In this paper, we propose a framework, BRAID (Boosting RecommendAtion with Implicit FeeDback), which leverages learning-to-rank and active learning techniques to boost recommendation performance. By exploiting users' feedback information, we train a learning-to-rank model to re-rank the recommendation results. In addition, we speed up the feedback learning process with active learning. Existing query-based API recommendation approaches can be plugged into BRAID. We select three state-of-the-art API recommendation approaches as baselines to demonstrate the performance enhancement of BRAID measured by Hit@k (Top-k), MAP, and MRR. Empirical experiments show that, with acceptable overheads, the recommendation performance improves steadily and substantially with the increasing percentage of feedback data, comparing with the baselines.
翻译:开发者往往需要使用适当的API来高效地编程,但通常很难确定他们需要从大量候选人中选取的确切对象。为了减轻负担,提出了多种API建议办法。然而,大多数现有的API建议者不支持将用户反馈有效纳入建议循环。我们在本文件中提出了一个框架,即BRAID(用隐性回扣来操作自动自动识别信息建议),利用学习到排位和积极学习的技术来提高建议性能。我们利用用户的反馈信息,培训一个从学习到排位的模式来重新排列建议结果。此外,我们通过积极学习来加快反馈学习过程。现有的基于查询的API建议办法可以插进BRAID。我们选择了三种最新的API建议办法作为基准,以证明Hit@k(Top-k)、MAP和MRR的绩效提升。Epical实验显示,在可接受的管理管理管理管理下,建议执行情况稳步和大幅度提高反馈数据的百分比,与基线进行比较。