Skip to content

Generatore di conversazioni basato su una catena di Markov

License

Notifications You must be signed in to change notification settings

pcaressa/conversazione

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conversazione con un pazzo

Semplice applicazione di un modello markoviano per conversare con un pazzo che si crede Gramsci... Si tratta di un programmino dimostrativo che uso nelle mie conferenze o che mostro come esempio di programmazione Python nei miei corsi introduttivi. Non originale e perfettibile, ma funzionante:-) La cosa sorprendente del programma è che produce frasi grammaticalmente corrette, sebbene di dubbio senso, partendo da esmepi di frasi prese come input dal modello markoviano.

Per farlo funzionare basta scaricare i file in una cartella e dare in pasto all'interprete Python il file conversazione.py. In questo file sono definite tre variabili

NOME = "Gramsci"
NOME_FILE = "gramsci.txt"
ENC = "latin-1"

che definiscono il nome del personaggio col quale conversare, un file di testo che contiene frasi, testi, libri e altro del personaggio in formato test (no html, no xml, etc.) e la codifica del carattere del file di testo (per le lettere accentate, etc.).

L'idea del programma è di scandire tutte le parole del testo e di annotare per ciascuna parola tutte le parole che la seguono in qualche frase e quante volte la seguono. Si ottiene così, per ogni parola del testo, una distribuzione probabilistica empirica delle parole che la seguono, dalla quale fare sampling per generare, data una parola, quella seguente, e poi quella seguente a essa, e così via fino a formare una frase.

Per svolgere la conversazione il programma lascia introdurre all'utente una frase e prende l'ultima parola, usandola come origine per generare la risposta.

Il programma cerca una versione binaria (pkl) del file di esempio e se la trova la carica, altrimenti la produce e la salva prima di far partire la conversazione.

Enjoy, P

About

Generatore di conversazioni basato su una catena di Markov

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages