RICONOSCIMENTO
Premessa: riconoscimento di configurazioni. − I primi tentativi di r. automatico, risalenti agli inizi del 20° secolo, agli anni Dieci e Venti, erano rivolti alla realizzazione di dispositivi capaci di aiutare i ciechi, trasformando in segnali acustici (o tattili) i segnali ottici ottenuti scandendo i caratteri di un testo scritto. Successivamente, con l'estendersi dell'uso di elaboratori elettronici per trattare grandi quantità di dati è stato possibile, dagli anni Cinquanta in poi, disporre di dispositivi capaci di leggere rapidamente ed economicamente caratteri di stampa, più o meno stilizzati, oppure anche caratteri scritti a mano. Contemporaneamente la lettura automatica di tracciati, di segnali come elettrocardiogrammi ed encefalogrammi, ha permesso di riconoscere automaticamente la presenza o l'assenza di certe particolari caratteristiche, significative dal punto di vista medico. In seguito, si è raggiunta anche la capacità di conteggiare automaticamente, in fotografie o figure bidimensionali, eventi interessanti la medicina (per es., conteggio di globuli rossi) o la fisica particellare (rivelazione o conteggio di certi eventi rivelabili con tracce in una fotografia) o la prospezione terrestre a mezzo di satelliti o la scansione degli spazi aerei e marini a mezzo radar, sonar, ecc., per scopi civili o militari. Si è passati, poi, al r. di oggetti in uno spazio tridimensionale e (aggiungendo anche la dimensione tempo) al loro r. in moto e alla predizione della traiettoria. Potremo dire perciò che nell'espressione r. di configurazione il termine ''configurazione'' può essere preso a significare una distribuzione non casuale di elementi, che possono risultare rilevanti per certi scopi. Si può quindi ritenere che il loro r. consista nel rilevare gli elementi e le loro distribuzioni e nell'attribuire le distribuzioni stesse a una di un certo numero di classi (spesso non completamente definite a priori) in modo che il processo di r. può dipendere e adattarsi al contesto in cui ha luogo.
Tipicamente il r. di ciò che è stato detto a voce da una persona potrà dipendere, più o meno, dalla possibilità di assegnare un significato possibile a ciò che viene detto o, più semplicemente, da un suo adattamento al modo di parlare della persona stessa. Analogamente ci potrà essere un processo di r. di un testo manoscritto, che può ''adattarsi'' alla particolare grafìa dello scrivente o che, più ambiziosamente, si fa dipendere dalla possibilità di assegnare un significato a ciò che viene riconosciuto. È chiaro che tali processi di r. richiedono di essere controllati da parte di elaboratori dotati di programmi via via più complessi in rapporto al fatto che il r. sia adattativo o dipenda addirittura dalla ''comprensione'' del contesto.
Quando nel r. del segnale vocale, per es., certe parole o certe frasi sono riconosciute perché se ne riconosce anche il significato, può essere necessario l'uso di tecniche d'intelligenza artificiale. Invece nel caso di r. di pochi suoni tra loro diversi può bastare il solo uso di circuiti relativamente semplici di filtraggio adattativo. Perciò i processi di r. possono avere un'ampia gamma di complessità. Un modo per classificare i tipi di r. potrebbe perciò essere basato sulla complessità del processo relativo che, come detto, cresce quando non basti solo attribuire certe configurazioni a classi nettamente predefinite, ma occorra affinare la distinzione fra tali classi, anche in modo dipendente dal contesto operativo.
Altro modo di classificare i tipi di r. potrebbe essere quello di distinguerli in base al numero di dimensioni in cui si opera, ossia:
r. in una dimensione, come nel caso di r. di segnali che si sviluppano nel tempo (segnali acustici, elettrocardiogrammi, ecc.), oppure di r. di certe parole o frasi in sequenze di caratteri;
r. in due dimensioni, nel caso di r. dello scritto (a stampa o a mano) e di immagini bidimensionali, a colori o con vari toni di grigio;
r. in tre dimensioni di oggetti, posizionati in modo diverso (eventualmente colorati e illuminati diversamente e perciò con ombre) anche in base a rilevazioni da più punti di vista;
r. in quattro dimensioni, come nel caso di r. di oggetti tridimensionali in movimento più o meno complicato, ed eventualmente deformantisi nel tempo.
Nel seguito si tratteranno succintamente alcuni tipi di r.: il r. di segnali vocali (particolarmente interessante ora che i personal computers si vanno dotando della capacità di r. di parole, sia pure pronunciate lettera per lettera), il r. di espressioni in sequenze di simboli (in particolare di caratteri) e il r. visivo.
Bibl.: Per una panoramica delle tecniche fino al 1960: P. Ercoli, Il riconoscimento di configurazioni, in Alta Frequenza, 30, 9 (1961), pp. 619-30; per un'analisi delle tecniche attuali: M. Nadler, E.P. Smith, Pattern recognition engineering, New York 1993; per tecniche specifiche: J.D. Ullmann, Pattern recognition techniques, ivi 1973; K.S. Fu, Syntactic methods in pattern recognition, ivi 1974; J.C. Bezdek, Pattern recognition with fuzzy objective function algorithms, ivi 1981; A. Kandel, Fuzzy techniques in pattern recognition, ivi 1982; T.Y. Young, K.S. Fu, Handbook of pattern recognition and image processing, ivi 1986.
Riconoscimento di segnali vocali. - Il segnale vocale. - La voce appartiene alla categoria dei fenomeni fisici noti come suoni e studiati da quella parte della fisica che è l'acustica. I suoni consistono in una variazione di pressione nel tempo trasmessa da una sorgente all'ambiente circostante. Un suono ''puro'' corrisponde a un'oscillazione periodica del tipo p(t)=Acos(2πft)+Bsen(2πft), dove t è il tempo, f la frequenza, e p la variazione di pressione; i valori dei coefficienti A e B determinano l'intensità del suono. La voce è un suono prodotto dall'apparato vocale umano e in questo caso le variazioni di pressione trasmesse all'ambiente non sono più riconducibli a semplici suoni puri ma alla combinazione di questi e di loro armoniche. Frequenza e intensità sono anch'esse funzioni del tempo.
Modulando in intensità e frequenza e in modo continuo le variazioni di pressione, l'uomo produce un segnale del quale si serve per comporre messaggi. Utilizzando il proprio apparato acustico un altro essere umano decodifica e interpreta il messaggio. In quanto segue verranno esaminati gli aspetti principali e le soluzioni che sono state finora date al problema di costruire dispositivi che, sostituendo l'uomo, siano in grado di ricevere e riconoscere messaggi vocali. Questi dispositivi saranno d'ora in poi chiamati riconoscitori.
L'analisi del segnale vocale è iniziata con lo studio dell'apparato fonatorio umano e con la classificazione dei suoni, che tale apparato (tratto vocale) può emettere, in categorie astratte chiamate fonemi. A ogni fonema corrispondono un particolare assetto del tratto vocale e una particolare modalità di emissione del suono. Essendo le caratteristiche dell'apparato vocale umano indipendenti dalla lingua dei parlanti, l'insieme di tutti i fonemi classificati costituisce un alfabeto fonetico internazionale (IPA, International Phonetic Alphabet). Ogni lingua ne utilizza un particolare sottoinsieme. Per la lingua italiana i fonemi di base sono una trentina (v. fonetica, in questa Appendice).
Conversione elettrica del segnale vocale. - I progressi nell'analisi del segnale vocale e nella costruzione di dispositivi in grado di decodificarlo e interpretarlo si sono avuti quando al segnale come onda di pressione (segnale acustico) si è sostituito il suo equivalente elettrico. Per il suo trattamento, anche se sono stati usati metodi e dispositivi analogici, negli ultimi anni si sono imposti pressoché esclusivamente sistemi di elaborazione (o processori) digitali. Per acquisire il segnale vocale in forma digitale e poterlo quindi trattare con processori digitali occorre, oltre al trasduttore (microfono) che converte l'onda di pressione in segnale elettrico, un dispositivo (convertitore analogico/digitale) che provveda a rendere discreto, nei valori di ampiezza e di tempo, un segnale che è per sua natura continuo. La discretizzazione nel tempo è detta ''campionamento'', la discretizzazione nei valori è detta ''quantizzazione'' (fig. 1). Il procedimento di digitalizzazione trasforma la voce da segnale continuo a una successione di valori (campioni) che rappresentano la configurazione di base dalla quale partire per effettuare il riconoscimento.
Il campionamento è regolato da un teorema che afferma che affinché il segnale discreto conservi tutta la sua informazione dev'essere prelevato con una cadenza non inferiore al doppio della massima frequenza presente nel segnale continuo. Studi sulla fisiologia dell'orecchio umano mostrano che la massima frequenza udibile è attorno ai 20 kHz, quindi occorrono almeno 40.000 campioni/s per discretizzare il segnale senza perdere contenuto d'informazione. Tuttavia il segnale digitalizzato è di buona qualità anche se, dopo opportuno filtraggio, viene campionato a 20.000 campioni/s, mentre nel caso del telefono (banda passante 3,4 kHz) non servono più di 8000 campioni/s. Il dispositivo che dalla successione di segnali discreti rigenera il segnale continuo e lo riproduce attraverso un altoparlante è detto convertitore digitale/analogico. La quantizzazione è il processo che rende discreti i valori dell'intensità del segnale campionato. Poiché nei processori digitali si fa uso di cifre binarie, il numero di livelli L diversi che si possono impiegare per discretizzare è legato al numero di cifre binarie B con le quali si presenta ogni campione, cioè dalla relazione L=2B. Se a ogni livello è assegnato un passo di quantizzazione q costante, il valore massimo del segnale Q è legato a q dalla relazione Q=2Bq. Usando B=8 si ottiene un segnale di buona qualità, portando B a 12 la qualità diventa ottima. In alternativa si può tenere B=8 e usare un passo di quantizzazione q non lineare, ma i vantaggi di una migliore rappresentazione si pagano con un maggior tempo di elaborazione per la conversione (e riconversione).
Complessità del segnale vocale. - Il segnale vocale può essere misurato, in termini di contenuto d'informazione, dal numero di ''unità d'informazione elementare'' contenute in un secondo di segnale. L'idea che il parlante desidera trasmettere con una frase può essere associata al contenuto linguistico e quindi rappresentata nella successione di caratteri che compongono la frase. Data la velocità con cui in media si parla (10÷15 caratteri al secondo) e adoperando la codifica standard che associa 8 bit a ogni carattere, la trasmissione del contenuto di un'idea richiederebbe una quantità media di 100 bit/s. Se campioniamo il segnale acustico con massima fedeltà mediante conversione analogico/digitale, otteniamo oltre 300.000 bit/s: rispetto ai 100 bit/s d'informazione linguistica un segnale 300 volte più abbondante. Dev'essere sottolineato che la voce umana trasporta (rispetto alla parola scritta) informazioni sull'identità (sesso, età, stato d'animo) del parlante e usa coloriture prosodiche che, se da un lato rendono più ricco il messaggio vocale (si pensi alle forme d'arte che fanno uso della voce), dall'altro costituiscono una complicazione: infatti l'obiettivo del r. di voce non è carpire la maggior quantità d'informazione, bensi estrarre dalle varietà di casi individuali le caratteristiche generali comuni. Il segnale vocale è quindi estremamente complesso, può essere ridondante ai fini del trattamento che se ne deve fare, ma si tratta di una ridondanza che prima di essere eliminata dev'essere capita.
Rappresentazione del segnale vocale. - Una prima rappresentazione si ha quando si trasforma linearmente il segnale acustico in segnale elettrico e si rappresenta la variazione d'intensità nel tempo di quest'ultimo segnale. La rappresentazione che così si ottiene prende il nome di ''forma d'onda'' (fig. 1) e, come dice il nome, evidenzia un fenomeno chiaramente oscillatorio e asimmetrico rispetto all'asse dei tempi. Grosso modo si nota una maggiore intensità ed energia del segnale in corrispondenza delle vocali e delle consonanti sonore, tuttavia si tratta di una rappresentazione ancora poco informativa sul contenuto. Diversamente dal linguaggio scritto, il linguaggio parlato non ha l'obbligo d'inserire spazi, in questo caso pause, fra ogni parola. A volte sono individuabili le pause tra parole, ma spesso la successione tra due plosive (doppia ''t'') può produrre un'assenza di segnale anche più lunga di una pausa. Per avere più informazioni si ricorre allo spettrogramma (fig. 2). In questo tipo di rappresentazione si riportano sull'asse delle ascisse i tempi, su quello delle ordinate i valori delle frequenze acustiche e sul terzo asse (in verticale in fig. 2) i valori di energia associati in un certo istante a una certa frequenza. Dallo spettrogramma si ricavano maggiori informazioni di quante se ne possano ricavare dalla forma d'onda. Per es., le vocali e le consonanti sonore rivelano caratteristiche frequenze di risonanza del tratto vocale, dette ''formanti'', le fricative sono più ricche di energia alle alte frequenze, l'assenza di segnale che precede le plosive è più netta.
Lo spettrogramma mostra anche come segmenti di voce corrispondenti allo stesso fonema possano differire tra loro e come sia difficile trovare un criterio per delimitare i fonemi (poco nette le transizioni tra un fonema e il successivo). Se ne deduce che la pronuncia di uno stesso fonema è condizionata dal contesto (fonemi che lo precedono o lo seguono). La produzione di suono da parte di uno stesso parlante è un fenomeno stocastico, nel senso che la stessa parola pronunciata più volte dalla stessa persona sarà ogni volta diversa. Oltre alla mutua influenza tra fonemi (coarticolazione), esiste la mutua influenza tra parole (intonazione associata al significato o prosodia). Il parlato di uno stesso parlante può poi variare, in momenti diversi, perché sono variate le caratteristiche psicologiche o fisiologiche. Anche le diversità di ambiente di registrazione e di distanza del parlante dal microfono durante la registrazione introducono un notevole grado di variabilità. Fra parlanti diversi la complessità cresce ulteriormente, essendovi grande varietà negli aspetti fisiologici (diversità degli apparati fonatori) e sociolinguistici (educazione, ceto).
Trattamento digitale. - Il trattamento del segnale vocale nella sua rappresentazione digitale può essere fatto per scopi diversi. Fra questi: la trasmissione e archiviazione riducendo al massimo la quantità di spazio occupata dal segnale digitalizzato e conservando la qualità; il miglioramento della qualità del segnale vocale (perché affetto da rumore o distorto dal mezzo attraverso il quale è trasmesso); la produzione di voce mediante dispositivi automatici (sintesi vocale) e infine il r. di parlanti e di parlato. Nel seguito verranno trattati solo questi due ultimi argomenti, anche se molte tecniche di analisi e trattamento del segnale sono comuni a tutte le applicazioni elencate. Le configurazioni da sottoporre a r. sono tutte rappresentazioni in forma discreta del segnale vocale, cioè sequenza di numeri. Queste possono essere la serie di valori del segnale campionato e quantizzato ed eventualmente compresso (rappresentazione della forma d'onda, ossia dell'andamento dell'intensità del segnale nel tempo), oppure una successione di altri valori ottenuti applicando ai segnali della forma d'onda determinati tipi di analisi e trasformazioni, che ricavano dall'intensità del segnale altre informazioni caratteristiche. Rappresentazioni particolari sono quelle dette ''parametriche'', nelle quali la successione di numeri è una successione di parametri legati a un modello di produzione della voce. Al segnale vocale, data la sua natura oscillatoria, possono essere applicate le tecniche di analisi armonica che prendono il nome da J.B. Fourier. In particolare in campo digitale è stata studiata una trasformazione che prende il nome di trasformata digitale di Fourier.
Le principali analisi ed elaborazioni che si effettuano sul segnale discretizzato hanno lo scopo di determinare:
a) numero di passaggi per lo zero, nell'unità di tempo, del segnale;
b) andamento del pitch, che è la frequenza fondamentale, la portante caratteristica di ogni individuo, attorno alla quale egli modula la voce;
c) distribuzione di energia nelle diverse bande di frequenza, che aiuta a discernere tra parti sonore e parti sorde del parlato;
d) andamento delle formanti;
e) coefficienti di predizione lineare; anche se il segnale vocale non è di tipo stazionario, si può tuttavia considerarlo tale su brevi intervalli (dell'ordine di 10 millisecondi), così che vale l'approssimazione di considerare il valore del segnale a un certo istante come funzione lineare del valore in istanti precedenti; i coefficienti LPC (Linear Prediction Coding) consentono di realizzare un notevole guadagno nello spazio occupato per rappresentare il segnale.
Riconoscimento dei parlanti. - Riconoscere un parlante significa attribuire correttamente un'emissione vocale (parola o frase) alla persona che l'ha emessa. Si distinguono due tipi di applicazioni:
a) verifica del parlante: si deve stabilire se chi parla è effettivamente colui che afferma di essere; il segnale acustico prelevato è confrontato con uno (o più) esempi della stessa emissione lasciati come riferimento dalla persona interessata; è un procedimento tipicamente usato per accessi di tipo riservato (ambienti bancari, militari, ecc.);
b) identificazione del parlante: ascoltando un'emissione vocale si deve poter dire quale persona l'ha emessa, fra tutte coloro di cui esiste un riferimento; è l'analogo vocale di un sistema di impronte digitali.
I due sistemi utilizzano procedimenti molto simili, ma differiscono nel senso che, mentre il primo è indipendente dalla quantità di persone che hanno depositato la loro impronta vocale, il secondo ne è fortemente dipendente e il r. diventa sempre meno possibile al crescere del numero dei parlanti candidati al riconoscimento.
Riconoscimento del parlato. - L'obiettivo è quello di convertire informazione acustica in informazione scritta o comunque codificata a uso dei sistemi di elaborazione. Il termine ''r.'' non include la ''comprensione'' di quanto viene pronunciato, ma solo la sua trascrizione corretta. Esistono d'altra parte riconoscitori che possono effettuare solo la comprensione, senza dover necessariamente fornire la trascrizione di quanto capito. Il compito di ''capire'' anche soltanto un piccolo vocabolario è tuttavia di gran lunga più complesso di quello di ''trascrivere'' un grande vocabolario. Le applicazioni di comprensione sono di solito caratterizzate da forti restrizioni negli aspetti concettuali che possono essere trattati.
I tipi di riconoscimento. - La complessità del r. viene di solito caratterizzata negli aspetti seguenti.
Dipendenza dal parlante. Un riconoscitore che dipende dal parlante ha bisogno di essere ''addestrato'' prima di effettuare il r. e riconosce solo chi lo ha addestrato. In caso contrario (indipendenza dal parlante) riconosce ogni parlante senza bisogno di addestramento.
Modalità di pronuncia. Le unità vocali da riconoscere possono essere pronunciate una alla volta, attendendo, prima di pronunciare la successiva, che la precedente sia stata riconosciuta (parlato ''isolato''); una alla volta, senza attendere tra parola e parola ma introducendo brevi pause tra le parole, e le pause hanno lo scopo di semplificare il r. perché rendono meno variabile la pronuncia di una stessa parola in dipendenza dal contesto (parlato ''connesso''); nel modo usuale di pronunciare usato nella comunicazione orale, senza pause né attesa (parlato ''continuo'').
Dimensioni del vocabolario. È il numero di unità vocali diverse (parole) che il sistema dev'essere in grado di riconoscere. A esso è direttamente legata la varietà del parlato che viene riconosciuto e quindi il tipo di applicazione.
Tipo di sintassi. La varietà del parlato può essere limitata non solo riducendo il lessico ma anche rendendo più rigida la sintassi, ammettendo cioè di combinare le parole solo in strutture rigide e predefinite. In tal modo il r. è favorito perché si riducono le aspettative e quindi le scelte che durante il processo di r. il riconoscitore deve operare.
Tempo di risposta. Misura l'attesa tra la fine dell'emissione acustica da parte del parlante e la decisione da parte del riconoscitore su quanto è stato pronunciato. Nella quasi totalità delle applicazioni è requisito primario raggiungere il tempo reale: cioè la reazione del riconoscitore dev'essere paragonabile a quella di un interlocutore umano.
Banda di frequenza del segnale. Quanto più il segnale è ricco, nel senso cioè che si distribuisce su una banda di frequenza ampia, tanto meglio le sue caratteristiche sono discriminabili e tanto più il r. è favorito. Riconoscere il parlato attraverso telefono, utilizzando una banda passante di 3,4 kHz, è più difficile che riconoscere il parlato attraverso un microfono che raccolga l'intera banda udibile (fino a 20 kHz).
Qualità del segnale. Il r. funziona tanto meglio quanto più l'ambiente è acusticamente pulito. Il segnale non dev'essere perturbato in intensità e frequenza a causa dell'ambiente o dei trasduttori.
Questi diversi aspetti costituiscono dei vincoli, o dei gradi di libertà secondo il punto di vista, nel r. del segnale vocale. Solo l'uomo riesce a soddisfare al meglio tutti questi vincoli. I sistemi automatici non sono al momento ancora in grado di soddisfarli tutti contemporaneamente.
Tecniche di riconoscimento del parlato. - Dal punto di vista della ricerca, il r. del parlato rappresenta l'ultimo stadio nell'interazione fra l'uomo e la macchina, il meglio in termini di efficienza, libertà e versatilità. L'aspetto più rilevante, nel senso dell'efficienza, è la velocità che può essere raggiunta nell'immettere testo in formato libero (linguaggio naturale) in un sistema di elaborazione, parlando in un microfono invece di dover battere su una tastiera. Contro una velocità media di 100 parole/minuto per chi parla si hanno meno di 30 parole/minuto per chi batte su tastiera. Utilizzando le tecnologie attualmente a disposizione per il r. si possono già raggiungere le 70 parole/minuto. Un altro aspetto dell'efficienza del r. del parlato è l'immunità da errori di ortografia. Come metodologia, il r. del parlato attinge a una grande varietà di discipline. Le sue basi teoriche si servono di contributi provenienti dalla matematica, fisica, psicologia, neurofisiologia, linguistica, elaborazione dei segnali, intelligenza artificiale, teoria dell'informazione, statistica, calcolo delle probabilità e informatica. I calcolatori sono stati usati nel r. del parlato fin dal 1959, quando vennero usati, al posto dei sistemi analogici, per trattare il segnale vocale. Il loro uso è stato fondamentale per lo sviluppo di tale tipo di riconoscimento. Nel corso degli anni Sessanta, ricorrendo a tecniche di confronto di configurazioni (pattern matching) e di estrazione dal segnale di caratteristiche particolari (feature extraction), furono sviluppati sistemi di r. (riconoscitori) in grado di riconoscere da vocabolari di 50÷60 parole. Attorno agli anni Settanta il progresso si fece più spedito grazie a solidi contributi teorici forniti dalla matematica, dall'elettronica e dalla linguistica. Le tecniche usate erano però ancora puramente acustiche. Le parole da riconoscere dovevano essere ripetute diverse volte durante la fase di ''addestramento'' per costituire una base di riferimento per la fase di riconoscimento. Fu sviluppata una tecnica particolare, che faceva ricorso alla programmazione dinamica ed era chiamata dynamic time warping, per tener conto del fatto che la stessa parola non è mai pronunciata nello stesso modo da un dato parlante.
Le decine o centinaia di migliaia di bit che, a ogni secondo, sono il risultato della digitalizzazione debbono essere ridotte a un insieme significativo di parametri acustici che riassumono, per così dire, il segnale. La parte del sistema di r. alla quale è affidato questo compito prende di solito il nome di front end acustico. Le caratteristiche ritenute più significative vengono estratte ogni 10÷20 millisecondi, applicando al segnale una delle tecniche di analisi sopra elencate. Il front end acustico emette quindi con regolarità nel tempo una successione di vettori acustici i cui componenti sono i parametri acustici, definiti in uno spazio a n dimensioni, dove n dipende dal riconoscitore (20 nei più evoluti). I vettori acustici vengono confrontati con quelli di riferimento precedentemente raccolti, analizzati e memorizzati nella fase di addestramento. Il confronto misura il grado di ''vicinanza'' dei vettori con le varie unità vocali da riconoscere, assegna a ciascuna un punteggio e decide per quella che ottiene il punteggio più alto. Le sequenze di vettori acustici di riferimento costruiti in fase di addestramento per ogni singola parola sono detti ''prototipi''. A parità di spazio per conservare in memoria i prototipi, esiste una relazione di proporzionalità inversa tra la grandezza del vocabolario riconosciuto e il numero di volte per cui l'addestramento può essere ripetuto.
Volendo accrescere le dimensioni del vocabolario usato dal riconoscitore, per realizzare per es. applicazioni quali la dettatura automatica di documenti, diventa assai oneroso un addestramento che preveda di dover pronunciare tutte le parole, magari più di una volta. Inoltre, crescendo il numero delle parole, si presentano con assai maggiore frequenza parole acusticamente simili e quindi facilmente confondibili: occorre anche tener conto degli omofoni, cioè delle parole che, pur essendo pronunciate allo stesso modo, si scrivono in modo diverso e hanno diversi significati (per es. ''a'' e ''ha'', ''anno'' e ''hanno''). La trascrizione corretta di un omofono può essere fatta solo dopo un'analisi del contesto. Per far fronte a questi rischi di ambiguità ci si deve servire di un ''modello di linguaggio''. Se, oltre all'aumento del vocabolario, ci si pongono ulteriori obiettivi, quali una maggiore immunità al rumore, l'indipendenza dal parlante, il parlato continuo o altri fra quelli indicati in precedenza, occorre passare a modelli acustici non basati sulla parola come unità di base indivisibile.
Un passo decisivo e importante è stato fatto quando, sia nei modelli acustici sia in quelli di linguaggio, è stato introdotto il concetto di probabilità. I ricercatori dell'università statunitense Carnegie Mellon e del centro T.J. Watson della IBM sono stati i pionieri, a partire dalla metà degli anni Settanta, dell'uso di tecniche probabilistiche. Questo tipo di soluzione al problema del r. del parlato è basato sull'ipotesi che la produzione di voce umana sia un processo di tipo stocastico. Come conseguenza conforme a quest'ipotesi, a ogni evento acustico osservato (parola o parte di parola) può essere associato un valore che ne misura la possibilità di essere prodotto. A questi eventi si possono allora applicare i teoremi del calcolo della probabilità e le leggi della statistica. In particolare, applicando i teoremi della probabilità condizionata, ciò che il calcolatore riconosce (una parola) in corrispondenza a quanto pronunciato da un parlante (una sequenza di suoni) si determina ricercando il massimo, su tutte le possibili parole nel vocabolario del riconoscitore, del prodotto di due probabilità: una probabilità acustica e una probabilità linguistica.
La probabilità acustica è fornita dal cosiddetto Hidden Markov Model (HMM). Tale modello descrive l'emissione acustica associata a una parola come un processo a stati finiti che evolve in istanti discreti di tempo e produce un insieme finito di unità acustiche elementari (un fonema o un suo sottoinsieme). Un modello di questo tipo è associato a ogni parola del vocabolario da riconoscere (fig. 3). Il ricorso agli HMM rende possibile il r. del parlato su grandi vocabolari fornendo uno strumento adeguato a trattare la variabilità e l'ambiguità acustica del parlato umano. La tipica applicazione del riconoscimento del parlato su grandi vocabolari è la dettatura di documenti. La prestazione da conseguire, misurata in percentuale di parole riconosciute, dev'essere maggiore del 95%, dal momento che non può essere ritenuto accettabile che un utente, su 100 parole dettate, ne debba correggere più di 5. Una tale prestazione non può essere conseguita basandosi sulla sola informazione acustica. Infatti, a una data sequenza acustica che gli venga fornita in ingresso, un decodificatore acustico fa corrispondere molte parole del suo vocabolario e i valori di probabilità di queste cadono in un intervallo ristretto. Vi è poi il caso, che abbiamo visto sopra, di parole che si pronunciano allo stesso modo ma si scrivono in modo diverso (omofoni). Ne consegue che un r. del parlato deve prendere le sue decisioni utilizzando oltre alle informazioni di tipo acustico anche quelle di tipo linguistico (fig. 4).
I modelli di linguaggio probabilistici stabiliscono quale sia la parola giusta in un dato contesto considerando la probabilità che ha la parola di apparire in quel punto. Un decodificatore linguistico di questo tipo si serve in effetti di più di un valore di probabilità: la probabilità che la parola ha di apparire per se stessa, quella che ha di apparire dopo una determinata parola che la precede, quella che ha di comparire dopo una coppia di parole precedenti e così di seguito considerando sequenze di parole sempre più lunghe. In un vocabolario di N parole ci saranno dunque N valori di probabilità di singole parole (unigrammi), N × N probabilità di bigrammi (coppie di parole), N × N × N probabilità di trigrammi, ecc. Per un vocabolario di 1000 parole i possibili trigrammi sono un miliardo. Si è visto che considerare sequenze più lunghe dei trigrammi non presenta vantaggi che possano ripagare dei maggiori costi in termini di tempo di calcolo e spazio di memoria necessari. Si è anche notato che i trigrammi che effettivamente si ritrovano nei testi sono assai meno del totale teorico. In ogni caso l'uso di un modello probabilistico di linguaggio aumenta le prestazioni di un riconoscitore su grandi vocabolari dall'80÷85% (sola evidenza acustica) a più del 95%. Per determinare quanto grande debba essere il vocabolario per r. del parlato su grandi vocabolari, si prendono quantità di testo dell'ordine dei milioni di parole, si estraggono tutte le parole diverse contenute nei testi, si determina la frequenza (numero di volte che si presentano) e si classificano in ordine relativo di frequenza. Per ognuna delle parole così classificate si considera anche la sua frequenza cumulativa, cioè la somma della frequenza sua propria più la somma delle frequenze di tutte le parole che la precedono in classifica. L'ultima parola avrà naturalmente frequenza cumulativa pari a 1. Il diagramma che riporta le parole in ordine di frequenza in funzione della frequenza cumulativa (detto ''copertura'', fig. 5) mostra il tipico andamento di una curva di saturazione, dalla quale si vede come il primo 10-20% di parole diverse copra già il 90÷95% di tutto il testo.
Tecnologie per il riconoscimento del parlato. - I sistemi disponibili sul mercato per effettuare in modo automatico il r. sono costituiti da schede installabili su personal computers e da programmi per applicare le tecniche sopra descritte. L'acquisizione di parlato (fig. 4), cioè la funzione di front end che include la conversione analogico-digitale e l'estrazione di vettori acustici, e il successivo confronto dei prototipi richiedono una velocità di elaborazione tale da non poter essere normalmente fornita dai microprocessori standard di un personal. Si ricorre allora all'uso di microprocessori separati e specializzati per l'elaborazione dei segnali (signal processors). Le schede per il r. reperibili attualmente trattano parlato isolato, sono dipendenti dal parlante e consentono vocabolari di centinaia di parole. Volendo essere indipendenti dal parlante, il numero di parole riconosciute scende all'ordine delle decine. Il parlato continuo è consentito da alcuni prodotti, ma si torna alla dipendenza dal parlante e le parole trattate restano dell'ordine delle decine; inoltre la sintassi delle frasi proponibili è rigida. Soprattutto per il parlato isolato le prestazioni sono abbastanza indipendenti dalla lingua, tuttavia le maggiori applicazioni vengono attualmente realizzate nei paesi di lingua inglese. La maggioranza di applicazioni per questi tipi di prodotti si verifica in ambienti industriali, per operatori che, non potendo o non trovando pratico servirsi di una tastiera, immettono brevi e predefiniti comandi, oppure in ambienti di ufficio, dove la voce può rendere più spedito, più naturale e più conveniente sotto l'aspetto mnemonico l'uso di procedure relativamente semplici e ripetitive. I sistemi indipendenti dal parlante trovano impiego soprattutto nei servizi forniti da società telefoniche.
I sistemi di r. del parlato da grandi vocabolari (di complessità e costo superiori ai precedenti) trovano applicazione in quegli ambienti dov'è necessario creare un elevato numero di rapporti scritti e renderli disponibili in breve tempo. È il caso di un ambiente medico, dove il radiologo o il patologo possono dettare, direttamente alla macchina che trascrive, i referti dei loro esami clinici. Per sistemi di questo tipo si ottengono coperture superiori al 98% con vocabolari di 10.000÷15.000 parole (fig. 5). Prodotti in questo campo sono disponibili anche per la lingua italiana. Nel campo del r. del parlato continuo e indipendente dal parlante, sistemi di comprensione con vocabolari relativamente grandi (un migliaio di parole) possono essere realizzati con il vincolo di una sintassi guidata (domande di tipo e contenuto predefiniti).
Bibl.: J.E. Markel, A.H. Gray, Linear prediction of speech, New York 1976; D.B. Fry, The physics of speech, Cambridge 1979; J.L. Flanagan, Speech analysis, synthesis and perception, New York 1983; W. Hess, Pitch determination of speech signals - Algorithms and devices, ivi 1983; D. Sankoff, J.B. Kruskal, Time warps, string edits, and macromolecules: the theory and practice of sequence comparison, Reading (Mass.) 1983; K.W. Church, Phonological parsing in speech recognition, Boston 1987; S. Furui, Digital speech processing-Speech coding, synthesis and recognition, ivi 1989; K.F. Lee, Automatic speech recognition, ivi 1989; P. Pierucci, Architetture sonore, Milano 1993.
Riconoscimento di configurazioni di simboli. - Nell'elabo razione automatica di dati espressi in forma di simboli, il r. di configurazioni gioca un ruolo molto importante. Infatti è al manifestarsi o meno di certe configurazioni nei dati che viene deciso se e quali trasformazioni applicare su di essi. La possibilità d'identificare particolari configurazioni in sequenze di simboli è alla base della programmazione, in particolare nell'analisi dei linguaggi sia naturali che artificiali, nel calcolo algebrico, nei sistemi di deduzione automatica e nei sistemi esperti. Il r. di configurazioni avviene confrontando un opportuno modello con un dato, mediante un procedimento che in inglese prende il nome di pattern matching: una configurazione di simboli viene descritta da un modello (pattern), il modello viene confrontato (match) coi dati. Un modello è una descrizione strutturale di un oggetto, in cui alcune parti possono essere non specificate, cioè il modello può contenere delle parti costanti e altre variabili.
Quale esempio consideriamo l'insieme delle espressioni aritmetiche costituite dai numeri naturali, dai simboli di operazione e dalle parentesi tonde, scritte con le usuali convenzioni dell'algebra elementare. Un modello potrebbe essere il seguente: 2+x·5, in cui 2 e 5 sono costanti numeriche, + è il simbolo di addizione, · quello di moltiplicazione e x un simbolo di variabile che può essere sostituito con qualunque espressione aritmetica. Un modello descrive quindi un sottoinsieme dell'insieme delle espressioni aritmetiche: quello costituito dalle espressioni che presentano la struttura del modello.
Il r. di configurazioni avviene attraverso un confronto che permette di decidere se la configurazione descritta dal modello si presenta o meno nel dato. Per riconoscere il presentarsi di una configurazione si cerca una ''istanziazione'' del modello che sia uguale al dato, o a una sua parte. ''Istanziare'' il modello significa sostituire simultaneamente espressioni al posto delle variabili che in esso compaiono, con l'accorgimento che occorrenze diverse della stessa variabile vengono sostituite con espressioni uguali.
Sempre relativamente all'esempio delle espressioni aritmetiche possiamo dire che 3+3 è un'istanza del modello x+x, mentre 3+2 non lo è. Entrambe le espressioni sono istanze del modello x+y.
Il modello (13+x)·3 si confronta con successo col dato (13+4)·3+27 istanziando x con 4; il confronto con il dato (12+4)·3 fallisce; mentre ha successo due volte il confronto col dato (13+7)·3+2− (13+11)·3 (x è stata istanziata rispettivamente con 7 e con 11) e col dato (13+((13+4)·3)·3. Nell'ultimo esempio si noti che i due confronti positivi sono stati ottenuti istanziando la variabile x una volta con 4 e una con (13+4)·3.
Il r. di configurazioni è un'operazione fondamentale nei sistemi di riscrittura e nei sistemi di produzioni. Entrambi derivano dai sistemi canonici di Post (1943) e si differenziano più per il contesto in cui vengono usati, che per le caratteristiche fondamentali.
I sistemi di riscrittura sono insiemi finiti di regole del tipo: A→B. La precedente regola si legge "A si riscrive con B" oppure "A diventa B"; in essa sia A che B sono dei modelli, eventualmente contenenti variabili, con la restrizione che tutte le variabili che compaiono in B compaiono anche in A. Una regola di riscrittura specifica una trasformazione: supponiamo di voler trasformare un dato D sulla base della regola precedente. Il modello A viene confrontato con il dato D e, nel caso il confronto abbia successo, B viene sostituito al posto di A nel dato (con le opportune istanziazioni delle variabili).
Usando sempre le espressioni aritmetiche come esempio, la regola di riscrittura x+x→2·x è applicabile al dato 7+7−4 e il risultato della trasformazione è 2·7−4. Essa invece non è applicabile al dato 3+2.
Dato un sistema di riscrittura e un dato, più di una regola può essere applicata a esso. Per es., entrambe le regole: x+x→2·x e 1·x→x sono applicabili all'espressione 1·(3+3); applicando la prima otteniamo 1·(2·3), applicando la seconda (all'espressione originale) otteniamo (3+3). Applicando entrambe le regole in un ordine qualunque all'espressione 1·(3+3) otteniamo in ogni caso l'espressione (2·3). Si noti tuttavia che, contrariamente a quanto succede nell'esempio appena mostrato, l'applicazione di una regola può rendere non più applicabile un'altra regola che lo era precedentemente. Si considerino per es. le due regole: x+x→2·x e 0·x→0. Entrambe le regole sono applicabili all'espressione 0·(18+18); se applico la prima regola, la seconda è ancora applicabile al risultato; se viceversa applico la seconda regola al dato di partenza, la prima non è più applicabile al risultato della trasformazione.
Nel semplice esempio mostrato il risultato finale della trasformazione è indipendente dall'ordine di applicazione delle regole; questa proprietà però non è vera in generale. Molti studi sono stati fatti sui sistemi di riscrittura, essenzialmente volti a individuare le caratteristiche che un insieme di regole deve avere per garantire la terminazione del processo di riscrittura e l'indipendenza del risultato dall'ordine di applicazione delle regole (proprietà Church-Rosser).
Il r. di configurazioni gioca un ruolo importante nella programmazione dei sistemi esperti. In quest'ambito infatti si è particolarmente affermato il paradigma di rappresentazione della conoscenza e programmazione basato su regole di produzione. I sistemi di produzione, analogamente ai sistemi di riscrittura, sono insiemi finiti di regole del tipo A→B, in cui A viene detto premessa e B conclusione (o azione). Una regola di produzione si legge come "se A allora B", cioè "se la condizione espressa nella premessa A è vera, allora concludi B" (o "allora esegui l'azione B"). In un sistema esperto la descrizione dello stato del ''mondo'' considerato viene fornita in una memoria di lavoro (i dati). Le premesse delle regole di produzione vengono confrontate coi dati della memoria di lavoro e se il confronto è positivo la regola è applicabile: l'applicazione di una regola produce i suoi effetti modificando e aggiornando la memoria di lavoro.
Tra i più conosciuti linguaggi di programmazione basati su regole di produzione ricordiamo OPS5. Esso incorpora un algoritmo per la risoluzione dei conflitti (nel caso in cui più di una regola sia applicabile in una data situazione) e un elegante algoritmo per il r. di configurazioni progettato da C. Forgy e chiamato Rete. Quest'algoritmo si basa su un'organizzazione delle regole in forma di grafo (una rete, appunto) in cui ogni nodo rappresenta una condizione da verificare, permettendo di eseguire confronti incrementali.
Illustriamo attraverso un esempio cosa s'intende per confronto incrementale. In presenza di due regole
A1 and A2 and A3→B
A1 and A2 and A4→B
dove and è il simbolo di congiunzione logica, se A1 e A2 hanno avuto successo su un dato D, ma A3 ha fallito, la prima regola non è applicabile al dato. Nel verificare se la seconda regola è applicabile a D non si vuole ripetere la verifica di A1 e A2, in quanto si sa già, dal confronto precedente, che sono verificate, ma si vuole solo fare la verifica di A4. Questo è facilitato dall'aver rappresentato le (premesse delle) due regole in un'unica struttura di grafo come viene evidenziato in fig. 6.
In un sistema basato su regole di produzione la soluzione di un dato problema viene costruita attivando regole al presentarsi di certe configurazioni, cioè al verificarsi di certe condizioni. È interessante notare come, a differenza della programmazione più tradizionale, in questo caso non venga seguito un percorso imposto dal programmatore attraverso un'esplicita codifica del controllo. Lo stile di programmazione che ne risulta, introdotto nel PLANNER di C. Hewitt (1972), è detto ''attivazione di procedura guidata da configurazioni'' (pattern directed procedure invocation). Infatti una regola A→B può essere vista come una procedura con intestazione A e corpo B. La procedura viene attivata nel caso in cui la configurazione descritta in A si presenta sui dati a disposizione e non attraverso un'esplicita menzione fatta nel programma chiamante.
Il procedimento di confronto di configurazioni fin qui descritto prende talvolta il nome di semiunificazione, per distinguerlo dall'unificazione. Nella semiunificazione solo il modello contiene delle variabili. L'unificazione invece è un procedimento simmetrico: entrambi gli oggetti del confronto possono contenere variabili e le variabili contenute in entrambi vengono istanziate opportunamente per pervenire a un'unica forma. Basandoci ancora sull'esempio delle espressioni aritmetiche, le espressioni (13+x)·3 e (y+4)·3 unificano. Infatti se sostituiamo 4 al posto di x nella prima espressione e 13 al posto di y nella seconda otteniamo la stessa espressione (13+4)·3. Al contrario, le espressioni (13+x)·3 e (y+4)·4 non unificano. È importante notare come nell'unificazione due espressioni possono essere rese uguali da più di una sostituzione, ma che è (sotto certe condizioni) unica la sostituzione unificante più generale.
Un algoritmo di unificazione è un algoritmo che date due espressioni individua la sostituzione unificante più generale, se essa esiste. Vari algoritmi sono stati proposti in letteratura: di particolare interesse per la sua efficienza è quello di Martelli e Montanari. L'unificazione è alla base del linguaggio PROLOG e dei linguaggi per la programmazione logica (v. logica e informatica, in questa Appendice).
Bibl.: C. Forgy, Rete: a fast algorithm for the many pattern/object match problem, in Journal of Artificial Intelligence, 19, 1 (1982); A. Martelli, U. Montanari, An efficient unification algorithm, in ACM Transactions on Programming Languages and Systems, 4, 2 (1982); Unification, a cura di C. Kirchner, Londra 1990; J. Sieckmann, Unification theory, in Unification, cit.
Riconoscimento visivo. - La visione e l'intelligenza. - Il problema della visione è centrale nello studio dell'intelligenza, sia naturale che artificiale, così come storicamente è stato centrale nel corso dell'analisi filosofica riguardante la conoscenza e più in generale tutti gli aspetti di carattere epistemologico. Ciò deriva dal fatto che la visione rappresenta senza dubbio la più potente risorsa sensoriale del mondo animale, in particolare dell'uomo, e attraverso di essa, secondo la scuola empiristica, viene costruita nella mente gran parte dell'esperienza e della conoscenza sul mondo esterno. Anche se i meccanismi più interni della visione sono tuttora sconosciuti, non vi è dubbio che la capacità di sensorialità visiva costituisca una delle principali funzioni dell'intelligenza, nella quale risiedono procedimenti impliciti di ragionamento fra i più evoluti che la mente possa svolgere.
Si può intendere l'atto del vedere come un processo di elaborazione e interpretazione delle informazioni, ricevute dai sensori retinici situati all'interno dell'occhio, che ha luogo nei corpi genicolati e nella corteccia cerebrale e che produce, come risultato finale, l'interpretazione semantica della scena osservata. Mentre il modo di funzionamento delle fasi di acquisizione dell'informazione caratteristiche dell'occhio è noto su una base sperimentale, ottenuta dallo studio della fisiologia dell'occhio e dei suoi componenti, le trasformazioni più interne che svolgono i compiti interpretativi sono dedotte e ipotizzate solo dall'osservazione del comportamento dell'essere vedente, che, mediante tali interpretazioni, adatta il suo comportamento in modo consistente alle diverse situazioni che incontra nel mondo esterno. Le teorie più recenti sulla visione riconoscono in queste trasformazioni di tipo interpretativo il carattere di vero e proprio ragionamento eseguito sui dati ricevuti, anche se, a differenza di ciò che abitualmente consideriamo come ragionamento, il processo visivo ha luogo a livello subconscio e viene svolto dal cervello in maniera del tutto impercettibile al soggetto che lo sta esercitando.
Lo studio di questi problemi rappresenta un compito di ricerca estremamente stimolante, tant'è vero che i notevoli sforzi fatti per individuare una soluzione, non soltanto ipotetica, non hanno dato ancora risultati significativi. Nell'ambito delle ricerche sull'intelligenza artificiale (v. in questa Appendice), che si propongono di riprodurre nelle macchine facoltà che abitualmente sono attribuite alla mente umana, si è aperta recentemente una nuova via di ricerca e d'investigazione scientifica e tecnologica che si prefigge di dotare la macchina di capacità visive; ciò con il duplice scopo di accrescere, attraverso simulazioni, la comprensione della struttura interna dei processi elaborativi di visione, e nello stesso tempo di costruire sistemi di automazione che, mediante capacità sensoriali evolute, siano in grado di estrinsecare comportamenti altamente autoadattativi rispetto alle situazioni, anche impreviste, nelle quali possono trovarsi a operare. In merito alla possibilità di costruire macchine dotate di capacità sensoriali visive, quando, come si è detto, non si conosce ancora il modello di funzionamento del loro analogo naturale, va osservato che non necessariamente una funzione visiva dev'essere riprodotta in modo del tutto antropomorfo. Del resto, poiché l'evidenza dell'esistenza di una capacità visiva è confermata soltanto dall'osservazione del comportamento esterno del soggetto vedente, si può ritenere possibile costruire capacità sensoriali visive che non assomigliano nella loro realizzazione alle loro analoghe naturali. Nelle comunità scientifiche e tecnologiche che si occupano della visione artificiale questo è l'atteggiamento più ampiamente condiviso.
La visione come processo di elaborazione. - Il processo di visione, sia artificiale che naturale, può essere descritto mediante un modello generale di funzionamento, basato sulla nozione di elaborazione dell'informazione. Secondo tale modello, noto come ''teoria elaborativa della visione'', il funzionamento di una capacità visiva può essere compiutamente descritto attraverso la definizione delle operazioni che trasformano i dati e i simboli presenti nel processo, e della strategia con cui queste trasformazioni vengono internamente eseguite, fino al raggiungimento di un'interpretazione esplicita, compatibile con i dati in ingresso al processo elaborativo. Secondo quest'impostazione un processo di visione può essere schematizzato come segue.
In tale schema, un insieme di trasduttori provvede all'accoppiamento fra il processo sensoriale e il mondo fisico; essi introducono nel processo tutte quelle misure che caratterizzano il mondo esterno osservato. In quest'insieme di misure è contenuta tutta l'informazione di cui il processo visivo dispone per dare un'interpretazione all'osservazione fatta, ovvero per eseguire quello che in termini psicologici è noto come processo percettivo.
Il processo d'interpretazione ha inizio con la fase successiva, durante la quale l'informazione presente nelle misure viene estratta e convertita in una rappresentazione interna, sotto forma di simboli che identificano delle strutture primitive presenti nei dati (immagine) e rendono esplicite quelle relazioni esistenti fra di esse, che sono rilevanti ai fini delle successive operazioni d'interpretazione di livello più astratto. In altri termini, il processo si svolge come se dai dati iniziali si estraessero informazioni e conoscenze fino a essere in grado di riassumere, in un appropriato linguaggio interno della macchina, il contenuto dell'immagine osservata. Questo tipo di riassunto è indicato nello schema di fig. 7 con il termine di ''descrizione simbolica'', e costituisce quello che, nel linguaggio dell'intelligenza artificiale, è noto come ''conoscenza corrente'', in quanto descrive ciò che al momento dell'osservazione il sistema viene ad acquisire di specifico sull'osservato.
Nel successivo processo d'interazione fra ''conoscenza corrente'' e ''conoscenza di lungo termine'', o ''conoscenza del mondo'', che rappresenta l'insieme delle conoscenze che risiedono permanentemente nella memoria dell'osservatore, hanno luogo le fasi del processo elaborativo che porta all'interpretazione finale della scena osservata: in questa fase del processo i simboli costituenti la conoscenza corrente assumono un significato attraverso un procedimento di confronto con quanto già codificato, e quindi noto, nella conoscenza di lungo termine. A partire dal significato che assumono i simboli elementari presenti nella descrizione simbolica, il significato viene via via esteso a strutture più complesse in essa presenti, fino a giungere al significato globale, consistente con la totalità delle cose osservate nella scena, in termini di situazioni già conosciute o da esse deducibili.
Struttura elaborativa di un processo di visione artificiale. - Nel quadro della ricerca scientifica e tecnologica sul problema della visione si possono individuare tre aree principali di studio, che di fatto riguardano tutti gli aspetti di un processo visivo. La prima, puramente metodologica, si occupa d'individuare i ''paradigmi elaborativi'' capaci di ''processare'' l'informazione ottenuta attraverso i trasduttori, per dare luogo al processo percettivo artificiale. In quest'ambito si collocano i temi di ricerca più teorici, che costituicono il fondamento per tutti i successivi sviluppi applicativi. I problemi affrontati spaziano dai metodi matematici di elaborazione e analisi dei segnali, che rappresentano la parte più consolidata dal punto di vista metodologico, fino ai processi cosiddetti di alto livello, nei quali vengono studiati i modi per rappresentare la conoscenza necessaria per la riproduzione artificiale del processo di visione.
Tali paradigmi elaborativi costituiscono la base teorica di riferimento per la ''ricerca algoritmica'', che costituisce la seconda area di ricerca, nella quale i modelli matematici generali prendono l'aspetto formale di specifiche procedure per il trattamento dei segnali e dell'informazione, rigorosamente definite in termini di operazioni elementari e, pertanto, eseguibili da un sistema capace di elaborazione simbolica, qual è un normale calcolatore. Anche in questo caso i risultati relativi ai livelli ''bassi'' di elaborazione del segnale ricevuto dai trasduttori sono abbastanza generali e ben consolidati, mentre, per quanto riguarda i processi di alto livello, esistono soluzioni per problemi specifici, ma non di validità generale.
La terza area di ricerca tecnologica è quella più strettamente legata alla ''struttura della macchina'' che realizzerà la sensorialità, nella quale, cioè, avranno realmente luogo le elaborazioni che la definizione algoritmica comporta. Proprio in questo dominio insorge una problematica tecnologica d'importanza fondamentale per la concreta realizzabilità di sensorialità visive artificiali: la necessità che un canale sensoriale esegua i processi percettivi in ''tempo reale'', ovvero con una rapidità compatibile con la velocità con cui evolvono le condizioni esterne a cui la macchina deve adattarsi. All'esigenza del tempo reale si contrappone la complessità computazionale richiesta da un'elaborazione di tipo sensoriale, che può essere particolarmente elevata nel caso della sensorialità visiva.
Il problema della complessità e del ''tempo reale'' può essere risolto soltanto mediante la realizzazione di sistemi capaci di eseguire le elaborazioni richieste in un tempo estremamente inferiore a quello che sarebbe richiesto da un elaboratore convenzionale. Poiché la velocità di elaborazione di un calcolatore ha un limite superiore, dovuto al limite fisico con cui i segnali si propagano all'interno dei dispositivi e dei collegamenti utilizzati, il problema viene risolto attraverso l'''elaborazione parallela''. L'idea di base consiste nell'osservazione che, in genere, un problema di elevata complessità non è atomico, ma è descrivibile mediante un'appropriata struttura di sottoproblemi non sequenzialmente interdipendenti, i quali, proprio in virtù di questa non sequenzialità intrinseca, possono essere risolti contemporaneamente (in parallelo) da più elaboratori. Secondo le indicazioni derivanti dall'ipotesi elaborativa del processo di visione, nell'ambito scientifico e tecnologico della visione artificiale, è possibile delineare con maggiore dettaglio una sequenza di processi elementari che, nel loro insieme, consentono la realizzazione di funzioni visive, se pure limitate e certamente meno generali di quelle espletate dai sistemi naturali.
L'intero processo di elaborazione può essere ripartito in due sottoprocessi principali, denominati rispettivamente elaborazione di basso livello ed elaborazione di alto livello, che si distinguono per il tipo di processo elaborativo che ha luogo in essi.
La parte indicata come elaborazione di basso livello è preposta all'estrazione dell'informazione, necessaria per l'intero processo di percezione, dai segnali elettrici prodotti dai trasduttori, che, nel caso della visione artificiale, sono telecamere o dispositivi elettro-ottici capaci di catturare immagini del mondo esterno. In altri termini, il fine delle elaborazioni che hanno luogo in questo stadio del processo consiste nella rivelazione ed estrazione di quelle caratteristiche del segnale che sono indicative della presenza nel mondo esterno di qualche fenomeno osservabile, utile ai fini dell'interpretazione, e quindi ai fini del meccanismo percettivo. Questo tipo di elaborazione si basa principalmente su metodi matematici di trasformazione dei segnali catturati dai trasduttori, e generalmente richiede l'esecuzione di un gran numero di operazioni aritmetiche per ciascuna delle immagini acquisite dal sistema. L'elaborazione di alto livello comprende i processi di trattamento dell'informazione dai quali dipende più propriamente il comportamento percettivo del sistema, che è ottenuto attraverso l'analisi comparativa fra quanto rivelato ed estratto dai segnali in ingresso e ciò che è già conosciuto dal sistema, e quindi già rappresentato come conoscenza nella memoria di lungo termine. In questo stadio, l'elaborazione è di tipo prevalentemente simbolico, ed è volta ad analizzare e mettere a confronto le strutture simboliche che rappresentano quanto estratto dall'osservazione del mondo esterno con quelle che, internamente, descrivono situazioni già note. In contrapposizione con quanto avviene negli stadi di basso livello, nei quali l'elaborazione è di tipo strettamente matematico, nelle fasi d'interpretazione prevale il tipo di elaborazione logica, attraverso cui è possibile simulare nella macchina schemi di ragionamento deduttivo, induttivo e analogico.
Elaborazione di basso livello. - Formazione ed elaborazione dell'immagine. Questa parte del processo è preposta all'acquisizione delle immagini dal mondo esterno, e in questo senso ha un ruolo analogo a quello dell'occhio nei sistemi di visione naturali. In particolare, la formazione dell'immagine, che di solito è eseguita da una telecamera, trasforma la misura d'intensità e di colore di ogni punto dell'immagine in un insieme di misure quantitative che descrivono l'immagine stessa per i processi interni al sistema di visione artificiale. In questo modo l'osservazione del mondo esterno viene trasformata in un ''oggetto'' matematico, un insieme di matrici numeriche, sulle quali si possono eseguire operazioni matematiche di trasformazione e di rivelazione, che consentono di rendere esplicita l'informazione in esse contenuta. L'immagine così come formata dai trasduttori è di solito inadeguata per il suo successivo trattamento a causa della presenza del ''rumore'' di acquisizione, e di altre forme di distorsione che ne fanno una grossolana approssimazione della vera immagine del mondo esterno. Si rende quindi necessaria una fase di elaborazione che attenui il più possibile gli effetti di queste ineliminabili anomalie, al fine di preparare per gli stadi successivi del processo una rappresentazione dell'osservazione più adeguata per una stabile estrazione d'informazione e, quindi, per una più affidabile fase d'interpretazione.
Estrazione di informazione dall'immagine. A partire dalle matrici numeriche che sono la rappresentazione interna dell'immagine, si deve estrarre o rendere esplicita l'informazione in esse contenuta. È questo un processo di sintesi, che rivela le strutture pittoriche elementari presenti nell'immagine considerata. Il fine di questa fase di elaborazione è quello di descrivere il contenuto dell'immagine, non più sotto forma di un insieme di misure, ma in termini di strutture in grado di descrivere l'immagine a un livello di astrazione superiore, quali, per es., le regioni uniformi per colore o intensità, i bordi che separano le regioni, la circolarità di linee chiuse, il parallelismo o la perpendicolarità fra segmenti di retta presenti, e così via. S'intuisce che in questo modo si cerca di ottenere ancora una descrizione del contenuto informativo dell'immagine originale, ma con un linguaggio, o una rappresentazione, di tipo simbolico, che si esprime in termini di oggetti geometrici primitivi che, già di per sé, hanno un significato noto per l'intero processo.
Il problema presenta un livello di complessità ancora superiore quando si cerca d'interpretare scene tridimensionali, per le quali il contenuto informativo non è rappresentato con una sola immagine. Il sistema di visione umano risolve questo problema usando la tecnica della stereoscopia, ovvero acquisendo con gli occhi due immagini della stessa scena da due punti di vista lievemente diversi, ed estraendo successivamente l'informazione di profondità dall'analisi delle differenze che queste due immagini presentano. Anche nel caso dei sistemi artificiali si può procedere in modo analogo, utilizzando cioè più immagini della stessa scena, mediante le quali l'informazione di profondità è ottenuta attraverso l'individuazione sulle due immagini degli elementi pittorici corrispondenti. È doveroso ricordare che, nonostante le analogie sembrino suggerire una buona capacità di simulare il comportamento dei sistemi naturali di visione, già questo livello di prima estrazione dell'informazione presenta problemi di notevole difficoltà, tanto che i sistemi artificiali attuali sono in realtà molto specializzati e sono utilizzati in casi applicativi molto specifici.
Elaborazione di alto livello. - In queste fasi del processo di visione ha luogo l'elaborazione propriamente interpretativa il cui fine è quello di esplicitare il contenuto semantico della scena osservata. Ciò significa che il risultato atteso di questa fase è il r. degli oggetti presenti nella scena, l'esplicitazione delle loro relazioni spaziali, e in generale l'interpretazione dei significati che consentono al sistema di visione di determinare comportamenti congruenti con le osservazioni fatte sul mondo esterno. Questo processo, la cui esecuzione è ancora del tutto sconosciuta anche nei sistemi naturali, appare essere di una difficoltà sorprendente. In linea teorica in esso avviene la fase di confronto fra i dati ottenuti dall'elaborazione dell'immagine della scena osservata e la conoscenza del mondo fisico che il sistema già possiede.
Allo stato attuale, per i sistemi artificiali questo problema trova soluzione solo in casi relativamente semplici, nei quali sia sufficiente un insieme di conoscenze ben specificate e quantitativamente limitate, in modo che il confronto necessario per l'analisi della scena esaminata presenti una complessità elaborativa trattabile con i sistemi di elaborazione oggi disponibili. In queste circostanze la descrizione simbolica dell'immagine viene confrontata con le strutture simboliche che fanno parte della conoscenza residente nella memoria del sistema, per dare luogo al loro riconoscimento e, quindi, all'interpretazione dell'intera immagine. La lettura automatica di testi costituisce al momento un esempio tipico di problema che trova soluzioni industriali adeguate per molti settori applicativi. In questo caso la scena osservata è strettamente bidimensionale, mentre la conoscenza di cui il sistema deve disporre, per procedere all'interpretazione dei caratteri scritti, consiste in un repertorio delle possibili grafie con cui i caratteri stessi possono essere rappresentati. La notevole difficoltà che s'incontra nella realizzazione di sistemi di visione generalizzati consiste nel fatto che l'interpretazione di una scena qualunque necessita dell'utilizzazione di una quantità enorme di conoscenze, che comprendono la conoscenza del mondo fisico nel suo complesso, la conoscenza dell'uso che noi facciamo degli oggetti osservati, la conoscenza dei fenomeni d'illuminazione, di proiezioni di ombre e di generazione di immagini riflesse, e di molte altre conoscenze che è perfino difficile elencare.
Applicazioni della visione artificiale. - In materia di applicazioni industriali della sensorialità visiva artificiale si possono distinguere due importanti settori: l'automazione dei servizi e l'automazione industriale. Nel primo settore, la cui rapida espansione è determinata dalle nuove esigenze organizzative della società moderna, si prevedono grandi possibilità di applicazione della sensorialità artificiale, e in particolare di quella visiva. Tra le applicazioni tipiche dell'automazione dei servizi, che già da tempo sono oggetto di importanti applicazioni industriali in tutto il mondo, si può citare la lettura automatica di messaggi scritti, che viene utilizzata nell'automazione dei servizi postali per lo smistamento automatico della corrispondenza e nell'automazione dell'ufficio per la lettura automatica di documenti. In questi casi il risultato raggiunto consiste nella riduzione di lunghe e costose operazioni manuali che si renderebbero necessarie nello svolgimento non automatico di tali compiti. Per quanto riguarda il settore dell'automazione industriale, il problema più frequente riguarda l'automazione dei processi di fabbricazione. Tra le applicazioni di maggior rilievo, la maggior parte delle quali sono ancora in uno stadio sperimentale, si devono citare la manipolazione di oggetti a scopo di assemblaggio meccanico, l'ispezione automatica di processi produttivi, il trasporto con veicoli a guida automatica basata sulla visione.
Esistono ricerche di carattere applicativo in molti altri settori, fra i quali è doveroso citare quello della diagnostica medica, nel quale la visione artificiale può aiutare il medico nell'analisi di immagini mediche o citologiche, e quello della robotica in ambiente ostile, nel quale macchine operatrici necessitano di capacità autonome di autoadattamento all'ambiente esterno nel quale operano.
Bibl.: The psychology of computer vision, a cura di P.H. Winston, New York 1975; D.H. Ballard, C.M. Brown, Computer vision, Englewood Cliffs (New Jersey) 1982; D. Man, Vision: A computational investigation into the human representation and processing of visual information, San Francisco 1982; R. Nevatia, Machine perception, Englewood Cliffs (New Jersey) 1982; A. Rosenfeld, A.C. Kak, Digital picture processing, 2 voll., New York 19822; M.D. Levine, Vision in man and machine, ivi 1985; B.K.P. Horn, Robot vision, Cambridge (Mass.) 1986; F. Mangili, G. Musso, La sensorialità delle macchine, Milano 1992.