Рекомендательная система: введение в проблему холодного старта

в 20:05, , рубрики: surfingbird, Блог компании Surfingbird, рекомендательная система, метки: ,

Добрый день! Уже более трех месяцев, как я работаю математиком в компании Surfingbird. Для тех, кто не знаком с этим сервисом, предлагаю посетить наш блог. В силу специфики занимаемой мной должности, я собираюсь публиковать здесь статьи, посвященные математическим вопросам рекомендательной системы веб-страниц.

Первая серьезная задача, с которой я столкнулся, работая в компании — это решение проблемы холодного старта. В этой статье я опишу суть проблемы и основные направления ее решения. Более детальное описание методов намереваюсь впоследствии публиковать в блоге SurfingBird.

image

Постановка задачи рекомендательной системы уже описана Сергеем Николенко в статье Рекомендательные системы: постановка задачи.
В основе большинства рекомендательных систем лежат так называемые методы коллаборативной фильтрации. Наша рекомендательная система не исключение. Все алгоритмы коллаборативной фильтрации опираются только на информацию о рейтингах, проставляемых пользователями, и не анализируют контент ресурсов (в нашем случае веб-страниц). Поэтому, эти алгоритмы работают при достаточно большом количестве рейтингов, как правило это 10-20 рейтингов. Задача выдачи релевантных рекомендаций для новых пользователей и для новых сайтов называется проблемой холодного старта.

Итак, проблема холодного старта делится на холодный старт для пользователей (что показывать новым пользователям?) и холодный старт для сайтов (кому рекомендовать вновь добавленные сайты?). Начнем по порядку.

Холодный старт для пользователей возможен на основе демографических данных, которые сами пользователи указывают при регистрации.
В рассматриваемой задаче рекомендаций веб-страниц о пользователе известны пол, дата рождения и местоположение. Эти базовые характеристики мы и будем использовать в дальнейших экспериментах. Однако, демографических данных может быть получено и больше. С помощью API социальных сетей мы можем узнать уровень образования, социальный статус и прочие характеристики.

Существуют два основных подхода к применению в рекомендациях демографической информации о пользователе:
— Экспертным образом составляются стереотипы для различных демографических категорий. То есть эксперт сам определяет что на холодном старте показывать женщинам за 40 из мегаполисов и т., д. Очевидным минусом такого подхода является необходимость работы эксперта, при этом пользователю будут рекомендоваться только популярные сайты субъективно подобранные экспертом. Объем экспертной работы существенно возрастает с ростом числа категорий.
— Демографические категории определяются автоматически путем выявления кластеров пользователей со схожими интересами. Рекомендации строятся на основе того, какие рейтинги проставляли пользователи из той же категории, то есть того же возраста, пола, местоположения и т. д.

Второй подход не требует привлечения экспертов и предоставляет возможность создания неограниченного числа кластеров, поэтому остановлюсь на нем более подробно в следующих статьях.

Для решения проблемы холодного старта для новых сайтов применяются различные методы семантического анализа текста на веб-страницах. Здесь включаются методы LDA, relevance feedback и другие, о которых я расскажу отдельно в ближайшем будущем.

На этом пока остановлюсь. Спасибо за внимание!

Автор: vleksin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js