Пользователь-продукт положительный (нажмите данные) доступны. Как генерировать негатив (данные без кликов)?

10

Рекомендуется, чтобы у нас были данные о пользовательских продуктах, которые помечены, например, как «клик». Чтобы узнать модель, мне нужны данные по кликам и без кликов.

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

user1, product1 (click) user2, product2 (click) user2, product3 (click) user3, product2 (click)

Я могу взять user1 со всеми продуктами, кроме product1, и пометить их как «no_click» и так далее. Но это не может быть правдой. Возможно, user1 щелкнул бы product2, если бы ему показали product2. Но только потому, что ему были показаны другие наборы продуктов - у него не было возможности решить кликнуть / не кликнуть товар2.

Итак, как решить проблему унарных данных?

p.paliwal
источник
1
Я думаю, что вы ответили на свой вопрос. Вы должны записать концепцию впечатления или шоу. Если вы показали товар, а на него не было клика, то это то, что вы ищете.
Но на самом деле это не доступно в записанных данных. Это то, что я упомянул. Данные содержат только то, какая пара пользователь-продукт имеет ярлык клика. То, что было показано, а что было нажато, не записывается.
p.paliwal
Кроме того, даже если, скажем, user1 был показан prod1, prod2, prod3 (и он щелкнул prod1) - тогда user1 с prod2 и prod3 будет иметь метку без щелчка. Но как насчет остальных продуктов (prod4, prod5, ...). Только потому, что они не были показаны, у пользователя не было возможности принять решение о клике / отсутствии клика. Это не говорит о том, заинтересован ли пользователь в не показанных продуктах, поэтому маркировка всех других комбинаций как отсутствие щелчка может быть неверной в реальном времени. Это то, что я тоже объяснил в вопросе.
p.paliwal

Ответы:

6

Итак, есть две проблемы.

  1. Запись впечатлений (шоу)
  2. Как бороться с невпечатками

Для (1) вы должны записывать эту информацию. Если он в данный момент не записывается, вы должны начать запись этой информации. Учитывая, что у вас нет этой информации, вы хотите дать рекомендации. К счастью, просто щелкнув данные, вы все равно можете создать служебную матрицу, см. 9.1.1.

http://i.stanford.edu/~ullman/mmds/ch9.pdf

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

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

  • показать рейтинг предмета
  • рейтинг кликов элемента
  • как включить новые предметы
  • как оптимизировать какие предметы показывать

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

Также смотрите здесь.

http://cs.brynmawr.edu/Courses/cs380/fall2006/Herlocker2004.pdf

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf


источник