--- language: pt license: apache-2.0 --- # 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 TWEETS ALREADY NORMALIZED! line = [ "Tem vídeo novo no canal do @USER :rosto_sorridente_com_olhos_de_coração: Passem por lá e confiram : HTTPURL", "Que jogo ontem @USER :mãos_juntas:", "Procuro um amor , que seja bom pra mim ... vou procurar , eu vou até o fim :nota_musical:"] encoded_input = tokenizer(line, return_tensors="pt", padding=True) with torch.no_grad(): last_hidden_states = model(**encoded_input) # CLS Token of last hidden states. Shape: (number of input sentences, hidden sizeof the model) last_hidden_states[0][:,0,:] ``` ### 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 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'}] ```