Il Sistema BEATRIX per il Riconoscimento Automatico di Testi Manoscritti
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Il Sistema BEATRIX per il Riconoscimento Automatico di Testi Manoscritti B. Lazzerini, F. Marcelloni, L.M. Reyneri, E. Rossi, L. Schiuma Dipartimento di Ingegneria della Informazione Universita di Pisa - Via Diotisalvi, 2 - 56126 PISA Sommario L'articolo introduce il sistema BEATRIX per il riconoscimento automatico dei testi manoscritti, costituito da due sottosistemi fortemente interagenti, basati rispettivamente su un complesso di reti neuronali e su un modulo di intelligenza arti ciale. I due sottosistemi si suddividono i compiti necessari al riconoscimento, ed in particolare le reti neuronali e ettuano un pre-riconoscimento, necessariamente approssimativo, dei singoli caratteri, mentre il sottosistema di intelligenza ar- ti ciale e ettua un'analisi guidata da un vocabolario e da un analizzatore grammaticale, per produrre ipotesi e correggere eventuali errori delle reti neuronali. In una seconda fase il sistema, sull'evidenza del riconoscimento di un suciente numero di parole e di frasi, riaddestra le reti neuronali con le ipotesi prodotte, migliorando quindi la capacita del sistema stesso di riconoscere la speci ca calligra a presa in esame. Questo addestramento migliora ogni successivo riconoscimento del sistema. 1 Introduzione Il riconoscimento del testo manoscritto [1, 2, 3] e un problema tanto complesso quanto strategica- mente importante. Si considerino ad esempio l'archiviazione e la ricerca automatica di documenti manoscritti, la lettura e il controllo incrociato di moduli compilati manualmente, il riconosci- mento automatico dell'indirizzo o del C.A.P. sulle buste, l'interfaccia utente dei computer tipo \pen-point", ecc. La complessita del problema e dovuta a diversi fattori, fra cui: l'estrema variabilita delle calligra e di mani diverse, la variabilita col tempo della calligra a di una stessa mano, l'elevata similitudine di alcune lettere fra loro e la dimensione variabile dei caratteri scritti a mano. Finora il problema e stato a rontato con le tecniche piu svariate, che prevedono comunque di spezzare il problema in sottoproblemi piu semplici e quindi di complessita piu trattabile. Solitamente un testo viene letto sotto forma di bit-map da uno scanner, le parole vengono isolate e segmentate in singole lettere e riconosciute tramite o tecniche neuronali [4, 5] o tecniche di analisi delle caratteristiche morfologiche e dei gra di connessione dei singoli tratti elementari. Tutte queste tecniche danno risultati assai variabili a seconda della calligra a esaminata. Errori vengono introdotti sia dal processo di segmentazione che da quello di riconoscimento. Sono stati studiati metodi per migliorare i risultati ottenuti, ma in ogni caso il tasso di riconoscimento e assai minore del 100%. I motivi di tali prestazioni ridotte risultano evidenti esaminando un qualunque alfabeto manoscritto, pur \facile", da cui appare evidente come alcune lettere risultino indistinguibili anche dall'occhio umano stesso. Risultati migliori si possono ottenere nel caso si addestri il sistema a riconoscere una cal- ligra a particolare (ad es. nel caso di computer pen-point), ma in questo modo si perde molto in generalita.
Essendo spesso necessario riconoscere un testo senza commettere errori, occorre adottare al- tre tecniche di riduzione dell'errore, ad esempio sfruttando la ridondanza presente nella maggior parte dei testi manoscritti (tipicamente tutti i testi di tipo discorsivo), ovvero la ridondanza dovuta all'utilizzo di un vocabolario di dimensione nita e di una certa serie di regole grammat- icali. Diversi lavori hanno analizzato la possibilita di sfruttare la ridondanza lessicale e grammat- icale per migliorare il tasso di riconoscimento di un sistema di lettura automatica. Scopo di questo lavoro e quello di integrare i vari metodi proposti in un sistema unico, che da un lato riconosca il testo di un qualunque scrittore e dall'altro impari dal testo stesso a riconoscere le particolarita della calligra a speci ca, aumentando di conseguenza il grado di adabilita di ogni ulteriore riconoscimento. Per fare cio e stato necessario far interagire strettamente le varie tecniche utilizzate e, in par- ticolare, un complesso di reti neuronali ed un analizzatore lessicale e grammaticale. Un intenso usso di dati fra i due sistemi e necessario per trasferire la maggior quantita di informazione dal modulo neuronale all'analizzatore e per permettere che quest'ultimo, sulla base delle sue ipotesi, possa addestrare le reti neuronali alla particolare calligra a. I risultati ottenuti, anche se preliminari, sono assai confortanti e giusti cano la prosecuzione del lavoro. 2 Descrizione Generale del Sistema BEATRIX Il sistema BEATRIX e composto da piu blocchi strettamente interconnessi, come visibile in g. 1. Il sistema analizza un testo manoscritto a livello di frasi e/o pagine. Una pagina e considerata come una sequenza ordinata di parole, chiaramente separate e disposte geometricamente su linee ideali approssimativamente orizzontali. Questa ipotesi sempli ca lievemente il problema della separazione delle parole. Il testo e codi cato come bit-map di risoluzione suciente per poter distinguere corretta- mente i singoli caratteri (tipicamente 75 dpi). Facendo riferimento allo schema di g. 1, si suppone che il testo venga fornito dal blocco PAGINA, che puo essere indi erentemente uno scan- ner, un le, o la memoria RAM del sistema, a seconda dei casi. Per gli scopi di questo lavoro, una pagina si considera composta da piu righe di lunghezza nota e si suppone che nessuna parola sia stata spezzata su due linee consecutive. Un CONTROLLORE DI SCANSIONE fornisce le coordinate geometriche della parola (dette \co- ordinate di parola") che di volta in volta viene sottoposta ad elaborazione, partendo inizialmente dalla prima parola in alto a sinistra (coordinate (0,0)). Dopo che una parola e stata elaborata completamente, il CONTROLLORE DI SCANSIONE fornisce le coordinate stimate della parola suc- cessiva (ricavate per traslazione dalle coordinate della parola precedente). Per ridurre la complessita del sistema, la rete neuronale riceve al suo ingresso solo una porzione limitata, detta \ nestra", del bit-map della parola. La dimensione della nestra (at- tualmente di 22 22 pixel) e suciente per contenere almeno una lettera, aancata su ciascun lato da una lettera adiacente. Il blocco PAGINA fornisce la parola desiderata Pj , separata dal resto della pagina, al successivo blocco SCANNER, che ne isola una nestra alla volta. Durante l'elaborazione di una parola Pj , il CONTROLLORE DI SCANSIONE fornisce sequenzial- mente allo SCANNER una \coordinata di nestra" x crescente, tale da scandire tutta la parola, da sinistra a destra, in incrementi di uno o piu pixel alla volta. Lo SCANNER fornisce di volta in volta la nestra F (x) centrata attorno alla coordinata x. La nestra selezionata F (x) viene elaborata dalla RETE NEURONALE (descritta in dettaglio nel par. 3), che fornisce: 1. una lista di ipotesi L(x), relative alle possibili lettere riconoscibili al centro della nestra;
Figure 1: schema a blocchi del sistema BEATRIX 2. un valore di \energia" E (x) (calcolata dal blocco STIMA ENERGIA) che tende ad essere massima quando la nestra e correttamente posizionata attorno ad un carattere. Il CONTROLLORE DI SCANSIONE identi ca la coordinata x relativa al massimo dell'energia E (x) e, in corrispondenza di esso, segnala al blocco CAMPIONATORE di campionare la lista delle ipotesi. La lista campionata dovrebbe idealmente avere tanti campioni quante sono le lettere che compongono la parola. La suddetta lista viene inviata al blocco SOTTOSISTEMA IA (descritto in dettaglio nel par. 4) che la analizza lessicalmente e grammaticalmente, elaborando ipotesi sulla base di un vocabo- lario. Il SOTTOSISTEMA IA fornisce in uscita una ipotesi sulla parola riconosciuta, o eventual- mente una lista delle ipotesi piu probabili. Se il SOTTOSISTEMA IA reputa probabile che una delle ipotesi avanzate dalla rete neuronale sia poco realistica, puo richiedere al CONTROLLORE DI SCANSIONE di riesaminare una o piu lettere della parola. Per il momento tale funzione non e ancora stata implementata. Le \azioni" che potranno essere richieste saranno le seguenti: 1. rielaborare una singola lettera, ad esempio utilizzando una di erente rete neuronale, o pesando in maniera di erente le sottoreti del raggruppamento (vedi par. 3); 2. tentare di riesaminare una lettera, inizialmente ipotizzata come singola, come due lettere diverse aancate;
3. tentare di riesaminare due lettere aancate, inizialmente ipotizzate come separate, come una unica lettera. Al termine dell'elaborazione di una parola, quando il SOTTOSISTEMA IA ritiene di non poter ulteriormente migliorare il riconoscimento proposto, questo fornisce al CONTROLLORE DI SCANSIONE un segnale di \Fine Elaborazione Parola", iniziando l'elaborazione della parola successiva. Con- seguentemente il CONTROLLORE DI SCANSIONE incrementa le coordinate di parola e ripete i passi descritti in precedenza per la parola successiva. Parallelamente il blocco MEMORIA PAROLE STIMATE memorizza l'elenco delle parole piu prob- abili, cos come stimate dal SOTTOSISTEMA IA. Questo elenco rappresenta la miglior stima e et- tuabile, sulla sola base del testo in ingresso, del contenuto del testo stesso. In una seconda fase si utilizza l'elenco delle parole memorizzate per il riaddestramento della rete neuronale. Si forniscono nuovamente alla rete le nestre F (x) e le corrispondenti ipotesi prodotte dal SOTTOSISTEMA IA. Un algoritmo di apprendimento supervisionato provvede a cor- reggere i pesi della rete in modo opportuno. Cos facendo si migliora l'ecacia di riconoscimento della rete per la particolare calligra a presa in esame. La probabilita di corretto riconoscimento aumenta, come per tutti i riconoscitori addestrati con un'unica calligra a (vedi par. 5), anche se la capacita di generalizzazione della rete si riduce conseguentemente. Al ne di mantenere contemporaneamente un'elevata capacita di generalizzazione ed un'elevato tasso di riconoscimento per la particolare calligra a, si e pensato di utilizzare un complesso di reti neuronali e di riaddestrare solo una delle sottoreti, mantenendo inalterate le altre (vedi par. 3.4). 3 Rete Neuronale: Descrizione e Risultati Preliminari La struttura della Rete Neuronale (RN) utilizzata in questo lavoro per il riconoscimento del testo manoscritto risulta abbastanza semplice, soprattutto se confrontata con reti interamente dedicate alla risoluzione del problema [1, 5] che comunque, ad elevate prestazioni, uniscono architetture complicate e dunque dicilmente implementabili. Grazie all'interfacciamento con il sottosistema IA, si sono potute utilizzare strutture e topolo- gie di rete non completamente dedicate (dunque piu facilmente gestibili), ma comunque in grado di avere prestazioni accettabili autoadattandosi al tipo di scrittura esaminato. In realta la rete neuronale e costituita da un complesso di reti che di eriscono per il diverso addestramento e le cui uscite sono integrate per fornire un risultato al sottosistema IA. In questo paragrafo vengono descritte l'architettura della RN e le metodologie adottate per il suo apprendimento rimandando comunque alla letteratura per approfondimenti e chiarimenti. 3.1 Architettura della rete La struttura generale della RN e basata su un'architettura di tipo misto a due strati, come visibile in g. 2. Il primo strato consta di una Radial Basis Function modi cata (RBF) mentre il secondo di una Back Propagation (BP). La scelta di queste due architetture e conseguente ad un'attenta analisi delle loro caratteris- tiche e delle loro prestazioni [2]. La RBF standard unisce ad elevate capacita di classi cazione dei pattern di ingresso una struttura relativamente semplice, organizzando autonomamente i pesi associati alle varie unita (neuroni). La BP consente, mediante l'apprendimento supervisionato, di adattare l'uscita reale della RN a quella ideale minimizzando l'errore grazie ad un ecace algoritmo di correzione dei pesi [6, 7]. Per quanto riguarda la RBF, essa e stata adattata al riconoscimento dei caratteri ortogra ci, modi cando gli algoritmi di inizializzazione dei pesi sinaptici e di addestramento della rete;
l'architettura della BP e le metodologie di addestramento sono invece rimaste inalterate rispetto alla letteratura esaminata [6, 7]. Figure 2: schema generale della RN L'ingresso del sistema e una matrice di 22 22 pixel contenente l'immagine digitalizzata a 16 livelli di grigio del carattere da riconoscere (numeri, lettere minuscole, lettere maiuscole) come illustrato nella g. 3. L'uscita e un vettore di 62 elementi (10 numeri e 52 lettere tra minuscole e maiuscole). Figure 3: immagine digitalizzata di cifre e lettere di un alfabeto del training set 3.2 Sottorete RBF A di erenza della BP, la RBF consente mappaggi fortemente non lineari dei pattern di ingresso, con tempi di apprendimento relativamente brevi [8]. Con opportune scelte sia del numero dei neuroni nascosti della rete, sia della inizializzazione dei centri (vettori associati ad ogni neurone nascosto), e possibile ottenere un'ecace classi cazione dei pattern di ingresso. La struttura dello strato RBF della RN e rappresentata in g. 4. L'uscita dallo strato nascosto della RBF, e calcolata secondo la formula seguente: ui = (k~x , y~i k) ; (1) dove ~x e y~i sono rispettivamente il vettore d'ingresso alla RBF e il vettore del centro associato al neurone i-esimo dello strato nascosto, k k rappresenta la distanza Euclidea tra ~x e y~i , e una funzione gaussiana non lineare. Normalmente () assume la forma seguente: (z ) = e,( )2 ; z (2) dove e un'opportuna costante che puo variare da un neurone all'altro. Le uscite del primo strato sono raggruppate in L gruppi di NL neuroni ciascuno. Ogni gruppo e associato logicamente ad una ed una sola lettera dell'alfabeto (ad es. L = 26 lettere, da `a' a `z' nell'esempio considerato, mentre NL e variabile da 6 a 10). All'uscita dello strato nascosto RBF abbiamo dunque un vettore di NL L unita. L'uscita dello strato nascosto della RBF costituisce l'ingresso per un secondo strato la cui uscita e formata da L neuroni collegati come in g. 4. Ciascun neurone del secondo strato e connesso soltanto agli NL neuroni dello strato nascosto relativi ad uno stesso carattere.
Figure 4: architettura dello strato RBF della RN La funzione di attivazione di ogni neurone in uscita dalla RBF e la somma quadratica dei valori di attivazione di tutti i neuroni con i quali e collegato. Tale soluzione si e rivelata piu attendibile rispetto ad un approccio \winner-takes-all", in quanto consente un piu ecace sfrut- tamento delle informazioni a disposizione [3]. Il valore di attivazione di ogni neurone in uscita dalla RBF puo considerarsi dunque un \valore energetico di riconoscimento" del carattere pre- sente in ingresso. Un'importante considerazione inerente alla con gurazione della RBF riguarda il numero dei centri necessari alla rete per una ecace classi cazione. Una scelta naturale sembra essere quella di avere un centro per ciascun dei vettori del training set (o di un suo sottoinsieme) [8, 9]. Tale soluzione ha comunque il problema di determinare una eccessiva dimensione della rete stessa e di perdere in generalita. Prove e ettuate su un campione di lettere minuscole hanno portato a diverse soluzioni per ovviare agli inconvenienti sopra citati. Fissato un certo numero NL di neuroni nascosti per ogni singola lettera, le metodologie di inizializzazione dei centri sono state fondamentalmente due: tipo D suddividere tutti i vettori di ingresso relativi alla stessa lettera (ma scritta con diverse cal- ligra e) in NL gruppi (ovvero tanti quanti sono i neuroni nascosti per lettera), associare un gruppo a ciascun neurone ed inizializzare il corrispondente centro con il vettore risultante dal calcolo della media degli ingressi appartenenti al rispettivo gruppo; tipo M inizializzare i centri relativi ad ogni singola lettera con gruppi di campioni di ciascuna lettera che sono risultati piu' distanti tra loro. Il conseguente apprendimento della RBF e stato un ibrido tra il metodo supervisionato (tipo BP) e il metodo di autoorganizzazione dei pesi (tipo Kohonen [7]) in quanto e stato dimostrato come un tale addestramento consenta una ulteriore velocizzazione delle operazioni di apprendimento, assicurando una \localita" della correzione dei centri [9, 13, 14]. In pratica durante l'apprendimento vengono calcolate solamente le uscite dallo strato nascosto associate alla lettera presentata in ingresso; il centro relativo al neurone con il piu elevato valore di attivazione viene poi aggiornato calcolandone una media pesata con il vettore in ingresso. Il lavoro e ettuato ha portato alla implementazione di diverse reti RBF che si di erenziano in base al numero di centri e al tipo di addestramento che e stato adottato. Considerando singole lettere prodotte dalla segmentazione delle parole, in un training set di 100 alfabeti scritti con
calligra e di erenti (circa 2000 pattern di ingresso) e un test set di 200 alfabeti (circa 4000 pattern), si sono ottenute percentuali di riconoscimento in media intorno al 57% (vedi tab. 1). Tale risultato e confortante, soprattutto considerando la dimensione ridotta delle reti adottate e la presenza dello strato BP in cascata, che migliora ulteriormente il tasso di riconoscimento, come descritto in seguito. RETE NL Inizializz. NL L Sinapsi Tasso Riconosc. D6 6 D 156 75.500 55.7% D8 8 D 208 100.600 57.5% M6 6 M 156 75.500 53.3% M8 8 M 208 100.600 54.6% Table 1: dimensione e prestazioni delle reti RBF utilizzate 3.3 Sottorete BP Lo strato di BP messo in cascata alla RBF nella RN e una classica architettura monostrato addestrata mediante l'autoadattamento del learning rate e del momento [6, 7] in modo da poter velocizzare le operazioni di apprendimento che, per quanto riguarda questo tipo di rete, sono particolarmente lunghe e laboriose [10]. Da primi risultati ottenuti su un campione di caratteri notevolmente piu piccolo rispetto a quello di test della RBF, si e potuto constatare come la percentuale di riconoscimento della RN risulti migliorata rispetto al pimo strato di un fattore pari al 7-8%. Il risultato sarebbe inoltre migliorabile inserendo in cascata alla RBF una BP a due strati con un numero abbastanza elevato di neuroni nascosti, ma questo renderebbe complicata una rete che per sua natura deve avere nella semplicita di realizzazione una delle caratteristiche principali. 3.4 Complesso di reti neuronali Il complesso di reti neuronali e formato dalla RN descritta precedentemente integrata, per quanto riguarda la RBF, con altre due sottoreti strutturalmente simili a quella illustrata nel par. 3.2, ma addestrate con pattern di erenti. Le attivazioni di uscita dei neuroni relativi allo stesso carattere e appartenenti alle diverse sottoreti sono poi elaborate da una rete combinatoria (ad es. calcolando la media pesata). Le diverse reti di eriscono per il training set utilizzato: 1. il training set della prima sottorete e un insieme di circa 2000 pattern contenenti singoli caratteri isolati; 2. il training set della seconda sottorete e un insieme di circa 2000 pattern contenenti singoli caratteri aancati ad altri (overlapping); 3. la terza sottorete viene invece addestrata con il pattern costituito dalle nestre F(x) (vedi par. 2) ed il target imposto dal sistema IA, risultato delle operazioni descritte nel par. 4. L'apprendimento delle prime due sottoreti si e rivelato utile nell'operazione di scansione dei bit-map per distinguere univocamente, all'interno di ogni nestra, una lettera anche se 'sporcata' dalla presenza delle lettere adiacenti [4]. In pratica, durante la comunicazione tra i due sottosistemi, vengono modi cati soltanto i centri della terza sottorete, che e dunque dedicata principalmente al riconoscimento della particolare calligra a analizzata. Cio comporta un miglioramento del tasso di riconoscimento, mantenendo un'elevata capacita di generalizzazione (vedi par. 5).
4 Sottosistema IA: Descrizione e Risultati Preliminari La RN e strettamente interconnessa con il sottosistema IA, rappresentato in g. 5. La comu- nicazione tra i due sottosistemi avviene trasferendo, per ogni picco di energia E(x), le seguenti informazioni: 1. la distanza in pixel del picco energetico attuale dal picco precedente, e 2. una lista ordinata di coppie (cn , en ), dove cn e un carattere riconosciuto al centro della nestra ed en e il valore energetico di riconoscimento associato al carattere. Un valore alto di en e indice di un'elevata probabilita di corretto riconoscimento del carattere associato. Il numero N di elementi della lista, ordinati per valori energetici descrescenti, puo essere stabilito dall'utente o ssato automaticamente dal sistema (tipicamente, tale numero e 10). Figure 5: schema del sottosistema IA Quando tutte le nestre relative ad una parola sono state successivamente analizzate, il blocco ALTERNATIVE genera (secondo modalita dettagliate in seguito) una possibile alternativa di riconoscimento per la corrispondente parola in ingresso al sistema. Un'alternativa e una combinazione di caratteri alla quale e associato un indice IR (un decimale positivo non superiore alla somma dei valori energetici massimi associati ad ogni nestra analizzata) che rappresenta il grado di riconoscimento dell'alternativa. L'alternativa viene inviata al blocco VOCABOLARIO che veri ca se essa coincide con una parola nel vocabolario. In caso a ermativo la parola viene
memorizzata in una pila. Altrimenti, l'alternativa viene fatta elaborare dal FILTRO, che la ripulisce da eventuali sussi restituendola in forma adatta alla ricerca nel vocabolario. Ad esempio, vengono eliminati i sussi che servono per costruire il plurale dei sostantivi, le forme comparative e superlative degli aggettivi, alcune forme dei verbi regolari, ecc. Se anche dopo essere stata elaborata dal FILTRO l'alternativa non coincide con una parola nel vocabolario, l'alternativa viene scartata. In ogni caso, sia che l'alternativa sia stata memorizzata nella pila sia che sia stata scartata, il blocco VOCABOLARIO chiede al blocco ALTERNATIVE di generare una successiva alternativa. Tale alternativa e quella con indice IR piu alto tra tutte le possibili alternative non ancora elaborate. In questo modo si attiva un ciclo che termina al veri carsi di una delle seguenti condizioni: 1. se prima dello scadere di un intervallo di tempo pari a t, ssato dall'utente, esattamente cinque alternative coincidono con cinque parole nel vocabolario; 2. allo scadere dell'intervallo t, si e trovata almeno una parola del vocabolario coincidente con un'alternativa. Se nessuna delle condizioni 1 o 2 si veri ca, la ricerca continua nche almeno una delle alternative viene trovata nel vocabolario. Al termine del ciclo, ogni alternativa presente nella pila viene elaborata dall'ANALIZZATORE LARGHEZZE che, in primo luogo, attribuisce una larghezza ad ogni carattere che costituisce l'alternativa. Tale larghezza e calcolata come la media delle distanze tra la nestra relativa al carattere e, rispettivamente, le nestre successiva e precedente. In secondo luogo veri ca se il valore di tale larghezza rientra nel range di larghezze associato al carattere. Questo range e in- dividuato dai valori minimo e massimo delle larghezze del carattere considerato nei 200 alfabeti sottoposti alla rete neuronale. In ne, l'ANALIZZATORE LARGHEZZE associa ad ogni parola un indice ID dato dalla formula seguente: R num ID = Inumcar (3) dove num e il numero di caratteri che soddisfano la veri ca precedente, mentre numcar e il numero di caratteri che compongono la parola. Dato che, nell'attuale realizzazione, i caratteri in ingresso al sistema non vengono normalizzati in dimensione, la larghezza del carattere deve essere moltiplicata per un coeciente dato dal rapporto tra il valor medio delle larghezze di tutti i caratteri dei 200 alfabeti e il valor medio (detto valor medio puntuale) delle larghezze dei caratteri del testo in esame. I valor medi sono ottenuti attraverso stime col metodo dei momenti. Quando tutte le parole componenti una frase sono state esaminate, l'ANALIZZATORE GRAMMATICALE cerca di costruire una frase grammaticalmente corretta. A tal ne, combina opportunamente le parole trovate nel vocabolario producendo una sequenza di frasi candidate, ordinate secondo indici di riconoscimento descrescenti. L'indice di riconoscimento associato ad una frase e de nito come la somma degli indici ID relativi alle parole che la compongono. Non appena viene generata una frase corretta, tale frase viene visualizzata e le parole componenti vengono memorizzate in una pila. Se l'ANALIZZATORE GRAMMATICALE non e in grado di comporre nessuna frase corretta, chiede al modulo ALTERNATIVE di generare ulteriori alternative. Per ogni frase corretta, viene aggiornata una stima del valor medio statistico degli indici ID delle parole componenti le frasi corrette trovate no a quel momento. Quando questa stima e accettabile, le parole memorizzate nella pila con indice ID superiore ad una percentuale , stabilita dall'utente, della stima stessa vengono inviate al modulo MEMORIA PAROLE STIMATE del sottosistema neuronale per l'apprendimento dinamico della rete neuronale. Il valore della percentuale deve essere scelto in maniera oculata: valori troppo piccoli inducono ad addestrare la rete con molte parole, ma poco adabili, peggiorando quindi le prestazioni; valori troppo grandi,
d'altra parte, permettono di considerare parole con un alto grado di adabilita di riconoscimento ma in numero troppo piccolo per costituire un adeguato insieme di addestramento. Le parole esaminate successivamente vengono direttamente inviate al modulo MEMORIA PAROLE STIMATE. 4.1 Ricerca nel vocabolario Il vocabolario e un insieme di fatti Prolog [11] generati dalla traduzione di un dizionario inglese di pubblico dominio in formato ASCII. Il programma di traduzione e stato scritto nel linguaggio C. La generica parola del vocabolario e rappresentata dal fatto: parola(ListaCar; ListaCateg): dove ListaCar e la lista dei caratteri che compongono la parola e listaCateg e la lista delle possibili categorie grammaticali a cui la parola puo appartenere. Per ricercare una parola sul vocabolario e necessario estrarne la radice grammaticale. A tale scopo e stata de nita una procedura Prolog (FILTRO) per ognuno dei casi previsti dalla grammatica del linguaggio. Ad esempio, la seguente procedura ricava la forma di grado positivo di un aggettivo di grado comparativo di maggioranza: comp_magg(CompMag,Radice,Cat):-append(Radice,['e','r'],CompMag), parola(Radice,L), member(a,L), Cat=[cmpmag], assert(parola(CompMag,[cmpmag])). comp_magg(CompMag,RadiceE,Cat):-append(Radice,['e','r'],CompMag), append(Radice,['e'],RadiceE), parola(RadiceE,L), member(a,L), Cat=[cmpmag], assert(parola(CompMag,[cmpmag])). comp_magg(CompMag,RadiceDoppia,Cat):-append(Radice,[C,C,'e','r'],CompMag), append(Radice,[C],RadiceDoppia), parola(RadiceDoppia,L), member(a,L), Cat=[cmpmag], assert(parola(CompMag,[cmpmag])). comp_magg(CompMag,RadiceY,Cat):-append(Radice,['i','e','r'],CompMag), append(Radice,['y'],RadiceY), parola(RadiceY,L), member(a,L), Cat=[cmpmag], assert(parola(CompMag,[cmpmag])). Figure 6: Esempio di codice Prolog per ricavare la forma di grado positivo di un aggettivo di grado comparativo di maggioranza.
4.2 Generazione delle alternative La generazione delle alternative si basa sulle seguenti informazioni: le distanze in pixel fra le nestre che compongono la parola; i valori energetici di riconoscimento en associati ai vari caratteri; la probabilita Pn(ci j cu) che la rete neuronale abbia in ingresso il carattere ci condizionata al fatto che venga riconosciuto in uscita il carattere cu nell'n-esima posizione della lista ordinata di coppie (cn ; en ) in ingresso al modulo IA. La probabilita condizionata Pn (ci j cu ) e calcolata, applicando il teorema di Bayes, nel modo seguente: Pn(ci j cu) = Pn (cuPj c(ic) )P (ci ) (4) n u dove Pn (cu j ci ) e la probabilita che la rete neuronale riconosca il carattere cu nell'n-esima posizione della lista d'ingresso al sottosistema IA quando in ingresso al sistema e posto il carattere ci , mentre P (ci ) e la probabilita che in ingresso si presenti il carattere ci , e Pn(cu ) e la probabilita che la rete neuronale riconosca il carattere cu . Pn (cu j ci ) e ottenuta sottoponendo in ingresso alla rete neuronale tutte le cifre e lettere minuscole e maiuscole scritte da 200 mani di erenti e veri cando per ogni carattere ci la percentuale di caratteri cu che vengono riconosciuti. P (ci ) e calcolata dividendo il numero di volte che il carattere ci ricorre nel vocabolario per il numero totale di caratteri presenti nel vocabolario. In ne, Pn (cu ) e determinata secondo la formula seguente: X L Pn (cu ) = Pn (cu j ci ) P (ci ); (5) i=1 dove L indica il numero di possibili caratteri di ingresso al sistema (cifre, lettere minuscole e maiuscole) al sistema. Per ogni nestra analizzata dalla rete neuronale viene prodotta una lista degli I possibili ingressi. Ad ogni elemento della lista viene associato un indice di adabilita di riconoscimento Ai calcolato come segue: Ai = XN Pn(ci j cu) en; (6) n=1 dove en e il valore energetico relativo all'uscita cu nell'n-esima posizione della lista di ingresso al sottosistema IA. L'indice Ai riesce a pesare in modo uniforme sia le caratteristiche, individuate dai valori energetici, ricavate dalla rete neuronale dal particolare testo in esame, sia le caratter- istiche proprie della rete neuronale, ottenute dalle probabilita Pn (ci j cu ). L'indice IR relativo ad ogni alternativa (vedi par. 4) si ottiene dal rapporto tra la somma degli indici Ai relativi ai caratteri scelti per comporre l'alternativa stessa ed il numero di caratteri dell'alternativa. Da prove sperimentali risulta che, generando le possibili alternative sulla base dell'indice IR , la parola in ingresso coincide generalmente con una delle prime due alternative corrispondenti a parole del vocabolario. 5 Simulazione Preliminare dell'Anello Esterno Le parole che la sottorete IA invia al modulo MEMORIA PAROLE STIMATE vengono utilizzate, quando il loro numero e suciente a formare un adeguato training set, per il riaddestramento parziale della rete neuronale. Lo scopo e quello di migliorare il riconoscimento della particolare calligra a considerata.
I caratteri delle parole memorizzate nel modulo MEMORIA PAROLE STIMATE e le relative nestre F(x) vengono utilizzati rispettivamente come target e come pattern d'ingresso per l'addestramento supervisionato della seconda sottorete del complesso RN (vedi par. 3.2). Dopo il riaddestramento, il testo elaborato no a quel momento viene esaminato nuovamente in modo da sfruttare la miglior qualita raggiunta nel riconoscimento. Di seguito viene presentato un esempio che mostra come, anche con un numero ridotto di parole usate per il riaddestramento, si abbiano dei notevoli miglioramenti nel riconoscimento. La calligra a scelta e riconosciuta dalla rete neuronale inizialmente con un tasso di riconoscimento del 70%. Il numero N di elementi (cn , en ) della lista passata dalla rete neuronale al sottosis- tema IA e 10. L'intervallo di tempo t ssato per la terminazione del ciclo di generazione delle alternative e 60 secondi. Il valore della percentuale della stima del valor medio dell'indice IR e inizializzato ad uno. Il riaddestramento RBF avviene appena il sistema nisce di esaminare le frasi scelte per l'esempio. Tali frasi sono le seguenti: 1. my father is a formidable looking man with a large stony jaw and furious black eyebrows 2. his general presence was not one which encouraged relaxed conversation 3. neither were things helped much by his odd way of stating each remark as if it were the concluding one Per queste elaborazioni preliminari sono stati usati caratteri prodotti dalla segmentazione delle parole. All'uscita dalla rete neuronale, considerando per ogni nestra F(x) il carattere con piu alta energia, le frasi riconosciute sono: 1. my faeher ls a formldable loonlng man wleh a large seony iaw and furlous blaon eyebrows 2. hls general tresenoe was noe one whloh enoouraged relaxed oonversaelon 3. neleher were ehlngs helted muoh by hls odd way of seaelng eaoh remarn as lf le were ehe oonoludlng one Si ricava che la percentuale media di riconoscimento e dell'81%. Tale percentuale e di erente dal tasso di riconoscimento della particolare calligra a in quanto le lettere che compongono la frase sono un sottoinsieme di tutte le lettere dell'alfabeto su cui e calcolato l'indice di riconoscimento. Il sottosistema IA compie gia un ottimo lavoro riportando le frasi precedenti nella forma seguente: 1. my father is a formidable looting man with a large stony law and furious bloom eyebrows 2. his general presence was not one which encouraged related conversation 3. neither were things helped much by his odd way of stating each remark as if it were eke concluding one La percentuale media di riconoscimento sale al 96%. Dopo la selezione delle parole ed il riaddestramento della RBF, otteniamo in uscita dalla rete neuronale (considerando ancora per ogni nestra F(x) il carattere con piu alta energia): 1. my father is a formidable looning man with a large stony iaw and furious blacn eyebrows 2. his general tresence was not one which relaxed conversation 3. neither were things helted much by his odd way of stating each remarn as if it were the concluding one La percentuale media di riconoscimento della rete modi cata e del 97%. L'ulteriore elaborazione con la sottorete IA fornisce le frasi seguenti:
1. my father is a formidable looking man with a large stony law and furious black eyebrows 2. his general presence was not one which encouraged relaxed conversation 3. neither were things helped much by his odd way of stating each remark as if it were the concluding one Nonostante il riaddestramento sia eseguito su un numero esiguo di target, una sola parola (jaw) risulta riconosciuta in maniera errata. La percentuale media di riconoscimento risulta essere del 99.5%. References [1] G.L. Martin, J.A. Pitmann, \Recognizing Hand-Printed Letters and Digits Using Back- propagation Learning", in Neural Computation 3, Massachussets Institute of Technology (MA), 1991, pp.258-267. [2] Y. Lee, \Handwritten Digit Recognition Using K-Nearest Neighbor, Radial Basis Function and Backpropagation Neural Networks", in Neural Computation 3, Massachussets Institute of Technology (MA), 1991, pp.440-449. [3] M. Costa, E. Filippi, E. Pasero, \Multi-Layer Perceptron ensembles for pattern recognition: some experiments", negli atti del convegno ESANN'94, Bruxelles (B), Aprile 1994. [4] M. Schenkel, H. Weissman et al., \Recognition-based Segmentation of On-line Hand-printed Words", in Advances in Neural Information Processing System 3, Morgan Kaufmann ed., 1992, pp. 723-730. [5] Y. Le Cun, B. Boser, J.S. Denker et al., \Backpropagation Applied to Handwritten Zip Code Recognition", in Neural Computation 1, Massachussets Institute of Technology (MA), 1989, pp.540-551. [6] P.D. Wassermann \Neural Computing: Theory and Practice", edit.Van Nostrand Rheeinold New York, 1989. [7] G.C. Buttazzo, \Introduzione alle Reti Neurali", Rapporto Interno ARTS Lab 92-05, 1992. [8] C. Bishop, \Improving the Generalization Properties of Radial Basis Function Neural Networks", in Neural Computation 3, Massachussets Institute of Technology (MA), 1991, pp.579-588. [9] D. Wettschereck, T. Dietterich, \Improving the Performance of Radial Basis Function Net- works by Learning Center Locations", in Advances in Neural Information Processing System 3, 1992, Morgan Kaufmann, pp.1133-1140. [10] L.M. Reyneri, E. Filippi, \An Analysis on the Performance of Silicon Implementations of Backpropagation Algorithms for Arti cial Neural Networks", in IEEE Transactions on Computers, Vol.40, 12 Dec. 1991, pp.1380-1389. [11] W. Clocksin, C. Mellish, \Programming in Prolog", Springer Verlag, 1981. [12] D.E. Rumelhart, J.L. McClelland, \Parallel Distribuited Processing: Explorations in the Microstructure of Cognition", Vol.1, 1986.
[13] J. Moody, Christian J.Darken, \Fast Learning in Networks of Locally-Tuned Processing Units", in Neural Computation 1, Massachussets Institute of Technology (MA), 1989, pp.281-294. [14] C. Pantaleon-Prieto, F. Diaz-de-Maria, Annibal Figueiras Vidal \On Training RBF Net- works", in Neuro Nimes '93, Nimes (F) 1993, pp.297-306.
Puoi anche leggere