СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ РАНЖИРОВАННЫХ ПОЗИЦИЙ ЭЛЕМЕНТОВ СИСТЕМОЙ РАНЖИРОВАНИЯ
METHOD AND SYSTEM FOR DETERMINATION OF RANKED POSITIONS OF ELEMENTS BY RANKING SYSTEM

Область техники
[1] Настоящая технология относится к элементам ранжирования и, более конкретно, к способам и системам для определения ранжированных позиций элементов системой ранжирования.
Уровень техники
[2] Различные глобальные или локальные сети связи (Интернет, Всемирная паутина, локальные сети и т.п.) предлагают пользователю огромное количество информации. Информация включает в себя множество контекстных тем, таких как, но не ограничиваясь ими, новости и текущие события, карты, информация о компании, финансовая информация и ресурсы, информация о трафике, информация об играх и развлечениях. Пользователи используют различные клиентские устройства (например, настольный компьютер, лэптоп, ноутбук, смартфон, планшеты и т.д.) для доступа к контенту в этих сетях (например, тексту, изображениям, аудио, видео, анимации и другому цифровому контенту).
[3] В общем случае, пользователь может осуществить доступ к ресурсу в сети связи двумя основными способами. Пользователь может осуществить доступ к определенному ресурсу напрямую, либо введя адрес ресурса, например унифицированный указатель ресурса (URL), либо щелкнув ссылку, например ссылку, полученную по электронной почте или выбранную при просмотре другого веб-ресурса. В качестве альтернативы пользователь может провести поиск с помощью поисковой машины, чтобы найти интересующий ресурс. Поисковая машина особенно подходит в обстоятельствах, когда пользователь знает интересующую его тему, но пользователь не знает точного адреса ресурса, к которому он хочет осуществить доступ.
[4] Когда пользователи выполняют поиск с помощью поисковой машины, у них обычно два приоритета. Они хотят, чтобы поисковая машина находила наиболее релевантные результаты, и они хотят, чтобы результаты выдавались относительно быстро. Результаты поиска обычно представляются пользователю на веб-странице, например на странице результатов поисковой машины (SERP). SERP может содержать любое количество различных типов результатов, собранных из различных источников, таких как общие, текстовые результаты поиска из общих поисков в Интернете или конкретные типы результатов поиска (например, изображения и видео), извлеченные из вертикальных поисков. Поисковые машины используют различные способы, чтобы определить, какие результаты поиска релевантны в ответ на поисковый запрос и как отображать эти результаты пользователю.
[5] Обычно поисковые машины конфигурируются для учета множества факторов, включая указания предыдущих пользовательских взаимодействий, связанных с элементами, отображаемыми в SERP, при ранжировании этих элементов друг среди друга на основе их релевантности запросам.
[6] Поисковые машины также настроены на итеративное обновление пула элементов, которые потенциально могут быть представлены их пользователям. Это итеративное обновление пула элементов обычно известно как «сканирование», во время которого приложение сканирования настраивается для доступа к множеству веб-ресурсов и для сбора элементов, которые потенциально могут быть представлены пользователям поисковой машины в ответ на запросы.
[7] Некоторые элементы могут отображаться в SERP как элемент контента (который может называться виджетом). Типичные элементы в SERP позволяют пользователю выбрать элемент, а затем перейти на веб-страницу, соответствующую этому элементу. Элемент контента может допускать различные пользовательские взаимодействия с элементом контента. Например, может отображаться элемент музыкального контента, который воспроизводит аудио, когда пользователь взаимодействует с элементом контента. В этом примере музыка может воспроизводиться, пока пользователь продолжает просматривать SERP. В другом примере может отображаться элемент контента изображений. Элемент контента изображений может отображать различные изображения в ответ на поисковый запрос.
[8] Поскольку элементы контента отличаются от традиционных элементов, например, имеют другой размер и/или внешний вид, способы ранжирования, которые хорошо работают для традиционных элементов, могут быть неприменимы к элементам контента. По вышеуказанным причинам необходимы новые способы и системы ранжирования элементов.
[9] Патент США 10,642,905, выданный Yandex Europe AG 5 мая 2020 г., раскрывает способы и системы для генерирования SERP. Способ выполняется на сервере, на котором выполняется поисковая машина, при этом доступ к серверу через сеть связи осуществляется по меньшей мере одним электронным устройством. Способ содержит, в качестве части генерирования списка результатов поиска, список результатов поиска, содержащий первый результат поиска и второй результат поиска, предсказание первого интересующего параметра для первого результата поиска; предсказание второго интересующего параметра для второго результата поиска; предсказание параметра полезности для первого результата поиска, при этом предсказание, по меньшей мере частично, основано на первом интересующем параметре и втором интересующем параметре; корректировку позиции первого результата поиска в ранжированном списке результатов поиска на основе предсказанного параметра полезности, при этом корректировка приводит к тому, что первый результат поиска находится в скорректированной позиции в ранжированном списке результатов поиска.
[10] В патенте США 10,275,406, выданном Yandex Europe AG 30 апреля 2019 г., описаны способы и системы для генерирования SERP в ответ на получение поискового запроса. Генерируется ранжированное множество результатов поиска, включая по меньшей мере один общий результат поиска и по меньшей мере один результат вертикального поиска, при этом ранжированное множество результатов поиска ранжировано, по меньшей мере частично, на основе параметра полезности. Параметр полезности указывает оптимальную позицию по меньшей мере одного результата вертикального поиска в ранжированном множестве результатов поиска на основе его определенной полезности относительно поискового запроса. Параметр полезности предварительно определяется на основе обучающего набора пользовательских данных о прошлом пользовательском взаимодействии с по меньшей мере одним результатом вертикального поиска, когда его исходный ранг был изменен таким образом, что по меньшей мере один результат вертикального поиска ранжировался случайным образом и помещался в предыдущую SERP на случайную позицию.
[11] В патенте США 9,183,299, выданном International Business Machines Corporation 10 ноября 2015 г., раскрыты способ, устройство и компьютерная программа для поисковой машины для ранжирования набора страниц, возвращаемых в качестве результатов поиска по поисковому запросу. Получают поисковый запрос и первую исходную страницу. Поисковый запрос включает в себя одно или более ключевых слов, и первая исходная страница выбирается на основе информации, связанной с поисковым запросом. Набор результатов генерируется на основе одного или более ключевых слов. Затем рассчитывается расстояние клика (щелчка) от первой исходной страницы до каждой страницы в возвращенном наборе. Расстояние клика представляет собой количество промежуточных страниц, которые пользователю необходимо пройти, чтобы перейти от первой исходной страницы к странице в наборе результатов поиска. Затем набор результатов поиска ранжируется на основе рассчитанного расстояния клика от первой исходной страницы до страницы в наборе результатов.
Сущность изобретения
[12] Разработчики настоящей технологии выявили, что SERP могут быть улучшены за счет учета дополнительных признаков при определении ранжирования элементов в SERP. Размер элемента при отображении в SERP и/или расстояние от элемента до верха SERP может учитываться при определении предсказанной оценки полезности элемента. Предсказанная оценка полезности элемента может использоваться для определения ранжирования элемента в SERP.
[13] Варианты осуществления настоящей технологии были разработаны на основе понимания разработчиками по меньшей мере одной технической проблемы, связанной с решениями из уровня техники. Поэтому разработчики разработали способы и системы для определения ранжированных позиций элементов системой ранжирования для отображения в SERP. Более того, разработчики разработали способы и системы, которые позволяют обучать систему ранжирования предсказывать оценки полезности элементов для различных ранжированных позиций и использовать предсказанные оценки полезности для выбора размещения элементов в SERP.
[14] В первом широком аспекте настоящей технологии предоставляется способ определения ранжированных позиций элементов, отображаемых в SERP, системой ранжирования, при этом система ранжирования обучена ранжировать элементы на основе предыдущих пользовательских взаимодействий, при этом способ выполняется сервером, при этом способ содержит: во время фазы обучения системы ранжирования: получение сервером указания пользовательских взаимодействий, связанных с первым ранжированным списком элементов, при этом элементы первого ранжированного списка элементов были визуально отображены на первой SERP пользователю в ответ на обучающий запрос, при этом первый ранжированный список элементов содержит первый элемент контента; определение сервером оценки для первого элемента контента на основе, по меньшей мере частично: размера первого элемента контента на первой SERP и ранжирования первого элемента контента; и обучение сервером системы ранжирования для предсказания предсказанной оценки полезности для первого элемента контента на основе оценки для первого элемента контента; и во время фазы использования системы ранжирования: получение сервером запроса на использование от пользователя; генерирование системой ранжирования, на основе упомянутого запроса на использование, второго ранжированного списка элементов; определение системой ранжирования ранжированной позиции для второго элемента контента во втором ранжированном списке элементов на основе, по меньшей мере частично, размера второго элемента контента и расстояния между вторым элементом контента и наиболее высоко ранжированным элементом второго ранжированного списка элементов; размещение сервером второго элемента контента во втором ранжированном списке элементов в упомянутой ранжированной позиции; и генерирование второй SERP на основе второго ранжированного списка элементов.
[15] В некоторых реализациях способа определение оценки для первого элемента контента содержит: после определения того, что пользователь выбрал элемент, отображаемый над первым элементом контента на первой SERP, установку оценки равной нулю.
[16] В некоторых реализациях способа определение оценки для первого элемента контента содержит: после определения того, что пользователь выбрал первый элемент контента на первой SERP, установку оценки равной единице.
[17] В некоторых реализациях способа определение оценки для первого элемента контента содержит, после определения того, что пользователь выбрал элемент, отображаемый под первым элементом контента на первой SERP: определение первой высоты первого элемента контента; определение второй высоты элемента, отображаемого под первым элементом контента; и вычитание первой высоты, деленной на вторую высоту, из оценки.
[18] В некоторых реализациях способа определение ранжированной позиции для второго элемента контента содержит определение, для каждой позиции в ранжированном списке, предсказанной оценки полезности второго элемента контента.
[19] В некоторых реализациях способа ранжированная позиция для второго элемента контента имеет наивысшую предсказанную оценку полезности из предсказанных оценок полезности.
[20] В некоторых реализациях способа определение оценки для первого элемента контента содержит определение оценки на основе, по меньшей мере частично, количества времени, в течение которого пользователь осуществлял доступ к первому элементу контента.
[21] В некоторых реализациях способа второй элемент контента содержит одно или более изображений или видео.
[22] В некоторых реализациях способа определение оценки для первого элемента контента содержит определение оценки на основе, по меньшей мере частично, горизонтальной позиции первого элемента контента.
[23] В некоторых реализациях способа определение оценки для первого элемента контента содержит: определение расстояния на SERP до первого элемента контента от наиболее высоко ранжированного элемента; и определение оценки на основе, по меньшей мере частично, упомянутого расстояния.
[24] В другом широком аспекте настоящей технологии предоставляется способ определения ранжированных позиций элементов, отображаемых в SERP, системой ранжирования, при этом система ранжирования обучена ранжировать элементы на основе предыдущих пользовательских взаимодействий, при этом способ выполняется сервером, при этом способ содержит: во время фазы обучения системы ранжирования: получение сервером указания пользовательских взаимодействий, связанных с первым ранжированным списком элементов, при этом элементы первого ранжированного списка элементов были визуально отображены на первой SERP пользователю в ответ на обучающий запрос; определение сервером оценки для каждого элемента первого ранжированного списка элементов на основе, по меньшей мере частично: размера соответствующего элемента на первой SERP и ранжирования соответствующего элемента; и обучение сервером системы ранжирования для предсказания предсказанной оценки полезности для элементов на SERP на основе упомянутой определенной оценки для каждого элемента; и во время фазы использования системы ранжирования: получение сервером запроса на использование от пользователя; генерирование системой ранжирования, на основе упомянутого запроса на использование, набора элементов; определение системой ранжирования ранжированной позиции для каждого элемента из упомянутого набора элементов на основе, по меньшей мере частично, размера каждого соответствующего элемента, тем самым генерируя второй ранжированный список элементов; и генерирование второй SERP на основе второго ранжированного списка элементов.
[25] В некоторых реализациях способа определение оценки для каждого элемента первого ранжированного списка элементов содержит: после определения того, что пользователь выбрал элемент, отображаемый над соответствующим элементом на первой SERP, установку оценки соответствующего элемента на ноль.
[26] В некоторых реализациях способа определение оценки для каждого элемента первого ранжированного списка элементов содержит: после определения того, что пользователь выбрал соответствующий элемент на первой SERP, установку оценки соответствующего элемента на единицу.
[27] В некоторых реализациях способа определение оценки для каждого элемента первого ранжированного списка элементов содержит: после определения того, что пользователь выбрал элемент, отображаемый под соответствующим элементом на первой SERP: определение первой высоты соответствующего элемента; определение второй высоты элемента, отображаемого под соответствующим элементом; и вычитание первой высоты, деленной на вторую высоту, из оценки соответствующего элемента.
[28] В некоторых реализациях способа определение ранжированной позиции для каждого элемента из упомянутого набора элементов содержит определение, для каждого элемента из упомянутого набора элементов, предсказанной оценки полезности для каждого доступного ранжирования соответствующего элемента.
[29] В некоторых реализациях способа определение ранжированной позиции для каждого элемента из упомянутого набора элементов содержит выбор, для каждого элемента из упомянутого набора элементов, ранжирования, имеющего наивысшую предсказанную оценку полезности.
[30] В некоторых реализациях способа способ дополнительно включает запуск визуального отображения второй SERP.
[31] В некоторых реализациях способа указание пользовательских взаимодействий содержит указание: выбора элемента на первой SERP, длительного выбора элемента, выбора элемента с последующим переходом веб-ресурса, воспроизведения аудио, соответствующего элементу, или наведение курсора на элемент.
[32] В другом широком аспекте настоящей технологии предоставляется система. Система содержит: по меньшей мере, один процессор и память, хранящую множество исполняемых инструкций, которые при исполнении по меньшей мере одним процессором предписывают системе: во время фазы обучения системы ранжирования: получать указание пользовательских взаимодействий, связанных с первым ранжированным списком элементов, при этом элементы первого ранжированного списка элементов были визуально отображены на первой SERP пользователю в ответ на обучающий запрос, при этом первый ранжированный список элементов содержит первый элемент контента; определять оценку для первого элемента контента на основе, по меньшей мере частично: размера первого элемента контента на первой SERP и ранжирования первого элемента контента; и обучать систему ранжирования для предсказания предсказанной оценки полезности для первого элемента контента на основе оценки для первого элемента контента; и во время фазы использования системы ранжирования: получать запрос на использование от пользователя; генерировать системой ранжирования, на основе упомянутого запроса на использование, второй ранжированный список элементов; определять системой ранжирования ранжированную позицию для второго элемента контента во втором ранжированном списке элементов на основе, по меньшей мере частично, размера второго элемента контента и расстояния между вторым элементом контента и наиболее высоко ранжированным элементом второго ранжированного списка элементов; размещать сервером второй элемент контента во втором ранжированном списке элементов в упомянутой ранжированной позиции; и генерировать вторую SERP на основе второго ранжированного списка элементов.
[33] В некоторых реализациях системы инструкции, которые предписывают системе определять оценку для первого элемента контента, содержат инструкции, которые предписывают системе сравнивать размер первого элемента контента на первой SERP с размером выбранного элемента на первой SERP.
[34] В контексте настоящего описания «сервер» - это компьютерная программа, которая работает на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не обязательно требуется в отношении настоящей технологии. В настоящем контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принимаемые инструкции или запросы) или какая-либо конкретная задача будет принята, выполнена или будет вызвана для выполнения одним и тем же сервером (т.е. одним и тем же программным и/или аппаратным обеспечением); подразумевается, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или вызов для выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, при этом оба этих случая включены в выражение «по меньшей мере один сервер».
[35] В контексте настоящего описания «электронное устройство» может означать любое компьютерное аппаратное обеспечение, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения "электронное устройство" не исключает использования многочисленных клиентских устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[36] В контексте настоящего описания "клиентское устройство" представляет собой любое компьютерное аппаратное обеспечение, которое способно выполнять программное обеспечение, которое является надлежащим для релевантной поставленной задачи. Некоторые (не ограничивающие) примеры клиентских устройств включают персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему в качестве клиентского устройства, в данном контексте не запрещается действовать в качестве сервера для других клиентских устройств. Использование выражения "клиентское устройство" не исключает использования многочисленных клиентских устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[37] В контексте настоящего описания выражение "информация" включает в себя информацию любого характера или вида, который способен храниться в базе данных любым образом. Таким образом, информация включает в себя, но без ограничения этим, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[38] В контексте настоящего описания выражение «программный компонент» подразумевает включение программного обеспечения (подходящего для конкретного аппаратного контекста), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.
[39] В контексте настоящего описания выражение «запоминающие носители компьютерной информации» (также называемые «запоминающие носители») предназначено для включения носителей любого характера и типа, включая, помимо прочего, RAM, ROM, диски (CD-ROM), DVD, дискеты, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования компьютерных запоминающих носителей информации, включая два или более мультимедийных компонента одного типа и/или два или более мультимедийных компонентов разных типов.
[40] В контексте настоящего описания «база данных» может быть любым структурированным набором данных, независимо от ее конкретной структуры, программного обеспечения для управления базой данных или компьютерного аппаратного обеспечения, на котором данные хранятся, реализованы или иным образом доступны для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном аппаратном обеспечении, например на выделенном сервере или множестве серверов.
[41] В контексте настоящего описания, слова «первый», «второй», «третий» и т.д. Использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют, от одного к другому, и не с целью описания каких-либо конкретных отношений между этими существительными. Таким образом, например, следует понимать, что использование понятий "первая база данных" и "третий сервер" не подразумевает какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) таких/между такими серверами, равно как и их использование (само по себе) не означает, что какой-либо "второй сервер" должен обязательно существовать в любой определенной ситуации. Кроме того, как обсуждается в других контекстах данного документа, ссылка на "первый" элемент и "второй" элемент не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях "первый" сервер и "второй" сервер могут быть одним и тем же компонентом программного обеспечения и/или аппаратного обеспечения, в других случаях они могут представлять собой разные компоненты программного обеспечения и/или аппаратного обеспечения.
[42] Каждая из реализаций настоящей технологии может обладать по меньшей мере одним из вышеупомянутых аспектов и/или целей, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[43] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут понятными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
Краткое описание чертежей
[44] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[45] Фиг. 1 изображает схематическую диаграмму примерной компьютерной системы для реализации неограничивающих вариантов осуществления настоящей технологии;
[46] Фиг. 2 изображает сетевую вычислительную среду согласно некоторым вариантам осуществления настоящей технологии;
[47] Фиг. 3 изображает страницу результатов поисковой машины (SERP) согласно некоторым вариантам осуществления настоящей технологии;
[48] Фиг. 4 изображает ранжированный список элементов согласно некоторым вариантам осуществления настоящей технологии;
[49] Фиг. 5 - блок-схема способа обучения алгоритма машинного обучения (MLA) для предсказания оценки полезности согласно некоторым вариантам осуществления настоящей технологии;
[50] Фиг. 6 - блок-схема способа генерирования SERP с элементом контента в соответствии с некоторыми вариантами осуществления настоящей технологии;
[51] Фиг. 7 - блок-схема способа генерирования SERP согласно некоторым вариантам осуществления настоящей технологии; и
[52] На Фиг. 8 показаны элементы на SERP в соответствии с некоторыми вариантами осуществления настоящей технологии.
Подробное описание
[53] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Следует понимать, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее сущность и объем.
[54] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области техники поймут, что различные реализации настоящей технологии могут иметь и большую сложность.
[55] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[56] Кроме того, все содержащиеся в данном документе утверждения, в которых указываются принципы, аспекты и реализации данной технологии, а также их конкретные примеры, призваны охватить как структурные, так и функциональные эквиваленты, вне зависимости от того, известны ли они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области должны понимать, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, следует понимать, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на компьютерно-читаемых носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[57] Функции различных элементов, показанных на фигурах, в том числе любого функционального блока, помеченного как "процессор", могут быть обеспечены с помощью специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного исполнять программное обеспечение и связанного с надлежащим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование понятия "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[58] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[59] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
[60] На Фиг. 1 показана компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии. В некоторых вариантах осуществления компьютерная система 100 может быть реализована с помощью любого обычного персонального компьютера, сетевого устройства и/или электронного устройства (такого как, помимо прочего, мобильное устройство, планшетное устройство, сервер, контроллерный блок, устройство управления и т.д.) и/или любую их комбинацию, подходящую для соответствующей задачи. В некоторых вариантах осуществления компьютерная система 100 содержит различные аппаратные компоненты, включая один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельным накопителем 120, оперативной памятью 130 и интерфейсом 150 ввода/вывода. Компьютерная система 100 может быть компьютером, специально разработанным для работы с алгоритмом машинного обучения (MLA). Компьютерная система 100 может быть компьютерной системой общего назначения.
[61] В некоторых вариантах осуществления компьютерная система 100 также может быть подсистемой одной из перечисленных выше систем. В некоторых других вариантах осуществления компьютерная система 100 может быть компьютерной системой общего назначения «с полки». В некоторых вариантах осуществления компьютерная система 100 также может быть распределена между несколькими системами. Компьютерная система 100 также может быть специально предназначена для реализации настоящей технологии. Как может понимать специалист в данной области техники, может быть спроектировано множество вариантов реализации компьютерной системы 100, не выходя за рамки объема настоящей технологии.
[62] Специалисты в данной области техники поймут, что процессор 110 обычно представляет возможности обработки. В некоторых вариантах осуществления вместо или в дополнение к одному или более традиционным центральным процессорам (CPU) может быть предоставлено одно или более специализированных процессорных ядер. Например, один или более графических процессоров 111 (GPU), тензорные процессоры (TPU) и/или другие так называемые ускоренные процессоры (или ускорители обработки) могут быть предоставлены в дополнение или вместо одного или более CPU.
[63] Системная память обычно включает память 130 с произвольным доступом, но в целом предназначена для охвата любого типа энергонезависимой системной памяти, такой как статическая память с произвольным доступом (SRAM), динамическая память с произвольным доступом (DRAM), синхронная DRAM (SDRAM), постоянная память (ROM) или их комбинация. Твердотельный накопитель 120 показан в качестве примера запоминающего устройства большой емкости, но в более общем плане такое запоминающее устройство может содержать любой тип энергонезависимого запоминающего устройства, сконфигурированного для хранения данных, программ и другой информации, а также для генерирования данных, программ и другой информации, доступной через системную шину 160. Например, запоминающее устройство большой емкости может содержать одно или более из твердотельного накопителя, накопителя на жестком диске, накопителя на магнитном диске и/или накопителя на оптическом диске.
[64] Связь между различными компонентами компьютерной системы 100 может быть обеспечена с помощью системной шины 160, содержащей одну или более внутренних и/или внешних шин (например, шину PCI, универсальную последовательную шину, шину IEEE 1394 «Firewire», шину SCSI, шину Serial-ATA, ARINC-шину и т.д.), с которыми различные аппаратные компоненты связаны электронным способом.
[65] Интерфейс 150 ввода/вывода может обеспечивать сетевые возможности, такие как проводной или беспроводной доступ. В качестве примера интерфейс 150 ввода/вывода может содержать сетевой интерфейс, такой как, помимо прочего, сетевой порт, сетевой сокет, контроллер сетевого интерфейса и т.п. Множественные примеры того, как может быть реализован сетевой интерфейс, являются очевидными для специалистов в данной области техники. Например, сетевой интерфейс может реализовывать определенные стандарты физического уровня и уровня канала передачи данных, такие как Ethernet, Fibre Channel, Wi-Fi, Token Ring или протоколы последовательной связи. Конкретный физический уровень и уровень канала передачи данных могут обеспечить основу для полного стека сетевых протоколов, позволяя осуществлять обмен данными между небольшими группами компьютеров в одной локальной сети (LAN) и крупномасштабную сетевую связь через протоколы маршрутизации, такие как Интернет-протокол (IP).
[66] Интерфейс 150 ввода/вывода может быть связан с сенсорным экраном 190 и/или с одной или более внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью дисплея. В некоторых вариантах осуществления, сенсорный экран 190 является дисплеем. Сенсорный экран 190 может также упоминаться как экран 190. В вариантах осуществления, проиллюстрированных на Фиг. 1, сенсорный экран 190 содержит воспринимающее касание аппаратное обеспечение 194 (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорного ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или одной или более внутренними и/или внешними шинами 160. В некоторых вариантах осуществления интерфейс 150 ввода/вывода может быть подключен к клавиатуре (не показана), мыши (не показана) или трекпаду (не показан), позволяя пользователю взаимодействовать с компьютерной системой 100 в дополнение или вместо сенсорного экрана 190.
[67] Согласно некоторым реализациям настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в оперативную память 130 и выполнения процессором 110 для выполнения действий одного или более описанных здесь способов. Например, по меньшей мере, некоторые из программных инструкций могут быть частью библиотеки или приложения.
[68] Фиг. 2 иллюстрирует сетевую вычислительную среду 200, подходящую для использования с некоторыми вариантами осуществления систем и/или способов настоящей технологии. Сетевая вычислительная среда 200 содержит множество электронных устройств 202 и сервер 230, которые соединены с возможностью осуществления связи через сеть 240 связи. Множество электронных устройств 202 включает электронные устройства 210 и 212, соответственно связанные с пользователями 211 и 213. Следует отметить, что множество электронных устройств 202 может содержать большее количество электронных устройств, таких как 100, 1000, 10000, 1000000 и т.п. Следует отметить, что сетевая вычислительная среда 200 может содержать другие электронные устройства, такие как, но не ограничиваясь ими, серверы ресурсов (не показаны) для предоставления веб-ресурсов, не выходя за рамки объема настоящей технологии. Некоторые или все устройства в сетевой вычислительной среде 200, включая электронные устройства 202, могут быть компьютерными системами 100. Электронные устройства 202 могут быть устройствами беспроводной связи, такими как мобильный телефон (например, смартфон или радиотелефон), планшет, персональный компьютер и т.п.
[69] Как упоминалось ранее, пользователь 211 или 213 связан с соответствующим электронным устройством 210 или 212. Устройства 210 и 212 могут быть связаны с пользователями 211 и 213 любыми средствами, такими как пользователи 211 и 213, зарегистрированные и/или вошедшие в систему с помощью службы, и/или на основе связи между идентификаторами устройств 210 и 212 (например, IP-адрес) и пользователей 211 и 213.
[70] Электронные устройства 210 и 212 могут содержать некоторые или все компоненты компьютерной системы 100, изображенной на Фиг. 1. Электронные устройства 210 и 212 могут содержать аппаратное, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для выполнения приложения веб-браузера и связи с сервером 230 через сеть 240 связи. Приложение веб-браузера может предоставлять доступ к одному или более веб-ресурсам через сеть 240 связи. Одним из примеров приложения веб-браузера является браузерЯндекс™, но можно использовать любой веб-браузер, например веб-браузер мобильного устройства.
[71] В некоторых вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления сеть 240 связи может включать в себя локальную сеть (LAN), глобальную сеть (WAN), частную сеть связи и/или тому подобное. Вся или части сети 240 связи могут быть линией беспроводной связи. Примеры каналов беспроводной связи включают в себя, но не ограничиваются ими, сетевые каналы связи 3G, 4G, 5G и т.п.
[72] В некоторых вариантах осуществления настоящей технологии сервер 230 может быть обычным компьютерным сервером. Например, сервер 230 может быть сервером Dell™ PowerEdge™, работающим под управлением операционной системы Microsoft™ Windows Server™. Функциональные возможности сервера 230 могут быть распределены между любым количеством серверов 230 и могут быть реализованы через несколько серверов 230.
[73] В некоторых вариантах осуществления настоящей технологии сервер 230 может содержать одну или более выполняемых компьютером служб, таких как поисковая машина. Другими словами, сервер 230 может находиться под управлением и/или администрированием провайдера поисковой машины (не показан), такого как, например, оператор поисковоймашины Яндекс™. Сервер 230 может быть сконфигурирован для выполнения одного или более поисков в ответ на запросы, отправленные пользователями поисковой машины. Сервер 230 может быть сконфигурирован для генерирования и/или отправки на любое одно из множества электронных устройств 202 пакета 290 данных с ответом через сеть 240 связи. Как сервер 230 сконфигурирован для генерирования и отправки пакета 290 данных с ответом, а также содержимое пакета 290 данных с ответом, будет дополнительно описано ниже.
[74] Также изображена база данных 260, которая соединена с возможностью осуществления связи с сервером 230. Даже несмотря на то, что в изображенном варианте осуществления база данных 260 связана непосредственно с сервером 230 (например, через частную сеть), в альтернативных реализациях база данных 260 может быть соединена с возможностью осуществления связи с сервером 230 через сеть 240 связи.
[75] Хотя база данных 260 проиллюстрирована на Фиг. 2 как единый объект, база данных 260 может быть реализована распределенным образом, например, база данных 260 может иметь разные компоненты, при этом каждый компонент сконфигурирован для определенного вида извлечения из нее или хранения в ней. База данных 260 может представлять собой структурированный набор данных, независимо от ее конкретной структуры или компьютерного аппаратного обеспечения, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных 260 может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных 260, или может находиться на отдельном аппаратном обеспечении. В общем случае, база данных 260 может принимать данные от сервера 230 для их хранения и может предоставлять сохраненные данные серверу 230 для их использования.
[76] База данных 260 может хранить информацию, связанную с элементами веб-ресурсов, которые доступны из множества ресурсов (то есть серверов ресурсов) и доступны через сеть 240 связи. Процесс заполнения и обслуживания базы данных 260 обычно известен как «сканирование». Эти элементы веб-ресурса могут быть потенциально представлены пользователям поисковой машины в ответ на запросы, отправленные в поисковую машину. Процесс сканирования может выполняться (и повторяться) на регулярной (и повторяющейся) основе. Посредством повторного выполнения процесса сканирования база данных 260 заполняется указанием новых ресурсов/элементов веб-ресурсов, доступных через сеть 240 связи. Только для простоты элементы веб-ресурса будут называться здесь просто «элементами».
[77] Предполагается, что элементы могут быть связаны и классифицированы в базе 260 данных по их соответствующим типам элементов. Например, данный элемент может быть элементом типа изображения, элементом типа видео, элементом типа аудио, элементом типа новостей, элементом типа ресурса и/или элементом любого другого типа. Операторы сервера 230 могут определять типы элементов. Элементы контента, соответствующие типу элемента, могут отображаться в SERP. Например, элемент аудиоконтента может выводиться в SERP, когда элемент типа аудио отвечает на запрос. Элемент аудиоконтента может позволить пользователю прослушивать аудио, соответствующее элементу типа аудио, не уходя от страницы результатов поиска.
[78] База данных 260 может также хранить присущие элементам характеристики, связанные с каждым элементом. Некоторые присущие элементам характеристики могут быть извлечены из соответствующих ресурсов, соответствующих этим элементам, в то время как другие присущие элементам характеристики могут определяться сервером 230. Например, база данных 260 может хранить информацию, относящуюся к:
размеру каждого элемента (например, высота и/или ширина в пикселях, и/или визуальный размер элементов при визуализации на экране компьютера);
цветовой схеме каждого элемента;
наличию объекта в каждом элементе (например, определяется с помощью различных способов компьютерного зрения);
типу каждого элемента;
ресурсу каждого элемента (например, URL, соответствующий элементу); и
параметру свежести каждого элемента (например, значение, обратно пропорциональное времени, прошедшему с момента сканирования каждого элемента).
[79] Однако следует отметить, что другие или дополнительные присущие элементам характеристики, связанные с элементами, рассматриваются в других вариантах осуществления, не выходя за рамки объема настоящей технологии.
[80] В дополнение к хранению информации, связанной с элементами, база данных 260 может быть сконфигурирована для хранения указаний пользовательских взаимодействий, соответственно связанных с каждым элементом. Пользовательские взаимодействия, связанные с элементом, которые хранятся в базе данных 260, могут быть предыдущими пользовательскими взаимодействиями, которые пользователи поисковой машины выполняли по отношению к элементу в качестве части их взаимодействий с SERP, которая включала этот элемент. Неисчерпывающий список различных действий пользователя, которые пользователь может выполнять в связи с элементом:
выбор элемента (например, «клик» по элементу);
долгий выбор элемента (например, долгий «клик» по элементу);
выбор элемента, за которым следует переход веб-ресурса (например, клик по элементу с последующим перенаправлением на ресурс, соответствующий элементу);
действие наведения курсора на элемент (например, время наведения курсора на элемент); и/или
взаимодействие с элементом контента (например, воспроизведение аудио или видео, увеличение изображения, взаимодействие с картой, выбор данных для элемента контента погоды и т.д.).
[81] Однако следует отметить, что указания других пользовательских взаимодействий могут храниться в базе данных 260 вместе с элементами в других вариантах осуществления, не выходя за рамки настоящей технологии.
[82] Некоторые элементы, хранящиеся в базе 260 данных, связаны с меньшим количеством пользовательских взаимодействий, чем другие. Другими словами, некоторые элементы, которые хранятся в базе данных 260, связаны с ограниченными пользовательскими взаимодействиями. Например, некоторые элементы могут быть элементами, которые часто использовались пользователями поисковой машины и, следовательно, связаны со значительным количеством пользовательских взаимодействий, в то время как другие элементы могут быть новыми элементами, которые связаны с ограниченным количеством пользовательских взаимодействий, поскольку они были «просканированы» совсем недавно и редко представлялись пользователям или вообще не представлялись.
[83] База данных 260 также может быть сконфигурирована для хранения информации, касающейся множества запросов, отправленных поисковой машине ее различными пользователями. Это означает, что база данных 260 может быть сконфигурирована для хранения признаков запросов, связанных с запросами, отправленными в поисковую машину. Признаки запроса могут содержать статистическую информацию, касающуюся отправки запросов, такую как, например, частота недавней отправки любого заданного запроса в поисковую машину сервера 230. Частота недавней отправки данного запроса может соответствовать общему количеству отправок данного запроса, например, за последние двадцать четыре (24) часа. Любая другая статистическая информация, касающаяся отправленных запросов, может храниться в базе 260 данных.
[84] В некоторых вариантах осуществления настоящей технологии сервер 230 также реализует систему 250 ранжирования для выбора элементов, соответствующих поисковому запросу, и ранжирования их в ответ на запросы, отправленные им пользователями поисковой машины. В общем случае, система 250 ранжирования сконфигурирована для выбора элементов, которые в целом релевантны данному запросу, и для сбора показателей пользовательских взаимодействий, связанных с этими элементами, для дальнейшего ранжирования на основе их релевантности запросу. Другими словами, система 250 ранжирования может содержать алгоритм ранжирования на основе пользовательских взаимодействий, который сконфигурирован для ранжирования элементов на основе связанных с ними пользовательских взаимодействий.
[85] Система 250 ранжирования может быть обучена ранжировать элементы на основе связанных с ними пользовательских взаимодействий. Например, система 250 ранжирования может быть алгоритмом машинного обучения (MLA), который обучен предсказывать оценки полезности элементов, помимо прочего, на основе предыдущих пользовательских взаимодействий, связанных с элементами. Система 250 ранжирования может быть обучена изучать взаимосвязи и/или шаблоны данных в предыдущих пользовательских взаимодействиях, которые указывают на релевантность элементов запросу.
[86] Пользователь 211 может взаимодействовать с электронным устройством 210, которое в ответ на пользовательское взаимодействие с электронным устройством 210 может запускать приложение браузера. Затем пользователь 211 может использовать приложение браузера для отправки запроса поисковой машине сервера 230. Например, пользователь 211 может ввести запрос «Взрыв в метро» в приложение браузера. В ответ электронное устройство 210 может сгенерировать пакет 280 данных отправки. Пакет 280 данных отправки может содержать информацию, указывающую на запрос «Взрыв в метро», и может быть отправлен на сервер 230 через сеть 240 связи, тем самым отправляя запрос «Взрыв в метро» поисковой машине.
[87] После приема пакета 280 данных отправки сервер 230 может передать информацию, указывающую на запрос «Взрыв в метро», в систему 250 ранжирования для дальнейшей обработки. Система 250 ранжирования может осуществить доступ к базе данных 260, чтобы извлечь элементы, отвечающие на запрос «Взрыв в метро». Система 250 ранжирования может определять, что элементы соответствуют данному запросу, на основе различных факторов. Например, система 250 ранжирования может:
анализировать текстовую информацию, такую как описание или имя файла, связанную с элементами в базе 260 данных, на предмет сходства текстовой строки с запросом;
определить количество дубликатов элементов в базе 260 данных;
анализировать унифицированный указатель ресурса (URL), связанный с исходным ресурсом для элемента в базе данных 260, на предмет сходства текстовой строки с запросом;
анализировать информацию, собранную с помощью способов компьютерного зрения, в сочетании с элементами в базе 260 данных; и/или
анализировать любую другую характеристику элемента в базе 260 данных.
[88] Система 250 ранжирования может генерировать ранжированный набор элементов в ответ на запрос. Затем может быть сгенерирована SERP на основе ранжированного набора элементов. SERP может быть передана на электронное устройство 210 через пакет 290 данных с ответом. Пользователь электронного устройства 210 может взаимодействовать с SERP. Пользовательское взаимодействие с SERP может быть записано и передано на сервер 230. Эти взаимодействия могут использоваться для дальнейшего обучения системы 250 ранжирования.
[89] Со ссылкой на Фиг. 3 изображена SERP 300 согласно некоторым вариантам осуществления настоящей технологии. SERP 300 может генерироваться сервером поисковой машины, например сервером 230. SERP 300 включает в себя различные элементы, отвечающие на запрос 305, который в примере SERP 300 является запросом «погода» («weather»).
[90] Элементы 310, 315, 320, 325, 330 и 335 были выбраны как элементы, отвечающие на запрос 305. Элементы 310-35 были ранжированы и отображаются в порядке ранжирования. Элемент 310 был предсказан как наиболее релевантный элемент отображаемых элементов и, таким образом, является наиболее высоко ранжированным элементом, отображаемым на SERP 300. Точно так же элемент 335 был предсказан как наименее релевантный элемент из отображаемых элементов и наиболее низко ранжированный элемент, отображаемый на SERP 300.
[91] Элемент 315 - это элемент контента, который также может называться «виджетом». В дополнение к отображению текста элемент 315 контента включает в себя графическое отображение информации о погоде. Пользователь может иметь возможность взаимодействовать с элементом контента для отображения дополнительной информации, не покидая SERP 300. Элементы 310-35 могут иметь разные вертикальные и горизонтальные размеры. Например, элемент 315 контента по вертикали больше, чем элемент 310. Хотя элемент контента погоды отображается в SERP 300, различные другие типы элементов контента могут отображаться в SERP. Например, может отображаться элемент видеоконтента, который позволяет пользователю воспроизводить видео, не покидая SERP 300.
[92] Система 250 ранжирования может использоваться для ранжирования элементов 310-35, отображаемых в SERP 300. Система 250 ранжирования может предсказывать для каждого из элементов 310-35 предсказанную оценку полезности в каждой потенциальной ранжированной позиции. На основе этих предсказанных оценок полезности система 250 ранжирования может выбирать ранжирование для каждого из элементов 310-35. Первая система 250 ранжирования может использоваться для определения предсказанной оценки полезности для элементов 310, 320, 325, 330 и 335, а вторая система 250 ранжирования может использоваться для определения предсказанной оценки полезности для элемента 315 контента. В качестве альтернативы, одна и та же система 250 ранжирования может использоваться для определения предсказанной оценки полезности для каждого из элементов 310-35.
[93] Фиг. 4 изображает ранжированный список элементов согласно некоторым вариантам осуществления настоящей технологии. Ранжированный список 400 включает 30 элементов, которые отвечают на запрос. Как обсуждалось выше, в некоторых случаях элементы контента, такие как элемент 315 контента, могут быть ранжированы с использованием системы 250 ранжирования, отдельной от обычных элементов. Набор 410 элементов 430-35 контента мог быть определен как отвечающий на запрос, который привел к ранжированному списку 400.
[94] Чтобы объединить элементы 430-35 контента с ранжированным списком 400, для каждого из элементов 430-35 контента может быть определено ранжирование. Ранжирование может определяться системой 250 ранжирования. Ранжирование может быть определено на основе предсказанной оценки полезности для каждого из элементов 430-35 контента. Для элемента 430 контента система 250 ранжирования может определять предсказанную оценку полезности для каждого потенциального ранжирования или поднабора каждого потенциального ранжирования элемента 430 контента. Другими словами, система 250 ранжирования может определять первую предсказанную оценку полезности элемента 430 контента, если он был ранжирован первым в ранжированном списке 400, вторую предсказанную оценку полезности, если элемент 430 контента был ранжирован вторым в ранжированном списке 400, и т.п. Ранжирование с наивысшей предсказанной оценкой полезности может быть выбрано в качестве ранжирования для элемента 430 контента. Точно так же ранжирование может быть определено для каждого из других элементов 431-35 контента.
[95] После определения ранжирования для каждого из элементов 430-35 контента может быть сгенерирован второй ранжированный список 420. Второй ранжированный список 420 может быть сгенерирован в результате объединения элементов 430-35 контента с ранжированным списком 400. Ранжированный список 420 может затем использоваться для генерирования SERP, такой как SERP 300. SERP может отображать все или часть элементов в ранжированном списке 420.
[96] На Фиг. 5 показаны элементы SERP 500 согласно некоторым вариантам осуществления настоящей технологии. Как описано выше, элементы в SERP могут иметь разную длину и/или ширину. В SERP 500 наиболее высоко ранжированный элемент 501 имеет высоту 502, второй наиболее высоко ранжированный элемент 503 контента имеет высоту 504, а наиболее низко ранжированный элемент 505 имеет высоту 506. Как видно на Фиг. 5, высота 502, 504 и 506 различна. Вероятность того, что пользователь выберет один из элементов в SERP 500, может зависеть от ранга элемента, расстояния элемента от верха SERP 500 и/или высоты элемента. По мере увеличения высоты элемента вероятность того, что пользователь выберет этот элемент, также может увеличиваться. Например, если элемент 503 контента имеет высоту 502 вместо высоты 504, пользователь с меньшей вероятностью выберет элемент 503 контента. Как будет более подробно описано ниже, высота элемента может использоваться для предсказания оценки полезности элемента и/или определения ранжирования элемента в SERP. Учитывая высоту элемента, предсказанная полезность элемента может более точно отражать фактическую полезность элемента. В свою очередь, элементы, которые пользователь сочтет релевантными запросу, с большей вероятностью будут размещены в верхней части SERP.
Способ обучения MLA (неограничивающий вариант)
[97] На Фиг. 6 представлена блок-схема способа 600 обучения алгоритма машинного обучения (MLA) для предсказания оценки полезности согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах способ 600 или один или более его этапов могут выполняться вычислительной системой, такой как компьютерная система 100. Способ 600 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как энергонезависимое (или некратковременное) запоминающее устройство, загружаются в память и выполняются центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или изменены по порядку.
Этап 605: Отобразить SERP пользователям
[98] На этапе 605 пользователям могут отображаться SERP. SERP могут быть сгенерированы специально для обучения MLA и/или SERP могут быть сгенерированы во время обычного использования поисковой машины. SERP могут генерироваться при обычном использовании поисковой машины, но затем ими можно управлять, например, для выполнения A/B-тестирования. Например, пользователь может отправить запрос в поисковую машину, и может быть определен ранжированный список элементов. Затем один или более элементов в ранжированном списке элементов может быть переупорядочен, и на основе этого переупорядоченного списка может быть сгенерирована SERP. Переупорядочивание может быть выполнено случайным образом или на основе любого другого способа переупорядочения ранжированного списка.
Этап 610: Получить данные, описывающие пользовательские взаимодействия с SERP
[99] На этапе 610 могут быть получены данные, описывающие пользовательские взаимодействия с SERP. Данные могут указывать, как пользователь взаимодействовал с SERP, например, какие элементы в SERP были выбраны пользователем.
[100] Пользовательские взаимодействия, описанные в этих данных, могут включать:
выбор элемента;
долгий выбор элемента (долгое нажатие);
выбор элемента, за которым следует переход веб-ресурса (т.е. выбор элемента с последующим посещением веб-страницы, соответствующей этому элементу);
количество времени, которое пользователь потратил на посещение веб-ресурса, соответствующего элементу;
действие при наведении курсора на элемент;
включение или отключение звука аудио, воспроизводимого элементом контента;
запуск или остановка видео в элементе контента;
и/или любые другие взаимодействия между пользователем и SERP.
[101] Данные, описывающие пользовательские взаимодействия, могут постоянно обновляться по мере того, как пользователи выполняют новые поиски.
Этап 615: Вычислить предсказанные оценки полезности для элементов в SERP на основе данных, описывающих пользовательские взаимодействия
[102] На этапе 615 данные, описывающие пользовательские взаимодействия с SERP, могут использоваться для вычисления оценок полезности элементов в SERP. Оценка полезности может быть определена для каждого элемента, отображаемого в SERP, или для поднабора элементов, отображаемых в SERP. Оценка полезности может быть определена на основе любой комбинации признаков в данных, описывающих пользовательские взаимодействия. Например, оценка полезности элемента может быть определена на основе того, был ли выбран элемент, были ли выбраны какие-либо другие элементы после выбора элемента, были ли выбраны какие-либо более высоко ранжированные элементы, были ли выбраны какие-либо более низко ранжированные элементы, ранжирование элемента, расстояние до элемента от верха страницы, расстояние до элемента от левой стороны страницы (т.е. позицию элемента по горизонтали), расстояние до элемента от наиболее высоко ранжированного элемента (т.е. вертикальную позицию элемента), размер элемента (например, высота или ширина элемента) и/или любые другие данные пользовательского взаимодействия.
[103] Неограничивающие примеры формул для вычисления оценки полезности в отношении элемента 503 контента будут описаны ниже. В этих примерах оценка полезности может варьироваться от отрицательной до положительной. Но следует понимать, что оценки полезности могут иметь любой диапазон значений и могут быть рассчитаны с использованием различных способов.
[104] Если пользователь не выбирает какой-либо элемент в SERP 500, элементу 503 контента может быть присвоена нулевая оценка полезности. Точно так же, если выбран более высоко ранжированный элемент, чем элемент 503 контента, элементу 503 контента может быть присвоена оценка полезности, равная нулю. Другими словами, если пользователь выбирает элемент 501, а затем больше не взаимодействует с SERP 500, элементу 503 контента может быть присвоена оценка полезности, равная нулю.
[105] Если пользователь выбирает элемент 503 контента, а затем больше не взаимодействует с SERP 500, элементу 503 контента может быть присвоена оценка полезности, равная единице. В этом примере единица - это наивысшая возможная оценка полезности, которая может быть назначена. Это указывает на то, что пользователь выбрал элемент 503 контента, и кажется, что пользователь обнаружил, что элемент 503 контента отвечает на его запрос.
[106] Если пользователь выбирает элемент 505, элементу 503 контента может быть присвоена отрицательная оценка полезности. Элемент 503 контента был более высоко ранжирован, чем элемент 505, потому что предсказывалось, что он будет более релевантным для пользователя. Однако исходя из записанного поведения пользователя пользователь обнаружил, что элемент 505 более уместен. Следовательно, элементу 503 контента может быть присвоена отрицательная оценка полезности. Оценка полезности может быть определена на основе высоты элемента 503 контента. Пример формулы для определения оценки полезности, когда выбран более низко ранжированный элемент, представляет собой отрицательное значение высоты 504, деленное на высоту 506:
Оценка полезности = -(высота 504/высота 506)
[107] Если пользователь выбирает и элемент 503 контента, и элемент 505, оценка полезности, присвоенная элементу 503 контента, может быть разницей между единицей и высотой 504, деленной на высоту 506:
Оценка полезности = 1-(высота 504/высота 506)
[108] Высота 504 и 506 может быть предоставлена как количество пикселей или любое другое измерение длины. Следует понимать, что приведенные выше формулы являются только примерами, и другие формулы могут использоваться для определения оценок полезности. Кроме того, определенные оценки полезности могут быть взвешены на основе различных факторов. Например, если элемент 503 контента является элементом видеоконтента, определенная оценка полезности для элемента 503 контента может быть взвешена на основе количества времени, в течение которого пользователь воспроизводит видео в элементе 503 контента. Оценки полезности могут быть взвешены или иным образом скорректированы в зависимости от количества времени, в течение которого пользователь посещает веб-страницу, соответствующую элементу.
Этап 620: Сгенерировать помеченные обучающие данные, используя оценки полезности
[109] На этапе 620 оценки полезности, сгенерированные на этапе 615, могут быть объединены с данными, описывающими соответствующую SERP, для формирования помеченных обучающих данных для обучения MLA. Все или часть элементов в SERP могут быть объединены с оценкой полезности, соответствующей соответствующему элементу.
Этап 625: Обучить MLA предсказывать оценку полезности элемента
[110] MLA может быть обучен принимать элемент в качестве ввода и выводить предсказанную оценку полезности элемента. Помеченные обучающие данные, сгенерированные на этапе 620, могут использоваться для обучения MLA. MLA может принимать элемент и/или другие данные, относящиеся к элементу, из помеченных обучающих данных в качестве входных данных. Входные данные могут включать высоту элемента, тип элемента, ранжирование элемента, расстояние от элемента до верха SERP, расстояние от элемента до края SERP и/или любые другие данные, относящиеся к элементу. Затем MLA может предсказывать оценку полезности элемента на основе введенных данных. Предсказанная оценка полезности может сравниваться с оценкой полезности в помеченных обучающих данных. Разница (то есть потеря) может быть определена между предсказанной оценкой полезности и оценкой полезности в помеченных обучающих данных, и MLA может быть скорректирован на основе этой разницы. Для обучения MLA могут использоваться различные другие способы.
[111] После обучения MLA может получать информацию, соответствующую элементу, в качестве входных данных, такую как размер элемента, высота элемента, тип элемента и/или любую другую информацию, описывающую элемент. MLA может получать ранжирование и/или расстояние от верха SERP элемента, а затем выводить предсказанную оценку полезности, соответствующую этому ранжированию. MLA может выводить предсказанную оценку полезности для каждого возможного ранжирования элемента.
Способ генерирования SERP (неограничивающий вариант)
[112] Фиг. 7 - это блок-схема способа 700 для генерирования SERP с элементом контента согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах способ 700 или один или более его этапов могут выполняться вычислительной системой, такой как компьютерная система 100. Способ 700 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как энергонезависимое (или некратковременное) запоминающее устройство, загружаются в память и выполняются центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или изменены по порядку.
Этап 705: Принять поисковый запрос
[113] На этапе 705 может быть принят поисковый запрос. Поисковый запрос может быть текстовым запросом и/или запросом любого другого формата, например аудиозапросом. Поисковый запрос может быть введен пользователем поисковой машины.
Этап 710: Сгенерировать ранжированный набор элементов, отвечающих поисковому запросу
[114] На этапе 710 может быть определен ранжированный набор элементов, отвечающих поисковому запросу. Может быть извлечен набор элементов, которые предсказываются как отвечающие поисковому запросу. Затем система ранжирования может ранжировать все или часть извлеченных элементов. Система ранжирования может предсказывать для каждого из извлеченных элементов одну или более предсказанных оценок полезности. Предсказанные оценки полезности затем могут использоваться для ранжирования элементов. Элемент с наивысшим рангом в ранжированном наборе элементов может иметь наивысшую предсказанную полезность элементов в ранжированном наборе элементов.
Этап 715: Принять элемент контента, отвечающий поисковому запросу
[115] На этапе 715 могут быть приняты один или более элементов контента, отвечающих поисковому запросу. Каждый элемент контента может иметь связанный размер, например размер длины и/или размер ширины. Размер может быть указан с использованием любого подходящего измерения, такого как количество пикселей и т.д.
Этап 720: Ввести элемент контента в MLA
[116] На этапе 720 элемент контента или элементы контента, принятые на этапе 715, могут быть введены в MLA. MLA может быть MLA, обученным на этапе 625 способа 600. MLA может получать информацию, описывающую элемент контента, такую как тип элемента контента, размер элемента контента и т.д. Ранжирование и/или расстояние от верха SERP могут быть введены в MLA.
Этап 725: MLA выводит предсказанные оценки полезности для элемента контента
[117] На этапе 725 MLA может выводить предсказанные оценки полезности для элемента контента. MLA может выводить любое количество предсказанных оценок полезности для каждого элемента контента. Предсказанная оценка полезности может выводиться для каждого возможного ранжирования в ранжированном наборе элементов или для поднабора возможных ранжирований в ранжированном наборе элементов. Предсказанная оценка полезности может быть определена на основе размера элемента контента, такого как высота элемента контента. В некоторых случаях вместо того, чтобы вводить размер элемента контента, размер элемента контента может быть конфигурируемым и может выводиться MLA. В этом случае MLA может использоваться для определения размера элемента контента и ранжирования элемента контента.
Этап 730: Поместить элемент контента в ранжированный список элементов
[118] На этапе 730 элемент контента может быть помещен в ранжированный список элементов. На этапе 725 предсказанные оценки полезности могут быть определены для элемента контента во множестве потенциальных ранжирований. Может быть выбрано ранжирование, имеющее наивысшую предсказанную оценку полезности, и элемент контента может быть помещен в это ранжирование. Ранжирование может быть выбрано так, чтобы максимизировать сумму предсказанных оценок полезности элементов, отображаемых в SERP.
Этап 735: Поместить элемент контента в ранжированный список элементов
[119] На этапе 735 SERP может быть сгенерирована с использованием всего или части ранжированного набора элементов. SERP может выводиться пользователю, отправившему поисковый запрос. Взаимодействие с SERP можно измерить и использовать для дальнейшего обучения MLA, используемого для предсказания оценок полезности элементов.
[120] Способ 700 описывает использование MLA, обученного с использованием способа 600 для ранжирования элементов контента. Как описано в способе 800 ниже, MLA может использоваться для ранжирования всех элементов.
Способ генерирования SERP (неограничивающий вариант)
[121] Фиг. 8 - это блок-схема способа 800 для генерирования SERP согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах способ 800 или один или более его этапов могут выполняться вычислительной системой, такой как компьютерная система 100. Способ 800 или один или более его этапов могут быть воплощены в исполняемых компьютером инструкциях, которые хранятся на компьютерно-читаемом носителе, таком как энергонезависимое (или некратковременное) запоминающее устройство, загружаются в память и выполняются центральным процессором. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или изменены по порядку.
Этап 805: Принять поисковый запрос
[122] На этапе 805 может быть принят поисковый запрос. Действия, выполняемые на этапе 805, могут быть аналогичны действиям, описанным выше в отношении этапа 705.
Этап 810: Определить набор элементов, отвечающих поисковому запросу
[123] На этапе 810 может быть определен набор элементов, отвечающих поисковому запросу. Может быть извлечен набор элементов, которые предсказываются как отвечающие поисковому запросу. Набор элементов может включать в себя один или более элементов контента. Может быть извлечено любое количество элементов. Может быть предварительно выбрано максимальное количество элементов для извлечения.
Этап 815: Ввести каждый из элементов в MLA
[124] На этапе 815 все или часть элементов, полученных на этапе 810, могут быть введены в MLA. MLA может быть MLA, обученным на этапе 625 способа 600. MLA может получать информацию, описывающую каждый из элементов, такую как тип элемента, размер элемента и т.д. Выбранное ранжирование и/или выбранное расстояние от верха SERP может быть введено в MLA с каждым элементом. Любая другая информация, описывающая элемент, может быть введена в MLA.
Этап 820: MLA выводит предсказанные оценки полезности для элементов
[125] На этапе 820 MLA может выводить предсказанные оценки полезности для элементов. Для каждого элемента предсказанная оценка полезности может выводиться для каждого потенциального ранжирования соответствующего элемента. MLA может выводить любое количество предсказанных оценок полезности для каждого элемента. Предсказанная оценка полезности может выводиться для каждого возможного ранжирования элемента или поднабора возможных ранжирований. Для каждого элемента предсказанная оценка полезности может быть определена на основе размера элемента, такого как высота элемента.
Этап 825: Сгенерировать ранжированный набор элементов
[126] На этапе 825 может быть определен ранжированный набор элементов на основе предсказанных оценок полезности. Ранжирование может быть выбрано для каждого из элементов на основе предсказанных оценок полезности, сгенерированных на этапе 820. Ранжирование может быть выбрано, чтобы максимизировать общие предсказанные оценки полезности для элементов в SERP. Для выбора ранжирования может использоваться эвристический алгоритм.
Этап 830: Сгенерировать SERP, используя ранжированный набор элементов
[127] На этапе 830 может быть сгенерирована SERP с использованием всего или части ранжированного набора элементов. Действия, выполняемые на этапе 830, могут быть аналогичны действиям, описанным в отношении этапа 735.
[128] Для специалистов в данной области техники должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических средств для решения конкретной технической проблемы, а именно на определение ранжированных позиций элементов системой ранжирования.
[129] Следует четко понимать, что не все технические эффекты, упомянутые в данном документе, обязательно будут достигаться в каждом и каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть реализованы без достижения некоторых из этих технических эффектов, в то время как другие варианты осуществления могут быть реализованы с достижением других технических эффектов или вообще без них.
[130] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать понятными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.