SlideShare a Scribd company logo
1 of 18
Download to read offline
Czech Technical
                                                                       University in Prague



     Personalised Graph-Based Selection of
                   Web APIs

              Milan Dojchinovski1, Jaroslav Kuchar1, Tomas Vitvar1 and Maciej Zaremba2
1 Faculty of Information Technology                                                         2Digital Enterprise Research Institute
Czech 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
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




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   3
Statistics

 ‣       Exponential growth of Web APIs

 ‣       ProgrammableWeb directory lists approx. 7,800 API descriptions

9,000
8,000           num. of APIs
                exponential function
7,000
                                                                                                                       3 months
6,000
                                                                                                                      4 months
5,000
                                                                                                               6 months
4,000
                                                                                                            9 months
3,000
                                                                                                 18 months
2,000
                                                     8 years
1,000
     0
         2000    2001        2002        2003       2004        2005        2006   2007   2008       2009      2010       2011      ov. 20
                                                                                                                                           12
                                                                                                                                  N
                                                             Total APIs Over Time


Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                                            4
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



                                                                                  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


Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                          6
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_function



Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   7
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 value




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk               8
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
The Algorithm

Inputs:                                                   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 candidates




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                   10
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

 ‣   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




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   12
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 popularity


Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                                                       13
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

 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




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   15
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

 ‣   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




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk          17
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

More Related Content

Viewers also liked

Chainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME FrameworkChainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME FrameworkMilan Dojchinovski
 
Personalised Access to Linked Data
Personalised Access to Linked DataPersonalised Access to Linked Data
Personalised Access to Linked DataMilan Dojchinovski
 
7 kalimah allah
7 kalimah allah7 kalimah allah
7 kalimah allahIcha Brow
 
Anggaran penjualan
Anggaran penjualanAnggaran penjualan
Anggaran penjualanIcha Brow
 
01. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 201401. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 2014Icha Brow
 
Presentase pemasaran
Presentase pemasaranPresentase pemasaran
Presentase pemasaranIcha Brow
 
Prada H & D in Tokyo
Prada H & D in Tokyo Prada H & D in Tokyo
Prada H & D in Tokyo Emma Pereira
 
Keuangan dan tata kelola lkp
Keuangan dan tata kelola lkpKeuangan dan tata kelola lkp
Keuangan dan tata kelola lkpIcha Brow
 
Manajemen mutu, visi, renstra
Manajemen mutu, visi, renstraManajemen mutu, visi, renstra
Manajemen mutu, visi, renstraIcha Brow
 

Viewers also liked (11)

Chainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME FrameworkChainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME Framework
 
Personalised Access to Linked Data
Personalised Access to Linked DataPersonalised Access to Linked Data
Personalised Access to Linked Data
 
Aress international
Aress internationalAress international
Aress international
 
Humor kocak
Humor kocakHumor kocak
Humor kocak
 
7 kalimah allah
7 kalimah allah7 kalimah allah
7 kalimah allah
 
Anggaran penjualan
Anggaran penjualanAnggaran penjualan
Anggaran penjualan
 
01. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 201401. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 2014
 
Presentase pemasaran
Presentase pemasaranPresentase pemasaran
Presentase pemasaran
 
Prada H & D in Tokyo
Prada H & D in Tokyo Prada H & D in Tokyo
Prada H & D in Tokyo
 
Keuangan dan tata kelola lkp
Keuangan dan tata kelola lkpKeuangan dan tata kelola lkp
Keuangan dan tata kelola lkp
 
Manajemen mutu, visi, renstra
Manajemen mutu, visi, renstraManajemen mutu, visi, renstra
Manajemen mutu, visi, renstra
 

Similar to Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs

(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline PilotBIOVIA
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureDan Yoder
 
Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!Kang Zhang
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorialsTIB Academy
 
HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012Hervé Ménager
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentVolodymyr Voytyshyn
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhraShubhra Kar
 
Ember.js for SFHTML5
Ember.js for SFHTML5Ember.js for SFHTML5
Ember.js for SFHTML5Anthony Bull
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsFlorian Feldhaus
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseShubhra Kar
 
Introducing Kafka's Streams API
Introducing Kafka's Streams APIIntroducing Kafka's Streams API
Introducing Kafka's Streams APIconfluent
 
Open Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API IntegrationOpen Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API IntegrationFINOS
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010Matt Raible
 
Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring FrameworkEdureka!
 

Similar to Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs (20)

(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 
Towards a Web of Services
Towards a Web of ServicesTowards a Web of Services
Towards a Web of Services
 
Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!
 
iServe Version 1
iServe Version 1iServe Version 1
iServe Version 1
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
 
Ember.js for SFHTML5
Ember.js for SFHTML5Ember.js for SFHTML5
Ember.js for SFHTML5
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementations
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for Enterprise
 
Introducing Kafka's Streams API
Introducing Kafka's Streams APIIntroducing Kafka's Streams API
Introducing Kafka's Streams API
 
Open Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API IntegrationOpen Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API Integration
 
Open Web Widgets
Open Web WidgetsOpen Web Widgets
Open Web Widgets
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010
 
Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring Framework
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs

  • 1. Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs Milan Dojchinovski1, Jaroslav Kuchar1, Tomas Vitvar1 and Maciej Zaremba2 1 Faculty of Information Technology 2Digital Enterprise Research Institute Czech 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. 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
  • 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 APIs Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 3
  • 4. Statistics ‣ Exponential growth of Web APIs ‣ ProgrammableWeb directory lists approx. 7,800 API descriptions 9,000 8,000 num. of APIs exponential function 7,000 3 months 6,000 4 months 5,000 6 months 4,000 9 months 3,000 18 months 2,000 8 years 1,000 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 ov. 20 12 N Total APIs Over Time Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 4
  • 5. 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
  • 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 dataset Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 6
  • 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_function Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 7
  • 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 value Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 8
  • 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. The Algorithm Inputs: 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 candidates Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 10
  • 11. 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
  • 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 profiles Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 12
  • 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 popularity Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 13
  • 14. 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
  • 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 interest Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 15
  • 16. 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
  • 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 metrics Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 17
  • 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