Este projeto implementa um modelo de tradução automática de sentenças do inglês para o português utilizando redes neurais LSTM com Keras. O projeto envolve a preparação de dados, tokenização, construção e treinamento do modelo, além de uma interface para testar a tradução de novas sentenças.
Este script realiza as seguintes tarefas:
-
Baixa e carrega os datasets:
sentences.csvcontendo sentenças em várias línguas.links.csvcontendo links entre sentenças que são traduções uma da outra.
-
Filtra as sentenças:
- Seleciona sentenças em inglês e português.
- Junta os datasets para obter pares de sentenças traduzidas.
-
Pré-processamento:
- Adiciona tokens especiais
<start>e<end>às sentenças em português. - Realiza a tokenização das sentenças.
- Converte as sentenças em sequências de tokens e realiza padding para um comprimento fixo.
- Adiciona tokens especiais
-
Construção do modelo:
- Define um modelo seq2seq com LSTM para a tradução.
- Compila e treina o modelo.
-
Salva os artefatos:
- Salva os tokenizadores e o modelo treinado.
Este script realiza as seguintes tarefas:
- Carrega os tokenizadores e o modelo salvo.
- Reconstrói os modelos de encoder e decoder a partir do modelo salvo.
- Define funções auxiliares:
decode_sequence: Para decodificar uma sequência de entrada e obter a tradução.prepare_input: Para preparar o texto de entrada.
- Testa o modelo com algumas frases de exemplo, imprimindo a tradução de cada uma.
Todos os artefatos necessários para a execução do projeto (modelos, datasets, tokenizadores) estão disponíveis no Google Drive:
- Instalar as dependências necessárias:
pip install -r requirements.txt
- Baixar e preparar os datasets executando main.py:
python main.py
- Executar test_model.py para testar o modelo com novas sentenças:
python test_model.py
main.py: Script para preparação dos dados, construção e treinamento do modelo. test_model.py: Script para testar o modelo treinado com novas sentenças.
Este projeto demonstra a construção de um sistema de tradução automática utilizando LSTM. Ele abrange desde a preparação dos dados até a implementação e teste do modelo, fornecendo uma base sólida para aplicações mais avançadas de tradução automática.