1 / 65

Pattern Based Management: Data Models and Architectural Aspects

Pattern Based Management: Data Models and Architectural Aspects. Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica e Scienza dell’Informazione - Università di Genova -. Sommario:. Il contesto Gestione di pattern Il sistema Il modello

neola
Télécharger la présentation

Pattern Based Management: Data Models and Architectural Aspects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pattern Based Management: Data Models and Architectural Aspects Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica e Scienza dell’Informazione - Università di Genova -

  2. Sommario: • Il contesto • Gestione di pattern • Il sistema • Il modello • Il linguaggio • Architettura • Obiettivi della tesi • Modello • Linguaggi • Architettura • Scheduling temporale • Risultati preliminari

  3. Analisi risultati queries DBMS Flat file DB1 DB2 Il contesto - Il contesto -

  4. Analisi mediante strumenti OLAP risultati queries Data Warehouse DBMS Flat file DB1 DB2 Soluzioni tradizionali - Il contesto -

  5. PBMS Pattern base analisi mediante sofisticati strumenti di processing dei dati risultati queries Flat file DB1 DB2 Architettura pattern-based risultati queries DBMS - Il contesto -

  6. Dati grezzi e patterns • Dati grezzi • Raccolti da diverse sorgenti • Enormi volumi di dati • Eterogenei • Pattern • Rappresentazione dei dati grezzi compatta e semanticamente ricca - Il contesto -

  7. Esempi di PATTERN - Il contesto -

  8. A-priori Attivi Test PATTERN: classificazione Patterns Quando/ Come? A-posteriori Risultati tradizionali di data mining Cosa? Generativi Targets Vincoli di integrità Regole attive workflow Tuple con vincoli Regole deduttive Utilizzo nel pattern matching - Il contesto -

  9. Gestione di pattern • Il sistema di gestione • Modello per rappresentare i pattern • Linguaggio per manipolare i pattern • Supporto architetturale - Gestione di pattern -

  10. Il sistema di gestione • Pattern-Base Management System (PBMS) è una tecnologia per • modellare i pattern come “first class citizens” • interrogare pattern • gestire i pattern in modo efficiente • gestire pattern eterogenei in modo uniforme - Gestione di pattern -

  11. Query Architettura Integrata Raw data Pattern Processing Query PQL Pattern Cross-over Architettura Separata Raw data Query tradizionali (SQL) Il sistema di gestione - Gestione di pattern -

  12. Il modello • Rappresentazione uniforme di pattern eterogenei • Caratteristiche pattern • Struttura • Misure di qualità • Pattern complessi • Relazioni tra dati grezzi e pattern • Mapping • Validita’ - Gestione di pattern -

  13. Corpo Testa Datasource Misure Mapping dati-pattern  x (x  testa  x  corpo  x  transazione) Misure Mapping dati-pattern X: rappr DeviazioneConfidenza DeviazioneSupporto RA 1 RA 2 RA 3 RA.testa = rappr.testa ... RA K RA 5 RA 6 Il modello: esempi • Regola di associazione:X  Y S(X) = # di transazioni contenenti X Supporto(X  Y) = S(XY) Confidenza(X  Y) = S(XY)/S(X) • Cluster Struttura Datasource - Gestione di pattern -

  14. Il modello: approcci esistenti • Object Oriented • PMML(Predictive Model Markup Language) (2003), SQL/MM (2001), Java Data Mining API (2003) • Rappresentazione di mining model • Common Warehouse Model (2001) • Scambio metadati • Database induttivi (1996/1997) • PANDA - PAtterns for Next-generation DAtabase systems(2001-2004) • Netta separazione fra PBMS e repository dei dati sorgente • Modello rappresenta pattern e relazioni fra pattern • Pattern: structure, measure, source, expression • Relazioni: specialization, composition, refinement - Gestione di pattern -

  15. Il modello: limitazioni • Ad esclusione di PANDA, per tutti gli altri approcci si evidenziano le seguenti criticità: • Spesso i dati grezzi e i pattern vengono memorizzati nello stesso sistema di gestione dati • Soluzioni specifiche per determinate tipologie di pattern • Nessun mapping fra pattern e dati grezzi da cui sono stati generati • Approccio O.O. • Modellazione dei pattern e modellazione di oggetti generici sono intrinsecamente differenti • Nuove componenti (measure, expression), • Nuovi requisiti (mapping fra source e pattern spaces), • Nuove relazioni (refinement), • Nuove operazioni (similarità) - Gestione di pattern -

  16. Il modello: limitazioni • PANDA primo modello per pattern eterogenei, ma ... • Sincronizzazione fra pattern e dati grezzi • Ontologie sui dati possono influenzare la generazione dei pattern • Possibilità di specificare ontologie sulle componenti dei pattern - Gestione di pattern -

  17. I linguaggi • Linguaggio unificato per pattern eterogenei • Manipolazione (inserimento, cancellazione, modifica) • Interrogazione (combinazione, sincronizzazione, verifica validità, similarita’...) • Sfruttando appieno il modello • Diverse tipologie di pattern • Caratteristiche pattern • Relazioni fra pattern • Mapping pattern-dati (cross-over) - Gestione di pattern -

  18. I linguaggi: esempi • Derivare con il metodo A-priori le regole di associazione relative all’insieme di transazioni Q1 • Dato un insieme di documenti XML clusterizzarli in base alla similarità derivata dai loro link usando l’algoritmo di complete-link • Da un insieme di clickstream sulla navigazione di un sito Web derivare i profili utente in base alla durata delle loro sessioni • Interrogare il sistema di gestione di pattern per ritrovare tutti quelli relativi al dataset Q1 • Interrogare il sistema di gestione di pattern per estrarre tutte le regole di associazione riguardanti “X” • Ritrovare nel sistema di gestione di pattern tutti i cluster “simili” a C1 • Verificare se un dato pattern P è “valido” per un dataset D • Derivare per transitività tutti i pattern di tipo regole di associazione utilizzando i pattern memorizzati nel sistema - Gestione di pattern -

  19. I linguaggi: approcci esistenti • Proposte: • M-SQL (Imielinsky & Virmani, 1999) • SQL+Mine (Meo,Psaila & Ceri, 1996) • XML+Mine (Braga, Campi, Klemettinen & Lanzi, 2002) • Pattern Discovery Algebra (1997) • Information Discovery Data Mining Suite (2002) • Linguaggi con vincoli (nei database induttivi solo per pattern di tipo stringa) • Estensioni della sintassi SQL standard - Gestione di pattern -

  20. I linguaggi:esempio • SQL+Mine (Meo,Psaila & Ceri, 1996) • MINE RULE SimpleAssociation AS SELECT DISTINCT 1..n item AS BODY, 1..n item AS HEAD, SUPPORT, CONFIDENCE FROM Purchase GROUP BY transaction EXTRACTING RULES with SUPPORT: 0,1, CONFIDENCE 0,2 • Solo regole di associazione • Algoritmo di mining prefissato • Solo estrazione on-the-fly - Gestione di pattern -

  21. I linguaggi: limitazioni • Mancanza di un linguaggio per la manipolazione e l’interrogazione di pattern eterogenei • Spesso i linguaggi prevedono solo primitive per l’estrazione dei pattern dai dati grezzi • Spesso si usano gli stessi linguaggi di interrogazione sia per pattern che per i dati grezzi • Scarsa integrabilità dei dati grezzi e dei pattern (cross-over queries) - Gestione di pattern -

  22. Architettura • Centralizzata • Unica organizzazione • Unico repository • Distribuita • Interazione fra varie organizzazioni • Vari repository • Web ,P2P, GRID - Gestione di pattern -

  23. Architettura: pattern nel GRID • Architettura GRID • “a flexible, secure, coordinated resource sharing among dynamic collections of individuals, institution, and resources – what we refer to as a Virtual Organizations” • Intelligent GRID: • acquisizione, processing, rappresentazione, scambio e conversione in conoscenza utile di dati eterogenei disponibili a diversi livelli dell’architettura GRID (HTML/XML/RDF doc., Service response time, service quality level, ...) • Knowledge Grid: Knowledge discovery e management distribuito basato su un architettura di servizi GRID (service discovery, negotiation, information extraction, ...) • Semantic GRID: integrazione fra Semantic Web ed ambiente GRID • Metadati & pattern - Gestione di pattern -

  24. Obiettivi della tesi • Task 1: sviluppo ed estensione di un modello per la rappresentazione dei pattern • Task 2: definizione di linguaggi per la manipolazione di pattern • Task 3: aspetti architetturali e studio dell’estensibilità a contesti distribuiti avanzati (es: GRID) - Obiettivi della tesi -

  25. Task 1: Modellazione di pattern • Definizione del modello • Proposta modello PANDA • teoria dei database con vincoli per esprimere alcune componenti dei pattern • Estensione del modello con caratteristiche avanzate: • Aspetti temporali: problematiche di sincronizzazione • teoria delle basi dati temporali applicata al contesto dei pattern • Gestione delle ontologie: • Ontologie sui dati grezzi • Ontologie sulle componenti dei pattern - Obiettivi della tesi -

  26. Task 2: Linguaggi per pattern • Definizione Pattern Manipulation Language (PML) • Inserimento, cancellazione e modifica di pattern • Definizione Pattern Query Language (PQL): • Calcolo (CPQL) • Algebra (APQL) • Equivalenza fra CPQL e APQL • Studio del potere espressivo dei linguaggi proposti • Rappresentazione di PML e PQL con sintassi standard (es: SQL o XML) - Obiettivi della tesi -

  27. Task 3: Pattern management in un contesto distribuito • Definizione di un’architettura per la gestione dei pattern e dei metadati in un ambiente distribuito (GRID) • Revisione del modello e dei linguaggi proposti nell’ottica distribuita • Implementazione di un prototipo di un sistema distribuito pattern-based - Obiettivi della tesi -

  28. Tempistica e fasi di progetto • Marzo 2003- Marzo 2006 • Fasi di progetto: • Marzo 2003 – Dicembre 2003: obiettivi raggiunti • Dicembre 2003 - Marzo 2004: obiettivi breve termine • Marzo 2004 – Marzo 2005: obiettivi medio termine • Marzo 2005 – Marzo 2006: obiettivi lungo termine - Scheduling Temporale -

  29. Tasks T2 T3 T1 Achieved Short Medium Long Time March 2004 March 2005 March 2003 March 2006 December 2003 Scheduling temporale - Scheduling Temporale -

  30. Obiettivi raggiunti(Mar. 2003 - Dic. 2003) • Definizione del modello logico per pattern • I.Bartolini et al. “Toward a Logical Model for Patterns”. ER’03 • E.Bertino, B.Catania, M. Golfarelli, M. Halkidi, A.Maddalena, S.Skiadopoulos, S. Rizzi, M.Terrovitis, P. Vassiliadis, M. Varzigiannis, and E.Vrachnos. “The Logical Model for Patterns”. TR-2003-02, PANDA. • Identificazione operazioni significative per PML e PQL, con definizione PML e proposta preliminare di APQL • “Toward a Language for Pattern Manipulation and Querying” E. Bertino, B.Catania, A.Maddalena [sottomesso per pubblicazione]

  31. Obiettivi a breve termine (Dic. 2003 - Mar. 2004) • Estensione temporale del modello • Transaction time e validity time • Sincronizzazione • Estensione del modello con ontologie • Ontologie sui dati grezzi • Ontologie che coinvolgono le componenti dei pattern • Definizione formale CPQL • Estensione di un calcolo per oggetti complessi (Abiteboul&Beeri, Fegaras&Maier) • Definizione formale APQL - Scheduling Temporale -

  32. Obiettivi a medio termine (Mar.2004 – Mar.2005) • Dimostrazione equivalenza APQL e CPQL • Analisi di complessità e potere espressivo del PQL • Utilizzo della teoria dei linguaggi con vincoli • Query optimization: strategie di riscrittura • La gestione dei pattern in un’architettura GRID - Scheduling Temporale -

  33. Obiettivi a lungo termine (Mar.2005 – Mar.2006) • Definizione testbed GRID per la gestione di pattern • Estensione del modello e revisione secondo il contesto GRID • Prototipo Pattern-based GRID Management System (?) - Scheduling Temporale -

  34. Risultati preliminari • Il modello • I linguaggi per pattern - Risultati preliminari -

  35. related-to member-of supermarket rules instance-of cluster type dec. tree type my clusters ass. rule type class layer type layer pattern layer Elementi di base class pattern type pattern - Risultati preliminari -

  36. Pattern types • Basato su un sistema di tipi T: • Tipi base: • integers, reals, Booleans, strings, timestamps • Tipi ricorsivamente definiti mediante costruttori di tipo • list, set, bag, array, tuple • Esempi • salary: REAL • SET(INTEGER) • TUPLE(x: INTEGER, y: INTEGER) • personnel: LIST(TUPLE(age: INTEGER, salary: INTEGER)) - Risultati preliminari -

  37. definisce il “pattern space” • descrive la struttura dei • pattern, istanze del • pattern type • definisce il “source space” • tipo dei dati grezzi da cui i • pattern vengono costruiti Tipo delle misure che quantifi- cano la qualità della rappre- sentazione dei dati sorgenti raggiunta dal pattern • Relazione fra il • “source space” • e il “pattern space” Pattern types class related-to pattern type name member-of structure schema instance-of source schema measure schema pattern formula - Risultati preliminari -

  38. Pattern types - esempio Association rule X  Y S(X) = # of transactions containing X Support (X  Y) = S(XY) Confidence(X  Y) = S(XY)/S(X) n: AssociationRule ss: TUPLE(head: SET(STRING), body: SET(STRING)) ds: BAG(transaction: SET(STRING)) ms: TUPLE(confidence: REAL, support: REAL) f:  x (x head x body x transaction) Y X ds ss - Risultati preliminari -

  39. Patterns class related-to pattern type member-of name instance-of structure schema source schema pattern measure schema PID formula structure source measure expression - Risultati preliminari -

  40. pid: 512 s: (head = {'Boots’}, body = {'Socks', 'Hat’}) d: SELECT SETOF(article) AS transaction FROM sales GROUP BY transactionId m: (confidence = 0.75, support = 0.55) e: {transaction :  x (x {'Boots', 'Socks','Hat'} x  transaction)} {'Socks', 'Hat’}{'Boots’} Patterns - esempio n: AssociationRule ss: TUPLE(head: SET(STRING), body: SET(STRING)) ds: BAG(transaction: SET(STRING)) ms: TUPLE(confidence: REAL, support: REAL) f:  x (x  head  x  body  x  transaction) - Risultati preliminari -

  41. data space dataset backward image type pattern space Pattern Space e Data Space pattern pattern type PID name source source schema expression formula structure structure schema

  42. Classi class related-to pattern type name member-of name instance-of structure schema source schema pattern measure schema PID formula structure source measure expression - Risultati preliminari -

  43. Dataset 1: SELECT SETOF(article) AS transaction FROM sales_shop1 GROUP BY transactionId Patterns: Association rules 512, 513, 514 Apriori Dataset 2: SELECT SETOF(article) AS transaction FROM sales_shop2 GROUP BY transactionId Patterns: Association rules 515, 516, 517 Classi - esempio Pattern type: AssociationRule Class: SaleRules Apriori - Risultati preliminari -

  44. Relazioni fra pattern types • Specializzazione (IS-A) • Composizione (PART-OF) & Raffinamento - Risultati preliminari -

  45. Specializzazione • Basata sulla gerarchia dei tipi (subtyping) in T pattern type 1 related-to class 1 inheritance related-to pattern type 2 • Class 1 può contenere anche istanze del pattern type 2 - Risultati preliminari -

  46. n: AssociationRuleOverStrings ss: TUPLE(head: SET(STRING), body: SET(STRING)) ds: BAG(transaction: SET(STRING)) ms: TUPLE(confidence: REAL,support: REAL) f:  x (x  head  x  body  x  transaction) Specializzazione - esempio n: AssociationRule ss: TUPLE(head: SET(), body: SET()) ds: BAG(transaction: SET()) ms: TUPLE(confidence: REAL) f:  x (x  head  x  body  x  transaction) - Risultati preliminari -

  47. Composizione & Raffinamento pattern type 1 pattern type 1 part-of refined-by pattern type 2 pattern type 2 • Abilità di riferire pattern types nello structure schema • Abilità di riferire pattern types nello source schema - Risultati preliminari -

  48. Composizione & Raffinamento: esempio composizione n: ClusterOfRules ss: representative: AssociationRule ds: SET(rule: AssociationRule) ms: TUPLE(deviationOnConfidence: REAL, deviationOnSupport: REAL) f: rule.ss.head = representative.ss.head raffinamento - Risultati preliminari -

  49. Risultati preliminari • Il modello • I linguaggi per pattern - Risultati preliminari -

  50. Linguaggi per pattern • PML(Pattern Manipulation Language) • Inserimento, cancellazione, modifica di pattern • PQL (Pattern Query Language) • Ritrovamento ed interrogazione di pattern • Cross-over query: combinano pattern e dati grezzi - Risultati preliminari -

More Related