18
Personalised Graph-Based Selection of Web APIs Milan Dojchinovski 1 , Jaroslav Kuchar 1 , Tomas Vitvar 1 and Maciej Zaremba 2 1 Faculty of Information Technology Czech Technical University in Prague 2 Digital Enterprise Research Institute National University of Ireland, Galway The 11th International Semantic Web Conference (ISWC 2012) November 10-15, 2012, Boston, USA Milan Dojchinovski milan.dojchinovski@fit.cvut.cz - @m1ci - http://dojchinovski.mk Except where otherwise noted, the content of this presentation is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Czech Technical University in Prague

Personalised Graph-Based Selection of Web APIs

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