--- pipeline_tag: sentence-similarity language: fr datasets: - stsb_multi_mt tags: - Text - Sentence Similarity - Sentence-Embedding - camembert-base license: apache-2.0 model-index: - name: sentence-camembert-base by Van Tuan DANG results: - task: name: Sentence-Embedding type: Text Similarity dataset: name: Text Similarity fr type: stsb_multi_mt args: fr metrics: - name: Test Pearson correlation coefficient type: Pearson_correlation_coefficient value: 86.88 library_name: sentence-transformers --- ## Pre-trained sentence embedding models are the state-of-the-art of Sentence Embeddings for French. This model is improved from [dangvantuan/sentence-camembert-base](https://huggingface.co./dangvantuan/sentence-camembert-base) using fine-tuning with [Augmented SBERT](https://aclanthology.org/2021.naacl-main.28.pdf) on dataset [stsb](https://huggingface.co./datasets/stsb_multi_mt/viewer/fr/train) along with Pair Sampling Strategies through 2 models [CrossEncoder-camembert-large](https://huggingface.co./dangvantuan/CrossEncoder-camembert-large) and [dangvantuan/sentence-camembert-large](https://huggingface.co./dangvantuan/sentence-camembert-large) ## Usage The model can be used directly (without a language model) as follows: ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer("Lajavaness/sentence-camembert-base") sentences = ["Un avion est en train de décoller.", "Un homme joue d'une grande flûte.", "Un homme étale du fromage râpé sur une pizza.", "Une personne jette un chat au plafond.", "Une personne est en train de plier un morceau de papier.", ] embeddings = model.encode(sentences) ``` ## Evaluation The model can be evaluated as follows on the French test data of stsb. ```python from sentence_transformers import SentenceTransformer from sentence_transformers.readers import InputExample from sentence_transformers.evaluation import EmbeddingSimilarityEvaluator from datasets import load_dataset def convert_dataset(dataset): dataset_samples=[] for df in dataset: score = float(df['similarity_score'])/5.0 # Normalize score to range 0 ... 1 inp_example = InputExample(texts=[df['sentence1'], df['sentence2']], label=score) dataset_samples.append(inp_example) return dataset_samples # Loading the dataset for evaluation df_dev = load_dataset("stsb_multi_mt", name="fr", split="dev") df_test = load_dataset("stsb_multi_mt", name="fr", split="test") # Convert the dataset for evaluation # For Dev set: dev_samples = convert_dataset(df_dev) val_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(dev_samples, name='sts-dev') val_evaluator(model, output_path="./") # For Test set: test_samples = convert_dataset(df_test) test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(test_samples, name='sts-test') test_evaluator(model, output_path="./") ``` **Test Result**: The performance is measured using Pearson and Spearman correlation on the sts-benchmark: - On dev | Model | Pearson correlation | Spearman correlation | #params | | ------------- | ------------- | ------------- |------------- | | [Lajavaness/sentence-camembert-base](https://huggingface.co./Lajavaness/sentence-camembert-base)| 86.88 |86.73 | 110M | | [dangvantuan/sentence-camembert-base](https://huggingface.co./dangvantuan/sentence-camembert-base)| 86.73 |86.54 | 110M | [inokufu/flaubert-base-uncased-xnli-sts](https://huggingface.co./inokufu/flaubert-base-uncased-xnli-sts)| 85.85 |85.71 | 137M | | [distiluse-base-multilingual-cased](https://huggingface.co./sentence-transformers/distiluse-base-multilingual-cased) | 79.22 | 79.16|135M | - On test: Pearson and Spearman correlation are evaluated on many different benchmarks dataset: **Pearson score** | Model | [STS-B](https://huggingface.co./datasets/stsb_multi_mt/viewer/fr/train) | [STS12-fr ](https://huggingface.co./datasets/Lajavaness/STS12-fr)| [STS13-fr](https://huggingface.co./datasets/Lajavaness/STS13-fr) | [STS14-fr](https://huggingface.co./datasets/Lajavaness/STS14-fr) | [STS15-fr](https://huggingface.co./datasets/Lajavaness/STS15-fr) | [STS16-fr](https://huggingface.co./datasets/Lajavaness/STS16-fr) | [SICK-fr](https://huggingface.co./datasets/Lajavaness/SICK-fr) | params | |-----------------------------------------------------------|---------|----------|----------|----------|----------|----------|---------|--------| | [Lajavaness/sentence-camembert-base](https://huggingface.co./Lajavaness/sentence-camembert-base) | 83.46 | 84.49 | 84.61 | 83.94 | 86.94 | 75.20 | 82.86 | 110M | | [inokufu/flaubert-base-uncased-xnli-sts](https://huggingface.co./inokufu/flaubert-base-uncased-xnli-sts) | 82.82 | 84.79 | 85.76 | 82.81 | 85.38 | 74.05 | 82.23 | 137M | | [dangvantuan/sentence-camembert-base](https://huggingface.co./dangvantuan/sentence-camembert-base) | 82.36 | 82.06 | 84.08 | 81.51 | 85.54 | 73.97 | 80.91 | 110M | | [sentence-transformers/distiluse-base-multilingual-cased-v2](https://huggingface.co./sentence-transformers/distiluse-base-multilingual-cased)| 78.63 | 72.51 | 67.25 | 70.12 | 79.93 | 66.67 | 77.76 | 135M | | [hugorosen/flaubert_base_uncased-xnli-sts](https://huggingface.co./hugorosen/flaubert_base_uncased-xnli-sts) | 78.38 | 79.00 | 77.61 | 76.56 | 79.03 | 71.22 | 80.58 | 137M | | [antoinelouis/biencoder-camembert-base-mmarcoFR](https://huggingface.co./antoinelouis/biencoder-camembert-base-mmarcoFR) | 76.97 | 71.43 | 73.50 | 70.56 | 78.44 | 71.23 | 77.62 | 110M | **Spearman score** | Model | [STS-B](https://huggingface.co./datasets/stsb_multi_mt/viewer/fr/train) | [STS12-fr ](https://huggingface.co./datasets/Lajavaness/STS12-fr)| [STS13-fr](https://huggingface.co./datasets/Lajavaness/STS13-fr) | [STS14-fr](https://huggingface.co./datasets/Lajavaness/STS14-fr) | [STS15-fr](https://huggingface.co./datasets/Lajavaness/STS15-fr) | [STS16-fr](https://huggingface.co./datasets/Lajavaness/STS16-fr) | [SICK-fr](https://huggingface.co./datasets/Lajavaness/SICK-fr) | params | |-----------------------------------------------------------|---------|----------|----------|----------|----------|----------|---------|--------| | [Lajavaness/sentence-camembert-base](https://huggingface.co./Lajavaness/sentence-camembert-base) | 82.92 | 77.71 | 84.19 | 81.83 | 87.04 | 76.81 | 76.36 | 110M | | [inokufu/flaubert-base-uncased-xnli-sts](https://huggingface.co./inokufu/flaubert-base-uncased-xnli-sts) | 83.07 | 77.34 | 85.88 | 80.96 | 85.70 | 76.43 | 77.00 | 137M | | [dangvantuan/sentence-camembert-base](https://huggingface.co./dangvantuan/sentence-camembert-base) | 81.64 | 75.45 | 83.86 | 78.63 | 85.66 | 75.36 | 74.18 | 110M | | [sentence-transformers/distiluse-base-multilingual-cased-v2](https://huggingface.co./sentence-transformers/distiluse-base-multilingual-cased) | 77.49 | 69.80 | 68.85 | 68.17 | 80.27 | 70.04 | 72.49 | 135M | | [hugorosen/flaubert_base_uncased-xnli-sts](https://huggingface.co./hugorosen/flaubert_base_uncased-xnli-sts) | 76.93 | 68.96 | 77.62 | 71.87 | 79.33 | 72.86 | 73.91 | 137M | | [antoinelouis/biencoder-camembert-base-mmarcoFR](https://huggingface.co./antoinelouis/biencoder-camembert-base-mmarcoFR) | 75.55 | 66.89 | 73.90 | 67.14 | 78.78 | 72.64 | 72.03 | 110M | ## Citation @article{reimers2019sentence, title={Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks}, author={Nils Reimers, Iryna Gurevych}, journal={https://arxiv.org/abs/1908.10084}, year={2019} } @article{martin2020camembert, title={CamemBERT: a Tasty French Language Mode}, author={Martin, Louis and Muller, Benjamin and Su{\'a}rez, Pedro Javier Ortiz and Dupont, Yoann and Romary, Laurent and de la Clergerie, {\'E}ric Villemonte and Seddah, Djam{\'e} and Sagot, Beno{\^\i}t}, journal={Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics}, year={2020} } @article{thakur2020augmented, title={Augmented SBERT: Data Augmentation Method for Improving Bi-Encoders for Pairwise Sentence Scoring Tasks}, author={Thakur, Nandan and Reimers, Nils and Daxenberger, Johannes and Gurevych, Iryna}, journal={arXiv e-prints}, pages={arXiv--2010}, year={2020}