File size: 8,781 Bytes
90a9f9b b78f49b 90a9f9b 050112d 90a9f9b 050112d 90a9f9b 050112d 90a9f9b 050112d 90a9f9b 050112d 90a9f9b 050112d 90a9f9b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | ---
license: cc-by-sa-4.0
language:
- en
base_model: facebook/bart-base
# No explicit pipeline_tag: "text2text-generation" is rejected by the Hub's current
# validation list (it renders a warning banner and mislabels the model as decoder-only
# "Text Generation"), and none of the accepted tags fit sentence simplification --
# "summarization" is wrong for a roughly length-preserving rewrite. Left unset so the
# Hub infers it from config.json's BartForConditionalGeneration instead.
tags:
- text-simplification
- accessibility
- bart
datasets:
- wikilarge
- facebook/asset
metrics:
- sari
- bleu
model-index:
- name: bart-base-wikilarge-simplification
results:
- task:
type: text2text-generation
name: Sentence-level text simplification
dataset:
name: ASSET (test split)
type: facebook/asset
metrics:
- type: sari
value: 37.80
- type: bleu
value: 88.30
- type: fkgl
value: 8.18
name: FKGL (lower is better)
---
# bart-base-wikilarge-simplification
`facebook/bart-base` fine-tuned on **WikiLarge** for **sentence-level** English text
simplification. It rewrites one sentence at a time into simpler English while
preserving meaning.
Trained as part of a bachelor thesis on automated simplification of everyday English
web text, and served as the `local` model by the project's backend:
<https://github.com/yyvs/simple-website>
## Intended use
Simplifying a **single English sentence** of everyday prose. The companion project uses
it behind a browser extension that sentence-splits page text (`pysbd`) and sends each
sentence independently.
**Out of scope:** multi-sentence input, whole documents, languages other than English,
and any setting where a factual error would be harmful. This is a research artifact
from a student project β it hallucinates (see Limitations) and has had no human
evaluation.
For whole-document rewriting, use the companion model
[`yunvs/bart-base-dwikipedia-simplification-full`](https://huggingface.co/yunvs/bart-base-dwikipedia-simplification-full)
instead.
## Usage
```python
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tok = AutoTokenizer.from_pretrained("yunvs/bart-base-wikilarge-simplification")
model = AutoModelForSeq2SeqLM.from_pretrained("yunvs/bart-base-wikilarge-simplification")
text = "Despite the multiplicity of antecedent conditions, the framework mandates uniform compliance."
inputs = tok(text, return_tensors="pt", truncation=True, max_length=64)
out = model.generate(**inputs, max_length=64, num_beams=4,
no_repeat_ngram_size=3, repetition_penalty=1.2)
print(tok.decode(out[0], skip_special_tokens=True))
```
**Use `max_length=64`.** That is the length the model was fine-tuned at, and generating
at BART's 512/1024 default degrades output. Input past 64 tokens is truncated, not
chunked β split into sentences first.
## Training
| | |
|---|---|
| Base model | `facebook/bart-base` |
| Dataset | WikiLarge, ~117k training pairs after filtering corrupted rows |
| Epochs | 5 (best checkpoint selected at epoch 4) |
| Batch size | 16 |
| Learning rate | 3e-5 |
| Weight decay | 0.01 |
| Max length | 64 tokens (WikiLarge p90 β 52) |
| Seed | 42 |
| Selection | `load_best_model_at_end`, `metric_for_best_model="loss"`, early stopping (patience 4 quarter-epoch evals) |
| Final validation loss | 0.4568 |
Early stopping did not halt the run; epoch 5 (val loss 0.4590) did not improve on
epoch 4, and `load_best_model_at_end` selected epoch 4 correctly.
## Evaluation
Evaluated on the **ASSET** test split (359 sentences, 10 human references each) with
beam search (`num_beams=4`), against the un-fine-tuned `facebook/bart-base` as a
zero-shot baseline.
| | SARI β | BLEU | FKGL β | BERTScore | unchanged |
|---|---|---|---|---|---|
| **This model** | **37.80** | 88.30 | **8.18** | 97.65 | 11.7% |
| `facebook/bart-base` zero-shot | 21.39 | 91.64 | 10.02 | 98.58 | **93.9%** |
Paired bootstrap on the SARI improvement, 1000 resamples over sentence indices:
**ΞSARI +16.42, 95% CI [+15.38, +17.50]**, p < 0.001. The interval excluding zero by
fifteen points is the substantive claim; the p-value is the weaker statement.
Reproduced three times on different hardware (Apple Silicon MPS, and twice on an RTX
A5000 under a different torch build), agreeing to two decimals.
> β οΈ **An earlier version of this card reported BLEU 67.26 / 89.89.** Those figures do
> not reproduce and have been retired. On generations giving identical SARI and FKGL,
> BLEU comes out 88.30 / 91.64 under three separate BLEU implementations
> (easse, sacrebleu`[13a]`, sacrebleu`[none]` β 85.31 β none near 67.26). The most
> likely cause is a reference-count mismatch in the original run: 67.26 lands near what
> **k=3** references produce. If you cited 67.26, use 88.30.
### Reading the BLEU number
**BLEU running opposite to SARI is expected, not a contradiction** β but note the gap is
small (3.34 points), not the 22-point chasm this card previously reported. BLEU is biased
toward conservative, low-edit output, and the zero-shot baseline is maximally
conservative: **93.9% of its outputs are byte-identical to the input.** It is being
rewarded for copying. SARI β which rewards appropriate edits against the source β and
FKGL both favour the fine-tuned model decisively (+16.42 SARI, β1.84 grade levels).
### Compared against a *strong* baseline, not just the un-fine-tuned one
The comparison above is against this model's own starting checkpoint, which is the
weakest available baseline. Measured on the same run, against an off-the-shelf
third-party simplifier and two prompted open-weight LLMs (3-shot, temperature 1.0,
three seeds each):
| Condition | Model | SARI β | BLEU | FKGL β | unchanged |
|---|---|---|---|---|---|
| zero-shot | `facebook/bart-base` | 21.39 | 91.64 | 10.02 | 93.9% |
| **this model** | `yunvs/bart-base-wikilarge-simplification` | **37.80** | 88.30 | 8.18 | 11.7% |
| off-the-shelf | `eilamc14/bart-large-text-simplification` | **38.17** | 88.58 | 7.85 | 13.4% |
| prompted | `qwen2.5:7b-instruct-q4_K_M` | 45.95 | 75.46 | 7.77 | 4.5% |
| prompted | `qwen2.5:3b-instruct-q4_K_M` | **47.03** | 68.21 | 8.22 | 1.2% |
β οΈ **Read this honestly: fine-tuning bought no measurable advantage over an
off-the-shelf simplifier** (37.80 vs 38.17, confidence intervals overlapping almost
entirely), and **both prompted LLMs beat it by 8β9 SARI.** The defensible claim for this
model is *efficiency*, not quality: it is a **bart-base** (139M parameters) matching a
**bart-large** roughly three times its size, and it runs locally on CPU without a
prompted-LLM sidecar. If output quality is what you need and you can run a 3B
instruction-tuned model, use that instead.
BLEU runs perfectly inverse to SARI across all five rows (91.64 β 88.58 β 88.30 β 75.46
β 68.21 against SARI 21.39 β 38.17 β 37.80 β 45.95 β 47.03), which is the cleanest
demonstration of its unsuitability for this task that this project produced.
## Limitations
- **Hallucination.** Short or fragmentary inputs can produce unrelated text; the
phrase `"Other websites"` (a Simple English Wikipedia section heading present in the
training data) has been observed as output for several unrelated short inputs. The
companion backend runs a quality guard that falls back to the original text in this
case.
- **Conservative rewriting.** Observed output often drops a subordinate clause rather
than rephrasing dense vocabulary β it does not reliably simplify words like
"multiplicity" or "heterogeneous entities."
- **Outperformed by prompted LLMs and matched by an off-the-shelf model.** See
Evaluation. Choose this model for size and local CPU inference, not for peak quality.
- **No human evaluation.** All reported numbers are automatic metrics. No readability,
meaning-preservation, or accessibility study has been conducted.
- **Single sentences only.** Multi-sentence input is out of distribution and gets
truncated at 64 tokens.
- **English only**, and trained on Wikipedia prose β encyclopedic register, with
whatever demographic and topical bias that corpus carries.
## Training data provenance and licence
WikiLarge is derived from English Wikipedia and Simple English Wikipedia, which are
licensed **CC BY-SA**. This model is released under **CC BY-SA 4.0** accordingly.
WikiSmall was evaluated as an alternative and deliberately rejected: it carries
baked-in named-entity anonymization artifacts unsuitable for training.
## Citation
Produced for a bachelor thesis (2026). Please cite the project repository:
<https://github.com/yyvs/simple-website>
|