Способ и устройство для создания рекомендуемого списка содержимого

Иллюстрации

Показать все

Изобретение относится к средствам создания рекомендаций содержимого для данного пользователя системы рекомендаций. Технический результат заключается в обеспечении извлечения свойств снимков из архива снимков. Указанный результат достигается за счет применения способа создания рекомендаций содержимого для пользователя системы рекомендаций. При этом сервером рекомендаций получают запрос пользователя на рекомендации содержимого. Создают сервером рекомендаций выборку рекомендаций. Модуль предсказаний обучают с помощью обучающей выборки. При этом связанное с пользователем свойство используется как первый вводный параметр для обучения модуля предсказания. Связанное с пользователем свойство извлекают из последней версии архива снимков. При этом версия архива снимков создана до момента времени, когда происходит обучающее событие. Связанное с пользователем свойство используется как второй вводный параметр для обучения модуля предсказания. Передают подмножество из выборки рекомендаций содержимого электронному устройству пользователя. 4 н. и 23 з.п. ф-лы, 9 ил.

Реферат

Область техники

[01] Настоящее техническое решение относится к области поисковых систем в общем смысле, и в частности - к способу и устройству для создания рекомендуемого списка содержимого.

Уровень техники

[02] Различные глобальные или локальные сети связи (Интернет, Всемирная Паутина, локальные сети и подобные им) предлагают пользователю большой объем информации. Информация включает в себя контекстуальные разделы, такие как, среди прочего, новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о трафике, игры и информация развлекательного характера. Пользователи используют множество клиентских устройств (настольный компьютер, портативный компьютер, ноутбук, смартфон, планшеты и подобные им) для получения доступа к богатому информационному контенту (например, изображениям, аудио- и видеофайлам, анимированным изображениям и прочему мультимедийному контенту подобных сетей).

[03] Объем доступной информации на различных интернет-ресурсах экспоненциально вырос за последние несколько лет. Были разработаны различные решения, которые позволяют обычному пользователю находить информацию, которую он(а) ищет. Примером такого решения является поисковая система. Примеры поисковых систем включают в себя такие поисковые системы как GOOGLE™, YANDEX™, YAHOO!™ и другие. Пользователь может получить доступ к интерфейсу поисковой системы и подтвердить поисковый запрос, связанный с информацией, которую пользователь хочет найти в Интернете. В ответ на поисковый запрос, поисковые системы предоставляют ранжированный список результатов поиска. Ранжированный список результатов поиска создается на основе различных алгоритмов ранжирования, которые реализованы в конкретной поисковой системе, и которые используются пользователем, производящим поиск. Общей целью таких алгоритмов ранжирования является представление наиболее релевантных результатов вверху ранжированного списка, а менее релевантных результатов - на менее высоких позициях ранжированного списка результатов поиска (а наименее релевантные результаты поиска будут расположены внизу ранжированного списка результатов поиска).

[04] Поисковые системы обычно являются хорошим поисковым инструментом в том случае, когда пользователю заранее известно, что именно он(а) хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. поисковая тема известна), пользователь может ввести поисковый запрос: «Наиболее популярные места в Италии». Поисковая система предоставит ранжированный список интернет-ресурсов, которые потенциально являются релевантными по отношению к поисковому запросу. Пользователь далее может просматривать ранжированный список результатов поиска для того, чтобы получить информацию, в которой он заинтересован, в данном случае - о посещаемых местах в Италии. Если пользователь по какой-либо причине не удовлетворен представленными результатами, пользователь может произвести вторичный поиск, уточнив запрос, например «наиболее популярные места в Италии летом», «наиболее популярные места на юге Италии», «Наиболее популярные места в Италии для романтичного отдыха».

[05] Существует и другой подход, в котором пользователю предоставляется возможность обнаруживать содержимое и, конкретнее, позволяется отображать и/или рекомендовать содержимое, в поиске которого пользователь не был явно заинтересован. В некоторым смысле, подобные системы рекомендуют пользователю содержимое без отдельного поискового запроса, на основе явных или неявных интересов пользователя.

[06] Примерами таких систем являются система рекомендаций FLIPBOARD, которая агрегирует и рекомендует содержимое из различных социальных сетей. Система рекомендаций FLIPBOARD предоставляет содержимое в «журнальном формате», где пользователь может «пролистывать» страницы с рекомендуемым/агрегированным содержимым. Системы рекомендаций собирают содержимое из социальных медиа и других веб-сайтах, представляет его в журнальном формате, и позволяют пользователям «пролистывать» ленты социальных новостей и ленты веб-сайтов, которые имеют партнерские отношения с компанией, что позволяет эффективно «рекомендовать» содержимое пользователю, даже если пользователь явно не выражал свой интерес в конкретном содержимом.

[07] Для создания ранжированных результатов поиска в поисковой системе или списка рекомендуемых ресурсов в обычной системе рекомендаций, соответствующие системы используют алгоритмы машинного обучения для выбора результатов поиска и/или рекомендуемого содержимого. Существуют различные алгоритмы машинного обучения, известные в данной области техники, и использующиеся в поисковых системах и системах рекомендаций. Как известно, обычные алгоритмы машинного обучения сначала «обучаются» с помощью обучающей выборки (которая является помеченной или не помеченной) для создания формулы алгоритма машинного обучения, которая далее применяется для определения во время работы выходных данных на основе входных данных системы.

Раскрытие

[08] Задачей предлагаемого технического решения является улучшение качество обучения и/или предсказания, например, путем уменьшения проблем, присущих известному уровню техники, а именно снижение проблемы «искаженного чрезмерного доверия», присущего известному уровню техники и/или снижения вычислительной мощности, которая необходима для вычисления конкретных свойств в момент обучения или в момент работы путем извлечения конкретных свойств из архива снимков вместо вычисления их в реальном времени или псевдореальном времени.

[09] Варианты осуществления настоящего технического решения были разработаны на основе предположений изобретателей о том, что для решения некоторых задач в системе рекомендаций может быть полезно использование двухэтапного подхода к рекомендациям. В двухэтапном подходе к рекомендациям модуль основного предсказания (исполняющий алгоритм основного предсказания), который выводит «окончательное предсказание» для баллов релевантности пользователь-элемент - использует в качестве ввода (для обучения и/или для использования), среди прочего, предсказания, которые были сделаны модулем предварительного предсказания (использующем алгоритм предварительного предсказания).

[10] Разработчики предполагают, что существует проблема, связанная с использованием двухэтапного подхода. Конкретнее, проблема, которая возникает в данном подходе, связана с тем, что в момент обучения модуля основных предсказаний на обучающей выборке, она частично, по большей части или полностью состоит из тех же обучающих событий, которые были использованы для тренировки модуля предварительного предсказания, что может отразиться на качестве рекомендаций, которое может ухудшиться или, по меньшей мере, не улучшиться по сравнению с одноэтапным подходом к рекомендациям.

[11] Разработчики настоящего технического решения также полагают, что существует проблема, связанная с обучением системы предсказаний (система предсказаний использует двухэтапный подход к рекомендациям или одноэтапный подход к рекомендациям) на свойствах, связанных с данным событием, причем эти свойства являются последующими относительно времени самого события (или, другими словами, свойства, которые становятся доступны в более поздний момент времени по отношению к самому событию). Качество может также снижаться в тех случаях, когда обучающая выборка для модуля основного предсказания использует вводные свойства, которые не были доступны (т.е. еще не появлялись или не были предсказаны) в момент, когда фактически произошло обучающее событие. Другими словами, если выполняется обучение с помощью события, а свойства появляются позже относительно времени события, в системе может появиться «искаженное чрезмерное доверие» по отношению к подобному событию.

[12] Варианты осуществления настоящего технического решения нацелены на устранение по меньшей некоторых из указанных проблем (вместе или по отдельности) путем обучения модуля предсказаний (модуль предсказаний может представлять собой один модуль предсказаний в рамках системы предсказаний или же часть модулей предсказаний в системе предсказания) с помощью не связанных с пользователем свойств, которые вычисляются один раз в определенный период времени (например, один раз в день, один раз через день, один раз в неделю и тому подобное) и хранятся в так называемом «архиве снимков». Не связанные с пользователем свойства, хранящиеся в архиве снимков, могут быть созданы с помощью модуля предварительного предсказания, который был обучен на событиях, которые произошли до создания архива снимков (т.е. только оглядываясь назад, не «предугадывая» само обучающее событие). Альтернативно, вместо того чтобы сохранять не связанные с пользователем свойства, система может хранить данные, которые могут быть использованы для вычисления не связанных с пользователем свойств.

[13] Связанные с пользователем свойства вычисляются в режиме псевдореального времени или реального времени (например, в ответ на обучающее событие в фазе обучения и/или получение запроса на рекомендацию в фазе выполнения), таким образом, для каждого события в системе связанные с пользователем свойства создаются в момент возникновения события. Связанные с пользователем свойства также могут быть созданы, по меньшей мере частично, модулем предварительного предсказания (тем же самым или другим относительного того, который был использован для создания архива снимков).

[14] Модуль предсказания обучается после создания архива снимков. В момент обучения каждого события, связанные с пользователем свойства доступны только на момент каждого обучающего события (например, взятого из предыдущей истории каждого пользователя), а не связанные с пользователем свойства из последних снимков, которые доступы на момент обучающего события, используются для обучения.

[15] Модуль предсказания может быть обучен на обучающей выборке событий, которая включает в себя события за более долгий период времени, за время которого могли быть созданы различные архивы снимков. В этом случае для каждого обучающего события модуль предсказания берет не связанные с пользователем свойства из последнего доступного снимка на момент события, а последние связанные с пользователем свойства, созданные в момент события, используются для обучения.

[16] В широком смысле, обучающие события могут включать в себя любые существенные пользователь-элемент события в обучающей системе, из которых может быть получена релевантность пользователь-элемент, например, пользователь ранжирует элемент или ставит ему оценку «нравится». Свойства включают в себя множество параметров, доступных в системе, которая используется для создания предсказаний релевантности пользователь-элемент. Свойства могут быть разделены на две категории -связанные с пользователем свойства и не связанные с пользователем свойства.

[17] Опять же, в широком смысле, не связанные с пользователем свойства включают в себя свойства, касающиеся элементов, для таких элементов, как, например, векторы баллов релевантности пользователь-элемент или их представления в форме векторов скрытых переменных элемента, которые предсказаны с помощью алгоритма сингулярного разложения (SVD). Не связанные с пользователем свойства могут быть получены с помощью алгоритма предварительного машинного обучения (например, SVD), отличного от алгоритма основного машинного обучения, который используется для создания окончательного предсказания рекомендуемого содержимого для пользователя. Не связанные с пользователем свойства могут быть получены с помощью нескольких различных алгоритмов, каждый из которых создает соответствующую выборку не связанных с пользователя свойств. Не связанные с пользователем свойства могут включать в себя различную статистику, связанную с элементом или связанную с системой.

[18] Связанные с пользователем свойства могут включать в себя, например, статистику, связанную с пользователем, оцененные характеристики пользователя и так далее, предсказания релевантности пользователь-элемент происходят в реальном времени (эти предсказания также могут быть созданы с помощью алгоритма предварительного предсказания, например, SVD или тому подобного).

[19] Несмотря на то что сохранение связанных с пользователем свойств для каждого момента времени и, конкретнее, для времени, когда происходит обучающее событие (например, в истории пользователя), или пересчет в реальном времени на основе относящихся к пользователю данных, доступных на этот момент, возможны, для системы может быть ресурсозатратным обладание не связанными с пользователем свойствами для каждого момента времени в системе и для каждого момента, когда происходит обучающее событие, поскольку не связанные с пользователем свойства для каждого элемента или системы в целом вычисляются с помощью истории всех пользователей и/или всех элементов в системе. Разработчики настоящего технического решения предполагают, что выполнение вычислений не связанных с пользователем свойств для каждого события в системе в каждый момент времени может быть очень ресурсозатратной задачей. Вышеуказанные проблемы могут быть уменьшены с помощью некоторых вариантов осуществления настоящего технического решения, в которых некоторые не связанные с пользователем свойства высчитываются в офлайне и хранятся в так называемых архивах снимков.

[20] Таким образом, не связанные с пользователем свойства вычисляются один раз в определенный период времени (например, один раз в день или один раз в неделю) и хранятся в архиве снимков. Не связанные с пользователем свойства хранятся в архиве снимков, которые создаются с помощью алгоритма предварительного машинного обучения, который обучается на событиях, произошедших до момента создания архива. Связанные с пользователем свойства вычисляются в реальном времени или при получении запроса на рекомендацию, таким образом для каждого события в системе известны связанные с пользователем свойства на тот момент, когда происходит событие.

[21] Еще одной целью разработчиков являлось уменьшение проблемы чрезмерного сглаживания. Таким образом, некоторые варианты осуществления настоящего технического решения полагаются на два принципа: (i) использование различных обучающих выборок для обучения алгоритма основного предсказания и алгоритма предварительного предсказания и (ii) использование только тех характеристик, которые доступны в момент наступления каждого обучающего события (т.е. подход без предугадывания, который был упомянут ранее).

[22] Таким образом, одним объектом настоящего технического решения является способ создания рекомендуемого содержимого для данного пользователя системы рекомендаций. Способ выполняется на сервере рекомендаций. Способ включает в себя: получение сервером рекомендаций от электронного устройства, связанного с данным пользователем, запроса на рекомендацию содержимого; в ответ на запрос, создание сервером рекомендаций выборки рекомендаций содержимого для данного пользователя, создание выполняется модулем предсказаний сервера рекомендаций, модуль предсказаний был обучен с помощью обучающей выборки обучающих событий так, что для каждого данного обучающего события из обучающей выборки обучающих событий: по меньшей мере одно не связанное с пользователем свойство используется как первый вводный параметр для обучения модуля предсказаний, по меньшей мере одно не связанное с пользователем свойство извлекается из последней версии архива снимков, доступной в момент времени наступления данного обучающего события, последняя версия архива была создана до времени наступления данного обучающего события; по меньшей мере одно связанное с пользователем свойство используется как второй вводный параметр для обучения модуля предсказания, по меньшей мере одно связанное с пользователем свойство, доступное в момент времени, когда происходит данное обучающее событие; передачу по меньшей мере подмножества из выборки рекомендаций содержимого электронному устройству.

[23] В некоторых вариантах осуществления способа способ дополнительно включает в себя получение по меньшей мере одного не связанного с пользователем свойства.

[24] В некоторых вариантах осуществления способа получение по меньшей мере одного не связанного с пользователем свойства включает в себя создание вторым модулем предсказания по меньшей мере одного не связанного с пользователем свойства.

[25] В некоторых вариантах осуществления способа создание по меньшей мере одного не связанного с пользователем свойства выполняется офлайн.

[26] В некоторых вариантах осуществления способа способ дополнительно включает в себя создание по меньшей мере одного специфичного относительно пользователя свойства.

[27] В некоторых вариантах осуществления способа создание по меньшей мере одного связанного с пользователем свойства выполняется в реальном времени в момент обучения.

[28] В некоторых вариантах осуществления способа обучение модуля предсказаний основано на указании обучающего события и связанного по меньшей мере одного не связанного с пользователем свойства и по меньшей мере одного связанного с пользователем свойства.

[29] В некоторых вариантах осуществления способа по меньшей мере одно не связанное с пользователем свойство представляет собой множество не связанных с пользователем свойств, и по меньшей мере одно связанное с пользователем свойство представляет собой множество связанных с пользователем свойств, причем ни одно из множества не связанных с пользователем свойств не является тем же самым, что и любое из множества связанных с пользователем свойств.

[30] В некоторых вариантах осуществления способ, способ дополнительно включает в себя создание последней версии архива снимков и сохранение последней версии архива снимков в памяти, доступной серверу рекомендаций.

[31] В некоторых вариантах осуществления способа создание последней версии архива снимков выполняется в момент времени после создания предыдущей версии архива снимков, и причем после создания последней версии архива снимков его содержимое используется вместо содержимого предыдущей версии архива снимков.

[32] В некоторых вариантах осуществления способа по меньшей мере одно связанное с пользователем свойство определяется в момент времени после получения сервером рекомендаций запроса на рекомендацию содержимого.

[33] В некоторых вариантах осуществления способа по меньшей мере одно не связанное с пользователем свойство определяется в момент времени до получения сервером рекомендаций запроса на рекомендацию содержимого.

[34] В некоторых вариантах осуществления способа по меньшей мере одно связанное с пользователем свойство не было доступно в момент создания последней версии архива снимков.

[35] В некоторых вариантах осуществления способа получение выполняется (i) в ответ на то, что пользователем электронного устройства предоставляется указание на желание пользователя получить рекомендацию содержимого и (ii) без предоставления пользователем электронного устройства указания на желание пользователя получить рекомендацию содержимого.

[36] Другим объектом настоящего технического решения является способ обучения модуля предсказаний. Модуль предсказаний является частью сервера предсказаний. Способ включает в себя: создание обучающей выборки таким образом, что для каждого данного обучающего события из обучающей выборки обучающих событий: по меньшей мере одно не связанное с пользователем свойство используется как первый вводный параметр для обучения модуля предсказаний, по меньшей мере одно не связанное с пользователем свойство извлекается из последней версии архива снимков, доступной в момент времени наступления данного обучающего события, последняя версия архива была создана до времени наступления данного обучающего события; по меньшей мере одно связанное с пользователем свойство используется как второй вводный параметр для обучения модуля предсказания, по меньшей мере одно связанное с пользователем свойство, доступное в момент времени, когда происходит данное обучающее событие; использование обучающей выборки для обучения модуля предсказания для создания указания по меньшей мере на один элемент рекомендации.

[37] В некоторых вариантах осуществления способа по меньшей мере одно связанное с пользователем свойство не было недоступно в момент создания последней версией архива снимков.

[38] В некоторых вариантах осуществления способа по меньшей мере одно связанное с пользователем свойство создается в момент использования обучающей выборки.

[39] В некоторых вариантах осуществления способа по меньшей мере одно связанное с пользователем свойство создается вторым модулем предсказания сервера рекомендаций.

[40] Другим объектом настоящего технического решения является способ обучения первого модуля предсказания и второго модуля предсказания, первый модуль предсказания и второй модуль предсказания являются частью одного сервера рекомендаций. Выводные данные второго модуля предсказания используются как входные данные для первого модуля предсказания. Способ включает в себя: создание первой обучающей выборки обучающих событий для обучения первого модуля предсказаний, создание второй обучающей выборки обучающих событий для обучения второго модуля предсказания, каждая из первой выборки обучающих событий и второй выборки обучающих событий включает в себя: соответствующее по меньшей мере одно связанное с пользователем свойство; и соответствующее по меньшей мере одно не связанное с пользователем свойство; соответствующее по меньшей мере одно не связанное с пользователем свойство и по меньшей мере одно связанное с пользователем свойство первой обучающей выборки отличаются от этих же свойств во второй обучающей выборке.

[41] Еще одним объектом настоящего технического решения является сервер, который включает в себя: модуль обработки, выполненный с возможностью осуществлять: получение сервером рекомендаций от электронного устройства, связанного с данным пользователем, запроса на рекомендацию содержимого; в ответ на запрос, создание рекомендаций содержимого для данного пользователя, создание выполняется модулем предсказаний сервера рекомендаций, модуль предсказаний был обучен с помощью обучающей выборки обучающих событий так, что для каждого данного обучающего события из обучающей выборки обучающих событий: по меньшей мере одно не связанное с пользователем свойство используется как первый вводный параметр для обучения модуля предсказаний, по меньшей мере одно не связанное с пользователем свойство извлекается из последней версии архива снимков, доступной в момент времени наступления данного обучающего события, последняя версия архива была создана до времени наступления данного обучающего события; по меньшей мере одно связанное с пользователем свойство используется как второй вводный параметр для обучения модуля предсказания, по меньшей мере одно связанное с пользователем свойство, доступное в момент времени, когда происходит данное обучающее событие, по меньшей мере одно связанное с пользователем свойство не доступное в момент создания последней версии архива снимков; передачи по меньшей мере подмножества из выборки рекомендованного содержимого электронному устройству.

[42] В некоторых вариантах осуществления сервера модуль обработки дополнительно выполнен с возможностью осуществлять получение по меньшей мере одного не связанного с пользователем свойства.

[43] В некоторых вариантах осуществления сервера для получения по меньшей мере одного не связанного с пользователем свойства модуль обработки выполнен с возможностью инициировать создание вторым модулем предсказания по меньшей мере одного не связанного с пользователем свойства.

[44] В некоторых вариантах осуществления сервера для создания по меньшей мере одного не связанного с пользователем свойства модуль обработки выполнен с возможностью создания по меньшей мере одного не связанного с пользователем свойства в режиме офлайн.

[45] В некоторых вариантах осуществления сервера модуль обработки выполнен с возможностью осуществлять создание по меньшей мере одного связанного с пользователем свойства.

[46] В некоторых вариантах осуществления сервера для создания по меньшей мере одного связанного с пользователем свойства модуль обработки выполнен с возможностью выполнять создание в реальном времени в момент обучения.

[47] В некоторых вариантах осуществления сервера обучение модуля предсказаний основано на указании обучающего события и связанного по меньшей мере одного не связанного с пользователем свойства и по меньшей мере одного связанного с пользователем свойства.

[48] В некоторых вариантах осуществления сервера по меньшей мере одно не связанное с пользователем свойство представляет собой множество не связанных с пользователем свойств, и по меньшей мере одно связанное с пользователем свойство представляет собой множество связанных с пользователем свойств, причем ни одно из множества не связанных с пользователем свойств не является тем же самым, что и любое из множества связанных с пользователем свойств.

[49] В некоторых вариантах осуществления сервера модуль обработки дополнительно выполнен с возможностью осуществлять создание последней версии архива снимков и сохранение последней версии архива снимков в памяти, доступной серверу рекомендаций.

[50] В некоторых вариантах осуществления сервера для создания последней версии архива снимков модуль обработки осуществляет создание последней версии архива снимков в момент времени после создания предыдущей версии архива снимков, и причем после создания последней версии архива снимков его содержимое используется вместо содержимого предыдущей версии архива снимков.

[51] В некоторых вариантах осуществления сервера по меньшей мере одно связанное с пользователем свойство определяется в момент времени после получения сервером рекомендаций запроса на рекомендацию содержимого.

[52] В некоторых вариантах осуществления сервера по меньшей мере одно не связанное с пользователем свойство определяется в момент времени до получения сервером рекомендаций запроса на рекомендацию содержимого.

[53] В некоторых вариантах осуществления сервера по меньшей мере одно связанное с пользователем свойство не было доступно в момент создания последней версией архива снимков.

[54] В некоторых вариантах осуществления сервера получение выполняется (i) в ответ на то, что пользователем электронного устройства предоставляется указание на желание пользователя получить рекомендацию содержимого и (ii) без предоставления пользователем электронного устройства указания на желание пользователя получить рекомендацию содержимого.

[55] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данного технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».

[56] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.

[57] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или же она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.

[58] В контексте настоящего описания «информация» включает в себя любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы, списки слов и т.д.

[59] В контексте настоящего описания «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).

[60] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.

[61] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов "первый сервер" и "третий сервер " не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание "первого" элемента и "второго" элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, "первый" сервер и "второй" сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.

[62] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.

[63] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.

Краткое описание чертежей

[64] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:

[65] На Фиг. 1 представлена система, подходящая для реализации неограничивающих вариантов осуществления настоящего технического решения.

[66] На Фиг. 2 представлено схематичное изображение модуля обработки, первого модуля предсказания и второго модуля предсказания системы, показанной на Фиг. 1.

[67] На Фиг. 3 представлено схематическое изображение того, как создается архив снимков.

[68] На Фиг. 4 представлен снимок экрана интерфейса рекомендаций, реализованного в соответствии с неограничивающим вариантом осуществления настоящего технического решения, интерфейс рекомендаций создан на электронном устройстве, связанном с пользователем системы, показанной на Фиг. 1.

[69] На Фиг. 5 представлен снимок экрана интерфейса рекомендаций, реализованного в соответствии с другим неограничивающим вариантом осуществления настоящего технического решения, интерфейс рекомендаций создан на электронном устройстве, связанном с пользователем системы, показанной на Фиг. 1.

[70] На Фиг. 6 представлен снимок экрана интерфейса рекомендаций, реализованного в соответствии с еще одним неограничивающим вариантом осуществления настоящего технического решения, интерфейс рекомендаций создан на электронном устройстве, связанном с пользователем системы, показанной на Фиг. 1.

[71] На Фиг. 7 представлена блок-схема способа, выполняемого в рамках системы, изображенной на Фиг. 1, и выполненного в соответствии с вариантом осуществления настоящего технического решения, не ограничивающим его объем.

[72] На Фиг. 8 представлена блок-схема способа, реализованного в соответствии с другим вариантом осуществления настоящего технического решения, не ограничивающим его объем.

[73] На Фиг. 9 представлена блок-схема способа, реализованного в соответствии с еще одним вариантом осуществления настоящего технического решения, не ограничивающим его объем.

Осуществление

[74] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего техническог