camel_morphology

About

The camel_morphology utility is a command line interface to the CAMeL Tools morphological analyzer, generator, and reinflector systems based on CALIMA Star.

Usage

Below is the usage information that can be generated by running camel_morphology --help.

Usage:
    camel_morphology analyze
                     [-d DATABASE | --db=DATABASE]
                     [-b BACKOFF | --backoff=BACKOFF]
                     [-c | --cache]
                     [-o OUTPUT | --output=OUTPUT] [FILE]
    camel_morphology generate
                     [-d DATABASE | --db=DATABASE]
                     [-b BACKOFF | --backoff=BACKOFF]
                     [-o OUTPUT | --output=OUTPUT] [FILE]
    camel_morphology reinflect
                     [-d DATABASE | --db=DATABASE]
                     [-o OUTPUT | --output=OUTPUT] [FILE]
    camel_morphology (-l | --list)
    camel_morphology (-v | --version)
    camel_morphology (-h | --help)

Options:
  -b BACKOFF --backoff=BACKOFF
        Backoff mode for analyzer and generator. In analyze mode, it can have
        the following values: NONE, NOAN_ALL, NOAN_PROP, ADD_ALL, ADD_PROP.
        In generate mode it can have the following values: NONE, REINFLECT.
        [default: NONE]
  -c --cache
        Cache computed analyses (only in analyze mode).
  -d DATABASE --db=DATABASE
        Morphology database to use. DATABASE could be the name of a builtin
        database or a path to a database file. [default: calima-msa-r13]
  -o OUTPUT --output=OUTPUT
        Output file. If not specified, output will be printed to stdout.
  -l --list
        List builtin databases with their respective versions.
  -h --help
        Show this screen.
  -v --version
        Show version.

Analyze Mode

In analyze mode, camel_morphology determines all the possible out-of-context combinations of lemmas, morphological features, and diacritizations for undiacritized surface words.

Input:

The input should be a space seperated list of words. Punctuation must also be space seperated, otherwise Arabic words will be treated as foreign words.

Example:

$ camel_morphology analyze
مشيت في الشارع

Output:

For each space seperated word in the input, camel_morphology will output a line indicating the word followed by either a line of feature-value pairs for each analysis generated or a line with ‘NO_ANALYSIS’, to indicate no analyses could be generated, followed by an empty line. An additional empty line is printed to indicate the end of a line of input. See CAMeL Morphology Features for more information.

The output for the above example would be:

#WORD: مشيت
diac:مَشَّيْتَ lex:مَشَّى_1 caphi:m_a_sh_sh_a_y_t_a gloss:make_walk;adjust+you_[masc.sg.]_<verb> bw:مَشَّي/PV+تَ/PVSUFF_SUBJ:2MS pos:verb catib6:+VRB+ ud:+VERB+ root:م.ش.# pattern:1َ2َّيْتَ prc3:0 prc2:0 prc1:0 prc0:0 per:2 asp:p vox:a mod:i form_gen:m gen:m form_num:s num:s stt:na cas:na enc0:0 rat:n source:lex stem:مَشَّي stemcat:PV_Atn stemgloss:make_walk;adjust d1seg:مَشَّيْتَ atbseg:مَشَّيْتَ d2seg:مَشَّيْتَ d3seg:مَشَّيْتَ d1tok:مَشَّيْتَ d2tok:مَشَّيْتَ atbtok:مَشَّيْتَ d3tok:مَشَّيْتَ pos_logprob:-1.023208 lex_logprob:-99.0 pos_lex_logprob:-99.0
diac:مَشَّيْتِ lex:مَشَّى_1 caphi:m_a_sh_sh_a_y_t_i gloss:make_walk;adjust+you_[fem.sg.]_<verb> bw:مَشَّي/PV+تِ/PVSUFF_SUBJ:2FS pos:verb catib6:+VRB+ ud:+VERB+ root:م.ش.# pattern:1َ2َّيْتِ prc3:0 prc2:0 prc1:0 prc0:0 per:2 asp:p vox:a mod:i form_gen:f gen:f form_num:s num:s stt:na cas:na enc0:0 rat:n source:lex stem:مَشَّي stemcat:PV_Atn stemgloss:make_walk;adjust d1seg:مَشَّيْتِ atbseg:مَشَّيْتِ d2seg:مَشَّيْتِ d3seg:مَشَّيْتِ d1tok:مَشَّيْتِ d2tok:مَشَّيْتِ atbtok:مَشَّيْتِ d3tok:مَشَّيْتِ pos_logprob:-1.023208 lex_logprob:-99.0 pos_lex_logprob:-99.0
diac:مَشَّيْتُ lex:مَشَّى_1 caphi:m_a_sh_sh_a_y_t_u gloss:make_walk;adjust+I_<verb> bw:مَشَّي/PV+تُ/PVSUFF_SUBJ:1S pos:verb catib6:+VRB+ ud:+VERB+ root:م.ش.# pattern:1َ2َّيْتُ prc3:0 prc2:0 prc1:0 prc0:0 per:1 asp:p vox:a mod:i form_gen:m gen:m form_num:s num:s stt:na cas:na enc0:0 rat:n source:lex stem:مَشَّي stemcat:PV_Atn stemgloss:make_walk;adjust d1seg:مَشَّيْتُ atbseg:مَشَّيْتُ d2seg:مَشَّيْتُ d3seg:مَشَّيْتُ d1tok:مَشَّيْتُ d2tok:مَشَّيْتُ atbtok:مَشَّيْتُ d3tok:مَشَّيْتُ pos_logprob:-1.023208 lex_logprob:-99.0 pos_lex_logprob:-99.0
diac:مَشَيْتَ lex:مَشَى-i_1 caphi:m_a_sh_a_y_t_a gloss:walk;proceed+you_[masc.sg.]_<verb> bw:مَشَي/PV+تَ/PVSUFF_SUBJ:2MS pos:verb catib6:+VRB+ ud:+VERB+ root:م.ش.# pattern:1َ2َيْتَ prc3:0 prc2:0 prc1:0 prc0:0 per:2 asp:p vox:a mod:i form_gen:m gen:m form_num:s num:s stt:na cas:na enc0:0 rat:n source:lex stem:مَشَي stemcat:PV_Atn stemgloss:walk;proceed d1seg:مَشَيْتَ atbseg:مَشَيْتَ d2seg:مَشَيْتَ d3seg:مَشَيْتَ d1tok:مَشَيْتَ d2tok:مَشَيْتَ atbtok:مَشَيْتَ d3tok:مَشَيْتَ pos_logprob:-1.023208 lex_logprob:-4.587637 pos_lex_logprob:-4.587637
diac:مَشَيْتِ lex:مَشَى-i_1 caphi:m_a_sh_a_y_t_i gloss:walk;proceed+you_[fem.sg.]_<verb> bw:مَشَي/PV+تِ/PVSUFF_SUBJ:2FS pos:verb catib6:+VRB+ ud:+VERB+ root:م.ش.# pattern:1َ2َيْتِ prc3:0 prc2:0 prc1:0 prc0:0 per:2 asp:p vox:a mod:i form_gen:f gen:f form_num:s num:s stt:na cas:na enc0:0 rat:n source:lex stem:مَشَي stemcat:PV_Atn stemgloss:walk;proceed d1seg:مَشَيْتِ atbseg:مَشَيْتِ d2seg:مَشَيْتِ d3seg:مَشَيْتِ d1tok:مَشَيْتِ d2tok:مَشَيْتِ atbtok:مَشَيْتِ d3tok:مَشَيْتِ pos_logprob:-1.023208 lex_logprob:-4.587637 pos_lex_logprob:-4.587637
diac:مَشَيْتُ lex:مَشَى-i_1 caphi:m_a_sh_a_y_t_u gloss:walk;proceed+I_<verb> bw:مَشَي/PV+تُ/PVSUFF_SUBJ:1S pos:verb catib6:+VRB+ ud:+VERB+ root:م.ش.# pattern:1َ2َيْتُ prc3:0 prc2:0 prc1:0 prc0:0 per:1 asp:p vox:a mod:i form_gen:m gen:m form_num:s num:s stt:na cas:na enc0:0 rat:n source:lex stem:مَشَي stemcat:PV_Atn stemgloss:walk;proceed d1seg:مَشَيْتُ atbseg:مَشَيْتُ d2seg:مَشَيْتُ d3seg:مَشَيْتُ d1tok:مَشَيْتُ d2tok:مَشَيْتُ atbtok:مَشَيْتُ d3tok:مَشَيْتُ pos_logprob:-1.023208 lex_logprob:-4.587637 pos_lex_logprob:-4.587637

#WORD: في
diac:فِي lex:فِي_2 caphi:f_ii gloss:V. bw:ڤِي/ABBREV pos:abbrev catib6:+NOM+ ud:+NOUN+ root:NTWS pattern:NTWS prc3:na prc2:na prc1:na prc0:na per:na asp:na vox:na mod:na form_gen:na gen:na form_num:na num:na stt:na cas:na enc0:na rat:na source:lex stem:فِي stemcat:FW stemgloss:V. d1seg:فِي atbseg:فِي d2seg:فِي d3seg:فِي d1tok:فِي d2tok:فِي atbtok:فِي d3tok:فِي pos_logprob:-2.268772 lex_logprob:-4.078331 pos_lex_logprob:-4.078331
diac:فِي lex:فِي_1 caphi:f_ii gloss:in bw:فِي/PREP pos:prep catib6:+PRT+ ud:+ADP+ root:ف.# pattern:1ِي prc3:0 prc2:0 prc1:0 prc0:na per:na asp:na vox:na mod:na form_gen:na gen:na form_num:na num:na stt:na cas:na enc0:0 rat:na source:lex stem:فِي stemcat:FW-Wa stemgloss:in d1seg:فِي atbseg:فِي d2seg:فِي d3seg:فِي d1tok:فِي d2tok:فِي atbtok:فِي d3tok:فِي pos_logprob:-1.002116 lex_logprob:-1.411635 pos_lex_logprob:-1.411635
diac:فِيَّ lex:فِي_1 caphi:f_i_y_y_a gloss:in+me bw:فِي/PREP+يَ/PRON_1S pos:prep catib6:+PRT+NOM ud:+ADP+PRON root:ف.# pattern:1ِيَّ prc3:0 prc2:0 prc1:0 prc0:na per:na asp:na vox:na mod:na form_gen:na gen:na form_num:na num:na stt:na cas:na enc0:1s_pron rat:na source:lex stem:فِي stemcat:FW-Wa-y stemgloss:in d1seg:فِيَّ atbseg:فِي_+َّ d2seg:فِيَّ d3seg:فِي_+َّ d1tok:فِيَّ d2tok:فِيَّ atbtok:فِي_+ِي d3tok:فِي_+ِي pos_logprob:-1.002116 lex_logprob:-1.411635 pos_lex_logprob:-1.411635

#WORD: الشارع
diac:الشارِع lex:شارِع_1 caphi:2_a_sh_sh_aa_r_i_3 gloss:the+street bw:ال/DET+شارِع/NOUN pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3 prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:u enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d1seg:الشارِع atbseg:الشارِع d2seg:الشارِع d3seg:ال+_شارِع d1tok:الشّارِع d2tok:الشّارِع atbtok:الشّارِع d3tok:ال+_شارِع pos_logprob:-0.4344233 lex_logprob:-3.604671 pos_lex_logprob:-3.604671
diac:الشارِعَ lex:شارِع_1 caphi:2_a_sh_sh_aa_r_i_3_a gloss:the+street+[def.acc.] bw:ال/DET+شارِع/NOUN+َ/CASE_DEF_ACC pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3َ prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d1seg:الشارِعَ atbseg:الشارِعَ d2seg:الشارِعَ d3seg:ال+_شارِعَ d1tok:الشّارِعَ d2tok:الشّارِعَ atbtok:الشّارِعَ d3tok:ال+_شارِعَ pos_logprob:-0.4344233 lex_logprob:-3.604671 pos_lex_logprob:-3.604671
diac:الشارِعِ lex:شارِع_1 caphi:2_a_sh_sh_aa_r_i_3_i gloss:the+street+[def.gen.] bw:ال/DET+شارِع/NOUN+ِ/CASE_DEF_GEN pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3ِ prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d1seg:الشارِعِ atbseg:الشارِعِ d2seg:الشارِعِ d3seg:ال+_شارِعِ d1tok:الشّارِعِ d2tok:الشّارِعِ atbtok:الشّارِعِ d3tok:ال+_شارِعِ pos_logprob:-0.4344233 lex_logprob:-3.604671 pos_lex_logprob:-3.604671
diac:الشارِعُ lex:شارِع_1 caphi:2_a_sh_sh_aa_r_i_3_u gloss:the+street+[def.nom.] bw:ال/DET+شارِع/NOUN+ُ/CASE_DEF_NOM pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3ُ prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:n enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d1seg:الشارِعُ atbseg:الشارِعُ d2seg:الشارِعُ d3seg:ال+_شارِعُ d1tok:الشّارِعُ d2tok:الشّارِعُ atbtok:الشّارِعُ d3tok:ال+_شارِعُ pos_logprob:-0.4344233 lex_logprob:-3.604671 pos_lex_logprob:-3.604671
diac:الشارِع lex:شارِع_2 caphi:2_a_sh_sh_aa_r_i_3 gloss:the+legislator bw:ال/DET+شارِع/NOUN pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3 prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:u enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d1seg:الشارِع atbseg:الشارِع d2seg:الشارِع d3seg:ال+_شارِع d1tok:الشّارِع d2tok:الشّارِع atbtok:الشّارِع d3tok:ال+_شارِع pos_logprob:-0.4344233 lex_logprob:-99.0 pos_lex_logprob:-99.0
diac:الشارِعَ lex:شارِع_2 caphi:2_a_sh_sh_aa_r_i_3_a gloss:the+legislator+[def.acc.] bw:ال/DET+شارِع/NOUN+َ/CASE_DEF_ACC pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3َ prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d1seg:الشارِعَ atbseg:الشارِعَ d2seg:الشارِعَ d3seg:ال+_شارِعَ d1tok:الشّارِعَ d2tok:الشّارِعَ atbtok:الشّارِعَ d3tok:ال+_شارِعَ pos_logprob:-0.4344233 lex_logprob:-99.0 pos_lex_logprob:-99.0
diac:الشارِعِ lex:شارِع_2 caphi:2_a_sh_sh_aa_r_i_3_i gloss:the+legislator+[def.gen.] bw:ال/DET+شارِع/NOUN+ِ/CASE_DEF_GEN pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3ِ prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d1seg:الشارِعِ atbseg:الشارِعِ d2seg:الشارِعِ d3seg:ال+_شارِعِ d1tok:الشّارِعِ d2tok:الشّارِعِ atbtok:الشّارِعِ d3tok:ال+_شارِعِ pos_logprob:-0.4344233 lex_logprob:-99.0 pos_lex_logprob:-99.0
diac:الشارِعُ lex:شارِع_2 caphi:2_a_sh_sh_aa_r_i_3_u gloss:the+legislator+[def.nom.] bw:ال/DET+شارِع/NOUN+ُ/CASE_DEF_NOM pos:noun catib6:PRT+NOM+ ud:DET+NOUN+ root:ش.ر.ع pattern:ال1ا2ِ3ُ prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:s stt:d cas:n enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d1seg:الشارِعُ atbseg:الشارِعُ d2seg:الشارِعُ d3seg:ال+_شارِعُ d1tok:الشّارِعُ d2tok:الشّارِعُ atbtok:الشّارِعُ d3tok:ال+_شارِعُ pos_logprob:-0.4344233 lex_logprob:-99.0 pos_lex_logprob:-99.0

Backoff Modes:

  • NONE No back off analyses are generated.
  • NOAN_ALL Generate all backoff analyses only if no analyses are generated.
  • NOAN_PROP Generate proper noun backoff analyses if no analyses are generated.
  • ADD_ALL Generate all backoff analyses in addition to generated analyses.
  • ADD_PROP Generate proper noun backoff analyses in addition to generated analyses.

Generate Mode

In generate mode, camel_morphology generates all the possible inflections of a given lemma, part-of-speech and any desired subset set of morphological features.

Input: The input should be provided one line per word starting witht the lemma to generate followed by space seperated feature-value pairs which themselves are colon seperated (ie. lemma feature_1:value_1 feature_2:value_2 ...). The pos feature should always be specified. Note that, while each line should begin with lemma, the feature-value pairs can be specified in any order. See CAMeL Morphology Features for more information.

Example:

$ camel_morphology generate
شارِع pos:noun gen:m num:p

Output:

For each line in the input, camel_morphology will output a line indicating the lemma followed by either a line of feature-value pairs for each analysis generated or a line with ‘NO_ANALYSIS’, to indicate no analyses could be generated, followed by an empty line. See CAMeL Morphology Features for more information.

The output for the above example would be:

#LEMMA: شارِع
diac:شارِعُونَ lex:شارِع_2 caphi:sh_aa_r_i_3_uu_n_a gloss:legislator+[masc.pl.] bw:شارِع/NOUN+ُونَ/NSUFF_MASC_PL_NOM pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1ا2ِ3ُونَ prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:p num:p stt:i cas:n enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:شارِعُونَ atbseg:شارِعُونَ d2seg:شارِعُونَ d1seg:شارِعُونَ d1tok:شارِعُونَ d2tok:شارِعُونَ atbtok:شارِعُونَ d3tok:شارِعُونَ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:شارِعِينَ lex:شارِع_2 caphi:sh_aa_r_i_3_ii_n_a gloss:legislator+[masc.pl.] bw:شارِع/NOUN+ِيْنَ/NSUFF_MASC_PL_GEN pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1ا2ِ3ِينَ prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:p num:p stt:i cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:شارِعِينَ atbseg:شارِعِينَ d2seg:شارِعِينَ d1seg:شارِعِينَ d1tok:شارِعِينَ d2tok:شارِعِينَ atbtok:شارِعِينَ d3tok:شارِعِينَ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:شارِعِينَ lex:شارِع_2 caphi:sh_aa_r_i_3_ii_n_a gloss:legislator+[masc.pl.] bw:شارِع/NOUN+ِيْنَ/NSUFF_MASC_PL_ACC pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1ا2ِ3ِينَ prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:p num:p stt:i cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:شارِعِينَ atbseg:شارِعِينَ d2seg:شارِعِينَ d1seg:شارِعِينَ d1tok:شارِعِينَ d2tok:شارِعِينَ atbtok:شارِعِينَ d3tok:شارِعِينَ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:شارِعِي lex:شارِع_2 caphi:sh_aa_r_i_3_ii gloss:legislator+[masc.pl.] bw:شارِع/NOUN+ِي/NSUFF_MASC_PL_GEN_POSS pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1ا2ِ3ِي prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:p num:p stt:c cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:شارِعِي atbseg:شارِعِي d2seg:شارِعِي d1seg:شارِعِي d1tok:شارِعِي d2tok:شارِعِي atbtok:شارِعِي d3tok:شارِعِي pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:شارِعِي lex:شارِع_2 caphi:sh_aa_r_i_3_ii gloss:legislator+[masc.pl.] bw:شارِع/NOUN+ِي/NSUFF_MASC_PL_ACC_POSS pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1ا2ِ3ِي prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:p num:p stt:c cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:شارِعِي atbseg:شارِعِي d2seg:شارِعِي d1seg:شارِعِي d1tok:شارِعِي d2tok:شارِعِي atbtok:شارِعِي d3tok:شارِعِي pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:شارِعُو lex:شارِع_2 caphi:sh_aa_r_i_3_u_w gloss:legislator+[masc.pl.] bw:شارِع/NOUN+ُو/NSUFF_MASC_PL_NOM_POSS pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1ا2ِ3ُو prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:p num:p stt:c cas:n enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:شارِعُو atbseg:شارِعُو d2seg:شارِعُو d1seg:شارِعُو d1tok:شارِعُو d2tok:شارِعُو atbtok:شارِعُو d3tok:شارِعُو pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:شَوارِعَ lex:شارِع_1 caphi:sh_a_w_aa_r_i_3_a gloss:streets+[def.acc.] bw:شَوارِع/NOUN+َ/CASE_DEF_ACC pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1َوا2ِ3َ prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:p stt:c cas:a enc0:0 rat:i source:lex stem:شَوارِع stemcat:Ndip stemgloss:streets d3seg:شَوارِعَ atbseg:شَوارِعَ d2seg:شَوارِعَ d1seg:شَوارِعَ d1tok:شَوارِعَ d2tok:شَوارِعَ atbtok:شَوارِعَ d3tok:شَوارِعَ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:شَوارِعُ lex:شارِع_1 caphi:sh_a_w_aa_r_i_3_u gloss:streets+[def.nom.] bw:شَوارِع/NOUN+ُ/CASE_DEF_NOM pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1َوا2ِ3ُ prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:p stt:c cas:n enc0:0 rat:i source:lex stem:شَوارِع stemcat:Ndip stemgloss:streets d3seg:شَوارِعُ atbseg:شَوارِعُ d2seg:شَوارِعُ d1seg:شَوارِعُ d1tok:شَوارِعُ d2tok:شَوارِعُ atbtok:شَوارِعُ d3tok:شَوارِعُ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:شَوارِع lex:شارِع_1 caphi:sh_a_w_aa_r_i_3 gloss:streets bw:شَوارِع/NOUN pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1َوا2ِ3 prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:p stt:i cas:u enc0:0 rat:i source:lex stem:شَوارِع stemcat:Ndip stemgloss:streets d3seg:شَوارِع atbseg:شَوارِع d2seg:شَوارِع d1seg:شَوارِع d1tok:شَوارِع d2tok:شَوارِع atbtok:شَوارِع d3tok:شَوارِع pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:شَوارِعِ lex:شارِع_1 caphi:sh_a_w_aa_r_i_3_i gloss:streets+[def.gen.] bw:شَوارِع/NOUN+ِ/CASE_DEF_GEN pos:noun catib6:+NOM+ ud:+NOUN+ root:ش.ر.ع pattern:1َوا2ِ3ِ prc3:0 prc2:0 prc1:0 prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:s num:p stt:c cas:g enc0:0 rat:i source:lex stem:شَوارِع stemcat:Ndip stemgloss:streets d3seg:شَوارِعِ atbseg:شَوارِعِ d2seg:شَوارِعِ d1seg:شَوارِعِ d1tok:شَوارِعِ d2tok:شَوارِعِ atbtok:شَوارِعِ d3tok:شَوارِعِ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671

Backoff Modes:

  • NONE No back off analyses are generated.
  • REINFLECT Generate all backoff analyses only if no analyses are generated.

Reinflect Mode

In reinflect mode, given a seed word and specifific inflectional features, camel_morphology generates new words and their corresponding analyses.

Input:

The input should be provided one line per word starting witht the word to reinflect followed by space seperated feature-value pairs which themselves are colon seperated (ie. word feature_1:value_1 feature_2:value_2 ...). Note that, while each line should begin with the word to be reinflected, the feature-value pairs can be specified in any order. See CAMeL Morphology Features for more information.

Example:

$ camel_morphology reinflect
شوارع gen:m num:d prc1:bi_prep

Output:

For each line in the input, camel_morphology will output a line indicating the word followed by either a line of feature-value pairs for each analysis generated or a line with ‘NO_ANALYSIS’, to indicate no analyses could be generated, followed by an empty line. See CAMeL Morphology Features for more information.

The output for the above example would be:

#WORD: شوارع
diac:بِشارِعَيْنِ lex:شارِع_1 caphi:b_i_sh_aa_r_i_3_a_y_n_i gloss:by;with+street+two bw:بِ/PREP+شارِع/NOUN+َيْنِ/NSUFF_MASC_DU_GEN pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْنِ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:i cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d3seg:بِ+_شارِعَيْنِ atbseg:بِ+_شارِعَيْنِ d2seg:بِ+_شارِعَيْنِ d1seg:بِشارِعَيْنِ d1tok:بِشارِعَيْنِ d2tok:بِ+_شارِعَيْنِ atbtok:بِ+_شارِعَيْنِ d3tok:بِ+_شارِعَيْنِ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:بِشارِعَيْنِ lex:شارِع_1 caphi:b_i_sh_aa_r_i_3_a_y_n_i gloss:by;with+street+two bw:بِ/PREP+شارِع/NOUN+َيْنِ/NSUFF_MASC_DU_ACC pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْنِ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:i cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d3seg:بِ+_شارِعَيْنِ atbseg:بِ+_شارِعَيْنِ d2seg:بِ+_شارِعَيْنِ d1seg:بِشارِعَيْنِ d1tok:بِشارِعَيْنِ d2tok:بِ+_شارِعَيْنِ atbtok:بِ+_شارِعَيْنِ d3tok:بِ+_شارِعَيْنِ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:بِشارِعَيْ lex:شارِع_1 caphi:b_i_sh_aa_r_i_3_a_y gloss:by;with+street+two bw:بِ/PREP+شارِع/NOUN+َيْ/NSUFF_MASC_DU_GEN_POSS pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:c cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d3seg:بِ+_شارِعَيْ atbseg:بِ+_شارِعَيْ d2seg:بِ+_شارِعَيْ d1seg:بِشارِعَيْ d1tok:بِشارِعَيْ d2tok:بِ+_شارِعَيْ atbtok:بِ+_شارِعَيْ d3tok:بِ+_شارِعَيْ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:بِشارِعَيْ lex:شارِع_1 caphi:b_i_sh_aa_r_i_3_a_y gloss:by;with+street+two bw:بِ/PREP+شارِع/NOUN+َيْ/NSUFF_MASC_DU_ACC_POSS pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:c cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Ndu stemgloss:street d3seg:بِ+_شارِعَيْ atbseg:بِ+_شارِعَيْ d2seg:بِ+_شارِعَيْ d1seg:بِشارِعَيْ d1tok:بِشارِعَيْ d2tok:بِ+_شارِعَيْ atbtok:بِ+_شارِعَيْ d3tok:بِ+_شارِعَيْ pos_freq:-0.4344233 lex_freq:-3.604671 pos_lex_freq:-3.604671
diac:بِشارِعَيْنِ lex:شارِع_2 caphi:b_i_sh_aa_r_i_3_a_y_n_i gloss:by;with+legislator+two bw:بِ/PREP+شارِع/NOUN+َيْنِ/NSUFF_MASC_DU_GEN pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْنِ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:i cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:بِ+_شارِعَيْنِ atbseg:بِ+_شارِعَيْنِ d2seg:بِ+_شارِعَيْنِ d1seg:بِشارِعَيْنِ d1tok:بِشارِعَيْنِ d2tok:بِ+_شارِعَيْنِ atbtok:بِ+_شارِعَيْنِ d3tok:بِ+_شارِعَيْنِ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:بِشارِعَيْنِ lex:شارِع_2 caphi:b_i_sh_aa_r_i_3_a_y_n_i gloss:by;with+legislator+two bw:بِ/PREP+شارِع/NOUN+َيْنِ/NSUFF_MASC_DU_ACC pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْنِ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:i cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:بِ+_شارِعَيْنِ atbseg:بِ+_شارِعَيْنِ d2seg:بِ+_شارِعَيْنِ d1seg:بِشارِعَيْنِ d1tok:بِشارِعَيْنِ d2tok:بِ+_شارِعَيْنِ atbtok:بِ+_شارِعَيْنِ d3tok:بِ+_شارِعَيْنِ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:بِشارِعَيْ lex:شارِع_2 caphi:b_i_sh_aa_r_i_3_a_y gloss:by;with+legislator+two bw:بِ/PREP+شارِع/NOUN+َيْ/NSUFF_MASC_DU_GEN_POSS pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:c cas:g enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:بِ+_شارِعَيْ atbseg:بِ+_شارِعَيْ d2seg:بِ+_شارِعَيْ d1seg:بِشارِعَيْ d1tok:بِشارِعَيْ d2tok:بِ+_شارِعَيْ atbtok:بِ+_شارِعَيْ d3tok:بِ+_شارِعَيْ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0
diac:بِشارِعَيْ lex:شارِع_2 caphi:b_i_sh_aa_r_i_3_a_y gloss:by;with+legislator+two bw:بِ/PREP+شارِع/NOUN+َيْ/NSUFF_MASC_DU_ACC_POSS pos:noun catib6:PRT+NOM+ ud:ADP+NOUN+ root:ش.ر.ع pattern:بِ1ا2ِ3َيْ prc3:0 prc2:0 prc1:bi_prep prc0:0 per:na asp:na vox:na mod:na form_gen:m gen:m form_num:d num:d stt:c cas:a enc0:0 rat:i source:lex stem:شارِع stemcat:Nall stemgloss:legislator d3seg:بِ+_شارِعَيْ atbseg:بِ+_شارِعَيْ d2seg:بِ+_شارِعَيْ d1seg:بِشارِعَيْ d1tok:بِشارِعَيْ d2tok:بِ+_شارِعَيْ atbtok:بِ+_شارِعَيْ d3tok:بِ+_شارِعَيْ pos_freq:-0.4344233 lex_freq:-99.0 pos_lex_freq:-99.0

Databases

We provide builtin databases to be able to run camel_morphology out of the box that can be passed to -d or --db. A list of available databases can be found at Databases.

You can always check what builtin databases are provided in your current camel_tools installation by running camel_morphology --list. Alternatively, you can pass in a path to a database of your chosing instead of one of the above listed databases.

If no database is specified, calima-msa-r13 is used.