Как создать простую систему рекомендаций?
Как создать простую систему рекомендаций? Я видел некоторые алгоритмы, но это так сложно реализовать, я хочу, чтобы их было практическое описание для реализации самого простого алгоритма?
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
Как вы хотите сохранить рекомендации, это вопрос, полностью не связанный с тем, как реально реализовать механизм рекомендаций. Я оставляю это для вашей архитектуры базы данных. На рекомендацию.
Вы сказали "просто", поэтому коэффициент корреляции Пирсона может быть тем, что вам нужно читать.
Вычисление такой вещи мертво просто. Концепция, пример кода.
Ответ 2
Возможно, чтение "Программирование коллективного интеллекта" поможет вам.
Ответ 3
Таблица может храниться в трех столбцах
user_left
user_top
correlation
(у меня нет опыта определения корреляции, хотя)
Ответ 4
Вам, безусловно, не нужен столбец для каждого пользователя. Вам нужна корреляционная матрица, это правда, но фактическая таблица базы данных не нужна. Вместо этого вы можете выполнить его как
table: user_correlation_matrix
columns: user1_id user2_id correlation_factor
Ответ 5
Я видел это в одной из книг Джо Селко. Я считаю, что это Здесь. На данный момент у меня нет доступа к моим. Попытайтесь отправиться в ближайший Барнс и Благородный или Границы и проверить это. Я выкопаю мой, как только у меня будет доступ и последую за ним.