Как создать простую систему рекомендаций?

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

i эти три таблицы

        Users
  userid      username
   1            aaa
   2            bbb

и

        products
  productid        productname
     1                laptop
     2                mobile phone
     3                car

и

      users_products
  userid        productid
    1                1
    1                3
    3                2
    2                3

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

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

      1    2   3   4   5   6 << users' ids
 1)   1   .4  .2  .3  .8  .4
 2)  .3    1  .5  .7  .3  .9
 3)  .4   .4   1  .8  .2  .3
 4)  .6   .6  .6   1  .4  .2
 5)  .8   .7  .4  .2   1  .3
 6)   1   .4  .6  .7  .9   1
 ^
 ^
users'
 ids

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

Ответ 1

Как вы хотите сохранить рекомендации, это вопрос, полностью не связанный с тем, как реально реализовать механизм рекомендаций. Я оставляю это для вашей архитектуры базы данных. На рекомендацию.

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

Вычисление такой вещи мертво просто. Концепция, пример кода.

Ответ 3

Таблица может храниться в трех столбцах

user_left user_top correlation

(у меня нет опыта определения корреляции, хотя)

Ответ 4

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

table: user_correlation_matrix
columns: user1_id user2_id correlation_factor

Ответ 5

Я видел это в одной из книг Джо Селко. Я считаю, что это Здесь. На данный момент у меня нет доступа к моим. Попытайтесь отправиться в ближайший Барнс и Благородный или Границы и проверить это. Я выкопаю мой, как только у меня будет доступ и последую за ним.