🚀 rufimelo/bert-large-portuguese-cased-sts2
This is a sentence-transformers model that maps sentences and paragraphs to a 1024-dimensional dense vector space. It can be used for tasks such as clustering or semantic search, and it is derived from BERTimbau large.
Metadata
Property |
Details |
Language |
Portuguese |
Thumbnail |
Portuguese BERT for STS |
Pipeline Tag |
sentence-similarity |
Tags |
sentence-transformers, sentence-similarity, transformers |
Datasets |
assin, assin2, stsb_multi_mt |
Widget Example
- Source Sentence: "O advogado apresentou as provas ao juíz."
- Comparison Sentences:
- "O juíz leu as provas."
- "O juíz leu o recurso."
- "O juíz atirou uma pedra."
- Example Title: "Example 1"
Model Index
- Model Name: BERTimbau
- Task:
- Metrics:
- Pearson Correlation - assin Dataset: 0.81758
- Pearson Correlation - assin2 Dataset: 0.83784
- Pearson Correlation - stsb_multi_mt pt Dataset: 0.81245
🚀 Quick Start
✨ Features
This model maps sentences and paragraphs to a 1024-dimensional dense vector space, enabling tasks like clustering and semantic search. It is based on the BERTimbau large model.
📦 Installation
Using this model becomes easy when you have sentence-transformers installed:
pip install -U sentence-transformers
💻 Usage Examples
Basic Usage
from sentence_transformers import SentenceTransformer
sentences = ["Isto é um exemplo", "Isto é um outro exemplo"]
model = SentenceTransformer('rufimelo/bert-large-portuguese-cased-sts')
embeddings = model.encode(sentences)
print(embeddings)
Advanced Usage
from transformers import AutoTokenizer, AutoModel
import torch
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
sentences = ['This is an example sentence', 'Each sentence is converted']
tokenizer = AutoTokenizer.from_pretrained('rufimelo/bert-large-portuguese-cased-sts')
model = AutoModel.from_pretrained('rufimelo/bert-large-portuguese-cased-sts')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)
🔧 Technical Details
- Model Derivation: rufimelo/bert-large-portuguese-cased-sts derives from BERTimbau large.
- Training: It was trained for Semantic Textual Similarity and fine-tuned with the assin, assin2, and stsb_multi_mt pt datasets.
- Full Model Architecture:
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False})
)
📄 License
If you use this work, please cite:
@inproceedings{souza2020bertimbau,
author = {F{\'a}bio Souza and
Rodrigo Nogueira and
Roberto Lotufo},
title = {{BERT}imbau: pretrained {BERT} models for {B}razilian {P}ortuguese},
booktitle = {9th Brazilian Conference on Intelligent Systems, {BRACIS}, Rio Grande do Sul, Brazil, October 20-23 (to appear)},
year = {2020}
}
@inproceedings{fonseca2016assin,
title={ASSIN: Avaliacao de similaridade semantica e inferencia textual},
author={Fonseca, E and Santos, L and Criscuolo, Marcelo and Aluisio, S},
booktitle={Computational Processing of the Portuguese Language-12th International Conference, Tomar, Portugal},
pages={13--15},
year={2016}
}
@inproceedings{real2020assin,
title={The assin 2 shared task: a quick overview},
author={Real, Livy and Fonseca, Erick and Oliveira, Hugo Goncalo},
booktitle={International Conference on Computational Processing of the Portuguese Language},
pages={406--412},
year={2020},
organization={Springer}
}
@InProceedings{huggingface:dataset:stsb_multi_mt,
title = {Machine translated multilingual STS benchmark dataset.},
author={Philip May},
year={2021},
url={https://github.com/PhilipMay/stsb-multi-mt}
}