Moksha NLP Grammar

Finite state and Constraint Grammar based analysers, proofing tools and other resources

View the project on GitHub giellalt/lang-mdf

Moksha language model documentation

All doc-comment documentation in one large file.


src-cg3-disambiguator.cg3.md

DELIMITERS

TAGS AND SETS

Sets containing lists of tags

Upper and lower case

Subjective adverbs, which are often set off by commas

This will be expanded for homonymy at first

this is an adjective in nominative singular, adnominal attribute this is an adjective in nominative singular,

this is a list of adverbs that modify adjectives

these have homonyms

used to identify motion verbs

вал+N+SP+Abl vs валда+A+Sg+Nom

names that end in у/ю

in SP Gen Indef the next word can be кяль

N ABBR not ABBR

2023_04_09 important part of regular inflection

IS there a @CVP


This (part of) documentation was generated from src/cg3/disambiguator.cg3


src-cg3-functions.cg3.md

negation marker for fits between negation and conneg

MOOD-V

макссь чарькодемс, Deal with DATAUX separately; they also take MS


This (part of) documentation was generated from src/cg3/functions.cg3


src-fst-morphology-affixes-adjectives.lexc.md

Adjective inflection

The MOKSHA language adjectives compare.

ADJECTIVES

-нь

ош:ош

кяль:кяль

келу:келу

келу:келу


This (part of) documentation was generated from src/fst/morphology/affixes/adjectives.lexc


src-fst-morphology-affixes-adpositions.lexc.md

Pronoun inflection

Adpostions in the Moksha language might also inflect in the same cases as regular nouns, but …

ADPOSITIONS

Checking 2018-11-10

Checking 2018-11-10


This (part of) documentation was generated from src/fst/morphology/affixes/adpositions.lexc


src-fst-morphology-affixes-adverbs.lexc.md

Adverbs

The MOKSHA language adverbs

ADVERBS

LEXICON ADV_DEG пяк

LEXICON ADV_

LEXICON ADV_MOD LEXICON ADV_MANNER

мзярксть

LEXICON ADV_TEMP

ашель:ашель


This (part of) documentation was generated from src/fst/morphology/affixes/adverbs.lexc


src-fst-morphology-affixes-clitics.lexc.md

Clitics

The MOKSHA language clitics

CLITICS

This is for vowel final Nominatives

This is for PxPl1 and PxPl2

This is for Consonant-final words

This is for Consonant-final words


This (part of) documentation was generated from src/fst/morphology/affixes/clitics.lexc


src-fst-morphology-affixes-conjunctors.lexc.md

Conjunctions

The MOKSHA language conjunctions

CONJUNCTIONS


This (part of) documentation was generated from src/fst/morphology/affixes/conjunctors.lexc


src-fst-morphology-affixes-interjections.lexc.md

Interjections

The MOKSHA language interjections

INTERJECTIONS

Contrastive

LEXICON VOCATIVE_ should these really be interjections? 2018-11-10


This (part of) documentation was generated from src/fst/morphology/affixes/interjections.lexc


src-fst-morphology-affixes-nouns.lexc.md

Noun inflection

Moksha language nouns inflect in cases.

NOUNS

LEXICON N_SARAZ_rus100 homograph of majority language

ава:ава

вальмя:вальмя

вальмя:вальмя

пакся:пакся

пакся:пакся

анды:анды

анды:анды

LEXICON N_OFTA

LEXICON N_OFTA-PL

LEXICON N_PARA

LEXICON N_PANGA

LEXICON N_PINGE Indef with vowel: Nom Sg, Gen, Dat, Cmpr, Prl, Tra

Floating Without vowel

LEXICON N_KIAD1GE frequent use of vowel stemm Indef with vowel: Nom Sg, Gen, Dat, Cmpr, Prl, Tra

Floating Without vowel

LEXICON N_KECHE Indef with vowel: Nom Sg, Gen, Dat, Cmpr, Prl, Tra

Floating

Without vowel

тише:тише

тише:тише

LEXICON N_PULA

LEXICON N_KARIUC1KE

LEXICON N_SEL1ME

LEXICON N_FS

LEXICON N_OSH

LEXICON N_SARAZ

LEXICON N_J

LEXICON N_PEJ

LEXICON N_K

LEXICON N_FT

LEXICON N_BT

LEXICON N_BN

LEXICON N_KAL

LEXICON N_T1

LEXICON N_KIAL1

LEXICON N_PINE

LEXICON N_KELU

NMN

LEXICON NMN_OFTA-PL

Indefinite Definite Sg Possessor Indices

Indefinite Definite Pl

Possessor Indices

Indefinite Definite Sg Definite Sg Possessor Indices

Indefinite Definite Pl

Possessor Indices

Indefinite

Indefinite Definite Sg

Indefinite Definite Pl

Indefinite Definite Pl

Indefinite Definite Sg

Indefinite Definite Pl

Possessor Indices

Indefinite Definite Sg

Indefinite Definite Pl

Indefinite Definite Sg

Indefinite Definite Pl

SG-NOM-INDEF ; SG-DAT/GEN/NOM-DEF ; PXSG1-Sg ;

Indefinite Definite Pl

SG-NOM-INDEF ; SG-DAT/GEN/NOM-DEF ; PXSG1-Sg ;

PL-NOM-INDEF ; PL-DAT/GEN/NOM-DEF ;

MUTUAL NOMINAL

Definite Sg Possessor Indices

Definite Pl Possessor Indices

Possessor Indices

PXSG1-Pl ;

Ананьина К.И. 2000 53

сельме+N+SP+Gen+Indef


This (part of) documentation was generated from src/fst/morphology/affixes/nouns.lexc


src-fst-morphology-affixes-numbers.lexc.md

Quantifier inflection

Numerals in the MOKSHA language inflect in the same cases as regular nouns.

NUMERALS

NUMBERS

омбонцт:омбонц


This (part of) documentation was generated from src/fst/morphology/affixes/numbers.lexc


src-fst-morphology-affixes-particles.lexc.md

Particles

The MOKSHA language particles …

PARTICLES


This (part of) documentation was generated from src/fst/morphology/affixes/particles.lexc


src-fst-morphology-affixes-pronouns.lexc.md

Pronoun inflection

The Moksha language pronouns inflect in the same cases as regular nouns, but …

PRONOUNS

PERSONAL PRONOUNS

DEMONSTRATIVE PRONOUNS

INTERROGATIVE PRONOUNS

INDEFINITE PRONOUNS

REFLEXIVE PRONOUNS

NON-STRESSED REFLEXIVE DATIVES


This (part of) documentation was generated from src/fst/morphology/affixes/pronouns.lexc


src-fst-morphology-affixes-propernouns.lexc.md

Proper noun inflection

The MOKSHA language proper nouns inflect in the same cases as regular nouns, but with a colon (‘:’) as separator.

Male given name for deriving patronyms

Вили:Вил

Russian type Surnames Абдеев:Абдеев

Багрий:Багр

Аморский:Аморск

PLACE NAMES FROM TEMPLATES

PROPER NOUNS


This (part of) documentation was generated from src/fst/morphology/affixes/propernouns.lexc


src-fst-morphology-affixes-symbols.lexc.md

Symbol affixes


This (part of) documentation was generated from src/fst/morphology/affixes/symbols.lexc


src-fst-morphology-affixes-verbs.lexc.md

Verb inflection

The Moksha language verbs inflect in persons.

VERBS

тумс:ту

BOTH IV and TV

OBJECT and SUBJECT VERBS

пачкодемс:пачкодь

SUBJECT ONLY VERBS

андомс:анд

сявомс:сяв

пачкодемс:пачкодь

андовомс:андов

няемс:ня

COND-ALL +Cond:й%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
COND-ALL +NegCnd:й%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@ VERB-ZERO-ALL ; This is done here to leave the same ending open for COND-ALL COND-ALL +Cond:%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
COND-ALL +NegCnd:%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

ашень, тят, афоль сявомс+V+ConNeg take/ottaa

@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-SC ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-OC2 ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@ VERB-ZERO-OC13 ; This is done here to leave the same ending open for COND-ALL COND-ALL +Cond:й%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
COND-ALL +NegCnd:й%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

LEXICON V0_NJAJEMS няемс:ня @U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-SC ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-OC2 ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-OC13 ; This is done here to leave the same ending open for COND-ALL :й IND-PRT1-SC3 ; This is a difference from ТИЕМС COND-ALL +Cond:й%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
COND-ALL +NegCnd:й%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

AUXILIARY VERBS

LEXICON V-AUX-NEG-PRT1_ASHEZJ ашезь:аш

LEXICON V-AUX-NEG-PRT1_IZJ изь:изь

FROM MYV

@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@ VERB-ZERO-ALL ; This is done here to leave the same ending open for COND-ALL COND-ALL +Cond:%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
COND-ALL +NegCnd:%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

ашень, тят, афоль кирдемс+V+ConNeg tolerate/kestää ашень кирде

INDICATIVE PRETERITE 1 POINTERS

INDICATIVE PRETERITE 2 POINTERS

CONJUNCTIVE

CONDITIONAL and subsequent CONJUNCTIVE

INDICATIVE TAGS

INDICATIVE NONPAST TAGS and CONDITIONAL TAGS

INDICATIVE PRETERITE 1 TAGS

INDICATIVE PRETERITE 2 TAGS

DESIDERATIVE (desiderative tag)

CONJUNCTIVE TAGS

redo conj 2012-11-07 begin

cond-conj

CONDITIONAL-CONJUNCTIVE TAGS

IMPERATIVE

IMPERATIVE (imperative tags)

PRECATIVE

end of MYV BORROWING

NON-FINITES

GERUNDS

PARTICIPLES


This (part of) documentation was generated from src/fst/morphology/affixes/verbs.lexc


src-fst-morphology-phonology.twolc.md

The Moksha morphophonological/twolc rules file

This file documents the phonology.twolc file

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я 
А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я 

This will represent schwa in first syllable

2016-03-12 %^А2О:0 used with final а in пула

%{ЬØ%}:0 after imperative Sg2 %{ЬØ%}:ь after imperative Sg2 %{ВИУ%}:в lative

%{АЯ%}:я А2 in панемс:панян %{ИЫЙ%}:й phasing out Ы2, eg кундамс:кундай %{ИЫЙ%}:ы phasing out Ы2, eg кандомс:канды %{ИЫЙ%}:и phasing out Ы2, eg панемс:пани

%{ЕОØ%}:е morpheme onset linking vowel from %^О1 %{ЕОØ%}:о morpheme onset linking vowel from %^О1 %{ЕОØ%}:0 morpheme onset linking vowel from %^О1 also пинге

%{АЕØ%}:а ConNeg with ашень, тят, афоль

%{АО%}:а пула stem %{АО%}:о пула stem %{АОØ%}:а офта stem %{АОØ%}:о офта stem %{АОØ%}:0 офта stem

%{ЕО%}:е сельме %{ЕО%}:о

%{ЕØ%}:е кече %{ЕØ%}:0

%{АЕ%}:а prolative

%{Х%}:0 This usually precedes the plural marker

%{DIM%}:н This will be for diminutive initial consonant

%{КТ%}:т used in imperative and connegative

in ped realized as hard sign

TRIGGERS

%^Devoice:0 for devoicing изь:исть %^PXSG1:0 кядне, ярмаконе не vs %{ЕОØ%}не %^CnsSt:0 улемс:уль%^CnsSt%>%{АЕØ%} %^Glide:0 Толстой:Толстой%^Glide%>нь

The Sets

Vows = а о у ы э я ё ю и е ;                                            
verbStemVows = а о э я ё е ;                                            
verbStemVowStrong = а о э я ё е ;                                       
noGlideVow = а о у ы э ;                                                
glideVow = я ё ю и е ;                                                  
BTV = а о у я ё ю ;                                 ! Back Trigger Vowels
FTV = ы и е э ;                                    ! Front Trigger Vowels

Cns = б в г д ж з й к л м н п р с т ф х ц ч ш щ ;                       
CnsAndSoft = б в г д ж з й к л м н п р с т ф х ц ч ш щ ь ;                       
NPC = б в г д ж з к л м н п р с т ф х ц ч ш щ ; ! Nonpalatal Consonants 
CnsVoiced = б в г д ж з й л м н р ;                                     
CnsVoicedDent = д з л н р ;                                             
CnsVoicedNonDent = б в г ж й м ;                                        
CnsVoiceless = к п с т ф х ц ч ш щ ;                                    
CnsVoicelessDent = с т ц ;                                              
CnsVoicelessNonDent = к п ф х ч ш щ ;                                   
CnsNonDent = б в г ж к м п ф х ч ш щ ;                                  
CnsDent = д з л н р с т ц  ;                                            
CnsDentNoL = д з н р с т ц  ;                                           

Letters = Vows Cns ь ъ ;                                                

The Definitions

The Rules

verbStemVowStrong:0

у:0

тумс+V+Ind+Prs+ScSg1

о:0

A1:o

%{ИЫЙ%}:j

%{ИЫЙ%}:ы

%{ИЫЙ%}:и

%{ИЫЙ%}:0 араламс+V+Der/NomAg+Sg+Nom+PxSg3: protect/puolustaa

%{ЕОØ%}:о район+N+SP+Gen+Indef:

%{ЕОØ%}:е LEFT

%{ЕОØ%}:е RIGHT

%{ЕОØ%}:0 RIGHT вай+N+Sg+Nom+PxSg1 oil,butter/voi

%{АОØ%}:о

%{АОØ%}:а

%{АОØ%}:0 офта+N+Sg+Nom+Def bear/ohto, karhu

%{АО%}:о пула+N+Sg+Nom+Def: tail

%{АО%}:а

Vx:0 %{ЕО%}:0

{АО}:0 before Lat калма+N+SP+Lat+Indef:

%{ЕО%}:е

%{ЕО%}:о

%{ЕØ%}:е

%{ЕØ%}:0 тяште+N+Pl+Nom+Def star/tähti

0:j

е:0 идемс+V+Der/NomAg+N+Pl+Nom+PxPl1

е:о

е:а

е:я

≈ * Rules final е lowered to я

%{АЕ%}:я

%{ЕОØ%}:я

%{ЕО%}:я

%{ЕØ%}:я

а:е

а:о

я:а

%{АЕØ%}:а Always

%{АЕØ%}:а Sometimes

%{АЕØ%}:е Always
%{АЕØ%}:е Sometimes
мокша+N+Sg+Nom+Def: Moksha

%{АЕØ%}:0 Always

%{АЕØ%}:0 Sometimes

%{АЕ%}:a
вал+Hom1+N+Sg+Nom+Indef+Clt/Add: word/sana

%{АЕ%}:е
менель+N+SP+Prl+Indef sky/taivas

%{АЯ%}:ya

%{АЯ%}:a

j:0 LEFT

корхнемс+V+NomAg+Pl+Nom+Def: visit, talk/jutella

j:0 RIGHT

седи+N+Pl+Nom+Indef heart/sydän

араламс+V+Der/NomAg+Sg+Nom+PxSg3: protect/puolustaa

j:0 RIGHT

ye:e always

ye:e sometimes

a:ya

о:а
удомс+V+Ind+ConNeg

CONSONANT CHANGES

** %{Х%}:0 after vowel**
валда+N+Pl+Nom+Def light/valo

** %{Х%}:х after some consonants**
ваны+N+Pl+Nom+Def watcher/katsoja

м:п ям
ям+N+Pl+Nom+Indef: stew/keitto

в:ф кев

б:п сруб

н:т сан
сан+N+Pl+Nom+Indef: sinew/suoni

d:t
кулхцондомс+V+Imprt+ScSg2: listen

З:С изь+V+Aux+Neg+Ind+Prt1+ScPl3: they did not

Ж:Ш

ж:ч панчсь

г:к кельгомс+V+Ind+Prs+ScSg1+OcSg2: love/rakastaa

с:ц ломань:ломанць

G1:0

G1:g
вал+Hom1+N+Sg+Nom+Indef+Foc word/sana

G1:k
вал+Hom1+N+SP+Ill+Indef+Foc word/sana

%{ВИУ%}:v

%{ВИУ%}:i учительскай+N+SP+Lat+Indef: teachers’ lounge/opettajain huone

%{ВИУ%}:u уша+N+SP+Lat+Indef: outdoors

G2:g

вальмя+N+SP+Prl+Indef

G2:k

G4:0

G4:k

m:0

imperative suffix

К1 %{КТ%}:t left

К1 %{КТ%}:t right

К1 %{КТ%}:к left

К1 %{КТ%}:к right

**К1 %{КТ%}:0 ** кельгомс+V+ConNegII:

%{ЬØ%}:ь

%{ЬØ%}:0
зепе+N+Pl+Nom+Indef: pocket/tasku

ши+N+Pl+Nom+Indef: day/päivä

Plural before definite plural following a consonant t:0
Ананьина К.И. 2000: 55

s:0

y:0
plural

учемс+V+Ind+Prt1+ScSg3

нярь+N+Sg+Gen+PxSg2: hand; arm

изь+V+Aux+Neg+Ind+Prt1+ScPl3: they did not

DIMINUTIVES

%{DIM%}:н

%{DIM%}:к

%{ъØ%}:ъ

Disallow

Disallow TLoss after non-t

Disallow KLoss after non-k

Disallow SLoss after non-s

Disallow Glide after non-glides

Disallow овок

Disallow Онга

Disallow -кс: нетькскс

Disallow -гя only after a few

Disallow special imperative in K after vowel stems

Disallow final е lowering to я tag elsewhere

Disallow onset vowel after voiced cons

Disallow Ь2ZERO

Disallow ЬKEEP


This (part of) documentation was generated from src/fst/morphology/phonology.twolc


src-fst-morphology-root.lexc.md

Morphology

INTRODUCTION TO MORPHOLOGICAL ANALYSER OF THE Moksha LANGUAGE.

The morphological analyses of wordforms of the Moksha language are presented in this system in terms of following symbols. (It is highly suggested to follow existing standards when adding new tags). +TYÄ Underdeveloped.

The parts-of-speech tags are:

The parts of speech are further split up into: Nouns:

Interjections:

Dialect tags

The nominals are inflected in the following Case and Number

The possession is marked as such:

Particles

Verb voice:

Verb tenses are +Prs present and future ! nominal conjugation as well +Prt1 preterite I ! only finite verbal +Prt2 preterite II ! nominal conjugation as well

Verb personal forms are:

+ScSg1 subject conjugation first person singular +ScSg2 subject conjugation second person singular +ScSg3 subject conjugation third person singular +ScPl1 subject conjugation first person plural +ScPl2 subject conjugation second person plural +ScPl3 subject conjugation third person plural

+OcSg1 objject conjugation first person singular +OcSg2 objject conjugation second person singular +OcSg3 objject conjugation third person singular +OcPl1 objject conjugation first person plural +OcPl2 objject conjugation second person plural +OcPl3 objject conjugation third person plural

Other verb forms are +ConNeg connegative, main verb complement to Neg, vowel-stem +ConNegII connegative, main verb complement to Neg, cons-stem +Ger gerund This is used with Der/Озь and VAbl +Inf infinitive +Neg verb of negation эзь, аволь, иля +Aux auxiliary verb +Prc participle +VGen Verb Genitive, genitive form participle +VAbl Verb Ablative “озадо”

+ABBR Abbreviation

Special symbols are classified with:

The verbs are syntactically split according to transitivity: +TV transitive verb +IV intransitive verb Special multiword units are analysed with: Non-dictionary words can be recognised with:

Compounding

Question and Focus particles:

Tags distinguishing different versions of the same lemma (before POS)

Semantics are classified with

Derivations are classified under the morphophonetic form of the suffix, the source and target part-of-speech.

Der begin

DECLARING DEVERBAL DERIVATIONS OF VERBS

+Der/Dimin diminutive markers in ня and кя seem to be subject of complementary distribution

Tags for originating language

The following tags are used to guide conversion to IPA: loan words and foreign names are usually pronounced (approximately) as in the originating (majority) language. Instead of trying to identify the correct pronunciation based on phonotactics (orthotactics actually), we tag all words that can’t be correctly transcribed using the SME transcriber with source language codes. Once tagged, it is possible to split the lexical transducer in smaller ones according to langu- age, and apply different IPA conversion to each of them. The principle of tagging is that we only tag to the extent needed, and following a priority:

  1. any untagged word is pronounced with SME orthographic conventions
  2. NNO and NOB have identical pronunciation, NNO is only used if different in spelling from NOB
  3. SWE has mostly the same pronunciation as NOB, and is only used if different in spelling from NOB
  4. Occasionally even SME (the default) may be tagged, to block other languages from being specified, mainly during semi-automatic language tagging sessions All in all, we want to get as much correctly transcribed to IPA with as little work as possible. On the other hand, if more words are tagged than strictly needed, this should pose no problem as long as the IPA conversion is correct - at least some words will get the same pronunciation whether read as SME or NOB/NNO/SWE.

Morphophonology To represent phonologic variations in word forms we use the following symbols in the lexicon files: %{ИЫЙ%} phasing out Ы2, eg кундамс:кундай %{ЕОØ%} morphemes requiring a preceding vowel; also пинге %{ЕО%} сельме %{ЕØ%} кече %{АЯ%} А2 in кундамс:кундан %{ВИУ%} lative %{Х%} This usually precedes the plural marker %{КТ%} used in imperative and connegative %{ЬØ%} after imperative Sg2 %{DIM%} This will be for diminutive initial consonant

2016-03-12 %^А2О used with final а in пула

А2 А2:а А2:я %{вгк%} %{вгк%}:г %{вгк%}:в %{вгк%}:к %{гк%} clitic in %{гк%} %{АЕ%} К1 К1:к К1:т %{АЕØ%} ConNeg with ашень, тят, афоль %{АО%} пула stem %{АОØ%} офта stem %{АЕ%} prolative Х1 Х1:х Х1:0 Ь2 Ь2:ь Ь2:0 %{ъØ%} This will represent schwa in first syllable

in ped realized as hard sign

And following triggers to control variation

Flag diacritics

We have manually optimised the structure of our lexicon using following flag diacritics to restrict morhpological combinatorics - only allow compounds with verbs if the verb is further derived into a noun again: | @P.NeedNoun.ON@ | (Dis)allow compounds with verbs unless nominalised | @D.NeedNoun.ON@ | (Dis)allow compounds with verbs unless nominalised | @C.NeedNoun@ | (Dis)allow compounds with verbs unless nominalised

For languages that allow compounding, the following flag diacritics are needed to control position-based compounding restrictions for nominals. Their use is handled automatically if combined with +CmpN/xxx tags. If not used, they will do no harm. | @P.CmpFrst.FALSE@ | Require that words tagged as such only appear first | @D.CmpPref.TRUE@ | Block such words from entering ENDLEX | @P.CmpPref.FALSE@ | Block these words from making further compounds | @D.CmpLast.TRUE@ | Block such words from entering R | @D.CmpNone.TRUE@ | Combines with the next tag to prohibit compounding | @U.CmpNone.FALSE@ | Combines with the prev tag to prohibit compounding | @P.CmpOnly.TRUE@ | Sets a flag to indicate that the word has passed R | @D.CmpOnly.FALSE@ | Disallow words coming directly from root.

Use the following flag diacritics to control downcasing of derived proper nouns (e.g. Finnish Pariisi -> pariisilainen). See e.g. North Sámi for how to use these flags. There exists a ready-made regex that will do the actual down-casing given the proper use of these flags. | @U.Cap.Obl@ | Allowing downcasing of derived names: deatnulasj. | @U.Cap.Opt@ | Allowing downcasing of derived names: deatnulasj.

@D.CONJ-MX.IND@ 2012-11-04 should this be D or N

FLAGS USED WITH MODIFIERS WITHOUT NOUNS

FLAGS USED WITH COLLECTIVE NOUNS

number

Flag diacritic Explanation
@U.number.one@ Flag used to give arabic numerals in smj different cases ;
@U.number.two@ Flag used to give arabic numerals in smj different cases ;
@U.number.three@ Flag used to give arabic numerals in smj different cases ;
@U.number.four@ Flag used to give arabic numerals in smj different cases ;
@U.number.five@ Flag used to give arabic numerals in smj different cases ;
@U.number.six@ Flag used to give arabic numerals in smj different cases ;
@U.number.seven@ Flag used to give arabic numerals in smj different cases ;
@U.number.eight@ Flag used to give arabic numerals in smj different cases ;
@U.number.nine@ Flag used to give arabic numerals in smj different cases ;
@U.number.zero@ Flag used to give arabic numerals in smj different cases ;

The word forms in Moksha language start from the lexeme roots of basic word classes, or optionally from prefixes: These have been slightly modified from kpv and myv


This (part of) documentation was generated from src/fst/morphology/root.lexc


src-fst-morphology-stems-adjectives-russian-like_newwords.lexc.md

This is where new words are added as lexc entries before they are added to the xml source files. од:од A_KAL “(eng) /(fin)/(rus) “ ;

ADD ADJECTIVES BELOW

Adding more 2016-05-22

Adding more 2020-03-08


This (part of) documentation was generated from src/fst/morphology/stems/adjectives-russian-like_newwords.lexc


src-fst-morphology-stems-adjectives_newwords.lexc.md

This is where new words are added as lexc entries before they are added to the xml source files. духовнай:духовнай A_PEJ “(eng) /(fin) /(rus) “ ;

ADD NOUNS BELOW


This (part of) documentation was generated from src/fst/morphology/stems/adjectives_newwords.lexc


src-fst-morphology-stems-exceptions.lexc.md

Exceptions are quite strange word-forms. the ones that do not fit anywhere else. This file contains all enumerated word forms that cannot reasonably be created from lexical data by regular inflection. Usually there should be next to none exceptions, it’s always better to have a paradigm that covers only one or few words than an exception since these will not work nicely with e.g. compounding scheme or possibly many end applications.

MISSING ADV

check numerals

MISSING CS

MISSING Pcle

IRREGULAR diminutives

MISSING V

VOCATIVES

TOPONYMY

PROPER NAMES

Wife NAMES

QUESTIONABLE FORMS

FOREIGN WORDS A

PCLE

NOUNS

PROP

MISSING VALENCY

more words for Mormula

RUSSIAN VERBS


This (part of) documentation was generated from src/fst/morphology/stems/exceptions.lexc


src-fst-morphology-stems-nouns_newwords.lexc.md

This is where new words are added as lexc entries before they are added to the xml source files. автор:автор N_KAL “(eng) /(fin) /(rus) “ ;

ADD NOUNS BELOW


This (part of) documentation was generated from src/fst/morphology/stems/nouns_newwords.lexc


src-fst-morphology-stems-propernouns_newwords.lexc.md

This is where new words are added as lexc entries before they are added to the xml source files. автор:автор PROP_KAL “(eng) /(fin) /(rus) “ ;

ADD PROPER NOUNS BELOW

MOKSHA PROPER NAMES

Moksha proper nouns


This (part of) documentation was generated from src/fst/morphology/stems/propernouns_newwords.lexc


src-fst-morphology-stems-verbs_newwords.lexc.md

This is where new words are added as lexc entries before they are added to the xml source files. автор:автор N_KAL “(eng) /(fin) /(rus) “ ;

ADD VERBS BELOW


This (part of) documentation was generated from src/fst/morphology/stems/verbs_newwords.lexc


src-fst-phonetics-txt2ipa.xfscript.md

retroflex plosive, voiceless t ʈ 0288, 648 ( = ASCII 096) retroflex plosive, voiced d ɖ 0256, 598 labiodental nasal F ɱ 0271, 625 retroflex nasal n ɳ 0273, 627 palatal nasal J ɲ 0272, 626 velar nasal N ŋ 014B, 331 uvular nasal N\ ɴ 0274, 628

bilabial trill B\ ʙ 0299, 665 uvular trill R\ ʀ 0280, 640 alveolar tap 4 ɾ 027E, 638 retroflex flap r ɽ 027D, 637 bilabial fricative, voiceless p\ ɸ 0278, 632 bilabial fricative, voiced B β 03B2, 946 dental fricative, voiceless T θ 03B8, 952 dental fricative, voiced D ð 00F0, 240 postalveolar fricative, voiceless S ʃ 0283, 643 postalveolar fricative, voiced Z ʒ 0292, 658 retroflex fricative, voiceless s ʂ 0282, 642 retroflex fricative, voiced z` ʐ 0290, 656 palatal fricative, voiceless C ç 00E7, 231 palatal fricative, voiced j\ ʝ 029D, 669 velar fricative, voiced G ɣ 0263, 611 uvular fricative, voiceless X χ 03C7, 967 uvular fricative, voiced R ʁ 0281, 641 pharyngeal fricative, voiceless X\ ħ 0127, 295 pharyngeal fricative, voiced ?\ ʕ 0295, 661 glottal fricative, voiced h\ ɦ 0266, 614

alveolar lateral fricative, vl. K alveolar lateral fricative, vd. K\

labiodental approximant P (or v) alveolar approximant r\ retroflex approximant r` velar approximant M\

retroflex lateral approximant l` palatal lateral approximant L velar lateral approximant L
Clicks

bilabial O\ (O = capital letter) dental |
(post)alveolar !\ palatoalveolar =\ alveolar lateral ||
Ejectives, implosives

ejective > e.g. ejective p p> implosive < e.g. implosive b b< Vowels

close back unrounded M close central unrounded 1 close central rounded } lax i I lax y Y lax u U

close-mid front rounded 2 close-mid central unrounded @\ close-mid central rounded 8 close-mid back unrounded 7

schwa ə @

open-mid front unrounded E open-mid front rounded 9 open-mid central unrounded 3 open-mid central rounded 3\ open-mid back unrounded V open-mid back rounded O

ash (ae digraph) { open schwa (turned a) 6

open front rounded & open back unrounded A open back rounded Q Other symbols

voiceless labial-velar fricative W voiced labial-palatal approx. H voiceless epiglottal fricative H\ voiced epiglottal fricative <\ epiglottal plosive >\

alveolo-palatal fricative, vl. s\ alveolo-palatal fricative, voiced z\ alveolar lateral flap l\ simultaneous S and x x\ tie bar _ Suprasegmentals

primary stress “ secondary stress % long : half-long :\ extra-short _X linking mark -
Tones and word accents

level extra high _T level high _H level mid _M level low _L level extra low _B downstep ! upstep ^ (caret, circumflex)

contour, rising contour, falling _F contour, high rising _H_T contour, low rising _B_L

contour, rising-falling _R_F (NB Instead of being written as diacritics with _, all prosodic marks can alternatively be placed in a separate tier, set off by < >, as recommended for the next two symbols.) global rise global fall Diacritics

voiceless 0 (0 = figure), e.g. n_0 voiced _v aspirated _h more rounded _O (O = letter) less rounded _c advanced _+ retracted _- centralized _” syllabic = (or _=) e.g. n= (or n=) non-syllabic _^ rhoticity `

breathy voiced _t creaky voiced _k linguolabial _N labialized _w palatalized ‘ (or _j) e.g. t’ (or t_j) velarized _G pharyngealized _?\

dental d apical _a laminal _m nasalized ~ (or _~) e.g. A~ (or A~) nasal release _n lateral release _l no audible release _}

velarized or pharyngealized _e velarized l, alternatively 5 raised _r lowered _o advanced tongue root _A retracted tongue root _q


This (part of) documentation was generated from src/fst/phonetics/txt2ipa.xfscript


src-fst-transcriptions-transcriptor-abbrevs2text.lexc.md

We describe here how abbreviations are in Moksha are read out, e.g. for text-to-speech systems.

For example:


This (part of) documentation was generated from src/fst/transcriptions/transcriptor-abbrevs2text.lexc


tools-grammarcheckers-grammarchecker.cg3.md

[ L A N G U A G E ] G R A M M A R C H E C K E R

DELIMITERS

TAGS AND SETS

Tags

This section lists all the tags inherited from the fst, and used as tags in the syntactic analysis. The next section, Sets, contains sets defined on the basis of the tags listed here, those set names are not visible in the output.

Beginning and end of sentence

BOS EOS

Parts of speech tags

N A Adv V Pron CS CC CC-CS Po Pr Pcle Num Interj ABBR ACR CLB LEFT RIGHT WEB PPUNCT PUNCT

COMMA ¶

Tags for POS sub-categories

Pers Dem Interr Indef Recipr Refl Rel Coll NomAg Prop Allegro Arab Romertall

Tags for morphosyntactic properties

Nom Acc Gen Ill Loc Com Ess Ess Sg Du Pl Cmp/SplitR Cmp/SgNom Cmp/SgGen Cmp/SgGen PxSg1 PxSg2 PxSg3 PxDu1 PxDu2 PxDu3 PxPl1 PxPl2 PxPl3 Px

Comp Superl Attr Ord Qst IV TV Prt Prs Ind Pot Cond Imprt ImprtII Sg1 Sg2 Sg3 Du1 Du2 Du3 Pl1 Pl2 Pl3 Inf ConNeg Neg PrfPrc VGen PrsPrc Ger Sup Actio VAbess

Err/Orth

Semantic tags

Sem/Act Sem/Ani Sem/Atr Sem/Body Sem/Clth Sem/Domain Sem/Feat-phys Sem/Fem Sem/Group Sem/Lang Sem/Mal Sem/Measr Sem/Money Sem/Obj Sem/Obj-el Sem/Org Sem/Perc-emo Sem/Plc Sem/Sign Sem/State-sick Sem/Sur Sem/Time Sem/Txt

HUMAN

PROP-ATTR PROP-SUR

TIME-N-SET

Syntactic tags

@+FAUXV @+FMAINV @-FAUXV @-FMAINV @-FSUBJ> @-F<OBJ @-FOBJ> @-FSPRED<OBJ @-F<ADVL @-FADVL> @-F<SPRED @-F<OPRED @-FSPRED> @-FOPRED> @>ADVL @ADVL< @<ADVL @ADVL> @ADVL @HAB> @<HAB @>N @Interj @N< @>A @P< @>P @HNOUN @INTERJ @>Num @Pron< @>Pron @Num< @OBJ @<OBJ @OBJ> @OPRED @<OPRED @OPRED> @PCLE @COMP-CS< @SPRED @<SPRED @SPRED> @SUBJ @<SUBJ @SUBJ> SUBJ SPRED OPRED @PPRED @APP @APP-N< @APP-Pron< @APP>Pron @APP-Num< @APP-ADVL< @VOC @CVP @CNP OBJ

-OTHERS SYN-V @X ## Sets containing sets of lists and tags This part of the file lists a large number of sets based partly upon the tags defined above, and partly upon lexemes drawn from the lexicon. See the sourcefile itself to inspect the sets, what follows here is an overview of the set types. ### Sets for Single-word sets INITIAL ### Sets for word or not WORD NOT-COMMA ### Case sets ADLVCASE CASE-AGREEMENT CASE NOT-NOM NOT-GEN NOT-ACC ### Verb sets NOT-V ### Sets for finiteness and mood REAL-NEG MOOD-V NOT-PRFPRC ### Sets for person SG1-V SG2-V SG3-V DU1-V DU2-V DU3-V PL1-V PL2-V PL3-V ### Pronoun sets ### Adjectival sets and their complements ### Adverbial sets and their complements ### Sets of elements with common syntactic behaviour ### NP sets defined according to their morphosyntactic features ### The PRE-NP-HEAD family of sets These sets model noun phrases (NPs). The idea is to first define whatever can occur in front of the head of the NP, and thereafter negate that with the expression **WORD - premodifiers**. ### Border sets and their complements ### Grammarchecker sets * * * This (part of) documentation was generated from [tools/grammarcheckers/grammarchecker.cg3](https://github.com/giellalt/lang-mdf/blob/main/tools/grammarcheckers/grammarchecker.cg3) --- # tools-tokenisers-tokeniser-disamb-gt-desc.pmscript.md # Tokeniser for mdf Usage: ``` $ make $ echo "ja, ja" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "Juos gorreválggain lea (dárbbašlaš) deavdit gáibádusa boasttu olmmoš, man mielde lahtuid." | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "(gáfe) 'ja' ja 3. ja? ц jaja ukjend \"ukjend\"" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "márffibiillagáffe" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` Pmatch documentation: <https://github.com/hfst/hfst/wiki/HfstPmatch> Characters which have analyses in the lexicon, but can appear without spaces before/after, that is, with no context conditions, and adjacent to words: * Punct contains ASCII punctuation marks * The symbol after m-dash is soft-hyphen `U+00AD` * The symbol following {•} is byte-order-mark / zero-width no-break space `U+FEFF`. Whitespace contains ASCII white space and the List contains some unicode white space characters * En Quad U+2000 to Zero-Width Joiner U+200d' * Narrow No-Break Space U+202F * Medium Mathematical Space U+205F * Word joiner U+2060 Apart from what's in our morphology, there are 1. unknown word-like forms, and 2. unmatched strings We want to give 1) a match, but let 2) be treated specially by `hfst-tokenise -a` Unknowns are made of: * lower-case ASCII * upper-case ASCII * select extended latin symbols * mdf specific characters ASCII digits * select symbols * Combining diacritics as individual symbols, * various symbols from Private area (probably Microsoft), so far: * U+F0B7 for "x in box" ## Unknown handling Unknowns are tagged ?? and treated specially with `hfst-tokenise` hfst-tokenise --giella-cg will treat such empty analyses as unknowns, and remove empty analyses from other readings. Empty readings are also legal in CG, they get a default baseform equal to the wordform, but no tag to check, so it's safer to let hfst-tokenise handle them. Finally we mark as a token any sequence making up a: * known word in context * unknown (OOV) token in context * sequence of word and punctuation * URL in context * * * This (part of) documentation was generated from [tools/tokenisers/tokeniser-disamb-gt-desc.pmscript](https://github.com/giellalt/lang-mdf/blob/main/tools/tokenisers/tokeniser-disamb-gt-desc.pmscript) --- # tools-tokenisers-tokeniser-gramcheck-gt-desc.pmscript.md # Grammar checker tokenisation for mdf Requires a recent version of HFST (3.10.0 / git revision>=3aecdbc) Then just: ``` $ make $ echo "ja, ja" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` More usage examples: ``` $ echo "Juos gorreválggain lea (dárbbašlaš) deavdit gáibádusa boasttu olmmoš, man mielde lahtuid." | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "(gáfe) 'ja' ja 3. ja? ц jaja ukjend \"ukjend\"" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "márffibiillagáffe" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` Pmatch documentation: <https://github.com/hfst/hfst/wiki/HfstPmatch> Characters which have analyses in the lexicon, but can appear without spaces before/after, that is, with no context conditions, and adjacent to words: * Punct contains ASCII punctuation marks * The symbol after m-dash is soft-hyphen `U+00AD` * The symbol following {•} is byte-order-mark / zero-width no-break space `U+FEFF`. Whitespace contains ASCII white space and the List contains some unicode white space characters * En Quad U+2000 to Zero-Width Joiner U+200d' * Narrow No-Break Space U+202F * Medium Mathematical Space U+205F * Word joiner U+2060 Apart from what's in our morphology, there are 1) unknown word-like forms, and 2) unmatched strings We want to give 1) a match, but let 2) be treated specially by hfst-tokenise -a * select extended latin symbols * select symbols * various symbols from Private area (probably Microsoft), so far: * U+F0B7 for "x in box" TODO: Could use something like this, but built-in's don't include šžđčŋ: Simply give an empty reading when something is unknown: hfst-tokenise --giella-cg will treat such empty analyses as unknowns, and remove empty analyses from other readings. Empty readings are also legal in CG, they get a default baseform equal to the wordform, but no tag to check, so it's safer to let hfst-tokenise handle them. Finally we mark as a token any sequence making up a: * known word in context * unknown (OOV) token in context * sequence of word and punctuation * URL in context * * * This (part of) documentation was generated from [tools/tokenisers/tokeniser-gramcheck-gt-desc.pmscript](https://github.com/giellalt/lang-mdf/blob/main/tools/tokenisers/tokeniser-gramcheck-gt-desc.pmscript) --- # tools-tokenisers-tokeniser-tts-cggt-desc.pmscript.md # TTS tokenisation for smj Requires a recent version of HFST (3.10.0 / git revision>=3aecdbc) Then just: ```sh make echo "ja, ja" \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` More usage examples: ```sh echo "Juos gorreválggain lea (dárbbašlaš) deavdit gáibádusa \ boasttu olmmoš, man mielde lahtuid." \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst echo "(gáfe) 'ja' ja 3. ja? ц jaja ukjend \"ukjend\"" \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst echo "márffibiillagáffe" \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` Pmatch documentation: <https://kitwiki.csc.fi/twiki/bin/view/KitWiki/HfstPmatch> Characters which have analyses in the lexicon, but can appear without spaces before/after, that is, with no context conditions, and adjacent to words: * Punct contains ASCII punctuation marks * The symbol after m-dash is soft-hyphen `U+00AD` * The symbol following {•} is byte-order-mark / zero-width no-break space `U+FEFF`. Whitespace contains ASCII white space and the List contains some unicode white space characters * En Quad U+2000 to Zero-Width Joiner U+200d' * Narrow No-Break Space U+202F * Medium Mathematical Space U+205F * Word joiner U+2060 Apart from what's in our morphology, there are 1) unknown word-like forms, and 2) unmatched strings We want to give 1) a match, but let 2) be treated specially by hfst-tokenise -a * select extended latin symbols * select symbols * various symbols from Private area (probably Microsoft), so far: * U+F0B7 for "x in box" TODO: Could use something like this, but built-in's don't include šžđčŋ: Simply give an empty reading when something is unknown: hfst-tokenise --giella-cg will treat such empty analyses as unknowns, and remove empty analyses from other readings. Empty readings are also legal in CG, they get a default baseform equal to the wordform, but no tag to check, so it's safer to let hfst-tokenise handle them. Needs hfst-tokenise to output things differently depending on the tag they get * * * This (part of) documentation was generated from [tools/tokenisers/tokeniser-tts-cggt-desc.pmscript](https://github.com/giellalt/lang-mdf/blob/main/tools/tokenisers/tokeniser-tts-cggt-desc.pmscript)