В этой статье мы сфокусируемся на том, как развитие процессорной мощности пользовательских устройств позволило применить эти подходы для рекомендаций теле- и видеоконтента для пользователей, и рассмотрим прошлое, настоящее и будущее таких решений. Коллаборативная фильтрация основывается исключительно на сходстве поведения пользователей и не использует никаких описаний телепередач и фильмов или другой семантики. Если на двух устройствах TiVo в двух разных домохозяйствах зрители обычно выбирали одни и те же программы, а потом первый пользователь начинал регулярно смотреть какую-либо новую телепередачу, то эту телепередачу рекомендовали и второму пользователю. Все устройства TiVo ночью отправляли на центральный сервер данные о последовательностях кликов (какие именно кнопки нажимал пользователь, какие программы смотрел и записывал), на основании этих данных рекомендательный алгоритм на сервере вычислял персональные рекомендации, и они затем загружались на устройства. Такая организация процесса на центральном сервере позволяла, во-первых, сравнивать и находить зрителей с похожими вкусами, а во-вторых, не «грузить» видеомагнитофоны TiVo с их очень ограниченными вычислительными возможностями. Несмотря на то, что решение не работало в реальном времени и иногда неправильно определяло интересы пользователя (см, например, «Мой видеомагнитофон считает, что я гей» — истории о том, как пользователи пытаются понять и повлиять на результаты рекомендаций), простота подхода быстро сделала его популярным в отрасли. Чемпионом применения стала компания Netflix, которая для своего бизнеса предоставления DVD-дисков в аренду привлекла команду разработчиков, настраивающих параметры рекомендательного движка коллаборативной фильтрации, и добивалась год от года все лучших результатов. Однако в середине 2000-х качество рекомендаций, которое может обеспечить алгоритм коллаборативной фильтрации, достигло некоторого предела. В надежде спасти ситуацию за счет коллективного разума в 2006 году Netflix организовал конкурс Netflix Prize. Лучшие команды разработчиков в течение трех лет добились дальнейшего улучшения точности рекомендаций еще на 10%, но предложенные решения использовать на практике было нельзя — небольшое улучшение точности требовало совершенно неадекватных операционных затрат. Коллаборативная фильтрация как основной метод рекомендаций в видео зашла в тупик. В Netflix сразу оценили перспективы нового направления семантического анализа описаний и снова решили заняться собственной разработкой. Как и Jinni, они стали создавать описания и классификаторы для фильмов своего каталога. Этот подход имеет ряд проблем, связанных с масштабированием, так как разумен и оправдан, только если каталог видео относительно мал и увеличивается медленно. Остальные компании, занимающиеся семантическими рекомендательными решениями, сфокусировались на классификации контента на основе метаданных, которые существовали на рынке. Netflix же опять отличился и постарался дойти до границ возможного. Его каталог жанров быстро вырос с исходных 560 вариантов до 93 116, по данным на июль 2014 года, в числе которых были, например, такие как «эмоциональные драмы 80-х, получившие высокую оценку кинокритиков», куда в каталоге Netflix попадало лишь 2 фильма. И это опять было чересчур — категории, которым соответствуют один-два объекта, не годятся для анализа и становятся незначимыми для байесовского классификатора.
01 марта 2015 в 23:48
История систем рекомендаций
Сейчас мы воспринимаем сложные самообучающиеся компьютерные программы как данность и используем для их описания разные интересные термины: «большие данные» (big data), «искусственный интеллект» (artificial intelligence), «рекомендательные системы». Но началось все много лет назад в области знаний, которая называется машинным обучением (mashine learning). В 50-е годы в этой области науки были сформулированы математические подходы и описаны модели самообучающихся алгоритмов, которые до настоящего времени лежат в основе всех решений. Это, например, наивный байесовский классификатор или искусственная нейронная сеть.
Сейчас мы воспринимаем сложные самообучающиеся компьютерные программы как данность и используем для их описания разные интересные термины: «большие данные» (big data), «искусственный интеллект» (artificial intelligence), «рекомендательные системы». Но началось все много лет назад в области знаний, которая называется машинным обучением (mashine learning). В 50-е годы в этой области науки были сформулированы математические подходы и описаны модели самообучающихся алгоритмов, которые до настоящего времени лежат в основе всех решений. Это, например, наивный байесовский классификатор или искусственная нейронная сеть.
Подписка на рассылку
Подпишитесь на рассылку, чтобы одним из первых быть в курсе новых событий