|
--- |
|
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-cased-sts |
|
results: |
|
- task: |
|
type: text-classification |
|
dataset: |
|
type: projecte-aina/sts-ca |
|
name: STS-ca |
|
metrics: |
|
- name: Pearson |
|
type: Pearson |
|
value: 0.797 |
|
|
|
--- |
|
|
|
# Catalan BERTa (roberta-base-ca) 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-cased-sts** is a Semantic Textual Similarity (STS) model for the Catalan language fine-tuned from the roberta-base-ca 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. |
|
|
|
## Intended Uses and Limitations |
|
|
|
**roberta-base-ca-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-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-cased-sts_ on the STS-ca test set against standard multilingual and monolingual baselines: |
|
|
|
| Model | STS-ca (Pearson score) | |
|
| ------------|:-------------| |
|
| roberta-base-ca-cased-sts | 79.73 | |
|
| 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] |
|
|
|
### Disclaimer |
|
|
|
<details> |
|
<summary>Click to expand</summary> |
|
|
|
The models published in this repository are intended for a generalist purpose and are available to third parties. These models may have bias and/or any other undesirable distortions. |
|
|
|
When third parties, deploy or provide systems and/or services to other parties using any of these models (or using systems based on these models) or become users of the models, they should note that it is their responsibility to mitigate the risks arising from their use and, in any event, to comply with applicable regulations, including regulations regarding the use of Artificial Intelligence. |
|
|
|
In no event shall the owner and creator of the models (BSC – Barcelona Supercomputing Center) be liable for any results arising from the use made by third parties of these models. |