![]() |
|
![]() ![]() ![]() |
|
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Необходим алгоритм группирования словосочетаний (максимально релевантных) по n словосочетаний в группе.
Словосочетания хранятся в базе MySQL (MyISAM) Если кто знает, подскажите готовые решения, или тему в которой стоит покопаться .... В общем буду рад любым зацепкам. Спасибо. |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Непонятно что подразумевается под "максимально релевантных".
Первое, что приходит в голову - копать на тему text mining -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
_Y_, для моих целей: чем больше одинаковых слов встречается в двух словосочетаниях тем они более релевантны.
|
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
кластеризация называется задача
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Следовательно, тебе потребуется формализация (словарь, сортированный список слов в словосочетании в таблице). также потребуется функция расчёта диаметра группы (суммарное количество уникальных слов в группе).
Задача попахивает NP-полнотой - особенно если требуется распределить на группы ВСЕ имеющиеся словосочетания. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
nIkTo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Задача немного изменилась.
Существует слово, которое встречается в каждом словосочетании. Читал про кластерный анализ и кластеризацию ... с теорией понятно:
Но вот формализовать данную задачу не могу, в общем помогите сдвинуться с мертвой точки ... Это сообщение отредактировал(а) nIkTo - 2.2.2012, 19:44 |
|||
|
||||
nworm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 4 Всего: 8 |
Там по разному можно.
Можно так. 1. Кластеризуется всё. 2. Классы переделываются. К маленьким классам добавляются объекты (те у которых метрика поближе к классу). Из больших классов объекты удаляются. Чтоб везде было по n объектов. Может ещё как-то лучше будет. Там переделать какой-нибудь алгоритм кластеризации чтоб он сразу на классы по n объектов разбивал. Длинная задача. И всё зависит от конкретных требований к алгоритму. |
|||
|
||||
Mirkes |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: 4 Всего: 17 |
Основная проблема в данной задаче отсутствие номальной метрики. И отсутствие не только метрики но и единого порядка на словосочетаниях - множество словосочетаний не является вполне упорядоченным, только частично упорядоченным.
Если я правильно понимаю постановку, то формализацию можно проводить так. 1. Создаем словарь всех слов встречающихся в словосочетаниях. На этом щага решаем, работаем со словами или словоформами. Нпример, слово красный имеет кучу словоформ красная. красный красное.... 2. Произвольным образом нумеруем слова в словаре. 3. Для целей разбиения заменяем каждое словосочетание на множество номеров слов. При этом стоит отдавать себе отчет, что мы своими руками уничтожаем порядок слов - в множестве нет порядка между элементами и словосочетания красивая девушка и девушка красивая превратятся в одинаковое множество из номеров слов девушка и красивая. 4. Определяем расстояние между словосочетаниями как, например расстояние по Хаусдорфу или по Хеммингу. В данном случае проще по Хеммингу - два словосочетания тем ближе, чем больше в них одинаковых слов или чем больше мощность пересечения множеств, описывающих слова. Начиная с этого момента можно начинать строить какую-то классификацию. Отрицательный момент моей формализации. Можно получить такую цепочку "релевантных" словосочетаний красна девица, красная осень. золотая осень, золотой запас, хороший запас, хорошая хозяйка, девица хозяйка. -------------------- Mirkes |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |