⇤ ← Версия 1 от 2010-05-30 15:28:43
Размер: 846
Комментарий:
|
Размер: 2663
Комментарий:
|
Удаления помечены так. | Добавления помечены так. |
Строка 3: | Строка 3: |
[[http://bitbucket.org/kmike/pymorphy/|Pymorphy]] - морфологический анализатор. | [[http://bitbucket.org/kmike/pymorphy/|Pymorphy]] - библиотека для морфологического анализа, год назад сделал ее в черновом виде, сейчас взялся снова, переписал по-человечески и начал добавлять разные фичи. |
Строка 5: | Строка 5: |
'''Возможности:''' | '''а) Умеет приводит слово к нормальной форме (например, в ед.ч., И.п. для существительных):''' {{{#!highlight python >>> from pymorphy import get_morph >>> m = get_moprh('dicts/ru') >>> print m.normalize(u"ЛЮДЕЙ") ЧЕЛОВЕК }}} '''б) Умеет ставить слово в нужную форму. Например, ставить слово во множественное число, менять падеж слова и т.д.:''' {{{#!highlight python >>> from pymorphy import get_morph >>> m = get_moprh('dicts/ru') >>> print m.inflect(u"СУСЛИК", u"мн,рд") # много кого? СУСЛИКОВ }}} '''Есть templatetag, который позволяет делать это прямо в шаблоне django:''' {{{#!highlight python {% load pymorphy_tags %} |
Строка 7: | Строка 23: |
* приводит слово к нормальной форме * ставит слово в нужную форму * возвращает грамматическую информацию о слове (число, род, падеж, часть речи и т.д.) |
{# в переменной animals "тридцать восемь попугаев и Удав" #} {{ animals|inflect:"дт" }} захотелось пройтись по лесу. {# выведет "тридцати восьми попугаям и Удаву захотелось пройтись по лесу" #} }}} '''в) Умеет возвращать грамматическую информацию о слове (число, род, падеж, часть речи и т.д.). Делает это по словарю, для неизвестных слов работает предсказатель, если возможных форм несколько - возвращает несколько форм:''' {{{#!highlight python >>> from pymorphy import get_morph >>> m = get_morph('dicts/ru') >>> info = m.get_graminfo(u"БУТЯВКОВЕДАМИ") >>> print info[0]['norm'] # нормальная форма БУТЯВКОВЕД >>> print info[0]['class'] # часть речи, С = существительное C >>> print info[0]['info'] # род, число, падеж и т.д. мр,мн,тв }}} Репозиторий тут: http://bitbucket.org/kmike/pymorphy/ |
Строка 11: | Строка 41: |
'''Использование:''' {{{#!highlight python from pymorphy import get_morph morph = get_morph('<путь/до/папки/в/которую/были/распакованы/скачанные/словари>') #слова должны быть в юникоде и ЗАГЛАВНЫМИ info = morph.get_graminfo(u'Вася'.upper()) }}} |
Документация - тут: http://packages.python.org/pymorphy/index.html |
Pymorphy - морфологический анализатор
Pymorphy - библиотека для морфологического анализа, год назад сделал ее в черновом виде, сейчас взялся снова, переписал по-человечески и начал добавлять разные фичи.
а) Умеет приводит слово к нормальной форме (например, в ед.ч., И.п. для существительных):
б) Умеет ставить слово в нужную форму. Например, ставить слово во множественное число, менять падеж слова и т.д.:
Есть templatetag, который позволяет делать это прямо в шаблоне django:
в) Умеет возвращать грамматическую информацию о слове (число, род, падеж, часть речи и т.д.). Делает это по словарю, для неизвестных слов работает предсказатель, если возможных форм несколько - возвращает несколько форм:
1 >>> from pymorphy import get_morph
2 >>> m = get_morph('dicts/ru')
3 >>> info = m.get_graminfo(u"БУТЯВКОВЕДАМИ")
4 >>> print info[0]['norm'] # нормальная форма
5 БУТЯВКОВЕД
6 >>> print info[0]['class'] # часть речи, С = существительное
7 C
8 >>> print info[0]['info'] # род, число, падеж и т.д.
9 мр,мн,тв
Репозиторий тут: http://bitbucket.org/kmike/pymorphy/
Документация - тут: http://packages.python.org/pymorphy/index.html