В современном мире онлайн-поиска жилья и путешествий эффективность поисковых систем имеет решающее значение для удовлетворения потребностей пользователей. Airbnb, одна из крупнейших платформ для аренды жилья по всему миру, сталкивается с огромными объемами данных — миллионы объектов размещения, разнообразные запросы и сложные условия поиска. Для решения этих задач компания внедряет передовые технологии машинного обучения и обработки данных, одной из самых значимых из которых стала система Embedding-Based Retrieval (EBR) — модель семантического поиска, способная значительно повысить качество и скорость подбора подходящих вариантов жилья. Ключевая задача, стоящая перед поисковой системой Airbnb, — находить максимально релевантные объекты для каждого конкретного запроса пользователя. При этом пользователи задают очень разнообразные параметры: географические запросы могут охватывать обширные регионы, такие как целые штаты или страны, или, наоборот, ограничиваться конкретными районами и улицами.
Добавляются различные особенности — гибкие даты проживания, количество гостей, предпочитаемые удобства. При таких условиях традиционные системы поиска, основанные на фильтрации и простых рейтингах, зачастую не справляются с масштабом и глубиной анализа пользовательских запросов. Закладка основ новой поисковой системы началась с разработки механизма для создания обучающих данных. В основе подхода лежит контрастивное обучение — техника, при которой модель учится отличать положительные примеры (живые бронирования) от отрицательных (незакрытые просмотры и отказы). Для формирования этих пар выбирались реальные пользовательские сессии, так называемые "поездки", включающие множество связанных запросов и действий — от просмотра различных вариантов до добавления объектов в список желаний и финального бронирования.
Такой подход позволил учесть многоэтапность и сложность поведения реальных пользователей. Особое внимание уделялось выбору отрицательных примеров. В отличие от случайной выборки, негативы формировались из тех объектов, которые пользователь видел или даже активно с ними взаимодействовал — например, добавлял в закладки, но так и не бронировал. Это повысило качество обучения модели, позволив ей лучше распознавать реальные предпочтения и настраивать сходство между запросами и объектами размещения. Архитектура модели представляет собой классическую двуствольную нейросеть, где одна часть отвечает за обработку характеристик жилья, а вторая — за параметры пользовательского запроса.
Такой дизайн позволяет независимо генерировать векторы для объектов и для поисковых запросов, сопоставляя их в одном пространстве эмбеддингов для оценки релевантности. При этом вычисление векторов для жилья происходит оффлайн в ежедневных пакетных заданиях, что значительно уменьшает нагрузку во время онлайн-поиска и ускоряет ответ системы. Обработка пользовательских запросов происходит онлайн в режиме реального времени, что обеспечивает актуальность и быстроту отклика. Для быстрой и масштабируемой выдачи релевантных результатов было принято решение использовать технологии Approximate Nearest Neighbor (ANN) — алгоритмы быстрого поиска ближайших векторов в многомерных пространствах. В частности, компания рассмотрела два подхода: иерархические навигационные малые миры (HNSW) и инвертированные файловые индексы (IVF).
Несмотря на то, что HNSW немного превосходил IVF по метрикам качества, на практике IVF оказался более оптимальным из-за особенностей частых обновлений данных и высокой нагрузки. В Airbnb данные о ценах и доступности обновляются очень оперативно, что требует эффективного управления индексами. Решение с IVF позволило хранить только центроиды кластеров и распределение объектов по ним, что сократило объем памяти и ускорило интеграцию с существующей системой фильтрации, особенно по географическим признакам. Во время запроса система извлекает ближайшие к вектору запроса кластеры и формирует релевантный пул вариантов для дальнейшей оценки. Интересным техническим наблюдением стала роль выбора функции сходства.
Были исследованы как скалярное произведение (dot product), так и евклидова метрика. Хотя обе метрики показывали схожие результаты с точки зрения качества модели, евклидово расстояние обеспечивало более равномерное распределение объектов по кластерам. Это важно, поскольку неравномерность кластера снижала бы точность поиска. Причина кроется в том, что dot product учитывает направление вектора, игнорируя его длину, а исторические данные о жилье содержали характеристики с масштабом и количеством, влияющими на важность векторов. Внедрение EBR системы в рабочие процессы Airbnb оказалось успешным шагом.
Новая система показала значительный прирост по количеству бронирований во время A/B тестирования, сопоставимый с лучшими результатами в истории развития алгоритмов ранжирования компании. Главное преимущество технологии — возможность более эффективно учитывать контекст запроса, что особенно важно для большого количества релевантных вариантов, когда традиционные методы не справляются с точной сортировкой. Таким образом, использование embedding-based retrieval позволило Airbnb вывести поиск жилья на новый уровень, сочетая точность, масштабируемость и скорость. Такой подход, основанный на глубоких знаниях поведения пользователей и передовых методах машинного обучения, формирует будущее индустрии онлайн-путешествий, позволяя миллионам гостей по всему миру быстрее находить идеальные места для отдыха и работы. В дальнейшем можно ожидать развитие этой технологии с интеграцией дополнительных данных и контекстов, таких как сезонность, личные предпочтения и динамическая адаптация под поведение пользователя.
Airbnb демонстрирует, как инновации в сфере искусственного интеллекта и поисковых систем способны радикально изменить опыт пользователей, делая путешествия более доступными и комфортными.