Найти - Пользователи
Полная версия: pymorphy
Начало » Python проекты » pymorphy
1 2 3 4
kmike
Взялся снова за морфологический анализатор: теперь он умеет склонять русские слова, попереписан код, появилась документация, упрощена установка, поддерживает разные варианты хранения словарей, улучшена скорость работы.

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

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

Вдруг интересно кому.
Андрей Светлов
Интересная штучка, спасибо.
pioner
Не нашел обьем словарей. Сколько русских слов?

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

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

Если же все-таки словарь требуется пополнить (или исправить), то с сайта aot.ru можно скачать программу для работы со словарями (под windows), поправить исходный словарь, а потом переконвертировать в формат, который понимает pymorphy с помощью скрипта encode_dicts.py (скрипт в комплекте).
pioner
google по запросу ДЫКПАРТЫМЕНТ,
выдал это - Возможно, вы имели в виду: ДЕПАРТАМЕНТ …
т.е. предсказал, так?
(Яндекс ничего не выдает, во как! … и почему они не купят проект АОТ (флейм))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В основе русского словаря лежит морфологический словарь Зализняка.
В основе немецкого словаря лежит словарь Morphy.
В основе английского словаря лежит словарь Wordnet.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB