Меню

Import pymorphy2 не работает

Ошибка pymorphy2

Помощь в написании контрольных, курсовых и дипломных работ здесь.

установка pymorphy2
Всем доброго времени суток, столкнулся с проблемой. Очень нужна библиотека pymorphy2. Система.

Pymorphy2, метод класса
Добрый день, коллеги! Работаю с pymorphy2. В мануале написано, что: «Экземпляры класса.

Pymorphy2: как изменить вид глагола с совершенного на несовершенный или обратно?
Как изменить вид глагола с совершенного на несовершенный или обратно? inflect только производит.

IIS- asp ошибка: HTTP 500.100 — Внутренняя ошибка сервера — ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к.

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после.

Загружается до окна приветствия и вылетает ошибка: isass.exe — Системная ошибка
Ребята, помогите кто может. весь день бьюсь безрезультатно. с утра пришёл на работу а сервак.

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка «Ошибка доступа.

Источник

Руководство пользователя¶

Установка¶

Для установки воспользуйтесь pip:

Чтоб установить оптимизированную версию, используйте следующую команду:

Оптимизированная версия может требовать настроенного окружения для сборки (компилятора C/C++ и т.д.).

Словари распространяются отдельными пакетами:

  • pymorphy2-dicts-ru для русского языка,
  • pymorphy2-dicts-uk для украинского языка (экспериментальный).

Они обновляются время от времени; чтоб обновить словари, используйте

Для установки требуются более-менее современные версии pip и setuptools.

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

Морфологический анализ — это определение характеристик слова на основе того, как это слово пишется. При морфологическом анализе не используется информация о соседних словах.

В pymorphy2 для морфологического анализа слов есть класс MorphAnalyzer .

По умолчанию используется словарь для русского языка; чтобы вместо русского включить украинский словарь, с помощью pip установите пакет pymorphy2-dicts-uk и используйте

Экземпляры класса MorphAnalyzer обычно занимают порядка 15Мб оперативной памяти (т.к. загружают в память словари, данные для предсказателя и т.д.); старайтесь организовать свой код так, чтобы создавать экземпляр MorphAnalyzer заранее и работать с этим единственным экземпляром в дальнейшем.

С помощью метода MorphAnalyzer.parse() можно разобрать отдельное слово:

если используете Python 2.x, то будьте внимательны — юникодные строки пишутся как u’стали’ .

Метод MorphAnalyzer.parse() возвращает один или несколько объектов типа Parse с информацией о том, как слово может быть разобрано.

В приведенном примере слово “стали” может быть разобрано и как глагол (“они стали лучше справляться”), и как существительное (“кислородно-конверторный способ получения стали”). На основе одной лишь информации о том, как слово пишется, понять, какой разбор правильный, нельзя, поэтому анализатор может возвращать несколько вариантов разбора.

У каждого разбора есть тег :

Тег — это набор граммем , характеризующих данное слово. Например, тег ‘VERB,perf,intr plur,past,indc’ означает, что слово — глагол ( VERB ) совершенного вида ( perf ), непереходный ( intr ), множественного числа ( plur ), прошедшего времени ( past ), изъявительного наклонения ( indc ).

Кроме того, у каждого разбора есть нормальная форма , которую можно получить, обратившись к атрибутам normal_form или normalized :

pymorphy2 умеет разбирать не только словарные слова; для несловарных слов автоматически задействуется предсказатель . Например, попробуем разобрать слово “бутявковедами” — pymorphy2 поймет, что это форма творительного падежа множественного числа существительного “бутявковед”, и что “бутявковед” — одушевленный и мужского рода:

Читайте также:  1500 карт памяти 30 не работают

Работа с тегами¶

Для того, чтоб проверить, есть ли в данном теге отдельная граммема (или все граммемы из указанного множества), используйте оператор in:

Кроме того, у каждого тега есть атрибуты, через которые можно получить часть речи, число и другие характеристики:

Если запрашиваемая характеристика для данного тега не определена, то возвращается None.

В написании граммем достаточно просто ошибиться; для борьбы с ошибками pymorphy2 выкидывает исключение, если встречает недопустимую граммему:

Это работает и для атрибутов:

Кириллические названия тегов и граммем¶

Теги и граммемы в pymorphy2 записываются латиницей (например, NOUN ). Но часто удобнее использовать кириллические названия граммем (например, СУЩ вместо NOUN ). Чтобы получить тег в виде строки, записанной кириллицей, используйте свойство OpencorporaTag.cyr_repr :

Для преобразования произвольных строк с тегами/граммемами между кириллицей и латиницей используйте методы MorphAnalyzer.cyr2lat() и MorphAnalyzer.lat2cyr() :

Склонение слов¶

pymorphy2 умеет склонять (ставить в какую-то другую форму) слова. Чтобы просклонять слово, нужно сначала понять, в какой форме оно стоит в настоящий момент и какая у него лексема . Другими словами, нужно сперва разобрать слово и выбрать из предложенных вариантов разбора правильный.

Для примера разберем слово “бутявка” и возьмем первый вариант разбора:

Получив объект Parse , можно просклонять слово, используя его метод Parse.inflect() :

С помощью атрибута Parse.lexeme можно получить лексему слова:

Постановка слов в начальную форму¶

Нормальную (начальную) форму слова можно получить через атрибуты Parse.normal_form и Parse.normalized . Чтоб получить объект Parse , нужно сперва разобрать слово и выбрать правильный вариант разбора из предложенных.

Но что считается за нормальную форму? Например, возьмем слово “думающим”. Иногда мы захотим нормализовать его в “думать”, иногда — в “думающий”, иногда — в “думающая”.

Посмотрим, что сделает pymorphy2 в этом примере:

pymorphy2 сейчас использует алгоритм нахождения нормальной формы, который работает наиболее быстро (берется первая форма в лексеме ) — поэтому, например, все причастия сейчас нормализуются в инфинитивы. Это можно считать деталью реализации.

Если требуется нормализовывать слова иначе, можно воспользоваться методом Parse.inflect() :

Согласование слов с числительными¶

Слово нужно ставить в разные формы в зависимости от числительного, к которому оно относится. Например: “1 бутявка”, “2 бутявки”, “5 бутявок”

Выбор правильного разбора¶

pymorphy2 возвращает все допустимые варианты разбора, но на практике обычно нужен только один вариант, правильный.

У каждого разбора есть параметр score:

score — это оценка P(tag|word), оценка вероятности того, что данный разбор правильный.

Оценка P(tag|word) пока недоступна в украинском словаре.

Условная вероятность P(tag|word) оценивается на основе корпуса OpenCorpora: ищутся все неоднозначные слова со снятой неоднозначностью, для каждого слова считается, сколько раз ему был сопоставлен данный тег, и на основе этих частот вычисляется условная вероятность тега (с использованием сглаживания Лапласа).

На данный момент оценки P(tag|word) на основе OpenCorpora есть примерно для 20 тыс. слов (исходя из примерно 250тыс. наблюдений). Для тех слов, для которых такой оценки нет, вероятность P(tag|word) либо считается равномерной (для словарных слов), либо оценивается на основе эмпирических правил (для несловарных слов).

Читайте также:  Как починить лед телевизор

На практике это означает, что первый разбор из тех, что возвращают методы MorphAnalyzer.parse() и MorphAnalyzer.tag() , более вероятен, чем остальные. Для слов (без учета пунктуации и т.д.) цифры такие:

  • случайно выбранный разбор (из допустимых) верен примерно в 66% случаев;
  • первый по словарю разбор (pymorphy2 morph.parse(‘бутявка’)[0] ).

Оценки P(tag|word) помогают улучшить разбор, но их недостаточно для надежного снятия неоднозначности, как минимум по следующим причинам:

  • то, как нужно разбирать слово, зависит от соседних слов; pymorphy2 работает только на уровне отдельных слов;
  • условная вероятность P(tag|word) оценена на основе сбалансированного набора текстов; в специализированных текстах вероятности могут быть другими — например, возможно, что в металлургических текстах P(NOUN|стали) > P(VERB|стали) ;
  • в OpenCorpora у большинства слов неоднозначность пока не снята; выполняя задания на сайте OpenCorpora, можно непосредственно помочь улучшить оценку P(tag|word) и, следовательно, качество работы pymorphy2.

Если вы берете первый разбор из возможных (как в примерах), то стоит учитывать эту проблему.

Иногда могут помочь какие-то особенности задачи. Например, если нужно просклонять слово, и известно, что на входе ожидается слово в именительном падеже, то лучше брать вариант разбора в именительном падеже, а не первый. В общем же случае для выбора точного разбора необходимо каким-то образом учитывать не только само слово, но и другие слова в предложении.

© Copyright 2013-2020, Mikhail Korobov Revision 92d546f0 .

Источник

установка pymorphy2

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Pymorphy2, метод класса
Добрый день, коллеги! Работаю с pymorphy2. В мануале написано, что: «Экземпляры класса.

Pymorphy2: как изменить вид глагола с совершенного на несовершенный или обратно?
Как изменить вид глагола с совершенного на несовершенный или обратно? inflect только производит.

Установка Win7 на новый винт и установка винта в другую машину
Сиутация такая: есть ноутбук который прибудет только завтра. На ноуте здох винт (предупреждения.

Установка с DVD TeXlive Perl-скриптом — установка, которая не происходит
Установка с DVD TeXlive с помощью Perl-скрипта — установка, которая не происходит. Я, -.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Jabbson, да все верно
Microsoft Windows [Version 6.2.9200]
(c) Љ®аЇ®а*жЁп Њ*©Єа®б®дв, 2012. ‚ᥠЇа*ў* §*йЁйҐ*л.

C:\Users\user>pip -V
pip 8.1.1 from c:\users\user\appdata\local\programs\python\python35-32\lib\site-
packages (python 3.5)

C:\Users\user>pip install pymorphy2
Requirement already satisfied (use —upgrade to upgrade): pymorphy2 in c:\users\
user\appdata\local\programs\python\python35-32\lib\site-packages
Collecting pymorphy2-dicts =2.4 (from pymorphy2)
Using cached pymorphy2_dicts-2.4.393442.3710985-py2.py3-none-any.whl
Requirement already satisfied (use —upgrade to upgrade): docopt>=0.6 in c:\user
s\user\appdata\local\programs\python\python35-32\lib\site-packages (from pymorph
y2)
Requirement already satisfied (use —upgrade to upgrade): dawg-python>=0.7 in c:
\users\user\appdata\local\programs\python\python35-32\lib\site-packages (from py
morphy2)
Installing collected packages: pymorphy2-dicts
Successfully installed pymorphy2-dicts-2.4.393442.3710985
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the ‘python -m pip install —upgrade pip’ comm
and.

Usage:
pip [options]

Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion
help Show help for commands.

General Options:
-h, —help Show help.
—isolated Run pip in an isolated mode, ignoring
environment variables and user configuration.
-v, —verbose Give more output. Option is additive, and can be
used up to 3 times.
-V, —version Show version and exit.
-q, —quiet Give less output.
—log

Path to a verbose appending log.
—proxy

Specify a proxy in the form
[userasswd@]proxy.serverort.
—retries Maximum number of retries each connection should
attempt (default 5 times).
—timeout Set the socket timeout (default 15 seconds).
—exists-action Default action when a path already exists:
(s)witch, (i)gnore, (w)ipe, (b)ackup.
—trusted-host Mark this host as trusted, even though it does
not have valid or any HTTPS.
—cert

Path to alternate CA bundle.
—client-cert

Path to SSL client certificate, a single file
containing the private key and the certificate
in PEM format.
—cache-dir Store the cache data in .
—no-cache-dir Disable the cache.
—disable-pip-version-check
Don’t periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with —no-index.

Usage:
pip [options]

Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion
help Show help for commands.

General Options:
-h, —help Show help.
—isolated Run pip in an isolated mode, ignoring
environment variables and user configuration.
-v, —verbose Give more output. Option is additive, and can be
used up to 3 times.
-V, —version Show version and exit.
-q, —quiet Give less output.
—log

Path to a verbose appending log.
—proxy

Specify a proxy in the form
[userasswd@]proxy.serverort.
—retries Maximum number of retries each connection should
attempt (default 5 times).
—timeout Set the socket timeout (default 15 seconds).
—exists-action Default action when a path already exists:
(s)witch, (i)gnore, (w)ipe, (b)ackup.
—trusted-host Mark this host as trusted, even though it does
not have valid or any HTTPS.
—cert

Path to alternate CA bundle.
—client-cert

Path to SSL client certificate, a single file
containing the private key and the certificate
in PEM format.
—cache-dir Store the cache data in .
—no-cache-dir Disable the cache.
—disable-pip-version-check
Don’t periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with —no-index.

C:\Users\user>pip -V
pip 8.1.1 from c:\users\user\appdata\local\programs\python\python35-32\lib\site-
packages (python 3.5)

C:\Users\user>conda info
Current conda install:

C:\Users\user>conda info —envs
# conda environments:
#
root * C:\Users\user\Anaconda3

(root) C:\Users\user>pip install pymorphy2
Collecting pymorphy2
Using cached pymorphy2-0.8-py2.py3-none-any.whl
Collecting dawg-python>=0.7 (from pymorphy2)
Using cached DAWG_Python-0.7.2-py2.py3-none-any.whl
Collecting docopt>=0.6 (from pymorphy2)
Using cached docopt-0.6.2.tar.gz
Collecting pymorphy2-dicts =2.4 (from pymorphy2)
Using cached pymorphy2_dicts-2.4.393442.3710985-py2.py3-none-any.whl
Building wheels for collected packages: docopt
Running setup.py bdist_wheel for docopt . done
Stored in directory: C:\Users\user\AppData\Local\pip\Cache\wheels\b2\16\5f\c33
a2bb5f2dce71205f8e65cbfd05647d79d441282be31fd82
Successfully built docopt
Installing collected packages: dawg-python, docopt, pymorphy2-dicts, pymorphy2
Successfully installed dawg-python-0.7.2 docopt-0.6.2 pymorphy2-0.8 pymorphy2-di
cts-2.4.393442.3710985

и вновь в Jypiter ImportError: No module named pymorphy2

Источник

Adblock
detector