Алгоритм простого предложения / рекомендации - PullRequest
19 голосов
/ 05 декабря 2009

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

Так скажи, что у меня есть:

  • Пользователю1 нравится Объект1.
  • Пользователь2 любит Объект1 и Объект2.

Я хочу предложить Пользователю1, что им также может понравиться Объект 2.

Я, очевидно, могу придумать что-то наивное. Я ищу что-то проверенное и легко реализуемое.

Ответы [ 6 ]

11 голосов
/ 05 декабря 2009

попробуйте алгоритм Slope One , он один из наиболее часто используемых для такого рода проблем.

вот пример реализации в t-sql

11 голосов
/ 05 декабря 2009

Есть много простых и не очень простых примеров алгоритмов предложения в отличном Программирование Коллективного Разума

Коэффициент корреляции Пирсона (немного сухая статья в Википедии) может дать довольно хорошие результаты. Вот реализация в Python и другая в TSQL вместе с интересным объяснением алгоритма.

1 голос
/ 05 декабря 2009

Я бы пошел с K ближайшими соседями. Запись в википедии объясняет это хорошо и содержит ссылки на справочные реализации.

1 голос
/ 05 декабря 2009

Вы можете захотеть взглянуть на Обучение правилам ассоциации и Алгоритм Apriori . Основная идея заключается в том, что вы создаете правила типа «если пользователю нравится объект1, чем пользователю нравится объект2» и проверяете, насколько хорошо они описывают (вашу) реальность. В вашем конкретном примере это правило будет иметь поддержку 2 (для двух пользователей, таких как Object1) и доверие 50% (как правило, верно в 1 из 2 случаев). Я только что сам реализовал базовую проверку концепции (на самом деле мои первые шаги в Hadoop), и это не так уж сложно сделать.

Кроме того, вы можете посмотреть на Apache Mahout - Вкус . Я сам никогда не использовал его.

0 голосов
/ 06 апреля 2010

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

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

0 голосов
/ 05 декабря 2009

алгоритм k-ближайшего соседа

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