La gestione della conoscenza Dati, Informazioni, Conoscenza DATI Estrazione Trasformazione Integrazione Storicizzazione INFORMAZIONI Derivazione Analisi CONOSCENZA Il DATO è un rozzo numero o fatto es: la matricola è un dato di tipo integer L INFORMAZIONE è il dato contestualizzato es: dimensione storico-geografica e curriculum dello studente La CONOSCENZA è l informazione che è stata autenticata e assunta essere vera es: percezione soggettiva delle qualità della persona
La gestione della conoscenza Cos è la conoscenza? Context Dependence «L informazione diventa conoscenza solo dopo essere stata processata dalla mente di un individuo» Data Information Understanding Relations Knowledge Understanding Patterns Understanding CONOSCENZA ESPLICITA Può essere catturata e codificata nei manuali, nelle procedure e nelle regole e quindi è facile da diffondere CONOSCENZA TACITA Non può essere facilmente articolata e quindi esiste solo nelle mani e nella mente degli individui
La gestione della conoscenza I processi del KM La conoscenza acquisita è subordinata a quella creata autonomamente perché è meno esplorata Obiettivi dell organizzazione sono generalizzare i concetti e la formalizzare le rappresentazioni La distribuzione può avvenire attraverso GUI o tramite navigazione guidata da ontologie La personalizzazione e l integrazione con le applicazioni sono cruciali per il riutilizzo
La gestione della conoscenza Come si gestisce la conoscenza Gli aspetti socio-organizzativi Fattori organizzativi (chi sa? cosa sa?) Fattori psicologici (perché condividere il sapere?) Fattori gestionali (come disporre i flussi informativi?) I benefici per le organizzazioni Sul piano delle attività Sul piano dell efficienza individuale Sul piano dei costi complessivi Le difficoltà e i limiti Necessità di ritmi di aggiornamento adeguati Necessità di meccanismi non troppo intrusivi Necessità di un vocabolario interno
I Knowledge Management Systems Cos è un KMS? Un KMS è un ambiente integrato che utilizza le tecnologie di supporto ai processi di gestione della conoscenza per permettere alle organizzazioni di sfruttarne i vantaggi KMS o portale? Un portale è un applicazione web- based che offre un singolo punto d accesso a informazioni distribuite Un portale è solo il livello più esterno di una struttura che prevede quattro strati funzionali
I Knowledge Management Systems Le funzionalità Knowledge Map Gra phs Version Contr ol Adaptative User Profiling Accesso e distribuzione E-Learning Content Object Properties Push Technology Document Management XML DBMS File Systems Organizzazione e memorizzazione Sistema di gestione della c onoscenza Legacy Information Systems Semantic Nets Conceptual Trees Ontologies Rappresentazione Semantic Data Mode ls Taxonomies Process graphs Time Mode lling Knowledge-based reasoning Hyper-text Encryption Electronic signature CBR Business Intelligence Access Contr ol Sicurezza Single sign-on Project Management Discussion For ums Scoperta ed estrazione CRM Autenthication User Profiling Workflow Management Supporto alle attività collaborative Internet Intranet Message Excha nge BPR Competitive Intelligence Full Text
I Knowledge Management Systems L architettura concettuale Tre livelli sono in interazione continua, inglobati in uno strato di confine Si potrà richiedere l accesso diretto alle fonti o alla conoscenza generata dai dispositivi di discovery
I Knowledge Management Systems L architettura fisica Ognuno dei quattro strati risulta costruito su quello inferiore: il primo restituisce dati, informazioni o conoscenza, il secondo formalismi, il terzo offre servizi, il quarto genera risposte strutturate
Il contesto operativo «Se il dato è un rozzo numero o fatto, l informazione è il dato interpretato e la conoscenza è l informazione che è stata autenticata e assunta essere vera» Concetti, relazioni, assiomi, funzioni Processi, attività, attori, ruoli
La lezione di oggi
Definizioni di base Un attività è una descrizione di una parte di lavoro che forma un passo logico all interno di un processo Un processo è un insieme strutturato di una o più procedure o attività che collettivamente realizzano un certo obiettivo ottenibile da determinate condizioni di partenza normalmente all interno di una struttura organizzativa che definisce ruoli funzionali e relazioni. Input Output
Definizioni di base Un workflow è l automazione di un intero processo di business di una parte di esso in cui informazioni, documenti o task sono passati da un utente all altro in accordo con un insieme di regole procedurali L approccio dei workflow Separare processi risorse e applicazioni Focalizzare la logica dei processi Definire le risorse da assegnare al processo processo Workflow applicazioni Attori Il workflow Stabilisce chi deve fare cosa e come deve essere fatto Controlla l esecuzione
Chi esegue le attività In generale le attività sono eseguite da un partecipant (= attore) il quale può essere un umano o un sistema che opera mediante una application (= risorsa fisica) REGOLE (DEFINIZIONE DEL PROCESSO) PROCESSO Definisce la sequenza È composto da ATTIVITA 1 ATTIVITA 2.. ATTIVITA N È composto da U.L. U.L. U.L... U.L. RISORSA È eseguita da CODA DI WORKFLOW
E7 Un esempio di workflow E6 E8 E1 E3 E5 AND E2 E4 E9 E10 Le attività Le etichette A1: Transform Data A2: Check Data A3: Check Order Type A4: Check Credit Subprocess A5: Check Vendor Account A6: Raise Alarm A7: Compose Rejection Message A8: Enter Order A9: Compose Acceptance Message A10: Fill Order Subprocess A11: E-Mail Confirmation A12: Cataloge Order E1: <Completed> E2: <Exception> E3: <Valid Data> E4: <Invalid Data> E5: <PO> E6: <Credit> E7: <Accept> E8: <Bad Credit> E9: <Accept> E10: <Over Limit>
Un esempio di workflow A4: Check Credit Subprocess Le attività A11: Set Credit Info A12: Get Credit Authorization A13: Set Order Status 1/n A10: Fill Order 1/n Le attività A14: Ship Order A15: Billing A16: Create Invoice A17: Get Credit Info A18: Charge Credit Card A19: Create Receipt A20: Raise Alarm A21: Cancel Order A22: Email Receipt or Invoice Le etichette E11: <PO> E12: <Credit> E13: <Notify Exception> E14: <Timeout Exception>
Schema, istanza e modello COSTRUTTI FONDAMENTALI Processi Attività Sottoprocessi Transizioni Activity Set Parametri Applicazioni Campi Dato Partecipanti Vincoli di transizione Vincoli globali Condizioni Eventi Eccezioni Linguaggio per la modellazione di Workflow Schema di Workflow Istanza di Workflow Processi di gestione ordini Gestione dell ordine di Pinco Pallino
Schema, istanza e modello Package Process Data Field 1. Il metamodello Partecipant Application Sales ordering process 2. Lo schema 3. Le istanze
Uno standard dei workflow La Workflow Management Coalition Associazione internazionale No-profit Fondata nell Agosto 1993 Sviluppo e promozione di standard http://aiai.ed.ac.uk/wfmc Workflow Glossary Workflow Reference Model Standard per l interfacce di sistemi La Business Process Management Initiative Associazione internazionale No-profit composta da nomi illustri (IBM, Siemens ) Alternativa alla WfMC, è in forte sviluppo sul mercato Sviluppo e promozione di standard http://www.bpmi.org
La lezione di oggi
Cosa è un ontologia In termini astratti In termini pratici Sul piano filosofico: area della metafisica che studia come è realmente fatto l universo che ci circonda Sul piano informatico: area dell intelligenza artificiale che studia i metodi per rappresentare correttamente l universo che ci circonda. Specifica un vocabolario comune tra sistemi differenti basandosi su una descrizione semantica del dominio dei dati che agevoli la comunicazione sia tra agenti software sia tra agenti software e esseri umani
Cos è un ontologia Per esempio Condivisione Comunicazione Sistema di diagnosi di malattie cardiache Sistema di pianificazione di interventi cardiaci Segreteria Elettronica (Agente 1) KB1 Struttura della valvola aortica KB2 Struttura della valvola aortica -Riunione KB1 - Orario di lavoro - Sede di lavoro - Viaggio -..?? Sistema di diagnosi di malattie cardiache Sistema di pianificazione di interventi cardiaci - Città di partenza - Città di arrivo - Data di partenza -Ora del giorno -.. KB2 KB1 Struttura della valvola aortica KB2 Sistema di prenotazioni ferroviarie (Agente 2)
Cos è un ontologia In termini formali Un ontologiaèunaspecificazioneesplicita e formale di una concettualizzazione condivisa in cui si usa CONCETTUALIZZAZIONE perché ci si riferisce a modello astratto di fenomeno CONDIVISA perché cattura conoscenza riconosciuta da un gruppo FORMALE perché automaticamente decodificabile ESPLICITA perché basata su strutture di immediata applicazione
I componenti di un ontologia Concetti Relazioni Assiomi Funzioni Elemento aggiuntivo
I componenti di un ontologia Un concetto anche noto come classe, può rappresentare un oggetto, una nozione o un idea; può essere astratto o concreto, elementare o composto, reale o fittizio è caratterizzato da un termino o un simbolo, da una estensione e da una intensione Un assioma è un affermazione sempre vera sul modello; serve per specificare la semantica dei concetti; può essere usato per descrivere una relazione: il tipo, la cardinalità, le proprietà algebriche (simmetria, transitività), le proprietà concettuali (esclusività, genericità, identità).
I componenti di un ontologia Una relazione è una forma di interazione tra concetti del dominio del tipo R: C1xC2x xcn; è caratterizzata da un termine, da una intensione e da una estensione può essere, ad esempio, genitore che lega due concetti o due istanze Una funzione è un tipo speciale di relazione in cui l n-esimo argomento dipende dagli altri, nella forma F: C1xC2x xcn-1 Cn ; può essere, ad esempio, madre di, calcolata a partire da un concetto genitore e dall attributo sesso
I componenti di un ontologia Un elemento aggiuntivo può essere un istanza: rappresenta i singoli elementi del dominio; unfatto rappresenta una relazione tra due istanze; unindividuo: rappresenta qualsiasi elemento del dominio che non sia un concetto una claim rappresenta l asserzione di un fatto tramite un istanza;
Come si progetta un ontologia I criteri della progettazione 1. Chiarezza: il significato intensionale deve essere oggettivo; 2. Coerenza: si può inferire solo ciò che è consistente con le definizioni; 3. Estendibilità: successive estensioni o specializzazioni devono essere monotone, senza richiedere revisione; 4. Minima dipendenza dalla codifica: la concettualizzazione non deve dipendere da vincoli del linguaggio di rappresentazione; 5. Minimo commitment ontologico: la conoscenza deve essere rappresentata col minor numero possibile di dichiarazioni. Il ciclo di vita della progettazione Concettualizzazione Formalizzazione Implementazione Manutenzione Acquisizione della conoscenza Documentazione Valutazione tecnica Integrazione
I linguaggi per la rappresentazione La classificazione Linguaggi per ontologie L architettura del web semantico Standard per il web Linguaggi web based Linguaggi classici Livello logico (supporto al reasoning) KIF, SQL, Linguaggi logici XML RDF RDF(S) La struttura SHOE XOL OML OIL DAML+OIL OWL Basati su Logica dei predicati arricchita KIF Cycl Basati su frame Ontolingua Flogic OCML Basati su Logica descrittiva Loom Livello ontologico (definizione di ontologie) OIL, DAML+OIL, OWL Livello schema (definizione del vocabolario) RDF Schema Livello dati (modello semplice di dati e sintassi per i metadati) XML, RDF
I linguaggi per la rappresentazione Il livello dati Possibilità di estendere i tag di base con un proprio insieme di tag HTML (HyperText Markup Language) Insieme di tag predefinito XML (extensible Markup Language) Riferimenti a elementi del Web all esterno della pagina: URL (Uniform Resource Locator) Possibilità di riferirsi a entità fuori dal Web (es. nel mondo reale) URI (Uniform Resource Identifiers) RDF (Resource Definition Framework) una particolare estensione di HTML, definita tramite XML L architettura del web semantico Livello logico (supporto al reasoning) KIF, SQL, Linguaggi logici Livello ontologico (definizione di ontologie) OIL, DAML+OIL, OWL Livello schema (definizione del vocabolario) RDF Schema Livello dati (modello semplice di dati e sintassi per i metadati) XML, RDF
I linguaggi per la rappresentazione Il modello RDF è basato sui concetti di Risorsa: è definita da un URI, quindi può anche non essere accessibile da web Proprietà: una coppia attributo-valore che si vuole associare alla risorsa Asserzione: l associazione di una proprietà a una risorsa. Ogni asserzione ha una struttura del tipo soggetto-predicato-oggetto <rdf: RDF xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:contact= http://www.w3.org/2000/10/swap/pim/contact# > Si definiscono le due abbreviazioni rdf e contact, <contact:person rdf:about= http://www.xyz.it/people#lele> qui si dice che il referente di contact è una persona, e a chi si riferisce (about) <contact:fullname>leonardo Lesmo</contact:fullName> L informazione fullname è un literal (stringa) <contact:mailbox rdf:resource= mailto:lesmo@di.unito.it /> <contact:homepage rdf:resource= http://www.di.unito.it/~lesmo/index.html /> <contact:workplace rdf:resource= http://www.di.unito.it /> Queste tre sono invece risorse Web </contact:person> </rdf:rdf>
I linguaggi per la rappresentazione Il livello schema L architettura del web semantico RDF (Resource Definition Framework) una particolare estensione di HTML, definita tramite XML Livello logico (supporto al reasoning) KIF, SQL, Linguaggi logici Possibilità di segnalare le proprietà caratteristiche di un oggetto Livello ontologico (definizione di ontologie) OIL, DAML+OIL, OWL RDFs (Resource Definition Framework Schema) una particolare estensione di RDF per esprimere un vocabolario Livello schema (definizione del vocabolario) RDF Schema Livello dati (modello semplice di dati e sintassi per i metadati) XML, RDF
I linguaggi per la rappresentazione Il modello RDFs è basato sui concetti di Resource: raccoglie tutte le risorse definite in RDF Literal: sottoclasse di resource, definisce una stringa Property: sottoclasse di Resource, definisce le proprietà Class: corrisponde alla classe della OOP SubclassOf: specifica l ereditarietà tra oggetti Class SubPropertyOf: istanza di Property, indica che una proprietà ne specializza un altra SeeAlso: punta la risorsa che fornisce altre informazioni sul soggetto di un asserzione IsDefinedBy: sottoproprietà di seealso indica una risorsa che definisce il soggetto di una asserzione Range: usato come predicato di una risorsa r indica il codominio di un asserzione che ha r come predicato Domain: usato come predicato di una risorsa r indica il dominio (classi) a cui può essere applicata r
I linguaggi per la rappresentazione <rdf: RDF xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmnls:rdfs= http://www.w3.org/2000/01/rdf-schema# > Le abbreviazioni per rdf e rdfs <rdf:description rdf:id= Persona > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#class > /> </rdf:description> Introduzione della class Persona <rdf:description rdf:id= Professore > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#class > /> <rdfs:subclassof rdf:resource = #Persona > /> </rdf:description> <rdf:description rdf:id= Studente > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#class > /> <rdfs:subclassof rdf:resource = #Persona > /> </rdf:description> <rdf:description rdf:id= Università > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#class > /> </rdf:description> Introduzione delle classi Professore, Studente, e Università (del tutto analoghe alla precedente, ma con introduzione dell arco subclassof ) <rdf:description rdf:id= iscrittoa > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#property > /> <rdfs:domain rdf:resource = #Studente > /> <rdfs:range rdf:resource = #Università > /> </rdf:description> <rdf:description rdf:id= insegnain > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#property > /> <rdfs:domain rdf:resource = #Professore > /> <rdfs:range rdf:resource = #Università > /> </rdf:description> Introduzione delle due proprietà (ruoli, slot, relazioni) </rdf:rdf> Fine delle descrizioni
I linguaggi per la rappresentazione La situazione NAMESPACE http://www.w3.org/1999/02/22-rdf-syntax-ns about type Property resource Class NAMESPACE http://www.w3.org/2000/01/rdf-schema domain subclassof range NAMESPACE http://www.w3.org/2000/10/swap/pim/contact fullname mailbox homepage NAMESPACE http://www.xyz.it/owlex (quello locale) Persona Professore Studente
I linguaggi per la rappresentazione Il livello ontologico L architettura del web semantico RDFs (Resource Definition Framework Schema) una particolare estensione di RDF per esprimere un vocabolario Livello logico (supporto al reasoning) SQL, Linguaggi logici Possibilità di integrare schemi e ontologie distribuite Livello ontologico (definizione di ontologie) OIL, DAML+OIL, OWL OWL (Web Ontology Language) un linguaggio di markup semantico per pubblicare e condividere ontologie Livello schema (definizione del vocabolario) RDF Schema Livello dati (modello semplice di dati e sintassi per i metadati) XML, RDF
I linguaggi per la rappresentazione Il potere espressivo di OWL
I linguaggi per la rappresentazione OWL e RDF <rdf:description rdf:id= Università > <rdf:type rdf:resource = http://www.w3.org/2000/01/rdf-schema#class > /> </rdf:description> <owl:class rdf:id= Università > RDF OWL Lite OWL DL OWL Full OWL Full: concepito per gli utenti che desiderano la massima espressività e libertà sintattica di RDF senza richiedere garanzie computazionali. OWL DL: (Description Logics) include tutti i costrutti di OWL ma pone alcune restrizioni sul loro utilizzo per garantire la decidibilità e la completezza computazionale OWL Lite: concepito per fornire agli utenti una gerarchia di classificazione e vincoli semplici, un sottoinsieme funzionale da utilizzare per semplici implementazioni
I linguaggi per la rappresentazione I costrutti di OWL 1. Un identificatore di classe 2. Una enumerazione di individui <owl:class> <owl:class rdf:id= Human > <owl:oneof rdf:parsetype= Collection > <owl:thing rdf:about= #Professore /> <owl:thing rdf:about= #Studente /> </owl:one of> </owl:class> 3. Una restrizione di proprietà <owl:restriction> <owl:onproperty rdf:resource= #iscrittoa /> <owl:hasvalue rdf:resource= #UnivTorino /> </owl:restriction> Operatori come owl:hasvalue sono owl:allvaluesfrom e owl:somevaluefrom. Vincoli sulla cardinalità si possono porre con owl:cardinality, owl:mincardinality e owl:maxcardinality
I linguaggi per la rappresentazione I costrutti di OWL 4. Una intersezione tra classi <owl:class> <owl:intersectionof rdf:parsetype= Collection > <owl:class rdf:resource= #UnivItaliana /> <owl:class rdf:resource= #EntePubblico /> </owl:intersectionof> </owl:class> NB: OWL non ha la Unique Name Assumption, per cui l intersezione tra #PresidenteDellaRepubblica e #ResidenteDelQuirinale è non-vuota 5. Una unione tra classi (analogo all esempio precedente, con owl:unionof al posto di owl:intersectionof) 6. Il complemento di una classe (operatore owl:complementof)
I linguaggi per la rappresentazione I costrutti di OWL Gli assiomi di classe permettono di porre vincoli tra classi. Essi possono coinvolgere le relazioni: rdfs:subclassof (che appartiene a RDF Schema) owl:equivalentclass e owl:disjointwith. <owl:class rdf:id= DipendenteUniv > <owl:intersectionof rdf:parsetype= Collection > <owl:restriction> <owl:onproperty rdf:resource= #lavorain <owl:hasvalue rdf:resource= #Università </owl:restriction> <owl:complementof rdf:resource= #Dottorando /> </owl:intersectionof> <owl:equivalentclass> <owl:unionof rdf:parsetype= Collection > <owl:class rdf:resource= #Professore > <owl:class rdf:resource= #TecnicoAmministrativo > </owl:unionof> </owl:class> <owl:class rdf:about= Professore > <owl:disjointwith rdf:resource= # TecnicoAmministrativo /> </owl:class> Un dipendente Universitario lavora all Università ma non è un dottorando La classe dei dipendenti Universitari è equivalente