camel_tools.morphology.generator

The generator component of CAMeL Tools.

Classes

class camel_tools.morphology.generator.Generator(db)

Morphological generator component.

Parameters:db (MorphologyDB) – Database to use for generation. Must be opened in generation or reinflection mode.
Raises:GeneratorError – If db is not an instance of MorphologyDB or if db does not support generation.
generate(lemma, feats)

Generate analyses for a given lemma and a given set of features.

Parameters:
  • lemma (str) – Lemma to generate from.
  • feats (dict) – Dictionary of features. Must contain ‘pos’ feature. See CAMeL Morphology Features for more information on features and their values.
Returns:

List of generated analyses. See CAMeL Morphology Features for more information on features and their values.

Return type:

list of dict

Raises:

Examples

from camel_tools.morphology.database import MorphologyDB
from camel_tools.morphology.generator import Generator

# Initialize database in generation mode
db = MorphologyDB.builtin_db(flags='g')

# Create generator instance
generator = Generator(db)

# Specify lemma and features to generate for
lemma = 'شارِع'
features = {
    'pos': 'noun',
    'gen': 'm',
    'num': 'p'
}

# Generate analyses for lemma and features
analyses = generator.generate(lemma, features)