Область техники
[01] Настоящее техническое решение относится к области поисковых систем в общем смысле, и в частности - к способу и устройству для создания рекомендованного набора элементов.
Уровень техники
[02] Различные глобальные или локальные сети связи (Интернет, Всемирная Паутина, локальные сети и подобные им) предлагают пользователю большой объем информации. Информация включает в себя контекстуальные разделы, такие как, среди прочего, новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о траффике, игры и информация развлекательного характера. Пользователи используют множество клиентских устройств (настольный компьютер, портативный компьютер, ноутбук, смартфон, планшеты и подобные им) для получения доступа к богатому информационному контенту (например, изображениям, аудио- и видеофайлам, анимированным изображениям и прочему мультимедийному контенту подобных сетей).
[03] Объем доступной информации на различных Интернет-ресурсах экспоненциально вырос за последние несколько лет. Были разработаны различные решения, которые позволяют обычному пользователю находить информацию, которую он(а) ищет. Примером такого решения является поисковая система. Примеры поисковых систем включают в себя такие поисковые системы как GOOGLE™, YANDEX™, YAHOO! ™ и другие. Пользователь может получить доступ к интерфейсу поисковой системы и подтвердить поисковый запрос, связанный с информацией, которую пользователь хочет найти в Интернете. В ответ на поисковый запрос, поисковые системы предоставляют ранжированный список результатов поиска. Ранжированный список результатов поиска создается на основе различных алгоритмов ранжирования, которые реализованы в конкретной поисковой системе, и которые используются пользователем, производящим поиск. Общей целью таких алгоритмов ранжирования является представление наиболее релевантных результатов вверху ранжированного списка, а менее релевантных результатов - на менее высоких позициях ранжированного списка результатов поиска (а наименее релевантные результаты поиска будут расположены внизу ранжированного списка результатов поиска).
[04] Поисковые системы обычно являются хорошим поисковым инструментом в том случае, когда пользователю заранее известно, что именно он(а) хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. поисковая тема известна), пользователь может ввести поисковый запрос: «Наиболее популярные места в Италии». Поисковая система предоставит ранжированный список Интернет-ресурсов, которые потенциально являются релевантными по отношению к поисковому запросу. Пользователь далее может просматривать ранжированный список результатов поиска для того, чтобы получить информацию, в которой он заинтересован, в данном случае - о посещаемых местах в Италии. Если пользователь по какой-либо причине не удовлетворен представленными результатами, пользователь может произвести вторичный поиск, уточнив запрос, например «наиболее популярные места в Италии летом», «наиболее популярные места на юге Италии», «Наиболее популярные места в Италии для романтичного отдыха».
[05] Существует и другой подход, в котором пользователю предоставляется возможность обнаруживать содержимое и, конкретнее, позволяется отображать и/или рекомендовать содержимое, в поиске которого пользователь не был явно заинтересован. В некоторым смысле, подобные системы рекомендуют пользователю содержимое без отдельного поискового запроса, на основе явных или неявных интересов пользователя.
[06] Примерами таких систем являются система рекомендаций FLIPBOARD, которая агрегирует и рекомендует содержимое из различных социальных сетей. Система рекомендаций FLIPBOARD предоставляет содержимое в «журнальном формате», где пользователь может «пролистывать» страницы с рекомендуемым/агрегированным содержимым. Системы рекомендаций собирают содержимое из социальных медиа и других веб-сайтах, представляет его в журнальном формате, и позволяют пользователям «пролистывать» ленты социальных новостей и ленты веб-сайтов, которые поддерживают партнерские отношения с компанией, что позволяет эффективно «рекомендовать» содержимое пользователю, даже если пользователь явно не выражал свой интерес в конкретном содержимом.
[07] Для создания ранжированных результатов поиска в поисковой системе или списка рекомендуемых ресурсов в обычной системе рекомендаций, соответствующие системы используют алгоритмы машинного обучения для выбора результатов поиска и/или рекомендуемого содержимого. Существуют различные алгоритмы машинного обучения, известные в данной области техники, и использующиеся в поисковых системах и системах рекомендаций. Как известно, обычные алгоритмы машинного обучения сначала «обучаются» с помощью обучающей выборки (которая является помеченной или не помеченной) для создания формулы алгоритма машинного обучения, которая далее применяется для определения во время работы выходных данных на основе входных данных системы.
Раскрытие изобретения
[08] Разработчики настоящего технического решения обратили внимание на некоторые технические недостатки, связанные с существующими системами рекомендаций. Обычные системы рекомендаций как правило требуют большого количества времени для предоставления релевантных рекомендаций содержимого. Другие системы рекомендаций могут предоставлять рекомендации содержимого за приемлемый период времени, но рекомендации содержимого могут быть недостаточно релевантными для конкретного пользователя. Задачей предлагаемого технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[09] Одним объектом настоящего технического решения является способ создания рекомендованного подмножества элементов для пользователя электронного устройства, способ выполняется на сервере. Способ включает в себя: получение сервером пользовательских событий, связанных со множеством пользователей, причем пользовательские события содержат указания на пользовательские запросы, связанные со множеством пользователей; для каждого из запросов пользователей, создание сервером ранжированного списка прогнозированных элементов, который включает в себя по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов, таким образом каждый конкретный элемент в ранжированном списке прогнозированных элементов обладает соответствующим рангом; для каждого элемента во множестве ранжированных списков прогнозированных элементов, создание севером оценки элемента на основе совокупности рангов, связанных с ним; получение сервером запроса на рекомендованное подмножество элементов; и создание сервером рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов, причем создание рекомендованного подмножества элементов включает в себя выбор сервером по меньшей мере одного элемента во множестве ранжированных списков прогнозированных элементов как рекомендованного подмножества элементов на основе оценок элементов во множестве ранжированных списков прогнозированных элементов.
[10] В некоторых вариантах осуществления способа, каждый из ранжированных списков прогнозированных элементов связан с соответствующим пользовательским запросом.
[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] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[38] В контексте настоящего описания «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы, списки слов и т.д.
[39] В контексте настоящего описания «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[40] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[41] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[42] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
[43] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[44] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где;
[45] На Фиг. 1 представлена система, подходящая для реализации неограничивающих вариантов осуществления настоящего технического решения.
[46] На Фиг. 2 представлены примеры входных и выходных данных модуля прогнозирования системы, показанной на Фиг. 1.
[47] На Фиг. 3 представлено создание ранжированных списков прогнозированных элементов модулем обработки системы, показанной на Фиг. 1.
[48] На Фиг. 4 представлен снимок экрана интерфейса рекомендаций, реализованного в соответствии с неограничивающим вариантом осуществления настоящего технического решения, интерфейс рекомендаций создан на электронном устройстве, связанном с пользователем системы, показанной на Фиг. 1.
[49] На Фиг. 5 представлен снимок экрана интерфейса рекомендаций, реализованного в соответствии с другим неограничивающим вариантом осуществления настоящего технического решения, интерфейс рекомендаций создан на электронном устройстве, связанном с пользователем системы, показанной на Фиг. 1.
[50] На Фиг. 6 представлен снимок экрана интерфейса рекомендаций, реализованного в соответствии с еще одним неограничивающим вариантом осуществления настоящего технического решения, интерфейс рекомендаций создан на электронном устройстве, связанном с пользователем системы, показанной на Фиг. 1.
[51] На Фиг. 7 представлена блок-схема способа, выполняемого в рамках системы, изображенной на Фиг. 1, и выполненного в соответствии с вариантом осуществления настоящего технического решения, не ограничивающим его объем.
Осуществление
[52] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, который в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[53] В общем случае, система 100 выполнена с возможностью предоставлять рекомендации содержимого пользователю 102 системы 100. В некоторых вариантах осуществления настоящего технического решения, пользователь 102 может являться новым подписчиком сервиса рекомендаций, который предоставляет система 100. Однако, подписка не обязана быть оплачиваемой или ускоренной. Например, пользователь 102 может стать новым подписчиком путем скачивания рекомендательного предложения из система 100, путем регистрации и предоставления сочетания логина/пароля, путем регистрации и предоставления предпочтений пользователя и так далее. Поэтому любой вариант системы, выполненный с возможностью создавать рекомендации содержимого для данного пользователя, может быть адаптирован специалистом для выполнения вариантов осуществления настоящего технического решения после того, как специалистом было прочитано настоящее описание. Кроме того, система 100 может быть описана с помощью примера системы 100, которая является системой рекомендаций (следовательно, система 100 может упоминаться как «система 100 рекомендаций» или «система 100 прогнозирования»). Тем не менее, варианты осуществления настоящего технического решения могут также применяться к другим типам систем 100, как будет более подробно описано далее.
[54] В некоторых вариантах осуществления настоящего технического решения, система 100 может предоставлять рекомендации содержимого множеству пользователей 103 системы 100. Множество пользователей 103 может представлять собой подписчиков сервиса рекомендаций, который предоставляет система 100. Однако, подписка не обязательно должна быть оплачиваемой или ускоренной. Множество пользователей 103 может отправлять пользовательские запросы в поисковую систему (не показана). В других вариантах осуществления настоящего технического решения, поставщик сервиса рекомендаций системы 100 также может являться поставщиком поисковой системы. В дополнительных вариантах осуществления настоящего технического решения, поставщик сервиса рекомендаций системы 100 может отличаться от поставщика поисковой системы.
[55] Система 100 содержит электронное устройство 104, электронное устройство 104 связано с пользователем 102. Таким образом, электронное устройство 104 может иногда упоминаться как «клиентское устройство», «устройство конечного пользователя» или «клиентское электронное устройство». Следует отметить, что тот факт, что электронное устройство 104 связано с пользователем 102, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
[56] Варианты электронного устройства 104 конкретно не ограничены, но в качестве примера электронного устройства 104 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (смартфоны, мобильные телефоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Электронное устройство 104 содержит аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в области техники, чтобы выполнять рекомендательное приложение 106. В общем случае, задачей рекомендательного приложения 106 является позволить пользователю получать (или каким-либо иным способом иметь доступ) к рекомендациям содержимого, которые предоставлены системой 100, как будет более подробно описано далее.
[57] Реализация рекомендательного приложения 106 никак конкретно не ограничена. Одним из примеров выполнения рекомендательного приложения 106 является доступ пользователем 102 на веб-сайт, соответствующий сервису рекомендаций, для получения доступа к рекомендательному приложению 106. Например, рекомендательное приложение 106 может быть вызвано путем ввода (или копирования-вставки или выбора ссылки) URL, связанного с сервисом рекомендаций. Альтернативно, рекомендательное приложение 106 может являться приложением, скачанным из так называемого магазина приложений, например, APPSTORE™ или GOOGLEPLAY™, и установленным/используемым на электронном устройстве 104. Важно иметь в виду, что рекомендательное приложение 106 может быть вызвано с помощью любых других средств.
[58] В общем случае, рекомендательное приложение 106 включает в себя рекомендательный интерфейс 108, причем рекомендательный интерфейс 108 отображается на экране (отдельно не пронумерован) электронного устройства 104. На Фиг. 4 представлен снимок экрана с рекомендательным интерфейсом 108, который выполняется в соответствии с одним неограничивающим вариантом осуществления настоящего технического решения. В некоторых вариантах осуществления настоящего технического решения, рекомендательный интерфейс 108 активируется, когда пользователь 102 электронного устройства 104 активирует (т.е. запускает, использует, запускает в фоновом режиме и так далее) рекомендательное приложение 106. Альтернативно, рекомендательный интерфейс 108 может быть активирован, когда пользователь 102 открывает новое окно браузера и/или активирует новую вкладку в браузерном приложении.
[59] Рекомендательный интерфейс 108 включает в себя поисковый интерфейс 450 (Фиг. 4). Поисковый интерфейс 450 включает в себя интерфейс 452 поискового запроса. Интерфейс 452 поискового запроса может быть реализован как «омнибокс», что позволяет вводить поисковый запрос для проведения поиска или сетевой адрес (например, Единый Указатель Ресурсов (URL)) для идентификации ресурса (например, веб-сайта), который будет вызван.
[60] Рекомендательный интерфейс 108 дополнительно включает в себя интерфейс 454 ссылок. Интерфейс 454 ссылок включает в себя активаторы 456, и каждый из множества активаторов 456 обладает ссылкой на (i) веб-сайт, отмеченный как «избранное» или как-либо иначе отмеченный пользователем 102, (ii) ранее посещенный веб-сайт и (iii) тому подобное. Множество активаторов 456 в представленном варианте осуществления визуально представлено пользователю 102 в виде квадратных кнопок с логотипом и/или названием представленного ресурса, логотип и название позволяют пользователю 102 идентифицировать, на какой ресурс ведет каждый из множества активаторов 456. Тем не менее, важно иметь в виду, что визуальное представление некоторых или всех из множества активаторов 456 может быть иным. Таким образом, некоторые или все из множества активаторов 456 могут быть реализованы как кнопки других форм, как список гиперссылок и так далее.
[61] В качестве примера, множество активаторов 456 включает в себя, среди прочего, первый активатор 458 и второй активатор 460. Первый активатор 458 может быть связан со ссылкой на поисковую систему Яндекс™, и, по этой причине, первый активатор 458 обладает логотипом поисковой системы Яндекс, и может быть связан, например, с гиперссылкой www.yandex.ru. Второй активатор 460 может быть связан со ссылкой на видео-сервис Youtube™, и, по этой причине, первый активатор 458 обладает логотипом видео-сервиса Youtube, и может быть связан, например, с гиперссылкой www.youtube.com. Излишне говорить, что число и содержимое индивидуальных активаторов из множества активаторов 456 никак конкретно не ограничено.
[62] Рекомендательный интерфейс 108 дополнительно включает в себя рекомендованное подмножество элементов 152. Рекомендованное подмножество элементов 152 включает в себя один или несколько рекомендованных элементов, например, первый рекомендованный элемент 464 и второй рекомендованный элемент 466. Естественно, рекомендованное подмножество элементов 152 может обладать более (или менее), чем двумя элементами (первым рекомендованным элементом 464 и вторым рекомендованным элементом 466). В рамках варианта осуществления настоящего технического решения, представленного на Фиг. 4, и тех вариантов осуществления настоящего технического решения, где присутствует более одного рекомендованного элемента, пользователь 102 может осуществлять прокрутку через рекомендованное подмножество элементов 152. Прокрутка может осуществляться любыми подходящими способами. Например, пользователь 102 может осуществлять прокрутку через рекомендованные элементы рекомендованного подмножества элементов 152 путем активации мыши (не показано), клавиши клавиатуры (не показано) или взаимодействия с сенсорным экраном (не показано) соответствующего электронного устройства 104. В варианте осуществления настоящего технического решения, представленном на Фиг. 4, пользователь 102 может осуществлять прокрутку через рекомендованные элементы (т.е. первый рекомендованный элемент 464 и второй рекомендованный элемент 466, а также другие рекомендованные элементы содержимого, которые потенциально присутствуют в рекомендованном подмножестве элементов 152) путем выполнения проведения справа налево или слева направо (или прокрутки с помощью мыши или клавиатуры). Тем не менее, следует отметить, что в альтернативных вариантах осуществления настоящего технического решения прокрутка через рекомендованные элементы может быть выполнена в вертикальном направлении или в любом другом удобном направлении.
[63] То, как именно создается рекомендованное подмножество элементов 152, будет более подробно описано далее.
[64] Рекомендательный интерфейс 108 на Фиг. 4 может считаться «обзорным экраном рекомендаций» в том смысле, что он предоставляет обзор рекомендованных элементов, а также другое содержимое и/или другие интерфейсы. Конкретнее, в представленном варианте осуществления настоящего технического решения, рекомендованное подмножество элементов 152 (которое позволяет пользователю 102 просматривать элементы, о заинтересованности в которых пользователь 102 может быть даже не осведомлен) представлено вместе со множеством активаторов 456 (которое позволяет пользователю 102 посматривать элементы, которые пользователь 102 отмечал как интересные), а также с поисковым интерфейсом 450 (который позволяет пользователю 102 искать ресурсы и/или получать доступ к ресурсам, например, ресурсам, которые доступны в Интернете и так далее).
[65] На Фиг. 5, рекомендательный интерфейс 108 представлен в виде «рекомендованных элементов». Конкретнее, рекомендательный интерфейс 108, представленный на Фиг. 5, включает в себя ранее упомянутое рекомендованное подмножество элементов 152, которое содержит первый рекомендованный элемент 464 и второй рекомендованный элемент 466 (содержимое которых отличается от того, что представлено на Фиг. 4). Дополнительно к рекомендованному подмножеству элементов 152, рекомендательный интерфейс 108 на Фиг. 5 дополнительно включает в себя выделенный рекомендованный элемент 570, который может быть наиболее релевантным / интересным рекомендованным элементом для пользователя 102, что было выбрано модулем 114 обработки (будет описан далее).
[66] Как будет понятно специалисту в области техники, рекомендательный интерфейс 108, показанный на Фиг. 5, не включает в себя элементы, которые аналогичны множеству активаторов 456 или поисковому интерфейсу 450. Таким образом, вариант рекомендованных элементов, относящихся к рекомендательному интерфейсу 108, позволяет пользователю 102 просматривать рекомендованные элементы без «отвлечения» на другие элементы (такие как избранные ссылки, поисковые интерфейсы и так далее).
[67] Наконец, со ссылкой на Фиг. 6, рекомендательный интерфейс 108 представлен в виде «просмотра рекомендованного элемента». 6 рамках иллюстрации, показанной на Фиг. 6, рекомендательный интерфейс 108 отображает один рекомендованный элемент 672. Просмотр рекомендованного элемента позволяет пользователю 102 просматривать индивидуальные рекомендованные элементы (такие как содержимое одного рекомендованного элемента 672, показанное на Фиг. 6).
[68] Следует отметить, что переход между просмотрами рекомендательного интерфейса 108, которые представлены на Фиг. 4, 5 и 6, может быть инициирован тем, что пользователь 102 выполняет конкретное действие. Например, после демонстрации рекомендательного интерфейса 108, показанного на Фиг. 4, когда пользователь нажимает на область, в общем случае связанную с рекомендованным подмножеством элементов 152, электронное устройство 104 может менять представление рекомендательного интерфейса 108, показанного на Фиг. 4, на показанный на Фиг. 5. Аналогичным образом, после нажатия пользователем 102 (или иной активации) одно конкретное рекомендованное подмножество элементов 152 отображается в пределах рекомендательного интерфейса 108 на Фиг. 5, электронное устройство 104 может менять представление рекомендательного интерфейса 108, показанного на Фиг. 4, на показанный на Фиг. 5.
[69] Возвращаясь к описанию Фиг. 1, электронное устройство 104 функционально соединено с сетью 110 передачи данных для получения доступа к серверу 112. В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, сеть 110 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящего технического решения, сеть 110 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п. Линия передачи данных (отдельно не пронумерована) между электронным устройством 104 и сетью 110 передачи данных реализована таким образом, что она будет зависеть, среди прочего, от того, как реализовано электронное устройство 104. В качестве примера, но не ограничения, в данных вариантах осуществления настоящего технического решения в случаях, когда электронное устройство 104 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 104 представляет собой портативный компьютер, линия связи может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).
[70] Сервер 112 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 112 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 112 может представлять собой любое другое подходящее аппаратное, прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 112 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 112 может быть разделена, и может выполняться с помощью нескольких серверов.
[71] Сервер 112 включает в себя модуль 114 обработки. Модуль 114 обработки функционально связан с модулем 116 прогнозирования. Модуль 114 обработки обладает доступом к первой базе 120 данных, второй базе 122 данных и третьей базе 124 данных. В представленном варианте осуществления настоящего технического решения, модуль 114 обработки обладает доступом к первой базе 120 данных, второй базе 122 данных и третьей базе 124 данных через модуль 116 прогнозирования. Тем не менее, в альтернативных вариантах осуществления настоящего технического решения модуль 114 обработки может обладать прямым доступом к некоторым или всем из первой базы 120 данных, второй базы 122 данных и третьей базы 124 данных.
[72] Кроме того, в представленном варианте осуществления первая база 120 данных, вторая база 122 данных и третья база 124 данных представлены в виде отдельных физических элементов. Но это не является обязательным для каждого варианта осуществления настоящего технического решения. Таким образом, некоторые или все из первой базы 120 данных, второй базы 122 данных и третьей базы 124 данных могут быть реализованы в виде одной базы данных. Кроме того, любая из первой базы 120 данных, второй базы 122 данных и третьей базы 124 данных может быть разделена на несколько отдельных баз данных.
[73] Аналогичным образом, модуль 114 обработки и модуль 116 прогнозирования представлены в виде отдельных физических единиц. Но это не является обязательным для каждого варианта осуществления настоящего технического решения. Таким образом, некоторые или все из модуля 114 обработки и модуля 116 прогнозирования могут быть реализованы в виде одного устройства аппаратного обеспечения. Кроме того, любой из модуля 114 обработки и модуля 116 прогнозирования может быть разделен на несколько отдельных устройств аппаратного обеспечения.
[74] Аналогичным образом, все (или любая комбинация из) модуля 114 обработки и модуля 116 прогнозирования, первой базы 120 данных, второй базы 122 данных и третьей базы 124 данных могут быть реализованы как одно устройство аппаратного обеспечения.
[75] Функции различных компонентов сервера 112 будут более подробно описаны ниже.
[76] Модуль 114 обработки выполнен с возможностью (i) получать от электронного устройства 104 запрос на рекомендованное подмножество элементов 152 и (ii) в ответ на запрос, создавать рекомендованное подмножество элементов 152, специально настроенное для пользователя 102, связанного с электронным устройством 104. Модуль 114 обработки может дополнительно координировать выполнение различных процедур, описанных здесь как выполняемые модулем 116 прогнозирования, а также первой базой 120 данных, второй базой 122 данных и третьей базой 124.
[77] В некоторых вариантах осуществления настоящего технического решения, запрос 150 может быть создан в ответ на предоставление пользователем 102 явного указания на его/ее желание получить рекомендованное подмножество элементов 152. Например, вышеупомянутый рекомендательный интерфейс 108 может предоставлять кнопку (или другой активируемый элемент), который позволит пользователю 102 выражать свое желание получить новое или обновленное рекомендованное подмножество элементов. В качестве неограничивающего примера, рекомендательный интерфейс 108 может предоставить активируемую кнопку, на которой написано «запросить рекомендации содержимого». В рамках этих вариантов осуществления настоящего технического решения, запрос 150 на рекомендованное подмножество элементов 152 может считаться «явным запросом» в том смысле, что пользователь 102 явно выражает запрос на рекомендованное подмножество элементов 152.
[78] В других вариантах осуществления настоящего технического решения, запрос 150 может быть создан в ответ на предоставление пользователем 102 неявного указания на его/ее желание получить рекомендованное подмножество элементов 152. В некоторых вариантах осуществления настоящего технического решения, запрос 150 может быть создан в ответ на то, что пользователь 102 запускает рекомендательное приложение 106.
[79] В некоторых других вариантах осуществления настоящего технического решения, запрос 150 может быть создан даже без предоставления пользователем 102 явного или неявного указания на его/ее желание получить рекомендованное подмножество элементов 152. Например, в тех вариантах осуществления настоящего технического решения, где рекомендательное приложение 106 реализовано в виде браузера (например, браузер GOOGLE™, браузер YANDEX™, a YAHOO! ™ браузер или любое другое собственное или коммерчески доступное браузерное приложение), запрос 150 может быть создан в ответ на то, что пользователь 102 открывает браузерное приложение и может быть создан, например, без выполнения пользователем 102 каких-либо действий, кроме активации браузерного приложения. В качестве другого примера, запрос 150 может быть создан в ответ на открытие пользователем 102 новой вкладки в уже открытом браузерном приложении, и может быть создан, например, без выполнения пользователем 102 каких-либо действий, кроме активации новой вкладки браузера. Другими словами, запрос 150 может быть создан даже без знания пользователя 102 о том, что он может быть заинтересован в получении рекомендованного подмножества элементов 152.
[80] В качестве другого примера, запрос 150 может быть создан в ответ на выбор пользователем 102 конкретного элемента браузерного приложения, и могут быть созданы, например, без выполнения пользователем 102 каких-либо действий, кроме активации/выбора конкретного элемента браузерного приложения.
[81] Примеры конкретного элемента браузерного приложения включают в себя, без установления ограничений:
- адресную строку строки браузерного приложения;
- поисковую строку браузерного приложения и/или поисковую строку веб-сайта поисковой системы, доступного в браузерном приложении;
- омнибокс (связанные адрес и поисковая строка браузерного приложения);
- панель избранных или недавно посещенных сетевых ресурсов;
- любую другую заранее определенную область интерфейса браузерного приложения или веб-ресурса, отображенного в браузерном приложении.
[82] В некоторых вариантах осуществления настоящего технического решения, модуль 116 прогнозирования может выполнять алгоритм машинного обучения. Например, модуль 116 прогнозирования может выполнять любой подходящий алгоритм машинного обучения с учителем, такой как, например:
- искусственная нейронная сеть;
- Байесовская статистика;
- Гауссовский процесс регрессии;
- деревья решений;
- и так далее;
[83] В некоторых вариантах осуществления настоящего технического решения, со ссылкой на Фиг. 2, модуль 116 прогнозирования может создавать таблицу 210, содержащую множество потенциальных ранжированных списков 220 прогнозированных элементов и столбец 225 соответствующих рангов. В этом случае, множество потенциальных ранжированных списков 220 прогнозированных элементов может включать в себя ранжированные списки 211, 212, 213, 214, 215 и 216 прогнозированных элементов.
[84] Следует отметить, что в тех вариантах осуществления настоящего технического решения, где модуль 116 прогнозирования реализует алгоритм машинного обучения, модуль 116 прогнозирования может включать в себя алгоритм 204 ранжирования. Алгоритм 204 ранжирования может быть заранее обучен с помощью набора обучающих данных для создания таблицы 210. Например, набор обучающих данных может включать в себя обучающие подмножества потенциально рекомендуемых элементов и обучающие подмножества запросов пользователя для элементов в обучающих подмножествах потенциально рекомендуемых элементов. Каждый пользовательский запрос в обучающих подмножествах запросов пользователя может включать в себя соответствующий контекст запроса.
[85] Первая база 120 данных выполнена с возможностью хранить модульную информацию. Модульная информация может включать в себя информацию, которая хранится на модуле 114 обработки и/или модуля 116 прогнозирования.
[86] Вторая база 122 данных выполнена с возможностью хранить информацию, связанную с набором потенциально рекомендуемых элементов 200, представленных на Фиг. 2. Природа одного или нескольких элементов в наборе потенциально рекомендованных элементов 200 никак конкретно не ограничена. Некоторые примеры одного или нескольких потенциально рекомендуемых элементов включают в себя, без установления ограничений:
- новостной элемент;
- публикацию;
- веб-ресурс;
- пост на веб-сайте социального медиа;
- новый элемент, который будет загружен из магазина приложений;
- новую песню (музыкальный трек), которая будет проиграна / загружена с ресурса, размещающего содержимое;
- новый фильм (видеоклип), который будет проигран / загружен с ресурса, размещающего содержимое;
- новый документ, загруженный для просмотра на веб-сайте социального медиа (например, новую фотографию, которая загружена в учетную запись в сетях INSTRAGRAM или FACEBOOK).
[87] Третья база 124 данных выполнена с возможностью хранить информацию, относящуюся к пользовательским событиям (связанным со множеством пользователей 103 системы 100). Естественно, пользовательские события могут храниться в зашифрованной форме. Примеры пользовательских событий включают в себя, без установления ограничений:
- данный пользователь из множества пользователей 103 ввел пользовательский запрос;
- указание на данный пользовательский запрос, введенное данным пользователей из множества пользователей 103;
- указание на контекст данного запроса, связанный с данным пользовательским запросом - дата, когда был введен данный пользовательский запрос, время, за которое был введен данный пользовательский запрос, место, из которого был введен данный пользовательский запрос, и тому подобное;
- данный пользователь прослушивает конкретный музыкальный трек после введения данного пользовательского запроса;
- данный пользователь «лайкает» конкретный музыкальный трек, альбом, связанный с конкретным музыкальным треком и/или артиста, исполняющего конкретный музыкальный трек после введения данного пользовательского запроса;
- данному пользователю был представлен конкретный ресурс в виде части рекомендованного набора содержимого, который был представлен после введения данного пользовательского запроса;
- данный пользователь кликнул (или иным образом выбрал) на конкретный ресурс, который был рекомендован как часть рекомендованного набора элементов содержимого, который был представлен после введения данного пользовательского запроса;
- данный пользователь купил / заказал / скачал конкретный элемент с веб-ресурса после введения данного пользовательского запроса.
[88] Важно иметь в виду, что пользовательские события могут принимать различные формы, и никак конкретно не ограничены. Таким образом, представленные выше списки неограничивающих примеров того, как реализованы пользовательские события, представлены здесь только для примера. И важно иметь в виду, что многие альтернативные варианты осуществления пользовательских событий могут быть представлены в других вариантах осуществления настоящего технического решения.
[89] То, как именно получают и сохраняют информацию в первой базе 120 данных, второй базе 122 данных и третьей базе 124 данных, никак конкретно не ограничено. Некоторые примеры вариантов осуществления будут подробно описаны далее.
[90] Например, информация, связанная с набором потенциально рекомендуемых элементов 200, может быть получена от конкретного сервиса, который располагает списком существующих и/или недавно ставших доступными элементов (например, онлайн ресурсы потоковых медиа, онлайн ресурсы скачивания медиа и так далее), от социальных сетей, на которые подписан пользователь 102 (и/или множество пользователей 103), новостные ресурсы и так далее; и сохранена во второй базе 122 данных.
[91] Например, информация, связанная с пользовательскими событиями может быть получена от конкретного сервиса, который размещает информацию о различных доступных элементах и пользовательских взаимодействиях множества пользователей 103 с различными элементами, пользовательские поисковые журналы множества пользователей 103, пользовательские журналы множества пользователей 103, связанные с взаимодействиями пользователя с конкретным сервисом, пользовательские журналы браузера множества пользователей 103 и так далее; и сохранена в третьей базе 124 данных. Информация, связанная с пользовательскими событиями, может храниться в зашифрованной форме.
[92] В некоторых вариантах осуществления настоящего технического решения модуль 114 обработки и модуль 116 прогнозирования могут быть выполнены с возможностью выполнять различные описанные здесь процедуры для исполнения различных функциональностей настоящего технического решения.
[93] В некоторых вариантах осуществления настоящего технического решения, модуль 116 прогнозирования может быть выполнен с возможностью осуществлять получение пользовательских событий, связанных со множеством пользователей 103. Как было упомянуто ранее, пользовательские события могут включать в себя указания на пользовательские запросы, связанные со множеством пользователей 103. В других вариантах осуществления настоящего технического решения, каждое указание на пользовательский запрос, связанный со множеством пользователей 103, может включать в себя соответствующий контекст пользовательского запроса.
[94] В других вариантах осуществления настоящего технического решения, модуль 116 прогнозирования выполнен с возможностью создавать множество потенциальных ранжированных списков 220 прогнозированных элементов, показанных на Фиг. 2. С этой целью, модуль 116 прогнозирования может извлекать набор потенциально рекомендуемых элементов 200 из второй базы 122 данных. В этом случае, набор потенциально рекомендуемых элементов 200 может включать в себя десять элементов I1, I2, I3, I4, I5, I6, I7, I8, I9 и I10. В некоторых вариантах осуществления настоящего технического решения, набор потенциально рекомендуемых элементов 200 может включать в себя, например, 1000, 5000, 100000 или 900000 элементов. Следует отметить, что набор потенциально рекомендуемых элементов 200 включает в себя десять элементов, что представлено только для простоты понимания, и что набор потенциально рекомендуемых элементов 200 может включать в себя больше (или меньше) элементов, чем десять элементов, представленных на Фиг. 2.
[95] Модуль 116 прогнозирования может извлекать пользовательские события, хранящиеся в третьей базе 124 данных, которая содержит указания на пользовательские запросы в наборе пользовательских запросов 202, причем пользовательские запросы могут быть связаны со множеством пользователей 103. В этом случае, набор пользовательских запросов 202 может включать в себя шесть пользовательских запросов Q1, Q2, Q3, Q4, Q5 и Q6. В других вариантах осуществления настоящего технического решения, набор пользовательских запросов 202 может включать в себя, например, 10000, 50000, 150000 или 500000 пользовательских запросов. Следует отметить, что набор пользовательских запросов 202 включает в себя шесть пользовательских запросов, что представлено только для простоты понимания, и что набор пользовательских запросов 202 может включать в себя больше (или меньше) элементов, чем шесть пользовательских запросов, представленных на Фиг. 2.
[96] В некоторых вариантах осуществления настоящего технического решения, пользовательских запросов 202 может включать в себя только часть пользовательских запросов, связанных со множеством пользователей 103. Модуль 116 прогнозирования может извлекать пользовательские события, хранящиеся в третьей базе 124 данных, которая содержит указания на пользовательские запросы в наборе пользовательских запросов 202, и контексты пользовательских запросов, соответственно связанные с пользовательскими запросами в наборе пользовательских запросов 202. Например, контексты пользовательских запросов могут соответствовать датам пользовательских запросов в наборе пользовательских запросов 202, количеству пользовательских запросов в наборе пользовательских запросов 202, географическим местоположениям, откуда поступали пользовательские запросы в наборе пользовательских запросов 202 и так далее.
[97] Модуль 116 прогнозирования также может быть выполнен с возможностью вводить элементы из набора потенциально рекомендуемых элементов 200 в алгоритм 204 ранжирования. Другими словами, модуль 116 прогнозирования может быть выполнен с возможностью вводить элементы I1, I2, I3, I4, I5, I6, I7, I8, I9 и I10 в алгоритм 204 ранжирования. Модуль 116 прогнозирования может быть также выполнен с возможностью вводить пользовательские запросы 202, а также соответствующие контексты пользовательских запросов в алгоритм 204 ранжирования. Другими словами, модуль 116 прогнозирования может быть выполнен с возможностью вводить запросы Q1, Q2, Q3, Q4, Q5 и Q6, а также их соответствующие контексты пользовательских запросов в алгоритм 204 ранжирования. В результате, алгоритм 204 ранжирования может выводить таблицу 210.
[98] Таблица 210 может содержать потенциальные ранжированные списки 211, 212, 213, 214, 215 и 216 прогнозированных элементов, которые соответственно связаны с пользовательскими запросами Q1, Q2, Q3, Q4, Q5 и Q6 и их соответственно связанные контексты пользовательских запросов. Каждый потенциальный ранжированный список прогнозированных элементов может включать в себя элементы I1, I2, I3, I4, I5, I6, I7, I8, I9 и I10 из набора потенциально рекомендуемых элементов 200. Каждый из элементов I1, I2, I3, I4, I5, I6, I7, I8, I9 и I10 может быть ранжирован в каждом потенциальном списке прогнозированных элементов в помощью алгоритма 204 ранжирования. Другими словами, алгоритм 204 ранжирования может быть выполнен с возможностью выводить для каждого пользовательского запроса в наборе пользовательских запросов 202 ранжированное прогнозирование элементов в наборе потенциально рекомендуемых элементов 200 на основе того, насколько релевантным может быть каждый элемент в наборе потенциально рекомендуемых элементов 200 для соответствующего запроса и соответствующего связанного контекста пользовательского запроса.
[99] Например, алгоритм 204 ранжирования может прогнозировать, что элемент I2 будет наиболее релевантным элементом в наборе потенциально рекомендуемых элементов 200 для пользовательских запросов Q1, Q4, Q6 и их соответствующих связанных контекстов пользовательского запроса. Другими словами, элемент I2 может обладать связанным рангом «1» в потенциальных ранжированных списках 211, 213 и 216 прогнозированных элементов. В другом примере, алгоритм 204 ранжирования может прогнозировать, что элемент I4 будет наиболее релевантным элементом в наборе потенциально рекомендуемых элементов 200 для пользовательских запросов Q1, Q2 и их соответствующих связанных контекстов пользовательского запроса. Другими словами, элемент I2 может обладать связанным рангом «10» в потенциальных ранжированных списках 211 и 212 прогнозированных элементов.
[100] В некоторых вариантах осуществления настоящего технического решения, модуль 114 обработки может быть выполнен с возможностью извлекать из алгоритма 204 ранжирования таблицу 210 в модуле 116 прогнозирования. Другими словами, модуль 114 обработки может извлекать множество потенциальных ранжированных списков 220 прогнозированных элементов, и каждый потенциальный ранжированный список прогнозированных элементов включает в себя элементы из набора потенциально рекомендуемых элементов 200, и каждый элемент ранжирован в каждом потенциальном ранжированном списке прогнозированных элементов. Модуль 114 обработки также может извлекать связанные ранги элементов в каждом потенциальном ранжированном списке прогнозированных элементов среди множества потенциальных ранжированных списков 220 прогнозированных элементов. В других вариантах осуществления настоящего технического решения, модуль 114 обработки или модуль 116 прогнозирования может дополнительно сохранять таблицу 210 как часть модульной информации в первой базе 120 данных.
[101] В альтернативных вариантах осуществления настоящего технического решения, со ссылкой на Фиг. 3, модуль 116 обработки может быть выполнен с возможностью определять ранжированные списки 311, 312, 313, 314, 315 и 316 прогнозированных элементов на основе соответствующих потенциальных ранжированных списков 211, 212, 213, 214, 215 и 216 прогнозированных элементов. С этой целью, модуль 116 обработки может быть выполнен с возможностью укорачивать потенциальный ранжированный список прогнозированных элементов во множестве потенциальных ранжированных списков 220 прогнозированных элементов на основе порога 330 списка. Порог 330 списка может представлять собой максимальное число элементов в каждом ранжированном списке прогнозированных элементов среди множества ранжированных списков 320 прогнозированных элементов. В этом случае, максимальное число элементов в каждом ранжированном списке прогнозированных элементов может представлять собой пять элементов. Следовательно, модуль 114 обработки может быть выполнен с возможностью укорачивать каждый потенциально ранжированный список прогнозированных элементов во множестве потенциальных ранжированных списков 220 прогнозированных элементов после элемента с соответствующим рангом «5» в каждом потенциальном ранжированном списке прогнозированных элементов. В других вариантах осуществления настоящего технического решения, максимальное число элементов в каждом ранжированном списке прогнозированных элементов может представлять собой, например, 100 элементов. Следует отметить, что максимальное число элементов в каждом ранжированном списке прогнозированных элементов может быть большим (или меньшим), чем максимальное число элементов, представленных на Фиг. 3.
[102] В результате, таблица 210 может быть разделена на таблицу 310 и отсеченную часть 340 таблицы 210. Как упоминалось выше, таблица 310 содержит ранжированные списки 311, 312, 313, 314, 315 и 316 прогнозированных элементов. Таблица 310 может также включать в себя столбец 325 соответствующих рангов. Это означает, что модуль 114 может быть выполнен с возможностью создавать для каждого из пользовательских запросов Q1, Q2, Q3, Q4, Q5 и Q6 в наборе пользовательских запросов 202, соответствующий ранжированный список прогнозированных элементов, который включает в себя по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов 200. Другими словами, ранжированные списки 311, 312, 313, 314, 315 и 316 прогнозированных элементов связаны с пользовательскими запросами Q1, Q2, Q3, Q4, Q5 и Q6 соответственно. В некоторых вариантах осуществления настоящего технического решения, первый модуль 114 может сохранять таблицу 310 в первой базе 120 данных как часть модульной информации.
[103] Кроме того, каждый элемент в каждом ранжированном списке прогнозированных элементов обладает соответствующим связанным рангом в каждом ранжированном списке прогнозированных элементов. Например, элемент I9 обладает соответствующим рангом «5» в ранжированном списке 314 прогнозированных элементов, связанном с пользовательским запросом Q4. В другом примере, элемент I9 обладает соответствующим рангом «3» в ранжированном списке 315 прогнозированных элементов, связанном с пользовательским запросом Q5. В еще одном примере, элемент I9 обладает соответствующим рангом «5» в ранжированном списке 316 прогнозированных элементов, связанном с пользовательским запросом Q6.
[104] В некоторых вариантах осуществления настоящего технического решения, модуль 114 обработки может быть выполнен с возможностью создавать для каждого элемента во множестве ранжированных списков 320 прогнозированных элементов, оценку элемента на основе совокупности рангов, связанных с ним. В этом случае, модуль 114 обработки может определять, что множество ранжированных списков 320 прогнозированных элементов включает в себя элементы I1, I2, I3,16,17, I8 и I9. Другими словами, модуль 114 обработки может определять, что элементы I4, I5 и I10 не включены в какой-либо ранжированный список прогнозированных элементов среди ранжированных списков 311, 312, 313, 314, 315 и 316 прогнозированных элементов. Следовательно, модуль 114 обработки может быть выполнен с возможностью создавать для элементов I1, I2, I3, I6, I7, I8 и I9 соответствующую оценку элемента во множестве оценок 355 элементов на основе совокупности рангов, связанных с каждым из элементов I1, I2, I3, I6, I7, I8 и I9.
[105] Например, модуль 114 обработки может определять, что совокупность рангов, связанных с элементом I4, составляет «4». Другими словами, модуль 114 обработки может определять, что элемент I1 обладает четырьмя связанными рангами в шести ранжированных списках прогнозированных элементов. Следовательно, модуль 114 обработки может создавать оценку элемента «4/6» для элемента I1. В другом примере, модуль 114 обработки может определять, что совокупность рангов, связанных с элементом I3, составляет «6». Другими словами, модуль 114 обработки может определять, что элемент I3 обладает шестью связанными рангами в шести ранжированных списках прогнозированных элементов. Следовательно, модуль 114 обработки может создавать оценку элемента «6/6» для элемента I3. В еще одном примере, модуль 114 обработки может определять, что совокупность рангов, связанных с элементом I8, составляет «3». Другими словами, модуль 114 обработки может определять, что элемент I8 обладает тремя связанными рангами в шести ранжированных списках прогнозированных элементов. Следовательно, модуль 114 обработки может создавать оценку элемента «3/6» для элемента I8.
[106] В некоторых вариантах осуществления настоящего технического решения, модуль 114 обработки может хранить в первой базе 120 данных оценки элементов и соответственно связанные элементы во множестве ранжированных списков 320 прогнозированных элементов. В этом случае, модуль 114 обработки может хранить в первой базе 120 данных элементы I1, I2, I3, I6, I7, I8 и I9, соответственно связанные с оценками элементов «4/6», «4/6», «6/6», «4/6», «5/6», «3/6» и «4/6» как часть модульной информации.
[107] В дополнительных вариантах осуществления настоящего технического решения, сервер 112 может быть выполнен с возможностью получать запрос 150 для рекомендованного подмножества элементов 152. Другими словами, сервер 112 может получать запрос 150 от электронного устройства 104 для передачи сигнала 153 электронному устройству 104 для отображения пользователю 102 рекомендованного подмножества элементов 152. С этой целью, модуль 114 обработки может быть выполнен с возможностью создавать рекомендованное подмножество элементов 152.
[108] В некоторых вариантах осуществления настоящего технического решения, модуль 114 обработки может получать из первой базы 120 данных модульную информацию, включающую в себя элементы I1, I2, I3, I6, I7, I8 и I9 (т.е. элементы I1, I2, I3, I6, I7, I8 и I9 находятся в составе набора потенциально рекомендуемых элементов 200 и множества ранжированных списков 320 прогнозированных элементов), соответственно связанные с оценками элементов «4/6», «4/6», «6/6», «4/6», «5/6», «3/6» и «4/6». В других вариантах осуществления настоящего технического решения, модуль 114 обработки может получить модульную информацию, включающую в себя таблицу 310. Модуль 114 обработки может выбирать по меньшей мере один элемент во множестве ранжированных списков 320 прогнозированных элементов как рекомендованное подмножество элементов 152 на основе оценок элементов во множестве ранжированных списков 320 прогнозированных элементов.
[109] Например, модуль 114 обработки может выбирать элемент I3 как рекомендованное подмножество элементов 152 на основе соответствующей оценки элемента «6/6», поскольку оценка элемента «6/6» выше, чем любая другая оценка элемента во множестве оценок 355 элементов. В другом примере, модуль 114 обработки может выбирать элементы I3 и I7 как рекомендованное подмножество элементов 152 на основе соответствующих оценок элементов «6/6» и «5/6», поскольку оценки элементов «6/6» и «5/6» выше, чем любая другая оценка элемента во множестве оценок 355 элементов. В дополнительном примере, модуль 114 обработки может выбирать элементы I1, I2, I3, I6, I7, I8 и I9 как рекомендованное подмножество элементов 152, поскольку каждый из элементов I1, I2, I3, I6, I7, I8 и I9 обладает соответствующей оценкой элемента во множестве оценок 355 элементов, с которыми они связаны.
[110] В дополнительных вариантах осуществления настоящего технического решения, модуль 114 обработки может выбирать по меньшей мере один элемент во множестве ранжированных списков 320 прогнозированных элементов в качестве рекомендованного подмножества элементов 152 на основе заранее определенного правила. Например, заранее определенное правило может быть определено заранее человеком-асессором. Заранее определенное правило может быть основано на оценках элементов во множестве ранжированных списков 320 прогнозированных элементов для указания на то, сколько элементов может быть выбрано модулем 114 обработки в качестве рекомендованного подмножества элементов 152.
[111] В некоторых вариантах осуществления настоящего технического решения, модуль 114 обработки может ранжировать по меньшей мере один элемент в рекомендованном подмножестве элементов 152 на основе соответствующих оценок элементов и соответствующих связанных рангов во множестве ранжированных списков 320 прогнозированных элементов. Например, если модуль 114 обработки выбирает элементы I1, I2, I3, I6, I7, I8 и I9 как рекомендованное подмножество элементов 152, модуль 114 обработки может ранжировать элементы I1, I2, I3, I6, I7, I8 и I9 на основе соответствующих оценок элементов и соответствующих связанных их рангов во множестве ранжированных списков 320 прогнозированных элементов.
[112] Например, модуль 114 обработки может ранжировать элемент I3 как первый элемент в рекомендованном подмножестве элементов 152, поскольку элемент I3 соответствует наиболее высокой оценке элемента во множестве оценок 355 элементов. Модуль 114 обработки может ранжировать элемент I7 как второй элемент в рекомендованном подмножестве элементов 152, поскольку элемент I7 соответствует второй по величине оценке элемента во множестве оценок 355 элементов.
[113] Далее, модуль 114 обработки может ранжировать элементы I1, I2, I6 и I9, поскольку они связаны с третьей по величине оценкой во множестве оценок 355 элементов. В некоторых вариантах осуществления настоящего технического решения, если более одного элемента в рекомендованном подмножестве элементов 152 связаны с одинаковой оценкой элементов, модуль обработки может ранжировать более одного элемента в рекомендованном подмножестве элементов 152 на основе соответственно связанных рангов во множестве ранжированных списков 320 прогнозированных элементов.
[114] Например, модуль 114 обработки может определять на основе таблицы 320, что элемент I1 связан с рангами «3», «2», «1» и «3». Модуль 114 обработки может определять на основе таблицы 320, что элемент I2 связан с рангами «1», «3», «1» и «1». Модуль 114 обработки может определять на основе таблицы 320, что элемент I6 связан с рангами «5», «4», «5» и «4». Модуль 114 обработки может определять на основе таблицы 320, что элемент I9 связан с рангами «1», «5», «3» и «4». В результате, модуль обработки может определять, что элемент I1 обладает средним соответствующим рангом «2.25», элемент I2 обладает средним соответствующим рангом «1.5», элемент I6 обладает средним соответствующим рангом «4.5» и элемент I9 обладает средним соответствующим рангом «3.5». Следовательно, модуль 114 обработки может ранжировать элементы I2, I1, I9 и I6 как третий, четвертый, пятый и шестой элементы соответственно в рекомендованном подмножестве элементов 152 на основе их средних соответствующих рангов.
[115] Модуль обработки может ранжировать элемент I8 как седьмой элемент в рекомендованном подмножестве элементов 152, поскольку элемент I8 соответствует седьмой по величине оценке элемента во множестве оценок 355 элементов. Следовательно, в этом случае, модуль 114 обработки может ранжировать элементы I3, I7, I2, I1, I9, I6 и I8 как первый, второй, третий, четвертый, пятый, шестой и седьмой элементы соответственно в рекомендованном подмножестве элементов 152. Другими словами, элемент I3 может быть определен как наиболее релевантный элемент в рекомендованном подмножестве элементов 152, а элемент I8 может быть определен как наименее релевантный элемент в рекомендованном подмножестве элементов 152. В этом случае, со ссылкой на Фиг. 5, выделенный рекомендованный элемент 570 может представлять собой элемент I3.
[116] В других вариантах осуществления настоящего технического решения, сервер 112 может быть далее выполнен с возможностью осуществлять передачу сигнала 153 электронному устройству 104 для отображения пользователю 102 рекомендованного подмножества элементов 152.
[117] На Фиг. 7 представлена блок-схема способа 700, который может быть выполнен сервером 112 в некоторых вариантах осуществления настоящего технического решения. Способ 700 будет подробно описан ниже.
ЭТАП 702 Получение пользовательских событий
[118] Способ 700 начинается на этапе 702, где сервер 112 получает пользовательские события, связанные со множеством пользователей 103, причем пользовательские события включают в себя указания на пользовательские запросы, связанные со множеством пользователей 103.
[119] В некоторых вариантах осуществления настоящего технического решения, модуль 116 прогнозирования может получать пользовательские события, которые включают в себя указания на пользовательские запросы, связанные со множеством пользователей 103, из третьей базы 124 данных.
[120] В других вариантах осуществления настоящего технического решения, указание на пользовательские события могут включать в себя соответствующие связанные контексты пользовательских запросов. Например, каждый соответствующий контекст пользовательского запроса может включать в себя дату пользовательского запроса, время пользовательского запроса, географическое местоположение, из которого был сделан пользовательский запрос, и так далее.
ЭТАП 704 Создание ранжированного списка прогнозированных элементов для каждого из пользовательских запросов
[121] Способ 700 продолжается на этапе 704, где сервер 112 создает для каждого из пользовательских запросов ранжированный список прогнозированных элементов, который содержит по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов 200, таким образом каждый конкретный элемент в ранжированном списке прогнозированных элементов обладает связанным рангом.
[122] В некоторых вариантах осуществления настоящего технического решения, сервер 112 может создавать соответствующие ранжированные списки прогнозированных элементов для каждого пользовательского запроса в наборе пользовательских запросов 202. В других вариантах осуществления настоящего технического решения, пользовательских запросов 202 может включать в себя только часть пользовательских запросов, связанных со множеством пользователей 103.
[123] В других вариантах осуществления настоящего технического решения, сервер 112 может создавать множество ранжированных списков 320 прогнозированных элементов. С этой целью, сервер 112 может вводить пользовательские запросы в наборе пользовательских запросов 202, а также соответствующие контексты пользовательских запросов, в алгоритм 204 ранжирования. Сервер 112 может вводить элементы из набора потенциально рекомендуемых элементов 200 в алгоритм 204 ранжирования. Сервер 112 может получать из алгоритма 204 ранжирования множество потенциальных ранжированных списков 220 прогнозированных элементов, которые содержат элементы из набора потенциально рекомендуемых элементов 200, и в котором каждый элемент ранжирован на основе соответствующего связанного ранга в каждом потенциальном ранжированном списке прогнозированных элементов. Например, сервер 112 может получать таблицу 210 из модели 204 ранжирования.
[124] В дополнительных вариантах осуществления настоящего технического решения, сервер 112 обработки может определять ранжированные списки 311, 312, 313, 314, 315 и 316 прогнозированных элементов, представленные на Фиг. 3, на основе соответствующих потенциальных ранжированных списков 211, 212, 213, 214, 215 и 216 прогнозированных элементов, представленных на Фиг. 2. Определение ранжированных списков 311, 312, 313, 314, 315 и 316 прогнозированных элементов может включать в себя укорачивание потенциальных ранжированных списков 211, 212, 213, 214, 215 и 216 прогнозированных элементов на основе порога 330 списка, представленного на Фиг. 3, причем порог 330 списка может представлять собой максимальное число элементов в каждом ранжированном списке прогнозированных элементов.
[125] В другом варианте осуществления настоящего технического решения, сервер 112 может определять таблицу 310 путем укорачивания таблицы 210 на часть 340 таблицы 210 на основе порога 330 списка. Сервер 112 может дополнительно сохранять таблицу 210 и/или таблицу 310 в первой базе 120 данных как часть модульной информации.
ЭТАП 706 Создание оценки элемента для каждого элемента во множестве ранжированных списков прогнозированных элементов
[126] Способ 700 продолжается на этапе 706, где сервер 112 создает для каждого элемента во множестве ранжированных списков 320 прогнозированных элементов, оценку элемента на основе совокупности рангов, связанных с ним.
[127] В некоторых вариантах осуществления настоящего технического решения, сервер 112 может создавать множество оценок 355 элементов, причем каждая оценка элемента связана с соответствующим элементом во множестве ранжированных списков 320 прогнозированных элементов. Например, модуль 114 обработки может определять, что совокупность рангов, связанных с элементом I4, составляет «4». Другими словами, модуль 114 обработки может определять, что элемент I1 обладает четырьмя связанными рангами в шести ранжированных списках прогнозированных элементов. Следовательно, модуль 114 обработки может создавать оценку элемента «4/6» для элемента I1.
[128] В других вариантах осуществления настоящего технического решения, сервер 112 может сохранять элементы во множестве ранжированных списков 320 прогнозированных элементов с соответственными связанными оценками элементов в первой базе 120 данных в виде части модульной информации.
ЭТАП 708 получение запроса на рекомендованное подмножество элементов
[129] Способ 700 продолжается на этапе 708, где сервер 112 получает запрос 150 на рекомендованное подмножество элементов 152.
ЭТАП 710 Создание рекомендованного подмножества элементов
[130] Способ 700 завершается на этапе 710, где сервер 112 создает рекомендованное подмножество элементов 152. Создание рекомендованного подмножества элементов 152 может включать в себя выбор по меньшей мере одного элемента во множестве ранжированных списков 320 прогнозированных элементов как рекомендованного подмножества элементов 152 на основе оценок элементов во множестве ранжированных списков 320 прогнозированных элементов.
[131] Например, сервер 112 обработки может выбирать элемент I3 как рекомендованное подмножество элементов 152 на основе соответствующей связанной оценки элемента «6/6», поскольку соответствующая связанная оценка элемента «6/6» является наиболее высокой оценкой элемента во множестве оценок 355 элементов во множестве ранжированных списков 320 прогнозированных элементов.
[132] Создание рекомендованного подмножества элементов 152 может включать в себя ранжирование сервером 112 по меньшей мере одного элемента в рекомендованном подмножестве элементов 152 на основе соответствующих оценок элементов и соответствующих связанных рангов. Например, сервер 112 может ранжировать элементы во множестве ранжированных списков 320 прогнозированных элементов на основе их соответствующих оценок элементов.
[133] В некоторых вариантах осуществления настоящего технического решения, элементы во множестве ранжированных списков 320 прогнозированных элементов, которые связаны с той же оценкой элемента, могут быть дополнительно ранжированы на основе их соответствующего среднего связанного ранга во множестве ранжированных списков 320 прогнозированных элементов.
[134] В других вариантах осуществления настоящего технического решения, сервер 112 может передавать сигнал 153 электронному устройству 104 для отображения пользователю 102 рекомендованного подмножества элементов 152.
[135] Способ 700 заканчивается на этапе 710.
[136] В некоторых вариантах осуществления настоящего технического решения, сервер 112, который выполняет способ 700, может снижать задержку между получением сервером 112 запроса 150 на рекомендованное подмножество элементов 152 и передачей сервером 112 сигнала 153 электронному устройству 104, которое отображает рекомендованное подмножество элементов 152 пользователю 102. Другими словами, выполнение способа 700 в некоторых вариантах осуществления настоящего технического решения может снизить количество времени, необходимое для создания рекомендованного подмножества элементов 152 и отображения его пользователю 102. Например, сервер 112 может создавать рекомендованное подмножество элементов 152 в режиме реального времени. Другими словами, сервер 112 может создавать рекомендованное подмножество элементов 152 после получения запроса 150. Сервер 112, который выполняет способ 700 в режиме реального времени, может снижать количество времени, которое необходимо для создания рекомендованного подмножества элементов 152.
[137] В других вариантах осуществления настоящего технического решения, способ 700 может выполняться сервером 112 в режиме офлайн. Другими словами, рекомендованное подмножество элементов 152 может быть создано и сохранено сервером 112 до получения запроса 150 на рекомендованное подмножество элементов 152. Следовательно, в некоторых вариантах осуществления настоящего технического решения, сервер 112, выполняющий способ 700, может требовать меньшей вычислительной мощности для передачи сигнала 153 электронному устройству 104 после получения запроса 150. Важно иметь в виду, что варианты осуществления настоящего технического решения могут быть выполнены с проявлением и других технических результатов.
[138] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
[139] Варианты осуществления настоящего технического решения можно изложить следующим образом, в виде пронумерованных пунктов:
[140] ПУНКТ 1. Способ (700) создания рекомендованного подмножества элементов (152) для пользователя (102) электронного устройства (104), способ (700) выполняется на сервере (112), способ (700) включает в себя:
получение (702) сервером (112) пользовательских событий, связанных со множеством пользователей (103), причем пользовательские события включают в себя указания на пользовательские запросы, связанные со множеством пользователей (103);
для каждого из пользовательских запросов, создание (704) сервером (112) ранжированного списка прогнозированных элементов, который содержит по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов (200), таким образом каждый конкретный элемент в ранжированном списке прогнозированных элементов обладает связанным рангом;
для каждого элемента во множестве ранжированных списков (320) прогнозированных элементов, создание (706) сервером (112) оценки элемента на основе совокупности их рангов;
получение (708) сервером (112) запроса (150) на рекомендованное подмножество элементов (152); и
создание (710) сервером (112) рекомендованного подмножества элементов (152) из набора потенциально рекомендуемых элементов (152), создание (710) сервером (112) рекомендованного подмножества элементов (152) включает в себя выбор сервером (112) по меньшей мере одного элемента во множестве ранжированных списков (320) прогнозированных элементов как рекомендованного подмножества элементов (152) на основе оценок элементов во множестве ранжированных списков (320) прогнозированных элементов.
[141] ПУНКТ 2. Способ (700) по п. 1, в котором каждый из ранжированных списков прогнозированных элементов связан с соответствующим пользовательским запросом.
[142] ПУНКТ 3. Способ (700) по п. 2, в котором каждое указание на пользовательский запрос включает в себя соответствующий контекст пользовательского запроса.
[143] ПУНКТ 4. Способ (700) по п. 3, в котором создание (704) множества ранжированных списков (320) прогнозированных элементов включает в себя для каждого ранжированного списка прогнозированных элементов:
ввод сервером (112) соответствующего пользовательского запроса и контекста пользовательского запроса в алгоритм (204) ранжирования; и ввод сервером (112) элементов из набора потенциально рекомендуемых элементов (200) в алгоритм (204) ранжирования.
[144] ПУНКТ 5. Способ (700) по п. 4, в котором создание (704) множества ранжированных списков (320) прогнозированных элементов далее включает в себя, для каждого ранжированного списка прогнозированных элементов, извлечение сервером (112) из алгоритма (204) ранжирования списка потенциально прогнозированных элементов, содержащих элементы из набора потенциально рекомендуемых элементов (200), причем каждый элемент ранжирован в потенциально ранжированном списке прогнозированных элементов.
[145] ПУНКТ 6. Способ (700) по п. 5, в котором создание (704) множества ранжированных списков (320) прогнозированных элементов далее включает в себя, для каждого ранжированного списка прогнозированных элементов, определение сервером (112) множества ранжированных списков прогнозированных элементов на основе потенциально ранжированного списка прогнозированных элементов, причем определение ранжированного списка прогнозированных элементов включает в себя укорачивание сервером (112) потенциально ранжированного списка прогнозированных элементов на основе порога (330) списка, который представляет собой максимальное число элементов в ранжированном списке прогнозированных элементов.
[146] ПУНКТ 7. Способ (700) по п. 1, в котором создание (710) рекомендованного подмножества элементов (152) включает в себя ранжирование сервером (112) по меньшей мере одного элемента в рекомендованном подмножестве элементов (152) на основе соответствующих оценок элемента.
[147] ПУНКТ 8. Способ (700) по п. 7, в котором ранжирование по меньшей мере одного элемента в рекомендованном подмножестве элементов (152) дополнительно основано на соответствующих рангах по меньшей мере одного элемента.
[148] ПУНКТ 9. Способ (700) по п. 8, в котором ранжирование по меньшей мере одного элемента в рекомендованном подмножестве элементов (152) основано на соответствующих оценках элементов, и соответствующих связанных рангах, способ включает в себя определение сервером (112) соответствующего среднего связанного ранга элементов в рамках по меньшей мере одного элемента, обладающего той же самой оценкой элемента.
[149] ПУНКТ 10. Способ (700) по п. 9, дополнительно включающий в себя передачу сервером (112) сигнала (153) электронному устройству (104) отобразить пользователю (102) рекомендованное подмножество элементов (152).
[150] ПУНКТ 11. Способ (700) по п. 1, в котором создание (710) рекомендованного подмножества элементов (152) из набора потенциально рекомендуемых элементов (200) выполняется до получения (708) запроса (150) на рекомендованное подмножество элементов (152).
[151] ПУНКТ 12. Способ (700) по п. 11, в котором создание (710) рекомендованного подмножества элементов (152) из набора потенциально рекомендуемых элементов (200) выполняется в режиме оффлайн.
[152] ПУНКТ 13. Способ (700) по п. 1, в котором создание (710) рекомендованного подмножества элементов (152) из набора потенциально рекомендуемых элементов (200) выполняется в режиме реального времени.
[153] ПУНКТ 14. Сервер (112), включающий в себя модуль (114) обработки и базу (120) данных для создания рекомендованного подмножества элементов (152) для пользователя (102) электронного устройства (104), сервер (112) выполнен с возможностью выполнять этапы способа (700) по пп. 1-13.
название | год | авторы | номер документа |
---|---|---|---|
Способ и сервер создания рекомендуемого набора элементов для пользователя | 2015 |
|
RU2629638C2 |
Способ и система определения параметра релевантность для элементов содержимого | 2018 |
|
RU2714594C1 |
СПОСОБ И СЕРВЕР ДЛЯ ПРЕДСТАВЛЕНИЯ ЭЛЕМЕНТА РЕКОМЕНДУЕМОГО СОДЕРЖИМОГО ПОЛЬЗОВАТЕЛЮ | 2017 |
|
RU2699574C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ СОЗДАНИЯ РЕКОМЕНДУЕМОГО СПИСКА СОДЕРЖИМОГО | 2015 |
|
RU2632131C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ СОЗДАНИЯ РЕКОМЕНДАЦИЙ СОДЕРЖИМОГО В СИСТЕМЕ РЕКОМЕНДАЦИЙ | 2016 |
|
RU2632132C1 |
Способ и система для формирования рекомендаций цифрового контента | 2018 |
|
RU2731335C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ВЫБОРА СЕТЕВОГО РЕСУРСА В КАЧЕСТВЕ ИСТОЧНИКА СОДЕРЖИМОГО ДЛЯ СИСТЕМЫ РЕКОМЕНДАЦИЙ | 2016 |
|
RU2636702C1 |
Способ и система для оценивания данных о взаимодействиях пользователь-элемент | 2018 |
|
RU2725659C2 |
СПОСОБ И СИСТЕМА ДЛЯ СОЗДАНИЯ РЕКОМЕНДАЦИИ ЦИФРОВОГО СОДЕРЖИМОГО | 2018 |
|
RU2720952C2 |
СПОСОБ И СЕРВЕР ДЛЯ ВЫБОРА ЭЛЕМЕНТОВ РЕКОМЕНДАЦИЙ ДЛЯ ПОЛЬЗОВАТЕЛЯ | 2017 |
|
RU2693323C2 |
Изобретение относится к средствам создания рекомендованного подмножества элементов для пользователя электронного устройства. Технический результат заключается в повышении релевантности результатов ранжированного списка результатов поиска. Получают пользовательские события, связанные со множеством пользователей, причем пользовательские события содержат указания на пользовательские запросы, связанные со множеством пользователей. Для каждого из запросов пользователей создают ранжированный список прогнозированных элементов, который включает в себя по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов, таким образом каждый конкретный элемент в ранжированном списке прогнозированных элементов обладает соответствующим рангом. Для каждого элемента во множестве ранжированных списков прогнозированных элементов создают оценки элемента на основе совокупности рангов, связанных с ним. Получают запрос на рекомендованное подмножество элементов. Создают рекомендованное подмножество элементов из набора потенциально рекомендуемых элементов, причем создание рекомендованного подмножества элементов включает в себя выбор по меньшей мере одного элемента во множестве ранжированных списков прогнозированных элементов как рекомендованного подмножества элементов на основе оценок элементов во множестве ранжированных списков прогнозированных элементов. 2 н. и 24 з.п. ф-лы, 7 ил.
1. Способ создания рекомендованного подмножества элементов для пользователя электронного устройства, способ выполняется на сервере, способ включает в себя:
получение сервером пользовательских событий, связанных со множеством пользователей, причем пользовательские события включают в себя указания на пользовательские запросы, связанные со множеством пользователей;
для каждого из пользовательских запросов создание сервером ранжированного списка прогнозированных элементов, который содержит по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов, таким образом каждый конкретный элемент в ранжированном списке прогнозированных элементов обладает связанным рангом;
для каждого элемента во множестве ранжированных списков прогнозированных элементов создание сервером оценки элемента на основе совокупности их рангов;
получение сервером запроса на рекомендованное подмножество элементов и
создание сервером рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов, создание сервером рекомендованного подмножества элементов, что включает в себя выбор сервером по меньшей мере одного элемента во множестве ранжированных списков прогнозированных элементов как рекомендованного подмножества элементов на основе оценок элементов во множестве ранжированных списков прогнозированных элементов.
2. Способ по п. 1, в котором каждый из ранжированных списков прогнозированных элементов связан с соответствующим пользовательским запросом.
3. Способ по п. 2, в котором каждое указание на пользовательский запрос включает в себя соответствующий контекст пользовательского запроса.
4. Способ по п. 3, в котором при создании множества ранжированных списков прогнозированных элементов для каждого ранжированного списка прогнозированных элементов выполняют:
ввод сервером соответствующего пользовательского запроса и контекста пользовательского запроса в алгоритм ранжирования и
ввод сервером элементов из набора потенциально рекомендуемых элементов в алгоритм ранжирования.
5. Способ по п. 4, в котором при создании множества ранжированных списков прогнозированных элементов для каждого ранжированного списка прогнозированных элементов дополнительно выполняют извлечение сервером из алгоритма ранжирования списка потенциально прогнозированных элементов, содержащих элементы из набора потенциально рекомендуемых элементов, причем каждый элемент ранжирован в потенциально ранжированном списке прогнозированных элементов.
6. Способ по п. 5, в котором при создании множества ранжированных списков прогнозированных элементов для каждого ранжированного списка прогнозированных элементов дополнительно выполняют определение сервером множества ранжированных списков прогнозированных элементов на основе потенциально ранжированного списка прогнозированных элементов, причем определение ранжированного списка прогнозированных элементов включает в себя укорачивание сервером потенциально ранжированного списка прогнозированных элементов на основе порога списка, который представляет собой максимальное число элементов в ранжированном списке прогнозированных элементов.
7. Способ по п. 1, в котором при создании рекомендованного подмножества элементов выполняют ранжирование сервером по меньшей мере одного элемента в рекомендованном подмножестве элементов на основе соответствующих оценок элемента.
8. Способ по п. 7, в котором ранжирование по меньшей мере одного элемента в рекомендованном подмножестве элементов дополнительно основано на соответствующих рангах по меньшей мере одного элемента.
9. Способ по п. 8, в котором ранжирование по меньшей мере одного элемента в рекомендованном подмножестве элементов основано на соответствующих оценках элементов и соответствующих связанных рангах и выполняют определение сервером соответствующего среднего связанного ранга элементов в рамках по меньшей мере одного элемента, обладающего той же самой оценкой элемента.
10. Способ по п. 9, в котором дополнительно выполняют передачу сервером сигнала электронному устройству отобразить пользователю рекомендованное подмножество элементов.
11. Способ по п. 1, в котором создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов выполняют до получения запроса на рекомендованное подмножество элементов.
12. Способ по п. 11, в котором создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов выполняют в режиме оффлайн.
13. Способ по п. 1, в котором создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов выполняют в режиме реального времени.
14. Сервер, включающий в себя модуль обработки и базу данных для создания рекомендованного подмножества элементов для пользователя электронного устройства, модуль обработки выполнен с возможностью осуществлять:
получение пользовательских событий, связанных со множеством пользователей, причем пользовательские события включают в себя указания на пользовательские запросы, связанные со множеством пользователей;
для каждого из пользовательских запросов, создание ранжированного списка прогнозированных элементов, который содержит по меньшей мере некоторые элементы из набора потенциально рекомендуемых элементов, таким образом каждый конкретный элемент в ранжированном списке прогнозированных элементов обладает связанным рангом; для каждого элемента во множестве ранжированных списков прогнозированных элементов, создание оценки элемента на основе совокупности их рангов;
получение запроса на рекомендованное подмножество элементов и
создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов, для создания рекомендованного подмножества элементов модуль обработки выполнен с возможностью осуществлять выбор по меньшей мере одного элемента во множестве ранжированных списков прогнозированных элементов как рекомендованного подмножества элементов на основе оценок элементов во множестве ранжированных списков прогнозированных элементов.
15. Сервер по п. 14, в котором модуль обработки выполнен с возможностью осуществлять создание ранжированного списка прогнозированных элементов, причем каждый из ранжированных списков прогнозированных элементов связан с соответствующим пользовательским запросом.
16. Сервер по п. 15, в котором модуль обработки выполнен с возможностью осуществлять получение пользовательских событий, включающих в себя указания на пользовательские запросы, причем каждое указание на пользовательский запрос включает в себя соответствующий контекст пользовательского запроса.
17. Сервер по п. 16, в котором для создания множества ранжированных списков прогнозированных элементов модуль обработки выполнен с возможностью осуществлять для каждого ранжированного списка прогнозированных элементов:
ввод соответствующего пользовательского запроса и контекста пользовательского запроса в алгоритм ранжирования и
ввод элементов из набора потенциально рекомендуемых элементов в алгоритм ранжирования.
18. Сервер по п. 17, в котором для создания множества ранжированных списков прогнозированных элементов модуль обработки дополнительно выполнен с возможностью осуществлять, для каждого ранжированного списка прогнозированных элементов, извлечение из алгоритма ранжирования списка потенциально прогнозированных элементов, содержащих элементы из набора потенциально рекомендуемых элементов, причем каждый элемент ранжирован в потенциально ранжированном списке прогнозированных элементов.
19. Сервер по п. 18, в котором для создания множества ранжированных списков прогнозированных элементов модуль обработки дополнительно выполнен с возможностью осуществлять, для каждого ранжированного списка прогнозированных элементов, определение множества ранжированных списков прогнозированных элементов на основе потенциально ранжированного списка прогнозированных элементов, причем для определения ранжированного списка прогнозированных элементов сервер выполнен с возможностью осуществлять укорачивание сервером потенциально ранжированного списка прогнозированных элементов на основе порога списка, который представляет собой максимальное число элементов в ранжированном списке прогнозированных элементов.
20. Сервер по п. 14, в котором для создания рекомендованного подмножества элементов модуль обработки выполнен с возможностью осуществлять ранжирование сервером по меньшей мере одного элемента в рекомендованном подмножестве элементов на основе соответствующих оценок элемента.
21. Сервер по п. 20, в котором для ранжирования по меньшей мере одного элемента в рекомендованном подмножестве элементов модуль обработки выполнен с возможностью осуществлять ранжирование на основе соответствующих рангов по меньшей мере одного элемента.
22. Сервер по п. 21, в котором модуль обработки выполнен с возможностью осуществлять ранжирование по меньшей мере одного элемента в рекомендованном подмножестве элементов, основанное на соответствующих оценках элементов и соответствующих связанных рангах, модуль обработки выполнен с возможностью осуществлять определение соответствующего среднего связанного ранга элементов в рамках по меньшей мере одного элемента, обладающего той же самой оценкой элемента.
23. Сервер по п. 22, в котором модуль обработки выполнен с возможностью осуществлять передачу сервером сигнала электронному устройству, отобразить пользователю рекомендованное подмножество элементов.
24. Сервер по п. 14, в котором модуль обработки выполнен с возможностью осуществлять создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов до того, как модуль обработки осуществляет получение запроса на рекомендованное подмножество элементов.
25. Сервер по п. 24, в котором модуль обработки выполнен с возможностью осуществлять создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов в режиме оффлайн.
26. Сервер по п. 14, в котором модуль обработки выполнен с возможностью осуществлять создание рекомендованного подмножества элементов из набора потенциально рекомендуемых элементов в режиме реального времени.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
US 8478664 B1, 02.07.2013 | |||
ОСНОВАННАЯ НА КОНТЕКСТЕ РЕКОМЕНДУЮЩАЯ СИСТЕМА | 2009 |
|
RU2523930C2 |
Авторы
Даты
2017-10-02—Публикация
2015-09-28—Подача