Sei sulla pagina 1di 16

2.

Codifica del testo


Codifica di un documento testuale
- Dalla codifica dei caratteri alla codifica del testo
- Che cosa è uno “standard” di codifica
- Standard di codifica dei caratteri
- Standard di codifica del testo
Struttura vs Contenuto
- Separazione tra contenuto, ovvero dalla successione di parole che lo compongono, e presentazione.

- La presentazione, e cioè il modo in cui il contenuto viene strutturato e organizzato, è diventata


sempre più importante
• Monitor e stampanti
• “Leggibilità” di un documento a seconda del dispositivo

- Un primo approccio verso la strutturazione del testo era presente già nella codifica ASCII.

Elementi base della struttura di un testo


- Formato dei singoli caratteri
- Formato Interlinea
- Formato dei paragrafi
- Formato delle pagine
Standard di codifica = Uno standard è uno schema o un complesso di norme stabilito da un’autorità o basato
su un consenso generale che definisce un modello o un esempio di riferimento al quale uniformarsi.

Codifica dei caratteri


- 1963 ASCII (American Standard Code for Information Interchange), 7 bit
o 1973, ISO-7 (International Standard Organization)
- 1987 ASCII Extended ISO 8859-x, 8 bit
- 1991 Unicode (Universal Code character set), 16 bit
- 1993 UTF-8 (Uniform Transformation Format), (da 8 a 32 bit)

Utilizzo della codifica UTf-8


Standard di codifica del testo
- Dallo Standard Generalized Markup Language (SGML)
- All’Hypertext Markup Language (HTML)
- All’eXtensible Markup Language (XML)
- La Text Encoding Initiative (TEI)

L’origine dello SGML


- 1974 SGML, Charles Goldfarb
“We were trying to do an automated law-office application. I had been a lawyer (in fact, I still am).
Lawyers must do research on existing case law, decisions of court, and so on, to find out which ones are
applicable to a given situation, find out what the previous legal rulings have been, and then merge that
with text that the lawyer has written himself. Eventually, if it's, say, a brief for the court, he must then
compose it and print it. At the time, which was 1969 or 1970, there weren't any systems available that
did these three things. So in order to get the systems to share the data we had to come up with a way to
represent it that was independent of any of those applications. It was a very small research project…”
3. Workflow e XML per la traduzione
Obiettivi
- Capire le varie fasi del flusso di lavoro di una traduzione
- Problemi relativi alla codifica della struttura dei documenti nell’ambito di una traduzione di un testo
• XML Localisation Interchange Format File (XLIFF)
• Translation Memory eXchange (TMX)

Localisation Workflow

- Un progetto di localizzazione è composto da una serie di passaggi che coinvolgono vari attori.
- In una visione “tradizionale”, il workflow è il seguente

- Problema di
formati del documento da tradurre
- Porzioni di testo ripetute in documenti diversi
- Formattazione del testo da riconsegnare
- Passaggio di informazioni riservate

Una soluzione alternativa:


- Estrarre il testo da tradurre
dal documento originale
- Salvare il testo in un
documento XML
- Inviare il documento XML per la traduzione
- Recuperare le traduzioni nel file XML tradotto e reinserire il testo nel formato originale

XML Localisation Interchange Format File (XLIFF)

- Formato basato sull’XML per la standardizzazione del processo di localizzazione.


- Organization for the Advancement of Structured Information Standards (OASIS), 2002
• Versione 1.2 del 2008

Struttura del file XLIFF


Translation Memory eXchange (TMX)
- “TMX (Translation Memory eXchange) is the vendor-neutral open XML standard for the exchange
of Translation Memory (TM) data created by Computer Aided Translation (CAT) and localization
tools. The purpose of TMX is to allow easier exchange of translation memory data between tools
and/or translation vendors with little or no loss of critical data during the process.”

- OSCAR (Open Standards for Container/Content Allowing Reuse), a special interest group of LISA
(Localization Industry Standards Association), and first released in 1997.
• Version 1.4b 2005

- Both specifications, XLIFF and TMX, contain all the elements necessary to store source document
formatting information in XML format.

- A good CAT tool will allow a translator to reuse a sentence from an HTML page when translating a
Rich Text Format (RTF) document, keeping text layout intact. This is the key reason why TMX
format should be used as a complement to XLIFF.
Struttura del file TMX
4. Software e Sistema Operativo
Problema (definizione)
- Un problema è una classe di domande omogenee alle quali è possibile dare una risposta attraverso
un metodo o una procedura uniforme.
• Ogni specifica domanda della classe si chiama istanza del problema.

- Un problema deve contenere uno o più termini variabili


• Quando le variabili assumono un valore, generano le diverse istanze del problema.
• Si chiamano variabili di ingresso o dati (input)
• Il risultato (output) di un problema è anch’esso un termine variabile che dipende dai dati di input.
Algoritmo (definizione)
- Un algoritmo è costituito da un insieme di regole che, eseguite secondo un ordine prestabilito,
permettono la soluzione di un problema in un numero finito di passi.

- Aspetti da tenere presente nella definizione


• insieme finito di regole o istruzioni
• le regole o istruzioni vanno eseguite in una sequenza prestabilita
• dati necessari alla soluzione del problema (input)
• dati da fornire come soluzione del problema (output)

Programma (definizione)
- Un programma è un algoritmo scritto in un linguaggio comprensibile per il computer (linguaggio di
programmazione)
Processo = programma in esecuzione

Computer (definizione)
- Un computer è un sistema che ricevendo in ingresso:
• un algoritmo risolvente di un dato problema (scritto in un linguaggio di programmazione)
• un opportuno insieme di dati iniziali
• produce in uscita i risultati dell’esecuzione dell’algoritmo per quei dati iniziali
Hardware e Software
- L’hardware è l’insieme dei dispositivi fisici (meccanici, magnetici, elettrici ed elettronici) che
compongono un computer.
- Il software è l’insieme delle istruzioni e dei programmi usati per determinare le operazioni di un
computer.
- Le prestazioni di un computer dipendono dall’insieme dell’hardware e del software.
- Un computer potente (cosa vuol dire?) non garantisce necessariamente alte prestazioni, perché può
essere poco sfruttato da software scadente.
- Un programma, un software, ha normalmente bisogno di un hardware adeguato per poter funzionare
correttamente.
• Si parla di requisiti minimi dell’hardware per un dato software.

Software
- Software libero o proprietario
• open source, freeware, shareware, commerciale
- Software di sistema
- Software applicativo
Software libero
- Gli utenti hanno la libertà di eseguire, copiare, distribuire, studiare, modificare e migliorare il
software.
- Quattro libertà fondamentali:
• Libertà di eseguire il programma, per qualsiasi scopo.
• Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie
necessità (accesso al codice sorgente).
• Libertà di ridistribuire copie.
• Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti apportati, in modo
tale che tutta la comunità ne tragga beneficio (accesso al codice sorgente).

Software proprietario
- Software proprietario è quello che non è libero
- Il suo utilizzo, la ridistribuzione o modifica sono proibiti o richiedono un permesso o sono sottoposti
a tali vincoli che in pratica non si possono fare liberamente.
- Mezzi tecnici: non mettere a disposizione il codice
- Mezzi legali: copyright, brevetti

Freeware, shareware, commerciale


- Il termine "freeware" non ha una definizione comunemente accettata, ma è solitamente utilizzato per
i pacchetti software che possono essere ridistributi ma non modificati (il loro codice sorgente non è
disponibile).
- Lo “shareware” è un software che dà la possibilità di ridistribuire copie, ma impone a chiunque
continui ad usarne una copia di pagarne la licenza d'uso.
- Software “commerciale” è un software sviluppato da un'azienda allo scopo di guadagnare dal suo
uso. "commerciale" e "proprietario" non sono la stessa cosa.
• Commercial open source, free proprietary software…
Software di sistema e software applicativo
- Il termine software indica un programma, o un insieme di programmi, in grado di funzionare su un
calcolatore.
- In genere il software si divide in due classi:
• Software di sistema (system software, o software di base)
• Indica tutto il software necessario per far funzionare un calcolatore.
o Sistema operativo
o Driver dei dispositivi input/output
• Software applicativo
o Indica quei programmi che sfruttano le capacità di un calcolatore per uno specifico compito
che l’utente vuole svolgere.

Architettura software
Macchina virtuale
- I sistemi informatici moderni raggiungono alcuni obiettivi (un esempio è il cloud storage) grazie alla
definizione di “macchine virtuali” che vengono realizzate al di sopra della macchina hardware reale.
- Una macchina virtuale costituisce un livello di software che realizza una macchina astratta con le
funzionalità desiderate e facile da utilizzare.
- Il termine macchina virtuale indica un software che crea un ambiente virtuale in cui l'utente può
eseguire delle applicazioni.
Sistema operativo
- Il sistema operativo (SO) è un insieme complesso di programmi che, in modo coordinato, controlla le
risorse del sistema e i processi che usano queste risorse.
- Per evidenziare le funzionalità delle parti del sistema e le interazioni fra esse si utilizza un modello
basato su livelli di macchina virtuale (virtualizzazione delle risorse).
- Il SO è organizzato in strati funzionali dove ciascun strato realizza una macchina virtuale.
Interazione con il SO
- I linguaggi di interazione fra l’utente e il sistema operativo sono profondamente diversi al variare del
sistema operativo
- In generale, si possono distinguere due tipologie di interazione:
• interazione testuale (Textual User Interface TUI): l’utente fornisce i comandi al sistema mediante
un linguaggio testuale, ogni comando ha un suo nome e una sintassi di interazione ben precisa;
l’utente deve ricordarsi nome e sintassi di ciascun comando;
• interazione grafica (Graphical User Interface GUI): sono rese disponibili all’utente delle
rappresentazioni grafiche delle funzioni disponibili; ogni rappresentazione grafica può essere
selezionata mediante strumenti di puntamento, tipicamente il mouse; in questo caso non è necessario
che l’utente si ricordi nomi e sintassi dei comandi.
Parti principali di un SO
- Il sistema operativo (SO) è un insieme complesso di programmi che, in modo coordinato, controlla le
risorse del sistema e i processi che usano queste risorse.
- Un generico sistema operativo moderno si compone di alcune parti ben definite:
• un kernel, nucleo del sistema (a seconda del SO può ricoprire diverse funzioni).
• uno scheduler che assicura ai vari processi in esecuzione una ben definita quantità di tempo di
elaborazione,
• un gestore di memoria che alloca la memoria centrale in base alle richieste dei processi e liberarla
al momento opportuno,
• un gestore di file system che si occupa di esaudire le richieste di accesso alle memorie di massa,
• una interfaccia utente (TUI o GUI) che permette agli esseri umani di interagire con la macchina.
Il file
- Un file è una struttura informativa che contiene un insieme di informazioni organizzate in forma
sequenziale e trattate come un’unità.
- Il file è un meccanismo di strutturazione delle informazioni, che consente di aggregare dati semplici
in strutture complesse.
- L’effettiva organizzazione delle diverse informazioni nel file dipende da chi crea il file stesso.
File System (FS)
- Fornisce un meccanismo per creare e identificare i file, associando lo spazio fisico sulle memorie
secondarie a un nome.
• L’effettiva struttura fisica del supporto è trasparente all’utente.
• L’occupazione dello spazio libero e di quello ricavato da cancellazioni è gestito automaticamente
- Fornisce opportuni metodi per accedere ai dati.
• Fornisce le funzioni di lettura e modifica dei dati
• Realizza meccanismi di protezione dei dati che permettono di stabilire chi e come può accedere alle
informazioni memorizzate sui supporti
- Si utilizza una struttura gerarchica per rappresentare il contenuto di un disco o altra unità di
memorizzazione permanente ad accesso diretto.
Il FS dal punto di vista dell’utente
- Struttura gerarchica ad albero.
- I file vengono inclusi all’interno di strutture, dette directory (o cartelle).
- Le directory possono contenere diversi file e anche avere al loro interno diverse sotto-directory;
- Ciascun file ha un pathname (o nome completo) che include l’intero cammino dalla radice della
struttura fino al file stesso
- Tutti i file o directory presenti in una medesima directory devono avere un nome differente, di
conseguenza ogni pathname è unico.
• C:\utenti\lettere\elenco.txt (Windows)
• /Users/giorgiomariadinunzio/Documenti (Linux, OS X)
Concetto di contesto corrente
- Il contesto corrente: consente di riferirsi implicitamente a una directory senza dover indicare l’intero
pathname ad ogni operazione.
• Molto comodo nell’interazione con comandi testuali
• Nelle interfacce grafiche viene considerato come contesto corrente l’ultima directory visitata (o
quella attualmente visibile).
- Cambiamento del contesto corrente: fornisce la possibilità all’utente di indicare esplicitamente la
posizione all’interno dell’albero delle directory.
- Nell’interazione testuale vengono utilizzati alcuni caratteri speciali per indicare i riferimenti dal
contesto corrente e gli spostamenti all’interno dell’albero delle directory.

5. Riperimento dell’informazione

Reperimento dell’informazione
- Il termine reperimento dell’informazione identifica tutte quelle attività utilizzate per scegliere, da una
data collezione di documenti, quei documenti che risultano di interesse in relazione ad una specifica
esigenza informativa.

Esigenza informativa, interrogazione, risultati


- L’utente ha una specifica esigenza informativa.
- L’utente esprime questa esigenza attraverso una sintesi, una query in gergo tecnico, inoltrando la
richiesta ad un sistema di ricerca.
- Il sistema interpreta la richiesta e “tenta”, vista l’informazione parziale, di recuperare i documenti più
rilevanti.
Reperimento dell’informazione
- Finalità:
o selezione dei documenti che sono verosimilmente rilevanti per le esigenze informative
dell’utente
- Tipologie:
o interrogazione in forma testuale (non solo)
o navigazione ipertesti (spesso combinate)
- Modalità:
o sotto forma di ciclo presentazione/valutazione

Utente vs Sistema
- L’utente gioca un ruolo determinante, l’efficacia del recupero dipende da:
o quanto l’utente sa cosa sta cercando,
o come l’utente esprime le sue esigenze informative,
o la capacità dell’utente di valutare la pertinenza dei documenti ritrovati e di riformulare le
interrogazioni

Dove sono le informazioni?


- Problema della disponibilità di informazioni.
o Gli utenti dovrebbero poter sapere
o Quali informazioni sono disponibili, ovvero se le informazioni a loro necessarie sono
presenti.
- Come raggiungere le informazioni disponibili.
- La "catalogazione" descrive, in maniera sintetica e di rapido accesso, il contenuto informativo dei
documenti presenti in una collezione.
Catalogazione manuale o automatica?
- Il problema di come reperire le informazioni aumenta con la mole dei dati messi a disposizione
- Ad esempio, nelle biblioteche esiste un indice catalografico ed un ordinamento per argomento,
autore, ecc.
- La catalogazione viene di solito svolta manualmente ed è quindi molto lunga (e passibile di errori).
- L’informatica consente di automatizzare l’organizzazione dei dati e il loro reperimento.
Indicizzazione automatica
- E’ possibile automatizzare l’estrazione del contenuto informativo, operazione che viene definita
indicizzazione.
o Creare un modello che consenta di estrarre le informazioni rilevanti in modo automatico.
- Nei documenti testuali l’informazione è contenuta nella parole che compongono i documenti.
o E’ più difficile definire il contenuto semantico di documenti in formati non testuali, ad
esempio musica o immagini.
- Una volta indicizzati i documenti, è possibile effettuare delle ricerche negli indici dei documenti.
- La ricerca negli indici richiede meno operazioni (è quindi più efficiente)

Reperimento dell’informazione sul Web


- Il Web è una collezione di documenti ma non è gestito in maniera unitaria e/o controllata
o Chiunque può creare una pagina o un sito Web, nel quale può mettere qualsiasi informazione.
o Non è possibile effettuare controlli sul contenuto dei siti e sulla loro attendibilità.
- Ogni giorno vengono creati centinaia di nuovi siti, e altrettanti siti scompaiono.
- Impossibile stabilire il numero di pagine Web (centinaia di miliardi?).
- E’ impossibile per un utente tener traccia di questa continua evoluzione senza l’ausilio di strumenti
informatici
o Il problema principale è scoprire dove si trova l’informazione.
Motori di ricerca (su Web)
- La rapida espansione del Web ha reso necessaria la scrittura di programmi che aiutino l’utente a
reperire l’informazione.
- Un motore di ricerca è un sistema di programmi per il reperimento dell’informazione.
- Un motore di ricerca del Web è un sistema in grado di
o individuare,
o indicizzare e
o reperire le pagine Web

Individuazione delle pagine Web


- Il Web Search Agent (WSA anche chiamato crawler, o spider) è quel componente di un motore di
ricerca che viene impiegato per l’individuazione delle pagine Web.
- Il WSA localizza le pagine Web, e in generale tutti documenti accessibili sui server Web, lavorando
ricorsivamente
o Si parte da una lista di URL noti
o Si analizzano i documenti per vedere se ci sono link a nuovi URL al di fuori della lista
o Si aggiorna la lista di URL e visita i documenti agli URL aggiunti
o Si ripete fino a che non si sono esplorati tutti i link

Aggiornamento della lista delle pagine Web


- Il processo automatico di individuazione delle pagine Web permette di fare una “copia” dei
documenti di un sito Web in un certo istante di tempo.
o Vedi Web Archive
- Ciò dignifica che le pagine che ha individuato il WSA diventeranno presto “vecchie” rispetto alla
versione attuale.
- Per questo motivo, i motori di ricerca “navigano” costantemente il Web per raggiornare la collezione
di pagine
o Vedi Google Regular Crawling
Dall’individuazione all’indicizzazione
- “È possibile automatizzare l’estrazione del contenuto informativo, operazione che viene definita
indicizzazione.”
- Una volta raccolta (individuata) la collezione di documenti, è necessario indicizzarla per permettere
una ricerca più efficiente.
o Quello che si vuole evitare è leggere “tutti” i documenti per poter ottenere l’informazione che
si sta cercando.
- Un indice è un’organizzazione dei dati che permette all’utente di trovare rapidamente l’informazione
che sta cercando.

Indicizzazione automatica
Analisi lessicale -> Rimozione parole comuni -> Lemmatizzazione o Stemming -> Pesatura -> Creazione
indice
Esempio
- 3 documenti
o Doc1: “shipment of gold damaged in a fire”
o Doc2: “delivery of silver arrived in a silver truck”
o Doc3: “shipment of gold is arriving in trucks”

Analisi lessicale
- Separare le parole (segmentazione?)
o Doc1: “shipment” “of” “gold” “damaged” “in” “a” “fire”
o Doc2: “delivery” “of” “silver” “arrived” “in” “a” “silver” “truck”
o Doc3: “shipment” “of” “gold” “is” “arriving” “in” “trucks”

Rimozione parole comuni (stop word list)


- Eliminare parole comuni (“of”, “in”, “a”, ...)
o Doc1: “shipment” “gold” “damaged” “fire”
o Doc2: “delivery” “silver” “arrived” “silver” “truck”
o Doc3: “shipment” “gold” “arriving” “trucks”

Lemmatizzazione o stemming
- Esempio di stemming:
o D1: “shipment” “gold” “damag” “fir”
o D2: “deliveri” “silver” “arriv” “silver” “truck”
o D3: “shipment” “gold” “arriv” “truck”
Pesatura
- Per ogni documento, conto le occorrenze di ogni termine:
o Doc1: (“shipment”, 1) (“gold”, 1) (“damag”, 1) (“fir”, 1)
o Doc2: (“deliveri”, 1) (“silver”, 2) (“arriv”, 1) (“truck”, 1)
o Doc3: (“shipment”, 1) (“gold”, 1) (“arriv”, 1) (“truck”, 1)

Creazione indice (index)

Creazione indice (inverted index)

Modelli di recupero
- L’obiettivo è recuperare i documenti che sono “probabilmente” rilevanti rispetto all’interrogazione
dell’utente.
- Vi sono vari modelli di recupero, che possono essere suddivisi in due grandi famiglie:
o exact match: vengono individuati in modo esatto i documenti che soddisfano l'interrogazione
e quelli che non la soddisfano.
o best match: viene effettuata una stima della rilevanza di un documento ad una data
interrogazione. I documenti vengono ordinati per una misura di similarità con l'interrogazione
e sono proposti quelli sopra una prefissata soglia.

Exact match: modello Booleano


- I termini dell’interrogazione sono collegati mediante operatori logici (AND, OR, NOT). Ad esempio,
cerco di documenti che:
o contengono il termine t1 e il termine t2: t1 AND t2
o contengono t1 o non contengono il termine t2: t1 OR (NOT t2)
- Vengono recuperati solo i documenti che soddisfano esattamente l’espressione richiesta.
- Alcuni sistemi permettono l’utilizzo operatori di prossimità (termine t1 “vicino” a t2) o troncamento
dei termini.
- Richiede (un minimo) di conoscenza dell’algebra Booleana.
o Poco “user friendly”.
- Mancanza di controllo sulla dimensione dell’insieme dei documenti recuperati.
- Non è possibile l’ordinamento dei documenti.
o Sono tutti importanti allo stesso modo.
- Non è possibile pesare i termini (un termine è presente o no).
Best match: Tf-Idf
- Non tutte le parole di un documento ne descrivono il contenuto con la stessa “quantità di
informazione”.
- Questa quantità si può misurare associando un “peso” che ne quantifica l’importanza.
- Il peso di un termine tiene normalmente conto della frequenza del termine nel documento e nella
collezione.
- Term Frequency (Tf)
o Frequeza di una parola all’interno di un documento (o di una query)
o Quante volte appare la parola?
o Quante volte appare la parola rispetto al numero totale di parole presenti nel documento?
- Document Frequency (Df)
o Frequenza di una parola all’interno di una collezione di documenti
o In quanti documenti appare la parola?
o In quanti documenti appare la parola, rispetto al numero totale di documenti della collezione?
- Inverse Document Frequency (Idf) = 1/df

Rilevanza di un documento
- La bontà di un sistema di reperimento dipende da quanti documenti reperiti sono effettivamente
rilevanti per l’esigenza informativa dell’utente.
- Le prestazioni di un motore di ricerca potrebbero essere calcolate se si conoscesse l’insieme totale
dei documenti che rispondono alle esigenze informative dell’utente.
o E’ praticamente impossibile conoscere la rilevanza di milioni di documenti, o miliardi se ci si
riferisce al Web
o La rilevanza è soggettiva e può variare nel tempo
o Il giudizio sulla rilevanza di un documento influisce sul giudizio dei successivi
Valutazione
- E’ auspicabile che un sistema per il reperimento delle informazioni presenti tutti e soli i documenti
rilevanti per l’utente.
- Se così fosse, l’utente non avrebbe bisogno di valutare i documenti, e la ricerca si esaurirebbe in
un’unica iterazione.
- Vi sono due possibili comportamenti negativi, che rendono difficile la valutazione e oneroso il
reperimento
- Effetto rumore
o Il sistema reperisce anche documenti non rilevanti; la valutazione e la consultazione sono più
onerose perché i documenti rilevanti sono diluiti
- Effetto silenzio
o Il sistema non reperisce alcuni documenti che sarebbero invece rilevanti; l’utente non può
accedere ad una parte dell’informazione

Potrebbero piacerti anche