Pattern Based Management: Data Models and Architectural Aspects

Post on 13-Jan-2016

29 views 0 download

description

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 - PowerPoint PPT Presentation

Transcript of Pattern Based Management: Data Models and Architectural Aspects

1

Pattern Based Management: Data Models and Architectural Aspects

Anna Maddalena

Dottorato di Ricerca in Informatica

XVIII cicloDipartimento 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

Il contesto

DB1 DB2 Flat file

DBMS

risultatiqueries

Analisi

- Il contesto -

4

Soluzioni tradizionali

DB1 DB2Flat file

Data Warehouse

Analisi mediante strumenti OLAP

DBMS

risultatiqueries

- Il contesto -

5

Architettura pattern-based

analisi mediante sofisticati strumenti di processing dei dati

DBMS

risultatiqueries

DB1 DB2Flat file

PBMS

risultatiqueries

Pattern base

- 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

PATTERN: classificazione

Targets

Patterns

A-priori A-posteriori

GenerativiAttiviTest

Vincoli di integrità

Regole attiveworkflow

Tuple con vincoliRegole deduttive

Utilizzo nel pattern matching

Risultati tradizionalidi data mining

Quando/Come?

Cosa?

- 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 permodellare i pattern come “first class

citizens” interrogare patterngestire i pattern in modo efficientegestire pattern eterogenei in modo

uniforme

- Gestione di pattern -

11

Il sistema di gestione

- Gestione di pattern -

Raw data

Pattern

Query

Processing

Architettura Integrata

Raw data

Pattern

Cross-over

QueryPQL

Query tradizionali(SQL)

Architettura Separata

12

Il modello

Rappresentazione uniforme di pattern eterogenei

Caratteristiche patternStrutturaMisure di qualitàPattern complessi

Relazioni tra dati grezzi e patternMappingValidita’

- Gestione di pattern -

13

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)

- Gestione di pattern -

Datasource

Misure

TestaCorpo

x (x testa x corpo x transazione)

Mapping dati-pattern

RA.testa = rappr.testaMapping dati-pattern

Struttura

DatasourceDeviazioneConfidenzaDeviazioneSupporto

Misure

X: rappr

RA 1RA 2RA 3

...RA K RA 5

RA 6

Cluster

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 PurchaseGROUP BY transactionEXTRACTING 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

CentralizzataUnica organizzazioneUnico repository

Distribuita Interazione fra varie organizzazioni Vari repositoryWeb ,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 2006Fasi di progetto:

Marzo 2003 – Dicembre 2003: obiettivi raggiuntiDicembre 2003 - Marzo 2004: obiettivi breve termineMarzo 2004 – Marzo 2005: obiettivi medio termineMarzo 2005 – Marzo 2006: obiettivi lungo termine

- Scheduling Temporale -

29

Scheduling temporaleTasks

Time

Dec

emb

er 2

003

Mar

ch 2

005

Mar

ch 2

004

Mar

ch 2

006

Mar

ch 2

003

T1

T2

T3

Achieved Short Medium Long

- 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

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 typedec. tree type

type layer

- 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

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

Pattern types - esempioAssociation 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)

ss ds

Y X

- Risultati preliminari -

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

Patterns - esempion: 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

backward image type

Pattern Space e Data Spacedata space

pattern space

pattern type

PID

source

structure

expression

pattern

source schema

formula

name

structure schema

dataset

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

Classi - esempio

Pattern type: AssociationRule

Class: SaleRules

Patterns: Association rules 515, 516, 517

Dataset 2:

SELECT SETOF(article) AS transaction

FROM sales_shop2GROUP BY transactionId

Dataset 1:

SELECT SETOF(article) AS transaction

FROM sales_shop1 GROUP BY transactionId

Patterns: Association rules 512, 513, 514Apriori

Apriori

- Risultati preliminari -

44

Relazioni fra pattern types

Specializzazione (IS-A)

Composizione (PART-OF) & Raffinamento

- Risultati preliminari -

45

Specializzazione

pattern type 1

pattern type 2

inheritance

Basata sulla gerarchia dei tipi

(subtyping) in T

class 1related-to

related-to

Class 1 può contenere anche istanze del pattern type 2

- Risultati preliminari -

46

Specializzazione - esempion: 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

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

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

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 patternCross-over query: combinano pattern e dati

grezzi

- Risultati preliminari -

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

Extraction

Direct Insertion

Recomputation

PML: inserimentoMining algorithm

Sorgente dati grezzi

P1

PT1PT2

PT..

C1C2

C..

PT1PT2

PT..

C1C2

C..

P1names

dm

e

PT1PT2

PT..

C1C2

C..P1Sorgente dati grezzi

P2

- Risultati preliminari -

53

PML: cancellazione Deletion restricted

Deletion extended

P1

PT1PT2

C1C2 C..

P2

P3

PTN

P3P1X

X

P1

PT1 PT2

C1C2

P2P3

PTN

P3P2

P3

P1PT1 PT2

C1C2

P2P3

PTN

P3P2

P3P1

X

OK!

- Risultati preliminari -

P4 P4NO!

X

P1XP2

P3

P4

54

Sorgente dati grezzi

PML:sincronizzazione

Synchronize

p1sdme

PT1

UPDATE

X m’

- Risultati preliminari -

55

PML: operazioni su classi Insertion into class

Deletion from class

P1

PT1

PT2

C1C2

P2

PTN

P3

P2

P3

P1

P1

PT1PT2

C1C2

P2

PTN

P3

P2

P3

P1X

- Risultati preliminari -

P4P5

P4P5

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

PQL:projection Solo per componenti “structure” e “measure” “Formula” proiettata sulle componenti rimanenti

(<head>,<support>)(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

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

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

PQL:drill-down e roll-up

Navigazione della gerarchia di raffinamento

ClusterOfRules

AssociationRule

refined-byDrill-down Roll-up

A

AR1 ARNAR2

AR3

C

CR1

rule(C) ClusterOfRules(A)

61

PQL:decomposition

Navigazione della gerarchia di composizione

ClusterOfRules

AssociationRule

part-of

Ca(CR1)...representative: AR1

...

AR1

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=(css,cds,cms,cf)

C1 || F,c C2

64

PQL: join - esempio Proprieta transitiva delle regole di associazione Se “AB” e “B C” sono due regole, allora

“AC” è una regola

C1 || C1.ss.body=C2.ss.head , c C2pid: 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

PQL: cross-over Mettono in relazione pattern e dati grezzi Drill-through: navigazione dal pattern

layer al data layer Input: classeoutput: insieme di dati grezzi

Covering: verifica se un pattern è valido per uno specifico dataset

- Risultati preliminari -

66

PQL: cross-over Esempi Drill-through

Covering

pids

d:query_1me

A(C)

Query_1

p

DS

(p,d) p

DS

?

- Risultati preliminari -