Лекция №6 Поведенческое ранжирование Евгений Чернов Поведенческое ранжирование 2 Где брать данные • Логи фронтэндов логи запросов логи показов логи кликов • Счетчики, лайки и т.п. лог переходов <from> - <to> 3 Применение 1.Вычисление релевантности 2.Борьба со спама 3.Словари и языковые модели 4.Переформулировки запросов 5.Поисковые подсказки 6.Исправление опечаток 7.… 4 Как интерпретировать клик? 5 Как интерпретировать клик? Нужна модель поведения пользователя! 6 Поисковая сессия 1. Запрос + его свойства 2. Выдача по запросу (возможны подмесы) 3. Клики пользователя (позиция + время) мгу: 7 Обработка сессий Модель Статистика Статистика для каждого документа: show – сколько раз документ был показан clicks – сколько раз на документ кликнули sessions – сколько всего сессий по запросу было 8 Примитивная модель: CTR (Click-Through Rate) Чем больше у документа кликов, тем он лучше 𝑟𝑑(𝑖) 𝑐𝑙𝑖𝑐𝑘𝑠𝑖 = 𝐶𝑇𝑅𝑖 = 𝑠ℎ𝑜𝑤𝑖 Может ли быть такое, что плохой документ имеет больше кликов, чем хороший? 9 10 Пример: CTR Ниссан Показов Кликов CTR http://nissan.ru/ 4921 3167 0,64 http://major-nissan.ru/ 1498 486 0,32 http://ru.wikipedia.org/wiki/Nissan 3959 83 0,021 images 4870 177 0,024 http://genser.ru/autos/nissan 1055 115 0,11 http://cars.mail.ru/dealers/msk/nissan 4314 133 0,031 http://nissan.kz/ 1069 76 0,071 http://nissan.ua/ 190 115 0,61 11 Как пользователь смотрит / кликает? 12 Позиционный базис Гипотеза: Порядок расположения документов влияет на просмотр документов, но не влияет на клики. Probability of Click 60% Более релевантный 50% 40% 30% 20% 10% 0% 1 normal 2 1swapped 2 Естественный Поменяли Пользователи склонны доверять порядок местами 2 поисковику результатов в и чаще кликают на документы, результата выдаче стоящие выше в выдаче → [Joachims et al. 2005, 2007] 13 Baseline Model Examination Hypothesis: Pr 𝐶𝑖 = 1 = Pr 𝐶𝑖 = 1 𝐸𝑖 = 1 Pr 𝐸𝑖 = 1 Baseline model: Pr 𝐶𝑖 = 1 = 𝑟𝑑(𝑖) 𝛼𝑖 где 𝑟𝑑(𝑖) - релевантность документа на позиции i 𝛼𝑖 = Pr 𝐸𝑖 = 1 - коэффициент позиционного базиса 𝑟𝑑(𝑖) = 𝑃𝑟 𝐶𝑖 = 1 𝛼𝑖 = 𝑐𝑙𝑖𝑐𝑘𝑠𝑖 𝑠ℎ𝑜𝑤𝑖 ∗ 𝛼𝑖 14 Baseline Model: распределение α 0,45 0,40 0,35 0,30 0,25 0,20 0,15 0,10 0,05 0,00 1 2 3 4 5 6 7 8 9 10 15 Пример: Baseline Model Ниссан Показы Клики Позиц ия http://nissan.ru/ 4921 3167 1,25 0,64 1,82 http://major-nissan.ru/ 1498 486 3,06 0,32 2,9 http://ru.wikipedia.org/wiki/Nissan 3959 83 6,83 0,021 0,52 images 4870 177 8,13 0,024 0,8 http://genser.ru/autos/nissan 1055 115 6,48 0,11 2,44 http://cars.mail.ru/dealers/msk/nis 4314 san 133 4,99 0,031 0,51 http://nissan.kz/ 1069 76 7,76 0,071 2,36 http://nissan.ua/ 190 115 2,82 0,61 5,08 CTR Rel 16 Cascade model Cascade Hypothesis: Pr 𝐸1 = 1 = 1 Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 0 = 0 Cascade Model: Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1 = 1 − 𝐶𝑖−1 17 Пример: Cascade Model Ниссан Показы Клики Просм отры http://nissan.ru/ 4921 3167 4688 http://major-nissan.ru/ 1498 486 http://ru.wikipedia.org/wiki/ 3959 Nissan images CTR Base Casca de 0,64 1,82 0,68 681 0,32 2,9 0,71 83 566 0,021 0,52 0,15 4870 177 520 0,024 0,8 0,23 http://genser.ru/autos/niss an 1055 115 166 0,11 2,44 0,69 http://cars.mail.ru/dealers/ msk/nissan 4314 133 880 0,031 0,51 0,15 http://nissan.kz/ 1069 76 167 0,071 2,36 0,45 http://nissan.ua/ 190 115 151 0,61 5,08 0,76 18 Dependent Click model (DCM) Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1, 𝐶𝑖−1 = 1 = 𝜆𝑖 Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1, 𝐶𝑖−1 = 0 = 1 19 User Browsing Model (UBM) Pr 𝐸1 = 1 = 𝛼1 Pr 𝐸𝑖 = 1 𝐶1:𝑖−1 = 𝛼𝑖 𝛽𝑖,𝑝(𝑖) где 𝛼𝑖 = Pr 𝐸𝑖 = 1 𝑝 𝑖 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑙<𝑖 {𝐶𝑙 = 1} 20 User Browsing Model : распределение α Априорное распределение кликов 0,45 0,40 0,35 0,30 0,25 Без кликов 0,20 После клика в 1 Послке клика в 2 0,15 0,10 0,05 0,00 1 2 3 4 5 6 7 8 9 10 Чему равно 𝛽3,2 ? 21 Click Chain Model (CCM) Обобщение DCM: Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1, 𝐶𝑖−1 = 0 = 𝛼1 Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1, 𝐶𝑖−1 = 1 = 𝛼2 1 − 𝑟𝑑 𝑖−1 + 𝛼3 𝑟𝑑(𝑖−1) При 𝛼2 = 𝛼3 = 0, 𝛼1 = 1 получаем Cascade Model При 𝛼2 = 𝛼3 = 𝜆𝑖 , 𝛼1 = 1 получаем DCM 22 General Click Model (GCM) Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1, 𝐶𝑖−1 = 0 = Π 𝐴𝑖 > 0 Pr 𝐸𝑖 = 1 𝐸𝑖−1 = 1, 𝐶𝑖−1 = 1 = Π(𝐵𝑖 > 0) Pr 𝐶𝑖 = 1 𝐸𝑖 = 1 = Π(𝑟𝑑(𝑖) > 0) Все предыдущие модели – частный случай GCM при соответствующем выборе случайных величин 𝐴𝑖 , 𝐵𝑖 , 𝑟𝑑(𝑖) 23 Constant Relevance Assumption Релевантность документа не зависит от пользователя и времени появления запроса, т.е. не зависит от кликов в другие документы: Pr 𝐶𝑖 = 1 𝐸𝑖 = 1, 𝐶1:𝑖−1 = Pr 𝐶𝑖 = 1|𝐸𝑖 = 1 Разделим понятия релевантности на: • Средняя релевантность • Мгновенная релевантность 24 Pure Relevance Model Полагаем Constant Relevance Assumption неверным, тогда Pr 𝐸𝑖 = 1 𝐶≠𝑖 = Pr 𝐸𝑖 = 1 = 𝛼𝑖 Pr 𝐶𝑖 = 1 𝐶≠𝑖 , 𝐸𝑖 = 1 = 𝑟𝑑(𝑖) 𝛿𝜂(𝑖) где • 𝜂𝑖 = 𝑘≠𝑖 𝐶𝑖 - число кликов в позицию не I • 𝛿𝜂(𝑖) - корректирующий фактор для мгновенной релевантности Pr 𝐶𝑖 = 1 𝐶≠𝑖 ) = Pr 𝐸𝑖 = 1 Pr 𝐶𝑖 = 1 𝐶≠𝑖 , 𝐸𝑖 = 1 = 𝛼𝑖 𝑟𝑑(𝑖) 𝛿𝜂(𝑖) 25 Априорное распределение кликов 0,70 0,60 0,50 0,40 1 Клик 0,30 2 Клика 3 Клика 0,20 0,10 0,00 1 2 3 4 5 6 7 8 9 10 26 Max-examination Model UBM использует информацию о кликах выше i: Pr 𝐸𝑖 = 1 𝐶1:𝑖−1 = 𝛼𝑖 𝛽𝑖,𝑝(𝑖) Но клики ниже несут еще больше информации! Пусть: 𝑝 𝑖 если нет клика ниже 𝑖 𝑒 𝑖 = 𝑖 + 1 если есть клик ниже 𝑖 Pr 𝐸𝑖 = 1 𝐶≠𝑖 = 𝛼𝑖 𝛾𝑖,𝑒(𝑖) Pr 𝐶𝑖 = 1 𝐶≠𝑖 = 𝛼𝑖 𝛾𝑖,𝑒(𝑖) 𝑟𝑑(𝑖) 27 Joint Relevance Examination Model (JRE) JRE = Pure Relevance Model + Max-examination Model Pr 𝐶𝑖 = 1 𝐶≠𝑖 = Pr 𝐸𝑖 = 1 𝐶≠𝑖 Pr 𝐶𝑖 = 1 𝐶≠𝑖 , 𝐸𝑖 = 1 = 𝛼𝑖 𝛾𝑖,𝑒(𝑖) 𝑟𝑑(𝑖) 𝛿𝜂(𝑖) 28 Пример: JRE Ниссан Показы Клики CTR Base Cascade JRE http://nissan.ru/ 4921 3167 0,64 1,82 0,68 0,23 http://major-nissan.ru/ 1498 486 0,32 2,9 0,71 0,34 http://ru.wikipedia.org/ wiki/Nissan 3959 83 0,021 0,52 0,15 0,11 images 4870 177 0,024 0,8 0,23 http://genser.ru/autos/ni 1055 ssan 115 0,11 2,44 0,69 0,39 http://cars.mail.ru/deale 4314 rs/msk/nissan 133 0,031 0,51 0,15 0,09 http://nissan.kz/ 1069 76 0,071 2,36 0,45 0,39 http://nissan.ua/ 190 115 0,61 5,08 0,76 0,91 29 Сравнение моделей 30 Привлекательность vs релевантность • Предыдущие модели оценивали релевантность, как “привлекательность”: Pr 𝐶𝑖 = 1 • Эта релевантность сильно зависит от сниппета • Истинная “релевантность” может быть оценена по удовлетворенности пользователем документа привлекательность: 14% удовлетворяемость: 95% привлекательность: 70% удовлетворяемость: 15% 31 Dynamic Bayesian Network [Chapelle+, A Dynamic Bayesian Network Click Model for Web Search Ranking] 32 Dynamic Bayesian Network Применяем EM-алгоритм 33 Dynamic Bayesian Network 34 Dynamic Bayesian Network 35 Dynamic Bayesian Network 36 Пример: DBN Ниссан Привлекат ельность Удовлетво ряемость DBN http://nissan.ru/ 0,68 0,83 0,56 http://majornissan.ru/ 0,71 0,75 http://ru.wikipedia.or g/wiki/Nissan 0,15 images CTR Base JRE 0,64 1,82 0,23 0,53 0,32 2,9 0,34 0,75 0,11 0,021 0,52 0,11 0,23 0,77 0,26 0,024 0,8 http://genser.ru/auto s/nissan 0,69 0,64 0,44 0,11 2,44 0,39 http://cars.mail.ru/de alers/msk/nissan 0,15 0,58 0,08 0,031 0,51 0,09 http://nissan.kz/ 0,45 0,80 0,36 0,071 2,36 0,39 http://nissan.ua/ 0,76 0,81 0,61 0,61 5,08 0,91 37 Dynamic Bayesian Network [погода] Санкт-Петербург • http://www.gismeteo.ru/city/daily/4079/ = 0,71 • weather – 0,29 (0,36 * 0,86) • http://ru.wikipedia.ru/Климат = 0,01 • http://meteoprog.ua/ru/weather/Kyiv = 0,03 38 DBN: многозначные запросы 39 Ягуар Привлекате льность Удовлетворя емость DBN http://jaguar.ru/ 0,34 0,891 0,30 http://jaguar.com/ru/ru 0,28 0,893 0,25 http://ru.wikipedia.org/Ягуар 0,54 0,892 0,48 images 0,932 0,34 0,36 40 Dynamic Bayesian Network 1.Проблемы с многозначными запросами 2.Порно по нормальным запросам? 3.Что если все 10 документов плохи? 4.Как учесть переформулировки? 5.«Сглаживание» информации –Q1 -> D1 –Q1 -> D2 –Q2 -> D2 –Q2 ??? D1 41 Сглаживание поведенческих данных гдз по математике 6 класс зубарева мордкович учебник гдз по математике гдз по математике 6 класс учебник зубарева мордкович 6 класс учебник по математике зубарева гдз зубарева мордкович 6 класс гдз 6 класс математика 11158 11974 169 17 2089 6036 42 Сглаживание поведенческих данных Используем двудольный граф: терм - документ 43 Heuristic Retrieval Model 𝑛(𝑑𝑖 ) – число термов, связанных с 𝑑𝑖 𝑛 𝑑𝑖 - среднее число термов, связанных с документом 𝑛(𝑡𝑗 ) – число документов, связанных с термом 𝑡𝑗 𝜆 = 0,5 𝛽 = 0,75 – коэффициенты сглаживания 𝑁𝑑 - число документов 44 Heuristic Retrieval Model Для нового запроса 𝑞 = {𝑡1 , … , 𝑡𝑘 }: 𝑛(𝑡𝑗 ) – число запросов, связанных с 𝑡𝑗 𝑁𝑞 - общее число запросов 45 Probabilistic Retrieval Model 46 Random-Walk Extension Mining the Search Trails of Surfing Crowds: Identifying Relevant Websites From User Activity 47 Сравнение алгоритмов сглаживания 48 Factorization Machine 49 Энергетический чистильщик треша http://zavit-ok.ru/kak-udalit-volosy-iz-nosa удаление волос из носа http://galya.ru/clubs/show.php?id=341051 почему растут волосы в носу http://moscow-faq.ru/all_question/house/2009/April/17294 машинка для удаления волос из носа http://woman.ru/beauty/face/thread/4069958 как убрать волосы в носу http://smallbox.ru/udalenie-volos-iz-nosa-ushej.html как удалить волосы в носу http://medeffect.ru/news/news-0086.shtml зачем волосы в носу http://hairlike.ru/strijka_volos_v_nosu.php стрижка волос в носу http://stylish-lady.ru/face/45.html как убрать волосы в носу http://stylish-lady.ru/face/45.html как избавиться от волос в носу http://bolshoyvopros.ru/questions/45076-kak-bez-boli-udalit-volosy-v-nosu.html как удалить волосы в носу http://revline.ru/catalog/tovar/343 триммер для носа и http://medcanal.ru/topic86407.html почему растут волосы в http://bolshoyvopros.ru/questions/22485-dlja-chego-v-nosu-volosy.html волосы в носу ушей носу для чего 50 ClickRank PageRank – подобный алгоритм -Оцениваем вероятность посещения страницы по графу переходов 51 BrowseRank: Сессии Событие: {Cookie, timestamp, URL, referral URL, attribute} События объединяются в сессию: 1. По пользователю 2. referral URL(i) = URL(i-1) 3. Время неактивности не должно превышать порог (30 мин.) 52 BrowseRank: Сессии • • • • Среднее число событий в сессии: 9.1 Средняя продолжительность сессии: 420,3 с Среднее число сессий на пользователя в день: 15,5 Процент поисковых сессий: 4,85% 53 Browse Rank 𝑡𝑑 - суммарное время просмотра страницы 𝑡𝑙 - суммарное время загрузки страницы 54 Browser Rank 55 Eye tracking 56 Eye tracking 57 Eye tracking 58 59 Eye Tracking для дизайна своего сайта 60 Отмечайтесь и оставляйте отзыв Спасибо за внимание! Евгений Чернов e.chernov@corp.mail.ru Практика Реализовать алгоритм DBN для сессий: https://cloud.mail.ru/public/AZEX/NbXovqWK7 На основе полученной статистики получить следующее: 1. Выдача по запросу “погода” 2. Выдача по запросу “погода” из Санкт-Петербурга (107) 3. Найти запрос и документ (>5 сессий): a) С самым большим ранком b) С самой низкой привлекательностью c) С самым большим отношением привлекательности к удовлетворяемости d) С самым маленьким отношением привлекательности к удовлетворяемости