Un linguaggio per l estrazione di informazioni da documenti non strutturati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Un linguaggio per l estrazione di informazioni da documenti non strutturati"

Transcript

1 Un linguaggio per l estrazione di informazioni da documenti non strutturati Ermelinda Oro 3 Marco Manna 3 Massimo Ruffolo 1,2 1 Exeura s.r.l. 2 ICAR-CNR - Istituto di Calcolo e Reti ad Alte Prestazioni del Consiglio Nazionale delle Ricerche 3 Dipartimento di Matematica Universit`a della Calabria, Arcavacata di Rende (CS), Italia e- mail: WWW home page: Sommario L Information Intelligence `e un nascente settore delle tecnologie dell informazione che mira ad usare le informazioni semi e non strutturate, presenti nel web o contenute nell enorme ammontare di documenti prodotti. Sfruttare il potenziale di conoscenza contenuta in tali sorgenti sta diventando un fattore determinante per la gestione piu` efficiente ed efficace dei processi di business. Negli ultimi anni sono stati proposti numeri approcci e sistemi che presentano, per`o, una serie di limiti: sono principalmente sintattici, ovvero non sfruttano la semantica nel trattamento delle informazioni semi e non strutturate, operano in maniera dipendente dalla rappresentazione interna dei documenti trattati e permettono di rappresentare pattern di estrazione di ridotta espressivit`a. L obiettivo del presente lavoro `e definire un linguaggio in grado di superare le limitazioni appena descritte: la Two-dimensional Object Grammar rappresenta un linguaggio bi-dimensionale per l estrazione di informazioni basato sulla semantica. Le regole di estrazione considerano la semantica delle informazioni che gestiscono grazie al supporto fornito dalle ontologie, non sono piu dipendenti dalla rappresentazione interna dei documenti digitali poich`e sfruttano la rappresentazione logica dei documenti che `e una rappresentazione astratta unificante, i pattern di estrazione catturano strutture dati multidimensionali e uno stesso pattern pu`o essere usato su documenti aventi rappresentazioni interne differenti grazie all uso della bidimensionalit`a e all approccio semantico. L esempio applicativo, mostrato nel presente lavoro, descrive un sistema di gestione dei processi con lo scopo di supportare la gestione delle cartelle cliniche. Il sistema acquisisce e memorizza istanze di processi clinici all interno di una base di conoscenza medica i cui parametri sono ottenuti sfruttando un approccio di estrazione delle informazioni semantico che abilita all acquisizione automatica della conoscenza medica da documenti clinici non strutturati. Il principale obiettivo `e assistere nell esecuzione e nel monitoraggio di processi clinici fornendo funzionalit`a per l acquisizione della conoscenza automatica. Le informazioni acquisite possono essere analizzate per identificare le principali cause di errori medici, di alti costi e, potenzialmente, per suggerire la riorganizzazione o il miglioramento dei processi clinici per intensificare il controllo sui costi e la soddisfazione dei pazienti. Introduzione Lo sviluppo del Web e delle tecnologie informatiche ha provocato negli ultimi anni un aumento vertiginoso delle informazioni disponibili in formato elettronico. Solo una piccola parte di esse `e accumulata in sorgenti di informazioni digitali in forma strutturata, mentre la maggior parte `e contenuta in forma semi-strutturata o non strutturata all interno di documenti aventi diverso formato interno (XML, HTML, PDF, DOC, testo piano, ecc.). Per estrarre informazioni e quindi conoscenza da sorgenti strutturate sono disponibili consolidati linguaggi di manipolazione e potenti tecniche di interrogazioni. Al contrario, i

2 documenti semi e non strutturati sono leggibili per l uomo (human-readable), ma di difficile trattabilit`a mediante strumenti software. La difficolt`a di trattamento dipende dall ambiguit`a intrinseca del linguaggio naturale. Nell ambito di aziende e istituzioni, `e diventato dunque prioritario ricorrere a tecniche in grado di estrarre le informazioni d interesse, dalle moli di materiali testuali che devono essere gestite quotidianamente. L Information extraction [25][38] `e una tecnica che ha l obiettivo di acquisire informazioni rilevanti da documenti semi-strutturati e non strutturati e memorizzarle, sottoforma strutturata, all interno di database o template ad-hoc. L Information extraction per riconoscere entit`a significative (nomi, luoghi, concetti) all interno di documenti non strutturati sfrutta, inoltre, tecniche per il Natural Language Processing (NLP). Diversamente dall Information Retrieval che usa analisi statistiche per indicizzare documenti non strutturati e per ricercare documenti contenenti specifiche parole chiave, l Information Extraction `e fondato sul pattern matching. Attualmente l Information Extraction `e oggetto di studio nei laboratori di ricerca di tutto il mondo. Negli ultimi anni sono stati proposti numeri approcci e sistemi. Questi presentano una serie di limiti quali: I sistemi di estrazione delle informazioni permettono di rappresentare regole di estrazione che, in genere, esprimono patterns che tengono conto solo della struttura sintattica dell informazione da estrarre. Per esempio l approccio per l estrazione di informazione per i documenti HTML adotta tecniche di pattern matching facendo uso dei tags e di espressioni regolari. In altre parole, le tecnologie di estrazione di informazioni esistenti non considerano la semantica delle informazioni che gestiscono; Gli approcci esistenti dipendono dalla rappresentazione interna dei documenti digitali trattati, ovvero le regole di estrazione sfruttano il particolare formato con cui le informazione sono rappresentate nei documenti. Cos`ı, i sistemi di estrazione dell informazione sono frequentemente specializzati per specifici formati interni (testo piano, HTML, XML, etc.); I linguaggi correntemente usati per rappresentare le regole di estrazione hanno una limitata espressivit`a. Ad esempio non sono capaci di esprimere pattern destinati a catturare strutture dati bidimensionali come tabelle, liste, etc. L obiettivo di questo lavoro `e definire e descrivere un linguaggio bi-dimensionale per l estrazione di informazioni da documenti semi e non strutturati basato sulla semantica, in grado di superare le limitazioni precedentemente citate. Il presente lavoro ricade dell ambito delle attivit`a di ricerca e sviluppo, condotte dalla societ`a Exeura s.r.l., spin-off dell universit`a della Calabria. In particolare, Exeura s.r.l. `e impegnata nella definizione di un approccio innovativo per l estrazione dell informazione e nella implementazione dello stesso all interno del sistema di semantico denominato HiLeX. Tale approccio `e basato: sulla rappresentazione di un modello di conoscenza in grado di esprimere la semantica delle informazioni da estrarre. Tale modello fa uso di ontologie di dominio espresse per mezzo del linguaggio OntoDLP. Tale linguaggio, fondato sulla programmazione logica disgiuntiva, ha caratteristiche objectoriented, comprendenti classi, ereditariet`a (multipla), oggetti complessi, tipi di dati. Il linguaggio permette la rappresentazione ed il ragionamento su ontologie. Nelle ontologie un concetto di dominio pu`o essere rappresentato da classi; in questo approccio per ogni concetto `e possibile rappresentare un insieme di regole esprimenti i patterns (cio`e i possibili modi di scrittura del concetto) secondo i quali il concetto si manifesta all interno di documenti semi e non strutturati. Le regole sono usate per riconoscere, annotare semanticamente ed estrarre le informazioni contenute nei documenti. sull uso di una rappresentazione bi-dimensionale dei documenti semi e non strutturati che permette una rappresentazione astratta e unificante dei differenti formati di documenti esistenti. In questo modo il riconoscimento dei patterns avviene sfruttando la semantica e le relazioni spaziali tra oggetti.

3 Il contributo principale del documento consiste nella definizione di una nuova grammatica ad attributi bidimensionale orientata agli oggetti. Tale grammatica sfrutta la rappresentazione bi-dimensionale dei documenti e il supporto semantico fornito dalle ontologie di dominio. Il linguaggio estende le espressioni regolari per la rappresentazione di patterns bi-dimensionali (come tabelle, liste di oggetti, ecc.) abilitando al riconoscimento di oggetti complessi che appaiono in documenti non strutturati. Il documento `e organizzato come segue: Nella sezione 1, verranno presentati diversi tool di estrazione dell informazione da sorgenti semi-strutturate o non strutturate. Verr`a, quindi, effettuato un confronto tra i sistemi. Tramite questo confronto risulter`a piu` evidente la necessit`a di definire un linguaggio per l estrazione delle informazioni che sia semplice ma potente, e che permetta di definire un approccio di estrazione delle informazioni basato sulla semantica. Nella sezione 2, verr`a introdotta la grammatica ad oggetti bi-dimensionale come linguaggio per l estrazione semantica delle informazioni, che estende la grammatica ad attributi dove gli attributi corrispondono alle propriet`a delle classi di una ontologia. Mediante una metagrammatica sar`a definita la sintassi. Il linguaggio estende le espressioni regolari per la rappresentazione di patterns bi-dimensionali, abilitando al riconoscimento di oggetti complessi che appaiono in documenti non strutturati. Infine, nella sezione 3, per evidenziare l espressivit`a e la facilit`a di scrittura della grammatica ad oggetti bi-dimensionale presentata, si mostrer`a un applicazione che consente di individuare ed estrarre informazioni per il dominio oncologico contenute all interno di documenti clinici. 1 L estrazione di informazioni da sorgenti semi e non strutturate La rapida crescita della disponibilit`a di testo elettronico on-line ha fatto diventare cruciale la possibilit`a di estrarre da esso dati, informazioni e conoscenza. La crescita dei dati `e stata accompagnata da un aumento notevole dei formati di rappresentazione e di gestione delle informazioni disponibili. E possibile distinguere tre categorie in cui racchiudere tali formati: Formati di dati strutturati come i database relazionali; Formati di dati semi-strutturati come HTML e XML; Formati di dati non strutturati come i documenti testuali piatti. I dati strutturati (quelli gi`a inseriti in database, organizzati e pronti per essere gestiti da applicazioni informatiche) vengono sempre creati dentro alle organizzazioni, e sono facilmente gestibili. Le difficolt`a principali vengono dai cosiddetti dati non strutturati, cio`e dalle informazioni digitali non catalogate e non classificate. Solitamente si tratta di documenti, e quindi di insiemi di dati articolati/complessi, di origine e formato anche molto diversi. Ci`o che serve, sono algoritmiche potenti in grado di riconoscere concetti all interno del testo elettronico che permettano di superare il collo di bottiglia che limita la gestione della conoscenza contenuta in questo tipo di documenti. Molti sono gli sforzi che in questi ultimi anni stanno portando aziende e ambiti accademici allo sviluppo di sistemi di estrazione delle informazioni, ed `e proprio per questo motivo che stanno pian piano crescendo anche gli studi teorici sull espressivit`a dei formalismi proposti per la generazione di tali sistemi.

4 1.1 Una panoramica su sistemi e approcci esistenti Negli ultimi anni sono stati proposti numerosi approcci al problema dell Information Extraction. In questa sezione verranno brevemente descritti alcuni tra i piu` importanti sistemi esistenti e confrontate le loro principali funzionalit`a. RAPIER RAPIER (Robust Automated Production of Information Extraction Rules) [4] lavora su testo semistrutturato e riesce a dedurre le regole in modo da portare a termine lo svolgimento completo della funzione di IE. Riceve un insieme di documenti e template di esempio indicanti l informazione da estrarre ed impara regole di pattern-matching per estrarre i riempitivi (filler) degli slot nel template. L intervento umano nel sistema consiste nel fornire testi con template gi`a riempiti. L algoritmo di apprendimento incorpora tecniche provenienti da numerosi sistemi di programmazione logica induttiva e impara pattern non limitati (unbounded pattern) che includono restrizioni sulle parole e part-of-speech tagger in prossimit`a del riempitivo. L algoritmo si basa su una ricerca bottom-up ossia su una ricerca dallo specifico al generale, iniziando con la regola piu` specifica che si accoppia con uno slot target. Delle coppie di regole sono scelte a caso e si ricerca la loro migliore generalizzazione partendo da una least general generalization (LGG) e aggiungendo restrizioni fino a quando non ci sono progressi nelle successive numerose iterazioni. I pattern di estrazione di RAPIER sono basati sull individuazione di separatori di testo e sulla descrizione del contenuto ottenuta dall utilizzo di pattern che sfruttano informazioni sintattiche e semantiche. Le prime sono conseguite utilizzando un part-of-speech tagger, mentre le seconde sono dedotte da un dizionario di classi semantiche. Il tagger analizza le frasi in input etichettando ogni parola come un nome, un verbo, un aggettivo ecc. in modo piu` robusto e veloce di come farebbe un full parser, ma perdendo un po in quantit`a di informazioni recuperate. Le regole per l estrazione sono indicizzate secondo un nome di template e di slot e consistono di tre parti: un filler, ossia un pattern che si accoppia con il testo target e un pre-filler ed un post-filler ossia, dei pattern che si accoppiano rispettivamente con il testo precedente e seguente. Ogni pattern pu`o essere rappresentato o da una serie di pattern item costituiti da una singola parola o da una pattern list relativa a N parole. Per avere una corrispondenza il testo in esame deve soddisfare uno dei tre possibili tipi di requisiti: appartenere ad una lista di parole, ad una lista di etichette sintattiche o ad una lista di classi semantiche. Il fatto che l algoritmo sia centrato su una frase target implica un estrazione unicamente single slot, ma `e possibile eseguire un estrazione multislot dividendo il testo in piu` di tre campi. SoftMealy SoftMealy [14] `e un sistema basato su automi a stati finiti non deterministici chiamati finitestate transducers (FST). Tale approccio riesce a gestire casi in cui mancano dei valori, ci sono slot con valori multipli oppure sono presenti permutazioni di variabili. Ci`o `e ottenuto mediante l utilizzo delle cosiddette wildcard le quali gestiscono oltre alle voci mancanti anche quelle che appaiono in ordine vario, ma incluse negli esempi di addestramento. Le regole contestuali sono ricavate utilizzando un algoritmo induttivo applicato su degli esempi che devono contenere una lista ordinata di fatti da estrarre insieme ai rispettivi separatori. L algoritmo riceve come input l insieme di fatti etichettati ritornando informazioni sulla posizione dei separatori e sulle permutazioni possibili. Queste informazioni offrono le basi per la creazione di regole contestuali che costituiscono l output del processo. Il wrapper che si ottiene `e un automa a stati finiti non deterministico in cui gli stati rappresentano i fatti da estrarre e le transizioni rappresentano le regole contestuali che definiscono i separatori tra gli stessi. Le transizioni di stato sono determinate dalla corrispondenza con tali regole contestuali. L estrazione dei fatti avviene quando il wrapper riconosce i separatori nelle sue vicinanze.

5 TSIMMIS TSIMMIS (The Stanford-IBM Manager of Multiple Information Sources) [13] si pone come obiettivo lo sviluppo di strumenti che facilitino la rapida integrazione di sorgenti testuali eterogenee, includendo sia le sorgenti di dati strutturati sia quelle di dati semi-strutturati. Questo obiettivo `e raggiunto attraverso un architettura simile a quella di molti altri sistemi: i wrapper convertono i dati attraverso un modello comune di rappresentazione, mentre i mediator combinano ed integrano i dati ricevuti dai wrapper. I wrapper, inoltre, forniscono un linguaggio di interrogazione ed estrazione delle informazioni, mostrando un interfaccia esterna simile a quella dei mediatori. In questo modo, l utente pu`o porre le interrogazioni attraverso un unico linguaggio sia ai mediatori (ricevendo dati integrati da piu` sorgenti), sia direttamente ai wrapper (interrogando un unica fonte). Ad ogni sorgente corrisponde un wrapper (o traduttore) che converte nel modello comune i dati estratti dalla sorgente. I wrapper convertono, inoltre, le query scritte utilizzando il modello comune in richieste comprensibili dalla particolare sorgente da loro servita. La peculiarit`a di questo progetto `e il modello comune dei dati utilizzato per rappresentare le informazioni. OEM (Object Exchange Model) `e un modello a etichette basato sui concetti di identit`a di oggetto e annidamento particolarmente adatto a descrivere dati la cui struttura non `e nota o `e variabile nel tempo. In aggiunta a questo, sono disponibili ed utilizzati dal sistema due linguaggi di interrogazione, OEM-QL e MSL (Mediator Specification Language), per ottenere i dati dalle fonti ed integrarli opportunamente. Per facilitare il compito dell amministratore del sistema sono stati progettati due moduli (translator generator e mediator generator) che supportano le fasi di realizzazione, rispettivamente dei wrapper e dei mediatori, fornendo un insieme di librerie di funzioni predefinite. Ogni comando `e della forma: [variabili, sorgente, pattern], dove il campo sorgente specifica l input testuale, pattern indica come trovare il testo di interesse all interno della sorgente, e variabili sono una lista di variabili che memorizzano i risultati dell estrazione. Il simbolo speciale * in un pattern significa scartare, mentre # significa salvare in una variabile. TSIMMIS fornisce due importanti operatori: Split, utilizzato per dividere la lista di input in elementi individuali; Case, che consente di gestire irregolarit`a nella struttura dei dati di input Minerva Minerva [6] `e un formalismo per lo sviluppo di wrapper che combina un approccio dichiarativo grammar-based con le caratteristiche tipiche dei linguaggi di programmazione procedurali. La grammatica utilizzata da Minerva `e di tipo EBNF: per ogni documento viene definito un insieme di produzioni; ogni produzione definisce la struttura di un simbolo non terminale della grammatica in termini di simboli terminali e di altri non terminali. Minerva lavora in cooperazione con un linguaggio per la ricerca e la ristrutturazione di documenti chiamato Editor, che fornisce le operazioni di base presenti negli editor testuali. Per gestire le irregolarit`a trovate comunemente nei dati HTML, Minerva fornisce un meccanismo procedurale per manipolare le eccezioni all interno del parser grammaticale. BYU BYU [9] (lavoro del Data Extraction Group presso la Brigham Young University) implementa un approccio basato su ontologie. Le ontologie sono precedentemente costruite per descrivere i dati di interesse, includendo relazioni, appartenenze lessicali, e parole chiave di contesto. Analizzando l ontologia, il tool pu`o riconoscere vari dati presenti all interno di uno o piu` documenti, estrarli e successivamente produrre, automaticamente, un database contenete tali dati estratti. Prima di applicare l ontologia, il tool richiede l applicazione di una procedura automatica di estrazione di frammenti di testo contenenti le informazioni (o i record) di interesse. Per operare correttamente questo tool fa affidamento quindi alla costruzione attenta dell ontologia ed alla sua validazione. Un prerequisito, questo, che richiede uno sforzo concettuale rilevante ad opera di

6 operatori esperti nell ambito dei domini di interesse da rappresentare all interno dell ontologia. Il lato positivo `e che, se l ontologia `e abbastanza rappresentativa, l estrazione `e assolutamente automatica. Inoltre, BYU `e discretamente robusto (ad esempio, esso continua ad operare correttamente anche se le caratteristiche di formattazione della pagina sorgente cambiano) e adattabile (ad esempio, esso lavora a partire da pagine diverse provenienti da diverse sorgenti, ma appartenenti allo stesso dominio di applicazione). Tali caratteristiche sono unicamente riconoscibili solo in tool che utilizzano un approccio basato su ontologie. Jedi Jedi (Java based Extraction and Dissemination of Information) [21] ha funzionalit`a di estrazione, integrazione e riorganizzazione dei dati. Per la generazione dei wrapper utilizza le attribute grammars valutate con una strategia di parsing fault-tolerant in grado di lavorare con grammatiche ambigue e sorgenti non regolari. Lo strato di wrapping trasforma sorgenti modellate in maniera eterogenea in un modello ad oggetti uniforme. I wrapper coinvolti sono di due tipi: generici e specifici. I wrapper generici abilitano Jedi a lavorare con sorgenti dati standard tipo HTML, XML, CORBA, ecc. I wrapper specifici possono essere utilizzati per ottenere dati da formati proprietari quali ad esempio banche dati-on-line, cataloghi, bibliografie ecc. Lo strato di mediazione utilizza un semplice modello object-oriented e lavora con dati relazionali, HTML e XML. Esso permette di definire ed interrogare piu` sorgenti in modo da ottenere delle viste integranti in grado di omogeneizzare sia la struttura che la semantica delle stesse. Queste caratteristiche rendono Jedi un vero DAT (Data Acquisition and Transformation Tool). Inoltre, Jedi contiene un linguaggio C-like che consente agli utenti di definire i propri wrapper e mediatori. NoDoSE NoDoSE (Northwestern Document Structure Extractor) [1] `e un tool interattivo per la determinazione e l estrazione semiautomatica di informazioni semi-strutturate. Per prima cosa `e necessario definire uno schema per i dati da estrarre. Successivamente, utilizzando una GUI, l utente decompone il documento gerarchicamente, evidenziando le regioni di interesse e descrivendo la loro semantica. Il processo di decomposizione di un documento avviene in livelli. Per ogni livello di decomposizione l utente costruisce un oggetto avente una complessa struttura. Dopo aver addestrato il tool su come costruire alcuni oggetti, NoDoSE pu`o apprendere come identificare altri oggetti nel documento. Quest ultima funzionalit`a `e affidata ad un componente di mining che tenta di inferire la grammatica di un documento dagli oggetti costruiti dall utente. Nella sua versione corrente NoDoSE offre componenti di mining per il plain text e per pagine HTML. SRV SRV (Sequence Rules with Validation) [12] `e un algoritmo relazionale top-down per l Information Extraction. L input `e costituito da un insieme di pagine etichettate in modo da identificare le istanze dei campi da estrarre e da un insieme di caratteristiche che i token devono soddisfare. L output `e un insieme di regole di estrazione. In questo sistema il problema dell Information Extraction `e visto in un ottica di classificazione in cui tutte le possibili frasi di un testo sono considerate istanze. Ognuna di queste `e sottoposta ad un classificatore che gli assegna una metrica indicante l attinenza della frase con il corretto filler per uno slot target. La versione originale di SRV usa un classificatore che si basa sull apprendimento di regole relazionali che adottano una tecnica di induzione top-down. Le funzioni usate in SRV sono di due tipi: semplici e relazionali. Dato un token sono innanzitutto individuate una serie di caratteristiche base quali lunghezza, tipo di carattere, ortografia, partof-speech e significato lessicale. Ma, successivamente, si va alla ricerca di caratteristiche piu` complesse che identificano l adiacenza tra token, ricerca questa che garantisce il carattere relazionale del sistema.

7 Lo spazio di SRV consiste in tutti quei frammenti di testo estratti dalla collezione dei documenti d esempio che sono lunghi, in numero di token, quanto la piu` piccola istanza di campo nel corpo l esempio, ma non piu` lunghi della piu` larga. Il processo di estrazione coinvolge l esame di ogni possibile frammento di testo di lunghezza tale da adattarsi ad una qualsiasi delle regole. SRV inizia esaminando l intero insieme degli esempi, positivi e negativi, dove quelli negativi sono rappresentati dai frammenti che non possono essere accettati come un istanza di campo. L induzione procede confrontando tutti gli esempi che non sono stati coperti dalle regole precedentemente acquisite. Quando una regola `e abbastanza buona, ossia copre solo esempi positivi o un ulteriore specializzazione `e giudicata improduttiva, tutti gli esempi positivi coperti da quella regola sono rimossi dall insieme generale e il processo `e iterato. La rappresentazione delle regole di SRV `e espressiva ed `e capace di incorporare caratteristiche ortografiche ed altre che individuino part-of-speech o classi semantiche quando sono disponibili. Non `e richiesta una precedente analisi sintattica. WebOQL WebOQL [2] `e un linguaggio funzionale che pu`o essere utilizzato come un linguaggio di interrogazione per il Web, per dati semistrutturati, e per la ristrutturazione di siti Web. La struttura dati principale fornita da WebOQL e l Hypertree. Gli Hypertree sono alberi etichettati sugli archi ordinati che possono essere usati per modellare una tabella relazionale, un file BibTex, una gerarchia di directory,...il livello di astrazione del modello permette di supportare comodamente collezioni, annodamenti e ordinamenti. La struttura dell albero `e simile a quella del Document Object Model (DOM) nella quale gli archi sono etichettati con record contenenti tre attributi: tag, source e text, corrispondenti al nome del tag, alla porzione di codice HTML ed al testo senza markup. Il principale costrutto fornito da WebOQL `e il select-from-where. Il linguaggio ha l abilit`a di simulare tutte le operazioni in algebra relazionale e calcolare la chiusura transitiva su relazioni binarie arbitrarie. WHISK WHISK [37] `e un sistema costruito in modo da gestire qualsiasi tipo di estrazione, da testo molto strutturato a testo semistrutturato tipico dei documenti WEB, e, usato in congiunzione con un analizzatore sintattico ed un etichettatore semantico, riesce anche a gestire l estrazione di informazioni da testo libero. WHISK `e basato su un algoritmo ad apprendimento e richiede un insieme di istanze di esercizio annotate a mano. Il processo di etichettatura `e alternato con quello di apprendimento, infatti, ad ogni iterazione, il sistema sottopone all utente un istanza da etichettare dopodich e induce un insieme di regole basandosi sull insieme di esercizio in versione espansa. Gli oggetti di partenza sono un insieme contenente le istanze non etichettate e uno vuoto che conterr`a quelle etichettate. Per istanza si intende una piccola unit`a di un documento come una frase. Ad ogni iterazione viene selezionato un insieme di istanze non etichettate che viene sottoposto all utente il quale aggiunge un etichetta per ogni case frame. Cosa costituisce un istanza dipende dal dominio: per il testo strutturato e semistrutturato essa `e rappresentata da tag HTML o altre espressioni regolari, per il testo libero un analizzatore di frasi segmenta il testo in frasi o frammenti di frasi. Le etichette delle istanze cos`ı ottenute sono usate per la creazione di nuove regole e per testare le performance di quelle gi`a proposte. Se una regola si applica correttamente ad una istanza si dice che questa riesce a coprirla e la frase estratta `e considerata corretta. WHISK appartiene alla famiglia degli algoritmi coprenti (covering algorithm), `e basato su tecniche di machine learning ed impara le regole di classificazione utilizzando l induzione topdown. Inizialmente viene trovata la regola piu` generale che copre il testo di partenza, successivamente si aggiunge un termine per volta alla regola fino a quando gli errori sono ridotti a zero o un criterio di pre-snellimento (pre-pruning) `e soddisfatto. Il processo di apprendimento `e ripetuto fino a quando tutte le estrazioni positive sono coperte dalle regole generate. A questo punto si applica un processo di postsnellimento (postpruning) in modo da rimuovere le regole che sovradattano (overfit) i dati. Riassumendo, WHISK `e in grado

8 di gestire testo strutturato e semistrutturato, associa informazioni correlate tra loro in case frame multislot, opera su istanze che rappresentano tipicamente frasi o unit`a della stessa taglia, gestisce le permutazioni variabili degli slot nel caso in cui queste siano appartenenti agli esempi, ma `e incapace di rappresentare caratteristiche negate. Wien WIEN (Wrapper Induction ENvironment), [22] tramite un approccio di tipo plain-text, analizza pagine HTML che hanno organizzazione di tipo HLRT (Head, Left, Right, Tail), in cui `e possibile riconoscere gli elementi che servono a delimitare la testa (Head) e la coda (Tail) della zona di interesse. Al loro interno possono essere riconosciute coppie di elementi, Left e Right, che separano gli slot contenenti i fatti da estrarre. Quasi tutti gli attributi che caratterizzano le pagine vengono tralasciati. Le pagine che soddisfano queste caratteristiche rappresentano quasi sempre risultati automatici frutto di interrogazioni ad indici di ricerca o database. WIEN tenta di automatizzare il piu` possibile il wrapping in modo da evitare il compito di etichettare a mano un insieme di documenti di esempio. In proposito, sono state sviluppate una serie di tecniche che automaticamente si preoccupano di tale fase. L algoritmo di etichettatura automatica prende in input delle euristiche specifiche del dominio e le utilizza al fine di riconoscere le istanze degli attributi che si vogliono estrarre in modo da etichettarle. Stalker Stalker [29] offre un linguaggio di estrazione piu` espressivo lasciando spazio alla disgiunzione e i multi-pattern. L utente fornisce esempi in cui sono evidenziati i dati rilevanti che costituiscono le foglie del cosiddetto albero EC (Embedded Catalog): una descrizione della pagina secondo una struttura ad albero in cui ogni nodo interno `e sia una lista omogenea che una tupla eterogenea di voci. A partire dalla pagina di esempio sono generati la sequenza dei token che rappresentano il contenuto della pagina (parole, etichette HTML) e gli indici dei token rappresentanti l inizio delle voci. La sequenza dei token e delle wildcard `e usata come punto di riferimento per localizzare una voce da essere estratta dall algoritmo di induzione wrapper che genera regole di estrazione espresse come semplici grammatiche a riferimento ( landmarkgrammar ). I documenti Web sono descritti utilizzando il formalismo EC in cui il contenuto di ogni nodo radice `e l intera sequenza di token (ossia l intero documento), mentre il contenuto di un nodo qualsiasi rappresenta una sottosequenza del contenuto del suo genitore. I nodi finali sono le voci di interesse dell utente, ossia i dati da essere estratti. Stalker usa un algoritmo a copertura sequenziale che genera un automa a riferimento lineare (linear landmark automata) in grado di creare il maggior numero possibile di esempi di addestramento. L automa in questione `e a stati finiti e non deterministico e una transizione tra stati avviene allorquando la stringa al momento sotto esame `e accettata come valida in quanto soddisfa la regola che permette la transizione dallo stato corrente a quello successivo. In seguito Stalker cerca di generare un nuovo automa per gli esempi rimanenti e il processo viene iterato. Quando tutti gli esempi positivi sono coperti, Stalker ritorna la soluzione ossia una SLG (Simple Landmark Grammar) dove ogni ramo corrisponde ad un landmark automata. Stalker riesce ad effettuare wrapping da sorgenti di informazione aventi un numero di livelli arbitrario. Ogni nodo `e estratto indipendentemente dal suo sibling, quindi l ordinamento delle voci nel documento non deve essere necessariamente fissato ed `e possibile estrarre informazioni da documenti con voci mancanti o che appaiono in vario ordine. L algoritmo usa regole single slot, ma questo non rappresenta una limitazione in quanto usando un EC-tree riesce a raggruppare voci individuali estratte per`o da template multi slot. Lixto Lixto [3] `e uno strumento che permette agli utenti di costruire interattivamente e visualmente un wrapper. Il processo si svolge mediante l utilizzo di uno o pochi documenti d esempio usando principalmente i mouse click e un design fortemente intuitivo. Durante il processo visuale il programma wrapper `e generato automaticamente e non richiede l intervento da parte di persone con conoscenze del linguaggio di programmazione del wrapper. Lixto presenta un insieme di caratteristiche uniche: utilizza un

9 processo di specifica del wrapper visuale; permette l estrazione di pattern target basata sul contesto, sul contenuto stesso, sugli attributi HTML, sull ordine di comparsa e su concetti semantici e sintattici; la struttura delle specifiche visuali utilizza un linguaggio interno basato sulla logica, simile al Monadic Datalog e denominato Elog che `e in grado, con la sua struttura piu` interna, di catturare precisamente ed efficientemente l espressivit`a della monadic second order logic (MSO) applicata agli alberi. L architettura del Lixto Visual Wrapper Toolkit `e suddivisa in moduli. L Interactive Pattern Builder fornisce un interfaccia utente visuale che permette all utente di specificare i pattern di estrazione desiderati e contiene l algoritmo di base per creare un corrispondente Elog wrapper di output. L Extractor `e l interprete del programma Elog che esegue l estrazione sul documento HTML generando come output una pattern instance base ossia una struttura dati che codifica le istanze estratte come alberi gerarchicamente ordinati e stringhe. Un solo programma Elog pu`o essere usato sia per effettuare del wrap continuamente su pagine che cambiano o su diverse pagine accomunate da una struttura simile. Con l XML Designer l utente decide come mappare l informazione estratta, conservata nelle pattern instance base, in XML. Compito questo svolto materialmente dal cosiddetto XML Transformer. Il sistema fin qui descritto `e stato utilizzato per lo sviluppo di numerose applicazioni nel mondo reale in cui l obiettivo di integrare, trasformare e consegnare l informazione estratta usando il Lixto Visual Wrapper `e stato perseguito mediante l utilizzo del Lixto Transformation Server. Esso pu`o essere considerato come un ambiente simile ad un contenitore di agenti di informazione configurati visualmente, pu`o gestire flussi unidirezionali molto complessi di informazioni, `e disegnato per l uso di componenti in modo da modulare la gestione dell informazione ed inoltre garantisce che i servizi di informazione siano controllati e personalizzati dall esterno dell ambiente server utilizzando vari tipi di mezzi di comunicazione (HTTP, SMS, RMI). DEByE Per l estrazione di dati da sorgenti provenienti dal web DEByE (Data Extraction By Example) [23] utilizza un approccio basato su un piccolo insieme di esempi specificati dall utente. La novit`a sta nel fatto che l intero processo di estrazione `e pienamente specificato da esempi proposti dall utente poi utilizzati per generare i pattern. L utente parte scegliendo un tipo di struttura ed essa `e descritta all atto della specifica degli esempi. L utente interagisce con un interfaccia grafica basata sul concetto di tabelle annidate (nested tables) che, grazie alla loro semplicit`a e intuitivit`a, lo mettono al riparo dal doversi addentrare in dettagli tecnici (come tag HTML e operatori di formattazione) legati alla problematica dell estrazione. L approccio utilizzato permette all utente di esprimere la sua percezione degli oggetti nelle pagine di interesse e questo evita che sia il tool a derivarla dalla formattazione del testo. L estrazione utilizza il modulo DEByE extractor che adotta una procedura bottom-up abbastanza efficiente anche se applicata a documenti Web diversi tra loro, come dimostrato dagli esperimenti condotti. Altri moduli sono in via di realizzazione per essere usati insieme a DEByE. Tra questi, QSByE: una interfaccia per query QBE-like, ASByE: un tool per la generazione di agenti di acquisizione di dati, DEByE-SM: un modulo per memorizzare i dati estratti in database relazionali, WebView: un tool per definire e mantenere viste su sorgenti web. HιLεX HιLεX [32] `e un sistema logic-based che combina la conoscenza sintattica e quella semantica per estrarre informazioni da documenti non strutturati. Le principali caratteristiche di HιLεX sono le seguenti: Una nuova rappresentazione bidimensionale per i documenti non strutturati. Un documento viene visto come un piano Cartesiano composto da un insieme di regioni rettangolari annidate denominate portion. Ogni portion, identificata univocamente attraverso le coordinate cartesiane di due vertici opposti, contiene una parte del documento di input;

10 L utilizzo di un linguaggio per la rappresentazione della conoscenza ASP-based chiamato OntoDLP, che estende la programmazione logica disgiuntiva con delle caratteristiche proprie della programmazione ad oggetti come classi, ereditariet`a (multipla) e tipi. Questo linguaggio `e supportato dal sistema DLV; L utilizzo di un ontologia, codificata in OntoDLP, che descrive il dominio del documento di input. Un concetto del dominio `e rappresentato come una classe OntoDLP; ogni istanza di classe `e un pattern rappresentante un possibile modo di scrivere il concetto; L impiego di una nuova grammatica (HιLεX grammar) per la specificazione dei pattern. La grammatica estende le espressioni regolari per la rappresentazione di pattern bidimensionali (come tabelle, item list, etc.), che appaiono frequentemente nelle pagine Web. I pattern sono specificati attraverso regole OntoDLP sulla cui esecuzione si basa l estrazione semantica di informazioni mediante l associazione di ogni portion ad un elemento dell ontologia di dominio. HιLεX consente di estrarre informazioni da documenti di formati differenti grazie all alto livello di astrazione fornito dalla vista logica del documento, e permette di effettuare una classificazione semantica dei documenti utile in svariati contesti applicativi 1.2 Confronto tra sistemi Per effettuare la comparazione dei tool, `e seguito l approccio proposto in [5], dove viene effettuato un confronto basato su tre dimensioni: l input del processo di estrazione, le tecniche per la scrittura delle regole di estrazione e il grado di automazione del processo. Tipologia di documenti trattati Come gi`a detto in precedenza, il file di input di un task di IE pu`o essere strutturato, semistrutturato o non strutturato. Le pagine HTML sono considerate documenti semistrutturati poich e contengono una minima struttura costituita con l utilizzo dei tag. L analisi basata sulle caratteristiche del task riguarda le seguenti propriet`a: Tipo di pagina. Le tipologie di pagine trattate sono: semistrutturate e non strutturate. Supporto Non-HTML. Il supporto per input Non-HTML dipende dalla conoscenza di background usata dal sistema di IE. Alcuni sistemi possono adattarsi a tali input, mentre altri non possono trattare documenti che non siano in formato HTML; I sistemi presi in considerazione, come mostrato nella seguente tabella, sono capaci di trattare documenti in formato anche non HTML, esistono altri sistemi che lavorano esclusivamente sulla struttura dei tag HTML, cos`ı come W4F[34], XWRAP[28] e RoadRunner[7]. Tuttavia, meno della met`a dei sistemi esaminati riescono ad estrarre informazioni da documenti anche non strutturati. Tool Tipo di pagina Supporto Non-HTML RAPIER Non strutturata Si SoftMealy Semi-strutturata Si TSIMMIS Semi-strutturata Si Minerva Semi-strutturata Si BYU Non strutturata Si Jedi Non strutturata Si NoDoSE Semi-strutturata Si

11 SRV Non strutturata Si WebOQL Semi-strutturata WHISK Non strutturata Si Wien Semi-strutturata Si Stalker Semi-strutturata Si Lixto Non strutturata Si DEByE Semi-strutturata Si HιLεX Non strutturata Si Tabella 1: Confronto basato sull input del processo di estrazione Tecniche per la scrittura delle regole di estrazione Viene effettuato un confronto in base alle tecniche utilizzate: Classe: Identifica l appartenenza del sistema ad una delle seguenti classi [24]: Linguaggi per lo sviluppo di wrapper. Uno dei primi approcci per il problema della generazione dei wrapper `e consistito nello sviluppo di linguaggi specifici progettati per assistere l utente nella costruzione dei wrapper. Questi linguaggi sono stati proposti come alternative ai linguaggi general purpose come Perl e Java prevalentemente utilizzati. Sistemi HTML-aware. In questo raggruppamento si trovano quei sistemi che dipendono strettamente dalle caratteristiche strutturali dei documenti HTML per l estrazione dei dati. Sfruttano, solitamente, rappresentazioni ad albero che rispecchiano la gerarchia della marcatura HTML. Sistemi NLP-based. Le tecniche di Natural Language Processing vengono usate da diversi sistemi, i quali applicano varie procedure come filtraggio e tagging semantico per costruire relazioni tra gli elementi del documento, cos`ı da derivare le regole di estrazione. Tali regole sono basate su vincoli sintattici e semantici che aiutano ad identificare le informazioni rilevanti all interno dei documenti. Sistemi per l induzione di wrapper. Il processo di induzione consiste nel generare delle regole di estrazione a partire da un insieme di esempi di training. A differenza dei tool NLP-based, questi sistemi non si basano su vincoli linguistici ma piuttosto sulla struttura del documento e ci`o li rende piu` adatti ad essere utilizzati su documenti HTML. Sistemi Modeling-based. Questa classe include quei sistemi che, data una struttura target per gli oggetti di interesse, cerca di localizzare nelle pagine Web porzioni di dati implicitamente conformi al target. La struttura viene definita in accordo ad una serie di primitive di modellazione che fanno riferimento ad un data model sottostante. Utilizzano questa tecnica NoDoSE e DEByE; Sistemi Ontology-based. Tutti gli approcci precedentemente descritti si basano sulle caratteristiche strutturale dei documenti per effettuare l estrazione dei dati. Dato uno specifico dominio applicativo, un ontologia pu`o essere usata per localizzare i termini presenti nella pagina e costruire gli oggetti. Tale tassonomia, pur evidenziando gli strumenti principalmente utilizzati per la generazione dei wrapper, non `e totalmente precisa in quanto alcuni tool, per loro caratteristiche, possono essere inseriti in piu` di una classe. Scan pass. Questo confronto fa riferimento al numero di passate richieste su un documento di input per l estrazione delle informazioni. In generale, i wrapper single-pass sono piu` efficienti, mentre quelli multiple-pass sono piu` efficaci; Si

12 Tipologie di regole di estrazione. Molti sistemi usano regole di estrazione che sono rappresentate da grammatiche regolari per identificare l inizio e la fine dei dati rilevanti, mentre alcuni utilizzano regole scritte seguendo la logica del primo ordine. Le espressioni regolari sono piu` adatte per input semistrutturati, specialmente template-based, mentre per pagine non strutturate dove `e necessario incorporare varie feature per trovare i token si presta ad un migliore utilizzo la logica del primo ordine; Feature utilizzate. I primi sistemi di IE sono stati progettati per gestire pagine Web non basate su template, perci`o utilizzavano tag HTML e letterali come delimitatori. Altri sistemi fanno, invece, uso di informazioni sintattiche e/o semantiche per generare i loro wrapper; Algoritmo di learning. Nei sistemi manuali, solitamente, viene specificata l area all interno della pagina in cui si trovano i dati di interesse, ed `e quindi superfluo un algoritmo di learning che, invece, `e presente in tutti gli altri. Tool Classe Scan Pass Regole di estrazione Feature utilizzate Algoritmo di learning RAPIER NLP-based Multiplo Regole logiche Sintassi/ mantica Se- ILP (bottom up) SoftMealy Wrapper Induction Entrambi Espressioni regolari HTML tag Ad hoc /letterali (bottom up) TSIMMIS Linguaggio Singolo Espressioni regolari Minerva Linguaggio Singolo Espressioni regolari HTML tag Nessuno /letterali HTML tag Nessuno /letterali BYU Ontologybased Singolo Espressioni regolari Jedi Linguaggio Singolo Espressioni regolari Sintassi/ mantica Sintassi/ mantica Se- Nessuno Se- Nessuno NoDoSE Modelingbased Singolo Espressioni regolari HTML tag Data /letterali modeling SRV NLP-based Multiplo Regole logiche Sintassi/ mantica Se- ILP (top down) WebOQL Linguaggio Singolo Espressioni regolari WHISK NLP-base d Singolo Espressioni regolari Wien Wrapper duction In- Singolo Espressioni regolari Hypertre e Sintassi/ Semantica HTML tag /letterali Nessuno Set coverin g (top down) Ad hoc (bottom up) Stalker Wrapper duction In- Multiplo Espressioni regolari HTML tag /letterali Ad hoc (bottom up)

13 Lixto HTMLaware Multiplo Regole logiche Sintassi Nessuno DEByE Modelingbased Multiplo Espressioni regolari HTML tag /letterali Data modeling HιLεX Ontologybased Singolo Espressioni Sintassi/ Nessuno regolari / Semantica regole logiche Tabella 2: Confronto basato sulle tecniche per la scrittura delle regole di estrazione Grado di automazione La maggior parte dei sistemi necessitano di regole molto complesse da scrivere, e non possono essere usati dagli utenti non specializzati. Per ovviare a questo problema, alcuni di questi sistemi adottano una interfaccia grafica di supporto, questo `e ad esempio l approccio utilizzato, come abbiamo visto, da Lixto. Solo pochi sistemi hanno semplici regole possibili da scrivere anche manualmente, tra quelli visti spicca HιLεX. Oltre al tipo di interazione con l utente (sistemi manuali, supervisionati e non supervisionati), i tool possono essere classificati in base all output, ossia in che formato questi sistemi esportano i dati estratti, ed i base all applicabilit`a, cio`e alla capacit`a di essere estesi ad altri domini (i sistemi manuali e quelli supervisionati hanno una maggiore modularit`a). Generalmente, la fase di labeling definisce l output di un task di estrazione e richiede il supporto dell utente. Non tutti i sistemi necessitano, per`o, di questa interazione poich e non richiedono una collezione di esempi prima della fase di learning, ma solo delle annotazioni sui dati estratti che possono essere fatte dopo l estrazione e senza l aiuto dell utente. Lo sforzo richiesto all utente `e variabile: nei sistemi manuali gli utenti programmano un wrapper per ogni sito Web usando linguaggi di programmazione generali o ad hoc. Ci`o richiede una buona conoscenza di background ed `e parecchio costoso. Fanno parte di questa tipologia i sistemi: TSIMMIS, Jedi, Lixto, BYU, Web-OQL; i sistemi supervisionati prendono in input un insieme di pagine Web etichettate con esempi dei dati che devono essere estratti e producono in output un wrapper. L utente fornisce un insieme iniziale di esempi e il sistema suggerisce pagine addizionali. Per tali sistemi non occorre l impiego di esperti programmatori, ma `e sufficiente istruire gli utenti all utilizzo dell interfaccia (spesso grafica) per il labeling, riducendo cos`ı i costi della generazione del wrapper. A questa classe di sistemi appartengono SRV, RAPIER, WHISK, WIEN, STALKER, SoftMealy, NoDoSE e DEByE; infine nei sistemi non supervisionati non vengono utilizzati esempi di training e non `e prevista alcuna interazione con l utente. Tool Interazione Output Applicabilit`a RAPIER Supervisionato Regole logiche Media SoftMealy Supervisionato XML, SQL Media TSIMMIS Manuale Testo Alta Minerva Manuale XML Alta BYU Manuale Testo Alta Jedi Manuale XML Media

14 NoDoSE Supervisionato XML, OEM Media SRV Supervisionato Testo Media WebOQL Manuale Testo Alta WHISK Supervisionato Testo Media Wien Supervisionato Testo Media Stalker Supervisionato Testo Media Lixto Manuale XML Media DEByE Supervisionato XML, SQL Media Hilex Supervisionato XML, DB Alta Tabella 3: Confronto basato sul grado di automazione 1.3 Il ruolo della semantica Poich e la struttura e la rappresentazione delle pagine web sono caratterizzate da frequenti cambiamenti, una propriet`a importante per le regole di estrazione `e la flessibilit`a, cio`e la capacit`a di continuare a lavorare correttamente anche quando le pagine sono modificate. Inoltre, l adattivit`a indica la possibilit`a di estrarre informazioni da differenti sorgenti dello stesso dominio applicativo utilizzando le stesse regole di estrazione. Tra quelli proposti solo due, HιLεX e BYU, utilizzano un approccio semantico che permette di soddisfare le propriet`a appena indicate. I toolkit che si affidano unicamente alla struttura sintattica per identificare i dati di interesse sono molto vulnerabili ai cambiamenti e richiedono frequenti aggiustamenti[40][8]. L informazione non strutturata trasferisce valore ai processi di business se le tecniche utilizzate per renderla disponibile risultano efficaci. Nel corso del tempo si `e assistito all introduzione di diverse soluzioni a supporto della ricerca e dell accesso all informazione. E` possibile individuare tre fasi principali in questo percorso: una prima generazione di strumenti, nata prima dell avvento di Internet, era basata essenzialmente su tecniche di ricerca full text tramite parole chiave (keywords). Le banche dati e raccolte documentali diffuse fin dagli anni ottanta fornivano queste funzionalit`a; lo sviluppo tecnologico ha successivamente portato a un affinamento delle tecniche tradizionali nella direzione di nuove funzionalit`a: si sono affermati quindi i motori di ricerca, strumenti piu` avanzati in grado di combinare la ricerca con parole chiave all uso di algoritmi statistici per un accesso piu` mirato all informazione; la terza generazione di strumenti va oltre gli approcci sopra descritti. Negli ultimi anni si `e fatta strada una nuova classe di prodotti e strumenti basati sull uso della linguistica come strumento di ricerca e analisi. All interno di quest ultima categoria assumono particolare rilevanza gli strumenti basati sull analisi linguistica approfondita (motori semantici). La tecnologia semantica aggiunge all analisi linguistica di base (grammaticale e morfologica) l analisi logica e del periodo, e la disambiguazione dei termini polisemici, ovvero l identificazione del significato corretto di tutte le parole che in una lingua possono assumere significati diversi. In questo modo, si ottiene una comprensione univoca e superiore del significato del contenuto di un documento avvicinando lo strumento informatico ai processi utilizzati dalle persone.

15 Le tecnologie linguistiche, in particolare quelle basate sulla semantica, si contraddistinguono per la capacit`a di superare i limiti che gli strumenti di ricerca tradizionali hanno mostrato nel corso del tempo in termini di: scarsa precisione, ovvero incapacit`a di identificare SOLO i documenti rilevanti in funzione dei criteri di selezione (si pensi all effetto dei diversi significati associati ad una parola); limitato recall, ovvero incapacit`a di estrarre TUTTI i documenti rilevanti per la ricerca in essere. Con i sistemi tradizionali, per esempio, `e impossibile estrarre tutti i documenti che trattano il concetto su cui si vuole effettuare la ricerca a meno di non inserire tutti i termini legati al concetto stesso ad uno ad uno come parole chiave. Queste problematiche rendono difficile trovare l informazione ricercata. Inoltre, laddove disponibile, il trattamento `e complesso in quanto la comprensione del significato `e nulla o limitata e i risultati non sono presentati in formato strutturato. La forte attivit`a di ricerca che in questo periodo sta concentrando l attenzione sul Web Semantico non ha fornito solo degli strumenti per la descrizione formale e l impiego di ontologie; come effetto collaterale ha posto il problema dell aggiunta di semantica e dell organizzazione dei contenuti esistenti, ovvero delle pagine appartenenti al Web classico. Vista l inquantificabile mole di documenti de-strutturati presenti e la crescente velocit`a di aggiornamento `e impensabile pensare di ( con abuso di linguaggio) popolare il Web Semantico manualmente. In prima battuta `e, quindi, bene tenere presente gli eventuali vantaggi nell impiego di strumenti normalmente usati per la creazione e la creazione di ontologie, ivi intese nella loro accezione meno formale di contenitore di dati. In secondo luogo non si possono ignorare alcune delle possibilit`a offerte dai tool prodotti sotto la pressante richiesta di meccanismi semi-automatici per: estrazione di ontologie; marcatura automatica; estrazione semantica; popolazione di ontologie; estrazione di relazioni ed entit`a. Sono tutte richieste particolarmente ambiziose che non hanno ancora una soluzione fruibile. Tuttavia, i notevoli sforzi hanno fornito risultati interessanti in termini di tecniche utilizzabili. 1.4 La rappresentazione della conoscenza ed il ragionamento automatico Le ontologie giocano un ruolo di primo piano nel processo di rappresentazione e utilizzo della conoscenza, essenziale per supportare un approccio al reperimento dell informazione che garantisca risultati di qualit`a [35]. Esse permettono di supportare l estrazione delle informazioni di interesse indipendentemente dalle caratteristiche delle pagine. Il termine ontologia deriva dalla filosofia, dove viene inteso come una spiegazione sistematica dell essere. Negli anni recenti il termine si `e ampiamente diffuso nella comunit`a del Knowledge Engineering. Esistono diverse definizioni di ontologia, ognuna delle quali mette in evidenza qualche aspetto. Secondo la definizione di Neches et al. (1991): An ontology defines the basic terms and relations comprising the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary. Da notare che un ontologia include non solo i termini che sono esplicitamente definiti in essa, ma anche la conoscenza che ne pu`o essere derivata mediante un processo di inferenza. Secondo la definizione data in Studer et al., che riprende e chiarisce quelle date precedentemente da

16 Gruber (1993) e Borst (1997) An ontology is a formal, explicit specification of a shared conceptualisation. A conceptualisation refers to an abstract model of some phenomenon in the world by having identified the relevant concepts of that phenomenon. Explicit means that the type of concepts used, and the constraints on their use are explicitly defined. For example, in medical domains, the concepts are diseases and symptoms, the relations between them are causal and a constraint is that a disease cannot cause itself. Formal refers to the fact that the ontology should be machine readable, which excludes natural language. Shared reflects the notion that an ontology captures consensual knowledge, that is, it is not private to some individual, but accepted by a group. Guarino (1998) definisce a sua volta un ontologia come: A set of logical axioms designed to account for the intended meaning of a vocabulary. Le ontologie vengono costruite in genere mediante un processo cooperativo e distribuito, e utilizzano varie tecniche di modellazione della conoscenza e diversi tipi di linguaggi. Possono perci`o essere molto informali, semi-informali, semi-formali o rigorosamente formali a seconda che siano espresse in linguaggio naturale, in linguaggio naturale ristretto, in un linguaggio artificiale e definito formalmente, o fornendo una descrizione meticolosa dei termini, utilizzando una semantica formale, teoremi e dimostrazioni di propriet`a. Le ontologie in cui vengono espressi dei vincoli sui possibili valori si collocano nelle ontologie formali. Dopo aver considerato vari formalismi per la specificazione di ontologie (OWL, DAML+OIL, FLogic, ecc.) e meccanismi logici dotati di meccanismi inferenziali (Datalog, DLP, ecc.), si `e deciso di adottare un estensione della logica disgiuntiva con costrutti object-oriented, linguaggio denominato OntoDLP[11][31]. La programmazione logica disgiuntiva (DLP) [26] `e un estensione del linguaggio Datalog, programmazione logica senza simboli di funzione, in cui la disgiunzione `e permessa nella testa delle regole. Sebbene la programmazione logica disgiuntiva sia ampiamente riconosciuta come potente strumento per la rappresentazione della conoscenza e per il ragionamento, essa risulta carente di meccanismi di astrazione per la rappresentazione e la manipolazione di conoscenza ontologica che spesso si incontra in domini applicativi complessi. Il linguaggio OntoDLP OntoDLP, in conformit`a agli altri linguaggi per la specifica di ontologie, permette di rappresentare classi, relazioni, istanze e assiomi. Rispetto ad altri linguaggi ontologici, per`o, garantisce una maggiore potenza espressiva grazie alla possibilit`a di derivare nuova conoscenza arricchendo la descrizione ontologica con le nozioni di relazioni derivate o intensionali, collection class e moduli di ragionamento. Rispetto alle relazioni di base, per le quali `e strettamente necessario definire in maniera esplicita sia lo schema che le tuple, per le relazioni intensionali non `e necessaria una definizione esplicita dello schema. La definizione delle tuple non `e data enumerandole esplicitamente, vengono derivate tramite regole logiche (in maniera intensionale), cos`ı come avviene nella DLP. Le collection class sono classi speciali che consentono di rappresentare collezioni di oggetti eterogenei, ovvero raggruppamenti di individui appartenenti a classi diverse. Le istanze di una collection class sono definite utilizzando opportune regole logiche che determinano le condizioni di appartenenza un individuo ad un dato insieme. OntoDLP permette di definire termini complessi che consentono un accesso diretto alle propriet`a delle propriet`a di un oggetto. Le regole OntoDLP combinano i meccanismi deduttivi propri dei formalismi logici, con la rappresentazione orientata ad oggetti (classi, ereditariet`a, associazioni, ecc.) OntoDLP, non `e solo un linguaggio di rappresentazione della conoscenza, ma `e anche un potente linguaggio di interrogazione, in grado supportare avanzate forme di ragionamento. I programmi logici sono organizzati in moduli di

17 ragionamento, che raggruppano e isolano un insieme di regole e vincoli, sfruttando appieno i benefici della programmazione modulare. Una valida implementazione del linguaggio OntoDLP `e stata ottenuta mediante OntoDLV[10][27][30], un sistema per la gestione di ontologie sviluppato dalla societ`a Exeura - Spinoff dell Universit`a della Calabria che opera nel settore del Knowledge Management, e basato sul sistema DLV che a sua volta `e lo stato dell arte della Programmazione Logica Disgiuntiva. OntoDLV pu`o essere utilizzato come mezzo per la rappresentazione e la manipolazione di conoscenza nell ambito di qualsiasi applicazione knowledge intensive poich`e `e in grado di supportare tutte le principali funzioni di gestione di una base di conoscenza. Grazie alle avanzate capacit`a di ragionamento e di interrogazione rappresenta un utile strumento per la rappresentazione di conoscenza nell ambito di applicazioni intelligenti anche molto complesse. L architettura del sistema OntoDLV Il modulo preposto all acquisizione del file di specifica dell ontologia `e il parser: analizza sintatticamente il contenuto del file in ingresso al sistema e, a fronte di eventuali errori di sintassi, li segnala opportunamente all utente. In assenza di errori sintattici, l ontologia in ingresso al sistema viene memorizzata in apposite strutture dati. Il modulo di gestione della persistenza, si occupa della memorizzazione dell ontologia nel formato desiderato. Il modulo type checker si occupa di eseguire un accurata analisi semantica dell ontologia acquisita: verifica il rispetto di tutti i vincoli di tipizzazione imposti dallo schema dell ontologia. L insieme dei concetti, degli attributi e delle relazioni rappresenta lo schema ontologico di un dominio. In generale, per`o, solamente tali informazioni non sono sufficienti a fornire una completa e corretta descrizione del dominio ed `e pertanto necessario introdurre ulteriore conoscenza tramite l asserzione di propriet`a o l imposizione di vincoli, che esprimono condizioni addizionali all interno dello schema ontologico. Il sistema OntoDLV fornisce uno strumento per verificare la consistenza dell ontologia: il modulo consistency checker. Il sistema DLV rappresenta il motore di ragionamento per l esecuzione di interrogazioni sull ontologia utilizzato da OntoDLV.

18 Figura1: Architettura di OntoDLV 1.5 La gestione della semantica nel sistema HιLεX Il sistema HιLεX `e stato sviluppato da Exeura, Spin-off dell Universit`a della Calabria ed `e uno dei pochi sistemi che implementa un approccio semantico per l estrazione delle informazioni. Come descritto brevemente precedentemente, esso `e basato sulla logica disgiuntiva ed `e in grado di estrarre informazioni da sorgenti semi e non strutturate. Le idee centrali ed innovative alla base dell approccio sono la rappresentazione bidimensionale dei documenti, l utilizzo di grammatiche bidimensionali per il riconoscimento dei pattern di estrazione e l uso delle ontologie per modellare l informazione da estrarre. HιLεX `e uno dei pochi sistemi che implementa un approccio semantico per l estrazione delle informazioni. Esso `e basato sulla logica disgiuntiva ed `e in grado di estrarre informazioni da sorgenti semi e non strutturate. Le idee centrali ed innovative alla base dell approccio sono la rappresentazione bidimensionale dei documenti, l utilizzo di grammatiche bidimensionali per il riconoscimento dei pattern di estrazione e l uso delle ontologie per modellare l informazione da estrarre. Un ulteriore punto di forza del sistema risiede nella sua architettura, modulare e flessibile. L architettura del sistema HιLεX Il sistema HιLεX si pone come obiettivo l estrazione di informazione da documenti semi e non strutturati, per permettere una visione integrata e facilitare, cos`ı, la condivisione delle informazioni rilevanti provenienti da documenti differenti. Oltre ai documenti, il sistema riceve in input un ontologia, uno strumento che consente l estrazione dell informazione in accordo alla semantica e non solo sulla base delle strutture sintattiche dei documenti. Per poter estrarre le informazioni di interesse, al sistema viene passato l insieme di descrittori espressi in base alla grammatica ad oggetti che verr`a presentata. La capacit`a di rappresentare e di derivare nuova conoscenza, combinata ad un linguaggio capace di riconoscere ed estrarre le informazioni da documenti, indipendente dalla loro struttura, fa di HιLεX un sistema di estrazione semantico. Figura2: Semantic Information Extraction L architettura complessiva del sistema HιLεX `e mostrata nella figura 3. Il sistema riceve in input i documenti da analizzare, l ontologia, e le regole di estrazione. L utente pu`o effettuare un interrogazione che viene parserizzata e tradotta all interno del core del sistema. L Extractor `e il modulo che riceve in input la rappresentazione logica del documento e che, a partire dalle coordinate logiche delle frasi o parole

19 riconosciute, ricava le coordinate effettive. In base a tali coordinate, estrae tali frasi o parole all interno del testo inserendole in una base di dati relazionale o XML. Figura3: L architettura HιLεX Il core del sistema Il core del sistema `e costituito da tre macro-moduli: Il Compiler, esegue la traduzione delle regole di estrazione, formulate secondo la sintassi espressa dalla grammatica ad oggetti bi-dimensionale che verr`a presentata nella sezione successiva, in codice OntoDLP inserito in moduli di ragionamento che permetteranno il riconoscimento dei pattern e l estrazione delle informazioni dai documenti in input. Il Document Analyzer, riconosce mediante algoritmi di pattern matching le espressioni regolari presenti nel documento generando le relative portions. Al termine dell analisi questo sottomodulo fornisce la rappresentazione bidimensionale del documento. Il Reasoning Manager, infine, si occupa di riconoscere le istanze dei concetti all interno dei documenti. Un concetto `e costituito dalle classi OntoDLV. Le istanze delle classi da riconoscere sono descritte per mezzo dei descrittori. Questi tre macro-blocchi richiamano le funzionalit`a offerte dal sistema OntoDLV, poich`e fanno uso dell ontologia e del ragionamento automatico.

20 Figura4: Il core dell architettura La rappresentazione bidimensionale dei documenti in input Una delle principali caratteristiche del sistema HιLεX `e la rappresentazione bidimensionale dei documenti che permette di riconoscere concetti in maniera piu` simile alla visione umana. Un documento (in formato non strutturato o semi-strutturato: testuale, html, pdf, e cos`ı via) `e visto come un piano cartesiano composto da un insieme di aree rettangolari adiacenti chiamate porzioni(portions). Ogni porzione `e un rettangolo rappresentato da una tupla contenente semplicemente quattro coordinate (xp,yp,xq,yq), come mostrato nella figura 5. In particolare, quando una portion `e relativa ad un oggetto, `e detta object portion. Ogni regione (portion) rappresenta un elemento a cui `e associata una particolare semantica. Questa `e espressa da formalismi ontologici attraverso il linguaggio OntoDLP. Figura5: Rappresentazione di una portion Figura6: Portion riconosciute nella frase KNOWLEDGE MANAGEMENT SYSTEM 2 Una grammatica ad oggetti bi-dimensionale come linguaggio per l estrazione semantica di informazioni Molti documenti, generalmente, non presentano alcuna regolarit`a o forma strutturale tipica. Per estrarre da tale tipo di testi, informazioni significative, `e necessario analizzarli da un punto di vista semantico utilizzando conoscenza a priori e/o contestuale. L ontologia `e un utile strumento per gestire le informazioni in maniera semantica, e il linguaggio OntoDLP rende tale strumento piu` adatto perch`e associa alla memorizzazione dei concetti la capacit`a di inferire nuova conoscenza. Per enfatizzare la necessit`a di riconoscere concetti e le categorie semantiche che li caratterizzano, viene utilizzato il termine 00 object 00. Una grammatica ad oggetti `e l estensione di una grammatica ad attributi per descrivere patterns di estrazione semantica di informazione da un documento, basata sull utilizzo di una ontologia OntoDLP. L ontologia O contiene conoscenza generale e di dominio sulle informazioni che si vogliono estrarre da un documento. Gli attributi della grammatica sono proprio le propriet`a degli oggetti che appartengono a particolari classi definite nell ontologia O o alle propriet`a degli oggetti con cui tale classi sono in relazione. Le informazioni direttamente estraibili dai documenti possono essere utilizzate per espandere l ontologia attraverso nuovi concetti e nuove classificazioni. L uso innovativo nell Information extraction di una grammatica ad attributi, si rivela performante per dare semantica ai dati, che saranno trattati come oggetti dotati di alcune propriet`a. L uso di una Ontologia, che interagisce con una Grammatica in maniera

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

GLOSSARIO DI ARCHITETTURA DELL INFORMAZIONE

GLOSSARIO DI ARCHITETTURA DELL INFORMAZIONE GLOSSARIO DI ARCHITETTURA DELL INFORMAZIONE di K A T H A G E D O R N, A R G U S A S S O C I A T E S MARZO 2 0 0 0 traduzione di: BARBARA WIEL MARIN DICEMBRE 2009 1 GLOSSARIO DI ARCHITETTURA DELL INFORMAZIONE

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

RICERCA DELL INFORMAZIONE

RICERCA DELL INFORMAZIONE RICERCA DELL INFORMAZIONE DOCUMENTO documento (risorsa informativa) = supporto + contenuto analogico o digitale locale o remoto (accessibile in rete) testuale, grafico, multimediale DOCUMENTO risorsa continuativa

Dettagli

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence Introduzione Definizione di Business Intelligence: insieme di processi per raccogliere

Dettagli

Breve descrizione del prodotto

Breve descrizione del prodotto Breve descrizione del prodotto 1. Il software AquaBrowser Library...2 1.1 Le funzioni di Search Discover Refine...3 1.2 Search: la funzione di ricerca e di presentazione dei risultati...3 1.2.1 La configurazione

Dettagli

Linguaggi e Traduttori: Introduzione al corso

Linguaggi e Traduttori: Introduzione al corso Linguaggi e Traduttori: Introduzione al corso Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di

Dettagli

Introduzione alla Business Intelligence

Introduzione alla Business Intelligence SOMMARIO 1. DEFINIZIONE DI BUSINESS INTELLIGENCE...3 2. FINALITA DELLA BUSINESS INTELLIGENCE...4 3. DESTINATARI DELLA BUSINESS INTELLIGENCE...5 4. GLOSSARIO...7 BIM 3.1 Introduzione alla Pag. 2/ 9 1.DEFINIZIONE

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

2.1 Introduzione ai linguaggi di marcatura

2.1 Introduzione ai linguaggi di marcatura Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 2.1 Introduzione ai linguaggi di marcatura Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Linguaggi di Programmazione Michele Tomaiuolo Linguaggi macchina I

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)

Dettagli

La gestione del documento

La gestione del documento Operatore giuridico d impresa Informatica Giuridica A.A 2002/2003 II Semestre La gestione del documento prof. Monica Palmirani Il documento A differenza del dato il documento è solitamente un oggetto non

Dettagli

Fondamenti di Informatica 7. Linguaggi di programmazione

Fondamenti di Informatica 7. Linguaggi di programmazione I linguaggi di alto livello Fondamenti di Informatica 7. Linguaggi di programmazione Introduzione alla programmazione Caratteristiche dei linguaggi di programmazione I linguaggi di programmazione di alto

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Automatic Ontology-Based Knowledge Extraction from Web Documents

Automatic Ontology-Based Knowledge Extraction from Web Documents Automatic Ontology-Based Knowledge Extraction from Web Documents 5 gennaio 2009 1 Introduzione Al ne di ottenere un eettivo WEB semantico bisogna essere in grado di costruire servizi che consentano l'estrazione

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

FormScape V3.1: SUPPORTO XML

FormScape V3.1: SUPPORTO XML FormScape V3.1: SUPPORTO Maggio 2004 FormScape V3, la Soluzione Intelligente per Creare, Gestire, Visualizzare e Distribuire i Tuoi Documenti FormScape V3 Page 1 Introduzione Il formato si sta affermando

Dettagli

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

4. Requisiti del Software

4. Requisiti del Software 4. Requisiti del Software Cosa? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 4. Requisiti del Software 1 / 35 Sommario 1 Generalità 2 Categorizzazione

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

PDF created with pdffactory trial version www.pdffactory.com. Il processo di KDD

PDF created with pdffactory trial version www.pdffactory.com. Il processo di KDD Il processo di KDD Introduzione Crescita notevole degli strumenti e delle tecniche per generare e raccogliere dati (introduzione codici a barre, transazioni economiche tramite carta di credito, dati da

Dettagli

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testuali

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testuali Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testuali Il text mining: una definizione Data mining per dati destrutturati ovvero documenti codificati in linguaggio

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO Linguaggio macchina Uno per ogni processore o famiglia di processori Linguaggio assembler Versione simbolica di quello macchina. LINGUAGGI DI ALTO

Dettagli

a cura di Maria Finazzi

a cura di Maria Finazzi Esercitazioni di XML a cura di Maria Finazzi (11-19 gennaio 2007) e-mail: maria.finazzi@unipv.it pagine web: Il trattamento dell'informazione Testo a stampa: Come

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria sede di Modena Corso di Laurea VOD in Ingegneria Informatica

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria sede di Modena Corso di Laurea VOD in Ingegneria Informatica Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria sede di Modena Corso di Laurea VOD in Ingegneria Informatica PROGETTO E REALIZZAZIONE DELL ALGORITMO DI ANNOTAZIONE AUTOMATICA TUCUXI

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

YAWL Workflow Management System

YAWL Workflow Management System YAWL Workflow Management System Gabriele Pozzani Barbara Oliboni Sistemi informativi aziendali Laurea magistrale in Ingegneria e scienze informatiche http://www.yawlfoundation.org/ Materiale prodotto da:

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Sistemi Informativi I Lezioni di Ingegneria del Software

Sistemi Informativi I Lezioni di Ingegneria del Software 4 Codifica, Test e Collaudo. Al termine della fase di progettazione, a volte anche in parallelo, si passa alla fase di codifica e successivamente alla fase di test e collaudo. In questa parte viene approfondita

Dettagli

Introduzione alla Linguistica Computazionale

Introduzione alla Linguistica Computazionale Introduzione alla Linguistica Computazionale Salvatore Sorce Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ludici Adattati da Alessandro Lenci Dipartimento di Linguistica T. Bolelli

Dettagli

Sistemi Informativi Multimediali 1 - Introduzione

Sistemi Informativi Multimediali 1 - Introduzione Che cos è un sistema informativo multimediale? Sistemi Informativi li 1 - Introduzione Augusto Celentano Università Ca Foscari di Venezia Un sistema informativo multimediale (MMDBMS) è un framework che

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Obiettivi del corso Imparare

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

Dettagli

catalogo corsi di formazione 2015/2016

catalogo corsi di formazione 2015/2016 L offerta formativa inserita in questo catalogo è stata suddivisa in quattro sezioni tematiche che raggruppano i corsi di formazione sulla base degli argomenti trattati. Organizzazione, progettazione e

Dettagli

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

MANUALE D'USO (VER. 0.5)

MANUALE D'USO (VER. 0.5) MANUALE D'USO (VER. 0.5) NOTA BENE PER ESEGUIRE XGATE È NECESSARIO CHE SIA INSTALLATO SUL COMPUTER IL FRAMEWORK.NET VERSIONE 2.0 PREFAZIONE Questa applicazione è stata creata per facilitare l'approccio

Dettagli

DEFINIZIONI FONDAMENTALI

DEFINIZIONI FONDAMENTALI Consorzio per la formazione e la ricerca in Ingegneria dell'informazione DEFINIZIONI FONDAMENTALI Per vincere ci vuole una buona partenza... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli

1. Rappresentazione della conoscenza 2. Ontologie 3. Usi delle ontologie 4. Progettazione di un ontologia 5. Esempio di progettazione di una

1. Rappresentazione della conoscenza 2. Ontologie 3. Usi delle ontologie 4. Progettazione di un ontologia 5. Esempio di progettazione di una 1. Rappresentazione della conoscenza 2. Ontologie 3. Usi delle ontologie 4. Progettazione di un ontologia 5. Esempio di progettazione di una ontologia 1 Rappresentazione della conoscenza Il problema di

Dettagli

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Dettagli

Architettura del software: dai Casi d Uso al Modello

Architettura del software: dai Casi d Uso al Modello Architettura del software: dai Casi d Uso al Modello Lorenzo Barbieri Sono un Senior Trainer/Consultant in ObjectWay SpA (www.objectway.it), specializzato in architetture Microsoft.NET, Windows, SQL Server,

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

Uno standard per il processo KDD

Uno standard per il processo KDD Uno standard per il processo KDD Il modello CRISP-DM (Cross Industry Standard Process for Data Mining) è un prodotto neutrale definito da un consorzio di numerose società per la standardizzazione del processo

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Anno accademico 2008-2009 Information Retrieval: Text Categorization Una definizione formale Sia D il dominio dei documenti Sia C = {c 1,,c C } un insieme di categorie predefinite

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Il Business Performance Management & QlikView

Il Business Performance Management & QlikView Il Business Performance Management & QlikView 1 I SISTEMI DI SUPPORTO ALLE DECISIONI O DI BUSINESS INTELLIGENCE sono oggi considerati componenti di sistemi più ampi conosciuti come: CPM - CORPORATE PERFORMANCE

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 1 - Introduzione generale Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Transit NXT Traduzione e localizzazione contestuali

Transit NXT Traduzione e localizzazione contestuali Transit NXT Traduzione e localizzazione contestuali Design ergonomico nuove funzioni interfacce ottimizzate in base ai processi STAR Group Your single-source provider for corporate product communication

Dettagli

1. FINALITA DELLA DISCIPLINA

1. FINALITA DELLA DISCIPLINA Ministero dell Istruzione dell Università e della Ricerca LICEO SCIENTIFICO STATALE Donato Bramante Via Trieste, 70-20013 MAGENTA (MI) - MIUR: MIPS25000Q Tel.: +39 02 97290563/4/5 Fax: 02 97220275 Sito:

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

KNOWLEDGE MANAGEMENT. Knowledge Management. Knowledge: : cos è. Dispense del corso di Gestione della Conoscenza d Impresa

KNOWLEDGE MANAGEMENT. Knowledge Management. Knowledge: : cos è. Dispense del corso di Gestione della Conoscenza d Impresa KNOWLEDGE MANAGEMENT Pasquale Lops Giovanni Semeraro Dispense del corso di Gestione della Conoscenza d Impresa 1/23 Knowledge Management La complessità crescente della società, l esubero di informazioni

Dettagli

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 1. Introduzione...3 1.2. Application vs Tool... 3 2. Componenti logiche di un modello... 6 3. Ontologie e Semantic

Dettagli

Database e Microsoft Access. Ing. Antonio Guadagno

Database e Microsoft Access. Ing. Antonio Guadagno Database e Microsoft Access Ing. Antonio Guadagno Database e Microsoft Access Un Database non è altro che un insieme di contenitori e di strumenti informatici che ci permette di gestire grossi quantitativi

Dettagli

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare.

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare. Capitolo 6 jquery Negli ultimi anni è stata rilasciata una mole incalcolabile di framework JavaScript, più o meno completi, realizzati per supportare nel miglior modo possibile lo sviluppatore web aiutandolo

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0

PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0 PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0 PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO ELEMENTI FONDAMENTALI PER LO SVILUPPO DI SISTEMI INFORMATIVI ELABORAZIONE DI

Dettagli

CONCETTI DI BASE PER LA QUALITA

CONCETTI DI BASE PER LA QUALITA CONCETTI DI BASE PER LA QUALITA Misura: è una funzione m: A -> B che associa ad ogni attributo A di un osservabile nel mondo reale o empirico (dominio) un oggetto formale B nel mondo matematico (range);

Dettagli

Mining Positive and Negative Association Rules:

Mining Positive and Negative Association Rules: Mining Positive and Negative Association Rules: An Approach for Confined Rules Alessandro Boca Alessandro Cislaghi Premesse Le regole di associazione positive considerano solo gli item coinvolti in una

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

PBI Passepartout Business Intelligence

PBI Passepartout Business Intelligence PBI Passepartout Business Intelligence TARGET DEL MODULO Il prodotto, disponibile come modulo aggiuntivo per il software gestionale Passepartout Mexal, è rivolto alle Medie imprese che vogliono ottenere,

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Data Warehouse Architettura e Progettazione

Data Warehouse Architettura e Progettazione Introduzione Data Warehouse Architettura! Nei seguenti lucidi verrà fornita una panoramica del mondo dei Data Warehouse.! Verranno riportate diverse definizioni per identificare i molteplici aspetti che

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Metodologie per la Progettazione Concettuale

Metodologie per la Progettazione Concettuale Metodologie per la Progettazione Concettuale Raccolta e analisi dei requisiti Scegliere il corretto livello di astrazione Standardizzare la struttura delle frasi Evitare frasi contorte Individuare sinonimi

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Elementi generali Un parser generico di tipo procede operando una sequenza di riduzioni a

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza: DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente

Dettagli

Il guadagno informativo negli alberi decisionali: un nuovo approccio

Il guadagno informativo negli alberi decisionali: un nuovo approccio Il guadagno informativo negli alberi decisionali: un nuovo approccio Sommario Descrizione del problema... 2 Il guadagno informativo di Nanni... 3 Il software Weka... 3 Cos è Weka... 3 Il guadagno Informativo

Dettagli

Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione

Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Ugo Montanari Dipartimento di Informatica, Università di Pisa 0 Roadmap Perchè i linguaggi? Che cosa sono i linguaggi? Esempio: i numeri

Dettagli