Upload
phamanh
View
218
Download
0
Embed Size (px)
Citation preview
Gestione dei dati e della conoscenza
Proff. R. BASILI / M.T. PAZIENZAa.a. 2008-2009
Premessa
La quantità di informazione a disposizione in ogni settore di interesse per ciascuno di noi cresce in maniera vertiginosa; il valore dei dati come bene (per il singolo e per le organizzazioni) è da tutti riconosciuto.
Per essere in grado di sfruttare al massimo questa enorme mole di informazioni (organizzata in vasti insiemi di dati, oppure dispersa nel web) gli utenti hanno bisogno di metodologie e strumenti che semplifichino:
l’accessola gestione dei dati stessi la rapida estrazione di informazioni utili.
Premessa
I dati sono un punto, senza significato, nello spazio e nel tempo, ma senza riferimento a spazio e tempo; come:
• un evento fuori dal contesto• una parola fuori dal contestonon sono in relazione significativa con alcunché
Tentativo di associare significato ad un dato:il numero 5 --- numero cardinale --- >4 e <6 ---operazioni la parola tempo --- non essere in tempo ---fuori tempo --- il
tempo non si ferma mai --- tempo di cottura ---
Interpretazione & Contesto
dataunderstanding
contextindependence
information
knowledge
wisdom
understandingrelations
understandingpatterns
understandingprinciples
Premessa
Una collezione di dati per cui non esiste una relazione tra dati, non èinformazione
La comprensione, relativamente ad una collezione di dati, è dipendente dalle associazioni che si è in grado di riconoscere tra i dati (modellodei dati)
L’informazione è una relazione tra dati con una forte dipendenza dal contesto per quel che concerne il significato (modellodell’applicazione e del contesto)
La generalizzazione delle relazioni (e delle relazioni delle relazioni) porta a definire pattern completi e consistenti, “archetipi” che sono alla base della conoscenza (modello della conoscenza comune/generale, ontologia).
Premessa
Il modello èuna rappresentazione di qualcos’altro, utile per raggiungere uno scopo e quindi progettata / scelta per raggiungere quelloscopo.
La rappresentazione è diversa dal rappresentato, anche se permette di esprimerne gli aspetti rilevanti(almeno quelli scelti dal modellista)
Premessa
La differenza tra la realtà e la sua rappresentazionepuò creare problemi (approssimazione, incertezza, difficoltà a cogliere il nuovo,…): per la lororisoluzione bisognerà implementare appropriatimeccanismi di ragionamento.
La conoscenza è costituita da dati strutturati(informazioni) collegati da relazioni, sui quali èpossibile svolgere delle attività di ragionamentoche permettono di ricavare ulteriore informazione...
Premessa
Per arrivare alla conoscenza bisogna essere in grado di capire archetipi e le loro implicazioni. Gli “archetipi”non hanno bisogno di un contesto per esprimere significato, sono affidabili e completi e supportano la predittività.
Ragionare sugli archetipi porta ad acquisire conoscenza
Si impara quando si aggiunge nuova informazione a ciòche già si conosce (gli archetipi), e ciò produce un cambiamento negli archetipi stessi.
PremessaLe strutture dati permettono di dare una descrizione
organica alle informazioni da rappresentare. Sono definite a priori congiuntamente all’identificazione e
definizione delle caratteristiche rilevanti della conoscenzache si vuole rappresentare.
Le relazioni tra dati permettono di esprimere alcuni nessilogici tra le informazioni (rappresentate con le strutturedati), a supporto di un particolare ragionamento sui dati.
Il ragionamento formale utilizza la conoscenzarappresentata per giungere alla risoluzione di problemi e per l’acquisizione di nuova conoscenza.
Basi di dati / Database
• Una base di dati è una collezione di dati chedescrivono le attività di una o più organizzazionicorrelate
• Un sistema di gestione di basi di dati / DBMS èun software progettato per aiutare a gestire edutilizzare grandi collezioni di dati
L’alternativa al DBMS è memorizzare i dati in filese scrivere il codice necessario per gestirli.
Scopi di un Database
• Unificare e generalizzare l’accesso ai dati• Consentire un accesso semplificato ed efficiente• Proteggere i dati
– Integrità e Riservatezza (Sicurezza)– Tolleranza a malfunzionamenti/guasti
• Supportare la concorrenza• Facilitare lo sviluppo dei programmi “utente”
Database vs. Files
• Es. “Anagrafica di una compagnia multinazionale” - taglia > 10 Gb
– diverse funzionalita’ => molteplicita’ di librerie di accesso
– uso concorrente– impossibilita’ di un indirizzamento diretto e sequenziale– sicurezza – robustezza dell’accesso
Applicazioni e Database
• Diverse applicazioni usano porzioni diverse dei dati
• L’astrazione sui dati è diversa ma “coerente”• L’accesso ai dati e’
– dipendente dalla astrazione (modello logico)– vincolato dalla natura fisica della memorizzazione
⇒ e’ necessario svincolare la natura logica dei dati dalla loro rappresentazione in memoria, cioèdalle forme di memorizzazione
Data Model• Schema Fisico: definisce i dettagli legati alla
memorizzazione dei dati (file, indici e ecc).• Schema Logico/Concettuale:Definisce i dati in base
alla loro natura concettuale. E’ basato su un Modello Logico di definizione dei dati (ad esempio Modello Relazionale)
• Schema esterno:Rappresentazione, basata sul modello logico, dei dati che sono utili/necessari e legali per un gruppo di utenti. Sottoinsieme delle informazioni descritte nello schema concettuale (spesso detto view)
E’ necessario svincolare la natura logica dei dati dalla rappresentazione in memoria,
o meglio dalle forme di memorizzazione
Progettazione Concettuale
Il modello concettuale serve per descrivere tutte le informazioni che popoleranno la futura base di dati e le relazioni che nel dominio applicativo sussistono tra loro.
Tali proprietà sono formalizzate attraverso un linguaggio molto generale, che e’ detto linguaggio ER e il risultato della descrizione e’ detto schema ER (Entita’-Relazioni)– Uno “schema” di base di dati nel modello ER può essere
rappresentato graficamente (diagrammi ER)– Si può tradurre un diagramma ER in uno schema relazionale
Elementi del modello ER
Dipendenti LavoraIn Reparti
Mtr cfnome Dal
riddnome
budget
Entità è un oggetto del mondo reale distinguibile da altri oggetti. E’ descritta in un modello ER da un insieme di attributi e dal loro dominio. Insieme di Entità: Una collezione di entita’ simili, per esse definisco un attributo chiave che le distingue.
Dipendenti(Mtr:char(20),Nome:char(20),cf:char(20))Relazione: Un’associazione tra due o piu’ entitàInsieme di Relazioni: Una collezione di associazioni
Ogni relazione e’ individuata solo dalle entita’ che vi partecipano
Gestisce={(m,r)| m∈Dipendenti.Mtr,r∈Reparti.rid}
Richieste di informazione
Vorrei conoscere lo stato di obsolescenza di tutti i componenti installati nel sistema.
Quali sono i dipendenti anziani prossimi al pensionamento?
Quali sono le modalità di fatturazione attuali?
Risoluzione di problemi
Individuazione di passi di ragionamentoelementari basati su conoscenza di dominio e generale, la cui giustapposizione porta alla identificazione di soluzioni ai problemi.
Definizione di appropriate strategie di ricerca.
Conoscenza a priori del dominio
La conoscenza del dominio permette di utilizzare, nella risoluzione dei problemi, passi meno elementari con un processo di ragionamento piùampio e complesso
Si possono risolvere problemi più complessi laddove si abbia una qualche conoscenza del dominio
Sistemi basati su conoscenza
• Rappresentazione della conoscenza• Ragionamento
Logica come linguaggio formale di supporto sia per la rappresentazione che per il ragionamento
Rappresentazione
Una “rappresentazione” è qualunque notazione o insieme di simboli che rap-presenta (re-present) qualcosa a qualcun altro.
Una rappresentazione di qualcosa sta al posto di quel qualcosa
Rappresentazione
Diversi modi in cui la conoscenza sembra essere “organizzata” (es. oggetti, relazioni, schemi)
Versus
Diversi modi in cui la conoscenza può essere “rappresentata” (immagini, proposizioni, …)
Un esempio
Marco occupa la stanza 118
Giovanni occupa la stanza 119
“” “” “”
Ingrid occupa la stanza 123
Rappresentaz. analogica Rappresentaz. proposizionale
Ulteriori informaz. spaziali e temporali Informazioni esplicite
Marco118
Giovanni 119
Sara 120
Vittoria121
Massimo125
Alberto124
Ingrid123
122
Un altro esempio
Immagine Testo
Il libro è sul tavoloon(book,desk)
Rappresentaz. analogica Rappresentaz. proposizionale- Info implicita - Simboli discreti- Niente simboli - Simboli per relazioni- Nessuna regola compos. simboli - Regole grammaticali compos.- Concretezza - Astrazione rappresentazione
Sistemi basati su conoscenza
Logica come linguaggio formale di supporto per la rappresentazione della conoscenza ed il ragionamento
La logica consiste di un linguaggio e di una procedura di inferenza.
Logica come linguaggio formale
In un linguaggio logico (come per un qualsiasi altro linguaggio) bisogna definire formalmente la sintassi, un vocabolario, gli operatori ed i connettivi logici, oltre alle regole per combinarli tra loro.
Bisogna poter assegnare significato alle frasi del linguaggio (model theory)
Logica come linguaggio formale
Procedura d’inferenzaBisogna poter attuare inferenze valide da un insieme
di frasi del linguaggio indipendentemente dal loro significato (proof theory)
In logica la procedura di inferenza è di tipo deduttivo. L’induzione e l’abduzione sono altri due tipi di inferenza\
Logica come linguaggio formale
Tipologie di inferenzaDeduzione: dati degli assiomi veri, le inferenze che si
possono effettuare sono sempre vere.Abduzione: si possono inferire ipotesi eventualmente vere
(diagnosi) da fatti veriInduzione: inferire relazioni generali (imparare) da alcuni
esempi veri
In logica la procedura di inferenza è di tipo deduttivo (inferenza sempre vera).
L’induzione e l’abduzione sono due tipi di inferenza che non assicurano la verità dell’inferenza
Struttura del primo emicorso
LezioniEsercitazioniEsame
Dettagliate informazioni saranno comunicate dal Professor R. Basili
Emicorso 1: Scopi
• Introduzione ai concetti di base dei Sistemi di gestione delle Basi di Dati (DBMS). – Uso dei DBMS per la progettazione di Basi di Dati nella
applicazioni del software– Organizzazione ed Modelli dei dati a livello logico e fisico
• Prospettive nell'uso dei DBMS nelle moderne applicazioni del software:– Three-Tier Architectures– Cenni alla condivisione dei dati ed alla modellazione
concettuale
Emicorso 1: Requisiti
• IL corso e’ diretto agli studenti del Corso di Laurea in Ingegneria Informatica e Automatica
• Prerequisiti: elementi di programmazione in Pascal, C o C++, progettazione ed implementazione di strutture dati (liste, alberi)elementi di sistemi operativi (corso Sistemi Operativi, da seguire in parallelo).
Emicorso 1: Organizzazione
• Una particolare attenzione verra' dedicata ad aspetti pratici legati a– utilizzo di piattaforme DBMS software esistenti
(es. MySQL o Oracle)– integrazione tra applicazioni sw e DBMS
• Esercitazioni dedicate
Orari del Corso
• Martedì dalle 9:30 alle 11:15 - aula 1 PP2• Giovedì dalle 11:30 alle 13:15 - aula 3 PP2• Venerdi’ dalle 14:00 alle 15:45 – aula 2 PP2
• Ricevimento: Giovedi’ dopo la lezione• Sito Web:
http://www.uniroma2.it/didattica/GdC/
Testi Consigliati
• Testo di Riferimento– Sistemi di Basi di Dati,
di Raghu Ramakrishnan e Johannes Gehrke, Edizione Italiana, McGraw Hill, 2004
• Risorse e Dispense distribuite dal docente, es.– Introduzione a MySQL, PL/SQL– Uso delle librerie di JDBC
• Slides delle lezioni anche disponibil al sito degli autori:– http://www.cs.wisc.edu/~dbbook/
Modalità d’Esame
• 1 Esonero alla fine di ogni emicorso– Test a risposte chiuse (TRC)– Emi1: Prova di Progettazione di un Db (PDb)– Emi2: 2/3 Domande Aperte (DA)
• 1 Prova Finale (e di Recupero)– TRC+PDb+DA
Modalità Esame (2)Esonero Emi1
Test Finale/RecEsonero Emi2
Verbalizzazione
esito positivo
esito positivo
NO
NO
SI’
SI’
esito positivo NO
SI’
Modalità Esame (3)TRC+PDb
TRC+PDb+DATRC+DA
Verbalizzazione
esito positivo
esito positivo
NO
NO
SI’
SI’
esito positivo NO
SI’
Struttura del secondo emicorso
LezioniEsercitazioni
Esame (2 appelli a fine corso, 1 appello ad inizio luglio, 2 appelli a settembre)
Struttura del corso di Laboratorio
Progetto unico relativo al corso di
Gestione dei dati e della conoscenza
Syllabus secondo emicorso• Sistemi basati su conoscenza: rappresentazione e
ragionamento• Web ed Agenti intelligenti: autonomia, struttura,
interazione con l’ambiente (problemi di ricerca)• Web ed Agenti che ragionano: ragionamento,
rappresentazione e logica• Cenni di logica• Basi di conoscenza: rappresentazione formale,
relazioni di dominio, ontologie, inferenze• Semantic Web, Ontologie, RDF, OWL
Riferimenti per lo studio
• Libro di testo “Intelligenza Artificiale: un approccio moderno”, Russel e Norvig; Prentice Hall , vol. 1 Cap. 1,2,3,4,7,8,10 (solo capitoli selezionati)
• Presentazioni ppt del docente• Dispense• Documentazione su rete
Argomenti trattati in questa lezione
• Ruolo diverso assunto da: dati, informazione, conoscenza a fronte della loro definizione
• Ruolo della conoscenza nella definizione dei problemi e dei relativi metodi risolutivi
• Logica come linguaggio formale di supporto per la rappresentazione della conoscenza ed il ragionamento