18+
реклама
18+
Бургер менюБургер меню

Леха Захаров – «Слив топа Литрес» (страница 2)

18

CatBoost в «ЛитРес» учитывает огромное количество факторов (признаков), которые можно разделить на несколько категорий.

1. Поведенческие признаки (Behavioural Features)

Это всё, что пользователь делает на платформе — явно или неявно.

Явные действия: поставленные оценки (звёзды), написанные рецензии, добавление в избранное, покупка, скачивание.

Неявные действия (самые важные!): время, проведённое на странице книги; факт прокрутки страницы до конца; дочитывание книги до последней главы (это золотой сигнал); возвращение к книге после перерыва; клики по обложке, по кнопке «Читать», по ссылкам; частота открытия приложения. Даже то, как быстро вы пролистываете страницы, может быть сигналом — скучаете вы или вчитываетесь.

Чем больше пользователь взаимодействует с книгой — и чем глубже это взаимодействие, тем выше вес этого сигнала. Покупка, безусловно, важна. Но дочитывание до конца важнее покупки. А повторное перечитывание (когда пользователь возвращается к книге спустя месяцы) — это сигнал высшего уровня, который CatBoost учитывает с повышенным коэффициентом.

2. Семантические признаки (Semantic Features)

Это как раз то, чего не хватало ALS. CatBoost может «понимать» (в кавычках, потому что алгоритмы не понимают в человеческом смысле) содержание книги, её стиль, жанр, настроение. Для этого на «ЛитРес», согласно данным исследований, используется современная модель Sentence-BERT (SBERT). Sentence-BERT — это нейросетевая модель, которая преобразует текст (аннотацию, название, первые страницы, даже весь текст книги) в специальный вектор — так называемое семантическое представление.

Что это даёт?

Система может найти книги, которые семантически близки к тем, что вы уже читали, даже если они относятся к разным жанрам и не пересекаются по покупкам других пользователей. Например, вы читали мрачный нуарный детектив Рэймонда Чандлера. ALS может посоветовать вам других классиков нуара — Дэшила Хэмметта или Джеймса Кейна. Но Sentence-BERT может уловить более тонкую вещь: атмосферу безысходности, циничный голос рассказчика, описания ночного Лос-Анджелеса. И на основе этого предложить вам, скажем, роман «Драйв» Джеймса Саллиса — современный нуар, который жанрово может быть отнесён к «криминальной драме» или даже «триллеру», но семантически он невероятно близок к Чандлеру.

Или другой пример: вы читали «Маленькую жизнь» Ханьи Янагихары — тяжёлый, травматичный роман о дружбе и боли. Система, используя SBERT, сможет найти книги не просто «о дружбе» или «о травме», а именно с похожей эмоциональной тональностью — например, «Щегол» Донны Тартт или «Невыносимую лёгкость бытия» Милана Кундеры. Это уже не коллаборативная фильтрация, а контентная фильтрация высшего уровня.

3. Контекстные признаки (Contextual Features)

Алгоритм учитывает не только «кто вы», но и «где вы» и «когда вы».

Время суток и день недели: исследования показывают, что вечером в пятницу люди чаще выбирают лёгкое чтиво — детективы, любовные романы, юмористическую прозу. А в воскресное утро — более серьёзную литературу, нон-фикшн, психологию. CatBoost это знает и подстраивает рекомендации.

Устройство: читаете вы на телефоне в метро или на большом планшете дома в кресле? В первом случае алгоритм может предложить рассказы или короткие повести — то, что можно осилить за 15–20 минут поездки. Во втором — многотомные эпопеи.

Местоположение (с учётом всех ограничений): рекомендации могут незначительно варьироваться в зависимости от региона (например, в Санкт-Петербурге может быть чуть выше спрос на «Питерскую» прозу).

История покупок и чтения за последний час: если вы только что купили три книги по саморазвитию, CatBoost на время «забудет» о вашей любви к фэнтези и начнёт активно подсовывать вам ещё книги по продуктивности, тайм-менеджменту и личностному росту. Вы задали контекст — алгоритм его подхватил.

4. Авторские и книжные признаки (Meta-features)

Авторитет автора: книги авторов, которые уже много раз попадали в топ-списки, получали премии или просто имеют большую аудиторию, получают «фору» при ранжировании. Это не значит, что новичок не может выстрелить, но стартовые условия у него хуже.

Возраст книги (дата публикации): новинки почти всегда имеют приоритет. «ЛитРес» — коммерческий сервис, ему выгодно продавать свежий контент. Однако классика, которая стабильно продаётся годами (например, «Мастер и Маргарита»), также имеет высокий ранг.

Длина книги: слишком короткая книга (рассказ на 20 страниц) и слишком длинная (трёхтомник на 2000 страниц) могут быть наказаны в рекомендациях — первая потому, что её «слишком быстро читают» (мало времени вовлечения), вторая — потому, что её редко дочитывают до конца (высокий процент бросивших).

Язык и сложность текста: алгоритм может оценивать сложность лексики, длину предложений и сопоставлять с вашим «профилем читателя» (читаете ли вы обычно Толстого или Донцову).

Матрица факторов ранжирования: что на самом деле двигает книгу наверх

Теперь, когда мы знаем основных игроков, давайте разберёмся, как именно они взаимодействуют и какие конкретные факторы имеют наибольший вес. Представьте себе многомерную шкалу, где каждый фактор имеет свой «вес» — коэффициент важности. Точные значения этих коэффициентов — строжайшая коммерческая тайна «ЛитРес», но мы можем сделать обоснованные предположения, основанные на общих принципах работы рекомендательных систем и открытых данных.

Факторы с наибольшим весом (критические)

Дочитывание до конца (Completion Rate). Это, без преувеличения, король всех метрик. Если пользователь купил книгу, открыл её, но бросил на 10-й странице — это негативный сигнал. Если он дочитал до конца — мощнейший позитивный. А если он дочитал и тут же поставил высокую оценку — это джекпот. Алгоритм интерпретирует это так: книга настолько хороша, что пользователь не мог оторваться. Именно дочитывание — лучший предсказатель того, что и другие пользователи с похожим профилем тоже дойдут до конца. Следовательно, такие книги получают огромный буст в ранжировании.

Коллаборативная близость (Collaborative Similarity). ALS не зря работает на первом этапе. Сила «коллективного разума» огромна. Если тысяча пользователей с вашим профилем (похожие покупки, похожие оценки) купили и полюбили книгу X, а вы её ещё не читали — CatBoost с высокой вероятностью поставит её вам на первое место, даже если все остальные факторы (семантика, новизна) говорят против. Коллективный опыт перевешивает.

Поведенческая интенсивность в «песочнице» (Early Adopter Signals). Для новых книг, у которых ещё мало данных, критически важны первые дни после публикации. Если в первый же час после выхода книгу купили 100 человек, а в первый день — 500, это сигнал для системы: «Внимание, потенциальный блокбастер!» CatBoost начнёт агрессивно рекомендовать эту книгу похожим пользователям, чтобы проверить гипотезу. Если и они начнут её покупать и дочитывать — запустится эффект снежного кома. Если нет — книга быстро уйдёт в «песочницу забытых».

Факторы со средним весом (важные, но не решающие)

Семантическое сходство (Semantic Similarity по SBERT). Этот фактор особенно важен для нишевых жанров и для пользователей со сложными, нетривиальными вкусами. Для массовых жанров (любовные романы, боевики) он может уступать коллаборативной фильтрации, потому что там «все на всех похожи». Но для интеллектуальной прозы, философской фантастики или узкоспециализированного нон-фикшна семантическое сходство может выходить на первый план.

Вовлечённость (Engagement Metrics). Сюда входит множество параметров: время, проведённое на странице книги (не только чтение, но и изучение описания, отзывов), частота возвращения к книге, количество выделенных цитат (эта функция есть в приложении «ЛитРес»), факт добавления книги в закладки, факт написания рецензии (даже короткой). Всё это показывает, что книга не просто куплена, но и «пережита» пользователем.

Рекency (новизна). Свежие книги почти всегда получают небольшой, но ощутимый буст. Это нужно для того, чтобы новые авторы и новые издания не застревали навечно в глубине каталога. Однако буст этот временный — если через 2–3 недели книга не показывает органического спроса, приоритет снимается.

Факторы с наименьшим весом (но всё же влияющие)

Цена. Более дорогие книги могут быть немного наказаны в рекомендациях, потому что алгоритм предсказывает: пользователь с большей вероятностью купит дешёвую книгу или книгу по подписке. Однако если книга очень качественная и имеет высокий Completion Rate, цена перестаёт быть фактором.

Обложка и оформление. Строго говоря, алгоритмы машинного обучения не видят обложку как картинку (хотя современные сверточные нейросети могли бы это делать). Но они видят косвенные сигналы: книги с «красивыми» обложками (по субъективному мнению пользователей) чаще кликают, чаще покупают, чаще дочитывают. Таким образом, обложка влияет на поведенческие метрики, которые уже напрямую учитываются CatBoost.

Наличие аудиоверсии. Книги, которые существуют и в текстовом, и в аудиоформате, получают небольшое преимущество, так как охватывают более широкую аудиторию (любителей аудиокниг).

Скрытые триггеры, штрафы и исключения