Olá pessoal, neste último mês iniciei um projeto de construção de chatbots utilizando Rasa Framework e preciso falar pra vocês, estou encantada. Já tinha trabalhado na construção de chatbots anteriormente, porém, utilizando Blip que é uma plataforma que já te traz a solução quase pronta. O desafio de aprender a ferramenta e os conceitos por trás do framework está sendo gigante, como eu sou louca por aprender sempre coisas novas, estou amando! Amando os materiais disponíveis, cursos, a comunidade… tudo!!
Como costumo sempre fazer minhas próprias anotações/explicações para entender quando aprendo algo novo, não seria diferente para esse meu aprendizado do Rasa, não é mesmo?
Neste post serão abordados os seguintes tópicos:
- O que são assistentes contextuais
- Explorando o conceito do Rasa
Assistentes Contextuais
No Rasa, usamos o conceito de 5 níveis de assistentes para descrever as capacidades dos assistentes de IA e mostrar como a tecnologia evoluiu ao longo do tempo. Resumidamente, estas são as definições:
Nível 1: Assistentes de Notificação
Capaz de enviar notificações simples, como uma mensagem de texto, notificação push ou mensagem do WhatsApp.
Nível 2: Assistentes de FAQ
- Pode responder a perguntas simples, como FAQs.
- O tipo mais comum de assistente hoje
- Muitas vezes construído em torno de um conjunto de regras ou uma máquina de estado.
Nível 3: Assistentes contextuais
- Capaz de entender o contexto da conversa, ou seja, o que o usuário disse anteriormente e quando / onde / como ele disse.
- Capaz de compreender e responder a entradas diferentes e inesperadas
- Pode aprender com conversas anteriores e melhorar a precisão ao longo do tempo
- É o que hoje conseguimos construir com o Rasa
Nível 4: Assistentes Personalizados
- A próxima geração de assistentes de IA, que o conhecerá melhor com o tempo
- Existe apenas na teoria
Nível 5: Assistentes autonomos
- Assistentes de IA que conhecem cada cliente pessoalmente
- Capaz de administrar grandes partes das operações de uma empresa - desde a geração de leads até vendas, RH ou finanças.
- Visão de longo prazo para a indústria
Neste post vamos nos concentrar na construção de assistentes de nível 3, usando a abordagem baseada em aprendizado de máquina do Rasa, que usa dados de conversas reais para melhorar a precisão ao longo do tempo.
Explorando Rasa
O Rasa é um framework de machine learning para automatizar assistentes de texto e voz e possui três grandes componentes que trabalham juntos para criar as assistentes:
- Rasa NLU
- Rasa Core
- Rasa X
Rasa NLU
Rasa NLU é como se fosse a audição de sua assistente, ajuda a assistente a entender o que foi falado. Rasa NLU pega o input do usuário na forma de linguagem humana não estruturada e extrai os dados estruturados na forma de intenções(Intents) e entidades(Entities).
-
Intents: São campos que representam o objetivo ou o significado do input do usuário. Por exemplo, se a mensagem for “Olá”, poderia ter uma intenção com o nome de “saudar” porque o significado da mensagem do usuário é uma saudação.
-
Entities: São palavras-chaves que a nossa assistente deve lembrar. Por exemplo, na mensagem “Meu nome é Alini “, tem o nome “Alini”nela então nossa assistente deve extrair o nome e lembrar durante a conversa, pra manter a iteração natural.
Rasa Core
Rasa Core é o componente de gerenciamento de diálogo (dialog management) do Rasa. Ele decide como a nossa assistente deve responder, baseado em:
- O estado da conversa
- O contexto O Rasa Core aprende observando os padrões dos dados nas conversas entre um usuário e um assistente.
Fluxo da mensagem
- 1: A mensagem é recebida e o NLU pega os dados não estruturados, que a converte em um dicionário incluindo o texto original, a intent, e qualquer entity que for encontrada;
- 2: O Tracker é o objeto que mantém controle do estado da conversa. Ele recebe a informação de que uma nova mensagem foi recebida;
- 3: O Policy recebe as informações atuais do Tracker;
- 4: O Policy decide qual ação deve ser tomada;
- 5: A ação escolhida é captada pelo Tracker;
- 6: A resposta é enviada para o usuário.
Rasa X
Rasa X é um conjunto de ferramentas para desenvolvedores criarem, melhorarem e implantarem assistentes contextuais com a estrutura Rasa. Você pode usar o Rasa X para:
- Analisar e anotar as conversas
- Pegar feedback dos testers
- Versão e gerenciamento dos modelos
Destina-se a resolver dois problemas:
- Primeiro, para facilitar o aproveitamento de conversas reais como dados de treinamento.
- Em segundo lugar, para fornecer uma maneira de revisar conversas anteriores em busca de padrões ou erros.
Com o Rasa X, você pode compartilhar seu assistente com usuários reais e coletar as conversas que eles têm com o assistente, permitindo que você aprimore seu assistente sem interromper a execução do assistente em produção.
Alguns destes dados foram traduzidos a partir do Rasa Masterclass Episódio 1. Rasa Masterclass é uma série de vídeos semanais que conduz os espectadores pelo processo de construção de um assistente de IA, desde a ideia até a produção.
Criando seu primeiro projeto no Rasa Playground
Com a chegada do Rasa 2.0 em outubro de 2020, também chegou o Rasa Plyground, um local onde você pode testar e aprender os fundamentos da construção de um assistente com o Rasa Open Source com um guia interativo. Você poderá personalizar o assistente, conversar com ele e fazer o download do projeto para continuar a construção localmente.
Eu te encorajo a entrar no playground e tentar criar seu primeiro projeto, e espero que você se encante tanto quanto eu!!
Grande Abraço, A.R. 🙂