pythonlini1

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:

pythonlini1

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-logo

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

rasa-message-flow

  • 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. rasa-logo 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.

rasa-playground

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. 🙂