Upload
milan-dojchinovski
View
207
Download
1
Tags:
Embed Size (px)
Citation preview
Personalised Graph-Based Selection of Web APIs
Milan Dojchinovski1, Jaroslav Kuchar1, Tomas Vitvar1 and Maciej Zaremba2
1 Faculty of Information TechnologyCzech Technical University in Prague
2 Digital Enterprise Research InstituteNational University of Ireland, Galway
The 11th International Semantic Web Conference (ISWC 2012)November 10-15, 2012, Boston, USA
Milan [email protected] - @m1ci - http://dojchinovski.mk
Except where otherwise noted, the content of this presentation is licensed underCreative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Czech Technical University in Prague
Overview
‣ Introduction and Motivation
‣ Maximum Activation Method
‣ Experiments
‣ Related Work
‣ Conclusion and Future Work
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 2
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 APIs
3Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk
Statistics
4
‣ Exponential growth of Web APIs
‣ ProgrammableWeb directory lists approx. 7,800 API descriptions
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011Nov. 2012
Total APIs Over Time
8 years
18 months
4 months
6 months
9 months
3 months
exponential functionnum. of APIs
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk
Overview
‣ Introduction and Motivation
‣ Maximum Activation Method
‣ Experiments
‣ Related Work
‣ Conclusion and Future Work
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 5
Linked Web APIs
‣ ProgrammableWeb directory as RDF graph
6Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk
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 dataset
Maximum Activation Method
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 7
‣ 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_function
User Preferences
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 8
‣ How the user sees an importance of an edge semantic
‣ Usage Example- edge ”User - User” more than ”API - Mashup”
‣ Implications- assigning higher/lower user preference will lead to higher/lower activation value
not preferred neutral preferred< 50 50 > 50
Aging Function
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 9
‣ Usage- promoting more recent Web APIs- a higher constant accelerates the edge’s aging process
0 50 100 150 200 250 300 350
0.0
0.2
0.4
0.6
0.8
1.0
Age (# weeks)
Agei
ng fu
nctio
n
λ = 0.001λ = 0.01λ = 0.1
A(ei,t) = A(ei,t0 ) ∗ e-t!
The Algorithm
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 10
Inputs:- Linked Web APIs graph- user profile- user preferences- aging constant- Web API candidates
Steps1. create a profile node2. for each API candidate compute max. activation3. select an API with the highest activation
Overview
‣ Introduction and Motivation
‣ Maximum Activation Method
‣ Experiments
‣ Related Work
‣ Conclusion and Future Work
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 11
Experiments
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 12
‣ 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 profiles
API Popularity Evolution
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 13
200
400
600
800
1000
Time
Popu
larit
y
01−06−2009 01−06−2010 01−06−2011 01−06−2012
1 2
3
4
Google MapsBing MapsYahoo Maps
1000
3000
5000
TimePo
pula
rity
01−06−2009 01−06−2010 01−06−2011 01−06−2012
1
2
Google MapsBing MapsYahoo Maps
a) aging constant ! = 0.1 b) aging constant ! = 0.01
‣ Evaluation of 3 Web APIs (Mapping category) for a period of 3 years‣ Aging constant set to: 0.01 and 0.1
‣ Higher value allows deeper, more sensitive evaluation‣ Google Maps API constantly maintains its popularity
Overview
‣ Introduction and Motivation
‣ Maximum Activation Method
‣ Experiments
‣ Related Work
‣ Conclusion and Future Work
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 14
Maximum Activation vs. Spreading Activation
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 15
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 interest
Overview
‣ Introduction and Motivation
‣ Maximum Activation Method
‣ Experiments
‣ Related Work
‣ Conclusion and Future Work
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 16
Conclusion and Future Work
Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 17
‣ 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 metrics
Feedback
18
Thank you!
Questions, comments, ideas?
Milan Dojchinovski @[email protected] http://dojchinovski.mk
Except where otherwise noted, the content of this presentation is licensed underCreative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported