|
--- |
|
language: pt |
|
license: apache-2.0 |
|
--- |
|
|
|
# <a name="introduction"></a> BERTweet.BR: A Pre-Trained Language Model for Tweets in Portuguese |
|
|
|
Having the same architecture of [BERTweet](https://huggingface.co/docs/transformers/model_doc/bertweet) we trained our model from scratch following [RoBERTa](https://huggingface.co/docs/transformers/model_doc/roberta) pre-training procedure on a corpus of approximately 9GB containing 100M Portuguese Tweets. |
|
|
|
## Usage |
|
|
|
### Normalized Inputs |
|
|
|
```python |
|
import torch |
|
from transformers import AutoModel, AutoTokenizer |
|
|
|
model = AutoModel.from_pretrained('melll-uff/bertweetbr') |
|
tokenizer = AutoTokenizer.from_pretrained('melll-uff/bertweetbr', normalization=False) |
|
|
|
# INPUT TWEET IS ALREADY NORMALIZED! |
|
line = "Tem vídeo novo no canal do @USER :rosto_sorridente_com_olhos_de_coração: Passem por lá e confiram : HTTPURL" |
|
|
|
encoded_input = = tokenizer(line, return_tensors="pt") |
|
|
|
with torch.no_grad(): |
|
features = model(**encoded_input) # Models outputs are now tuples |
|
``` |
|
|
|
### Normalize raw input Tweets |
|
|
|
```python |
|
from emoji import demojize |
|
import torch |
|
from transformers import AutoModel, AutoTokenizer |
|
|
|
model = AutoModel.from_pretrained('melll-uff/bertweetbr') |
|
tokenizer = AutoTokenizer.from_pretrained('melll-uff/bertweetbr', normalization=True) |
|
|
|
tokenizer.demojizer = lambda x: demojize(x, language='pt') |
|
``` |
|
|
|
### Mask Filling with Pipeline |
|
|
|
```python |
|
from transformers import pipeline |
|
|
|
model_name = 'melll-uff/bertweetbr' |
|
tokenizer = AutoTokenizer.from_pretrained('melll-uff/bertweetbr', normalization=False) |
|
|
|
filler_mask = pipeline("fill-mask", model=model_name, tokenizer=tokenizer) |
|
|
|
filler_mask("Rio é a <mask> cidade do Brasil.", top_k=5) |
|
|
|
|
|
[{'sequence': 'Rio é a melhor cidade do Brasil.', |
|
'score': 0.9871652126312256, |
|
'token': 120, |
|
'token_str': 'm e l h o r'}, |
|
{'sequence': 'Rio é a pior cidade do Brasil.', |
|
'score': 0.005050931591540575, |
|
'token': 316, |
|
'token_str': 'p i o r'}, |
|
{'sequence': 'Rio é a maior cidade do Brasil.', |
|
'score': 0.004420778248459101, |
|
'token': 389, |
|
'token_str': 'm a i o r'}, |
|
{'sequence': 'Rio é a minha cidade do Brasil.', |
|
'score': 0.0021856199018657207, |
|
'token': 38, |
|
'token_str': 'm i n h a'}, |
|
{'sequence': 'Rio é a segunda cidade do Brasil.', |
|
'score': 0.0002110043278662488, |
|
'token': 667, |
|
'token_str': 's e g u n d a'}] |
|
``` |