File size: 2,349 Bytes
f5344ed
487659f
f5344ed
 
6686b7f
f8c2752
 
966dd59
 
 
 
07fab57
 
966dd59
 
 
 
 
07fab57
966dd59
 
 
 
1bcd20e
966dd59
 
1bcd20e
07fab57
 
 
 
 
1332e64
07fab57
 
 
1332e64
1bcd20e
1332e64
 
 
07fab57
786a2bc
 
07fab57
 
 
 
 
 
 
 
 
1bcd20e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
966dd59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
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'}]
```