Contenuto
Ti trovi in: HOME »Programmi, progetti e risultati »I progetti »PRIN - Programmi di ricerca di Rilevante Interesse Nazionale»Programma di ricercaINIZIO_TESTO_DA_INDICIZZARE
PROGRAMMA DI RICERCA
italiano - english
Unità di Ricerca
Programmi di ricerca simili:
- 1 - Basi di dati crittografate
- 2 - Web Ram: web retrieval and mining
- 3 - Future applicazioni del paradigma peer-to-peer
- 4 - Metodi statistici multivariati per la valutazione integrata della qualità dei servizi di pubblica utilità: efficacia-efficienza, rischio del fornitore, soddisfazione degli utenti
- 5 - Sintesi automatica di modelli astratti a partire da dati temporali o spaziali
- 6 - La Geomatica a supporto delle azioni di Governo del Territorio
- 7 - Nuovi metodi statistici multivariati di classificazione e riduzione dimensionale per la valutazione e la customer satisfaction nei servizi
- 8 - Metodi basati sulla similarita' per la visione artificiale e il riconoscimento delle forme: Teoria, algoritmi, applicazioni
- 9 - ESTEEM: Emergent Semantics and cooperaTion in multi-knowledgE EnvironMents - Metodi e strumenti avanzati per la collaborazione semantica in comunita' virtuali su web
- 10 - Nuova metodica per l'analisi della biodiversità: un’applicazione del pirosequenziamento allo studio degli organismi del suolo
Classificazione scientifico-disciplinare
- Area scientifico disciplinare: Ingegneria industriale e dell'informazione
Classificazione brevettuale
- PHYSICS
- COMPUTING; CALCULATING; COUNTING (score computers for games A63; combinations of writing applicances with computing devices B43K29/08)
- ELECTRICAL DIGITAL DATA PROCESSING (computers in which a part of the computation is effected hydraulically or pneumatically G06D; optically G06E; self-contained input or output peripheral equipment G06K; impedance networks using digital techniques H03H) [C9603]
- COMPUTING; CALCULATING; COUNTING (score computers for games A63; combinations of writing applicances with computing devices B43K29/08)
Classificazione geografica
- Regione: Lombardia
Bibliografia
[A98]B.Adelberg.NoDoSE.A tool for semi-automatically extracting structured and semistructured data from text documents.SIGMOD98[ABS04]S.Amer-Yahia,C.Botev,J.Shanmugasundaram.TeXQuery: A Full-Text Search Extension to XQuery.WWW04
[AG03]A.Arasu,H.Garcia-Molina.Extracting Structured Data from Web Pages.SIGMOD03
[AVF+98]S.Abiteboul,V.Vianu,B.Fordham,Y.Yesha.Relational Transducers for Electronic Commerce.PODS98
[BBC+98]P.Bernstein et. al. The asilomar report on database research,1998. [BCD+03]D.Berardi,D.Calvanese,G.De Giacomo,M.Lenzerini,M.Mecella.Automatic Composition of E-Services that Export their Behavior.ICSOC03
[BCG+05]D.Berardi,D.Calvanese,G.De Giacomo,R.Hull,M.Mecella.Automatic composition of transition based semantic web services with messaging.VLDB05
[BFG01]R.Baumgartner,S.Flesca,G.Gottlob.Supervised Wrapper Generation with Lixto. VLDB01
[BFHS03]T.Bultan,X.Fu,R.Hull,J.Su.Conversation specification: a new approach to design and analysis of e-service composition.WWW03
[BLR97]C.Beeri,A.Y.Levy,M.C.Rousset.Rewriting queries using views in description logics.PODS97
[C03]A.Calì.Reasoning in data integration systems: Why LAVand GAV are siblings.ISMIS03
[CC02]A.Calì,D.Calvanese.Optimized querying of integrated data over the Web.EISIC02
[CCDL01]A.Calì,D.Calvanese,G.De Giacomo,M. Lenzerini.Accessing data integration systems through conceptual schemas.ER01
[CDL01a]D.Calvanese,G.De Giacomo,M.Lenzerini.A framework for ontology integration.SWWS01
[CDL01b] D. Calvanese, G. De Giacomo, M. Lenzerini. Ontology of integration and integration of ontologies. Description Logic Workshop 2001
[CDLV00]D.Calvanese,G.De Giacomo,M.Lenzerini,M.Y.Vardi.View-based query processing and constraint satisfaction.LICS00
[CGL+98]D.Calvanese,G.De Giacomo,M.Lenzerini,D.Nardi,R.Rosati.Information integration: Conceptual modeling and reasoning support.CoopIS98
[CHK01]V.Christophides,R.Hull,A.Kumar.Querying and Splicing of XML Workflows.
[CM01]V.Crescenzi,G.Mecca,P.Merialdo.RoadRunner: Towards Automatic Data Extraction from Large Web Sites.VLDB01
[CM04]V.Crescenzi,G.Mecca.Automatic information extraction from large websites. J. of the ACM,51(5),2004
[CS01]F.Casati,M.Shan.Dynamic and adaptive composition of e-services. In Information Systems 26(3),2001
[DCFS04]S.Das,E.I.Chong,G.Eadon,J.Srinivasan.Supporting Ontology-Based Semantic matching in RDBMS.VLDB04
[DDH01]A.Doan,P.Domingos,A.Y.Halevy.Reconciling Schemas of Disparate Data Sources: A Machine Learning Approach.SIGMOD01
[DHM04]X.Dong,A.Y.Halevy,J.Madhavan,E.Nemes,J.Zhang.Similarity Search for Web Services. VLDB04
[DL97]O.M.Duschka,A.Y.Levy.Recursive plans for information gathering. IJCAI97
[DLN05]A.Deutsch,B.Ludascher,A.Nash.Rewriting queries using views with access patterns under integrity constraints.ICDT05
[DR02]H.H.Do,E.Rahm.COMA-A System for Flexible Combination of Schema Matching Approaches.VLDB02.
[DSV04]A.Deutsch,L.Sui,V.Vianu.Specification and verification of data-driven web services.PODS04
[E02]C.M.Eastman.30,000 hits may be better than 300: Precision anomalies in Internet
searches. J. ASIST 53,11,2002
[ECJL+99] D.W.Embley, M.D.Campbell, Y.S.Jiang, S.W.Liddle, Y.K.Ng, D.Quass, R.D.Smith. Conceptual-model-based data extraction from multiple-record Web pages. Data Knowl.Eng.99
[F98] D.Freitag. Information extraction from html: Application of a general learning approach. AAAI98
[FBS04]X.Fu,T.Bultan,J.Su.Analysis of interacting BPEL web services.2004.
[FGK02]D.Florescu,A.Gruenhagen,D.Kossmann.XL: A Programming Language for Web Service Specification and Composition.WWW02
[FKMP03]R.Fagin,P.G.Kolaitis,R.J.Miller,L.Popa.Data exchange: Semantics and query answering.ICDT03
[FLM99]M.Friedman,A.Y.Levy,T.Millstein. Navigational plans for data integration.AAAI99
[FLMS99]D,Florescu,A.Y.Levy,I.Manolescu,D.Suciu.Query optimization in the presence of limited access patterns.SIGMOD99
[GLR00]F.Goasdoue,V.Lattes,M.C.Rousset.The use of CARIN language and algorithms for information integration: the picsel system.Int. J. on Cooperative Information Systems,2000
[GRGK97]V.N.Gudivada,V.V.Raghavan,W.I.Grosky,R.Kasanagottu.Information retrieval on the World Wide Web. IEEE Internet Comput.Sept-Oct,1997
[GWG96]S.Gauch,G.Wang,M.Gomez.Profusion: Intelligent fusion from multiple, different search engines. J. Univ. Comput.Sci.2,9,Sept,997
[H04]Y.Halevy.Structures, Semantics and Statistics.VLDB04
[HBCS03]R.Hull,M.Benedikt,V.Christophides,J.Su.E-Services: A Look Behind the Curtain.PODS03
[HDIM03]A.Halevy,O.E.A.Doan,Z.Ives,J.Madhavan.Crossing the structure chasm.CIDR03
[J00]B.J.Jansen.The effect of query complexity on web searching results.Inf. Res.,6(1),2000.
[JLVV99]M.Jarke,M.Lenzerini,Y.Vassiliou,P.Passiliadis,editors.Fundamentals of Data Warehouses.Springer1999.
[JQC+00]M.Jarke,V.Quix,D.Calvanese,M.Lenzerini,E.Franconi,S.Ligoudistiano,P.Vassiliadis,Y.Vassiliou.Concept based design of data warehouses: The DWQ demonstra-tors.SIGMOD00
[L02]M.Lenzerini.Data integration: A theoretical perspective.PODS02
[LC00]C.Li,E.Chang.Query planning with limited source capabilities.ICDE00
[LC01]C.Li,E.Chang.On answering queries in the presence of limited access patterns.ICDT01.
[LGMK04]K.Lerman,C.Gazen,S.Minton,C.A.Knoblock.Populating the semantic web.AAAI04 Workshop on Advances in Text Extraction and Mining
[LSK95]A.Y.Levy,D.Srivastava,T.Kirk.Data model and query evaluation in global information systems. J. of Intelligent Information Systems,5,1995.
[LT02]W.Lucas,H.Topi.Form And Function: The Impact Of Query Term And Operator Usage On Web Search Results. J. Asist 53,2,2002
[MBR01]J.Madhavan,P.A.Bernstein,E.Rahm.Generic Schema Matching with Cupid.VLDB01.
[MBR05]J.Madhavan,P.A.Bernstein,A.H.Doan,A.H.Halevy.Corpus-based Schema Matching.ICDE05.
[MGR02]S.Melnik,H.Garcia-Molina,E.Rahm.Similarity Flooding: A Versatile Graph Matching Algorithm and Its Application to Schema Matching.ICDE02
[MM03]S.A.McIlraith,D.L.Martin.Bringing semantics to Web Services.IEEE Intelligent Systems,18(1):90-93,2003
[MMK99]I.Muslea,S.Minton,C.A.Knoblock.A hierarchical approach to wrapper induction.Conference on Autonomous Agents 1999.
[MS02]S.A.McIlraith,T.Cao Son.Adapting Golog for composition of Semantic Web services.KR02
[MZ98]T.Milo,S.Zohar.Using Schema Matching to Simplify Heterogeneous Data Translation. VLDB98
[N04]N.F.Noy.Semantic Integration.A Survey Of Ontology-Based Approaches.SIGMOD Record33(4),2004
[NL04]A.Nash,B.Ludascher.Processing first-order queries under limited access patterns.PODS04
[RB01]E.Rahm,P.A.Bernstein.A survey of approaches to automatic schema matching.VLDB J. 10(4),2001
[RSU95]A.Rajaraman,Y.Sagiv,J.D.Ullman.Answering queries using templates with binding patterns.PODS95
[S99]S.Soderrland.Learning information extraction rules for semistructured and free text. Mach. Learn.99.
[SDWG95]M.A.Sheldon,A.Duda,R.Weiss,D.K.Gifford.Discover: A resource discovery system based on content routing.WWW95.
[SO00]W.Sadiq,M.Orlowska.Analyzing Process Models Using Graph Reduction.In Information Systems 25(2):2000
[SPW+04]E.Sirin,B.Parsia,D.Wu,J.A.Hendler,D.S.Nau.Htn planning for web service composition using shop2. Journal of Web Semantics,1(4),2004
[SS04]S.Staab,R.Studer(Editors).Handbook on Ontologies, Springer 2004
[TP04]P.Traverso,M.Pistore.Automated composition of semantic web services into executable processes. Semantic Web Conference04
[U97]J.D.Ullman.Information integration using logical views.ICDT97
[UG04]M.Uschold,M.Grunninger. Ontologies and Semantics for Seamless Connectivity. SIGMOD Record 33(4),2004
[VMP04]Y.Velegrakis,R.J.Miller,L.Popa.Preserving mapping consistency under schema changes. VLDB J.13(3),2004
[WGST04]G.Weikum,J.Graupmann,R.Schenkel,M.Theobald.Towards a Statistically Semantic Web.ER2004
[WMB94]I.H.Witten,A.Moffat,T.C.Bell.Managing Gigabytes: Compressing and Indexing Documents and Images.Von Nostrand Reinhold,New York,1994.
[WYDM04]W.Wu,C.T.Yu,A.Doan,W.Meng.An Interactive Clustering-based Approach to Integrating Source Query interfaces on the Deep Web.SIGMOD04
Parole Chiave
WEB SERVICE, RICERCA SU WEB, JOIN, ONTOLOGIE, WRAPPERNuove tecniche e strumenti per l'interrogazione di servizi di ricerca su Web
Politecnico di MilanoAbstract
L’attuale evoluzione del Web è caratterizzata da un numero crescente di motori di ricerca e interfacce di interrogazione, che spaziano dalle forme più generiche (Google) alle più specifiche di particolari domini (geo-localizzazione, cataloghi online, …). Nel frattempo, le tecnologie di wrapping si stanno evolvendo e permettono ormai di sviluppare servizi specializzati che estraggono contenuti da siti Web data-intensive (es: wrapper di siti che pubblicano le quotazioni dei titoli), esponendo tali contenuti alla interrogazione tramite Web service.Anche se il numero di servizi di ricerca disponibili sul Web è in continuo aumento, essi tuttavia funzionano in modo isolato; il loro limite intrinseco è l’incapacità di rispondere a query complesse che investano più di un dominio. Interrogazioni come “trova tutti i ristoranti vegetariani vicini a Milano” richiedono di combinare motori di ricerca specializzati in domini differenti, quali la geo-localizzazione e la gastronomia. L’obiettivo di questa proposta di ricerca è di contribuire allo sviluppo di una nuova generazione di motori di ricerca (NGS) che integrino alcuni servizi noti e offrano all’utente una interfaccia unitaria verso di essi.
Il focus del progetto è sull’integrazione tecnologica e sullo sviluppo di nuovi algoritmi per il matching delle richieste a servizi indipendenti. Questa proposta non riguarda le tecnologie dei motori di ricerca in sé, quanto il miglioramento dell’efficacia complessiva dei motori sfruttando tecniche provenienti da vari campi di ricerca (soprattutto, riformulazione delle interrogazioni basandosi su ontologie, ottimizzazione delle interrogazioni guidata dall’utente, sviluppo e gestione dei wrapper). La recente disponibilità di tecnologie connesse a Web Service e a XML, e la possibilità di usare conoscenza raccolta in ontologie nel contesto del mapping dei dati (come suggerito dalla ricerca sul Semantic Web) rendono questo progetto realizzabile e rilevante.
Il progetto è diviso in cinque task: (a) progettazione dell’infrastruttura, necessaria per permettere la registrazione di ogni servizio e della descrizione del suo schema locale in termini della conoscenza ontologica; (b) supporto a tempo di ricerca, che consenta la sottomissione e il raffinamento delle interrogazioni, e che presenti i risultati agli utenti: (c) sviluppo di wrapper, focalizzato sulla loro generazione automatica, (d) riformulazione di interrogazioni, concentrandosi sul determinare l’insieme di servizi rilevanti per una certa richiesta basandosi sulla deduzione (e) ottimizzazione della ricerca, costruendo la miglior strategia per combinare i motori di ricerca. Il progetto ha una durata di due anni e prevede circa 250 mesi uomo.
Il progetto è proposto da tre unità con competenze complementari; ogni unità ha esperienza riconosciuta a livello internazionale e porta al Consorzio una delle tecnologie richieste dal progetto. Le tecnologie sono: costruzione di wrapper, tecniche di deduzione e tecnologie di ottimizzazione dei dati nel contesto del Web. <<<
Coordinatore Scientifico del Programma di Ricerca
Stefano Ceri Politecnico di MILANOObiettivo del Programma di Ricerca
L’evoluzione attuale del Web vede un numero crescente di servizi di ricerca e interfacce di interrogazione, che spaziano dai motori generali (Google) a siti specializzati in particolari domini (servizi di geo-localizzazione, cataloghi online). Inoltre, l’evoluzione tecnologica dei wrapper consente oggi di estrarre contenuti informativi da siti Web “data-intensive” (esempio: siti con quotazioni obbligazionarie) ed esporli all’interrogazione tramite Web Service. Se però i motori di ricerca e i siti specializzati possono essere usati separatamente per ricerche mirate, il loro limite intrinseco è l’impossibilità di supportare ricerche complesse, relative a più domini. Allo stato attuale, tali ricerche possono essere effettuate solo coinvolgendo un utente esperto, che utilizzi i servizi uno alla volta scegliendo quelli più adatti, e usi il risultato di una operazione come input per la successiva. Tuttavia, l’utente finale non vuole dover distinguere tra fonti eterogenee, quanto piuttosto interagire con un’interfaccia comune in grado interrogarle tutte. Inoltre, mentre è in genere disposto a un’interazione multipla per una ricerca complessa, vuole certamente evitare il “copia-e-incolla” dei risultati come input del passo successivo, perché è un approccio noioso e soggetto a errori.L’obiettivo della ricerca qui proposta è contribuire a sviluppare un motore di ricerca di nuova generazione (New Generation Search engine - NGS) che integra servizi noti e fornisce un’interfaccia uniforme. La disponibilità recente di Web Service e tecnologie basate su XML rende tale progetto realizzabile e riteniamo che si possano ottenere risultati promettenti nei tempi indicati. Aspetti centrali del progetto sono l’integrazione tecnologica e lo sviluppo di nuovi algoritmi di matching tra risultati di motori indipendenti. La proposta non riguarda direttamente le tecniche proprie dei motori di ricerca, quanto piuttosto il potenziamento dei motori attuali per integrazione di tecniche note in diversi ambiti di ricerca (in particolare: ottimizzazione di interrogazioni con rilevanza dei risultati, sviluppo e manutenzione di wrapper, ragionamento automatico).
Descrizione del problema
Obiettivo principale è studiare e sviluppare un framework che offra un’interfaccia comune a diversi servizi di ricerca specializzati in vari domini. Esempi di interrogazioni che coinvolgono dimensioni ortogonali sono:
Trova un buon ristorante vegetariano a circa 30 chilometri da Milano
Trova gli autori di articoli apparsi sul VLDB del Politecnico di Torino
Si tratta di congiunzioni di interrogazioni più semplici su dimensioni indipendenti. La prima richiede un servizio geografico e uno relativo a ristoranti, la seconda richiede la combinazione del risultato di un servizio bibliografico coi dati relativi al personale di una Facoltà. In termini tecnologici, il problema può essere riformulato così: come integrare Web Service, motori di ricerca e wrapper per tali ricerche complesse?
Registrazione dei servizi
Per costruire un’interfaccia comune a più servizi di ricerca, questi devono essere descritti semanticamente e resi noti al sistema (registrazione dei servizi). Nel nostro scenario, NGS esporta una Ontologia Globale dei concetti rilevanti per il dominio di interesse. Ogni servizio è poi descritto in termini dello schema locale delle interrogazioni che è in grado di supportare e di un mapping degli schemi locali verso i concetti dell’Ontologia Globale.
La combinazione di schema locale e mapping è necessaria per descrivere le varie potenzialità di ricerca, e sarà usata, assieme ai vincoli semantici espressi nell’Ontologia Globale, per dirigere le sotto-interrogazioni ai servizi appropriati.
Il primo obiettivo di ricerca è approntare uno schema flessibile per la registrazione di nuovi servizi; in particolare, utilizzeremo i mapping già esistenti e i vincoli semantici dell’Ontologia Globale per inferire proprietà di mapping all’aggiunta di uno schema locale, così da semplificare la registrazione ma anche renderla al contempo massimamente efficace.
Wrapping di fonti dati
Una porzione rilevante del Web è costituita da siti “data intensive”, ricche fonti di informazioni aggiornate. Tuttavia, poiché questi siti presentano i dati solo tramite pagine HTML, non è facile costruire applicazioni che li interroghino. Per includerle nel nostro framework, dobbiamo ricorrere a opportuni wrapper dei loro dati e costruire un’interfaccia di ricerca. Il processo mira ad estrarre e organizzare in XML i dati dalle pagine di origine. Affinché il sistema sia scalabile, la generazione dei wrapper dovrà essere automatizzata. Diversi approcci sono stati proposti per la produzione di wrapper, ma sono basati su formalismi il cui scarso potere espressivo si traduce in una limitata qualità dei dati estratti dai siti reali.
Il secondo obiettivo di ricerca è migliorare la generazione automatica di wrapper per aumentare la disponibilità di fonti dati, con un’interfaccia che imiti quella dei motori “convenzionali”.
Formulazione e riscrittura delle interrogazioni
Gli utenti formulano le richieste al sistema in un linguaggio di interrogazione che permette di esprimere i loro obiettivi riferendosi a concetti dell’Ontologia Globale. Per cogliere la semantica delle richieste, il linguaggio deve permettere di combinare i concetti, in modo simile a quanto si fa, ad esempio, nei Database Relazionali con le interrogazioni congiuntive. La scelta di un opportuno linguaggio di interrogazione è un passo importante nel progetto.
Il linguaggio di interrogazione e l’Ontologia Globale mascherano la specificità dei servizi. Così, l’interprete delle interrogazioni dovrà inferire che una ricerca richieda la composizione di due specifici servizi e indicare come invocarli. In questo contesto c’è una difficoltà in più: i Web Service non possono essere interrogati liberamente, ma solo tramite i metodi esposti.
Prevediamo anche un ambiente interattivo che guidi l’utente nel raffinamento delle interrogazioni, ad esempio, proponendo di sostituire componenti di un’interrogazione o suggerendo determinati attributi, eventualmente dopo aver mostrato un risultato parziale.
In generale, il sistema riceve in input la richiesta di un utente ed inferisce l’insieme di servizi rilevanti; poi, genera in output i risultati locali, con le informazioni per la composizione di Web Service. Il terzo obiettivo di ricerca, quindi, è la scomposizione delle interrogazioni in catene di invocazioni di servizi, accoppiate tramite metadati semantici.
Join di due Servizi
La strategia di risposta alle interrogazioni qui proposta si fonda sul join dei risultati di due servizi, effettuato tra liste ordinate di elementi XML. I risultati parziali provengono in ordine di rilevanza e a blocchi; ogni blocco richiede una coppia di operazioni di request/response.
Il quarto obiettivo di ricerca è costruire una collezione di metodi di join e di strategie per stabilire quale sia il metodo migliore; è una variante del problema di “ottimizzazione dei join” dei database relazionali, ma con metodi e metriche nuovi, adatti ai Web Service. I metodi di join dovrebbero produrre i risultati in ordine di rilevanza, servire gruppi di richieste degli utenti il più velocemente possibile e minimizzare il costo globale della computazione. In molte applicazioni questa minimizzazione si ha riducendo il numero di operazioni di request/response.
In conclusione, raggiungere i quattro obiettivi descritti significa sviluppare un motore di ricerca di nuova concezione, flessibile e facile da usare. La ricerca proposta produrrà al contempo anche misure delle prestazioni a vari livelli, tra cui precisione e recall delle interrogazioni, espressività del processo deduttivo utilizzato per la scomposizione delle interrogazioni ed efficacia e prestazioni dei metodi di join. <<<
Durata
24 mesiBase di partenza scientifica nazionale o internazionale
Il problema generale di interrogare il Web con strumenti più potenti degli attuali motori di ricerca è dettagliatamente descritto in [WGST04]. È una ulteriore formulazione di un problema riproposto più volte, e affrontato ogni volta sulla base dello stato dell’arte della tecnologia disponibile. Ad esempio, otto anni fa era stato chiaramente formulato nel “rapporto Asilomar” [BCC+98].Motori di ricerca e Information Retrieval
I motori di ricerca assistono l’utente nel compito di navigare il Web in modo rapido ed efficace. Per certi versi, il problema di trovare informazioni sul Web può essere riformulato come il problema di sapere dove trovare opportuni motori di ricerca. Le tipologie di motori sono due: generici e specifici. I motori generici sono un buon esempio di come la vastità del dominio di ricerca si ottenga spesso a scapito della qualità dei risultati, mentre quelli specifici sono adatti ad eseguire rapidamente ricerche relative a un dominio particolare.
I sistemi di Information Retrieval sono strumenti di supporto alla ricerca di documenti appartenenti a specifici insiemi o collezioni; tali sistemi sono utilizzati anche per la ricerca su Web di documenti a scopo didattico-informativo, educativo o genericamente ricreativo.
La tecnica più diffusa di Information Retrieval si basa sulla costruzione, a partire dal testo contenuto nella totalità dei documenti appartenenti alla collezione, di un indice invertito dei termini (inverted index). L’algoritmo più comunemente utillizzato è noto come tf-idf ( term frequency times inverse document frequency), e sfrutta le caratteristiche tipiche del linguaggio naturale combinando una misura della frequenza di un termine con una misura della sua rarità, per ottenere risultati più accurati [WMB94].
Sono stati condotti studi comparativi dei risultati di diversi motori di ricerca, previa opportuna riformulazione delle interrogazioni [GRGK97; E02; J00]. [GRGK97] effettua confronti utilizzando interrogazioni tra loro scorrelate. [LT02] fa riferimento ad otto specifici argomenti per le ricerche, effettuate sia da utenti inesperti che da utenti esperti e inviate a numerosi motori. [E02] indaga sulla precisione dei motori di ricerca utilizzando interrogazioni relative a numerosi argomenti e formulate con stili diversi, giungendo alla conclusione che la precisione non aumenta necessariamente con l’uso delle opzioni di “ricerca avanzata”.
Matching
Il problema di automatizzare il matching di schemi è stato già ampiamente studiato [RB01,HDIM03]. Molti approcci proposti cercano di catturare indizi sulla semantica degli schemi e suggeriscono le corrispondenze in base ad essi. Tra i metodi impiegati ci sono l’analisi linguistica [MZ98], l’analisi strutturale [DDH01,MBR01,MGR02] e il recupero di esperienze precedenti [DR02,VMP04]. Tuttavia, nel caso dei Web Service il problema si distingue per due ragioni fondamentali: in primo luogo, la granularità della ricerca è diversa, poiché il matching dei servizi deve essere completo, mentre il matching tra schemi mira a individuare componenti simili; inoltre, lo schema di un Web Service fornisce meno informazioni rispetto a un classico schema di un database, quindi le tecniche tradizionali non sono adattabili in modo banale.
Nella valutazione semantica delle interrogazioni gli utenti specificano l’output desiderato in termini di concetti a loro familiari (che possono non corrispondere ai termini usati nello schema del database) e il sistema elabora la strategia di generazione di quell’output. Tra i molti approcci al problema, di recente è divenuto popolare l’uso di ontologie [SS04], non solo in questo contesto [DCFS04], ma anche nel contesto più generale del matching semantico [N04,UG04].
Una buona introduzione alla necessità di un Web statisticamente semantico è in [WGST04]. Analizzare numerose strutture e molti mapping in un dominio preciso è un approccio efficace per scoprire i mapping semantici [H04]. L’intuizione alla base di tale approccio è che opportune statistiche su molte strutture diano indicazioni sulla semantica dei simboli in esse presenti. Su queste statistiche si può far leva per predire quando due simboli, contenuti in strutture indipendenti, sono impiegati per esprimere lo stesso concetto [DHM04]. In [WYDM04] gli autori costruiscono un matching tra varie Web form collegate, definendo una clusterizzazione dei loro campi. In [DHM04] si mostra come un “corpus” di Web Service si possa usare per derivare cluster di nomi di parametri che corrispondono ognuno a uno specifico concetto. Di recente, questo approccio basato su “corpus” è stato applicato anche al matching di schemi [MBR05].
Wrappers
L'utilizzo di Wrappers risponde all'esigenza di estrarre informazioni da siti Web. La letteratura presenta diversi approcci [A98,ECJL+99, F98, MMK99, S99] che hanno affrontato il problema di generare in modo semiautomatico tali Wrappers per l'estrazione dei dati da pagine HTML ragionevolmente strutturate. La limitazione principale di questi approcci consiste nel fatto che hanno bisogno di una fase laboriosa di addestramento, in cui il sistema è alimentato con un certo numero di esempi identificati. Questa operazione prevede una fase manuale, siccome le pagine devono essere identificate da un esperto (umano) che va a contrassegnare le parti più rilevanti delle informazioni da estrarre. Inoltre, la maggior parte di queste metodologie presuppongono una conoscenza a-priori circa l'organizzazione dei dati nelle pagine obiettivo. Tra tali sistemi, Lixto [BFG01] è particolarmente rilevante. Per diminuire la necessità di interventi umani, molti ricercatori hanno sviluppato tecniche per inferire wrapper Web [CM01,AG03,LGMK04].
Arasu e Garcia-Molina hanno proposto un algoritmo, denominato EXALG, per l'estrazione di dati strutturati da una collezione di pagine Web generate decodificando i dati in un template comune [AG03]. Per individuare il template sottostante che ha generato le pagine, EXALG fa uso di Large and Frequently occurring EQuivalent classes (LFEQ), cioè classi di parole che presentano pattern simili nelle pagine di input.
Lerman et al. hanno sviluppato un metodo per l'estrazione e la segmentazione automatiche dei record di tabelle web [LGMK04]. Tale approccio presuppone una struttura specifica che occorre in molti siti web che principalmente presentano liste di elementi: una pagina indice che contiene una lista di brevi descrizioni, uno per ogni elemento, che includono un collegamento alla pagina contenente dettagli dell'elemento specifico. Questo metodo fa leva su informazioni ridondanti ed è basata su tecniche di inferenza probabilistica e soddisfacimento di vincoli.
Roadrunner è un sistema per la generazione automatica di wrappers Web [CM01] per l'estrazione di dati da siti Web data-intensive, cioè siti in HTML che pubblicano grandi quantità di dati aventi una struttura regolare. In tali siti, le pagine sono generalmente generate in modo automatico da scripts che decodificano i dati estratti da un database in pagine HTML. Proprietà interessante di questi siti è che le pagine generate da uno stesso script condividono una struttura comune. Roadrunner impiega questa proprietà per rilevare somiglianze e differenze tra le pagine generate da uno stesso script per costruire in modo automatico un wrapper. Il core del sistema è Match, un algoritmo per inferire un wrapper da un set di pagine che presentano una struttura non complessa. Match raffina il wrapper in modo iterativo, parsando insiemi di pagine non complesse e generalizzando il wrapper ogni volta che il processo di parsing fallisce. È stato provato che tale algoritmo è in grado di produrre esattamente una soluzione in tempo polinomiale per una specifica classe di linguaggi, denominati Prefix Mark-up Languages, che descrivono in modo astratto l'organizzazione dei dati nelle pagine HTML [CM04].
Linguaggi di interrogazione per XML e ricerca testuale
Il W3C promuove oggi due linguaggi testuali standard per esprimere trasformazioni e interrogazioni relative a documenti XML: XSLT e XQuery.
Uno dei vantaggi offerti da XML è la capacità di rappresentare libere combinazioni di dati strutturati e non strutturati (tipicamente testuali). È possibile, ad oggi, trovare molte collezioni di dati che contengono simili mix di dati, come ad esempio le collezioni di dati IEEE INEX, ACM SIGMOD Record, le opere di Shakespeare
TeXQuery [ABS04] è una potente estensione di XQuery che offre un ricco insieme di primitive per la ricerca testuale, tra loro liberamente componibili, che comprendono connettivi booleani, matching di frasi, predicati sulla prossimità, stemming e thesauri. TeXQuery permette all’utente di interrogare dati strutturati e dati interamente destrutturati (testuali), per inserimento di porzioni di XQuery in TeXQuery e viceversa. Inoltre, TeXQuery supporta un costrutto flessibile per la valutazione della rilevanza dei risultati, in base ai predicati applicati alle ricerche testuali. TeXQuery è anche il precursore delle versioni Full-Text dei linguaggi XQuery 1.0 e XPath 2.0, attualmente in corso di specifica da parte della W3C Full-Text Task Force.
Web Services e loro Integrazione
Il linguaggio di base per descrivere Web Service è WSDL (Web Service Description Language). La composizione di Web Service che costituiscano conversazioni complesse non è supportata da WSDL, ma è il principale obiettivo di diverse proposte di standardizzazione, posizionate logicamente in cima al cosiddetto Web Service stack, e le più recenti delle quali sono BPEL4WS (Business Process Execution Language for Web Services), WSCL (Service Conversation Language), e WSCI (Web Service Choreography Interface). Sono stati proposti diversi linguaggi basati su XML per codificare workflow (si veda [CHK01] per una panoramica). XL [FGK02] è un linguaggio di programmazione basato su XML che consente sia di definire che di combinare servizi. Tra altre proposte per la combinazione di Web Service, [CS01] descrive E-Flow sviluppati presso HP.
Un esempio di formalizzazione di Web Service è offerto da [BCD+03] che descrive una struttura formale che definisce un insieme di azioni elementari, e un insieme di Web Service la cui implementazione si basa solo su tali azioni. Hull, Benedikt, Christophides, e Su [HBCS03] danno una visione più ampia sullo scenario dei Web Service, facendo uso di contributi che vanno dalla teoria computazionale allo scopo di stabilire le proprietà dei Web Service che possono essere dedotte automaticamente. Diversi lavori forniscono formalismi e procedure di verifica per assicurare che una specifica conversazione sia conforme ad un dato protocollo [AVF+98,SO00].
In letteratura troviamo diversi lavori sulla composizione automatica di Web Service [MM03, MS02, SPW+04]. La maggior parte dei risultati sono basati sull'idea di comporre sequenzialmente i servizi disponibili, che sono considerati come scatole nere, e quindi eseguiti in modo atomico. In [BCG+05], i servizi sono modellati come macchine di Mealy equipaggiate con una coda, ed essi scambiano informazione secondo il modello conversazionale [BFHS03]. Altri approcci alla composizione di servizi sono basati su automi "guarded" [FBS04], sistemi di transizione non deterministici [TP04], e basi di dati relazionali con un albero di pagine Web [DSV04].
L'investigazione sull'integrazione di Web Service si avvantaggia del vasto corpus di ricerca portata avanti nel campo dell'integrazione dell'informazione [CDL01b,CDL01a]. Per degli studi generali sull'integrazione dei dati, si vedano [JLVV99,L02]. Molti lavori di ricerca hanno affrontato il fondamentale problema di come specificare la corrispondenza, detta mapping, tra lo schema globale (ontologia globale) e i servizi informativi locali (ontologie locali), si vedano ad esempio [LSK95, CGL+98, GLR00, JQC+00].
Per definire il mapping in modo appropriato, la nozione di interrogazione è cruciale, dato che è molto probabile che i concetti dello schema globale e quelli dei servizi locali debbano essere correlati gli uni con gli altri facendo uso di interrogazioni (cioè di viste). Ciò ci porta ad osservare che il problema dell'integrazione dell'informazione è strettamente correlato al problema del processamento di interrogazioni per mezzo di viste (view-based query processing) nell'integrazione di dati [BLR97,CGLV00]. Due approcci basilari sono stati usati per specificare la relazione tra le sorgenti e lo schema globale [U97]. Il primo, detto global-as-view, richiede che lo schema globale sia espresso in termini dei concetti delle sorgenti. Il secondo approccio, detto local-as-view, richiede che lo schema globale sia specificato indipendentemente dalle sorgenti. La relazione tra lo schema globale e le sorgenti è stabilita definendo ciascuna sorgente come una vista sullo schema globale. Il secondo approccio agevola l’estensibilità del sistema di integrazione, e fornisce un contesto appropriato per la sua manutenzione: per esempio, aggiungere una nuova sorgente al sistema richiede soltanto di fornire la definizione della sorgente medesima, e non implica cambiamenti nello schema mediato. Al contrario, nell'approccio global-as-view, aggiungere una sorgente richiede tipicamente il cambiamento della definizione dello schema globale. Sono stati proposti anche approcci che mescolano le prospettive globa-as-view e local-as-view [FLM99,CDL01a,FKMP03,C03]. A parte la complicazione di avere a che fare col mapping, in presenza di ontologie locali e globali specificate in un linguaggio espressivo, è necessario un ragionamento sulle ontologie [CCDL01]
Un altro argomento correlato all'integrazione dei Web Service è quello della risposta a interrogazioni relazionali in presenza di limitazioni di accesso. Limitazioni di accesso sono presenti, ad esempio, quando siti Web data-intensive offrono accesso all'informazione attraverso un Web form; in tal caso, alcuni dei campi devono essere riempiti con qualche valore per interrogare la base di dati sottostante. Quando diverse sorgenti devono essere integrate, processare le interrogazioni diventa complicato [RSU95,LC00,FLMS99,DL97,NL04,DLN05], giacché in tal caso le tecniche note per la risposta alle interrogazioni non sono in generale sufficienti.
Dato che gli accessi alle sorgenti sono costosi, un aspetto importante è minimizzarli, garantendo allo stesso tempo che si ottengano tutte le risposte ad una interrogazione. [LC00,LC01] discutono diverse ottimizzazioni che possono essere eseguite durante la generazione del piano. Le tecniche presentate non sono applicabili quando le interrogazioni dell'utente e le definizioni delle viste sono interrogazioni congiuntive arbitrarie. Una tecnica per ottimizzare la risposta per la classe di interrogazioni congiuntive è presentata in [CC02], assieme ad una tecnica di ottimizzazione a tempo di esecuzione.
Nel progetto ci aspettiamo inoltre di beneficiare di iniziative di ricerca come OWL e WSMO. OWL (Web Ontology Language) è un linguaggio progettato per essere utilizzato da applicazioni che hanno bisogno di elaborare il contenuto informativo anziché meramente presentare l'informazione ad utenti umani. OWL facilita una maggiore interoperabilità del contenuto del Web. WSMO (Web Service Modeling Ontology) descrive diversi aspetti legati ai Web Service semantici. WSMO prende il Web Service Modeling Framework (WSMF) come punto di partenza, raffina ed estende questa struttura formale e sviluppa un linguaggio ed una ontologia formali. WSMF consiste in quattro differenti elementi principali per descrivere Web Service semantici: (1) ontologie che forniscono la terminologia usata da altri elementi; (2) obiettivi che definiscono i problemi che dovrebbero essere risolti dai Web Services; (3) descrizioni di Web Service che definiscono vari aspetti di un Web Service, e (4) mediatori che scavalcano i problemi di interoperabilità. <<<



