Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Criar um Chatbot com TensorFlow em Python

#tensorflow; #chatbot; #python
@CanalQb

Python - Usando TensorFlow

@CanalQb

Como criar um chatbot básico com TensorFlow em Python

Chatbots são ferramentas úteis e poderosas na interação entre humanos e máquinas, e podem ser desenvolvidos com diferentes abordagens. Uma das maneiras mais didáticas de iniciar no tema é utilizando TensorFlow, uma das bibliotecas de machine learning mais populares e mantida pelo Google.

Pré-requisitos

  • Python 3 instalado em seu sistema.
  • Bibliotecas tensorflow e numpy instaladas (via pip install tensorflow numpy).

Descrição do exemplo

O código a seguir cria um chatbot extremamente simples com algumas perguntas e respostas fixas, utilizando uma rede neural do tipo LSTM (Long Short-Term Memory) para processar sequências de palavras e gerar uma resposta baseada em aprendizado supervisionado.

Código completo

import tensorflow as tf
import numpy as np

# Define perguntas e respostas
perguntas = ['Qual é o seu nome?', 'Como você está?', 'O que você faz?']
respostas = ['Meu nome é Chatbot', 'Estou bem, obrigado', 'Eu sou um chatbot']

# Mapeia palavras para índices
palavras = set()
for pergunta in perguntas:
    palavras.update(pergunta.split())
for resposta in respostas:
    palavras.update(resposta.split())

palavra_para_indice = {palavra: i for i, palavra in enumerate(palavras)}
indice_para_palavra = {i: palavra for palavra, i in palavra_para_indice.items()}

# Vetores de entrada e saída
entradas = []
saidas = []

for pergunta, resposta in zip(perguntas, respostas):
    entrada = [palavra_para_indice[p] for p in pergunta.split()]
    saida = [palavra_para_indice[r] for r in resposta.split()]
    entradas.append(entrada)
    saidas.append(saida)

entradas = np.array(entradas)
saidas = np.array(saidas)

# Modelo do chatbot
modelo = tf.keras.Sequential([
    tf.keras.layers.Embedding(len(palavras), 100),
    tf.keras.layers.LSTM(100),
    tf.keras.layers.Dense(len(palavras), activation='softmax')
])
modelo.compile(loss='categorical_crossentropy', optimizer='adam')

# Treinamento (exemplo didático)
modelo.fit(entradas, saidas, epochs=500)

# Função para gerar resposta
def gerar_resposta(pergunta):
    entrada = [palavra_para_indice[p] for p in pergunta.split()]
    entrada = np.array([entrada])
    saida = modelo.predict(entrada)[0]
    resposta = ' '.join(indice_para_palavra[np.argmax(saida, axis=0)])
    return resposta

# Loop de conversa
while True:
    pergunta = input('Você: ')
    print('Chatbot:', gerar_resposta(pergunta))

Importante

Este chatbot é extremamente limitado e serve apenas como introdução aos conceitos. Ele não possui compreensão de linguagem natural nem aprendizado real de conversação.

Como melhorar esse projeto?

  • Adicionar pré-processamento de texto (remoção de pontuação, normalização, etc.).
  • Utilizar bibliotecas de NLP como NLTK ou spaCy.
  • Treinar com datasets reais de diálogos (como o Hugging Face).
  • Implementar pipelines com Tokenizer e pad_sequences.
  • Usar modelos pré-treinados como o GPT-2 com o framework Transformers.

Conclusão

Com este exemplo básico, você teve um primeiro contato com a criação de chatbots usando TensorFlow. Embora rudimentar, esse projeto ajuda a entender como representar texto como números, usar embeddings e treinar redes neurais simples.

Continue explorando e estudando ferramentas de IA mais avançadas para construir aplicações mais robustas e inteligentes.

Mais tutoriais podem ser encontrados no canal @CanalQb.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo