Machine Learning for Annotating Semantic Web Services Andreas He, - - PowerPoint PPT Presentation

machine learning for annotating semantic web services
SMART_READER_LITE
LIVE PREVIEW

Machine Learning for Annotating Semantic Web Services Andreas He, - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

1 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

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

US Office of Naval Research Science Foundation Ireland

slide-2
SLIDE 2

2 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

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
slide-3
SLIDE 3

3 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Scenario Scenario

Congo Winding Stair Teatime

  • author
  • title
  • quantity
  • authName
  • bookT
  • ISBN
  • region
  • qlty
  • qty

? ?

Scenario: Buying a book

slide-4
SLIDE 4

4 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Scenario Scenario

Congo Winding Stair Teatime

  • author
  • title
  • quantity
  • authName
  • bookT
  • ISBN
  • region
  • qlty
  • qty

Global Ontology

  • Item

➢ Quantity ➢ Price

  • Book

➢ Author ➢ Title ➢ ISBN

  • Tea

➢ Region ➢ Quality

slide-5
SLIDE 5

5 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Scenario Scenario

Congo Winding Stair Teatime

  • author
  • title
  • quantity
  • authName
  • bookT
  • ISBN
  • region
  • qlty
  • qty

Global Ontology

  • Item

➢ Quantity ➢ Price

  • Book

➢ Author ➢ Title ➢ ISBN

  • Tea

➢ Region ➢ Quality

Semantic Metadata e.g. OWL-S (handcrafted)

slide-6
SLIDE 6

6 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

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!
slide-7
SLIDE 7

7 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

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
slide-8
SLIDE 8

8 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Machine Learning Machine Learning

Global Ontology

  • Item

Quantity

Price

  • Book

Author

Title

ISBN

  • Tea

Region

Quality

Congo

  • author
  • title
  • quantity

Winding Stair Teatime

  • authName
  • bookT
  • ISBN
  • region
  • qlty
  • qty

Learning algorithm Training data Semantic Metadata (handcrafted!)

slide-9
SLIDE 9

9 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Machine Learning Machine Learning

Global Ontology

  • Item

Quantity

Price

  • Book

Author

Title

ISBN

  • Tea

Region

Quality

BookMaster

  • writer
  • bookName
  • librNumber ?

Learning algorithm

slide-10
SLIDE 10

10 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Machine Learning Machine Learning

Global Ontology

  • Item

Quantity

Price

  • Book

Author

Title

ISBN

  • Tea

Region

Quality

BookMaster

  • writer
  • bookName
  • librNumber

Learning algorithm Semantic Metadata (automatic)

slide-11
SLIDE 11

11 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Key Assumption Key Assumption

public int nbgfuibhuf(int nvzfdubzuf, int cnuzdc) { int vfddf = 0; for (int ujz = 0; ujz < nvzfdubzuf; ujz++) { vfddf += cnuzdc; } return vfddf; }

What does this function do?

slide-12
SLIDE 12

12 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Key Assumption Key Assumption

public int multiply(int factor1, int factor2) { int product = 0; for (int n = 0; n < factor1; n++) { product += factor2; } return product; }

What does this function do?

slide-13
SLIDE 13

13 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Key Assumption Key Assumption

/** * 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; }

What does this function do?

slide-14
SLIDE 14

14 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

A Text Classification Problem A Text Classification Problem

Web Service classification == Text classification

slide-15
SLIDE 15

15 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Definitions Definitions

Category

  • Broad description of

service as a whole

  • e.g. e-commerce,

weather, finance

  • Profile hierarchy

Domain

  • Purpose of single
  • peration
  • e.g. query price,

purchase book

  • Atomic process

Datatype

  • Meaning of single

parameter

  • e.g. author name,

credit card number

  • Property

?

slide-16
SLIDE 16

16 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Definitions Definitions

  • Category, Domain, Datatype:
  • We do not advocate a new ontology language
  • Machine learning ideas independent of actual syntax
slide-17
SLIDE 17

17 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

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

slide-18
SLIDE 18

18 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

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
slide-19
SLIDE 19

19 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Evaluation Evaluation

Dataset 1 391 categorized Web Services 11 classes highly skewed, noisy

slide-20
SLIDE 20

20 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Evaluation Evaluation

Classifying Category using WSDL only

slide-21
SLIDE 21

21 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Evaluation Evaluation

Classifying category using WSDL plus plain text descriptions (easier)

slide-22
SLIDE 22

22 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Improvement Improvement

  • Improve these results?

➔ Exploit dependencies!

slide-23
SLIDE 23

23 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Assumption Assumption

Dependencies between CategoryDomainDatatype

?

Books Category Query book price Domain Datatype Book title

slide-24
SLIDE 24

24 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Assumption Assumption

Dependencies between CategoryDomainDatatype

Tea Category Domain Datatype Order tea

Book title??

slide-25
SLIDE 25

25 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Assumption Assumption

Dependencies between CategoryDomainDatatype

Tea Category Domain Datatype Order tea

Credit card number

slide-26
SLIDE 26

26 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Flow of evidence Flow of evidence

Dependencies between CategoryDomainDatatype

Category Domain Datatype Book title

?

slide-27
SLIDE 27

27 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Flow of evidence Flow of evidence

Dependencies between CategoryDomainDatatype

?

Category Query book price Domain Datatype Book title

?

slide-28
SLIDE 28

28 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Flow of evidence Flow of evidence

Dependencies between CategoryDomainDatatype

?

Books Category Query book price Domain Datatype Book title

slide-29
SLIDE 29

29 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Dependencies between Category, Domain, Datatype Dependencies between Category, Domain, Datatype

Exploit dependencies:

➔ Iterative classification ➔ Bayesian Networks Current research

slide-30
SLIDE 30

30 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Iterative Classification Iterative Classification

  • Classification in round N influences

classification in round N+1

Category Domain Datatype

? ? ?

Round 0

slide-31
SLIDE 31

31 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Iterative Classification Iterative Classification

  • Classification in round N influences

classification in round N+1

Communication Category Domain Datatype Query tea price Person's name

Round 1

slide-32
SLIDE 32

32 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Iterative Classification Iterative Classification

  • Classification in round N influences

classification in round N+1

Communication Tea Commerce Category Domain Datatype Query tea price Query book price Person's name Sender's name

Round 2

slide-33
SLIDE 33

33 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Iterative Classification Iterative Classification

  • Classification in round N influences

classification in round N+1

Communication Tea Commerce E-Commerce Category Domain Datatype Query tea price Query book price Query book price Person's name Sender's name Author's name

Round 3

slide-34
SLIDE 34

34 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Iterative Classification Iterative Classification

  • Classification in round N influences

classification in round N+1

Communication Tea Commerce E-Commerce Books Category Domain Datatype Query tea price Query book price Query book price Query book price Person's name Sender's name Author's name Author's name

Round 4

slide-35
SLIDE 35

35 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Iterative Classification Iterative Classification

?

Books Category Query book price Domain Datatype Author's name

  • Classification in round N influences

classification in round N+1 Round 5

slide-36
SLIDE 36

36 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Evaluation Evaluation

  • Dataset 2: Fully annotated, available in OWL-S!
  • Improvement over baseline :-)
  • Not as good as preliminary results suggested :-(
  • Good enough for assisted annotation :-)
  • Work in progress, detailed results to come
slide-37
SLIDE 37

37 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Dependencies between Category, Domain, Datatype Dependencies between Category, Domain, Datatype

Exploit dependencies: ✔ Iterative classification

➔ Bayesian Networks See ODBASE-03

slide-38
SLIDE 38

38 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Bayesian Networks Bayesian Networks

Bayesian Networks

  • Nodes are random variables
  • Edges indicate conditional probabilites
slide-39
SLIDE 39

39 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Bayesian Networks Bayesian Networks domain datatype1 datatype2 datatype3 term1

1

Pr[title | BookTitle] = 0.39 Pr[title | DestAirport] = 0.02 Pr[city | BookTitle] = 0.01 Pr[city | DestAirport] = 0.47 ... ... ...

Pr[BookTitle | SEARCHBOOK] = 0.42

Pr[Airport | SEARCHBOOK] = 0.001 Pr[BookTitle | QUERYFLIGHT] = 0.001 Pr[Airport | QUERYFLIGHT] = 0.73 ... ... ...

term1

K

term2

1

term2

K

term3

1

term3

K

… … …

Pr[SEARCHBOOK] = 0.51

Pr[QUERYFLIGHT] = 0.28

Pr[FINDCOLLEGE] = 0.03

... ... ...

slide-40
SLIDE 40

40 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Web Forms Web Forms

domain datatype1 datatype2 datatype3

departure

station time calendar

arrival

station

slide-41
SLIDE 41

41 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Evaluation Evaluation

129 real Web forms 656 fields

Search Book (44) Find College (2) Search College Book (17) Query Flight (34) Find Job (28) Find Stock Quote (9)

6 domains

Book Details Book Edition Book Format Book Search Type Book Title Number of Children City Class College Subject Company Name Country Currency ... ... ... ... Ticker Symbol Time Time Return Time Period Travel Type US State ZIP

72 datataypes (illustrative sample)

slide-42
SLIDE 42

42 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Evaluation Evaluation

slide-43
SLIDE 43

43 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Web Forms? Web Forms?

  • Why forms? Not talking about services?
  • Fully annotated Web Services not available

at time of experiments

  • Web Services actually easier:

HTML parsing causes noise

slide-44
SLIDE 44

44 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services

✔ Introduction ✔ Our Machine Learning Approach

  • 3. Machine Learning Assisted Annotation
  • 4. Conclusion & Discussion
slide-45
SLIDE 45

45 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Use Case Use Case

  • To annotate several similar Web Services:
  • Hand-crafted annotation for the first few
  • Machine-assisted annotation for the rest
  • Intended users:
  • End-users integrating several services
  • At service registries
slide-46
SLIDE 46

46 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Our Application Our Application

slide-47
SLIDE 47

47 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Our Application Our Application

Category

  • ntology

List of web services Tree view on service Plain WSDL view Documentation found in WSDL Domain/Datatype

  • ntologies
slide-48
SLIDE 48

48 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Annotation Wizard Annotation Wizard

Recommended annotations

slide-49
SLIDE 49

49 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

OWL-S Export OWL-S Export

<owl:Class rdf:ID="Weather"> <rdfs:subClassOf rdf:resource="http://moguntia.ucd.ie/owl/Datatypes.owl#Weather"/> </owl:Class> <owl:DatatypeProperty rdf:ID="Time"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Weather"/> <rdfs:subPropertyOf rdf:resource="http://moguntia.ucd.ie/owl/Datatypes.owl#Time"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="Temperature"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Weather"/> <rdfs:subPropertyOf rdf:resource="http://moguntia.ucd.ie/owl/Datatypes.owl#Temperature"/> </owl:DatatypeProperty> <grounding:wsdlOutputMessageMap> <grounding:wsdlMessagePart> <xsd:anyURI rdf:value="&the_wsdl;#Body"/> </grounding:wsdlMessagePart> <grounding:xsltTransformation rdf:parseType="Literal"> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns" xmlns:the_concepts="&the_concepts;" xmlns:the_process="&the_process;"> <the_concepts:Weather> <the_concepts:Time> <xsl:value-of select="Body/Time"/> </the_concepts:Time>

slide-50
SLIDE 50

50 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

OWL-S Export OWL-S Export

  • The OWL-S Export generates not only:
  • Grounding, Profile, Process Model, Concepts

(like WSDL2DAML-S by Paolucci, Sycara & al.)

slide-51
SLIDE 51

51 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

OWL-S Export OWL-S Export

  • But also the harder stuff:
  • XSLT Transformations

in Grounding

  • Use shared ontologies

for Concepts, Profile

slide-52
SLIDE 52

52 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Machine Learning for Annotating Semantic Web Services Machine Learning for Annotating Semantic Web Services

✔ Introduction ✔ Our Machine Learning Approach ✔ Machine Learning Assisted Annotation

  • 4. Conclusion & Discussion
slide-53
SLIDE 53

53 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Contributions Contributions

  • Summary
  • Machine Learning

a) Ensemble learning for classifying Web Services categories b) Iterative classification for classifying complete Web Services c) Bayesian inference algorithm for classifying forms

  • Tool for Assisted Annotation
slide-54
SLIDE 54

54 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Open Issues & Limitations Open Issues & Limitations

  • Open issues
  • Predictions can never be good enough!
  • Upper ontologies used for annotation
  • Limitations: We do not handle...
  • Composite Processes
  • Composition & Workflow
slide-55
SLIDE 55

55 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Repository of Semantic Web Services Repository of Semantic Web Services

  • We have annotated Web Services!
  • Visit our Repository of Semantic Web Services:

smi.ucd.ie/RSWS

slide-56
SLIDE 56

56 Andreas Heß, Nicholas Kushmerick: Machine Learning for Annotating Semantic Web Services

Discussion & Questions Discussion & Questions

  • Questions?