FAQ ChatBot
Obtenir une réponse automatiquement, c'est magique !! sa véritable IA (vous vous souvenez du test de Turing ?)
Ce projet est un cadre de chatbot basé sur des questions-réponses simples (requête atomique). Utilise la similarité basée sur différents vectoriseurs, pour trouver la question correspondante, puis répond avec sa réponse correspondante.
Champ d'application :
- Énorme demande pour répondre aux requêtes banales
- Balances (effet de levier, automatisation, passif)
- Pas beaucoup de travail en chatbot vernaculaire (servir l'humanité)
Remarques :
- Ce chatbot est basé d'abord sur la classification des catégories, puis sur la similarité au sein de la catégorie sélectionnée.
- Différent du framework de chatbot open source populaire, Rasa, où NLU est basé sur l'intention et les entités, tandis que la gestion des dialogues est basée sur la prédiction de séquence/LSTM.
- Conceptuellement, il est similaire à QnA Maker de Microsoft. Mais la grande différence est que, si vous obtenez l’intégralité de cette base de code Github, vos modèles seraient locaux. Rien sur le serveur. Donc une meilleure sécurité notamment pour les chatbots de données sensibles comme les RH ou la Finance.
Copyright (C) 2019 Yogesh H Kulkarni
À faire
- Implémenter l'intégration de phrases via HuggingFace ou Spacy
- Créez une plate-forme de chatbot FAQ complète à l'aide d'intégrations commutables
- [Nouveau] LangChain + Vector Db comme GPT-Index ou Pinecone (cloud) peuvent être utilisés pour effectuer des FAQ
Comment ça marche :
- Vous fournissez des FAQ sous forme de fichier CSV (fichier séparé par des virgules) avec une classe question-réponse dans chaque ligne (par exemple "Quel est le taux de TPS pour le dentifrice ?,12,taux")
- Les questions sont vectorisées et prêtes à être mises en correspondance, avec le modèle de classificateur [X=vecteur(question), y=classe]
- Une fois la requête de l'utilisateur arrivée, sa « classe » est prédite à l'aide du modèle de classificateur et, au sein de la classe, la requête vectorisée est comparée aux questions vectorisées existantes.
- Quelle que soit la réponse la plus similaire, sa réponse est présentée à l'utilisateur.
Scénarios :
- app.py : interface utilisateur de Chatbot construite à l'aide de Flask, à l'aide de templates/*.html
- bankfaqs.py : logique de base du chatbot ainsi que base de connaissances.
Autres données :
- FAQ : fichiers csv contenant des questions et des réponses
- statique et modèles : fichiers liés à l'interface utilisateur de Flask
Pour exécuter :
- Exécutez app.py
- Ouvrez http://127.0.0.1:8080/ dans le navigateur
- Commencez à discuter
Dépendances :
- Nécessite Python 3.6, numpy, scipy, sklearn
Références
- Code du robot événementiel de Bhavani Ravi, vidéo Youtube
- FAQ bancaire Code du bot
Clause de non-responsabilité:
- L'auteur ([email protected]) ne donne aucune garantie sur les résultats du programme. C'est juste un scénario amusant. De nombreuses améliorations restent à apporter. Alors ne comptez pas du tout sur cela.