VLibras (LAVID-UFPB) translation module for translating brazilian portugues to LIBRAS.
Project description
VLibras Translate
O VLibras é um projeto desenvolvido no Laboratório de Aplicações de Vídeo Digital (LAVID) para a tradução de Português Brasileiro (PT-BR) para Libras. O pacote VLibras Translate é parte da suíte VLibras e disponibiliza um conjunto de ferramentas de pré-processamento de texto para tradução por deep learning e um módulo de tradução PT-BR/Libras.
Sumário
Pré-requisitos
- Java 8
- Hunspell (sudo apt-get install libhunspell-dev)
- Python 3
Instalação
- pip3 install vlibras-translate
Utilização
O VLibras Translate possui duas interfaces: o seu módulo python (vlibras_translate) e suas linhas de comando (vlibras-translate e vlibras-translate-file). Para utilizar a interface de linha de comando, o alias 'python' deve ser uma versão de python 3 com o vlibras_translate instalado. Para definir o alias é recomendado um dos seguintes modos:
- Adicionar ao final do arquivo ~/.bashrc a linha alias python='python3'. Em seguida, fechar e abrir o terminal ou executar o comando source ~/.bashrc.
- Utilização de ambiente virtual para python 3 como o conda;
Tradução PTBR-Libras:
Tradução de Texto
Módulo Python
import vlibras_translate
tradutor = vlibras_translate.translation.Translation()
glosa = tradutor.rule_translation('Maria comprou por três parcelas de 35,50 reais naquela loja.')
print(glosa)
Saída
MARIA COMPRAR POR 3 PARCELA 35 VÍRGULA 50 REAL AQUELE LOJA [PONTO]
Linha de comando
vlibras-translate -r 'Maria comprou por três parcelas de 35,50 reais naquela loja.'
Saída
GLOSA (rule):
MARIA COMPRAR POR 3 PARCELA 35 VÍRGULA 50 REAL AQUELE LOJA [PONTO]
Tradução de Arquivo
Módulo Python
import vlibras_translate
vlibras_translate.file_translation.FileTranslation()
tradutor.rule_translation('minha_pasta/texto_treino_ptbr1', 'minha_pasta/texto_treino_ptbr2', 'minha_pasta/texto_treino_ptbr3')
Linha de comando
vlibras-translate-file -r minha_pasta/texto_treino_ptbr1 minha_pasta/texto_treino_ptbr2 minha_pasta/texto_treino_ptbr3
Pré-Processamento
As ferramentas de pré-processamento de texto do VLibras Translate são destinadas ao desenvolvimento de modelos neurais de tradução (deep learning). São disponibilizadas as seguintes funcionalidades:
- Análise morfossintática utilizando o Aelius
- Remoção de símbolos (e.g. '-@#') com exceção de hifens entre palavras e pontos decimais (vírgula ou ponto, mas não os separadores de milhares). Por exemplo, o pré-processamento de '#123 @ -34 1.234,56 guarda-roupa' resulta em '123 34 1234 , 56 guarda-roupa'
- Reconhecimento de nomes próprios
- Reconhecimento de erros ortográficos
- Lematização utilizando o cogroo4py
- Obtenção de glosas PT-BR/Libras
- Substituição de nomes, números e erros ortográficos pelos símbolos ", ' e # respectivamente. Esta função é apenas para arquivos de treino.
Outra funcionalidade oferecida por esse pacote é o pré-processamento de textos em PT-BR para o desenvolvimento de modelos de deep learning para tradução de PT-BR para Libras. Para isso foram implementadas dois pipelines de processamento: um para arquivos de treino e outro para arquivos de teste (que serão traduzidos pelo modelo já treinado). As seções a seguir contêm exemplos para a processamento de textos de treino, textos de teste, arquivos de treino e arquivos de teste respectivamente.
Texto de treino
Módulo Python
import vlibras_translate
tradutor = vlibras_translate.translation.Translation()
ptbr_treino, glosa_treino = tradutor.preprocess_train_files('Maria comprou por três parcelas de 35,50 reais naquela loja hje.')
print(ptbr_treino)
print(glosa_treino)
Saída
" comprou por ' parcelas de ' , ' reais naquela loja # .
" COMPRAR POR ' PARCELA ' VÍRGULA ' REAL AQUELE LOJA # [PONTO]
Linha de comando
vlibras-translate -t 'Maria comprou por três parcelas de 35,50 reais naquela loja hje.'
Saída
PT-BR (treino):
" comprou por ' parcelas de ' , ' reais naquela loja # .
GLOSA (treino):
" COMPRAR POR ' PARCELA ' VÍRGULA ' REAL AQUELE LOJA # [PONTO]
Texto de teste
Módulo Python
import vlibras_translate
tradutor = vlibras_translate.translation.Translation()
ptbr_teste = tradutor.preprocess_pt('Maria comprou por três parcelas de 35,50 reais naquela loja hje.')
print(ptbr_teste)
Saída
maria comprou por 3 parcelas de 35 , 50 reais naquela loja hje .
Linha de comando
vlibras-translate -p 'Maria comprou por três parcelas de 35,50 reais naquela loja hje.'
Saída
PT-BR (teste):
maria comprou por 3 parcelas de 35 , 50 reais naquela loja hje .
Arquivos de treino
Módulo Python
import vlibras_translate
tradutor = vlibras_translate.file_translation.FileTranslation()
tradutor.preprocess_train_files('minha_pasta/texto_treino_ptbr1', 'minha_pasta/texto_treino_ptbr2', 'minha_pasta/texto_treino_ptbr3')
Linha de comando
vlibras-translate-file -t minha_pasta/texto_treino_ptbr1 minha_pasta/texto_treino_ptbr2 minha_pasta/texto_treino_ptbr3
Arquivo de teste
Módulo Python
import vlibras_translate
tradutor = vlibras_translate.file_translation.FileTranslation()
tradutor.preprocess_pt('minha_pasta/texto_teste_ptbr1', 'minha_pasta/texto_teste_ptbr2', 'minha_pasta/texto_teste_ptbr3')
Linha de comando
vlibras-translate-file -p minha_pasta/texto_teste_ptbr1 minha_pasta/texto_teste_ptbr2 minha_pasta/texto_teste_ptbr3
Log
1.0.6
- Novos sinônimos
1.0.7
- Fix para uso conjunto de processameto de arquivos de treino e tradução por regra;
- Fix para checagem de ortografia de palavras com caracteres fora do padrão latin-1
Licença
Este projeto está sob a licença LGPLv3 - veja o link https://choosealicense.com/licenses/lgpl-3.0/ para detalhes.
Sobre o VLibras Translate
- Autor: Caio Moraes (caiomoraes.cesar@gmail.com)
- LAVID (http://lavid.ufpb.br/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for vlibras_translate-1.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2014f9f8992f4f8823422002edbb81551f59cb38c0ec5916f9f2c4f250532b6 |
|
MD5 | 8135d63fc5d278516e619bc7d3fb5541 |
|
BLAKE2b-256 | f3899fe5270377d3a2f07f0f9589ab62567b25facf1f0d35d05ff0f3bbb75d8e |