Giter Site home page Giter Site logo

taydias / chatbot_grace-blipchat Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 213 KB

Design e Bkp do chatbot desenvolvido com BLiP Chat e IBM Watson. Possui o uso de NLP e transbordo humano. Esse foi o meu primeiro bot e foi feito para identificar violência doméstica e direcionar o atendimento a uma rede de voluntários.

License: MIT License

JavaScript 100.00%

chatbot_grace-blipchat's Introduction

Grace Bot - V. 1.0

Logo do bot

O objetivo do chatbot desenvolvido é identificar pessoas em situações de violência doméstica através do uso de inteligência artificial e viabilizar o contato com atendimento especializado.

Inicialmente o chatbot teve versões desenvolvidas em Python e também nas plataformas Pandorabots e Botpress. Contudo foi optado por concluir a versão usando o BLiP Chat e o IBM Watson em conjunto, devido a necessidade de agilidade na conclusão.

Índice

Status do projeto

✔️ Finalizado - Versão 1.0 ✔️

Tecnologias utilizadas

Funcionalidades

  • 01 - Manter uma conversa
  • 02 - Finalizar conversa ao ser solicitado.
  • 03 - Categorizar sentimentos relatados.
  • 04 - Identificar relatos de violência doméstica.
  • 05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica.
  • 06 - Verificar disponibilidade de horários de atendimento da equipe especializada.
  • 07 - Listagem de próximos horários de atendimento da equipe na conversa.
  • 08 - Cadastro de usuários atendidos pelo chatbot.
  • 09 - Solicitação de feedback ao encerramento da conversa.

Modelo de PLN/NLP

A interpretação de decisões de usuário e a contextualização de sua situação física e emocional é feita com o processamento de linguagem natural (PLN) do IBM Watson a partir de um modelo de intenções e entidades personalizado. A taxa de confiabilidade deve ser igual ou superior a 75%.

Intenções

Nome da intenção Funcionalidade associada
ajuda-especialista 05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica
concordar 01 - Manter uma conversa
desabafo 01 - Manter uma conversa
03 - Categorizar sentimentos relatados
04 - Identificar relatos de violência doméstica
despedida 02 - Finalizar conversa ao ser solicitado
09 - Solicitação de feedback ao encerramento da conversa.
incerto 01 - Manter uma conversa
negar 01 - Manter uma conversa

Entidades

Nome da entidade Funcionalidade associada
o-que-vdomestica 04 - Identificar relatos de violência doméstica
05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica
quem-vdomestica 04 - Identificar relatos de violência doméstica
05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica
onde-vdomestica 04 - Identificar relatos de violência doméstica
05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica
quando-vdomestica 04 - Identificar relatos de violência doméstica
05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica
emocao-positiva 03 - Categorizar sentimentos relatados
emocao-negativa 03 - Categorizar sentimentos relatados
emocao-indicadora 03 - Categorizar sentimentos relatados
05 - Direcionar a conversa ao atendimento humano quando identificar violência doméstica

Execução da aplicação

Para usar a versão de produção você vai precisar apenas acessar o Website do projeto e clicar no ícone de conversa no canto inferior direito da página.

Aviso: As demais funcionalidades do website estão temporariamente indisponíveis devido a plataforma hospedeira do backend ter bloqueado as ferramentas hospedadas gratuitamente.

Exemplos de frases para testar

Como a base de dados é pequena em função do pouco tempo disponível para desenvolvê-la, aqui está alguns exemplos de frases que você pode testar e que o chatbot entenderá como indicativo de violência doméstica:

  • Meu marido começo a jogar as coisas em mim na cozinha depois de discutirmos, fiquei assustada
  • Ontem aconteceu de novo, meu namorado me humilhou na frente de todos porque estava com ciumes
  • Ela bateu forte no meu braço e ameaçou acabar com a minha vida, hoje esta agindo como se nada tivesse acontecido
  • Fui agredida por meu companheiro

Configuração do ambiente de teste

Para montar um ambiente de testes você vai precisar acesar o portal do BLiP e criar uma estrutura de roteador e sub-bots semelhante a mostrada na imagem abaixo.

Router

Para o sub-bot "Grace Conectar" o flow importado no builder deve ser o arquivo "chatbotvicauth.json". Para o sub-bot "Grace Dialogo" deve ser carregado o arquivo "gracedialogoprd.json" e para o sub-bot "Grace Principal" deve ser usado o arquivo "chatbotcyberbulleviolencia.json".

Em cada sub-bot as opções "Traking automático" e "Utilizar contexto de Roteador" devem estar ativadas. Deve-se incluir também em "Variáveis de configuração" a url (urlWatson) e a chave de autorização (authorizationWatson) para conexão com o IBM Watson Assistant.

Para criar uma estrutura similar a usada do Watson Assistant acesse o IBM Cloud e crie um novo serviço do Watson. Após isso, acesse esse serviço na "Lista de Recursos" e crie uma nova Skill do tipo diálogo. Importe as intenções, que estão na pasta "watson/intents", e as entidades da pasta "watson/entities". A url de acesso a essa skill por requisição pode ser consultada na opção "View API Details".

Para mais informações sobre a API do Watson e obtenção da chave de autorização de uma skill consulte a documentação oficial aqui.

Referencias

Como escrever um README incrível no seu Github: https://www.alura.com.br/artigos/escrever-bom-readme

Como fazer um bom README: https://blog.rocketseat.com.br/como-fazer-um-bom-readme/

Emoji-cheat-sheet: https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md

TCC - DESENVOLVIMENTO DE UM CHATBOT PARA APOIO A VÍTIMAS DE VIOLÊNCIA DOMÉSTICA: https://repositorio.animaeducacao.com.br/bitstream/ANIMA/23997/1/TCC-Final-Taynara-Dias.pdf

chatbot_grace-blipchat's People

Contributors

taydias avatar

Watchers

 avatar Kostas Georgiou avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.