320 likes | 479 Views
Lezione 3. Codifica di alto livello: dai formati binari ad XML. Definizione della struttura di un documento: superare il livello 0. Il testo codificato al livello zero si presenta come un manoscritto in scriptio continua. Formato grafico e codifica.
E N D
Lezione 3 Codifica di alto livello: dai formati binari ad XML
Definizione della struttura di un documento: superare il livello 0 Il testo codificato al livello zero si presenta come un manoscritto in scriptio continua
Formato grafico e codifica • L’uso del formato grafico per rappresentare una codifica di alto livello è insufficiente • Non sufficientemente esplicito (cosa “significa” un corsivo ?) • Difficilmente combinabile (corsivo+grassetto+apice+… = illegibilità) • Non applicabile a certi elementi (p.es. fine pagina) o legato a determinate realizzazioni del testo (video a colori, stampa,…) • Esteticamente debole
Perché codificare?datovsinformazione (definizioni da un vocabolario della lingua italiana) informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati La codifica di alto livello trasforma il datotestuale grezzo in fonte esplicita di informazione
Un’informazione è un dato strutturato... • un esempio: 56100 su un foglio di carta è un datoe non significa molto • ma se il foglio di carta viene fornito in risposta alla domanda “qual è il cap di Pisa?” oppure “qual è il numero del conto bancario del sig. X?”, allora il dato può essere interpretato come fonte di informazione
Perché “dati strutturati“ ? • le informazioni sono più volatili, i dati più stabili • I dati costituiscono una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): • ad esempio, i dati delle banche o delle anagrafi • la storia della scienza è caratterizzata dal continuo cambiamento di informazioni relative a dati relativamente stabili
Perché codificare?I motivi della codifica di alto livello • Un testo come flusso di caratteri e parole è una fonte di dati linguistici • Il testo è un’entità altamente strutturata, nella quale i dati linguistici sono correlati secondo piani di organizzazione multipli • struttura del testo • l’ articolazione in sezioni, capitoli, titoli, ecc. • struttura del contesto • l’autore, la data di produzione, la finalità del testo, ecc. • struttura linguistica (implicita nel testo!!) • Lingua del testo, differenza testo/citazione … • informazioni morfologiche, sintattiche, semantiche • Strutture retoriche, argomentative, …
Come codificare? la codifica esplicita di informazione su un testo viene dettaannotazione (o “markup”) del testo. • Quali passi seguire per effettuare una annotazione? • Individuare il livello di informazione da codificare • strutturale, linguistica, ecc. • Definire il repertorio dei tratti giudicati rilevanti per la codifica • Scegliere un formato per associare la annotazione al testo
Scelta delle informazioni da annotare: un esempio La codifica morfo-sintattica oggetto: codificare esplicitamente la categoria grammaticale e le proprietà morfologiche delle parole di un testo. Da definire: • quali attributi codificare (cat. grammaticale, persona, genere, numero, caso, ecc.) • quali attributi sono compatibili (p.es. non ha senso marcare “Caso” su un elemento marcato “avverbio”) • quali valori possono avere i diversi attributi (numero = SING, PLUR; caso = NOM, GEN, ecc.) • Cosa fare con elementi ambigui (per es. come codificare “che” in “Che roba!”, “dico che piove”?) e come specificare eventuali valori disgiuntivi (“X è CONG oppure PRON”) • Quali criteri di applicazione al testo delle categorie selezionate: • attribuire la codifica a tutto il testo, o a una parte? • Fino a che livello di dettaglio?
Esempio: categorie morfologiche per l’italiano (Rank Xerox Research Centre) TAG | DESCRIPTION | EXAMPLE ---------------- +--------------------------------------- +--------------------- NSG | singular noun | casa, balsamo NPL | plural noun | case, ventottesimi PROP | proper name | Bernardo, Monte Isola ---------------- +--------------------------------------- +--------------------- ADJSG | singular adjective | buono, narcisistico ADJPL | plural adjective | belle, trecentocinquesimi ---------------- +--------------------------------------- +--------------------- VAUXINF | infinitive auxiliary "essere"/"avere" | esser, essere, aver, avere VAUXF | finite auxiliary "essere" or "avere" | è, sarò, saranno, avrete VAUXGER | gerund auxiliary "essere" or "avere" | essendo, avendo VAUXGER_CLIT | gerund auxiliary + clitic | essendogli VAUXIMP | imperative auxiliary | sii, sia, abbi, abbiamo VAUXIMP_CLIT | imperative auxiliary + clitic | siategliene, abbiatemi VAUXPPSG | singular past participle auxiliary | stato/a, avuto/a VAUXPPPL | plural past participle auxiliary | stati/e, avuti/e VAUXPPSG_CLIT | sg. past part. auxiliary + clitic | statone, avutavela VAUXPPPL_CLIT | pl. past part. auxiliary + clitic | statine, avutiti VAUXPRPARTSG | singular present participle auxiliary | essente, avente VAUXPRPARTPL | plural present participle auxiliary | essenti, aventi ---------------- +--------------------------------------- +--------------------- VINF | verb infinitive | sciupare, trascinar VINF_CLIT | verb infinitive + clitic | spulciarsi, risucchiarsi VF | finite verb form | blatereremo, rantolo VF_CLIT | finite verb + clitic | trattansi, leggevansi … | … | …
Come associare testo e codifica? Dovendo associare altre informazioni al testo, alcuni requisiti generali: • Mantenere una chiara divisione tra il testo e la annotazione relativa (informazione vs. metainformazione); Esempio negativo: “Come Cong. andò V_intr che Cong. Maestro N … “ • Permettere di scorporare testo e annotazione; • Avere annotazioni ragionevolmente autoesplicative; • Non consumare troppo spazio; • Permettere all’utente facili aggiunte/modifiche • Permettere l’uso del testo annotato su una varietà di sistemi informatici (tramite “formati aperti”) • Limitare la obsolescenza (del formato dati e del supporto di registrazione)
Come associare testo e codifica?Alcune opzioni: • Usare un formato solo testo (plain text o txt): ogni carattere è stampabile (tabelle ASCII, ISO-8859, UNICODE) • Vantaggi • formato “aperto”, indipendente dal sistema operativo e dal programma che lo ha creato • massima portabilità e interscambiabilità dei testi (modificabili con normali editori di testo: notepad, scite, emacs…) • Svantaggi • Se l’annotazione è trasparente, tende a occupare molto spazio. • Possibile confondere testo e annotazione (metatesto)
Come associare testo e codifica? I formati binari del testo • Formati “proprietari” (doc, pdf, ecc.) • possono essere creati, letti e interpretati solo da uno specifico programma (es. Word, Adobe) • oltre a sequenze di bit che codificano caratteri, il file contiene sequenze binarie che corrispondono a istruzioni di formattazione, codificate secondo le convenzioni di un certo programma • Vantaggi • massima capacità espressiva e fruibilità per l’utente umano • rappresenta bene alcuni aspetti relativi alla struttura testuale. • File potenzialmente compatti (specialmente PDF) • Svantaggi • formato “chiuso”, con minima portabilità e interscambiabilità • codifica non per categorie testuali “astratte”, ma per modalità di visualizzazione (procedurale) • le informazioni linguistiche rimangono comunque implicite nel testo • Obsolescenza?
Formati dati proprietari • Videoscrittura • .doc (MS Word), .wp (Word Perfect), .odt (OO Writer), .html (Google’s DOCS), etc. • Tutti differenti, spesso rapida obsolescenza, decente compatibilità verso il passato • Desktop Publishing • i formati di: PageMaker, FrameMaker, Quark XPress, Ventura Publisher, etc. • Tutti differenti, tutti estremamente specializzati, rapidissima obsolescenza, nessuna compatibilità col passato • DBMS • I formati di: Oracle, MS Access, MS SQLserver, IBM DB2, etc. • Estremamente orientati all'efficienza, opacissimi, decente obsolescenza, buona compatibilità col passato
Word: oltre la formattazione • A parte la formattazione di singoli caratteri/paragrafi, Word dispone di un sistema di annotazione più astratta delle caratteristiche di un testo: gli Stili • Formato > Stili e formattazione > Nuovo stile …
Uso degli stili • Gli “stili” (di carattere, di paragrafo), sono il modo assegnare ad una parte di testo una etichetta (il nome di un particolare “stile”), anche ideata dall’utente. • A ciascuno stile a cui si può poi associare una certa resa grafica. • Dunque gli stili costituiscono un modo per effettuare una codifica di alto livello (una annotazione/markup)
Word: uso degli “stili” Stile “titolo 3” Stile “indice” Stile “2_colonne” (basato su “testo”, modif.) Resa grafica
Stili di Word • Vantaggi • Una volta associato una porzione di testo ad uno stile, diventa facile cambiare ogni elemento di quello stile. • Facile definire nuovi stili sulla base di quelli vecchi • Possibile salvare i nuovi stili definiti • Svantaggi • formato “chiuso” • Gli stili sono limitati alla specifica di caratteristiche di formattazione (impossibile marcare p.es. la “frase”: soli livelli “carattere” e “paragrafo”) • Impossibile regolare la esatta successione di una serie di stili (unico concetto definito: “stile per il paragrafo successivo”) • Impossibile scorporare testo e annotazione (posso solo salvare il documento come .txt (“solo testo”) , annullando così gli stili inseriti) • Scarsamente utilizzati
Come associare testo e codifica?Una alternativa: i linguaggi di marcatura Codifica di alto livello con linguaggi di markup (linguaggi di marcatura) • dal punto di vista del formato digitale un testo codificato con un linguaggio di marcatura è in formato solo testo buona interoperabilità Scarsa obsolescenza (specie se associato ad uno standard e non semplicemente ad un software) • l’informazione strutturale è rappresentata attraverso l’aggiunta al testo dietichette(o tag)di marcatura, chiaramente identificabili • Buona distinzione testo/metatesto • Non un buon modo per risparmiare spazio (ma esiste sempre la possibilità di comprimere il file; non un problema di conservazione con gli hardware attuali; problema, in caso, di trasmissione via rete)
RTF • Prodotto/letto da Word (ed altri programmi Office) • Problemi di compatibilità all’indietro • Non uno standard • Limitato (come gli “stili” Word) alla marcatura di istruzioni di visualizzazione • Non direttamente scrivibile da umani molto poco usato
LaTeX: Un documento completo \documentclass[12pt]{article} \usepackage{times,a4wide} \begin{document} \section{Introduzione} \label{sec:introduzione} \begin{itemize} \item Primo punto \item Secondo punto \begin{enumerate} \item Sottopunto A \item Sottopunto B \end{enumerate} \end{itemize} \end{document}
LaTeX (e TeX) • Tradotto in testo formattato stampabile dal programma (gratuito) “latex” (esatto contrario dell’approccio WYSIWYG) • Limitato (come RTF) alla marcatura di istruzioni di visualizzazione • Direttamente scrivibile da umani (con l’ausilio di un editor, più addestramento) • Usato in alcune comunità scientifiche(matematica, informatica,…) non uno strumento generale di annotazione
Un passo indietro: due tipi di marcatura del testo • Marcatura procedurale (detta anche marcatura tipografica) che consiste in una serie di istruzioni operative che forniscono le specifiche di formattazione e impaginazione del testo per la visualizzazione e la stampa (es. RTF, LaTeX) • Marcatura dichiarativa (detta anche marcatura logica o descrittiva) dove i codici di marcatura indicano la funzione assolta dal blocco di testo a cui si riferiscono, ad esempio titolo, paragrafo, nota, citazione ecc. senza fornire indicazione di come tali elementi del testo dovranno apparire fisicamente sulla pagina o sul video (es. SGML, XML)
Marcatura procedurale • basata sull’aspetto • ad ogni elemento del documento viene associata la procedura per visualizzarlo in maniera voluta: font, dimensione, corsivi, grassetti, margini, interlinea, ecc. • dipendente dal sistema • ogni sistema di visualizzazione impone le proprie regole e la propria sintassi • associata agli elementi individuali • ogni elemento ha le proprie procedure per la visualizzazione, che possono anche essere tutte diverse anche per elementi dello stesso tipo. • non contestuale • le regole di visualizzazione non dipendono dal contesto in cui vengono fatte, ma ognuna fa specie a sé • non è possibile porre vincoli sulla "correttezza" di un documento.
Marcatura dichiarativa • basata sul ruolo • di ogni elemento viene descritto il ruolo all’interno del testo, più che le regole per la sua visualizzazione • indipendente dal sistema • poiché il markup descrittivo assegna ruoli (e non regole di visualizzazione) agli elementi del testo, questi sono intrinseci agli elementi stessi, e non alle funzionalità disponibili nel sistema di visualizzazione • contestuale • con il markup descrittivo è possibile definire delle regole che permettano o impediscano l’assegnazione di un ruolo ad un elemento del testo a seconda del contesto • è possibile specificare regole di correttezza sui documenti, ad esempio che ad un'immagine segua necessariamente una didascalia, ecc.
Marcatura dichiarativa: vantaggi • facilità nella creazione: l’autore si concentra sul ruolo organizzativo delle singole parti di testo, piuttosto che sul loro aspetto stampato • indipendenza dalla formattazione: riformattare un documento secondo nuove regole richiede semplicemente di ricodificare dei parametri esterni, non di modificare in alcuna maniera il testo codificato • flessibilità: riusare un testo codificato in un nuovo contesto è facile, perché non è necessario rimuovere la vecchia informazione per far posto alla nuova • visioni di documenti dinamicamente riconfigurabili: è possibile selezionare viste diverse dello stesso documento
L’XML (eXtensible Markup Language) • è un nuovo linguaggio di markup sviluppato dallo XML Working Group del W3C a partire dal 1996 • XML è uno dei più importanti sviluppi nella storia della computazione. Negli ultimi anni è stato adottato in campi molto diversi tra loro: legge, aeronautica, finanza, sicurezza, robotica, turismo, arte, design del software, fisica, letteratura, … • XML è nato dallo sforzo di dare forza e struttura all’SGML (“Standard Generalized Markup Language”, ISO standard: ISO 8879:1986) nel web, in una forma che fosse però abbastanza semplice per gli utenti non esperti.
XML • XML nasce dalla lunga storia dei sistemi di elaborazione di testi allo scopo di permettere l’elaborazione delle informazioni piuttosto che la loro visualizzazione • in un documento XML, quindi, non e’ necessario fare alcun riferimento al modo in cui le informazioni verranno visualizzate: le regole per la visualizzazione saranno inserite in un foglio esterno chiamato foglio di stile • XML permette all’utente di definire il proprio insieme di tag (elementi) e in questo senso può essere considerato un meta-markup language: i tag definiti dall’utente possono avere dei nomi che rispecchiano il contenuto del documento stesso