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
~/.bashrca 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/)
Release files for vlibras-translate 1.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vlibras-translate-1.1.10.tar.gz | 23.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vlibras_translate-1.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.1 MB
Release files / vlibras-translate-1.1.10.tar.gz
| Download URL | vlibras-translate-1.1.10.tar.gz |
|---|---|
| Size | 23.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1552a6251917766050884c226f2eee33e04f01cc1fcbec1bee5e288385fc2e8f
|
|
BLAKE2b-256 checksum How to use checksums |
0328e83f26268efba1f05802ec3cae1f583e08577a090e697de7e1d90795097e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7
|
Release files / vlibras_translate-1.1.10-py3-none-any.whl
| Download URL | vlibras_translate-1.1.10-py3-none-any.whl |
|---|---|
| Size | 23.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27e1bd9810673bf8f1956fd78b5906f29a45bef0815096a4b3020bbabf41638c
|
|
BLAKE2b-256 checksum How to use checksums |
d21296375d805250a4bbb7d972deba159fbf6bbedff3f22343de899f03e0fa64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7
|