Volevo iniziare a sperimentare con la rete neurale e come problema giocattolo volevo addestrarne uno a chattare, cioè implementare un bot di chat come Cleverbot. Non così intelligente comunque.
Ho cercato un po 'di documentazione e ho trovato molti tutorial su attività generali, ma pochi su questo argomento specifico. Quello che ho trovato ha appena esposto i risultati senza fornire approfondimenti sull'implementazione. Quelli che l'hanno fatto, lo hanno fatto piuttosto superficialmente (la pagina della documentazione di tensorflow su seq2seq manca di imho).
Ora, sento di aver compreso il principio più o meno, ma non sono sicuro e non sono nemmeno sicuro di come iniziare. Spiegherò quindi come affronterei il problema e vorrei un feedback su questa soluzione, che mi dicesse dove mi sbaglio e possibilmente abbia un collegamento a spiegazioni dettagliate e conoscenze pratiche sul processo.
Il set di dati che userò per l'attività è il dump di tutta la mia cronologia chat di Facebook e WhatsApp. Non so quanto sarà grande, ma forse non ancora abbastanza grande. La lingua di destinazione non è l'inglese, quindi non so dove raccogliere rapidamente esempi di conversazione significativi.
Genererò un vettore di pensiero per ogni frase. Ancora non so come effettivamente; Ho trovato un buon esempio di word2vec sul sito Web deeplearning4j, ma nessuno per le frasi. Ho capito come sono costruiti i vettori di parole e perché, ma non sono riuscito a trovare una spiegazione esauriente per i vettori di frasi.
Usando i vettori di pensiero come input e output ho intenzione di addestrare la rete neurale. Non so quanti strati dovrebbe avere e quali debbano essere i livelli lstm.
Quindi dovrebbe esserci un'altra rete neurale in grado di trasformare un vettore di pensiero in una sequenza di caratteri che compongono una frase. Ho letto che dovrei usare il padding per compensare diverse lunghezze di frase, ma mi manca il modo in cui codificare i caratteri (bastano i punti di codice?).