Применение Клик-моделей для электронной коммерции
Вопрос ранжирования результатов поиска актуален не только для Гугла (сайт нарушает закон РФ) и Яндекса, но и для любого e-commerce сайта с большой номенклатурой. Мы уже писали про телепатический поиск, а сейчас хотели бы остановиться на анализе поведения пользователей для ранжирования поисковой выдачи.
Данный материал подготовлен на основе поста Click Modeling for eCommerceиз блога eBayTechBlog.
Если бы можно было точно понять, насколько релевантной считает ту или иную ссылку в поисковой выдаче сам пользователь, это был бы действительно революционный прорыв в поисковых алгоритмах. Но мы можем регистрировать только клики, а мысли пользователей остаются скрытыми. Но даже на основе этих данных мы можем делать выводы и строить предположения.
Паттерны кликов, наборы типичных действий, совершаемых пользователями на страницах результатов поиска, считаются отличным подспорьем в составлении алгоритмов ранжирования поисковой выдачи. Основанный на таких паттернах метод ранжирования хорошо известен тем, кто профессионально занимается вопросами поиска, классификации и выборки информации. Рассмотрим эту тему чуть подробнее.
Клик-модели: что это?
Клик-модель – математическая модель, создаваемая для описания процесса, который происходит в голове пользователя при принятии решений об использовании тех или иных результатов поиска. Основная цель этой модели — сделать выводы о том, насколько релевантными пользователь считает те или иные ссылки на странице результатов поиска.
Для примера рассмотрим следующий сценарий.
Пользователь ищет «Смысл жизни». На странице результатов поиска (search engine result page SERP) он видит 50 результатов. Пользователь кликает по ссылке во втором результате, и на этом заканчивает пользоваться поиском.
Какие возможные объяснения действий пользователя могут иметь место:
- Пользователь посмотрел на SERP, прочел выдержку из описания (сниппет) под первым результатом, проигнорировал его как нерелевантный. Затем он перешел ко второму результату, который ему понравился, пользователь кликнул о ссылке, перешел на страницу, нашел там смысл жизни, и, удовлетворенный, прекратил поиски.
- Пользователь охватил взглядом SERP, случайным образом выбрал второй результат, прошел на страницу, счел ее контент абсолютно нерелевантным поисковому запросу. Затем у него зазвонил телефон, и поиск был прекращен, оставшись незавершенным.
Согласно первому объяснению, второй результат был релевантным поисковому запросу пользователя. Второе объяснение утверждает обратное. Оба объяснения – равно как и множество других – имеют право на жизнь. Однако какова степень их вероятности?
С помощью клик-модели мы можем задать математическую вероятность для каждого из таких объяснений, что позволяет использовать миллионы сценариев в прогнозировании степени релевантности результатов поиска ожиданиям пользователя.
Теоретическая задача — смоделировать поведение пользователя внутри поисковой выдачи и спрогнозировать его клики.
Практическая задача - поняв основные принципы поведения пользователя, улучшить алгоритмы ранжирования:
- Чтобы пользователю было удобнее
- Чтобы бизнесу было выгоднее (например продажа наиболее маржинальных товаров или создание алгоритмов поисковых подмесов)
Простейший тип клик-моделей называется «позиционным».
В позиционных моделях присутствует допущение: вероятность того, что пользователь изучит определенный результат поиска, снижается согласно позиции этого результата на странице. Вероятность «Р» перехода по ссылке зависит от вероятности (просмотра) результата и вероятности того, что просмотрев результат — пользователь сочтет его релевантным:
P(клик) = P(изучен) * P(релевантен)
Вероятность того, что пользователь хотя бы просто увидит результат на странице P(изучен) является затухающей функцией зависящей от результата ранжирования (т.е. чем ниже поисковая система проранжировала данный результат тем меньше вероятность того, что пользователь кликнет на нее). Можно накопить исторические данные, подогнать их под определенную функцию и построить прогноз, в котором вероятность клика будет зависеть от положения «N» на странице.
Чуть более сложные клик-модели другого класса называются «каскадными».
В таких моделях предполагается, что движение пользователя происходит по SERP происходит сверху вниз, в первом же релевантном (по его мнению) результате пользователь переходит по ссылке и тут же прекращает поиск. В таких моделях вероятность перехода зависит от релевантности определенного результата и нерелевантности всех вышестоящих результатов. Т.е. вероятность того, что пользователь кликнет на результат «N» — зависит от релевантности результатов «N-1», «N-2» и т.п. Недостатком каскадных моделей является то, что они не учитывают незавершенные поиски и поиски, в рамках которых пользователь кликает по двум и более результатам.
Байесовская сеть
Согласно недавним исследованиям, как позиционная, так и каскадная модели менее эффективны в моделировании кликов на SERP, чем модель динамической байесовской сети. В этой модели предполагается, что пользователь изучает SERP сверху вниз, начиная с первого результата. Клики производятся только по ссылкам, описание которых кажется пользователю релевантным, нерелевантные результаты игнорируются. Поиск заканчивается с переходом на страницу (landing page), контент которой кажется ищущему удовлетворяющим запросу. Клики на SERP сохраняются в логах, но все другие переменные (в том числе данные о контенте самой странице) в модели байесовской сети скрыты.
В этой модели единственными отслеживаемыми событиями являются клики. Все другие события рассматриваются как мат.ожидания, описывающие причинные связи между булевыми переменными. На рисунке такие причинные связи представлены стрелками.
Ключевым параметром в модели является "γ" — сохранение интереса к поиску. Это, по сути, вероятность того, что пользователь продолжит изучение результатов после перехода на нерелевантную запросу страницу.
Почему в e-сommerce нужны новые модели
Модели, подходящие для общих случаев поиска в сети, не оптимальны для интернет-магазинов и продающих сайтов, с огромной номенклатурой. Так например онлайн-шопперы как правило е остановливаются на первом же релевантном результате — поэтому, например, каскадная модель может быть вообще неприменима.
Покупка в сети и простой веб-серфинг радикально отличаются друг от друга. В случае с поиском товаров и услуг, результаты на SERP конкурируют друг с другом за пользователя, который выступает в роли арбитра и раздает награды, совершая клики и заказы.
В отличие от ищущих контент, онлайн-шопперы сравнивают ряд результаты до тех пор, пока не накопят достаточный багаж хороших и плохих предложений. Только после этого покупатель может назвать «победителя».
В таких условиях, предложение считается хорошим только В ПРОТИВОПОСТАВЛЕНИИ другим предложениям, которые на его фоне выглядят ХУЖЕ.
Например, если на SERP первые десять результатов – хорошие предложения, ожидаемым поведением пользователя станет скроллинг и изучение других результатов, до тех пор, пока он не увидит достаточное количество предложений ХУДШЕГО качества.
В этом заключается явное отличие поиска с целью приобретения товара/услуги от поиска контента, рассматриваемого с помощью динамической байесовской сети.
Предлагаемая клик-модель
Эта модель основана на динамической байесовской сети, с поправкой на специфику электронной коммерции.
В модели присутствуют события Ei, подразумевающее изучение результата. Кроме того, здесь также используется допущение о том, что пользователь просматривает SERP сверху вниз.
- Ai — достаточная для клика привлекательность),
- Gi — хорошее предложение.
- Новое событие – S (успех), обозначающее успешное оформление заказа пользователем. События S поддаются прямому наблюдению, поэтому модель позволяет использовать на входе данные о кликах и заказах.
Найдя хорошее предложение, пользователь инициирует событие S с вероятностью f(G).
ВАЖНО: Вероятность события S — покупки — зависит не только от качества выбранного предложения, но и от качества тех предложений, которые были им рассмотрены ранее.
Так в модели учитывается просмотр пользователем плохих и хороших предложений, предшествующее решению, ЗА КОТОРЫМ следует событие S. В самом простом случае, f(G) может быть суммой обнаруженных хороших предложений, однако в общем виде его можно представить следующим образом:
f(G) = αΣ(хорошие предложения) + βΣ(плохие предложения)
Здесь α и β – параметры модели.
Т.е. упрощенно говоря — вероятность клика на данной предложение зависит от количества хороших и плохих предложений просмотренных ДО данного предложения.