Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2009 12:08:29

kmike
От:
Зарегистрирован: 2009-12-07
Сообщения: 56
Репутация: +  4  -
Профиль   Отправить e-mail  

pymorphy

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

репозиторий:
http://bitbucket.org/kmike/pymorphy/

документация:
http://packages.python.org/pymorphy/

Вдруг интересно кому.



Офлайн

#2 Дек. 7, 2009 16:03:37

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

pymorphy

Интересная штучка, спасибо.



Офлайн

#3 Дек. 7, 2009 21:30:51

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

pymorphy

Не нашел обьем словарей. Сколько русских слов?

Как поплняются ваши словари новыми словами?



Офлайн

#4 Дек. 7, 2009 22:05:48

kmike
От:
Зарегистрирован: 2009-12-07
Сообщения: 56
Репутация: +  4  -
Профиль   Отправить e-mail  

pymorphy

Словари с сайта aot.ru (http://www.aot.ru/download.php). Там не именно слова хранятся, а основы и правила составления слов. Путем перекомбинаций (без приставок) где-то 5 млн получается (с приставками умножаем на 20). Для неизвестных слов реализован предсказатель, он умеет приписывать к слову спереди что-нибудь (например, СУПЕРБИЗОН будет склоняться как БИЗОН) + умеет искать похожие словоформы в словаре и выбирать из них самую распространенную, наиболее вероятную (поймет, что ДЫКПАРТЫМЕНТ - существительное мужского рода, и сможет правильно склонять его).

Не думаю, что пополнение словарей требуется (и стоит потраченных усилий), гораздо эффективнее улучшать работу предсказателя. Эффективнее по критерию “затраченное время/результат”.

Если же все-таки словарь требуется пополнить (или исправить), то с сайта aot.ru можно скачать программу для работы со словарями (под windows), поправить исходный словарь, а потом переконвертировать в формат, который понимает pymorphy с помощью скрипта encode_dicts.py (скрипт в комплекте).



Офлайн

#5 Дек. 7, 2009 22:27:20

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

pymorphy

google по запросу ДЫКПАРТЫМЕНТ,
выдал это - Возможно, вы имели в виду: ДЕПАРТАМЕНТ …
т.е. предсказал, так?
(Яндекс ничего не выдает, во как! … и почему они не купят проект АОТ (флейм))

5 млм. основ слов - это достаточно много.

Вопрос - если мне встретилось редкое слово и в словаре нет его основы, то с какой долей вероятности я смогу утверждать, что нет такого слова в природе?

Математически это не посчитать и надо удовлетвориться тем что обработана библиотека Машкова, там нет, значит и в природе нет?

У меня интерес разместить словарь на вэб-сервере. В связи с этим, есть какие-нибудь особенности у продукта?



Офлайн

#6 Дек. 7, 2009 23:30:21

kmike
От:
Зарегистрирован: 2009-12-07
Сообщения: 56
Репутация: +  4  -
Профиль   Отправить e-mail  

pymorphy

>> Вопрос - если мне встретилось редкое слово и в словаре нет его основы, то с какой долей вероятности я смогу утверждать, что нет такого слова в природе?

Хм, даж не знаю. Русский язык он ведь такой, словообразование никто не исключал. А в словаре pymorphy, думаю, нет кучи технических и специальных терминов.

>> У меня интерес разместить словарь на вэб-сервере. В связи с этим, есть какие-нибудь особенности у продукта?

Обновил только что документацию. Почитайте введение, там несколько примеров, думаю, с ними понятно все будет.

Если вопрос по скорости-занимаемой памяти, то эти параметры можно варьировать самому, используя разные бэкенды для хранения словарей, включая-отключая внутреннее кеширование и psyco, про это есть раздел тоже в справке.

Кстати, для django написал templatetag “inflect”, который может склонять слова прямо в шаблоне. К примеру, пусть, в базе хранятся названия городов в именительном падеже (“Нижний Новгород”). Чтоб вывести сообщение “Мы сегодня начали работу в Нижнем Новгороде!” нужно поставить Нижний Новгород в предложный падеж. Пишем в шаблоне

{% load pymorphy_tags %}
Мы сегодня начали работу в {{ city|inflect:“пр” }}!

и готово.



Офлайн

#7 Дек. 7, 2009 23:58:28

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

pymorphy

Не силен, пока, в лицезиях, но лицензия MIT подразумевает коммерческое использование и без упоминания авторов…чесслово, не понимаю, смысл в чем?
или ошибаюсь?



Офлайн

#8 Дек. 8, 2009 00:33:39

kmike
От:
Зарегистрирован: 2009-12-07
Сообщения: 56
Репутация: +  4  -
Профиль   Отправить e-mail  

pymorphy

Все так, можно использовать как угодно. Смысл - не чинить никаких препятствий тем, кто захочет этой штукой воспользоваться. А что конкретно смущает?)



Офлайн

#9 Дек. 8, 2009 10:08:37

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

pymorphy

kmike
А что конкретно смущает?)
- затрачены немалые усилия и ресурсы, которые как-то должны окупиться, если не явными средствами, то дивидендами в виде заявки о себе как группе разработчиков или компании решающей задачи.
- я ранее пытался списаться с АОТ - было предложение о сотрудничестве (вы в постах ответили на все мои вопросы), ответа никакого не было, т.е. интерес на нуле…и тут такой шаг - “раздать технологию”. Может она уже не конкурентна и отдается “любителям”? Или так ищется проект под который, будет предложено более совершенное решение…?
флейм-
…на сайте АОТ пример не работает…гугл доминирует…на дворе кризис
вопрос - к словарю Зелязняка ваш словарь имеет какое-нибудь отношение?



Офлайн

#10 Дек. 8, 2009 10:36:48

kmike
От:
Зарегистрирован: 2009-12-07
Сообщения: 56
Репутация: +  4  -
Профиль   Отправить e-mail  

pymorphy

pioner
kmike
А что конкретно смущает?)
- затрачены немалые усилия и ресурсы, которые как-то должны окупиться, если не явными средствами, то дивидендами в виде заявки о себе как группе разработчиков или компании решающей задачи.
- я ранее пытался списаться с АОТ - было предложение о сотрудничестве (вы в постах ответили на все мои вопросы), ответа никакого не было, т.е. интерес на нуле…и тут такой шаг - “раздать технологию”. Может она уже не конкурентна и отдается “любителям”? Или так ищется проект под который, будет предложено более совершенное решение…?
флейм-
…на сайте АОТ пример не работает…гугл доминирует…на дворе кризис
вопрос - к словарю Зелязняка ваш словарь имеет какое-нибудь отношение?
Наверное, стоит разделить вопросы про лицензии aot и лицензию pymorphy. Я к aot никакого отношения не имею, просто почитал их сайт, скачал словари, написал код.

Про лицензионную политику aot могу только предположения делать. На более-менее доделанные конечные продукты лицензии коммерческие там, на словари и технологии - нет. Это, видимо, позволяет привлекать больше разработчиков и получать большую известность. Или просто особо не за что деньги брать. Люди там, как я понял, из науки, диссертации по этим делам пишут и статьи, вот и интерес.

Я, кстати, тоже письмо туда разок написал, ответа не получил и ладно)

Про словарь на их сайте нашел вот что:

В основе русского словаря лежит морфологический словарь Зализняка.
В основе немецкого словаря лежит словарь Morphy.
В основе английского словаря лежит словарь Wordnet.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version