27.05.2010, 19:40 | #1 |
Участник
|
Унифицированный справочник цветов
Всем привет!
В нашем справочнике цветов уже около 1200 строк. Для решения определенных задач было принято решение создать унифицированный справочник цветов, в нем будет около 100 цветов. Строки "большого" справочника будут содержать ссылку на унифицированный справочник. В "большом" справочнике очень много мусора, например темно-синий цвет там может встретится как: т-синий, тем-синий, темно-синий, темно-син и т.д. Подскажите пожалуйста методы которыми можно выявить хотя бы какую то часть цветов которые есть в унифицированном справочнике. А то вручную как то не хочется людей напрягать проставлять |
|
27.05.2010, 20:25 | #2 |
Moderator
|
Может попробовать Soundex, тем более, что в MS SQL он реализован.
Не знаю, правда, насколько качественно он реализован для русского языка. |
|
27.05.2010, 21:04 | #3 |
----------------
|
|
|
27.05.2010, 21:12 | #4 |
Moderator
|
А ведь мой же проект Даже забыл для чего это делал - как же давно это было
|
|
27.05.2010, 21:18 | #5 |
Moderator
|
Цитата:
Я бы взял обычный Excel и разбил текст по столбцам (есть там такая команда). Разделитель - дефис. Получившиеся две колонки отсортировал бы возрастанию по первой-второй колонкам. Дальше бежал бы (вручную, конечно) по получившемуся списку и проставлял в третьей колонке новые названия цветов (можно организовать выбор из списка при помощи функции "Проверка", кажется). Дальше можно пробежаться, отсортировав по второй-первой колонкам и проверить. Или начинать сразу с сортировки "2-1", если основной цвет, как правило, во второй колонке. В общем, как-то так... Разработка здесь, по-моему, не оправдана абсолютно, если задачку вручную можно решить за час. Ну за два. P.S. Понятно, что для соседних отсортированных ячеек можно будет применять копирование в третьей колонке, т.е. заполнять не по одной, а группами. Последний раз редактировалось Gustav; 27.05.2010 в 21:20. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
27.05.2010, 23:00 | #6 |
Moderator
|
Ну, насколько я понимаю, нет гарантии, что разделителем является тире, что части только две и что вообще есть разделитель.
Но если искать простой способ, то я бы исходил из предположения, что люди, в большинстве своем ленивы и в вопросе создания цветов, вряд ли вышли за пределы радуги. Значит можно попробовать сгруппировать все цвета по вхождению в них корней наиболее распространенных 7-8 цветов: "син", "красн", "зел", "черн", "бел" .. Понятно, что будут промахи, но не думаю, что их процент будет большой. Оригиналы, выдумавшие оригинальные цвета, типа морковного, охра и фуксия могут быть увековечены в системе путем сохранения выдуманных ими названий. Последний раз редактировалось Андре; 27.05.2010 в 23:02. |
|
|
За это сообщение автора поблагодарили: Gustav (2). |
28.05.2010, 01:03 | #7 |
Участник
|
Цитата:
У женщин число воспринимаемых цветов может быть значительно больше |
|
28.05.2010, 07:48 | #8 |
Модератор
|
Вы не поверите сколько цветов воспринимают маркетологи Мы использовали такой справочник цветов, пополняемый в основном из вендорских описаний продуктов. Даже учитывая то, что активно работали всего с двумя вендорами, через полгода накопилось по паре десятков значений для каждого основного цвета радуги: Blue, Light blue, Dark blue, Navy blue, Sea blue, Sky blue и т.д., не говоря уже о сочетаниях основных цветов: Blue Red, Blue Black, Red Blue (!) и т.д.
__________________
-ТСЯ или -ТЬСЯ ? |
|
28.05.2010, 08:58 | #9 |
Moderator
|
Цитата:
Даже учитывая то, что активно работали всего с двумя вендорами, через полгода накопилось по паре десятков значений для каждого основного цвета радуги: Blue, Light blue, Dark blue, Navy blue, Sea blue, Sky blue и т.д., не говоря уже о сочетаниях основных цветов: Blue Red, Blue Black, Red Blue (!) и т.д.
|
|
28.05.2010, 09:53 | #10 |
Участник
|
На эту переписку у вас вчера вечером и сегодня утром ушло суммарно 3-4 часа. За это время вполне можно перелопатить 1200 цветов вручную в Аксапте, а уж в Экселе точно, силами даже одного человека, главное чтобы у этого человека не солома была в голове. Не надо усложнять себе задачу - я думаю у вас работы и так хватает.
|
|
28.05.2010, 10:03 | #11 |
Участник
|
А вот такой вопрос про цвета, но в другой плоскости.
Не делал ли кто-то что-то подобное. Исходные данные: + Например, в каком-то гриде много колонок. У пользователей от этого пестрит в глазах, работать не слишком удобно. + При этом все колонки важны для работы, то есть скрывать их пользователи не будут. + С этой формой работает несколько пользователей, и для каждого особенно важны в работе данные в какой-то одной (для простоты) колонке, с которой он в основном каким-то образом работает Задача: + сделать для каждого пользователя возможность раскрасить нужную ему колонку в выбранный им самим цвет. Например, пользователь жмякает на колонке правую кнопку мышки, в контекстном меню выбирает пункт "Палитра цветов", открывается форма для выбора цвета (например, типа как для заливки цветом ячейки в Экселе, или типа того), выбирает цвет - колонка раскрашивается в выбранный цвет. Причем у каждого пользователя чтобы была возможность раскрасить нужную именно ему колонку в выбранный именно им цвет. + дополнительная крутость номер 1: раскраска произвольного числа колонок в разные цвета + дополнительная крутость номер 2: сделать эту возможность универсальной для любого грида в Аксапте PS Будь у меня бюджет на аутсорсинг, я бы за такое даже заплатил. Но увы. Последний раз редактировалось Bober; 28.05.2010 в 10:05. |
|
28.05.2010, 10:14 | #12 |
Участник
|
Цитата:
Не надо раскрашивать - такие тесты Росшарха получаются. |
|
28.05.2010, 10:20 | #13 |
Moderator
|
Формула массива в Excel
Цитата:
Формула массива ищет 14 цветов, которые мне пришли в голову: "радуга" + еще несколько. При желании список легко расширяем. Привожу версию формулы в английской и русской версии Excel (установленный разделитель списка - запятая): Код: =CHOOSE( MIN( IF( NOT( ISERR( SEARCH( {"кра","ора","жел","зел","гол","син","фио","бел","сер","чер","кор","беж","роз","сир"}, A1))),{1,2,3,4,5,6,7,8,9,10,11,12,13,14},9999)), "красный","оранжевый","желтый","зеленый","голубой","синий","фиолетовый","белый","серый","черный","коричневый","бежевый","розовый","сиреневый") =ВЫБОР( МИН( ЕСЛИ( НЕ( ЕОШ( ПОИСК( {"кра";"ора";"жел";"зел";"гол";"син";"фио";"бел";"сер";"чер";"кор";"беж";"роз";"сир"}, A1))),{1;2;3;4;5;6;7;8;9;10;11;12;13;14},9999)), "красный","оранжевый","желтый","зеленый","голубой","синий","фиолетовый","белый","серый","черный","коричневый","бежевый","розовый","сиреневый") Чтобы не париться с ручным вводом (а также с выяснением региональных настроек), прилагаю файл, в котором эта формула уже введена (см. ячейки колонки B). Обратите внимание, что 4 последних строки - по желанию заказчика Также обратите внимание, что "синекрасный" цвет детектируется как "красный", так как "кра" находится левее в списке выбора. P.S. А для ситуации, когда в одной ячейке встречаются два базовых цвета ("син" и "кра" - в синекрасном), предлагается сигнальная формула в ячейке C1, подсчитывающая кол-во базовых цветов. В подавляющем большинстве значением будет 1. А на значения больше 1 надо будет обратить повышенное внимание (файл Excel обновил). Код: =СУММ( ЕСЛИ( НЕ( ЕОШ( ПОИСК( {"кра";"ора";"жел";"зел";"гол";"син";"фио";"бел";"сер";"чер";"кор";"беж";"роз";"сир"}, A1))),1,0)) Последний раз редактировалось Gustav; 28.05.2010 в 12:13. |
|
|
За это сообщение автора поблагодарили: Андре (2), Just_smile (1). |
28.05.2010, 10:31 | #14 |
----------------
|
в функции нечеткого поиска кода с 3 копейки, за то же время можно было ее и в виде макроса в Ёкселе сделать и с синекрасным она бы лучше справилась
Базовых цветов у них планируется, не 7, не 14 и даже не 49, а около 100, что ручную обработку значительно усложняет. |
|
28.05.2010, 11:05 | #15 |
Moderator
|
Цитата:
Цитата:
P.S. А впрочем соглашусь, что попробовать нечеткий поиск было бы интересно. Получается, что нужно будет в цикле перебрать 1200 "мусорных" цветов, сопоставляя их в другом цикле с 100 "правильными" цветами. У какого "правильного" цвета релевантность будет самая высокая, тот и считать сопоставленным для данного "мусорного" цвета. Конечно, возможны "проблемы" в результатах и их все равно придется отсмотреть. Под проблемами я понимаю, в первую очередь, несколько одинаковых максимальных релевантностей, для которых нужно будет определиться со стратегией выбора одного цвета, а также различные неожиданные результаты. Но интересно, интересно! Код VBA (Access) для нечеткого поиска, который можно поместить в Excel, приводится в сообщении Андре про "источник идеи": Функция нечеткого сравнения строк. Т.е. собственно "поисковый" код имеется, осталось оформить циклы. Последний раз редактировалось Gustav; 28.05.2010 в 12:17. |
|