|
Подскажите алгоритм поиска похожих строк. | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
19.10.12
✎
12:29
|
Задача. Перед тем как пользователь добавит новую номенклатуру,
проверить нет ли уже номенклатур с похожим наименованием. Вроде не так давно такой тут видел. Найти не могу. |
|||
1
vicof
19.10.12
✎
12:30
|
ПОДОБНО не?
|
|||
2
GLazNik
19.10.12
✎
12:31
|
(0) для начала определиться что есть "похожее наименование"
А так: ПОДОБНО в запросе |
|||
3
Godofsin
19.10.12
✎
12:31
|
||||
4
alex-pro
19.10.12
✎
12:32
|
(0)
"котлета" и "конфета" - похожие строки?))) |
|||
5
France
19.10.12
✎
12:32
|
блин, утром же было уже..
|
|||
6
Галахад
гуру
19.10.12
✎
12:32
|
Форум Миста похож на
ФорумМиста форумМиста Миста Форум МистаФорум |
|||
7
HeroShima
19.10.12
✎
12:33
|
Я бы делал так:
Выделить несколько уровней схожести наименований. Составить индексы по каждому. Найти. А лучше спросить у яндекса. Буквально. |
|||
8
Мимо Проходил
19.10.12
✎
12:35
|
(6) убираешь все символы типа пробел, тире и т.д., оставшееся переводишь в нижний регистр и сортируешь символы по алвавиту. Получившийся ключ сравниваешь с ключом имющихся. При этом "Волшебник" будет совпадать с "влобешник"
|
|||
9
HeroShima
19.10.12
✎
12:37
|
(8) а "Волшебник" будет совпадать с "Влшебник"?
|
|||
10
GenAcid
19.10.12
✎
12:39
|
Метод N-грамм. Бьешь искомую фразу на куски по N символов, и ищешь по вхождениям этих подстрок, чем больше подстрок совпало тем выше вероятность того, что строки совпадают. Правда на 1С будет не очень быстро работать.
|
|||
11
Мимо Проходил
19.10.12
✎
12:39
|
(9)Это уже следующий этап, в (6) такая задача не стояла.
|
|||
12
GLazNik
19.10.12
✎
12:39
|
(8) а еще с Кинбешлов и кучей других вариантов... кроме того похожесть может быть и такого порядка:Форум миста и ффорум мистаа
|
|||
13
Mort
19.10.12
✎
12:42
|
Все эти проверки от лукавого.
|
|||
14
GLazNik
19.10.12
✎
12:43
|
(13) +1. Для прикладных задач может и интересно. Но для учетной системы... как-то не айс
|
|||
15
Галахад
гуру
19.10.12
✎
12:43
|
(8) Неплохая идея.
(10) Похоже уже ближе. (13) Почему? |
|||
16
ptiz
19.10.12
✎
12:48
|
(13) +1
Всё равно кто-то будет принимать окончательное решение, Достаточно по вхождению первых букв подобрать (например, сначала по полному наименованию, потом взять первые 80% от длины и т.д.) |
|||
17
Мимо Проходил
19.10.12
✎
12:49
|
(15) Мне для поиска подобности в 1С обычно хватало перевести все в один регистр и заменить спецсимволы на пустую строку. Основная масса совпабений находилась. А остальные - для каждого конкретного случая писать свой алготитм было непродуктивно. Но не зная конечной задачи советовать конкретный алгоритм, имхо, это ставить диагноз по телефону
|
|||
18
Ахиллес
19.10.12
✎
12:50
|
Опять изобретаем велосипед с квадратными колёсами вместо того чтоб в типовой реализацию посмотреть?
|
|||
19
Рэйв
19.10.12
✎
12:51
|
(0)наказать несколько раз рублем, наплодивших дублей - остальные будут тебе искать похожие лучше всяких запросов и ПОДОБНО
|
|||
20
Mort
19.10.12
✎
12:51
|
(15) Потому что если пользователь не включает серое вещество, проверки на неполное соответствие не помогут.
|
|||
21
mikecool
19.10.12
✎
12:52
|
помню было такое - всю номенклатуру новую заводили в отдельную папку для отбора и сортировки, должен был быть отдельный сотрудник для ее обработки - так нифига и не взлетело, так эта папка и осталась помойкой
|
|||
22
Lama12
19.10.12
✎
12:58
|
(0)Есть классические алгоритмы у Кнута, например.
|
|||
23
Lama12
19.10.12
✎
12:58
|
(0)По основной проблеме. Должен быть один человек который администрирует всю номенклатуру.
Иначе будет бардак и программно вы его не решите. |
|||
24
Галахад
гуру
19.10.12
✎
13:07
|
(17) Ага, идея понятна. Буду думать.
(18) О, а что там? (19), (20) Ну надо же помочь человеку. (21) Уже есть такая. Идея проверять на дубль ДО записи. (22) Спасибо. |
|||
25
Ахиллес
19.10.12
✎
13:11
|
(24) Я не интересовался, мне не нужно. Если тебе интересно, посмотри сам, думаю такая хрень есть во всех "торговых" конфах.
|
|||
26
Галахад
гуру
19.10.12
✎
13:13
|
(25) Посмотрю, конечно. А пока под боком только древняя УТ.
Нет там ничего такого. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |