Tecnologie per il trattamento automatico e la comprensione automatica del linguaggio naturale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tecnologie per il trattamento automatico e la comprensione automatica del linguaggio naturale"

Transcript

1 Tecnologie per il trattamento automatico e la comprensione automatica del linguaggio naturale Prof. Domenico Cotroneo con la collaborazione Ing. Christian Esposito Dispensa del corso Introduzione al corso 1. Concetti generali In un famoso film di Stanley Kubrick, intitolato 2001: Odissea nello spazio, uno dei ruoli principali era ricoperto da HAL Esso è il computer senziente di bordo, che impartisce e controlla tutte le funzioni della navicella spaziale Discovery, capace di avanzati comportamenti linguistici, come dialogo e comprensione del linguaggio, fin anche alla lettura delle labbra. Sfortunatamente, nella realtà, siamo abbastanza lontani dal realizzare una macchina con le prestazioni di HAL Quali sono le principali problematiche sottese alla realizzazione di una simile macchina? In linea generale, un tale agente deve essere dotato di capacità di interazione con esseri umani attraverso il linguaggio, includendo comprensione attraverso speech recognition (riconoscimento della lingua parlata) e natural language understanding (comprensione del linguagguio naturale), e comunicazione attraverso il natural language generation (generazione del linguaggio naturale) e speech synthesis (sintesi della lingua parlata). Dovrebbe anche essere capace di effettuare information retrieval (individuare dove risiedono le risorse testuali), information extraction (estrazione del contenuto informativo pertinente da un testo o un discorso) e inference (elaborazione delle conclusioni sulla base di elementi noti). Sebbene tali problematiche siano lontane dall essere completamente risolte, alcune tecnologie di linguistica computazionale necessarie per la realizzazione di HAL 9000, sono presenti in disparati prodotti commerciali. La branca dell intelligenza artificiale (Artificial Intelligence, AI), che studia queste tematiche prende il nome di Speech and Language Processing, e lo scopo del presente corso è quello di fornire uno stato dell arte di tale materia. Cosa distingue un applicazione di elaborazione del linguaggio da una di elaborazione dati? Consideriamo il programma Unix wc: quando viene impiegato per contare il numero di byte o bit in un file, realizza una semplice elaborazioni dati. Quando, invece, è usato per contare il numero di parole, realizza un elaborazione del linguaggio, dal momento che deve disporre della conoscenza di cosa è una parola. Da questo semplice esempio si evince che un programma di elaborazione del linguaggio richiede una considerevole mole di informazioni di natura linguistica per poter svolgere il proprio compito. Il bagaglio di conoscenza necessario a un programma informatico per sostenere complessi comportamenti linguistici può essere raggruppato in sei distinte categorie: I. Fonetica e Fonologia, aiuta a modellare come le parole vengono pronunciate;

2 II. Morfologia, apporta informazioni per lo studio della struttura grammaticale delle parole e la relativa classificazione e appartenenza a determinate categorie; III. Sintassi, analizza le relazioni modulari che stabiliscono il posto delle parole in una frase, come i sintagmi si compongano nelle frasi, e come le frasi si dispongano a formare un periodo; IV. Semantica, studia il significato delle parole e di insiemi di parole; V. Pragmatica, si occupa di come il contesto influisca sull interpretazione dei significati delle parole; VI. Discorso, si interessa delle unità linguistiche maggiori di una frase e la loro correlazione. Una componente sorprendente di queste sei categorie è che tutti i task di elaborazione linguistica possono essere visti come compiti di risoluzione di ambiguità ad uno di questi livelli. Prendiamo ad esempio la frase in inglese I made her duck, questa può significare: a) Ho cucinato un anatra per lei. b) Ho cucinato la sua anatra. c) Ho realizzato (forse un modello in plastica?) la sua anatra. d) Le mie azioni hanno causato il repentino abbassamento della sua testa o del suo corpo. e) L ho magicamente trasformata in un anatra. Questi differenti significati sono causati da un certo numero di ambiguità, ovvero dato un ingresso linguistico al programma, esistono delle multiple strutture linguistiche alternativamente applicabili ad esso. Nel corso del presente corso saranno introdotti modelli e algoritmi per risolvere questi elementi di ambiguità. Ad esempio decidere se duck è un verbo o un nome può essere risolto con part of speech tagging, mentre determinare se make assume il significato di creare o di cucinare, è possibile con la word sense disambiguation. Figura 1 Snapshot del programma ELIZA Per molti, l abilità di elaborazioni linguistiche analoghe agli essere umani sarà possibile solo con l arrivo di macchine intelligenti come gli esseri umani. Il primo sostenitore di questa intima connessione tra capacità linguistiche e cognitive fu Alan Turing, che in suo famoso scritto introdusse ciò che prese il nome di Test di Turing. Questo è un test empirico in cui l uso del linguaggio da parte di un computer consente di comprendere se è in grado di pensare. Esso fondamentalmente coinvolge due persone e un computer, e il gioco consiste che una persona dialogando con l altra persona e il computer, debba stabilire quale dei due interlocutore è il computer. Se la macchina è in grado di vincere il gioco (ovvero non si ha l individuazione corretta di chi sia la macchina), allora è intelligente. Senza soffermarci troppo sulla rigorosità di tale metodo, l argomentazione di Turing è che se una macchina è in grado di usare il linguaggio come farebbe un essere umano, è sufficiente per un test operativo di intelligenza. Sorprendentemente, molti dei problemi sollevati da Turing divennero rilevanti nel contesto di un programma chiamato ELIZA. Eliza è un primo esempio di programma di elaborazione automatica del linguaggio, capace di condurre una limitata conversazione con un utente, imitando le risposte di uno psicoterapista. Quest applicazione adopera tecniche di pattern matching (in ambito informatico, si intende una corrispondenza tra stringhe, quindi

3 senza alcun elemento di intelligenza): lavora analizzando e sostituendo delle semplici parole chiavi in frasi preconfezionate. A seconda delle parole che l'utente immetteva nel programma, l'illusione di uno scrittore umano veniva chiaramente svelata o poteva continuare per parecchio tempo. Alcune volte era talmente convincente che i suoi interlocutori credevano che esso potesse capire realmente loro e i loro problemi, come se dietro la macchina ci fosse davvero un essere umano. Tale risultato non dipende dalla presenza o meno nella macchina di forme di intelligenza o comprensione, smentendo così il fondamento del Test di Turing. 2. La gerarchia di Chomsky Un linguaggio è definito come un insieme (anche infinito) di stringhe, ognuna costituita da una concatenazione di simboli terminali, chiamati talvolta parole. I linguaggi formali hanno definizioni matematiche rigorose, in questo si differenziano dai linguaggi naturali, come l italiano e l inglese, che non hanno ne una precisa definizione, ma sono caratterizzati da una vasta comunità di parlanti. Una grammatica è un insieme finito di regole che specificano il linguaggio. I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica, mentre per quelli naturali non è così. I linguisti, però, si sforzano di scoprire le loro proprietà attraverso un processo di indagine scientifica, per poi codificarne i risultati in una grammatica. Il modo più comune per rappresentare la struttura grammaticale di una frase, ad esempio Mary loves that person, è di adoperare un albero, come illustrato in Figura 2. Il nodo S è quello radice dei nodi NP e VP, rispettivamente per la parte nominale e verbale della frase. VP è nodo padre dei nodi V e NP, rispettivamente verbo e nome. Ad ogni nodo foglia è associata una parola della frase da analizzare. Per realizzare l albero di una frase, è necessario conoscere la struttura del linguaggio, così da servirsi di un insieme di regole per determinare quali strutture ad albero sono consentite. Tali regole, alla destra della Figura 2, determinano che un certo simbolo può essere espanso in un albero di una sequenza di altri simboli (ad esempio, S > NP VP significa che il nodo S può generare a sua volta due nodi NP e VP). La struttura grammaticale aiuta a determinare il significato di una frase. Nella teoria dei linguaggi formali, le grammatiche sono rappresentate dalla quadrupla G = <V, T, P, S>, dove V e T sono un insieme finito di simboli, P sono le regole grammaticali di generazione e S è il carattere del nodo radice. Rispettivamente V contiene tutti i simboli non terminali, in Figura 2 sono ad esempio S, NP, VP e simili, mentre T contiene i simboli terminali, ad esempio Mary, loves e simili. Figura 2 Rappresentazione ad albero di una frase e relativa grammatica I formalismi grammaticali possono essere classificati in base alla loro capacità generativa, ovvero l insieme dei linguaggi che possono rappresentare. Il linguista Chomsky descrive quattro classi di formalismi grammaticali, che differiscono solo per il formato delle regole di riscrittura. Le classi possono essere organizzate in una gerarchia, in cui ogni classe può essere utilizzata per descrivere tutti i linguaggi che appartengono ad una classe meno potente e alcuni linguaggi aggiuntivi. Salendo lungo la gerarchia aumenta il potere espressivo delle grammatiche, ma naturalmente gli algoritmi che le gestiscono sono meno efficienti. La gerarchia di Chomsky è composta dai seguenti livelli, vedi in Figura 3:

4 Grammatiche di tipo 0 (illimitate o ricorsivamente enumerabili) include tutte le grammatiche dei linguaggi formali, e non hanno alcun tipo di restrizione nell impostazione delle regole, ad eccezione che il termine a destra non sia nullo; Grammatiche di tipo 1 (dipendenti dal contesto) hanno regole della forma αaβ > αγβ, con A simbolo non terminale e α, β e γ stringhe di simboli terminali e non. Le stringhe α e β possono essere vuote, ma la γ non deve essere vuota. Grammatiche di tipo 2 (libere dal contesto) sono definite da regole nella forma A > γ, con A simbolo non terminale e γ una stringa di simboli terminali e non terminali. Grammatiche di tipo 3 (regolari) restringe le sue regole ad un singolo simbolo non terminale nel lato sinistro della produzione e nel lato destro un singolo simbolo terminale, possibilmente seguito (o preceduto, ma non entrambe le forme nella stessa grammatica) da un singolo simbolo non terminale. L appartenenza di una classe di grammatica di tipo superiore in quella di tipo inferiore è un inclusione propria, nel senso che esistono, ad esempio, linguaggi sensibili al contesto che sono non liberi dal contesto e linguaggi liberi dal contesto che sono non regolari. Si dimostra che le lingue naturali non sono regolari, e per la maggior parte delle lingue e delle costruzioni sia sufficiente una grammatica libera dal contesto. Tuttavia, esistono rari casi (un caso famoso è contenuto nel tedesco svizzero) che richiedono una grammatica dipendente dal contesto. Figura 3 Diagramma di Venn dei linguaggi sulla base della gerarchia di Chomsky 3. Espressioni regolari Le espressioni regolari sono una sintassi attraverso cui si possono rappresentare insiemi di stringhe. Gli insiemi caratterizzabili con espressioni regolari sono anche detti linguaggi regolari (e coincidono quelli generabili dalle grammatiche regolari e riconoscibili dagli automi a stati finiti). Le espressioni regolari sono composte da costanti e operatori che denotano insiemi di stringhe, e da operatori tra questi insiemi. Dato un alfabeto finito Σ, sono definite le seguenti costanti: insieme vuoto, indicato con oppure Λ; stringa vuota, indicata con ε; carattere, ad esempio a in Σ indica l'insieme {"a"} e le operazioni: concatenazione, RS o R S indica l'insieme { αβ α in R e β in S }; unione, R S indica l'unione dei due insiemi; stella di Kleene, R* indica l'insieme con tutte le possibili iterazioni ottenibili dagli elementi di R; intersezione, R S indica l'intersezione tra i due insiemi di stringhe; complementazione di R, indica l'insieme delle stringhe appartenenti a Σ* R. Ad esempio dati R = { "a","b" } e S = { "7","8" } ho che RS = { "a7", "b7", "a8", "b8" }, mentre S* = { ε, "7", "8", "77", "78", "87", "88", "777", "778",... }. Le espressioni regolari hanno anche dei caratteri speciali che sono il carattere jolly., che può rappresentare un numero indefinito di simboli dell alfabeto, e le àncore,

5 che fissano l applicazione dell espressione a particolari posizioni del testo, ad esempio ^ impone la verifica dell espressione per i simboli a inizio del testo da analizzare. Le espressioni regolari possono essere impiegate sia per una formalizzazione precisa di un linguaggio, ma anche per la definizione di operazioni di ricerca in stringhe. Una ricerca con espressioni regolari richiede un pattern di corrispondenza e un corpus, all interno del quale realizzare la ricerca. L espressione ritornerà l insieme di stringhe che soddisfano la corrispondenza con il pattern di ricerca. Il pattern di ricerca viene rappresentato con un espressione regolare compresa tra due caratteri /. Ad esempio se io ho un pattern /song/, la ricerca su un testo mi restituirà tutte le frasi che contengono la parola song, ad esempio She loves all our songs. Un altro importante uso delle espressioni regolari è nella sostituzione di caratteri all interno di una stringa. Nel linguaggio di programmazione Perl esiste un operatore di sostituzione, chiamato s, che ha due argomenti: l espressione regolare della stringa da sostituire, e l espressione regolare della stringa di sostituzione. Se vogliamo correggere un errore di battitura squola con il corretto scuola, basterà quindi scrivere il comando s/squola/scuola/. Le sostituzioni sono un utile mezzo per implementare programmi di comprensione del linguaggio, come ELIZA. ELIZA, infatti, opera con una cascata di sostituzioni per espressioni regolari, che date alcune frasi in ingresso, può realizzare quelle di uscita per sostituzione., Consideriamo il seguente dialogo con ELIZA: User: Well, my boyfriend made me come here ELIZA YOUR BOYFRIEND MADE YOU CAME HERE User: He says I m depressed much of the time ELIZA I AM SORRY TO HEAR YOU ARE DEPRESSED Le risposte di ELIZA sono ottenute a partire dalle frasi inserite dall utente: s/.* YOU ARE (depressed sad).*/i AM SORRY TO HEAR YOU ARE \1/ 4. Automi a stati finiti Un automa a stati finiti è un sistema con le seguenti caratteristiche: dinamico, perché evolve nel tempo passando da uno stato all'altro; invariante, poiché a parità di condizioni iniziali, il comportamento del sistema è sempre lo stesso; discreto, dal momento che le variabili d'ingresso, di stato, d'uscita, possono assumere solo valori discreti. L' automa a stati finiti è un modello di calcolo semplice, rappresentabile come un piccolo dispositivo, che mediante una testina legge una stringa di input su un nastro e la elabora usando un apposito algoritmo, e di una memoria limitata. In sostanza è un caso particolare di macchina di Turing, utilizzato per l'elaborazione di quei linguaggi che nella gerarchia di Chomsky sono definiti di Tipo 3 o Regolari. Gli automi a stati finiti possono essere rappresentati mediante un grafo, in cui i nodi rappresentano gli stati e gli archi le transizioni, o in una versione tabellata, sulle righe lo stato corrente e sulle colonne l ingresso, e l elemento della tabella rappresenta la transizione verso il prossimo stato e l uscita dell automa. Gli automi a stati finiti possono essere impiegati in un ampio spettro di applicazioni, come ad esempio il riconoscimento (e anche l accettazione), di stringhe di caratteri. Figura 4 Esempio di automa a stati finiti per il linguaggio L = {a n b m m,n>0}

6 La linguistica dei corpora 1. Definizione e costruzione di corpus La linguistica dei corpora può considerarsi come un approccio di indagine linguistica. Dopo un periodo di latenza dovuta alla critica chomskyana, si è avuta un esplosione del ricorso a tale metodo, con l elaborazione di numerosi progetti nazionali e internazionali, grazie alle tecnologie informatiche, che hanno incrementato enormemente il potere di trattamento dei dati testuali. Corpus indica una qualiasi raccolta completa ed ordinata di scritti, di uno o più autori, riguardanti una certa materia, oppure un campione di una lingua preso in esame nella descrizione della lingua. I corpora contengono testi reali, e non sezioni ridotte o alterate; inoltre sono un campione linguistico e non possono mai contenere tutte le possibili occorrenze testuali di una data lingua. Una popolazione è un insieme di tutte le possibili osservazioni di una lingua su un dato campo. Un campione, invece, è una sezione della popolazione, che ingloba solo alcune possibili osservazioni. Il momento più delicato della costruzione di un campione risiede proprio nella scelta del materiale, in modo che rappresenti adeguatamente la popolazione. Un campione deve essere rappresentativo, per essere utile e significativo, ossia deve presentare alcune caratteristiche simili a quelle che avrebbe l intera popolazione ed esibire lo stesso tipo di informazione (caratteristica qualitativa) con la stessa probabilità di occorrenza (caratteristica quantitativa) della popolazione. Un altra caratteristica del corpus è la sua estensione, ovvero la sua ampiezza, che è anche un fattore che influenza il grado di rappresentatività di un campione testuale. Esistono vari metodi per valutare la rappresentatività di un campione, ma va detto che un campione non è mai completamente rappresentativo in generale, ma solo limitativamente rispetto a uno specifico punto di vista. La maggior parte delle valutazioni più accurate, comunque, si basano sulla ricchezza del vocabolario, misurata come numero di parole diverse presenti nel campione. Rispetto all estensione, i corpora vengono classificati in statici (quelli con dimensione fissa) e in dinamici (con estensione variabile e una raccolta periodica di nuovo materiale). Avere un corpus statico ha i suoi vantaggi: le analisi sono condotte una sola volta, in un lasso di tempo limitato, può essere facilmente distribuito, usato in maniera standardizzata per diverse analisi e comparato con altri corpora statici, costruiti in maniera simile, e tutte le analisi sono ripetibili. Un corpus dinamico, invece, permette di condurre anche analisi di tipo diacronico, ma ovviamente richiede di un lavoro continuo e una maggiore difficoltà di distribuzione, trattamento e comparazione. Al corpus dinamico viene spesso affiancato un corpus monitor, per la raccolta e l analisi di nuovo materiale da aggiungere. Figura 5 Rappresentatività tra campione e popolazione Nella costruzione di un corpus, il primo passo è la pianificazione della sua struttura in modo che possa essere rappresentativa della varietà linguistica che si intende rappresentare. Il secondo passo sarà la concreta acquisizione del materiale per il corpus. Sia che si adoperi materiale già preparato da oltri, o che si sia provveduto da soli all acquisizione, è necessario tenere presente che il testo elettronico contiene sempre una certa quantità di errori, la cui eliminazione deve sempre avvenire in maniera manuale o semiautomatico (terzo passo). Prima di procedere al passo successivo dell etichettatura, si devono stabilire delle regole su come vanno trattati i caratteri del corpus, individuando un insieme di simboli per l alfabeto

7 e un altro per i separatori. È necessario che nessun simbolo risulti ambiguo, ossia non impiegato in maniera diversa all interno del corpus. La procedura di segmentazione dei confini delle unità linguistiche fa emergere il problema della individuazione di che cosa si debba considerare parola. Dal punto di vista del trattamento automatico dei corpora, è emersa la definizione di parola come ogni insieme di simboli deliminatato da una coppia di separatori (parola grafica). Al fine del trattamento linguistico vanno, inoltre, distinti i lessemi, i tipi di parola (types) e le occorrenze di parole grafiche (tokens). Il rapporto tra i tipi di parole e le occorrenze testuali (type/token ratio) ci dà un approssimazione della ricchezza del vocabolario del testo esaminato: maggiore è tale valore e maggiore è la varietà del vocabolario presente nel testo. Esiste anche un altra definizione di questa misura, che non tiene conto dei types, ma dei lessemi. Per fare ciò, però, è necessario svolgere un trattamento molto complesso sui testi, che prende il nome di lemmatizzazione. Il vantaggio è la sua immediata praticità e la possibilità di ottenerla in modo automatico, senza un particolare trattamento per lingue diverse, anche sconosciute. Figura 6 Le tappe dell'analisi testuale su corpus Il world wide web può essere considerato un corpus, un enorme deposito di materiale testuale, facilmente accessibile, gratuito, vario negli stili, nelle tipologie e nei contenuti linguistici rappresentati. Dal punto di vista dell estensione certamente il web è uno dei corpora più grandi mai raccolti, anche se l esatta composizione in termini quantitativi è ancora indeterminata. Il web non presenta le diverse varietà di una lingua: vi sono privilegiati (quantitativamente) alcuni particolari domini, come quelli delle stesse nuove tecnologie, congiuntamente a materiale vicino al parlato come forum e chat. L accesso alle informazioni avviene attraverso motori di ricerca che adoperano algoritmi di selezione che privilegiano determinati tratti per ordinare e selezionare i documenti. Nel web, inoltre, il tasso di errori è significativamente più alto rispetto ad altri testi, che possono essere raccolti e controllati. Gli errori non si limitano a soli sbagli di trascrizione o scannerizzazione, ma la forte presenza di pagine amatoriali, scritte da utenti che non padroneggiano completamente la specifica lingua, finisce per costituire una rappresentazione sbilanciata delle caratteristiche linguistiche dei testi. Si verifica non solo che l interrogazione scorretta consente di ottenere risultati forvianti, ma anche che l interrogazione corretta può non ritornare la piena quantità dei dati utilizzabili. Dal punto di vista metodologico, il web pone il problema connesso con la sua dinamicità incontrollata: la dimensione del web è indeterminabile. Attualmente, il dibattito sulla costruzione di architetture che permettono l uso del web nella ricerca linguistica è molto acceso. In particolare sono allo studio soluzioni per migliorare i sistemi di selezione dei risultati, in modo che siano bilanciati, con buoni livelli di accuratezza e validità dei risultati ottenuti. Al momento l impiego del web come corpus in senso tecnico è una realtà, ma che deve essere trattata con molta cautela.

8 2. Codifica e Annotazione dei corpora Standard di codifica e annotazione Raccolto il corpus, per poterne sfruttare la ricchezza come fonte di dati linguistici, può essere necessario dotarlo di un insieme di informazioni aggiuntive, secondo un processo che prende il nome di annotazione o echitettatura linguistica, e che rappresenta una forma di codifica del corpus. Essa consiste nell associazione di un etichetta (detta anche tag o markup) a una porzione specifica e ben delimitata di testo. Il sistema usato per costruire e attribuire le etichette si dice linguaggio di marcatura, e un esempio è l SGML oppura i più recenti XML o HTML. L etichettatira linguistica può riguardare qualunque aspetto del testo, e serve principalmente per poter estrarre successivamente in maniera agevole e veloce una gran quantità di dati linguistici e non dal testo. Un esempio tipico di annotazione è il grammatical tagging, in cui ad ogni parola viene associata la relativa categoria grammaticale. Parallelo all annotazione, esiste un ulteriore livello di astrazione che prende il nome di metalinguaggio di annotazione, che stabilisce la forma sintattica delle etichette e fornisce la base per la validazione della correttezza di annotazione. L annotazione linguistica può essere condotta in modo automatico, semi automatico o manuale. Quest ultima tradizionalmente viene svolta da persone che appongono le specifiche etichette alle porzioni di testo sulla base di valutazioni più o meno condivise e standardizzate. L annotazione automatica avviene, invece, senza l intervento umano, attraverso applicazioni del Natural Laguage Processing, basate su regole oppure su approcci probabilistici. È noto che entrambi gli approcci producono una serie significativa di errori nell accuratezza dell annotazione. Per questo motivo, in genere, l annotazione combina i due metodi, dando luogo ad un annotazione semi automatica, e procede attraverso una scrematura automatica, seguita da una fase di controllo manuale. A lungo, chi realizzava e progettava grandi corpora, definiva indipendentemente un proprio schema di annotazione. Tuttavia l uso dei corpora in ambito scientifico e commerciale ha imposto negli anni l esigenza della definizione di uno standard di annotazione. I requisiti di un tale standard sono: a) Separazione e autonomia del materiale grezzo da quello di codifica; b) Esplicitazione delle fasi di annotazione in un file, esterno al corpus, liberamente accessibile; c) Forma standard e omnicomprensiva di codifica; d) Indicazione esplicita dei criteri di annotazione; e) Possibilità di condurre ricerche specifiche sulle annotazioni; f) Indipendenza di fruizione di corpora e relative annotazioni dalle specifiche piattaforme software in uso. La principale organizzazione di standardizzazione mondiale, l'international Organization for Standardization (ISO), ha iniziato un lavoro mirato alla definizione di requisiti standard delle annotazioni e sta mettendo in campo sforzi per trovarne una proposta comune, che renda i sistemi esistenti interoperabili tra loro. Di seguito è riportata una brave carrellata delle principali implementazioni di annotazione di corpora. Tra le implementazioni di codifica, la più nota e diffusa è quella elaborata dalla Text Encoding Initiative (TEI). Le TEI Guidelines sono delle linee guida che definiscono le norme per la produzione di documeti per scopi diversi. Suggerisce il formato di marcatura SGML o XML, e una codifca di caratteri ISO 646 e Unicode. L approccio usato da TEI nell annotazione linguistica è di tipo strutturale/semantico, ossia mira a specificare il ruolo delle frasi di un testo, per organizzarlo strutturalmente. L idea è di fornire un ontologia d annotazione comune ad ogni tipo di testo, insieme alle specificazioni necessarie per contenuti particolari. La TEI ha definito diversi insiemi di etichette standard, da usare per le concrete fasi di annotazione, raggruppati per i settori di ricerca più vari. Oltre alle etichette, la TEI predispone diversi livelli di codifica, secondo una gerarchia che va da un etichettatura obbligatoria, ad una raccomandata, fino a giungere ad una opzionale. La creazione di documenti TEI è fatta in conformità ad un set di DTD XML, divisi in: core, base e set addizionali. Il set core definisce gli elementi comuni a tutti i testi, e l header, contenente informazioni bibliografiche, di codifica, sul contenuto e sulla versione. Il set base contiene i DTD specifici per le sei categorie di un testo, con i tag necessari a garantire la fedeltà nella riproduzione del documento. I set addizionali permettono l inserimento di elementi speciali, come nomi e date, grafi ed alberi, tabelle e grafici, header speciali aventi il ruolo di corpo del documento.

9 Figura 7 Esempio di annotazione secondo le TEI Guidelines: annotazione testuale (a sinistra) e header (a destra) Architecture and Tools for Linguistic Analysis Systems (ATLAS) è un architettura e un insieme di strumenti per l analisi di risorse linguistiche lineari, ovvero testo, clip audio e video. Permette di segmentare il materiale linguistico, tipizzare le annotazioni, e comprende un set di metainformazioni basato su Dublin Core. Il suo punto di forza è un modello delle annotazioni molto astratto, che lascia ampio spazio all adattamento ad esigenze specifiche. ATLAS si compone, essenzialmente, di quattro parti: Un ontologia d annotazione Un interfaccia di programmazione (API) Un formato d interscambio dati (AIF) Un infrastruttura di definizione tipi (MAIA). L ontologia d annotazione si basa sui seguenti elementi: Segnale, un dato sorgente da annotare in tutto o in parte; Àncora, una coordinata che individua parti specifiche all interno di un segnale; Regione, la parte di un segnale individuata da un àncora; Contenuto, un informazione generica associata ad una regione; Annotazione, l associazione di un contenuto ad una regione. Figura 8 Ontologia di base di ATLAS

10 Dalla Figura 8, risulta che un segnale può essere diviso in più regioni da parte delle àncore; un annotazione può essere priva di contenuto ed è legata ad una sola regione, ma questa, a sua volta, può riferirsi a più annotazioni; si possono, infine, costruire gerarchie di annotazioni: l annotazione è il concetto base di ATLAS. Si nota che l architettura di annotazione è relativamente generale, con pochi vincoli, soprattutto sul contenuto: l informazione fornita da una regione, in effetti, può essere di qualsiasi tipo. Lo strato di API permette la connessione delle ontologie di base con le applicazioni di gestione, la definizione dei tipi (MAIA) ed un linguaggio di interrogazione (AQL). MAIA è il sistema per la tipizzazione degli elementi usato da ATLAS, e permette di qualificare tutte le ontologie di base. Oltre alle ontologie di base, ATLAS fornisce servizi di input/output di annotazioni e di accesso ai segnali. Questi servizi sono collegati alle ontologie di base e, tramite API, ai segnali d origine (audio, video, testo ecc.) e a formati di I/O delle annotazioni (XML, JDBC, reti ecc.). Figura 9 Esempio di annotazione con CES di un testo in francese Mentre TEI e ATLAS si occupano soprattutto di norme generali per la codifica di qualunque tipo di testo, esistono altre iniziative che hanno incominciato a trattare più specificamente le annotazioni linguistiche. Uno di questi progetti è il Corpus Encoding Standard (CES), un progetto di codifica dei corpora ideato per le applicazioni di ingegneria linguistica. Si tratta di una specifica conforme alle specifiche TEI, che utilizza SGML e anche XML. CES è uno strumento per la codifica basato su un tipo di annotazione essenzialmente strutturale e grammaticale, con la particolarità di dividere in blocchi distinti la gestione del testo, delle annotazioni e dei collegamenti. Il formato sviluppato è meno complesso ed espanso di TEI, ma il campo di applicazione è più vasto, permettendo annotazioni grammaticali su qualsiasi tipo di testo. Il campo di annotazione è, invece, limitato, adatto solo ad informazioni grammaticali e ad allineamenti di testi in lingue diverse. CES comprende note d uso del metalinguaggio, set di elementi per la

11 documentazione delle risorse codificate, per la codifica dei dati primari, ossia il testo sorgente, e per la codifica delle annotazioni, che riguardano tre ambiti: Divisione del testo in frasi e parole; Descrizione morfosintattica (grammaticale) delle parole; Allineamento e collegamento di testi. 3. Analisi di un corpus Una tecnica per evidenziare le caratteristiche linguistiche di un testo è l osservazione della natura statistica del suo lessico. Una prima forma di analisi sui corpora, infatti, è la realizzazione di una lista di frequenza, ossia una lista di tutte le forme che compaiono nel corpus, ciascuna con l indicazione del numero di occorrenze. A tali informazioni solitamente è aggiunto un valore, che prende il nome di frequenza relativa (F w /N), che corrisponde al rapporto tra le occorrenze di una singola parola (F w ) e il numero di parole testuali del corpus (N). Consideriamo, ad esempio, il primo capitolo dei Promessi Sposi, e produciamo un lista di frequenza, si ha il risultato in Figura 10. In genere, l osservazione di una lista di frequenza ordinata per tipi di parole, detta anche formario, è solo un primo passo, cui naturalmente segue il processo di lemmatizzazione. Figura 10 Lista di frequenza del primo capitolo dei Promessi Sposi Nel corso dell analisi di un testo, è utile ridurre le forme flesse di uno stesso lessema a un singolo lemma, tale operazione prende il nome di lemmatizzazione. Per svolgere questo task, un software deve disporre di tutte le possibili forme in cui un lemma si può presentare all interno di un testo, saperle riconoscere e sostituirle con il lemma appropriato. Per realizzare una lista lemmata, è doveroso essere in grado di risolvere un particolare problema, detto disambiguazione degli omografi, ad esempio nella frase La porta si chiuse è necessario poter distinguere se il termine porta si riferisce al lemma sostantivo <<porta>> o a quello verbale <<portare>>. Il risultato dell operazione è una lista lemmata, ad esempio come quella in Figura 11, del testo in esame, a cui si può produrre una lista delle frequenze lemmatizzata, detta anche lessici di frequenza,, che al posto delle occorrenze delle forme flesse, ha quelle dei lemmi. La linguistica computazionale ha sviluppato diversi strumenti per condurre in maniera automatica almeno una parte della lemmatizzazione, con diverse tecniche, ereditate dal Natural Language Processing, per distinguere le forme omografe e riconoscere la struttura sintattica della frase. L utilità dei lessici di frequenza, basati su corpora rappresentativi di una lingua, o anche detti di riferimento, risiede nella possibilità di fornire un quadro delle principali modalità d uso ei lessemi e della loro copertura testuale. Hanno diversi impieghi: sviluppo di supporti per l insegnamento delle lingue, ricerche di lessicografia statistuca, produzione di dizionari macchina per il Natural Language Processing, e in generale l integrazione di dati lessicali per diverse applicazioni linguistiche.

12 Figura 11 Lista lemmatizzata della frase in italiano "Il dottore mi raccomandò di non ostinarmi a guardare tanto lontano" Oltre a quanto descritto, sono possibili ulteriori analisi avanzate dei corpora, tra cui l analisi degli usi con le concordanze. Le parole non figurano isolate in un periodo, ma accompagnate da altre, formando così quello che comunemente viene chiamato cotesto. Il cotesto che precede e segue una parole, fornisce informazioni sul suo uso e iuta ad individuare i relativi casi d uso più requenti. Per estrarre da un corpus le parole e i rispettivi cotesti, si usa uno specifico strumento, la concordanza. Essa costituisce la presentazione delle parole di un testo, con l indicazione della frequenza con cui la parola occorre e il cotesto. Lo scopo è osservare i diversi usi di una parola, esaminare i diversi cotesti in cui occorre e analizzare la relativa regolarità con cui si accompagna ad altre parole nel suo cotesto. La prassi più tipica di esibizione del cotesto è nella forma KWIC (keyword in context), in cui il numero delle parole precedenti e successive alla parola in esame (detta nodo e si trova nella colonna centrale) può variare. Figura 12 Snapshot di un software di concordanza 4. Interrogazione avanzata e analisi dei dati testuali I corpora etichettati danno la possibilità di condurre ricerche avanzate, ovvero realizzare un sistema di estrazione dati che sfrutta la capacità di combinare diversi criteri, in modo da rispondere a interrogazioni su aspetti multipli delle unità di analisi. Altre possibilità di esplorazione dei corpora sono offerte dalla statistica testuale, che annovera tra le sue nozioni di base la dispersione e l uso dei lessemi.

13 Mentre la frequenza indica globalmente il numero di occorrenze di una specifica unità linguistica, la dispersione indica se e dove si presentano concentrazioni di occorrenze nel corpus e/o in diverse tipologie testuali. Per individuare la dispersione è necessario suddividere il corpus in parti, e successivamente calcolare le frequenze relative di ogni unità linguistica nelle lingole parti di suddivisione del corpus. La scelta di ripartizione del corpus è un momento delicato del calcolo della dispersione, dal momento che ne influisce il valore. Esistono diverse misure di dispersione, ma quella più accettata è la seguente: 1 1 dove ν indica il coefficiente di variazione (rapporto tra la deviazione standard e la media della frequenza nelle singole unita di suddivisione), mentre n indica il numero di partizioni del corpus. La dispersione è sempre un numero inferiore a uno, ed è tanto maggiore, quanto maggiore è il numero di partizioni in cui compare la parola. Una volta determinata la frequenza e la dispersione di una unità linguistica, è possibile avere una stima dell uso. L uso specifica il modo con cui l unità occorre nel corpus e viene calcolato moltiplicando la frequenza per la dispersione: La nozione di uso è centrale nella statistica lessicale, poiché fornisce una rappresentazione quantitativa della effettiva presenza dell unità lessicale nelle diverse parti del corpus. I risultati dell analisi delle distribuzioni di frequenza lessicali in corpora di grandi dimensioni ha l utilità pratica di individuare le fasce d uso dei lemmi di un dizionario. Il tasso d uso sarà sempre di valore inferiore o al massimo pari a quello della frequenza, tanto inferiore quanto più la parola si trova in un numero basso di partizioni diverse del corpus. 5. Le applicazioni dello studio dei corpora Oltre agli evindenti benefici dell uso dei corporra in ambiti di ricerca linguistica e letteraria, vi sono applicazione di varia natura che possono godere di significativi vantaggi dall uso dei corpora. I dizionari si servono oggigiorno dei dati dei corpora e della loro analisi per la scelta delle voci lessicografiche da inserire, per l individuazione delle diverse accezioni di una parola, della loro incidenza statistica e per la definizione della casistica d uso. La costruzione di grammatiche ricorre sovente alla linguistica dei corpora, da un lato per avere maggiore aderenza alla realtà linguistica, dall altro per l individuazione delle categorie descrittive da adoperare (corpus driven grammar). Il trattamento automatico del linguagio ha impiegato dati tratti da corpora per la realizzazione di parser, tagger e lemmatizzatoi che includessero moduli di natura statistica, traendone notevole beneficio in termini di accuratezza. Nel campo della traduzione automatica, tecniche corpus based, example based e statistiche sono allo studio per la realizzazione di software di traduzione automatica di altre prestazioni. Nel campo della didattica delle lingue, i corpora danno la possibilità di predisporre testi autentici, adeguabili alle diverse esigenze comunicative. L accesso ai corpora consente di pianificare e programmare meglio l ordine con cui proporre le diverse strutture linguistiche, preferendo quelle maggiormente impiegate nell ambito di interesse dello studente.

14 L elaborazione del linguaggio naturale L elaborazione automatica del linguaggio naturale ha lo scopo di implementare strumenti informatici per analizzare, comprendere e generare testi che gli uomini possano comprendere in maniera naturale, come se stessero comunicando con un altro interlocutore umano e non un computer. È caratterizzato da due prospettive diverse, che mirano l una all analisi del materiale testuale, l altra alla generazione di testi linguistici: Natural Language Analysis (NLA) o Natural Language Understanding (NLU): data una frase ha l obiettivo di darne una rappresentazione della sua analisi, ossia del processo di comprensione della frase; Natural Language Generation (NLG): data una grammatica di una lingua naturale, ha lo scopo di produrne frasi di senso compiuto. Semplificando, il primo filone vuol far <<comprendere>> (analizzare la struttura della frase al fine di darne una rappresentazione astratta) le frasi di una lingua ad una macchina, il secondo vuol far <<parlare>> (produrre frasi grammaticalmente corrette) la macchina. I due processi sono l uno l inverso dell altro. Le distinzioni tra le due diverse fasi del trattamento automatico delle lingue naturali sono fondamentalmente su due fronti: La natura dell ingresso di un processo di generazione varia fortemente dal tipo di applicazione. Sebbene un input linguistico può variare da una tipologia di testo ad un altro, generalmente è regolato da una grammatica comune. Questo non si verifica nel processo di generazione, dal momento che ogni sistema di generazione si rivolge a una specifica tipologia di applicazione, con una particolare specifica dell input. Mentre sia NLA che NLG devono essere in grado di rappresentare un intervallo di forme lessicali e grammaticali proprie del dominio applicativo, il loro uso d rappresentazione è diverso. Il primo è stato caratterizzato come un processo di gestione delle ipotesi (hypothesis management), in cui l input linguistico viene analizzato sequenzialmente non appena il sistema considera interpretazioni alternative. La sua principale preoccupazione riguarda un ingresso ambiguo, fuori dalle specifiche e mal formato. Tali problematiche non sono avvertite nel caso di NLG: l ingresso non linguistico di tale processo tende ad essere relativamente disambiguo, ben specificato e valido. Natural Language Processing 1. Concetti Introduttivi I differenti due approcci al Natural Language Analysis possono essere raggruppati in due principali classi: Knowledge Engineering: codifica manuale di grammatiche e lessici da parte di esperti Machine Learning: addestramento di modelli statistici su grandi quantità di dati, rappresentati da corpora annotati o meno Un modo di vedere questa dicotomia è nella metodologia: il primo approccio tende a lavorare secondo una modalità top down, imponendo al testo dei pattern grammaticali e relazioni semantiche ben noti, mentre il secondo ha un modus operandi bottom up, ricercando pattern e associazioni da modellare, alcuni dei quali possono non corrispondere a delle proprie relazioni sintattiche e semantiche. Un altro modo di vedere tale distinzione è sulla base della gestione della complessità delle lingue, in particolare in merito al problema dell ambiguità. Un approccio puramente simbolico, come il primo, deve risolvere l ambiguità imponendo delle regole addizionali o fattori contestuali, che possono essere in qualche modo formalizzati. Questa è una metodologie basata sulla conoscenza, da momento che si affida a degli esperti per identificare e

15 descrivere le regolarità del dominio. L approccio empirico è più quantitativo, siccome tende ad associare delle probabilità alle diverse analisi testuali, e decide tra queste usando dei metodi statistici. 2. Architettura di un sistema NLA Figura 13 Schema a blocchi di un sistema per l'analisi del linguaggio naturale Un sistema per l analisi di input linguistici ha un architettura, rappresentata secondo uno schema a blocchi in Figura 13, e si compone dei seguenti elementi: Due sistemi di riconoscimento, l input può essere sia una produzione scritta sia orale, ma i sistemi che operano l analisi possono lavorare indistintamente su ognuno di essi, a condizione che siano in una rappresentazione macchina interna che il calcolatore è in grado di manipolare. Il sistema che opera il riconoscimento dei fonemi prende il nome di Speech to Text System, e sarà oggetto di un paragrafo nel capitolo delle tecnologie del parlato. Il sistema per la conversione dei grafemi in una rappresentazione macchina interna realizza uno scanning del documento cartaceo generando un file. Tale sistema è detto Optical Character Recognitioner (OCR). L OCR può basare la sua azione su una base di conoscenza che contiene tutti i possibili elementi tipografici per ogni simbolo della lingua naturale. Tale approccio diventa impraticabile nel caso del riconoscimento della grafia, in tal caso si passa ad un particolare metodologia di Pattern Recognition, detta a riconoscimento strutturale. Si considerare una prospettiva gerarchica, dove gli elementi da riconoscere vengono visti come composti da componenti più semplici, detti primitivi. Il riconoscimento di un campione è dato da tipo di primitivi che lo costituiscono e dalla relazione di composizione intercorrente. Analisi lessicale, ha il compito di riconoscere gli elementi lessicali, e assegnarvi informazioni in merito alla loro categoria grammaticale, risolvendo le ambiguità. Si compone di due sottosistemi: Riconoscitore di forme, ha il compito di riconoscere le forme atomiche oggetto delle future elaborazioni. Si compone di un Tokenizer che compone la successione di caratteri in ingresso in unità linguistiche, ad esempio parole; e di uno Stemmer, che riconosce le possibili forme flesse di una unità linguistica e ne associa la forma radicale e le metainformazioni di flessione; Categorizzazione, o Tagger, associa ad ogni unità linguistica una delle possibili classi mofolofico sintattiche. Gli ostacoli che si possono riscontrare in un analisi lessicale sono vari. Nella Tokenizzazione, il problema è dato dalla non determinatezza dei delimitatori: essi dipendono fortemente dalla lingua adoperata nel testo e sono presenti irregolarità (unità atomiche composte da un insieme di parole,

16 i.e Polirematiche). Inoltre, è possibile che un carattere di delimitazione non sia adoperato per delimitare parole (ad esempio il punto nelle sigle). Per lo stemmer è possibile che una forma flessa possa appatternere a varie posibili forme radicali. Nella classificazione, non è univoca l appartenenza di una unità linguistica ad una classe morfologico sintattica. I due sottosistemi sono rappresentati in figura collegati in serie, ma spesso è necessario un loro lavoro sinergico, dal momento che l uno può aiutare a risolvere le ambiguità che ostacolano il lavoro dell altro. Ad esempio l ambiguità nell appartenenza ad una forma flessa è risolvibile conoscendo la classificazione morfologica dell unità. Ad esempio porta può essere sia la flessione del lemma sostantivo porta, che di quello verbale portare. Senza ulteriori informazioni il processo di disambiguazione sarebbe impossibile, ma con la conoscenza dell appartenenza dell unità al predicato verbale, è semplice operare l associazione al lemma portare. Analisi sintattica, o Parser, ha il compito di assegnare una caratterizzazione sintattica alla frase. Dato in ingresso una frase ed una grammatica, il compito del parser è determinare se la frase può essere generata dalla grammatica e, in caso affermativo, assegnare alla frase un adeguata rappresentazione, detto albero di parsing. Un albero di parsing è un grafo aciclico etichettato, caratterizzato da: un nodo radice, detto Sentence (S), dei nodi foglia con le parole della frase e dei nodi intermedi, che rappresentano la struttura sintattica assegnata alla frase. Analisi semantica, Ha il compito di eseguire un analisi semantica del testo in ingresso, generando meaning rapresentations. Si assegna a pezzi di struttura pezzi di significato. La struttura è composta da simboli e relazioni tra simboli che rappresentano stati del mondo. 3. Stemmer Gli stemmer sono analizzatori morfologici, che associano le forme flesse di un termine la sua forma radicale. La forma radicale può essere pensata come il lemma che si trova normalmente sui dizionari. Esistono due tipi di analizzatori morfologici: Inflectional morphology, esprime relazioni sintattiche tra le parole tra le parole della stessa parte del discorso. Nello specifico, studia la flessione nella forma delle parole, necessaria per esprimere delle caratteristiche grammaticali, come singolare/plurale o passato/presente. Derivational Morphology, esprime la creazione di nuove parole da partire da quelle conosciute, e cerca di collegare le differenti parole con la forma radicale. La derivazione solitamente coinvolge un cambiamento nella categoria grammaticale della parola, e può implicare un cambiamento del suo significato. Ad esempio unkind è fatto a partire da kind, ma ha un significato del tutto opposto. Gli analizzatori morfologici fanno un intenso uso di regole e dizionari lessicali, che possono essere efficientemente codificati in automi a stati finiti. Realizzare un dizionario per un analizzatore morfologico è un compito temporalmente dispendioso. Molte applicazioni non richiedono analizzatori linguisticamente corretti, in tali casi si ha analizzatori euristici, che usano regola empirica approssimativa. Un algoritmo di stemming molto adoperato è detto Algoritmo di Potter, costituito da una serie in cascata di regole di riscrittura delle parole. Le regole hanno una forma del tipo: (condizione) S1 > S2 ovvero, se la forma flessa finisce con il suffisso S1 e la forma radicale soddisfa la condizione, allora S1 è sostituito da S2. Un esempio di tali regole per parole in inglese sono: (m > 0) ATIONAL > ATE relational > relate (m > 0) FUL > ε hopeful > hope Se la forma flessa ha parte radicale di misura positiva, il suffisso ATIONAL o FUL sono sostituiti da ATE o la stringa vuota, cosicché il termine relational diventa relate e hopeful, invece, è hope. 4. Tagger Le parole appartenenti ad una lingua naturale possono essere classificati in base ad un insieme di classi morfologiche, che costituiscono un insieme che prende il nome di Tagset di Tagging. Le parti del disocrso possono essere categorizzate come classi chiuse, ovvero quelle in cui la condizione di appartenenza è relativamente fissa, ad esempio le proposizioni, e classi aperte, in cui è possibile di volta in

17 volta trovare nuovi elementi, dovute a parole di recente conio. Un esempio di tagset è quello del Penn Treebank, adottato anche per l annotazione di diversi importanti corpora. Figura 14 Penn Treebank Part of Speech Tags Gli algoritmi di tagging ricadono in tre gruppi differenti: Rule based tagger, generalmente posseggono un grande database di regole di determinazione della parte del discorso di una unità linguistica, ad esempio una unità che segue un articolo è un nome. Un esempio è il tagger ENGTWOL, un analizzatore morfologico a due livelli: 1. Per primo viene consultato un dizionario dei termini, con la parte radicale delle unità linguistiche, il POS tag e alcune informazioni aggiuntive, e a tutte le unità della frase da analizzare vengono associate una o più etichette sulla base delle entry del dizionario; Figura 15 Esempio di dizionario lessicale di ENGTWOL 2. Un insieme di regole sono applicate per risolvere le ambiguità morfologiche, ovvero unità che presentano più di una etichetta.

18 Figura 16 Esempio di una regola di vincolo per ENGTWOL Stochastic tagger, adoperano un corpus per determinare la probabilità che una data unità linguistica abbia un preciso tag morfologico in un preciso cotesto: minimizza {P(unità tag) * P(tag precedenti n tag)} Trasformation based tagger, è un approccio ibrido, e come gli algoritmi rule based ha un insieme di regole per l assegnazione dei tag alle unità linguistiche, ma ha anche una componente statistica: le regole non sono inserite da un esperto, ma computate a partire da un corpus appositamente annotato. Un esempio è il Brill tagger, che opera seguendo questi passi: 1. Ad ogni unità linguistica si applica il tag più probabile, con tale probabilità costruita a partire da un corpus di training annotato considerando solo le singole unità linguistiche; 2. Successivamente si applicano delle regole di trasformazione, apprese dall osservazione del training e considerando il cotesto all interno di una frase, per correggere i tag erroneamente assegnati alle unità. 5. Parser Un processo di parsing può essere visto con un algoritmo di ricerca del corretto albero sintattico per una data frase, all interno dello spazio di tutti i possibili alberi sintattici generabili a partire delle regole di una grammatica. I parametri che vanno dati al processo di definizione dell albero sono: 1. le regole grammaticali, che predicono come da un nodo radice S ci siano solo alcune vie di scomposizione possibili per ottenere i nodi terminali; 2. le parole della frase, che ricordano come la (s)composizione di S debba terminare I due principali approcci al parsing sono: Top down o goal driven approach, cerca il corretto albero applicando le regole grammaticali a partire dal nodo radice S, provando a raggiungere i nodi foglia; Bottom up o data driven approach, si inizia con le parole che compongono la frase di input, da cui si inizia ad applicare le regole grammaticali fino a poter arrivare al nodo radice S. La strategia top down non perde tempo esplorando alberi che non portino a S come nodo radice, cosa che invece si verifica con la strategia bottom.up. Il top down, però, genera un grande indieme di alberi S rooted che sono inconsistenti con l ingresso fornito, dal momento che gli alberi sono generati senza esaminare l input linguistico. Bottom up non produce mai alberi inconsistenti con l input linguistico. Quando in un nodo dell albero sintattico si applicano delle regole grammaticali, si possono generare un insieme di percorsi alternativi verso uno o più nodi. Tale ramificazione non è espandibile in parallelo, ma va considerato un percorso per volta. Per questo l esplorazione è fatta secondo due distinte strategie: Depth first, la ricerca procede espandendo sempre il primo nodo generato, e operando un backtracking nel caso il percorso non fosse giusto; Breadth first, la ricerca procede espandendo prima tutti nodi di un livello, per poi scendere al livello successivo. Ci sono molti modi di combinare previsioni top down con dati bottom up per ottenere ricerche più efficienti. La maggior parte usano un tipo come meccanismo di controllo per la generazione degli alberi, e l altro come filtro per scartare a priori alberi che certamente non sono corretti, un esempio è l algoritmo del Left Corner. L idea alla base di quest algoritmo è di combinare una strategia di generazione degli alberi di tipo Top down, con il filtraggio con considerazioni di natura Bottom up. L algoritmo si memorizza la prima parola dell input (left corner), e non si devono considerare le regole grammaticali in cui sul ramo

19 sinistro della derivazione si ha incongruenza con il left corner. Il filraggio può essere realizzato con tabellee che elencano tutte le categorie valide per il left corner per ogni nodo non terminale. Figura 17 Esempio di tabellaa del filtraggio Questi approcci di parsing, soprattuttoo se si considera una strategia del tipo Depth first, possoo incorrere in situazioni di stallo, senza mai giungere ad un risultato. Ciò si verifica quando la grammatica in ingresso al parser è di tipo left recursive. Una grammatica si dice ricorsiva a sinistra,, se ammettee una regola del tipo A * Aα (es. NP NP PP), ovvero se contiene un simbolo non terminale che è sia parte della condizione di innesco che prodotto di una regola grammaticale. Esistono due modi per poter ovviare a questo inconveniente: Riscrivere una nuova grammatica con lo stesso potere espressivo della precedente, cercando di riformulare le regole che presentano ricorsione a sinistra, ottenendo così quella che prende il nome di weakly equivalent grammar; Gestire esplicitamente il processo di esplorazione, evitando situazioni di stallo. Nell ottica del secondo approccio si inserisce la programmazione dinamica, una metodologia di parsing in cui si memorizzano i risultati intermedi con l intendo di nonn ripetere il lavoro già fatto che si può evitare e non cadere nella ricorsione a sinistra. I risultati intermedi vengono memorizzati in una struttura che prendee il nome di chart. Un chart è un grafo aciclico etichettato, dove un arco contiene l indicazione dei nodi inizialii e terminali e della regola che deve venir applicata. Figura 18 Esempio di chart L algoritmo di Earley è un esempio di programmazione dinamica che opera su un chart per realizzare un task di parsing. L algoritmo inizia con una fase di inizializzazione applicando la regola γ > S. Ad ogni passo dell algoritmo, uno dei seguenti tre operatori viene applicato ad ogni nodo del chart, in funzione del suo stato: Previsione (Predictor): crea nuovi stati nell entrata corrente del chart, rappresentando le aspettative top down della grammatica; verrà quindi creato un numero di stati uguale alle possibilità di espansione di ogni nodo non terminalee nella grammatica; Scansione (Scanner): verifica se nell input esiste, nella posizione adeguata, una parola la cui categoria combacia con quella prevista dallo stato a cui la regola si trova. Se il confronto è positivo, la scansione produce un nuovo stato in cui l indice di posizione viene spostato dopo la parolaa riconosciuta. Tale stato verrà aggiunto all entrata successiva del chart. Completamento (Completer): quando l indicatore di posizione raggiunge l estrema destra della regola, questa procedura riconosce che un sintagma significativo è stato riconosciuto e verifica se l avvenuto riconoscimento è utile per completare qualche altraa regola rimasta in attesa di quella categoria. Una volta costruito il chart, è possibile ottenere un albero di parsing, estraendo l arco o l insieme di archi che dal primo nodo portano all ultimo.

20 Anche per il parsing esistono degli approcci statistici, dove si scelgono le regole da espandere in base a probabilità calcolate a partire da un corpus, per arrivare il prima possibile ad un analisi e restituirla come più probabile. Dato un insieme di regole, fornite sia da esperti che definite a partire da un analisi empirica di un insieme di testi, si definisce la probabilità di applicazione della regola come: ovvero, la probabilità nota la parte di innesto è pari al numero di volte in cui la regola è applicata nel corpus, diviso il numero di occorrenze della parte di innesco. 5. Un Applicazione: il correttore ortografico Una delle applicazioni elementari del NLA è l implementazione degli strumenti di correzione ortografica o spell checkers. Tali tool devono realizzare due compiti: 1. Controllare la correttezza di una forma linguistica; 2. Suggerimento della forma linguistica più corretta a fronte di un errore. La maggior parte dei corretto ortografici funziona mediante la comparazione con un dizionario di riferimento, ovvero un repertorio lessicale in cui compaiono tutte le possibili flessioni di ogni parola. Dal momento che andare a memorizzate tutte le forme di flessioni impone una non trascurabile complessità spaziale, si preferisce memorizzare solo la parte radicale delle parole, e corredare il dizionario di un insieme di regole di scomposizione morfologica o di flessione. A fronte dell immissione di alcune parole, lo strumento opera per prima cosa lo stemming con le regole di scomposizione, ottenendo la forma radicale, e successivamente controlla la presenza di quest ultima nel dizionario. Il problema più complesso, è però legato all individuazione dei suggerimenti per una correzione. In una lingua solo alcune successioni di lettere sono consentite, ad esempio in italiano non è consentito la successione stb. A tale scopo, oltre alla consultazione del dizionario, un correttore è corredato da un algoritmo di controllo delle sequenze alfabetiche all interno di una parola. Lo strumento informatico usato per indicare tali sequenze è detto n gramma, dove n è la lunghezza della sequenza. L algoritmo ha un insieme di n grammi plausibili, e quando in un testo si riscontra una sequenza non consentita, la si segnala come errore. Un latro metodo è quello della distanza minima, dove i candidati per la correzione sono ottenuti applicando alla parola erronea gli operazioni di cancellazione, inserimento e alterazione di una lettera, secondo il principio della minimizzazione della distanza della nuova parola con quella erronea. Per distanza tra due parole, si intende il numero di lettere difformi tra le parole, a parità di lunghezza. Se due parole sono di lunghezza differente, a quella più breve si aggiungono in coda tanti caratteri nulli, quanti ne bastano per arrivare alla lunghezza dell altra parola del confronto. Ad esempio, data la parola fonia che non viene riconosciuta dal correttore di Microsoft Word, posso ottenere i seguenti suggerimenti: fonda (alterazione di un carattere), fonica (inserimento di un carattere), conia (alterazione di un carattere), fobia (sostituzione di un carattere) e afonia (inserimento di un carattere).

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

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

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

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

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

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

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Come archiviare i dati per le scienze sociali

Come archiviare i dati per le scienze sociali Come archiviare i dati per le scienze sociali ADPSS-SOCIODATA Archivio Dati e Programmi per le Scienze Sociali www.sociologiadip.unimib.it/sociodata E-mail: adpss.sociologia@unimib.it Tel.: 02 64487513

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

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

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

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

Modulo 1: Motori di ricerca

Modulo 1: Motori di ricerca Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Antivirus Personal firewall Tecnologie delle reti di calcolatori Servizi

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

03. Il Modello Gestionale per Processi

03. Il Modello Gestionale per Processi 03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

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

PROCESSO DI INDICIZZAZIONE SEMANTICA

PROCESSO DI INDICIZZAZIONE SEMANTICA PROCESSO DI INDICIZZAZIONE SEMANTICA INDIVIDUAZIONE DEI TEMI/CONCETTI SELEZIONE DEI TEMI/CONCETTI ESPRESSIONE DEI CONCETTI NEL LINGUAGGIO DI INDICIZZAZIONE TIPI DI INDICIZZAZIONE SOMMARIZZAZIONE INDICIZZAZIONE

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

SCUOLA PRIMARIA SCIENZE NATURALI E SPERIMENTALI. Competenza: 1. Comunicazione efficace Indicatore: 1.1 Comprensione

SCUOLA PRIMARIA SCIENZE NATURALI E SPERIMENTALI. Competenza: 1. Comunicazione efficace Indicatore: 1.1 Comprensione SCUOLA PRIMARIA SCIENZE NATURALI E SPERIMENTALI Competenza: 1. Comunicazione efficace Indicatore: 1.1 Comprensione Descrittori Classe 1 Descrittori Classe 2 Descrittori Classe 3 Descrittori Classe 4 Descrittori

Dettagli

Processing. Argomenti trattati nella lezione: CONCETTI INTRODUTTIVI NATURAL LANGUAGE ANALYSIS ARCHITETTURA SISTEMA NLA TAGGER PARSER A PPLICAZIONE

Processing. Argomenti trattati nella lezione: CONCETTI INTRODUTTIVI NATURAL LANGUAGE ANALYSIS ARCHITETTURA SISTEMA NLA TAGGER PARSER A PPLICAZIONE Natural Language Processing 1 Argomenti trattati nella lezione: CONCETTI INTRODUTTIVI NATURAL LANGUAGE ANALYSIS ARCHITETTURA SISTEMA NLA STEMMER TAGGER PARSER A PPLICAZIONE Concetti Introduttivi Trattamento

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

IL SISTEMA INFORMATIVO

IL SISTEMA INFORMATIVO IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme

Dettagli

Il corso di italiano on-line: presentazione

Il corso di italiano on-line: presentazione Il corso di italiano on-line: presentazione Indice Perché un corso di lingua on-line 1. I corsi di lingua italiana ICoNLingua 2. Come è organizzato il corso 2.1. Struttura generale del corso 2.2. Tempistica

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Il web come corpus. Il world wide web può essere considerato un corpus? Quali sono i suoi limiti? E le sue potenzialità?

Il web come corpus. Il world wide web può essere considerato un corpus? Quali sono i suoi limiti? E le sue potenzialità? Il web come corpus Il world wide web può essere considerato un corpus? Quali sono i suoi limiti? E le sue potenzialità? WWW Enorme deposito di materiale testuale accessibile, gratuito, variato negli stili,

Dettagli

LABORATORIO DI INFORMATICA

LABORATORIO DI INFORMATICA - PROGRAMMAZIONE DI DIPARTIMENTO - anno scolastico 2015-2016 Corso: Liceo Linguistico Quadro orario Classe I II Laboratorio di 2 2 LABORATORIO DI INFORMATICA L insegnamento dell informatica nel liceo linguistici

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Istituto Comprensivo di Pralboino Curricolo Verticale

Istituto Comprensivo di Pralboino Curricolo Verticale ASCOLTO E PARLATO L allievo interagisce in modo efficace in diverse situazioni comunicative, attraverso modalità dialogiche sempre rispettose delle idee degli altri. Usa la comunicazione orale per collaborare

Dettagli

PROGETTO EM.MA PRESIDIO

PROGETTO EM.MA PRESIDIO PROGETTO EM.MA PRESIDIO di PIACENZA Bentornati Il quadro di riferimento di matematica : INVALSI e TIMSS A CONFRONTO LE PROVE INVALSI Quadro di riferimento per la valutazione Quadro di riferimento per i

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Progetto ASTREA WP2: Sistema informativo per il monitoraggio del sistema giudiziario

Progetto ASTREA WP2: Sistema informativo per il monitoraggio del sistema giudiziario Progetto ASTREA WP2: Sistema informativo per il monitoraggio del sistema giudiziario Nell ambito di questa attività è in fase di realizzazione un applicativo che metterà a disposizione dei policy makers,

Dettagli

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

CRITERI DI VALUTAZIONE SCUOLA PRIMARIA SCUOLA PRIMARIA

CRITERI DI VALUTAZIONE SCUOLA PRIMARIA SCUOLA PRIMARIA CLASSI seconde CRITERI DI VALUTAZIONE SCUOLA PRIMARIA SCUOLA PRIMARIA LINGUA ITALIANA l alunno utilizza in maniera appropriata il codice linguistico per descrivere, narrare argomentare. si esprime in modo

Dettagli

Linguistica Computazionale. Tokenizzazione

Linguistica Computazionale. Tokenizzazione Linguistica Computazionale Tokenizzazione Sai Tokenizzare (~contare : )) iniziamo giocando poi lavoriamo Quanti token (~parole) nella frase C era una volta un pezzo di legno. Sai Tokenizzare (~contare

Dettagli

SCUOLA PRIMARIA CURRICOLO DI ITALIANO SECONDO BIENNIO

SCUOLA PRIMARIA CURRICOLO DI ITALIANO SECONDO BIENNIO SCUOLA PRIMARIA CURRICOLO DI ITALIANO SECONDO BIENNIO CLASSI TERZA E QUARTA Competenza 1. Interagire e comunicare oralmente in contesti di diversa natura. Al termine del II biennio ( 3^ e 4^ Scuola Primaria)

Dettagli

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

Dettagli

CURRICOLO DISCIPLINARE DI ITALIANO ASCOLTO E PARLATO. Traguardi per lo sviluppo delle competenze. Obiettivi di apprendimento( conoscenze e

CURRICOLO DISCIPLINARE DI ITALIANO ASCOLTO E PARLATO. Traguardi per lo sviluppo delle competenze. Obiettivi di apprendimento( conoscenze e CURRICOLO DISCIPLINARE DI ITALIANO ASCOLTO E PARLATO Traguardi per lo sviluppo delle competenze 1.Partecipa a scambi comunicativi con compagni ed insegnanti, formulando messaggi chiari e pertinenti Obiettivi

Dettagli

La comunicazione e il linguaggio

La comunicazione e il linguaggio Linguaggio = sistema di simboli, suoni, significati e regole per la loro combinazione che costituisce la modalita primaria di comunicazione tra gli esseri umani Caratteristiche fondamentali del linguaggio:

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

ANALISI. Questionario per il personale ASI. Data Sezione del documento / Motivo della revisione Revisione 14.01.2011 Prima emissione documento A

ANALISI. Questionario per il personale ASI. Data Sezione del documento / Motivo della revisione Revisione 14.01.2011 Prima emissione documento A Pagina: 1 di 13 Data Sezione del documento / Motivo della revisione Revisione 14.01.2011 Prima emissione documento A Pagina: 2 di 13 QUESTIONARIO PER IL PERSONALE In seno all analisi SWOT, al fine di valutare

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Rapporto dal Questionari Insegnanti

Rapporto dal Questionari Insegnanti Rapporto dal Questionari Insegnanti SCUOLA CHIC81400N N. Docenti che hanno compilato il questionario: 60 Anno Scolastico 2014/15 Le Aree Indagate Il Questionario Insegnanti ha l obiettivo di rilevare la

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Sostegno a Distanza: una fiaba per Angela. Presentazione

Sostegno a Distanza: una fiaba per Angela. Presentazione Presentazione Nella classe 1^ secondaria di1 grado, durante il primo quadrimestre, si è lavorato sul tipo di testo fiaba ed i ragazzi venendo a conoscenza del progetto SAD portato avanti dagli allievi

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Un gioco con tre dadi

Un gioco con tre dadi Un gioco con tre dadi Livello scolare: biennio Abilità interessate Costruire lo spazio degli eventi in casi semplici e determinarne la cardinalità. Valutare la probabilità in diversi contesti problematici.

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

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

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

MATEMATICA U. A. 1 INSIEME PER RICOMINCIARE SITUAZIONI DI APPRENDIMENTO TEMPI

MATEMATICA U. A. 1 INSIEME PER RICOMINCIARE SITUAZIONI DI APPRENDIMENTO TEMPI MATEMATICA U. A. 1 INSIEME PER RICOMINCIARE ABILITA : 1.a Riconoscere il valore posizionale delle cifre. 1.b Individuare e definire numeri pari e dispari. 2.a Stabilire relazioni d ordine, contare in senso

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Stefania Pozio. Le prove INVALSI di matematica: il confronto con le indagini internazionali.

Stefania Pozio. Le prove INVALSI di matematica: il confronto con le indagini internazionali. Stefania Pozio Le prove INVALSI di matematica: il confronto con le indagini internazionali. Quali sono le principali indagini internazionali sulla matematica a cui l Italia partecipa? L Italia partecipa

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

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo. Pag. 1 di 5 6FRSR analizzare problemi complessi riguardanti la gestione di un sito interattivo proponendo soluzioni adeguate e facilmente utilizzabili da una utenza poco informatizzata. 2ELHWWLYL GD UDJJLXQJHUH

Dettagli

Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico 2008-2009

Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico 2008-2009 Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico 2008-2009 Il buon nome - Chiavi di risposta e classificazione degli item Item Risposta corretta Ambito di valutazione Processi

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

Dettagli

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

LA PIANIFICAZIONE DELLE ATTIVITÀ AZIENDALI E.R.P. (ENTERPRISE RESOURCE PLANNING)

LA PIANIFICAZIONE DELLE ATTIVITÀ AZIENDALI E.R.P. (ENTERPRISE RESOURCE PLANNING) LA PIANIFICAZIONE DELLE ATTIVITÀ AZIENDALI E.R.P. (ENTERPRISE RESOURCE PLANNING) L IMPATTO SULLA GESTIONE LA MISURAZIONE DELL IMPATTO IL SUPPORTO ALLA CREAZIONE DEL VALORE L INTEGRAZIONE ESIGENZE DEL BUSINESS

Dettagli

RICERCA AZIONE STRUMENTI

RICERCA AZIONE STRUMENTI RICERCA AZIONE STRUMENTI STRUMENTI INTROSPETTIVI Permettono di scoprire gli aspetti più nascosti, le sfaccettature più profonde. Sono privati perché di norma vengono usati dall individuo da solo. Non sono

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli