Bem-vindo ao Soulful.ai-Inspirado pelo caso de uso nº 4 para o outono de hack-a-roo 2020
Introdução
Existem dois modos - modo amigável e modo crítico.
- Modo amigável - 2 configurações:
- Usuário vs. Bot:
- O chatbot conversará com o usuário principalmente da maneira simpática e empática.
- Ajuda o usuário a aliviar potenciais estresse, ansiedade e depressão de problemas covidos ou pessoais.
- Bot vs. Bot (Automático):
- Dois modelos separados (treinados com personalidade diferente) terão uma breve conversa entre si. Os papéis podem variar.
- Por exemplo, o Modelo 1 pode ser uma pessoa deprimida, enquanto o Modelo 2 é o terapeuta ou um edredom.
- Modo Crítico - 2 Configurações:
- Usuário vs. Bot:
- O chatbot conversará com o usuário principalmente de maneira crítica.
- Ajuda o usuário a se aprofundar em um tópico controverso ou simplesmente entender os pontos de vista conflitantes.
- Bot vs. Bot (Automático):
- Dois modelos separados (treinados com diferentes perspectivas) terão uma breve conversa entre si. Os papéis podem variar.
- Por exemplo, o Modelo 1 pode ser apoiador republicano, enquanto o Modelo 2 pode ser um defensor democrata.
Implementação:
- Um conjunto de modelos foi construído no Google Colaboratory, composto por 4-5 modelos diferentes adequados para diferentes domínios de conhecimento.
- A estrutura do PNL é a HuggingFace, a estrutura principal de código aberto para soluções de PNL usando transformadores construídos em cima do Pytorch.
- O aplicativo móvel foi construído no Android através da estrutura nativa do React, uma das opções mais populares para desenvolver aplicativos robustos de plataforma cruzada usando o JavaScript. A estrutura compatível com multiplataforma foi desenvolvida pelo Facebook para facilitar a construção de aplicativos nativos.
Escopo futuro:
- Humano em Loop: Feedback em tempo real
- Várias mensagens simultâneas de cada lado.
- Mais domínios de conhecimento
- Melhoria da interface do usuário
- Modelo de implantação na nuvem (Amazon AWS, Microsoft Azure,…)
- Implantação de aplicativos no Google Playstore
- Análise de Multi-modalidade:
- Processamento de linguagem natural
- Detecção de objetos (para interpretar as imagens carregadas do usuário)
- Análise de sentimentos do usuário
- Diversos modelos de texto em fala (baseados em gênero, sensíveis à idade e com mais som natural)
- Recursos de fala para texto (para simular chamadas telefônicas ou facetiming)
Recursos
- PowerPoint desliza sobre como soulful.ai
- Exemplo de vídeos do aplicativo.
- Modelos de bot colaboratório do Google:
- Modo amigável
- Modo crítico
Referências:
- https://reactnative.dev/
- https://github.com/microsoft/dialogpt
- https://github.com/huggingface/transformers
- https://www.reddit.com/r/depression/
- https://www.reddit.com/dev/api/
- https://www.reddit.com/r/coronavirus/
- https://pytorch.org/
Pronto para ver você mesmo? Siga as instruções abaixo!
Pré -requisito
Deve ter reagir nativo, git e node.js instalados globalmente no seu computador!
- Git: https://git-scm.com/book/en/v2/getting-started-installing-git
- Node.js: node.js: https://nodejs.org/en/download/
- React Native: Depois de instalar o Node.js, abra sua linha de terminal/comando de sua escolha e execute este comando:
npm install -g react-native-cli
Configurar o ambiente de desenvolvimento
- Siga as instruções neste link para configurar de acordo com o seu computador (Windows ou Mac): https://reactnative.dev/docs/environment-setup
Comece!
Depois de configurar tudo, siga as etapas abaixo para executar o aplicativo:
- Linha de comando aberta de sua escolha e clone o projeto:
git clone https://github.com/ngchieu857529/emotionalchatbot.git
- Direto para a pasta clonada:
cd emotionalchatbot
- (Esta terceira etapa pode ser diferente para uma máquina diferente. Aqui, estamos usando o emulador Android para executar o aplicativo) Abra o Android Studio e execute um emulador. Espere que tudo carregue
- Volte para a linha de comando e execute:
react-native run-android
=> feito! Um aplicativo deve aparecer no seu emulador Android. Se você estiver enfrentando algum problema, procure a Internet para resolver os erros! Divirta -se conversando com o bot!