Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services Andreas Heß, Nicholas Kushmerick University College Dublin, Ireland {andreas.hess, nick}@ucd.ie Science US Office of Foundation Naval Research Ireland Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 1
Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services 1. Introduction 2. Our Machine Learning Approach 3. Machine Learning Assisted Annotation 4. Conclusion & Discussion Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 2
Scenario Scenario Congo ? ● author ● title ● quantity ? Winding Stair ● authName ● bookT Scenario: ● ISBN Buying a book Teatime ● region ● qlty ● qty Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 3
Scenario Scenario Congo ● author ● title ● quantity Winding Stair Global Ontology ● authName ● bookT ● Item ● ISBN ➢ Quantity ➢ Price ● Book ➢ Author ➢ Title Teatime ➢ ISBN ● Tea ● region ➢ Region ● qlty ➢ Quality ● qty Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 4
Scenario Scenario Congo ● author ● title ● quantity Semantic Metadata e.g. OWL-S Winding Stair Global Ontology ● authName ● bookT ● Item ● ISBN ➢ Quantity ➢ Price (handcrafted) ● Book ➢ Author ➢ Title Teatime ➢ ISBN ● Tea ● region ➢ Region ● qlty ➢ Quality ● qty Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 5
Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services ● Assumes: semantic annotation ● a shared ontology ● ● Semantic metadata needs to be handcrafted!! ● Our contribution: Use machine learning! Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 6
Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services ✔ Introduction 2. Our Machine Learning Approach 3. Machine Learning Assisted Annotation 4. Conclusion & Discussion Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 7
Machine Learning Machine Learning Congo Global Ontology ● Item ● author ● title Quantity ➢ ● quantity Price ➢ Book ● Author Winding Stair ➢ Title ➢ ● authName ISBN ➢ ● bookT Tea ● ● ISBN Region ➢ Quality Teatime ➢ ● region ● qlty ● qty Training data Semantic Metadata (handcrafted!) Learning algorithm Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 8
Machine Learning Machine Learning Global Ontology ● Item Quantity BookMaster ● librNumber ? ➢ Price ➢ Book ● ● writer Author ➢ ● bookName Title ➢ ISBN ➢ Tea ● Region ➢ Quality ➢ Learning algorithm Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 9
Machine Learning Machine Learning Global Ontology ● Item Quantity BookMaster ➢ Price ➢ Book ● ● writer Author ➢ ● bookName Title ➢ ISBN ➢ ● librNumber Tea ● Region ➢ Quality ➢ Semantic Metadata (automatic) Learning algorithm Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 10
Key Assumption Key Assumption What does this function do? public int nbgfuibhuf( int nvzfdubzuf , int cnuzdc ) { int vfddf = 0; for (int ujz = 0; ujz < nvzfdubzuf ; ujz ++) { vfddf += cnuzdc ; } return vfddf ; } Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 11
Key Assumption Key Assumption What does this function do? public int multiply (int factor1 , int factor2 ) { int product = 0; for (int n = 0; n < factor1 ; n ++) { product += factor2 ; } return product ; } Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 12
Key Assumption Key Assumption What does this function do? /** * This function multiplies two numbers in a very * inefficent way. It serves only as an example. */ public int multiply (int factor1 , int factor2 ) { int product = 0; for (int n = 0; n < factor1 ; n ++) { product += factor2 ; } return product ; } Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 13
A Text Classification Problem A Text Classification Problem Web Service classification == Text classification Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 14
Definitions Definitions Category Domain Datatype Broad description of Purpose of single Meaning of single ● ● ● service as a whole operation parameter e.g. e-commerce, e.g. query price, e.g. author name, ● ● ● weather, finance purchase book credit card number Profile hierarchy Atomic process Property ● ● ● ? Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 15
Definitions Definitions ● Category, Domain, Datatype: We do not advocate a new ontology language ● Machine learning ideas independent of actual syntax ● Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 16
Text Sources Text Sources ● Text sources: A) Service Description (plain text, e.g. from UDDI) B) WSDL: service, portType, operation C) WSDL: Input message D) WSDL: Output message Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 17
Ensemble Learning Ensemble Learning ● Ensemble Learning Each text source contains different words ● (e.g. operation “buyBook”, message part “author”) Using seperate learners is more accurate ● Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 18
Evaluation Evaluation Dataset 1 391 categorized Web Services 11 classes highly skewed, noisy Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 19
Evaluation Evaluation Classifying Category using WSDL only Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 20
Evaluation Evaluation Classifying category using WSDL plus plain text descriptions (easier) Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 21
Improvement Improvement ● Improve these results? ➔ Exploit dependencies! Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 22
Assumption Assumption Dependencies between Category Domain Datatype Category Domain Datatype ? Books Query book price Book title Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 23
Assumption Assumption Dependencies between Category Domain Datatype Category Domain Datatype Tea Order tea Book title?? Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 24
Assumption Assumption Dependencies between Category Domain Datatype Category Domain Datatype Tea Order tea Credit card number Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 25
Flow of evidence Flow of evidence Dependencies between Category Domain Datatype Category Domain Datatype ? Book title Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 26
Flow of evidence Flow of evidence Dependencies between Category Domain Datatype Category Domain Datatype ? ? Query book price Book title Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 27
Flow of evidence Flow of evidence Dependencies between Category Domain Datatype Category Domain Datatype ? Books Query book price Book title Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 28
Dependencies between Category, Domain, Datatype Dependencies between Category, Domain, Datatype Exploit dependencies: ➔ Iterative classification Current research ➔ Bayesian Networks Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 29
Iterative Classification Iterative Classification ● Classification in round N influences classification in round N+1 Category Domain Datatype ? ? ? Round 0 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 30
Iterative Classification Iterative Classification ● Classification in round N influences classification in round N+1 Category Domain Datatype Communication Query tea price Person's name Round 1 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 31
Iterative Classification Iterative Classification ● Classification in round N influences classification in round N+1 Category Domain Datatype Communication Query tea price Person's name Tea Commerce Query book price Sender's name Round 2 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services 32
Recommend
More recommend