Как работают рекомендательные системы — и что с ними будет завтра
#arts
Часто ли вы сталкиваетесь с проблемой выбора фильма на вечер? И как эту проблему вы решаете сегодня? Подборки на тематических порталах, советы друзей, оценки критиков. К сожалению, эти инструменты обладают одной существенной погрешностью — они исключают персонализацию. Еще одна проблема лежит в поведенческой номенклатуре нашего мозга и чистой математике: чем больше выбор — тем сложнее выбирать.
Основные принципы рекомендательных систем
Рекомендательные системы в своей привычной форме существуют порядка 30 лет, однако архитектурно не претерпели больших перемен. Можно выделить две основные методики, применяемые в производстве: коллаборативная фильтрация (User-Based Filtering) и фильтрация по содержанию (Content-Based Filtering).
Коллаборативная фильтрация строит прогноз на основе пользователей со схожими признаками, интересами или поведением, группируя их в кластеры. Выявить степень «схожести» можно с помощью формулы расчета корреляции, например, Пирсона.
Второй способ фильтрации (Content-Based Filtering) отличает лишь то, что за основу берутся похожие группы контента (в нашем случае — похожие фильмы). И по тому же принципу выявляет степень соседства между фильмами.
На деле применение алгоритма выглядит куда сложнее и чаще всего представляет собой гибридную модель.
Какие есть трудности
Из-за дефицита данных могут возникать проблемы. К примеру, проблема холодного старта (когда мы ничего не знаем о пользователе, следовательно, неясно что ему рекомендовать), или проблема нового контента (что порождает проблему разнообразия), или синонимия (когда похожие и одинаковые предметы имеют разные имена, например, жанры «детский фильм» и «фильм для детей»). Поэтому приходится логировать (т. е. сохранять в памяти системы) все, пытаясь «между строк» предугадать намерение пользователя.
Так, совокупность данных формируют явные (explicit ratings) и неявные (implicit ratings) информационные сигналы, получаемые от пользователей. На примере кино: явным сигналом может служить оценка, неявным — просмотр трейлера. Вес этих сигналов также будет индивидуален (оценка представляет большую ценность для сервиса).
Пример Netflix
Для демонстрации современного образца рекомендательных систем обратимся к Netflix. В 2006 году компания решила повысить релевантность рекомендаций и объявила конкурс на 1 млн. долларов, который достанется тому, кто сможет улучшить текущее качество прогноза не менее чем на 10%. Качество прогноза измерялось на основе среднеквадратичного отклонения (Root Mean Square Error) и на момент объявления конкурса составляла 0.9514. Целью же было снизить эту ошибку как минимум до 0.8563.
Соревнование длилось порядка трех лет. В качестве обучающих данных был использован датасет из 100 с лишним миллионов реальных оценок пользователей сервиса. Победителем стала команда «BellKor’s Pragmatic Chaos», которой удалось улучшить результаты на 10,06%.
Сейчас обучающийся алгоритм Netflix учитывает не только оценки пользователей, но и весь доступный контекст — время суток, данные о возрасте и поле, географическое положение. Сам алгоритм использует не только регрессионные методы прогнозирования, но и метод сингулярного разложения, генеративные стохастические нейронные сети, обучение ассоциативным правилам, градиентный бустинг и многое другое, что формирует архитектуру под капотом.
Чего ждать от рекомендательных систем завтра
При выборе фильма существует еще одна проблема — мы часто сами не знаем, чего по-настоящему хотим. Можно предположить, что стриминговые сервисы (Netflix, Amazon Prime, Hulu, HBO и другие) будут влиять на киноиндустрию, определяя принципы производства нового контента.
Иными словами, будут снимать ровно то, что будет востребовано, и вопросы «что я хочу посмотреть» перестанут волновать аудиторию, поскольку ответ будет получен до возникновения самого вопроса.
Михаил Бабасян
https://sysblok.ru/arts/kak-rabotajut-rekomendatelnye-sistemy-i-chto-s-nimi-budet-zavtra/
#arts
Часто ли вы сталкиваетесь с проблемой выбора фильма на вечер? И как эту проблему вы решаете сегодня? Подборки на тематических порталах, советы друзей, оценки критиков. К сожалению, эти инструменты обладают одной существенной погрешностью — они исключают персонализацию. Еще одна проблема лежит в поведенческой номенклатуре нашего мозга и чистой математике: чем больше выбор — тем сложнее выбирать.
Основные принципы рекомендательных систем
Рекомендательные системы в своей привычной форме существуют порядка 30 лет, однако архитектурно не претерпели больших перемен. Можно выделить две основные методики, применяемые в производстве: коллаборативная фильтрация (User-Based Filtering) и фильтрация по содержанию (Content-Based Filtering).
Коллаборативная фильтрация строит прогноз на основе пользователей со схожими признаками, интересами или поведением, группируя их в кластеры. Выявить степень «схожести» можно с помощью формулы расчета корреляции, например, Пирсона.
Второй способ фильтрации (Content-Based Filtering) отличает лишь то, что за основу берутся похожие группы контента (в нашем случае — похожие фильмы). И по тому же принципу выявляет степень соседства между фильмами.
На деле применение алгоритма выглядит куда сложнее и чаще всего представляет собой гибридную модель.
Какие есть трудности
Из-за дефицита данных могут возникать проблемы. К примеру, проблема холодного старта (когда мы ничего не знаем о пользователе, следовательно, неясно что ему рекомендовать), или проблема нового контента (что порождает проблему разнообразия), или синонимия (когда похожие и одинаковые предметы имеют разные имена, например, жанры «детский фильм» и «фильм для детей»). Поэтому приходится логировать (т. е. сохранять в памяти системы) все, пытаясь «между строк» предугадать намерение пользователя.
Так, совокупность данных формируют явные (explicit ratings) и неявные (implicit ratings) информационные сигналы, получаемые от пользователей. На примере кино: явным сигналом может служить оценка, неявным — просмотр трейлера. Вес этих сигналов также будет индивидуален (оценка представляет большую ценность для сервиса).
Пример Netflix
Для демонстрации современного образца рекомендательных систем обратимся к Netflix. В 2006 году компания решила повысить релевантность рекомендаций и объявила конкурс на 1 млн. долларов, который достанется тому, кто сможет улучшить текущее качество прогноза не менее чем на 10%. Качество прогноза измерялось на основе среднеквадратичного отклонения (Root Mean Square Error) и на момент объявления конкурса составляла 0.9514. Целью же было снизить эту ошибку как минимум до 0.8563.
Соревнование длилось порядка трех лет. В качестве обучающих данных был использован датасет из 100 с лишним миллионов реальных оценок пользователей сервиса. Победителем стала команда «BellKor’s Pragmatic Chaos», которой удалось улучшить результаты на 10,06%.
Сейчас обучающийся алгоритм Netflix учитывает не только оценки пользователей, но и весь доступный контекст — время суток, данные о возрасте и поле, географическое положение. Сам алгоритм использует не только регрессионные методы прогнозирования, но и метод сингулярного разложения, генеративные стохастические нейронные сети, обучение ассоциативным правилам, градиентный бустинг и многое другое, что формирует архитектуру под капотом.
Чего ждать от рекомендательных систем завтра
При выборе фильма существует еще одна проблема — мы часто сами не знаем, чего по-настоящему хотим. Можно предположить, что стриминговые сервисы (Netflix, Amazon Prime, Hulu, HBO и другие) будут влиять на киноиндустрию, определяя принципы производства нового контента.
Иными словами, будут снимать ровно то, что будет востребовано, и вопросы «что я хочу посмотреть» перестанут волновать аудиторию, поскольку ответ будет получен до возникновения самого вопроса.
Михаил Бабасян
https://sysblok.ru/arts/kak-rabotajut-rekomendatelnye-sistemy-i-chto-s-nimi-budet-zavtra/