Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Iasmer
5 / 5 / 0
Регистрация: 25.02.2010
Сообщений: 34
1

Неправильный алгоритм нечеткого поиска

05.02.2015, 19:30. Просмотров 883. Ответов 10
Метки нет (Все метки)

Шарясь по просторам инета, наткнулся на следующую публикацию молодыми дарованиями алгоритма нечеткого поиска:

77-48211/447648 Алгоритм нечеткого фонетического поиска на основе простых чисел
Молодежный научно-технический вестник # 07, июль 2012
авторы: Ставровиецкий В. В., Гапанюк Ю. Е., Галкин В. А.

В статье описан принципиально новый алгоритм нечеткого фонетического поиска. Рассмотрены основные алгоритмы, которые применяются для решения такого типа задач на сегодняшний день. Изложены основные проблемы использования существующих алгоритмов для предметной области поиска по ФИО. Продемонстрирована работа новейшего алгоритма. Сделаны выводы о качестве поиска при использовании предложенного подхода и о преимуществах над существующими алгоритмами.

(pdf статьи по ссылке)

За некоторое небольшое время написал функцию, реализующую данный подход:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Function WORD_SIGNATURE(ByVal IN_txt)
    Const LTR$ = "АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯ"
    Dim chk(1 To 28)
    ID = Array(-1, 19, 29, 71, 101, 59, 3, 37, 41, 5, 103, 47, 53, 67, 17, 31, 79, 43, 61, 13, 73, 127, 109, 107, 137, 139, 7, 11, 23)
    Const AL% = 5
    Dim SRH(1 To 5), RPL(1 To AL)
    SRH(1) = "Ё": RPL(1) = "Е"
    SRH(2) = "Й": RPL(2) = "И"
    SRH(3) = "Ы": RPL(3) = "И"
    SRH(4) = "Ь": RPL(4) = ""
    SRH(5) = "Ъ": RPL(5) = ""
    ' preprocess
    For j = 1 To AL
        IN_txt = Replace(IN_txt, SRH(j), RPL(j), 1, -1, 1)
    Next j
    IN_txt = UCase(IN_txt)
    SM = 0
    For j = 1 To Len(IN_txt)
        s = Mid(IN_txt, j, 1)
        If s Like "[А-Я]" Then
            PT = InStr(1, LTR, s, 1)
            If chk(PT) <> 1 Then
                SM = SM + ID(PT)
                chk(PT) = 1
            End If
        End If
    Next j
    WORD_SIGNATURE = SM
End Function
и "о ужас!" обнаружил, что "новейший алгоритм с <...> преимуществом над существующими алгоритмами".
Не вполне работает. В частности, тут же обнаружилось, что идея авторов о несовпадении кодов уникальных слов не верна.

Например (см. детали в статье) слова СООБЩЕНИЕ и СТРОК:
 
Буква Код Буква Код
С 43 С 43
О 17 Т 61
О - Р 79
Б 29 О 17
Щ 139 К 103
Е 3
Н 67
И 5
Е -
СУММА 303 303

никак не реагируют на статью студентов-баумановцев, нагло демонстрируя совпадающие суммы (сами-то авторы проверить поленились? - стыдоба...)

Резюме: Не рекомендую, пользоваться алгоритмом от молодых дарований, что возможно, сократит кому-то бестолку потраченное время.
1
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2015, 19:30
Ответы с готовыми решениями:

Применение алгоритмов нечеткого поиска системах персональных данных
Какие ограничения / неточности имеют существующие алгоритмы нечеткого поиска (вагнера Фишера, метод...

Укажите, почему этот алгоритм неправильный
Здравствуйте. Изучаю по книгам программирование, сейчас разбираю алгоритмы сортировки. Первая и...

Алгоритм поиска
Привет всем.Вот тут задумался над алгоритмом поиска,смотрите я придумал такую схему:краулер обходит...

алгоритм поиска
помогите пожалуйста выбрать правильный ответ в алгоритме. Это тестовая задачка Для построения...

Алгоритм поиска ошибки.
Приветствую. :) Нужна помощь в составлении алгоритма поиска ошибки в таблице. Ломаю голову,...

10
salam
189 / 170 / 29
Регистрация: 10.07.2012
Сообщений: 796
06.02.2015, 12:02 2
вообще какая-то очень странная статья. алгоритм основан на гипотезе, что нельзя набрать простое число суммой других простых. это неверный факт. более того, всегда хватит ровно трех простых чисел. наверное, MIT опять тестил своего бота для написания научных статей.)
0
Ilama
0 / 0 / 1
Регистрация: 06.02.2015
Сообщений: 3
06.02.2015, 13:01 3
Лучший ответ Сообщение было отмечено Iasmer как решение

Решение

Iasmer,

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

С другой стороны, понятно для чего было написана эта статья минимально активным пользователем, так что вопросов про изливаемый в паре строк поток бреда и злобы нет.

salam, "алгоритм основан на гипотезе, что нельзя набрать простое число суммой других простых" - это ваша очень вольная интерпретация, даже в этой короткой статье написано, как лучше использовать алгоритм и для чего он предназначен, советую внимательнее перечитать способ применения, если вам действительно нужно ускорение поиска и использование этого алгоритма
0
HighPredator
5800 / 2060 / 732
Регистрация: 10.12.2010
Сообщений: 5,868
Записей в блоге: 3
06.02.2015, 16:26 4
Как я люблю таких людей... Ок, поехали.
Цитата Сообщение от Iasmer Посмотреть сообщение
За некоторое небольшое время написал функцию, реализующую данный подход
1) Доказательство эквивалентности алгоритма в коде алгоритму в тезисах (имхо это тезисы, хотя м.б. в бауманке другие требования к объему статей) в студию.
2) Доказательство неэквивалентности результатов примера в статье и в вашем коде при доказанном п.1.
Цитата Сообщение от Iasmer Посмотреть сообщение
Не вполне работает
3) Показать кейсы корректной работы и некорректной работы. Предоставить аналитическое решение подтверждающее или опровергающее ту или иную позицию.

От себя:
Цитата Сообщение от Iasmer Посмотреть сообщение
никак не реагируют на статью студентов-баумановцев, нагло демонстрируя совпадающие суммы (сами-то авторы проверить поленились? - стыдоба...)
Так, для общего развития, все что публикуется в таких рамках, проходит рецензирование и иногда не одной комиссией. Вдобавок, сами молодые дарования не публикуются, их публикуют под эгидой научного руководителя, который ставит на кон свою репутацию, так что и он тоже сечет что где как.

Цитата Сообщение от Iasmer Посмотреть сообщение
Резюме: Не рекомендую, пользоваться алгоритмом от молодых дарований, что возможно, сократит кому-то бестолку потраченное время.
Ваше резюме -- пшик, т.к. вы не авторитетный источник инфы, у вас нет грамотного опровержения, вы его не отправили в издательство, опровержения там же результатов статьи рецензионной комиссией не было.
3
06.02.2015, 16:26
Казерская Ирина
97 / 33 / 9
Регистрация: 22.08.2014
Сообщений: 104
07.02.2015, 16:14 5
А мне интересны именно такие образцы. Дорабатывая и исправляя их, можно прекрасно освоить новую тему....
0
Iasmer
5 / 5 / 0
Регистрация: 25.02.2010
Сообщений: 34
09.02.2015, 14:24  [ТС] 6
Цитата Сообщение от HighPredator Посмотреть сообщение
на кон свою репутацию, так что и он тоже сечет что где как
(r) - неубиваемый аргумент, понятно, что возразить почти нечего, но попробую.

Дорогой друг!
Судя по многословной бурливости Вашей реакции, не исключено, что Вы один из авторов гениального алгоритма, которым я разослал ссылочку по адресам, указанным в статье, так сказать “принц Флоризель, путешествующий инкогнито”.
Тогда не сочтите за труд, указать на несответствие результатов расчета моей программкой сумм для уникальных слов.

А пока, результаты (для "полного" варианта расчета, выдающего 5 слов, с учетом рекомендуемой Вами (?) для итога "чистки по левенштейну") следующие:
Искомый текст: навредите (третье слово текста с добавленной буквой)
Текст для поиска:
Технический справочник ... Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. ... Во время подготовки отчета к просмотру произошла ошибка. ... Сообщение о том, что количество строк превышает допустимое максимальное количество строк на страницу, обычно
Результат (5 "ближайших по "сигнатуре"=величине суммы) слов: предложения; максимальное; превышает; страницу; Сообщение

Если укажете мою неправоту, готов публично принести извинения. Пока же, простите, у Вас даже не "пшик", а так... один запах.

Добавлено через 34 минуты
С другой стороны, понятно для чего было написана эта статья минимально активным пользователем...
Ilama
Новичок
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 1
Зачем же Вы так бездарно палитесь?
найти полную версию и попытаться понять написанное, чтобы не позориться такими постами
Засылайте. Почту мою знаете, буду благодарен. Не исключаю, что можете подогнать и Вашу программку (что -то наверное, Вы считали?), желательно исходный текст. Если заработает, признАю, что "нес поток бреда и злобы", и вместе весело посмеемся надо мной "ничего не создавшего самому".

Может быть, кто-то из 2-х ответивших возразит по-существу? Предъявит результаты?

Для Ирины: усовершенствовать может не получиться (см. пост уважаемого Salam)
0
HighPredator
5800 / 2060 / 732
Регистрация: 10.12.2010
Сообщений: 5,868
Записей в блоге: 3
09.02.2015, 14:55 7
Цитата Сообщение от Iasmer Посмотреть сообщение
Судя по многословной бурливости Вашей реакции, не исключено, что Вы один из авторов гениального алгоритма
Исключено. Следовательно
Цитата Сообщение от Iasmer Посмотреть сообщение
Тогда не сочтите за труд, указать на несответствие результатов расчета моей программкой сумм для уникальных слов.
Этого не будет.
Цитата Сообщение от Iasmer Посмотреть сообщение
Если укажете мою неправоту, готов публично принести извинения.
В чем проблема? Вуз в котором издано знаете? Знаете. Берете и пишете письмо с "опровержением". В статье адреса авторов есть? Есть. Пишете им. Получаете мировую славу и почет.
0
Ilama
0 / 0 / 1
Регистрация: 06.02.2015
Сообщений: 3
09.02.2015, 14:58 8
Запах от Iasmer, конечно, ужасный ... Но раз этот троль не понимает, что пишет и, что самое трудное - не понимает смысла и так уверенно рассуждает ...

1) ни в одном из примеров не было ФИО, это подход очень глупого троля, использовать алгоритм вне его зона применения, а зона применения очень узкая
2) текст для поиска ... ну не нельзя же быть настолько глупым, чтобы применять алгоритм для поиска среди 3-х слов ФИО для полнотекстовово поиска - это то же самое, что искать левештейном - глупо и бессмысленно, т.к. он для этого не предназначен по производительности
3) вы не анализировали ничего из предметной области и не тестировали результаты на базах 100 000 + записей, а область применения - э то искать в списке ФИО по ФИО - не более, достаточно перечитать заголовок статьи

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

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

хорошо, что тут присутствует цитирование фамилий людей, создающих что-то новое и полезное, респект вам, ребята
безымянный умник, оставит свой позор лишь под ником
0
Iasmer
5 / 5 / 0
Регистрация: 25.02.2010
Сообщений: 34
09.02.2015, 17:57  [ТС] 9
Цитата Сообщение от HighPredator Посмотреть сообщение
В чем проблема? ... письмо с "опровержением"
Мне абсолютно нелюбопытно что-то опровергать и куда-то писать. Даже в Спортлото.
Возможно Вам это важно, поскольку Вы 2-жды упомянули об этом, или это Ваш привычный путь в "мировую славу и почет".

Я лишь заинтересовался алгоритмом нечеткого поиска. Уповая на упомянутую Вами авторитетность ВУЗа, я впустую потратил время, и предостерег от того же возможных последователей. Алгоритм не рабочий.

Уважаемый Ilama, правда, считает иначе, но полагает, что он (алгоритм) применим только "по ФИО - не более", я же, по душевной простоте, не вижу различия между последовательностью символов называемой "фамилия", и любой иной последовательностью буквенных символов.

Эмоциональность части отвечантов указывает на личную заинтересованность, но вопреки обилию букв, ответ по-существу не дан и во 2-й раз.

С братским позором,
Безымянный Умник.

ЗЫ: Зайду ч/з месячишко, глядишь страсти поулягутся, а кто-нибудь ответит что-то умное.

ЗЗЫ: Ilama - у вас остается возможность опровергнуть меня лично, подослав мне Ваши результаты "100000 испытаний"
0
Ilama
0 / 0 / 1
Регистрация: 06.02.2015
Сообщений: 3
09.02.2015, 18:14 10
высылать (а не подсылать - это звучит подленько) что-то ботам или тролям считаю нецелесообразным и унизительным для себя, ответ был дан в несколько пунктов, показывающих пустоту главного поста и необоснованность глупых жалоб на свое тугодумие

кто не видит разницу между поиском по тексту и по слову ... этот человек вообще не имеет права рассуждать на такие темы, пока не освоит основы ...

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

а иасмеру можно только посоветовать научиться думать и прочитать пару статей, чтобы не испытывать впредь такого позора

Гриша

PS где было написано про 100 000 испытаний?, да вы читать не умеете в который раз, в первом посте это видно еще отчетливее, но перечитав, увидели левенштейна - хоть какое-то образование для вас

ЗЫ умненькое вам не понятно, начните с простенького
0
HighPredator
5800 / 2060 / 732
Регистрация: 10.12.2010
Сообщений: 5,868
Записей в блоге: 3
10.02.2015, 08:25 11
Цитата Сообщение от Iasmer Посмотреть сообщение
Алгоритм не рабочий
Не доказано, т.к. объективных доказательств вы не привели.
Цитата Сообщение от Iasmer Посмотреть сообщение
Мне абсолютно нелюбопытно что-то опровергать и куда-то писать. Даже в Спортлото.
Че-то вы сами себе противоречите. Здесь же написали.
Цитата Сообщение от Iasmer Посмотреть сообщение
я же, по душевной простоте, не вижу различия между последовательностью символов называемой "фамилия", и любой иной последовательностью буквенных символов
Ну тогда подкачайте теорию, чем заявлять что-то по теме абсолютно не понимая положения вещей.
0
10.02.2015, 08:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2015, 08:25

Алгоритм поиска информации
ПОИСК И ХРАНЕНИЕ ИНФОРМАЦИИ В СПРАВОЧНИКАХ Цель: Изучение основных принципов построения...

алгоритм поиска повторений
народ, подскажите алгортм для нахождения неизвестных на перед повторений символов в строке

Алгоритм поиска путей
Привет. Ребята, такая тема, у меня есть граф, взвешенный, неориентированный, у меня есть пути из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.