@timurusubyan

Как собирать данные о пользователях на собственном сайте по интересам?

Привет.

Мне нужно собирать данные о пользователях на своем сайте. Это как искусственный интеллект, мне нужно собрать данные о действиях пользователей и сделать соответствующую выдачу. Вот у меня сайт фильмов, мне нужно понять какие фильмы пользователи чаще всего смотрят, некоторые параметры нужно запомнить: жанр, режиссер, отзывы, количество просмотров, для того чтобы потом этим пользователям в разделе Рекомендуем посоветовать фильм который им подойдет по их интересам накопленным за некий период, допустим месяц, но это может быть и неделя, и 3 дня.

Я думаю сделать это так: просто каждый раз когда пользователь кликает на какой то фильм в отдельной таблице просто хранить данные об этом событии: такой то фильм, в такое то время, такой то жанр и все остальное связанное с этим фильмом. Затем через несколько дней я вижу что этот пользователь кликнул на 100 фильмов, из этих 100 фильмов на основе всех данных ему больше всего нравятся фильмы из жанра Боевик(например), поэтому в разделе Рекомендуем большую часть будут фильмы из этой категории.

Это такой простой способ. Мне просто интересно, а можно сделать это как то лучше? какие способы еще есть? можно не сильно замудренные. И подходит ли даже такой способ который я описал? Если мы каждую секунду будем закидывать в бд какие то данные, а если пользователей будет много, допустим 1000 и более, не скажется ли это на производительности и как лучше в таком случае вообще собирать такие данные?
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Это такой простой способ.
Способ нормальный, просто к искусственному интелекту это относится так же как табличка экселя с 2 формулами - то есть никак. Тупо статистика в самом примитивном виде.

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

Если мы каждую секунду будем закидывать в бд какие то данные, а если пользователей будет много, допустим 1000 и более, не скажется ли это на производительности и как лучше в таком случае вообще собирать такие данные?
Нет, если пользователей будет 1000, а кино в среднем около часа, то активность в плане записи в бд будет околонулевая, за 60 минут ~1000 действий, что примерно равно 1 действие в 3 секунды. Даже если активность будет в 10 раз больше, а пользователей тоже в 10 раз больше - активность в итоге будет около 100 действий за 3 секунды, или 30-40 действий в секунду, для нормальной структуры бд это вообще не нагрузка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы