safetensors bert multilingual readability-assessment text-classification af am ar as az be bg bn br bs ca cs cy da de el en eo es et eu fa fi fr fy ga gd gl gu ha he hi hr hu hy id is it ja jv ka kk km kn ko ku ky la lo lt lv mg mk ml mn mr ms my ne nl no om or pa pl ps pt ro ru sa sd si sk sl so sq sr su sv sw ta te th tl tr ug uk ur uz vi xh yi zh dataset:agentlans/en-translations base_model:agentlans/multilingual-e5-small-aligned base_model:finetune:agentlans/multilingual-e5-small-aligned license:mit region:us
---
base_model:
- agentlans/multilingual-e5-small-aligned
datasets:
- agentlans/en-translations
language:
- multilingual
- af
- am
- ar
- as
- az
- be
- bg
- bn
- br
- bs
- ca
- cs
- cy
- da
- de
- el
- en
- eo
- es
- et
- eu
- fa
- fi
- fr
- fy
- ga
- gd
- gl
- gu
- ha
- he
- hi
- hr
- hu
- hy
- id
- is
- it
- ja
- jv
- ka
- kk
- km
- kn
- ko
- ku
- ky
- la
- lo
- lt
- lv
- mg
- mk
- ml
- mn
- mr
- ms
- my
- ne
- nl
- 'no'
- om
- or
- pa
- pl
- ps
- pt
- ro
- ru
- sa
- sd
- si
- sk
- sl
- so
- sq
- sr
- su
- sv
- sw
- ta
- te
- th
- tl
- tr
- ug
- uk
- ur
- uz
- vi
- xh
- yi
- zh
license: mit
pipeline_tag: text-classification
tags:
- multilingual
- readability-assessment
---

# multilingual-e5-small-aligned-readability

This model is a fine-tuned version of [agentlans/multilingual-e5-small-aligned](https://huggingface.co/agentlans/multilingual-e5-small-aligned) designed for assessing text readability across multiple languages.

## Key Features

- Multilingual support
- Readability assessment for text
- Based on E5 small model architecture

## Intended Uses & Limitations

This model is intended for:
- Assessing the readability of multilingual text
- Filtering multilingual content
- Comparative analysis of corpus text readability across different languages

Limitations:
- Performance may vary for languages not well-represented in the training data
- Should not be used as the sole criterion for readability assessment

## Usage Example

```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np

model_name = "agentlans/multilingual-e5-small-aligned-readability"

# Initialize tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)

def readability(text):
    """Assess the readability of the input text."""
    inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True).to(device)
    with torch.no_grad():
        logits = model(**inputs).logits.squeeze().cpu()
    return logits.tolist()

# Grade level conversion function
# Input: readability value
# Output: the equivalent U.S. education grade level
def grade_level(y):
    lambda_, mean, sd = 0.8766912, 7.908629, 3.339119
    y_unstd = (-y) * sd + mean
    return np.power((y_unstd * lambda_ + 1), (1 / lambda_))

# Example
input_text = "The mitochondria is the powerhouse of the cell."
readability_score = readability(input_text)
grade = grade_level(readability_score)
print(f"Predicted score: {readability_score:.2f}\nGrade: {grade:.1f}")
```

## Performance Results

The model was evaluated on a diverse set of multilingual text samples:

- 10 English text samples of varying readability were translated into Arabic, Chinese, French, Russian, and Spanish.
- The model demonstrated consistent readability assessment across different languages for the same text.

<details>
<summary>Click here for the 10 original texts and their translations.</summary>

| **Text** | **English** | **French** | **Spanish** | **Chinese** | **Russian** | **Arabic** |
|---|---|---|---|---|---|---|
| A | In a world increasingly dominated by technology, the delicate balance between human connection and digital interaction has become a focal point of contemporary discourse. | Dans un monde de plus en plus dominé par la technologie, l’équilibre délicat entre la connexion humaine et l’interaction numérique est devenu un point central du discours contemporain. | En un mundo cada vez más dominado por la tecnología, el delicado equilibrio entre la conexión humana y la interacción digital se ha convertido en un punto focal del discurso contemporáneo. | 在一个日益受技术主导的世界里，人际联系和数字互动之间的微妙平衡已经成为当代讨论的焦点。 | В мире, где все больше доминируют технологии, тонкий баланс между человеческими связями и цифровым взаимодействием стал центральным вопросом современного дискурса. | في عالم تهيمن عليه التكنولوجيا بشكل متزايد، أصبح التوازن الدقيق بين التواصل البشري والتفاعل الرقمي نقطة محورية في الخطاب المعاصر. |
| B | Despite the challenges they faced, the team remained resolute in their pursuit of excellence and innovation. | Malgré les défis auxquels elle a été confrontée, l’équipe est restée déterminée dans sa quête de l’excellence et de l’innovation. | A pesar de los desafíos que enfrentaron, el equipo se mantuvo firme en su búsqueda de la excelencia y la innovación. | 尽管面临挑战，该团队仍然坚定地追求卓越和创新。 | Несмотря на трудности, с которыми пришлось столкнуться, команда сохраняла решимость в своем стремлении к совершенству и инновациям. | وعلى الرغم من التحديات التي واجهوها، ظل الفريق مصمماً على سعيه لتحقيق التميز والابتكار. |
| C | As the storm approached, the sky turned a deep shade of gray, casting an eerie shadow over the landscape. | À l’approche de la tempête, le ciel prenait une teinte grise profonde, projetant une ombre étrange sur le paysage. | A medida que se acercaba la tormenta, el cielo se tornó de un gris profundo, proyectando una sombra inquietante sobre el paisaje. | 随着暴风雨的临近，天空变成了深灰色，给大地投下了一层阴森的阴影。 | По мере приближения шторма небо приобрело глубокий серый оттенок, отбрасывая на пейзаж жуткую тень. | ومع اقتراب العاصفة، تحولت السماء إلى لون رمادي غامق، مما ألقى بظلال مخيفة على المشهد الطبيعي. |
| D | After a long day at work, he finally relaxed with a cup of tea. | Après une longue journée de travail, il s'est enfin détendu avec une tasse de thé. | Después de un largo día de trabajo, finalmente se relajó con una taza de té. | 工作了一天之后，他终于可以喝杯茶放松一下了。 | После долгого рабочего дня он наконец расслабился за чашкой чая. | بعد يوم طويل في العمل، استرخى أخيرًا مع كوب من الشاي. |
| E | The quick brown fox jumps over the lazy dog. | Le renard brun rapide saute par-dessus le chien paresseux. | El rápido zorro marrón salta sobre el perro perezoso. | 这只敏捷的棕色狐狸跳过了那只懒狗。 | Быстрая бурая лиса перепрыгивает через ленивую собаку. | يقفز الثعلب البني السريع فوق الكلب الكسول. |
| F | She enjoys reading books in her free time. | Elle aime lire des livres pendant son temps libre. | A ella le gusta leer libros en su tiempo libre. | 她喜欢在空闲时间读书。 | В свободное время она любит читать книги. | إنها تستمتع بقراءة الكتب في وقت فراغها. |
| G | The sun is shining brightly today. | Le soleil brille fort aujourd'hui. | Hoy el sol brilla intensamente. | 今天阳光明媚。 | Сегодня ярко светит солнце. | الشمس مشرقة بقوة اليوم. |
| H | Birds are singing in the trees. | Les oiseaux chantent dans les arbres. | Los pájaros cantan en los árboles. | 鸟儿在树上唱歌。 | Птицы поют на деревьях. | الطيور تغرد في الأشجار. |
| I | The cat is on the mat. | Le chat est sur le tapis. | El gato está sobre la alfombra. | 猫在垫子上。 | Кот на коврике. | القطة على الحصيرة. |
| J | I like to eat apples. | J'aime manger des pommes. | Me gusta comer manzanas. | 我喜欢吃苹果。 | Я люблю есть яблоки. | أنا أحب أكل التفاح. |

</details>

<img src="Readability.svg" alt="Scatterplot of predicted readability scores grouped by text sample and language" width="100%"/>

## Training Data

The model was trained on the [Multilingual Parallel Sentences dataset](https://huggingface.co/datasets/agentlans/en-translations), which includes:

- Parallel sentences in English and various other languages
- Semantic similarity scores calculated using LaBSE
- Additional readability metrics
- Sources: JW300, Europarl, TED Talks, OPUS-100, Tatoeba, Global Voices, and News Commentary

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 5e-05
- train_batch_size: 128
- eval_batch_size: 8
- seed: 42
- optimizer: Use adamw_torch with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- num_epochs: 3.0

### Training results

| Training Loss | Epoch | Step  | Validation Loss | Mse    |
|:-------------:|:-----:|:-----:|:---------------:|:------:|
| 0.1484        | 1.0   | 7813  | 0.1324          | 0.1324 |
| 0.1157        | 2.0   | 15626 | 0.1241          | 0.1241 |
| 0.096         | 3.0   | 23439 | 0.1234          | 0.1234 |


### Framework versions

- Transformers 4.46.3
- Pytorch 2.5.1+cu124
- Datasets 3.1.0
- Tokenizers 0.20.3
