Ранжирование ленты – задача, для решения которой нужна команда ML-инженеров. Эта задача становится ещё сложнее, когда к ней добавляются требования, выходящие за рамки одной рекомендательной выдачи («хотим отдавать 5% трафика локальным группам»). Для поддержки этих требований можно использовать эвристики («умножаем скоры локальных групп на 2»). Но эвристики нужно настраивать, и они не гарантируют оптимальности. Авторы статьи Ranking with Long-Term Constraints предлагают своё решение задачи ранжирования с учётом долгосрочных требований.
Предложенные в статье алгоритмы наводят мост между долгосрочным контролем рекомендательной системы и построением ленты «в моменте». Долгосрочная цель формулируется как сумма полезности, извлеченной пользователями, и штрафов за несоблюдение требований. И если полезность легко разбивается по отдельным выдачам, то со штрафами дело обстоит сложнее. Авторы предлагают три подхода:
- Myopic controller равномерно «размазывает» все штрафы по всем выдачам.
- Stationary controller в реальном времени следит за выполнением требований и приоритезирует те, что выполнены хуже остальных.
- Predictive controller добавляет к stationary controller прогноз трафика, чтобы учитывать выполнение требований в будущем.
Для ранжирования с дополнительными требованиями нет хороших реальных датасетов, поэтому эксперименты в статье синтетические. Они показывают эффективность предложенных алгоритмов. При этом для применения результатов статьи нужно решить практические вопросы (Как выбрать горизонт планирования? Где взять хорошую модель прогнозирования трафика? Что делать с меняющимися требованиями?). Тем не менее статья заслуживает внимания, потому что предлагает идеи, позволяющие поддерживать долгосрочное здоровье системы. А это более важная задача для ML-инженеров, чем увеличение NDCG на 0,005.
Post #138
2.42K
- 🔥 10
- ✍ 3
- ❤ 2
- 👍 1