Комментарии 40
Здесь всё на самом деле стандартно, интересно как раз как и на основе чего формируются рекомендации и насколько они лучше обычной выдачи последних материалов, например
А что больше интересует техническая сторона вопроса, как обсчитывать тысячи хитов в секунду и не загнуться или какая математика лежит в основе?
Про математику :)
Мы уже писали несколько статей ранее, пока можно ознакомиться с ними:
https://habrahabr.ru/company/surfingbird/blog/176461/
https://habrahabr.ru/company/surfingbird/blog/177889/
https://habrahabr.ru/company/surfingbird/blog/185622/
https://habrahabr.ru/company/surfingbird/blog/188812/
https://habrahabr.ru/company/surfingbird/blog/226677/
https://habrahabr.ru/company/surfingbird/blog/228249/
https://habrahabr.ru/company/surfingbird/blog/230103/
https://habrahabr.ru/company/surfingbird/blog/176461/
https://habrahabr.ru/company/surfingbird/blog/177889/
https://habrahabr.ru/company/surfingbird/blog/185622/
https://habrahabr.ru/company/surfingbird/blog/188812/
https://habrahabr.ru/company/surfingbird/blog/226677/
https://habrahabr.ru/company/surfingbird/blog/228249/
https://habrahabr.ru/company/surfingbird/blog/230103/
Рекомендации формируются персонально для каждого пользователя или на страницу?
Помножьте количество страниц на количество пользователей. Так жить невозможно. Генерировать рекомендации в таких объёмах на лету — тоже.
Но для каждого пользователя есть минимальная кастомизация — учитываются уже просмотренные статьи, например. Планируем продолжать такую аккуратную кастомизацию, которую ненакладно делать прямо в процессе выдачи рекомендаций.
Но для каждого пользователя есть минимальная кастомизация — учитываются уже просмотренные статьи, например. Планируем продолжать такую аккуратную кастомизацию, которую ненакладно делать прямо в процессе выдачи рекомендаций.
Чем Servers.com лучше Hetzner.de в вашем случае?
*Тут должна быть картинка про то как рисовать сову*
Начало было хорошее, а потом все скатилось непонятно куда. Не думаю, что людям на хабре надо объяснять почему shared-хостинг не подходит для подобных проектов. Да и без сравнения PostgreSQL/MySQL и Nginx/Apache тоже можно было обойтись.(тем более без упоминания реальных юзкейсов, в духе «нам надо было хранить json и PostgreSQL нам подошел лучше» (с) ).
Надеюсь в следующих статьях объем будет побольше и поинтереснее, т.к. куча вопросов по поводу Вашей архитектуры:
1. Почему Perl?
2. Почему Redis для очередей?
3. Про то как Spark используете.
Начало было хорошее, а потом все скатилось непонятно куда. Не думаю, что людям на хабре надо объяснять почему shared-хостинг не подходит для подобных проектов. Да и без сравнения PostgreSQL/MySQL и Nginx/Apache тоже можно было обойтись.(тем более без упоминания реальных юзкейсов, в духе «нам надо было хранить json и PostgreSQL нам подошел лучше» (с) ).
Надеюсь в следующих статьях объем будет побольше и поинтереснее, т.к. куча вопросов по поводу Вашей архитектуры:
1. Почему Perl?
2. Почему Redis для очередей?
3. Про то как Spark используете.
- Выбор Perl обусловлен тем, что у нас уже была сильная команда перловиков. На самом деле, конечно, можно использовать любой популярный для веб-разработки язык (даже PHP).
- В своё время для Surfingbird переписали Resque от твиттера на перл. Нам понравилось — работает хорошо, проблем нет. На новый проект взяли то же самое.
Что нужно, чтобы подключиться к Вам через jsonp api ?
Что нужно, чтобы подключиться к Вам через jsonp api ?
тоже интерисует этот вопрос, с кем связываться? чтобы получить стоимость этой услуги?
Вы можете давать рекомендации только по сайту в целом "Популярное сейчас..." или также можете давать рекомендации по каждой странице "Похожие статьи ...." ?
Как построена монетизация? :)
Площадки, разместившие наш виджет, при желании могут согласиться размещать в виджете помимо рекомендаций рекламу. Доходы от рекламы делятся между нами и площадкой, по умолчанию — пополам.
Мы ну вообще бесплатны и зарабатываем, только помогая зарабатывать другим :)
Мы ну вообще бесплатны и зарабатываем, только помогая зарабатывать другим :)
Ещё вопрос назрел. У вас почти в чистом виде content based recommendation, за исключением учета прочитанных юзером. А как — в двух словах — вы тогда строите рекомендации? По ключевым словам плюс времени публикации, как-то так?
Алгоритмов много. Вплоть до того, что для каких-то сайтов могут быть модификации специально для них.
Вместе это работает примерно как на surfingbird — алгоритмы выстроены в цепочку, пытаемся взять из одного, не нашли достаточно — идём в следующий.
Основной — на самом деле item to item.
Вместе это работает примерно как на surfingbird — алгоритмы выстроены в цепочку, пытаемся взять из одного, не нашли достаточно — идём в следующий.
Основной — на самом деле item to item.
Как реализовано исключение прочтенного юзером из рекомендаций? Где вы храните прочтенные юзером ссылки и в какой момент это условие срабатывает? И как вообще работает отслеживание уника, если отключен прием third party cookies?
Пока что — в куках, и, соответственно, без них никак не работает.
В виджете ни чего не выводится при этом? Или какой-то запасной вариант?
Выводится. item to item же основной алгоритм, я писал выше.
Это понятно, но ведь в случае item-item все равно нужна матрица user/item? Ведь нужно понять, что еще читали юзеры, которые читали эту страницу. А в случае если кука на домен сервиса не будет отправляться, по юзерам просмотры не сгруппировать?
Поясню насчет отслеживания уника. Для создания матрицы item-user, где элемент это условно время, которое он провел на странице item, нужно идентифицировать уникального юзера, как вы это делаете с учетом third party cookies? По IP?
Почитал на сайте «Мы собираем для каждого пользователя материалы на основе его поведения. На виджет Relap, кликают в 2 раза чаще, чем на блоки, собранные вручную.» Видимо, я не так понял коменты к этому посту :)
Откровенно говоря, подозрительно выглядит позиция "Если хотите, то запускайте рекламу, а если не хотите рекламу — то пользуйтесь бесплатно". Это наводит на мысли, что вы можете использовать собранную информацию еще как-то в своих целях.
Честно слово, если бы вы предлагали схему с выбором между бесплатным использованием с рекламой или платным использованием без рекламы, то было бы больше доверия :)
В любом случае, у вас очень крутая идея!
Честно слово, если бы вы предлагали схему с выбором между бесплатным использованием с рекламой или платным использованием без рекламы, то было бы больше доверия :)
В любом случае, у вас очень крутая идея!
Собирать информацию нам так и так нужно, чтобы делать рекомендации. Поэтому чисто логически, непонятно, почему описанная вами схема добавила бы доверия.
Сейчас — у идеи попробовать нас нет минусов, а если наш виджет в итоге нравится, то ещё и заработать на нём тоже нет резона отказываться. Сплошная вигода.
Сейчас — у идеи попробовать нас нет минусов, а если наш виджет в итоге нравится, то ещё и заработать на нём тоже нет резона отказываться. Сплошная вигода.
Вы не просчитывали AWS? Издержки получаются значительно выше?
Кстати, забавная статистика по нашему проекту, где стоят рекомендации Relap. Внезапно заметили, что CTR резко упал (вдвое), при этом среднее количество кликов осталось неизменным. С чем это может быть связано?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как устроен Relap.io — сервис, который выдает 30 миллиардов рекомендаций в месяц