|
--- |
|
pipeline_tag: text-classification |
|
|
|
language: |
|
|
|
- ca |
|
|
|
license: apache-2.0 |
|
|
|
tags: |
|
|
|
- "catalan" |
|
|
|
- "semantic textual similarity" |
|
|
|
- "sts-ca" |
|
|
|
- "CaText" |
|
|
|
- "Catalan Textual Corpus" |
|
|
|
datasets: |
|
|
|
- "projecte-aina/sts-ca" |
|
|
|
metrics: |
|
|
|
- "combined_score" |
|
|
|
model-index: |
|
|
|
- name: roberta-base-ca-v2-cased-sts |
|
results: |
|
- task: |
|
type: text-classification |
|
dataset: |
|
type: projecte-aina/sts-ca |
|
name: STS-ca |
|
metrics: |
|
- name: Combined score |
|
type: combined_score |
|
value: 0.7907 |
|
|
|
--- |
|
|
|
# Catalan BERTa-v2 (roberta-base-ca-v2) finetuned for Semantic Textual Similarity. |
|
|
|
## Table of Contents |
|
- [Model Description](#model-description) |
|
- [Intended Uses and Limitations](#intended-uses-and-limitations) |
|
- [How to Use](#how-to-use) |
|
- [Training](#training) |
|
- [Training Data](#training-data) |
|
- [Training Procedure](#training-procedure) |
|
- [Evaluation](#evaluation) |
|
- [Variable and Metrics](#variable-and-metrics) |
|
- [Evaluation Results](#evaluation-results) |
|
- [Licensing Information](#licensing-information) |
|
- [Citation Information](#citation-information) |
|
- [Funding](#funding) |
|
- [Contributions](#contributions) |
|
|
|
## Model description |
|
|
|
The **roberta-base-ca-v2-cased-sts** is a Semantic Textual Similarity (STS) model for the Catalan language fine-tuned from the [roberta-base-ca-v2](https://huggingface.co/projecte-aina/roberta-base-ca-v2) model, a [RoBERTa](https://arxiv.org/abs/1907.11692) base model pre-trained on a medium-size corpus collected from publicly available corpora and crawlers (check the roberta-base-ca-v2 model card for more details). |
|
|
|
## Intended Uses and Limitations |
|
|
|
**roberta-base-ca-v2-cased-sts** model can be used to assess the similarity between two snippets of text. The model is limited by its training dataset and may not generalize well for all use cases. |
|
|
|
## How to use |
|
To get the correct<sup>1</sup> model's prediction scores with values between 0.0 and 5.0, use the following code: |
|
|
|
```python |
|
from transformers import pipeline, AutoTokenizer |
|
from scipy.special import logit |
|
|
|
model = 'projecte-aina/roberta-base-ca-v2-cased-sts' |
|
tokenizer = AutoTokenizer.from_pretrained(model) |
|
pipe = pipeline('text-classification', model=model, tokenizer=tokenizer) |
|
|
|
def prepare(sentence_pairs): |
|
sentence_pairs_prep = [] |
|
for s1, s2 in sentence_pairs: |
|
sentence_pairs_prep.append(f"{tokenizer.cls_token} {s1}{tokenizer.sep_token}{tokenizer.sep_token} {s2}{tokenizer.sep_token}") |
|
return sentence_pairs_prep |
|
|
|
sentence_pairs = [("El llibre va caure per la finestra.", "El llibre va sortir volant."), |
|
("M'agrades.", "T'estimo."), |
|
("M'agrada el sol i la calor", "A la Garrotxa plou molt.")] |
|
|
|
predictions = pipe(prepare(sentence_pairs), add_special_tokens=False) |
|
|
|
# convert back to scores to the original 0 and 5 interval |
|
for prediction in predictions: |
|
prediction['score'] = logit(prediction['score']) |
|
print(predictions) |
|
``` |
|
Expected output: |
|
``` |
|
[{'label': 'SIMILARITY', 'score': 2.118301674983813}, |
|
{'label': 'SIMILARITY', 'score': 2.1799755855125853}, |
|
{'label': 'SIMILARITY', 'score': 0.9511617858568939}] |
|
``` |
|
|
|
<sup>1</sup> _**avoid using the widget** scores since they are normalized and do not reflect the original annotation values._ |
|
|
|
## Training |
|
|
|
### Training data |
|
We used the STS dataset in Catalan called [STS-ca](https://huggingface.co/datasets/projecte-aina/sts-ca) for training and evaluation. |
|
|
|
### Training Procedure |
|
The model was trained with a batch size of 16 and a learning rate of 5e-5 for 5 epochs. We then selected the best checkpoint using the downstream task metric in the corresponding development set, and then evaluated it on the test set. |
|
|
|
## Evaluation |
|
|
|
### Variable and Metrics |
|
|
|
This model was finetuned maximizing the average score between the Pearson and Spearman correlations. |
|
|
|
## Evaluation results |
|
We evaluated the _roberta-base-ca-v2-cased-sts_ on the STS-ca test set against standard multilingual and monolingual baselines: |
|
|
|
| Model | STS-ca (Combined score) | |
|
| ------------|:-------------| |
|
| roberta-base-ca-v2-cased-sts | 79.07 | |
|
| roberta-base-ca-cased-sts | **80.19** | |
|
| mBERT | 74.26 | |
|
| XLM-RoBERTa | 61.61 | |
|
|
|
For more details, check the fine-tuning and evaluation scripts in the official [GitHub repository](https://github.com/projecte-aina/club). |
|
|
|
## Licensing Information |
|
|
|
[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) |
|
|
|
## Citation Information |
|
If you use any of these resources (datasets or models) in your work, please cite our latest paper: |
|
```bibtex |
|
@inproceedings{armengol-estape-etal-2021-multilingual, |
|
title = "Are Multilingual Models the Best Choice for Moderately Under-resourced Languages? {A} Comprehensive Assessment for {C}atalan", |
|
author = "Armengol-Estap{\'e}, Jordi and |
|
Carrino, Casimiro Pio and |
|
Rodriguez-Penagos, Carlos and |
|
de Gibert Bonet, Ona and |
|
Armentano-Oller, Carme and |
|
Gonzalez-Agirre, Aitor and |
|
Melero, Maite and |
|
Villegas, Marta", |
|
booktitle = "Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021", |
|
month = aug, |
|
year = "2021", |
|
address = "Online", |
|
publisher = "Association for Computational Linguistics", |
|
url = "https://aclanthology.org/2021.findings-acl.437", |
|
doi = "10.18653/v1/2021.findings-acl.437", |
|
pages = "4933--4946", |
|
} |
|
``` |
|
|
|
### Funding |
|
This work was funded by the [Departament de la Vicepresidència i de Polítiques Digitals i Territori de la Generalitat de Catalunya](https://politiquesdigitals.gencat.cat/ca/inici/index.html#googtrans(ca|en) within the framework of [Projecte AINA](https://politiquesdigitals.gencat.cat/ca/economia/catalonia-ai/aina). |
|
|
|
## Contributions |
|
|
|
[N/A] |