Морфологический анализатор¶
Note
Этот раздел справки сгенерирован автоматически.
- pymorphy._morph.get_morph(path, backend='sqlite', cached=True, **kwargs)¶
Вернуть объект с морфологическим анализатором (Morph).
Параметры:
- path - путь к папке с файлами словарей (или полное имя файла со словарем, в случае pickle)
- backend - тип словарей. Может быть ‘shelve’, ‘tch’, ‘tcb’, ‘cdb’, ‘pickle’, ‘sqlite’.
- cached - кешировать ли данные в оперативной памяти
Также можно указывать все параметры, которые принимает конструктор класса Morph.
- class pymorphy._morph.Morph(data_source, check_prefixes=True, predict_by_prefix=True, predict_by_suffix=True, handle_EE=False)¶
Класс, реализующий морфологический анализ на основе словарей из data_source
- __init__(data_source, check_prefixes=True, predict_by_prefix=True, predict_by_suffix=True, handle_EE=False)¶
Параметры конструктора:
- data_source: источник данных. Может быть ShelveDataSource, MrdDataSource, PickleDataSource или любой другой наследник DictDataSource, у которого есть атрибуты rules, lemmas, prefixes, gramtab, rule_freq, endings, possible_rule_prefixes, поддерживающие доступ по ключу.
- check_prefixes: проверять ли вообще префиксы
- predict_by_prefix: предсказывать ли по префиксу
- predict_by_suffix: предсказывать ли по суффиксу
- handle_EE: как обрабатывать букву ё. Если True, то все буквы ё считаются равными е, если False - разными буквами. По умолчанию в словарях все буквы ё заменены на е, и ожидается, что в пользовательском вводе букв ё не будет (handle_EE=False). Если словарь сконвертирован с handle_EE=True (в нем сохранены буквы ё), то буквы е и ё будут считаться разными буквами, это может привести к неожиданностям, т.к. часто вместо ё пишут е, а в словаре будет слово только с ё. При handle_EE=True запросы выполняются по 2 раза, со словом “как есть” и со словом, у которого все е заменены на ё.
- decline(word, gram_form=u'', gram_class=None)¶
Вернуть все варианты слова, соответствующие заданной грамматической форме и части речи.
Параметры:
- word - слово, которое хотим склонять
- gram_form - желаемые характеристики грам. формы. Выступает в роли фильтра. Может быть пустым, тогда будут возвращены все формы слова.
- gram_class - часть речи. Если передан этот параметр, то слово будет считаться словом этой части речи (если возможно), и склоняться будет соответственно. Если параметр не передан, ограничения на часть речи накладываться не будут.
- get_graminfo(word, standard=False, predict=True, **kwargs)¶
Вернуть грамматическую информацию о слове и его нормальную форму. Если параметр standard=True, то для каждого варианта разбора результаты возвращаются в стандартном виде (словарь вида {‘class’: <class>, ‘info’: <info>, ‘norm’: <norm>}, обозначения согласованы с теми, что приняты на конференции Диалог-2010. Если standard = False (по умолчанию), то возвращается больше информации (детальное разбиение на части речи, больше морфологических признаков, информация об использованном алгоритме), обозначения определяются структурой словарей.
- inflect_ru(word, gram_form, gram_class=None, smart_guess=True)¶
Вернуть вариант слова, который соотвествует данной грамматической форме и части речи, а также менее всего отличается от исходного.
Параметры:
- word - слово, которое хотим склонять
- gram_form - желаемые характеристики грам. формы
- gram_class - часть речи. Если передан этот параметр, то слово будет считаться словом этой части речи (если возможно), и склоняться будет соответственно. Требуется для устранения неоднозначностей.
- smart_guess (True по умолчанию). Если smart_guess is True, то исходная форма слова будет угадываться как наиболее близкая к нормальной (для существительных будет отдано предпочтение варианту разбора с именительным падежом).
- normalize(word)¶
Вернуть список нормальных форм слова
- pluralize_inflected_ru(word, num, gram_class=None)¶
Вернуть слово в форме, которая будет сочетаться с переданным числом. Например: 1 попугай, 2 попугая, 5 попугаев.
Аналог choose_plural из pytils, для которого требуется только 1 начальная форма слова.
- pluralize_ru(word, gram_form=u'', gram_class=None)¶
Вернуть слово во множественном числе.