276 34

Restaurador de Pontuação

Meu modelo mais popular, utilizado para restaurar pontuação e capitalização em textos em português. Com mais de 238.825 downloads no HuggingFace Hub, seu uso é simples e acessível através de um pacote Python.

Github Project Page

Restauração de Pontuação no Texto em Português com BERT

O projeto se propõe a resolver um desafio comum na processamento de linguagem natural: a restauração de pontuação. Utilizando o modelo BERT-base-portuguese-cased, foi realizada a tarefa de treinamento de um sistema que restaura pontuações e a capitalização de palavras em textos na língua portuguesa.

Descrição do Projeto

O projeto, intitulado bert-restore-punctuation-ptbr, utiliza o modelo BERT (baseado na arquitetura Transformer) e foi implementado na biblioteca PyTorch. Ele foi treinado no conjunto de dados WikiLingua, que contém um amplo espectro de exemplos na língua portuguesa.

Este modelo é projetado para uso direto como um restaurador de pontuação para o português em geral. Alternativamente, ele também pode ser utilizado para o aprimoramento em textos específicos de um domínio para tarefas de restauração de pontuação.

As pontuações restauradas pelo modelo incluem [! ? . , - : ; ' ], além da recuperação de letras maiúsculas em palavras.

Como Usar

O projeto foi empacotado de forma a facilitar a utilização, bastando instalar a biblioteca respunct através do comando pip install respunct. Após isso, a restauração de pontuação em um texto pode ser feita de maneira simples:

from respunct import RestorePuncts
 
model = RestorePuncts()
 
model.restore_puncts("henrique foi no lago pescar com o pedro mais tarde foram para a casa do pedro fritar os peixes")
# Saída:
# Henrique foi no lago pescar com o Pedro. Mais tarde, foram para a casa do Pedro fritar os peixes.

Precisão do Modelo

A precisão geral do modelo é de 96%. As métricas F1, precisão e recall também foram calculadas para cada tipo de pontuação. Por exemplo, o modelo tem uma precisão de 86% e recall de 93% para a recuperação do ponto final (Full stop/period - .O).

labelprecisionrecallf1-scoresupport
Upper - OU0.890.910.9069376
None - OO0.990.980.98857659
Full stop/period - .O0.860.930.8960410
Comma - ,O0.850.830.8448608
Upper + Comma - ,U0.730.760.753521
Question - ?O0.680.780.731168
Upper + period - .U0.660.720.691884
Upper + colon - :U0.590.630.61352
Colon - :O0.700.530.602420
Question Mark - ?U0.500.560.5336
Upper + Exclam. - !U0.380.320.3438
Exclamation Mark - !O0.300.050.08783
Semicolon - ;O0.350.040.081557
Apostrophe - 'O0.000.000.003
Hyphen - -O0.000.000.003
accuracy0.961047818
macro avg0.570.540.541047818
weighted avg0.960.960.961047818