Вход | Регистрация

  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 человек.
Рекламное место пустует