Рекомендательные системы, аудиогиды, планировщики: как ИИ расширяет возможности туризма
Искусственный интеллект все активнее внедряется в пользовательские сервисы, и особенно это заметно в тревел-техе — индустрии, где важно быстрое принятие решений и высокая персонализация.
ИИ-помощники, которые работают с базами данных и общаются с пользователем на естественном языке, упрощают планирование досуга — в ответ на запрос в свободной форме они способны генерировать полноценные маршруты и программы, получая в процессе обратную связь для улучшения точности рекомендаций. Туристические сервисы используют ИИ, чтобы понять, что интересно конкретному пользователю: если раньше персонализация строилась на базовых признаках вроде пола или города проживания, то сейчас используются более содержательные поведенческие паттерны — ведь даже минимальное улучшение качества рекомендаций напрямую влияет на пользовательскую лояльность. А автоматизация экскурсий позволяет сильно расширить возможности самостоятельных путешествий — например, оказавшемуся в незнакомом городе туристу достаточно поделиться местоположением, чтобы в реальном времени узнавать, что находится по его правую и левую руку.
В RUSSPASS мы активно используем возможности языковых моделей, чтобы подстраиваться под интересы туристов и подбирать для них по-настоящему релевантные варианты досуга.
Как устроен сервис рекомендаций: архитектура, поиск данных и обратная связь
Цель — предлагать пользователям события, которые им с наибольшей вероятностью подойдут, на основе предыдущих действий внутри сервиса: выборов, покупок, добавлений в избранное, просмотров страниц, оценок и комментариев.
В технической реализации используется двухбашенная модель, часто применяемая в рекомендательных системах (например, в Яндекс Музыке). Суть модели — в представлении как пользователей, так и событий в виде эмбеддингов (векторов признаков в многомерном пространстве). Условно, каждая точка — это набор чисел, которые отражают поведение или свойства. Для событий используются признаки вроде текстового описания, цены, времени проведения, популярности, частоты посещений и аудитории, а для пользователей — вся история взаимодействий с интерфейсом. Все данные кодируются и размещаются в многомерном эмбеддинговом пространстве; близость эмбеддингов отражает релевантность. Проще говоря, если интересы пользователя и параметры события близки, они оказываются рядом. Модель ежедневно обучается выявлять близкие по интересам точки в этих пространствах, а результаты обновляются и пересчитываются раз в сутки.
Если пользователь новый и данных о нем еще нет, он может пройти анкетирование, на каждом шаге выбирая один из двух вариантов отдыха. Также система учитывает соцдем-признаки: пол, возраст, город проживания — это позволяет сделать стартовые рекомендации более релевантными. В качестве обратной связи мы используем не только прямую оценку (палец вверх или вниз), но и пользовательское поведение: зашел ли он на страницу события, добавил ли в избранное, вернулся ли к нему позже. Эти косвенные сигналы тоже идут в модель: если взаимодействие было, алгоритм сработал верно, и модель переобучается с учетом этого взаимодействия — чтобы предлагать более персонализированные рекомендации. Важно, что мы не используем сторонние поведенческие данные: все рекомендации строятся исключительно на информации, которую пользователь добровольно оставил на платформе.
Кроме того, мы контролируем дрейф данных и качества через офлайн-метрики (полнота, точность, разнообразие и т. п.), чтобы не допускать переобучения модели (смещения предсказаний, например, из-за большого объёма однотипных событий). Регулярное дообучение модели тоже контролируется метриками: их ухудшение либо улучшение позволяет понимать, может ли модель работать на продовой среде.
ИИ-аудиогид: как генерируется экскурсия и проверяются факты
Формат аудиогидов на основе языковых моделей в RUSSPASS стал ответом на естественное поведение аудитории — многие пользователи гуляют по городу в наушниках. Это способ узнать больше о местах вокруг, не тратя время на самостоятельный поиск информации.
В основе технологии — генерация экскурсионного текста на основе справочных данных. При обучении мы используем как внутренние источники (например, описания городских событий и объектов), так и внешние (справочники и исторические сводки). Из больших массивов данных формируется сжатая справка, которую отправляем в языковую модель. Ее задача — не просто сгенерировать связный текст, а сделать его интересным для пользователя: соблюсти баланс между информативностью и нарративной динамикой. Чтобы исключить фактические ошибки, при генерации мы используем строго заданный промпт: модель получает только структурированные данные, а в запросе однозначно указано, что нельзя использовать ничего помимо этих данных. Параллельно внедряется система проверки фактов: по тексту проходят скрипты, которые, например, проверяют корректность упомянутых дат. Если модель искажает год, это сигнал о возможной ошибке в других фактах.
После генерации текста включается синтез речи. Для озвучивания мы используем партнерскую модель, которая показала наилучшее качество, но в перспективе планируем перейти на собственное решение, чтобы снизить зависимость от внешних инструментов и обеспечить масштабируемость. Сейчас на платформе размещены готовые универсальные аудиогиды. Мы работаем над улучшением функционала – над их подстраиваемостью под локацию и маршрут в соответствии с интересами пользователя.