- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Собственно, ситуация такая. Сваял нечеткую морфологию для русского и украинского языков, хочу выставить в свободный download. По ощущениям, работает очень круто. Однако думаю над методикой тестирования, которая могла бы проиллюстрировать это утверждение, то есть позволила бы оценить соотношение "полнота/точность". Будут какие мысли?
А что значит нечеткая?
Есть ли возможность получить из исходного слова словоформу в заданном падеже, лице, числе, ...и тд? И обратно?
А что значит нечеткая?
Нечеткая - значит бессловарная, использующая вероятностный подход для выделения квазиосновы, т. е. неизменяемой части из словоформы.
Есть ли возможность получить из исходного слова словоформу в заданном падеже, лице, числе, ...и тд? И обратно?
Нет, это делает как раз словарная морфология (cм. подробнее на http://linguist.nm.ru/) А нечеткая обычно используется для тех слов, которые не распознаны словарным анализатором, либо в тех случаях, когда применения нечеткой морфологии достаточно. Фактически, это стеммер с большим словарем.
которые не распознаны словарным анализатором, либо в тех случаях, когда применения нечеткой морфологии достаточно. Фактически, это стеммер с большим словарем.
- то есть, есть ли смысл использовать эту морфологию без словарного анализатора, а как самостоятельную? И тестировать, соответственно - только на нераспознанных словах или на всех?
- И какие действия, собственно, она позволяет делать со словом, чтобы ее можно было проверить?
-то есть, имеет ли смысл использовать эту морфологию как самостоятельную (т.е., не как добавку к словарной морфологии), и тестировать, соответственно, как самостоятельную? И, что же она позволяет делать со словом (основу, например, извлекать из словоформы, но не наоборот)?
2 GRAY: не первый раз какой-то глюк в форуме при "ответе с цитатой". Ответ просто не появляется, хотя в списке тем видно, что ответ был сделан.
Смысл использовать, безусловно, есть. Она может использоваться как дополнение к словарному анализатору, но может и самостоятельно.
Она выделяет квазиосновы из поданной строки. Скажем, ожидать, что она выделит, подобно словарной морфологии, из слофоформы "шедший" основу "идти", было бы неправильно, однако слово "свежесобра|н|н|ый" она разбирает вот так вот. Вертикальными штрихами отмечены возможные точки усечения.
Тестировать, естественно, на как можно большем массиве слов.
С уважением, Keva.
Квазиоснова - она имеет какой-нибудь машинный смысл? (какое "определение" квазиосновы?)
Напимер, в слове \свежесобранный\, по-моему, правильная основа - \свежесобран\, но и через \свежесобранн\ можно сделать некие правильные слова... (-ое, -ые, ...) А \свежесобра\ - явная ошибка. Какое слово можно сделать из этой основы?
Ну, я бы мог предложить как тестирование - брать некий словарь, в котором содержались бы все (почти все) словоформы каждого слова (за исключением шел-идти и т.п.), и проверялось бы, что все квазиосновы, найденные по каждой словоформе, одинаковы для всего набора словоформ данной реальной основы. Генерацию слов он делать не может => полноту, в ее нормальном смысле, протестировать не удастся, а вероятность того, что основа определена правильно - наверное, да.
[This message has been edited by euhenio (edited 30-01-2002).]
Основа слова (даю НЕ академическое определение) - это та его часть, которая не изменяется при образовании словоформ. Назовем ее истинной основой. В некоторых реализациях морфоанализаторов слово может иметь несколько "основ" - например, морфоанализатор ИПС "Артефакт" (Пархоменко, Травкина, Назарова) у слов типа "ложка" полагает наличие двух основ, "ложк" и "ложек". Другие анализаторы (мой, например) допускают наличие чередований в основе, и основой в данном случае считает "лож".
Пример этот - очень удачный, так как иллюстрирует достоинства и недостатки обоих подходов при реализации нечеткой морфологии (стеммера). В первом случае при реализации поиска с использованием только нечеткой морфологии сильно страдает полнота - потери достигают 40% (в случае русского языка), во втором полнота поиска будет близкой к 100% (скажем, 0.95 - 0.97, потери за счет слов типа "идти-шел"), но вот точность падает, так как растет количество ложных отождествлений. Например, эта самая основа "лож" - ее ж порождает и слово "ложь".
А \свежесобра\ - явная ошибка. Какое слово можно сделать из этой основы?
Да, в случае этого, осмысленного (!) слова это действительно ошибка. Однако если взять какое-либо другое слово с тем же "хвостом", например, "забранный", то из фрагмента "забра" вполне можно породить некоторое количество совершенно корректных форм.
Ну, я бы мог предложить как тестирование - брать некий словарь, в котором содержались бы все (почти все) словоформы каждого слова (за исключением шел-идти и т.п.), и проверялось бы, что все квазиосновы, найденные по каждой словоформе, одинаковы для всего набора словоформ данной реальной основы.
Да, это было бы хорошо. Если Вам, конечно, это интересно
Андрей а может просто прогнать через зализняка (или тихонова)? В авт. режиме. я мог бы это спокойно организовать.
только как ты потом будешь результаты смотреть (читать) около 20 мб чистого текста получится
Интересно, но такого словаря у меня нет, я просто предлагаю...
2 DWORKIN : в том и вопрос, как понимать результаты...
Если бы был такой словарь, можно было бы делать следующее -
1) определять, все ли квазиосновы, найденные по словоформе одной реальной основы, одинаковы, (% безошибочных основ в отношении общего количества основ)
2) Определять, какие из квазиоснов являются НЕНУЖНЫМИ (т.е., ложными) - т.е., если квазиоснова предполагается как основа для некой словоформы - а эта словоформа имеет 2 или более квазиоснов (каждая из которых длиннее, т.е. включает в себя исследуемую квазиоснову) - по всем словоформам реальной основы=> эта квазиоснова ложная. То есть не необходимая при данном наборе словоформ. Пример - \свежесобра\...
Ну, и проценты - например, числа словоформ, которые дают плохие квазиосновы, к общему числу словоформ...
3) Собирать квазиосновы, не распознанные ранее как ложные, но являющиеся основами для >=2 словоформ с разным смыслом (типа ложка - ложь), в % к общему числу правильных квазиоснов.
[This message has been edited by euhenio (edited 30-01-2002).]
Я тут провел некоторое тестирование на досуге. Суть методики такова.
Был взят некоторый большой текст на русском языке и заиндексирован как множество документов. Фактически, каждое слово этого документа считалось отдельным объектом.
Текст был заиндексирован двумя способами - с
точной лемматизацией и с вероятностным стеммингом. При вероятностном
стемминге запоминались все выделенные варианты основы слова. Соответственно,
был построен индекс текста по всем таким, как строгим, так и нестрогим
ключам.
Далее в первом варианте для всех лексем, присутствующих в индексе, были порождены все
графически различные формы, каждая из которых, независимо от того,
встретилась ли она сама в тексте или нет, подвергалась вероятностной
лемматизации, и построенные основы подавались на поиск. Результаты поиска по
всем формам точной лексемы объединялись, после чего результаты
суммировались. Третья величина вычислялась как пересечение списка найденных
по нестрогим основам идентификаторов с списком найденных по идентификатору
лексемы идентификаторов.
Вот результаты тестирования:
289117 objects at all
518875 objects (fuzzy)
289094 objects (correct)
Расшифровываю:
Полнота поиска: 289096 / 289117 = 0.9999 ~= 1.0
Шум: (518875.0 - 289117) / 289117 ~= 0.79
Точность поиска: 289094.0 / 518875 ~= 0.56
Модификация методики заключается в том, что поиск ведется не по всем формам, а по наиболее вероятным, то есть с
порождением формальных основ из наиболее вероятных форм. Тогда результаты - вот такие:
289117.000000 objects at all
405015.178310 objects (fuzzy)
235683.787824 objects (correct)
Полнота поиска: ~= 0.82
Шум: ~=0.40
Точность поиска: ~= 0.58
Вот такие вот есть результаты.