Preguntas frecuentes ChatBot
¡Obtener una respuesta automáticamente es mágico! es IA real (¿recuerdas la prueba de Turing?)
Este proyecto es un marco de chatbot basado en preguntas y respuestas simples (consulta atómica). Utiliza similitud basada en diferentes vectorizadores, para encontrar la pregunta coincidente y luego responde con su respuesta correspondiente.
Ámbito de aplicación:
- Gran demanda para atender consultas mundanas.
- Escalas (apalancamiento, automatización, pasiva)
- No hay mucho trabajo en chatbot vernáculo (servir a la humanidad)
Notas:
- Este chatbot se basa primero en la clasificación de categorías y luego en la similitud dentro de la categoría seleccionada.
- A diferencia del popular marco de chatbot de código abierto, Rasa, donde NLU se basa en la intención y las entidades, mientras que la gestión del diálogo se basa en la predicción de secuencia/LSTM.
- Conceptualmente es similar al QnA Maker de Microsoft. Pero la gran diferencia es que, si completas todo este código base de github, tus modelos serán locales. Nada en el servidor. Por lo tanto, mejor seguridad, especialmente para chatbots de datos confidenciales como Recursos Humanos o Finanzas.
Copyright (C) 2019 Yogesh H Kulkarni
Tareas pendientes
- Implementar la incrustación de oraciones mediante HuggingFace o Spacy
- Cree una plataforma completa de chatbot de preguntas frecuentes utilizando incrustaciones intercambiables
- [Nuevo] LangChain + Vector Db como GPT-Index o Pinecone (nube) se pueden utilizar para realizar preguntas frecuentes
La forma en que funciona:
- Usted proporciona las preguntas frecuentes en forma de csv (archivo separado por comas) con una clase de pregunta-respuesta en cada fila (por ejemplo, "¿Cuál es la tasa de GST para la pasta de dientes?,12,tasa")
- Las preguntas se vectorizan y se mantienen listas para su comparación, junto con el modelo clasificador [X=vector(pregunta), y=clase]
- Una vez que llega la consulta del usuario, su 'clase' se predice utilizando el modelo clasificador y, dentro de la clase, la consulta vectorizada se compara con las preguntas vectorizadas existentes.
- Cualquiera que sea más similar, su respuesta se presenta al usuario.
Guiones:
- app.py: interfaz de usuario de Chatbot creada con Flask, usando plantillas/*.html
- bankfaqs.py: lógica central del chatbot y base de conocimientos.
Otros datos:
- preguntas frecuentes: archivos csv que contienen preguntas y respuestas
- estática y plantillas: archivos relacionados con Flask UI
Para ejecutar:
- Ejecutar aplicación.py
- Abra http://127.0.0.1:8080/ en el navegador
- Empezar a chatear
Dependencias:
- Necesita Python 3.6, numpy, scipy, sklearn
Referencias
- Código del bot de eventos de Bhavani Ravi, vídeo de Youtube
- Preguntas frecuentes sobre banca Código bot
Descargo de responsabilidad:
- El autor ([email protected]) no ofrece garantía de los resultados del programa. Es simplemente un guión divertido. Aún quedan muchas mejoras por hacer. Así que no dependas de ello en absoluto.