Este projeto é uma aplicação que permite traduzir textos entre diferentes idiomas utilizando uma interface gráfica desenvolvida em Python com a biblioteca tkinter. Ele também utiliza um modelo de sequência para sequência (seq2seq) para realizar a tradução do texto fornecido.
- Interface Gráfica (GUI): Permite ao usuário inserir o texto de entrada, selecionar o idioma e visualizar o texto traduzido.
- Modelo Seq2Seq: Utiliza um modelo de redes neurais para realizar a tradução automática de texto.
- Treinamento e Decodificação: Inclui funções para treinar o modelo e decodificar as sequências traduzidas.
- Python 3.8+
- Bibliotecas necessárias:
tkinter(interface gráfica)numpy(operações matemáticas e vetoriais)tensorflow(treinamento e execução do modelo)
-
Clone o repositório:
git clone https://github.com/seu-usuario/seu-repositorio.git cd seu-repositorio -
Instale as dependências: Certifique-se de que você tem o Python e o
pipinstalados. Em seguida, execute:pip install -r requirements.txt
Caso o arquivo
requirements.txtnão esteja presente, instale manualmente as dependências:pip install numpy tensorflow
-
Execute a aplicação:
python app.py
- Abra a aplicação: Execute o arquivo
app.pypara abrir a interface. - Insira o texto: No campo de entrada, digite o texto que deseja traduzir.
- Selecione o idioma: Escolha o idioma de destino para a tradução.
- Veja o resultado: Clique no botão para traduzir e visualize o texto traduzido no campo de saída.
A função decode_sentence é responsável por processar a sequência de texto traduzido:
def decode_sentence(input_seq):
# Gera a sequência traduzida com base no modelo seq2seq
states_value = encoder_model.predict(input_seq)
target_seq = np.zeros((1, 1, num_decoder_tokens))
target_seq[0, 0, target_token_index['\t']] = 1.0
stop_condition = False
decoded_sentence = ''
while not stop_condition:
output_tokens, h, c = decoder_model.predict(
[target_seq] + states_value)
sampled_token_index = np.argmax(output_tokens[0, -1, :])
sampled_char = reverse_target_char_index[sampled_token_index]
decoded_sentence += sampled_char
if (sampled_char == '\n' or
len(decoded_sentence) > max_decoder_seq_length):
stop_condition = True
target_seq = np.zeros((1, 1, num_decoder_tokens))
target_seq[0, 0, sampled_token_index] = 1.0
states_value = [h, c]
return decoded_sentenceEssa função pode ser personalizada para atender às necessidades específicas do projeto.
Contribuições são bem-vindas! Siga os passos abaixo:
- Faça um fork do repositório.
- Crie um branch para sua feature/bugfix:
git checkout -b minha-feature
- Faça commit das suas alterações:
git commit -m "Minha nova feature" - Envie para o branch principal:
git push origin minha-feature
- Abra um Pull Request.
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para mais informações.
Desenvolvido por iamrosada0.