![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| lazarevmax_mcx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 26.6.2004 Репутация: нет Всего: нет |
Такая проблема:
нужно сравнить две строки названий товара из прайса: Сетевой фильтр Sven Platinum, 1.8 метра Сетевой фильтр <Sven Platinum Pro> 1.8 м и чтобы в результате сравнений было true. а если сравниваются строки: Сетевой фильтр Sven Platinum, 1.8 метра Сетевой фильтр Sven Optima Special 1.8 м возвращал false.... У кого может быть есть идеи? |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
||||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
А у меня такая: 1. Создаёш два буфера типа string; 2. Потом загоняшь в каждый буферы соответствующие строки; 3. Потом через цикл по кол-ву символов во втором буфере, удаляешь символы из него которые не подходят по определённым критериям (например: спецсимволы, скобки и т.п.) 4. Далее остатки буферов сравниваешь. Это сообщение отредактировал(а) Zero - 2.10.2005, 11:42 |
|||
|
||||
| Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
lazarevmax_mcx, под твое условие подошло бы и:
Pos('Sven Platinum', 'Строка с фильтром') > 0 |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
А у меня другая идея: навести порядок в прайс-листе.
Зачем парится над хитрыми решениями поиска и сравнения, когда можно внести ограничения в систему ввода наименований товара и обеспечить тем самым порядок! -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
cardinal Это-то само собой, но релизовать реальную сравнивалку строк тоже интересно...
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
cardinal а если у них уже всё введено, и lazarevmax_mcx парится над тем как это всё объеденить, то ты предлагаешь, не парится над прогой и сделать всё вручную, т.к. голова умнее программы???
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Впринцепе если уже речь пошла о голове, то мы ведь не сможет реализовать принцип сравнения двух строк, который аботает у нас в голове, а только максимально приблизиться к нему, а значит погрешности все-таки будут...
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
А что если кто-то начал делать г...., извиняюсь, то надо продолжать это делать? Возможно это как раз тот момент, в который еще можно переработать все вручную, чтобы в будущем не париться. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
+ это хорошо, что автор знает что Сетевой фильтр Sven Platinum и Сетевой фильтр Sven Platinum Pro это одно и то же. ибо я, например, так бы не сказал...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Интересно, значит предположим имеем три строки:
1. Сетевой фильтр Sven Platinum 2. Сетевой фильтр Sven Platinum Pro 3. Сетевой фильтр Sven Optima Special При этом первые две это один товар, а третья это другой товар. Интересно, но по моему, это задача даже не для искуственного интелекта, а для системы с самообучением, которая сама в состоянии производить поиск в инете, в бумажных справочниках производителей и пр.литературе. Иначе, как она сможет определить что Platinum и Platinum Pro это одно и то же, однако сильно отличается от Optima Special? Добавлено @ 17:39 Кстати, а как на счет Сетевой фильтр Sven Platinum Pro Plus? Это сообщение отредактировал(а) Петрович - 4.10.2005, 17:38 -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Я предлагаю попробовать нечто типа процента несовпадения строк. Т. е. использовать схему распознавания букв, скажем в FineReader...
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
ды а толку с этого процента несовпадения? проблему предыдущих двух постов это не решит...
тут разве-что можно создать базу всех встречающихся наименований и вручную их сруппировать ( ну или id-шники одинаковые попрописывать ) и уже по этим id-шникам определять оно или не оно... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Петрович с плюсом это уже будет совсем другой элемент А я предумал ещё один способ: 1. Рассмотреть в цикле каждое отдельное слово первой строки, и найти такоеже слово во второй строке; 2. потом: -- если во второй строке, слов больше чем на одно то это разные товары, -- если слова первой строки ненайдены во второй то тоже разные; 3. Если после сравнения каждое слово первой строки будет найдено во второй строке, и во второй строке останится максимум 1 слово, тогда ─ это один и тот же товар;.... При этом регистр должен быть одним (например все символы должны быть маленькими), при этом в обоих строках удалить все спецсимволы и т.п. Это сообщение отредактировал(а) Zero - 5.10.2005, 11:48 |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
пункт 2.2 -- не катит ( если сравнивать наоборот )
+ алгоритм не катит -- не факт что какой-нить "креатив платинум" и "креатив про" тоже одно и то же. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Смысла нет, достаточно делать сравнения в одну сторону.
В соответствии с пунктом 2.2 эти слава будут разными... Это сообщение отредактировал(а) Zero - 6.10.2005, 11:27 |
||||
|
|||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Zero Я предлагал почти тоже... алгоритм работает по тому же принципу...
|
|||
|
||||
| _hunter |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
а откуда ты знаеш правильную сторону?
тогда и свены будут разными -- что неправильно -------------------- Tempora mutantur, et nos mutamur in illis... |
||||
|
|||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Как я понимаю мы тут "собираемся" делать распознавалку моделей, что естессно нереально, но может зачинщику этого обсуждения просто нуно сравнить приблизительно строки?
|
|||
|
||||
| Zero |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Её можно определить программно...
А в соответствии с примичанием и свены будут одинаковыми...
Видишь Pakshin A.S. мыслил по тому же принцыпу... А я когда придумал этот способ, предварительно представил как у меня мыслит в этом плане голова... |
||||||
|
|||||||
| _hunter |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
интересно как? ;)
дааа? интересно почему это в соостветствии с примичанием "свен платинум" и "свен про" это одно и то же а "креатив платинум" и "креатив про" нет -------------------- Tempora mutantur, et nos mutamur in illis... |
||||
|
|||||
| Zero |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Я думал ты имеешь ввиду про:
А если:
То в соответствии с пунктом 2.2 эти свены будут разными
Это аналогично.
строка где слов меньше то ─ 1-ое предложение, а другое 2 ─ ое... А вообще на любую задачу существует 1000 алгоритмов решения.... Это сообщение отредактировал(а) Zero - 6.10.2005, 11:28 |
||||||||||
|
|||||||||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
это так ( может, конечно, и не 1000... ), но этот не работает -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Ты сначало скажи что именно не работает, а потом говори что он не работает...
Он уже вначале где то что-то вынес, на тест.... Если доработать то будет всё нормально... |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
повторяю:
Сетевой фильтр Sven Platinum, 1.8 метра Сетевой фильтр <Sven Platinum Pro> 1.8 м это одно и тоже ( о чем твой алгоритм и сообщает ) а что-нить типа колонки креатив и колонки креатив минус -- не одно и то же ( а твой алгоритм сообщает об обратном ) или ( чтобы было понятнее ) Сетевой фильтр Samoklep Platinum, 1.8 метра Сетевой фильтр <Samoklep Platinum Pro> 1.8 м на самом деле слвсем разные фильтры -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Zero |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Ето в чиём интиресна придствление они то разные, кхе кхе...
Ну как, секёшь чувак... Добавлено @ 21:59
Нее... Ну ты загнул... Это уже чисто семантика пошла... Тут единственный способ, это создание БД, с кучей всяких заумных слов... Добавлено @ 22:01 Или во, я придумал коректировку алгоритма... Пусть оставшиеся слова, проверяются на корректность: -если слово корректное, то это другой товар -иначе тот же... |
||||||
|
|||||||
| _hunter |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
в представлении инженеров ( и маркетологов ) фирмы Samoklep -- они выпускают две ( абсолютно разные ) модели сетевых фильтров: представители первой модели горят в течении первых 40-ка секунд работы, а представители второй -- нет ( у них одна линия питани оборвана )
сам прочитай... он писал о сетевых фильтрах компании Sven ( о чем я и написал:
)
ооо!.. НАКОНЕЦ ТО ПОНЯЛ!
ну и толку с такой коректировки? + что понимаеться под "если слово корректное"? Это сообщение отредактировал(а) _hunter - 7.10.2005, 11:09 -------------------- Tempora mutantur, et nos mutamur in illis... |
||||||||||
|
|||||||||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
По моему, уже давно пора закончить спор.
Если в БД бардак, то справиться с ним может только человек, да и то, наделенный некоторыми техническими знаниями, и имеющий возможность, при необходимости, почерпнуть доп.информацию о товаре из других источников. Программу такому не научить. Любая попытка сделать это, приведет к тому что один хаос в БД будет заменен на другой хаос. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Если ты его напишешь в ворде например, и он на тебя не матернётся...
Ладно, мой алгоритм впринципе сможет, челу помоч в некотрой степени, но до конца коректировать прогу он должен сам... |
||||
|
|||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Я считаю что "помоч в некотрой степени" здесь вряд ли сгодится. Если задача не решена полностью (что невозможно), то человеку вряд-ли будет легче. Ведь поскольку программа может ошибаться, то человеку в любом случае надо будет проверять правильность принятого программой решения. Это как раз тот самый случай, когда человека не надо расслаблять иллюзией того что программа за него что-то сделала. -------------------- Все знать невозможно, но хочется |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |