Как работает функция Amazon Рекомендация? - программирование

Как работает функция Amazon Рекомендация?

Какая технология идет за экранами технологии рекомендаций Amazon? Я считаю, что рекомендации Amazon в настоящее время являются лучшими на рынке, но как они предоставляют нам такие релевантные рекомендации?

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

Любые входы будут высоко оценены.

Update:

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

Из комментариев Дейва, Affinity Analysis формирует основу для такого рода Рекомендационных двигателей. Также здесь некоторые хорошие чтения по теме

Рекомендуемое чтение:

  1. Data Mining: понятия и техника
4b9b3361

Ответ 1

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

Имейте в виду источники данных, которые они должны добывать...

  • Приобретенные тележки для покупок = реальные деньги от реальных людей, потраченных на реальные предметы = мощные данные и многое другое.
  • Элементы, добавленные в тележки, но заброшенные.
  • Ценовые эксперименты онлайн (тестирование A/B и т.д.), где они предлагают одни и те же продукты по разным ценам и видят результаты.
  • Эксперименты по упаковке (тестирование A/B и т.д.), где они предлагают разные продукты в разных "связках" или имеют скидки на различные пары элементов.
  • Списки желаний - что на них специально для вас - и в совокупности это можно рассматривать аналогично другому потоку данных анализа корзины.
  • Сайты перенаправления (идентификация того, откуда вы пришли, могут намекать на другие интересующие предметы)
  • Время ожидания (до того, как вы перейдете назад и выберите другой элемент).
  • Рейтинги от вас или тех, кто в вашей социальной сети/кругах покупок - если вы оцениваете то, что вам нравится, вы получаете больше того, что вам нравится, и если вы подтвердите с помощью кнопки "Я уже владею им", они создадут очень полный профиль вас
  • Демографическая информация (ваш почтовый адрес и т.д.) - они знают, что популярно в вашей общей области для ваших детей, вас самих, вашего супруга и т.д.
  • сегментация пользователей = покупали ли вы 3 книги в отдельные месяцы для малыша? вероятно, есть ребенок или больше.. и т.д.
  • Прямой маркетинговый клик по данным - вы получили от них электронную почту и нажмите? Они знают, по какой электронной почте это было, и что вы нажали, и приобрели ли вы его в результате.
  • Выберите пути в сеансе - что вы посмотрели вне зависимости от того, поместили ли вы свою корзину.
  • Количество просмотренных товаров до окончательной покупки
  • Если вы имеете дело с кирпичным и минометным магазином, у них может быть и ваша физическая история покупок (например, игрушки r us или что-то, что находится в сети, а также физический магазин).
  • и т.д.. д. и т.д.

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

Теперь у меня нет внутреннего знания о том, как Amazon ведет бизнес (никогда не работал там), и все, что я делаю, это классические подходы к проблеме онлайн-торговли. Раньше я был премьер-министром, который работал над интеллектуальным анализом данных и аналитикой для продукта Microsoft под названием Commerce Server. Мы отправили в Commerce Server инструменты, которые позволяли людям создавать сайты с аналогичными возможностями.... но чем больше объем продаж, тем лучше данные, тем лучше модель - и Amazon BIG. Я могу только представить себе, как весело играть с моделями с таким количеством данных на сайте, ориентированном на коммерцию. Теперь многие из этих алгоритмов (например, предсказатель, запущенный на сервере коммерции) перешли к прямому действию в Microsoft SQL.

Четыре больших приема, которые вы должны иметь:

  • Amazon (или любой розничный торговец) рассматривает совокупные данные для тонны транзакций и тонн людей... это позволяет им даже рекомендовать довольно хорошо для анонимных пользователей на своем сайте.
  • Amazon (или любой сложный розничный торговец) отслеживает поведение и покупки тех, кто вошел в систему, и использует их для дальнейшего уточнения поверх совокупных данных.
  • Часто существует возможность переместиться с накопленными данными и принять "редакционный" контроль за предложениями для менеджеров продуктов определенных линий (например, для человека, которому принадлежат вертикальные или цифровые "вертикальные или похожие" романтические романы) где они действительно являются экспертами.
  • Часто предлагаются рекламные акции (например, sony или panasonic или nikon или canon или sprint или verizon оплачивает дополнительные деньги продавцу, или дает лучшую скидку в больших количествах или другие вещи в этих строках), которые вызывают определенные "предложения", подниматься на вершину чаще, чем другие - всегда есть разумная бизнес-логика и бизнес-причины, которые направлены на то, чтобы делать больше на каждой транзакции или снижать оптовые расходы и т.д.

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

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

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

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

Ответ 2

Это напрямую не связано с системой рекомендаций Amazon, но было бы полезно изучить методы, используемые людьми, которые соревновались в Приоритете Netflix, конкурс по разработке лучшей системы рекомендаций с использованием пользовательских данных Netflix. В их community имеется много хорошей информации о методах интеллектуального анализа данных.

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

R. Bell, Y. Koren, C. Volinsky, " Решение BellKor 2008 для премии Netflix", (2008).

а. Töscher, M. Jahrer, " Решение BigChaos для Netflix Prize 2008", (2008).

а. Töscher, M. Jahrer, R. Legenstein, " Улучшенные алгоритмы на основе соседства для широкомасштабных систем рекомендаций", Семинар SIGKDD по широкомасштабному рекомендателю Systems и конкурс призов Netflix (KDD08), ACM Press (2008).

У. Koren, " Решение BellKor к гранту Netflix", (2009).

а. Töscher, M. Jahrer, R. Bell, " Решение BigChaos к Гран-при Netflix", (2009).

М. Piotte, M. Chabbert, " Решение о прагматической теории к Гран-при Netflix", (2009).

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

Ответ 4

(Disclamer: Я работал в Amazon, хотя я не работал над командой рекомендаций.)

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

Посмотрите, какую форму рекомендации выберете: на моей главной странице все они имеют форму "Вы видели X... Клиенты, которые также просматривали это, также просматривали...", или же меланж предметов подобно тому, что я купил или просмотрел раньше. Если я специально перейду на страницу "Рекомендую для вас", каждый пункт описывает, почему он мне рекомендовал: "Рекомендуется, потому что вы купили...", "Рекомендуется, потому что вы добавили X в свой список пожеланий..." и т.д. Это классический признак совместной совместной работы с деталями.

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

Некоторые другие подходы, которые Amazon потенциально может использовать, но, скорее всего, не описываются здесь: http://blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering-with-amazons-recommendation-system/

Многое из того, что описывает Дэйв, почти наверняка не сделано на Amazon. (Рейтинги в моей социальной сети? Нет, Amazon не имеет каких-либо моих социальных данных. В любом случае это будет серьезной проблемой конфиденциальности, так что Amazon было бы сложно сделать, даже если бы у них были такие данные: люди не хотят, чтобы их друзья знали, какие книги или фильмы они покупают. Демографическая информация? Нет, ничто в рекомендациях не предполагает, что они смотрят на это. [В отличие от Netflix, кто работает над тем, что другие люди в моей области наблюдают.])

Ответ 5

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

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

Ответ 6

Насколько я знаю, он использует Case-Based Reasoning в качестве механизма для него.

Вы можете увидеть в этих источниках: здесь, здесь и здесь.

Существует много источников поиска в google для амазонок и аргументов case-based.

Ответ 7

Кто-то сделал презентацию в нашем университете о чем-то подобном на прошлой неделе и ссылался на систему рекомендаций Amazon. Я считаю, что он использует форму K-Means Clustering, чтобы сгруппировать людей в их разные привычки покупки. Надеюсь, это поможет:)

Проверьте это тоже: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps и как HTML.