Personalised Graph-Based Selection of Web APIs

466 views

Published on

Presentation from the 11th International Semantic Web Conference, Boston, USA.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Personalised Graph-Based Selection of Web APIs

  1. 1. Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs Milan Dojchinovski1, Jaroslav Kuchar1, Tomas Vitvar1 and Maciej Zaremba21 Faculty of Information Technology 2Digital Enterprise Research InstituteCzech Technical University in Prague National University of Ireland, Galway Milan Dojchinovski milan.dojchinovski@fit.cvut.cz - @m1ci - http://dojchinovski.mk The 11th International Semantic Web Conference (ISWC 2012) November 10-15, 2012, Boston, USA Except where otherwise noted, the content of this presentation is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
  2. 2. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future WorkPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 2
  3. 3. Motivation ‣ Provide Personalized Selection of Web APIs ‣ Developers context - relations with other developers - the past history ‣ APIs context - categories they belong to - mashups they were used in ‣ Temporal aspect - users want currently popular or trending APIsPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 3
  4. 4. Statistics ‣ Exponential growth of Web APIs ‣ ProgrammableWeb directory lists approx. 7,800 API descriptions9,0008,000 num. of APIs exponential function7,000 3 months6,000 4 months5,000 6 months4,000 9 months3,000 18 months2,000 8 years1,000 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 ov. 20 12 N Total APIs Over TimePersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 4
  5. 5. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future WorkPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 5
  6. 6. Linked Web APIs ‣ ProgrammableWeb directory as RDF graph Used ontologies: • FOAF (prefix foaf) • WSMO-lite (prefix wl) • Dublin Core (prefix dc) • SAWSDL (prefix sawsdl) • new concepts and props.: - ls:Mashup - ls:Category - ls:usedAPI Excerpt from the Linked Web APIs datasetPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 6
  7. 7. Maximum Activation Method ‣ Flow networks as underlying concept - nodes, edges, capacities ‣ Activation: a measure of connectivity between two nodes ‣ Inputs: - Linked Web APIs graph - a user profile - user preferences - aging constant - a set of Web API candidates ‣ Output: - maximum activation value for each Web API candidate ‣ Capacity function = user_preference_function ∗ aging_functionPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 7
  8. 8. User Preferences ‣ How the user sees an importance of an edge semantic not preferred neutral preferred < 50 50 > 50 ‣ Usage Example - edge User - User more than API - Mashup ‣ Implications - assigning higher/lower user preference will lead to higher/lower activation valuePersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 8
  9. 9. Aging Function ‣ Usage - promoting more recent Web APIs - a higher constant accelerates the edge s aging process 1.0 λ = 0.001 λ = 0.01 λ = 0.1 0.8 Ageing function 0.6 A(ei,t) = A(ei,t0 ) ∗ e-t! 0.4 0.2 0.0 0 50 100 150 200 250 300 350 Age (# weeks)Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 9
  10. 10. The AlgorithmInputs: Steps- Linked Web APIs graph 1. create a profile node- user profile 2. for each API candidate compute max. activation- user preferences 3. select an API with the highest activation- aging constant- Web API candidatesPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 10
  11. 11. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future WorkPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 11
  12. 12. Experiments ‣ Questions addressed - How can we evaluate an API popularity evolution over time? - How does the aging constant influence the maximum activation? - What is the impact of the user preference function? ‣ Experiment setup - full Linked Web APIs dataset - snapshot created on May 18th, 2012 - 5.988 APIs, 6.628 mashups, 2.335 user profilesPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 12
  13. 13. API Popularity Evolution ‣ Evaluation of 3 Web APIs (Mapping category) for a period of 3 years ‣ Aging constant set to: 0.01 and 0.1 Google Maps Google Maps 400 600 800 1000 Bing Maps Bing Maps 5000 Yahoo Maps Yahoo Maps Popularity Popularity 3000 1 2 2 4 1 200 3 1000 01−06−2009 01−06−2010 01−06−2011 01−06−2012 01−06−2009 01−06−2010 01−06−2011 01−06−2012 Time Time a) aging constant ! = 0.1 b) aging constant ! = 0.01 ‣ Higher value allows deeper, more sensitive evaluation ‣ Google Maps API constantly maintains its popularityPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 13
  14. 14. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future WorkPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 14
  15. 15. Maximum Activation vs. Spreading Activation Spreading Activation - simulates the process of associative reasoning ‣ Terminating function - MA: no terminating function, always assigns an activation - SA: number of activated nodes, number of iterations, etc. ‣ Usage - MA: selection of Web APIs - SA: searching in associative networks, cross-domain recommendations ‣ Meaning of Activation - MA: global meaning - measure of connectivity - SA: local meaning - level of interestPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 15
  16. 16. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future WorkPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 16
  17. 17. Conclusion and Future Work ‣ Activation-Based Web API Selection method ‣ Personalization enabled by: - capturing developers context - capturing APIs context - expressing user s preferences ‣ Linked Web APIs dataset ‣ Future work directions: - publish the Linked Web APIs dataset to the LOD cloud (in cooperation with PW) - extend the method: • assigning capacities to individual edges • incorporate different SNA metricsPersonalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 17
  18. 18. Feedback Thank you! Questions, comments, ideas? Milan Dojchinovski @m1ci milan.dojchinovski@fit.cvut.cz http://dojchinovski.mk Except where otherwise noted, the content of this presentation is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported 18

×