{ "model": { "architecture": "ContextualizedLemmatizer (character-level Transformer encoder-decoder with joint UPOS head; run context-free at inference)", "d_model": 512, "nhead": 8, "num_encoder_layers": 4, "num_decoder_layers": 4, "num_sentence_layers": 2, "dim_feedforward": 1024, "dropout": 0.15, "positional_encoding": "sinusoidal", "char_vocab_size": 140, "num_pos_tags": 18, "max_word_length": 50, "num_parameters": 26514078 }, "training": { "condition": "corpus-only (YCOE)", "training_instances": 84050, "dev_instances": 10506, "test_instances": 10507, "split": "80/10/10 random, seed 42", "epochs": 80, "batch_size": 24, "gradient_accumulation_steps": 3, "effective_batch_size": 72, "optimizer": "AdamW", "weight_decay": 0.01, "learning_rate": 0.00015, "lr_schedule": "cosine annealing with warm restarts (SGDR)", "lr_range": [1e-05, 0.00015], "num_cycles": 4, "cycle_peak_epochs": [22, 41, 58, 74], "warmup_fraction": 0.05, "label_smoothing": 0.15, "pos_loss_weight": 0.2, "early_stopping_patience": 20, "best_epoch": 74 }, "data_augmentation": { "type": "character-level, Old English spelling variation", "operations": [ "substitution (þ<->ð, æ<->a/e, i<->y)", "deletion (words > 2 chars)", "adjacent-character swap", "duplication" ], "probability_per_word": 0.2, "reapplied_each_epoch": true }, "performance": { "dev_lemma_accuracy": 0.6868, "test_lemma_accuracy": 0.6758, "test_pos_accuracy": 0.8275, "correct_lemmas": 7101, "correct_pos": 8695, "total_test_samples": 10507 } }