Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

28
| | || Relatori: Prof. G.Semeraro, Prof. P.Lops Correlatrice: Dott.ssa E.Tinelli Laureando: Michele Filannino Sviluppo di un algoritmo di similarità a supporto dell’annotazione semantica di web services cdl informatica magistrale Università degli Studi di Bari tesi di laurea aa 2009/2010

description

Presentation of my Master Degree in Computer Science.

Transcript of Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

Page 1: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

| | ||

Relatori: Prof. G.Semeraro, Prof. P.LopsCorrelatrice: Dott.ssa E.Tinelli“Laureando: Michele Filannino

Sviluppo di un algoritmo di similarità a supporto dell’annotazione semantica di web services

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tesi  di  laureaaa  2009/2010

Page 2: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

*

Titolo  sezione  parte  1Titolo  sezione  parte  2

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

della  tesi

Realizzazione  di  un  algoritmo  per  il  calcolo  della  similarità  semantica  tra  testi,  che  sia  di  supporto  alla  fase  di  annotazione  semantica  di  web  service  tramite  standard  SAWSDL.

Obiettivo

Page 3: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

| | ||

dall’architettura  SOA  ai  semantic  web  services1 Introduzione ai[Semantic]* Web Services

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Page 4: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

Introduzione  aiSemantic  Web  Services

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

WEB SERVICE

In   una   SOA,   quando   il   mezzo   di   trasmissione   è   il   Web,   la   componente   più  utilizzata  per  implementare  i  servizi  offerti  dal  Service  Provider  è  il  Web  Service.  Ogni  attore  di  una  rete  offre  servizi  ed  usa  quelli  offerti  dagli  altri  attori.

Page 5: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

<wsdl:description    targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"    xmlns="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"    xmlns:wsdl="http://www.w3.org/ns/wsdl"    xmlns:xs="http://www.w3.org/2001/XMLSchema">

   <wsdl:types>        <xs:schema  targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"            elementFormDefault="qualified">            <xs:element  name="OrderRequest">                ...            </xs:element>            <xs:complexType  name="item">                ...            </xs:complexType>            <xs:element  name="OrderResponse"  type="confirmation"  />            <xs:simpleType  name="confirmation">                <xs:restriction  base="xs:string">                    <xs:enumeration  value="Confirmed"  />                    <xs:enumeration  value="Pending"  />                    <xs:enumeration  value="Rejected"  />                </xs:restriction>            </xs:simpleType>        </xs:schema>    </wsdl:types>

   <wsdl:interface  name="Order">        <wsdl:operation  name="order"  pattern="http://www.w3.org/ns/wsdl/in-­‐out">            <wsdl:input  element="OrderRequest"  />            <wsdl:output  element="OrderResponse"  />        </wsdl:operation>    </wsdl:interface></wsdl:description>

Web

ser

vice

Definizione  dei  TIPI  DI  DATO  con  sintassi  in  linguaggio  XML.

Definizione  dell’interfaccia  (insieme  di  operazioni)  con  i  relativi  INPUT  ed  OUTPUT  attesi.

Page 6: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

*

Introduzione  aiSemantic  Web  Services

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

evoluzione  dei  web  serviceSemantic Web Service

sono  costruiti  a  partire  dai  web  service

integrano  annotazioni  semantiche

migliorano  la  fase  di  ricerca

migliorano  la  fase  di  composizione

Page 7: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

**

Introduzione  aiSemantic  Web  Services

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

SAWSDLAnnotazione semantica

Standard  W3C:  SAWSDL

estende  lo  standard  WSDL  (Web  Service  Description  Language)

associa  ad  un  elemento  WSDL  un  insieme  di  riferimenti  URL  a  classi  ontologiche

è  ulteriormente  estendibile

Page 8: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

Sem

an

tic

web

ser

vice

(S

AW

SD

L)

ONTOLOGIE  di  dominio  contenenti  classi  ontologiche  alle  quali  puntano  i  RIFERIMENTI  SEMANTICI.

Un  servizio  web  per  la  prenotazione  di  biglietti  di  voli  aerei,  rappresentato  in  WSDL  (con  XML).

Page 9: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

<wsdl:description targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#" xmlns="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sawsdl="http://www.w3.org/ns/sawsdl"> <wsdl:types> <xs:schema targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#" elementFormDefault="qualified"> <xs:element name="OrderRequest" sawsdl:modelReference="http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#OrderRequest" sawsdl:loweringSchemaMapping="http://www.w3.org/2002/ws/sawsdl/spec/mapping/RDFOnt2Request.xml"> ... </xs:element> <xs:complexType name="item"> ... </xs:complexType> <xs:element name="OrderResponse" type="confirmation" /> <xs:simpleType name="confirmation" sawsdl:modelReference="http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#OrderConfirmation"> <xs:restriction base="xs:string"> <xs:enumeration value="Confirmed" /> <xs:enumeration value="Pending" /> <xs:enumeration value="Rejected" /> </xs:restriction> </xs:simpleType> </xs:schema> </wsdl:types> <wsdl:interface name="Order" sawsdl:modelReference="http://example.org/categorization/products/electronics"> <wsdl:operation name="order" pattern="http://www.w3.org/ns/wsdl/in-out" sawsdl:modelReference="http://www.w3.org/2002/ws/sawsdl/spec/ontology/purchaseorder#RequestPurchaseOrder"> <wsdl:input element="OrderRequest" /> <wsdl:output element="OrderResponse" /> </wsdl:operation> </wsdl:interface></wsdl:description>

File

WS

DL

arr

icch

ito

Esempio  di  PUNTATORE  SEMANTICO  al  concetto  di  “conferma  ordine”.

Page 10: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

| | ||

caso  di  studio,  caratteristiche,  annotazione  semantica,  architettura  generale,  ontologia2Semantic WS Oriented Platformil progetto SWOP

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Page 11: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

*

semantic  web  service  oriented  platformil  progetto  SWOP

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

semantic  web  service  oriented  platformProgetto SWOP

Progetto  SWOP:  POR  2007-­‐2013,  Asse  I,  Linea  intervento  1.1,  Regione  Puglia

Obiettivo:  creare  una  piattaforma  di  annotazione  e  ricerca  di  web  services

Caso  d’uso:  Adventure  Works  (vendita/acquisto  di  beni  e  servizi)

* SWOP: A Semantic Web services Oriented Platform, E. Tinelli, M. Filannino, D. Casulli, and L. Iaquinta, 6th Workshop on Semantic Web Application and Perspective SWAP2010 21-22 Sept 2010, Bressanone, Italy, (2010)

Page 12: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

Ogni   documento   WSDL   viene   annotato   in  linguaggio  naturale  da  uno  sviluppatore  e  tali   annotazioni   vengono   elaborate   per  

suggerire   dei   concetti   ontologici  pertinenti.   Lo   sviluppatore,   previo  controllo,  produce  il  file  SAWSDL.  

semantic  web  service  oriented  platformil  progetto  SWOP

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Annotazione semantica

DocumentoWSDL Tool di annotazione

Descrizioni inlinguaggio naturale

DocumentoSAWSDLTool di annotazione

Approvano/respingonoi suggerimenti prodotti

Page 13: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

SA

WA

logo

Page 14: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

Arc

hit

ettu

ra g

ener

ale

Ontologia  contenente  tutti  i  CONCETTI  DEL  DOMINIO  APPLICATIVO  di  riferimento.

Algoritmo  per  il  calcolo  della  SIMILARITÀ  SEMANTICA  tra  frasi  espresse  in  linguaggio  naturale.

Page 15: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

**

semantic  web  service  oriented  platformil  progetto  SWOP

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

caratteristicheOntologia

1064  classi

ogni  classe  ha  una  definizione  in  lingua  inglese

Page 16: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

| | ||

Similarity  Algorithm  based  on  Wikipedia3L’algoritmo di similarità semanticaSAWA

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Page 17: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

Sia  E  l’insieme  di  entità  che  con  caratteristiche  comuni,  allora  è  possibile  definire  la  funzione  che  ad  ogni  coppia  di  elementi  e₁,  e₂  ∈  E  associa  un  numero  reale  com-­‐preso  tra  0  ed  1.  Tale  valore  è  noto  con  il  nome  di  Coefficiente  di  similarità.

L’algoritmo  di  similarità  semanticaSAWA

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Similarità

* A semantic similarity measure for expressive description logics, C. d'Amato, N. Fanizzi, and F. Esposito, Proceedings of Convegno Italiano di Logica Computazionale CILC05 21-22 June 2005, Rome, Italy, (2005)

Page 18: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

*

L’algoritmo  di  similarità  semanticaSAWA

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

algoritmi,  corpusSimilarità tra parole

API:

LinguaTools

Corpus:

WikipediA

Algoritmo  di  similarità:

Lin

* DISCO: A Multilingual Database of Distributionally Similar Words, P. Kolb, In Proceedings of KONVENS-2008, Berlin, Germany, (2008).

Page 19: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

Si   procede   alla   rimozione   di   tutte   le  parole   che   occorrono   molto   spesso   nel  c o r p u s ,   a v e n t i   s c a r s o   p o t e r e  

discriminatorio,  oltre  che  degli  articoli  e  dei  segni  di  punteggiatura.

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Dalla similarità tra parole a quella tra testi

| name | customer | categorized | individual | consumer |

“Returns the first and last name of each customer who is categorized as an individual consumer”

STOPWORD

L’algoritmo  di  similarità  semanticaSAWA

Page 20: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

Per  ogni  parola  della  prima  frase  si  moltiplica  il  coefficiente  di  similarità  ottenuto  dal   confronto   con   la   parola   più   simile   nella   seconda   frase   e   si   moltiplica   per   la  frequenza   del   termine   nel   corpus.   Tutti   gli   score   vengono   sommati   e   normalizzati   in  base  alle  frequenze  dei  termini  nei  corpus.  La  funzione  non  è  simmetrica.

L’algoritmo  di  similarità  semanticaSAWA

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Algoritmo di Corley, Mihalcea

* Corpus-based and knowledge-based measures of text semantic similarity, Rada Mihalcea, Courtney Corley, and Carlo Strapparava, In AAAI'06, page 775-780. (2006)

Page 21: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

L’algoritmo  di  similarità  semanticaSAWA

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

**complessità

Costo computazionale

SAWA:  O(n)

Annotazione:

SAWA  *  #onto_classi  *  #wsdl_elem  ≈

SAWA  *          1064          *          10          =

SAWA  *                        10640

Page 22: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

| | ||

performance,  qualità,  interfacce  4Risultati &sviluppi futuri

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

Page 23: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

*

Risultati  &sviluppi  futuri

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

tempo  di  computazionePerformance

10  elementi  WSDL  da  annotare  (media  di  13  parole  ciascuno)  

31  classi  ontologiche  (media  di  7  parole  ciascuna)

tempo  di  accesso  al  disco:  26ms

11  minuti  -­‐>  4,39  secondi  (-­‐93,35%)

Page 24: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

**

Risultati  &sviluppi  futuri

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

qualità  dei  risultatiPerformance

Spearman’s  ρ Pearson’s  r

STATIS 0,8126 0,8162

LSA 0,8714 0,8384

STS 0,8380 0,8530

Omiotis 0,8905 0,8560

SAWA 0,8935 0,8740

* Sentence Similarity Based on Semantic Nets and Corpus Statistics, Y. Li, et al., IEEE Transactions on Knowledge and Data Engineering, 18(8), page 1138-1150, (2006)

Page 26: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

inte

rfac

cia

web

Page 27: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

>

| | ||

*

Risultati  &sviluppi  futuri

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010

breve  e  lungo  periodoSviluppi futuri

sperimentazione  in  vivo  dell’algoritmo

sviluppo  di  un  algoritmo  di  similarità  tra  parole

rilascio  del  codice  sorgente  sotto  licenza  open-­‐source

Page 28: Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services

| | ||

;)”A tutti voi,grazie per l’attenzione.

cdl  informatica  magistraleUniversità  degli  Studi  di  Bari tema:  tesi  di  laureaaa  2009/2010