L’AI sempre più multimodale

L’AI sempre più multimodale

Condividi con i tuoi amici...

La multimodalità è una delle tendenze emergenti nel campo della tecnologia, che grazie all’utilizzo di sistemi di sintesi e riconoscimento vocale e di visione artificiale, sta trasformando la nostra percezione dell’interazione con il mondo digitale e fisico che ci circonda.

Una tecnologia multimodale è sicuramente utile per migliorare l’esperienza utente ma lo è ancora di più per risolvere problemi. Ad esempio, nell’ambito della sicurezza stradale, i sistemi di visione artificiale stanno diventando sempre più frequenti, utilizzati per prevenire gli incidenti, migliorare la percezione degli autisti e aumentare la sicurezza degli occupanti dei veicoli.

I dispositivi diventano sempre più il centro delle interazioni umane; essi sono sempre più numerosi, così come le modalità di interazione: touch, tastiera, mouse, comando vocale, ecc. La multimodalità permette di integrare tali modalità in modo da offrire un’esperienza di utilizzo molto più naturale e intuitiva. Ciò può influenzare diversi settori, come l’e-commerce, la comunicazione, l’assistenza sanitaria, l’educazione, ecc.

Approccio multimodale ai servizi

In ambito sanitario, il riconoscimento vocale e la sintesi vocale possono consentire ai professionisti sanitari di inserire dati medici in modo rapido e affidabile, utilizzando la propria voce. Ad esempio, un medico può utilizzare un’applicazione che, tramite il riconoscimento vocale, consente di registrare e documentare le informazioni di un paziente durante una visita medica. Inoltre, la sintesi vocale può essere utilizzata per leggere informazioni mediche ai pazienti che hanno difficoltà di lettura o di comprensione.

Nell’ambito dell’educazione, la visione artificiale può essere utilizzata per monitorare l’attenzione degli studenti durante le lezioni o per fornire loro feedback in tempo reale tramite l’uso di webcam e computer vision. Ad esempio, un programma di insegnamento online potrebbe utilizzare la visione artificiale per stabilire se uno studente sta seguendo attentamente una lezione o se sta visualizzando altre finestre o applicazioni sullo schermo. Inoltre, la sintesi vocale può essere utilizzata per migliorare l’accessibilità delle informazioni per gli studenti con disabilità visive o uditive, consentendo loro di accedere alle informazioni tramite la voce.

Ci sono moltissimi altri campi di applicazione delle tecnologie multimodali. Per esempio i sistemi di traduzione automatizzata utilizzano il riconoscimento vocale per tradurre i discorsi pronunciati da una persona in una lingua straniera, mentre la sintesi vocale riproduce la traduzione nella lingua target. Ciò può essere utile, ad esempio, per le persone che lavorano in contesti multilingue, o per i turisti che visitano un paese straniero.

I sistemi di chatbot basati sull’Intelligenza Artificiale utilizzano il riconoscimento vocale e la sintesi vocale per interagire con i clienti in modo più naturale e personalizzato. Ad esempio, un assistente virtuale potrebbe essere utilizzato da una compagnia aerea per rispondere alle domande dei propri clienti relative al volo (ad es. orario di partenza, ritardo del volo, ecc).

I sistemi di sicurezza domestica si avvalgono del riconoscimento vocale per distinguere la voce delle persone autorizzate, come ad esempio i membri della famiglia, dagli estranei. La sintesi vocale potrebbe anche essere utilizzata per fornire agli abitanti delle informazioni riguardanti lo stato della casa, come ad esempio la temperatura o le luci lasciate accese.

Applicazioni di sintesi/riconoscimento vocale e visione artificiale

Ecco un breve elenco di servizi online che offrono la sintesi vocale

Google Text-to-Speech è un servizio di sintesi vocale offerto da Google Cloud che consente di convertire testo in voce con alta qualità e realismo.

Amazon Polly è un servizio di sintesi vocale di alta qualità offerto da Amazon Web Services che genera voci che sembrano naturali e umane.

IBM Text to Speech è un servizio di sintesi vocale basato sull’IA, in grado di produrre voci realistiche e naturali, che supporta molteplici lingue e voci.

Microsoft Text-to-Speech è un servizio di sintesi vocale basato su cloud offerto da Microsoft che consente la conversione di testo in parole parlate, comprensibili e naturali.

NaturalReader è un software di sintesi vocale in grado di convertire testo in parole parlate supportando oltre 30 lingue diverse.

ReadSpeaker è un servizio di sintesi vocale cloud, che consente la conversione di testo in voce in tempo reale, adatto per diverse categorie di utenti.

iSpeech è un servizio di sintesi vocale on-line, che consente la conversione di testo in voce con la possibilità di personalizzare le voci e le impostazioni di pronuncia.

Acapela è un servizio di sintesi vocale cloud, che fornisce voci naturali in più di 30 lingue diverse con una grande varietà di registri e stili vocali.

Servizi per il riconoscimento vocale

Google Speech-to-Text è un servizio cloud di riconoscimento vocale di Google che consente di trascrivere in modo preciso qualsiasi audio in testo.

Amazon Transcribe è un servizio di riconoscimento vocale automatico offerto da Amazon Web Services che consente di trascrivere audio in testo con alta precisione e facilità.

Microsoft Speech Recognition è una funzionalità integrata in Windows che consente di convertire voce in testo senza l’ausilio di servizi cloud.

IBM Watson Speech-to-Text è un servizio di riconoscimento vocale avanzato basato sull’IA che consente di trascrivere in testo qualsiasi input audio.

Nuance Dragon Professional è un software di riconoscimento vocale di alta precisione, usato per la creazione di documenti, email e report.

Servizi per la visione artificiale

Amazon Rekognition è un servizio cloud di riconoscimento di immagini e video offerto da Amazon Web Services, che consente di analizzare e identificare oggetti, persone e altro ancora.

Google Cloud Vision API è un servizio di analisi di immagini offerto da Google, che consente di rilevare oggetti, facial recognition e altro ancora.

IBM Watson Visual Recognition è un servizio cloud di rilevamento immagini offerto da IBM, che consente di analizzare e identificare oggetti, facial recognition e altro ancora.

Microsoft Azure Computer Vision è un servizio cloud di analisi di immagini e video, che consente di eseguire rilevamento oggetti, facial recognition, OCR e altro ancora.

Clarifai è un servizio cloud di analisi di immagini basata sull’IA, che consente di riconoscere oggetti, situazioni, luoghi e altro ancora usando tecniche avanzate di deep learning.

Imagga è un servizio cloud di riconoscimento di immagini, che consente di analizzare le immagini, chattare con un’intelligenza artificiale e altro ancora.

RapidAPI Vision è una libreria di API di visione artificiale, che consente di eseguire analisi di immagini, riconoscimento facciale e altro ancora.

La visione artificiale nel marketing

La visione artificiale integrata nell’intelligenza artificiale può essere utilizzata nel marketing per migliorare la rilevanza e l’efficacia delle campagne pubblicitarie.

Ad esempio, un’azienda che vuole pubblicizzare un prodotto può utilizzare un servizio di visione artificiale per analizzare le immagini o i video e riconoscere gli oggetti o le persone presenti al loro interno. Successivamente, una piattaforma di intelligenza artificiale può utilizzare queste informazioni per creare annunci pubblicitari altamente personalizzati, che presentano i prodotti della tua azienda in contesti rilevanti.

Ad esempio, se un’immagine analizzata include una persona che gioca a tennis, la piattaforma di intelligenza artificiale potrebbe utilizzarla per creare un annuncio pubblicitario per racchette da tennis, che mira a utenti con interessi sportivi. In questo modo, la pubblicità diventa molto più mirata e rilevante, aumentando la possibilità di coinvolgere il pubblico e di migliorare le vendite.

Sintesi e riconoscimento vocale per gli sviluppatori

Vuoi creare un’applicazione in grado di parlare e di ascoltare?
Puoi avvalerti delle API messe a disposizione da varie aziende, tra cui Google.

Abbiamo già messo in elenco tra le risorse presenti online questo servizio.

Google Speech è un servizio di riconoscimento vocale completamente gestito e fornito da Google. Si tratta di una API di elevata qualità che consente di trasformare l’audio in testo utilizzando tecnologie avanzate di riconoscimento vocale, machine learning e intelligenza artificiale. Il servizio di Google Speech viene fornito come parte della piattaforma Google Cloud e può essere utilizzato in modo flessibile e scalabile. Le API di Google Speech permettono di integrare funzionalità di riconoscimento vocale all’interno di molti linguaggi di programmazione, piattaforme e servizi.

Se stai programmando in Python puoi usare il modulo speech_recognition di Google. Il modulo si basa sulla stessa tecnologia utilizzata per creare il servizio di riconoscimento vocale di Google Speech, ma viene fornito come un pacchetto software che consente di aggiungere le funzionalità di riconoscimento vocale alle applicazioni Python.

In sintesi, se si sta lavorando su un progetto che richiede l’implementazione di un’interfaccia di riconoscimento vocale all’interno di un’applicazione Python, può essere utile utilizzare il modulo di riconoscimento vocale di Google. Al contrario, se si sta creando un’applicazione completa in un altro linguaggio che richiede funzionalità di riconoscimento vocale, si può utilizzare il servizio di Google Speech API.

Di seguito pubblichiamo un esempio testato di codice python che usa i moduli speech_recognition e pyttsx3 utili rispettivamente per il riconoscimento vocale e la sintesi vocale

import speech_recognition as sr
import pyttsx3
import time

class vocale1():    
    def __init__(self, callback, master=None,):
        self.callback=callback
        self.master=master
        # Creazione di un oggetto recognizer
        self.r = sr.Recognizer()

        # Creazione di un oggetto engine per la sintesi vocale
        self.engine = pyttsx3.init()
        self.engine.setProperty('rate', 160) # Velocità di lettura in parole al minuto (default: 200)

    # Funzione per la sintesi vocale
    def say(self, text):
        self.engine.say(text)
        self.engine.runAndWait()

    #funzione per il riconoscimento vocale
    def ascolto(self):
        text=""
        c=0
        while c<2:
            # Cattura dell'audio dal microfono
            with sr.Microphone() as source:
                self.r.adjust_for_ambient_noise(source, duration=0.3) # Soglia di energia più bassa per migliorare la comprensione della voce

                audio = self.r.listen(source, timeout=15)

                # Utilizzo del sistema di riconoscimento vocale
                try:
                    text = self.r.recognize_google(audio, language='it-IT')
                    break
                except sr.UnknownValueError:
                    c=c+1
                    if c==2:
                        break
                    else:
                        self.say("Non ho sentito. Ripeti per favore")
                    
                except sr.RequestError as e:
                    self.say("Scusa, si è verificato un problema tecnico. Puoi riprovare.")
                
            
        return text

Dopo aver salvato il file con il nome vocale.py, è possibile importare la classe vocale1 in un altro file main.py in cui è presente il seguente codice che crea un’istanza della classe vocale1 e due funzioni associate alla sintesi e al riconoscimento vocale:

from vocale import vocale1
voce=vocale1("t")

def parla(p):
    voce.say(p)
    
def ascolta():
    testo=voce.ascolto()
    return testo

domanda=ascolta()
parla("hai detto"+domanda)

L’obiettivo del codice è di rilevare la voce dell’utente, convertirla in testo e compiere un’azione sulla base del contenuto dell’audio.

La prima cosa che fa il codice è importare tre librerie: speech_recognition, pyttsx3 e time. Successivamente, il codice definisce una classe chiamata vocale.

All’interno della classe, ci sono tre funzioni: init, say e ascolto. Nella funzione init, vengono inizializzati alcuni oggetti, tra cui l’oggetto recognizer che serve per la cattura dell’audio dal microfono e l’oggetto engine per la sintesi vocale.

La funzione say viene utilizzata per leggere il testo in ingresso ad alta voce. Infine, la funzione ascolto serve a catturare l’audio dal microfono dell’utente, utilizzando il sistema di riconoscimento vocale per convertire l’audio in testo.

Le criticità dell’AI multimodale

I sistemi di visione artificiale, riconoscimento e sintesi vocale sono tecnologie sofisticate e promettenti, ma presentano anche alcuni punti critici e rischi che devono essere considerati.

Ecco alcuni esempi di possibili problemi:

  1. Privacy: Alcuni sistemi di visione artificiale possono catturare e archiviare immagini e dati audio degli utenti, il che può rappresentare un rischio per la privacy. Ad esempio, se i dati raccolti da questi sistemi finiscono nelle mani sbagliate, possono essere utilizzati per scopi malevoli come l’hacking o il furto di identità.
  2. Bias: I sistemi di visione artificiale possono essere influenzati da pregiudizi derivanti dai dati di addestramento utilizzati per creare il modello. Ad esempio, una tecnologia di riconoscimento facciale potrebbe avere difficoltà a riconoscere le persone di colore a causa di un addestramento che ha utilizzato solo immagini di persone bianche.
  3. Errori: Anche le tecnologie più avanzate di riconoscimento e sintesi vocale possono commettere errori, soprattutto se incontrano input inaspettati o rumore di fondo. Ad esempio, un assistente virtuale potrebbe interpretare male la richiesta dell’utente o fornire una risposta errata causando frustrazione negli utenti.
  4. Dipendenza: L’utilizzo eccessivo delle tecnologie di riconoscimento e sintesi vocale può portare a una dipendenza da questi sistemi, minando la capacità degli utenti di comunicare in modo efficace e diretto con gli altri.
  5. Responsabilità: Il loro utilizzo può sollevare diverse questioni legali e di responsabilità. Ad esempio, se un assistente virtuale consiglia azioni che causano problemi o danni all’utente, chi è responsabile per i danni?