MACHINE LEARNING per la lettura dei manoscritti

De Cliomatica - Digital History
Tempo di lettura 21 minuti - per Sara Pettisano


In italiano è detto “Apprendimento Automatico” e consiste in un metodo di analisi dei dati che automatizza la costruzione di modelli analitici. Questa disciplina è una branca dell’Intelligenza Artificiale (IA) e presuppone che le macchine possano imparare dai dati forniti, identificare i modelli autonomamente e prendere decisioni con solo un ridotto intervento umano [1].


Nascita ed evoluzione del Machine Learning

Le prime sperimentazioni risalgono agli anni ’50, coeve alla nascita dell’intelligenza artificiale e agli studi approfonditi sui sistemi esperti e sulle reti neurali [2] . Il primo grande personaggio di questa disciplina è stato Alan Turing, colui che per primo ha realizzato un test per macchine che sono in grado di apprendere comportamenti intelligenti [3].

Negli anni ’60 questa branca dell’informatica fu abbandonata perché IA era considerata priva di senso e di futuro, ma gli studi vennero ripresi negli anni ’80 grazie allo sviluppo delle tecnologie e agli ingenti investimenti da parte delle grandi industrie del settore. Alla fine degli anni ’90 emersero nuove tecniche basate su elementi statistici e probabilistici che permettono al Machine Learning di essere ora uno strumento riconosciuto e molto richiesto.


Machine Learning, una sfida

Il presupposto del Machine Learning, come già detto, è che i computer possano imparare dai dati che gli vengono sottoposti. Ciò dà la possibilità al computer di poter svolgere compiti senza essere programmato specificatamente per farlo, utilizzando l’analisi iterativa di dati. L’obiettivo finale è l’automazione delle macchine in modo che possano svolgere compiti indipendenti senza l’aiuto dell’uomo; la vera sfida è far riconoscere al computer dati senza che li conosca prima. L’aspetto più importante da considerare è la ripetitività: più un computer legge dei dati più diventa autonomo nell’elaborare i modelli.

Una nuova applicazione di questa scienza è quella sui Big Data, ora possibile grazie allo sviluppo tecnologico. Infatti è possibile creare modelli di analisi partendo da una mole di dati molto grande ed avere spazi di archiviazione competitivi a buon mercato.

Gli ingredienti di un buon sistema di Machine Learning sono la capacità di preparare i dati in modo consono, creare degli algoritmi e dei processi iterativi che permettano al sistema di lavorare al meglio e in modo indipendente, rendere il sistema scalabile e la sua ensemble modeling adatta.

Possiamo trovare nelle aziende del settore secondario e terziario vari usi del Machine Learning come la guida autonoma, i suggerimenti agli acquisti dei siti web, l’intercettazione di una frode e la capacità delle chatbot di creare frasi in risposta agli input introdotti dagli utenti. I principali utilizzatori di queste tecnologie sono i servizi finanziari, che lo usano per identificare le informazioni importanti all’interno di ampie moli di dati per prevenire le frodi bancarie o identificare le opportunità di investimento. È utilizzato dalle pubbliche amministrazioni per la sicurezza o per servizi che hanno bisogno di dati ed informazioni specifiche, come per esempio i sensori; in questo caso il Machine Learning viene utilizzato per ridurre le frodi e i furti di identità e quindi per salvaguardare i dati degli enti pubblici. Nell’assistenza sanitaria viene usato per determinate analisi e per identificare i dati che potrebbero condurre a migliori diagnosi e trattamenti farmacologici. Nel settore marketing e vendite per analizzare e capire il miglior uso dei dati nella personalizzazione dell'esperienza d'acquisto o delle campagne di marketing. Per Oil & Gas il Machine Learning è utilizzato per trovare nuove risorse energetiche e analizzare i minerali presenti nel suolo, può anche essere usato per prevedere un guasto dei sensori in raffineria. Infine nel settore trasporti viene usato per incrementare il profitto, creare rotte più efficienti e prevedere potenziali problemi.

Nella nostra vita quotidiana, invece, il Machine Learning è utilizzato nel riconoscimento vocale degli smartphone, per attivare comandi attraverso il canale vocale (come in Siri e negli assistenti Google); negli sviluppi della domotica e dei veicoli senza pilota. Inoltre ormai siamo abituati alle pubblicità traccianti, che analizzano i dati della navigazione in internet e degli acquisti fatti e, tramite questi, ci propongono risultati sempre più vicini ai nostri gusti. Infine nei giochi, come scacchi e backgammon, il Machine Learning è utilizzato per partite sempre più complesse.

Il Machine Learning vive in stretta correlazione con altri campi come l’informatica e la statistica; è difficile trovare i limiti della sua interazione con le varie discipline, in quanto è molto frequente il suo utilizzo in altri settori. Molto vicino al Data Mining, che si occupa di migliorare la macchina attraverso conoscenze sempre nuove, il Machine Learning tuttavia presuppone un apprendimento più profondo attraverso il progressivo miglioramento delle conoscenze già ottenute.


Metodi di apprendimento nel Machine Learning

L’aspetto principale del Machine Learning è che le macchine possono imparare, ricevendo un input che può essere da loro conosciuto o no, e dare in risposta un nuovo output. Le macchine, per raggiungere questi risultati, devono essere addestrate e i metodi utilizzati per questo obiettivo sono l’apprendimento supervisionato, il semi-supervisionato, il non supervisionato e quello di rinforzo.

L’apprendimento supervisionato consiste nell’addestramento degli algoritmi: si inseriscono input di cui già si conoscono gli output e, attraverso tentativi ed errori, si riesce a trovare il modello più adatto; l’obiettivo finale è riuscire a trovare i risultati più consoni all’input inserito. L’analisi avviene attraverso modelli basati su algoritmi che il sistema già conosce e quindi la macchina può applicare il modello conosciuto su dati in input conosciuti, prevedendo il valore in uscita in output. La macchina attinge alle esperienze inserite nel proprio sistema e ragiona attraverso ipotesi induttive (ipotesi che sono ottenute scansionando una serie di problemi specifici per ottenere una soluzione idonea ad un problema di tipo generale).

L’apprendimento semi-supervisionato avviene usando le stesse applicazioni dell’apprendimento supervisionato ma i dati sono a volte classificati (ovvero già conosciuti) e a volte no, quindi l’acquisizione è più semplice ed economica. Ne sono un esempio le telecamere che riconoscono i volti.

L’apprendimento non supervisionato, o senza supervisione, avviene solo su dati non classificati: al sistema non viene fornita alcuna risposta giusta e l’algoritmo deve scoprire cosa gli viene mostrato. Questa modalità dà maggiori libertà di scelta alla macchina, a cui spetta di organizzare le informazioni in maniera intelligente e arrivare alle soluzioni migliori in base alle situazioni presentate.

L’apprendimento per rinforzo è usato soprattutto nei campi della robotica, dei videogiochi e della navigazione. Elemento fondamentale sono una serie di elementi di supporto ( come i sensori o il GPS) ed il suo obiettivo principale è scoprire quali azioni siano le migliori da attuare in quel frangente, ovvero le azioni che portano più velocemente all’obiettivo. Ha tre componenti: l’agente (chi svolge l’azione), l’ambiente (con cosa l’agente interagisce), le azioni (cosa l’agente può fare). Questo metodo ha bisogno che la macchina sia dotata di sistemi e strumenti in grado di migliorare l’apprendimento e, soprattutto, di comprendere le caratteristiche dell’ambiente circostante.


Il Machine Learning Automatico

Negli ultimi anni il Machine Learning è stato sempre più analizzato e studiato ma, per funzionare, la macchina ha ancora bisogno di un esperto qualificato a guidarla.

Un campo piuttosto innovativo del Machine Learning è quello automatico che cerca di fare a meno della presenza di un esperto attraverso un approccio data-driven ed automatico. Dato un dataset, i sistemi di auto-Machine Learning determinano gli approcci che risolvono al meglio quel particolare dataset. Uno dei problemi riscontrati è che non esiste un singolo modello per affrontare al meglio tutti i dataset ( teorizzato nel teorema no-free-lunch); un altro è che la performance di alcuni modelli è molto sensibile alla scelta dei loro iperparametri (problema chiamato Combined Algorithm Selection and Hyperparameter optimization).

“Di solito gli umani possono creare uno o due buoni modelli a settimana,

il machine learning può crearne migliaia a settimana.”

Thomas H. Davenport, Analytics thought leader excerpt from The Wall Street Journal


Machine Learning per la trascrizione automatica di manoscritti

Molti archivi di musei, biblioteche ed anche alcune aziende private (ad esempio il Million Book Project o Google Book Search) stanno digitalizzando le loro vaste collezioni di manoscritti per consentirne l'accesso al pubblico. Un approccio diverso è quello seguito da ricercatori in tutto il mondo che lavorano a progetti per l'elaborazione e il riconoscimento automatico da parte di computer di documenti storici.

Molto spesso, però, la sola digitalizzazione non basta: infatti crea dei documenti nei soli formati immagine e che, quindi, richiedono un lavoro di annotazione manuale per accedervi. Inoltre, anche se esistono vari sistemi di riconoscimento automatico della grafia, questi hanno tassi di errore nell’elaborazione delle parole superiori al 50% e pertanto non possono essere utilizzati per tutto il materiale.

Per superare queste limitazioni, informatici e ricercatori nel campo della Document Analysis e della Recognition, hanno sviluppato algoritmi per la trascrizione automatica di documenti storici scansionati, o almeno per supportare parti specifiche di questa attività. A tale scopo vengono utilizzati metodi di Pattern Recognition (PR), come il riconoscimento automatico del testo (Automatic Text Recognition) o l'individuazione di parole (Word Spotting). Quest’ultimo metodo, in particolare, consiste nell’individuare singole parole nelle immagini dei documenti senza che la macchina conosca il testo preso in esame; utilizzandolo, i ricercatori possono lavorare su manoscritti per ricercare determinate parole anche senza precedenti passaggi di segmentazione e trascrizione [4] .

Un'altra applicazione del Word Spotting è il raggruppamento in immagini di parole simili in diversi gruppi, chiamati clusters. Grazie a tale raggruppamento, il numero di parole contenute in un gruppo può essere utilizzato come indizio per determinare l'importanza della parola in un dato documento. A tal fine, i termini molto frequenti di una lingua, come ad esempio "the", "a", "an", "e", "of" per l'inglese, vengono considerati stop words e vengono scartate. Tutti i cluster interessanti, con all’interno termini ritenuti importanti, possono quindi essere annotati manualmente; il che consente di costruire un indice parziale che collega le parole alle posizioni in cui si verificano.

Il Word Spotting offre quindi un'importante opportunità per i ricercatori di Digital Humanities, il cui lavoro spesso è limitato dal tempo speso a passare al setaccio manualmente i vecchi manoscritti per trovare quello che stanno cercando. Il compito del Machine Learning è dunque importante poiché fornisce un modo per trovare rapidamente ciò che si cerca in grandi talvolta difficili da leggere manualmente.


Le tecnologie che usano il Machine Learning nella trascrizione di documenti

Come primo punto è doveroso introdurre il concetto di l’Entity Recognition (ER). Si tratta di una sottoattività di estrazione di informazioni che cerca di individuare e classificare entità denominate menzionate nel testo non strutturato in categorie predefinite come persona nomi, organizzazioni, località, codici medici, espressioni temporali, quantità, valori monetari, percentuali, ecc [5] . Tecnologie simili al ER sono utilizzate da molte compagnie quando si estraggono dati dai documenti e dai moduli attraverso semplici software basati sull’OCR, combinati con le regole tipiche del lavoro manuale di Data Entry. Con l’avvento del Deep Learning [6] le tecnologie dell’OCR migliorano sempre di più le loro prestazioni, rendendo ad oggi semplice estrarre informazioni importanti partendo dalle immagini quando il layout del documento è ben definito e prevedibile (ovvero corrisponde ad un esempio già analizzato dal software).

Tra i software di Entity Recognition commerciali, che potrebbero essere utilizzati per la lettura di manoscritti, possiamo trovare Google Document Understanding API, che, come anche gli esempi seguenti, non nasce per questo scopo, ma come uno strumento particolare dove si combinano le tecnologie dell’Auto Machine Learning e del Natural Language Processing e si riesce a creare modelli personalizzati per l’Entity Recognition dei testi estratti utilizzando il software OCR dedicato.

(Google Document Understanding API Scheme. source: cloud.google.com)

Un altro strumento utile per l’analisi di testi è Amazon Textract, dedicato al trattamento di immagini con dati strutturati, come ad esempio i report finanziari e le cartelle cliniche. Utilizza i modelli distribuiti tipici dell’intelligenza artificiale, offerti direttamente dai server di Amazon AWS, per riconoscere automaticamente ed estrarre dati strutturati, come per esempio le celle di una tabella o le etichette e i valori di un form. Per estrarre i dati da un documento, Amazon Textract ha bisogno di un modello allenato attraverso Machine Learning su decine di milioni di documenti per ogni settore.

Altro strumento è IBM Watson Natural Language Understanding, che ha il vantaggio di rendere il lavoro facile ed intuitivo per l’utente finale; ha inoltre la possibilità di creare delle papeline di Entity Recognition. Dal punto di vista grafico fornisce una ricca e completa User Interface per definire le entità da estrarre e altre utili informazioni per guidare l’utente nei suoi compiti: per l’estrazione di informazione usa le espressioni regolari, che servono per comprendere il contenuto del documento.

(Scheme of IBM Watson services used for document classification and entity recognition. source: github.com/IBM/)


OCR

L’Optical Character Recognition (OCR), o sistemi di riconoscimento ottico dei caratteri, è un’area di ricerca di lunga data che si riferisce all’Intelligenza Artificiale, al Pattern Recognition e alla computer vision. È programmato per convertire immagini del testo presenti nei documenti elettronici, come ad esempio in PDF, in immagini digitali e in documenti scannerizzati, con testo in testo digitale leggibile da una macchina. Il livello raggiunto al momento è piuttosto alto, infatti alcuni sistemi sono così accurati da essere a livello umano. Ma un problema dell’OCR resta la sua applicabilità sulle scritture manoscritte che per loro natura sono uniche e peculiari, . Inoltre i sistemi OCR sono tipicamente molto sensibili alla qualità dell’immagine in input e spesso richiedono degli step di pre-trattamento per ottenere il miglior risultato possibile.

Tra i software più utilizzati che trattano OCR troviamo il Tesseract: open source e gratuito online, utilizza tecniche originali con metodologie più accurate della concorrenza, tanto da aggiudicarsi nel ’95 un premio a riguardo.

All’interno della suite Google Drive, troviamo Google Docs Ocr, che permette la conversione immediata di immagini o di PDF in un singolo blocco di testo. Altri software di questo tipo sono ABBYY FineReader e Transym.


Progetti di Machine Learning nella trascrizione automatica dei documenti

Bisogna tenere innanzitutto presente che al momento meno del’1% dei manoscritti esistenti sono stati digitalizzati, quindi gli sviluppi e i lavori in questo ambito sono necessari e numerosi.

Il progetto IMPACT, per esempio, ha lavorato a livello Europeo sull’utilizzo delle tecnologie OCR e sul language processing.

Un altro interessante progetto è sulla piattaforma DAE, creato appositamente open source per realizzare analisi comparativa di documenti. Non è andato a buon fine in quanto pretendeva di tenere i documenti analizzati sui propri server e non su quelli delle organizzazioni proprietarie.

Transkribus [7] è una piattaforma completa per il riconoscimento automatico, la trascrizione e la ricerca di documenti storici. Fa parte del più ampio programma chiamato READ (Recognition and Enrichment of Archival Documents), finanziato dalla Commissione europea con i fondi Horizon 2020. È composto da tre parti: un software da scaricare sul proprio device (per Windows e Mac), un’interfaccia web ed un sistema cloud per il salvataggio e l’elaborazione dei dati. Sulla piattaforma sono presenti numerosi strumenti per l’elaborazione automatizzata di documenti, come ad esempio il riconoscimento testo scritto a mano (HTR), l’analisi del layout, la comprensione del documento, lo spotting delle parole chiave, l’inserimento di metadati, l’OCR con ABBYY Finereader Engine 11. Per la trascrizione automatica (HTR, Handwritten Text Recognition) dei manoscritti occorrono almeno 100 immagini correttamente trascritte; avendo a disposizione questo set di dati, i documenti devono essere inviati al Computational Intelligence Technology Lab (CITlab) dell’Università di Rostock. La creazione del training di dati è fondamentale perché permette al software di avviare il riconoscimento dei caratteri.

Esiste un protocollo, chiamato International Image Interoperability Framework (IIIF), creato dalle istituzione per processare le immagini e i metadati estratte dai manoscritti. È implementata ad un protocollo internet e raccoglie immagini direttamente dal web, tenendo conto che molte sono bloccate nel sito di partenza. Ha dei server personali che raccolgono immagini con le loro descrizioni e parametri e fanno vedere i vari livelli.

Un altro progetto di Machine Learning per la trascrizione di documenti è HORAE, riguardante le varie versioni del Libro delle Ore, importantissimi in epoca medievale di cui esistono circa 10.000 esemplari manoscritti.

Altri studi sono stati intrapresi sugli alfabeti siriaci e thai, su manoscritti tedeschi dell’alto medioevo utilizzando i Modelli Markov e le reti Neurali. Infine un altro esempio è HISPAMUS [8] che analizza documenti musicali spagnoli attraverso la trascrizione automatica.


Bibliografia e sitografia

  1. Link al sito: https://www.sas.com/it_it/insights/analytics/machine-learning.html
  2. Nel campo dell'apprendimento automatico, una rete neurale artificiale è un modello computazionale composto di "neuroni" artificiali, ispirato vagamente dalla semplificazione di una rete neurale biologica.
  3. Si tratta di un test teorico. Link al sito: https://www.intelligenzaartificiale.it/machine-learning/#Un_po8217_di_storia
  4. Automatic Transcription of Handwritten Medieval Documents, Andreas Fischer, Markus Wüthrich, Marcus Liwicki, Volkmar Frinken, Horst Bunke, Gabriel Viehhauser, Michael Stolz, pp.2-7.
  5. Link alla voce di Wikipedia: https://en.wikipedia.org/wiki/Named-entity_recognition
  6. L'apprendimento profondo è un tipo di apprendimento automatico che addestra un computer a eseguire attività simili a quelle umane, come riconoscere il parlato, identificare le immagini o fare previsioni. Invece di organizzare i dati per eseguire equazioni predefinite, il deep learning imposta i parametri di base sui dati e addestra il computer ad apprendere da solo riconoscendo schemi utilizzando molti livelli di elaborazione. Link al sito: https://www.sas.com/it_it/insights/analytics/deep-learning.html
  7. Link al sito: https://transkribus.eu/wiki/index.php/Main_Page
  8. HISPAMUS: Handwritten Spanish Music Heritage Preservation by Automatic Transcription, José M. Iñesta, Pedro J. Ponce de León, David Rizo, José Oncina, Luisa Micó, Juan Ramón Rico-Juan, Carlos Pérez-Sancho, Antonio Pertusa, Software and Computing Systems, University of Alicante, Spain, pp.17-18.



Citazione di questo articolo
Come citare: PETTISANO, Sara . "MACHINE LEARNING per la lettura dei manoscritti". In: CLIOMATICA - Portale di Storia Digitale e ricerca. Disponibile in: http://lhs.unb.br/cliomatica/index.php/MACHINE_LEARNING_per_la_lettura_dei_manoscritti. il giorno: 1/06/2024.






Informare errori in questa pagina