2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Сегментация текста
Сообщение07.09.2011, 09:58 


18/06/11
24
Здравствуйте. Столкнулся вот с такой задачей:

есть некоторый текст символов в алфавите мощностью $m$. Необходимо найти такое разбиение (сегментацию) текста, при котором целевой функционал $f(x)$ (это может быть функция от частот отдельных символов текста, или среднее растояние в символах между одинаковыми символами) находится в глобальном оптимуме.

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

 Профиль  
                  
 
 Re: Сегментация текста
Сообщение07.09.2011, 13:31 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Допустим, что некоторая позиция в тексте является точкой разбиения. Можно ли считать, что рассматривая два фрагмента текста слева и справа от этой точки как самостоятельные тексты, и сегментируя их независимо друг от друга, объединение оптимальных разбиений даст оптимальное разбиение исходного текста (среди всех, которые содержат эту точку)? Это кажется необходимым условием для того, чтобы можно было сделать хоть что-то в духе динамического программирования, и не рассматривать полный перебор всех разбиений.

 Профиль  
                  
 
 Re: Сегментация текста
Сообщение07.09.2011, 17:50 


18/06/11
24
Спасибо за идею, попробую её задействовать.

 Профиль  
                  
 
 Re: Сегментация текста
Сообщение07.09.2011, 20:26 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Если указанное условие выполняется, тогда задача решается с помощью ДП следующим образом: нужно последовательно рассматривать начальные фрагменты текста увеличивающейся длины, и для каждого находить и запоминать оптимальную сегментацию. Для нахождения сегментации очередного куска нужно перебирать все возможные способы задания последнего сегмента и к каждому прибавлять найденную ранее сегментацию фрагмента, стоящего перед этим сегментом.

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

 Профиль  
                  
 
 Re: Сегментация текста
Сообщение07.09.2011, 23:40 


18/06/11
24
Тут какраз невозможно разбить текст на независимые фрагменты, в этом то и загвоздка. Сразу не обратил внимание на это условие. Дело в том что основной целевой функцией будет функция на основе интервалов.

Тоесть пусть мы имеем текст S=ABBAAABBAB

Под интервалом $i$-ого символа понимается растояние в символах от предъидущего такого же символа, или от начала, если он встретился впервые. Для приведенного текста соответствующими интервалами будут
1 2 1 3 1 1 4 1 3 2
A B B A A A B B A B

Была мысль применить генетические алгоритмы, но на больших текстах порядка тысяч символов, как мне кажется, никаких вычислительных ресурвсов не хватит.

 Профиль  
                  
 
 Re: Сегментация текста
Сообщение08.09.2011, 07:03 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Пока что я не вижу никакого противоречия с принципом применимости ДП. Значения, которые Вы приписали каждому символу, от разбиения не зависят. Вопрос в том, как определяется целевая функция.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group