FAQs ChatBot
Obter resposta automaticamente é mágico!! é IA real (lembra do Teste de Turing?)
Este projeto é uma estrutura de chatbot baseada em pergunta-resposta simples (consulta atômica). Usa similaridade com base em vetorizadores diferentes, para encontrar a pergunta correspondente e depois responde com sua resposta correspondente.
Escopo de aplicação:
- Enorme demanda para cuidar de dúvidas mundanas
- Escalas (alavancagem, automação, passiva)
- Não há muito trabalho no chatbot vernáculo (servir à humanidade)
Notas:
- Este chatbot é baseado primeiro na classificação da categoria e depois na semelhança dentro da categoria selecionada.
- Diferente da popular estrutura de chatbot de código aberto, Rasa, onde o NLU é baseado em intenções e entidades, enquanto o gerenciamento de diálogo é baseado na previsão de sequência/LSTM.
- Conceitualmente, é semelhante ao QnA Maker da Microsoft. Mas a grande diferença é que, se você obtiver toda essa base de código do github, seus modelos serão locais. Nada no servidor. Portanto, melhor segurança, especialmente para chatbots de dados confidenciais, como RH ou Finanças.
Direitos autorais (C) 2019 Yogesh H Kulkarni
Tarefas
- Implementar incorporação de frases via HuggingFace ou Spacy
- Crie uma plataforma completa de chatbot de perguntas frequentes usando embediddings alternáveis
- [Novo] LangChain + Vector Db como GPT-Index ou Pinecone (nuvem) podem ser usados para realizar FAQs
A forma como funciona:
- Você fornece perguntas frequentes na forma de csv (arquivo separado por vírgula) com classe de perguntas e respostas em cada linha (por exemplo, "Qual é a taxa GST para pasta de dente?,12,taxa")
- As questões são vetorizadas e mantidas prontas para correspondência, junto com o modelo classificador [X=vetor(pergunta), y=classe]
- Assim que a consulta do usuário chega, sua 'classe' é prevista usando o modelo classificador e dentro da classe, a consulta vetorizada é comparada com as perguntas vetorizadas existentes.
- O que for mais semelhante, a resposta é apresentada ao usuário.
Roteiros:
- app.py: UI do Chatbot construída usando Flask, usando templates/*.html
- bankfaqs.py: lógica central do chatbot, bem como base de conhecimento.
Outros dados:
- faqs: arquivos csv contendo perguntas e respostas
- estáticos e modelos: arquivos relacionados à UI do Flask
Para executar:
- Execute app.py
- Abra http://127.0.0.1:8080/ no navegador
- Comece a conversar
Dependências:
- Precisa de Python 3.6, numpy, scipy, sklearn
Referências
- Código do bot de evento de Bhavani Ravi, vídeo do Youtube
- Código do bot de perguntas frequentes sobre bancos
Isenção de responsabilidade:
- O autor ([email protected]) não oferece garantia dos resultados do programa. É apenas um roteiro divertido. Muitas melhorias ainda precisam ser feitas. Então, não dependa disso de jeito nenhum.