La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Pattern Based Management: Data Models and Architectural Aspects Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica.

Presentazioni simili


Presentazione sul tema: "1 Pattern Based Management: Data Models and Architectural Aspects Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica."— Transcript della presentazione:

1 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 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 3 Il contesto DB1DB2 Flat file DBMS risultati queries Analisi - Il contesto -

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

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

6 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 7 Esempi di PATTERN - Il contesto -

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

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

10 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 11 Il sistema di gestione - Gestione di pattern - Raw data Pattern Query Processing Architettura Integrata Raw data Pattern Cross-over Query PQL Query tradizionali (SQL) Architettura Separata

12 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 13 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) - Gestione di pattern - Datasource Misure TestaCorpo  x (x  testa  x  corpo  x  transazione) Mapping dati-pattern RA.testa = rappr.testa Mapping dati-pattern Struttura Datasource DeviazioneConfidenza DeviazioneSupporto Misure X: rappr RA 1 RA 2 RA 3... RA K RA 5 RA 6 Cluster

14 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 ( ) ê 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 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 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 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 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 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 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 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 22 Architettura Centralizzata ê Unica organizzazione ê Unico repository Distribuita ê Interazione fra varie organizzazioni ê Vari repository ê Web,P2P, GRID - Gestione di pattern -

23 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 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 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 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 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 28 Tempistica e fasi di progetto Marzo Marzo 2006 Fasi di progetto: ê Marzo 2003 – Dicembre 2003: obiettivi raggiunti ê Dicembre Marzo 2004: obiettivi breve termine ê Marzo 2004 – Marzo 2005: obiettivi medio termine ê Marzo 2005 – Marzo 2006: obiettivi lungo termine - Scheduling Temporale -

29 29 Scheduling temporale Tasks Time December 2003 March 2005March 2004 March 2006 March 2003 T1 T2 T3 AchievedShortMediumLong - Scheduling Temporale -

30 30 Obiettivi raggiunti (Mar 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 , 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 31 Obiettivi a breve termine (Dic 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 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 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 34 Risultati preliminari Il modello I linguaggi per pattern - Risultati preliminari -

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

36 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 37 Pattern types name structure schema source schema formula pattern type pattern class instance-of member-of measure schema related-to 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” - Risultati preliminari -

38 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) ss ds Y X - Risultati preliminari -

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

40 40 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) 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’} - Risultati preliminari -

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

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

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

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

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

46 46 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) 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) - Risultati preliminari -

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

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

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

50 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 -

51 51 PML Extraction Direct insertion Recomputation Deletion ê Restricted ê Extended Synchronize Insertion into class Deletion from class Inserimento Cancellazione Modifica Operazioni su classi - Risultati preliminari -

52 52 Extraction Direct Insertion Recomputation PML: inserimento Mining algorithm Sorgente dati grezzi P1 PT1 PT2 PT.. C1 C2 C.. PT1 PT2 PT.. C1 C2 C.. P1 name s d m e PT1 PT2 PT.. C1 C2 C.. P1 Sorgente dati grezzi P2 - Risultati preliminari -

53 53 PML: cancellazione Deletion restricted Deletion extended P1 PT1 PT2 C1 C2 C.. P2 P3 PTN P3 P1 X X PT1 PT2 C1 C2 P2 P3 PTN P3 P2 P3 P1 PT1 PT2 C1 C2 P2 P3 PTN P3 P2 P3 P1 X OK! - Risultati preliminari - P4 NO! X P1 X P2 P3 P4

54 54 Sorgente dati grezzi PML:sincronizzazione Synchronize p1 s d m e PT1 UPDATE X m’ - Risultati preliminari -

55 55 PML: operazioni su classi Insertion into class Deletion from class P1 PT1 PT2 C1 C2 P2 PTN P3 P2 P3 P1 PT1 PT2 C1 C2 P2 PTN P3 P2 P3 P1 X - Risultati preliminari - P4 P5 P4 P5

56 56 PQL Linguaggio chiuso rispetto a classi di pattern Operatori: ê Renaming ê Set-based operators ( , , \) ê Projection ê Selection ê Drill-down ê Roll-up ê Decomposition ê Join Natural join ê Cross-over operator Drill-through Covering - Risultati preliminari -

57 57 PQL:projection Solo per componenti “structure” e “measure” “Formula” proiettata sulle componenti rimanenti  (, ) (AR1)... pid: 622 s: (head = {'Boots’}) d: SELECT SETOF(article) AS transaction FROM sales GROUP BY transactionId m: (support = 0.55) e: {transaction :  x (x  {'Boots'}  x  transaction)}... 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)}... AR1 - Risultati preliminari -

58 58 PQL:selection Predicati di selezione coinvolgono tutte le componenti del pattern Operatori sui pattern ê Per struttura e misura: Identità (= i ) Shallow (= se ) e deep equality (= de ) ê Per source ed expression: Equivalenza (  ) Contenimento (  ) ê AND, OR, NOT - Risultati preliminari -

59 59 PQL:selection Esempio:  ’Boots’ IN s.head AND m.confidence>0.7 (AR1) 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)} pid: 513 s: (head = {'Boots’}, body = {‘Pant’}) d: SELECT SETOF(article) AS transaction FROM sales GROUP BY transactionId m: (confidence = 0.60, support = 0.60) e: {transaction :  x (x  {'Boots', ‘Pant’}  x  transaction)} AR1 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)} - Risultati preliminari -

60 60 PQL:drill-down e roll-up Navigazione della gerarchia di raffinamento ClusterOfRules AssociationRule refined-by Drill-down Roll-up A AR1 ARN AR2 AR3 C CR1  rule (C)  ClusterOfRules (A)

61 61 PQL:decomposition Navigazione della gerarchia di composizione ClusterOfRules AssociationRule part-of C a (CR1)... representative: AR1... AR1

62 62 PQL:join Pattern di classi diverse: C1 e C2 I pattern types devono essere join compatible ê Data source compatibility ê Structure compatibility Join predicate F: qualunque condizione di selezione definita su una componente di un pattern in C1 e di un pattern in C2 Composition Function: c=(c ss,c ds,c ms,c f ) C1 |  | F,c C2

63 63 PQL: Natural join Nessun predicato di join C=(c, |X|,  null,  ) ê c : costruisce un record con due componenti una per ogni componente struttura dei pattern in input ê |X|: join relazionale tradizionale sulle componenti datasource ê  null : costruisce un record con una componente per ogni measure componente dei pattern in input, tutte valorizzate a “null” ê  : intersezione Le misure possono essere valorizzate applicando operazioni di PML (recomputation / synchronization); in tal caso non generano nuovi pattern, ma producono risultati per la query - Risultati preliminari -

64 64 PQL: join - esempio Proprieta transitiva delle regole di associazione Se “A  B” e “B  C” sono due regole, allora “A  C” è una regola C1 |  | C1.ss.body=C2.ss.head, c C2 pid: 512 s: (head = {'Boots’}, body = {'Socks'}) d: Query_1 m: (confidence = 0.75, support = 0.55) e: {transaction :  x (x  {'Boots', 'Socks'}  x  transaction)} pid: 513 s: (head = {‘Socks’}, body = {‘Hat’}) d: Query_2 m: (confidence = 0.60, support = 0.50) e: {transaction :  x (x  {‘Socks', ‘Hat’}  x  transaction)} pid: 710 s: (head = {'Boots’}, body = {‘Hat'}) d: Query_1 |X| Query_2 m: (confidence = null, support = null) e: {transaction :  x (x  {'Boots', Hat}  x  transaction)} - Risultati preliminari -

65 65 PQL: cross-over Mettono in relazione pattern e dati grezzi Drill-through: navigazione dal pattern layer al data layer ê Input: classe ê output: insieme di dati grezzi Covering: verifica se un pattern è valido per uno specifico dataset - Risultati preliminari -

66 66 PQL: cross-over Esempi Drill-through Covering pid s d:query_1 m e  A (C) Query_1 p DS  (p,d) p DS ? - Risultati preliminari -


Scaricare ppt "1 Pattern Based Management: Data Models and Architectural Aspects Anna Maddalena Dottorato di Ricerca in Informatica XVIII ciclo Dipartimento di Informatica."

Presentazioni simili


Annunci Google