SlideShare a Scribd company logo
1 of 28
Download to read offline
“
                                               Laureando: Michele Filannino

                                               Sviluppo di un algoritmo di similarità
                                               a supporto dell’annotazione
                                               semantica di web services
                                                                         Relatori: Prof. G.Semeraro, Prof. P.Lops
                                                                         Correlatrice: Dott.ssa E.Tinelli




Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   ||   tesi	
  di	
  laurea
> Titolo	
  sezione	
  parte	
  1
  Titolo	
  sezione	
  parte	
  2




  * Obiettivo
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.



Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
1
                                               Introduzione ai
                                               [Semantic]* Web Services
                                               dall’architettura	
  SOA	
  ai	
  semantic	
  web	
  services




Università	
  degli	
  Studi	
  di	
  Bari |    cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> Introduzione	
  ai
  Semantic	
  Web	
  Services




                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.




Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
<wsdl:description
	
  	
  targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"
                         Definizione	
  dei	
  TIPI	
  DI	
  DATO	
  
	
  	
  xmlns="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"
                         con	
  sintassi	
  in	
  linguaggio	
  
	
  	
  xmlns:wsdl="http://www.w3.org/ns/wsdl"
                         XML.
	
  	
  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">




                                                                                                                     Web service
	
  	
  	
  	
  	
  	
  	
  	
  <xs:restriction	
  base="xs:string">
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <xs:enumeration	
  value="Confirmed"	
  />
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <xs:enumeration	
  value="Pending"	
  />
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <xs:enumeration	
  value="Rejected"	
  />
	
  	
  	
  	
  	
  	
  	
  	
  </xs:restriction>                    Definizione	
  dell’interfaccia	
  
                                                                     (insieme	
  di	
  operazioni)	
  con	
  i	
  
	
  	
  	
  	
  	
  	
  </xs:simpleType>
                                                                     relativi	
  INPUT	
  ed	
  OUTPUT	
  
	
  	
  	
  	
  </xs:schema>
                                                                     attesi.
	
  	
  </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>
> Introduzione	
  ai
  Semantic	
  Web	
  Services




  * Semantic Web Service
evoluzione	
  dei	
  web	
  service

                       sono	
  costruiti	
  a	
  partire	
  dai	
  web	
  
                       service
                       integrano	
  annotazioni	
  semantiche
                       migliorano	
  la	
  fase	
  di	
  ricerca
                       migliorano	
  la	
  fase	
  di	
  composizione



Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> Introduzione	
  ai
  Semantic	
  Web	
  Services




** Annotazione semantica
SAWSDL
                       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

Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
Semantic web service (SAWSDL)
                                            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).
<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/




                                                                                                            File WSDL arricchito
RDFOnt2Request.xml">
        ...
      </xs:element>                                                 Esempio	
  di	
  PUNTATORE	
  
      <xs:complexType name="item">                                  SEMANTICO	
  al	
  concetto	
  di	
  
        ...                                                         “conferma	
  ordine”.
      </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>
2
                                               Semantic WS Oriented Platform
                                               il progetto SWOP
                                               caso	
  di	
  studio,	
  caratteristiche,	
  annotazione	
  
                                               semantica,	
  architettura	
  generale,	
  ontologia




Università	
  degli	
  Studi	
  di	
  Bari |    cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> semantic	
  web	
  service	
  oriented	
  platform
  il	
  progetto	
  SWOP




  * Progetto SWOP
semantic	
  web	
  service	
  oriented	
  platform

                   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)


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> semantic	
  web	
  service	
  oriented	
  platform
  il	
  progetto	
  SWOP




                Annotazione semantica
                Ogni	
   documento	
   WSDL	
   viene	
   annotato	
   in	
            s u g g e r i r e	
   d e i	
   c o n c e t t i	
   o n t o l o g i c i	
  
                linguaggio	
   naturale	
   da	
  uno	
   sviluppatore	
   e	
         pertinenti.	
   Lo	
   sviluppatore,	
   previo	
  
                tali	
   annotazioni	
   vengono	
   elaborate	
   per	
               controllo,	
  produce	
  il	
  file	
  SAWSDL.	
  




                                         Descrizioni in                                    Approvano/respingono
                                     linguaggio naturale                                   i suggerimenti prodotti




            Documento                                                                                                                  Documento
                                     Tool di annotazione                                     Tool di annotazione
              WSDL                                                                                                                      SAWSDL



Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale    |   aa	
  2009/2010       || tema:	
  tesi	
  di	
  laurea
SAWA logo
Algoritmo	
  per	
  il	
  calcolo	
  




                                                 Architettura generale
della	
  SIMILARITÀ	
  SEMANTICA	
  
tra	
  frasi	
  espresse	
  in	
  
linguaggio	
  naturale.




             Ontologia	
  contenente	
  
             tutti	
  i	
  CONCETTI	
  DEL	
  
             DOMINIO	
  APPLICATIVO	
  di	
  
             riferimento.
> semantic	
  web	
  service	
  oriented	
  platform
  il	
  progetto	
  SWOP




** Ontologia
caratteristiche


                       1064	
  classi
                       ogni	
  classe	
  ha	
  una	
  
                       definizione	
  in	
  
                       lingua	
  inglese




Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
3
                                               L’algoritmo di similarità semantica
                                               SAWA
                                               Similarity	
  Algorithm	
  based	
  on	
  Wikipedia




Università	
  degli	
  Studi	
  di	
  Bari |    cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> L’algoritmo	
  di	
  similarità	
  semantica
  SAWA




                Similarità
                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à.




                * 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)


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> L’algoritmo	
  di	
  similarità	
  semantica
  SAWA




  * Similarità tra parole
algoritmi,	
  corpus
                   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).


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> L’algoritmo	
  di	
  similarità	
  semantica
  SAWA




                Dalla similarità tra parole a quella tra testi
                Si	
   procede	
   alla	
   rimozione	
   di	
   tutte	
   le	
         discriminatorio,	
   oltre	
   che	
  degli	
   articoli	
  
                parole	
   che	
   occorrono	
   molto	
   spesso	
   nel	
             e	
  dei	
  segni	
  di	
  punteggiatura.
                c o r p u s ,	
   a v e n t i	
   s c a r s o	
   p o t e r e	
  




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

                                                                                           STOPWORD



                                 | name | customer | categorized | individual | consumer |




Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale     |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> L’algoritmo	
  di	
  similarità	
  semantica
  SAWA




                Algoritmo di Corley, Mihalcea
                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.




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


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale      |   aa	
  2009/2010     || tema:	
  tesi	
  di	
  laurea
> L’algoritmo	
  di	
  similarità	
  semantica
  SAWA




** Costo computazionale
complessità

                   SAWA:	
  O(n)

                   Annotazione:

                   SAWA	
  *	
  #onto_classi	
  *	
  #wsdl_elem	
  ≈
                   SAWA	
  *	
  	
  	
  	
  	
  1064	
  	
  	
  	
  	
  *	
  	
  	
  	
  	
  10	
  	
  	
  	
  	
  =
                   SAWA	
  *	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  10640


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
4
                                               Risultati &
                                               sviluppi futuri
                                               performance,	
  qualità,	
  interfacce	
  




Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> Risultati	
  &
  sviluppi	
  futuri




  * Performance
tempo	
  di	
  computazione

                       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%)


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
> Risultati	
  &
  sviluppi	
  futuri




** Performance
qualità	
  dei	
  risultati

                                                        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)


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
interfaccia web
*http://tinyurl.com/sawa-filannino
interfaccia web
> Risultati	
  &
  sviluppi	
  futuri




  * Sviluppi futuri
breve	
  e	
  lungo	
  periodo

                       sperimentazione	
  in	
  vivo	
  
                       dell’algoritmo
                       sviluppo	
  di	
  un	
  algoritmo	
  di	
  
                       similarità	
  tra	
  parole
                       rilascio	
  del	
  codice	
  sorgente	
  sotto	
  
                       licenza	
  open-­‐source


Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea
”
                                               A tutti voi,
                                               grazie per l’attenzione.
                                               ;)




Università	
  degli	
  Studi	
  di	
  Bari |   cdl	
  informatica	
  magistrale   |   aa	
  2009/2010   || tema:	
  tesi	
  di	
  laurea

More Related Content

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

AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
Enhanced Android Render Kit - Thesis Project - UNIBAS - IT
Enhanced Android Render Kit - Thesis Project - UNIBAS - ITEnhanced Android Render Kit - Thesis Project - UNIBAS - IT
Enhanced Android Render Kit - Thesis Project - UNIBAS - ITroccogii
 
SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006
SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006
SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006Emanuele Della Valle
 
September 2010 - Gatein
September 2010 - GateinSeptember 2010 - Gatein
September 2010 - GateinJBug Italy
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)Sabino Labarile
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide SitoDavide Sito
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service FabricMassimo Bonanni
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Codemotion
 
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative  al Sistema di Catalogazione del progetto MESSIAHInterfacce applicative  al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAHCostantino Landino
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 

Similar to Sviluppo di un algoritmo di similarità a supporto dell'annotazione semantica di web services (20)

AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
Enhanced Android Render Kit - Thesis Project - UNIBAS - IT
Enhanced Android Render Kit - Thesis Project - UNIBAS - ITEnhanced Android Render Kit - Thesis Project - UNIBAS - IT
Enhanced Android Render Kit - Thesis Project - UNIBAS - IT
 
Spcoop.ver 1.4
Spcoop.ver 1.4Spcoop.ver 1.4
Spcoop.ver 1.4
 
Corso web services
Corso web servicesCorso web services
Corso web services
 
SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006
SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006
SWE-ET: la soluzione Italiana alla Semantic Web Service Challenge 2006
 
September 2010 - Gatein
September 2010 - GateinSeptember 2010 - Gatein
September 2010 - Gatein
 
Sawsdl Restriced
Sawsdl RestricedSawsdl Restriced
Sawsdl Restriced
 
Rubrica Pubblica Ateneo
Rubrica Pubblica AteneoRubrica Pubblica Ateneo
Rubrica Pubblica Ateneo
 
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide Sito
 
Microservices architecture & Service Fabric
Microservices architecture & Service FabricMicroservices architecture & Service Fabric
Microservices architecture & Service Fabric
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
WiStat@Unina
WiStat@UninaWiStat@Unina
WiStat@Unina
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
 
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative  al Sistema di Catalogazione del progetto MESSIAHInterfacce applicative  al Sistema di Catalogazione del progetto MESSIAH
Interfacce applicative al Sistema di Catalogazione del progetto MESSIAH
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
TESIPOLI
TESIPOLITESIPOLI
TESIPOLI
 

More from Michele Filannino

Using machine learning to predict temporal orientation of search engines’ que...
Using machine learning to predict temporal orientation of search engines’ que...Using machine learning to predict temporal orientation of search engines’ que...
Using machine learning to predict temporal orientation of search engines’ que...Michele Filannino
 
Temporal information extraction in the general and clinical domain
Temporal information extraction in the general and clinical domainTemporal information extraction in the general and clinical domain
Temporal information extraction in the general and clinical domainMichele Filannino
 
Mining temporal footprints from Wikipedia
Mining temporal footprints from WikipediaMining temporal footprints from Wikipedia
Mining temporal footprints from WikipediaMichele Filannino
 
Can computers understand time?
Can computers understand time?Can computers understand time?
Can computers understand time?Michele Filannino
 
Detecting novel associations in large data sets
Detecting novel associations in large data setsDetecting novel associations in large data sets
Detecting novel associations in large data setsMichele Filannino
 
Temporal expressions identification in biomedical texts
Temporal expressions identification in biomedical textsTemporal expressions identification in biomedical texts
Temporal expressions identification in biomedical textsMichele Filannino
 
Nonlinear component analysis as a kernel eigenvalue problem
Nonlinear component analysis as a kernel eigenvalue problemNonlinear component analysis as a kernel eigenvalue problem
Nonlinear component analysis as a kernel eigenvalue problemMichele Filannino
 
Tecniche fuzzy per l'elaborazione del linguaggio naturale
Tecniche fuzzy per l'elaborazione del linguaggio naturaleTecniche fuzzy per l'elaborazione del linguaggio naturale
Tecniche fuzzy per l'elaborazione del linguaggio naturaleMichele Filannino
 
Algoritmo di text-similarity per l'annotazione semantica di Web Service
Algoritmo di text-similarity per l'annotazione semantica di Web ServiceAlgoritmo di text-similarity per l'annotazione semantica di Web Service
Algoritmo di text-similarity per l'annotazione semantica di Web ServiceMichele Filannino
 
SWOP project and META software
SWOP project and META softwareSWOP project and META software
SWOP project and META softwareMichele Filannino
 
Semantic Web Service Annotation
Semantic Web Service AnnotationSemantic Web Service Annotation
Semantic Web Service AnnotationMichele Filannino
 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMMichele Filannino
 
Modulo di serendipità in un Item Recommender System
Modulo di serendipità in un Item Recommender SystemModulo di serendipità in un Item Recommender System
Modulo di serendipità in un Item Recommender SystemMichele Filannino
 
Serendipity module in Item Recommender System
Serendipity module in Item Recommender SystemSerendipity module in Item Recommender System
Serendipity module in Item Recommender SystemMichele Filannino
 
Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...
Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...
Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...Michele Filannino
 

More from Michele Filannino (17)

me_t3_october
me_t3_octoberme_t3_october
me_t3_october
 
Using machine learning to predict temporal orientation of search engines’ que...
Using machine learning to predict temporal orientation of search engines’ que...Using machine learning to predict temporal orientation of search engines’ que...
Using machine learning to predict temporal orientation of search engines’ que...
 
Temporal information extraction in the general and clinical domain
Temporal information extraction in the general and clinical domainTemporal information extraction in the general and clinical domain
Temporal information extraction in the general and clinical domain
 
Mining temporal footprints from Wikipedia
Mining temporal footprints from WikipediaMining temporal footprints from Wikipedia
Mining temporal footprints from Wikipedia
 
Can computers understand time?
Can computers understand time?Can computers understand time?
Can computers understand time?
 
Detecting novel associations in large data sets
Detecting novel associations in large data setsDetecting novel associations in large data sets
Detecting novel associations in large data sets
 
Temporal expressions identification in biomedical texts
Temporal expressions identification in biomedical textsTemporal expressions identification in biomedical texts
Temporal expressions identification in biomedical texts
 
My research taster project
My research taster projectMy research taster project
My research taster project
 
Nonlinear component analysis as a kernel eigenvalue problem
Nonlinear component analysis as a kernel eigenvalue problemNonlinear component analysis as a kernel eigenvalue problem
Nonlinear component analysis as a kernel eigenvalue problem
 
Tecniche fuzzy per l'elaborazione del linguaggio naturale
Tecniche fuzzy per l'elaborazione del linguaggio naturaleTecniche fuzzy per l'elaborazione del linguaggio naturale
Tecniche fuzzy per l'elaborazione del linguaggio naturale
 
Algoritmo di text-similarity per l'annotazione semantica di Web Service
Algoritmo di text-similarity per l'annotazione semantica di Web ServiceAlgoritmo di text-similarity per l'annotazione semantica di Web Service
Algoritmo di text-similarity per l'annotazione semantica di Web Service
 
SWOP project and META software
SWOP project and META softwareSWOP project and META software
SWOP project and META software
 
Semantic Web Service Annotation
Semantic Web Service AnnotationSemantic Web Service Annotation
Semantic Web Service Annotation
 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPM
 
Modulo di serendipità in un Item Recommender System
Modulo di serendipità in un Item Recommender SystemModulo di serendipità in un Item Recommender System
Modulo di serendipità in un Item Recommender System
 
Serendipity module in Item Recommender System
Serendipity module in Item Recommender SystemSerendipity module in Item Recommender System
Serendipity module in Item Recommender System
 
Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...
Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...
Orchestrazione di risorse umane nel BPM: Gestione dinamica feature-based dell...
 

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

  • 1. Laureando: Michele Filannino Sviluppo di un algoritmo di similarità a supporto dell’annotazione semantica di web services Relatori: Prof. G.Semeraro, Prof. P.Lops Correlatrice: Dott.ssa E.Tinelli Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tesi  di  laurea
  • 2. > Titolo  sezione  parte  1 Titolo  sezione  parte  2 * Obiettivo 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. Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 3. 1 Introduzione ai [Semantic]* Web Services dall’architettura  SOA  ai  semantic  web  services Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 4. > Introduzione  ai Semantic  Web  Services 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. Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 5. <wsdl:description    targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#" Definizione  dei  TIPI  DI  DATO      xmlns="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#" con  sintassi  in  linguaggio      xmlns:wsdl="http://www.w3.org/ns/wsdl" XML.    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"> Web service                <xs:restriction  base="xs:string">                    <xs:enumeration  value="Confirmed"  />                    <xs:enumeration  value="Pending"  />                    <xs:enumeration  value="Rejected"  />                </xs:restriction> Definizione  dell’interfaccia   (insieme  di  operazioni)  con  i              </xs:simpleType> relativi  INPUT  ed  OUTPUT          </xs:schema> attesi.    </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>
  • 6. > Introduzione  ai Semantic  Web  Services * Semantic Web Service evoluzione  dei  web  service sono  costruiti  a  partire  dai  web   service integrano  annotazioni  semantiche migliorano  la  fase  di  ricerca migliorano  la  fase  di  composizione Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 7. > Introduzione  ai Semantic  Web  Services ** Annotazione semantica SAWSDL 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 Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 8. Semantic web service (SAWSDL) 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).
  • 9. <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/ File WSDL arricchito RDFOnt2Request.xml"> ... </xs:element> Esempio  di  PUNTATORE   <xs:complexType name="item"> SEMANTICO  al  concetto  di   ... “conferma  ordine”. </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>
  • 10. 2 Semantic WS Oriented Platform il progetto SWOP caso  di  studio,  caratteristiche,  annotazione   semantica,  architettura  generale,  ontologia Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 11. > semantic  web  service  oriented  platform il  progetto  SWOP * Progetto SWOP semantic  web  service  oriented  platform 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) Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 12. > semantic  web  service  oriented  platform il  progetto  SWOP Annotazione semantica Ogni   documento   WSDL   viene   annotato   in   s u g g e r i r e   d e i   c o n c e t t i   o n t o l o g i c i   linguaggio   naturale   da  uno   sviluppatore   e   pertinenti.   Lo   sviluppatore,   previo   tali   annotazioni   vengono   elaborate   per   controllo,  produce  il  file  SAWSDL.   Descrizioni in Approvano/respingono linguaggio naturale i suggerimenti prodotti Documento Documento Tool di annotazione Tool di annotazione WSDL SAWSDL Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 14. Algoritmo  per  il  calcolo   Architettura generale della  SIMILARITÀ  SEMANTICA   tra  frasi  espresse  in   linguaggio  naturale. Ontologia  contenente   tutti  i  CONCETTI  DEL   DOMINIO  APPLICATIVO  di   riferimento.
  • 15. > semantic  web  service  oriented  platform il  progetto  SWOP ** Ontologia caratteristiche 1064  classi ogni  classe  ha  una   definizione  in   lingua  inglese Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 16. 3 L’algoritmo di similarità semantica SAWA Similarity  Algorithm  based  on  Wikipedia Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 17. > L’algoritmo  di  similarità  semantica SAWA Similarità 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à. * 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) Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 18. > L’algoritmo  di  similarità  semantica SAWA * Similarità tra parole algoritmi,  corpus 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). Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 19. > L’algoritmo  di  similarità  semantica SAWA Dalla similarità tra parole a quella tra testi Si   procede   alla   rimozione   di   tutte   le   discriminatorio,   oltre   che  degli   articoli   parole   che   occorrono   molto   spesso   nel   e  dei  segni  di  punteggiatura. c o r p u s ,   a v e n t i   s c a r s o   p o t e r e   “Returns the first and last name of each customer who is categorized as an individual consumer” STOPWORD | name | customer | categorized | individual | consumer | Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 20. > L’algoritmo  di  similarità  semantica SAWA Algoritmo di Corley, Mihalcea 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. * Corpus-based and knowledge-based measures of text semantic similarity, Rada Mihalcea, Courtney Corley, and Carlo Strapparava, In AAAI'06, page 775-780. (2006) Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 21. > L’algoritmo  di  similarità  semantica SAWA ** Costo computazionale complessità SAWA:  O(n) Annotazione: SAWA  *  #onto_classi  *  #wsdl_elem  ≈ SAWA  *          1064          *          10          = SAWA  *                        10640 Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 22. 4 Risultati & sviluppi futuri performance,  qualità,  interfacce   Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 23. > Risultati  & sviluppi  futuri * Performance tempo  di  computazione 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%) Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 24. > Risultati  & sviluppi  futuri ** Performance qualità  dei  risultati 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) Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 27. > Risultati  & sviluppi  futuri * Sviluppi futuri breve  e  lungo  periodo sperimentazione  in  vivo   dell’algoritmo sviluppo  di  un  algoritmo  di   similarità  tra  parole rilascio  del  codice  sorgente  sotto   licenza  open-­‐source Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea
  • 28. A tutti voi, grazie per l’attenzione. ;) Università  degli  Studi  di  Bari | cdl  informatica  magistrale | aa  2009/2010 || tema:  tesi  di  laurea