Поисковые и рекомендательные системы научились выдавать очень релевантные результаты. Естественный следующий шаг для таких систем в электронной коммерции — переранжировать результаты, чтобы увеличить выручку платформы от платных промо-продуктов. Однако максимизация только выручки может ухудшить пользовательский опыт, снизив релевантность или повысив риск мошенничества. Чтобы избежать этого, мы формулируем задачу переранжирования как задачу целочисленного линейного программирования (ILP), максимизирующую выручку при ограничениях на другие метрики для каждого запроса, например релевантность. Поскольку точное решение ILP для каждого запроса слишком медленно для развёртывания в онлайн-сервисе, мы предлагаем лёгкий перестановочный приближённый алгоритм переранжирования PermR. На каждом шаге алгоритм выбирает пару соседних элементов и меняет их местами, чтобы либо улучшить целевую функцию, либо устранить нарушенное ограничение. Мы оцениваем PermR на нескольких категориях крупной классифайд-платформы в офлайн- и онлайн-режимах. PermR достигает около 63 % улучшения выручки, обеспечиваемого ILP, в пределах производственных ограничений по задержке и при сохранении всех ограничений. В 14-дневном онлайн A/B-тесте на 56 млн поисковых запросов PermR увеличил выручку на 2 %.
статья