Морфологический анализатор

Предупреждение

В pymorphy больше не будут исправляться ошибки или добавляться новые возможности - разработка остановлена. Используйте https://github.com/kmike/pymorphy2.

Примечание

Этот раздел справки сгенерирован автоматически.

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)

Вернуть слово во множественном числе.

Предыдущий раздел

Обозначения для грамматической информации в pymorphy

Следующий раздел

Key-value - бэкенды

На этой странице