Русская морфология

Жигaн

Новичок
По скорости, понятно, что mystem на порядок быстрее. Правда для большого массива текста, если дергать для нескольких слов, то будут тормоза. Как оценивать качество я не знаю, если предложите методику я оценю :). Могу выслать csv файл с различающимися результатами предсказания для phpmorphy и mystem такого вида http://phpclub.ru/paste/index.php?show=2368 там сами решайте что лучше ;)
 

Arech

Новичок
Жигaн, огромное Вам спасибо за отличный инструмент!

Его сложновато освоить без подробной документации или богатых примеров, но я заметил, что Вы периодически постите в этот тред различные частные решения некоторых задачек. Эти решения являются очень хорошими примерами использования библиотеки, однако их не всегда удаётся извлечь (т.к., например, пастбин удаляет некоторую информацию). Смотрел на офф. сайте, но не обнаружил.. Скажите, пожалуйста, есть ли где посмотреть сборник таких задач/решений на phpMorphy в одном месте? Если такого места нет, возможно ли свести примеры воедино где-нибудь на сайте? Это здорово облегчит знакомство с библиотекой и её использование в реальных проектах...
В любом случае - спасибо ещё раз :)
 

pilot911

Новичок
Жигaн - это же тема, создать сайт с примерами, разместить там рекламу... лишними 500 баксов в месяц не будут :)
 

Arech

Новичок
pilot911, иманно-иманно :)
Имхо, давно уже пора такой хороший проект переводить на свой собственный сайт :)
 

Жигaн

Новичок
Arech
Какие моменты по вашему мнению стоит описать более подробно? Как я понимаю проблемы возникают с получением грамматической информации (т.е. findWord() и т.п.). Чем плоха площадка на sf? Тормозами?

pilot911
Нее, как мне видится там и 5$ не будет ;)
 

Arech

Новичок
Жигaн

Про сложности:
1. Скажем так. Основная проблема лично у меня в том, что я не знаю очень многих терминов и определений предметной области. Всякие "граммемы", "анкоды" и т.д. - пока выгуглишь, что это значит, пока удостоверишься, что выгугленное определение совпадает с авторским замыслом - много времени уходит. Может быть где-то это и описано, но мне не удалось найти.

2. Потом как ни странно, найдя проект на соурфорже я примерно 50% информации о нём и его использовании нашёл именно в этом топике. А некоторые вещи, типа "как создать кеш словаря", я вообще выгуглил только отсюда)))

3. Ещё, может быть плохо смотрел, но семантику некоторых последних параметров многих функций мне найти не удалось. Наверное, это возможно понять, обладая некоторыми знаниями парадигмы предметной области, но см. пункт 1 ;)

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

Насчёт площадки:
Да, по сути, соурсфорж, наверное, ничем не плох. Просто такой хороший проект будет неплохо обрастать естественными ссылками, а поднять и перенести проект на сайт хоть на той же Joomla! на копеечном хостинге - дело одного-двух вечеров. Ну, а уж дальше - смотрите по своим целям и желаниям :) Много денех с нулёвого сайта, конечно, не будет сразу, но это дело не быстрое...
Но ещё раз повторюсь, с точки зрения пользователей, на мой взгляд сейчас, соурсфорж ничем не плох.
 

Жигaн

Новичок
Arech
1,2,3) Постараюсь в скором времени поплнить докуметацию.

Насчёт площадки:
Да, по сути, соурсфорж, наверное, ничем не плох. Просто такой хороший проект будет неплохо обрастать естественными ссылками, а поднять и перенести проект на сайт хоть на той же Joomla! на копеечном хостинге - дело одного-двух вечеров. Ну, а уж дальше - смотрите по своим целям и желаниям Много денех с нулёвого сайта, конечно, не будет сразу, но это дело не быстрое...
Но ещё раз повторюсь, с точки зрения пользователей, на мой взгляд сейчас, соурсфорж ничем не плох.
Если претензий к sf нет, то думаю пока не стоит заморачиваться с собственнйо площадкой. Единственное, что надо сделать, это вывести в top гугла http://phpmorphy.sourceforge.net а не http://sourceforge.net/projects/phpmorphy/ как сейчас.
 

Жигaн

Новичок
Captain Fizz
Лицензия LGPL, в файле COPYING вся инфа.

-~{}~ 15.11.09 20:13:

Но если будет указано, что внутри продукта используется phpMorphy, я буду очень рад.
 

Arech

Новичок
Жигaн, подскажите пожалуйста, как при работе с грамматической информацией в виде чисел (параметр инициализации 'graminfo_as_text'=>false ) превратить число/код в соответствующую ему строку?
Мне это нужно для отладки.

Похоже, этим занимается phpMorphy_GramTab::resolveGrammemIds(), но я так и не нашёл, как к нему добраться через объект phpMorphy.

Спасибо.
 

Жигaн

Новичок
Arech

Можно сделать вот так:
PHP:
$gramtab = $morphy->getCommonMorphier()->getHelper()->getGramTab();

$word = 'ПРОВЕРКА';

$result = $morphy->getGramInfo($word);

$pos_id = $result[0][0]['pos'];
$grammem_ids = $result[0][0]['grammems'];

$pos_text = $gramtab->resolvePartOfSpeechId($pos_id);
$grammem_text = $gramtab->resolveGrammemIds($grammem_ids);

var_dump($pos_id, $pos_text, $grammem_ids, $grammem_text);
 

Arech

Новичок
Жигaн, ухты!!! Огромнейшее спасибо и за оперативность тоже!

А ещё такой вопрос, я, возможно, что-то путаю, но у меня откуда-то мысль (как будто) где-то читал, что инклудить /src/gramtab_consts.php не нужно, дескать оно само инклудится при 'graminfo_as_text'=>false. А сейчас стал работать, а ПХП ругается на неопределённые константы (подключен только '/src/common.php').
Всётки надо самостоятельно инклудить?

Спасибо огромное ещё раз :)
 

Жигaн

Новичок
А, ну да. Константы подключаются похоже только при использовании findWord(), похоже лучше было определить константы в классе и использовать autoload. Пока придется подключать константы руками:

так:
PHP:
require_once(PHPMORPHY_DIR . '/gramtab_consts.php');
или так:
PHP:
$morphy->getCommonMorphier()->getHelper()->getGramTab()->includeConsts();
 

T34

Новичок
Всем доброго!

Очень нужен бинарный словарь в utf8 c "Ё". В репозитории с бинарниками не нашёл - есть только под cp1251.

Соберите, пожалуйста, кто-нибудь для utf8! Я, хоть и лингвист, но в PHP дуб дубом.
 

T34

Новичок
Жигaн
Фантастическая оперативность! Спасибо огромное! :)

-~{}~ 21.11.09 20:33:

Забыл попросить сразу. Если не трудно, соберите, пожалуйста, английский под utf8!
 
Сверху