Вход | Регистрация
    1  2   
Информационные технологии :: Математика и алгоритмы

Быстрый алгоритм наибольших общих подстрок

Быстрый алгоритм наибольших общих подстрок
Я
   Garykom
 
22.09.16 - 00:00
Требуется среди множества строк найти наибольшие общие подстроки с начала/конца строк.

Задачка осложняется что некоторые строки могут не содержать требуемых общих подстрок и требуется разделение всех строк на некие "группы" для которых существуют требуемые общие подстроки.

Типовой алгоритм https://ru.wikipedia.org/wiki/Наибольшая_общая_подстрока слишком медленно работает, т.к. сравнивает строки только попарно.

И когда исходных строк от сотен до десятков тысяч получаем полный затык.

Пример:
Товар1 арт1 зеленый
Товар2 арт2 красный
Товар3 арт3 синий
Товар1 арт4 серый

Ищем общие подстроки "справа" для: ("Товар1 ", "Товар2 ", "Товар3 ", "Товарр1 ")
Находим: "р1 " - 2 совпадения и " " - 4 совпадения

И общие подстроки "слева" для: (" зеленый", " красный", "синий", " серый")
Находим: " " - 4 совпадения и " с" - 2 совпадения

Зачем это нужно? А чтобы разделять длинные одностроковые (наименования) на составляющие построки для выделения характеристик.
Вывод: вероятнее всего " " и " " являются "разделителями" характеристик. Теоретически разделителями может быть что угодно - ";", "," "(", ")" и "символ табуляции" и т.д.
 
 
   Torquader
 
1 - 22.09.16 - 00:07
Для сравнения товара в разных базах нужно ?
Я это делал так - делил строки на слова - если слово заканчивается точкой, то его в "исключения" (при сравнении отбросить продолжнения).
Далее, каждому элементу приписываем номера слов в него входящих по возрастанию.
При сравнении, сравниваем номера по максимальному совпадению, а далее - просто пытаемся сопоставить слова с наименьшей заменой (то есть сколько нужно заменить-вставить символов, чтобы одно было положе на другое).

И всё получается.
   Garykom
 
2 - 22.09.16 - 00:10
(1) Угу для заведения номенклатуры "по правилам" и сопоставления автоматического.
Простое деление на слова по " " (пробелу) не катит, потому что любят такое делать:

"Товар1 арт. 45454 (4545454;валвла-алвалв,ава23) - оуаова"
   Garykom
 
3 - 22.09.16 - 00:14
(2)+ Думал задать список/справочник "ключевых слов" (часто встречающиеся служебные слова или характеристики типовые).
Искать их в наименованиях и то что слева/справа от ключевых делать разделителями.
   GedKo
 
4 - 22.09.16 - 00:17
не проще исходные данные привести к порядку? например использовать разделители
   Torquader
 
5 - 22.09.16 - 00:18
(3) Это тогда им форму нужно рисовать для сбора наименования.
Просто, если к этому вопросу правильно подойти, то у товара вообще наименования быть не должно - только тип товара и дополнительные свойства, зависящие от типа - а по ним уже система сама наименование строит.
   Garykom
 
6 - 22.09.16 - 00:21
(5) Да так и есть в правильной базе оно все так, у товаров есть только наборы реквизитов/свойств из готовых справочников.

Но чтобы сделать загрузку авто в эту правильную базу для сравнения из кривых "прайсов" требуется решить эту задачку.

И все осложняется тем что каких то одинаковых артикулов по факту нету (( Уникальный артикул/ШК производителя/поставщика это то что не распозналось "по справочникам".
   Torquader
 
7 - 22.09.16 - 00:24
(6) Проблема ещё в том, что для одного и того же у поставщика могут быть не только различные наименования, но и штрих-коды - просто из-за того "что так получилось".
   Garykom
 
8 - 22.09.16 - 00:25
(4) Вот это и хочу сделать как результат, но что поделать если данные исходные только в таком виде доступные есть?

Чтобы было понятнее зачем то банально заходим на Али или другие подобные "барахолки" типа Авито и видим полный изврат.
Когда чтобы нормально найти что то приходится извращаться с разными наборами ключевых слов. Потому что продаваны сволочи и слово "телефон"/"phone" к примеру засовывают во все подряд ((
   Garykom
 
9 - 22.09.16 - 00:27
(7) Угу вот и хочу по "набору свойств" классифицировать, чтобы потом натравить туда ИНС и получить какой то результат.
   Garykom
 
10 - 22.09.16 - 00:31
Пример 1-й место (у меня) с али по поиску "телефон"/"phone" это
Wireless IP Camera WiFi Micro SD Network 2 Ways Audio Security Camera Family Video Surveillance HD CCTV Support Smart Phone View

Человек понимает что это "беспроводная камера с поддержкой просмотра на телефоне" - как объяснить это компьютеру?
 
 Рекламное место пустует
   Garykom
 
11 - 22.09.16 - 00:32
А потом продать эту AI хрень самому али... ))
   Garykom
 
12 - 22.09.16 - 00:36
(10)+ Пример с разделителями "/" или " ":

"3.5mm Audio Plug Wired Mini Microphone Portable Stereo Condenser Mic for Chatting/Karaoke/PC/Phone/Ipad etc with Lavalier Clip"
   Torquader
 
13 - 22.09.16 - 00:37
(11) Так это тебе нужно машину обучить человеческому языку - задача, которая до сих пор не решена.

В твоём примере, сначала нужно найти фразу Support Smart Phone View, а потом разобрать на составляющие, чтобы понять, что главное слово здесь View, а все остальные его характеристики.
   Garykom
 
14 - 22.09.16 - 00:39
(13) Верно! Но сначала надо "разделить" это на составляющие "подстроки-слова".
Потом по "набору слов рядом" можно уже распознавать "фразы".
   Garykom
 
15 - 22.09.16 - 00:40
(14)+ К примеру вместо фразы "Support Smart Phone View" может быть фраза-аналог "Support View on/with Smart Phone"
   Torquader
 
16 - 22.09.16 - 00:41
(14) Для начала, нужно разделить на глаголы и существительные.
   Torquader
 
17 - 22.09.16 - 00:42
(15) Ещё не забывай, что там пишут люди, которые не очень хорошо знают английский язык.
Слова on with for и т.п. как раз позволят делить на части выражение.
Существительные же читаются справа налево как прилагательные к основному.
   Garykom
 
18 - 22.09.16 - 00:43
(16) Еще более не решаемая задачка (( Все типовые распознавалки изначально предполагают задачу разделения на слова уже решенной.

Ибо если искать все "ключевые слова" в тексте это просто нереальная задача.
   Garykom
 
19 - 22.09.16 - 00:48
Кстати пример с "али" это просто самый наглядно-фиговый. Реально нужно для некоторых крупных аггрегаторов-поставщиков типа Мерлиона и еще по канцелярке клиент готов заплатить для разных файликов/тетрадочек.

Вот как оно у мерлиона выглядит http://merlion.com/catalog/list/1333/
   Garykom
 
20 - 22.09.16 - 00:48
(19)+ В смысле мой мелкие клиентики просят им "нечто придумать", а то счас менагеры на заказах зашиваются при поиске по каталогам разным.
   Garykom
 
21 - 22.09.16 - 00:52
(19)+ Сорри пример не совсем правильный, с техникой оно попроще (хотя расходка это пипец) а вот такое http://merlion.com/catalog/list/1186/,
где "Скрепки Alco 458-26 пластиковая оболочка домик 26мм ассорти (упак.:500шт) пластиковая коробка".

И в системе которая доступ по API оно только в таком виде и все.
   Torquader
 
22 - 22.09.16 - 00:56
(21) У мерлиона проще - там получается сначала название - потом в скобках артикул, а далее - описание упаковки.
   Garykom
 
23 - 22.09.16 - 01:00
(22) Да согласен, но не мерлионом единым ))
Хочется то изобрести и реализовать некий единый универсальный алгоритм/сервис.
И чтобы можно было его гибко настраивать и на что угодно натравливать.
   Torquader
 
24 - 22.09.16 - 01:03
(23) RegExp называется ^_^
   Garykom
 
25 - 22.09.16 - 01:05
(24) Отличная штука, но на изучение слишком много времени уходит (( Простых юзверей этому трюку не обучить.

В отличие от: Возьмите несколько примеров и разберите их вручную, попробуйте как оно само разбирает прочие наименования. Повторяйте до требуемого результата на не правильно разобранных.
   Garykom
 
26 - 22.09.16 - 01:10
(25)+ Сейчас уже сваяна некая альфа-версия этого дела но она дико тормозная и приходится сначала пользователю указывать вручную "разделители" на примерах.
И оно зараза не верно часто делит когда "-" или "/" это не разделитель а внутри сущности/признака.
   Torquader
 
27 - 22.09.16 - 01:11
Вообще-то, в данной теме курят сначала большие данные, а потом - машинное обучение - тогда система сама будет учиться вместе с пользователем.
   Garykom
 
28 - 22.09.16 - 01:12
(27) Ага вот где бы кластер/суперкомп только добыть? Уже и вычислениями/субд на GPU даже озадачился от отчаяние что алгоритму не придумать.
   Torquader
 
29 - 22.09.16 - 01:12
(26) Ты ещё не забывай что через слеш некоторые варианты пишут.
   Torquader
 
30 - 22.09.16 - 01:16
(28) Возможность проверки, что это слово или не слово - есть ?
   Garykom
 
31 - 22.09.16 - 01:16
(29) Угу хотел то чтобы пользователь указывал только "варианты", которые заносятся в справочники нужные.
Затем простая разбивка на слова и поиск слов в справочниках на полное соответствие без "like".
Далее банально битовый хеш по признакам-словам в наименованиях и вот они вместе родимые и шустро.
   Garykom
 
32 - 22.09.16 - 01:17
(30) Слишком медленно полный поиск, реально не выходит применять.
   Torquader
 
33 - 22.09.16 - 01:18
Ты ещё про сокращения не забывай - часто, например, вместо пластмассовый пишут пласт. и т.п.
 
 
   Garykom
 
34 - 22.09.16 - 01:19
Если обычный полнотекстовый индекс для всех "прайсов" то он строится медленнее чем прайсы обновляются ))
   Garykom
 
35 - 22.09.16 - 01:19
(33) А вот это банально, юзеры при указании "признаков" могут занести в справочник как новый или как синоним.
   Torquader
 
36 - 22.09.16 - 01:21
Прайсы-то обновляются, только вот новых позиций в них не так уж и много - если с прошлого раза сохранить, то искать новое нужно будет только то, чего в прошлый раз не было.
   Злопчинский
 
37 - 22.09.16 - 01:35
(15)  такие фразы будут сильно похожи и отловятся обычным нечетким поиском
   Злопчинский
 
38 - 22.09.16 - 01:39
Я так и не понял какую задачу надо решить???
Манагер натоптал какую-то фразу-наименование и надо понять есть ли ЭТО в каком-то большом списке?
   Garykom
 
39 - 22.09.16 - 01:46
(38) Ближе к натоптал фразу и она ищется в нескольких огромных списках.
Обычная задача для менагера найти у кого (из поставщиков) есть данный товар (требуемый клиенту или для пополнения на склад).
Причем предполагается что товары еще с нашим товаром не сопоставлены каким то образом.

Задачка в лоб через нечеткое сравнение строк решается отвратительно и очень долго.
Метод N-грамм и прочие которые применяют крупные поисковики (гугл, яндекс и т.д.) очень хороши но требуется исключение не нужных результатов.

Ищет менагер бумагу белую, та ему не нужно не белую а цветную показывать, причем он не говорит/перечисляет все ненужные слова (цветная, зеленая)
   Злопчинский
 
40 - 22.09.16 - 01:50
(39)  в лоб через нечеткое сравнеие долго - это сколько? Пять-двадцать секунд на ответ - это много?
   Torquader
 
41 - 22.09.16 - 01:51
(39) Ну, цвета тебе точно придётся в отдельный список выносить, а ещё, наверняка, нужно будет понимать, что серый равно серебристый для одного товара, и не равно для другого.
   Garykom
 
42 - 22.09.16 - 01:52
(39)+ И вот чтобы эту задачку решить нуна научиться быстро разделять "наименования" на "слова". Причем когда они разделяются не простыми " " (пробелами) а разными "-", "/" и прочими скобками и другими символами или даже несколькими символами.

К примеру " арт. " это бесполезная штук и просто разделитель.
   Злопчинский
 
43 - 22.09.16 - 01:52
ну тут надо видимо понимать что если ищем и хотим хорошего совпадения по тремпятидесятиспискам и каждый список размером сто тыщ или четыреста тыщ строк - то наверное надо озаботиться в первую очередь железом???? Гугл и яндекс ониж не на наших серверах крутятся???
   Torquader
 
44 - 22.09.16 - 01:53
(42) Это как раз очень полезная штука, так как после неё идёт слово или набор слов, который товар не характеризует, а является его уникальным (или псевдо уникальным) ключом внутри прайса.
   Garykom
 
45 - 22.09.16 - 01:53
(40) Дико много и проблема когда реальные каталоги номенклатуры то там уже минуты на ответ, менагер помрет ждать.
И нечеткое оно слишком нечетко результат выдает, нужна точность почти как человек может.
   Torquader
 
46 - 22.09.16 - 01:54
(43) И яндекс и google сайты уже обработали и в момент поиска ищут по своей базе.
   Garykom
 
47 - 22.09.16 - 01:54
(44) Дык согласен что это "разделитель" или ключевой указатель для "признака" рядом.
   Злопчинский
 
48 - 22.09.16 - 01:54
(42)  не взлетит
Сначала надо нормализовать исходные списки - тупо пробежаться по ним и выкинуть все незначимые символы и сочетания которые не несут нагрузки

Далее ищем нечетким поиском
Полученное подмножество результатов обрабатываем уже более предметно
   Torquader
 
49 - 22.09.16 - 01:55
Нужно, видимо, как yandex - готовить прайсы под поиск и не забывать их вовремя обновлять.
 
 Рекламное место пустует
   Garykom
 
50 - 22.09.16 - 01:55
(46) Да можно делать с предварительной обработкой но размеры индексов полнотекстовых такие дикие выходят что простого диска легко не хватит.
   Torquader
 
51 - 22.09.16 - 01:56
(50) Тут уже придётся что-то сокращать.
Хотя, дисков-то можно и докупить - они сейчас не очень-то и дорогие.
   Garykom
 
52 - 22.09.16 - 01:57
(48) Согласен но это уже целая служба и штаты сотрудников. Хочу их заменить умным софтом.

К примеру когда то нужен был переводчик чтобы понять текст на китайском... сча можно просто Хром поставить.
   Garykom
 
53 - 22.09.16 - 01:57
(52)+ * человеческий переводчик с зарплатой
   Torquader
 
54 - 22.09.16 - 01:58
(52) На самом деле - прайс - ни о чём - надо парсить сайты и искать характеристики товара, который находится в прайсе - тогда можно понять, о чём идёт речь, и что является основным, а что является характеристиками.
   Garykom
 
55 - 22.09.16 - 01:59
(51) Но от идеи программы на компе клиента придется тогда отказаться, это уже целый тормозной комплекс для крупняка и он у них уже есть. И делать только сервис с дорогой поддержкой/обслуживанием.
   Garykom
 
56 - 22.09.16 - 01:59
(54) Верно! Но чтобы правильно искать сначала нужно решить задачку (0) - "разделить на слова".
   Torquader
 
57 - 22.09.16 - 02:00
(55) Проще сделать готовый сервис, так как программу всё равно как-то нужно будет обучать.

Тут получается так - что сервис - это одна база для всех, а если программа у клиента - то у каждого - своя база.
   Torquader
 
58 - 22.09.16 - 02:01
(56) Я просто с техническими прайсами по электротехнике сталкивался - так там вообще понять, что в нём записано, можно только после того, как увидишь описание - так как сплошные аббревиатуры и сокращения.
   Злопчинский
 
59 - 22.09.16 - 02:01
(45)  нормально оно выдает
Чем длиннее поисковая фраза тем нечеткий поиск ищет лучше

Потому что если задать поиск
Белая бумага
То туда попадет и
Обои с белой бумагой

А вот когда получил подмножество нечетким поиском его можно уже дополнительно просеивать более формальными методами чем нечеткий поиск
   Злопчинский
 
60 - 22.09.16 - 02:03
(58)  я делал такую хрень для магазина радиодеталей
Там все радиодетали похожи на все по маркировке
Но даже на этом буквенноцифровом абракадабре нечеткий с последующей эмпирической обработкой давал вполне приемлемые результаты
   Garykom
 
61 - 22.09.16 - 02:03
(58) Угу аббревиатуры и сокращения они везде. Но поднятие подобного сервиса уже не потяну никак.
Попробовал и тупо времени не хватает на все задачки не выходит расклонироваться.
   Злопчинский
 
62 - 22.09.16 - 02:04
а если вы хотите найти иголку в стоге сена или других похожих иголок - сорри, но тут видимо упирается вопрос в баланс качества такого поиска и имеющихся ресурсов
   Garykom
 
63 - 22.09.16 - 02:05
(59) Чтобы просеивать формальными методами один фиг нужно разделить. И фишка что я то хотел получить ускорение за счет предварительного разделения.

А не после того как ждали полминуты-минуту на поиск и потом еще ждем когда прочие методы отработают.
   Torquader
 
64 - 22.09.16 - 02:06
(63) Если всё делать параллельно, то будет быстрее - прочие методы начинают обрабатывать уже полученный результат, хотя он не полностью получен.
   Garykom
 
65 - 22.09.16 - 02:08
Смысл что искать нечетким поиском похожие длинные фразы хуже, чем тем же нечетким или даже четким по синонимом найти 10 слов.
И по % совпадений слов, причем с исключением лишних слов (когда ищем белую, автоматом выкидыватся из поиска/подбора цветная|зеленая|красная), шустро подбираем что нуна.
   Злопчинский
 
66 - 22.09.16 - 02:08
(63)  не взлетит
   Garykom
 
67 - 22.09.16 - 02:09
(66) Уже давно взлетело, попробуй поиск в 2гис ))
   Torquader
 
68 - 22.09.16 - 02:10
(65) Вся проблема в том, что у поставщика в прайсе будет указано "SvetoCopy A4" - и все алгоритмы идут в лес.
   Garykom
 
69 - 22.09.16 - 02:10
(67)+ Но у них четкая отрасль/ограничение: только объекты/здания/фирмы на карте.
   Garykom
 
70 - 22.09.16 - 02:11
(68) Если ищем А4 то автоматом уже не найдутся "SvetoCopy A3" так что не совсем в лес.
А простой нечеткий выдаст все с "SvetoCopy АX".
   Garykom
 
71 - 22.09.16 - 02:13
(70)+ т.е. при справочники они имеют признак альтернативности и если указан "А4" то все прочие из этого справочника размера из результата исключаются автоматом.
   Torquader
 
72 - 22.09.16 - 02:13
(70) Просто, первым этапом он должен найти все SvetoCopy, так как это слово "основное", а потом уже по ним выбирать формат.
   Garykom
 
73 - 22.09.16 - 02:14
(71)+ А справочник "марок" типа "SvetoCopy" это аналоги для просто "бумага".
   Злопчинский
 
74 - 22.09.16 - 02:14
(65)  ээээ дружище.... Ты белую увязываешь с зеленым и красным чтобы разделить, поэтому сначала надо обобщить подмножество чегото чтобы потом по этому подмножиству делить

Если ты ищешь белую бумагу и не привязываешься к грамматике и всякой семантике

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

И это ты знаешь что к бумаге надо фильтровать по цвету
А что то другое по критерию веса тяжелая легкая
Затрахаешься

Если делать универсально то все равно придешь к тем же самым нечетким поискам
   Torquader
 
75 - 22.09.16 - 02:14
(71) Мыши A4Tech очень обидятся, так как некоторые их пишут A4 Tech
   Злопчинский
 
76 - 22.09.16 - 02:17
(67)  дай ссылку и пример
   Garykom
 
77 - 22.09.16 - 02:17
(74) Немного не так но да )) суть алгоритма более хитрая в последущем. Оно делит все сущности/объекты/конретную номенклатуру на некие "классы" для которых задаются допустимые сочетания признаков.
Получается весьма сложная структура которая затем используется для подбора/поиска.

Фишка что хочу чтобы не программист программил эту структуру. А сами юзвери когда загружают "прайс", причем обычные менагеры. А вот прога уже почти все сама сделает по "классификации" на основе обучения по примерам.
   Злопчинский
 
78 - 22.09.16 - 02:17
(69) вот именно
   Злопчинский
 
79 - 22.09.16 - 02:19
(72)  здрасте вам в люлю
Вот есть такая фраза

Daster mhgdas yjkiop dxrtyhret

Какое здесь слово основное?
   Злопчинский
 
80 - 22.09.16 - 02:20
(75)  пофиг
Пробел на поиск не влияет ибо он не звучит фонетически
Поэтому перед поиском нормализуем все
   Garykom
 
81 - 22.09.16 - 02:21
   Torquader
 
82 - 22.09.16 - 02:21
(80) Только A4Tech и A4 Tech - будут разные понятия - никто же не знает, что можно склеивать как угодно слова.
   Garykom
 
83 - 22.09.16 - 02:23
(82) Вот и мне некогда и не хочется предусматривать все варианты кривого написания. Хочу чтобы юзеры сами сказали что "A4Tech"="A4 Tech" и что " " тут не разделитель а часть "слова".
   Злопчинский
 
84 - 22.09.16 - 02:24
(77)  так или иначе видимо придется делать некую кластеризацию
То есть сначала определить для вашей конторы базовые кластеры
И далее както считать признаки, у которых расстояние до кластера минимальные

Для кластера бумага весомыми будут признаки цветов
Для кластера школьных ранцев весомыми будут признаки материала
И так далее
   Garykom
 
85 - 22.09.16 - 02:25
(83)+ Т.е. "Мышь A4 Tech Серая USB" разделитель будут "ь " и " С"
   Torquader
 
86 - 22.09.16 - 02:26
(85) Он должен найти основное слово "мышь" - точнее - оно должно быть задано заранее.
   Злопчинский
 
87 - 22.09.16 - 02:26
(83)  да пофиг точно также будут выкидываться всякие # % N
Все в итоге сведется к этому самому расстоянию ливенгука или как там его...
   Garykom
 
88 - 22.09.16 - 02:27
(85)+ Ну или разделители "ь A" и "h С" но что части этих "разделителей" включатся в "признаки" слева и справа по нужному числу символов.
Разделитель имеет (длину, значение, символы признака слева, символы признака справа)
   Garykom
 
89 - 22.09.16 - 02:28
(88)+ (3,"ь A",1,1) и (3,"h С",1,1)
   Garykom
 
90 - 22.09.16 - 02:29
(86) Хотел чтобы это слово "Мышь" прога подсказала юзеру, а он уже только сказал в какой это справочник засунуть или даже правильно засунули к "Клавиатура" или нет?
   Злопчинский
 
91 - 22.09.16 - 02:29
(86)  и как оно будет задано заранее?
Все равно приходишь к некоторым формальным требованиям если необходимо усилить качество
Типа того что главное слово то есть предмет поиска должно стоять первым

Тогда
Мышь серая
И
Серая мышь

При поиске будут давать принципиально разные результаты
Ибо во втором случае
На серую мышь больше похожа серая бумага чем черная мышь
   Torquader
 
92 - 22.09.16 - 02:29
(87) Ну, не всегда это хорошо, так как Хлопок 40% выглядит куда лучше чем без процента.
   Torquader
 
93 - 22.09.16 - 02:31
(91) Нужно знать значения всех слов - просто компьютер не всегда глагол от существительного отличит (например "печь")
   Garykom
 
94 - 22.09.16 - 02:31
>На серую мышь больше похожа серая бумага чем черная мышь
вот именно и простой нечеткий поиск тут врет дико, в отличие от сопоставления по отдельным словам
   Злопчинский
 
95 - 22.09.16 - 02:31
(90)  ответь на (79)
   Garykom
 
96 - 22.09.16 - 02:32
(93) У нас алфавит и словарь ограничены ))
   Torquader
 
97 - 22.09.16 - 02:32
(95) Там у тебя одни артикулы - а они или повторяются точно также или вообще нигде больше не встречаются.
   Torquader
 
98 - 22.09.16 - 02:33
У меня просто была идея - сделать машину, которая человеческую речь понимает и как-то может охарактеризовать и свернуть - но это было во студенчестве и несколько деревьев языка уже в памяти не помещались - сейчас машины стали мощнее, и можно попробовать.
   Garykom
 
99 - 22.09.16 - 02:34
(95) >Daster mhgdas yjkiop dxrtyhret

для системы не важно какое слово основное )) оно сделает основным то слово которое скажет юзер к примеру "mhgdas" и автоматически получит еще 3 слова "Daster", "yjkiop" и "dxrtyhret" по которым и будет работать.
   Злопчинский
 
100 - 22.09.16 - 02:35
(94)  фиг тебе
Нечеткий сработает лучше

есть список
Мышь серая
Серая бумага

Ищем
Серый мыщь

Нечеткий поиск стопудово первым похожим дасть
Мышь серая а потом серая бумага
  1  2   

Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует