В этой статье мы сфокусируемся на том, как развитие процессорной мощности пользовательских устройств позволило применить эти подходы для рекомендаций теле- и видеоконтента для пользователей, и рассмотрим прошлое, настоящее и будущее таких решений.
Коллаборативная фильтрация основывается исключительно на сходстве поведения пользователей и не использует никаких описаний телепередач и фильмов или другой семантики. Если на двух устройствах TiVo в двух разных домохозяйствах зрители обычно выбирали одни и те же программы, а потом первый пользователь начинал регулярно смотреть какую-либо новую телепередачу, то эту телепередачу рекомендовали и второму пользователю. Все устройства TiVo ночью отправляли на центральный сервер данные о последовательностях кликов (какие именно кнопки нажимал пользователь, какие программы смотрел и записывал), на основании этих данных рекомендательный алгоритм на сервере вычислял персональные рекомендации, и они затем загружались на устройства. Такая организация процесса на центральном сервере позволяла, во-первых, сравнивать и находить зрителей с похожими вкусами, а во-вторых, не «грузить» видеомагнитофоны TiVo с их очень ограниченными вычислительными возможностями. Несмотря на то, что решение не работало в реальном времени и иногда неправильно определяло интересы пользователя (см, например, «Мой видеомагнитофон считает, что я гей» — истории о том, как пользователи пытаются понять и повлиять на результаты рекомендаций), простота подхода быстро сделала его популярным в отрасли. Чемпионом применения стала компания Netflix, которая для своего бизнеса предоставления DVD-дисков в аренду привлекла команду разработчиков, настраивающих параметры рекомендательного движка коллаборативной фильтрации, и добивалась год от года все лучших результатов. Однако в середине 2000-х качество рекомендаций, которое может обеспечить алгоритм коллаборативной фильтрации, достигло некоторого предела. В надежде спасти ситуацию за счет коллективного разума в 2006 году Netflix организовал конкурс Netflix Prize. Лучшие команды разработчиков в течение трех лет добились дальнейшего улучшения точности рекомендаций еще на 10%, но предложенные решения использовать на практике было нельзя — небольшое улучшение точности требовало совершенно неадекватных операционных затрат. Коллаборативная фильтрация как основной метод рекомендаций в видео зашла в тупик.
В Netflix сразу оценили перспективы нового направления семантического анализа описаний и снова решили заняться собственной разработкой. Как и Jinni, они стали создавать описания и классификаторы для фильмов своего каталога. Этот подход имеет ряд проблем, связанных с масштабированием, так как разумен и оправдан, только если каталог видео относительно мал и увеличивается медленно. Остальные компании, занимающиеся семантическими рекомендательными решениями, сфокусировались на классификации контента на основе метаданных, которые существовали на рынке. Netflix же опять отличился и постарался дойти до границ возможного. Его каталог жанров быстро вырос с исходных 560 вариантов до 93 116, по данным на июль 2014 года, в числе которых были, например, такие как «эмоциональные драмы 80-х, получившие высокую оценку кинокритиков», куда в каталоге Netflix попадало лишь 2 фильма. И это опять было чересчур — категории, которым соответствуют один-два объекта, не годятся для анализа и становятся незначимыми для байесовского классификатора.
Первый этап развития рекомендательных систем — коллаборативная фильтрация
Первый цифровой видеомагнитофон, который пытался учесть предпочтения пользователей, чтобы автоматически записывать подходящие им передачи, появился в конце 1990-х. Устройство называлось TiVo и продавалось конечным пользователям такими брендами, как Sony и Philips (до выхода TiVo на IPO в 1999 году компания Philips, в которой в то время работал автор этой статьи, являлась одним из совладельцев TiVo). В то время хорошо структурированных описаний для всех вещаемых телепередач не было и мощности пользовательских устройств для сложных вычислений тоже не хватало, поэтому в основу системы рекомендаций был положен алгоритм коллаборативной фильтрации.
Второй этап развития рекомендательных систем — фильтрация по контенту
В процессе развития новых подходов к решению задачи на гребне волны оказались новые компании, в частности Jinni и Aprico (автор этой статьи являлся основателем и директором APRICO Solutions, которую финансировала Philips), которые поняли, что качественная информация о рекомендуемом контенте могла бы служить серьезной основой для тонкой подстройки под интересы зрителей. Эта новая волна исследований в основном использовала байесовскую классификацию, которая позволяет понять и оценить, почему пользователь предпочитает тот или иной контент. К примеру, если пользователь смотрит фильмы типа «Джеймса Бонда», но пропускает «Одиннадцать друзей Оушена», то система полагает, что когда речь идет о фильмах, этот пользователь любит боевики и приключения, но не особенно любит триллеры или детективы.