Область техники, к которой относится изобретение
[1] Настоящая технология относится к ранжированию элементов содержимого и более конкретно к способам и системам определения положений элементов в ранжировании содержимого системой ранжирования.
Уровень техники
[2] Различные глобальные или локальные сети связи (Интернет, глобальная информационная сеть, локальные сети и тому подобное) предлагают пользователю огромное количество информации. Информация включает в себя множество контекстных тем, таких как, не ограничиваясь, новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о дорожной ситуации, информация, относящаяся к играм и развлечениям. Пользователи используют различные клиентские устройства (такие как настольный компьютер, портативный компьютер, ноутбук, смартфон, планшетные компьютеры и тому подобное) для доступа к содержимому по этим сетям (такому как текст, изображения, аудио, видео, анимация и другое цифровое содержимое).
[3] Пользователь может осуществлять доступ к ресурсам по сети связи различными способами. Пользователь может непосредственно осуществить доступ к определенному ресурсу, либо введя адрес ресурса, такой как унифицированный указатель ресурса (URL), либо нажав на ссылку, такую как ссылка, принятая по электронной почте или выбранная при просмотре другого сетевого ресурса. Пользователь может провести поиск с использованием поискового механизма, чтобы найти интересующий ресурс.
[4] Пользователь может осуществить доступ к приложению, веб-странице или другому интерфейсу, который представляет пользователю различные типы содержимого. Оператор интерфейса может пожелать рекомендовать пользователю содержимое, которое пользователь посчитает интересным. За счёт обеспечения содержимого, которое интересно пользователю, пользователь с большей вероятностью продолжит осуществление доступа к интерфейсу.
[5] Может быть сложно определить, будет ли определенное содержимое интересно пользователю. Может быть сложно определить, было ли рекомендуемое содержимое интересно пользователю. По вышеуказанным причинам существует потребность в новых способах и системах ранжирования элементов содержимого.
[6] В US 2015/0120712 A1, поданной Verizon Media Inc. 25 октября 2013 г., представлены способы, системы и компьютерные программы для выбора новостных статей для представления пользователю. Один способ включает в себя операцию измерения времени ожидания для первого набора новостных элементов, причём время ожидания для новостного элемента основано на количестве времени, в течение которого новостной элемент отображается для зрителя. Кроме того, способ включает в себя операцию по обучению классификатора новостных элементов на основании измеренного времени ожидания и на основании признаков, связанных с первым набором новостных элементов. Кроме того, способ включает в себя операцию ранжирования посредством классификатора второго набора новостных элементов для представления пользователю, при этом в ранжировании также используется профиль пользователя для выдачи пользователю индивидуально подобранных новостей. Затем пользователю представляется ранжированный второй набор новостей.
Раскрытие изобретения
[7] Разработчики настоящей технологии обнаружили, что идентификация релевантных элементов содержимого может быть усовершенствована путем анализа предыдущих пользовательских взаимодействий с элементами содержимого. Для пользователя может быть сформирован интерфейс (который также может называться «лентой»), содержащий элементы содержимого. Интерфейс может быть интерфейсом мобильного приложения, приложения браузера и тому подобного. Элементы содержимого могут отображаться в интерфейсе в виде прокручиваемого списка. Элементы содержимого, которые с большей вероятностью будут релевантны к пользователю, могут быть расположены вверху списка.
[8] Взаимодействие пользователя с элементами содержимого может использоваться для определения оценки выигрыша и/или оценки проигрыша для каждого элемента содержимого. Оценка выигрыша и/или оценка проигрыша могут быть определены для каждого элемента содержимого, отображаемого пользователю, или поднабора элементов содержимого, отображаемых пользователю. Оценка выигрыша или оценка проигрыша для элемента содержимого может быть определена на основании того, взаимодействовал ли пользователь с элементом содержимого и/или взаимодействовал ли пользователь с другими элементами содержимого. Например, если элементом содержимого является статья, и пользователь читает статью, элементу содержимого может быть присвоена оценка выигрыша.
[9] Если пользователь не считает элементы содержимого в интерфейсе релевантными, пользователь может закрыть или обновить интерфейс. Это действие по закрытию или обновлению интерфейса может быть указанием на то, что пользователь не считает оставшиеся элементы содержимого, с которыми пользователь не взаимодействовал, релевантными. Оценки выигрыша могут быть присвоены элементам содержимого, с которыми взаимодействовал пользователь. Оценки проигрыша могут быть присвоены элементам содержимого на основе действия закрытия или обновления ленты.
[10] Алгоритм машинного обучения (MLA) может быть обучен прогнозированию оценки релевантности для элемента содержимого. Записи предыдущих пользовательских взаимодействий с интерфейсами, отображающими элементы содержимого, могут использоваться в качестве обучающих данных для MLA. Может быть сформирован набор обучающих данных, в котором каждому элементу содержимого в наборе обучающих данных присваивается метка. Метка, присвоенная элементу содержимого, может быть определена на основании оценки проигрыша и/или оценки выигрыша. Затем MLA можно использовать для прогнозирования оценок релевантности для элементов содержимого. MLA может принимать в качестве входных данных атрибуты элемента содержимого, такие как тип элемента содержимого, источник элемента содержимого, ранжирование элемента содержимого, возраст элемента содержимого, длина элемента содержимого, количество просмотров элемента содержимого, рейтинг пользователя, соответствующий элементу содержимого, и/или любые другие атрибуты элемента содержимого. MLA может выводить прогнозируемую оценку релевантности для элемента содержимого. Прогнозируемые оценки релевантности могут использоваться для определения того, будет ли элемент содержимого отображаться пользователю, и/или ранжирования элемента содержимого. Набор элементов содержимого может быть ранжирован на основании оценок релевантности, прогнозируемых MLA, и отображаться в ранжированном порядке.
[11] Варианты осуществления настоящей технологии были разработаны на основании понимания разработчиками по меньшей мере одной технической проблемы, связанной с решениями из уровня техники. Поэтому разработчики разработали способы и системы для определения ранжирования элементов содержимого посредством системы ранжирования. Кроме того, разработчики разработали способы и системы, которые позволяют обучать систему ранжирования прогнозированию оценок элементов содержимого, ранжировать элементы содержимого на основании их оценок и выводить интерфейс, содержащий элементы содержимого в порядке их ранжирования.
[12] В первом широком аспекте настоящей технологии предложен способ определения положений элементов в ранжировании посредством системы ранжирования для набора элементов содержимого, причём способ выполняется сервером, причём способ содержит: во время фазы обучения системы ранжирования, получение множества наборов данных, причём каждый набор данных содержит указание предыдущих пользовательских взаимодействий, связанных с интерфейсом, отображающим ранжированный список элементов содержимого, и для каждого набора данных из множества наборов данных: определение последнего просмотренного элемента содержимого в соответствующем ранжированном списке элементов содержимого, в котором последний просмотренный элемент содержимого был последним элементом содержимого, с которым взаимодействовал пользователь до того, как соответствующий интерфейс был покинут; определение сервером оценки выигрыша по меньшей мере для одного элемента содержимого из соответствующего ранжированного списка элементов содержимого, который выбрал пользователь; определение оценки проигрыша по меньшей мере для одного элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого; и обучение сервером системы ранжирования прогнозированию оценки релевантности для элементов содержимого на основании оценок выигрыша и оценок проигрыша для элементов содержимого ранжированного списка элементов содержимого; и во время фазы использования системы ранжирования, причём система ранжирования обучена ранжированию элементов содержимого на основании предыдущих пользовательских взаимодействий: приём сервером упомянутого набора элементов содержимого; прогнозирование системой ранжирования прогнозируемой оценки релевантности для каждого элемента содержимого из набора элементов содержимого; и определение на основании прогнозируемой оценки релевантности каждого соответствующего элемента содержимого положений ранжирования для каждого элемента содержимого из набора элементов содержимого.
[13] В некоторых реализациях способа определение оценки проигрыша для по меньшей мере одного элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, содержит: определение для элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, количества элементов содержимого отображаемых между упомянутым элементом содержимого и последним просмотренным элементом содержимого; и определение на основании количества элементов содержимого оценки проигрыша для упомянутого элемента содержимого.
[14] В некоторых реализациях способа определение оценки проигрыша для по меньшей мере одного элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, содержит: определение для первого элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, первого количества элементов содержимого, отображаемых между первым элементом содержимого и последним просмотренным элементом содержимого; определение для второго элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, второго количества элементов содержимого, отображаемых между вторым элементом содержимого и последним просмотренным элементом содержимого; определение на основании первого количества элементов содержимого первой оценки проигрыша для первого элемента содержимого; и определение на основании второго количества элементов содержимого второй оценки проигрыша для второго элемента содержимого, при этом вторая оценка проигрыша больше первой оценки проигрыша, и при этом второе количество элементов содержимого меньше первого количества элементов содержимого.
[15] В некоторых реализациях способа способ дополнительно содержит отображение вертикально расположенного набора мозаичных элементов, при этом каждый мозаичный элемент содержит элемент содержимого из набора элементов содержимого.
[16] В некоторых реализациях способа вертикально расположенный набор мозаичных элементов отображается в порядке положений (ранга) ранжирования.
[17] В некоторых реализациях способа для каждого набора данных каждый элемент содержимого в соответствующем ранжированном списке элементов содержимого отображался соответствующему пользователю.
[18] В некоторых реализациях способа способ дополнительно содержит удаление для каждого набора данных любых элементов содержимого в соответствующем ранжированном списке элементов содержимого, которые не отображались для соответствующего пользователя.
[19] В некоторых реализациях способа определение положений каждого элемента в ранжировании содержимого содержит ранжированный набор элементов содержимого в порядке от элемента содержимого с самой высокой оценкой до элемента содержимого с самой низкой оценкой.
[20] В другом широком аспекте настоящей технологии предложен способ определения оценок проигрыша для элементов содержимого, отображаемых на интерфейсе, при этом способ содержит: отображение интерфейса для пользователя, при этом интерфейс включает в себя множество элементов содержимого; приём указания пользовательского взаимодействия с интерфейсом, при этом пользовательское взаимодействие включает выключение или обновление интерфейса; определение последнего просмотренного элемента содержимого из множества элементов содержимого, при этом последний просмотренный элемент содержимого был последним элементом, с которым взаимодействовал пользователь до выключения или обновления интерфейса; определение одного или более элементов содержимого из множества элементов содержимого, которые были отображены пользователю ниже последнего просмотренного элемента содержимого; и определение для каждого из одного или более элементов содержимого оценки проигрыша, соответствующей соответствующему элементу содержимого, по меньшей мере частично на основании положения соответствующего элемента содержимого ниже последнего просмотренного элемента содержимого.
[21] В некоторых реализациях способа определение оценки проигрыша, соответствующей соответствующему элементу, содержит: определение количества элементов, отображаемых между последним просмотренным элементом содержимого и соответствующим элементом; и определение на основании упомянутого количества элементов оценки проигрыша для соответствующего элемента.
[22] В некоторых реализациях способа, при этом один или более элементов содержимого содержат первый элемент содержимого и второй элемент содержимого, и он дополнительно содержит: определение для первого элемента содержимого первого количества элементов содержимого, отображаемых между первым элементом содержимого и последним просмотренным элементом содержимого; и определение для второго элемента содержимого второго количества элементов содержимого, отображаемых между вторым элементом содержимого и последним просмотренным элементом содержимого; определение на основании первого количества элементов содержимого первой оценки проигрыша для первого элемента содержимого; и определение на основании второго количества элементов содержимого второй оценки проигрыша для второго элемента содержимого, при этом вторая оценка проигрыша больше первой оценки проигрыша, и при этом второе количество элементов содержимого меньше первого количества элементов содержимого.
[23] В некоторых реализациях способа интерфейс содержит ранжированный список из множества элементов содержимого.
[24] В некоторых реализациях способа указание пользовательских взаимодействий содержит запись пользовательских вводов, принятых при отображении интерфейса.
[25] В другом широком аспекте настоящей технологии предложена система. Система содержит: по меньшей мере один процессор и память, в которой сохранено множество исполняемых команд, которые при выполнении по меньшей мере одним процессором побуждают систему: во время фазы обучения системы ранжирования получать множество наборов данных, причём каждый набор данных содержит указание предыдущих пользовательских взаимодействий, связанных с интерфейсом, отображающим ранжированный список элементов содержимого, и для каждого набора данных из множества наборов данных: определять последний просмотренный элемент содержимого в соответствующем ранжированном списке элементов содержимого, причем последний просмотренный элемент содержимого был последним элементом содержимого, выбранным пользователем до того, как соответствующий интерфейс был покинут; определять посредством сервера оценку выигрыша по меньшей мере для одного элемента содержимого из соответствующего ранжированного списка элементов содержимого, которые выбрал пользователь; определять оценку проигрыша по меньшей мере для одного элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого; и обучать посредством сервера систему ранжирования прогнозированию оценки релевантности для элементов содержимого на основании оценок выигрыша и оценок проигрыша для элементов содержимого из ранжированного списка элементов содержимого; и во время фазы использования системы ранжирования, причём система ранжирования обучена ранжированию элементов содержимого на основании предыдущих пользовательских взаимодействий: принимать посредством сервера набор элементов содержимого; прогнозировать посредством системы ранжирования прогнозируемую оценку релевантности для каждого элемента содержимого из набора элементов содержимого; и определять на основании прогнозируемой оценки релевантности каждого соответствующего элемента содержимого в ранжировании для каждого элемента содержимого в наборе элементов содержимого.
[26] В некоторых реализациях системы команды, которые побуждают систему определять оценку проигрыша по меньшей мере для одного элемента содержимого, содержат команды, которые побуждают систему: определять для элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, количество элементов содержимого, отображаемых между элементом содержимого и последним просмотренным элементом содержимого; и определять на основании количества элементов содержимого оценку проигрыша для элемента содержимого.
[27] В некоторых реализациях системы команды, которые побуждают систему определять оценку проигрыша по меньшей мере для одного элемента содержимого, содержат команды, которые побуждают систему: определять для первого элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, первое количество элементов содержимого, отображаемых между первым элементом содержимого и последним просмотренным элементом содержимого; определять для второго элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого, второе количество элементов содержимого, отображаемых между вторым элементом содержимого и последним просмотренным элементом содержимого; определять на основании первого количества элементов содержимого первую оценку проигрыша для первого элемента содержимого; и определять на основании второго количества элементов содержимого вторую оценку проигрыша для второго элемента содержимого, при этом вторая оценка проигрыша больше первой оценки проигрыша, и при этом второе количество элементов содержимого меньше первого количества элементов содержимого.
[28] В некоторых реализациях системы команды побуждают систему: отображать в порядке ранга (ранжирования) вертикально расположенный набор мозаичных элементов, причем каждый мозаичный элемент содержит элемент содержимого из набора элементов содержимого.
[29] В некоторых реализациях системы для каждого набора данных каждый элемент содержимого в соответствующем ранжированном списке элементов содержимого отображался соответствующему пользователю.
[30] В некоторых реализациях системы команды побуждают систему для каждого набора данных удалять любые элементы содержимого в соответствующем ранжированном списке элементов содержимого, которые не отображались для соответствующего пользователя.
[31] В некоторых реализациях системы команды, которые побуждают систему определять положения в ранжировании каждого элемента содержимого, содержат команды, которые побуждают систему ранжировать набор элементов содержимого в порядке от элемента содержимого с самой высокой оценкой к элементу содержимого с самой низкой оценкой.
[32] В контексте настоящего описания «сервер» представляет собой компьютерную программу, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано в виде одного физического компьютера или одной физической компьютерной системы, но ни то, ни другое не является обязательным в отношении настоящей технологии. В настоящем контексте использование выражения «сервер» не подразумевается в значении, что каждая задача (например, принимаемые команды или запросы) или любая конкретная задача будет принята, выполнена или её выполнение будет вызвано одним и тем же сервером (т.е. одним и тем же программным и/или аппаратным обеспечением); подразумевается, что любое количество программных элементов или аппаратных устройств может быть использовано для приема/отправки, выполнения или вызова выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может представлять собой один сервер или множество серверов, причем оба этих случая включены в выражение «по меньшей мере один сервер».
[33] В контексте настоящего описания «электронное устройство» может представлять собой любое компьютерное аппаратное обеспечение, которое способно выполнять программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания понятие «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не является обязательным в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшетные компьютеры, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования множества клиентских устройств при приеме/отправке, выполнении или вызове выполнения любой задачи или запроса, или последствий любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[34] В контексте настоящего описания «клиентское устройство» представляет собой любое компьютерное аппаратное обеспечение, которое способно выполнять программное обеспечение, подходящее для соответствующей решаемой задачи. Некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), Смартфоны и планшетные компьютеры, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что для устройства, действующее в качестве клиентского устройства в данном контексте, не исключается действие в качестве сервера для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования множества клиентских устройств при приеме/отправке, выполнении или вызове выполнения любой задачи или запроса, или последствий любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[35] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая способна любым образом сохраняться в базе данных. Таким образом, информация включает в себя, не ограничиваясь, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[36] В контексте настоящего описания подразумевается, что выражение «программный компонент» включает в себя программное обеспечение (подходящее для конкретного аппаратного контекста), которое является как необходимым, так и достаточным для выполнения конкретной(ых) упомянутой(ых) функции(й).
[37] В контексте настоящего описания подразумевается, что выражение «компьютерные носители информации» (также называемые «носителями данных») включает в себя носители любого характера и типа, включая, но не ограничиваясь, RAM, ROM, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены, образуя компьютерные носители информации, включая два или более компонента носителя одного типа и/или два или более компонента носителя разных типов.
[38] В контексте настоящего описания «база данных» может представлять собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного аппаратного обеспечения, на котором данные сохраняются, реализованы или иным образом обеспечивается их доступность для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который сохраняет или использует информацию, сохраняемую в базе данных, или она может находиться на отдельном аппаратном обеспечении, таком как выделенный сервер или множество серверов.
[39] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в качестве прилагательных только для обеспечения различения друг от друга существительных, которые они модифицируют, а не для описания каких-либо конкретных отношений между такими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами, а также их использование (само по себе) не подразумевает, что в любой определённой ситуации обязательно должен присутствовать какой-либо «второй сервер». Кроме того, как описано в других контекстах данного документа, упоминание «первого» элемента и «второго» элемента не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одни и те же программные и/или аппаратные компоненты, а в других случаях они могут представлять собой разные программные и/или аппаратные компоненты.
[40] Каждая реализация настоящей технологии может иметь по меньшей мере одну из вышеупомянутых задач и/или аспектов, но не обязательно должна иметь все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке решения вышеуказанной задачи, могут не соответствовать этой задаче и/или соответствовать другим задачам, которые явным образом не описаны в данном документе.
[41] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопровождающих чертежей и приложенной формулы изобретения.
Краткое описание чертежей
[42] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопровождающих чертежей, на которых:
[43] На Фиг.1 изображена принципиальная схема примерной компьютерной системы для реализации неограничивающих вариантов осуществления настоящей технологии;
[44] На Фиг.2 изображена сетевая вычислительная среда согласно некоторым вариантам осуществления настоящей технологии;
[45] На Фиг.3 изображен интерфейс с элементами содержимого согласно некоторым вариантам осуществления настоящей технологии;
[46] На Фиг. 4 изображены оценки элементов содержимого согласно некоторым вариантам осуществления настоящей технологии;
[47] Фиг.5 представляет собой блок-схему способа обучения алгоритма машинного обучения (MLA) прогнозированию оценки релевантности для элемента содержимого согласно некоторым вариантам осуществления настоящей технологии; и
[48] Фиг.6 представляет собой блок-схему способа формирования интерфейса с элементами содержимого согласно некоторым вариантам осуществления настоящей технологии.
Осуществление изобретения
[49] Приведенные в данном документе примеры и условные формулировки предназначены главным образом для помощи читателю в понимании принципов настоящей технологии, а не для ограничения ее объема такими конкретно приведенными примерами и условиями. Следует понимать, что специалисты в данной области смогут разработать различные конфигурации, которые, хоть они и не описаны явным образом в данном документе, тем не менее реализуют принципы настоящей технологии и включены в ее сущность и объем.
[50] Кроме того, в нижеследующем описании реализации настоящей технологии могут быть описаны в относительно упрощенном виде для облегчения понимания. Специалистам в данной области будет понятно, что различные реализации настоящей технологии могут иметь большую сложность.
[51] В некоторых случаях также может быть приведено то, что считается полезными примерами модификаций настоящей технологии. Это делается лишь для облегчения понимания и, опять же, не для определения объема или установления границ настоящей технологии. Эти модификации не составляют исчерпывающий перечень, и специалист в данной области может выполнить другие модификации, при этом не выходя за рамки объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать таким образом, что модификации не могут быть выполнены и/или что описанное представляет собой единственный способ реализации такого элемента настоящей технологии.
[52] Кроме того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, подразумевают охват как их структурных, так и функциональных эквивалентов, независимо от того, известны ли они в настоящее время или будут разработаны в будущем. Таким образом, например, специалистам в данной области техники будет понятно, что любые блок-схемы в данном документе представляют концептуальные виды примерной схемы, реализующей принципы настоящей технологии. Аналогичным образом, следует понимать, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдокод и тому подобное представляют различные процессы, которые могут быть по существу представлены на машиночитаемых носителях и таким образом выполнены компьютером или процессором вне зависимости от того, показан ли такой компьютер или процессор явным образом.
[53] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, отмеченный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение, в сочетании с соответствующим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, использование в явном виде понятия «процессор» или «контроллер» не следует истолковывать как относящееся исключительно к аппаратному обеспечению, способному выполнять программное обеспечение, и оно может в неявном виде включать в себя, не ограничиваясь, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, программируемую логическую интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянную память (ROM) для сохранения программного обеспечения, оперативную память (RAM) и энергонезависимую память. Также может быть включено другое аппаратное обеспечение, традиционное и/или специализированное.
[54] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе в виде любого сочетания элементов блок-схемы или других элементов, указывающих на выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое показано в явном или неявном виде.
[55] Учитывая эти основополагающие сведения, рассмотрим теперь некоторые неограничивающие примеры для иллюстрации различных реализаций аспектов настоящей технологии.
[56] Обращаясь к Фиг. 1, показана компьютерная система 100, подходящая для использования в некоторых реализациях настоящей технологии. В некоторых вариантах осуществления компьютерная система 100 может быть реализована посредством любого обычного персонального компьютера, сетевого устройства и/или электронного устройства (такого как, не ограничиваясь, мобильное устройство, планшетное устройство, сервер, блок контроллера, устройство управления и т.д.), и/или любое их сочетание, подходящее для соответствующей решаемой задачи. В некоторых вариантах осуществления компьютерная система 100 содержит различные аппаратные компоненты, включая один или более одноядерных или многоядерных процессоров, вместе представленных процессором 110, твердотельный накопитель 120, оперативную память 130 и интерфейс 150 ввода/вывода. Компьютерная система 100 может представлять собой компьютер, разработанный конкретно для работы с алгоритмом машинного обучения (MLA). Компьютерная система 100 может быть представлять собой компьютерную систему общего назначения.
[57] В некоторых вариантах осуществления компьютерная система 100 также может представлять собой подсистему одной из перечисленных выше систем. В некоторых других вариантах осуществления компьютерная система 100 может быть стандартной компьютерной системой. В некоторых вариантах осуществления компьютерная система 100 также может быть распределена среди множества систем. Компьютерная система 100 также может быть специализированной конкретно для реализации настоящей технологии. Как будет понятно специалисту в данной области техники, может быть предусмотрено множество вариантов реализации компьютерной системы 100, не выходящих за рамки объема настоящей технологии.
[58] Специалистам в данной области техники будет понятно, что процессор 110 в общем представляет возможности обработки. В некоторых вариантах осуществления вместо одного или более традиционных центральных процессоров (CPU) или в дополнение к ним могут быть предусмотрены одно или более специализированных процессорных ядер. Например, один или более графических процессоров 111 (GPU), модулей тензорной обработки (TPU) и/или других так называемых ускоренных процессоров (или ускорителей обработки) могут быть предусмотрены в дополнение к одному или более процессорам или вместо них.
[59] Системная память обычно включает в себя оперативную память 130, но в более общем смысле подразумевается, что она охватывает любой тип постоянной системной памяти, такой как статическая память с произвольным доступом (SRAM), динамическая память с произвольным доступом (DRAM), синхронная DRAM (SDRAM), постоянное запоминающее устройство (ROM) или их сочетание. Твердотельный накопитель 120 показан в качестве примера запоминающего устройства большой емкости, но в более общем смысле такое запоминающее устройство большой ёмкости может содержать любой тип постоянного запоминающего устройства, выполненный с возможностью сохранения данных, программ и другой информации, и для обеспечения доступа к данным, программам и другой информации через системную шину 160. Например, запоминающее устройство большой емкости может содержать одно или более из твердотельного накопителя, накопителя на жестком диске, накопителя на магнитном диске и/или накопителя на оптическом диске.
[60] Связь между различными компонентами компьютерной системы 100 может быть обеспечена посредством системной шины 160, содержащей одну или более внутренних и/или внешних шин (например, шину соединения периферийных компонентов (PCI), универсальную последовательную шину, шину “Firewire” 1394 Института инженеров по электротехнике и электронике (IEEE), шину интерфейса малых компьютерных систем (SCSI), шину последовательного соединения усовершенствованной технологии (Serial-ATA) и т.д.), с которыми соединены электронными средствами различные аппаратные компоненты.
[61] Интерфейс 150 ввода/вывода может обеспечивать возможности сетевого соединения, такие как проводной или беспроводной доступ. В качестве примера, интерфейс 150 ввода/вывода может содержать сетевой интерфейс, такой как, среди прочего, сетевой порт, сетевой сокет, контроллер сетевого интерфейса и т.п. Множество примеров того, как может быть реализован сетевой интерфейс, будут очевидными для специалистов в данной области техники. Например, сетевой интерфейс может реализовывать определенные стандарты физического уровня и уровня канала передачи данных, такие как Ethernet, Fibre Channel, Wi-Fi, Token Ring или протоколы последовательной связи. Конкретный физический уровень и уровень канала передачи данных могут обеспечить основу для полного стека сетевых протоколов, обеспечивая возможность связи между небольшими группами компьютеров в одной локальной сети (LAN) и крупномасштабную сетевую связь через протоколы маршрутизации, такие как Интернет-протокол (IP).
[62] Интерфейс 150 ввода/вывода может быть соединён с сенсорным экраном 190 и/или с системной шиной 160. Сенсорный экран 190 может быть частью дисплея. В некоторых вариантах осуществления сенсорный экран 190 представляет собой дисплей. Сенсорный экран 190 также может называться экраном 190. В вариантах осуществления, проиллюстрированных на Фиг. 1, сенсорный экран 190 содержит сенсорное аппаратное обеспечение 194 (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющий обнаруживать физическое взаимодействие между пользователем и дисплеем) и сенсорный контроллер 192 ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или системной шиной 160. В некоторых вариантах осуществления интерфейс 150 ввода/вывода может быть соединён с клавиатурой (не показана), мышью (не показана) или трекпадом (не показан), позволяя пользователю взаимодействовать с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.
[63] Согласно некоторым реализациям настоящей технологии твердотельный накопитель 120 сохраняет программные команды, подходящие для загрузки в оперативную память 130 и выполнения процессором 110 для выполнения действий одного или более способов, описанных в настоящем документе. Например, по меньшей мере некоторые из программных команд могут быть частью библиотеки или приложения.
[64] Фиг. 2 иллюстрирует сетевую вычислительную среду 200, подходящую для использования с некоторыми вариантами осуществления систем и/или способов по настоящей технологии. Сетевая вычислительная среда 200 содержит множество электронных устройств 202 и сервер 230, которые соединены с возможностью осуществления связи через сеть 240 связи. Множество электронных устройств 202 содержит электронные устройства 210 и 212, которые, соответственно, связаны с пользователями 211 и 213. Следует отметить, что множество электронных устройств 202 может содержать большее количество электронных устройств, такое как 100, 1000, 10000, 1000000 и тому подобное. Следует отметить, что сетевая вычислительная среда 200 может содержать другие электронные устройства, такие как, не ограничиваясь, серверы ресурсов (не показаны) для обеспечения сетевых ресурсов, не выходящие за рамки объема настоящей технологии. Некоторые или все устройства в сетевой вычислительной среде 200, включая электронные устройства 202, могут быть компьютерными системами 100. Электронные устройства 202 могут быть устройствами беспроводной связи, такими как мобильный телефон (например, смартфон или радиотелефон), планшетный компьютер, персональный компьютер и тому подобное.
[65] Как упоминалось выше, пользователь 211 или 213 связан с соответствующим электронным устройством 210 или 212. Устройства 210 и 212 могут быть связаны с пользователями 211 и 213 любыми средствами, такими как регистрация и/или вход в пользователей 211 и 213 в службу, и/или на основании связи между идентификатором устройств 210 и 212 (например, IP-адресом) и пользователями 211 и 213.
[66] Электронные устройства 210 и 212 могут содержать некоторые или все компоненты компьютерной системы 100, изображенные на Фиг. 1. Электронные устройства 210 и 212 могут содержать аппаратные средства и/или программное обеспечение, и/или микропрограммное обеспечение, или их сочетание для выполнения приложения веб-браузера и связи с сервером 230 через сеть 240 связи. Приложение веб-браузера может обеспечивать доступ к одному или более сетевым ресурсам через сеть 240 связи. Одним из примеров приложения веб-браузера является браузер YANDEX™, но можно использовать любой веб-браузер, например веб-браузер мобильного устройства. Электронные устройства 210 и 212 могут выполнять приложение любого другого типа, такое как приложение для обнаружения содержимого. Приложение для обнаружения содержимого может представлять элементы содержимого пользователям 211 и 213.
[67] В некоторых вариантах осуществления настоящей технологии сеть 240 связи представляет собой сеть Интернет. В альтернативных неограничивающих вариантах осуществления сеть 240 связи может включать в себя локальную сеть (LAN), глобальную сеть (WAN), частную сеть связи и/или тому подобное. Вся сеть 240 связи или её части могут представлять собой линию беспроводной связи. Примеры линий беспроводной связи включают в себя, не ограничиваясь, линии связи сетей 3G, 4G, 5G и тому подобное.
[68] В некоторых вариантах осуществления настоящей технологии сервер 230 может быть обычным компьютерным сервером. Например, сервер 230 может быть сервером Dell™ PowerEdge™, работающим под управлением операционной системы Microsoft™ Windows Server™. Функциональные возможности сервера 230 могут быть распределены между любым количеством серверов 230 и могут быть реализованы через множество серверов 230.
[69] В некоторых вариантах осуществления настоящей технологии на сервере 230 могут быть размещены одна или более служб, выполняемых компьютером, такие как система обнаружения и/или рекомендации содержимого. Другими словами, сервер 230 может находиться под контролем и/или управлением провайдера содержимого (не показан), такого как, например, оператор персональной ленты содержимого YANDEX ZEN™. Сервер 230 может быть выполнен с возможностью формирования и/или отображения элементов содержимого. Сервер 230 может быть выполнен с возможностью формирования и/или отправки на любое из множества электронных устройств 202 пакета 290 данных ответа через сеть 240 связи. То, каким образом сервер 230 выполнен с возможностью формирования и отправки пакета 290 данных ответа, а также содержимое пакета 290 данных ответа, будет дополнительно описано ниже.
[70] Также изображена база 260 данных, которая соединена с возможностью осуществления связи с сервером 230. Даже при том, что в изображенном варианте осуществления база 260 данных непосредственно соединена с сервером 230 (например, через частную сеть), в альтернативных реализациях база 260 данных может быть соединена с возможностью осуществления связи с сервером 230 через сеть 240 связи.
[71] Хотя база 260 данных проиллюстрирована на Фиг. 2 в виде единого объекта, база 260 данных может быть реализована распределенно, например база 260 данных может иметь разные компоненты, причем каждый компонент выполнен с возможностью определенного вида извлечения из нее или сохранения в ней. База 260 данных может представлять собой структурированный набор данных, безотносительно к ее конкретной структуре или компьютерному аппаратному обеспечению, на котором данные сохраняются, реализуются или иным образом к ним обеспечивается доступ для использования. База 260 данных может находиться на том же аппаратном обеспечении, что и процесс, который сохраняет или использует информацию, сохраняемую в базе 260 данных , или может находиться на отдельном аппаратном обеспечении. Вообще говоря, база 260 данных может принимать данные от сервера 230 для их сохранения и может обеспечивать сохраненные данные серверу 230 для их использования.
[72] База 260 данных может сохранять информацию, связанную с элементами веб-ресурсов, которые доступны из множества ресурсов (то есть серверов ресурсов) и к ним может быть осуществлён доступ через сеть 240 связи. Информация может включать в себя элементы содержимого, которые могут быть любым типом мультимедиа, например статьями, записями в блогах, изображениями, видео, звуками, веб-страницами, содержимым социальных сетей и/или любым другим типом содержимого. База 260 данных может заполняться и/или поддерживаться посредством процесса «осмотра» и/или любого другого процесса для сбора элементов содержимого. Процесс осмотра может выполняться (и повторяться) на регулярной (и повторяющейся) основе. Посредством повторного выполнения процесса осмотра база 260 данных заполняется указанием новых ресурсов и/или элементов содержимого, доступных через сеть 240 связи. Только ради простоты различные доступные виды мультимедиа будут называться в данном документе просто «элементами содержимого».
[73] Предполагается, что элементы содержимого могут быть связаны и классифицированы в базе 260 данных по их соответствующим типам. Например, определённый элемент содержимого может быть элементом содержимого типа изображения, элементом содержимого типа видео, элементом содержимого типа аудио, элементом содержимого типа новостей, элементом содержимого типа ресурса и/или любым другим типом элемента содержимого. Операторы сервера 230 могут определять типы элементов содержимого. Элементы содержимого могут отображаться в интерфейсе, таком как интерфейс, отображаемый веб-страницей, приложением для обнаружения содержимого, виджетом на мобильном устройстве и т.д. Например, элемент аудиосодержимого может выводиться на интерфейс, если прогнозируется, что элемент содержимого типа аудио интересует пользователя, осуществляющего доступ к интерфейсу. Элемент аудиосодержимого может позволить пользователю прослушивать аудиоданные, соответствующие элементу содержимого типа аудио, не выходя из интерфейса.
[74] База 260 данных может также сохранять атрибуты, связанные с каждым элементом. Некоторые атрибуты элементов могут быть извлечены из соответствующих ресурсов (или источников), соответствующих этим элементам, в то время как другие атрибуты элементов могут быть определены сервером 230. Например, база 260 данных может сохранять атрибуты, включающие в себя информацию, относящуюся к:
размеру каждого элемента содержимого (например, высоте и/или ширине в пикселях, и/или визуальному размеру элементов содержимого при воспроизведении на экране компьютера);
цветовому решению каждого элемента содержимого;
присутствию объекта в каждом элементе содержимого (например, определяемому посредством различных методов компьютерного зрения);
типу элемента для каждого элемента содержимого;
ресурсу каждого элемента содержимого (например, URL, соответствующему элементу содержимого); и
параметру новизны каждого элемента содержимого (например, значению, обратно пропорциональному времени, прошедшему с момента осмотра каждого элемента содержимого).
[75] Однако следует отметить, что в других вариантах осуществления рассматриваются другие или дополнительные атрибуты, связанные с элементами содержимого, не выходящие за рамки объема настоящей технологии.
[76] В дополнение к сохранению информации, связанной с элементами содержимого, база 260 данных может быть выполнена с возможностью сохранения указаний пользовательских взаимодействий, соответственно связанных с каждым элементом содержимого и/или ранее отображавшимися интерфейсами. Пользовательские взаимодействия, связанные с элементом содержимого, которые сохраняются в базе 260 данных, могут представлять собой предыдущие пользовательские взаимодействия, которые пользователи поискового механизма выполняли в отношении элемента содержимого в качестве части их взаимодействия с интерфейсом, который включал в себя элемент содержимого. Неисчерпывающий перечень различных действий пользователя, которые пользователь может выполнять в связи с элементом содержимого, содержит:
выбор элемента содержимого (например, «нажатие» на элемент содержимого);
длительный выбор элемента содержимого (например, долгое «нажатие» на элемент содержимого);
выбор элемента содержимого, за которым следует переход веб-ресурса (например, нажатие на элемент содержимого с последующим перенаправлением на ресурс, соответствующий элементу содержимого);
действие наведения курсора на элемент содержимого (например, время наведения курсора на элемент содержимого); и/или
взаимодействие с элементом содержимого (например, воспроизведение аудио или видео, увеличение изображения, взаимодействие с картой, выбор данных для элемента содержимого погоды и т.д.).
[77] Однако следует отметить, что указания других взаимодействий с пользователем могут быть сохранены в базе 260 данных вместе с элементами содержимого в других вариантах осуществления, не выходя за рамки настоящей технологии. Как более подробно описано ниже, эти атрибуты и/или взаимодействия могут использоваться для формирования оценок релевантности для элементов содержимого и/или обучения MLA прогнозированию оценок релевантности для элементов содержимого. Атрибуты и/или взаимодействия могут использоваться для формирования наборов данных, которые используются для обучения MLA.
[78] Некоторые элементы содержимого, сохраняемые в базе 260 данных, связаны с меньшим количеством пользовательских взаимодействий, чем другие элементы. Другими словами, некоторые элементы содержимого, сохраняемые в базе 260 данных, связаны с ограниченными пользовательскими взаимодействиями. Например, некоторые элементы содержимого могли ранее часто представляться пользователям и, таким образом, связаны со значительным количеством пользовательских взаимодействий. Другие элементы содержимого могут быть новыми элементами содержимого, которые связаны с ограниченным количеством пользовательских взаимодействий, поскольку они были «осмотрены» совсем недавно и редко представлялись пользователям или не представлялись вообще.
[79] В некоторых вариантах осуществления настоящей технологии сервер 230 реализует систему 250 ранжирования для выбора элементов содержимого, подлежащих отображению для пользователя, и ранжирования элементов содержимого на основании прогнозируемой релевантности для пользователя. Вообще говоря, система 250 ранжирования выполнена с возможностью выбора элементов содержимого, которые в общем релевантны для пользователя, и сбора показателей пользовательских взаимодействий, связанных с этими элементами содержимого, для дальнейшего ранжирования на основании их релевантности для пользователя. Другими словами, система 250 ранжирования может содержать алгоритм ранжирования на основании взаимодействия с пользователем, который выполнен с возможностью ранжирования элементов содержимого на основании связанных с ними пользовательских взаимодействий.
[80] Система 250 ранжирования может быть обучена ранжированию элементов содержимого на основании связанных с ними пользовательских взаимодействий. Например, система 250 ранжирования может представлять собой алгоритм машинного обучения (MLA), который обучен прогнозированию оценок релевантности элементов содержимого, указывающих их релевантность для пользователя, на основании, помимо прочего, предыдущих пользовательских взаимодействий, связанных с элементами содержимого. Система 250 ранжирования может быть обучена изучению отношений и/или структур данных в предыдущих пользовательских взаимодействиях, которые указывают на релевантность элементов содержимого для пользователя.
[81] Пользователь 211 может взаимодействовать с электронным устройством 210, которое в ответ на пользовательское взаимодействие с электронным устройством 210 может выполнять приложение для обнаружения содержимого. Электронное устройство 210 может формировать пакет 280 данных представления, указывающий, что пользователь 211 активировал приложение для обнаружения содержимого. Пакет 280 данных представления может содержать информацию, указывающую на пользователя, такую как идентификатор пользователя, и может быть отправлен на сервер 230 через сеть 240 связи. Пакет 280 данных представления может содержать запрос элементов содержимого для отображения пользователю 211.
[82] После приема пакета 280 данных представления сервером 230 система 250 ранжирования может осуществить доступ к базе 260 данных для извлечения элементов содержимого для отображения пользователю 211. Система 250 ранжирования может определять элементы содержимого для отображения пользователю 211 на основании различных факторов. Например, если элемент содержимого ранее отображался пользователю 211, этот элемент содержимого может не быть выбран для повторного отображения пользователю 211.
[83] Система 250 ранжирования может формировать ранжированный набор элементов содержимого для отображения пользователю 211. Затем может быть сформирован интерфейс на основании ранжированного набора элементов. Интерфейс может быть сформирован сервером 230 и/или электронным устройством 210. Интерфейс и/или ранжированный набор элементов содержимого может быть передан в электронное устройство 210 через пакет 290 данных ответа. Если интерфейс не был передан электронному устройству 210, приложение обнаружения содержимого, выполняющееся на электронном устройстве 210, может сформировать интерфейс. Пользователь 211 электронного устройства 210 может взаимодействовать с интерфейсом. Взаимодействие пользователя с интерфейсом может быть записано и передано на сервер 230. Эти взаимодействия могут использоваться для дальнейшего обучения системы 250 ранжирования.
Интерфейс с элементами содержимого
[84] Обращаясь к Фиг. 3, изображен пример интерфейса 300 с элементами содержимого согласно некоторым вариантам осуществления настоящей технологии. Интерфейс 300 может отображаться на дисплее компьютерной системы 100. Например, интерфейс 300 может отображаться на электронном устройстве 210 или электронном устройстве 212. Интерфейс 300 может быть сформирован персональной компьютерной системой 100 пользователя или сервером, например сервером 230. Интерфейс 300 может отображаться приложением, например мобильным приложением, веб-браузером и/или любым другим приложением, выполняемым в компьютерной системе 100.
[85] Интерфейс 300 может включать в себя прокручиваемый список элементов содержимого. Интерфейс 300 включает в себя элементы 301, 302, 303, 304 и 305 содержимого. Проиллюстрированный интерфейс 300 является лишь примером, и следует понимать, что интерфейс 300 может включать в себя любое количество элементов содержимого. Фактически, интерфейс 300 может включать в себя «бесконечный» список элементов содержимого, посредством чего, когда пользователь прокручивает интерфейс 300, отображаются новые предлагаемые элементы содержимого. Хотя элементы 301-05 содержимого проиллюстрированы в интерфейсе 300в виде мозаичных элементов в вертикальной конфигурации, следует понимать, что элементы содержимого могут отображаться в любой конфигурации, такой как горизонтальная конфигурация и/или вложенная конфигурация. Элементы содержимого могут отображаться в вертикальной ленте, имеющей строки с множеством элементов содержимого. Все элементы 301-05 содержимого могут иметь один и тот же размер, как показано, или могут иметь разные размеры.
[86] Элементы 301-05 содержимого могут отображаться в ранжированном порядке, определяемом на основании прогнозируемой оценки релевантности, присвоенной каждому из элементов 301-05 содержимого. Оценка релевантности, указывающая прогнозируемую вероятность того, что пользователь будет взаимодействовать с элементом содержимого, может быть определена для каждого из элементов 301-05 содержимого. Элемент 301 содержимого может быть элементом с наивысшим рангом и может иметь наивысшую прогнозируемую оценку релевантности среди элементов 301-05 содержимого. Элемент 305 содержимого может быть элементом с самым низким рангом и может иметь самую низкую прогнозируемую оценку релевантности среди элементов 301-05 содержимого. Дополнительные элементы содержимого, имеющие более низкий ранг, чем элемент 305 содержимого, могут изначально не отображаться, но могут отображаться, когда пользователь прокручивает интерфейс 300 вверх.
[87] Элементы 301-05 содержимого могут быть элементами содержимого любого типа, такого как аудио, видео, новостные статьи, изображения, гиперссылки и/или любой другой тип содержимого. Пользователь может взаимодействовать с элементами 301-05 содержимого, например, путем выбора одного из элементов 301-05 содержимого. Каждый из элементов 301-05 содержимого может предусматривать разные варианты взаимодействий. Например, если элемент 301 содержимого является элементом аудиосодержимого, элемент 301 содержимого может позволять пользователю воспроизводить аудиоданные, связанные с элементом 301 содержимого, перематывать вперед или назад аудиоданные, связанные с элементом 301 содержимого, выбирать другую аудиозапись, аналогичную аудиоданным, связанным с элементом 301 содержимого, и т.д. В другом примере, если элемент 302 содержимого является элементом содержимого новостной статьи, пользователь может иметь возможность выбрать элемент 302 содержимого, и может отображаться новый интерфейс с новостной статьей. Интерфейс 300 может позволять пользователю оценивать элементы 301-05 содержимого, например, путем выбора числового рейтинга или путем указания двоичного рейтинга (одобрения или неодобрения).
[88] Как описано выше, интерфейс 300 может быть прокручиваемым и/или иметь множество страниц. Для отображения дополнительных элементов содержимого пользователь может прокрутить интерфейс вверх или вниз, выбрать кнопку для следующей страницы и/или использовать любой другой способ запроса отображения дополнительных элементов содержимого. Интерфейс 300 может включать в себя выбираемые элементы для выхода из интерфейса 300, такие как кнопка 310 «Выход». Когда пользователь нажимает кнопку 310 «Выход», интерфейс 300 может более не отображаться. Например, приложение, отображающее интерфейс 300, может быть закрыто. Интерфейс 300 может включать в себя кнопку для обновления интерфейса 300, такую как кнопка 320 «Обновить ленту», которая может вызывать отображение новых элементов содержимого в качестве замены ранее отображаемых элементов 301-05 содержимого.
[89] Все пользовательские взаимодействия с интерфейсом 300 могут быть записаны. Запись может включать в себя то, какие из элементов 301-05 содержимого были выбраны или с какими из них иным образом осуществлялось взаимодействие, количество времени, соответствующее каждому взаимодействию, порядок взаимодействий, запись каждого элемента содержимого, который отображался в интерфейсе 300, независимо от того, выбрал ли пользователь выход из интерфейса 300, например, нажав кнопку 310 «Выход», обновил ли пользователь интерфейс, например, нажав кнопку 320 «Обновить ленту», каким образом пользователь взаимодействовал с элементами 301-05 содержимого, и/или любые другие данные, относящиеся к взаимодействию пользователя с интерфейсом 300. Пользовательское взаимодействие с интерфейсом 300 может сохраняться в наборе данных. Набор данных может использоваться для обучения MLA прогнозированию оценок релевантности, указывающих вероятность того, что пользователь будет взаимодействовать с элементом содержимого.
Набор данных о пользовательских взаимодействиях
[90] На фиг.4 проиллюстрирован набор 400 данных о пользовательских взаимодействиях с интерфейсом 300. Набор 400 данных может быть набором обучающих данных, используемым для обучения MLA прогнозированию оценок релевантности для элементов содержимого. Пользовательские взаимодействия в наборе 400 данных предназначены только для иллюстративных целей, и следует понимать, что пользовательские взаимодействия могут сохраняться в любом подходящем формате. Также следует понимать, что набор 400 данных может содержать дополнительную информацию, которая не проиллюстрирована на Фиг. 4, такую как атрибуты элементов содержимого.
[91] Набор 400 данных указывает, что элемент 301 содержимого был элементом содержимого в виде статьи, который был выбран первым и просмотрен в течение 90 секунд. Элемент 302 содержимого был элементом видеосодержимого, который был выбран вторым и воспроизводился до конца видеоданных. Элемент 303 содержимого был выбран третьим, а затем интерфейс 300 был закрыт. Элементы 304 и 305 содержимого не были выбраны. Элемент 303 содержимого был последним просмотренным элементом содержимого, поскольку это был последний элемент содержимого, выбранный до закрытия или обновления интерфейса 300 пользователем. Элемент содержимого с самым низким рангом, с которым взаимодействовал пользователь, может быть выбран в качестве последнего просмотренного элемента содержимого, и в этом случае элемент 303 содержимого по-прежнему будет последним просмотренным элементом содержимого.
[92] Оценка выигрыша и/или оценка проигрыша могут быть определены для каждого из элементов 301-05 содержимого. Метка может быть присвоена каждому из элементов 301-05 содержимого на основании оценок выигрыша и/или оценок проигрыша. Метки могут использоваться для обучения MLA прогнозированию оценок релевантности для элементов 301-05 содержимого. Может использоваться любой диапазон и/или шкала оценок выигрыша, оценок проигрыша и/или меток. В наборе 400 данных более высокая оценка выигрыша и/или метка указывает, что элемент содержимого с большей вероятностью будет релевантным для пользователя и/или пользователь с большей вероятностью будет с ним взаимодействовать. Более высокая оценка проигрыша указывает на то, что элемент содержимого с меньшей вероятностью будет релевантным для пользователя и/или пользователь с меньшей вероятностью будет с ним взаимодействовать. Для вычисления оценок выигрыша, оценок проигрыша и/или меток могут использоваться различные способы.
[93] Оценка выигрыша может быть присвоена элементам содержимого, с которыми взаимодействовал пользователь. В наборе данных 400 взаимодействие осуществлялось с элементами 301, 302 и 303 содержимого, и поэтому им были присвоены оценки выигрыша. Оценка проигрыша может быть вычислена для элементов 304 и 305 содержимого, с которыми пользователь не взаимодействовал и/или которые были отображены после последнего просмотренного элемента 303 содержимого. Метка для элемента содержимого может быть определена на основании оценки выигрыша и/или оценки проигрыша элемента содержимого. Метка может быть суммой оценки выигрыша и оценки проигрыша элемента содержимого, максимальным значением оценки выигрыша и оценки проигрыша элемента содержимого, минимальным значением оценки выигрыша и оценки проигрыша элемента содержимого, средним значением оценки выигрыша и оценки проигрыша элемента содержимого и т.д. Любой другой подходящий способ может быть использован для определения метки на основании оценки выигрыша и/или оценки проигрыша.
[94] Элементу 301 содержимого присваивается оценка выигрыша «1». Для каждого типа элемента содержимого может быть своя формула, используемая для вычисления оценки выигрыша для элемента содержимого. Например, для элемента содержимого в виде статьи, такого как элемент 301 содержимого, оценка выигрыша может быть вычислена на основании того, был ли выбран элемент 301 содержимого, количества времени, которое пользователь потратил на просмотр статьи, достиг ли пользователь конца статьи, и/или любой другой атрибут. Аналогичным образом, элемент 302 содержимого получает оценку выигрыша «0,8». Относящаяся к видеоданным функция может использоваться для определения оценки выигрыша для элемента 302 видеосодержимого. Элементу 303 содержимого присвоена оценка выигрыша «0,7». Для элементов 301, 302 и 303 содержимого оценка проигрыша может не вычисляться, или оценка проигрыша может быть определена равной нулю для этих элементов содержимого. Оценка проигрыша может быть присвоена элементу содержимого, когда элемент содержимого не был выбран, но был выбран элемент содержимого с более низким рангом. Например, если элемент 301 содержимого не был выбран, но был выбран элемент 302 содержимого, элементу 301 содержимого может быть присвоена оценка проигрыша.
[95] Оценки проигрыша могут быть определены для элементов 304 и 305 содержимого, которые были отображены под последним просмотренным элементом 303 содержимого и/или имеют более низкий ранг, чем последний просмотренный элемент 303 содержимого. Оценки проигрыша для элементов 304 и 305 содержимого могут быть определены на основании расстояния между элементами 304 и 305 содержимого и последним просмотренным элементом 303 содержимого. Элемент 304 содержимого отображался рядом с элементом 303 содержимого, поэтому элементу 304 содержимого может быть присвоена наивысшая оценка проигрыша. В этом примере элементу 304 содержимого присвоена оценка проигрыша «0,8». Элемент 305 содержимого отображался дальше от элемента 303 содержимого, поэтому оценка проигрыша элемента 305 содержимого ниже, чем оценка проигрыша элемента 304 содержимого. Оценка проигрыша для элемента 305 содержимого составляет «0,4».
[96] Как описано выше, для присвоения метки элементу содержимого могут использоваться различные способы на основе оценки выигрыша и/или оценки проигрыша элемента содержимого. Например, метки могут быть определены по шкале от ноля до единицы, где ноль указывает, что элемент содержимого имеет низкую релевантность, а единица указывает, что элемент содержимого имеет высокую релевантность. В этом примере элементу 302 содержимого может быть присвоена метка «0,7», элементу 304 содержимого может быть присвоена метка «0,05», а элементу 305 содержимого может быть присвоена метка «0,2». Но следует понимать, что для определения меток можно использовать любую другую подходящую формулу. Как более подробно описано ниже, MLA можно обучить с использованием наборов обучающих данных, таких как набор 400 данных, прогнозированию оценки релевантности для элемента содержимого на основании меток в наборах обучающих данных. Наборы обучающих данных, используемые для обучения MLA, могут включать в себя метки, но могут не включать в себя оценки выигрыша и/или оценки проигрыша.
Способ обучения MLA (неограничивающий вариант осуществления)
[97] Фиг.5 представляет собой блок-схему способа 500 обучения MLA прогнозированию оценки релевантности для элемента содержимого согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах способ 500 или один или более его этапов могут выполняться вычислительной системой, такой как компьютерная система 100. Способ 500 или один или более его этапов могут быть реализованы в машиноисполняемых командах, которые сохраняются на машиночитаемом носителе, таком как постоянное запоминающее устройство большого объёма, загружаются в память и выполняются CPU. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок может быть изменён.
Этап 505: Извлечение наборов данных о пользовательских взаимодействиях
[98] На этапе 505 могут быть извлечены наборы данных о пользовательских взаимодействиях, такие как набор 400 данных. Может быть извлечено любое количество наборов данных. Каждый набор данных может указывать на взаимодействие пользователя с интерфейсом, отображающим элементы содержимого, таким как интерфейс 300. Для каждого элемента содержимого в наборе данных набор данных может содержать различные атрибуты элемента содержимого, такие как тип элемента содержимого, источник элемента содержимого, ранжирование элемента содержимого, возраст элемента содержимого, длина элемента содержимого, количество просмотров элемента содержимого, рейтинг пользователя, соответствующий элементу содержимого, и/или любые другие атрибуты элемента содержимого. Для каждого элемента содержимого набор данных может содержать запись взаимодействий пользователя с элементом содержимого и/или взаимодействий пользователя с интерфейсом, который включал в себя элемент содержимого.
[99] Наборы данных могут быть получены из базы данных. Хотя данные описаны как отдельные наборы данных, они могут сохраняться и/или извлекаться в любом формате. Например, один набор данных может включать в себя информацию о множестве пользователей. Наборы данных могут использоваться в качестве обучающих данных для обучения MLA.
Этап 510: Выбор набора данных
[100] На этапе 510 может быть выбран набор данных. Наборы данных можно выбирать в любом порядке. Например, наборы данных могут быть выбраны на основании возраста данных в наборах данных. Наборы данных могут обрабатываться параллельно, и в этом случае может быть выбрано множество наборов данных, и этапы 515-40 могут одновременно выполняться для множества наборов данных.
Этап 515: Определение оценок выигрыша
[101] На этапе 515 может быть определена оценка выигрыша для каждого элемента содержимого в наборе данных, с которым взаимодействовал пользователь. Для разных типов элементов содержимого могут использоваться разные формулы для подсчета оценок выигрыша. Если с элементом содержимого не взаимодействовали, оценка выигрыша может не быть определена для этого элемента содержимого и/или оценка выигрыша для элемента содержимого может быть установлена на ноль. Если пользователь действительно взаимодействовал с элементом содержимого, может быть извлечена формула, соответствующая типу элемента содержимого, и для элемента содержимого может быть определена оценка выигрыша.
[102] Формулы для определения оценок выигрыша могут зависеть от типа элемента содержимого. Например, формула для элементов видеосодержимого может присваивать оценку выигрыша «0,5», если пользователь просматривает пятнадцать секунд видеоданных, и присваивать оценку выигрыша «1,0», если пользователь просматривает видеоданные до конца видеоданных. В другом примере формула для элементов содержания в виде статьи может присваивать выигрышную оценку «0,7», если пользователь тратит на чтение статьи более тридцати секунд. Формулы могут быть определены вручную операторами-людьми. Формулы могут корректироваться с течением времени.
Этап 520: Определение последнего просмотренного элемента содержимого в наборе данных
[103] На этапе 520 может быть определен последний просмотренный элемент содержимого для набора данных. Элемент содержимого, который просматривался последним, может быть элементом содержимого, который был выбран последним перед закрытием, обновлением интерфейса и/или иным переходом с него. Элемент содержимого, который просматривался последним, может быть определен на основании записанных пользовательских взаимодействий, сохранённых в наборе данных. Элемент содержимого, который просматривался последним, может быть определен ранее, и указатель, соответствующий последнему просмотренному элементу содержимого, может быть сохранен в наборе данных.
[104] Элемент содержимого с самым низким рангом, с которым взаимодействовал пользователь, может быть определен и использован как последний просмотренный элемент содержимого. Элемент содержимого с самым низким рангом может быть выбран в качестве последнего просмотренного элемента содержимого независимо от того, действительно ли он был последним элементом содержимого, с которым взаимодействовал пользователь.
Этап 525: Определение элементов содержимого с более низким рангом, чем последний просмотренный элемент содержимого
[105] На этапе 525 могут быть определены элементы содержимого, которые имеют более низкий ранг, чем последний просмотренный элемент содержимого. Элементы содержимого, которые отображались после последнего просмотренного элемента содержимого, могут быть идентифицированы. Каждый из элементов содержимого в наборе данных может быть ранжирован. Ранжирование может быть определено на основании прогнозируемых оценок для элементов содержимого и/или любых других атрибутов элементов содержимого. Все элементы содержимого, которые имеют ранг ниже, чем последний просмотренный элемент содержимого, могут быть идентифицированы и/или сохранены в наборе. Например, на Фиг. 3, если последним просмотренным элементом содержимого является элемент 302 содержимого, то элементы 303, 304 и 305 содержимого могут быть идентифицированы на этапе 525. В некоторых случаях элементы содержимого, которые имеют более низкий ранг, чем последний просмотренный элемент содержимого, могут быть идентифицированы на этапе 525 независимо от того, отображались ли они пользователю. В других случаях элементы содержимого, которые не отображались, могут не идентифицироваться на этапе 525, и в этом случае этап 530 может быть пропущен.
Этап 530: Отфильтровывание любых элементов содержимого в наборе, которые не отображались
[106] На этапе 530 любые элементы содержимого, которые не были отображены пользователю, могут быть идентифицированы и отфильтрованы из элементов содержимого, определенных на этапе 525. Набор данных может указывать, какие элементы содержимого отображались и/или какие элементы содержимого не отображались. Например, набор данных может включать в себя указатель отображаемого элемента содержимого с самым низким рангом. В этом примере любые элементы содержимого, имеющие более низкий ранг, чем элемент содержимого с самым низким рангом, могут быть отфильтрованы из набора элементов содержимого, идентифицированного на этапе 525.
Этап 535: Определение оценки проигрыша для каждого элемента содержимого
[107] На этапе 535 может быть определена оценка проигрыша для каждого из оставшихся элементов содержимого после фильтрации на этапе 530. Оценка проигрыша может быть определена для каждого элемента содержимого, который был отображен и/или получил более низкий ранг, чем последний просмотренный элемент содержимого. Оценка проигрыша для элемента содержимого может быть определена на основании разности между рангом элемента содержимого и рангом последнего просмотренного элемента содержимого. Элементам содержимого, имеющим более высокую разность между их рангом и рангом последнего просмотренного элемента содержимого, могут быть присвоены более низкие оценки проигрыша. Оценка проигрыша для элемента содержимого может быть определена на основании отображаемого расстояния между элементом содержимого и последним просмотренным элементом содержимого.
Этап 540: Формирование набора обучающих данных
[108] На этапе 540 могут быть определены метки для элементов содержимого на основании оценок выигрыша и оценок проигрыша. Метки могут быть присвоены элементам содержимого для формирования обучающего набора данных. Как описано выше, для определения метки для элемента содержимого на основании оценки выигрыша элемента содержимого и/или оценки проигрыша могут использоваться различные формулы. Например, метка может быть вычислена как оценка проигрыша, вычитаемая из оценки выигрыша. В этом примере, если элементу содержимого была присвоена оценка выигрыша, но не оценка проигрыша, меткой для элемента содержимого может быть оценка выигрыша, и аналогичным образом, если элементу содержимого была присвоена оценка проигрыша, но не оценка выигрыша, оценка релевантности для элемента содержимого может быть оценкой проигрыша, вычтенной из нуля.
[109] Набор обучающих данных может включать в себя все или часть данных в наборе данных, выбранном на этапе 510. Набор обучающих данных может не включать в себя элементы содержимого, которым не были присвоены оценки выигрыша, оценки проигрыша и/или метки. Набор обучающих данных может не включать в себя оценки выигрыша и/или оценки проигрыша для элементов содержимого. Набор обучающих данных может включать в себя различные атрибуты каждого элемента содержимого, такие как тип элемента содержимого, источник элемента содержимого, ранг элемента содержимого, возраст элемента содержимого, длину элемента содержимого, количество просмотров элемента содержимого, рейтинг пользователя, соответствующий элементу содержимого, и/или любые другие атрибуты элемента содержимого. Атрибуты могут называться «признаками», используемыми MLA для прогнозирования оценок релевантности.
Этап 545: Определение, имеются ли еще наборы данных для обработки
[110] На этапе 545 можно определить, имеются ли еще наборы данных для обработки. Если метки были вычислены для всех наборов данных, извлеченных на этапе 505, способ 500 может перейти к этапу 550. В противном случае, если для обработки имеется большее количество наборов данных, способ 500 может перейти к этапу 510, и могут быть сформированы метки для элементов содержимого в оставшихся наборах данных.
Этап 550: Обучение MLA
[111] На этапе 550 MLA может быть обучен прогнозированию оценки релевантности для элемента содержимого. MLA может содержать нейронную сеть, алгоритм кластеризации, дерево решений и/или любой другой тип MLA. Для обучения MLA могут использоваться наборы обучающих данных, сформированные на этапе 540. Для обучения MLA в MLA могут быть введены точки данных из наборов данных. Каждая точка данных может соответствовать одному элементу содержимого. Каждая точка данных, вводимая в MLA, может включать в себя атрибуты элемента содержимого и метку элемента содержимого. Для каждой точки данных, вводимой в MLA, MLA может прогнозировать оценку релевантности для элемента содержимого точки данных. Затем прогнозируемая оценка релевантности может сравниваться с меткой для элемента содержимого, которая была определена на этапе 540. Может быть определена разность между прогнозируемой оценкой релевантности и меткой, и MLA может быть скорректирован на основании этой разности.
[112] В некоторых случаях MLA может регулярно повторно обучаться с использованием дополнительных наборов данных, таких как вновь записанные данные в отношении пользовательских взаимодействий с интерфейсами. За счёт повторного обучения MLA с использованием обновленных записей пользовательских взаимодействий MLA может обновляться, чтобы реагировать на изменение интересов пользователей.
Способ формирования интерфейса с элементами содержимого (неограничивающий вариант осуществления)
[113] Фиг.6 представляет собой блок-схему способа 600 формирования интерфейса с элементами содержимого согласно некоторым вариантам осуществления настоящей технологии. В одном или более аспектах способ 600 или один или более его этапов могут выполняться вычислительной системой, такой как компьютерная система 100. Способ 600 или один или более его этапов могут быть реализованы в машиноисполняемых командах, которые сохранены на машиночитаемом носителе, таком как постоянное запоминающее устройство большого объёма, загружены в память и выполнены CPU. Некоторые этапы или части этапов на блок-схеме могут быть пропущены или их порядок может быть изменён.
Этап 605: Приём набора элементов содержимого
[114] На этапе 605 может быть принят набор элементов содержимого. Может быть принято любое количество и/или тип элементов содержимого. Атрибуты каждого элемента содержимого могут быть приняты и/или определены. Атрибуты элемента содержимого могут включать в себя возраст элемента содержимого, источник элемента содержимого, рейтинг пользователя элемента содержимого, тип элемента содержимого, длину элемента содержимого, количество просмотров элемента содержимого и/или любой другой атрибут элемента содержимого.
Этап 610: Прогнозирование оценки релевантности для каждого элемента содержимого
[115] На этапе 610 может быть спрогнозирована оценка релевантности для каждого из элементов содержимого, принятых на этапе 605. Оценка релевантности может указывать прогнозируемую вероятность того, что пользователь выберет элемент содержимого и/или будет взаимодействовать с ним. Оценка релевантности может быть спрогнозирована с использованием MLA, такого как MLA, сформированный с использованием способа 500.
Этап 615: Ранжирование элементов содержимого
[116] На этапе 615 могут быть ранжированы элементы содержимого. Элементы содержимого могут быть ранжированы на основании оценок релевантности, сформированных на этапе 610. Элементы содержимого, имеющие более высокую оценку релевантности и, таким образом, имеющие более высокую прогнозируемую вероятность того, что пользователь будет взаимодействовать с ними, могут иметь более высокий ранг. Может быть выведен ранжированный список элементов содержимого. Некоторые элементы содержимого могут быть отфильтрованы и/или не включены в ранжированный список. Ранжированный список может иметь параметр, указывающий максимальное количество элементов содержимого для включения в ранжированный список и/или элементы содержимого, имеющие оценку релевантности, которая ниже пороговой оценки, могут быть отфильтрованы.
Этап 620: Вывод интерфейса с элементами содержимого
[117] На этапе 620 может быть выведен интерфейс с элементами содержимого, например интерфейс 300. Интерфейс может отображать элементы содержимого в порядке их ранжирования. Интерфейс может быть прокручиваемым интерфейсом, в котором элементы содержимого с самым высоким рангом отображаются в верхней части интерфейса. Когда пользователь прокручивает интерфейс, могут отображаться дополнительные элементы содержимого. Любое пользовательское взаимодействие с интерфейсом может быть записано. Интерфейс может выводиться приложением для обнаружения содержимого.
Этап 625: Приём указания того, что интерфейс был закрыт
[118] На этапе 625 может быть принято указание, что интерфейс был закрыт и/или обновлен. Когда интерфейс обновляется, этапы 605-20 могут повторяться, и может отображаться новый набор элементов содержимого. Указание может заключаться в том, что пользователь закрыл мобильное приложение, отображающее интерфейс, закрыл веб-браузер, отображающий интерфейс, перешел на другую веб-страницу, и/или любое другое указание того, что интерфейс был закрыт.
[119] Для дальнейшего уточнения MLA и/или для побуждения MLA реагировать на изменение интересов пользователя, MLA может обновляться на основании пользовательских взаимодействий с интерфейсами. Метки для каждого элемента содержимого могут быть определены на основании пользовательских взаимодействий с и затем сравнены с прогнозируемыми оценками релевантности. MLA может обновляться на основании разности между прогнозируемыми оценками релевантности и метками.
Этап 630: Определение оценок выигрыша для элементов содержимого
[120] На этапе 630 может быть определена оценка выигрыша для каждого из элементов содержимого, который был выбран пользователем. Действия, выполняемые на этапе 630, могут быть аналогичны действиям, описанным на этапе 515 способа 500. Для каждого элемента содержимого формула, соответствующая типу этого элемента содержимого, может использоваться для определения оценки выигрыша для элемента содержимого. Оценки выигрыша могут быть определены для некоторых или всех элементов содержимого, с которыми взаимодействовал пользователь. Если оценка выигрыша не была определена для элемента содержимого, например, если пользователь не взаимодействовал с элементом содержимого, оценка выигрыша для этого элемента содержимого может быть установлена в ноль.
Этап 635: Определение последнего просмотренного элемента содержимого
[121] На этапе 635 может быть определен последний просмотренный элемент содержимого. Последний просмотренный элемент содержимого может быть последним элементом содержимого, с которым взаимодействовал пользователь в интерфейсе, отображаемом на этапе 620, и/или элементом содержимого с самым низким рангом, с которым пользователь взаимодействовал в интерфейсе. Действия, выполняемые на этапе 635, могут быть аналогичны тем, которые выполняются на этапе 520 способа 500.
Этап 640: Определение оценок проигрыша
[122] На этапе 640 могут быть определены оценки проигрыша для элементов содержимого. Оценки проигрыша могут быть определены для каждого из элементов содержимого, имеющих более низкий ранг и/или отображаемых после последнего просмотренного элемента содержимого. Действия, выполняемые на этапе 640, могут быть аналогичны действиям, выполняемым на этапах 525-35 способа 500.
Этап 645: Формирование набора обучающих данных
[123] На этапе 645 могут быть определены метки для элементов содержимого на основании их оценок выигрыша и/или оценок проигрыша. Может быть сформирован набор обучающих данных, причём каждая точка данных в наборе данных включает в себя атрибуты элемента содержимого и метку, присвоенную элементу содержимого. Метка может быть определена для всех или для поднабора элементов содержимого, принятых на этапе 605. Набор обучающих данных может включать в себя прогнозируемую оценку релевантности для каждого элемента содержимого. Действия, выполняемые на этапе 645, могут быть аналогичны тем, которые выполняются на этапе 540 способа 500.
Этап 650: Повторное обучение MLA
[124] На этапе 650 MLA может быть повторно обучен на основании набора обучающих данных, сформированного на этапе 645. MLA может сравнивать прогнозируемую оценку релевантности с меткой. MLA может периодически повторно обучаться, например, когда было собрано пороговое количество наборов данных. MLA может быть выполнен с возможностью придания большего веса новым данным таким образом, чтобы MLA реагировал на изменение интересов пользователя.
[125] Специалистам в данной области техники должно быть очевидно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических решений для решения конкретной технической проблемы, а именно на определение положений в ранжировании элементов системой ранжирования.
[126] Следует явным образом понимать, что не все технические эффекты, упомянутые в данном документе, должны достигаться в каждой реализации настоящей технологии. Например, реализации настоящей технологии могут быть осуществлены без обеспечения пользователю некоторых из этих технических эффектов, в то время как другие реализации могут быть осуществлены с обеспечением пользователю других технических эффектов или без обеспечения каких-либо технических эффектов.
[127] Специалистам в данной области техники могут стать очевидными модификации и усовершенствования вышеописанных реализаций настоящей технологии. Вышеприведённое описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ РАНЖИРОВАННЫХ ПОЗИЦИЙ ЭЛЕМЕНТОВ СИСТЕМОЙ РАНЖИРОВАНИЯ | 2020 |
|
RU2781621C2 |
СПОСОБ И СИСТЕМА РАНЖИРОВАНИЯ МНОЖЕСТВА ДОКУМЕНТОВ НА СТРАНИЦЕ РЕЗУЛЬТАТОВ ПОИСКА | 2017 |
|
RU2677380C2 |
СПОСОБ И СИСТЕМА ДЛЯ РАНЖИРОВАНИЯ ЦИФРОВЫХ ОБЪЕКТОВ НА ОСНОВЕ СВЯЗАННОЙ С НИМИ ЦЕЛЕВОЙ ХАРАКТЕРИСТИКИ | 2019 |
|
RU2757174C2 |
Способ и сервер для ранжирования цифровых документов в ответ на запрос | 2020 |
|
RU2818279C2 |
СПОСОБ И СЕРВЕР ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ РАНЖИРОВАНИЮ ОБЪЕКТОВ | 2020 |
|
RU2782502C1 |
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ РАНЖИРОВАННЫХ ПОЗИЦИЙ НЕНАТИВНЫХ ЭЛЕМЕНТОВ С ПОМОЩЬЮ СИСТЕМЫ РАНЖИРОВАНИЯ | 2017 |
|
RU2689812C2 |
СПОСОБ И СИСТЕМА ОБРАБОТКИ ПОИСКОВОГО ЗАПРОСА | 2015 |
|
RU2640639C2 |
СПОСОБ И СЕРВЕР ДЛЯ ПРЕДСТАВЛЕНИЯ ЭЛЕМЕНТА РЕКОМЕНДУЕМОГО СОДЕРЖИМОГО ПОЛЬЗОВАТЕЛЮ | 2017 |
|
RU2699574C2 |
СПОСОБ И СЕРВЕР ГЕНЕРИРОВАНИЯ МЕТА-ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ | 2018 |
|
RU2721159C1 |
СПОСОБ И СИСТЕМА ВЫБОРА ДЛЯ РАНЖИРОВАНИЯ ПОИСКОВЫХ РЕЗУЛЬТАТОВ С ПОМОЩЬЮ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2731658C2 |
Изобретение относится к области вычислительной техники. Технический результат заключается в повышении точности идентификации релевантных элементов содержимого. Технический результат достигается за счет того, что во время фазы обучения системы ранжирования получается множество наборов данных о предыдущих пользовательских взаимодействиях с интерфейсами; для каждого набора данных определяется последний просмотренный элемент содержимого в интерфейсе; определяется оценка выигрыша для элементов содержимого, с которыми взаимодействовал пользователь; определяется оценка проигрыша для элементов содержимого с более низким рангом, чем последний просмотренный элемент содержимого; затем фазе использования системы ранжирования принимается набор элементов содержимого; для каждого элемента содержимого из набора элементов содержимого определяются прогнозируемые оценки релевантности; положения ранжирования каждого элемента содержимого из набора элементов содержимого определяются на основании прогнозируемых оценок релевантности. 3 н. и 14 з.п. ф-лы, 6 ил.
1. Способ определения положений элементов в ранжировании посредством системы ранжирования для набора элементов содержимого, причем способ выполняется сервером, причем способ содержит этапы, на которых:
получают во время фазы обучения системы ранжирования множество наборов данных, причем каждый набор данных содержит запись предыдущих пользовательских взаимодействий, связанных с интерфейсом, отображающим ранжированный на основе оценки релевантности список элементов содержимого;
при этом пользовательские взаимодействия с элементом содержимого интерфейса выбраны из набора, содержащего по меньшей мере одно из:
нажатие на элемент содержимого в интерфейсе,
длительность нажатия на элемент содержимого,
нажатие на элемент содержимого и перенаправление на ресурс, соответствующий элементу содержимого,
наведение курсора на элемент содержимого,
длительность наведения курсора на элемент содержимого,
взаимодействие с элементом содержимого в зависимости от атрибута упомянутого элемента содержимого;
причем атрибутом элемента содержимого является по меньшей мере одно из:
тип элемента содержимого,
источник элемента содержимого,
ранжирование элемента содержимого,
количество просмотров элемента содержимого,
размер элемента содержимого,
цветовое решение элемента содержимого,
присутствие объекта в элементе содержимого,
ресурс, соответствующий элементу содержимого,
возраст элемента содержимого;
а типом элемента содержимого является по меньшей мере одно из: изображение, видео, аудио, текст, документ, ресурс, анимация, гиперссылка, электронные таблицы;
и для каждого набора данных из множества наборов данных:
определяют последний просмотренный элемент содержимого в соответствующем ранжированном списке элементов содержимого, при этом последний просмотренный элемент содержимого был последним элементом содержимого, с которым взаимодействовал пользователь до того, как соответствующий интерфейс был покинут;
определяют посредством сервера оценку выигрыша по меньшей мере для одного элемента содержимого из соответствующего ранжированного списка элементов содержимого, который выбрал пользователь;
определяют оценку проигрыша по меньшей мере для одного элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого;
определяют для каждого элемента содержимого метку на основании упомянутой оценки выигрыша или упомянутой оценки проигрыша; и
обучают посредством сервера систему ранжирования прогнозированию оценки релевантности элементов содержимого с использованием упомянутой определенной метки для каждого из элементов содержимого из ранжированного списка элементов содержимого; и
во время фазы использования системы ранжирования, причем система ранжирования обучена ранжированию элементов содержимого на основании предыдущих пользовательских взаимодействий:
принимают посредством сервера набор элементов содержимого;
прогнозируют посредством системы ранжирования прогнозируемую оценку релевантности для каждого элемента содержимого из набора элементов содержимого; и
определяют на основании прогнозируемой оценки релевантности каждого соответствующего элемента содержимого положения в ранжировании каждого элемента содержимого в наборе элементов содержимого, при этом определение оценки проигрыша по меньшей мере для одного элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, содержит этапы, на которых:
определяют для элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, количество элементов содержимого, отображаемых между упомянутым элементом содержимого и последним просмотренным элементом содержимого; и
определяют на основании количества элементов содержимого оценку проигрыша для упомянутого элемента содержимого.
2. Способ по п. 1, в котором определение оценки проигрыша по меньшей мере для одного элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, содержит этапы, на которых:
определяют для первого элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, первое количество элементов содержимого, отображаемых между первым элементом содержимого и последним просмотренным элементом содержимого;
определяют для второго элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, второе количество элементов содержимого, отображаемых между вторым элементом содержимого и последним просмотренным элементом содержимого;
определяют на основании первого количества элементов содержимого первую оценку проигрыша для первого элемента содержимого; и
определяют на основании второго количества элементов содержимого вторую оценку проигрыша для второго элемента содержимого, при этом вторая оценка проигрыша больше первой оценки проигрыша, и при этом второе количество элементов содержимого меньше первого количества элементов содержимого.
3. Способ по п. 1, дополнительно содержащий этап, на котором отображают вертикально расположенный набор мозаичных элементов, причем каждый мозаичный содержит элемент содержимого из набора элементов содержимого.
4. Способ по п. 3, в котором вертикально расположенный набор мозаичных элементов отображается в порядке положений ранжирования.
5. Способ по п. 1, в котором для каждого набора данных каждый элемент содержимого в соответствующем ранжированном списке элементов содержимого отображался соответствующему пользователю.
6. Способ по п. 1, дополнительно содержащий этап, на котором для каждого набора данных удаляют любые элементы содержимого в соответствующем ранжированном списке элементов содержимого, которые не отображались соответствующему пользователю.
7. Способ по п. 1, в котором определение положений элементов в ранжировании каждого элемента содержимого содержит этап, на котором ранжируют набор элементов содержимого в порядке от элемента содержимого с самой высокой оценкой до элемента содержимого с самой низкой оценкой.
8. Способ определения положений элементов в ранжировании посредством системы ранжирования для набора элементов содержимого, отображаемых в интерфейсе, причем способ выполняется сервером и содержит этапы, на которых:
получают во время фазы обучения системы ранжирования множество наборов данных, причем каждый набор данных содержит указание предыдущих пользовательских взаимодействий, связанных с интерфейсом, отображающим ранжированный на основе оценки релевантности список элементов содержимого;
отображают для пользователя интерфейс, при этом интерфейс включает в себя множество элементов содержимого;
принимают указание пользовательских взаимодействий с интерфейсом, при этом пользовательские взаимодействия включают в себя:
выключение или обновление интерфейса;
а также по меньшей мере одно из:
нажатие на элемент содержимого в интерфейсе,
длительность нажатия на элемент содержимого,
нажатие на элемент содержимого и перенаправление на ресурс, соответствующий элементу содержимого,
наведение курсора на элемент содержимого,
длительность наведения курсора на элемент содержимого,
взаимодействие с элементом содержимого в зависимости от атрибута упомянутого элемента содержимого;
причем атрибутом элемента содержимого является по меньшей мере одно из:
тип элемента содержимого,
источник элемента содержимого,
ранжирование элемента содержимого,
количество просмотров элемента содержимого,
размер элемента содержимого,
цветовое решение элемента содержимого,
присутствие объекта в элементе содержимого,
ресурс, соответствующий элементу содержимого,
возраст элемента содержимого;
а типом элемента содержимого является по меньшей мере одно из: изображение, видео, аудио, текст, документ, ресурс, анимация, гиперссылка, электронные таблицы; определяют последний просмотренный элемент содержимого из множества элементов содержимого, при этом последний просмотренный элемент содержимого был последним элементом, с которым взаимодействовал пользователь до выключения или обновления интерфейса;
определяют один или более элементов содержимого из множества элементов содержимого, которые отображались для пользователя под последним просмотренным элементом содержимого; и
определяют для каждого из одного или более элементов содержимого оценку проигрыша, соответствующую соответствующему элементу содержимого, по меньшей мере частично на основании положения соответствующего элемента содержимого под последним просмотренным элементом содержимого,
определяют, на основании упомянутой оценки проигрыша, метку для последнего просмотренного элемента содержимого и для каждого из одного или более элементов содержимого под последним просмотренным элементом содержимого; и
обучают посредством сервера систему ранжирования прогнозированию оценки релевантности элементов содержимого на основании предыдущих пользовательских взаимодействий с использованием упомянутой определенной метки; и
во время фазы использования обученной таким образом системы ранжирования элементов содержимого:
принимают посредством сервера набор элементов содержимого;
прогнозируют посредством системы ранжирования прогнозируемую оценку релевантности для каждого элемента содержимого из набора элементов содержимого; и
определяют на основании прогнозируемой оценки релевантности каждого соответствующего элемента содержимого положения в ранжировании каждого элемента содержимого в наборе элементов содержимого в ответ на выключение или обновление интерфейса,
при этом определение оценки проигрыша, соответствующей соответствующему элементу, содержит этапы, на которых:
определяют количество элементов, отображаемых между последним просмотренным элементом содержимого и соответствующим элементом; и
определяют на основании упомянутого количества элементов оценку проигрыша для соответствующего элемента.
9. Способ по п. 8, в котором один или более элементов содержимого содержат первый элемент содержимого и второй элемент содержимого, и дополнительно содержащий этапы, на которых:
определяют для первого элемента содержимого первое количество элементов содержимого, отображаемых между первым элементом содержимого и последним просмотренным элементом содержимого;
определяют для второго элемента содержимого второе количество элементов содержимого, отображаемых между вторым элементом содержимого и последним просмотренным элементом содержимого;
определяют на основании первого количества элементов содержимого первую оценку проигрыша для первого элемента содержимого; и
определяют на основании второго количества элементов содержимого вторую оценку проигрыша для второго элемента содержимого, при этом вторая оценка проигрыша больше, чем первая оценка проигрыша, и при этом второе количество элементов содержимого меньше, чем первое количество элементов содержимого.
10. Способ по п. 8, в котором интерфейс содержит ранжированный список из множества элементов содержимого.
11. Способ по п. 8, в котором указание пользовательских взаимодействий содержит запись пользовательских вводов, принятых при отображении интерфейса.
12. Система ранжирования элементов содержимого, содержащая:
по меньшей мере один процессор и
память, в которой сохранено множество исполняемых команд, которые при выполнении по меньшей мере одним процессором побуждают систему:
в фазе обучения системы ранжирования получать множество наборов данных, причем каждый набор данных содержит указание предыдущих пользовательских взаимодействий, связанных с интерфейсом, отображающим ранжированный на основе оценки релевантности список элементов содержимого,
при этом пользовательские взаимодействия с элементом содержимого интерфейса выбраны из набора, содержащего по меньшей мере одно из:
нажатие на элемент содержимого в интерфейсе,
длительность нажатия на элемент содержимого,
нажатие на элемент содержимого и перенаправление на ресурс, соответствующий элементу содержимого,
наведение курсора на элемент содержимого,
длительность наведения курсора на элемент содержимого,
взаимодействие с элементом содержимого в зависимости от атрибута упомянутого элемента содержимого;
причем атрибутом элемента содержимого является по меньшей мере одно из:
тип элемента содержимого,
источник элемента содержимого,
ранжирование элемента содержимого,
количество просмотров элемента содержимого,
размер элемента содержимого,
цветовое решение элемента содержимого,
присутствие объекта в элементе содержимого,
ресурс, соответствующий элементу содержимого,
возраст элемента содержимого;
а типом элемента содержимого является по меньшей мере одно из: изображение, видео, аудио, текст, документ, ресурс, анимация, гиперссылка, электронные таблицы;
и для каждого набора данных из множества наборов данных:
определять последний просмотренный элемент содержимого в соответствующем ранжированном списке элементов содержимого, при этом последний просмотренный элемент содержимого был последним элементом содержимого, выбранным пользователем до того, как соответствующий интерфейс был покинут;
определять посредством сервера оценку выигрыша по меньшей мере для одного элемента содержимого из соответствующего ранжированного списка элементов содержимого, который выбрал пользователь;
определять оценку проигрыша по меньшей мере для одного элемента содержимого с более низким рангом, чем последний просмотренный элемент содержимого;
определять для каждого элемента содержимого метку на основании упомянутой оценки выигрыша или упомянутой оценки проигрыша; и
обучать посредством сервера систему ранжирования прогнозированию оценки релевантности элементов содержимого с использованием упомянутой определенной метки для каждого из элементов содержимого из ранжированного списка элементов содержимого; и
во время фазы использования системы ранжирования, причем система ранжирования обучена ранжированию элементов содержимого на основе предыдущих пользовательских взаимодействий:
принимать посредством сервера набор элементов содержимого;
прогнозировать посредством системы ранжирования прогнозируемую оценку релевантности для каждого элемента содержимого из набора элементов содержимого; и
определять на основании прогнозируемой оценки релевантности каждого соответствующего элемента содержимого положения в ранжировании каждого элемента содержимого в наборе элементов содержимого,
при этом команды, которые побуждают систему определять оценку проигрыша по меньшей мере для одного элемента содержимого, содержат команды, которые побуждают систему:
определять для элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, количество элементов содержимого, отображаемых между упомянутым элементом содержимого и последним просмотренным элементом содержимого; и
определять на основании упомянутого количества элементов содержимого оценку проигрыша для элемента содержимого.
13. Система по п. 12, в которой команды, которые побуждают систему определять оценку проигрыша по меньшей мере для одного элемента содержимого, содержат команды, которые побуждают систему:
определять для первого элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, первое количество элементов содержимого, отображаемых между первым элементом содержимого и последним просмотренным элементом содержимого;
определять для второго элемента содержимого, имеющего более низкий ранг, чем последний просмотренный элемент содержимого, второе количество элементов содержимого, отображаемых между вторым элементом содержимого и последним просмотренным элементом содержимого;
определять на основании первого количества элементов содержимого первую оценку проигрыша для первого элемента содержимого; и
определять на основании второго количества элементов содержимого вторую оценку проигрыша для второго элемента содержимого, при этом вторая оценка проигрыша больше, чем первая оценка проигрыша, и при этом второе количество элементов содержимого меньше, чем первое количество содержимого элементы.
14. Система по п. 12, в которой команды побуждают систему:
отображать в порядке положений ранжирования вертикально расположенный набор мозаичных элементов, причем каждый мозаичный элемент содержит элемент содержимого из набора элементов содержимого.
15. Система по п. 12, в которой для каждого набора данных каждый элемент содержимого в соответствующем ранжированном списке элементов содержимого отображался соответствующему пользователю.
16. Система по п. 12, в которой команды побуждают систему удалять для каждого набора данных любые элементы содержимого в соответствующем ранжированном списке элементов содержимого, которые не отображались соответствующему пользователю.
17. Система по п. 12, в которой команды, которые побуждают систему определять положения ранжирования каждого элемента содержимого, содержат команды, которые побуждают систему ранжировать набор элементов содержимого в порядке от элемента содержимого с самой высокой оценкой до элемента содержимого с самой низкой оценкой.
US 10545624 B2, 28.01.2020 | |||
US 8180768 B2, 15.05.2012 | |||
Способ и система для рекомендации медиаобъектов | 2017 |
|
RU2666336C1 |
US 10713602 B2, 14.07.2020 | |||
RU 22692045 C1, 19.06.2019. |
Авторы
Даты
2024-12-05—Публикация
2021-04-09—Подача