venerdì 8 febbraio 2019

Intelligenza Artificiale e Divina Commedia

Dante Alighieri 
con Intelligenza Artificiale si può creare una "nuova" mini Divina Commedia digitale



Abbiamo allenato un modello di intelligenza artificiale
(ML  machine learning o apprednimento automatico) dando tutti i dati presenti nel file testo (txt) disponibile su 
The Project Gutenberg EBook of Divine Comedy ( traduzione in inglese dell' intera Divina Commedia )




Il Machine Learning insegna ai computer e ai robot a fare azioni ed attività in modo naturale similmente agli esseri umani, imparando dall'esperienza. 

In sostanza, gli algoritmi di Machine Learning usano metodi per apprendere informazioni 
direttamente dai dati, Addestramento.




I modelli  dell'apprendimento automatico migliorano  mano a mano all'aumentare degli “esempi” che gli diamo. 

Il sistema ha usato frammenti del file la Divina Commedia in inglese come dati di addestramento per alcuni software utilizzati dagli Studenti : TensorFlow di Google e la libreria Numpy (libreria di supporto di calcolo vettoriale e operazioni su matrici).
A tal fine abbiamo usato Colab nella suite on line Google Colabs. Colaboratory è un ambiente di programmazione gratuito per notebook Jupyter  che non richiede nessuna installazione di software )
Per sviluppare modelli di Machine Learning  (ML) e  Deep Learning (DL) si possono utilizzare diversi strumenti (Keras,Caffe,PyTorch, Sci-kit LearnT ...) noi abbiamo utilizzato Tensorflow che è un strumento molto potente sviluppato dal  Google Brain team di Google e rilasciato come software  opensource sotto licenza  Apache 2.0 nel Novembre 2015.  E’ un framework che si presta molto bene per la creazione di differenti modelli. Implementa nativamente sia reti Convoluzionali (CNN) ad esempio per la classificazione di immagini , sia  reti RNN per la gestione di traduzioni automatiche ed elaborazione di testi.
L'obiettivo è quello di adattare un modello probabilistico che assegna le probabilità alle frasi. Il modello lo svolge facendo una previsione delle parole successive in un testo con una cronologia delle parole precedenti.
Abbiamo  costruito un generatore di dati e successivamente un modello LSTM. Il nucleo del modello consiste in una cella LSTM che elabora una parola alla volta e calcola le probabilità dei possibili valori per la parola successiva nella frase.
Successivamente abbiamo impiegato Keras ( scritto nel linguaggio Python fa da interfaccia a Tensorflow ).Rispetto ad altre API, Keras basa la propria forza sulla semplicità e sulla velocità di implementazione  con un numero minimo di righe di codice possiamo creare modelli complessi.Sono stati utilizzati quindi i metodi Keras standard per la formazione: fit, predict, e evaluate.Quindi nel nostro caso il compito era quello di addestrare una rete neurale ricorrente (RNN) in un compito impegnativo di modellazione del linguaggio.


Il sistema dopo un breve allenamento ha cominciato a produrre Canti da 250/500 caratteri
5 brevi Canti ogni minuti 
300 brevi Canti in un'ora  
dopo tre ore 450.000 caratteri 

La Divina Commedia di Dante è composta da tre cantiche 

Inferno/Purgatorio/Paradiso
la cantica Inferno è composta da un proemio e 33 canti 
Purgatorio 33 canti e 
Paradiso 33 canti 
con numero di caratteri di 408.476 spazi esclusi

La sorpresa è avvenuta dopo circa un'ora con la produzione di 
300 brevi canti  e dopo tre ore 450.000 caratteri
una mini Opera digitale intera , nuova ...


Nessun commento:

Posta un commento