Какая технология скрывается за рекомендациями Amazon? Я считаю, что рекомендация Amazon в настоящее время является лучшей на рынке, но как они предоставляют нам такие важные рекомендации?
Недавно мы участвовали в аналогичном проекте с рекомендациями, но, безусловно, хотели бы узнать о преимуществах технологии рекомендаций Amazon с технической точки зрения.
Любые материалы будут высоко оценены.
Обновить:
Этот патент объясняет, как выполняются персонализированные рекомендации, но он не очень технический, и поэтому было бы очень приятно, если бы можно было представить некоторые идеи.
Из комментариев Дейва, Affinity Analysis формирует основу для такого рода рекомендательных двигателей. Также вот некоторые хорошие чтения по теме
Предлагаемое чтение:
Ответы:
Это и искусство, и наука. Типичные области исследования вращаются вокруг анализа корзины рынка (также называемого анализом сходства), который является подмножеством области интеллектуального анализа данных. Типичные компоненты в такой системе включают в себя идентификацию основных предметов драйвера и идентификацию сходных предметов (дополнительное оборудование, перекрестная продажа).
Имейте в виду источники данных, которые они должны добывать ...
К счастью, люди ведут себя одинаково в совокупности, поэтому, чем больше они знают о покупательском населении в целом, тем лучше они знают, что будут продаваться, а что нет, и с каждой транзакцией и каждым рейтингом / списком пожеланий добавляют / просматривают, знают, как более индивидуально подгонять рекомендации. Имейте в виду, что это всего лишь небольшая выборка из всего набора влияний того, что заканчивается рекомендациями и т. Д.
Теперь у меня нет внутренних знаний о том, как Amazon ведет бизнес (никогда там не работал), и все, что я делаю, это говорю о классических подходах к проблеме онлайн-торговли - я был премьер-министром, который работал над интеллектуальным анализом данных и аналитикой для Microsoft. Продукт называется Commerce Server. Мы поставили на Commerce Server инструменты, которые позволили людям создавать сайты с похожими возможностями ... но чем больше объем продаж, тем лучше данные, тем лучше модель - и Amazon БОЛЬШОЙ. Я могу только представить, как весело играть с моделями с таким большим количеством данных на коммерческом сайте. Теперь многие из этих алгоритмов (например, предиктор, начатый на коммерческом сервере) перешли на прямую жизнь в Microsoft SQL .
Четыре больших пути, которые вы должны иметь:
С точки зрения фактической реализации? Почти все крупные онлайн-системы сводятся к некоторому набору конвейеров (или реализации шаблонов фильтров, или рабочего процесса и т. Д., Вы называете это так, как хотите), которые позволяют оценивать контекст с помощью ряда модулей, которые применяют некоторую форму бизнес логика
Как правило, с каждой отдельной задачей на странице ассоциируется другой конвейер - у вас может быть тот, который рекомендует «пакеты / апселлы» (то есть купить его с товаром, на который вы смотрите), и тот, который делает «альтернативы» (то есть покупка это вместо того, на что вы смотрите) и другое, которое выбирает предметы, наиболее тесно связанные с вашим списком пожеланий (по категориям товаров или аналогичным).
Результаты этих конвейеров могут быть размещены в различных частях страницы (над полосой прокрутки, под прокруткой, слева, справа, разными шрифтами, изображениями разного размера и т. Д.) И протестированы, чтобы увидеть, какие Лучший. Поскольку вы используете удобные модули plug-and-play, которые определяют бизнес-логику для этих конвейеров, вы получаете моральный эквивалент блоков lego, которые позволяют легко выбирать бизнес-логику, которую вы хотите применить при создании другого конвейера. что позволяет быстрее инноваций, больше экспериментов, и, в конечном итоге, более высокую прибыль.
Это помогло вообще? Надеюсь, что это даст вам некоторое представление о том, как это работает в целом для любого сайта электронной коммерции - не только для Amazon. Amazon (от общения с друзьями, которые там работали) очень ориентирован на данные и постоянно измеряет эффективность пользовательского опыта, цен, продвижения, упаковки и т. Д. - они являются очень сложным розничным продавцом в Интернете и, вероятно, находятся на переднем крае множество алгоритмов, которые они используют для оптимизации прибыли - и это, скорее всего, частные секреты (вы знаете, как формула для секретных специй KFC) и охраняются как таковые.
источник
Это не имеет прямого отношения к системе рекомендаций Amazon, но может быть полезно изучить методы, используемые людьми, которые участвовали в конкурсе Netflix Prize , который разрабатывает более эффективную систему рекомендаций с использованием пользовательских данных Netflix. В их сообществе много полезной информации о методах интеллектуального анализа данных в целом.
Команда, которая выиграла, использовала смесь рекомендаций, созданных множеством различных моделей / методов. Я знаю, что некоторые из используемых основных методов - это анализ главных компонентов, методы ближайших соседей и нейронные сети. Вот несколько работ команды-победителя:
Р. Белл, Ю. Корен, С. Волинский, « Решение БелКор 2008 о премии Netflix », (2008).
А. Тошер, М. Ярер, « Решение BigChaos для премии Netflix 2008 », (2008).
А. Тошер, М. Ярер, Р. Легенштейн, « Улучшенные алгоритмы на основе соседей для крупномасштабных рекомендательных систем », SIGKDD Workshop по крупномасштабным рекомендательным системам и конкурсу Netflix Prize (KDD'08), ACM Press (2008) ,
Ю. Корен, « Решение BellKor о Гран-при Netflix », (2009).
А. Тошер, М. Ярер, Р. Белл, « Решение BigChaos для Гран-при Netflix » (2009).
М. Пиотт, М. Хабберт, « Решение по прагматической теории гран-при Netflix », (2009).
Документы 2008 года принадлежат первому году премии "Прогресс". Я рекомендую сначала прочитать предыдущие, потому что более поздние основаны на предыдущей работе.
источник
Я наткнулся на эту бумагу сегодня:
Может быть, это дает дополнительную информацию.
источник
(Отказ от ответственности: я раньше работал в 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 -с-амазонка-рекомендация-система /
Многое из того, что описывает Дейв, почти наверняка не сделано в Amazon. (Рейтинги тех, кто находится в моей социальной сети? Нет, у Amazon нет моих социальных данных. В любом случае, это было бы серьезной проблемой конфиденциальности, поэтому Amazon было бы сложно сделать это, даже если у них были эти данные: люди не хотят, чтобы их друзья знали, какие книги или фильмы они покупают. Демографическая информация? Нет, ничто в рекомендациях не предполагает, что они смотрят на это. [В отличие от Netflix, который выявляет то, что смотрят другие люди в моем регионе .])
источник
У меня нет конкретных знаний об алгоритме Amazon, но один из компонентов такого алгоритма, вероятно, будет включать отслеживание групп товаров, часто заказываемых вместе, а затем использование этих данных для рекомендации других товаров в группе, когда клиент приобретает некоторое подмножество товаров. группа.
Другая возможность - отслеживать частоту заказа товара B в течение N дней после заказа товара A, что может указывать на корреляцию.
источник
Насколько я знаю, это использование Case-Based Reasoning в качестве двигателя для него.
Вы можете видеть в этих источниках: здесь , здесь и здесь .
В гугле есть много источников для поиска амазонки и рассуждений, основанных на конкретных случаях.
источник
Кто-то сделал презентацию в нашем университете на прошлой неделе и сослался на систему рекомендаций Amazon. Я считаю, что он использует форму кластеризации K-Means, чтобы объединить людей в их различные покупательские привычки. Надеюсь это поможет :)
Проверьте это тоже: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps и в формате HTML .
источник
Если вам нужен практический учебник (с использованием R с открытым исходным кодом), вы можете сделать хуже, чем пройти через это: https://gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e
Это оптимизированная во время выполнения версия другой работы: http://www.salemmarafi.com/code/collaborative-filtering-r/
Тем не менее, изменение кода на первой ссылке выполняется НАМНОГО быстрее, поэтому я рекомендую использовать его (я обнаружил, что единственная медленная часть кода yoshiki146 - это последняя процедура, которая генерирует рекомендации на уровне пользователя - мои данные заняли около часа) моя машина).
Я адаптировал этот код для работы в качестве механизма рекомендаций для продавца, на которого я работаю.
Используемый алгоритм - как уже говорили выше - совместная фильтрация. Этот метод CF вычисляет матрицу сходства косинусов и затем сортирует по этому сходству, чтобы найти «ближайшего соседа» для каждого элемента (музыкальная группа в приведенном примере, розничный продукт в моем приложении).
Полученная таблица может рекомендовать группу / продукт на основе другой выбранной группы / продукта.
В следующем разделе кода идет шаг вперед с помощью совместной фильтрации на основе ПОЛЬЗОВАТЕЛЯ (или клиента).
Результатом этого является большая таблица с топ-100 полос / продуктов, рекомендованных для данного пользователя / клиента
источник