Aula 34 – TensorFlow – Keras – Redes Neurais – RNN Chatbot

Aula 34 – TensorFlow – Keras – Redes Neurais – RNN Chatbot

Voltar para página principal do blog

Todas as aulas desse curso

Aula 33                        Aula 35 (Ainda não disponível)

TensorFlow - Keras - Redes Neurais

TensorFlow – Keras – Redes Neurais

Pacote Programador Fullstack

Pacote Programador Fullstack

Redes Sociais:

facebook              

 

Site das bibliotecas

Tensorflow

Keras

Cursos Gratuitos

Digital Innovation

Quer aprender python3 de graça e com certificado? Acesse então:

workover

Para aprender Python do zero, além do curso aqui do código fluente, eu indico também esse curso do Python Academy.

Python Academy

Python Academy

Meus link de afiliados:

Hostinger

Digital Ocean

One.com

Canais do Youtube

Toti

Backing Track / Play-Along

Código Fluente

Putz!

Vocal Techniques and Exercises

Fiquem a vontade para me adicionar ao linkedin.

PIX para doações

PIX Nubank

PIX Nubank

Notebook da aula

Base de dados: human_text.txt e o robot_text.txt


Aula 34 – TensorFlow – Keras – Redes Neurais – RNN Chatbot

Os chatbots traduzem a linguagem humana em informações digitais usando técnicas de aprendizado de máquina e processamento de linguagem natural (NLP).

Existem várias maneiras de desenvolver um chatbot, os dois métodos mais comuns são: generativo e baseado em recuperação de intenções.

Como funcionam os chatbots de IA/ML?

Os chatbots alimentados por inteligência artificial geralmente usam três métodos de classificação.

Os chatbots podem aplicar todos esses métodos em diferentes situações.

1. Correspondências de padrões:

Os chatbots usam a correspondência de padrões para classificar o texto e produzir uma resposta adequada para os clientes.

Os chatbots de correspondência de padrões usam uma base de conhecimento que contém padrões e modelos de fala específicos.

Quando o chatbot recebe uma entrada que corresponde a um padrão existente, ele envia a mensagem armazenada no modelo como resposta.

O padrão pode ser uma frase como “Que horas são?” ou um padrão “A hora é*”, onde o ‘*’ é uma expressão regular.

Um padrão único deve estar disponível no banco de dados para cada tipo de pergunta.

2. Natural Language Understanding (NLU)

Natural Language Understanding (NLU) é um subconjunto de IA que permite a interação humano-computador.

O NLU aproveita uma hierarquia de modelos de classificação para analisar entrada de texto ou fala:

Classificador de domínio — classifica a entrada em um grupo predeterminado de domínios de conversação.

Este classificador é usado apenas para conversas sobre vários tópicos que exigem vocabulário especializado.

Por exemplo, assistentes virtuais como Siri, Alexa… usam classificadores de domínio para responder a perguntas sobre esportes, clima, música ou navegação.

Classificador de intenção — determina o que o usuário está tentando alcançar atribuindo cada entrada a uma das intenções especificadas em seu algoritmo de NLP.

Por exemplo, uma intenção pode ser “encontrar horário de funcionamento”, “encontrar um produto”, “encontrar a loja mais próxima”.

Reconhecedor de entidade — extrai as frases e palavras essenciais para cumprir a intenção do usuário.

Por exemplo, se o usuário estiver tentando reservar uma mesa em um restaurante, a intenção incluirá data, hora e número de pessoas.

Classificadores de função — executa uma rotulagem de entidades com base no contexto.

Por exemplo, você pode classificar ainda mais o tempo rotulando-o como “aberto” ou “fechado”.

3. Processamento de linguagem natural

A Natural Language Processing ou NLP refere-se à síntese e análise de linguagens humanas.

Os algoritmos de NLP usam uma combinação de análises estatísticas, preditivas, mineração de dados e técnicas de modelagem de dados para gerar informações de forma proativa.

A NLP permite que o chatbot aprenda e imite os padrões e estilos da conversa humana.

Dá a sensação de que você está falando com um humano, não com um robô.

Chatbots generativos versus baseados em recuperação de intenções

Decidir sobre a melhor técnica para processar entradas de diálogo e gerar respostas é uma das primeiras decisões que você precisa tomar.

A maioria dos sistemas atuais usa métodos baseados em recuperação, enquanto os métodos generativos ainda estão em pesquisa.

Baseado em recuperação

Os chatbots baseados em recuperação funcionam com o princípio de gráficos ou fluxos direcionados.

O chatbot é treinado para fornecer a melhor resposta possível a partir de um banco de dados de respostas predefinidas.

As respostas são baseadas em informações existentes.

Os chatbots baseados em recuperação usam técnicas como correspondência de palavras-chave, aprendizado de máquina ou aprendizado profundo para identificar a resposta mais apropriada.

Independentemente da técnica, esses chatbots fornecem apenas respostas predefinidas e não geram novas saídas.

Um exemplo de chatbot baseado em recuperação é o Mitsuku.

Ele contém mais de 300.000 padrões de resposta predefinidos e uma base de conhecimento de mais de 3.000 objetos.

Este chatbot pode construir músicas e poemas com base em sua base de conhecimento.

Gerativo

Os sistemas baseados em recuperação são limitados a respostas predefinidas.

Os chatbots que usam métodos generativos podem gerar novos diálogos com base em grandes quantidades de dados de treinamento de conversação.

Os chatbots generativos usam uma combinação de aprendizado supervisionado, aprendizado não supervisionado, aprendizado por reforço e aprendizado adversário para treinamento em várias etapas.

A aprendizagem supervisionada estrutura uma conversação como um problema de sequência a sequência.

O aprendizado de sequência a sequência mapeia as entradas do usuário para uma resposta gerada por computador.

No entanto, esse tipo de aprendizado tende a priorizar respostas de alta probabilidade como “eu sei”.

Os sistemas de aprendizado supervisionado também têm problemas para incluir nomes próprios em sua fala, pois aparecem menos no diálogo em comparação com outras palavras.

Como resultado, os chatbots de aprendizado supervisionado parecem repetitivos e não podem promover uma conversa humana estável.

Para resolver esse problema, os desenvolvedores aproveitam o aprendizado por reforço para ensinar aos chatbots como otimizar os diálogos para obter alguma recompensa cumulativa.

Conclusão

Os chatbots de IA estão se tornando cada vez mais populares na vida cotidiana.

A maioria dos chatbots em assistentes digitais estão usando métodos baseados em recuperação.

Se você preferir usar uma abordagem mais inovadora, como aprendizado generativo, sua equipe de engenharia será limitada pelos recursos de pesquisa, pois essas são direções menos comprovadas.

Decidir sobre uma abordagem técnica é apenas o primeiro passo para construir um chatbot de sucesso.

Muitos chatbots com algoritmos avançados ainda apresentam falhas na experiência do usuário.

Projeto Prático – Chatbot generativo – seq2seq

Usando o modelo seq2seq

Um chatbot generativo, gera uma resposta em vez de selecionar uma entre as existentes em um conjunto de respostas prontas.

É um software que fornece uma experiência real de conversação.

O bot que iremos construir, vai gerar uma resposta com base no corpus de treinamento.

Vamos usar o modelo codificador-decodificador (seq2seq) para esta abordagem.

E por essa aula é só, a gente se vê na próxima. \o/


Voltar para página principal do blog

Todas as aulas desse curso

Aula 33                        Aula 35 (Ainda não disponível)

Meu github:

https://github.com/toticavalcanti

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>