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

О качестве поиска интернет-магазина. Динар Хама...

О качестве поиска интернет-магазина. Динар Хамадияров (Озон)

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

Avatar for Zoya Chizhkova

Zoya Chizhkova

August 01, 2019
Tweet

More Decks by Zoya Chizhkova

Other Decks in Programming

Transcript

  1. Имя: Динар Компания: Lazada (Alibaba Group) Команда: Поисковая вертикаль Обязанности:

    Автоматизация тестирования поиска Компания: Ozon Команда: Группа оценки качества поиска Обязанности: Оценка качества поиска 2
  2. Почему так важен поиск? 1. В современных интернет-магазинах доля пользовательских

    сессий, содержащих хотя бы один поисковый запрос, существенна 2. У «поискового» пользователя выше конверсия и средний чек по сравнению с пользователем «каталожным» (https://vc.ru/flood/6380-search-or-cat) 4
  3. Как обеспечивать качество поиска? 1. Функциональное тестирование (фильтры, сортировка по

    цене, работа подсказок и так далее) 2. Тестирование производительности 3. Юзабилити-тестирование 4. Проверка релевантности поисковой выдачи … 6
  4. Задача поисковой системы Запрос 1 Запрос 2 Запрос 3 Запрос

    N … Товар 1 Товар 2 Товар 3 Товар 4 Товар 5 Товар M … + сортировка 9
  5. Нам нужно число!.. Что такое метрика? Метрика программного обеспечения —

    мера, позволяющая получить численное значение некоторого свойства программного обеспечения Wikipedia 11
  6. Для чего нам число? 1. Мониторинг изменения качества поиска 0,00

    0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 1,00 март апрель май июнь июль август метрика 12
  7. Метрики без информации о релевантности продуктов 1. % поисковых запросов

    без кликов на результаты поиска. Чем меньше – тем лучше 2. Средняя позиция кликов. Чем меньше/выше - тем лучше 3. Время между запросом (моментом получения результатов поиска) и первым кликом на один из результатов. Чем меньше - тем лучше 4. % поисковых сессий. Чем больше – тем лучше 5. % поисковых запросов с добавлением продукта в корзину. Чем больше – тем лучше 6. % поисковых запросов без найденных продуктов. Zero Results. Чем меньше – тем лучше 15
  8. Метрики на основе информации о релевантности продуктов Релевантность продукта поисковому

    запросу Метрики качества поисковой выдачи на основе информации о релевантности продуктов 16
  9. Релевантность продукта поисковому запросу Релевантность не является характеристикой продукта. Это

    характеристика пары «запрос - продукт». Продукт «кефир» сильно релевантный по запросу «молочные продукты», но нерелевантный по запросу «канцелярские товары». 18
  10. 2. Правила. Пример №1 «комбинезон REIMA» { ‘type’: { ‘equals’:

    ‘комбинезон’ } ‘brand’: { ‘equals’: ‘REIMA’ } } 23
  11. 2. Правила. Пример №2 «чайник со свистком» { ‘type’: {

    ‘equals’: ‘чайник’ } ‘name’: { ‘contains’: ‘со свистком’ } } 24
  12. 2. Правила. Пример №3 «сушилка для овощей и фруктов Ветерок»

    { ‘type’: { ‘equals’: synonyms(‘сушилка для овощей и фруктов’, ‘дегидратор’) } ‘name’: { ‘contains’: ‘Ветерок’ } } 25
  13. Итог - массив весов релевантности продуктов 1 2 3 4

    5 6 7 8 Поисковая выдача 0.9 0.5 0 0.9 0.9 0.5 0 0.5 [0.5, 0.9, 0.5, 0, 0, 0.9, 0.9, 0.5] 27
  14. Поисковая система Поисковый запрос База продуктов 1 2 3 4

    5 6 7 8 Поисковая выдача Как работает? 30
  15. Полнота Количество релевантных товаров базе – 11 Количество релевантных товаров

    в выдаче – 6 Показатель полноты = 6 / 11 = 0.545 или 54,5% База продуктов 1 2 3 4 5 6 7 8 Поисковая выдача 32
  16. Точность Количество релевантных товаров в выдаче – 6 Количество товаров

    в выдаче – 8 Показатель точности = 6 / 8 = 0.75 или 75% 1 2 3 4 5 6 7 8 Поисковая выдача 33
  17. Сортировка 1 2 3 4 5 6 7 8 Исходная

    выдача 1 2 3 4 5 6 7 8 «Правильная» сортировка 34
  18. Метрика качества сортировки 1 2 3 4 5 6 7

    8 Поисковая выдача [0.5, 0.9, 0.5, 0, 0, 0.9, 0.9, 0.5] sort_metric = ∑ #$% & '# ×)*+# '% ×)*+% + '- ×)*+- + ⋯ '& ×)*+& w1 w2 w3 w4 w5 w6 w7 w8 rel1 rel2 rel3 rel4 rel5 rel6 rel7 rel8 35
  19. Расчёт DCG rel = [0.5, 0.9, 0.5, 0, 0, 0.9,

    0.9, 0.5] !"# = %& ×()*& + %, ×()*, + ⋯ %. ×()*. w = [1, 0.63, 0.5, 0.43, 0.39, 0.36, 0.33, 0.32] DCG = (0.5 x 1) + (0.9 x 0.63) + (0.5 x 0.5) + (0 x 0.43) + + (0 x 0.39) + (0.9 x 0.36) + (0.9 x 0.33) + (0.5 x 0.32) ~ 2 37
  20. Расчёт DCG 1 2 3 4 5 6 7 8

    №1 4 1 5 7 8 2 3 6 №2 Исходная выдача Выдача с «правильной» сортировкой (best) DCG(1) = 2.096 = ~2 DCG(2) = 2.505 = ~2.5 38
  21. nDCG - Normalized DCG !"#$ = ) "#$(( ) "#$()*+,

    nDCG показывает, как результат близок к «идеалу». 39
  22. Расчёт nDCG nDCG(1 относительно 2) = 2 / 2.5 =

    0.8 или 80% Выдача с «правильной» сортировкой DCG(2) = 2.505 ~ 2.5 Исходная выдача DCG(1) = 2.096 ~ 2 40
  23. Расчёт DCG 1 2 3 4 5 6 7 8

    №1 4 1 5 7 8 2 3 6 №2 Исходная выдача Выдача с «правильной» сортировкой (best) DCG(1) = 2 DCG(2) = 2.5 41
  24. База продуктов 1 2 3 4 5 6 7 8

    1 2 3 4 5 6 7 8 9 10 11 «Идеальная» выдача Что такое «идеальная» выдача? 1. Полнота 100% 2. Точность 100% 3. Сортировка по убыванию релевантности продуктов 42
  25. Расчёт DCG 1 2 3 4 5 6 7 8

    №1 4 1 5 7 8 2 3 6 №2 1 2 3 4 5 6 7 8 9 10 11 №3 Исходная выдача Выдача с «правильной» сортировкой Выдача с «правильной» сортировкой и «правильной» полнотой DCG(1) = 2 DCG(2) = 2.5 DCG(3) = 3.7 43
  26. Расчёт nDCG nDCG(1 относительно 2) = 2 / 2.5 =

    0.8 или 80% nDCG(1 относительно 3) = 2 / 3.7 = 0.54 или 54% Выдача с «правильной» сортировкой и «правильной» полнотой DCG(3) = 3.7 Выдача с «правильной» сортировкой DCG(2) = 2.5 Исходная выдача DCG(1) = 2 44
  27. Про чувствительность nDCG 1. Полнота - учитывается 2. Сортировка -

    учитывается 3. Точность – не учитывается 4 1 5 7 8 2 3 6 4 1 5 2 3 6 nDCG = 1 nDCG = 1 nDCG = 1 !"#$ = ) "#$(( ) "#$()*+, 4 1 5 7 8 2 3 6 9 10 11 12 45
  28. Про чувствительность nDCG 1. Полнота - учитывается 2. Сортировка -

    учитывается 3. Точность – не учитывается 4 1 5 7 8 2 3 6 4 1 5 2 3 6 P = 6/6 = 1 nDCG = 1 nDCG = 1 Точность = Precision = P nDCG = 1 P = 6/8 = 0.75 P = 6/12 = 0.5 4 1 5 7 8 2 3 6 9 10 11 12 !"#$ = ) "#$(( ) "#$()*+, 46
  29. nDCG и точность nDCG: 0.9 Точность: 0.5 Для исчерпывающей картины

    качества выдачи следует мониторить две метрики: nDCG и точность. Вместе они дают полную характеристику качества выдачи с точки зрения релевантности. 47
  30. Проверка модификаций поисковых запросов 1. Опечатки. «кросовки» => «кроссовки» 2.

    Раскладка клавиатуры. «Дупщ» => «Lego» 3. Транслитерация. «Найк» => «Nike» 4. Регистр (case sensitivity). «ДЕГИДРАТОР» => «дегидратор» 5. Наличие/отсутствие пробелов между словами. «картапамяти» => «карта памяти» 6. Морфология. «кольца» => «кольцо» 7. Синонимы. «стиралка» => «стиральная машина» … 49
  31. BeyBlade Волчок с пусковым устройством Wyvron W2 цвет синий “beyblade”

    “бейблейд” Количество запросов за период 52
  32. Мониторинг модификаций. Пример оформления Раскладка клавиатуры 90% Опечатки 70% Транслитерация

    75% Регистр 100% Пробелы 60% Морфология 80% (показатели неактуальные – для примера) 54
  33. Общий показатель качества поиска nDCG: 0.9 Точность: 0.5 0,00 0,10

    0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 1,00 март апрель май июнь июль август nDCG Точность 56
  34. Детализация по типам запросов (Схематично) Тип запроса nDCG Точность Электроника

    0.96 0.9 Книги 0.8 0.5 Косметика 0.93 0.8 Канцелярские товары 0.7 0.95 58
  35. Детализация по запросам (Схематично) Запрос nDCG Точность iphone 0.98 0.95

    купить пылесос 0.85 0.5 телефон 0.93 0.8 samsung телефон 0.7 0.95 59
  36. Детализация выдачи для запроса «телефон» (Схематично) Товары Релевантность товара Мобильный

    телефон Digma Linx A105N 2G, черный 1.0 Мобильный телефон Fly FF243, черный 1.0 Чехол для сотового телефона iPhone 5 / 5S / SE, серый 0.5 Батут DFC TRAMPOLINE FITNESS черный 0.0 … … 60
  37. Частотные поисковые запросы Сколько самых частых уникальных запросов нужно мониторить,

    чтобы покрыть множество случаев поисковых обращений хотя бы на 80%? (на 70%? На 60%?) Весь объём поисковых обращений частотные нечастотные 63
  38. Частотные поисковые запросы Учитывая, что эти запросы частотные, количество таких

    уникальных запросов может получиться относительно небольшим. Уникальные запросы частотные нечастотные 64
  39. Сравним диаграммы Оценка качества небольшой доли уникальных частотных запросов может

    дать оценку качества существенного объёма поисковых обращений. Уникальные запросы частотные нечастотные Весь объём поисковых обращений частотные нечастотные 65
  40. Оценка качества поиска 1. Анализ данных (статистика поисковых запросов, конверсия,

    классификация поисковых запросов …) 2. Метрики 3. Визуализация 4. Оптимизация инфраструктуры (ускорение алгоритмов, оптимизация способов хранения информации) 68
  41. Источники • https://en.wikipedia.org/wiki/Discounted_cumulative_gain • http://romip.ru/romip2009/15_yandex.pdf • https://alsafr.livejournal.com/11604.html • https://en.wikipedia.org/wiki/Learning_to_rank •

    https://habr.com/company/econtenta/blog/303458/ • Линейная регрессия • http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=B851C3A5481E930C29EA441E209E35BD?doi=10.1.1.727.775&rep=rep1&type=pdf • https://www.researchgate.net/post/How_to_combine_multiple_metrics_for_a_ranking_technique • http://www.cleverstudents.ru/trigonometry/formulas_with_arcsin_arccos_arctg_arcctg.html • http://sz.ru/search-quality/Protasov-Baranov-RamblerPFound.pdf • https://lenta.ru/articles/2013/06/17/yandexsearch/ • https://www.searchengines.ru/search_technolo.html • https://ru.wikipedia.org/wiki/Обучение_ранжированию • https://ru.wikipedia.org/wiki/Информационный_поиск • Яндекс.Поиск • https://searchengines.guru/showthread.php?t=771834 • http://www.machinelearning.ru/wiki/images/0/00/Mmta19_search_ranking.pdf • https://habr.com/ru/company/altweb/blog/237285/ • https://vc.ru/flood/13953-search-ds-gh • https://vc.ru/flood/6380-search-or-cat • https://prozhector.ru/wiki/релевантность/ 69