CEFR-oriented Russian Text Simplification Using Reinforcement Learning
Organizations: MSU Center of Artificial Intelligence · Yandex
Abstract
We present a study on controlled automatic simplification of Russian texts using preference-based optimization algorithms with a focus on adapting texts to the A1, A2 and B1 proficiency levels. We fine-tune YandexGPT using Rejection Sampling and Direct Preference Optimization (DPO) methods to improve control over the complexity of the generated text. We compare several training configurations that differ in dataset composition, text type and the strategy used to construct preference pairs for DPO. For automatic evaluation we train a regression model based on ruRoBERTa-large to predict continuous complexity scores corresponding to CEFR levels. We also consider semantic similarity, lexical coverage and quantitative readability metrics. Human evaluation assesses simplicity, fluency and adequacy. Our best model achieves 87.15% target level accuracy, an MAE of 0.35 CEFR levels and a target interval MAE of 0.11. Manual assessment shows that 75% of the evaluated simplifications match the target morphological and syntactic level, and fluency and adequacy scores are especially high for A2 and B1. Although A1 remains the most challenging level, the model significantly reduces the proportion of vocabulary and grammatical constructions beyond the target level while generally preserving meaning. Our model is freely available on HuggingFace.
Figures & tables
| MSE | RMSE | MAE | Explained variance | ||
|---|---|---|---|---|---|
| validation | 0.39 | 0.62 | 0.45 | 0.84 | 0.87 |
| test | 0.51 | 0.71 | 0.50 | 0.73 | 0.83 |
| Dataset | A1 | A2 | B1 | Total |
|---|---|---|---|---|
| v0 | 3424 | 3425 | 3391 | 10240 |
| v1 , v2 , v3 | 3384 | 3384 | 3384 | 10152 |
| nplus1 | 34207 | 34207 | 34205 | 102619 |
| nplus1_2 | 13143 | 23366 | 29555 | 66064 |
| merged | 16527 | 23366 | 29555 | 72832 |
| merged_2 | 6768 | 6768 | 6768 | 20304 |
| A1 | A2 | B1 | ||||
|---|---|---|---|---|---|---|
| v0 | 98.83 | 1.17 | 50.83 | 49.17 | 20.73 | 79.27 |
| v1 | 100.0 | 0.00 | 51.77 | 48.23 | 0.00 | 100.0 |
| v2 | 100.0 | 0.00 | 16.08 | 83.92 | 0.00 | 100.0 |
| v3 | 100.0 | 0.00 | 51.77 | 48.23 | 30.38 | 69.62 |
| nplus1 | 100.0 | 0.00 | 93.71 | 6.28 | 50.00 | 50.00 |
| test_n+1 | test_ruadapt | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MAE | MAE i | total | A1 | A2 | B1 | MAE | MAE i | total | A1 | A2 | B1 | |
| base | 1.07 | 0.66 | 44.24 | 8.51 | 50.53 | 73.67 | 0.78 | 0.38 | 60.28 | 57.18 | 83.78 | 39.89 |
| v0 | 1.02 | 0.60 | 44.77 | 16.22 | 47.07 | 71.01 | 0.69 | 0.32 | 65.34 | 62.77 | 85.90 | 47.34 |
| v1 | 1.07 | 0.65 | 41.31 | 14.36 | 46.01 | 63.56 | 0.71 | 0.32 | 66.58 | 64.89 | 83.78 | 51.06 |
| v2 | 1.07 | 0.66 | 40.34 | 15.16 | 39.10 | 66.76 | 0.71 | 0.32 | 65.69 | 61.97 | 82.71 | 52.39 |
| v3 | 1.01 | 0.60 | 44.68 | 14.10 | 50.27 | 69.68 | 0.68 | 0.32 | 66.22 | 62.23 | 84.84 | 51.60 |
| test_n+1 | test_ruadapt | |||||||||||
| MAE | MAE i | total | A1 | A2 | B1 | MAE | MAE i | total | A1 | A2 | B1 | |
| base | 1.07 | 0.66 | 44.24 | 8.51 | 50.53 | 73.67 | 0.78 | 0.38 | 60.28 | 57.18 | 83.78 | 39.89 |
| v0 | 1.08 | 0.66 | 43.17 | 8.78 | 46.81 | 73.93 | 0.77 | 0.38 | 59.75 | 56.65 | 83.51 | 39.10 |
| v1 | 0.93 | 0.53 | 51.60 | 73.14 | 71.81 | 9.84 | 0.53 | 0.22 | 76.33 | 93.35 | 85.37 | 50.27 |
| v2 | 1.14 | 0.69 | 37.23 | 77.39 | 22.07 | 12.23 | 0.55 | 0.25 | 73.14 | 93.88 | 73.40 | 52.13 |
| v3 | 0.67 | 0.30 | 66.40 | 73.40 | 66.76 | 59.04 | 0.49 | 0.17 | 79.26 | 93.62 | 86.97 | 57.18 |
| Subset | A1 | A2 | B1 |
|---|---|---|---|
| test_ruadapt | 0.82 | 0.90 | 0.93 |
| test_n+1 | 0.70 | 0.83 | 0.90 |
| Metric | Source | A1 | A2 | B1 |
|---|---|---|---|---|
| Average sentence length, words | 17.8 | 3.5 | 6.0 | 9.4 |
| Average word length, chars | 6.37 | 4.68 | 4.97 | 5.55 |
| Average punctuation per sentence | 3.87 | 1.15 | 1.56 | 2.15 |
| A1 | A2 | B1 | |
|---|---|---|---|
| test_ruadapt | 0.1 | 0.0 | -0.3 |
| test_n+1 | 0.6 | 0.1 | -0.1 |
| A1 | A2 | B1 | ||
|---|---|---|---|---|
| Fluency | test_ruadapt | |||
| test_n+1 | ||||
| Adequacy | test_ruadapt | |||
| test_n+1 |
| test_ruadapt examples | |
|---|---|
| Original | Из-за дороговизны городской земли её застройка доходными домами была очень плотной и окна квартир, особенно дешёвых, часто выходили в тёмные дворы без деревьев, окружённые серыми стенами домов. (Due to the high cost of urban land, apartment houses were built very densely, and the windows of the flats, especially the cheaper ones, often faced dark, treeless courtyards surrounded by the grey walls of houses.) |
| B1 | Из-за высоких цен на землю в городе дома строили близко друг к другу. Окна квартир, особенно недорогих, часто выходили на тёмные дворы, где нет деревьев и одни серые стены. (Due to high land prices in the city, houses were built close to each other. The windows of the flats, especially the cheaper ones, often faced dark courtyards with no trees and only grey walls.) |
| A2 | В городе земля дорогая. Поэтому дома стоят близко друг к другу. Окна дешёвых квартир смотрят в тёмные дворы. Там нет деревьев, только серые стены. (Land is expensive in the city. That’s why the houses are close to each other. The windows of cheap flats look out onto dark courtyards. There are no trees there, only grey walls.) |
| A1 | Город дорогой. Дома стоят близко. Окна смотрят в двор. Там нет деревьев. Там серые дома. (The city is expensive. The houses are close together. The windows look out onto the courtyard. There are no trees there. There are grey houses there.) |
| test_n+1 examples | |
| Original | Всего исследователи сделали 500 фотографий. Главной проблемой при изучении снимков было их низкое качество и, как следствие, небольшое количество информации, которое могло было быть получено. (In total, the researchers took 500 photographs. The main problem in studying the images was their low quality and, as a result, the limited amount of information that could be obtained.) |