Je sais que c'est toujours un problème ouvert, donc je ne m'attends pas à voir des réponses complètes ici. Je veux juste trouver quelques approches pour résoudre le problème suivant:
J'ai un modèle (supposons que c'est la mémoire du bot), et différents mots sont associés à différents objets dans le modèle. Parler avec le bot, c'est comme exécuter des requêtes sql avec une base de données. La langue est un protocole formalisable très dur. Et nous ne pouvons pas simplement écrire un million de lignes de code pour implémenter un vrai langage. Mais je pense qu'il est absolument possible de mettre en place un mécanisme d'auto-apprentissage. Comment peut-il être mis en œuvre? Est-il possible de mettre en œuvre l'apprentissage "à partir de zéro" ou "à partir de quelques mots de base"? Je veux juste entendre vos idées.
En fait, l'anglais est une langue très stricte et c'est l'une des langues les plus faciles à expérimenter avec l'IA. De nombreuses autres langues vous permettent de changer l'ordre des mots (par exemple). Et dans certains cas, un ordre modifié peut changer le sens entier ou simplement ajouter une intonation. Je n'ai vraiment aucune idée de comment enseigner un bot à ces choses.
La première étape, en prenant ce jeu au niveau suivant, c'est ...
(et pardonnez-moi de dire que la question ne suggère pas que vous ayez un aperçu aussi approfondi de la question [et que vous n'êtes pas seul, comptez-moi ;-)])
Même, et peut-être en particulier, si votre intention est d'appliquer des techniques et des modèles complètement nouveaux, il semble important de passer en revue la littérature sur les pratiques actuelles et passées. En plus d'identifier éventuellement des éléments qui peuvent être adaptés ou réutilisés dans une nouvelle implémentation, une étude du domaine fournira une compréhension approfondie de la nature du problème [s].
J'ai personnellement essayé -à diverses et multiples occasions! - soit l'approche naïve soit l'approche sophomorique pour s'attaquer à des problèmes largement définis. Avec l'approche naïve, on n'a qu'une très légère idée de la véritable nature et de la portée du problème. Le sophomorique nous voit mieux équipés de connaissances de domaine et également d'outils connexes, mais cela peut aussi être trompeur car sans une compréhension plus approfondie, nous avons tendance à mal lire/mal comprendre le nouveau matériel qui nous est proposé et à abuser également de certains outils ( un peu comme le gars qui est "bon avec un marteau" pour qui beaucoup de choses ressemblent à un clou ...)
Il est particulièrement facile de commettre ces erreurs dans le domaine de la PNL. C'est parce que
Loin de moi l'idée de vous décourager dans votre entreprise de chat-bot, j'espère juste que ce long et générique exposé encouragera à regarder avant de sauter, car cela vous fera vraiment gagner du temps à long terme, je pense deux façons:
Bonne chance ;-)
Découvrez implémentation de MegaHAL pour quelques idées. Nous avons utilisé une variante de ce bot pendant des siècles dans une chaîne IRC de la nôtre, et il semble parfois être le mélange intelligent de plusieurs de nos personnalités dominantes.
Vous "entraînez" le bot - chaque fois que le bot répond, vous classez (ou le testeur) la réponse - si la réponse est bonne/logique - donnez un rang élevé, si la réponse est mauvaise ... un rang bas/négatif.
utiliser le classement à l'avenir pour choisir la réponse, et c'est ainsi que le bot apprend ...
Il y a une grande description de Eliza dans Paradigmes de la programmation de l'IA . Vous devriez pouvoir implémenter un simple bot Eliza en quelques jours de travail.
Ce n'est pas un algorithme d'apprentissage, mais il est surprenant de voir à quel point les réponses peuvent être réalistes à partir de quelque chose d'aussi simple.