a

Lorem ipsum dolor sit amet, consectetur adicing elit ut ullamcorper. leo, eget euismod orci. Cum sociis natoque penati bus et magnis dis.Proin gravida nibh vel velit auctor aliquet. Leo, eget euismod orci. Cum sociis natoque penati bus et magnis dis.Proin gravida nibh vel velit auctor aliquet.

  /  Project   /  Blog: Tensorflow por Brasileiros — Construindo seu próprio Chatbot (Parte1)

Blog: Tensorflow por Brasileiros — Construindo seu próprio Chatbot (Parte1)


Salve galera, tudo bem com vocês ? Agora que vocês já conhecem o TensorFlow e Deep Learning através das minhas postagens anteriores, iremos nesse post de hoje desenvolver nosso próprio chatbot capaz de classificar a intenção e de responder algumas perguntas, e o melhor de tudo usando nosso querido Tensorflow.

Tensorflow + ChatBot

Certamente você já deve ter conversado com algum robô, especialmente aqueles de atendimento nos canais digitais. Nesse tutorial vou ensinar vocês a usar o recursos do Tensorflow para criar seu próprio bot para uma loja assim como é feito no Dialogflow, porém dessa vez vamos fazer tudo na mão e entender todo o processo, para isso teremos que executar os seguintes passos:

  • Transformar as definições de intenção em um modelo Tensorflow;
  • Desenvolver uma estrutura para o chatbot processar as respostas;
  • Exibir o contexto básico pode ser incorporado ao nosso processador de respostas.

Para isso usaremos o tflearn, uma camada acima do tensorflow e, é claro, do Python.

Transformando as definições de intenção de conversação em um modelo de tensorflow

Para inciarmos uma boa estratégia para se fazer isso é utilizando um arquivo JSON com as seguintes informações:

Note que cada uma das intenções possui:

  • tag: um nome único;
  • patterns: sequência de frases ditas pelo usuário;
  • responses: respostas possíveis para o chatbot.

Feito isso o próximo passo é importar nossas dependências:

Com nosso arquivo JSON devidamente carregado, podemos então começar a organiza-lo separando os documentos, respostas e classes.

Feito isso termos como resultado uma lista de documentos (frases), lista de palavras e classes possíveis.

24 documents
7 classes ['agradecimento', 'cardapio', 'despedida', 'horario', 'pagamentos', 'produto', 'saudacao']
51 unique stemmed words [':', 'a', 'abr', 'abraco', 'abrem', 'aceit', 'aceitam', 'ai', 'ajud', 'ajudou', 'alguem', 'at', 'bem', 'cardapio', 'cartao', 'com', 'credito', 'de', 'est', 'funcionamento', 'hora', 'horario', 'loj', 'mai', 'mand', 'mastercard', 'me', 'muito', 'o', 'obrgado', 'obrigado', 'oi', 'ol', 'os', 'pag', 'pel', 'pizz', 'pod', 'posso', 'produto', 'qua', 'qual', 'que', 'sab', 'seu', 'tchau', 'tem', 'tudo', 'vend', 'vendem', 'voc']

Note que nessa parte também removemos algumas duplicadas com a finalidade deixar a base limpa. Nosso próximo passo agora é transformar esses documentos em dados numéricos para o tensorflow.

Observando atentamente repare que transformamos os textos em duas listas (intenção, classe) que servirão de treinamento para nossa rede neural, com os seguintes parâmetros:

  • entrada (input): será o vetor train_x;
  • camadas ocultas: 2 com 8 nós ;
  • saída (output): train_y;
  • épocas: 1000 (aumente caso necessário)

Como saída você terá as informações sobre a execução do treinamento.

Finalizado o treinamento devemos salvar nosso modelo para a parte 2 desse tutorial onde faremos a predição da classe e das respostas do chatbot.

Para testar o modelo treinado iremos realizar uma pequena demonstração de predição que será trabalhada na parte 2 desse post.

Observe que a predição foi realizada corretamente:

Com isso enceramos nosso post de hoje, espero que vocês tenham gostado desse tutorial com uma serie de novos conhecimentos, o fonte completo para treinamento do seu chatbot você encontra no meu github.

Abraços e até a parte 2 desse post.

bye bye !

Source: Artificial Intelligence on Medium

(Visited 3 times, 1 visits today)
Post a Comment

Newsletter