Нет, вам не нужно машинное обучение. Вам нужен SQL +102



Некоторое время назад я опубликовал серию твитов об использовании традиционных инструментов вместо новомодных и сложных технологий.

Твиты зашли неплохо и попали на HackerNews. Последствием такой мини-популярности стала интересная дискуссия. Одни согласились со мной, а другие назвали это глупостью и бредом. Ну, в интернете тоже случаются перестрелки.

Я не пытаюсь убедить вас использовать свой подход. Скорее я хочу подробнее объяснить, что именно имелось в виду в первоначальном выступлении в Twitter.

Годы проходят, и вы наблюдаете появление некоторых интересных технологий и концепций: машинное обучение, блокчейн, искусственный интеллект, виртуальная реальность, дополненная реальность и т. д. — в то время как некоторые прежние технологии уходят на задний план. Сегодня несложно услышать о разработке каких-то фантастических продуктов на блокчейне. Я видел блокчейн-сервисы для электронной коммерции, социальных сетей и недвижимости. Список можно продолжить. Я слышу слова: чтобы вам быстрее и раньше закрыть раунд финансирования, нужно использовать слово «блокчейн», даже если оно не имеет отношения к проекту.

Некоторое время назад в тренде были машинное обучение и искусственный интеллект. Каждый новый стартап занимался ML/AI. Не дай бог запустить проект без упоминания AI. Серьёзно, ты правда в бизнесе? Но вообще так быть не должно. Одной из технологий, которую я до сих пор высоко ценю, является SQL (Structured Query Language). Эта более чем 40-летняя технология сегодня так же актуальна, как и в 1974 году. Хотя за эти годы она несколько изменилась, но это такая же мощь, как и раньше.

Я всю жизнь работаю в IT, а большую часть карьеры провёл в электронной коммерции — и своими глазами видел, как эта технология помогала росту и масштабированию бизнеса. Мы использовали её для выявления интересной информации в собранных данных. Данные включают в себя в том числе потребительское поведение, характер покупок и привычки. Эта технология позволила предсказать, какой товар держать на складе, а какой нет. Она позволила предоставить сервис лучшего качества и вернуть клиентов. Позвольте рассказать, как мы это сделали — можете использовать наш опыт.

Всегда весело слышать от основателей и потенциальных основателей стартапов, что они хотят использовать AI/ML для лучшего удержания клиентов и повышения их пожизненной ценности [суммарная прибыль или убыток от конкретного потребителя за период сотрудничества с ним — прим. пер.]. На самом деле им вообще не нужно машинное обучение или какая-то другая из этих причудливых технологий. Правильно написанный SQL — вот всё, что им нужно. В прежней жизни я писал SQL-запросы, чтобы извлечь ценную информацию и идеи из созданных данных. Однажды мы хотели найти «клиентов недели», чтобы поздравить и наградить их. Такой простой и неожиданный жест по отношению к клиентам всегда приводит людей в восторг и превращает их в евангелистов. Нередко можно увидеть сообщения в социальных сетях типа «Ничего себе, Konga только что наградила меня купоном на ?2000 как клиента недели. Не ожидал такого. Спасибо, ребята, вы лучшие».

Это оказалось более эффективно, чем тратить деньги на рекламу. Не поймите меня неправильно, традиционная реклама имеет место, но ничто не сравнится с рекомендацией от надёжного друга. Удивительно, но получить такую информацию оказалось довольно просто. Никакая причудливая технология не нужна, кроме старого доброго SQL. Чтобы выявить клиента недели, мы написали SQL-запрос, который находит в таблице заказов запись с самой большой корзиной заказов за неделю. Получив эту информацию, мы отправляем клиенту письмо с благодарностью и прикладываем небольшой купон/ваучер. Угадайте, что происходит дальше? 99% этих людей становятся постоянными клиентами. Мы никогда не нуждались в ML. Просто написали элементарный SQL-запрос — и получили эту информацию.

Однажды нужно было восстановить связь с клиентами, которые прекратили делать покупки. Поскольку этим занимался я, то написал SQL-запрос, который выбирал всех клиентов с датой последней покупки 3 месяца или более. Опять же, запрос удивительно простой. Получив эту информацию, отправляем по электронной почте симпатичное письмо: «Мы скучаем по вам, возвращайтесь, и вот ваш купон на Х найр» [денежная единица Нигерии — прим. пер.]. Эффективность отклика всегда была больше 50%. И всегда шквал сообщений в социальных сетях. На мой взгляд, эти две стратегии были и остаются намного эффективнее, чем тратить на рекламу в Google и Facebook.

Такой же подход мы применили к рассылкам новостей. Зачем рассылать общую рассылку, если можно попытаться персонализировать её? Решение? Я написал SQL-запросы для проверки содержимого корзины и извлечения отдельных элементов. Из этих элементов мы смогли сгенерировать бюллетень и таргетировать соответствующий контент. Скажем, человек купил пару обуви, солнцезащитные очки и книгу. В рассылке для него мы покажем обувь, солнцезащитные очки и книги. Это гораздо более уместно, чем посылать случайные вещи. Зачем посылать письмо с молокоотсосом мужчине, который только что купил пару кроссовок? Это даже не имеет смысла. Типичный уровень просмотра (open rate) большинства маркетинговых писем составляет от 7 до 10%. Но когда мы хорошо справлялись с работой, то видели показатель в районе 25?30%.

Это втрое выше отраслевого стандарта. Ещё одна приятная особенность этих писем — то, что мы обращались к людям по именам. Никаких «уважаемый клиент». Только «дорогой Селестин», «дорогой Омин» и так далее. Это придаёт всему оттенок человечности. Показывает наше участие. Всё благодаря старому доброму SQL, а не какому-то причудливому машинному обучению.

Мы помогли клиентам, которые по каким-то причинам не завершили заказы. Если они добавили товар в корзину, то имели намерение его купить. Чтобы помочь им с завершением заказа, я написал скрипт SQL, связал его с заданием CRON, и эта комбинация рассылала электронные письма клиентам, чьи корзины последний раз обновлялись в течение 48 часов или более. Угадай, что произошло? Это сработало. Мы отслеживали письма и сделали вывод, что люди действительно возвращались по ссылкам из них. Опять же, SQL-запрос оказался очень простым. Он выбирал непустые корзины с временем последнего обновления 48 часов или больше. Запустили ежедневный CRON на 2 часа ночи — время меньшей активности и трафика. Клиенты просыпаются и видят в почте напоминание о своей забытой корзине. Речь о повторном вовлечении клиентов. Ничего особенного, просто SQL, Bash и CRON.

Так как оплата по факту по-прежнему популярна, SQL опять пригодился. Если клиент отменяет заказы три раза подряд, он помещается в отдельный список «особого предупреждения». При следующем заказе ему звонят и спрашивают, действительно ли нужен заказ. Таким образом мы экономим время и нервы. Для таких клиентов оплату по факту вообще можно отключить, оставив только оплату по карте. В электронной коммерции логистика стоит дорого, поэтому есть смысл сосредоточиться на серьёзных клиентах. Нам не нужен ML или какой-то причудливый AI для этой проблемы. Опять же, достаточно хорошо написанного SQL.

Для заказов, не доставленных в обещанное время согласно SLA, мы тоже использовали SQL-запросы. Выбирались заказы с состоянием «Не доставлено» и датой заказа равной или более 7 дней, так как это стандартный срок доставки. Задание CRON отправляло письма и SMS таким клиентам. Понятно, что клиенты не апплодировали стоя. Но мы хотя бы заверили, что нам не наплевать и мы работаем над решением проблемы. Ничто так не раздражает, как задержка заказа.

Это конкретное решение также значительно повлияло на NPS [индекс потребительской лояльности — прим. пер.]. Опять же, старые добрые SQL и Bash.

Бонус: Sift Science удивительно хорошо предотвращает фрод. Но SQL тоже можно использовать. Если человек пытается расплатиться с трёх разных карт и эти карты отвергаются одна за другой, происходит что-то неладное. Первое и очевидное, что нужно сделать — временно заблокировать его учётную запись. Вы избавите от большой головной боли потенциальных владельцев карт. Не нужно хранить данные карты, просто регистрируйте в БД попытку проверки карты для определённого номера заказа. Для выявления таких очевидных вещей не требуется ML, а только хорошо написанный SQL.

Машинное обучение и искусственный интеллект — хорошие технологии. Во всяком случае, Amazon доказал эффективность своего бизнеса. Но если у вас маленький интернет-магазин с 1000?10000 клиентов, то можно обойтись SQL. Кроме того, специалисты по ML/AI стоят недёшево.

Буду рад услышать, что вы думаете.

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (215):

  1. peresada
    /#18897213

    Напишите SQL, который определит возраст человека по фотографии (или вообще присутствие человека), плиз. Не те сравнения Вы приводите в статье. Вы привели примеры стандартного функционала любого интернет-магазина, и сомневаюсь, что кто-то использует AI\ML для тех же целей

    • TheDeadOne
      /#18897401 / +2

      Статья как раз о том, что AI\ML часто пытаются тащить в проекты со стандартным функционалом, где вполне хватает обычного SQL.

      • x67
        /#18899345 / +1

        Только дело не в SQLконкретно, а в обычной статистике. Понятие AI/ML более широкое, чем SQL и сравнивать их неуместно. Правильнее сказать: вам не нужно машинное обучение, вам хватит статистики с головой. А уж в excel это будет сделано или с помощью sql, это ваше личное дело.

        • 0xd34df00d
          /#18904901

          Но… машинное обучение и есть часть статистики…

      • WinPooh73
        /#18899753

        С использованием AI/ML всё становится лучше. Как десятью годами раньше с Bluetooth.

    • AlexVist
      /#18897431

      Приветствую! Думаю автор хотел на конкретном примере показать суть общей проблемы (читайте проблема как перевод задача). То есть далеко не все задачи требуют новомодных веяний для простой и эффективной реализации. Можно и иначе сказать известным выражением "Из пушки по воробьям".
      Вы же противопоставляете узкую задачу. Кстати, в таком примере, справедливости ради, нужно точно так же описать конкретно решаемую задачу с помощью выбранной технологии и описать ее эффективность. А то часто слышны абстрактные тезисы без доказательства. Что не справедливо при сравнении. Потому что противопоставляем конкретный пример, конкретный результат с теоретически возможным. Заранее приношу извинения, что делаю такое замечание. Тут нет неуважения к технологии и задаче, как и к тому, кто высказался.
      Никто не отрицает, что те или иные технологии наиболее эффективны при решении определенных задач. Или то, что технологии порождаются необходимостью решать определенные задачи. Но при этом дОлжно руководствоваться прагматизмом, а не фанатизмом. Увлечение одной из технологий не должно влиять на выбор при решении конкретной задачи. Я не отрицаю в том числе и процесс эксперимента и выбора из нескольких решений. Но в реальном мире все имеет не эмоциональные метрики, а вполне материально исчисляемые.
      Как пример могу сказать, что в конце производственной линии дешевле установить промышленный сканер шк, чем систему, которая по видео будет определять наличие шк, потом обрабатывать и передавать эти данные. Тут все просто: стоимость программного решения, скорость отклика, надежность считывания данных, стоимость дополнительного вычислительного оборудования. Есть и еще дополнительные минусы.)

      • peresada
        /#18899083

        Я полностью согласен, если посыл статьи был именно в этом — отлично, но на данный момент, сравнение SQL с ML больше похоже на пиар-ход для вывода статьи в топ в силу популярности ML

        Судя по минусам моего комментария, я был не прав в конкретной фразе «сомневаюсь, что кто-то использует AI\ML для тех же целей» и судя по другим комментариям действительно есть такие примеры. Так вот статью, где приводились бы примеры подобных «странностей» я прочитал бы с бОльшим удовольствием, нежели чем статью, где скорее пытаются паразитировать на хайпе той или иной технологии, чем открыть людям глаза

      • edge790
        /#18899657 / +1

        Но автор с тем же фанатизмом "впихивает" SQL, где лучше сработал бы ML и говорит что SQL справляется лучше.


        Скажем, человек купил пару обуви, солнцезащитные очки и книгу. В рассылке для него мы покажем обувь, солнцезащитные очки и книги. Это гораздо более уместно, чем посылать случайные вещи

        Мне покажут обувь, когда я купил обувь; очки, когда я купил очки и случайные книги, когда я купил книгу.


        В то же время ML мог показать товары, которые сочетаются с теми что я взял:
        шнурки для обуви, одежду под цвет кроссовок, книги, которые покупают люди, у которых такие же интересы и т.д.
        upd: те кто покупали телефоны в интернет магазинах сразу меня поймут — ты только добавил телефон в корзину, тебе уже советуют чехол, защитную пленку, PowerBank и автомобильную зарядку


        Мне кажется, рекомендательная система — это одна из сильных сторон ML.


        Смысл статьи как всегда: "не забивать гвозди отверткой и не закручивать молотком".

        • gandjustas
          /#18899815

          Рекомендательная система — пограничная область. С одной стороны алгоритм рекомендаций легко программируется на SQL. С другой стороны тонкая настройка уже требует ML инструментов — в частности нейронных сетей.


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

          • Mike_soft
            /#18899877

            Автор слишком безапелляционен.

            • gandjustas
              /#18899937

              Такой стиль, внезапно, заходит лучше, чем сухая аналитика.

        • Jef239
          /#18901031

          ты только добавил телефон в корзину, тебе уже советуют чехол, защитную пленку, PowerBank и автомобильную зарядку
          Это не ML, это тупой поиск на SQL принадлежностей, подходящей к данной модели телефона.

          ML — это когда в придачу к веревке советую купить мыло и табуретку. :-)

          Мне кажется, рекомендательная система — это одна из сильных сторон ML.
          А мне эти рекомендательные системы кажутся просто спамом. Ну кроме самых тупых, просто показывающих подходящие к гаджету аксессуары. Эти, тупые, эквивалентные условию в поиске — ещё хоть как-то полезны. А остальное — только тупо поржать.

          • Neikist
            /#18901059

            А вы им достаточно информации для обучения даете? У меня почти вся реклама релевантная.

            • Jef239
              /#18901809 / +1

              Угу, вы верно угадали, почему ML бесполезны. Если иметь одну ML на все магазины и обучать её 10 лет особенностям каждого покупателя — толк будет. Если данных меньше — то не справится не только ИИ, но и живой человек-психолог.

              То есть даже человек-консультант при эпизодических покупках может лишь посоветовать что-то а ля SQL-решение, то есть аксессуары, совместимые с основной покупкой.

              Может быть когда-нибудь что-то прилично заработает у Яндекса или Гугла. Но пока что качество — ниже плинтуса.

              Причем раздражает — безумно. Если я искал (и купил линолеум) — яндекс начинает подсовывать мне этот самый линолеум. А нафига он мне, если я его уже купил? Лучше уж тупая сегментация по полу, возрасту и доходам — там иногда что-то интересное бываеь.

        • mspain
          /#18901979 / +1

          >ты только добавил телефон в корзину, тебе уже советуют чехол, защитную пленку, PowerBank и автомобильную зарядку

          Для этого не нужно ML, скорее всего аксессуары забиты в базу как аксессуары к телефону.

    • andyshark1974
      /#18897485

      Речь скорее идет не про это. Автор имеет ввиду то, что достаточно большая часть людей используют новомодные примочки для решения элементарных задач. Которые можно решить по другому (в его примерах через SQL)

      Еще одна мысль, выраженная не так явно — для решения некоторых задач можно применять простые подходы, вместо навороченных сложных. Инструментарий для решения вшит в систему, его надо просто знать.

      О чем умалчивает автор при решении своих проблем — надо вести документацию по тому как и что делается. Это основная затыка такого метода решения проблем. Дело в том, что я сам пользуюсь подобным подходом, и у меня много заданий стоит в CRON-е. Вот их надо как-то систематизировать.

      • niko1aev
        /#18899981

        в Rails проект cron управляет gem whenever, и вся систематизация заданий хранится в файле
        schedule.rb, где они разбиты на группы, модули и содержат комментарии

        • Fedcomp
          /#18905433

          в Rails лучше юзать sidekiq-scheduler чтобы избавиться от недостатков крона. Очередь задач более надежна.

      • Goldseeker
        /#18900829

        Есть такой момент, что при использовании ML документацию вести невозможно, нельзя понять почему после обучения нейросеть дает именно такой вывод на такой набор исходных данных. Не то чтобы это плюс. В результате имеется черный ящик, который работает, вроде бы, но это не точно.

        • lair
          /#18900947

          Есть такой момент, что при использовании ML документацию вести невозможно, нельзя понять почему после обучения нейросеть дает именно такой вывод на такой набор исходных данных.

          Во-первых, почему вы приравниваете ML к нейронным сетям? Есть и другие алгоритмы, в том числе полностью объяснимые (иногда объяснимость принятого решения является требованием).


          Во-вторых, в случае машинного обучения документируется не то, как получившаяся модель принимает решения (потому что она будет регулярно переобучаться), а то, как эта модель выбиралась, какие метрики использовались и должны использоваться в будущем для оценки ее качества (ну и банальные для любой интеграции форматы ввода-вывода).

          • WTYPMAH
            /#18900965

            В-третьих, сейчас уже есть методы, которые поясняют, почему сетка делает такие выводы на конкретную точку данных ;)

    • aPiks
      /#18899029 / +1

      Да суть-то в том, что современные айтишники штопают обычные вещи с использование модных технологий не задумываясь даже над вопросом «зачем» эта технология там нужна.
      Недавно увидел лэндинг с парой фотографий и контактной формой. И этот лендинг написан на Ангуларе!
      Лэндинг был совершенно обычный, хороший верстальщик такой за пару дней сделает с нуля на чистой троице.
      А как вам магазин с оборотом 300 000 тыс рублей в месяц, основанный на ВООКОММЕРЦ, но с машинным обучением для анализа спроса? Зачем?
      И таким проектов масса. Я понимаю, что часть из них — просто выкачивание денег из заказчика, но остальные — явно глупое следование трендам.

      • daager
        /#18901839 / +3

        Самообразование не рассматривается? Я недавно хотел уволиться, директор очень не хотел отпускать, дал другой проект не особо технически сложный, но сказал, что могу там делать всё что хочу, если нужно для развития.

    • Zanak
      /#18901041

      А я с автором статьи согласен. Любой инструмент должен использоваться по прямому назначению.
      Например: для автоматического чтения заполненного человеком бланка вполне годно и сетку потренировать, а вот обрабатывать статистику по прочитанному, это к SQL.
      Я пока к искуственному интелекту отношусь с настороженностью. Во всем, что мы создавали до сих пор, мы точно понимали физику процесса. Впервые люди пытаются создать что- то, чего сами до конца не осознают.

      • WTYPMAH
        /#18901301

        И что же такого «неосознанного» в ИИ?)

        • Zanak
          /#18901713

          Вы уверены, что точно знаете как работает ваш мозг? Как вы усваиваете информацию и обучаетесь ею пользоваться? Как обобщаете, и переходите, от частных фактов, к общим закономерностям? Как вы принимаете решения, особенно в экстремальных ситуациях? Что есть ваша интуиция и как она работает?
          А ведь человек пытается скопировать свой мозг. И мало того, что скопировать, еще и доверить ему принимать решения вместо себя.

          • lair
            /#18902485 / +1

            А ведь человек пытается скопировать свой мозг.

            Вообще-то, нет. Подавляющая часть современного ML не имеет никакого отношения к тому, как работает человеческий мозг.

            • Miron11
              /#18905293

              Подавляющая часть современного ML не имеет никакого отношения к тому, как работает человеческий мозг.


              Не исключено, что он знает о том как Вы работаете намного больше, чем наоборот. ( шутка ).

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

              • lair
                /#18905591

                По этой причине машинное мышление намного более совершенно.

                Эээ… нет. Чтобы машинное мышление было более совершенно, чем "неоптимальное" человеческое, оно (а) должно быть оптимальным и (б) должно вообще существовать. Ни то, ни другое сейчас не выполняется.


                Мотивация машины не может отойти в сторону от задачи, для переоценки критерия.

                У машины сейчас вообще нет мотивации.


                Задача бизнеса деньги.

                Первая, но не обязательно единственная. Соответственно, и алгоритму тоже ставится не один критерий, но несколько.


                Поэтому машина неизбежно в той или иной форме придет к предложению убрать тех или иных пользователей, включая физически.

                Нет, потому что это приведет к санкциям для компании, которые экономически невыгодны.

                • Miron11
                  /#18905811 / -2

                  В споре рождается истина.

                  Что касается слова «санкции», то здесь выгода это важнейший параметр. Если убийство многих людей Ирака привелу к возникновению большого количества очень состоятельных Американцев, то санкции это как раз то «волшебное слово», описывающее механизм уничтожения одних людей, с целью принесения выгоды другим людям. Машины, в этой ситуации, с их неизмеримыми достоинствами могут помочь получателю выгды увеличить эти самые прибыли, при чем очень существенно. Ливия замечательный пример подобной итерации. Издержки на отнятие Ливийской нефти в пользу Американских выгодополучателей были значительно уменьшены, а выгоды значительно увеличены. Так например, один месяц финансирования машины уничтожения и подчинения Ирака стоили США 10 миллиардов долларов в месяц. В Ливии вся операция от начала до конца обошлась в 3-5.

                  Можно себе только представить, что будет, когда машины начнут подсказывать людям, или выполнять поручения, по уничтожению людей, с целью предотвращения потерь или приобретения выгоды.

                  Наверное единственное в чем машина уступает человеку, это как раз в мотивационном аспекте.

                  Суть в том, что машину, принявшую неправильное решение можно обновить, либо лишив сегодняшней версии «сломанного» ума, вставить лучший, и запустить с того места, где она сделала ошибку, либо просто разобрать, засунуть в плавильную печь и получить через какое — то короткое время назад ту же машину, только лучше. У людей есть мотивация ограждать себя от подобных событий.

                  Поэтому моё личное мнение, что серьёзнейшим преимуществом человека над машиной, в плане мышления, являются не совершенства, в которых машины давно обогнали человека, а как раз в недостатках.

                  • lair
                    /#18905817

                    Наверное единственное в чем машина уступает человеку, это как раз в мотивационном аспекте.

                    Далеко не единственное.


                    Поэтому моё личное мнение, что серьёзнейшим преимуществом человека над машиной, в плане мышления, являются не совершенства, в которых машины давно обогнали человека

                    То есть тот факт, что компьютеры до сих пор не умеют мыслить, вас совершенно не волнует?

                    • Druu
                      /#18906715

                      То есть тот факт, что компьютеры до сих пор не умеют мыслить, вас совершенно не волнует?

                      Волновать должен тот факт, что на данный момент никто даже не знает, что такое "мыслить".

        • Nick_Shl
          /#18901879

          А вы в состоянии объяснить, почему нейросеть дала такой ответ а не другой? В четких алгоритмах есть понимание как они работают. Если такое понимание в нейросеть? Или это просто "магия чисел"?

          • WTYPMAH
            /#18902785

            Во-первых, понимая работы человеческого мозга нет ни у кого, поэтому сравнивать сетки с мозгом — по определению глупость.

            Во-вторых, то, что архитектуру нейросети пытаются сравнить с «архитектурой» мозга, это просто удачный пиар ход и допущение. Алгоритмы работы совершенно другие. ИИ объясняют на примере архитектуры мозга потому, что так проще объяснить.

            В-третьих, любая сетка — это набор алгоритмов и вычислений, которые основаны на жестких правилах, которые разработаны человеком. И ничего магического там нет.

            В-четвертых, если хотите понять «как» — возьмите данные на входе, перемножте на все веса всех слоев и получите 100% точный ответ, почему получен такой результат. Сможете ли вы осознать почему именно такие веса использовались — нет, и только потому, что на обучение подавалось слишком много данных, чтобы человек физически смог сам выявить в них закономерности. Но ML для того и создан, чтобы обопщать и обрабатывать большие объемы данные, которые не может обработать человек. Но по четким правилам и алгоритмам. Никакой магии там нет.

            • Druu
              /#18902825 / +1

              В-четвертых, если хотите понять «как» — возьмите данные на входе, перемножте на все веса всех слоев и получите 100% точный ответ, почему получен такой результат. Сможете ли вы осознать почему именно такие веса использовались — нет, и только потому, что на обучение подавалось слишком много данных, чтобы человек физически смог сам выявить в них закономерности.

              Здесь вообще есть такой момент, как повторяемость. То есть — окей, что мы не понимаем, почему именно такие веса, но мы должны понимать, как мы к ним пришли и суметь повторить. А учитывая что алгоритмы обучения сейчас стохастические, то в итоге две сетки обученные по одному и тому же алгоритму с одними и теми же параметрами на одних и тех же данных могут привести к разным результатам. И вообще в итоге обучение сложной сети приходится проводить под постоянным человеческим контролем (то есть "без учителя" это на самом деле нифига не без учителя, учитель там есть, целый отдел учительский).
              При этом, как и у любого учителя, возникает проблема контроля знаний. На данный момент для сложных задач нет никакого способа достоверно убедиться, что сеть усвоила то, чему вы ее учили.

              • WTYPMAH
                /#18903493

                1. Понять как пришли к весам очень просто — достаточно понимания принципа работы алгоритмов первоначальной расстановки весов, целовой функции, функции активации и метрик их балансировки.

                2. Стохастика определяется параметрами RNG. Установите констатное значение RNG — получите повторяемый процесс обучения сети.

                3. Не подменяйте понятия. В методике обучения сетей: «без учителя» — когда нет известных целевых значений, «с учителем» — когда есть известные целевые значения. Вопрос только в том, что пытается сблансировать сеть — кластерные характеристики или целевую функцию.

                4. Есть целвеая функция, есть критерии / метрики / методы её оценки. Правильное определение целевой функции, контроля её допущений и метрик оценки — и любой аналитик имеет полный арсенал методов убедиться в том, что он на выходе получил ожидаемое.

                Мой ключевой месседж — то, что мы не можем что-топовторить (ввиду физических ограничений) не означает, что мы не понимаем, как это делает сетка.

            • 0xd34df00d
              /#18904911

              Сможете ли вы осознать почему именно такие веса использовались — нет, и только потому, что на обучение подавалось слишком много данных, чтобы человек физически смог сам выявить в них закономерности.

              Не только. Сравните интерпретируемость нейросетей с интерпретируемостью random forest'а, например.

          • WTYPMAH
            /#18902823 / +1

            Просто пример: вы сможете в уме разделить 32432749324 на 234239408? Врядли, по результатам калькулятора ведь доверяете, правильно. И вы даже можете не знать, как он это делает — в столбик, остатками и т.д. Но вопросов не возникает. Изучите теорию нейросетей и все вопросы отпадут сами собой

          • 4tlen
            /#18903045

            Нейросеть — нет. А вот латентно-семантический анализ или градиентный бустниг над решающими деревьями вполне понятные (не мне =) ) алгоритмы, которые тоже относятся к ML.

    • robotobor
      /#18901841

      Вообще, согласен. Зачем заминусовали Вас не понятно. Действительно, обычный функционал на основе данных можно реализовать при помощи SQL. Вся соль ML заключается в том, что когда логики с данными уже много, т.е., например, логика зависит от поведения клиентов, и это поведение иногда меняется, то логика на SQL над этими данными устаревает быстрее, чем вы реагируете на это поведение. Далее вы переписываете логику над данными, подстраивая ее под новое поведение клиентов, возможно, для вас это будет дорого. Это то, что касается классики работы с данными, например, с использованием SQL. Если же вы используете ML для реагирования на поведение клиентов, то при изменении поведения, на самом деле во всей внутренней математике этого самого ML логика выстраивается сама на основе этих данных, и не нужно ручками ничего переписывать, мы вовремя среагировали на поведение клиентов и попали в ЦА. Поэтому если данных не очень много, и проще использовать SQL -используем. Если данных много и SQL использовать затратно, а также интересно не явное поведение клиентов — используем ML. Примерно так.

    • ganqqwerty
      /#18903535

      дык а причем тут ML, это лишь один из методов. У нас в ЛЭТИ отдельный курс был по распознаванию лиц, нормально все распознавали

  2. rub_ak
    /#18897217 / +5

    «Скажем, человек купил пару обуви, солнцезащитные очки и книгу. В рассылке для него мы покажем обувь, солнцезащитные очки и книги.»
    За это надо расстреливать на месте. Если книги я ещё как то понимаю, но нафига мне ещё одни очки и вторые кроссовки, если я их только что купил? И скорей всего в процессе подбора я ознакомился и с другими моделями, но их не взял.

    • Mike_soft
      /#18897331

      страшно подумать, что будет предлагать «SQL-запрос», если купить две пары кроссовок, и три раза солнцезащитные очки…
      а вот у ИИ есть интересные варианты…
      Хотя и полностью отвергать простые запросы (т.е. «старые известные технологии») нельзя.

      • Alexmaru
        /#18897397 / +1

        А почему не составить таблицу правил по каждому типу товаров?


        Если купил очки — не предлагать очки
        Если купил книгу — предложить книги через две недели
        Если попал под все "не" — показать товары, которые другие купили с этим типом

        • Druu
          /#18897429

          А если у вас тысячи наименований и при этом есть нетривиальные корреляции? Например, если человек купил А и Б, то он склонен купить С, но если при этом он еще купил Д, то вместо С надо Е.
          Кто будет эти правила забивать, и главное, откуда он вообще их возьмет?

          • Alexmaru
            /#18897541

            Возьмёт он их, собственно, из статистики и выберет главное. То, какая реклама сейчас реально подсовывается, а это просто такие же товары, говорит о том, что им плевать на такие корреляции, оно итак работает. Зачем тогда думать над сложной математической моделью, если можно составить простую логическую?


            И да, сложные корреляции на ходу — это энергозатратно.

            • Druu
              /#18898525 / +1

              Возьмёт он их, собственно, из статистики и выберет главное.

              Ну так это и есть machine learning. Он же включает не только модные нейронки, но и подходы вроде байесовских сетей или экспертных систем, которые уже десятилетия назад себя зарекомендовали. С-но, ваше предложение ниже:


              ну и? собираешь на год команду правило-мейкеров. Потом смотришь, где проценты просмотра подобных товаров наименьшее, и стараешься исправить.

              это типичный ml.


              Зачем тогда думать над сложной математической моделью, если можно составить простую логическую?

              Ну будет не сложная мат. модель, а простая. В чем разница?

          • 4tlen
            /#18897751

            >Кто будет эти правила забивать, и главное, откуда он вообще их возьмет?

            Если говорить об ИИ, то рекомендации будут на основе поведения конкретного человека. Но в том и «глупость» — чтобы натаскать сетку на конкретного человека, нужны большие объемы данных (его трафик и его конверсии). Эти данные есть у поисковиков. Но на обычных сайтах чтобы собрать такой объем потребуется… ну оочень много трафика и конверсий этого конкретного человека. Именно поэтому рекомендательные системы пишутся на основе различных эвристик и прочих коллаборативных фильтраций, основанных на статистике.

          • klirichek
            /#18900423

            Для нетривиальных корреляций как раз уже нужен AI. Потому что sql для этого слишком structured. Я понимаю, статья о том, что в элементарных вещах его вполне достаточно. Иными словами, можно сделать запросы на основании имеющегося жизненного опыта и наблюдений. Но с AI всё же интереснее, покуда эти самые наблюдения и опыт он обретает сам, без участия программиста. Например, если человек купил вино и шоколад но не купил презервативы — на основании статистики он может через 40 недель предложить ему памперсы и детское питание (а может и не предложить).

        • Mike_soft
          /#18897449

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

          • Alexmaru
            /#18897551

            ну и? собираешь на год команду правило-мейкеров. Потом смотришь, где проценты просмотра подобных товаров наименьшее, и стараешься исправить.

            • Mike_soft
              /#18897615

              а через год меняется один из поставщиков, или из ассортимента выводится (вводится) другая группа, и все переписывать заново…
              кстати, хорошая идея для самообучения. только где бы взять датасет…

              • Alexmaru
                /#18897641

                Ну вводится группа, ну добавляет кто-то правило. Это же не страшно? Просто, реальные правила, которые можно изменить — лучше закрытого механизма AI, который полностью понимает (ладно, это шутка) только тот, кто его написал. Ну и не нужно думать о каких-то хитрозакрученных правилах, потому что в мире сейчас даже простые слабо применяются.

                Датасет — он в статистике посещений же. Из того же piwik это можно выдрать, если вы про какой-то маленький локальный.

                Идеально было бы выпустить библиотеку с базовыми «если… то», чтобы все использовали её как стартовый шаблон. Что-то типа «задалбывают глупые предложения? Сделай коммит!».

                • Alexeyslav
                  /#18897813

                  AI масштабируется, а ваш подход не масштабируется. С ростом магазина просто потонете в этой бессмысленной работе. Вот у вас к примеру 10000 SKU в магазине, и каждый день 1000 из них выбывает и столько же прибывает, их всех надо сопоставить ВРУЧНУЮ с оставшимися(обычный SQL вам не поможет отличить мочалку от тазика или очки от футболки) и придумать правила комбинаций. Это работы на целый штат сотрудников. При росте магазина становится всё только хуже. И библиотеки не помогут, поскольку между магазинами может не быть вообще каких-либо общих SKU и информация с другого магазина вам ничем не поможет.
                  Веселья добавляет ещё групповая покупка — когда несколько человек для удобства покупают через чей-то один аккаунт совершенно разные товары, которые создают очень интересные комбинации вплоть до несовместимости.

                  • Alexmaru
                    /#18897863

                    1000 категорий выбывает? Или всё-таки товаров? Я говорю о категориях, вы проставлении правил каждому товару.

                    И да, на всех более-менее крупных площадках таки есть вручную проставленные подробные категории того, что они продают.

                    И опять же, сейчас не применяется даже общих правил, для случая, который был описан выше. Какой к чёрту AI, если они вообще ничего не используют?

                    Есть крупные агрегаторы, типа амазона. Есть местячковые магазины, типа Tesco, Euro и.т.д. У них этот штат уже есть, и возможно амазон пользуется и AI, и списками, но больше всего он полагается на «люди купившие это, так же купили». Есть маленькие магазины, у которых никогда не будет того самого роста.

                    И целенаправленные массовые покупки — это то, что вообще нужно отсекать из статистики, и это мелкий частный случай, а не гигантская проблема.

                    Так о каком именно типе магазина вы говорите?

                    • lair
                      /#18898075

                      возможно амазон пользуется и AI, и списками, но больше всего он полагается на «люди купившие это, так же купили».

                      Ну так FBT — это один из стандартных кейсов для ML, потому что зависимости выявляет машина.


                      Есть маленькие магазины, у которых никогда не будет того самого роста.

                      … и которые зачастую были бы рады купить сервис по продуктовым рекомендация или восполнению складов, чтобы уволить тех людей, которые занимаются ведением списков.

                  • Mike_soft
                    /#18897889

                    ибо придется класссифицировать мочалку и тазик по куче разных ортогональных признаков (которые надо еще придумать).
                    а совместная покупка действительно добавит веселья — и магазину, и покупателю…

                  • striver
                    /#18897907

                    Вот, это ближе к ответу. Вопрос в масштабах. Если это новый мелкий бизнес, то SQL + клиент с разного рода алгоритмами — это чуть лучше, чем бумага и excel. Но, это работает, если объемы не большие. В том случае, если за первый год, бизнес-модель показала свою состоятельность, то можно и нужно думать внедрять ИИ с МО. В целом принятие таких решений может занять до 5 лет. А сразу лепить ИИ/МО — это слишком сложно. Да, если уставной капитал исчисляется миллионами долларов и планы расписаны на 10 лет, то SQL — это будет потерей времени и ресурсов.

                • Mike_soft
                  /#18897857

                  да-да-да! и либо скоро назойливая реклама исчезнет как класс, либо будет «купил кроссовки — увеличь пенис, и выучи английский !»

                  • fukkit
                    /#18900709

                    Если кроссовки брендовые, пенис увеличивать вовсе не обязательно.

                • 4tlen
                  /#18897873 / +1

                  Какую библиотеку? 100500 лет работают паттерны «С этим товаром смотрели» и «С этим товаров купили». Нафига усложнять все? Статья именно об этом: прежде чем пилить блокчейн с диплернинг на бигдате, стоит повспоминать/подучить проверенные практики.

                  • Alexmaru
                    /#18897899

                    Для отсеивания шлака из «с этим товаром же», который туда 100% попадает. Но в принципе, да.

                    • 4tlen
                      /#18898119

                      Ну, рекомендации такая штука, которая в принципе не выстрелит сто из ста. А количество шлака «легко» минимизируется. Сегментация пользователей по группам, сегментация правил рекомендаций по группам пользователей, сегментация по истории посещений внутри группы пользователей, сегментация по… да по чему угодно. Естественно это должен делать грамотный маркетолог, а не разработчик, который руководствуется своими догадками.

                      • Mike_soft
                        /#18898141

                        отсюда вопрос: с чем легче «договориться» маркетологу?

                        • 4tlen
                          /#18898197

                          Не понял вопроса.

                          • Mike_soft
                            /#18898227

                            для какого инструмента маркетологу легче поставить задачу?
                            маркетологи — люди своеобразные… вот сколько они мне в свое время (после я просто перешел в другую область) задач не ставили — формализовать задачу было порой весьма нетрииально… сейчас вот захотелось поднять старый список задач, и попытаться решить их на ML/

                            • 4tlen
                              /#18898701

                              >для какого инструмента маркетологу легче поставить задачу?

                              Опять не понял =)
                              Он, маркетолог, работает со статистикой и выдает рекомендации. Как они реализуются — вопрос разработки.

                              >попытаться решить их на ML

                              Алгоритмические рекомендательные системы (SQL) на вход получают только статистику. Маркетолог — статистику, свой опыт и здравый смысл.

                              ML это попытка заменить маркетолога и как-то прикрутить на вход «опыт». А «здравый смысл» задается в исключениях. Например не стоит предлагать холодильник через пол года после покупки холодильника. Или ласты зимой, несмотря на то что летом шорты+ласты заходят на ура, тогда как зимой шорты покупаются для спортзала и ласты в предложке уже безумство, а не cross-sell.

                              И вот эти самые исключения и есть самое узкое место в ML. Например коллаборативная фильтрация «увидит в статистике», а маркетолог поймет из опыта (или тоже из статистики), что генератор для Приоры можно предлагать хоть каждые 2 месяца, а для Тойоты не стоит вообще его рекомендовать. А чтобы обучить таким исключениям ML нужен нехилый такой датасет. Поэтому я не верю в то что ML лучше. По крайней мере для относительно небольших сайтов и сроков. Если это Амазон и задача за год натаскать сетку, то возможно.

                              • Mike_soft
                                /#18898945

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

                                • 4tlen
                                  /#18899005

                                  >зато если «зимой плавки+чемодан» — то можно предложить и ласты.

                                  Нельзя. И маркетолог, и SQL движек это поймут — движек из статистики (предлагали, не заходит), а маркетолог из опыта (на курорт со своими ластами не ездят). ML тоже научится, но сроки…

                                  В академических целях это безусловно классный опыт. Удачи.

                                  • lair
                                    /#18899097

                                    ML тоже научится, но сроки…

                                    Те же, что и у "движка" — если есть статистика "предлагали — не заходит", то она уже есть.

                                    • 4tlen
                                      /#18899199

                                      Тогда зачем вкладываться в ML, если можно дешевле в движек?

                                      При подходе «конверсия B при А+В >5% — кидаем в рекомендации» ML не нужен. Он нужен в случае если мы хотим «конверсия B при А+В <2%, но вот конкретно этот персонаж/сегмент конвертнется с вероятностью >80% — кидаем в рекомендации». Вот это пример «обученного». Для этого нужен датасет именно этого человека/сегмента.

                                      В этом случае будут точечные рекомендации и получится избавиться от маркетолога, ради чего, собственно, все и затевается.

                                      • lair
                                        /#18899219

                                        Тогда зачем вкладываться в ML, если можно дешевле в движек?

                                        Во-первых, еще надо доказать, что дешевле. Я вот даже не буду пытаться на SQL посчитать feature matrix для рекомендаций, а уж тем более — построить по нему расстояния, хотя на питоне это работает только в путь.


                                        А во-вторых, это вообще некорректное противопоставление, потому что когда вы вытаскиваете закономерность из существующей статистики автоматически — это уже ML. A и B — признаки, конверсия — существующие показания, 5% — порог отсечения для классификатора.

                              • 4tlen
                                /#18898949

                                Но и тут опять все упирается в сегментирование трафика: в северном климате не работает предложка, которая на ура заходит в южном. Например. Откуда ML возьмет это исключение? Маркетолог задаст. Так, стоп, мы ж хотели заменить его на ML…

                                Да, он конечно же обучится сегментировать сам. Со временем. Но это уже вопрос готов ли бизнес ждать.

                              • Neradivy
                                /#18903147

                                А «здравый смысл» задается в исключениях.
                                Наверное, не только в них.
                                Маркетолог может сформулировать рекомендацию вида «с этим товаром обычно забывают купить...»
                                А такой ML-алгоритм, по-видимому, невозможен. Хотя не знаю, как у него коммерческая эффективность.
                                Но вот к только что купленному принтеру предложить дополнительный комплект картриджей — казалось бы, предсказуемая глупость, которую МО на статистике не сделало бы, а на самом деле постобслуживание информацией о продукте).

                  • gandjustas
                    /#18899781

                    Для корректного ранжирования "с этим товаром смотрели" и "с этим товаром покупали" как раз ml (а конкретно — нейронные сети) нужен.

                • Hardcoin
                  /#18898609

                  Просто, реальные правила, которые можно изменить — лучше закрытого механизма AI,

                  Довод из восьмидесятых. Экспертные системы (с ручными правилами) заняли свою узкую нишу, но мало кто уже скажет, что они лучше ML.


                  Но опять же, хотите делать экспертную систему — пожалуйста, пробуйте. Потом напишете на Хабре историю успеха (имхо, вряд ли).

                  • AlexVist
                    /#18899489

                    Маленькое замечание. Я скажу что пока нельзя утверждать, что ML лучше старых экспертных систем из 80-х. )
                    Не мало ведь уже критических статей на тему ML. Так же не приведете пример истории успеха для ML. Не далее как вчера упоминался Watson IBM в несколько ином свете. А ведь замахнулись на медицину.
                    Да и нам всем тут не нужно меряться "длиной"… Скорее поразмыслить ПОЧЕМУ? Ведь мы все (надеюсь) стараемся сделать не только ради тщеславия, но и ради пользы свои продукты. Поэтому анализ почему не взлетело или не взлетает очень даже необходим.
                    Надеюсь никто не станет возражать против того чтобы не изобретать колесо заново? Прошлый опыт интересен. Более того, и в 80-х были идеи, которые не получили должного воплощения в автоматизированных системах. Не созрели еще технологии. А просто взять и отмести не изучив… Помнится в университете мы проходили основы основ математики, которым сотни лет.
                    И, как всегда, из практики. Несколько раз видел как разработчики изобретали квадратное колесо. Потом они уже начинали изобретать восьмигранное… и все еще деревянное. На следующей итерации они изобретут 16-ти гранное. Далее не буду продолжать. Когда они доберутся до каучука один Бог ведает. Боюсь, могу и не дожить. А причина в том, что существует убежденность в том, что они создают нечто уникальное и чужой опыт им не нужен. Хотя, очевидные методологии и техники уже эксплуатировались еще до их рождения. Хуже, что и слышать они не хотят об этом.

                    • Hardcoin
                      /#18899675

                      Я скажу что пока нельзя утверждать, что ML лучше старых экспертных систем из 80-х. )

                      Можно, конечно. В рамках обсуждаемой задачи (рекомендательная система для интернет-магазина) кто сейчас вообще будет использовать экспертную систему? Есть истории успеха? А простейшую коллаборативную каждый каждый третий, наверное (или более быстрые варианты).


                      Вот серьезно, кто-то вручную задаёт правила? Хотел бы узнать, если такие примеры есть.

                      • AlexVist
                        /#18899793

                        Я приводил пример медицины. ) Есть. История успеха, скажем, была. Мне было очень интересно изучить. Тем более, что я общался с реальными участниками событий. В том числе и с людьми, которые занимались вопросами со стороны государства. В том числе есть и истории, когда кто-то получил и гос. награду…
                        И, кстати, только одна из историй, когда произошел взрыв и использование экспертной системы позволило спасти многие жизни уже достаточен. Не все ведь меряется деньгами.)

            • Hardcoin
              /#18898587

              И получается проект на год и десяток миллионов. Вам никто не запрещает так делать, конечно. Почему так обычно не делают (ну я не слышал про такие истории)? Коллаборативную фильтрацию можно внедрить за пару месяцев силами одного программиста.

            • Paskin
              /#18901793

              Тут как раз AI выгоднее — можно искать корреляции автоматически. Но AI в этом контексте — это не нейронные сети, а вполне детерминированные алгоритмы кластеринга, сегментации и т.п.

              • 0xd34df00d
                /#18904919

                Нейронные сети не сильно менее детерминированы, чем алгоритмы кластеринга, скажем.

          • klirichek
            /#18900429

            А можно и не вручную. Простым запросом на тему "с этим товаром также часто покупают".

            • Paskin
              /#18901797

              Это называется кластеринг и относится-таки к области AI/Big Data. При этом AI != ML, т.к. в общем случае никакого обучения нет.

              • lair
                /#18902501

                Вы никогда не слышали термин unsupervised learning? Если что, алгоритмы кластеризации сейчас принято относить именно туда.

                • Paskin
                  /#18905413 / -1

                  Это такая мантра для инвесторов, а на деле — примерно как утверждение что теория асимметричной криптографии (или вообще — простых чисел) относится к криптовалютам.

                  • lair
                    /#18905615

                    Ну да, ну да, а логистическая регрессия — это статистическая модель, а матричное разложение — задача из линейной алгебры.

        • lair
          /#18897989

          Потому что рано или поздно вы задолбаетесь составлять и поддерживать эти таблицы.

      • Kirhgoff
        /#18897675

        А вот тут как раз ML поможет. Хотя опять же — посмотреть что еще покупали люди, которые купили очки шлепанцы и книги, можно и с помощью SQL и предложить человеку, например, солнцезащитный крем. Или зонтик от солнца, потому что обычно это идет в наборе покупок у других людей.

      • Salabar
        /#18899945

        Чтобы ИИ научился предлагать что-то интересное, нужно данных на сотню терабайт.

      • riky
        /#18900419

        вполне подойдет аналог ф-ии «с этим товаром покупают...» для работы достаточно sql

      • Zanak
        /#18901751

        Если говорить об ИИ в рамках одного, пусть и очень большого интернет магазина, у ИИ шансов сделать точное предложение едва ли не больше, чем у SQL запроса. Из того, что я купил кроссовки, совсем не следует, что я занимаюсь спортом, а если перехал в гористую местность, совсем не значить, что я встану на горные лыжи.
        Другое дело поисковые системы. С ними мы общаемся чаще, и спектр запросов шире. Здесь есть где разгуляться аналитикам, и SQL здесь явно недостаточен.

        • rub_ak
          /#18902035

          Или быть гуглом или фэйсбук который знает каждый ваш шаг и каждое действие, как и яблоко и пытающийся также влезть в последний вагон Амазон.
          Сам по себе поиск тоже не так много может знать, наглядный пример это директ. (Или яндекс совсем отстал от жизни.)

    • Alexeyslav
      /#18897673

      Потому что с ненулевой вероятностью человеку нужна будет и ВТОРАЯ пара обуви, не обязательно такая же как купил — для занятия спортом, велосипедная или зимняя. То же самое касается и очков. Одни купил, но вероятно через месяц захочет другие очки уже не тёмные а прозрачные для езды на велосипеде. Или первые поломал. Обувь, очки — это считай расходники. Их будут покупать и покупать…

      • Mike_soft
        /#18897923

        а если купил две пары — значит, понадобится еще две. итого четыре. и так в геометрической последвательности…
        или купил кроссовки — начинаем предлагать валенки и шлепанцы?

        • striver
          /#18898085

          купил кроссовки для баскетбола — аксессуары для баскетбола и вторая пара через 3 месяца или когда скидка. Купил 2 пары туфель — предложение через время, когда есть скидка. Геометрическая прогрессия — это какой-то средний-крупный опт. Эти все алгоритмы — очень своеобразные ибо держаться на вкусах и предпочтения. А о вкусах не спорят. И говорить, что при покупке кроссовок тебе не понадобятся шлепанцы — не корректно. На самом деле, может понадобится очень много, о чём даже сам человек не догадывается.

          • Mike_soft
            /#18898133

            для того, что бы определить, что «кроссовки для баскетбола» — они должны быть как-то классифицированы.

            «купил кроссовки — начинаем предлагать валенки и шлепанцы» <> «говорить, что при покупке кроссовок тебе не понадобятся шлепанцы — не корректно»
            я про то, что «купил кроссовки — предлагаем еще кроссовки» глупо, но «купил кроссовки — предлагаем все, кроме кроссовок» еще хуже.
            вот я реально позавчера купил кроссовки. сегодня мне нужна зубная паста. это не свяжет ни SQL, ини AI. а вот предложить средства для чистки кроссовок — вполне по силам обоим.

            • striver
              /#18898303

              купил кроссовки — предлагаем еще кроссовки» глупо
              Я написал о том, что нужно и можно предлагать через время. За лето, на асфальте я могу стереть подошву. Так и было в прошлом году, в сентябре купил другую пару, по скидке. Но я бы купил текущие, но скидок не было.

              а вот предложить средства для чистки кроссовок — вполне по силам обоим.
              а я о чем писал?
              купил кроссовки для баскетбола — аксессуары для баскетбола и вторая пара через 3 месяца или когда скидка.
              Это барахтанья о том, что кто-то предложил не правильный алгоритм, в общем и целом — просто вкусовщина. Не эффективно для 99% — так и быть, но даже 1% — это много. Тупая раздача листовок — это 3% эффективности. Но они работают и их раздают.

          • x67
            /#18900759

            Например, арбуз. Кроссовки то баскетбольные, а мяч круглый. Арбуз тоже (с некоторыми допусками, конечно)

    • Mnemonik
      /#18898115

      Плюс это один из тех очередников на особое место в аду из-за которых пришлось изобретать режим «ночной, не беспокоить» на телефонах пару лет назад. Емейл, у него, ссссука, по крону в два часа ночи, чтобы покупатель проснулся и обрадовался… прямо руки тянутся лично дров ему купить.
      Вообще вся статья написана каким-то махровым ретроградом. Нет, я конечно согласен с основным посылом о том что не надо пихать AI/ML везде где только можно, но примеры которые он приводит уж совсем из девяностых интернета. Так и кажется что следующее предложение упомянет скрипты на перле в /cgi-bin/ для apache с нежностью и теплотой, как родных детей. Все-таки крайности это плохо с какой бы стороны они не стояли. Аргументировать крайность использования AI/ML там, где это не нужно, крайностью «в наше время у всех было по 640 килобайт памяти и этого было достаточно!» — тоже аргумент так себе.

      • MTyrz
        /#18898781

        Именно.
        Если они добавили товар в корзину, то имели намерение его купить. Каждого потенциального клиента надо обязательно догнать и трижды осчастливить, невзирая на отчаянное сопротивление.
        Впрочем, упоминание валюты определенной страны как бы намекает, там богатый опыт поиска клиентов в сети, знаете ли…

      • Lissov
        /#18900075

        Плюс это один из тех очередников на особое место в аду из-за которых пришлось изобретать режим «ночной, не беспокоить» на телефонах пару лет назад. Емейл, у него, ссссука, по крону в два часа ночи, чтобы покупатель проснулся и обрадовался…

        Я сначала тоже так подумал. А потом увидел что они измеряют результат и получают таки увеличение продаж. Значит это таки работает, им очевидно важнее вернуть 25% своих клиентов, и плевать на остальные 75% которые и так ничего бы не купили.

        К тому же, может быть это опыт страны в которой интернет на телефоне у менее 1% населения (не пинайте, я не знаю как там в Нигерии). Если 99% клиентов получат письмо утром — то всё отлично (как и написано в статье).

      • wataru
        /#18902369 / +1

        Емейл, у него, ссссука, по крону в два часа ночи, чтобы покупатель проснулся и обрадовался… прямо руки тянутся лично дров ему купить.

        Тут вы как-то зря наезжаете. Про смс-ки ночью еще понятно. Но емейл — вещь не мгновенная и не срочная. Оповещения на емейл не должны быть громкими и тем более работать ночью. Как быть с письмами из магазина на другом конце света, в другом часовом поясе? Это плохая настройка телефонов, а не магазина, отправляющего письма в 2 часа ночи.

    • vlivyur
      /#18898631

      нафига мне ещё одни очки и вторые кроссовки, если я их только что купил
      Они вам нужны. Только не сейчас, а чуть позже. И это тоже можно «предсказывать» с помощью SQL.

      • nikolayv81
        /#18904347 / +1

        Часто проблема в том что когда они мне станут нужны этой модели уже не будет (не знаю в чём смысл смены моделей по два раза в год, но ни одной модели удобных для меня кроссовок через год после покупки найти было невозможно. :)

    • nikitasius
      /#18898829

      Через SQL делается интересный запрос, через который вытягивает все те товары, которые покупают люди тех же +- критериев как текущий покупатель после того, как (если данных много) купили А и Б во время года В.
      Уверен "ИИ" жирный скрипт от "рога и копыта" будет стоить дороже, чем тот SQL, тратить в 5 раз больше ресурсов, но выполнять то же.

      • lair
        /#18898939

        Самое интересное в этом "интересном запросе" — это пункт "тех же критериев".

        • Alexeyslav
          /#18898983 / +1

          Иными словами… рисуем_сову_в_два_этапа.jpg

        • nikitasius
          /#18900621

          Ну, так голова для чего?
          В правильно спроектированной базе я не вижу проблем или тормозов для поиска той или иной инфы.
          Далее есть Oracle с PL/SQL.

          • lair
            /#18900643

            Недостаточно правильно спроектировать БД, нужно еще правильно наполнить ее данными. А за это отвечает далеко не тот, кто БД проектировал.


            Отдельным пунктом мне интересно, как именно вы будете определять, какие из k "критериев товара" должны совпадать для "тех же" товаров, а какие — нет, особенно учитывая, что категорий товаров n, и у каждой категории "критерии", очевидно, разные.

            • klubben
              /#18900989

              какие из k «критериев товара» должны совпадать

              Ну в статье же сказано: купил кроссовки — будем предлагать еще больше кроссовок

          • Druu
            /#18900655

            В правильно спроектированной базе я не вижу проблем или тормозов для поиска той или иной инфы.

            Инфу еще как-то интерпретировать надо. Какая у вас есть информация о покупателе? Какой-то предельный минимум личных данных, из которых ничего полезного не извлечь, плюс, с-но, история покупок.
            Можете сходу назвать несколько своих критериев?

            • nikitasius
              /#18901049 / -1

              Да, ща, сделаю, сек, падажи меня тут.

    • apelsyn
      /#18898991

      Человеку можно рекомендовать то что покупали другие пользователи с этими товарами. Эти выборки можно делать с помощью SQL.

      • 0xd34df00d
        /#18904955

        Так скоро до коллаборативной фильтрации на SQL дойдём.

    • Fox_exe
      /#18899327

      За это надо расстреливать на месте.

      С чего вдруг?
      Не вижу проблемы, если предлагается не просто тотже товар, а его альтернативы (Кроссовки -> шлёпанцы, тапочти, обувь на следующий сезон (Ботинки, например)).
      Или просто другие модели. Вполне возможно, что чтото понравится больше, чем то, что купил.
      Или клиент захочет купить обувь для детей/друзей/родителей/себя…

      С остальными категориями также.
      Тоесть тут вопрос именно в предложении товара из тойже категории, а не «Точно такое, как уже купил».
      До кучи вполне можно опираться на личные данные клиента — Дату рождения и пол, которые почти всегда заполняются в личном кабинете, и предлагать товары для соответствующей категории.

      В общем — никакого ИИ. Только собственная голова на плечах и умелое оперирование имеющимися данными.

      • Neikist
        /#18899441 / +1

        На кой черт мне второй холодильник если я только первый купил?

        • Fox_exe
          /#18900749

          На кой черт мне второй холодильник если я только первый купил?

          Ну не себе, так друзьям/родным/детям/внукам…
          Хотя да — хорошим тоном было бы предлагать Аксесуары к холодильнику — контейнеры для еды, формочки для льда и т.п.

          • klubben
            /#18900993

            Ну не себе, так друзьям/родным/детям/внукам…

            С тем же успехом можно предлагать любой рандомный товар

  3. TiesP
    /#18897345 / +2

    Раньше вообще обходились записями на бумаге… без какого-то причудливого SQL

    • Mike_soft
      /#18897367

      а когда бумаги не было?

      • TiesP
        /#18897499

        запоминали)… и передавали устно из поколения в поколение

  4. zigrus
    /#18897407 / +1

    не все же так виртуозно пишут SQL запросы.
    в этом нужно разбираться. вникать. сейчас это мало кто делает. всем нужны быстрые результаты и минимум усилий

    • peresada
      /#18897479 / +1

      то есть прикрутить и организовать нормальную работу AI\ML, да и разбираться в этом, проще, чем знать SQL на нормальном уровне? да ну бросьте

      • nikolayv81
        /#18904383

        Основная проблема в том что 2 системы параллельно одному заказчику не ставят, поэтому сравнивать особо нечего и соответственно оценить "нормальность" системы (кроме случая полного отсутствия отклика клиентов) весьма непростая задача.

    • Guitariz
      /#18897495

      Определенно, зачем какой то сложный SQL, Если есть ML.

  5. WTYPMAH
    /#18897489 / -1

    Похоже автор не совсем понимает задачи и область применения ML. От слова «совсем». Отсюда и статья…
    Задача SQL — хранение и извлечение информации. Кстати, обработка этой самой информации не является прямой задачей SQL.
    Задача аналитика — формирование гипотез, которые он может подтвердить / презентовать с помощью данных. Для этого он может использовать тот же SQL.
    А вот задача ML — выявление и/или подтверждение гипотез аналитика, которые он не может сам выявить/подтвердить/презентовать по причине или их неявности, или слишком большого объема данных и их зависимостей, которые человек физически не способен обработать.

    Не путайте мух с котлетами и все будет хорошо. У каждой задачи есть свои методы и инструменты. Вряд ли вы будете использовать SQL, чтобы сделать одну заметку, точно так же, как вы вряд ли будете использовать Блокнот, чтобы отредактировать фото

    • AlexVist
      /#18897601 / +1

      Тут так же верно утверждение, что вопрос к квалификации аналитика. И к тому же целесообразность применения ML на примере, который привел автор статьи.
      Пусть аналитик применяет ML для проверки и подтверждения гипотез. Тогда речь идет о чем-то ОЧЕНЬ крупном. Тогда, может быть, но не факт оправдана теория применения ML как дорогостоящей технологии. Да и аналитик в большом проекте стоит дорого.
      И вообще рассуждения уходя в область про "сферического коня в вакууме". ))
      Думаю, что никаких мух и котлет нет. Просто есть конкретные задачи и наиболее эффективные способы их решения.

      • WTYPMAH
        /#18897905

        1. ML применим не только к очень крупным объемам данных. На моей практике были модели на основании 20-30 точек, и в этих кейсах без ML было не обойтись.

        2. Дорогая стоимость ML тоже отчасти миф — простые методы можно применить хоть в Excel. ДЛя сложных методов есть бесплатные open-source решения, которые потом летят в продакшн точно так же не дорого. Явно не дороже, чем аналогичное решение на стандартной ИТ-инфраструктуре без ML-движков. Можете почитать целую подборку статей i_shutov

        3. Я как раз и писал о том, что у каждой задачи и метода есть своя область применения и инструменты. Нельзя утверждать, что задачи ML можно решить с помощью SQL, как это делает автор статьи в самом заголовке. И то, что для подтверждения этого выбран неудачный пример — обычная манипцляция

        • AlexVist
          /#18897977 / +1

          1. Ну проявите немного уважение к собеседникам. ) Не таите что за задачи. тем более что из практики. Именно для этого сайт и создан. да и предметное обсуждение всегда интереснее.
          2. Ключевое слово "отчасти". исключения часто подтверждают правило. в целом технология дорогая. Как и стоимость специалистов. Средний менеджер/аналитик, который пользуется excel вовсе не специалист в ML. Спасибо за статьи. Конечно чтение не повредит. )
          3. Согласен с некоторой провокативностью заголовка статьи. Пример из практики всегда удачен. Он может быть спорным. Но все же лучше, чем просто голословные утверждения о том, что одно лучше другого, без примера из той же практики. Все измеряемо и измеримо. И приводя примеры мы можем сказать, что данная технология позволила то то и то то в сравнении с другой. Грешат и сильно грешат диванные теоретики ML тем, что не имеют реальной решенной прикладной задачи. Это не добавляет, а наоборот понижает степень их правоты. Я правоту не исключаю. Потому что всегда смотрю в сторону лучшего, менее затратного и оправданного экономически способа решения поставленной задачи.

          • WTYPMAH
            /#18898185

            1. Построение модели прогнозирования влияния эффекта макро-ожиданий на портфельные показатели финансовой организации. Т.е. некий микс матриц миграции Маркова по которым считался прогноз портфельных показателей и регрессии, по которой считался эффект от макро на матрицу.

            2. К сожалению, не могу оперировать точными ценами, но разве развернуть open-source решение на базе R+shiny на сервере будет дешевле, чем развернуть решение на базе SQL + еще какой-то движек нужен для UI? Интуитивно — очень сомневаюсь.

            3. Так я это и пытаюсь сказать — нет смысла утверждать, что SQL лучше ML-движков. ДЛя одних задач подходит SQL, для зругих — ML.
            Давайте представим пример из полу-практики. Считаем что объективно нужно разработать и процессить в продакшине очень просутую ML модель. Пусть будет линейная регрессия и логит. Можно ли это сделать в SQL? Можно! Есть много гик-статей, где есть примеры реализации в SQL. При этом решение задачи в R или Python — до 10ти строчек кода.

            Если задачу можно технически решить каким-то инструментом, еще не факт, что этот инструмент является лучшим выбором для этой задачи.

            • AlexVist
              /#18898307

              Вот приведение примеров и дает более наглядно видеть как и для чего применяются различные технологии. И в чем бывают их преимущества и недостатки.
              Прекрасные примеры. Из которых становится понятнее почему именно выбранная технология более применима.
              А еще курьезы в том, что люди занимаются совершенно разными задачами. И, естественно, рассуждают через призму того, что сами делают. Не делая поправки на те задачи. которые решают оппоненты. Я бы сказал больше — даже не интересуются этим. ))
              Из практики могу тоже привести пример. Есть промышленная система написанная на Delphi (не ругайтесь). Скажу просто, что она успешно применяется и отказ от нее нецелесообразен. Для быстрой проверки реализации некоего функционала используется Python в силу того, что достаточно несколько строк, чтобы проверить именно функционал. Не нужны ни формы, ни рюшечки. Но реализация все-равно останется и будет в Delphi.
              Это я к тому, что наличие альтернатив не всегда бывает допустимо к применению в конечном продукте. Это риторика, которую в общем комментировать не нужно. ) относится к конкретному продукту. Скажем опыт, который не обязательно заимствовать. Но знать полезно.)

    • aamonster
      /#18897745 / +1

      Ну, путает, допустим, не автор, а те, кто пытается все задачи решать через ML/AI. А автор всего лишь напоминает, что иногда другие инструменты удобнее.

      • WTYPMAH
        /#18897911

        Не иногда, а всегда. Почитайте залоголовок — ML не нужен, нужен SQL.

        • aamonster
          /#18898345 / -1

          Заголовок — это да. Желтушные заголовки — наше всё.
          Но в тексте всё нормально.

  6. Guitariz
    /#18897503

    Прямо с языка снял, все именно так.
    Не так плоха новая технология, как неумение ее применять.
    Всегда вспоминается «Идиократия» с Brawndo.
    <sarkazm=«ON»>Плохой продажник, в связи с тем, что он не может придумать нормальную концепцию хорошей вещи, берет количеством модных словечек. Да, это работает только на неразборчивых клиентов, но работает же. Рыночек порешал, если продажи растут, значит, все правильно делается.<sarkazm=«OFF»>

  7. megaentwickler
    /#18897583

    Ну разумеется, в e-commerce эффективней такие методы, но как насчёт других областей, где ведётся прогнозирование природных явлений или человеческих действий и т.п.? В областях, где нет цели навариться на потребителях? Имхо, заголовок слишком некорректный.

    • shaukote
      /#18898465

      Никогда не понимал вот этого «навариться на потребителях». Что плохого в том, чтобы заниматься созданием/поддержкой удобного сервиса/магазина для покупок? Как вообще люди представляют себе мир без того самого «e-commerce»?

      • Mike_soft
        /#18898589

        жили когда-то «без того самого».
        е-коммерс — просто один из удобных инструментов для жизни.

      • megaentwickler
        /#18899707

        Слишком неоднозначно у меня выглядит, но всё-таки я не вкладывал плохой смысл в свои слова.

      • nikolayv81
        /#18904403

        С одной стороны вы правы, с другой — блокировщиками рекламы и спам фильтрами активно пользуются.

      • edogs
        /#18904419

        Никогда не понимал вот этого «навариться на потребителях». Что плохого в том, чтобы заниматься созданием/поддержкой удобного сервиса/магазина для покупок?
        Между «заработать делая бизнес» и «навариться на потребителях» разница примерно такая же как между банком и мфо.

  8. Vlad_fox
    /#18898025

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

    • VMichael
      /#18898369 / +1

      Добавьте в ваши рассуждения «в конкретном случае» и все ложится хорошо.
      Да, на конкретную дачу может быть удобнее на машине.
      Да, в конкретном случае навоз удобнее возить на дешевой машине.
      Да, в конкретных случаях велосипед лучше автомобиля.
      А не пытаться везде использовать поезда.
      Собственно об этом и статья.

      • Neikist
        /#18898411

        Статья оставляет впечатление что автор топит за использование только SQL в принципе везде где это хоть как то возможно. Особенно эпичен кейс с рекомендацией товаров той же категории что пользователь только что купил. Не хватает акцента на том что статья именно о том чтобы решать задачи подходящими инструментами, оставляет впечатление желания решать все через SQL.

      • alsii
        /#18902837 / +2

        Конкретный случай — это всегда конкретный случай. А автор пытается обобщать.


        Заголовок спойлера
        • Я поехал на велосипеде на дачу вместо электрички, сэкономил ХХ рублей, по дороге наслаждался прекрасными видами -> отлично! решил не покупать проездной, электричка не нужна.
        • Уже неделю езжу на велосипеде, доволен как слон! Решение однозначно было правильным, пишу статью на habr!
        • Сегодня на половине пути застал дождь, промок до нитки. Подписался на прогноз погоды и если он плохой, беру с собой плащ.
        • Плащ оказался не очень удобным, купил дешевый дождевик. Все равно куда дешевле проездного.
        • Дожди идут неделю, в двух местах дорогу размыло, приходится идти по обочине пару километров. Не беда, времени у меня много.
        • Дешевый дождевик начал рваться., задумываюсь о покупке более качественного, но цена — как половина проездного на месяц. Ничего, все равно сэкономил больше!
        • Черт!!! Решил проехать очередной размытый участок, упал в лужу. Весь измазался в грязи, порвал новый дорогой дождевик :( Покупать еще один давит жаба, поезжу пока в старом дешевом. Дожди вроде не так часто.
        • Он все-таки порвался на полдороге :( Час под дождем. Вымок до нитки, простыл. Врач выписал лекарство, дорогое :(
        • Пару дней ездил на электричке. Разовые билеты дорогие, решил вернуться к велосипеду.
        • Все же велосипед — это классно! :-) Погода наладилась, не езда — наслаждение, красота!
        • Он сломался!!! И опять на полпути, что за проклятое место? Пришлось тащить на себе, потом везти обратно на электричке. За ремонт просят немыслимых денег, заказал запчасть на Али за копейки. Пока не придет, буду ездить на электричке.
        • Что-то долго не идет деталь. Купил проездной.
        • Ура!!! Деталь пришла! Починил все за пару часов. В мастерской работают откровенные барыги.
        • Что-то ездить стало прохладно… Посмотрел цены на термобелье, тихо выпал в осадок. Проездной еще действует, буду пока ездить на электричке.
        • Проездной кончился, снова попробовал поехать на велосипеде. Холодно, но сезон заканчивается. Потерплю.
        • Снова купил дождевик, мокнуть и мерзнуть одновременно не хочется.
        • Китайская деталь сломалась :( Опять на половине, но к счастью на обратном пути. Проездной покупать смысла нет, буду ездить по разовым.
        • Сезон закончен!!! Велик пока чинить не стал, за зиму не спеша разберусь что к чему.
        • Весна!!! Пора на дачу… Сунулся в гвраж за великом, вспомнил, что он неисправен. Поехал на электричке.
        • Неделю катался на электричке, решил купить проездной. До велика пока руки не доходят, да и цены на нормальные запчасти не радуют.
        • Сегодня ехал на электричке, читал книгу. Посмотрел в окно. Увидел там велосипедистов. Едут по грязи, под дождем против ветра… Так ли оно было хорошо в прошлом году? Пока не решил… читаю книгу дальше. В вагоне тепло и сухо...

  9. WTYPMAH
    /#18899785

    Практически в каждой ветке комментов в итоге идет три противечащих утверждения:
    1. ИТ использует ML везде где нужно и не нужно бездумно
    2. ML ОЧЕНЬ дорогой
    3. ML может использовать ML-специалист, которых мало и они очень дорогие.

    Ни у кого диссонанса это не вызывает?

    Это что же за компании такие, у которых есть возможность бесконтрольно и без анализа тратить огромные деньги на то, что не нужно + делают люди, которые это делать не должны? :)

    Прям чувствую, что заминусуют, но удержаться не смог + может зерно истины в обсуждениях обнаружим

    • Femistoklov
      /#18905331

      Очевидно, одно из трёх утверждений неверно. Либо ML большинству компаний нафиг не нужно, либо его можно успешно заказать на фрилансе за копейки, либо любому айтишнику хватит мозгов прочитать пару статей по теме и применить какую-нибудь из существующих ML-библиотек.

  10. hippohood
    /#18899999

    В магазине на 1000-10000 товаров не нужен SQL, там спредшита достаточно, если уж на то пошло, по крайней мере для описанных задач.
    И я не уверен что специалист по SQL сильно дешевле специалиста по ML

  11. AC130
    /#18900115

    Чтобы выявить клиента недели, мы написали SQL-запрос, который находит в таблице заказов запись с самой большой корзиной заказов за неделю. Получив эту информацию, мы отправляем клиенту письмо с благодарностью и прикладываем небольшой купон/ваучер. Угадайте, что происходит дальше? 99% этих людей становятся постоянными клиентами. Мы никогда не нуждались в ML. Просто написали элементарный SQL-запрос — и получили эту информацию.

    Ну это, по факту, тоже «L», только не «Machine Learning», а «Human Learning». При применении ML модель будет способна предсказать, какому именно клиенту надо выслать купон, используя массив данных о предыдущих клиентах и купонах. Тут сам человек придумал какую-то фичу и делает работу вместо машины. А вот какая будет эффективность у разных подходов — ещё вопрос. У автора +0.99 постоянного клиента в неделю. Машина может предложить рассылать письма большему числу людей. К примеру, если рассылать письма 10 персонам, а точность модели составляет 70%, то получается +7 постоянных клиентов в неделю.

  12. StallinHrusch
    /#18900279

    Что-то аргументы из разряда «нафига попу баян». Пусть автор попробует применить SQL для того, для чего был создан ML — для прогнозирования\предсказаний. Например напишет SQL скрипт, который, например, покажет вероятность увольнения сотрутника в обозначенном будущем, основываясь на всех данных всех сотрудников и\или ситуации в компании\на рынке, календаре событий и еще чем-нибудь. Вот тогда будет шок и сенсация.

    • gandjustas
      /#18900295

      Смысл статьи не в этом. Автор пишет про использование ML, там где и без него можно обойтись.


      Недавно мне затирали про нейронные сети в анализе ассортимента. Когда сделал им ABC\XYZ анализ в excel за 20 минут — очень удивились.

  13. Dorial
    /#18900477

    Я так понимаю, что искусственный интеллект призван автоматизировать труд человека. То, что автор делает руками: пишет запрос, запускает его, анализирует результаты, пишет текст письма, создает рассылку и отправляет ее, то AI должен делать автоматом, на регулярной основе. Кстати, уже есть стартапы, которые делают роботизированный копирайт. Т.е. робот сам определяет, кому и что написать и пишет текст (копирайтеры — скоро ваша профессия исчезнет:)). А в целом, конечно, SQL — мощь, согласна.

  14. Ipeacocks
    /#18900721

    Просто часто новомодные технологии используют для обмана инвесторов (т.е. рекламы). Если на всех углах говорят о блокчейне и на это дают деньги, то и юзать его будут многие. Пройдет время и увидим насколько технология живучая.

    • Mike_soft
      /#18901857

      вспоминаются «нанотехнологии»…

      • Ipeacocks
        /#18903039

        Ну вот, они как бы будут, но будут там где нужно.

  15. postgres
    /#18900739 / +1

    Несомненно, чем проще решение, тем лучше. Но, название статьи слишком громкое, ожидал прочесть, что-то более удивительное. Спасибо за перевод.

  16. GerrAlt
    /#18900779 / +2

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

    • EvilArcher
      /#18901747

      Не думаю, что вина на разработчике. Что заказчик попросил, то и запрограммировали. Тут технология вообще не причем.

      • GerrAlt
        /#18902343 / +1

        Технология не причем, но разработчик хвалит такой подход в статье (

        Скажем, человек купил пару обуви, солнцезащитные очки и книгу. В рассылке для него мы покажем обувь, солнцезащитные очки и книги.
        ), а с чего он взял что мне нужна вторая пара обуви, вторые очки и какая-то книга (непонятно как подобранная, та же что я уже купил? или ORDER BY random limit 1?)?

    • Ipeacocks
      /#18903047

      Ну я думаю ML не нужен, чтоб предложить полки после покупки шкафа.

      • lair
        /#18903071

        … а что бишь для этого нужно?

        • Druu
          /#18903213

          Специально обученный человек, который будет перезванивать и предлагать. Очевидно же!

          • lair
            /#18903215

            "Нет, вам не нужны компьютеры. Вам нужны люди."

            • MTyrz
              /#18906175

              Нам не нужна ракета «земля-воздух»!
              Нам нужна ракета «земля-самолет»!

  17. Dywar
    /#18900865

    О чем речь вообще.
    Для каждой задачи свой инструмент, используй то что удобнее и проще для тебя и твоей команды.

    Задача T.
    Можно решить технологией X, Y, Z.
    X — сложно, дорого, не все знают, быстро работает.
    Y — просто, дешево, знает половина, работает долго.
    Z — средне, средне, знают все, работает средне.
    Оцениваем важность каждого показателя, берем тот который набрал больше баллов. Или рисуем три кружка, подымаем голову вверх, водим ручкой в пределах этих кружков и на любимую считалку тыками на искомый вариант.

    *Фишка нейронок — они очень и очень быстро решают задачи на которые обучены. Никакой алгоритм не сделает того же с подобной скоростью.

    • lair
      /#18900957

      Фишка нейронок — они очень и очень быстро решают задачи на которые обучены. Никакой алгоритм не сделает того же с подобной скоростью.

      Это, очевидно, зависит от задачи, "нейронки" и "алгоритма".

    • GerrAlt
      /#18902375

      *Фишка нейронок — они очень и очень быстро решают задачи на которые обучены. Никакой алгоритм не сделает того же с подобной скоростью.
      а можете какую-то ссылку дать или как-то пояснить ваше утверждение?

      я утрирую конечно, но если я обучаю нейросеть вычислять сумму двух целых чисел, скажем, в диапазоне от 0 до 1000000 то я уверен что обычный алгоритм сложения сработает значительно быстрее (при одинаковом быстродействии железа, само собой)

      • Dywar
        /#18904605

        Нет линка, есть имхо после прочтения нескольких книг по алгоритмам и просмотра видео докладов на тему нейронок, например — Дмитрий Сошников — Доступный искусственный интеллект на платформе .NET.

        Естественно нейронка массив чисел быстрее не отсортирует и т.п. (сходу не могу представить даже как), а вот картинку распознает значительно быстрее поиска ближайших соседей. Это впрос к задаче «Т», что лучше использовать.

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

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

    • wataru
      /#18902403 / +1

      *Фишка нейронок — они очень и очень быстро решают задачи на которые обучены. Никакой алгоритм не сделает того же с подобной скоростью.


      Очень громкое утверждение. Да, работают они гораздо быстрее, чем обучаются, но при этом само решение может быть слишком медленным.

  18. Dywar
    /#18900893

    del

  19. morozovsk
    /#18900973 / +2

    Несколько лет назад делал рекомендательную систему с помощью одного средней тяжести sql-запроса. Если вдруг понадобится сделать рекомендательную систему на текущем проекте, то поступлю также.
    Но такое можно делать только на маленьком проекте. На среднем-большом проекте уже идёт битва за каждую десятую и сотую часть процента (в рамках амазона это миллионы и миллиарды долларов).

    Почему мы постоянно видим в описании стартапов строку с машинным обучением? Потому что инвесторы планируют вкладывать в создание нового «единорога» (цена компании от миллиарда), а не очередной магазин на тысячу пользователей. Если не добавить, то инвестор будет вас воспринимать как проект на 1000-10000 пользователей.

    Статья какая-то слишком маркетинговая (собственно свой маркетинговый опыт автор и описывает в ней), много круглых цифр 25-30% с потолка, много нестыковок и много воды.

    Все нестыковки и маркетинговый булшит спрятал под спойлер:
    1) «Эффективность отклика всегда была больше 50%». Именно 50%, а не 49.7% или 52.3%. Знакомая история? Когда кто-то хочет придать своим словам вес, то стараются избегать фраз типа «больше половины пользователей», потому что это легко выдаёт незнание реальных цифр, а они в результате неожиданно могут оказаться, не «больше половины», а всего 17%

    2) Автор предлагает поверить ему на слово, что его подходы эффективнее, чем машинное обучение, при этом он не делает сравнения с цифрами полученными в результате машинного обучения, а сравнивает с «отраслевым стандартом». На мой взгляд сравнивать со средними показателями по отрасли не очень дальновидно. За несколько лет целая отрасль может схлопнуться может схлопнуться почти целиком за счёт использования новых подходов и технологий.

    3) «99% этих людей становятся постоянными клиентами». Аналогично предыдущему пункту, он явно хотел написать «все пользователи», но такого не бывает и легко быть пойманным, поэтому опять берётся цифра с потолка.

    4) «Это оказалось более эффективно, чем тратить деньги на рекламу.» Опять же сравнение выглядит как «Tide стирает лучше чем обычный порошёк», но как это доказывает неэффективность машинного обучения?

    5) 99% пользователей, которым они отправляли письмо становятся постоянными клиентами, при этом лучший опенрейт, который они достигали 25?30%:
    Получив эту информацию, мы отправляем клиенту письмо с благодарностью и прикладываем небольшой купон/ваучер. Угадайте, что происходит дальше? 99% этих людей становятся постоянными клиентами.
    Типичный уровень просмотра (open rate) большинства маркетинговых писем составляет от 7 до 10%. Но когда мы хорошо справлялись с работой, то видели показатель в районе 25?30%.

    6) много воды, сейчас даже спам приходит персонализированный.
    Ещё одна приятная особенность этих писем — то, что мы обращались к людям по именам. Никаких «уважаемый клиент». Только «дорогой Селестин», «дорогой Омин» и так далее. Это придаёт всему оттенок человечности.

  20. algotrader2013
    /#18900983 / +1

    Но если у вас маленький интернет-магазин с 1000?10000 клиентов, то можно обойтись SQL. Кроме того, специалисты по ML/AI стоят недёшево.

    В этой фразе и кроется основная ошибка автора. Он считает, что интернет магазин на 1000 клиентов должен самостоятельно решать все задачи преобразования данных, и, соответственно, миру нужны миллионы забагованных скриптов по поиску клиентов недели/месяца, брошенных корзин, и так далее. Но суть в том, что, при текущей глобальности рынка эфективнее выходит стратегия «бросить все силы на ключевую компетенцию, а остальное купить», и кроме вариантов
    1) держать специалиста сомнительного уровня по ML, который пилит модели (сомнительного уровня — потому, что сложно привлечь специалиста хорошего уровня в компанию, где он единственный специалист в своем роде, даже при значительном бюджете)
    2) держать специалиста сомнительного уровня по PHP/SQL, который делать запросы, основываясь на здравом смысле,
    есть еще
    3) использовать для всех перечисленных задач коробочные продукты, авторы которых могут позволить себе хороших специалистов за счет масштаба

    • mayorovp
      /#18901923

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

      • algotrader2013
        /#18902575 / +1

        купившему холодильник реклама предлагает холодильник

        Хороший пример. Люди привыкли думать, что этот случай — пример забагованности и несовершенства алгоритмов. А по факту — это результат решения задачи с неполными данными. Данные об интересе к холодильнику есть, а данных о факте покупки нет, поэтому, модель работает так, что меньшинство, которое еще не купило холодильник, и кликнет на баннер, должно отбить затраты на большинство, которое уже купило.

        • mayorovp
          /#18903105

          Вот как раз неполнота данных — это и есть баг. В архитектуре.

          • algotrader2013
            /#18903399

            В архитектуре устройства мира? Если интернет магазин не готов продавать/отдавать данные о своих клиентах рекламной сети, или требует необоснованную цену, то как это исправит архитектура?

            • mayorovp
              /#18903449

              Никак. Иногда бывает что поставленную задачу решить невозможно в рамках существующих ограничений.

  21. vibrant
    /#18901063

    Не усложнять. Это должно быть вбито в подкорку каждого программиста, потому-что программист_строит_дом.jpg — это суровая реальность, и чаще все еще хуже.
    За двадцать лет так и не увидел ни одной годной рекомендательной системы — либо эти рекомендации просто бред, либо они не попадают в мои предпочтения ну никак, на чем бы она там не работала, хоть sql или скрипт на перле, или там гигантская нейросеть.
    Для себя решил, что нужно бить себя по рукам, как только появляется мысль догнать и причинить добро юзеру. Мечтаю, что когда-нибудь до этого додумаются и маркетологи.

  22. VitamiNoZzZz
    /#18901071

    Ребятки, если внимательно почитать статью, то автор не пытается вдаваться в подробности ML, в возможности аналитика, насколько он хорош или плох… Идея в том, что все пытаются следовать моде, и без употребления ML\AI у тебя просто ничего не купят (в плане услуг, продукта), и не потому, что на SQL нельзя сделать быстрее и проще, а потому, что это продается легче и быстрее… Потому, что люди, которые принимают решение по закупке того или иного продукта недостаточно понимают, что они собираются покупать… Автор предлагает не носить круглое и перекатывать квадратное и не более.

  23. Matroskin1977
    /#18901073

    Согласен, для каждой цели свой инструмент. Но порой из-за моды, желания двигаться вперед, любопытства или еще по каким то причинам мы начинаем использовать что то совсем не нужное в данный момент.
    Хотя рискну предположить, что появление многих новых инструментов связано с желанием как то отличаться от всех. Ведь программирование — это очень просто, как и математика и очень сильно ограничено правилами.
    Простая задача, вывести на экран слово «ПРИВЕТ».
    1. Можно отобразить нужный набор пикселей.
    2. Можно создать шрифт, и с его помощью написать слово.
    3. Можно создать объект, который будет уметь отображать строго заданное слово.
    4. Можно создать объект, который будет уметь отображать любое слово.
    5. Можно создать объект, который будет уметь отображать любое слово и любым цветом.
    и т.д.
    вариативность решений будет зависеть только от желания выделиться, но результатом будет всего лишь слово «ПРИВЕТ».

    P.S. Для любителей машинного обучения хочется напомнить, что машинное обучение тоже описано кем-то, с какой то логикой и развивается в строго описанных программистом рамках.

    • alsii
      /#18902903

      Навеяло. Когда где-то в начале 90-х речь зашла о создании web-сайта, обатились к дизайнеру с которым давно работали. Стали ему объяснять, про web, про html. Он слушал грустно, когда услышал, что можно вставлять картинки — оживился: "А давайте я нарисую всю страничку целиком в фотошопе, а вы ее выведите в jpeg и вставите в ваш html?".

      • MTyrz
        /#18906191 / +1

        У меня коллега на одной из прошлых работ докладные директору в фотошопе писал.
        — Да ну его, — говорит, — этот Ворд. Непривычно, непонятно, мне в фотошопе быстрее и удобнее.
        Дизайнер, да.

  24. wildraid
    /#18901111 / +1

    Эта идея вполне справедлива и для больших проектов, у которых сотни терабайт данных. Особенно если SQL хорошо масштабируется, позволяет сделать десяток произвольных JOIN'ов и отдаёт ответы за секунды или, максимум, минуты.

  25. edogs
    /#18901481

    Статья неплохо показывает, что классика эффективна и сейчас.
    Но всё равно остается вопрос «не было бы лучше с AI/ML».
    Ведь в этом

    написал SQL-запрос, который выбирал всех клиентов с датой последней покупки 3 месяца или более.

    Автор поставил задачу — надо сделать рассылку старым клиентам. Ок, не вопрос, задачи должен ставить человек и человек их обычно и ставит.
    Потом автор нашел ответ — те кто делал покупки с датой больше 3 месяцев. И вот тут уже вопрос — а не нашел бы AI/ML более оптимальную выборку? Например «клиент больше 2 месяцев покупавший шаверму» и «клиент больше 4 месяцев покупавший беляш»? Совсем не факт.
    AI/ML не так что бы сильно нужны в постановке задач, но будучи правильно применены они нередко могут найти более оптимальное решение.

    • Neradivy
      /#18903817

      А как бы он нашёл более оптимальную выборку, из каких дополнительных данных, если у автора статьи не нашлось других критериев?
      Это ведь такая же глубоко семиотическая и творческая задача, как упомянутый мною выше алгоритм вычисления «к этому товару впридачу обычно ЗАБЫВАЮТ купить»… даже не факт, что вообще имеющая решение, потому что в чём вообще измеряется прогнозируемый показатель? Как Вы определяете «психологическое устройство»/«маркетинговый профиль» человека, которому Ваша рассылка пофигу, а как — того, который вернётся сразу, а как — того, который решил было вернуться через неделю, но не вернётся, а того, который через неделю вернулся бы, если бы Вы в этот период не продублировали рассылку (а теперь прорычит: «задолбали спамеры» и отпишется навсегда)? Призраки театра, комплексные образные модели…
      Из объёма данных самого по себе может рациональным научным путём получиться «сделай, как было, только побольше», но Вы предлагаете задачу «сделай, как не было» (покупатель не заходил, не покупал, а тут вдруг купит).

      Хороша фантазия у одного из комментаторов выше: «AI способен однажды научиться через сорок недель порекомендовать подгузники тому, кто сегодня покупает вино и шоколад, но не покупает презерватив». Может помочь в планировании рассылки «спящим». Но, во-первых, низкий КПД: большинство не вернувшихся целый за повторной покупкой, которую большинство делает через три недели, уже всё купили — у конкурентов. Плюс, подозрение: чего это интернет-магазин такой заботливый, небось, у них дороже или залежалось? (не в Нигерии, может быть).
      Во-вторых, это ведь тоже задачка из разряда «сделай, как не было»…

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

      • edogs
        /#18904277

        Хороша фантазия у одного из комментаторов выше: «AI способен однажды научиться через сорок недель порекомендовать подгузники тому, кто сегодня покупает вино и шоколад, но не покупает презерватив»

        так то реал стори типа
        www.nytimes.com/2012/02/19/magazine/shopping-habits.html?pagewanted=1&_r=1&hp
        About a year after Pole created his pregnancy-prediction model, a man walked into a Target outside Minneapolis and demanded to see the manager. He was clutching coupons that had been sent to his daughter, and he was angry, according to an employee who participated in the conversation.

        “My daughter got this in the mail!” he said. “She’s still in high school, and you’re sending her coupons for baby clothes and cribs? Are you trying to encourage her to get pregnant?”

        The manager didn’t have any idea what the man was talking about. He looked at the mailer. Sure enough, it was addressed to the man’s daughter and contained advertisements for maternity clothing, nursery furniture and pictures of smiling infants. The manager apologized and then called a few days later to apologize again.

        On the phone, though, the father was somewhat abashed. “I had a talk with my daughter,” he said. “It turns out there’s been some activities in my house I haven’t been completely aware of. She’s due in August. I owe you an apology.”

        • Neradivy
          /#18906937

          простите, явамниверю.
          впрочем…

          AI имея полные данные вполне мог сделать вывод

          С этим не поспоришь. Полные данные об устройстве Вась и Петь и Дим… о, вряд ли стоили бы не больше маржи за проданный холодильник!
          Простите, что домысливаю за Вас — поправьте меня — но Вы, кажется, неявно подразумевали, что Целестин Омин (автор исходной статьи) не сделает точных математически выводов из результатов своей рассылки, и НА СЛЕДУЮЩИЙ РАЗ, если и скорректирует свой подход к выборке адресатов — то не учтёт все критерии категоризации людишек, а вот ML однажды обучится отличать агнцев от Вась.
          Ну, тут тоже такое… «призрак театра», в общем. Омин даже не уйдёт и не умрёт на десятой рассылке, допустим, но станет писать ДРУГИЕ тексты рассылки, у которых будет иной диапазон покрытия… Обучившуюся машинку придётся выкинуть.

  26. xvilka
    /#18901805

    Несмотря на то, что я тоже не согласен с конкретным случаем замены AI на SQL, в большинстве случаев ML действительно не нужен. Однако не SQL-ом единым. Есть примеры более подходящих технологий, например ProbLog https://dtai.cs.kuleuven.be/problog/

  27. grt_pretender
    /#18901843

    Центр проблемы здесь и правда не SQL или ML, а сам аналитик, его опыт, знание о том, когда уместен тот или иной инструмент. Погоня за хайпом и стадный эффект против критического мышления и развитых компетенций)

    Но ведь никто не отменяет и обратной тенденции. Если люди не кричат на каждом шагу, что они постоянно используют SQL, это еще не значит, что они с ним не работают.

  28. Bedal
    /#18901881

    Автор совершенно прав, и это крах его жизни. Да, он умеет многое намного лучше AI/ML — но именно потому он дорого стоит (если нет — сам виноват).
    Ровно как спецы писать коммерс на ассемблере невероятно круты, но исчезли как класс, так и мастера SQL-изысков — натура уходящая. И дело даже не столько в том, что они дорого стоят, сколько в том, что вполне технические руководители чем дальше, тем больше не будут уметь давать им задания и уметь их использовать.

    Зачем нужен высокопрофессиональный фрезеровщик на заводе, где все станрки — с ЧПУ?

  29. musicriffstudio
    /#18901891

    Как-то много комментариев не по теме статьи получается. Кислое с мягким начинают сравнивать.

    Что такое этот самый «мешин лирнинг»?

    Википедия отвечает:

    Машинное обучение (англ. machine learning, ML) — класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач. Для построения таких методов используются средства математической статистики, численных методов, методов оптимизации, теории вероятностей, теории графов, различные техники работы с данными в цифровой форме.


    Применительно к практике и примерам в статье это может быть какая-то процедура в бд (екзешник, пхп скрипт и т.п.) которая запускается раз в день и по строит алгоритм отбора покупателей. Типа «чтоб найти тех кто готов купить крем для обуви надо найти тех кто недавно купил ботинки».

    А вот SQL можно использовать чтоб найти по заказам тех кто купил ботинки в определённом регионе, за прошлую неделю, но не на распродаже, определённого цвета, материала и производителя и т.д.

  30. Katasonov
    /#18902181 / +1

    С одной стороны автору хочется сказать «Вам не нужен робот пылесос, вам нужен веник!».
    С другой стороны статья как глоток свежего воздуха в этом сошедшем с ума мире IT.

  31. Abyrvalgov
    /#18903085

    Я один в комменты пришёл поговорить не об мл/аи, а о переводе?

    Не дай бог запустить проект без упоминания AI. Серьёзно, ты правда в бизнесе?


    Рунглиш наоборот какой-то.

  32. lotse8
    /#18903397

    бабло рулит, придумываются новые названия за которыми даже не всегда стоят новые технологии и все это с умным видом предлагается мало что понимающему заказчику, и заказчику даже редко кто шепнет, что нейронная сеть это не готовый продукт, а только лишь полуфабрикат, для которого надо найти или подготовить соответствующую выборку для обучения и обучить, а иначе просто ничего не будет — деньги на ветер

  33. JTG
    /#18903465 / -1

    Тон статьи несколько странный. Видал я таких адептов SQL, которые пытались написать на SQL всё, включая HTTP-запросы и разбор JSON.

  34. Neradivy
    /#18903655 / -1

    Всё обсуждение не дочитал: загрустил как-то. Антиутопичненько получилось. Ashes of the gloomy, по Пелевину.
    Автор статьи недоумевает, зачем может быть нужно что-то сложнее ручного человеческого управления рекомендациями товаров покупателю…
    (Коллеги, кто асилил всю бороду — скажите, а обсуждение так и не сходит с заданной автором области применения? При таком заголовке — «ВАМ не нужны» — шанс уже невелик, но всё же. )
    Я вот понимаю, что пишут хабровчане… но тоже так и не понял, зачем может быть нужен ML/AI в рекоммендациях онлайн-сервисов. Потому что хочется автоматически развидеть юзкейсы торговли воздухом, тупого кидалова и разводилова покупателя на импульсивности. Любая «неочевидная» корреляция между кросс-сейловыми товарами, которую живой человек не способен ни заметить, ни объяснить, которая «выстреливает» при введении её в рекомендации — это же именно оно вот. РАЗВОДИЛОВО. «Купи ещё банку огурчиков к новым тапочкам, раз уж кошелёк достал! Почему так? А чтобы прям как у пацанов, а не одни только тапочки...»
    Ну, да, уже слышу: «мы только предлагаем, а не навязываем», «что за ретроградство»… э, пофиг ваше возмущение, всё равно уже после амнистии обратно и так карму заминусовали…
    Кто-то ещё скажет: «люди сами отдают роботам свою учётную информацию, им нравится и удобно»… Что ж, бывают шопоголики и просто несчастные люди с мощным кризисом самоидентификации, а бывают ещё пользователи, которые верят, что там сидит живой человек или знают, но забывают, что это не так. На них и НАЖИВАЕТЕСЬ.
    Вот тут выше дядя написал: СКЛ задолбаетесь масштабировать, вот будет у вас 10000 категорий… Его поправили: ну, не категорий, а товаров, хотя категорий бывает сходное количество…
    А почему, спрашивается, вы (магазин) начали торговать всем подряд, в чём синергия? За счёт чего отбиваете издержки и получаете прибыль на тысяче категорий: логистика или «умение торговать»? Умение торговать — это довольно зловещие стороны покупательской психологии.
    Надеюсь, предел AI и ML в области «робот советует раньше, чем ты успел обдумать» не за горами — не технологический, а рыночный. Надеюсь, человечество переболеет упоротыми рекомендациями и все кросс-сейлы будут у живых продавцов. Те тоже пудрят мозги — будь здоров — и впаривают нередко то, что человеку не нужно — но в любой книжке по началам маркетинга вы узнаете (хотя и спорные) доводы в пользу ценности торговой услуги. Все эти доводы не имеют отношения, однако, к рекомендациям робота, как он представляется мне в наше время — то есть, не работающего с семантикой, а только с корреляциями. Вот это в чистом виде эксплойт человеческих слабостей и никакой добавленной ценности.

    Я бы, однако, не стал писать такой длинный и скандальный комментарий, если бы не интересный мне вопрос.
    Хабровчане, вы не в курсе, а есть, по аналогии с cross-sales, нечто вроде cross-procurement? И success story для ML и II в этой области?
    Из статистики по совместным покупкам можно ведь выстроить эффективную систему планирования запасов, вот что я бы назвал прогрессом!
    Тогда бы я не ворчал, что интернет-магазины охватывают тыщу категорий. Это за счёт именно эффективности.
    Насколько я понимаю, всякие JIT-ы и прочие ERP до широкого внедрения компьютеров в принципе никому и в голову не приходили нигде кроме Японии, так? Вот для чего компьютер реально необходим человечеству: человек способен в голове обсчитывать бюджеты материальных запасов только двух первых ступенек сложности, а их, по-моему, уже четыре.

    Я знаю, что в фармацевтике есть такая практика, когда продажники оптовика заходят в учётную систему ПОКУПАТЕЛЯ (в b2b) и сами ему формируют заказ, тот только утверждает… если успеет. Но не уверен, достаточны ли размеры фирмы в этой отрасли, чтобы потянуть ИИ.

    • WTYPMAH
      /#18903851

      Вы предлагаете любому бизнесу перейти на pro-bono? Любой бизнес должен зарабатывать деньги наиболее эффективным образом. Любой человек должен получать максимальное вознаграждение за свой труд. Все должны жить хорошо и богато. Это зравая экономика.

      А «нажива», «разводилово», «богатые наживаются на бедных», «нас используют для того, чтобы впихнуть ненужное» и т.д. и т.п. — это филосифия совка, сорри.

      Зачем нужен ML в онлайн-продажах объясню с точки зрения покупателя. При чем себя лично. Например, если я покупаю кондиционер, я хочу сразу же купить к нему фильтры. И у меня нет желания просматривать тысячи китайских подделок, читать отзывы, анализировать цены и т.д. Я хочу, чтобы мне предложили те фильтры, которые уже прошли все эти этапы проб и ощибок до меня тысячами людей. И я благодарен ML движкам, которые за меня отработали тонны этой информации и показывают мне 3-4 нормальных результата, с хорошей репутацией, из нормальных магазинов, поставщиков и которые подходят под мою модель кондиционера.

      • Neradivy
        /#18903917 / -1

        Это просто философия. Совковую философию минусовали бы более вяло. )
        Есть объективные экономические ценности, есть на свете паразиты (хотя негодования их образ жизни у меня не вызывает), существует обман, симулякры в формировании потребностей и недобросовестные манипуляции и эксплойты людской невнимательности и импульсивности. Иногда государство — вовсе не советское — даже ограничивает «рыночные практики»: не упоминать в договоре важные пункты, там, заключать кабальные кредитные сделки… С чего бы это, выгодно же, все будут жить богато?!

        Философия совка — это «ну, любая торговля по цене выше стоимости+логистики вообще разводилово». А я оговорился, что так не считаю. Информация о потребности и о продукции стоит денег.

        Рейтинги от покупателей — возможно, Вы правы, отличная штука. Получается, ML в потребительских рекомендациях — не разводилово на импульсивности, а удобный информационный хаб, но… только для онлайн-маркетов, а тут всё обсуждение идёт — по CMSкам, программам лояльности внутри одного онлайн-магазина, построении паутинок «с этим товаром вместе почему-то покупают» — в интересах увеличения продаж. Или я не прав и кто-то ещё затрагивает Яндекс-маркет?
        Какой-нибудь амазон тоже позволяет рейтинговать эти самые фильтры для кондея; наверное, они включают эту информацию объективным образом в рекомендательный сервис, но это пионеры технологии, и они не обязательно что-то зарабатывают конкретно с «хаба оценок и отзывов». Здесь же обсуждается максимизация продаж, в основном. Можно и хаб отзывов, впрочем, направить на максимизацию продаж вместо информирования… подсказать, как, или сами догадаетесь? Так что на уровне отдельных магазинов — другие эффекты.

        • lair
          /#18905057

          тут всё обсуждение идёт — по CMSкам, программам лояльности внутри одного онлайн-магазина, построении паутинок «с этим товаром вместе почему-то покупают» — в интересах увеличения продаж.

          Вы так говорите, как будто использование ML для "вам могут понравиться вон те кроссовки кроме тех, которые вы сейчас смотрите" — это что-то невыносимо порочное.

          • Neradivy
            /#18905181

            То, для чего ML необходимо, то, с чем не справится живой опытный аналитик + SQL, что лишено внятного смысла — предполагаю, что да, весьма небезупречная практика.

            • lair
              /#18905187 / +1

              То есть то, что у магазина может просто не быть аналитика, вы не учитываете? А им как раз необходим ML, если они хотят решать такие задачи.


              Собственно, большая часть рекомендательных алгоритмов как раз имеют внятный смысл — это тот самый смысл, который они вычленяют из пользовательских предпочтений.

              • Neradivy
                /#18906891

                Не понял, простите, запутался.
                Аналитика нет — значит, необходима система с ML? Или как раз-таки аналитик есть — значит, потребует такую систему? И то, и другое представляется неверным, вопреки закону исключённого третьего, так сказать. )
                Если нет аналитика — то как заработает ML? установил, запустил и ушёл, серьёзно?
                Анализом корреляций вычленяется смысл — только для магазина, но не для потребителя. Для потребителя есть предложение и, так сказать, пример большинства собратьев, но НЕТ СМЫСЛА. Аналитика нет, а маркетолог, какие-нибудь онлайн-консультанты, наконец, есть? Если нету вообще никого, кто понимает, в чём удобство для покупателя той или иной «взаимовыгодной» совместной покупки — значит, прочь из кросс-сэйлов! такой онлайн-магазин неправомерно расширился на 100, 1000, 10000 категорий. Волна популярности, не более, она схлынет, когда все поймут (и станут держать в голове), что за «неочевидными советами» банки огурчиков к тапочкам не стоИт мудрость, опыт и забота о потребителе, а просто рандом. Ну, сейчас пока «приносит деньги»… впрочем, и тогда, когда суперуспешной станет считаться рекомендация робота с 0.01% отбивкой — продажникам айти-отделов удастся и дальше позиционировать упомянутые системы как супер-эффективные… тем предпринимателям, кто не читает подобных статей и не требует конкретных цифр.

                • lair
                  /#18907031

                  Аналитика нет — значит, необходима система с ML?

                  Нет, значит, автоматическая рекомендательная система принесет какую-то пользу (потому что иначе рекомендации брать неоткуда).


                  Или как раз-таки аналитик есть — значит, потребует такую систему?

                  Если аналитик есть, это уже его дело, чем пользоваться.


                  Если нет аналитика — то как заработает ML? установил, запустил и ушёл, серьёзно?

                  Совершенно.


                  Анализом корреляций вычленяется смысл — только для магазина, но не для потребителя.

                  Ну так мы на позиции магазина и стоим, вроде как. Потребитель может вообще не видеть корреляций.


                  Для потребителя есть предложение и, так сказать, пример большинства собратьев, но НЕТ СМЫСЛА.

                  Предложение либо подходит покупателю, либо нет. Какое ему дело до смысла?


                  Аналитика нет, а маркетолог, какие-нибудь онлайн-консультанты, наконец, есть?

                  Есть. Но они не умеют программирование и запросы к БД.


                  Если нету вообще никого, кто понимает, в чём удобство для покупателя той или иной «взаимовыгодной» совместной покупки — значит, прочь из кросс-сэйлов!

                  Но почему?


                  такой онлайн-магазин неправомерно расширился на 100, 1000, 10000 категорий.

                  А кто вообще сказал, что он расширился?


                  Волна популярности, не более, она схлынет, когда все поймут (и станут держать в голове), что за «неочевидными советами» банки огурчиков к тапочкам не стоИт мудрость, опыт и забота о потребителе, а просто рандом.

                  Я пока говорю об очевидных советах.

      • Neradivy
        /#18905027

        Короче говоря, не обязательно быть совком, чтобы рассуждать о судьбе человечества (так, будто для того приглашён к круглому столику), знаете ли. И чтобы различать ценности, символы и симулякры.
        Можно быть просто умным.

        Ethical coding isn't about communism either!

    • lair
      /#18905049

      но тоже так и не понял, зачем может быть нужен ML/AI в рекоммендациях онлайн-сервисов.

      Потому что это удобный инструмент выявления неявных связей (например, схожих фильмов). Или просто компенсации неполноты информации о продаваемых товарах и услугах.


      Я вот последнее время активно пользуюсь рекомендательной системой Google Music — и она успешно работает.

      • Neradivy
        /#18905185

        Или просто компенсации неполноты информации о продаваемых товарах и услугах.

        Это как??
        Гугл-музыка — да, хорошо. (я, правда, проплатил за год Яндекс-музыки и доволен. Ну там сопоставимый по сложности механизм подбора похожих, тоже, видимо). И тоже не зациклено на увеличении продаж. Вряд ли автор обсуждаемой статьи имел что-либо подобное в виду.

        • lair
          /#18905191

          Как-как… если люди регулярно покупают два товара вместе, значит эти два товара — хороший комплект, даже если это нигде в их характеристиках не записано. Или если люди регулярно покупают что-то, просмотрев 18 пар кроссовок, хотя у этого чего-то и не написано «кроссовки», то, возможно, это все-таки кроссовки.

          • Neradivy
            /#18906903

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

            люди регулярно покупают что-то, просмотрев 18 пар кроссовок

            Канцелярскую замазку — взглянув на цены тех 18 пар, ггг)
            а если серьёзно —
            возможно, это все-таки кроссовки.

            отлов ошибок категоризации… и вообще механизм самокоррекции CMS-ки… гм, тоже как-то не пришло в голову. А такое есть или только в теории?

            Но конкретно с категоризацией — вряд ли взлетит. 18 пар кроссовок — это явно не под лупу сайта с клавиатуры вбивали 18 раз… это наверняка по категории шли. (с какими-нибудь другими допфильтрами, м.б.)
            ну, или по бренду…

            • lair
              /#18907041

              требует доказательства.

              Ключевое слово — "регулярно". Наблюдать за покупательскими предпочтениями — полезно.


              отлов ошибок категоризации… и вообще механизм самокоррекции CMS-ки… гм, тоже как-то не пришло в голову. А такое есть или только в теории?

              Есть.


              Но конкретно с категоризацией — вряд ли взлетит.

              Почему нет-то?


              это наверняка по категории шли. [...] ну, или по бренду…

              Ну да, по категории "обувь". Или по бренду Абибас. Не важно, как они это нашли, важно, что между "я искал" и "я купил" есть связь, которая не вытекает из существующей информации о товаре — и это (а) способ улучшить поиск и (б) повод улучшить информацию о товаре.

  35. ftdgoodluck
    /#18903861 / +1

    Кажется, что большинство спорящих не совсем верно уловили суть статьи. Как это прочитал я: «Есть задачи, которые пытаются решить ML, хотя там вполне можно справиться обычным SQL». Правда ли это? Ну, очень похоже на правду. При этом нет упоминания того, что ML не нужно и ВСЕ решается через SQL.

    Приведу пример из личной практики – сейчас очень много людей и компаний хотят блокчейном (как уже наверное всех достало это слово) решить проблемы того, что они данными обмениваются в экселях. Абсолютно та же ситуация – в погоне за хайпом люди ищут себеряную пулю, которая придет и спасет их бизнес, при этом игнорируя проверенные инструменты, которые уже долгие годы решают их боль.

  36. Zanak
    /#18904595

    На самом деле, ценность, и ML и SQL, как средства прогнозирования моего интереса автором преувеличены.
    Например:
    — я купил кроссовки. предложить сопутствующие аксессуары — это логичный и простой в реализации ход.
    — понять, почему я это сделал, когда мне можно еще раз предложить этот товар, не рискуя показаться навязчивым, и что еще может меня заинтересовать — это задача другого порядка. (я действительно могу заниматься спортом, и тогда мне можно предложить спортивную одежду и инвентарь. я просто перемещаюсь по городу пешком, и мне важно не испытывать дискомфорта. тогда мне интересны: верхняя одежда, различные аксесуары, вроде зонтов, солнцезащитных очков, перчаток, и еще массы чего. у меня есть дети, и тогда ассортимент предложений тоже должен быть скорректирован)
    — внесет ли ясность повторная покупка кроссовок, скажем через 6 месяцев? не особо. (я могу следить за модой, и поэтому мне захотелось обновить свой гардероб. я все таки спортсмен, и кроссовки просто не выдержали нагрузки, тогда мне нужно предложить что либо понадежнее, пусть и дороже. кроссовки просто оказались низкого качества, и тогда мне нужно предлагать все что угодно, кроме того, что я уже брал. мой ребенок подрос, и они ему стали просто малы, здесь предлагаем все тоже самое, что и было раньше).
    — если первые 2 покупки состоялись, означает ли, что я готов совершить третью и последующие? не обязательно!!!
    К чему я все это: в рамках предложенных автором условий применения, и ML, и SQL — это все равно гадание на кофейной гуще (даже если вам время от времени будет везти). Досканальное изучение человека может улучшить результат, но это, скорее всего, экономически нецелесообразно.

    • 4tlen
      /#18904951

      В том-то и дело, что когда нет датасета (трафика и конверсий, достаточных для обучения алгоритма) конкретного посетителя, применяется item-based подход: смотрим что покупали с этим товаром, ранжируем по цене, CTR или любой другой метрике, кидаем в рекомендации.

      Когда есть датасет, мы обучаем алгоритм (ML) или усложняем текущую рекомендательную систему (SQL) с учетом новых данных, зависит от желаний и возможностей бизнеса. Есть ли разработчик для внедрения ML или ресурсы для его найма. Это user-based подход.

      Ну и, собственно как всегда, истина посередине. Хабр