ЭКСПЕДИА ГРУПП ТЕХНОЛОДЖИ — ДАННЫЕ

Модель жонглера: баланс ожиданий в рейтингах отелей

Метод ранжирования Expedia Group для удовлетворения путешественников, объектов недвижимости и рынка.

«Невозможно угодить грекам и троянцам».

Аргумент, лежащий в основе этого знаменитого высказывания, заключается в том, что невозможно – и даже контрпродуктивно – пытаться оправдать ожидания каждого. Итак, зачем пытаться?

В Expedia Group™️ мы исследуем решения машинного обучения, чтобы сбалансировать ожидания множества заинтересованных сторон на Рынке жилья. В этом сообщении блога будет представлена ​​модель Juggler, решение для ранжирования с участием многих заинтересованных сторон, названное так потому, что оно жонглирует важностью релевантности и бизнес-корректировок в окончательном рейтинге.

Основы рейтинга жилья

Процесс поиска жилья начинается с запроса путешественника, выражающего его потребности. Поисковый запрос обычно содержит пункт назначения, даты заезда и выезда, а также количество путешественников.

Запрос путешественника запускает ряд служб, которые ведут на страницу результатов поиска недвижимости. Здесь свойства отображаются в порядке убывания важности.

Затем мы отслеживаем взаимодействие путешественника со страницей, уделяя особое внимание кликам и бронированиям. В этом примере мы знаем, что путешественник щелкнул два объекта размещения (зеленые знаки) и в итоге забронировал второй (синий).

В результате мы можем создать набор данных Lodging Ranking. Данные подвергаются логике атрибуции для объединения всех событий в поиск. Данные представляют собой комбинацию нескольких источников: поисковых запросов, объектов недвижимости и путешественников.

Участники рынка жилья

Большинство рынков электронной коммерции обслуживают три широкие группы заинтересованных сторон: производителей, потребителей и систему. В рейтинге жилья они относятся к объектам размещения, путешественникам и рынку Expedia Group соответственно. Рынок предоставляет инструменты, позволяющие путешественникам найти наиболее подходящую недвижимость, отвечающую их требованиям.

Хотя рынок можно объяснить просто, его динамику невозможно объяснить. Подобно грекам и троянцам, заинтересованные стороны имеют конкурирующие цели, которые определяют, как работает рынок. Рассмотрим несколько примеров:

  1. Путешественникам нужна лучшая доступная недвижимость по самой низкой цене. Однако мы знаем, что «лучшее» не означает одинаковое для всех, везде и всегда. Кроме того, разные клиенты имеют разную ценовую чувствительность. Итак, мы создаем модели, которые могут прогнозировать потребности клиентов в любом контексте поиска, и использовать их для ранжирования объектов недвижимости.
  2. Недвижимость хочет иметь лучшую рекламу, платя за это минимальную комиссию. Однако это не всегда возможно, в зависимости от рыночных условий, в которых они работают. В помощь им мы предоставляем механизмы для улучшения их рейтинга в обмен на вознаграждение или специальные предложения, а также обучаем партнеров тому, как улучшить их услуги, чтобы мы принесли больше пользы рынку.
  3. Наконец, система хочет продать наиболее выгодные запасы наибольшему числу клиентов. Ему необходимо сбалансировать краткосрочные цели конверсии (т. е. конвертировать поиск) с долгосрочными целями (увеличить частоту повторения), адаптироваться к различным предпочтениям путешественников и рыночным условиям и быстро и эффективно реагировать на внешние факторы.

Учет динамики заинтересованных сторон таким образом, чтобы обеспечить коллективное удовлетворение и здоровье рынка, является сложной темой и предметом постоянных исследований.

Многосторонний рейтинг

В рейтинге жилья модели машинного обучения учитывают потребности путешественников при ранжировании объектов. Однако оптимизация с учетом релевантности для путешественников только вредит долгосрочному здоровью рынка. Таким образом, нам необходимо объединить потребности заинтересованных сторон для окончательного рейтинга.

Мы решаем эту проблему, создавая составную оценку, состоящую из суммы независимых компонентов, включая оценку релевантности и другие бизнес-корректировки, используемые для оптимизации рейтинга для различных целей заинтересованных сторон. Формула выглядит следующим образом:

Окончательный рейтинг получается путем сортировки свойств по убыванию с использованием составного балла. Если все в порядке, мы сохраняем наиболее релевантные объекты на верхних позициях, но вносим небольшие корректировки, чтобы обеспечить продвижение объектов, обеспечивающих долгосрочное здоровье рынка, ближе к вершине.

Хорошие изменения в бизнесе трудно определить. С одной стороны, они должны быть эффективными; с другой стороны, корректировки бизнеса должны легко интерпретироваться и объясняться заинтересованным сторонам. Например, мы должны быть в состоянии объяснить управляющим недвижимостью, почему конкретному объекту присвоен данный рейтинг, и посоветовать, какие действия предпринять для его улучшения.

Итак, как нам сделать так, чтобы все заинтересованные стороны были довольны, сохраняя при этом текущий механизм ранжирования? Наш ответ — использовать линейную скаляризацию: каждой корректировке присваивается вес, определяющий, какой вклад она может внести в окончательный рейтинг. Формула подсчета очков теперь выглядит так:

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

Рассмотрим простой пример трех свойств, каждый из которых имеет определенные оценки для каждой корректировки. Обратите внимание, что для простоты мы представляем только одну корректировку, но все остальные корректировки мы кодируем в столбце «…». В этом случае итоговый балл представляет собой просто сумму всех компонентов. Затем рейтинг создается путем сортировки оценок объектов по убыванию.

В Juggler мы включим в расчеты пару гирь. Такие веса, хотя они одинаковы для всех объектов в каждом поиске, могут существенно повлиять на общий балл. В этом примере новые оценки означают, что окончательный рейтинг совершенно другой: он изменился с 3–1–2 на 2–3–1.

Теперь все, что нам осталось сделать, это найти подходящие параметры веса для любого поиска, который путешественники выполняют на нашей торговой площадке. Легко, правда?

Juggler: система метаобучения

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

Хотя это, безусловно, верно в большинстве случаев, это еще не вся история. Чтобы изучить и использовать сложные закономерности, управляющие многосторонним рейтингом, мы предлагаем модель «Жонглера». Juggler вдохновлен задачей выбора алгоритма из Meta-Learning, цель которой — найти модели, которые сопоставляют характеристики набора данных с лучшими алгоритмами.

Чтобы применить методологию к домену рейтинга жилья, мы установили следующий параллелизм:

  • Вместо наборов данных мы фокусируемся на поиске. В нашем контексте поиск представляет собой сложную структуру данных, состоящую из нескольких сущностей и их связей: Поиск, Объект недвижимости и Путешественник. Затем мы должны найти подходящие способы их описания, чтобы получить контекст поиска.
  • Мы выбираем не лучшие алгоритмы, а лучшие весовые параметризации. Как и в случае с алгоритмами, другая параметризация может привести к разному ранжированию и, как следствие, к различной производительности. Следовательно, разные параметризации могут быть полезны в разных условиях. Нам просто нужно выяснить, когда…

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

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

Жонглер @ Expedia Group

Подобную структуру можно использовать и в других задачах ранжирования. Мы оставим эту тему для будущих публикаций в блоге — сейчас мы сосредоточимся на существующей модели Juggler, решая некоторые вопросы реализации.

Определение контекста поиска

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

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

Нахождение идеальных весовых параметризаций

Идеальные параметризации для каждого поиска находятся посредством моделирования. Для этого мы воссоздаем рейтинги и сравниваем их с объективной политикой. Политика — это просто набор показателей ранжирования. Например, NDCG обычно используется для оценки релевантности рейтинга, но несколько полезных показателей проверяют случайность, справедливость, новизну и т. д. Все их можно объединить в политику. Моделирование включает в себя несколько этапов:

  1. Загрузить данные поиска. Охват данных должен быть достаточно большим, чтобы охватить несколько сегментов и учесть влияние сезонности.
  2. Применить формулу оценки, используя различные параметризации. Мы тестируем широкий спектр параметров, сопоставляя их с параметром по умолчанию.
  3. Оцените новый рейтинг, используя объективную политику. В случае равенства мы выбираем вариант, наиболее близкий к варианту по умолчанию.
  4. Выберите лучшую параметризацию. Это достигается простым поиском весовой параметризации с лучшим результатом в целевой политике.

Определение и использование модели Жонглера

Теперь, имея четкое определение функций и меток из классической задачи обучения с учителем, найти модель Жонглера становится тривиально. Мы используем модель классификатора деревьев с градиентным усилением из-за ее превосходной производительности при автономном тестировании.

Как только модель будет запущена в производство, она будет готова к проверке новых поисков и прогнозированию наиболее подходящих весовых параметризаций. Затем он может найти обобщаемые закономерности, которые могут направить результаты поиска в сторону более подходящего рейтинга.

Более подробную информацию о реализации модели можно найти в семинаре RecSys 2021 здесь.

Выводы и дальнейшие шаги

Модель Жонглера на протяжении многих лет последовательно улучшала эффективность бизнеса, и теперь мы расширяем ее для решения других задач ранжирования. Кроме того, мы рассмотрим другие способы улучшения модели:

  1. Персонализация. Жонглер будет использовать более подробную информацию о путешественниках и постоянно адаптировать веса к их потребностям. Например, рейтинг должен быть адаптирован к ценовой чувствительности клиента.
  2. Глубокое обучение. Контекст поиска является наиболее важным компонентом модели метаобучения. Таким образом, существует большой потенциал использования архитектур глубокого обучения для получения полезных внедрений.
  3. Обучение с подкреплением. Жонглер должен адаптироваться к изменениям в базовых шаблонах данных. Благодаря обучению с подкреплением он может постоянно адаптировать параметры модели к действиям путешественника.

Греки и троянцы, возможно, недовольны, но мы, безусловно, стали на шаг ближе.