Living Lab: dall’Italiano parlato alla LIS
Franco Tuveri (CRS4) - tuveri@crs4.it
18 Maggio 2022
Ufficio per le politiche in favore delle persone con
disabilità
Introduzione
Obiettivo
Evidenziare le problematiche legate alla traduzione automatica di testi in lingua
LIS.
Introduzione al:
❏ Trattamento automatico dei testi (NLP - Natural Language Processing)
❏ ASR - Automatic Speech Recognition
❏ Tecnologie legate alla traduzione automatica (Machine Translation)
❏ Strumenti ed esempi di applicazione
❏ Dimostrazione
Natural Language Processing
Introduzione all’approccio linguistico
I Linguaggi Naturali sono i generici linguaggi usati dagli essere umani, non artificiali (es: Esperanto) né
formali come i linguaggi di programmazione.
Il Natural Language Processing (NLP) descrive i tentativi di utilizzare i computer per processare un
linguaggio naturale.
L’approccio linguistico alla NLP si basa su diversi livelli di analisi :
• Analisi Morfologica: analisi della struttura delle parole
• Analisi Sintattica: strutture sintattiche corrette; rifiutare quelle non corrette
•Analisi Semantica: associare significato alle strutture (es. “Verdi idee incolori
dormono furiosamente”, Chomsky, 1957)
• Integrazione del discorso: una frase può dipendere dalle precedenti (es. “Gianni lo
voleva”)
•Analisi Pragmatica: a volte la struttura va interpretata (es.: “Sai che ora è?” significa “Mi
dici l’ora?”)
NLP
Analisi Morfologica
La Morfologia(*) è lo studio di come le parole sono costruite a partire da
unità atomiche dette morfemi.
L’analisi Morfologica di una parola comprende:
• il lemma da cui è originata
• il numero, la persona, il genere e gli altri parametri grammaticali che la individuano.
L’analisi viene fatta per i:
• Lemmi verbali, attraverso le desinenze e le regole di flessione
• Lemmi non verbali, attraverso le sole desinenze
E’ la base di partenza per la fase successiva di analisi sintattica.
(*) Dizionario di linguistica – diretto da G.Luigi Beccaria, ed.Einaudi
NLP
Analisi Sintattica
Possiamo definire la Sintassi come costituita da:
• una grammatica del linguaggio che vogliamo analizzare
• un lessico, che contiene le parole del linguaggio
• un parser, che interpreta le frasi
L'analisi sintattica tramite il parsing sintattico, è una funzione utile a catalogare o identificare le relazioni tra
le parti di una frase, ovvero i termini ogli insiemi di termini.
Se è possibile costruire due rappresentazioni sintattiche, o parser-tree o alberi sintattici diversi a
partire dalla stessa frase e dalla stessa grammatica, la frase è detta sintatticamente ambigua
Il parser sintattico, o phrase recognition parser, esegue un'analisi dei costituenti della frase, ad esempio
individuando la parte nominale e/o la parte verbale, e analizza come le parole si compongono in unità
più grandi, dette sintagmi, e verifica il rispetto delle regole grammaticali.
NLP
Analisi Sintattica: Parser sintattico
Il parsing sintattico è il processo di assegnazione di una struttura ad una
stringa in base ad una grammatica.
Costituisce il processo di analisi sintattica di un testo, realizzato attraverso
l’identificazione di un insieme di tokens (es.: le parole) al fine di
determinare la struttura grammaticale con riferimento ad una data
grammatica formale.
Un esempio di parser sintattico è TreeTagger, che effettua l’analisi
morfologica e sintattica di una frase:
• Esegue il POS (part of speech) Tagging
• Individua le possibili strutture sintattiche della frase
NLP
Un parser sintattico: TreeTagger
TreeTagger è un tagger ad apprendimento statistico, basato sulla tecnica dei
decision tree, che ha bisogno di un corpus di apprendimento e di un lessico
della lingua. Permette di effettuare il Part of Speech Tagging, cioè di annotare
i termini di un testo con le sue categorie morfo-sintattiche e con il relativo
lemma.
È stato sviluppato da Helmut Schmid presso l'Istituto di Linguistica
Computazionale dell'Università di Stoccarda.
TreeTagger è stato utilizzato con successo per codificare diverse lingue come
tedesco, inglese, francese, italiano,
E’ adattabile anche ad altre lingue, se sono disponibili un lessico e un corpus
per il training taggato manualmente.
E’ disponibile per i sistemi operativi Windows, Linux e Mac.
link: http://localhost:8888/TreeTagger/
parola tag lemma
TreeTagger NP TreeTagger
is VBZ be
easy JJ easy
to TO to
use VB use
. SENT .
NLP
Analisi Semantica
“La determinazione del significato di una frase avviene in diverse fasi successive: nella prima ci si
serve solo della struttura sintattica e dei significato delle parole, mentre nella seconda si tiene conto
delle frasi precedenti già interpretate, di conoscenze sull'argomento di cui il testo tratta e di
conoscenze generiche sul mondo. La prima fase prende il nome di “analisi semantica” [Allen 1995]
La Semantica è lo studio del significato delle parole e di come esse si combinano per formare il
significato delle frasi. In genere si fa distinzione tra:
•Semantica Lessicale (Lexical Semantics) o studio delle relazioni lessicali (sinonimia,
iperonimia/iponimia, meronimia, .. )
•Semantica delle frasi (Sentences Semantics) o studio del significato di intere frasi. L'analisi
semantica fornisce i corretti significati dei costrutti sintattici individuati dall'analizzatore sintattico e
ne risolve l'ambiguità.
I termini o le parole vengono sostituiti dagli identificatori del significato in una fase che prende il
nome di Word Sense Disambiguation (WSD).
NLP
Esempi di relazioni semantiche
Sinonimia:
“rapporto tra segni linguistici che hanno lo stesso significato”. es.: cortese = gentile
Meronimia
“relazione semantica tra nome del tutto e nome di una sua parte”
es.: motore è meronimo di automobile
Iperonimia / Iponimia
“relazione semantica paradigmatica tra termine generico Iperonimo o
sovraordinato e uno o più termini specifici o Iponimi”
es.: mobile (iperonimo); sedia, tavolo, armadio (iponimi).
Antonimia
“relazione tra due segni di significato contrario”
es.: bello/brutto, amore/odio
NLP
Traduzione Automatica o Machine Translation
La traduzione Automatica o Machine Translation è un processo in cui un
software analizza un testo sorgente e lo traduce in un’altra lingua senza
l’intervento umano.
I risultati prodotti da vari sistemi di traduzione automatici fino a pochi anni fa
erano spesso discutibili e facevano addirittura sorridere i traduttori.
L’avvento dei sistemi neurali nel 2016 ha modificato la situazione, con il
passaggio dalle tecniche di Machine Learning alle tecniche di Deep Learning,
basate sulle reti neurali
È un’applicazione dell’intelligenza artificiale (IA).
NLP
Traduzione Automatica o Machine Translation
Due tipi fondamentali di traduttori automatici:
○ traduttori automatici basati su regole
■ costosi da sviluppare;
■ costruiti da linguisti che determinano le regole grammaticali per le lingue di origine e di destinazione
■ es.: Yahoo! BabelFish
○ traduttori automatici basati su “corpora”
■ lavorano su base statistica aggregando enormi quantità di informazioni
■ utilizzano l’ analisi statistica per determinare le corrispondenze tra la lingua di origine e quella di
destinazione
■ meno costoso e richiede meno tempo di sviluppo
■ minore qualità
■ es.: Google Translate
NLP
Traduzione Automatica o Machine Translation
Sistemi a regole:
Questa tipologia di traduzione automatica fu la prima ad essere introdotta. Si basa su regole grammaticali e
dizionari bilingue per ogni coppia di lingue sorgente-target.
Un dizionario bilingue è utilizzato per selezionare le parole più appropriate nella lingua target.
Vengono applicate le regole di sintassi e grammatica della lingua target, le parole prese dal dizionario sono
così “declinate” e “coniugate” (genere, numero grammaticale, ordine delle parole, concordanza, ecc.)
adeguatamente nella lingua target.
La sua efficacia dipende dall’affidabilità dei dizionari e correttezza delle regole sintattiche, semantiche e
morfologiche.
NLP
Traduzione Automatica o Machine Translation
Sistemi a base statistica
funziona tramite corpora di traduzioni esistenti eseguite precedentemente, note come corpora di testo
bilingue. un corpus è tipicamente una collezione, per lo più di grande dimensione, di testi orali o
scritti prodotti in contesti comunicativi reali (registrazioni di discorsi, articoli di giornale, atti della
Comunità europea).
Analizza le frasi e genera una traduzione utilizzando
sovrapposizioni e i riscontri (match) fra la lingua sorgente
e target contenuti nei corpora, utilizzando modelli statistici
predittivi circa la corretta sequenza di parole e frasi.
es.: Google Translate sino al 2016. Dopo il 2016
utilizzerà le Neural Machine Translation o
Traduzione automatica basata su reti neurali.
NLP
Traduzione Automatica o Machine Translation
La Neural Machine Translation (NMT) ovvero traduzione automatica neurale è l’ultimo modello di MT.
Utilizza il deep learning per costruire modelli di rete neurali (simulazione del funzionamento del cervello umano) per sviluppare
modelli statistici che svolgono la traduzione.
La NMT tenta di determinare il significato del contenuto sorgente e di replicarlo nella lingua target inviandolo attraverso vari strati
di "neuroni" che lavorano tra loro per determinare la frase più probabile nella lingua target (predizione)
Vantaggi:
• velocità
• economicità
• disponibilità di svariate lingue target
Svantaggi:
• non coglie sfumature né modi di dire
• imprecisione
• non considera il contesto
• necessità di corpora paralleli di grandi dimensione
Speech to Text
Speech to Text o Riconoscimento del linguaggio parlato (Automatic Speech Recognition, ASR), prevede la trascrizione
del parlato attraverso il computer o altri dispositivi: tablet, smartphone
Diversi campi di applicazione:
○ Traduzione automatica;
○ Dettatura;
○ Riconoscimento di comandi vocali;
○ Identificazione del parlante;
○ etc…
Prevede la comunicazione tra parlante e ascoltatore, persona o dispositivo,
secondo 3 costituenti fondamentali:
■il messaggio, cioè informazione inviata,
■il codice, il sistema di segni condiviso da emittente e destinatario,
■il contesto, la situazione nella quale si attua la comunicazione.
Speech
da file audio o
tramite microfono
Conversione del
segnale in digitale
attraverso un
convertitore
Analogico-Digitale
Trascrive il segnale
sotto forma di
testo
Text to Speech
Text to Speech (TTS) è la tecnica mediante la quale un testo scritto viene trasformato in parlato.
Attraverso la sintesi vocale, una voce umana sintetizzata riproduce il testo scritto
proponendo i suoni corrispondenti al testo.
Il sistema hardware e software utilizzato per questo scopo è chiamato
sintetizzatore vocale.
La qualità del sintetizzatore si valuta sia sulla somiglianza con la voce umana sia con il livello di
comprensibilità.
Le parole vengono create attraverso la concatenazione di parole base contenute in un database.
I software TTS possono usare voci diverse, cambiare la velocità di lettura, e variando pronuncia
e intonazione tengono conto di punteggiatura e accenti.
Automatic Speech Recognition
Esistono due approcci all’ASR: uno basato su un insieme di programmi che incorporano un particolare dominio di conoscenza, e uno
basato su sistemi matematici ed è quello che finora ha fornito i risultati migliori.
Un’architettura ASR di tipo matematico è costituita da diverse fasi.
Nella prima fase si effettua l’estrazione delle feature dal segnale vocale e vengono generati dei vettori numerici che contengono le
caratteristiche del segnale.
Una successiva stima della probabilità permette di effettuare una classificazione e i vettori vengono associati ad una classe di
appartenenza. In questa fase viene fatta una prima decodifica utilizzando sistemi quali le reti neurali e i modelli di Markov nascosti
(HMM).
L’ultima fase prevede una decodifica finale che fornisce le parole e le frasi. La decodifica finale parte dalle stime precedenti, che
solitamente hanno una bassa probabilità di essere corrette, e utilizzando sia una grammatica sia un dizionario di riferimento,
ricostruisce la frase corretta.
Il dizionario è una lista di enunciati, mentre la grammatica di riferimento è generata sia dalle regole grammaticali della lingua a cui si
riferisce, sia da un’analisi statistica all’interno del corpus per calcolare la probabilità che una parola sussegua ad un'altra.
Esempio: se la prima parola riconosciuta è casa e la successiva è mia il sistema reputerà plausibile la trascrizione casa mia. Se la
parola successiva fosse stata mela il sistema non avrebbe reputato plausibile la frase “casa mela” perché non presente nella sua
grammatica di riferimento.
Automatic Speech Recognition
Lo stato dell’arte è rappresentato oggi dagli assistenti vocali conversazionali che hanno raggiunto un
livello di qualità tale da porsi quasi allo stesso livello degli esseri umani in termini di riconoscimento vocale
e generazione del parlato.
La generazione del parlato è un processo complesso che consiste nel generare diverse migliaia di valori
che rappresentano il segnale sonoro da una semplice frase.
Attraverso le reti neurali, che hanno sostituito le tradizionali tecnologie, oggi è possibile fornire:
• una migliore qualità del segnale;
• una preparazione più semplice dei dati di addestramento ;
• un tempo di generazione ridotto al punto da poter generare una frase diverse centinaia di volte
più velocemente di quanto farebbe un essere umano.
Automatic Speech Recognition
Assistenti Vocali
Sono sistemi rivolti alla comprensione del linguaggio parlato.
Gli ultimi sviluppi si stanno orientando anche sulle tecnologie capaci di riconoscere le espressioni facciali dell’utente.
Sono basati sull’analisi del contesto di utilizzo del dispositivo.
I più noti assistenti vocali:
Siri (Apple), Google Assistant, Alexa (Amazon), Cortana (Microsoft), Bixby (Samsung)
Nascono inizialmente per i dispositivi mobile e successivamente sono entrati nelle nostre abitazioni.
Sono destinati a rivoluzionare il mondo della comunicazione e delle relazioni entro pochissimi anni.
Sono basati sull’intelligenza artificiale e utilizzano tecnologie di machine learning e di deep learning. Oltre a interpretare il
linguaggio naturale, sono in grado di mettere in atto meccanismi di auto-apprendimento che permettono ai sistemi di adattarsi al
profilo di ciascun utente, in modo da incrementare l’accuracy in base a ciascun contesto di utilizzo.
Alexa
Un esempio per tutti
In Alexa, tramite la personalizzazione di alcuni moduli che ne compongono il sistema, è possibile contestualizzare le
informazioni riguardanti ciascun utente, anche in base al contesto di utilizzo del dispositivo, se in casa, sul lavoro,
durante l’attività ludica o sportiva per differenziare i risultati di una ricerca.
Un esempio: la selezione musicale restituita può essere differenziata sia in base alle preferenze generali ma anche
in base all’attività: ritmata per la corsa, rilassante per la lettura, sinfonica o classica durante il lavoro, etc.
Alcune tecnologie disponibili
Mycroft
Mycroft è un assistente vocale open source è può essere installato su Linux, android o su raspberry pi è ha il vantaggio di essere completamente open source
garantendo in questo modo la privacy dell’utente, al contrario di tanti altri sistemi che utilizzano un cloud remoto, che almeno teoricamente potrebbe registrare tutto ciò
che avviene nelle nostre case.
Il progetto Mycroft è molto giovane, è mantenuto da volontari e anche se al momento non è paragonabile ai concorrenti più noti come Alexa e Google home in termini
di skill da utilizzare, è comunque molto funzionale. Inoltre il codice di Mycroft è disponibile su Github ed è completamente disponibile per chi voglia utilizzarlo per motivi di
sviluppo.
Mycroft è disponibile a partire da questo indirizzo: https://mycroft.ai/?cn-reloaded=1
Google Speech API
Uno sguardo particolare va dato alla Speech API di Google in quanto rappresenta una tra le migliori tecnologie. Converte audio in testo utilizzando il modello delle reti
neurali. Riconosce più di 80 lingue e permette sia la trascrizione mediante dettato sia quella da file audio. Fornisce il testo scritto in real time ed è in grado di gestire segnali
anche in presenza di rumore. Infine funziona su diversi dispositivi, dai tablet ai pc, dai telefoni ai dispositivi IoT.
Attraverso la web speech API di Google è possibile inserire il riconoscimento vocale su qualunque pagina web.
Java Speech API
Un’altra API di interesse è la Java Speech API (JSAPI).
E’ un’interfaccia software multipiattaforma e di facile uso sia per la speech recognition che per la speech synthesis. Per quanto riguarda il riconoscimento vocale, la libreria
supporta una sola lingua e può essere processato un singolo input audio alla volta. E’ adattabile alla voce dell’utilizzatore e le sue grammatiche possono essere aggiornate
continuamente.
E’ costituita da tre pacchetti: javax.speech che contiene classi e interfacce per lo speech engine, javax.speech.synthesis che contiene quelle relative alla parte di sintesi e
infine javax.speech.recognition è il pacchetto riguardante la recognition.
La libreria è disponibile all’indirizzo:
https://docs.oracle.com/cd/E17802_01/products/products/java-media/speech/forDevelopers/jsapi-doc/.
Alcuni esempi
La dimostrazione prevede degli esempi di frase in LIS sulla base dei 120 segni realizzati nel progetto.
Il dataset è stato sviluppato con la consulenza di:
❏ Maria Paola Casula - interprete LIS
❏ Marco Spanu - esperto di video per l'accessibilità e documentarista per il sociale
e con la collaborazione di Alessandra Mura (esperta di lingua e cultura sorda e docente LIS)
I passaggi della dimostrazione riguardano:
❏ Speech to Text;
❏ Analisi sintattica del testo attraverso il parsing sintattico con TreeTagger:
❏ Identificazione dei termini (sostantivi, aggettivi, verbi)
❏ Esecuzione dei video dei segni
Alcune applicazioni
Applicazioni:
• Youtube: sottotitoli e traduzione automatica. Es.: https://www.youtube.com/watch?v=XGf2GcyHPhc
• Hand Talk Translator: https://play.google.com/store/apps/details?id=br.com.handtalk&hl=en&gl=US
• Dattilologia in LIS: https://play.google.com/store/apps/details?id=b4a.ImparaLis
• Dizionario LIS: https://play.google.com/store/apps/details?id=com.euromedia.dizionariolis
• Spread The Sign: https://play.google.com/store/apps/details?id=com.spreadthesign.androidapp_paid&hl=en&gl=US
• Mimix3d: https://play.google.com/store/apps/details?id=com.mindrocketsinc.mimix&hl=en&gl=US
Riferimenti
Bibliografia:
• https://sign-language-processing.github.io/
• Zhao, Liwei, Karin Kipper, William Schuler, Christian Vogler, Norman Badler, and Martha Palmer. 2000. “A Machine
Translation System from English to American Sign Language.” In Conference of the Association for Machine
Translation in the Americas, 54–67. Springer.
• Kaka Khan, Kanaan. (2018). English to Kurdish Rule-based Machine Translation System. UHD Journal of Science
and Technology. 2. 32. 10.21928/uhdjst.v2n2y2018.pp32-39.
• https://opennmt.net/
Grazie !

Living Lab: dall’Italiano parlato alla LIS

  • 1.
    Living Lab: dall’Italianoparlato alla LIS Franco Tuveri (CRS4) - tuveri@crs4.it 18 Maggio 2022 Ufficio per le politiche in favore delle persone con disabilità
  • 2.
    Introduzione Obiettivo Evidenziare le problematichelegate alla traduzione automatica di testi in lingua LIS. Introduzione al: ❏ Trattamento automatico dei testi (NLP - Natural Language Processing) ❏ ASR - Automatic Speech Recognition ❏ Tecnologie legate alla traduzione automatica (Machine Translation) ❏ Strumenti ed esempi di applicazione ❏ Dimostrazione
  • 3.
    Natural Language Processing Introduzioneall’approccio linguistico I Linguaggi Naturali sono i generici linguaggi usati dagli essere umani, non artificiali (es: Esperanto) né formali come i linguaggi di programmazione. Il Natural Language Processing (NLP) descrive i tentativi di utilizzare i computer per processare un linguaggio naturale. L’approccio linguistico alla NLP si basa su diversi livelli di analisi : • Analisi Morfologica: analisi della struttura delle parole • Analisi Sintattica: strutture sintattiche corrette; rifiutare quelle non corrette •Analisi Semantica: associare significato alle strutture (es. “Verdi idee incolori dormono furiosamente”, Chomsky, 1957) • Integrazione del discorso: una frase può dipendere dalle precedenti (es. “Gianni lo voleva”) •Analisi Pragmatica: a volte la struttura va interpretata (es.: “Sai che ora è?” significa “Mi dici l’ora?”)
  • 4.
    NLP Analisi Morfologica La Morfologia(*)è lo studio di come le parole sono costruite a partire da unità atomiche dette morfemi. L’analisi Morfologica di una parola comprende: • il lemma da cui è originata • il numero, la persona, il genere e gli altri parametri grammaticali che la individuano. L’analisi viene fatta per i: • Lemmi verbali, attraverso le desinenze e le regole di flessione • Lemmi non verbali, attraverso le sole desinenze E’ la base di partenza per la fase successiva di analisi sintattica. (*) Dizionario di linguistica – diretto da G.Luigi Beccaria, ed.Einaudi
  • 5.
    NLP Analisi Sintattica Possiamo definirela Sintassi come costituita da: • una grammatica del linguaggio che vogliamo analizzare • un lessico, che contiene le parole del linguaggio • un parser, che interpreta le frasi L'analisi sintattica tramite il parsing sintattico, è una funzione utile a catalogare o identificare le relazioni tra le parti di una frase, ovvero i termini ogli insiemi di termini. Se è possibile costruire due rappresentazioni sintattiche, o parser-tree o alberi sintattici diversi a partire dalla stessa frase e dalla stessa grammatica, la frase è detta sintatticamente ambigua Il parser sintattico, o phrase recognition parser, esegue un'analisi dei costituenti della frase, ad esempio individuando la parte nominale e/o la parte verbale, e analizza come le parole si compongono in unità più grandi, dette sintagmi, e verifica il rispetto delle regole grammaticali.
  • 6.
    NLP Analisi Sintattica: Parsersintattico Il parsing sintattico è il processo di assegnazione di una struttura ad una stringa in base ad una grammatica. Costituisce il processo di analisi sintattica di un testo, realizzato attraverso l’identificazione di un insieme di tokens (es.: le parole) al fine di determinare la struttura grammaticale con riferimento ad una data grammatica formale. Un esempio di parser sintattico è TreeTagger, che effettua l’analisi morfologica e sintattica di una frase: • Esegue il POS (part of speech) Tagging • Individua le possibili strutture sintattiche della frase
  • 7.
    NLP Un parser sintattico:TreeTagger TreeTagger è un tagger ad apprendimento statistico, basato sulla tecnica dei decision tree, che ha bisogno di un corpus di apprendimento e di un lessico della lingua. Permette di effettuare il Part of Speech Tagging, cioè di annotare i termini di un testo con le sue categorie morfo-sintattiche e con il relativo lemma. È stato sviluppato da Helmut Schmid presso l'Istituto di Linguistica Computazionale dell'Università di Stoccarda. TreeTagger è stato utilizzato con successo per codificare diverse lingue come tedesco, inglese, francese, italiano, E’ adattabile anche ad altre lingue, se sono disponibili un lessico e un corpus per il training taggato manualmente. E’ disponibile per i sistemi operativi Windows, Linux e Mac. link: http://localhost:8888/TreeTagger/ parola tag lemma TreeTagger NP TreeTagger is VBZ be easy JJ easy to TO to use VB use . SENT .
  • 8.
    NLP Analisi Semantica “La determinazionedel significato di una frase avviene in diverse fasi successive: nella prima ci si serve solo della struttura sintattica e dei significato delle parole, mentre nella seconda si tiene conto delle frasi precedenti già interpretate, di conoscenze sull'argomento di cui il testo tratta e di conoscenze generiche sul mondo. La prima fase prende il nome di “analisi semantica” [Allen 1995] La Semantica è lo studio del significato delle parole e di come esse si combinano per formare il significato delle frasi. In genere si fa distinzione tra: •Semantica Lessicale (Lexical Semantics) o studio delle relazioni lessicali (sinonimia, iperonimia/iponimia, meronimia, .. ) •Semantica delle frasi (Sentences Semantics) o studio del significato di intere frasi. L'analisi semantica fornisce i corretti significati dei costrutti sintattici individuati dall'analizzatore sintattico e ne risolve l'ambiguità. I termini o le parole vengono sostituiti dagli identificatori del significato in una fase che prende il nome di Word Sense Disambiguation (WSD).
  • 9.
    NLP Esempi di relazionisemantiche Sinonimia: “rapporto tra segni linguistici che hanno lo stesso significato”. es.: cortese = gentile Meronimia “relazione semantica tra nome del tutto e nome di una sua parte” es.: motore è meronimo di automobile Iperonimia / Iponimia “relazione semantica paradigmatica tra termine generico Iperonimo o sovraordinato e uno o più termini specifici o Iponimi” es.: mobile (iperonimo); sedia, tavolo, armadio (iponimi). Antonimia “relazione tra due segni di significato contrario” es.: bello/brutto, amore/odio
  • 10.
    NLP Traduzione Automatica oMachine Translation La traduzione Automatica o Machine Translation è un processo in cui un software analizza un testo sorgente e lo traduce in un’altra lingua senza l’intervento umano. I risultati prodotti da vari sistemi di traduzione automatici fino a pochi anni fa erano spesso discutibili e facevano addirittura sorridere i traduttori. L’avvento dei sistemi neurali nel 2016 ha modificato la situazione, con il passaggio dalle tecniche di Machine Learning alle tecniche di Deep Learning, basate sulle reti neurali È un’applicazione dell’intelligenza artificiale (IA).
  • 11.
    NLP Traduzione Automatica oMachine Translation Due tipi fondamentali di traduttori automatici: ○ traduttori automatici basati su regole ■ costosi da sviluppare; ■ costruiti da linguisti che determinano le regole grammaticali per le lingue di origine e di destinazione ■ es.: Yahoo! BabelFish ○ traduttori automatici basati su “corpora” ■ lavorano su base statistica aggregando enormi quantità di informazioni ■ utilizzano l’ analisi statistica per determinare le corrispondenze tra la lingua di origine e quella di destinazione ■ meno costoso e richiede meno tempo di sviluppo ■ minore qualità ■ es.: Google Translate
  • 12.
    NLP Traduzione Automatica oMachine Translation Sistemi a regole: Questa tipologia di traduzione automatica fu la prima ad essere introdotta. Si basa su regole grammaticali e dizionari bilingue per ogni coppia di lingue sorgente-target. Un dizionario bilingue è utilizzato per selezionare le parole più appropriate nella lingua target. Vengono applicate le regole di sintassi e grammatica della lingua target, le parole prese dal dizionario sono così “declinate” e “coniugate” (genere, numero grammaticale, ordine delle parole, concordanza, ecc.) adeguatamente nella lingua target. La sua efficacia dipende dall’affidabilità dei dizionari e correttezza delle regole sintattiche, semantiche e morfologiche.
  • 13.
    NLP Traduzione Automatica oMachine Translation Sistemi a base statistica funziona tramite corpora di traduzioni esistenti eseguite precedentemente, note come corpora di testo bilingue. un corpus è tipicamente una collezione, per lo più di grande dimensione, di testi orali o scritti prodotti in contesti comunicativi reali (registrazioni di discorsi, articoli di giornale, atti della Comunità europea). Analizza le frasi e genera una traduzione utilizzando sovrapposizioni e i riscontri (match) fra la lingua sorgente e target contenuti nei corpora, utilizzando modelli statistici predittivi circa la corretta sequenza di parole e frasi. es.: Google Translate sino al 2016. Dopo il 2016 utilizzerà le Neural Machine Translation o Traduzione automatica basata su reti neurali.
  • 14.
    NLP Traduzione Automatica oMachine Translation La Neural Machine Translation (NMT) ovvero traduzione automatica neurale è l’ultimo modello di MT. Utilizza il deep learning per costruire modelli di rete neurali (simulazione del funzionamento del cervello umano) per sviluppare modelli statistici che svolgono la traduzione. La NMT tenta di determinare il significato del contenuto sorgente e di replicarlo nella lingua target inviandolo attraverso vari strati di "neuroni" che lavorano tra loro per determinare la frase più probabile nella lingua target (predizione) Vantaggi: • velocità • economicità • disponibilità di svariate lingue target Svantaggi: • non coglie sfumature né modi di dire • imprecisione • non considera il contesto • necessità di corpora paralleli di grandi dimensione
  • 15.
    Speech to Text Speechto Text o Riconoscimento del linguaggio parlato (Automatic Speech Recognition, ASR), prevede la trascrizione del parlato attraverso il computer o altri dispositivi: tablet, smartphone Diversi campi di applicazione: ○ Traduzione automatica; ○ Dettatura; ○ Riconoscimento di comandi vocali; ○ Identificazione del parlante; ○ etc… Prevede la comunicazione tra parlante e ascoltatore, persona o dispositivo, secondo 3 costituenti fondamentali: ■il messaggio, cioè informazione inviata, ■il codice, il sistema di segni condiviso da emittente e destinatario, ■il contesto, la situazione nella quale si attua la comunicazione. Speech da file audio o tramite microfono Conversione del segnale in digitale attraverso un convertitore Analogico-Digitale Trascrive il segnale sotto forma di testo
  • 16.
    Text to Speech Textto Speech (TTS) è la tecnica mediante la quale un testo scritto viene trasformato in parlato. Attraverso la sintesi vocale, una voce umana sintetizzata riproduce il testo scritto proponendo i suoni corrispondenti al testo. Il sistema hardware e software utilizzato per questo scopo è chiamato sintetizzatore vocale. La qualità del sintetizzatore si valuta sia sulla somiglianza con la voce umana sia con il livello di comprensibilità. Le parole vengono create attraverso la concatenazione di parole base contenute in un database. I software TTS possono usare voci diverse, cambiare la velocità di lettura, e variando pronuncia e intonazione tengono conto di punteggiatura e accenti.
  • 17.
    Automatic Speech Recognition Esistonodue approcci all’ASR: uno basato su un insieme di programmi che incorporano un particolare dominio di conoscenza, e uno basato su sistemi matematici ed è quello che finora ha fornito i risultati migliori. Un’architettura ASR di tipo matematico è costituita da diverse fasi. Nella prima fase si effettua l’estrazione delle feature dal segnale vocale e vengono generati dei vettori numerici che contengono le caratteristiche del segnale. Una successiva stima della probabilità permette di effettuare una classificazione e i vettori vengono associati ad una classe di appartenenza. In questa fase viene fatta una prima decodifica utilizzando sistemi quali le reti neurali e i modelli di Markov nascosti (HMM). L’ultima fase prevede una decodifica finale che fornisce le parole e le frasi. La decodifica finale parte dalle stime precedenti, che solitamente hanno una bassa probabilità di essere corrette, e utilizzando sia una grammatica sia un dizionario di riferimento, ricostruisce la frase corretta. Il dizionario è una lista di enunciati, mentre la grammatica di riferimento è generata sia dalle regole grammaticali della lingua a cui si riferisce, sia da un’analisi statistica all’interno del corpus per calcolare la probabilità che una parola sussegua ad un'altra. Esempio: se la prima parola riconosciuta è casa e la successiva è mia il sistema reputerà plausibile la trascrizione casa mia. Se la parola successiva fosse stata mela il sistema non avrebbe reputato plausibile la frase “casa mela” perché non presente nella sua grammatica di riferimento.
  • 18.
    Automatic Speech Recognition Lostato dell’arte è rappresentato oggi dagli assistenti vocali conversazionali che hanno raggiunto un livello di qualità tale da porsi quasi allo stesso livello degli esseri umani in termini di riconoscimento vocale e generazione del parlato. La generazione del parlato è un processo complesso che consiste nel generare diverse migliaia di valori che rappresentano il segnale sonoro da una semplice frase. Attraverso le reti neurali, che hanno sostituito le tradizionali tecnologie, oggi è possibile fornire: • una migliore qualità del segnale; • una preparazione più semplice dei dati di addestramento ; • un tempo di generazione ridotto al punto da poter generare una frase diverse centinaia di volte più velocemente di quanto farebbe un essere umano.
  • 19.
    Automatic Speech Recognition AssistentiVocali Sono sistemi rivolti alla comprensione del linguaggio parlato. Gli ultimi sviluppi si stanno orientando anche sulle tecnologie capaci di riconoscere le espressioni facciali dell’utente. Sono basati sull’analisi del contesto di utilizzo del dispositivo. I più noti assistenti vocali: Siri (Apple), Google Assistant, Alexa (Amazon), Cortana (Microsoft), Bixby (Samsung) Nascono inizialmente per i dispositivi mobile e successivamente sono entrati nelle nostre abitazioni. Sono destinati a rivoluzionare il mondo della comunicazione e delle relazioni entro pochissimi anni. Sono basati sull’intelligenza artificiale e utilizzano tecnologie di machine learning e di deep learning. Oltre a interpretare il linguaggio naturale, sono in grado di mettere in atto meccanismi di auto-apprendimento che permettono ai sistemi di adattarsi al profilo di ciascun utente, in modo da incrementare l’accuracy in base a ciascun contesto di utilizzo.
  • 20.
    Alexa Un esempio pertutti In Alexa, tramite la personalizzazione di alcuni moduli che ne compongono il sistema, è possibile contestualizzare le informazioni riguardanti ciascun utente, anche in base al contesto di utilizzo del dispositivo, se in casa, sul lavoro, durante l’attività ludica o sportiva per differenziare i risultati di una ricerca. Un esempio: la selezione musicale restituita può essere differenziata sia in base alle preferenze generali ma anche in base all’attività: ritmata per la corsa, rilassante per la lettura, sinfonica o classica durante il lavoro, etc.
  • 21.
    Alcune tecnologie disponibili Mycroft Mycroftè un assistente vocale open source è può essere installato su Linux, android o su raspberry pi è ha il vantaggio di essere completamente open source garantendo in questo modo la privacy dell’utente, al contrario di tanti altri sistemi che utilizzano un cloud remoto, che almeno teoricamente potrebbe registrare tutto ciò che avviene nelle nostre case. Il progetto Mycroft è molto giovane, è mantenuto da volontari e anche se al momento non è paragonabile ai concorrenti più noti come Alexa e Google home in termini di skill da utilizzare, è comunque molto funzionale. Inoltre il codice di Mycroft è disponibile su Github ed è completamente disponibile per chi voglia utilizzarlo per motivi di sviluppo. Mycroft è disponibile a partire da questo indirizzo: https://mycroft.ai/?cn-reloaded=1 Google Speech API Uno sguardo particolare va dato alla Speech API di Google in quanto rappresenta una tra le migliori tecnologie. Converte audio in testo utilizzando il modello delle reti neurali. Riconosce più di 80 lingue e permette sia la trascrizione mediante dettato sia quella da file audio. Fornisce il testo scritto in real time ed è in grado di gestire segnali anche in presenza di rumore. Infine funziona su diversi dispositivi, dai tablet ai pc, dai telefoni ai dispositivi IoT. Attraverso la web speech API di Google è possibile inserire il riconoscimento vocale su qualunque pagina web. Java Speech API Un’altra API di interesse è la Java Speech API (JSAPI). E’ un’interfaccia software multipiattaforma e di facile uso sia per la speech recognition che per la speech synthesis. Per quanto riguarda il riconoscimento vocale, la libreria supporta una sola lingua e può essere processato un singolo input audio alla volta. E’ adattabile alla voce dell’utilizzatore e le sue grammatiche possono essere aggiornate continuamente. E’ costituita da tre pacchetti: javax.speech che contiene classi e interfacce per lo speech engine, javax.speech.synthesis che contiene quelle relative alla parte di sintesi e infine javax.speech.recognition è il pacchetto riguardante la recognition. La libreria è disponibile all’indirizzo: https://docs.oracle.com/cd/E17802_01/products/products/java-media/speech/forDevelopers/jsapi-doc/.
  • 22.
    Alcuni esempi La dimostrazioneprevede degli esempi di frase in LIS sulla base dei 120 segni realizzati nel progetto. Il dataset è stato sviluppato con la consulenza di: ❏ Maria Paola Casula - interprete LIS ❏ Marco Spanu - esperto di video per l'accessibilità e documentarista per il sociale e con la collaborazione di Alessandra Mura (esperta di lingua e cultura sorda e docente LIS) I passaggi della dimostrazione riguardano: ❏ Speech to Text; ❏ Analisi sintattica del testo attraverso il parsing sintattico con TreeTagger: ❏ Identificazione dei termini (sostantivi, aggettivi, verbi) ❏ Esecuzione dei video dei segni
  • 23.
    Alcune applicazioni Applicazioni: • Youtube:sottotitoli e traduzione automatica. Es.: https://www.youtube.com/watch?v=XGf2GcyHPhc • Hand Talk Translator: https://play.google.com/store/apps/details?id=br.com.handtalk&hl=en&gl=US • Dattilologia in LIS: https://play.google.com/store/apps/details?id=b4a.ImparaLis • Dizionario LIS: https://play.google.com/store/apps/details?id=com.euromedia.dizionariolis • Spread The Sign: https://play.google.com/store/apps/details?id=com.spreadthesign.androidapp_paid&hl=en&gl=US • Mimix3d: https://play.google.com/store/apps/details?id=com.mindrocketsinc.mimix&hl=en&gl=US
  • 24.
    Riferimenti Bibliografia: • https://sign-language-processing.github.io/ • Zhao,Liwei, Karin Kipper, William Schuler, Christian Vogler, Norman Badler, and Martha Palmer. 2000. “A Machine Translation System from English to American Sign Language.” In Conference of the Association for Machine Translation in the Americas, 54–67. Springer. • Kaka Khan, Kanaan. (2018). English to Kurdish Rule-based Machine Translation System. UHD Journal of Science and Technology. 2. 32. 10.21928/uhdjst.v2n2y2018.pp32-39. • https://opennmt.net/
  • 25.