Je voulais commencer à expérimenter avec le réseau neuronal et comme problème de jouet, je souhaitais en former un à discuter, c'est-à-dire implémenter un bot de discussion comme cleverbot. Pas si intelligent de toute façon.
J'ai cherché de la documentation et j'ai trouvé de nombreux tutoriels sur les tâches générales, mais peu sur ce sujet spécifique. Celui que j'ai trouvé vient d'exposer les résultats sans donner un aperçu de la mise en œuvre. Ceux qui l'ont fait, l'ont fait assez peu profond (la page de documentation tensorflow sur seq2seq manque à mon humble avis).
Maintenant, je sens que j'ai peut-être plus ou moins compris le principe, mais je ne suis pas sûr et je ne sais même pas comment commencer. Je vais donc expliquer comment je traiterais le problème et j'aimerais avoir un retour sur cette solution, me dire où je me trompe et avoir éventuellement un lien vers des explications détaillées et des connaissances pratiques sur le processus.
L'ensemble de données que j'utiliserai pour la tâche est le vidage de tout mon historique de chat Facebook et WhatsApp. Je ne sais pas quelle sera sa taille mais peut-être pas encore assez grande. La langue cible n'est pas l'anglais, donc je ne sais pas où rassembler rapidement des échantillons de conversation significatifs.
Je vais générer un vecteur de pensée à partir de chaque phrase. Je ne sais toujours pas comment; J'ai trouvé un bel exemple pour word2vec sur le site Web deeplearning4j, mais aucun pour les phrases. J'ai compris comment les vecteurs de mots sont construits et pourquoi, mais je n'ai pas pu trouver d'explication exhaustive pour les vecteurs de phrases.
En utilisant des vecteurs de pensée comme entrée et sortie, je vais entraîner le réseau neuronal. Je ne sais pas combien de couches il devrait avoir, et lesquelles doivent être des couches lstm.
Ensuite, il devrait y avoir un autre réseau de neurones capable de transformer un vecteur de pensée en une séquence de caractères composant une phrase. J'ai lu que je devrais utiliser le rembourrage pour compenser les différentes longueurs de phrase, mais je ne sais pas comment coder les caractères (les points de code sont-ils suffisants?).
Selon votre concept de projet, pour commencer, je vous demanderais d'appliquer certaines techniques de développement pilotées par les tests. Tout d'abord, essayez de créer une base de données de plus petite taille que vous pouvez utiliser pour gérer une petite quantité de jeu de données, ce qui peut apporter l'amélioration souhaitée.
Cela dit, utilisez cette base de données pour créer un arbre organisé en ligne avec vos données, en tant que nœuds.Alors, si un bot commence à générer des commentaires, à partir de la base de données, marqués avec des points de données de votre ensemble de données spécifié. au nœud suivant dans l'arborescence.
Remarque : pour commencer, n'utilisez pas votre historique de discussion volumineux dans son ensemble, car il s'agit d'une tâche simple.
la source