Why Red Heads are Just That | 06 ноября 2018 года, 08:48

задался вопросом, почему в английском рыжих называют redhead, а не orangehead или как-то так, ведь там красного значительно меньше, чем оранжевого или даже желтого. Оказалось, что слово появилось тогда, когда red означало все оттенки от оранжевого до красного, а для оранжевого слова просто не было – оно появилось с появлением апельсинов. Лиса вот тоже red fox, хотя казалось бы.

Почему англичанам не пришло в голову назвать оранжевый цвет по цвету тыквы или моркови «Pumpkin» или «Carrot«? Зачем было ждать, пока в Англию не завезли апельсины? Все очень просто. На самом деле и тыква, и морковь бывают не только оранжевого цвета. Как известно, тыквы бывают и желтого, и зеленого, и ярко оранжевого цвета, а морковь раньше была не оранжевая, а сиреневая. Что касается апельсинов, то они исключительно оранжевого цвета, поэтому, слово «orange» – стало идеальным для названия цвета.

Однако в английском языке есть еще одно слово, означающее «рыжеволосый» — ginger – образованное от слова «имбирь» — еще одна загадка, поскольку корень имбиря золотисто-желтый, а не оранжевый, и словом ginger логичнее было бы назвать блондинок, а не рыжих.

Виктория Ермолаева: Пианистка с каналом YouTube | 05 ноября 2018 года, 23:40

Пианистка Виктория Ермолаева, отличный канал https://www.youtube.com/watch?v=T6WzfhGwkiU

https://www.youtube.com/watch?v=T6WzfhGwkiU

Машина учится: есть ли специалист по Machine Learning и AI? | 02 ноября 2018 года, 23:08

Есть спецы по Machine Learning и AI?

Как можно решить такую задачу: есть два комплекта HTML-файлов с почти одинаковым контентом, но разной версткой – назовем его training set, и один комплект в дизайне №1. Задача – получить для этого последнего комплекта набор файлов в дизайне №2 – назовем его for processing, используя знания, полученные из training set, в лучшем возможном виде.

В training set у каждой пары A и B есть фрагменты, которые можно назвать “шаблоном”, и фрагменты, которые можно назвать “данными”. Например, заголовок статьи – данные, а обертка вокруг него – шаблон. После обработки N файлов система должна определить где данные, а где – шаблон, причем как в дизайне №1, так и в дизайне №2, а также уметь распознавать данные в файлах в дизайне №1 из for processing, и вставлять их в соответствующие места шаблона дизайна №2 для каждого из файлов for processing.

Как это сделать?

Ниже рассуждения вслух, в фейсбуке сохраняю для себя. Если в теме – подключайтесь)

Первое, что приходит в голову, это переводить файлы в связанный список тегов и фрагментов текста как для дизайна№1, так и для его counterpart в дизайне №2. Затем искать одинаковые фрагменты максимальной длины во всех файлах дизайна №1 – эти фрагменты будут с большой вероятностью частью шаблона. Одинаковые фрагменты, стоящие рядом – объединять в один покрупнее, но при этом сохранять и составляющие кусочки. Получится такой набор деревьев, с вершинами, состоящими из тегов и букв, и корнями, состоящими из больших фрагментов, которые в обоих файлах одинаковые. Сделать это для всех оставшихся пар файлов, получить тучу подобных деревьев. Далее нужно обработать деревья и найти максимально крупные фрагменты, общие у большинства. Общие фрагменты в дизайне №1 будут предложены как шаблон, а различающиеся – как элементы данных.

Подобный анализ проводится и для дизайна №2.

Фрагменты, помеченные как данные, сопоставляются автоматически, так как по идее должно быть полное соответствие. Если в отдельных случаях нет полного соответствия, опираемся на большинство.

В итоге, для дизайна №1 и дизайна №2 у нас получаются две последовательности, состоящие из узлов “фрагмент шаблона” и “фрагмент данных”. Именуем последовательности, присваивая одинаковые имена фрагментам данных у последовательности для дизайна №1 и последовтаельности для дизайна №2. Шаблоны просто нумеруем.

Далее обрабатываем дизайн №1 у for processing, выделяя у него фрагменты, помеченные как шаблон у learning set. Если они идут в том же порядке, то между ними – данные. А они уже помечены, и собираем данные в порядке, заданном результатами обработки дизайна №2. Если какие-то фрагменты не находятся, то помечаем данные штуки для ручной обработки. Если какие-то данные не находятся – то просто забиваем.

Эти решения далее вручную корректируются аналитиком.

Но такой подход работать не будет, если learning set содержит списки переменной длины, такие как список товаров, например. Система не назовет дизайн №1 похожим для 10 товаров и для 20. Она получит последовательности “фрагмент шаблона” и “фрагмент данных” разной длины, и после обработки статистически получит какую-то одну последовательность. Теоретически, можно отдельным механизмом находить паттерны повторяющиеся, и как-то это помечать.

Вдруг кто-то знает готовые решения или подходы к решению задачи? Интересная тема ж.

The Pop Tart Effect: How Data Mining Revealed the Unlikely Demand | 02 ноября 2018 года, 21:38

Читаю тут интересное, наткнулся на хорошую иллюстрацию полезности data mining:

“…Walmart mined their massive retail transaction database to see what their customers really wanted to buy prior to the arrival of a hurricane. They found one particular item that increased in sales by a factor of 7 over normal shopping days. That one item was not bottled water, or batteries, or beer, or flashlights, or generators, or any of the usual things that we might imagine. The item was strawberry pop tarts! One could imagine lots of reasons why this was the most desired product prior to the arrival of a hurricane – pop tarts do not require refrigeration, they do not need to be cooked, they come in individually wrapped portions, they have a long shelf life, they are a snack food, they are a breakfast food, kids love them, and we love them. Despite these “obvious” reasons, it was a still a huge surprise!”

Блуминг Numbers: When a Billion Really Means a Trillion | 02 ноября 2018 года, 15:49

Оказалось, что в синеньких странах billion означает триллион (10^12) по-нашему, а не миллиард (10^9). Учтите, когда дойдете до зарплаты на собеседованиях

Жёлтые, типа Китая, стоят особняком, у них своя система