NL2API: A Framework for Bootstrapping Service Recommendation Using Natural Language Queries

Existing approaches to recommend services using natural language queries are supervised or unsupervised. Supervised approaches rely on a dataset with natural language queries annotated with categorizing labels. As the annotation process is manual and requires deep domain knowledge, these approaches are not readily applicable on new datasets. On the other hand, unsupervised approaches overcome the limitation. To date, unsupervised approaches are primarily based on matching keywords, entity relationships, topics and clusters. Keywords and entity relationships ignore the semantic similarity between a query and services. Topics and clusters capture the semantic similarity, but rely on mashups that explicitly capture relationships between services. Again, for new services, the information are not readily available. We propose NL2API, a framework that relies solely on service descriptions for recommending services. NL2API has the benefit of being immediately applicable as a bootstrap recommender for new datasets. To capture relationships among services, NL2API provides different approaches to construct communities where a community represents an abstraction over a group of services. Based on the communities and users' queries, NL2API applies a query matching approach to recommend top-k services. We evaluate NL2API on datasets collected from Programmable Web and API Harmony. Our evaluation shows that for sizable datasets such as Programmable Web NL2API outperforms baseline approaches.

[1]  M. Newman,et al.  Finding community structure in very large networks. , 2004, Physical review. E, Statistical, nonlinear, and soft matter physics.

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

[3]  Chris H. Q. Ding,et al.  Symmetric Nonnegative Matrix Factorization for Graph Clustering , 2012, SDM.

[4]  Xumin Liu,et al.  Recommending Services for New Mashups through Service Factors and Top-K Neighbors , 2017, 2017 IEEE International Conference on Web Services (ICWS).

[5]  Mingdong Tang,et al.  Multi-relation Based Manifold Ranking Algorithm for API Recommendation , 2016, APSCC.

[6]  Thomas L. Griffiths,et al.  The Author-Topic Model for Authors and Documents , 2004, UAI.

[7]  Chanchal Kumar Roy,et al.  RACK: Automatic API Recommendation Using Crowdsourced Knowledge , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[8]  Xiaojun Wu,et al.  Graph Regularized Nonnegative Matrix Factorization for Data Representation , 2017, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[9]  Wei Xiong,et al.  Inferring Service Recommendation from Natural Language API Descriptions , 2016, 2016 IEEE International Conference on Web Services (ICWS).

[10]  Michael Gamon,et al.  Building Natural Language Interfaces to Web APIs , 2017, CIKM.

[11]  Jürgen Schmidhuber,et al.  Long Short-Term Memory , 1997, Neural Computation.

[12]  Jean-Loup Guillaume,et al.  Fast unfolding of communities in large networks , 2008, 0803.0476.

[13]  Hongfei Yan,et al.  Comparing Twitter and Traditional Media Using Topic Models , 2011, ECIR.

[14]  Xiaohui Yan,et al.  Learning Topics in Short Texts by Non-negative Matrix Factorization on Term Correlation Matrix , 2013, SDM.

[15]  Jia Zhang,et al.  Service Recommendation Based on Targeted Reconstruction of Service Descriptions , 2017, 2017 IEEE International Conference on Web Services (ICWS).

[16]  Martha Palmer,et al.  Verb Semantics and Lexical Selection , 1994, ACL.

[17]  Wei Gao,et al.  A Novel Framework for Service Set Recommendation in Mashup Creation , 2017, 2017 IEEE International Conference on Web Services (ICWS).

[18]  Anup K. Kalia,et al.  Cataloger: Catalog Recommendation Service for IT Change Requests , 2017, ICSOC.