Views
No views yet
Agreement-Aware Grammatical Error Correction for Central Kurdish (Sorani):
A Morphology-Driven Neural Approach
Tishko Salah Hawez · University of Kurdistan Hewlêr · 2026
Supervisor: Dr. Hossein Hassani
| Variant | Description |
|---|---|
baseline | Byte-level seq2seq; no linguistic features |
morphaware | Same backbone + 9 morphological features per word, a 33-edge agreement graph, and an auxiliary agreement-prediction loss |
| Model | F₀.₅ | Precision | Recall |
|---|---|---|---|
| Baseline (3-seed mean) | 0.165 | — | — |
| Morphology-aware (3-seed mean) | 0.177 | — | — |
campaign_2_multiseed/eval_summary.json (word-level metrics).campaign_2_multiseed/
baseline_seed42/best_model.pt
baseline_seed123/best_model.pt
baseline_seed777/best_model.pt
morphaware_seed42/best_model.pt
morphaware_seed123/best_model.pt
morphaware_seed777/best_model.pt
eval_summary.json1from transformers import AutoTokenizer, T5ForConditionalGeneration
2import torch
3
4model_path = "Tishko/sorani-gec" # or a local path to best_model.pt
5
6# The checkpoints are raw PyTorch state-dicts saved with torch.save().
7# Load with the ByT5-small tokenizer:
8tokenizer = AutoTokenizer.from_pretrained("google/byt5-small")
9
10model = T5ForConditionalGeneration.from_pretrained("google/byt5-small")
11state = torch.load("campaign_2_multiseed/baseline_seed42/best_model.pt", map_location="cpu")
12# State dict may be nested under a key — unwrap if needed:
13sd = state.get("model_state_dict", state)
14model.load_state_dict(sd, strict=False)
15model.eval()
16
17sentence = "کوڕەکە دەڕۆن" # corrupted: singular subject, plural verb
18inputs = tokenizer(sentence, return_tensors="pt")
19with torch.no_grad():
20 out = model.generate(**inputs, max_new_tokens=64)
21print(tokenizer.decode(out[0], skip_special_tokens=True))
22# → کوڕەکە دەڕوا (corrected: singular verb)1@mastersthesis{hawez2026soranigec,
2 author = {Tishko Salah Hawez},
3 title = {Agreement-Aware Grammatical Error Correction for Central Kurdish
4 (Sorani): A Morphology-Driven Neural Approach},
5 school = {University of Kurdistan Hewl\^{e}r},
6 year = {2026},
7 type = {MSc Thesis},
8}