650 likes | 788 Views
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
E N D
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 • Il linguaggio • Architettura • Obiettivi della tesi • Modello • Linguaggi • Architettura • Scheduling temporale • Risultati preliminari
Analisi risultati queries DBMS Flat file DB1 DB2 Il contesto - Il contesto -
Analisi mediante strumenti OLAP risultati queries Data Warehouse DBMS Flat file DB1 DB2 Soluzioni tradizionali - Il contesto -
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 -
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 -
Esempi di PATTERN - Il contesto -
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 -
Gestione di pattern • Il sistema di gestione • Modello per rappresentare i pattern • Linguaggio per manipolare i pattern • Supporto architetturale - Gestione di pattern -
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 -
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 -
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 -
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(XY) Confidenza(X Y) = S(XY)/S(X) • Cluster Struttura Datasource - Gestione di pattern -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Architettura • Centralizzata • Unica organizzazione • Unico repository • Distribuita • Interazione fra varie organizzazioni • Vari repository • Web ,P2P, GRID - Gestione di pattern -
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 -
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 -
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 -
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 -
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 -
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 -
Tasks T2 T3 T1 Achieved Short Medium Long Time March 2004 March 2005 March 2003 March 2006 December 2003 Scheduling temporale - Scheduling Temporale -
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]
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 -
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 -
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 -
Risultati preliminari • Il modello • I linguaggi per pattern - Risultati preliminari -
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 -
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 -
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 -
Pattern types - esempio Association rule X Y S(X) = # of transactions containing X Support (X Y) = S(XY) Confidence(X Y) = S(XY)/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 -
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 -
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 -
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
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 -
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 -
Relazioni fra pattern types • Specializzazione (IS-A) • Composizione (PART-OF) & Raffinamento - Risultati preliminari -
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 -
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 -
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 -
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 -
Risultati preliminari • Il modello • I linguaggi per pattern - Risultati preliminari -
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 -