Conteúdo
- Nome do repositório
- Título do projeto
- Breve descrição do projeto
- Objetivos do projeto
- Nome do conjunto de dados
- Descrição do conjunto de dados
- Objetivo do projeto usando este conjunto de dados
- Tamanho do conjunto de dados
- Algoritmos que são usados como parte de nossa investigação
- Requisitos do projeto
- Uso do projeto
- Qual arquitetura de chatbot deve usar os usuários
- Autores
Nome do repositório
SmartChat-conversacional-chatbot
Título do projeto
SmartChat: um agente de conversação com conhecimento de contexto
Breve descrição do projeto
Desenvolva um chatbot que possa se adaptar efetivamente às mudanças de contexto e tópico em uma conversa, alavancando o conjunto de dados de resposta a perguntas de Stanford para fornecer respostas informadas e relevantes e, assim, aumentando a satisfação e o engajamento do usuário.
Objetivos do projeto
Crie uma interface da Web ou aplicativo fácil de usar que permita que os usuários tenham conversas naturais e coerentes com o chatbot, com alta classificação de satisfação.
Nome do conjunto de dados
O conjunto de dados usado neste projeto é o conjunto de dados de respostas de perguntas de Stanford .
Fonte de dados: Kaggle
Tipo do conjunto de dados: texto
Descrição do conjunto de dados
O conjunto de dados de resposta a Stanford - é um conjunto de dados de compreensão de leitura que consiste em perguntas colocadas pelos trabalhadores de multidões em um conjunto de artigos da Wikipedia. A resposta para todas as perguntas é um segmento de texto ou extensão da passagem de leitura correspondente. Existem mais de 100.000 pares de respostas de perguntas em mais de 500 artigos. Mais informações podem ser encontradas em: https://rajpurkar.github.io/squad-explorer/
Objetivo do projeto usando este conjunto de dados
- O objetivo do projeto é desenvolver um chatbot que possa realizar conversas com várias turnos, se adaptar ao contexto e lidar com uma variedade de tópicos.
Tamanho do conjunto de dados:
- O conjunto de dados possui 2 arquivos JSON. Um é para treinamento e o outro é para testar
- Dev-V1.1.json-4,9 MB
- TRIN-V1.1.JSON-30,3 MB
Algoritmos que são usados como parte de nossa investigação
- 2 arquiteturas diferentes são usadas:
- Arquitetura GPT2-Medium usando Lora e Peft
- Bert (Bert-Base-Anced)
Requisitos do projeto
- Python3
- conjuntos de dados
- tocha
- peft
- transformadores
- avaliar
- SafeTetensors
- Numpy
- Pandas
- matplotlib
- Scikit-Learn
- Seancen
- nltk
- ROUGE-SCORE
- rouge
- Gradio
- TQDM
Uso do projeto
- Goto Squad DataSet Pré-processamento e verifique se você possui arquivos de
train-v1.1.json e dev-v1.1.json .- Caso você não os tenha, você pode baixá -los aqui e aqui
- DataSet de dados do GOTO Squad e execute todas as células.
- Para executar e visualizar os resultados da abordagem BERT (BERT-BASE-AND), siga as instruções fornecidas no arquivo squad_chatbot_using_bert-Base-Uncased_readme.md.
- Para executar e visualizar os resultados da abordagem GPT (GPT2-Medium usando LORA e PEFT), siga as instruções fornecidas no arquivo squad_chatbot_using_gpt2-medium_readme.md.
Qual arquitetura de chatbot deve usar os usuários
- Na verdade, ambos os chatbots estão funcionando bem.
- Squad_using_gpt2-medium gera as respostas, mas na maioria das vezes tem problemas.
- Para obter mais informações sobre as observações e detalhes técnicos, consulte arquivos de treinamento e validação.
- Squad_Using_Bert-Base-Incased está funcionando muito bem como o esperado.
- A conclusão final é: os usuários podem usar qualquer chatbot. Mas, para uma geração perfeita de respostas, use o Squad_USing_Bert-Base-Base-Base.
Autores