Мауро Хименес и Раджат Раджбхандари, доктор философии

Резюме

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

Вступление

Модели рекомендаций можно найти на многих онлайн-площадках, таких как Amazon, Airbnb и Netflix. Эти модели предлагают пользователям рекомендуемые товары или фильмы на основе их истории использования, а также заявленных предпочтений. На торговой площадке dexFreight ежедневные автотранспортные компании (называемые пользователями) представлены для бронирования тысячами грузов, которые могут перегружать их, и, что еще хуже, они могут упустить возможность забронировать эти перевозки.

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

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

Модель рекомендаций использует алгоритмы TF IDF и Cosine Similarity для поиска совпадающих поставок на основе прошлой истории пользователя. Тем не менее, мы обнаружили, что существует компромисс между тем, сколько новых входных поставок анализируется, а также тем, насколько давно исторические данные пользователей используются в модели, и временем выполнения модели.

Цели

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

  • Опишите цель модели рекомендаций на торговой площадке dexFreight.
  • Разберитесь в компонентах модели рекомендаций.
  • Разработайте модель, чтобы рекомендовать поставки пользователям и анализировать компромиссы.

Краткое описание данных об отправке

В этом разделе мы описываем наборы данных из более чем 500 000 записей, которые использовались для построения модели рекомендаций по отгрузке. Каждая запись представляет собой предложение об отправке, размещенное на рынке фрахтовыми брокерами и грузоотправителями. Наша задача - представить пользователям набор актуальных поставок. Каждая запись об отправке имеет структуру с тремя уровнями атрибутов, как показано на рисунке 2. Первый уровень связан с основными метками, такими как режим, происхождение, место назначения, размер прицепа и т. Д. Второй уровень увеличивает сегментацию записей с помощью ключи, относящиеся к атрибутам первого уровня в иерархической структуре. Например, атрибуты второго уровня, относящиеся к режиму, включают меньше, чем грузовик, полный грузовик и т. Д. Третий уровень содержит значения или параметры, дополнительно сегментированные из атрибутов второго уровня. Например, атрибуты третьего уровня для платформ включают длину прицепа.

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

Понимание модели обучения

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

Таким образом, мы создали словарь для атрибутов, которые являются значениями или параметрами из поставки. Эти атрибуты можно рассматривать как индикаторы события, что является самым простым способом описания дискретных случайных величин. Это предположение привело к созданию числовой области, состоящей из индикаторов (атрибутов поставок), каждый из которых имеет два состояния. Игнорируя частоту этих событий, у нас есть два кластера индикаторов; индикаторы показывают наличие атрибута нагрузки и отсутствие атрибута нагрузки.

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

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

Давайте представим перевозчика, который в прошлом заказал 4 перевозки (Индекс 1–4 ниже), используя 53 автофургона, а брокер разместил груз (Индекс 5 ниже), размер и вес которого требует грузовика с типом бортового оборудования. .

Блок предварительной обработки генерирует матрицу подсчета с предыдущей информацией после токенизации. Где каждая строка представляет отгрузку, а каждый столбец - наличие или отсутствие каждого атрибута отгрузки. Такое представление в векторное пространство называется вложением. Атрибуты нагрузок также известны как запросы.

Если модель рекомендаций учитывает частоту атрибутов в корпусе, как показано на рисунке 3, это количество атрибутов, деленное на общее количество слов. Модель рекомендаций ответит аналогичным процентом, игнорируя предпочтения оператора связи.

Предыдущая проблема компенсируется с помощью частоты обратного члена (уравнение ниже), что означает, что система рекомендаций должна учитывать частоту атрибута во всех записях и самой отгрузке. Частота и частота обратных членов напрямую связаны с объемом информации, которую может извлечь модель рекомендации.

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

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

Архитектура модели рекомендаций

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

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

Результаты и проверка

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

Типы пользователей в зависимости от количества отправлений, обработанных в прошлом:

  • С более чем 10 000 историческими записями об отгрузках.
  • С историческими записями об отгрузках от 5 000 до 10 000 единиц.
  • С 1 000–5 000 историческими записями об отгрузках.

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

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

Сравнение производительности модели на основе предпочтений пользователя

Гипотеза, которую мы хотели проверить, связана с рекомендациями для различных типов пользователей и с тем, как на время выполнения модели влияет размер ранее забронированных отправлений (исторические отправления пользователя) и количество отправлений (размер партии), предоставляемых с процент совпадения.

Мы выполнили модель с несколькими атрибутами пользовательских предпочтений, чтобы сократить время выполнения. Анализируя результаты, мы можем увидеть положительную корреляцию между временем выполнения модели и типом пользователя. На рисунке 5 показано время выполнения для трех типов пользователей, а также различные размеры пакетов входных отправлений. Это показывает, что количество исторических поставок и глубина атрибутов влияют на производительность модели. На рисунке 5 ниже показано, что время выполнения модели (по оси Y) сильно зависит от количества рассмотренных прошлых поставок, что очевидно. Однако размер партии значения не имел. Кроме того, время выполнения не прямо пропорционально количеству прошлых поставок (показанных в легенде), используемых в модели.

Кроме того, на рисунке 6 показано, что средний балл косинусного сходства (по оси y) составляет от 0,373 до 0,529 для всех трех типов пользователей с доверительной вероятностью 95% (более высокий показатель косинусного сходства означает более высокий уровень сопоставления). Этот показатель означает, что размер партии, состоящей из набора случайно выбранных отправлений, предлагается в качестве кандидата для системы рекомендаций. Оценка сходства не сильно различалась между 1000 и 10000 исторических поставок. Однако оценка снизилась из-за более высокого размера партии исходных отправлений, для которых необходимо определить соответствующие проценты. Это показывает более высокий уровень влияния заявленных пользовательских предпочтений на оценку сходства.

В заключение

Мы описали нашу систему моделей рекомендаций на основе контента для торговой площадки dexFreight, генерацию кандидатов и ранжирование предлагаемых перевозок с использованием косинусного сходства. Мы проверили компромисс использования фильтров предварительной обработки. Оценка модели проводилась в автономном режиме, поэтому мы не можем напрямую измерить влияние модели на поведение пользователя. На этом этапе цель модели - отфильтровать ненужные атрибуты предпочтений пользователя, что приведет к относительно небольшому набору новых поставок, которые могут быть интересны пользователям. Вместо того, чтобы выполнять проверку модели 80/20 (соотношение обучение / тестирование), мы создали эксперимент с фиксированным количеством новых отгрузок кандидатов с использованием разных размеров партий.

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

Не стесняйтесь присылать свои мысли и комментарии на [email protected].

Подпишитесь на dexFreight в Twitter, Telegram, LinkedIn и Newsletter, чтобы получать новости и анонсы проектов.