|
--- |
|
datasets: |
|
- crazyjeannot/fr_literary_dataset_base |
|
language: |
|
- fr |
|
library_name: sentence-transformers |
|
pipeline_tag: sentence-similarity |
|
tags: |
|
- sentence-transformers |
|
- sentence-similarity |
|
- feature-extraction |
|
widget: [] |
|
license: apache-2.0 |
|
base_model: |
|
- BAAI/bge-m3 |
|
--- |
|
|
|
# Literary Encoder |
|
|
|
This is an encoder model finetuned from the FlagOpen/FlagEmbedding family of models. |
|
|
|
The model is specialized for studying french literary fiction with a training corpus based on 400.000 passages from free from rights french literary novels. |
|
|
|
It maps paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more. |
|
|
|
|
|
## Model Details |
|
|
|
### Model Description |
|
- **Model Type:** Sentence Transformer |
|
- **Base model:** [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3) |
|
- **Maximum Sequence Length:** 512 tokens |
|
- **Output Dimensionality:** 1024 |
|
- **Similarity Function:** Cosine Similarity |
|
- **Training Dataset:** [crazyjeannot/fr_literary_dataset_large](https://huggingface.co/datasets/crazyjeannot/fr_literary_dataset_large) |
|
- **Language:** French |
|
- **License:** cc-by-2.5 |
|
|
|
### Model Sources |
|
|
|
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net) |
|
- **Repository:** [Flag Embedding on GitHub](https://github.com/FlagOpen/FlagEmbedding) |
|
- **Hugging Face:** [BGE dense model on Hugging Face](https://huggingface.co/BAAI/bge-m3) |
|
|
|
### Full Model Architecture |
|
|
|
``` |
|
SentenceTransformer( |
|
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel |
|
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) |
|
(2): Normalize() |
|
) |
|
``` |
|
|
|
## Usage |
|
|
|
### Direct Usage (FlagEmbedding) |
|
|
|
Then you can load this model and run inference. |
|
```python |
|
from FlagEmbedding import FlagModel |
|
|
|
# Download from the 🤗 Hub |
|
model = FlagModel('crazyjeannot/literary_bge_base', |
|
query_instruction_for_retrieval="", |
|
use_fp16=True) |
|
|
|
# Run inference |
|
sentences = [ |
|
'Il y avait, du reste, cette chose assez triste, c’est que si M. de Marsantes, à l’esprit fort ouvert, eût apprécié un fils si différent de lui, Robert de Saint-Loup, parce qu’il était de ceux qui croient que le mérite est attaché à certaines formes de la vie, avait un souvenir affectueux mais un peu méprisant d’un père qui s’était occupé toute sa vie de chasse et de course, avait bâillé à Wagner et raffolé d’Offenbach.', |
|
"D’ailleurs, les opinions tranchantes abondent dans un siècle où l’on ne doute de rien, hors de l’existence de Dieu ; mais comme les jugements généraux que l’on porte sur les peuples sont assez souvent démentis par l’expérience, je n’aurai garde de prononcer.", |
|
'Il était chargé de remettre l’objet, quel qu’il fût, au commodore, et d’en prendre un reçu, comme preuve que lui et son camarade s’étaient acquittés de leur commission.', |
|
] |
|
embeddings = model.encode(sentences) |
|
print(embeddings.shape) |
|
# [3, 1024] |
|
``` |
|
|
|
### SentenceTransformer |
|
|
|
```python |
|
from sentence_transformers import SentenceTransformer |
|
|
|
# Download from the 🤗 Hub |
|
model = SentenceTransformer("sentence_transformers_model_id") |
|
|
|
# Run inference |
|
sentences = [ |
|
'Il y avait, du reste, cette chose assez triste, c’est que si M. de Marsantes, à l’esprit fort ouvert, eût apprécié un fils si différent de lui, Robert de Saint-Loup, parce qu’il était de ceux qui croient que le mérite est attaché à certaines formes de la vie, avait un souvenir affectueux mais un peu méprisant d’un père qui s’était occupé toute sa vie de chasse et de course, avait bâillé à Wagner et raffolé d’Offenbach.', |
|
"D’ailleurs, les opinions tranchantes abondent dans un siècle où l’on ne doute de rien, hors de l’existence de Dieu ; mais comme les jugements généraux que l’on porte sur les peuples sont assez souvent démentis par l’expérience, je n’aurai garde de prononcer.", |
|
'Il était chargé de remettre l’objet, quel qu’il fût, au commodore, et d’en prendre un reçu, comme preuve que lui et son camarade s’étaient acquittés de leur commission.', |
|
] |
|
|
|
embeddings = model.encode(sentences) |
|
print(embeddings.shape) |
|
# [3, 1024] |
|
``` |
|
|
|
## Training Details |
|
|
|
### Framework Versions |
|
- Python: 3.9.2 |
|
- Sentence Transformers: 3.0.1 |
|
- Transformers: 4.41.2 |
|
- PyTorch: 2.3.1+cu121 |
|
- Accelerate: 0.31.0 |
|
- Datasets: 2.20.0 |
|
- Tokenizers: 0.19.1 |
|
|
|
## Citation |
|
|
|
If you find this repository useful, please consider giving a like and citation |
|
|
|
``` |
|
@inproceedings{barre_latent_2024, |
|
title={Latent {Structures} of {Intertextuality} in {French} {Fiction}}, |
|
author={Barré, Jean}, |
|
address = {Aarhus, Denmark}, |
|
series = {{CEUR} {Workshop} {Proceedings}}, |
|
booktitle = {Proceedings of the {Conference} on {Computational} {Humanities} {Research} CHR2024}, |
|
publisher = {CEUR}, |
|
editor = {Haverals, Wouter and Koolen, Marijn and Thompson, Laure}, |
|
year = {2024}, |
|
} |
|
``` |