Finite state and Constraint Grammar based analysers, proofing tools and other resources
View the project on GitHub giellalt/lang-bxr
All doc-comment documentation in one large file.
This is the Eastern Mari disambiguation file. It chooses the correct morphological analyses in any given sentence context.
The file first defines sentence delimiters and tags and sets. Thereafter come the rules, each rule is listed below.
TODO: adapt it to BURYAAD
The delimiters are: “<.>” “<!>” “<?>” “<…>” “<¶>” sent
The Tags section lists all the tags inherited from the fst, and defines them for use in the syntactic analysis. The tags are documented in the root.lexc file, and here only listed for reference.
The next section, Sets, contains sets defined on the basis of the tags listed here, those set names are not visible in the output.
BOS EOS
N V A Adv CC CS Interj Pron Num Pcle Clt Po
WORD is the set of all POS
Prs Prt1 Prt2 Fut Imprt Ind Cond Des
Act ConNeg FutPrc Ger Inf Nec Neg NegPrc Pass PrfPrc
Verbal person-number tags Sg1 Sg2 Sg3 Pl1 Pl2 Pl3
Sg Pl
Nom Gen Abl Dat Com Cns Acc Ins Ine Ill Cmpr (case)
Pers Refl Rel Interr Recipr Dem ABBR
Pos (?) Superl Comp
PxSg1 PxSg2 PxSg3 PxPl1 PxPl2 PxPl3
Card Coll Ord Temp (?)
CLB PUCT LEFT RIGHT COMMA
Der/MWN Der/sa
Qst Foc
CmpTest Err
Plural verbforms
ConMod
This (part of) documentation was generated from src/cg3/disambiguator.cg3
Sets for POS sub-categories
Sets for Semantic tags
Sets for Morphosyntactic properties
Sets for verbs
V is all readings with a V tag in them, REAL-V should
be the ones without an N tag following the V.
The REAL-V set thus awaits a fix to the preprocess V … N bug.
The set COPULAS is for predicative constructions
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.
The set NOT-NPMOD is used to find barriers between NPs. Typical usage: … (*1 N BARRIER NPT-NPMOD) … meaning: Scan to the first noun, ignoring anything that can be part of the noun phrase of that noun (i.e., “scan to the next NP head”)
Miscellaneous sets
Border sets and their complements
Syntactic sets
These were the set types.
hab1
hab2
hab3 (
habNomLeft
hab4
hab6
hab7
hab5 This is not HAB
habDain (
habGen (
spred<obj (@SPRED<OBJ) for Acc; the object of an SPRPED. Not to be mistaken with OPRED. If SPRED is to the left, and copulas is to the left of it. Nom or Hab are found sentence initially.
Hab<spred (@<SPRED) for Nom; if copulas, goallut or jápmit is FMAINV and habitive or human Loc is found to the left. OR: if Ill or @Pron< followed by HAB are found to the left.
Hab>Advlcase<spred (
Nom>Advlcase<spred (
<spred (
<spred (
<spredQst1 (
<spredQst2 (@<SPRED) for Nom; in a typically question sentence; differs from <spredQst1 by not beeing as restricted to the right. Though you are not allowed to be Pers or human.
Nom<spredQst (@<SPRED) for Nom; in a typically question sentence. Differs from <spredQst2 by letting Nom be found between SPRED and copulas
<spred (@<SPRED) for A Nom or N Nom if; the subject Nom is on the same side of copulas as you: on the right side of copulas
<spredVeara (@<SPRED) for veara + Nom; if genitive immediately to the right, and intransitive mainverb to the right of genitive
leftCop<spred (@<SPRED) for Nom; if copulas is the main verb to the left, and there is no Ess found to the left of cop (note that Loc is allowed between target and cop). OR: if you are Coll or Sem/Group with copulas to your left.
<spredLocEXPERIMENT (@<SPRED) for material Loc; if you are to the right of copulas, and the Nom to the left of copulas is not a hab-actor
NumTime (@<SPRED) for A Nom
<spredSg (@<SPRED) for Sg Nom
<spredPg (@<SPRED) for Pl Nom
<spred (@<SPRED) for Nom; if copulas to the left, and Nom or sentence boundary to the left of copulas. First one to the right is EOS.
<spred (@<SPRED) for N Ess
spredEss> (@SPRED>) for N Ess; if copulas to the right of you, and if an NP with nom-case first one to your left.
HABSpredSg> (@SPRED>) for Nom; if habitive first one to the left, followed by copulas.
GalleSpred> (@SPRED>) for Num Nom; if sentence initial
spredSgMII> (@SPRED>)
r492> (@SPRED>) for Interr Gen; consisting only of negations. You are not allowed to be MII. You are not allowed to have an adjective or noun to yor right. You are not allowed to have a verb to your right; the exception beeing an aux.
AdjSpredSg> (@SPRED>) for A Sg Nom; if copulas to the right, but not if A or @<SPRED are found to the right of copulas
SpredSg>Hab (@SPRED>) for Nom; if you are sentence initial, copulas is located to the right, and there is a habitive to the right of copulas
Spred>SubjInf (@SPRED>) for Nom; if copulas to the right, and the subject of copulas is an Inf to the right
spredCoord (@<SPRED) coordination for Nom; only if there already is a SPRED to the left of CNP. Not if there is some kind of comparison involved.
subj>Sgnr1 (@SUBJ>) for Nom Sg, including Indef Nom if; VFIN + Sg3 or Pl3 to the right (VFIN not allowed to the left)
subj>Pl (@SUBJ>) for plural nominatives, including Coll and Sem/Group. VFIN + Pl3 to the right.
subj>Pl (@SUBJ>) for plural nominatives
subj>Sgnr2 (@SUBJ>) for Nom Sg; if VFIN + Sg3 to the right.
<subjSg (@<SUBJ) for Nom Sg; if VFIN Sg3 or Du2 to the left (no HAB allowed to the left).
f<advl (@-F<ADVL) for infinite adverbials
f<advl (@-F<ADVL) for infinite adverbials
s-boundary=advl> (@ADVL>) for ADVL that resemble s-booundaries. Mainverb to the right.
-fobj> (@-FOBJ>) for Acc
-fobj> (@-FOBJ>) for Acc
advl>mainV (@ADVL>) if; finite mainverb not found to the left, but the finite mainverb is found to the right.
<advl (@<ADVL) if; finite mainverb found to the left. Not if a comma is found immediately to the left and a finite mainverb is located somewhere to the right of this comma.
advlPoPr> (@<ADVL) if mainverb to the right.
advlEss> (@<ADVL) for weather and time Ess, if FMAINV to the left.
advl>inbetween (@ADVL>) for Adv; if inbetween two sentenceboundaries where no mainverb is present.
comma<advlEOS (@<ADVL) if; comma found to the left and the finite mainverb to the left of comma. To the right is the end of the sentence.
advlBOS> (@ADVL>) if; you are N Ill and found sentnece initially. First one to your right is a clause.
<advlPoEOS (@<ADVL) for Po; if you are found at the very end of a sentence. A mainverb is needed to the right though.
cleanupILL<advl (@<ADVL) for N Ill if; there are no boundarysymbols to your left, if you arent already @N< OR @APP-N<, and no mainverb is to yor left.
This (part of) documentation was generated from src/cg3/functions.cg3
just adding the +A tag.
This (part of) documentation was generated from src/fst/morphology/affixes/adjectives.lexc
We have two lexica, n1 and n2, n1 with -нар plural and V-initial Gen, Ins, and n2 with -ууд plural and г-initial Gen, Ins
The noun classes
**LEXICON nx ** unclassified nouns, to n2 for now
**LEXICON n1 ** with Gen -IIN, and -нар- suffix for oblique cases
**LEXICON n2 ** with Gen -GAj and -ууд suffič for oblique cases
The class-specific case morphology (Gen, Ins)
**LEXICON case1 ** Gen, Ins for n1 nouns, and pointing to common cases
**LEXICON case2 ** Gen, Ins for n2 nouns, and pointing to common cases
**LEXICON case3 ** case3 are numerals, for now pointing to case2
The morphology common to the different stem classes
**LEXICON commoncase ** common treatment of Nom, Dat, Acc, Abl, Com for all nouns
**LEXICON Poss ** for Px, common for all nouns
This (part of) documentation was generated from src/fst/morphology/affixes/nouns.lexc
This file add +N+Prop and points to the noun case morphology
This (part of) documentation was generated from src/fst/morphology/affixes/propernouns.lexc
This (part of) documentation was generated from src/fst/morphology/affixes/symbols.lexc
This is the file for Buryaad verb morphology. The documentation shortly explains the rationale behind each continuation lexicon.
No auxiliary verbs for now.
v1 the default verb category, v2 stem in long vowel or ditphtong, v3 stem in и The difference comes for the non-indicative forms, thus all verb types point to the same finite_indicative.
LEXICON v1t the transitive v1 verbs (add +TV and go on)
LEXICON v1i the intransitive v1 verbs (add +IV and go on)
LEXICON v1 the v1 verbs not yet classified for transitivity
LEXICON v2t the transitive v2 verbs (add +TV and go on)
LEXICON v2i the intransitive v2 verbs (add +IV and go on)
**LEXICON v2 ** stem in long vowel or diphthong
LEXICON v3t the transitive v3 verbs (add +TV and go on)
LEXICON v3i the intransitive v3 verbs (add +IV and go on)
**LEXICON v3 ** stem in и
We see the contlexes as two layers: The first layer to divide the different stem types into different suffix lexica, and the one for these suffixes.
**LEXICON v1lex ** the common v1 morphology
**LEXICON v2lex ** the common v2 morphology
**LEXICON persprd ** for suffixes: б, ш, …
**LEXICON persprd2 ** for suffixes: би, ши, …
**LEXICON imperative ** for imperative suffixes (Sg2, Pl2)
**LEXICON voluntative ** for suffixes: яа, 0, …
**LEXICON optative ** for suffixes: -һууб, …
**LEXICON presc ** for suffixes: -арайгтыт, …
**LEXICON participles ** giving 11 different participle tags: +FutPrc, +ImpPrc, …
**LEXICON ptc ** either stop or go to persprd suff
**LEXICON ptc2 ** either stop or go to persprd2 suff
**LEXICON converbs ** listing 12 converb suffixes: -н, -жа, …
This (part of) documentation was generated from src/fst/morphology/affixes/verbs.lexc
This file contains the clitic lexicon K, pointing (via clitics) to ENDLEX
**LEXICON K ** , in principle containing clitics, but no one so far, and pointing to ENDLEX
**LEXICON ENDLEX ** is the lexicon adding ^END, for technical reasons.
This (part of) documentation was generated from src/fst/morphology/clitics.lexc
This file documents the phonology.twolc file
This file expresses Buryaad morphophonological alternation, from abstract underlying forms.
This is a list of all symbols in use.
%{D%}:т %{D%}:д = arciconsonant D
Some of the symbols are bundled together in sets
ArchiCns = %{D%} ;
Here come all the rules (marked with RULE:), and test cases.
RULE: Vowel harmony A:а gives a after stems with a or juu
басаган>0ай
бари>халаар
RULE: Vowel harmony A:я gives я after stems with a or juu
бари>ха0яа
RULE: Vowel harmony A:o gives o after stems with o or jo
самолёд>то0
RULE: Vowel harmony A:э gives e after e etc
басаган>0ай
бэел0>хэ0
автоматизировал0>хэ
RULE: Vowel harmony A:ё gives ё after stems with o or jo
самолёд>то0
RULE: Vowel harmony A:е gives е after e etc and preceeding
RULE: Vowel harmony й:0 deletes й in front of A
RULE: Vowel harmony U:у gives a after stems with a or juu
RULE: Vowel harmony ӨӨ:аa gives aa after a
анг>һаа0
аха>һаа0
RULE: Vowel harmony ӨӨ:оо gives oo after o
RULE: Vowel harmony ӨӨ:ээ gives ee after e
RULE: {I}{I} to ы in Gen/Acc and Poss 1 gives y for the first I
RULE: {I}{I} to ы in Gen/Acc and Poss 2 deletes the second I
Байгал>ы0нь0
аба>00нь0
аб0>ы0е0
RULE: {I}{I} to ии in Gen/Acc and Poss changes both I to i
RULE: Final stem vowel deletion before ые and ын
ах0>аар0
RULE: Deletion of и in word-final иие and Deletion SHV and Vowel harmony и:0
бар0>яа
һургуул0>иин0
RULE: Deletion of ы in -ые for aj and VV stems
RULE: Deletion of Y in predicative particle -b for vowel stem
RULE: Y to i in predicative particle -bi for consonant stem
RULE: D to t suffix initially for VC stems
сэсэг>тэ0
RULE: **D to d after n i l **
RULE: Final consonant ptd voicing to bdg in loanwords
RULE: Deletion of possessive м2 for consonant stems
RULE: Deletion of n before m in possessive and before gAAr
һанаа0>ы0е0
RULE: Deletion of g in word-final ng and before gaj and haa
ан0>да0
анг>һаа0
ури>на>б
амил0>ха0
боли>хо0
дохи>хо0
зори>хо0
орхи>хо0
долгил>хо0
хушажархи>ха0
орил0>хо0
доһол0>хо0
гэршэл0>хэ0
һуу>ха0яа
е
(Eng. с т р а б о т а е т)т
(Eng. е с т е о ш и б к а)This (part of) documentation was generated from src/fst/morphology/phonology.twolc
INTRODUCTION TO MORPHOLOGICAL ANALYSER OF BURYAAD.
+Symbol = independent symbols in the text stream, like £, €, ©
+Conf Conf
+Pl3 third person plural
+Neg Negative
+IV Intransitive
+Pl Plural
+Presc Prescriptive mood
+ResPrc
+ConCmp
To be properly organised
%{Y%} kept after Cns, deleted after Vow
а2 я2 м2 these are а and я in Russian loanwords that do not weaken to ых
%[%>%] - Literal >
%[%<%] - Literal <
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.
Key lexicon
**LEXICON Root ** is where it all starts, with these lexica:
This (part of) documentation was generated from src/fst/morphology/root.lexc
here there are some 500 adjectives from the Apertium source files.
This (part of) documentation was generated from src/fst/morphology/stems/adjectives.lexc
Here follows a lost of some 20 adverbs.
This (part of) documentation was generated from src/fst/morphology/stems/adverbs.lexc
This file is still empty.
It will eventually contain Buryaad-specific names. General Russian and international names will be taken from the urj-Cyrl file.
This (part of) documentation was generated from src/fst/morphology/stems/bxr-propernouns.lexc
This file is still empty.
This (part of) documentation was generated from src/fst/morphology/stems/conjunctions.lexc
This file is still empty.
This (part of) documentation was generated from src/fst/morphology/stems/interjections.lexc
There are some names here, they should eventually be moved to bxr-propernouns.lexc
This (part of) documentation was generated from src/fst/morphology/stems/nouns.lexc
This lexicon contains a number of letters and other symbols found in front of digits. Their continuation lexicons should probably be changed as we restructure the arabic numerals.
LEXICON ARABIC arabic numerals
LEXICON ARABICLOOP
LEXICON ARABICLOOPORD ordinals
LEXICON ARABICDELIMITER blank + 3 delim, what does the lg counc prefer?
LEXICON ROMAN roman numerals
LEXICON ROM-THOUSAND
LEXICON ROM-THOUSAND-TAG
LEXICON ROM-HUNDRED
LEXICON ROM-HUNDRED-TAG
LEXICON ROM-TEN
LEXICON ROM-TEN-TAG
LEXICON ROM-ONE
LEXICON ROM-ONE-TAG
LEXICON ROM-SPLIT
LEXICON 2ROMAN
LEXICON 2ROM-THOUSAND
LEXICON 2ROM-THOUSAND-TAG
LEXICON 2ROM-HUNDRED
LEXICON 2ROM-HUNDRED-TAG
LEXICON 2ROM-TEN
LEXICON 2ROM-TEN-TAG
LEXICON 2ROM-ONE
LEXICON 2ROM-ONE-TAG
LEXICON ROMNUMTAG
LEXICON ISOLATED-NUMEXP some isolated numeral expressions
This (part of) documentation was generated from src/fst/morphology/stems/numerals.lexc
Consider whether these are aeverbs.
LEXICON Particles
This (part of) documentation was generated from src/fst/morphology/stems/particles.lexc
This file contains 40 postpositions
LEXICON pp = These are the indeclieable ones , tag +Po
LEXICON Postposition = The lexicon
This (part of) documentation was generated from src/fst/morphology/stems/postpositions.lexc
This file contains pronouns.
So far, the following pronouns are covered:
@CODE*
This (part of) documentation was generated from src/fst/morphology/stems/pronouns.lexc
This (part of) documentation was generated from src/fst/morphology/stems/propernouns.lexc
This file is still empty.
This (part of) documentation was generated from src/fst/morphology/stems/subjunctions.lexc
This file is almost empty, it contains ca 40 verbs of 3 types, v1, v2, v3:
Verbs marked aux may perhaps be changed to v1, …
It is unclear whether the distinction is morphologically relevant.
Also, some of the aux-es may have wrong baseform. - хүрэхэ:хүрэ v1 “reach” ; - һууха:һуу v2 “sit” ;
Here come the new verbs
This (part of) documentation was generated from src/fst/morphology/stems/verbs.lexc
We describe here how abbreviations are in Russia Buriat 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
[ L A N G U A G E ] G R A M M A R C H E C K E R
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.
BOS EOS
N A Adv V Pron CS CC CC-CS Po Pr Pcle Num Interj ABBR ACR CLB LEFT RIGHT WEB PPUNCT PUNCT
COMMA ¶
Pers Dem Interr Indef Recipr Refl Rel Coll NomAg Prop Allegro Arab Romertall
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
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
@+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