caricato da cila97

APPUNTI tecnologie per la traduzione UNIPD

TECNOLOGIE PER LA TRADUZIONE
Informazione e informatica
La parola informatica è stata introdotta nel 1968 come italianizzazione del francese informatique, che a sua
volta è la contrazione dei termini information e automatique. Il principale obiettivo dell’informatica è
quindi il trattamento dell’informazione e la possibilità di compiere le operazioni necessarie al trattamento
dell’informazione in modo automatico.
L’informazione si può definire come l’insieme dei dati forniti dall’ambiente esterno a un essere vivente, o a
una macchina, espressi in forma comprensibile e significativa in un particolare contesto. Da qui capiamo
che l’informazione riguarda il modo in cui un qualsiasi sistema acquisisce conoscenza dal mondo esterno.
Perché la comunicazione abbia luogo è necessario però che il sistema sia in grado di comprendere il
linguaggio in cui l’informazione viene espressa e questo concetto risulta di difficile comprensione nel caso
di trasferimento di informazioni a una macchina. La definizione di informazione mette anche in evidenza
l’importanza del contesto: un qualsiasi dato acquista valore solamente se posto in relazione ad altre
informazioni che definiscono l’ambito e il senso da attribuire al dato oggetto.
L’informatica è quel settore scientifico disciplinare che si occupa della rappresentazione e dell’elaborazione
dell’informazione. Questa definizione mette in luce il ruolo fondamentale del concetto di informazione
all’interno delle discipline dell’informatica.
2.10.19
Codifica dell’informazione
Di base, l’informazione può presentarsi in modi molto diversi fra loro:
- Il valore numerico di una grandezza fisica;
- Il testo di un articolo di giornale;
- Il suono prodotto da uno strumento musicale;
- L’immagine di una fotografia;
- Le sequenze video di una ripresa.
Il problema è ora come codificare l’informazione (problema nato con la nascita dell’informatica).
Per tutte queste forme è possibile trovare una rappresentazione adeguata a elaborare automaticamente
l’informazione. La rappresentazione viene comunemente definita codifica.
In informatica, la codifica viene effettuata applicando lo stesso principio di rappresentazione alle diverse
forme. L’idea che sta alla base della codifica è quella di utilizzare i BIT: bit (b) sta per BInary digIT (termine
coniato nel 1948 e significa cifra binaria) ed è l’unità elementare dell’informazione, rappresenta
l’informazione minima che può essere elaborata e rappresentata da un computer o calcolatore elettronico.
Un bit può̀ assumere solamente due valori, tipicamente 0 e 1 (sistema binario). Qualsiasi forma nella quale
l’informazione viene rappresentata, immagazzinata e trasmessa è rappresentata da una opportuna
combinazione di bit.
Il bit corrisponde a grandezze fisiche all’interno del calcolatore. Dato che il bit è alla base di ogni codifica
dell’informazione, ogni tipo di informazione viene trasformata in una sequenza finita di bit, ovvero in una
successione di opportuna lunghezza di valori zero e uno.
Dato che un bit può̀ assumere solamente due valori (0 o 1), il suo impiego per la misura dell’informazione
non è molto pratico. Per questo motivo vengono introdotte delle nuove unità di misura basate su multipli di
bit. Un multiplo molto usato è basato sull’utilizzo di 8 bit.
Una sequenza di 8 bit si chiama BYTE: ad esempio 00000000, 01000110, 11000010, 10101010.
Il byte codifica al massimo 256 valori (28 ) diversi ed è l’unità di misura usata più di frequente in informatica.
La sequenza è il tipo più̀ semplice di organizzazione dei dati. La scelta di utilizzare sequenze finite di bit ha
tre implicazioni:
– L’informazione viene trattata in modo uniforme, a prescindere dalla tipologia
effettivamente rappresentata
– È necessario applicare delle convenzioni nella codifica, in modo da poter accedere
all’informazione rappresentata in tempi e per scopi diversi
– La quantità̀ di informazione che può̀ essere gestita, per esempio da un calcolatore, è
comunque limitata.
Esempi di codifica: lancio di un dado; lancio di una moneta; lettere dell’alfabeto.
Con N bit si possono rappresentare 𝟐𝑵 simboli; se N =3, 2𝑁 =2x2x2=8
Esiste un modo per mettersi d'accordo su quale sequenza utilizzare per codificare l’informazione? Creare uno
standard.
Uno standard è uno schema o un complesso di norme stabilito dall’autorità̀ o basato su un generale
consenso che definisce un modello o un esempio di riferimento al quale uniformarsi
Come nasce uno standard?
Ci sono comitati di esperti a livello nazionale o internazionale che definiscono le regole di codifica. Si può
partire anche dall’uso degli utenti, che definiscono le regole per conto loro e queste regole prendono
talmente piede che si trasformano in uno standard. Questo tipo di standard si chiama standard de facto. Un
caso molto particolare che viene utilizzato ancora oggi: esiste un protocollo (insieme di regole per stabilire
una comunicazione), il TCT IP, un insieme di regole per scambiare pacchetti di dati sulla rete internet che
nasce dalla proposta di un gruppo di persone negli anni ’70. Questa alternativa era più semplice della
precedente e si è cominciato ad usare questo standard de facto. Per quanto riguarda gli organismi nazionali
o internazionali, nel 1947 è stato fondato l’ISO (International Organization for Standardization).
È di particolare interesse organizzare informazioni di contenuto simile rappresentandole all’interno di una
stessa struttura, ovvero di una stessa sequenza di bit. Risulta molto conveniente rappresentare non solo le
singole informazioni individualmente, ma anche le informazioni aggiuntive che permettono di sapere quali
sono i collegamenti e le correlazioni esistenti fra le informazioni di base. Per questo, viene introdotta in
informatica la struttura informativa denominata file. Il file è una struttura informativa che contiene un
insieme di informazioni omogenee, organizzate in forma sequenziale e trattate come un’unità. I file non
sono altro che sequenze di bit con una particolare organizzazione dei contenuti, per cui valgono per i file le
stesse implicazioni valide per i bit. Per motivi pratici i file vengono però considerati come sequenze di byte e
non di bit.
Informazione simbolica
- Rappresentazione simbolica di suoni
La musica viene tramandata utilizzando una notazione simbolica, la partitura musicale, che indica come
andrebbe suonato un brano. È possibile trovare una rappresentazione della partitura, codificando le note
(altezza e durata) e tutti gli altri simboli (tempo, tonalità̀, ripetizioni). Esistono programmi specifici ognuno
con una propria codifica.
La musica può̀ essere rappresentata dai gesti del musicista, che suona una data nota, ad un dato istante, con
una data intensità̀. La codifica più̀ utilizzata è il MIDI (Musical Instrument Digital Interface), nato per gli
strumenti elettronici: non rappresenta i suoni, ma i gesti che li produrrebbero. Non rappresenta nemmeno
la partitura, perché́ la codifica non è strutturata ma è semplicemente un flusso di eventi. Consente di suonare
utilizzando un sistema detto sequencer.
- Rappresentazione simbolica di immagini
Le immagini non vengono normalmente percepite come insiemi di colori, ma come insiemi di forme. È
possibile trovare una rappresentazione per le diverse forme, in particolare per quelle semplici dette forme
elementari: linee, curve, frecce, spezzate, quadrati, rettangoli, poligoni, cerchi, ellissi… Ogni forma ha diversi
attributi: colore, dimensioni, posizione. L’immagine è costituita dall’insieme delle immagini elementari. Le
immagini ottenute dall’insieme di forme sono dette immagini vettoriali, dal modo in cui vengono
rappresentate. Le immagini vettoriali sono particolarmente utili nella progettazione di edifici o di parti
meccaniche. Ci si riferisce in questo caso al CAD (Computer Aided Design).
Codifica del testo
La codifica di informazione testuale ha seguito rapidamente la codifica dei numeri.
Il linguaggio testuale consente di interagire con i calcolatori in modo più̀ naturale per l’utente.
La gran parte dei documenti prodotti dalla società̀, attuale e del passato, sono in forma testuale.
Quando si parla di codifica dell’informazione testuale è necessario distinguere la possibilità di rappresentare
il contenuto di un documento e la possibilità di arricchire questa informazione con la rappresentazione del
suo formato.
- Il contenuto è dato dalla successione di parole che costituiscono il documento e che ne
rappresentano la semantica.
- Il formato è legato al modo in cui le parole sono organizzate e rappresentate (dimensione, forma,
colore dei caratteri), fornendo informazioni accessorie che evidenziano alcuni concetti senza
alterarne la semantica.
Poiché il formato ha iniziato ad assumere importanza soprattutto in seguito all’aumentare delle capacità
grafiche dei calcolatori, lo sforzo principale dedicato alla codifica delle informazioni testuali ha riguardato il
contenuto. Questo ha portato alla creazione di metodi di codifica quasi universalmente utilizzato.
Il contenuto di un testo è formato da una successione di parole, delimitate da spazi e da segni di
interpunzione. Il testo scritto è organizzato in forma lineare.
Nelle lingue basate su di un alfabeto, le parole sono formate da sequenze di simboli presi da un insieme noto
a priori. I simboli sono normalmente le lettere dell’alfabeto, i numeri e altri caratteri a stampa di uso comune,
a cui ci si riferisce con il termine caratteri alfanumerici.
Gli alfabeti delle diverse lingue presentano differenze:
- L’inglese non possiede le vocali accentate (sono molto rare);
- L’italiano e l’inglese non hanno le lettere ñ, ç, ß;
- Altre lingue, ad esempio il russo e il greco, hanno alfabeti completamente diversi da quello latino.
Le prime codifiche del testo sono state fatte negli Stati Uniti, per questo spesso si fa implicitamente
riferimento all’alfabeto inglese.
I possibili elementi di un testo vengono suddivisi in:
- Caratteri alfanumerici
- I segni di interpunzione e di delimitazione (ci si pone il problema se lo spazio è un carattere?)
- Alcuni altri segni grafici (&, $, @, #, ~) Caratteri speciali
I caratteri alfanumerici sono quelli condivisi dalla maggior parte delle lingue (del mondo occidentale).
Codifica dei caratteri
Poiché́ il contenuto di un testo può̀ essere rappresentato da una sequenza di caratteri, per la sua
rappresentazione è sufficiente codificare i caratteri con opportune sequenze di bit.
Il concetto alla base della codifica di caratteri è che questi appartengono ad un insieme predeterminato di
simboli, denominato alfabeto, che ha dimensione finita.
Ad ogni carattere quindi può̀ essere univocamente associato un numero intero, che ne rappresenta il codice.
L’associazione deve essere fatta per tutti i possibili simboli e i simboli che non vengono associati ad un
numero (una sequenza di bit) non possono essere rappresentati. È necessario inoltre porre particolare
attenzione alla scelta dell’alfabeto.
Una volta fatta l’associazione, arbitraria, tra simbolo e codice, ovvero tra un carattere e la sequenza di bit
che lo rappresenta, è sufficiente utilizzare la codifica dei numeri interi. Un testo, che è una sequenza di
caratteri, può quindi venire rappresentato da una sequenza di numeri interi. Per consentire una reale
condivisione dell’informazione testuale, sono necessari degli standard di codifica per l’informazione testuale,
che fungano da modelli di riferimento e consentano quindi lo scambio di informazioni senza incorrere in
errori di interpretazione.
La scelta del numero di bit influenza la dimensione dell’alfabeto:
- Standard ASCII, 7bit = 128 simboli
- Extended ASCII, 8 bit = 256 simboli
- Unicode, 16 bit = 65.536 simboli.
Standard ASCII
È il primo standard di codifica di caratteri e uno dei più diffusi. ASCII sta per American Standard Code for
Information Interchange. È uno schema di codifica di caratteri introdotto nel 1963 dall’ANSI (X3.4-1963 di
American Standards Association (ASA)) ed è in grado di rappresentare 128 diversi caratteri utilizzando 7 bit
per rappresentarli e memorizzarli (27= 128).
Questo schema è poi stato recepito dall’ISO (International Organization for Standardization) e identificato
con la sigla ufficiale ISO 646-1972 o in breve ISO-7.
I simboli vanno da 0 a 127: i primi simboli sono simboli di controllo, per dire dove finisce o inizia il testo. Al
32 corrisponde lo spazio, al 65 la A e al 97 la a.
Extended ASCII
La codifica ASCII negli anni è stata estesa per incorporare anche altri simboli, quindi nel 1987 si è passati da
una rappresentazione a 7 bit ad una a 8 bit, con la possibilità̀ di rappresentare 256 diversi caratteri. I primi
128 caratteri rimangono immutati per consentire la compatibilità̀ con la codifica ASCII a 7 bit (grazie
all’approccio chiamato compatibilità all’indietro). I restanti 128 caratteri permettono di rappresentare i
caratteri particolari di altre lingue europee: ad esempio caratteri specifici dell’italiano o del francese, del
tedesco, e l’alfabeto greco.
Sfortunatamente coesistono diverse estensioni a 8 bit dell’ASCII, a cui corrispondono diversi standard recepiti
dall’ISO; esistono per esempio sei differenti codifiche per rappresentare le diverse varianti dell’alfabeto
latino. I diversi schemi estesi di codifica ASCII fanno parte della serie degli standard ISO/IEC 8859 del 1987
(IEC = International Electrotechnical Commission), chiamata anche Extended ASCII.
Unicode
Lo schema di codifica Unicode utilizza 16 bit (216 = 65.536) per rappresentare ciascun carattere,
raddoppiando così l’Extended ASCII. Questo schema è stato introdotto dal Consorzio Unicode a partire dal
1991 per superare le limitazioni dello schema ISO-7 e successivi. Il sottoinsieme di caratteri Unicode
rappresentati con 8 bit sono compatibili con le precedenti codifiche ISO.
Le versioni più̀ recenti di Unicode estendono lo schema e fanno uso di 32 bit (232 = 4.294.967.296) per
rappresentare ciascun carattere.
Al fine di risparmiare memoria, nel 1993 sono stati definiti diversi schemi di codifica, chiamati Unicode
Transformation Format (UTF), per rappresentare i caratteri Unicode in modo compatto. Fra questi, il più̀
utilizzato è UTF-8 (da 8 a 32 bit) (quando è possibile si utilizzano 8 bit per risparmiare spazio). Negli ultimi
anni l’UTF-8 ha preso molto piede, codifica l’80-90% dei documenti presenti su internet.
Differenza tra Big-Endian Unicode e Little-Endian Unicode: questa distinzione nasce negli anni ’80, quando i
computer erano a 8 bit. Servivano però 16 bit, quindi si ricorrere alla cosiddetta serializzazione: prima
trasmessi 8 bit, poi altri 8. Ma il problema è quali trasmettere prima, quindi un’architettura, la Big-Endian
Unicode, trasmette prima i primi 8 bit, mentre Little-Endian Unicode trasmette prima i secondi 8 bit.
La codifica testuale riguarda 2 aspetti: la rappresentazione di caratteri e la definizione delle regole per il
formato del testo, come visualizzare un testo (problema che diventa fondamentale).
Esiste un altro insieme di regole per definire il formato ma non sono mai state definite da uno standard (non
esiste una codifica per il font), sono lasciate a chi crea i software.
Le pagine Wikipedia da tradurre, codificate così: lingua (en/de:); nome della pagina; titolo in italiano; richiesta
di traduzione nelle lingue mancanti.
Google translator toolkit: traduce per segmenti di testo, il punto di ritaglio del testo è il punto.
Parte sinistra testo originale; parte destra parte con proposta di traduzione (questo solo negli ultimi anni,
prima la casella destra era vuota). Mette a disposizione la possibilità di inserire commenti.
{1/}  link legato alla porzione di testo.
Durante la fase di traduzione vengono presentate delle alternative: traduzione automatica o proposte di
traduzione che derivano da traduzioni passate.
È presente anche il glossario (termini già tradotti in passato), permette di mantenere un’omogeneità nelle
scelte, molto importante per traduzioni di manuali tecnici.
Come scambiare informazioni in maniera efficiente?
Il problema un conto è passare informazioni da essere umano a essere umano: la lingua è la stessa e si
riescono a fare ipotesi su cose che vengono codificate implicitamente dalla posizione nel testo. Quando si
passano informazioni tra due programmi bisogna organizzare le informazioni in modo che chi le riceve sia in
grado di capirle allo stesso modo di chi le manda (sia per quanto riguarda il carattere che il significato). Per
fare ciò, capire la struttura dei file che usano questi programmi è fondamentale.
I due tipi di file che studiamo in dettaglio sono i file relativi alla memoria di traduzione TMX, e il database
terminologico (glossario) TBX.
Struttura vs contenuto
Esiste una separazione tra quello che è scritto in un computer e quello che viene visualizzato: struttura vs
contenuto. La struttura è il modo in cui il contenuto viene strutturato e organizzato ed è diventata sempre
più importante. Il contenuto è la successione delle parole che lo compongono.
Il significato semantico di un testo deriva dal suo contenuto.
Un primo approccio verso la strutturazione del testo era presente già̀ nella codifica ASCII, che comprende: a
capo, avanzamento di una riga o una pagina, tabulazioni. Questi codici, nati per le stampanti che erano poco
più̀ complesse delle macchine da scrivere, sono chiaramente insufficienti.
Gli elementi base della struttura di un testo si possono suddividere in 4 livelli:
- formato dei singoli caratteri: corsivo (italics), grassetto (bold), sottolineato (underlined),
dimensioni diverse, espresse in numero di punti; forme diverse dei caratteri, chiamate in inglese
font; meno usati, ma spesso presenti, colori e sfondi diversi. È il livello più basso.
- formato interlinea: margini delle righe, eventualmente con la prima riga diversa; possibilità̀ di
avere elenchi
- formato dei paragrafi
- formato delle pagine: dimensioni globali della pagina, con eventuali intestazioni; numero di
colonne e orientamento della pagina.
Come strutturare l’informazione in modo da visualizzarla correttamente?
Non esiste una codifica standard per le informazioni di struttura. Ogni programma per la creazione di
documenti testuali può̀ codificare questi dati in maniera diversa, con due approcci:
-
What You See Is What You Get: le istruzioni sono nascoste all’utente, che ne vede direttamente
a schermo l’effetto così come questo sarà̀ stampato. È normalmente necessario utilizzare lo
stesso programma per rileggere i dati in maniera corretta.
-
Linguaggi di markup: linguaggio per la strutturazione di un testo basato su istruzioni che
marcano le parti di testo per indicarne il formato. Le istruzioni sono esplicitamente indicate da
una serie di caratteri speciali, il cui effetto non è visibile in fase di scrittura. Crea minori problemi
quando si riaccede all’informazione
\textbf{esempio 1} ⇒ esempio 1
<b>esempio 2</b> ⇒ esempio 2
Dati
Sono registrazioni di eventi non interpretati, registrati attraverso una sequenza di simboli (che non
necessariamente deve essere alfanumerica, basta che si identifichi il significato di ogni simbolo) e salvati su
qualche supporto. Poiché non sono interpretati, finché non si ha un contesto di lettura, non si riesce ad
interpretarli (a differenza delle informazioni). Bisogna avere un contesto per interpretarli. Il contesto è
fondamentale per leggere i dati e trasformarli in informazione.
Table
tavolo
 fino a che non c’è un contesto di lettura, queste due parole sono solo dati.
Come fare a dire che la prima parola è della LP e la seconda è della LA?
Nominiamo una colonna e informiamo le altre persone delle regole da seguire.
Inglese
Eng
Italiano
ita
Table
tavolo
Molti software di traduzione assistita accettano questi tipi di file con le colonne.
Esistono due standard di codifica delle lingue, uno a 3 lettere (ENG) e uno a 2 lettere (EN), chiamati ISO 639.
Anche le nazioni vengono codificate attraverso uno standard (country codes standard ISO).
Si può codificare anche la lingua a seconda della nazione, con le lettere maiuscole per la nazione e minuscole
per la lingua: en US Inglese degli USA.
Se volessimo mettere delle note (varianti di traduzione, fonte della traduzione) nel glossario?
Aggiungiamo una terza colonna:
Inglese.
Table.
Chair
Cat.
Italiano.
Tavolo
sedia
Gatto
Note
nota bene
Nella terza colonna, i campi vuoti creano un problema perché non si sa se dovrebbe esserci qualcosa oppure
no. Il sistema con la colonna delle note è utilizzata da parecchi software di traduzione assistita.
Standard di codifica del testo
Il primo standard di codifica della struttura del testo è lo STANDARD GENERALIZED MARKUP LANGUAGE
(SGM). Nato nel 1974 e ideato da Charles Goldfarb. Lavorando in ambito legale si era posto il problema si
ricercare parti di testo d’interesse all’interno di documento, per poi metterle insieme e stamparle. Goldfarb
si è chiesto come identificare all’interno di un documento parti diverse e metterle insieme. Questo problema
ha generato il primo linguaggio di marcatura. Funziona praticamente come Google translator toolkit, l’idea
è strutturare il testo attraverso delle marche.
Linguaggi di marcatura
Funzionano attraverso delle marche (specie di segnalibri).
Parentesi angolari o grafi <etichetta> qualcosa </etichetta> = sta per iniziare una porzione di testo
particolare (etichetta), il contenuto di qualcosa di particolare sta in centro, quando è finito si ripete l’etichetta
con l’aggiunta dello Slash /
<b>qualcosa</b>  voglio mettere qualcosa in grassetto (b sta per bold)
<i>qualcosa</i>  qualcosa in corsivo (i sta per italics)
Come far capire che si sta per scrivere il titolo di un paragrafo, come fare a codificarlo?
Si usa un’etichetta  <h1>qualcosa</h1> (header dimensione 1)
Documento che inizia e finisce  <sgml>qualcosa</sgml> (per lo sgml)
15.10.19
Traduzione del brano solar power con blocco note.
Solar power is the conversion of energy from sunlight into electricity, either directly using photovoltaics (PV),
indirectly using concentrated solar power, or a combination. Concentrated solar power systems use lenses
or mirrors and tracking systems to focus a large area of sunlight into a small beam. Photovoltaic cells convert
light into an electric current using the photovoltaic effect.
L'energia solare è la conversione di energia dalla luce solare in elettricità, utilizzando direttamente il
fotovoltaico (FV), indirettamente utilizzando l'energia solare concentrata o una combinazione. I sistemi a
energia solare concentrata utilizzano lenti o specchi e sistemi di localizzazione per focalizzare una vasta area
della luce solare in un piccolo raggio. Le celle fotovoltaiche convertono la luce in corrente elettrica usando
l'effetto fotovoltaico.
Come evidenziare il fatto che ci siano dei segmenti nel testo (sequenza di caratteri che termina con un
punto)?
- Con ritorno a capo e cambio di linea si cambia la formattazione originale e magari si va anche
contro la volontà dell’autore. Quindi NO
Solar power is the conversion of energy from sunlight into electricity, either directly using
photovoltaics (PV), indirectly using concentrated solar power, or a combination.
Concentrated solar power systems use lenses or mirrors and tracking systems to focus a large area
of sunlight into a small beam.
Photovoltaic cells convert light into an electric current using the photovoltaic effect.
-
Si possono introdurre delle marche per dire che inizia il segmento <tu> e che finisce il segmento
</tu>.
tu sta per Translation Unit, un segmento che viene ritagliato dal software di traduzione assistita.
È la base delle memorie di traduzione.
<tu>Solar power is the conversion of energy from sunlight into electricity, either directly using
photovoltaics (PV), indirectly using concentrated solar power, or a combination.</tu> <tu>
Concentrated solar power systems use lenses or mirrors and tracking systems to focus a large area
of sunlight into a small beam. </tu> <tu>Photovoltaic cells convert light into an electric current using
the photovoltaic effect.</tu>
-
Per dire che il primo segmento è il primo, il secondo è il secondo, ecc… dobbiamo mettere delle
etichette.
<tu id=1>  l’etichetta translation unit ha come proprietà il valore 1, ovvero è il primo
segmento che sto traducendo. L’etichetta si trova solo nel tag di apertura:
<tu id=1>Solar power is the conversion of energy from sunlight into electricity, either directly using
photovoltaics (PV), indirectly using concentrated solar power, or a combination.</tu> <tu id=2>
Concentrated solar power systems use lenses or mirrors and tracking systems to focus a large area of sunlight
into a small beam. </tu> <tu id=3>Photovoltaic cells convert light into an electric current using the
photovoltaic effect.</tu>
-
Se si vogliono unire i due file (originale e traduzione) in uno solo che riconosce sia lingua inglese
che lingua italiana? Si potrebbe creare un unico file con il fatto che esiste un segmento con un
identificatore, esiste la versione italiana del segmento e anche la versione inglese.
All’interno dell’unita di traduzione <tu> esiste una parte in inglese <en>…. </en> e una parte in
italiano <it> </it> :
<tu id=1>
<en>Solar power is the conversion of energy from sunlight into electricity, either directly using photovoltaics
(PV), indirectly using concentrated solar power, or a combination. Concentrated solar power systems use
lenses or mirrors and tracking systems to focus a large area of sunlight into a small beam. Photovoltaic cells
convert light into an electric current using the photovoltaic effect.</en>
<it> L'energia solare è la conversione di energia dalla luce solare in elettricità, utilizzando direttamente il
fotovoltaico (FV), indirettamente utilizzando l'energia solare concentrata o una combinazione. I sistemi a
energia solare concentrata utilizzano lenti o specchi e sistemi di localizzazione per focalizzare una vasta area
della luce solare in un piccolo raggio. Le celle fotovoltaiche convertono la luce in corrente elettrica usando
l'effetto fotovoltaico.</it>
</tu>
Alla fine non c’è più distinzione tra lingua di partenza e lingua d’arrivo, non esiste più una direzione. Accade
anche nei glossari.
All’interno dell’unità di traduzione le lingue hanno il loro tag: <tuv>, Translation Unit Variant. Variant è
intesa come variante linguistica. La lingua viene codificata come proprietà del tag cosi come l’identificatore
 <tuv lang=it>. Inserendo tuv sto dando un’alternativa alla traduzione che sto facendo
<tu id=id 1>
<tuv lang=en>
Solar power is the conversion of energy from sunlight into electricity, either directly using photovoltaics (PV),
indirectly using concentrated solar power, or a combination. Concentrated solar power systems use lenses
or mirrors and tracking systems to focus a large area of sunlight into a small beam. Photovoltaic cells convert
light into an electric current using the photovoltaic effect.
</tuv>
</tuv lang=en>
<tuv>
<tuv lang=it>
L'energia solare è la conversione di energia dalla luce solare in elettricità, utilizzando direttamente il
fotovoltaico (FV), indirettamente utilizzando l'energia solare concentrata o una combinazione. I sistemi a
energia solare concentrata utilizzano lenti o specchi e sistemi di localizzazione per focalizzare una vasta area
della luce solare in un piccolo raggio. Le celle fotovoltaiche convertono la luce in corrente elettrica usando
l'effetto fotovoltaico.
</tuv>
</tuv lang=it>
Questo è il principio su cui si basa la memoria di tutto il lavoro fatto dal traduttore.
Come si chiama tutto questo file?
Ha un’etichetta radice: <tmx> </tmx>, Translation Memory Exchange
23.10.19
Architettura Hardware e software e sistema operativo
Un utente utilizza un calcolatore (computer) per effettuare un determinato compito. Per compito si intende
una qualsiasi attività tendente al conseguimento di un risultato desiderato. Per svolgere un determinato
compito, il calcolatore deve eseguire un procedimento, chiamato algoritmo.
L’algoritmo è una sequenza di passi che permette di trovare soluzione al problema. È costituito da un insieme
di regole che devono essere eseguite secondo un ordine prestabilito e permetto la soluzione di un problema
in un numero finito di passi.
Aspetti da tenere presente nella definizione di algoritmo:
- È un 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
Ci sono algoritmi più efficienti e rapidi rispetto ad altri.
Un computer è un sistema che, ricevendo in ingresso un algoritmo risolvente di un dato problema e un
opportuno insieme di dati iniziali, produce in uscita i risultati dell’esecuzione dell’algoritmo per quei dati
iniziali.
Un sistema infromatico è costituito dall’hardware e dal software.
-
L’hardware è la parte fisica del computer, 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. Tutto quello che riguarda i programmi rientra nel cosiddetto software.
Hardware
È uno strumento unitario costituito da un insieme di parti interconnesse fra loro:
- Periferiche o dispositivi di input, che acquisiscono i dati dall’esterno;
- Processore o CPU, che esegue le elaborazioni sui dati;
- Memoria principale o memoria centrale, contiene le istruzioni necessarie al processore per
funzionare;
- Memoria secondaria o memoria di massa, che contiene dati e programmi memorizzati
all’interno di file in modo permanente (informazioni mantenute anche a calcolatore spento);
- Periferiche o dispositivi di output, restituiscono all’esterno i dati.
I componenti del calcolatore sono collegati tra loro tramite delle linee di comunicazione chiamate bus, che
consentono il trasferimento dei dati tra i diversi componenti.
Un programma, un software, ha normalmente bisogno di un hardware adeguato per poter funzionare
correttamente. Si parla di requisiti minimi dell’hardware.
Il processore (o CPU)
È il componente centrale del calcolatore: tutte le operazioni eseguite sono svolte dal processore. Ci si riferisce
a esso anche con il termine microprocessore. È in grado di eseguire operazioni elementari, come la lettura,
la modifica e la cancellazione dei dati contenuti nella memoria principale. Riesce a svolgere queste operazioni
elementari in tempi brevissimi e ciò permette quindi di effettuare queste operazioni in modo combinato.
Infatti ogni processore possiede al suo interno una sorta di orologio (clock) che ne sincronizza le operazioni.
Con il termine frequenza di clock (misurato in Hertz, Hz), si indica il numero di operazioni elementari che un
processore può svolgere in un secondo. I processori attuali hanno delle frequenze di clock intorno ai 2GHz (2
miliardi di operazioni al secondo). La potenza di un calcolatore quindi dipende chiaramente dal suo
processore.
La memoria principale
Svolge un ruolo determinante, in quanto contiene: la sequenza di istruzioni elementari che compongono i
programmi che il processore esegue e i dati sui quali vanno fatte le elaborazioni. Il suo ruolo è quindi quello
di un contenitore di informazioni a cui il processore accede in continuazione. La memoria principale è
normalmente denominata dalla sigla RAM, acronimo di Random Access Memory. Il termine random
(casuale), indica che l’accesso non viene fatto in maniera sequenziale e che il processore può accedere in
qualsiasi momento ad una delle qualsiasi celle che compongono la RAM. Una caratteristica della RAM è che
il suo contenuto è volatile, ovvero non viene mantenuto quando il calcolatore è spento. Per questo esistono
altre memorie, denominate ROM (Read Only Memory) che hanno la caratteristica di mantenere
l’informazione anche a calcolatore spento.
La memoria secondaria
Il suo compito principale è quello di mantenere la memorizzazione dei dati anche quando il calcolatore viene
spento. La memoria secondaria è costituita da diversi tipi di dispositivi: i floppy disk, gli hard disk, i pen drive,
i CD-ROM, i DVD-ROM e i nastri magnetici.
La caratteristica che accomuna le memorie secondarie è che sono molto più lente della RAM e che quindi il
processore non accede direttamente al loro contenuto. I dati e i programmi memorizzati in memoria
secondaria devono essere quindi trasferiti in memoria centrale per essere utilizzati. Questa operazione è
nota come swap e indica lo scambio continuo dei dati tra la RAM e l’hard disk. Una caratteristica rilevante è
la velocità di accesso ai dati, ovvero il tempo che passa dall’avvio di un particolare programma e il momento
in cui il programma è in esecuzione.
Inoltre, dato che la memoria RAM è di taglia molto più piccola rispetto agli hard disk (2/4 GB), se finisce la
memoria a disposizione, esiste un programma che sposta pezzi di memoria dalla RAM all’hard disk. Quanto
ci mette a spostarli? Leggere un dato sulla memoria centrale costa 1 microsecondo, spostarlo nell’hard disk
1000 microsecondi. Il problema sorge quando si hanno tanti programmi aperti e il computer comincia a
rallentare perché fa continuamente questo scambio, questi microsecondi si accumulano e diventano decimi
di secondo o addirittura secondi.
Le periferiche
È necessario che un calcolatore sia fornito di un dispositivo in grado di acquisire i dati dall’esterno, le
cosiddette periferiche di input, che generalmente sono la tastiera e il mouse. Il calcolatore deve però anche
essere in grado di fornire all’utente i risultati delle elaborazioni e deve quindi essere munito delle periferiche
di output, come il monitor e la stampante.
Software
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.
Il termine software indica un programma, o un insieme di programmi, in grado di funzionare su un
calcolatore. Un software è quindi un programma installato ed eseguito.
Cos’è però un programma? E qual è l’obiettivo di un software?
Si parte dalla definizione di problema, perché un software è un risolutore di problemi. Un problema è una
classe di domande omogenee alla quale è possibile dare una risposta (domande che in qualche modo si
somigliano tra loro perchè riguardano lo stesso argomento (qual è il risultato della somma tra due numeri è
un problema perché in questa domanda ricadono tutti i casi di somme tra numeri) attraverso un metodo o
una procedura uniforme. Esistono soluzioni diverse per uno stesso problema ed alcune possono essere più
rapide di altre.
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 diverse istanze del problema, che 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. Quindi ogni problema ha un input e un output.
Che cos’è un programma?
È una trascrizione di un algoritmo in un linguaggio comprensibile per il computer (linguaggio di
programmazione).
Esistono due classi di software:
- i software di sistema (system software o software di base): sono i sistemi operativi. Sono
programmi complessi che permettono di utilizzare le risorse del computer: salvare file, interagire
tra monitor e tastiera, utilizzare memoria centrale. Formano quindi il sistema operativo e i driver
dei dispositivi input/output.
- Software applicativi: le applicazioni. “Vivono” nel sistema operativo (si installano applicazioni
sul sistema operativo). Programmi di traduzione assistita sono software applicativi
Software di sistema
Un componente essenziale del software di base è il 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.
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.
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.
Un altro strato del sistema operativo con cui l’utente interagisce è il sistema di gestione file o file system. Il
file system 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 e l’occupazione dello
spazio libero e di quello ricavato da cancellazioni è gestito automaticamente. Inoltre, fornisce le funzioni di
lettura e modifica dei dati: fornisce opportuni metodi per accedere ai dati e realizza meccanismi di protezione
dei dati che permettono di stabilire chi e come può̀ accedere alle informazioni memorizzate sui supporti. Per
rappresentare il contenuto di un disco o altra unità di memorizzazione permanente ad accesso diretto si
utilizza una 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.
Software applicativi
Un software può essere libero o proprietario:
- Libero. Ci sono vari livelli di libertà crescenti:
o eseguire il programma per qualsiasi scopo;
o studiare come funziona il programma e modificarlo in modo da adattarlo alle proprie
necessità (accesso al codice sorgente);
o ridistribuire il software;
o migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che
tutta la comunità ne tragga beneficio (accesso al codice sorgente). I software più liberi
possiedono tutti questi gradi di libertà.
-
Proprietario. Tutto quello che non è libero. Anche qui ci sono gradi diversi. 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.
I software proprietari possono essere: freeware, shareware o commerciali.
o Il termine “freeware” non ha una definizione comunemente accettata, ma è solitamente
utilizzato per i pacchetti software che possono essere redistributi ma non modificati (il loro
codice sorgente non è disponibile). Sono programmi assolutamente gratuiti.
o 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. Sono programmi
distribuiti gratuitamente in versione dimostrativa, utilizzabili normalmente per un periodo di
prova.
o Software “commerciale” è un software sviluppato da un’azienda allo scopo di guadagnare
dal suo uso. “Commerciale” e “proprietario” non sono la stessa cosa.
Esistono anche altri tipi di software applicativi:
- Demoware: particolare tipologia di programmi shareware che ha un numero di funzionalità a
disposizione dell’utente così limitato da servire all’utente solo per farsi un’idea generale del
programma.
- Adware: programmi freeware che contengono dei messaggi pubblicitari.
- Malware: programmi con scopi malevoli, che creano danni all’utente. Spesso chiamati virus.
- Spyware: il loro scopo è spiare i dati privati dell’utente e sono un sottoinsieme dei programmi
malware.
5.11.19
Internet e Web
Un Mainframe è un tipo di sistema centralizzato in cui un computer con prestazioni di calcolo elevate fornisce
servizi a vari terminali.
Una rete di computer è un insieme di dispositivi hardware e software collegati da canali di comunicazione
che permette il passaggio di dati. Il passaggio di informazioni avviene tramite lo scambio di flussi di dati che
sono rappresentati in forma binaria. La velocità di trasmissione si misura in bit al secondo (bps): valori abituali
per le reti di comunicazione sono dell’ordine dei kilobit/sec (kbps), Megabit/sec (Mbps) e Gigabit/sec (Gbps).
I dati vengono trasmessi raccolti in sottoinsiemi denominati pacchetti o packet, che hanno una dimensione
determinata e che hanno l’indirizzo del calcolatore al quale sono destinati. È possibile scambiare dati fra
diversi calcolatori elettronici se almeno uno di questi è dotato dei programmi necessari a mettere a
disposizione dei file. Un calcolatore di questo tipo si chiama calcolatore servente o server.
Quando abbiamo un calcolatore servente, gli altri calcolatori lo possono utilizzare per acquisire file di
interesse, e ciascuno di loro, quando lo utilizza, lo fa come cliente del calcolatore servente. Questo modo di
operare viene definito modello cliente-servente.
Le reti di trasmissione dati possono essere classificate in base alle loro dimensioni o distanza che intercorre
fra i diversi calcolatori.
- LAN (Local Area Network)  la rete di dimensioni più contenute perché ha un’estensione
limitata o locale. Viene utilizzata di solito all’interno di un edificio per interconnettere calcolatori
ad uso personale a stazioni di lavoro.
- MAN (Metropolitan Area Network)  una versione più ampia perché può raggiungere
l’estensione di un insieme di diversi edifici o di una città.
- WAN (Wide Area Network)  copre un’area geografica molto ampia, può raggiungere la
dimensione di una nazione o continente
- Wireless network o GAN (Global Area Network) rete che non richiede di posare dei fili.
Internet è una rete di computer connessi su scala mondiale. Si tratta di un'interconnessione globale tra reti
informatiche di natura e di estensione diversa, resa possibile da un insieme di protocolli di comunicazione
che costituiscono la "lingua" comune che i computer utilizzano per trasferire dati. È necessario però utilizzare
un’architettura di rete capace di supportare questa situazione. Questa architettura è nota come modello di
riferimento TCP/IP, nome legato ai suoi due protocolli principali:
- TCP (Transfer Control Protocol)  il protocollo di trasferimento dati;
- IP (Internet Protocol) il protocollo che definisce il formato ufficiale del pacchetto dati da
trasmettere e le indicazioni di indirizzamento.
Esempi di protocolli:
- TELNET: TELetype NETwork: protocollo sviluppato per ARPANET per permettere agli utenti di un
computer di connettersi e usare le risorse di un altro computer.
- FTP: File Transfer Protocol: protocollo applicativo per il trasferimento di file in rete da computer
a computer.
- DNS: Domain Name System: protocollo applicativo per la traduzione di un indirizzo numerico ad
un nome.
- HTTP: HyperText Transport Protocol: protocollo applicativo per sistemi ipertestuali (ipermediali)
distribuiti
- IMAP: Internet Message Access Protocol (IMAP): protocollo che permette ad un client
(programma di posta elettronica oppure servizio di webmail) di accedere, leggere e cancellare le
e-mail da un server.
Indirizzi delle risorse in rete
è il metodo utilizzato per identificare la localizzazione di una risorsa informativa di una rete (un qualsiasi
computer connesso alla rete Internet).
Indirizzo IP: è una sequenza di 32 bit (4 numeri da 4 byte) che identifica univocamente ciascun computer
nella rete Internet. L’indirizzo IP viene assegnato da enti nazionali ed internazionali: ICANN (Internet
Corporation for Assigned Names and Numbers).
Di solito gli utenti e i programmi fanno riferimento alle risorse Internet usando dei nomi e non numeri
(indirizzi IP). Quindi è necessaria una traduzione da numero a nome per mezzo del Domain Name System
(DNS). Si parla di "livelli di dominio", solitamente primo/secondo/ terzo livello.
World Wide Web
Il World Wide Web è una collezione di informazioni fra loro collegate e mantenute su computer connessi
alla rete Internet in varie parti del mondo. Nel 1989, Tim Berners Lee propone l’idea del “Web”
(http://info.cern.ch/Proposal.html).
È un sistema cliente/servente: il cliente di solito chiede al servente che uno specifico lavoro sia eseguito e il
servente svolge il lavoro ed invia la risposta al cliente.
- Il cliente nell’architettura Web è uno strumento software chiamato browser Web, perché viene
utilizzato per navigare e scorrere le informazioni disponibili attraverso Web. Esempi di browser
sono Internet Explorer o Mozilla Firefox. Le azioni più importanti che svolge per l’utente sono:
l’acquisizione della pagina richiesta; l’analisi della pagina, che permette poi al software di
interpretare i comandi di presentazione nel linguaggio di markup chiamato HyperText Markup
Language (HTML); la presentazione della pagina sullo schermo.
Il servente Web è il software che gestisce sia le pagine Web che il software in grado di inviare
ad un browser Web una pagina tra quelle che gestisce.
La comunicazione tra cliente e servente avviene mediante il protocollo http (HyperText Transfer Protocol),
che definisce le richieste e le risposte ed è un protocollo che prevede che il cliente e il servente instaurino un
colloquio senza il mantenimento di informazioni di stato. Ad ogni pagina Web è assegnato un nome unico a
livello mondiale, chiamato URL:
-
Uniform (o Universal) Resource Locator – URL, è un meccanismo di indirizzamento che
permette di associare informazioni o documenti Web in maniera univoca.
I documenti possono essere residenti su computer presenti in un qualsiasi nodo della rete
Internet. Ad esempio: http://www.unipd.it/index.html  http è il protocollo di comunicazione;
www.unipd.it è l’indirizzo del server Web (tradotto in indirizzo IP dal DNS); index.html è il file
della pagina Web che vogliamo leggere.
Le informazioni che vengono mantenute e rese disponibili sono strutturate in file che vengono creati e
mantenuti da privati o da organizzazioni su computer chiamati server Web.
Tecnologie del Web
- HTML - HyperText Markup Language è il linguaggio che deve essere usato per descrivere la
struttura e come deve presentarsi una pagina Web in un browser.
- URL - Uniform (o Universal) Resource Locator: un meccanismo di indirizzamento che permette
di associare informazioni o documenti Web, che possono essere residenti su calcolatori presenti
in un qualsiasi nodo della rete Internet, in maniera univoca.
- HTTP - HyperText Transfer Protocol: insieme di regole che stabiliscono come devono essere
spediti i messaggi per permettere il “colloquio” e il trasferimento di file fra un server Web e un
client Web. È il protocollo più importante. (http error 404: il server non trova il file che sto
cercando = pagina non trovata)
- MIME - Multipurpose Internet Mail (o Messaging) Extensions: il sistema di supporto alla codifica
e invio di informazioni del tipo: allegati non testuali, corpo del messaggio composto da varie
parti, codifica di caratteri internazionale.
Terminologia Web
- Sito Web: è una collezione di informazioni che l’utente percepisce in modo unitario. Spesso le
pagine di un sito Web risiedono in un solo server Web anche se grandi siti possono essere ospitati
su diversi calcolatori e, quindi, gestiti da diversi server Web.
- Home page (o pagina iniziale): è la pagina introduttiva di una collezione di informazioni Web.
- Bottone (o ancora): ogni bottone fornisce un collegamento ipertestuale (hyperlink) ad un’altra
pagina Web. I bottoni permettono agli utenti di “navigare” fra le pagine di un sito/siti Web
- Link (o collegamento): il collegamento ipertestuale tra una pagina Web ed un’altra (oppure due
punti diversi di una stessa pagina Web) attraverso un indirizzo URL. Il collegamento ha una
"direzione" (una pagina fa riferimento ad un’altra).
Reperimento dell’informazione
Come faccio a recuperare pagina di interesse? Conoscendo indirizzo o navigando fino a trovare la pagina. i
motori di ricerca funzionano nel secondo modo.
Nel reperimento dell’informazione l’utente gioca un ruolo determinante e l’efficacia del recupero dipende
da:
quanto l’utente sa cosa sta cercando;
- come l’utente esprime le sue esigenze informative;
- la capacità dell’utente di valutare la pertinenza dei documenti ritrovati e di riformulare le
interrogazioni.
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. L’utente ha quindi una specifica esigenza informativa, che esprime 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.
Finalità: selezione dei documenti che sono verosimilmente rilevanti per le esigenze informative dell’utente.
Tipologie:
- interrogazione in forma testuale (non solo)
- navigazione ipertesti (spesso combinate)
Modalità : sotto forma di ciclo presentazione/valutazione.
Il reperimento dell’informazione può essere inteso come un processo complessivo all’interno del quale
possono essere individuate due fasi:
- la fase di inserimento documenti: il contenuto deve essere rappresentato mediante un processo
che viene definito di indicizzazione. I documenti sono poi inseriti nella collezione gestita dal
sistema insieme agli indici che ne descrivono il contenuto informativo.
- la fase di interrogazione dell’utente al sistema: l’utente rappresenta le proprie esigenze
informative al sistema.
Problema della disponibilità di informazioni.
Gli utenti dovrebbero poter sapere:
- 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 - come faccio a estrarre il contenuto che mi interessa di un documento?
È possibile automatizzare l’estrazione del contenuto informativo, operazione che viene definita
indicizzazione. Per fare ciò, occorre creare un modello che consenta di estrarre le informazioni rilevanti in
modo automatico.
Nei documenti testuali l’informazione è contenuta nelle parole che compongono i documenti. È 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 - qual è il problema dell’indicizzazione web?
Indicizzare è facile quando hai un numero finito di documenti. Il problema del web è che è in continuo
aggiornamento (nuovi documenti, documenti modificati o cancellati ogni secondo). Non è possibile quindi
stabilire il numero di pagine web indicizzabili.
Il Web è una collezione di documenti ma non è gestito in maniera unitaria e/o controllata, chiunque può
creare una pagina o un sito Web, nel quale può mettere qualsiasi informazione. Non è possibile quindi
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?)
senza l’ausilio di strumenti informatici.
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:
individuare,
indicizzare e
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. Si parte da una lista di URL noti; si analizzano
i documenti per vedere se ci sono link a nuovi URL al di fuori della lista; si aggiorna la lista di URL e visita i
documenti agli URL aggiunti; 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 (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 (vedi Google Regular Crawling)
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. 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.
Fasi:
Analisi lessicale —>Rimozione parole comuni —>Lemmatizzazione o Stemming —> Pesatura —> Creazione
indice
Queste azioni sono nascoste dietro i tokenizer.
1. Analisi lessicale: capire quali sono le parole di un testo. Scansionare le sequenze di caratteri che
stabiliscono inizio e fine di una parola (spazio, punteggiatura).
2. Rimozione parole comuni: dato un testo, quali sono le parole più importanti? Sicuramente non
congiunzioni, articoli o preposizioni. Ai fini dell’indicizzazione si rimuovono quelle parole che
appaiono molto frequentemente, che sono proprio articoli congiunzioni e preposizioni. Visto che
sono parole che appaiono ovunque, molto probabilmente non sono d’interesse ai fini della ricerca.
3. Lemmatizzazione o stemming: cercare la radice della parola.
stemmer = programmi che cercano di ritagliare parte finale della parola per lasciare l’inizio perchè
magari possono essere prese in considerazione durante una ricerca (es. tavolo- tavolino- tavoli..),
perchè contengono termini molto simili alla mia ricerca.
4. Pesatura: come si fa a dire che un termine è più importante di un altro? C’è una doppia pesatura:
 in quanti documenti appare (tavolo appare in 80 e tavolino in 20)
 quante volte appare in un documento (tavolino nei 20 documenti appare 80 volte).
5. Creazione indice: bisogna basarsi sulla pesatura (in quanti documenti e quante volte in un
documento).
Modelli di recupero
Che strategia posso usare recuperare i documenti all’interno di una collezione?
L’obiettivo è recuperare i documenti che sono “probabilmente” rilevanti rispetto all’interrogazione
dell’utente.
Un modello di recupero (o di reperimento dell’informazione) è un insieme di costrutti che sono formalizzati
allo scopo di rendere possibile la rappresentazione del contenuto informativo di documenti e interrogazioni,
nonché di definire l’algoritmo di reperimento dei documenti in risposta ad un’interrogazione. Vi sono vari
modelli di recupero, che possono essere suddivisi in due grandi famiglie. (Molto simile alla strategia usata
dalle memorie di traduzione (match totale/parziale)):
 exact match: vengono individuati in modo esatto i documenti che soddisfano l'interrogazione e
quelli che non la soddisfano.

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:
- contengono il termine t1 e il termine t2: t1 AND t2 (moltiplicazione logica)
- non contengono il termine t2: NOT t2 (differenza logica)
- contengono il termine t1 o il termine t2: t1 OR t2 (somma logica)
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. Ci sono alcuni svantaggi:
Poco “user friendly”.
- Mancanza di controllo sulla dimensione dell’insieme dei documenti recuperati.
Non è possibile l’ordinamento dei documenti.
- 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)
Frequenza di una parola all’interno di un documento (o di una query)
Quante volte appare la parola?
Quante volte appare la parola rispetto al numero totale di parole presenti nel documento?
Document Frequency (Df)
Frequenza di una parola all’interno di una collezione di documenti
In quanti documenti appare la parola?
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. È
praticamente impossibile conoscere la rilevanza di milioni di documenti, o miliardi se ci si riferisce al Web.
La rilevanza è soggettiva e può variare nel tempo. Il giudizio sulla rilevanza di un documento influisce sul
giudizio dei successivi
Valutazione
È 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 Il sistema reperisce anche documenti non rilevanti; la valutazione e la
consultazione sono più onerose perché i documenti rilevanti sono diluiti
- Effetto silenzio  Il sistema non reperisce alcuni documenti che sarebbero invece rilevanti;
l’utente non può accedere ad una parte dell’informazione
20.11.19
Flusso di lavoro (workflow) e XLIFF
L’idea è come gestire le fasi di flusso del lavoro e come gestire i file in maniera da portare avanti un lavoro.
L’XML è una struttura che permette di gestire un flusso di lavoro…??  linguaggio di etichettatura per
strutturare le informazioni.
TBX permette di raggruppare termini  database terminologico
TMX Translation Memory eXchange (TMX)  tbx e tmx standardizzazione testuale
L’ultimo standard XML che vediamo è l’XML Localisation Interchange Format File (XLIFF)  formato per lo
scambio di file di localizzazione. 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
Qual è l’idea di fondo?
Tenere traccia della fase o del punto in cui uno arriva nella traduzione. Salva la fase in cui il traduttore arriva,
salva tutti i segmenti tradotti.
Un progetto di localizzazione è composto da una serie di passaggi che coinvolgono vari attori. In una visione
“tradizionale”, il workflow è il seguente
Translation agency
Se il documento contiene parti sensibili o porzioni da non tradurre come si fa a scegliere solo quegli elementi
che ci interessano e nascondere tutto il resto affinchè l’agenzia di traduzione riesca comunque a svolgere il
lavoro?
Translation agency
Dato un testo, selezionare solo le porzioni interessanti  estrarre automaticamente queste porzioni 
salvare il testo in xml  inviare il testo in xml all’agenzia di traduzione  recuperare le traduzioni nel file
XML tradotto e reinserire il testo nel formato originale.
Struttura XLIFF
Come faccio a passare una traduzione ancora in fase di lavoro (segmenti aperti, non tradotti...)?
Esiste uno standard che tiene queste informazioni che ha estensione .xliff Localization Interchange File
Format.
<trans-unit approved="no" id="1" resname="res1">  translation unit
All’interno di ogni translation unit c’è la porzione del file sorgente e quella del file di arrivo.
<source> <target>  qui ci sono le etichette source e target, a differenza delle memorie di traduzione,
poiché c’è una direzione di lavoro che dev’essere mantenuta.
Per ogni traduzione possono essere documentate traduzioni alternative, è possibile tenere traccia di varianti:
match-quality
<trans-unit approved="no" id="1" resname="res1">
<source xml:lang="en">Corporate Headquarters</source> <target xml:lang="es">Casa Central de la
Compañía</target> <alt-trans match-quality="100" origin="web" tool="TM Search">
<source xml:lang="en">Corporate Headquarters</source>
<target xml:lang="es">Casa Central de la Compañía</target> </alt-trans>
<alt-trans match-quality="92" origin="web" tool="TM Search">
<source xml:lang="en">"Corporate Headquarters"</source>
<target xml:lang="es">"Casa Central de la Compañiá "</target> </alt-trans>
</trans-unit>
26.11.19
L’automazione della traduzione
L’idea di usare il computer per tradurre testi da un linguaggio naturale ad un altro appare per la prima volta
nel 1949, in un documento intitolato Memorandum on Translation di Warren Weaver. Le prime ricerche
vengono poi svolte nel 1951 al Massachusetts Institute of Technology. Nel 1962 viene fondata la Association
for Machine Translation and Computational Linguistics, seguita due anni dopo dalla Automatic Language
Processing Advisory Committee (ALPAC). Vengono poi fondate società come Trados (1984).
Oggi abbiamo una buona varietà di software di traduzione sia commerciali che gratuiti e la maggior parte
sono disponibili su più piattaforme, sia per tipologia di sistema operativo che per hardware (desktop,
versione mobile, online…).
Si classificano le varianti in base al grado di intervento del traduttore umano:
- Machine Assisted Human Translation (MAHT)  viene denominata anche Computer Aided
Translation, CAT. La traduzione viene effettuata dal traduttore umano, che però si avvale di
strumenti disponibili sul computer che rendono più veloce il processo di traduzione. I principali
strumenti offerti da questi software sono:
o Dizionario
o Glossario, costruito sulla base di traduzioni effettuate in precedenza, che suggerisce la
traduzione più frequente. Nella sua forma più evoluta viene denominata Translation
Memory.
o Spelling checker , che controlla l’ortografia
o Style checker, che verifica la rispondenza del testo alle norme di stile: punteggiatura, uso dei
tempi verbali, lunghezza delle frasi.
o Controllo della consistenza terminologica, cioè che una data parola venga sempre tradotta
con la stessa parola.
-
-
Human Assisted Machine Translation (HAMT)  la traduzione viene effettuata dal computer,
con il traduttore umano che interviene nella fase di pre-editing e post-editing. Le attività di preediting possono riguardare la modifica dell’ordine delle parole in modo da adattarsi più
facilmente all’ordine tipico della lingua di destinazione, oppure nella riscrittura del testo di
partenza in modo da semplificarne il linguaggio.
Fully Automatic Machine Translation (FAMT)  non è previsto alcun intervento del traduttore
umano. Non esistono sistemi automatici perfettamente affidabili, però si tende allo sviluppo di
sistemi automatici in grado di garantire una traduzione di alta qualità, i FAHQT (Fully Automatic
High Quality Translation).
La differenza tra MAHT e HAMT dal punto di vista pratico è molto sottile, poiché molti software MAHT
suggeriscono la traduzione nel caso in cui la memoria di traduzione non contenga un termine o
un’espressione utilizzabile. Sono entrambe semi-automatizzate
L’ambito della traduzione assistita è limitato soprattutto alla traduzione tecnica piuttosto che a quella
letterale.
Strutture e dati
Linguaggio XML
La sigla XML è l’abbreviazione di eXtensible Markup Language, ovvero linguaggio a marcatori estendibile. È
un linguaggio che permette di presentare un testo strutturato, utilizzando dei marcatori per indicare di
volta in volta il particolare ruolo che riveste la singola unità del testo. Viene definito un meta-linguaggio,
perché i marcatori non sono pre-definiti come in HTML. Qui abbiamo la possibilità di definire i marcatori che
vogliamo utilizzare e quindi definire il linguaggio che utilizzeremo per descrivere il testo strutturato che
vogliamo rappresentare. Le specifiche tecniche di XML non sono proprietarie, quindi sono pubbliche e
questo ha permesso la diffusione su larga scala.
Sono file di puro testo e possono quindi essere letti, creati o modificati con qualunque editor di testi senza
l’uso di particolari programmi.
Le istruzioni di formattazione e di elaborazione sono standardizzate e non dipendono dalla particolare
piattaforma. Anche la codifica dei caratteri è definita da uno standard internazionale mediante un insieme
di carattere universale noto come Unicode. Il notevole vantaggio di XML è che l’indicazione del ruolo delle
diverse porzioni del testo ne permette l’elaborazione automatica.
Un documento XML è costituito da una serie di elementi, chiamati porzioni di testo, ordinati
gerarchicamente. Ogni elemento può essere contenuto in un elemento di ordine superiore (embedding
dell’elemento) e può essere decomposto in un insieme di elementi di ordine inferiore. Ogni elemento è
delimitato da una coppia di marcatori, a sua volta racchiuso tra una coppia di apici.
<?xml version=”1.0>  indica che si tratta di un documento XML. Non obbligatoria ma consigliata. Si chiama
prologo.
La struttura di un documento XML è quindi formata di un elemento radice che può avere degli elementi figli,
che a loro volta possono avere altri figli, formando così una struttura gerarchica.
<Libro>  elemento radice
<Capitolo>  elemento figlio
Questo è il primo capitolo
</Capitolo>  fine elemento figlio
</Libro>  fine elemento radice
Regole sintattiche
Esistono inoltre delle regole sintattiche e un documento viene detto ben formato (well formed) se rispetta
questa sintassi.
È costituito da un prologo e dall’elemento radice che a sua volta può contenere altri elementi.
Il prologo può contenere la dichiarazione XML, eventuali istruzioni per l’elaborazione del documento ed
informazioni sulla grammatica utilizzata nel documento, ovvero la definizione delle tipologie di elementi che
si possono utilizzare nel documento.
Le regole sintattiche elementari sono:
-
C’è uno e un solo elemento radice, che racchiude tutto il documento;
Ogni elemento deve essere completamente racchiuso nell’elemento radice o in un altro
elemento;
Per ogni elemento deve essere presente la coppia di marcatori di inizio e fine.
Regole per la nomenclatura degli elementi
-
-
Il nome di un elemento può cominciare solo con una lettera, con il segno di sottolineatura (_) o
con i due punti  Libro; _Libro; :Libro.
Ad ogni elemento possono essere associati degli attributi, che possono prendere dei valori.
Potremmo associare ad un elemento Libro gli attributi Numero e Titolo. Gli attributi vengono
inseriti all’interno del marcatore d’inizio. Si prevede che gli attributi debbano prendere dei valori,
che vengono racchiusi tra virgolette:
<Libro
Numero=”1”
Titolo=”Introduzione”>
Gli attributi si possono comunque inserire sotto forma di elementi figli:
<Libro>
<Numero> 1 </Numero>
<Titolo> Introduzione </Titolo>
Possiamo inserire dei commenti all’interno di un documento, ma sempre dopo la dichiarazione
e mai all’interno di un marcatore di un altro elemento. I commenti devono essere racchiusi tra i
marcatori <!—e --> :
<?xml version=”1.0”>
<!—questo è un esempio di documento XML -->
Grammatica del documento
Bisogna definire cosa è possibile inserire e cosa no. La definizione degli elementi obbligatori e di quelli
facoltativi, del loro numero e dei loro attributi viene realizzata mediante le grammatiche DTD (Document
Type Definition). Un documento XML si definisce valido se, oltre a rispettare le regole sintattiche, rispetta
anche la propria grammatica DTD. Le grammatiche possono essere collocate all’interno del documento o in
un file esterno (richiamato all’interno del documento). La grammatica deve essere contenuta dentro il
marcatore seguente, in cui al posto di Nome va inserito il nome dell’elemento radice del documento XML:
<! DOCTYPE Nome [
…..
]>
all’interno di questa coppia di marcatori vanno inseriti tutti gli elementi previsti per quel documento. Ogni
elemento viene inserito all’interno di un marcatore < ! ELEMENT >. Per tutti gli elementi che presentano
elementi figli la dichiarazione < ! ELEMENT > contiene il nome dell’elemento seguito dalla lista di tutti
gli elementi figli racchiusi tra parentesi tonde. È obbligatorio che l’ordine della dichiarazione sia lo stesso
utilizzato nel documento.
Inoltre, nella lista ogni elemento compare con l’indicazione del numero di elementi di quel tipo ammessi nel
documento:
- Se il nome dell’elemento compare senza indicazione, quell’elemento è obbligatorio e singolo;
- Se è seguito dal simbolo +, possiamo avere uno o più elementi di quel tipo;
- Se è seguito dal simbolo ?, significa che quell’elemento è facoltativo;
- Se è seguito dal simbolo *, significa che è facoltativo e può essere presente più volte.
Per gli elementi che non possiedono elementi figli, la dichiarazione < ! ELEMENT > contiene il nome
dell’elemento seguito dal tipo di dati racchiuso tra parentesi tonde, per esempio (PCDATA) per indicare
che si tratta di testo.
<?xml version=”1.0”>
<! DOCTYPE Libro [
<!ELEMENT Libro (Autore+, Titolo, Editor, ISBN, Prefazione?, Capitoli)>
<!ELEMENT Autore (#PCDATA)
….
]>
Se si vuole definire la grammatica in un file esterno, l’estensione di questo deve essere .dtd e deve contenere
tutte le definizioni < !ELEMENT >.
La stessa grammatica può essere usata per diversi documenti XML dello stesso tipo.
Mentre in HTML vengono definiti sia gli aspetti strutturali che quelli grafici, in XML si ha una separazione tra
dati e rappresentazione. La descrizione dei dati e della loro struttura è affidata al documento XML e alla
grammatica. La definizione della rappresentazione grafica è invece affidati ai fogli di stile (stylesheet) e alla
trasformazione del documento XML mediante un insieme di istruzioni codificate con il linguaggio XSLT
(eXstensible Style Language Transformation). Con questo linguaggio è possibile trasformare il documento
XML in un qualsiasi documento testuale oppure in HTML.
I file XML vengono rappresentati con diagrammi ad albero con nodi. È un linguaggio per il trasporto dei dati,
non per la visualizzazione di essi.
Anche i file HTML sono rappresentati con diagrammi ad albero con nodi. <h1> indica la grandezza del file, va
da h1 ad h6.
Alberi
Un albero è una struttura gerarchica costituita da elementi chiamati nodi. Ogni nodo viene identificato
tipicamente da una lettera, da una parola o da un numero ed è associato ad altri nodi da relazioni di
parentale. Queste relazioni vengono rappresentate da segmenti che uniscono i nodi, che vengono chiamati
rami. Quando due nodi sono direttamente uniti da un ramo, uno dei due assume il ruolo di padre e l’altro il
ruolo di figlio. Il padre è il nodo che sta più in alto e il figlio quello che sta più in basso. Ci sono poi nodi con
un ruolo speciale: il nodo collocato in assoluto più in alto si chiama nodo radice, mentre i nodi collocati nelle
posizioni estreme in basso sono le foglie dell’albero.
Nel caso dello XML i nodi sono gli elementi definiti dalla grammatica.
Una sequenza di nodi in cui ogni nodo è padre del nodo che segue costituisce un percorso interno all’albero.
La profondità di un nodo viene calcolata a partire dalla radice, misurando la lunghezza del percorso da seguire
per giungere a quel nodo.
Funzioni della traduzione assistita
Dizionari macchina
I dizionari macchina sono dizionari informatici realizzati in maniera tale da essere utilizzati dal computer
stesso, ovvero disponibili per altre applicazioni. È un file contenente una selezione più o meno ampia dei
vocaboli della lingua e ad ogni vocabolo sono associati tutti i contenuti tecnici che si trovano in un dizionario
normale. Ci sono due categorie di dizionari machina:
- Dizionari lemmatizzati contengono solo le forme canoniche delle parole, i lemmi. I lemmi sono
le radici da cui vengono formate le versioni flesse. L’operazione che permette di individuare il
lemma a partire da una versione flessa viene detta lemmatizzazione. Questi dizionari
consentono una velocità di consultazione maggiore poiché hanno dimensioni ridotte.
-
Dizionari completi ( full form dictionary)  contengono tutte le forme flesse.
L’insieme delle informazioni contenute per ogni voce possono dividersi in due grandi gruppi:
- Le categorie grammaticali  oltre la categoria grammaticale della parola, contiene informazioni
più dettagliate mediante l’uso di sottocategorie, per esempio se un verbo è transitivo o
intransitivo.
- I vincoli contestuali  vengono indicati quali termini possono essere utilizzati assieme alla
parola data. Per esempio, le forme del verbo eat possono avere come soggetto solamente un
soggetto animato (subj animate). I vincoli contestuali costituiscono quindi un vincolo nella
selezione dei significati da associare ai termini rimanenti.
Un’altra informazione utile è l’indicazione del settore, o dominio, in cui quella parola è usata con quel
significato.
Ci sono dizionari macchina che non hanno un equivalente cartaceo ma sono stati progettati proprio per l’uso
con app o software di traduzione: GoldenDict, StarDict, Babylon, Dictd e ABBYY Lingvo.
La tokenizzazione
La tokenizzazione è la scomposizione del testo in unità elementari che possono essere trattate dal
traduttore. È essenziale sia per il riconoscimento della singola parola che per la segmentazione del testo.
Le unità elementari in cui viene scomposto il testo vengono chiamati token. I token non coincidono
necessariamente con una sola parola, può essere costituito da numeri, single, segni di punteggiatura…
Una prima soluzione per individuare i token può essere rappresentata dall’uso degli spazi, ma questo è
possibile solo per le cosiddette lingue ad ortografia continua (italiano).
La procedura di tokenizzazione deve gestire diverse situazioni:
- gestione in maniera unitaria delle varianti ortografiche (semi lavorato, semi-lavorato;
semilavorato).
sequenze di caratteri che costituiscono token multipli, come C’era, che deve essere riconosciuto
come costituito da due token.
- sequenze di caratteri che contengono spazi ma costituiscono un unico token, come La Spezia.
- i segni di punteggiatura vengono riconosciuti come token autonomi, ma anche qui ci sono delle
eccezioni, come le sigle e le abbreviazioni.
- Presenza di maiuscole e minuscole, la procedura di tokenizzazione deve riuscire a distinguere
tra questi due casi.
- Token complessi, come quelli costituiti da nomi propri.
- Espressioni invariabili, come di rado; espressioni alfanumeriche come unità di misura, date o
numeri telefonici.
Anche la segmentazione si deve basare su un insieme di regole euristiche e di eccezioni da considerare, e per
questo sono stati proposti vari standard per la condivisione di queste regole. Uno standard molto diffuso è il
Segmentation Rules eXchange (SRX), che è usato dalla memoria di traduzione OmegaT. Lo standard SRX è
basato su XML.
Un documento SRX ha come elemento radice un elemento <srx>, che contiene due elementi, <header> e
<body>:
- <header> può contenere fino a tre elementi <formathandle>
o <formathandle> definisce come deve essere trattata la formattazione che cade sul confine
di un segmento, ovvero se deve essere considerata parte del segmento o no.
- <body> contiene i due elementi <languagerules> e <maprules>.
o <languagerules> contiene informazioni sulle regole di segmentazione e contiene più
elementi <languagerule> che a loro volta contengono vere e proprie regole di
segmentazione, ognuna delle quali è definita con <rule>.
o <maprules> contiene le informazioni su come deve essere segmentata ogni lingua,
definendo tramite gli elementi <languagemap> le regole che devono essere applicate per
ogni lingua.
<?xml version=”1.0”?>
<srx version=”2.0”
……….
>
<header ……. >
<formathadle …. >
<formathandle …… >
</header>
<body>
<languagerules>
<languagerule>
<rule>
</rule>
</languagerule>
………
</languagerules>
<maprules>
…………
</maprules>
</body>
</srx>
Controllo ortografico
Nel caso della traduzione assistita, questa funzione interviene in fase di post-editing e si basa comunque
sull’impiego di un dizionario macchina. L’azione di un controllore ortografico (o spell checker) si svolge così:
- Scansione del testo ed estrazione delle parole
- Confronto di ogni parola con quelle contenute nel dizionario macchina  il controllore
ortografico deve riconoscere la presenza di una versione flessa. Se il dizionario macchina
presenta solo il lemma, il controllore ortografico deve effettuare preventivamente la
tematizzazione della parola; se invece il dizionario include tutte le forme flesse, allora il confronto
si effettua direttamente. Il confronto da luogo a due situazioni: se la parola è presente nel
dizionario viene considerata corretta; se invece non è presente viene considerata errata e si
propongono una o più alternative.
- Proposta di una o più parole in sostituzione di quella non trovata nel dizionario macchina.
Memorie di traduzione
La memoria di traduzione è una base di dati contenenti tutti i termini precedentemente tradotti.
In genere gli elementi gestiti dalla memoria di traduzione sono frasi o spezzoni di frasi, indicati generalmente
come segmenti o unità di traduzione. Propone quindi una corrispondenza tra segmenti nella lingua di
partenza e segmenti nella lingua d’arrivo. Più precisamente, effettua le seguenti operazioni:
- Importazione  una memoria di traduzione può accettare file solo in alcuni formati specificati.
- Scansione e analisi linguistica  il documento viene passato in scansione sequenzialmente:
viene individuata la sua struttura in frasi mediante la punteggiatura e ogni frase viene analizzata
per identificare i suoi singoli elementi.
- Segmentazione  il testo viene suddiviso in unità elementari, per ognuno dei quali si cerca nella
memoria del programma la traduzione corretta. La ricerca della concordanza può dare un
risultato esatto (exact match) o approssimato (fuzzy match). Per la corrispondenza
approssimata è disponibile un livello minimo di corrispondenza, in genere del 70%.
- Estrazione del termine
La memoria di traduzione può essere anche alimentata con un testo già tradotto. In questo caso i due testi
vengono segmentati e si procede al loro allineamento, ovvero all’individuazione delle corrispondenze tra i
segmenti dei due testi.
Un esempio software commerciale MAHT basato sull’uso di una memoria di traduzione è SDL Trados Studio.
Esistono però molte memorie di traduzione liberamente disponibili: la più nota è la banca dati dell’Unione
Europea, che raccoglie testi in 22 lingue. Altre memorie di traduzione sono MyMemory, TAUS e Linguee.
Le memorie di traduzione sono tipicamente memorizzate come semplici file di testo e rappresentate
mediante semplici sistemi con marcatori. Uno standard molto diffuso è il formato TMX (Translation Memory
eXchange). È un formato aperto codificato in XML, inizialmente sviluppato dal gruppo OSCAR (Open
Standards for Container/Content Allowing Re- use) (a special interest group of LISA (Localization Industry
Standards Association), and first released in 1997).
L’ultima versionw è la 1.4b del 2005.
“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.”
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.
Un documento TMX è racchiuso all’interno dell’elemento radice <tmx> e contiene due elementi <header>
e <body>:
- <header> contiene meta-dati riguardo al documento
- <body> contiene l’insieme delle unità di traduzione, ognuna delle quali è racchiusa dentro un
elemento <tu>
o A sua volta ogni unità di traduzione (<tu>), contiene le varianti dell’unità di traduzione,
ovvero i segmenti per ogni specifica lingua, <tuv>.
 Ogni variante oltre a contenere il segmento di testo, racchiuso dentro l’elemento
<seg>, deve contenere anche l’indicazione della lingua a cui appartiene quel
segmento. L’indicazione della lingua avviene mediante l’attributo xml:lang.
<?xml version=”1.0”?>
<tmx version=”1.4”?>
<header
………………..
>
</header>
<body>
<tu
………..
<tuv
xml:lang=”EN”
………
>
<seg>
</tuv>
Software commerciali
Systran
Software creato da Peter Toma nel 1968 e sviluppato inizialmente per le traduzioni dal russo all’inglese per
conto dell’Aeronautica militare americana. È in grado di tradurre testi in 20 lingue e il numero totale di coppie
di lingue gestibili da Systran è attualmente 50. È disponibile una versione desktop con 4 diverse
configurazioni, ma anche versioni server mobile e online.
- Versione Home  può tradurre solo documenti non più lunghi di 2000 parole. La grandezza
massima del dizionario è di 500 termini
- Versione office  il limite di parole sale a 10000. Dizionario uguale alla versione Home.
- Versioni Business e Premium  non ci sono limiti di parole. Per la versione Business la capacità
massima del dizionario è di 2000 parole, mentre per la versione Premium 20000.
Impiega una tecnologia ibrida, basata sull’uso congiunto dell’approccio basato su regole e dell’approccio
statistico.
Fa uso di un gran numero di dizionari:
- Dizionario principale Stem  dizionario lemmatizzato, che contiene la categoria grammaticale,
la valenza, la transitività e la concordanza, il tipo di nome e i marcatori semantici.
- Dizionario idiomatico;
- Dizionario degli omografi;
- Dizionario delle eccezioni alle regole sintattiche;
- Dizionario per il trattamento dei composti.
Il processo di traduzione è molto articolato e si divide in 4 fasi:
- Pre-elaborazione del testo  vengono consultati il dizionario principale e idiomatico, viene
effettuata l’analisi morfologica e individuati i nomi composti.
- Analisi  vengono risolti i casi di omografia, vengono segmentate le singole frasi e individuate
le relazioni sintattiche.
- Trasferimento  ci si concentra sulla lingua d’arrivo per identificare un’eventuale traduzione
idiomatica o la corretta traduzione di un omografo.
- Sintesi  ci si occupa dei termini non ancora tradotti, si effettua la generazione morfologica
(scelta della flessione e della concordanza), si fanno gli adattamenti di tipo sintattico e si riordina
la frase.
Wordfast
È una memoria di traduzione. Se usato in unione a Microsoft Word può essere usato con qualunque sistema
operativo. Può gestire fino a 1 milione di unità di traduzione ed è codificata come puro testo, quindi può
essere aperta con qualsiasi programma di trattamento testi, ma si può anche importare ed esportare nel
formato .tmx. Può impiegare fino a 3 diversi glossari e permette di adottare sia una concordanza esatta che
approssimata.
È commercializzata in diverse versioni:
- Wordfast Professional è una memoria di traduzione standalone, funzionante sui maggiori
sistemi operativi.
- Wordfast Classic è lo strumento ausiliario a Microsoft Word.
- Wordfast Anywhere è la versione online che combina le caratteristiche delle altre due versioni.
SDL Trados
È una memoria di traduzione, disponibile in 3 diverse versioni:
Starter  il numero di unità di traduzione è limitato a 5000 e si può lavorare solo su 5 lingue
contemporaneamente.
- Freelance
- Professional
Supporta più di 70 tipi di file, tra cui parecchi formati markup come HTML e XML.
A partire dal 2011 ha integrato le capacità di traduzione automatica e post-editing. In caso di assenza di
concordanze nella memoria di traduzione, può inserire una traduzione automatica.
-
-single file translation
- project package translation  project manager, traduttore
Crea un nuovo progetto: chiede se esiste un modello di progetto da riutilizzare, se no default. Avanti, nome
del progetto.
Déjà Vu
Si propone come ambiente completo per la traduzione. È disponibile in 4 versioni (X2 Editor, X2 Professional,
X2 Workgroup e TEAM Server). La versione Editor permette solamente di lavorare su progetti satellite.
Dispone di memorie di traduzione multilingue e database terminologici. Adotta una combinazione di
memorie di traduzione e traduzione automatica e sono supportate oltre 200 lingue.
Anaphraseus
Permette di creare e gestire memorie di traduzione bilingue. Si appoggia sulla suite OpenOffice ed è
disponibile gratuitamente. Il formato prescelto è stato inizialmente il formato TM di Wordfast, ma ora può
importare ed esportare file anche nel formato TMX.
Effettua la segmentazione del testo e fornisce anche corrispondenze approssimate. Può utilizzare come
motori di traduzione sia Google Translate che Microsoft Bing e Apertium.
I delimitatori di segmento sono accompagnati da numeri che indicano il grado di corrispondenza con i
segmenti presenti nella memoria, che può andare da 0 a 100%.
La base dati terminologica può essere arricchita con dei glossari creati dall’utente, che sono in formato testo
semplice. L’utente durante una traduzione può caricare solo due glossari alla volta, di cui uno fa parte di
quelli definiti dall’utente e l’altro è il glossario principale. Il glossario definito dall’utente è modificabile
durante la traduzione: se si vuole introdurre un termine nuovo, basta cliccare sul termine e introdurre, oltre
al termine nella lingua di partenza, il corrispondente nella lingua d’arrivo ed eventuali commenti.
Al contrario di OmegaT, non è possibile il ricorso a dizionari esterni.
OmegaT
È una memoria di traduzione gratuita. È scritta in Java e quindi può essere utilizzata sia su piattaforma
Windows che Mac o Linux. In ingresso può accettare diversi formati, tra cui tutti i formati Microsoft Office,
quelli OpenDocument, i formati HTML e XHTML e il formato LaTeX.
Permette di utilizzare più memorie di traduzione. È compatibile con altre applicazioni per memorie di
traduzione TMX, TTX, XML, XLIFF, SDLXLIFF.
Per usare memorie di traduzione nel formato TMX, è sufficiente inserire il file TMX. Dentro un’apposita
cartella tra quelle create dal programma per il progetto di traduzione perché venga subito riconosciuto dal
programma.
Permette di utilizzare anche più glossari e il formato di questi file deve essere il semplice formato testo con
tabulazione oppure il formato TBX (Term-Base eXchange), che è un formato basato su XML per lo scambio
di glossari tra piattaforme diverse.
Permette di creare un glossario di progetto aggiungendo i singoli termini mentre si sta traducendo.
Oltre al dizionario, permette anche l’uso del correttore ortografico, che va però preventivamente impostato.
Il correttore usato da OmegaT è Hunspell.
Riconosce anche le concordanze parziali (fuzzy matches), impostando una soglia per la percentuale di
coincidenza (tipicamente 90). In alcuni casi vengono inserite automaticamente nel testo tradotto, anche se
viene premessa l’etichetta [fuzzy].
Non gestisce le forme flesse.
Permette il ricorso a sistemi di traduzione automatica, selezionando tra le impostazioni uno o più motori di
traduzione automatica tra quelli disponibili.
Effettua una segmentazione prima a livello di paragrafo e poi a livello di frase. La segmentazione viene
evidenziata mediante una serie di marcatori e vengono utilizzate le regole dello standard SRX (Segmentation
Rules eXchange).
Presenta, su due finestre diverse, il testo da tradurre e quello che si sta traducendo, segmento per segmento,
oltre alle concordanze e ai termini del glossario relativi al segmento in corso di traduzione.
Progetto > nuovo > cartella vuota dove salvare il progetto > salva.
Nella creazione di un progetto di traduzione assistita, oltre al nome del progetto (cosa comune di tutti i
software) hanno la parte di selezione dei file di traduzione (più avanti però), ed è opportuno notare che si
possono tradurre anche più file.
Opzioni del programma:
 Lingua partenza – Lingua di arrivo  cercare nella memoria di traduzione segmenti che ci sono già
in quelle lingue per attivare traduzione automatica e glossario corrispondente.
 Tokenizer  non si devono toccare, sono sottoprogrammi, ed è il programma che regola come viene
letto il file e come suddivise le varie parole.
 Se la segmentazione viene fatta a livello di frase (standard: si sceglie “.” Per dire sequenza finita).
 Auto-propagazione delle traduzioni (mantenere attivo)  il software riconoscerà il segmento già
tradotto identico, automaticamente lo sostituisce già con la traduzione. Altrimenti non lo fa
automaticamente e quando arriveremo di fronte al segmento già tradotto ci verrà data la proposta.
 Rimozione dei tag  TAG= sono elementi all’interno di file di testo che danno formattazione
/struttura all’interno di esso. Sono tutte questioni relative ad elementi grassetto, corsive font, etc.
che normalmente vengono tenuti, per cui se nel file originale ci sono certi tag anche nella proposta
di traduzione e quella automatica, il software cerca di mantenerli. Questo potrebbe creare un po’ di
confusione le prime volte che si vedono testi taggati.
Altra cosa scomoda si trova tornando a come funzionano software di traduzione assistita: questi
software vanno a cercare all’interno del testo segmenti già tradotti. I tag contano come caratteri, se
è stata tradotta già una frase senza tag e facciamo la traduzione della stessa frase ma senza grassetto,
non c’è una perfetta corrispondenza. Questo può essere problema perché: 1) automaticamente non
si auto-propaga qualcosa che abbiamo già fatto; 2) se abbiamo una frase lunga e complicata in
termini di tag, potremo arrivare alla situazione in cui il software non propone la nostra traduzione
perché non riesce a riconoscere un numero sufficiente di caratteri simili.
Le strade quindi sono 2, o rimuovere i tag e quindi rifare tutto il lavoro di reinserimento (stile testo a
mano). Con pagine web la cosa è più complessa.
 Ultime righe  non c’è motivo di modificarle, e non sono altro che la struttura delle sottocartelle
del progetto. Essendo sottocartelle possiamo cambiarle per andare a salvare i vari file.
Posizioni dei file: (va mantenuta cosi com’è)
- file di partenza: file che dobbiamo tradurre
- memoria di traduzione
- glossario
- dizionario: dizionari che si possono caricare
- file di arrivo: dove verranno prodotti i file quando verrà completata traduzione
Finestra dei file del progetto  cosa contiene la cartella dei file di partenza. O trascinare il file dentro o
cliccare copia i file nella cartella di partenza.
Terza colonna: codifica dei caratteri.
Concordanze parziali: se c’è corrispondenza perfetta con segmenti che ho già tradotto, ma anche se c’è un
segmento che si sovrappone parzialmente con qualcosa che ho già fatto.
Una volta dato l’OK > nuova finestra: importare i file che vogliamo tradurre che verranno copiati nella
cartella source.
Abbiamo poi 3 cose interessanti: encoding (come è stato codificato il file da tradurre); numero di segmenti
per ogni file (es. solar power ha 3 segmenti) e dice anche quanti sono “Unici”, nel senso che ce ne sono
alcuni che si ripetono (ES. solar power ha 3 segmenti diversi, il secondo, solar power long version, ne ha 7
con 4 già visti). Questo evidenzia la quantità di lavoro che ci sarà poi da fare.
Possiamo sempre tornare all’inizio con “proprietà progetto” e “file del progetto”. Ogni volta che si fanno
modifiche al glossario, per esempio andando proprio nella struttura del progetto, per vederle bisogna
ricaricare il progetto. È poi fondamentale andare a vedere quali sono le combinazioni da tastiera utili per il
lavoro, ES:
- Ctrl+U  segmento non tradotto successivo (saltiamo direttamente a quelli che dobbiamo finire di
tradurre)
- Ctrl+Maiusc+U  segmento tradotto successivo
C’è poi la possibilità di attivare o disattivare i colori su quali segmenti sono già stati tradotti o no, quali sono
copie di altri: se vogliamo mostrare i segmenti sorgente sempre ed altre cose. In Omega T quando un
segmento viene tradotto, passa da verde> giallo.
Altra cosa interessante è attivare la traduzione automatica: Opzioni > traduzione automatica > scegliere:
quelli utilizzabili senza modifica sono “my memory human” e “my memory machine”. Per vedere la
traduzione automatica, che si trova in basso a sx, posso trascinare (tenendo premuto il testo sx) e mettere
l’etichetta dove voglio  è semplicemente un modo per avere la visualizzazione che si preferisce.
Una volta che si inizia, quasi tutti i software sostituiscono il contenuto del file sorgente e lo mettono al posto
di quello tradotto. Posso anche essere portato ad accettare inizialmente tutte le proposte di traduzione
automatica.
Come si fa?
 Scriverlo a mano
 Copiare ed incollare
 Menù edit  (Ctrl+M), rimpiazzo con traduzione automatica. Automaticamente sostituisce la
proposta della traduzione automatica.
Per la traduzione automatica si deve attivare:
 Traduzione automatica
 Traduzione di un unico segmento
 My memory human e machine
Viene proposta una traduzione automatica, possiamo accettarla o no. A questo punto posso decidere di
salvare, ed andare così al segmento successivo; la codifica dei colori ora dice che primo elemento è stato
tradotto. Il secondo segmento ha due proposte di traduzione che arrivano da due traduzioni automatiche
(non human ma enorme quantità di memorie di traduzione), per cui ci si può posizionare su quella che si
preferisce (si fa copia incolla o si scrive a mano la proposta). Una volta fatto anche il terzo segmento, ha già
sostituito. Avendo attivato l’opzione auto-propaga, i segmenti già tradotti, ne ho alcuni già trasformati, senza
aver fatto nulla sono già stati sostituiti. Altrimenti prima avrei ottenuto proposte di traduzione, e scelgo
selezionare ciò già fatto più affidabile rispetto traduzione automatica.
A questo punto, con Ctrl+U, che sarebbe prossimo segmento non tradotto, va diretto solo sui segmenti che
devo ancora tradurre (utile per la velocità); a questo punto, le soluzioni si ritrovano nella cartella /target/.
A questo punto appaiono 3 file nuovi nella nostra cartella del progetto: “esempio OmegaT level 1.tmx” “level
2.tmx” e “OmegaT.tmx” il file OmegaT.tmx è una memoria di traduzione, cioè il file che ci porteremo
appresso durante tutta la traduzione.
Come è composta la memoria di traduzione:
Prime due righe  sono due righe, una un commento e l’altra una definizione. La seconda riga è un
commento che da un’informazione di che tipo è il documento. La prima riga dice “io questo file lo sto
scrivendo con il linguaggio xml versione 1.0 encoding UTF-8”.
 XML= linguaggio di etichettatura per strutturare le informazioni; 1.0 perché per l’XML esistono
standard di varie versioni per dire quali etichette sono ammissibili.
 Encoding UTF-8  memoria di traduzione sta usando questa codifica.
Ogni documento strutturato inizia e finisce con un’etichetta, la quale per le memorie di traduzione è tmx
(translation memory exchange), c’è una proprietà di questa etichetta che dice che la versione che sto usando
è la 1.1. Poi c’è un’etichetta heather che è un’intestazione come pagina web e serve per dare
un’informazione in più al documento, i cosiddetti metadati; questa intestazione dice che il file è stato creato
con Omega T, so che la lingua computer è inglese-USA, che il tipo di dati su cui sto lavorando è di tipo testuale,
la versione è Omega T 3.6, la segmentazione è di tipo 7, e la lingua sorgente è l’inglese. Sono dati che
riguardano informazioni sullo strumento che ha usato Omega T ed il tipo di file che sto usando.
Poi, Unità di traduzione sono elementi che dicono che qui in cui inizia e qui finisce una varietà, ovvero un
gruppo di varianti che fanno riferimento allo stesso segmento: ogni variante di traduzione è indicata con tuv
ha la proprietà lingua. C’è anche l’etichetta <seg> che sta per segmento, e la differenza rispetto l’esempio
fatto a mano, riguarda la lingua di arrivo. Nelle memorie di traduzione non esistono più lingue di partenza
ed arrivo in quanto sono segmenti che possono essere intercambiabili in una direzione o nell’altra, la
differenza qui è che mentre la lingua inglese deriva dal documento sorgente, per cui non ho informazioni su
chi ha fatto il segmento e quando, la lingua italiana ha delle proprietà in più che dicono chi ha fatto una
modifica, quindi è il nome dell’utente quando è stata fatta. In un lavoro collaborativo, se si passa memoria
di traduzione a qualcun’altro che modifica i dati, vedremo chi ha fatto l’ultima modifica. Per i segmenti
tradotti ci sono tutte queste informazioni.
A cosa serve questo file di memoria di traduzione?
È quello che ci porteremo dietro durante tutti i lavori di traduzione, il file tmx è quello che va tenuto e
riportiamo all’interno di altri progetti per ottenere suggerimenti.
Omega T atti notarili (26.11)
Segmentazione  rendi specifiche…  quando deve o non deve essere applicata la regola del punto, se
appare dopo quella sequenza di caratteri che indica un’abbreviazione, per esempio DOC. non deve essere
segmentato.
“modello dopo” dice cosa si deve fare dopo quella data abbreviazione /s  copia quello che c’è scritto e vai
avanti.
Queste eccezioni alle regole possono essere modificate, possono essere aggiunte
Matecat
Software di traduzione assistita che lavora online, via Cloud.
Opzione del subject: argomento trattato
Valutazione dei sistemi di traduzione
Capacità linguistiche
Sono le capacità del sistema di fornire una traduzione corretta e ruotano essenzialmente intorno a 3
aspetti:
- La fedeltà all’originale  la capacità di riportare esattamente tutti i contenuti informativi
presenti nel testo originale. Questo concetto di fedeltà è diverso da una fedeltà sintattica.
- La chiarezza  è legata alla leggibilità di un testo, alla qualità del testo nella lingua di destinazione,
che però potrebbe nascondere una traduzione poco fedele o errata.
- Lo stile  si riferisce all’utilizzo di un linguaggio appropriato sia per il contenuto che per il
contesto e le intenzioni dell’autore.
Si possono verificare criticità nella traduzione, soprattutto per quanta riguarda i nomi composti e gli
omografi. Per quanto riguarda la sintassi, le criticità riguardano soprattutto le costruzioni telegrafiche (per
esempio i titoli) e in genere tutti i frammenti e le frasi che includono parentesi.
Si sono proposte molte metriche per valutare la qualità linguistica:
- La BLEU (Bilingual Evaluation Understudy)  algoritmo che valuta la qualità del testo tradotto da
una macchina confrontandolo con una traduzione di riferimento effettuata da un traduttore
umano. Tanto più è elevata la corrispondenza tra le due traduzioni, tanto migliore sarà giudicata la
traduzione. L’algoritmo fornisce un numero compreso tra 0 e 1: più alto è il valore, migliore viene
giudicata la qualità della traduzione.
- La TER (Translation Error Rate)  utilizza come la BLEU le traduzioni di riferimento effettuate da
traduttori umani. La distanza tra il testo candidato e quello di riferimento viene però calcolata
come il numero di modifiche necessarie per trasformare il testo candidato prodotto dalla macchina
nel testo di riferimento. Questa quantità viene poi divisa per il numero di parole nel testo per
ottenere il valore del TER. Tanto più il valore del TER è prossimo a 0, migliore sarà la traduzione.
Entrambi sono basate sull’uso di traduzioni di riferimento. Il vantaggio di questo tipo di approccio è che lo
stesso insieme di traduzioni considerate per una prova di un sistema di traduzione può essere utilizzato per
un altro sistema e quindi confrontare i due. Un aspetto critico è la disponibilità di traduzioni di riferimento
ed il fatto che la loro scelta è comunque soggettiva.
Una metrica per valutare la chiarezza è l’indice di Flesch F, calcolato mediante una formula che penalizza le
frasi e le parole troppo lunghe:
F= 206.835 - 0.846 x S - 1.1015 x P
S è il numero delle sillabe e P è il numero medio di parole per frase.
La leggibilità del testo viene considerata alta se F è superiore a 60, media se è compreso tra 50 e 60 e
bassa se è minore di 50. Il valore massimo è 120.
Questa formula è stata adattata alla lingua italiana:
F= 206 – 0.65 x S – P
La comprensibilità di un testo è valutata tramite la procedura cloze, che coinvolge un gruppo di lettori e si
effettua secondo i seguenti passi:
- Si cancella una parola ogni n sostituendola con uno spazio bianco;
- Si chiede ad ogni lettore di leggere il testo così modificato e di sostituire le parole mancanti;
- Il punteggio di ogni singolo partecipante è dato dalla percentuale di parole mancanti indovinate;
- Il punteggio complessivo è la media dei punteggi dei partecipanti.
Si considera un testo ragionevolmente comprensibile se il punteggio finale supera il 60%.
Capacità operative
Si riferiscono alle funzionalità dei software di traduzione e riguardano la flessibilità e la facilità di impiego
di queste funzionalità.
- Disponibilità del software per diverse piattaforme.
-
-
Capacità di lavorare con il maggior numero possibile di formati di file sorgente. Adesso una buona
parte delle attività di traduzione si realizza su file di cui si dispone solo il file pdf, oppure riguarda
documenti in HTML o XML.
Disponibilità di dizionari e glossari, in particolari la facilità di crearli e aggiornarli.
Utilizzo di formati standard o largamente diffusi.
Facilità delle fasi di pre-editing e post-editing.
La maggior parte di queste capacità operative sono valutabili con un semplice test binario: se la funzionalità
è presente o no. Si può anche utilizzare una metrica di produttività, misurando il tempo speso
rispettivamente nella traduzione di un segmento e nel suo post-editing.
10.12.19
Traduzione assistita
Computer Assisted Translation (CAT)  traduzione effettuata da un utente mediante l’aiuto del computer
Sono sistemi integrati  software per agevolare la traduzione nell’ambito della CAT.
integrati= mettono a disposizione vari elementi per poter procedere con la traduzione, nell’ambito delle CAT.
Integra le memorie di traduzione e i CAT. I software più avanzati permettono anche di trasformare un
documento immagine (pdf, jpg) in una sequenza di caratteri. Molto vantaggioso.
Gli elementi fondamentali di un sistema integrato sono:
- Memoria di traduzione
- Database terminologico
Memoria di traduzione
È un tipo di database multilingue che viene utilizzato per memorizzare e ricercare testi, un archivio
multilingue contenente varie unità di traduzione.
Ciascuna unità di traduzione è composta da almeno un segmento di testo rappresentante una variante di
traduzione, oltre a eventuali attributi quali data di creazione, utente, ultima modifica, ecc…
I concetti di unità di traduzione e segmento sono dibattuti.
Segmentazione
Un segmento oscilla fra un periodo, una frase e un sintagma.
Il testo salvato nella memoria di traduzione è il risultato di una segmentazione operata dal sistema integrato
sulla base di regole che vertono fondamentalmente sulla punteggiatura e sono modificabili da parte
dell’utente.
Un segmento andrebbe definito come una porzione di testo compresa fra due delimitatori impostati nelle
regole di segmentazione.
Database (o banca dati) terminologico
La banca dati terminologica (mono- o multilingua) fa parte dei sistemi integrati: glossari, dizionari, thesaurus,
ecc…
Analisi dei requisiti
- Stabilire se un CAT tool è utile in quel particolare ambito. In particolare, quando esistono ripetizioni
all’interno del testo.
- Disponibilità in formato elettronico o OCR del testo.
- Formati supportati dal CAT tool scelto.
- Risorse linguistiche disponibili per la lingua di partenza e la lingua d’arrivo.
Traduzione automatica
Machine translation MT:
- Maht
-
Hamt
Famt
La traduzione (semi-)automatica si distingue dalla traduzione assistita per almeno due aspetti:
1) L’origine della traduzione.
Una memoria di traduzione memorizza e recupera traduzioni esistenti che possono essere
riutilizzate qualora il testo da tradurre sia identico o simile al testo presente all’interno della
stessa. Nel caso della traduzione (semi-)automatica, invece, il software elabora una
traduzione sulla base di regole e/o di corpora creando un testo nuovo.
2) L’intervento umano.
Nel caso della traduzione assistita è invece una persona non solo a tradurre parti nuove, ma
anche a decidere se una traduzione esistente debba essere utilizzata o meno. Nella
traduzione automatica (FAMT) la trasposizione linguistica viene effettuata da un software,
senza l’intervento di alcuna persona.
Cognitive Linguistic Approach
Four "memories" identified by the researchers for their work:
- knowledge of the language system
- knowledge of the language usage
- knowledge of the world
- knowledge of the situation
Rule Based MT (RBMT)
The source text is parsed and an intermediate representation is produced. The target language text is
generated from the intermediate representation. The systems are based on linguistic information about
source and target languages (i.e. grammars and dictionaries covering the main semantic, morphological, and
syntactic regularities of each language respectively).
Direct MT
A direct word by word translation of the input source is carried out with the help of a bilingual dictionary and
after which some syntactical rearrangement are made.
Minimal requirements:
- A dictionary that maps each source word to a target word
- Rules representing regular source sentence structure
- Rules representing regular target sentence structure
Pros:
-
Translation is usually comprehended by the reader with little effort
Translation is very effective for languages with similar grammar rules and structure
Systems are easy to implement
Cons:
-
Direct MT involves only lexical analysis. It does not consider structure and relationships between
words
Direct MT systems are developed for a specific language pair and cannot be adapted for different
language pairs.
Direct MT systems can be quite expensive, for multilingual scenarios
Some of the source text meaning can be lost in the translation
Interlingua
The source language is transformed into an Interlingua, which is an intermediate abstract languageindependent representation. The target language is generated from this Interlingua.
Pros:
-
It gives a meaning-based representation and can be used in applications like information retrieval.
An Interlingua system has to resolve all the ambiguities so that translation to any language can take
place from the Interlingua representation.
The system is more practical when several languages are to be interpreted
Cons:
-
Time efficiency of this system is lower than the Direct Machine Translation system
Major problem lies in defining a universal abstract (Interlingua) representation which preserves the
meaning of a sentence
Transfer Based
A database of translation rules is used to translate text from source to target language. Whenever a
sentence matches one of the rules, or examples, it is translated directly using a dictionary. The approach
uses a dictionary to directly convert source into target whenever a sentence matches one of the transfer
rules.
Pros:
-
It has a modular structure
The system easily handles ambiguities that carry over from one language to another
Cons:
-
Some of the source text meaning can be lost in the translation
Computer based Translation (CBT)
It is based on statistical analysis of source and target language corpus. Huge dataset is required for initial
statistical analysis.
Statistical MT
A sentence can be translated from one language to another in many possible ways. In the first stage many
output sentence candidates in the target language are generated. This stage involves a bilingual translation
lexicon, which gives possible translations for each word or phrase in the input sentence, with a probability
assigned to every translation. In the second stage, a search component, called decoder, searches for the
best output candidate according to a statistical scoring function.
Pros:
-
There is a great deal of natural language in machine readable format
Generally, SMT systems are not tailored to any specific pair of languages
Rule-based translation systems require the manual development of linguistic rules, which can be
costly, and which often do not generalize to other languages
Cons:
-
Corpus creation can be costly for users with limited resources.
The results are unexpected. Superficial fluency can be deceiving.
Statistical machine translation do not work well between languages that have significantly different
word orders (e.g. Japanese and European languages).
The benefits are overemphasized for European languages.
Example Based (EBMT)
An Example based Machine translation system (EBMT) system maintains a corpus consisting of translation
examples between source and target languages. An EBMT system has two modules:
-
The retrieval module retrieves a similar sentence and its translation from the corpus for the given
source sentence.
The adaptation module then adapts the retrieved translation to get the final corrected translation.
Hybrid MT  Statistical Rule Generation; Multi-Engine Machine Translation
Evaluation of MT
The closer a machine translation is to a professional human translation, the better it is. [Papinemi et alii,
2002]
To judge the quality of a machine translation, one measures its closeness to one or more reference human
translations according to a numerical metric. Typically, there are many “perfect” translations of a given
source sentence. These translations may vary in word choice or in word order even when they use the same
words. And yet humans can clearly distinguish a good translation from a bad one.
The BLEU Metric
Bilingual Evaluation Understudy (BLEU)
BLEU scores are calculated for individual translated segments by comparing them with a set of good quality
reference translations. Those scores are then averaged over the whole corpus to reach an estimate of the
translation's overall quality. Intelligibility or grammatical correctness are not taken into account. BLEU is
designed to approximate human judgement at a corpus level and performs badly if used to evaluate the
quality of individual sentences.
Traditional human Assessment
- Intelligibility and Fidelity  The requirement that a translation is of high fidelity or accuracy includes
that the translation should, as little as possible, twist, distort, or controvert the meaning intended by
the original. The requirement that a translation be intelligible means that, as far as possible, the
translation should read like normal, well edited prose and be readily understandable in the same way
that such a sentence would be understandable if originally composed in the translation language.
- Adequacy, Fluency and Comprehension The evaluator is asked to look at each fragment,
delimited by syntactic constituent and containing sufficient information, and judge the adequacy
on a scale 1-to-5. The results are computed by averaging the judgments over all of the decisions in
the translation set. Same for fluency, where the evaluators are asked to determine whether the
translation is good English without reference to the correct translation. The modified
comprehension develops into the “Informativeness”, whose objective is to measure a system’s
ability to produce a translation that conveys sufficient information, such that people can gain
necessary information from it.
Manual evaluation suffers some disadvantages such as: time-consuming, expensive, not tunable, and not
reproducible.
Automatic Evaluation Metric
-
-
-
Lexical similarity, Edit distance: calculating the minimum number of editing steps to transform
output to reference.
Operations include: insertion (adding word), deletion (dropping word), and replacement (or
substitution, replace one word with another).
Lexical similarity, Precision and Recall: BLEU, based on the degree of n-gram overlapping between
the strings of words produced by the machine and the human translation references at the corpus
level.
Lexical similarity, Word Order
Linguistic features  Syntactic similarity, Semantic similarity