От идеи до производства за 3 этапа –

Кейс о том, как мы создали нашу первую платформу машинного обучения контента в Booking.com

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

В этом посте я поделюсь нашим трехэтапным рецептом создания Content Intelligence Platform и поддержки различных вариантов использования.

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

Платформа Content Intelligence (CIP)

CIP — это централизованная служба, в которой размещается обогащенный контент на основе машинного обучения, как для изображений, так и для текста. Учитывая изображение или текст, CIP предоставляет информацию на основе машинного обучения, такую ​​как:

  • Теги машинного обучения для изображений — с помощью модели классификации изображений платформа будет выводить различные метки на изображении и их показатели достоверности.
  • Показатель качества изображения — каково техническое качество изображения? В чем привлекательность образа?
  • Точка фокуса (x,y) — какая главная точка интереса на изображении?
  • Настроение отзыва — каково мнение гостя?

Каковы были три основных этапа создания этой контентной платформы?

Шаг 1. Пакет основного продукта

Наша команда работала над Computer Vision с 2018 года и была знакома с проблемами, связанными с ним в целом и в частности с Booking.com. Следовательно, у нас была концепция создания платформы машинного обучения контента, которая облегчила бы жизнь нашим внутренним командам и сэкономила бы им много времени и головной боли. Однако это все еще был очень неопределенный и высокий уровень, и требовалось больше исследований, чтобы определить, есть ли место для такой платформы. Для расследования мы сделали следующее:

1.1 Сопоставление проблемных мест

Мы начали с вопроса «почему?». Каковы текущие болевые точки вокруг контента, с которыми имеют дело команды внутри компании? Мы сгруппировали их в 4 кластера, изображенных на изображении ниже.

1.2. Определение нашего ценностного предложения:

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

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

1.3. Видение и миссия

Чтобы создать нашу идентичность, нам нужно было думать о долгосрочной перспективе — как будет выглядеть эта платформа, когда она станет зрелой?

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

Исходя из этого, мы разработали наше видение и миссию.

Видение:

Станьте централизованным рынком разнообразного контента на Booking.com.

Миссия:

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

1.4. Определение MVP

После того, как мы посвятили некоторое время долгосрочному видению и идентичности, нам нужно было вернуться к краткосрочному мышлению и, более конкретно, к тому, как мы можем немедленно доказать ценность. О MVP (минимально жизнеспособном продукте) написано много, поэтому я сразу перейду к тому, как мы его определили:

Одна модель машинного обучения для одного варианта использования в течение 3 месяцев.

1,5. Определение наших ключевых показателей эффективности — как мы будем измерять успех?

Последней частью этого пакета продуктов было определение наших KPI. Ниже приведены 3 группы KPI, которые мы определили для CIP:

  • Внедрение:количество команд, использующих CIP, количество вариантов использования, использующих CIP.
  • Влияние: денежная ценность, экономия средств, LTV клиента (пожизненная ценность).
  • Средние значения SLI (показатели уровня обслуживания): доступность данных, показатель успешности обслуживания и т. д.

Шаг 2. Дизайн и реализация

В то время как на первом этапе мы были сосредоточены на вопросе «почему?», этот этап сосредоточен на вопросе «как» и в основном принадлежит нашим инженерам.

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

На этом этапе наш MVP был запущен!
Протестировав и убедившись, что он работает успешно, мы получили зеленый свет на его масштабирование.

Шаг 3. Увеличение масштаба

Расширение масштабов CIP включало два аспекта:

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

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

CIP имеет 3 различных типа заинтересованных сторон:

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

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

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

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