VLibras (LAVID-UFPB) translation module for translating brazilian portuguese 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 (com compilador)
- Hunspell (
sudo apt-get install libhunspell-dev
) - Cython (
pip install Cython
) - 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 linhaalias python='python3'
. Em seguida, fechar e abrir o terminal ou executar o comandosource ~/.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]
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 .
Log
1.1.10
- Correção de bugs envolvendo números e o processamento de glosas. Suporte para pré-processamento sem BPE
1.1.8
- Correção de bugs
1.1.5
- Correção de lemas (e.g. "posso" -> "pospoder"; "indo" -> "inir"), whitelist de mascaramento para lugares e pessoas famosas e correção para bug que removia acentos no pós-processamento.
1.1.4
- Números em cardinal, ajustes em verbos direcionais
1.1.3
- Correção no tratamento de sinônimos durante tradução com deep learning
1.1.2
- Alteração da interface Python para tradução com deep learning
1.1.1
- Melhora de performance
1.1.0
- Suporte para Docker Kubernetes
- Adaptações para novas sintaxes utilizadas nos corpora (LAVID apenas)
- Novos métodos para corpora Glosa-Regra/Glosa-Intérprete
1.0.10
- Fix para frases contendo apenas caracteres que não são do conjunto latin-1
1.0.9
- Fix para compatibilidade com Python 3.5
1.0.8
- Fix para caracteres que não são do conjunto latin-1
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
1.0.6
- Novos sinônimos
Licença
Este projeto está sob a licença LGPLv3 - veja o arquivo LICENSE para mais 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.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27e1bd9810673bf8f1956fd78b5906f29a45bef0815096a4b3020bbabf41638c |
|
MD5 | 4cfd07215fe58afdc14b8144677dccd9 |
|
BLAKE2b-256 | d21296375d805250a4bbb7d972deba159fbf6bbedff3f22343de899f03e0fa64 |