Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ирина Пчелинцева (Яндекс), Тестирование рекомендательных систем, или как проверить то - не знаю что, CodeFest 2017

CodeFest
February 01, 2018

Ирина Пчелинцева (Яндекс), Тестирование рекомендательных систем, или как проверить то - не знаю что, CodeFest 2017

https://2017.codefest.ru/lecture/1188

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

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

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

CodeFest

February 01, 2018
Tweet

More Decks by CodeFest

Other Decks in Technology

Transcript

  1. Тестирование рекомендательных систем Как проверить то — не знаю что

    Ирина Пчелинцева, руководитель группы тестирования
  2. Немного о себе ›  4 года в ручном тестировании › 

    5 проектов ›  PhD по математике ›  Люблю Python, машинное обучение, котиков и крафтовое пиво. ›  Тестирование на проекте Дзен — с нуля
  3. Тестированию тоже надо меняться ›  Работа с логами ›  Работа

    с данными ›  Понимание работы компонент сервиса
  4. Различие метрик и целевой функции ▌ Целевая функция ›  Контекст 1

    документа (вероятность клика, время в документе) ›  Контекст 1 пачки рекомендаций (число кликов, время чтения) ▌ Метрика ›  Контекст суточного или даже недельного поведения
  5. Различие метрик и целевой функции ▌ Целевая функция ›  Контекст 1

    документа (вероятность клика, время в документе) ›  Контекст 1 пачки рекомендаций (число кликов, время чтения) ▌ Метрика ›  Sessions per User ›  возвращаемость ›  отток
  6. Если эксперимент не удался ▌ Плохая фича или плохая ▌ реализация? › 

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

    кликов ›  Много дизлайков ›  Много блокировок
  8. Жалобы пользователей ›  За ними могу скрываться неизвестные баги или

    недоработки ›  Нужны специалисты, понимающие взаимодействие всех компонент ›  Хорошие инструменты дебага
  9. Пример бага: не сработал классификатор ›  Не применили результат › 

    Эксперименты всё усложняют ›  Классификатор плохо классифицирует ›  Рассинхронизация процессов
  10. Инструменты дебага ›  Видеть продукт глазами пользователя ›  Возможность понять,

    как отработала каждая из компонент ›  Доступные интерфейсы к данным, базам, логам.
  11. Основная информация – на одной странице ›  Request Id › 

    Дополнительные id пользователя ›  Эксперименты ›  Агрегированная статистика ›  Инстанс рекомендатора ›  Шард базы
  12. Внешние данные ›  Может приводить к драматическому ухудшению продукта › 

    Может не приводить к багрепортам ›  Поставщик может тоже не заметить