tigmorph · ትግሬ morphological analyzer

A morphological analyzer and generator for Tigre (Ge'ez script), built from Shlomo Raz, A Descriptive Study of Tigre Grammar (1973). Type a word to get its root or lemma, word class, features, its pronunciation in Raz's transcription (which shows the gemination, ə and vowel length that Ge'ez spelling hides) and an English gloss, ranked by a model learned from an 11-million-word Tigre corpus.

Loading Python and the Tigre transducers (first visit about 10 MB, then cached)…
Try:

Score 0 = best reading; higher = less likely.

WordRoot / lemmaClassFeatures PronunciationGlossScore

Text from many sources spells the same word in several ways (ሀለ / ህለ, ይዐለ / ኢዐለ / የዐለ, ሠ for ሰ, ፡ between words, :: for ።). The normalizer writes every word in one standard spelling. chars: characters only (NFC, ሠ→ሰ, ፀ→ጸ, ኀ→ሐ, punctuation, spaces). safe: plus spelling pairs that differ only by a known free alternation. full: every row of the learned table, including pairs that differ in other letters (review these).

What it covers

About 3,300 verb stems, 9,000 nominal entries and 280 function words.

Accuracy

TestWordsAnalysedBest reading right
Raz's example sentences (running text)5,26895.0%89.9%
Raz's verb paradigms (Ch. 5)2,013100%—
Raz's function words and clitics245100%97.6%
Raz's deverbal nominals (§ 2.7)94100%80%
Raz's nouns: singular, plural, possessive63499.8%88%
Verb forms weighted by corpus frequency361k tokens100%96.9%
Corpus tokens (10.9M) analysed from the lexicon83.8%

Ge'ez spelling hides gemination and vowel length, so some forms have two real readings that only context can settle, mainly verb type B vs C, and a participle vs the prefixless imperfect.

Tags

Type A–D · Deriv derivation · TAM Perf / Impf / Jus / Imp, or a verbal noun (PartAct, PartPass, Agent, Inf, Instr, class V>N) · Subj / Obj person (1Sg … 3PlF) · Neg negative ʼi- · Colloq prefixless imperfect · Poss pronoun ending · Art=Def article · Rel relative la- · Cl attached ወ-/ከ- · Prep attached preposition · Encl -መ/-ዲ. Full list: docs/TAGS.md.

How it works

Root-independent templates following Raz Ch. 5 and Ch. 2 are compiled with pynini into finite-state transducers (root + tags ⇄ Raz transcription ⇄ Ge'ez spelling). A small pure-Python runtime reads them. On this page that runtime runs in your browser through Pyodide, so nothing you type is sent to a server.

Help improve it

Fill in a sheet in contrib/: frequent words the lexicon doesn't know yet, Wiktionary verbs to check, or 300 corpus words to annotate. Issues and pull requests are welcome.

Licence and citation

Code MIT; data CC0 / CC BY 4.0 / CC BY-SA 4.0 by source (compiled FSTs: CC BY-SA 4.0). If you use tigmorph, please cite it and Raz (1973); see CITATION.cff. Corpus: BeitTigreAI/tigre-data-monolingual-text. Lexical data: the Tigre Wiktionary contributors.