Возможности pymorphy и запуск модулей.

953 views
Skip to first unread message

Александр

unread,
Dec 5, 2015, 8:30:04 AM12/5/15
to pymorphy
Привет.

1. Тут прочитал http://pymorphy2.readthedocs.org/en/0.1/user/index.html, что "При морфологическом анализе не используется информация о соседних словах".
Правильно ли я понимаю, что pymorphy2 не устанавливает зависимости с другими словами в предложении, то есть в частности не поймет "печь блины" и  "затопить печь"?


2. на windows xp установил IDLE python v3.2. Открываю и пытаюсь запускать test_analyzer.py из папки pymorphy2-master\tests
выдает следующую ошибку.
-
Traceback (most recent call last):
  File "D:\HProjects\Python\pymorphy2-master\pymorphy2\analyzer.py", line 11, in <module>
    from pymorphy2 import opencorpora_dict
ImportError: No module named pymorphy2
-
Что я делаю не так?


3. Еще пытался подключить как в вашем примере - https://pymorphy2.readthedocs.org/en/latest/misc/api_reference.html
import pymorphy2
morph = pymorphy2.MorphAnalyzer()
в этом случае вроде бы нужен файл, а не папка. Так пишут тут - http://pythonworld.ru/osnovy/rabota-s-modulyami-sozdanie-podklyuchenie-instrukciyami-import-i-from.html.


Видимо, что то я совсем делаю не так, но вот что?

Yuri Baburov

unread,
Dec 5, 2015, 1:18:32 PM12/5/15
to pymo...@googlegroups.com
Привет,

2015-12-05 19:30 GMT+06:00 Александр <idus...@gmail.com>:
Привет.

1. Тут прочитал http://pymorphy2.readthedocs.org/en/0.1/user/index.html, что "При морфологическом анализе не используется информация о соседних словах".
Правильно ли я понимаю, что pymorphy2 не устанавливает зависимости с другими словами в предложении, то есть в частности не поймет "печь блины" и  "затопить печь"?
Да, правильно.
Для слова "печь" pymorphy2 выдаст все варианты: "печь -- глагол" и "печь -- существительное".
Максимум, что pymorphy предлагает -- оценка частоты использования данных вариантов на статистике из opencorpora.
 

2. на windows xp установил IDLE python v3.2. Открываю и пытаюсь запускать test_analyzer.py из папки pymorphy2-master\tests
выдает следующую ошибку.
-
Traceback (most recent call last):
  File "D:\HProjects\Python\pymorphy2-master\pymorphy2\analyzer.py", line 11, in <module>
    from pymorphy2 import opencorpora_dict
ImportError: No module named pymorphy2
-
Что я делаю не так?
Тебе нужно почитать про модули и пакеты в питоне.
Если ты не поставил пакет через setup.py / инсталлятор, то он недоступен как "import pymorphy2" или "from pymorphy2...".
Чтобы запустить без установки, из папки 
D:\HProjects\Python\pymorphy2-master
можешь вызвать python -m tests.test_analyzer.py 
(чтобы путь pymorphy2 замаппился на пакет pymorphy2), 
также есть переменная PYTHONPATH , туда можно добавить D:\HProjects\Python\pymorphy2-master и тогда D:\HProjects\Python\pymorphy2-master\pymorphy2 будет замаплена как питоновский пакет pymorphy2 .

Разница между установкой и добавлением в пути -- если собираешься изменять библиотеку, то используй добавление в пути. Если установить и использовать, но не исправлять -- setup.py или pip install pymorphy2.

3. Еще пытался подключить как в вашем примере - https://pymorphy2.readthedocs.org/en/latest/misc/api_reference.html

import pymorphy2
morph = pymorphy2.MorphAnalyzer()
в этом случае вроде бы нужен файл, а не папка. Так пишут тут - http://pythonworld.ru/osnovy/rabota-s-modulyami-sozdanie-podklyuchenie-instrukciyami-import-i-from.html.


Подробности см. выше. 
Вот ещё пара ссылок.

Ещё вместо IDLE рекомендую LiClipse или Spyder .
 
Видимо, что то я совсем делаю не так, но вот что?

--
Вы получили это сообщение, поскольку подписаны на группу "pymorphy".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес pymorphy+u...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.



--
Best regards, Yuri V. Baburov, Skype: yuri.baburov

Александр

unread,
Dec 5, 2015, 2:19:43 PM12/5/15
to pymorphy
Спасибо за быстрый ответ.
Начинает доходить. Я думал что достаточно распаковать и будет что то вроде проекта для VS, открываемого с помощью одного файла проекта. Буду пытаться установить, боюсь если не сделаю этого, огребу еще сюрпризов вроде неподключенных словарей или чего то еще...

А есть ли какие то проекты занимающиеся "полным" разбором, то есть всесторонним анализом предложений?


Александр

unread,
Dec 6, 2015, 11:16:03 AM12/6/15
to pymorphy
Установил Python 3.4.0. У него на борту есть pip.
Далее установил pymorphy2 как тут - http://pythonworld.ru/osnovy/pip.html
Ну и далее в своем тестовом файле
import pymorphy2
morph = pymorphy2.MorphAnalyzer()
print(morph.parse('стали'))

Ураа! Заработало!

Yuri Baburov

unread,
Dec 7, 2015, 2:09:41 AM12/7/15
to pymo...@googlegroups.com
>Ураа! Заработало!
Отлично!

>А есть ли какие то проекты занимающиеся "полным" разбором, то есть всесторонним анализом предложений?
Да в общем-то приличных нет. Это очень сложная задача -- синтаксис с семантикой большие и весьма нерегулярные, поэтому результатов хороших нет -- поэтому проекты только академические и экспериментальные (и монстрообразные типа ABBYY Compreno и IBM Watson (english) ). Есть вероятностные проекты, где обучается классификатор -- типа http://habrahabr.ru/post/148124/ .
А в pymorphy есть максимум склонение словосочетаний.

--
Вы получили это сообщение, поскольку подписаны на группу "pymorphy".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес pymorphy+u...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Александр

unread,
Dec 7, 2015, 3:24:14 AM12/7/15
to pymorphy
...
А в pymorphy есть максимум склонение словосочетаний.
...


--
Best regards, Yuri V. Baburov, Skype: yuri.baburov

Работая в этом направлении, вроде бы , можно устранить массу неверных вариантов? Предполагая, что мы должны получить при склонении - делаем заключение о верности результата. Вроде проверочного теста, убирающего неверные варианты.

Александр

unread,
Dec 7, 2015, 12:24:27 PM12/7/15
to pymorphy
Мне тут подсказали несколько путных ссылок по теме снятия неоднозначности. Возможно кому нибудь еще пригодится.



Yuri Baburov

unread,
Dec 7, 2015, 2:02:14 PM12/7/15
to pymo...@googlegroups.com
А, ну если только неоднозначность снимать без анализа синтаксиса.. то это называется POS tagging.
http://habrahabr.ru/post/152799/ -- OpenCorpora, используется для таблицы частотности слов в pymorphy2 как раз.
@kmike (автор pymorphy2) начинал пилить CRF для pymorphy2 -- один из лучших методов для POS tagging (порядка 97-99% точность).
А я пока что использую С-шную реализацию от Ильи Козиева ( http://www.solarix.ru/ ).



--
Вы получили это сообщение, поскольку подписаны на группу "pymorphy".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес pymorphy+u...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Message has been deleted

Александр

unread,
Dec 9, 2015, 11:56:01 AM12/9/15
to pymorphy


понедельник, 7 декабря 2015 г., 22:02:14 UTC+3 пользователь Yuri Baburov написал:
А, ну если только неоднозначность снимать без анализа синтаксиса.. то это называется POS tagging.
 
Да похоже я ранее ввел вас в заблуждение написав "А есть ли какие то проекты занимающиеся "полным" разбором, то есть всесторонним анализом предложений?". На самом деле, как я понял читая группу и пр. материалы, мне нужен морфологический разбор слов предложения, с последующим снятием неоднозначностей, без анализа синтаксиса. Хотя возможно и в этом определении что-то неверно ).
 
http://habrahabr.ru/post/152799/ -- OpenCorpora, используется для таблицы частотности слов в pymorphy2 как раз.
@kmike (автор pymorphy2) начинал пилить CRF для pymorphy2 -- один из лучших методов для POS tagging (порядка 97-99% точность).

А этот morphine, он как нибудь интегрирован в pymorphy2? В GitHub (где лежит проект) в поле support ссылается на эту группу, но поиском по morphine  не находится тема. Как эту штуку заюзать?
 

А я пока что использую С-шную реализацию от Ильи Козиева ( http://www.solarix.ru/ ).


 
Рекомендуете?

Отдельное, огромное спасибо за помощь. Я от этих технологий были далёк и быстро врубится без вашей помощи не получилось бы.

Yuri Baburov

unread,
Dec 10, 2015, 1:51:53 AM12/10/15
to pymo...@googlegroups.com
2015-12-09 22:56 GMT+06:00 Александр <idus...@gmail.com>:


понедельник, 7 декабря 2015 г., 22:02:14 UTC+3 пользователь Yuri Baburov написал:
А, ну если только неоднозначность снимать без анализа синтаксиса.. то это называется POS tagging.
 
Да похоже я ранее ввел вас в заблуждение написав "А есть ли какие то проекты занимающиеся "полным" разбором, то есть всесторонним анализом предложений?". На самом деле, как я понял читая группу и пр. материалы, мне нужен морфологический разбор слов предложения, с последующим снятием неоднозначностей, без анализа синтаксиса. Хотя возможно и в этом определении что-то неверно ).
 
http://habrahabr.ru/post/152799/ -- OpenCorpora, используется для таблицы частотности слов в pymorphy2 как раз.
@kmike (автор pymorphy2) начинал пилить CRF для pymorphy2 -- один из лучших методов для POS tagging (порядка 97-99% точность).

А этот morphine, он как нибудь интегрирован в pymorphy2? В GitHub (где лежит проект) в поле support ссылается на эту группу, но поиском по morphine  не находится тема. Как эту штуку заюзать?

Вообще, Миша обычно сам отвечает, но видимо у него какие-то дела.
А я не знаю подробностей.
 

А я пока что использую С-шную реализацию от Ильи Козиева ( http://www.solarix.ru/ ).


 
Рекомендуете?
Ну, вообще, я предпочёл бы тулзу на питоне, интегрирующуюся с pymorphy, но что есть то есть. Слишком уж всё медленно меняется в этой области, так что слишком долго ждать.
А у solarix есть и синтаксический анализ ещё неплохой.
Но у меня свои цели, сильно отличающиеся от стандартных -- я исследую возможности в перспективе получить 100%-но точный разбор, а не "тут теряем 5%, там ещё 5%".
 

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

--
Вы получили это сообщение, поскольку подписаны на группу "pymorphy".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес pymorphy+u...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Александр

unread,
Jan 3, 2016, 12:59:41 PM1/3/16
to pymorphy

А я пока что использую С-шную реализацию от Ильи Козиева ( http://www.solarix.ru/ ).


Не подскажешь форум по  solarix?

Yuri Baburov

unread,
Jan 3, 2016, 1:58:31 PM1/3/16
to pymo...@googlegroups.com
Форума нет вроде бы. Я с ним лично общаюсь, контакты там указаны.
Но мне саппорта никакого не нужно -- мне xml-вывода из его библиотек пока вполне хватает, я батч-процессинг делаю.

2016-01-03 23:59 GMT+06:00 Александр <idus...@gmail.com>:

А я пока что использую С-шную реализацию от Ильи Козиева ( http://www.solarix.ru/ ).


Не подскажешь форум по  solarix?

--
Вы получили это сообщение, поскольку подписаны на группу "pymorphy".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес pymorphy+u...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages