Имя: Пароль:
1C
 
Поиск по маскимально похожему названию или найти количество совпадений
0 ИС-2
 
naïve
02.11.21
09:41
Название номенклатуры в внешнем файле

Саморез 4,8*35 цвет красное вино (RAL 3005)

В базе  
Саморез 35*4,8 (уп. 250 шт.) (производство) красное вино

Надо сделать систему, чтобы предлагала максимально похожие варианты позиций на название во внешнем файле.

Какие инструменты есть для неявного сопоставления названий ? Полнотекстовый поиск. Что еще ?
1 acht
 
02.11.21
09:43
Маня когда-то знал, но у него это знание украли вместе с его мегапрайсом.
2 ДенисЧ
 
02.11.21
09:43
В фузине, говорят, есть полнотекстовый поиск, работающий моментально ))

Или ты хочешь изобрести свой велосипед?
3 Garykom
 
гуру
02.11.21
09:45
(0) Максимально похожие только свою систему разбора/очистки и сопоставления писать
По свои особенности с опором на ключевые слова и параметры
4 Garykom
 
гуру
02.11.21
09:47
(3)+ Все универсальные/готовые будут кучу хрени выдавать или наоборот пропускать ибо они слишком далеко будут

Например у тебя
Саморез 4,8*35 цвет красное вино (RAL 3005)
Саморез 35*4,8 (уп. 250 шт.) (производство) красное вино

И насколько далеко от этих будет "С-з 4.8x35 red wine" ?
5 Kassern
 
02.11.21
09:52
(0) нужен какой то индекс схожести, По морфологии ключевых слов его считать. Для чисел так же можно какой то диапазон сделать с индексом.
6 pechkin
 
02.11.21
10:06
закачать в какой-нибудь эластик и искать там
7 ИС-2
 
naïve
02.11.21
10:16
(4) на этом этапе надо узнать какие есть технологии
8 Злопчинский
 
02.11.21
16:40
StrMatch весьма сносно работает.
делал недавно задачку по (0) на клюшках - клиент доволен до безобразия...
9 Злопчинский
 
02.11.21
16:41
(7) на ИС есть штук 5 разработок на эту тему
10 Garykom
 
гуру
02.11.21
16:56
(7) Так говорю же тебе не технологии нужны а программер(ы) умеющий в парсинг и нечеткий поиск
На чем писать лучше это вопрос, смотря где у тебя данные с которыми сравнивать
11 Garykom
 
гуру
02.11.21
16:59
(8) В 1С 8 полнотекстовый поиск вполне хорош и нафик не нужна StrMatch

https://its.1c.ru/db/metod8dev/content/1572/hdoc
12 Garykom
 
гуру
02.11.21
16:59
По сути надо вытащить ключевые и попробовать полнотекстовый поиск с синонимами
Где хранить синонимы уже сам думай и как ключевые вытаскивать
13 Базис
 
naïve
02.11.21
17:08
Левенштейн или теги.
14 Garykom
 
гуру
02.11.21
17:14
(13) Нет
Левенштейн хорош (супер хорош) когда ошибки операторов, ну там пропустили, заменили или добавили лишние символы
В данном случае метод N-грамм лучше
15 Базис
 
naïve
02.11.21
17:14
Хотя именно по метизам - неполная информация, но часть параметров критична - только автоопределение возможных и выбор из списка кандидатов товароведом правильных.
16 Garykom
 
гуру
02.11.21
17:18
(15) Классический ML же
Выделение признаков, обучение на выборке "оператором", далее юзаем без оператора
17 pechkin
 
02.11.21
17:22
(16) а смогут обучающую выборку нормальную сделать?
18 Meduza85
 
02.11.21
17:22
(0) Можно пользоваться стандартными функциями в PostgreSQL (если в качестве бэкенда PostgreSQL конечно). Вот тут можно почитать про это :
https://postgrespro.ru/docs/postgresql/13/datatype-textsearch
https://postgrespro.ru/docs/postgresql/13/textsearch
https://postgrespro.ru/docs/postgresql/13/functions-textsearch

Да, в фузине работает и подключается автоматически из коробки.
19 fisher
 
02.11.21
17:26
Набрать в гугле "Алгоритмы нечеткого поиска". Я молодец? :)
20 Garykom
 
гуру
02.11.21
17:26
(17) Так можно в процессе работы и обучать постоянно
21 Garykom
 
гуру
02.11.21
17:26
(19) Смысл какой? Их дохрена но не все подходят
22 Базис
 
naïve
02.11.21
17:27
(16) И сразу ясно, почему конкретно этот крепëж я покупал по цене 50% от цены красной икры.
(18) Мало какой из SQL серверов поймёт, что в первой строке "красное вино" и RAL 3005 - синонимы и один из них не важен.
23 fisher
 
02.11.21
17:28
(21) ТС хотел "технологии"? Их будет там.
24 fisher
 
02.11.21
17:32
(20) Хрена оно в работу пойдет. Задолбаешься обучать до вменяемого результата.
25 fisher
 
02.11.21
17:34
Да и микросервис прожорливый получится :)
26 trad
 
02.11.21
17:36
(0) Саморез, красное вино. Пафоса-то сколько. Эти маркетологи вообще уже долбанулись!
27 Garykom
 
гуру
02.11.21
17:36
(26) мебельные же
28 Garykom
 
гуру
02.11.21
17:37
(27)+ хотя нет это кровельные
под цвет крыши
29 fisher
 
02.11.21
17:40
На практике ИМХО хватит разложить по словам и тупо сопоставлять два набора слов с приоритетами. Совпадения по первому слову и "числовым" словам считать по максимальному приоритету. Окончания еще можно срезать. Пополнить набор правил и весов отталкиваясь от целевого набора и полетит как нейронка через год обучения.
30 Garykom
 
гуру
02.11.21
17:42
(29) Синонимы не забыть
И да https://ru.wikipedia.org/wiki/Метод_k-средних классика
31 trad
 
02.11.21
17:43
(28) белый, красный, синий, зеленый и т.п. Не хватает? Ну добавьте там: бордовый, пурпурный, оливковый
Но это вот все: красное вино, зеленый мох, морская волна... ¯\(°_o)/¯
32 Garykom
 
гуру
02.11.21
17:45
(31) Маркетинг и удобно несколько красных отличать
33 Garykom
 
гуру
02.11.21
17:45
(32)+ Самый пипипи когда автопроизводители "перламутром" обзывают совершенно разные цвета
34 Kassern
 
02.11.21
17:47
(31) Есть #5e2129 цвет винно-красный, а есть #ff0000 красный, как вы их по другому различать будете?
35 trad
 
02.11.21
17:52
(34) да бурчу я просто )
А различать и выбирать я буду все равно не по названию, а глазами
36 fisher
 
02.11.21
17:54
Независимо от того, куда вы едете — это в гору и против ветра!