![]() |
|
|
![]()
|
|
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: 1 Всего: 1 |
Здравствуйте, уважаемык форумчане!
Давненько я вас не видел Нужен алгоритм либо метод приблизительного использования теории нечетких множеств применительно к определению похожести совокупности отрезков c эталонами. То есть я имею Некоторый набор отрезков (если хотите это граф) неизвестный (причем количество отрезков может быть не равно ни одному из эталонов и их расположение так же может не совпадать), а мне нужно проверить несколько эталонов на соответствие определяемому набору отрезков... На выходе должно быть, к примеру процент соответствия... Кто решит данную проблему, в перспективе обещаю, не пожалеете... |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
А поточнее можно с условиями задачи?
Нутром чую, что дело имеем с распознаванием. Но нельзя ли спокойно рассказать, что имеем и что надо? Может и без нечетких множеств обойдемся. |
|||
|
||||
| maxim1000 |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
приблизительное использование теории... это круто даже для теории нечетких множеств
причем, судя по всему, с распознаванием текста
после того, как обработаешь такое количество информации о задаче в голове остается только одна мысль: 1. вводим меру отличия между отрезками 2. каждому отрезку из первого набора ставим в соответствие отрезок из другого 3. считаем меры отличия для всех пар, складываем, получаем число 4. перебираем все возможные варианты таких соответствий, выбираем минимум -------------------- qqq |
||||||
|
|||||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
А может нужно не нечеткие множества а нечеткая логика ? (Для тех, кто не в курсе - это когда вместо однозначных ответов да или нет использует такие категории как "скорее да, чем нет", "практически да" и т.п. )
-------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: 1 Всего: 1 |
Да, господа, дело в распознавании текста причем рукописного...
Что мы имеем: 1) Набор полилиний, концы которых представляют узлы (для тех кто не в курсе это места соединения 3 и более таких полилиний...). Каждый набор полилиний описывает граф описывающий 1 слово текста... 2) 200000 (приблизительно) слов русского языка представленных в виде аналогично распознаваемым (граф), но естесственно модифицированных под большинство почерков Что нужно: Нужно их сравнить!!! |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
а, может, как-то ввести понятие буквы...
как мне кажется снижение количества возможных решений может хорошо сказаться на качестве распознавания... конечно, для слова способ, предложенный мной не подходит (его сложность приблизительно n!, а в слове куча линий) вообще, думаю, надо ввести правило упорядочивания отрезков и предусмотреть изменение порядка при разных написаниях слов (возможно, с помощью какой-нибудь вероятностной модели) чем удачнее будет выбрано правило, тем меньше придется рассматривать возможных отклонений, а значит, вычислительная сложность тоже будет меньше... -------------------- qqq |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Если идет распознавание непрерывно следующего текста (особенно большого объема), то действительно, лучше собирать слова по буквам. При этом сверяемся по словарю, дабы отсечь заведомо непригодные варианты.
Однако если идет распознавание ключевых слов или фраз из заданного набора, то их проще распознавать целиком. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
кстати, на всякий случай уточню: ни в коем случае нельзя распознавать буквы отдельно результатом распознавания буквы долно быть соответствие: буква из алфавита <-> вероятность того, что это именно она написана в текущей позиции а уже по этим результатам собирается слово... -------------------- qqq |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: 1 Всего: 1 |
Да рубяты, вообще то нет ни одного толкового алгоритма выявления местоположения букв в слове... Все сводится восновном к некоторому перебору в некоторой обрасти... Так или иначе идея собственно не в этом... Слова как таковые мы уже знаем как распознавать, дело остается это все проконтролировать, то есть дублирующее распознавание... Конечно ветод проверки по словарю не особенно подходит хотябы потому что слов в этом словаре порядка 200000 и соответственно это крутовато для сегодняшних ПК. К счастью словарь есть возможность сузить по каким то уже известным параметрам распознаваемого слова.
Вооот... ЧТо буквы поотдельности распознавать нельзя - это точно... Однако, но и ставить в соответствие ей какой-то процент тоже не совсем подходит... Все дело в том, что в большинстве случаев буквы сливаются и распознать их можно только по их сочетаниям а не поотдельности... Такие пироги. Кстати говоря метод предложенный podval-ом в нашей приватной беседе оказался вполне эффективным... Всвязи с этим появился правда следующий вопрос... Как сравнить 2 траектории движения, или точнее 2 полилинии? Они могут быть подобны, но при этом отличаться по длине, у какой то из них может отсутствовать элемент присутствующий в другой... ЗЫ: Нужен толковый человек для совместного проекта связанного с распознаванием рукописного текста!!! |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
я уже где-то тут описывал сравнение двух последовательностей с помощью метода динамического программирования (и не только я, кажется) по-моему, он тут может очень пригодиться а в качестве общего подхода я бы предложил: 1. изучить какие искажения могут быть в одной последовательности по сравнению с другой 2. построить вероятностную модель этих искажений 3. оценивать вероятности того, что эти последовательности были сгенерированы одним источником -------------------- qqq |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Накапливать отрицательную Log вероятность и брать траекторию с максимальным значением. Такое извращение принято, чтобы не умножать вероятности - слишком мелкие числа получаются Вобщем поищи ссылки по таким запросам: - Viterbi search (Viterbi decoding) algorithm; - beam search; - stack algorithm. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |