La repo per il nuovo Friday, la nuova IA.
#Il software Il software è (per ora) un semplice programma in Python che analizza un testo in input: calcola la probabilità con cui ogni parola si trova vicino alla sua successiva e lo scrive in un semplice file in JSON che funge da semplice database non relazionale.
Con questo testo in input:
Ciao Mondo, come va? Cosa sei? Ciao Friday! Ciao Mondo!
Si ha questo database in output (dove 'k'
è il numero totale di volte con cui si è trovata la parola di chiave):
{"come": {"k": 1, "va": 0},
"sei": {"ciao": 0, "k": 1},
"mondo": {"come": 0, "k": 1},
"cosa": {"k": 1, "sei": 0},
"ciao": {"k": 3, "friday": 0.25, "mondo": 0.6667},
"friday": {"ciao": 0, "k": 1},
"va": {"cosa": 0, "k": 1}}
#L'algoritmo
L'algoritmo che calcola la probabilità è molto semplice. Si assuma come p una parola del testo (che nel db è la 'chiave') e come a,b,c, ecc. le parole che risultano successive a p. k
è lo spazio degli eventi, quante volte p si trova nel testo, p_0
è la probabilità con cui p è legata ad a (che si trova già scritta nel db oppure risulta 0 se non vi è scritta). Quando il software ritrova p nel testo, ricalcola tutte le probabilità con cui p è legata ad a,b,c,ecc. secondo questo algoritmo:
p = (k * p_0 +1)/(k + 1)
#Il training Il training è fondamentale per Friday 2.0, in quanto affina le probabilità nel suo db. Pertanto si cercano tanti testi (milioni e milioni :)) corretti che possano essere analizzati dal programma.
#Gli autori
Gli autori che lavorano al progetto sono @ccol168, @guest928, @tancre99, @elbollins.