image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Maycon Batestin
Maycon Batestin04/10/2023 20:17
Compartilhe

Mr. Cosmos: Seu Watson Assistant sobre Galáxias, Universo e Muito Mais...

  • #Inteligência Artificial (IA)
  • #Machine Learning


Introdução

O universo é um lugar fascinante e misterioso, repleto de galáxias, planetas e fenômenos cósmicos intrigantes. Neste artigo, vamos explorar como criar um chatbot, chamado Mr. Cosmos, usando o IBM Watson Assistant, Api da Nasa, IBM Function, Webhook e um pouco de python, que pode responder a perguntas sobre o universo e até mesmo fornecer imagens incríveis de galáxias e planetas. Vamos passar por cada etapa, desde a criação da conta na IBM até o desenvolvimento do assistente.

Antes de mais nada...

O que é Watson Assistant?

O IBM Watson™ Assistant é um serviço que combina aprendizado de máquina, compreensão de linguagem natural e um editor de diálogo integrado para criar fluxos de conversação entre seus aplicativos e seus usuários.

Ele permite que você construa interfaces de conversação em qualquer aplicativo, dispositivo ou canal. Comumente usado para criar agentes virtuais e chatbots, o Watson Assistant pode se conectar aos recursos de engajamento do cliente que você já usa para fornecer uma experiência unificada e envolvente para seus clientes3.

Além disso, o Watson Assistant oferece a capacidade de analisar métricas e logs de conversas entre clientes e seu assistente para avaliar seu desempenho e identificar áreas para melhoria.

Mas como ele funciona, de verdade?

O IBM Watson Assistant funciona através de uma combinação de várias tecnologias de inteligência artificial, incluindo aprendizado de máquina e processamento de linguagem natural, talvez o processo mais recorrente seja o NLU.

Mas o que d*!@!$!@ é NLU?

Também chamada de Compreensão da linguagem natural (NLU), ou Processamento de Linguagem Natural (NLP), é um método de machine learning para entender a intenção do usuário a partir de sua entrada. Isso permite que ele interprete a linguagem humana da maneira como é falada ou escrita, permitindo uma interação mais natural com o usuário.

E o que é Machine Learning?

Oras, o pessoal de T.I gosta de palavras em inglês, né? Traduzindo de forma literal é Aprendizado de Máquina. O Watson Assistant usa algoritmos de aprendizado de máquina para melhorar continuamente sua capacidade de interpretar as entradas do usuário e fornecer respostas precisas. Ele aprende com cada interação, tornando-se mais preciso e eficiente ao longo do tempo.

Agora que estamos explicados, vamos falar um pouco sobre o contexto do Watson, a qual contexto ele opera.

De forma simples, existem alguns contextos que devemos nos atentar: Intenção, Entidades, Diálogo e Nós.

·        Diálogos: No Watson Assistant, você pode criar diálogos que guiam as conversas com os usuários. Os diálogos usam intenções (o que o usuário quer fazer), entidades (informações específicas que o usuário fornece) e ações (o que o assistente deve fazer em resposta) para determinar como responder a uma entrada do usuário.

·        Intenção: As intenções são os objetivos que o usuário está tentando realizar. Você treina o Watson Assistant para detectar intenções fornecendo exemplos do que seus usuários diriam (às vezes chamados de “enunciados do usuário”) para expressar essa intenção ou objetivo. As intenções são as ações/verbos que o usuário está tentando alcançar.  Um exemplo de intenção pode ser “comprar_roupa”. Exemplos de enunciados do usuário para essa intenção podem incluir “Eu quero comprar uma camiseta nova” ou “Estou procurando por um vestido novo para comprar”. O Watson Assistant usaria esses exemplos para aprender a reconhecer quando um usuário está tentando comprar roupas.

  1. Entidades: As entidades são os objetos/substantivos. Enquanto a intenção se refere ao objetivo que o cliente tem em mente ao digitar uma pergunta ou comentário, a entidade se refere ao modificador - campos, dados ou texto, que o cliente usa para descrever sua exigência enquanto a intenção é o que eles realmente querem dizer3. Ao definir as entidades, o Watson Assistant posteriormente aprende a conexão e a identificar as entidades e intenções. Usando o mesmo exemplo da loja de roupas online, as entidades poderiam incluir coisas como “tipo_de_roupa” e “cor”. Por exemplo, em uma frase como “Eu quero comprar uma camiseta azul”, “camiseta” seria reconhecida como o valor da entidade “tipo_de_roupa” e “azul” seria reconhecido como o valor da entidade “cor”.
  1. Nós (Nodes): No Watson Assistant, os ‘nós’ são usados para criar os diálogos que guiam as conversas com os usuários. Os diálogos usam intenções, entidades e ações para determinar como responder a uma entrada do usuário. Contextualizando com os exemplos anteriores, você poderia ter um nó que responde à intenção “comprar_roupa”. Dentro desse nó, você poderia ter condições que verificam o valor das entidades. Por exemplo, se a entidade “tipo_de_roupa” for “camiseta” e a entidade “cor” for “azul”, o assistente poderia responder com algo como: “Ótimo, aqui estão algumas camisetas azuis que temos disponíveis agora…”.

Explicado as regras, vamos para a prática. A seguir iremos listar aqui alguns passos para realizar este chatbot. Em caso de dúvida, ao final do artigo, disponibilizarei meu contato para que possamos conversar.

Passo 1: Criação de uma Conta na IBM

Antes de começarmos, é necessário criar uma conta na IBM para acessar os serviços necessários. Siga estas etapas:

1.      Acesse o site da IBM Cloud: https://cloud.ibm.com/

2.      Clique em "Registrar" e siga as instruções para criar sua conta.

PS: É necessário o uso de um cartão de crédito. A IBM não irá lhe cobrar nenhum valor indevido e para fins de nosso estudo, todos os recursos aqui usados são Lite (free).

Passo 2: Consumindo a API da NASA

Para obter acesso à API da NASA e obter a chave de API necessária, siga estas etapas:

1.      Visite o site da NASA API: https://api.nasa.gov/.

2.      Clique em "Sign Up" para criar uma conta e obter sua chave de API.

3.      Salve a sua key em um local de segurança de sua confiança.

Passo 3: Configurando a IBM Function para o Webhook

Agora, precisamos configurar uma função na IBM Cloud para criar um webhook que se conecte ao Watson Assistant. Siga estas etapas:

1.      No painel da IBM Cloud, vá para "Functions" e crie uma nova função.

2.      Configure a função para se conectar ao Watson Assistant e à API da NASA.

3.      O código seria algo assim:

``` import requests

# Substitua 'YOUR_API_KEY' pelo valor real da sua chave de API da NASA.

api_key = 'YOUR_API_KEY'

# URL da API da NASA para obter informações sobre asteroides

url = f'https://api.nasa.gov/neo/rest/v1/feed?api_key={api_key}'

# Faça uma solicitação GET para a API da NASA

response = requests.get(url)

# Imprima a resposta da API

print(response.json()) ```

4.      Crie um endpoint para o webhook.

Passo 4: Desenvolvimento do Assistente no Watson

Nesta seção, iremos detalhar como criar o assistente no IBM Watson Assistant e configurá-lo para interagir com o webhook que criamos anteriormente.

1. Criando Intenções e Entidades

Intenções representam os objetivos ou intenções que os usuários podem ter ao interagir com o assistente. Neste caso, algumas intenções relevantes podem ser:

·        Obter imagem de galáxia: Esta intenção pode ser acionada quando o usuário solicita uma imagem de uma galáxia.

·        Perguntar sobre planetas: Esta intenção pode ser acionada quando o usuário pergunta sobre informações relacionadas a planetas.

·        Explorar o universo: Esta intenção pode ser acionada quando o usuário deseja explorar tópicos gerais sobre o universo.

·        Entidades representam informações específicas que o assistente precisa extrair das entradas dos usuários. Por exemplo, se o usuário pergunta "Mostre-me a galáxia Andrômeda," "Andrômeda" seria uma entidade importante para extrair.

Portanto, você pode criar entidades como:

·        Nome da galáxia: Para extrair nomes de galáxias, como "Andrômeda" ou "Via Láctea."

·        Planeta: Para extrair nomes de planetas, como "Marte" ou "Júpiter."

2. Configurando Diálogos

Você pode criar diálogos hierárquicos para guiar a conversa do assistente de forma lógica. Aqui está um exemplo de como estruturar um diálogo no Watson Assistant:

·        Diálogo Principal:

·        Nó de Início: Saudações e apresentação.

·        Nó de Intenção: Detecta a intenção do usuário (por exemplo, "Obter imagem de galáxia").

·        Nó de Entidade: Detecta a entidade relevante (por exemplo, "Nome da galáxia").

·        Nó de Ação: Chama o webhook com a ação apropriada para obter a imagem da galáxia.

·        Nó de Intenção: Detecta outra intenção (por exemplo, "Perguntar sobre planetas").

·        Nó de Entidade: Detecta a entidade relevante (por exemplo, "Planeta").

·        Nó de Ação: Chama o webhook com a ação apropriada para obter informações sobre o planeta.

·        Nó de Intenção: Detecta a intenção geral (por exemplo, "Explorar o universo").

·        Nó de Ação: Fornece informações gerais sobre o universo.

3. Configurando a Integração com o Webhook

A integração com o webhook que criamos anteriormente é realizada no nó de ação do diálogo, onde você define as ações apropriadas a serem tomadas com base nas intenções e entidades detectadas. Aqui, você deve configurar a ação para chamar o webhook com os parâmetros apropriados, como o nome da galáxia ou o planeta.

Exemplo de Configuração de Ação do Webhook:

·        Ação: Chamar Webhook da NASA

·        Parâmetros:

·        Intenção: Obter imagem de galáxia

·        Entidade: Nome da galáxia

·        Chamada ao Webhook: (URL do seu webhook criado na IBM Function).

Nesse ponto, você configurou o assistente para reconhecer as intenções e entidades do usuário e agir de acordo com elas, chamando o webhook quando necessário para obter informações ou imagens específicas.

Consumindo a API da NASA

No nosso chatbot, quando um usuário solicitar uma imagem de galáxia, o assistente irá chamar a API da NASA, passando a entidade (nome da galáxia) como parâmetro e retornar uma imagem impressionante.

Conclusão

Neste artigo, exploramos como criar o chatbot Mr. Cosmos usando o IBM Watson Assistant. Desde a criação da conta na IBM até a integração com a API da NASA e o desenvolvimento do assistente, você aprendeu como criar um chatbot que pode responder a perguntas sobre o universo e fornecer imagens incríveis. Compreender os conceitos de intenção, entidade e ações é fundamental para projetar um assistente eficaz. Agora, você está pronto para explorar o universo com Mr. Cosmos!

Compartilhe
Comentários (0)