Title: Informatica Umanistica C Docente: Roberto Zamparelli email: roberto.zamparelli@lett.unitn.it
1Informatica Umanistica CDocente Roberto
Zamparelliemail roberto.zamparelli_at_lett.unitn.it
Un corso di introduzione alla rappresentazione
digitale di informazioni testuali.
2Orari
- Due orari in alternativa (a scelta libera, salvo
sbilanciamenti) - Lunedì/Venerdì, 14-16 (C1)
- Lunedì/Venerdì, 16-18 (C2)
- Ricevimento studenti giovedì 12.00-14.00
- Esercitazioni nel laboratorio informatico (inizio
dopo Pasqua)
3Ricevimento studenti
Ufficio 205, Palazzo Verdi, Piazza Venezia
4Esercitazioni
- Vedi questo calendario di Google
5Contenuti (1)
- 1. Testi, da ASCII a UNICODE
- Codifica di basso livello
- 2. Dagli editor di testo alla codifica ad alto
livello - 3. XML Aspetti generali
- 4. XML DTD
- 5. Attributi, Entità, Parametri e Namespaces
6Contenuti del corso (2)
- 6. TEI, XSL, Compressione
- 7. Latex e PDF
- 8. Basi dati bibliografiche e ricerche
-
- 9. Wikis e Blogs
- 10. Aspetti sociali del web
- (NB i contenuti possono essere soggetti a
variazioni)
7Esame
- Esame date e modalità sono nel sito
http//people.lett.unitn.it/zamparelli/ - Frequentanti orale con discussione di un
progetto xml/xsl o modifica Wikipedia - Non frequentanti orali con discussione di un
progetto HTML e qualche domanda teorica. - N.B. La scelta di presentarsi allesame come
frequentanti o non frequentanti riguarda i corsi
B e C in blocco (niente frequenze miste)
8Testi per preparare lesame
- Queste note (scaricabili da Didattica on Line e
dalla pagina web http//people.lett.unitn.it/zampa
relli ) - Lenci, Montemagni e Pirrelli, Testo e Computer
Elementi di Linguistica Computazionale, Carocci,
2005, cap. 1,2,3
9Testi di riferimento (utili per la preparazione
dei progetti)
- Guide allXML (per frequentanti)
- on-line
- http//www.html.it/xml/guida/index.html oppure
- http//www.xml.com/pub/a/98/10/guide0.html
- (vedi anche http//www.dit.unitn.it/poesio/Teach
/IU/materiale-online.html ) - Off line Devan Shepherd, XML guida completa,
Apogeo, 2002 (cap. 1, 2, 3, 4, 7, 8, 9, 10, 14,
16). - Guide allHTML
- On-line vedi la pagina http//www.cerca-manuali.i
t/manuale-guida/html.htm - Off line
- F. Comolli, Laboratorio di HTML, Apogeo, 2000.
- Shelly, Cashman, Woods, HTML Imparare per
progetti, Apogeo, 2000. - AA.VV., XHTML, Addison Wesley, 2001.
10Diapositive adattate daLenci, Montemagni,
PirrelliTesto e computer Carocci 2005, Cap.2
La codifica digitale del testo
- loriginale (qui modificato) è alla URL
http//www.ilc.cnr.it/dylan_lab/Testo_e_computer/h
ome.htm (materiali did. cap.2)
11Per cominciare
- Andate su http//www.youtube.com/v/6gmP4nk0EOE
- Alla fine del corso, tornaci.
- (Le parole sono trascritte su
- http//mediatedcultures.net/ksudigg/?p78 )
- Cosa vi dice prima, cosa poi?
12Lezione 1
- Testi, da ASCII a UNICODE
- Codifica di basso livello
13La codifica digitale del testo
Rappresentazione del testo su supporto digitale
in un formato leggibile da un computer Machine
Readable Form (MRF)
- I computer memorizzano ed elaborano dati sotto
forma di sequenze di due soli simboli 0 e 1
(cifre binarie) - Ogni tipo di informazione deve essere codificata
in cifre binarie - codificare informazione associare a ciascuna
unità di informazione un codice (sequenza di
cifre binarie) che la identifica in maniera
univoca - I testi per essere elaborati o trasmessi da un
programma devono avere una rappresentazione
(codifica) binaria
14La codifica digitale del testo
che tipo di rappresentazione digitale del testo?
15La codifica digitale del testoIl testo e la sua
organizzazione
intestazione
capitolo
titolo
testo
16La codifica digitale del testoIl testo e la sua
struttura linguistica
sintagma nominale
V andare pass. rem. 3 sing.
frase relativa
articolo indefinito femminile singolare
stanze oggetto di riscaldare
stanza come luogo
tutti soggetto
17La codifica digitale del testo
Il testo come sequenza di caratteri Ciascun
carattere alfanumerico, di punteggiatura o di
controllo che compone il testo deve essere
rappresentato nei termini di un codice binario
Le avventure di Pinocchio Capitolo I Come andò
che Maestro Ciliegia, falegname, trovò un pezzo
di legno, che piangeva e rideva come un
bambino. C'era una volta... - Un re! - diranno
subito i miei piccoli lettori. - No, ragazzi,
avete sbagliato. C'era una volta un pezzo di
legno. Non era un legno di lusso, ma un semplice
pezzo da catasta, di quelli che d'inverno si
mettono nelle stufe e nei caminetti per accendere
il fuoco e per riscaldare le stanze. Non so come
andasse, ma il fatto gli è che un bel giorno
questo pezzo di legno capitò nella bottega di un
vecchio falegname, il quale aveva nome
mastr'Antonio, se non che tutti lo chiamavano
maestro
18La codifica digitale del testoIl testo come
sequenza di caratteri
- Surrogato parziale del testo originario
- completa equivalenza solo dal punto di vista dei
caratteri che lo compongono - perdita di informazione
- linformazione implicitamente veicolata dalla
formattazione del testo relativa a - le coordinate meta-testuali
- il nome dellautore, il titolo, ecc.
- la struttura e organizzazione testuale
- la suddivisione logica in sezioni, capitoli,
paragrafi, ecc. - nessun guadagno di informazione
- linformazione sulla struttura linguistica rimane
implicita e nascosta (come nel testo originale)
19La codifica digitale del testo
- Due livelli di codifica del testo digitale
- codifica di basso livello (codifica di livello 0)
- riguarda la rappresentazione binaria della
sequenza ordinata dei caratteri - codifica di alto livello
- arricchisce il testo codificato al livello zero
con informazione relativa a dimensioni
strutturali - organizzazione del testo in strutture
macrotestuali - articolazione del testo in strutture linguistiche
La codifica di alto livello permette di rendere
esplicita qualsiasi interpretazione, anche di
tipo linguistico-letterario, si voglia associare
al testo
20(No Transcript)
21(No Transcript)
22Numeri e numeri
X
10
rappresentazione di un numero
numero
A
- Sistema binario
- vengono usate due cifre (0 e 1) per rappresentare
un numero - problema i numeri binari sono estremamente
lunghi - Sistema esadecimale
- ogni numero è rappresentato con 16 cifre
(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) - i numeri sono più corti di quelli binari e di
quelli decimali. - estrema facilità di conversione tra binario ed
esadecimale - in una sequenza binaria, ogni stringa di 4 bit
corrisponde ad una - cifra esadecimale.
- 0110 1111 0110 numero binario
- (6) (15) (6)
- 6 F 6 numero esadecimale
1010
23Come rappresentare i caratteri?
- Quali caratteri scegliere?
- un insieme di caratteri (es. A, a, !, à,
, ecc.) - i caratteri sono entità astratte, da non
confondersi con il modo in cui sono realizzati
tipograficamente (glifi) - Uno stesso carattere può variare nella resa
grafica in varie dimensioni - Serie (o font) AGKpqt, AGKpqt, AGKpqt,
- Peso AGKpqt, AGKpqt
- Inclinazione AGKpqt, AGKpqt
- Punti AGKpqt, AGKpqt, AGKpqt, AGKpqt
- Altri effetti AGKpqt, AGKpqt, AGKpqt, AGKpqt,
AGKpqt
24Come rappresentare i caratteri?
- Caratteristiche distintive e non distintive
- Differenza tra MAIUSCOLE e minuscole
- in tedesco Blau (nome) vs blau (agg.),
- in Windows (Prova.txt, PROVA.TXT, prova.txt
sono lo stesso file) non così in Unix/Linux. - La stessa realizzazione grafica può corrispondere
a caratteri diversi (es. A latina e A
cirillica e A greca)
25Come rappresentare i caratteri nel computer?
- Come creare la corrispondenza? (il codice)
- una tabella che definisce una corrispondenza
biunivoca (1-a-1) tra un repertorio di caratteri
e un insieme di numeri interi non negativi - a ogni carattere è assegnato un codice numerico
(punto di codice / code position) - Come codificare il carattere?
- algoritmo che determina come i codici dei
caratteri vadano rappresentati in sequenze di bit
(byte). Il problema è reso non banale dalla
necessità di separare i caratteri - 43456 (4)(34)(56) (4)(3)(4)(56)
26Il codice ASCII(American Standard Code for
Information Interchange)
- Primo standard per lassegnazione di codici a
caratteri (dal 1963) - set di caratteri riconosciuto da tutti i computer
- conosciuto come ASCII Standard o ISO-646
- Codifica
- 7 bit
- ciascun punto di codice è rappresentato con il
numero binario corrispondente di 7 bit - in realtà 1 byte 8 bit di cui un bit non è
usato per la codifica (bit di parità) - 7 bit 27 punti di codice 128 caratteri
rappresentati - Sufficiente per rappresentare linglese
- mancano i caratteri accentati, umlaut, ecc. per
rappresentare altri alfabeti occidentali
27ASCII Standarddecimale ed esadecimale
28ASCII Caratteri stampabili e di controllo
- I primi 32 caratteri dellASCII sono caratteri
funzionali (non necessariamente stampabili)
Cf. www.cs.tut.fi/jkorpela/chars/c0.html
29Caratteri di controllo
- Si ottengono premendo una lettera mentre si
tiene premuto il tasto Cntl. A volte Control
viene scritto o Ctrl- (Control-A
Ctrl-A A) - Compiono funzioni specifiche ai vari programmi.
- Corrispondono al carattere non stampabile che
nellASCII si trova 64 posizioni indietro
rispetto al codice della lettera maiuscola
premuta insieme con Ctrl. Esempio - G ASCII 71
- Control-G 71-64 7 codice BELL
(rappresentato dal suono beep del computer) - Cf.
- http//it.wikipedia.org/wiki/Carattere_di_controll
o - ASCII è completato da uno standard per la
interpretazione dei caratteri di controllo, (ANSI
X3 per approfondimenti vedi http//www.inwap.com/
pdp10/ansicode.txt )
30Caratteri di controllo esempio del fine riga
- Può corrispondere a
- Carriage Return, (CR, lo spostamento alla prima
colonna, carattere 13, o Ctrl-M del ASCII), - Line Feed, spostamento alla riga sottostante,
senza cambiare colonna (LF, carattere n.10,
Ctrl-J) - Scelte differenti nei vari sistemi operativi
- Windows/DOS CRLF (entrambi i caratteri
necessari) - Mac solo CR (fino al System X, poi solo LF)
- Unix/Linux solo LF
31File binari e file ASCII
- I file possono essere di tipo ASCII o di tipo
binario. I primi contengono solo caratteri
stampabili contenuti nel codice ASCII ristretto
(dal 32 al 127), i secondi usano l'intero spazio
dei valori possibili per il byte (256). - Un file binario non può essere in genere
visualizzato sullo schermo dai comandi di base
del sistema operativo stesso (p.es. type) ma
solo da programmi specifici per quel tipo di file
binario (niente resa grafica standard)
32File binari e file ASCII
- I file eseguibili (windows .exe, .com, ), le
immagini (.jpg, .gif, .png, .tif, ) e tutti i
file compressi (.zip, .gz, ) sono in genere in
formato binario - Il protocollo dellemail può solo trasmettere
file ascii - Con allegati (attachment) binari, necessità di
ricodifica in ASCII - crescita di dimensioni attorno al 40
33Il set di caratteri ISO-Latin-1
- ISO-Latin-1 (ISO-8859-1 o ASCII esteso)
- unica estensione standard di ASCII
- 1 byte 8 bit 28 punti di codice 256
caratteri rappresentati - sufficiente per lingue europee occidentali
(italiano, francese, ecc.)
ASCII Standard
Caratteri di controllo 0-32 128-159
34La famiglia di caratteri ISO-8859
- 14 set di caratteri standardizzati da ISO
(International Standard Organization) - Codifica 1 byte 256 caratteri rappresentati da
ciascun set - Soprainsiemi dei caratteri ASCII Standard
- punti di codice 0 - 127 (parte comune) ASCII
- punti di codice 128 - 159 codici di controllo
(non corrispondono a caratteri grafici) - punti di codice 160 - 255 (parte variabile)
caratteri aggiuntivi per greco, cirillico, lingue
slave, arabo, ebraico, ecc. - I set di ISO-8859 sono tutti reciprocamente
incompatibili - Punto di codice 232
- ISO-8859-1 (Latin-1) è
- ISO-8859-5 (Cyrillic) ?
- ISO-8859 non copre lingue come giapponese,
cinese, ecc.
35La famiglia di caratteri ISO-8859
ISO-Latin-1
36The Universal Character SetUNICODE (ISO-10646)
- Standard internazionale che si prefigge di
rappresentare qualsiasi tipo di carattere
appartenente ai sistemi grafici esistenti - Sistemi di scrittura di tutte le lingue europee,
asiatiche, africane, ecc., sia antiche che
moderne. - Sistemi di caratteri basati sui fonemi (p.es.
italiano), sulle sillabe (p.es. Thai), su
ideogrammi (p.es. Cinese), geroglifici, braille,
ecc. - Sistemi di simboli tecnici e scientifici (p.es.
matematica, logica) - Punteggiatura e segni diacritici (p.es. accenti)
- Risolve i problemi di incompatibilità dei sistemi
ISO-8859 - estende linsieme dei caratteri supportati
- permette la realizzazione di documenti
multilingui - http//www.unicode.org/standard/WhatIsUnicode.html
- http//www.unicode.org/standard/translations/itali
an.html
37The Universal Character SetUNICODE (ISO-10646)
- Circa 100.000 caratteri grafici rappresentati
(Unicode v. 5.1.0) - ma i punti di codice disponibili sono più di 1
milione (4 byte)!!
- I primi 65536 caratteri (216) costituiscono il
Basic Multilingual Plane (BMP), primo di 17
piani in cui è diviso UNICODE. Nel BMP, 6500
punti di codice sono riservati per usi privati
(loghi, trademarks)
38The Universal Character SetUNICODE (ISO-10646)
- I punti di codice sono rappresentati con
Unumero esadecimale, ed hanno un nome
standard - A U0041 Latin Capital Letter A (decimale
65) - ? U03C9 Greek Letter Omega
- I primi 256 caratteri sono identici al set di
caratteri Latin-1, a sua volta un soprainsieme
dell' ASCII.
39UNICODE composizione dei caratteri
- Caratteri complessi (p.es. u con umlaut)
possono essere rappresentati in due modi - Come elementi precostituiti (codice U00FC, ü)
- Come elementi composti, formati da un carattere
di base quale u (U0075) ed uno o più caratteri
che non introducono spaziatura (non spacing),
che vengono quindi sovrascritti al precedente, in
questo caso (U0308) - Problema dellordinamento alfabetico (come
decomporre caratteri complessi)
40Codifica dei caratteri
- Vari tipi di codifica
- UCS-2 (tutti i caratteri a 2 byte)
- UCS-4 (tutti i caratteri a 4 byte)
- UTF-8 (caratteri 0-127 con 1 byte, oltre 2, 3 o 4
byte) - UTF-16, ecc.
- Codifica più comune UTF-8
41Blocchi di codice
- I vari alfabeti sono divisi in gruppi detti
blocchi di codice (code blocks) - Tentativo di non duplicare i caratteri di lingue
diverse. Non esiste p.es. una A italiana, una
A norvegese.
42Blocchi di codice (2)
- Vengono invece duplicati i caratteri omografi di
sistemi di scrittura (storicamente) diversi
(p.es. Greco, latino, cirillico) - Al contrario, le migliaia di ideogrammi comuni
alla scrittura cinese, giapponese e coreana (che
discendono tutti da una scrittura comune) sono
unificati - (si veda http//www.unicode.org/notes/tn26/ per
una discussione del perché)
43Come trovo il mio carattere?
- Indice alfabetico dei caratterihttp//www.unicode
.org/charts/charindex.html - Oppure procedendo per sistema di scrittura
(script) - http//www.unicode.org/charts/
- Alcune spiegazioni generali suhttp//unicode.org
/standard/where/ - Problemi maggiori per i simboli
44Problema della resa grafica
1010011101 1000100100 1001010010 0110010100
1010011101 1000100100 1001010010 0110010100
Unicode
ISO-Latin-1
Ab bk?d ???? ds kjdks kdsk sybco o?djpjp
Ab bk?d ???? ds kjdks kdsk sybco o??jpjp
45Caratteri e computerRisoluzione dei problemi
- Analisi dei caratteri nel testo
- individuare il set di caratteri con cui è scritto
il documento - ASCII Standard, Unicode, ISO-8859, ecc.
- individuare il set di caratteri accettati dal
programma con cui si deve elaborare il testo. - verificare leventuale esistenza di caratteri
composti. - Eventuale sostituzione dei caratteri
- sostituzione dei caratteri non appartenenti al
set accettato dal programma - buona parte del sw. accetta solo ASCII
- attenzione alla perdita di informazione!!
- è e
- š ? s
- Muenich ? Münich