simon-clmtd's picture
Add precomputed exploration gallery, form selectors, full width, and UZH typography
aafe903 verified
|
Raw History Blame Contribute Delete
2.07 kB

A newer version of the Gradio SDK is available: 6.31.0

Upgrade
metadata
title: Neural Transducer Inflection
emoji: 🔤
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: 5.48.0
app_file: app.py
pinned: false
license: cc-by-sa-4.0
short_description: Multilingual inflection with neural transducers

Neural Transducer: Morphological Inflection Demo

An interactive demonstration of transition-based neural string transduction (Makarov & Clematide, 2020) trained with imitation learning.

  • Benchmark: CoNLL-SIGMORPHON 2017 Shared Task 1 (English, German, French, Italian)
  • Regimes: 100, 1,000, and 10,000 training examples
  • Features: Precomputed test gallery, live custom inputs, greedy decoding, and edit action inspection (COPY, DELETE, INSERT, SUBSTITUTE).

Exploration gallery

The Explore tab starts with precomputed predictions for 320 held-out test items (80 per language, excluding unchanged forms). Filter by model disagreement, improvement from 100 to 10,000 examples, largest-model errors, or all-correct cases. Selected cases illustrate behavior; they do not estimate accuracy. Custom words and random test samples run live.

Regenerate from the local bundles after changing model weights:

python scripts/precompute_examples.py --per-language 80

Run that command from the repository root with the project dependencies installed. The JSON records a deterministic sampling seed and SHA-256 fingerprints of each local bundle, plus predictions and action traces. Commit the regenerated JSON with model updates. No models are loaded to browse the gallery.

Custom inputs offer language-specific part-of-speech / word-form selectors, then readable grammatical-form choices. These use the unique full feature bundles already precomputed from the 10,000-example training split in data_index.json; no unobserved combinations are synthesized. Participles and converbs are grouped consistently even when the dataset also includes a V tag. Manual UniMorph entry remains available. Regenerate the data index with python scripts/build_data_index.py when the training data changes.