What to Learn Next: Recommending Commands in a Feature-Rich Environment

Despite an abundance of commands to make tasks easier to perform, the users of feature-rich applications, such as development environments, use only a fraction of the commands available. Earlier work has shown that command recommendation -- in which, given the command usage history of a set of users, the objective is to predict a command that is likely useful for the user to learn -- can improve the usage of a range of commands available within such applications. In this paper, we present a new algorithm, CoDis, which is built upon three hypotheses. First, we hypothesize that in feature-rich applications there exists co-occurrence patterns between commands. Second, we hypothesize that users of feature-rich applications have prevalent discovery patterns. Finally, we hypothesize that users need different recommendations based on the time elapsed between their last activity and the time of recommendation. We show on data submitted by many users of an integrated development environment (Eclipse) that CoDis outperforms existing approaches: compared to ADAGRAD, the best performing baseline, it achieves an improvement of 10.22% in recall, for a top-N recommendation task (N = 20).

[1]  Eric Horvitz,et al.  The Lumière Project: Bayesian User Modeling for Inferring the Goals and Needs of Software Users , 1998, UAI.

[2]  M Damashek,et al.  Gauging Similarity with n-Grams: Language-Independent Categorization of Text , 1995, Science.

[3]  John Riedl,et al.  Application of Dimensionality Reduction in Recommender System - A Case Study , 2000 .

[4]  Boi Faltings,et al.  Personalized News Recommendation Based on Collaborative Filtering , 2012, 2012 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology.

[5]  Frank Linton,et al.  OWL: A Recommender System for Organization-Wide Learning , 2000, J. Educ. Technol. Soc..

[6]  John Riedl,et al.  Item-based collaborative filtering recommendation algorithms , 2001, WWW '01.

[7]  Houari A. Sahraoui,et al.  Mining Multi-level API Usage Patterns , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[8]  Xue Li,et al.  Time weight collaborative filtering , 2005, CIKM '05.

[9]  Nitesh V. Chawla,et al.  New perspectives and methods in link prediction , 2010, KDD.

[10]  Emerson R. Murphy-Hill,et al.  Can Social Screencasting Help Developers Learn New Tools? , 2015, 2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering.

[11]  Gail C. Murphy,et al.  Improving program navigation with an active help system , 2010, CASCON.

[12]  Yehuda Koren,et al.  Matrix Factorization Techniques for Recommender Systems , 2009, Computer.

[13]  Michael I. Jordan,et al.  Latent Dirichlet Allocation , 2001, J. Mach. Learn. Res..

[14]  Karen Spärck Jones A statistical interpretation of term specificity and its application in retrieval , 2021, J. Documentation.

[15]  Yoram Singer,et al.  Adaptive Subgradient Methods for Online Learning and Stochastic Optimization , 2011, J. Mach. Learn. Res..

[16]  Gediminas Adomavicius,et al.  Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions , 2005, IEEE Transactions on Knowledge and Data Engineering.

[17]  Yehuda Koren Tutorial on recent progress in collaborative filtering , 2008, RecSys '08.

[18]  Sarah Jane Delany k-Nearest Neighbour Classifiers , 2007 .

[19]  อนิรุธ สืบสิงห์,et al.  Data Mining Practical Machine Learning Tools and Techniques , 2014 .

[20]  Mohammad Al Hasan,et al.  Link prediction using supervised learning , 2006 .

[21]  Emerson R. Murphy-Hill Continuous social screencasting to facilitate software tool discovery , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[22]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[23]  Emerson Murphy-Hill,et al.  Improving software developers' fluency by recommending development environment commands , 2012, SIGSOFT FSE.

[24]  Hsinchun Chen,et al.  Recommendation as link prediction in bipartite graphs: A graph kernel-based machine learning approach , 2013, Decis. Support Syst..

[25]  Surya Ganguli,et al.  Fast large-scale optimization by unifying stochastic gradient and quasi-Newton methods , 2013, ICML.

[26]  Kevin P. Murphy,et al.  Machine learning - a probabilistic perspective , 2012, Adaptive computation and machine learning series.

[27]  Ioannis Konstas,et al.  On social networks and collaborative recommendation , 2009, SIGIR.

[28]  Carlos Guestrin,et al.  Distributed GraphLab : A Framework for Machine Learning and Data Mining in the Cloud , 2012 .

[29]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[30]  Dr. Ajay Gupta Comparison of Static , 2006 .

[31]  Lise Getoor,et al.  Using Friendship Ties and Family Circles for Link Prediction , 2008, SNAKDD.

[32]  Fidel Cacheda,et al.  Algorithms for Efficient Collaborative Filtering , 2008 .

[33]  Chih-Jen Lin,et al.  Dual coordinate descent methods for logistic regression and maximum entropy models , 2011, Machine Learning.

[34]  Rossano Schifanella,et al.  Cold-start news recommendation with domain-dependent browse graph , 2014, RecSys '14.

[35]  Michael Twidale,et al.  Over the Shoulder Learning: Supporting Brief Informal Learning , 2005, Computer Supported Cooperative Work (CSCW).

[36]  Adam Fourney,et al.  Query-feature graphs: bridging user vocabulary and system functionality , 2011, UIST '11.

[37]  Andrea Bunt,et al.  Exploring Personalized Command Recommendations based on Information Found in Web Documentation , 2015, IUI.

[38]  Daniel S. Weld,et al.  Exploring the design space for adaptive graphical user interfaces , 2006, AVI '06.

[39]  David P. Doane,et al.  Measuring Skewness: A Forgotten Statistic? , 2011 .

[40]  Charu C. Aggarwal,et al.  Co-author Relationship Prediction in Heterogeneous Bibliographic Networks , 2011, 2011 International Conference on Advances in Social Networks Analysis and Mining.

[41]  Chih-Jen Lin,et al.  LIBSVM: A library for support vector machines , 2011, TIST.

[42]  Jiawei Han,et al.  Frequent pattern mining: current status and future directions , 2007, Data Mining and Knowledge Discovery.

[43]  Leo Breiman,et al.  Random Forests , 2001, Machine Learning.

[44]  Ramakrishnan Srikant,et al.  Mining Sequential Patterns: Generalizations and Performance Improvements , 1996, EDBT.

[45]  Robert L. Mercer,et al.  Class-Based n-gram Models of Natural Language , 1992, CL.

[46]  Junjie Yao,et al.  Challenging the Long Tail Recommendation , 2012, Proc. VLDB Endow..

[47]  Robert H. Halstead,et al.  Matrix Computations , 2011, Encyclopedia of Parallel Computing.

[48]  Hsinchun Chen,et al.  Link prediction approach to collaborative filtering , 2005, Proceedings of the 5th ACM/IEEE-CS Joint Conference on Digital Libraries (JCDL '05).

[49]  David J. Spiegelhalter,et al.  Machine Learning, Neural and Statistical Classification , 2009 .

[50]  Mohsen Vakilian,et al.  A Practical Guide to Analyzing IDE Usage Data , 2015, The Art and Science of Analyzing Software Data.

[51]  Tovi Grossman,et al.  Design and evaluation of a command recommendation system for software applications , 2011, TCHI.

[52]  Chih-Jen Lin,et al.  LIBLINEAR: A Library for Large Linear Classification , 2008, J. Mach. Learn. Res..

[53]  Andrea Bunt,et al.  Understanding the Roles and Uses of Web Tutorials , 2013, ICWSM.

[54]  Jon M. Kleinberg,et al.  The link-prediction problem for social networks , 2007, J. Assoc. Inf. Sci. Technol..

[55]  Roberto Turrin,et al.  Performance of recommender algorithms on top-n recommendation tasks , 2010, RecSys '10.

[56]  Tovi Grossman,et al.  CommunityCommands: command recommendations for software applications , 2009, UIST '09.