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

Ирина Пчелинцева (Яндекс), Тестирование рекомен...

Avatar for CodeFest CodeFest
February 01, 2018

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

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

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

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

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

Avatar for CodeFest

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. Внешние данные ›  Может приводить к драматическому ухудшению продукта › 

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