Способ и система для оценивания данных о взаимодействиях пользователь-элемент
METHOD AND SYSTEM FOR EVALUATING DATA ON USER-ELEMENT INTERACTIONS

Область техники, к которой относится изобретение
[001] Настоящая технология относится к компьютерным рекомендательным системам в целом и, в частности, к способам и системам для оценивания данных о взаимодействиях пользователя и элемента цифрового контента.
Уровень техники
[002] Различные глобальные и локальные сети (Интернет, World Wide Web, локальные сети и т.д.) обеспечивают пользователю доступ к огромному объему информации. Эта информация включает в себя множество контекстно-зависимых тем, таких как новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о дорожном движении, информация, касающаяся игр и развлечений, и т.д. Пользователи применяют разнообразные клиентские устройства (настольный компьютер, ноутбук, смартфон, планшет и т.д.) для получения доступа к богатому информационному содержимому (изображениям, аудиоматериалам, видеоматериалам, анимации и другому мультимедийному контенту из таких сетей).
[003] Объем информации, доступной на различных Интернет-ресурсовах, в течение последних нескольких лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.д. Пользователь может получать доступ к интерфейсу поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ на поисковый запрос поисковая система выдает ранжированный список результатов поиска. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования заключается в представлении наиболее релевантных результатов поиска в верхней части ранжированного списка, тогда как менее релевантные результаты поиска могут располагаться в ранжированном списке на менее заметных местах (т.е. наименее релевантные результаты поиска находятся в нижней части ранжированного списка).
[004] Обычно поисковые системы обеспечивают хороший инструментарий для обработки поискового запроса, когда пользователь заранее знает, что требуется найти. Иными словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. если известна тема поиска), он может отправить поисковый запрос: «Наиболее популярные места в Испании?». В ответ поисковая система выдает ранжированный список Интернет-ресурсов, потенциально релевантных поисковому запросу. Пользователь может просмотреть ранжированный список результатов поиска, чтобы получить требуемую информацию, касающуюся мест для посещения в Испании. Если пользователь по какой-либо причине не удовлетворен полученными результатами поиска, он может выполнить повторный поиск, например, с более точным поисковым запросом, например, «Наиболее популярные места в Испании летом?», «Наиболее популярные места на юге Испании?», «Наиболее популярные места для гастрономического туризма в Испании?».
[005] Существует другой подход, который предлагается для обнаружения пользователем контента или, точнее, для обнаружения и/или рекомендации контента, в поиске которого пользователь может быть явно не заинтересован. В определенном смысле такие системы рекомендуют пользователю контент без явно выраженного поискового запроса, основываясь на явных или неявных интересах пользователя.
[006] В качестве примера такой системы можно привести рекомендательную систему FLIPBOARD™, объединяющую и рекомендующую контент из различных источников, где пользователь может бегло просматривать страницы с рекомендуемым или объединенным контентом. Рекомендательная система собирает контент из социальных медиа и других веб-сайтов, представляет его в формате журнала и обеспечивает пользователям возможность бегло просматривать ленты публикаций социальных сетей и веб-сайтов, установивших партнерские отношения с компанией, эффективно «рекомендуя» контент пользователю, даже если пользователь явно не выражал заинтересованности в конкретном контенте.
[007] В качестве другого примера можно привести рекомендательную систему YANDEX.ZEN™. Рекомендательная система Yandex.Zen рекомендует цифровой контент (статьи, новости и видеоматериалы в персонализированной ленте на главной странице браузера Yandex.Browser). Когда пользователь просматривает рекомендуемый контент сервера Yandex.Zen, этот сервер явно (спрашивая, желает ли пользователь, чтобы больше такого контента отображалось в его ленте) или неявно (наблюдая за взаимодействием пользователя и контента) получает информацию обратной связи. С использованием информации обратной связи от пользователя сервер Yandex.Zen непрерывно улучшает представляемые пользователю рекомендации контента.
[008] Обычно рекомендательные системы обеспечивают персонализированный контент для пользователя на основе предыдущих взаимодействий пользователя с рекомендательным сервисом, которые могут указывать на то, что пользователь предпочитает некий конкретный контент, а не другой контент. Например, если некоторый контент связан с большим количеством предыдущих взаимодействий пользователя, этот контент с большей вероятностью предоставляется в качестве персонализированного контента, поскольку большое количество предыдущих взаимодействий пользователя может указывать на релевантность такого контента.
Раскрытие изобретения
[009] Целью настоящего изобретения является устранение по меньшей мере некоторых недостатков известных решений. Варианты осуществления данной технологии способны обеспечить и/или расширить арсенал подходов и/или способов достижения целей в данной технологии.
[0010] Разработчики настоящей технологии установили, что для выбора релевантного цифрового контента для пользователей рекомендательного сервиса требуется значительная вычислительная мощность во время работы в интерактивном режиме (т.е. когда от пользователя рекомендательного сервиса принимается запрос на рекомендацию контента). Известные модели оценивания релевантности могут использоваться для обработки большого объема цифрового контента в интерактивном режиме для определения цифрового контента, который должен быть предоставлен пользователям рекомендательного сервиса. Тем не менее, для выполнения этих известных моделей оценивания релевантности требуется большое количество вычислений вследствие большого количества и разнообразия факторов, которые должны учитываться при оценивании релевантности цифрового контента, что требует значительной вычислительной мощности во время работы рекомендательной системы в интерактивном режиме.
[0011] Варианты осуществления настоящей технологии разработаны на основе понимания разработчиками того, что вычислительная мощность, необходимая для применения требующей большого количества вычислений модели оценивания релевантности в интерактивном режиме, представляет собой существенный недостаток рекомендательных систем, поскольку операторы должны либо (а) приобретать дорогостоящие блоки с большей вычислительной мощностью, либо (б) использовать менее эффективные модели оценивания релевантности, что приводит к меньшей удовлетворенности пользователей от рекомендуемого цифрового контента. Разработчики разработали решение, где в интерактивном режиме выполняется поэтапный предварительный выбор цифрового контента перед применением основной модели оценивания релевантности, требующей большого количества вычислений. В результате моделью оценивания релевантности, требующей большого количества вычислений, должен обрабатываться относительно небольшой объем предварительно выбранных данных. Таким образом, требования к вычислительной мощности, необходимой для работы этой модели, снижаются.
[0012] Также очевидно, что оценивание данных о взаимодействиях пользователя в настоящее время представляет собой важную проблему, поскольку оно обычно используется для выработки рекомендаций цифрового контента пользователям рекомендательного сервиса. Пользователь обычно взаимодействует не со всеми цифровыми документами рекомендательного сервиса, поэтому данные о взаимодействиях пользователя иногда настолько «малочисленны», что трудно надлежащим образом оценивать релевантность цифрового контента для пользователей, поскольку эти пользователи не взаимодействовали с цифровым контентом, и рекомендательная система не имеет возможности получить больше соответствующей информации, чтобы определить, будет ли цифровой контент представлять ценность для этих пользователей, если он будет рекомендован им.
[0013] Ограниченный объем данных о взаимодействиях пользователя также может создавать дополнительные проблемы для рекомендательных сервисов. Например, это может привести к уменьшению многообразия цифрового контента, рекомендуемого пользователям. Рекомендательная система способна надлежащим образом оценивать релевантность только цифрового контента, подобного тому цифровому контенту, с которым пользователи взаимодействовали ранее, что приводит к негативным последствиям, поскольку пользователи с ограниченным количеством предыдущих взаимодействий получают цифровой контент только ограниченного количества видов. В другом примере это может привести к проблеме зацикливания некоторого потенциально рекомендуемого цифрового контента. Поскольку данные о взаимодействиях пользователя недоступны или ограничены для некоторых цифровых документов, они с меньшей вероятностью будут рекомендованы пользователям рекомендательного сервиса, даже если эти цифровые документы потенциально релевантны, в результате чего для этих цифровых документов будет собираться ограниченный объем данных о взаимодействиях пользователя и, следовательно, потенциально релевантные документы не будут рекомендованы пользователям.
[0014] Кроме того, известные модели оценивания обычно используются для одновременного оценивания данных о взаимодействиях пользователя различных видов. Применение модели оценивания для всех данных о взаимодействиях пользователя может быть нежелательно, поскольку данные о взаимодействиях пользователя различных видов в некоторых случаях могут содержать взаимоисключающие сведения о предпочтениях этого пользователя цифрового контента. Например, количество «кликов», пользователя на цифровом документе может обеспечить сведения об общей привлекательности этого цифрового документа для этого пользователя, а продолжительность взаимодействия пользователя с цифровым документом может обеспечить сведения о том, насколько хорошо этот цифровой документ удовлетворяет потребности этого пользователя в цифровом контенте после его выбора. Одновременное оценивание данных о взаимодействиях пользователя различных видов может иметь негативные последствия при дальнейшем использовании для рекомендаций цифрового контента, поскольку сведения о предпочтениях пользователей цифрового контента могут содержать систематическую ошибку и, следовательно, менее точно интерпретироваться вследствие влияния данных о взаимодействиях пользователя первого вида на оценивание данных о взаимодействиях пользователя второго вида и наоборот.
[0015] Варианты осуществления настоящей технологии разработаны на основе понимания разработчиками того, что в результате оценивания данных о взаимодействиях пользователя всех видов с помощью одной модели оценивания могут получаться сведения о предпочтениях пользователей рекомендательного сервиса цифрового контента, содержащие систематическую ошибку и, следовательно, менее точно интерпретируемые. Разработчики настоящей технологии предложили способы и системы, где данные о взаимодействиях пользователя различных видов оцениваются независимо друг от друга с помощью соответствующих различных моделей оценивания, которые специально адаптированы для данных о взаимодействиях пользователя соответствующих видов.
[0016] В соответствии с первым аспектом настоящей технологии предложен способ оценивания данных о взаимодействиях пользователь-элемент. Способ выполняется сервером, содержащим рекомендательный сервис для предоставления цифрового контента пользователю. Пользователь представляет собой одного из множества пользователей такого сервиса. Пользователь и элемент цифрового контента, с которым взаимодействовал этот пользователь, образуют возникшую пару пользователь-элемент и данные о взаимодействиях пользователь-элемент для возникших пар пользователь-элемент сохраняются в запоминающем устройстве, связанном с сервером. Способ включает в себя извлечение сервером из запоминающего устройства (а) данных о взаимодействиях пользователь-элемент первого вида, связанных с соответствующими возникшими парами пользователь-элемент, и (б) данных о взаимодействиях пользователь-элемент второго вида, связанных с соответствующими возникшими парами пользователь-элемент. Первый вид отличается от второго вида. Способ также включает в себя применение сервером первой модели оценивания в отношении данных о взаимодействиях пользователь-элемент первого вида, чтобы оценивать данные о взаимодействиях пользователь-элемент первого вида для не возникших пар пользователь-элемент. Способ также включает в себя применение сервером второй модели оценивания в отношении данных о взаимодействиях пользователь-элемент второго вида, чтобы оценивать данные о взаимодействиях пользователь-элемент второго вида для не возникших пар пользователь-элемент. Таким образом, не возникшие пары пользователь-элемент связываются с соответствующими оцениваемыми данными о взаимодействиях пользователь-элемент первого вида и второго вида.
[0017] В некоторых вариантах осуществления способа элемент цифрового контента представляет собой цифровой документ или сетевой ресурс, содержащий соответствующие цифровые документы, или издателя, публикующего соответствующие цифровые документы.
[0018] В некоторых вариантах осуществления способа первая модель оценивания представляет собой модель сингулярного разложения (SVD, Singular-Value Decomposition).
[0019] В некоторых вариантах осуществления способа вторая модель оценивания представляет собой другую модель SVD или модель на основе нейронной сети (NN, Neural Network).
[0020] В некоторых вариантах осуществления способа первая или вторая модель оценивания обучаются до применения, соответственно, первой или второй модели оценивания.
[0021] В некоторых вариантах осуществления способа первая модель оценивания применяется сервером независимо от применения второй модели оценивания.
[0022] В некоторых вариантах осуществления способа первая модель оценивания применяется сервером в первый момент времени, а вторая модель оценивания применяется сервером во второй момент времени. Первый момент времени отличается от второго момента времени.
[0023] В некоторых вариантах осуществления способ дополнительно включает в себя формирование сервером первых наборов признаков элемента для соответствующих элементов цифрового контента на основе данных о взаимодействиях пользователь-элемент первого вида, связанных с возникшими и не возникшими парами пользователь-элемент. Первые наборы признаков элемента формируются так, чтобы элементы цифрового контента с подобным цифровым контентом имели подобные первые наборы признаков элемента. Способ дополнительно включает в себя формирование сервером вторых наборов признаков элемента для соответствующих элементов цифрового контента на основе данных о взаимодействиях пользователь-элемент второго вида, связанных с возникшими и не возникшими парами пользователь-элемент. Вторые наборы признаков элемента формируются так, чтобы элементы цифрового контента с подобным цифровым контентом имели подобные вторые наборы признаков элемента. Таким образом, элемент цифрового контента связывается с соответствующим первым набором признаков элемента и соответствующим вторым набором признаков элемента. Способ дополнительно включает в себя сохранение сервером элементов цифрового контента совместно с соответствующими первыми и вторыми наборами признаков элемента.
[0024] В некоторых вариантах осуществления способа в интерактивном режиме в момент времени, когда запрос цифрового контента принят сервером от связанного с пользователем электронного устройства, способ дополнительно включает в себя извлечение сервером из запоминающего устройства в этот момент времени данных о взаимодействиях пользователь-элемент первого вида для возникших пар пользователь-элемент, связанных с этим пользователем. Способ дополнительно включает в себя формирование сервером первого набора признаков пользователя для этого пользователя на основе данных о взаимодействиях пользователь-элемент первого вида для возникших пар пользователь-элемент, связанных с этим пользователем. Первый набор признаков пользователя формируется так, чтобы пользователи с подобными предпочтениями цифрового контента имели подобные первые наборы признаков пользователя. Способ дополнительно включает в себя извлечение сервером из запоминающего устройства в этот момент времени данных о взаимодействиях пользователь-элемент второго вида для возникших пар пользователь-элемент, связанных с этим пользователем. Способ дополнительно включает в себя формирование сервером второго набора признаков пользователя для этого пользователя на основе данных о взаимодействиях пользователь-элемент второго вида для возникших пар пользователь-элемент, связанных с этим пользователем. Второй набор признаков пользователя формируется так, чтобы пользователи с подобными предпочтениями цифрового контента имели подобные вторые наборы признаков пользователя. Таким образом, первый и второй наборы признаков пользователя связаны с пользователем. Способ дополнительно включает в себя определение сервером для соответствующих элементов цифрового контента характерного для пользователя значения (далее - пользовательского значения), указывающего на релевантность соответствующего цифрового контента для этого пользователя, путем (а) сравнения соответствующего первого набора признаков элемента с первым набором признаков пользователя и (б) сравнения соответствующего второго набора признаков элемента со вторым набором признаков пользователя.
[0025] В некоторых вариантах осуществления способа сравнение соответствующего первого набора признаков элемента с первым набором признаков пользователя включает в себя определение сервером первого значения степени сходства пользователя и соответствующего элемента цифрового контента. Кроме того, сравнение соответствующего второго набора признаков элемента со вторым набором признаков пользователя включает в себя определение сервером второго значения степени сходства пользователя и соответствующего элемента цифрового контента. Пользовательское значение для соответствующего элемента цифрового контента представляет собой взвешенное сочетание соответствующих первого и второго значений степени сходства.
[0026] В некоторых вариантах осуществления способ дополнительно включает в себя выбор сервером подмножества элементов цифрового контента на основе соответствующих пользовательских значений. Элементы цифрового контента из подмножества элементов цифрового контента связаны с наибольшими пользовательскими значениями релевантности. Способ дополнительно включает в себя выбор сервером из подмножества элементов цифрового контента по меньшей некоторого цифрового контента для предоставления цифрового контента пользователю.
[0027] В некоторых вариантах осуществления способ дополнительно включает в себя передачу сервером по меньшей мере некоторого цифрового контента из по меньшей мере некоторых элементов цифрового контента в электронное устройство, связанное с пользователем.
[0028] В некоторых вариантах осуществления способа первый вид данных и второй вид данных представляют собой любые два вида из следующих: количество «кликов», количество положительных отметок (далее - «лайков»), количество отрицательных отметок (далее - «дизлайков»), количество «длинных кликов» и продолжительность взаимодействия.
[0029] В некоторых вариантах осуществления способа первая модель оценивания и/или вторая модель оценивания представляет собой модель на основе нейронной сети NN, содержащей первую часть сети NN и вторую часть сети NN.
[0030] В некоторых вариантах осуществления способа первая часть сети NN предназначена для формирования вложенного вектора элемента на основе данных элемента, связанных с элементом из пары пользователь-элемент. Вторая часть сети NN предназначена для формирования вложенного вектора пользователя на основе данных пользователя, связанных с пользователем из пары пользователь-элемент.
[0031] В некоторых вариантах осуществления способа модель на основе сети NN обучается путем адаптации первой части сети NN для формирования вложенного вектора элемента и адаптации второй части сети NN для формирования вложенного вектора пользователя так, чтобы значение сходства вложенного вектора элемента и вложенного вектора пользователя указывало на данные о взаимодействиях пользователь-элемент этого вида для этой пары пользователь-элемент.
[0032] В соответствии со вторым аспектом настоящей технологии предложен сервер для оценивания данных о взаимодействиях пользователь-элемент. Сервер содержит рекомендательный сервис для предоставления цифрового контента пользователю. Пользователь представляет собой одного из множества пользователей такого сервиса. Пользователь и элемент цифрового контента, с которым взаимодействовал этот пользователь, образуют возникшую пару пользователь-элемент, а данные о взаимодействиях пользователь-элемент для возникших пар пользователь-элемент сохраняются в запоминающем устройстве, связанном с сервером. Сервер способен извлекать из запоминающего устройства (а) данные о взаимодействиях пользователь-элемент первого вида, связанные с соответствующими возникшими парами пользователь-элемент, и (б) данные о взаимодействиях пользователь-элемент второго вида, связанные с соответствующими возникшими парами пользователь-элемент. Первый вид отличается от второго вида. Сервер способен применять первую модель оценивания в отношении данных о взаимодействиях пользователь-элемент первого вида, чтобы оценивать данные о взаимодействиях пользователь-элемент первого вида для не возникших пар пользователь-элемент. Сервер способен применять вторую модель оценивания в отношении данных о взаимодействиях пользователь-элемент второго вида, чтобы оценивать данные о взаимодействиях пользователь-элемент второго вида для не возникших пар пользователь-элемент. Таким образом, не возникшие пары пользователь-элемент связываются с соответствующими оцениваемыми данными о взаимодействиях пользователь-элемент первого вида и второго вида.
[0033] В некоторых вариантах осуществления сервера элемент цифрового контента представляет собой цифровой документ или сетевой ресурс, содержащий соответствующие цифровые документы, или издателя, публикующего соответствующие цифровые документы.
[0034] В некоторых вариантах осуществления сервера первая модель оценивания представляет собой модель сингулярного разложения (SVD).
[0035] В некоторых вариантах осуществления сервера вторая модель оценивания представляет собой другую модель SVD или модель на основе нейронной сети (NN).
[0036] В некоторых вариантах осуществления сервера первая или вторая модель оценивания обучаются до того, как сервер становится способным применять первую или вторую модель оценивания.
[0037] В некоторых вариантах осуществления сервер способен применять первую модель оценивания независимо от применения второй модели оценивания.
[0038] В некоторых вариантах осуществления сервер способен применять первую модель оценивания в первый момент времени. Сервер способен применять вторую модель оценивания во второй момент времени. Первый момент времени отличается от второго момента времени.
[0039] В некоторых вариантах осуществления сервера первая модель оценивания и/или вторая модель оценивания представляет собой модель на основе сети NN, содержащей первую часть сети NN и вторую часть сети NN.
[0040] В некоторых вариантах осуществления сервера первая часть сети NN предназначена для формирования вложенного вектора элемента на основе данных элемента, связанных с элементом из пары пользователь-элемент. Вторая часть сети NN предназначена для формирования вложенного вектора пользователя на основе данных пользователя, связанных с пользователем из пары пользователь-элемент.
[0041] В некоторых вариантах осуществления сервера модель на основе сети NN обучается сервером путем адаптации первой части сети NN для формирования вложенного вектора элемента и адаптации второй части сети NN для формирования вложенного вектора пользователя так, чтобы значение сходства вложенного вектора элемента и вложенного вектора пользователя указывало на данные о взаимодействиях пользователь-элемент этого вида для этой пары пользователь-элемент.
[0042] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не критично для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая конкретная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[0043] В контексте настоящего описания термин «клиентское устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения конкретной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры клиентских устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как клиентское устройство, также может функционировать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.
[0044] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, что и процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
[0045] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы, списки слов и т.д., но не ограничивается ими.
[0046] В контексте настоящего описания выражение «компонент» включает в себя обозначение программного обеспечения (подходящего для определенных аппаратных средств), необходимого и достаточного для выполнения определенной функции или нескольких функций.
[0047] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.
[0048] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может содержать сам документ (т.е. его содержимое) или оно может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю этих данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалистам в данной области должно быть очевидно, что степень точности, требуемая для таких данных, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для этого элемента в определенной таблице заранее заданной базы данных, содержащей информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.
[0049] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента могут быть одним и тем же реальным элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
[0050] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
[0051] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов реализации настоящей технологии должны быть ясны из дальнейшего описания, приложенных чертежей и формулы изобретения.
Краткое описание чертежей
[0052] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[0053] На фиг. 1 представлена схема системы, реализованной согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[0054] На фиг. 2 представлен снимок экрана реализованного согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии рекомендательного интерфейса, отображаемого на экране представленного на фиг. 1 электронного устройства, реализованного в виде смартфона.
[0055] На фиг. 3 приведено множество реализованных согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии компьютерных процедур, выполняемых сервером, представленным на фиг. 1.
[0056] На фиг. 4 показаны по меньшей мере некоторые пользователи и по меньшей мере некоторые элементы цифрового контента системы, представленной на фиг. 1, а также по меньшей мере некоторые возникшие пары пользователь-элемент, соответствующие не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[0057] На фиг. 5 представлен соответствующий не имеющим ограничительного характера вариантам осуществления настоящей технологии процесс получения представленным на фиг. 1 сервером данных о взаимодействиях пользователь-элемент первого вида и данных о взаимодействиях пользователь-элемент второго вида для возникших пар пользователь-элемент, представленных на фиг. 4, с целью оценивания данных о взаимодействиях пользователь-элемент первого вида и второго вида для не возникших пар пользователь-элемент.
[0058] На фиг. 6 представлена первая матрица пользователей и элементов с данными о взаимодействиях пользователь-элемент первого вида и вторая матрица пользователей и элементов с данными о взаимодействиях пользователь-элемент второго вида, обрабатываемые представленным ни фиг. 1 сервером для формирования соответствующих первого и второго наборов признаков элемента для элементов цифрового контента согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[0059] На фиг. 7 представлен соответствующий вариантам осуществления настоящей технологии процесс формирования первого и второго наборов признаков пользователя для пользователя представленной на фиг. 1 системы.
[0060] На фиг. 8 представлен соответствующий вариантам осуществления настоящей технологии процесс формирования оценок сходства и пользовательских значений релевантности элементов цифрового контента для пользователя системы, представленной на фиг. 1.
[0061] На фиг. 9 приведена блок-схема соответствующего вариантам осуществления настоящей технологии способа оценивания данных о взаимодействиях пользователь-элемент, выполняемого сервером, представленным на фиг. 1.
Осуществление изобретения
[0062] Представленные в данном описании примеры и условный язык предназначены для лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники могут разработать различные способы и устройства, которые явно не описаны и не показаны, но осуществляют принципы настоящей технологии в пределах ее существа и объема.
[0063] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалисту в данной области должно быть понятно, что различные варианты осуществления данной технологии могут быть значительно сложнее.
[0064] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы данной технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или это описание содержит единственный вариант реализации того или иного элемента настоящей технологии.
[0065] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, осуществляющих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены в пригодной для чтения компьютером среде и выполняться с использованием компьютера или процессора, независимо от того, показан явно такой компьютер или процессор либо нет.
[0066] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут осуществляться с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, его функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может, помимо прочего, подразумевать аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, стандартные и/или заказные.
[0067] Программные модули или просто модули, реализуемые в виде программных средств, могут быть представлены в данном документе как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или предполагаемыми.
[0068] Учитывая вышеизложенные принципы, далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[0069] На фиг. 1 представлена схема системы 100, пригодной для реализации вариантов осуществления настоящей технологии, не имеющих ограничительного характера. Очевидно, что система 100 приведена только для демонстрации варианта реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих данную технологию. Это описание не предназначено для определения объема или границ данной технологии. В некоторых случаях приводятся полезные примеры модификаций системы 100. Они способствуют пониманию, но также не определяют объем или границы данной технологии. Эти модификации не составляют исчерпывающего списка. Как должно быть понятно специалисту в данной области, возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны (т.е. примеры модификаций отсутствуют), это не означает, что они невозможны и/или что описание содержит единственный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области должно быть понятно, что это не так. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии, и что такие варианты представлены для того, чтобы способствовать лучшему ее пониманию. Специалисту в данной области должно быть понятно, что различные варианты осуществления данной технологии могут быть значительно сложнее.
[0070] В целом, система 100 способна предоставлять рекомендации цифрового контента пользователям системы 100. Например, пользователь 102 (один из множества пользователей системы 100) может представлять собой абонента рекомендательного сервиса, обеспечиваемого системой 100. Тем не менее, подписка такого абонента не обязательно должна быть явной или платной. Например, пользователь может стать абонентом вследствие загрузки рекомендательного приложения из системы 100, путем регистрации и использования сочетания учетного имени и пароля, путем регистрации и использования предпочтений пользователя и т.д. Любой вариант системы, способной формировать для пользователя рекомендации контента, может быть адаптирован для выполнения вариантов осуществления настоящей технологии после реализации представленной здесь концепции. Кроме того, система 100 описана с использованием примера системы 100, представляющей собой рекомендательную систему (поэтому система 100 ниже может называться рекомендательной системой 100 или системой 100 прогнозирования или обучающей системой 100). Тем не менее, варианты осуществления настоящей технологии могут быть в равной степени применены к системе 100 других видов, как более подробно описано ниже.
Электронное устройство
[0071] Система 100 содержит устройство 104, связанное с пользователем 102. Электронное устройство 104 иногда может называться клиентским устройством, оконечным устройством или клиентским электронным устройством. Следует отметить, что связь электронного устройства 104 с пользователем 102 не означает необходимости предполагать или подразумевать какой-либо режим работы, например, вход в систему, регистрацию и т.п.
[0072] Несмотря на то, что на фиг. 1 показан только пользователь 102, связанный с электронным устройством 104, предполагается, что пользователь 102, связанный с электронным устройством 104, представляет собой пользователя из множества пользователей (не показаны) системы 100, каждый из которых может быть связан с соответствующим электронным устройством (не показано).
[0073] На реализацию электронного устройства 104 не накладывается каких-либо особых ограничений. Например, электронное устройство 104 может быть реализовано как персональный компьютер (настольный, ноутбук, нетбук и т.д.), беспроводное устройство связи (смартфон, сотовый телефон, планшет и т.д.) или как сетевое оборудование (маршрутизатор, коммутатор, шлюз и т.д.). Электронное устройство 104 содержит известные в данной области техники аппаратные средства и/или программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для выполнения рекомендательного приложения 106. В общем случае рекомендательное приложение 106 предназначено для того, чтобы обеспечить пользователю 102 возможность получать (или осуществлять доступ иным образом) рекомендации цифрового контента, предоставляемые системой 100, как более подробно описано ниже.
[0074] На реализацию рекомендательного приложения 106 не накладывается каких-либо особых ограничений. Один пример рекомендательного приложения 106 может предусматривать доступ пользователя 102 к веб-сайту, связанному с рекомендательным сервисом, для обеспечения доступа к рекомендательному приложению 106. Например, доступ к рекомендательному приложению 106 может осуществляться путем ввода (или копирования и вставки или выбора ссылки) универсального указателя ресурсов (URL, Uniform Resource Locator), связанного с рекомендательным сервисом. В качестве альтернативы рекомендательное приложение 106 может представлять собой приложение, загружаемое из так называемого «магазина приложений», такого как APPSTORE™ или GOOGLEPLAY™, и устанавливаемое или выполняемое в электронном устройстве 104. Очевидно, что доступ к рекомендательному приложению 106 может осуществляться с использованием любых других подходящих средств. В других вариантах осуществления изобретения функции рекомендательного приложения 106 могут быть включены в состав другого приложения, такого как браузерное приложение (не показано) и т.п. В частности, рекомендательное приложение 106 может выполняться как часть браузерного приложения. Например, функции рекомендательного приложения 106 могут выполняться, когда пользователь 102 запускает браузерное приложение.
[0075] В общем случае рекомендательное приложение 106 содержит рекомендательный интерфейс 108, отображаемый на экране (отдельно не обозначен) электронного устройства 104.
[0076] На фиг. 2 представлен снимок экрана рекомендательного интерфейса, реализованного согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии (показан пример рекомендательного интерфейса 108, отображаемого на экране электронного устройства 104, реализованного в виде смартфона).
[0077] В некоторых вариантах осуществления настоящей технологии рекомендательный интерфейс 108 может быть представлен или отображен, когда пользователь 102 электронного устройства 104 активирует (т.е. выполняет, запускает, использует в фоновом режиме и т.п.) рекомендательное приложение 106. В качестве альтернативы рекомендательный интерфейс 108 может быть представлен или отображен, когда пользователь 102 открывает новое окно браузера и/или активирует новую вкладку в браузерном приложении. Например, в некоторых вариантах осуществления настоящей технологии рекомендательный интерфейс 108 может выполнять функции главной страницы в браузерном приложении.
[0078] Рекомендательный интерфейс 108 содержит поисковый интерфейс 202. Поисковый интерфейс 202 включает в себя интерфейс 204 поискового запроса. Интерфейс 204 поискового запроса может быть реализован как «омнибокс», что позволяет вводить поисковый запрос для проведения поиска или сетевой адрес (такой как URL) для идентификации ресурса (такого как веб-сайт), к которому требуется получить доступ. Тем не менее, интерфейс 204 поискового запроса может быть способным принимать введенный поисковый запрос для проведения поиска и/или сетевой адрес (такой как URL) для идентификации ресурса (такого как веб-сайт), к которому требуется получить доступ.
[0079] Рекомендательный интерфейс 108 дополнительно содержит интерфейс 206 ссылок. Интерфейс 206 ссылок включает в себя множество 208 фрагментов, восемь из которых представлены на фиг. 2, но только для двух из них предусмотрены числовые обозначения на фиг. 2: первый фрагмент 210 и второй фрагмент 212.
[0080] Каждый фрагмент из множества 208 фрагментов, например, первый фрагмент 210 и второй фрагмент 212, включает в себя (или выполняет соответствующие функции) ссылку (а) на веб-сайт, отмеченный как «избранное» или как-либо иначе отмеченный пользователем 102, (б) на ранее посещенный веб-сайт и т.п. В изображенном варианте осуществления изобретения множество 208 фрагментов визуально представлено пользователю 102 в виде квадратных кнопок с логотипом и/или с названием ресурса, позволяя пользователю 102 понимать, с каким ресурсом связан каждый из множества фрагментов (отдельно не пронумерованы). Тем не менее, должно быть очевидно, что визуальное представление некоторых или всех из множества 208 фрагментов может быть иным. Таким образом, некоторые или все фрагменты из множества 208 фрагментов могут быть реализованы в виде кнопок других форм, в виде списка гиперссылок и т.д.
[0081] Например, первый фрагмент 210 включает в себя ссылку на веб-сайт TRAVELZOO™, а второй фрагмент 212 включает в себя ссылку на веб-сайт персонального «живого журнала» (live journal). Излишне говорить, что количество и содержимое индивидуальных фрагментов из множества 208 фрагментов никак не ограничено.
[0082] Например, количество фрагментов во множестве 208 фрагментов может быть выбрано заранее поставщиком рекомендательного приложения 106. В некоторых вариантах осуществления настоящей технологии количество фрагментов во множестве 208 фрагментов выбрано заранее на основе размера и/или разрешения экрана электронного устройства 104, в котором выполняется рекомендательное приложение 106. Например, первое количество фрагментов может быть выбрано заранее для электронного устройства 104, реализованного в виде смартфона, второе количество фрагментов может быть выбрано заранее для электронного устройства 104, реализованного в виде планшета, и третье количество фрагментов может быть выбрано заранее для электронного устройства 104, реализованного в виде ноутбука или настольного компьютера.
[0083] Рекомендательный интерфейс 108 дополнительно содержит набор 214 рекомендуемого цифрового контента. Набор 214 рекомендуемого цифрового контента включает в себя один или несколько рекомендуемых цифровых документов, например, первый рекомендуемый цифровой документ 216 и второй рекомендуемый цифровой документ 218 (второй рекомендуемый цифровой документ 218 только частично виден на фиг. 2). Разумеется, что набор 214 рекомендуемого цифрового контента может содержать больше рекомендуемых цифровых документов. В представленном на фиг. 2 варианте осуществления изобретения и в тех вариантах осуществления изобретения, где присутствует несколько рекомендуемых цифровых документов, пользователь 102 может выполнять прокрутку набора 214 рекомендуемого цифрового контента. Прокрутка может осуществляться любыми подходящими средствами. Например, пользователь 102 может выполнять прокрутку контента набора 214 рекомендуемого цифрового контента с использованием «мыши» (не показана), клавиши клавиатуры (не показана) или взаимодействия с сенсорным экраном (не показан) соответствующего электронного устройства 104.
[0084] Пример, приведенный на фиг. 2, представляет собой один возможный вариант осуществления рекомендательного интерфейса 108. Другой пример осуществления рекомендательного интерфейса 108 и описание способа взаимодействия пользователя 102 с рекомендательным интерфейсом приведены патентной заявке того же заявителя «Компьютерный способ создания интерфейса рекомендации контента» (12 мая 2016 г., №2016118519), содержание которой полностью включено в настоящий документ посредством ссылки.
[0085] Показанное на фиг. 1 электронное устройство 104 способно формировать запрос 150 рекомендации цифрового контента. Запрос 150 может быть сформирован в ответ на явное выражение пользователем 102 желания получить рекомендацию цифрового контента. Например, рекомендательный интерфейс 108 может предоставлять кнопку (или другой активный элемент), позволяющую пользователю 102 выражать свое желание получать новые или обновленные рекомендации цифрового контента.
[0086] Например, рекомендательный интерфейс 108 может предоставить активную кнопку с надписью «Запросить рекомендацию контента». В этих вариантах осуществления изобретения запрос 150 рекомендации цифрового контента может считаться «явным запросом» в том смысле, что пользователь 102 явно выражает запрос на рекомендацию цифрового контента.
[0087] В других вариантах осуществления изобретения запрос 150 рекомендации 150 цифрового контента может быть сформирован в ответ на неявное указание пользователя 102 на его желание получить рекомендацию цифрового контента. В некоторых вариантах осуществления настоящей технологии запрос 150 рекомендации цифрового контента может быть сформирован в ответ на запуск пользователем 102 рекомендательного приложения 106.
[0088] В качестве альтернативы в тех вариантах осуществления настоящей технологии, где рекомендательное приложение 106 реализовано в виде браузера (такого как, браузер GOOGLE™, браузер YANDEX™, браузер YAHOO!™ или любое другое проприетарное или коммерчески доступное браузерное приложение), запрос 150 рекомендации цифрового контента может быть сформирован в ответ на запуск пользователем 102 браузерного приложения и может быть сформирован, например, без выполнения пользователем 102 каких-либо дополнительных действий, кроме запуска браузерного приложения.
[0089] Запрос 150 рекомендации цифрового контента также может быть сформирован в ответ на открытие пользователем 102 новой вкладки в уже открытом браузерном приложении и может быть создан, например, без выполнения пользователем 102 каких-либо дополнительных действий, помимо открывания новой вкладки браузера.
[0090] Таким образом, предполагается, что в некоторых вариантах осуществления настоящей технологии запрос 150 рекомендации цифрового контента может быть сформирован, даже если пользователю 102 неизвестно, что он может быть заинтересован в получении рекомендации цифрового контента.
[0091] Запрос 150 рекомендации цифрового контента также может быть сформирован в ответ на выбор пользователем 102 конкретного элемента браузерного приложения и может быть сформирован, например, без выполнения пользователем 102 каких-либо дополнительных действий, помимо выбора или активации конкретного элемента браузерного приложения.
[0092] Примеры конкретного элемента браузерного приложения, в числе прочего, включают в себя:
- адресную строку панели браузерного приложения;
- строку поиска браузерного приложения и/или строку поиска веб-сайта поисковой системы, доступ к которому осуществляется в браузерном приложении;
- омнибокс (объединенную строку адреса и поиска браузерного приложения);
- панель избранных или недавно посещенных сетевых ресурсов;
- любую другую заранее заданную область интерфейса браузерного приложения или сетевого ресурса, отображаемого в браузерном приложении.
[0093] Ниже более подробно описано формирование контента для набора 214 рекомендуемого цифрового контента и предоставление его электронному устройству 104.
Сеть связи
[0094] Электронное устройство 104 связано с сетью 110 связи для получения доступа к рекомендательному серверу 112 (или, сокращенно, к серверу 112).
[0095] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в качестве сети 110 связи может использоваться сеть Интернет. В других вариантах осуществления настоящей технологии сеть 110 связи может быть реализована иначе, например, в виде любой глобальной сети связи, локальной сети связи, частной сети связи и т.п.

[0096] Реализация линии связи (отдельно не обозначена) между электронным устройством 104 и сетью 110 связи зависит, среди прочего, от реализации электронного устройства 104. Только в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, в которых электронное устройство 104 реализовано в виде беспроводного устройства связи (такого как смартфон), линия связи может быть реализована в виде беспроводной линия связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi, Bluetooth и т.п.). В тех примерах, где электронное устройство 104 реализовано в виде ноутбука, линия связи может быть беспроводной (такой как Wireless Fidelity или сокращенно WiFi, Bluetooth и т.д.) или проводной (такой как соединение на основе Ethernet).
Множество сетевых ресурсов
[0097] С сетью 110 связи также связано множество 130 сетевых ресурсов, содержащее первый сетевой ресурс 132, второй сетевой ресурс 134 и множество 136 дополнительных сетевых ресурсов. Первый сетевой ресурс 132, второй сетевой ресурс 134 и множество 136 дополнительных сетевых ресурсов представляют собой сетевые ресурсы, доступные электронному устройству 104 (а также другим электронным устройствам, потенциально присутствующим в системе 100) через сеть 110 связи. На соответствующий цифровой контент первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов не накладывается каких-либо особых ограничений.
[0098] Предполагается, что любой ресурс из числа первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов может содержать цифровые документы, включающие в себя цифровой контент потенциально различных видов.
[0099] Например, цифровой контент цифровых документов может, среди прочего, включать в себя цифровой аудиоконтент для потоковой передачи или загрузки, цифровой видеоконтент для потоковой передачи или загрузки, новости, блоги, информацию о различных государственных учреждениях, информацию об интересах, тематически кластеризованный контент (например, контент, релевантный для интересующихся кикбоксингом) и т.д.
[00100] В другом примере цифровой контент цифровых документов, содержащихся в первом сетевом ресурсе 132, втором сетевом ресурсе 134 и множестве 136 дополнительных сетевых ресурсов может быть основан на тексте. Цифровой контент на основе текста может, среди прочего, включать в себя новости, блоги, информацию о различных государственных учреждениях, информацию об интересах, тематически кластеризованный контент (например, контент, релевантный для интересующихся кикбоксингом) и т.д.
[00101] Следует отметить, что выражение «цифровой контент на основе текста» не означает, что цифровой документ содержит только текст, исключая мультимедийные элементы другого вида. Напротив, цифровой документ на основе текста может включать в себя текстовые элементы и, возможно, мультимедийные элементы другого вида. Например, цифровой документ на основе текста, представляющий собой статью, может содержать текст и фотографии. В другом примере цифровой документ на основе текста, представляющий собой блог, может содержать текст и встроенные видеоэлементы.
[00102] Следует отметить, что цифровой контент сетевого ресурса может быть опубликован объектом-издателем или просто «издателем». В общем случае издатель формирует цифровой контент и публикует его так, чтобы он был доступен на сетевом ресурсе. Следует отметить, что издатель обычно формирует и публикует цифровой контент одного вида и/или одной темы. Например, издатель, который обычно публикует цифровой контент, касающийся спортивных новостей, вероятно, опубликует новый цифровой контент, также касающийся спортивных новостей.
[00103] Предполагается, что в некоторых вариантах осуществления настоящей технологии ресурс из множества 130 сетевых ресурсов может быть связан с одним или несколькими издателями. В других вариантах осуществления настоящей технологии издатель может быть связан с одним или несколькими ресурсами из множества 130 сетевых ресурсов без выхода за границы настоящей технологии.
[00104] В общем случае цифровой контент потенциально «доступен» для электронного устройства 104 различными способами. Например, пользователь 102 электронного устройства 104 может использовать браузерное приложение (не показано) и ввести указатель URL, связанный с ресурсом из числа первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов. В другом примере пользователь 102 электронного устройства 104 может выполнить поиск с помощью поисковой системы (не показана), чтобы обнаружить цифровой контент одного или нескольких ресурсов из числа первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов. Как было упомянуто выше, это удобно, когда пользователь 102 заранее знает, в каком цифровом контенте он заинтересован.
Рекомендательный сервер
[00105] Сервер 112 может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 112 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 112 может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения, либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 112 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 112 могут быть распределены между несколькими серверами.
[00106] В общем случае сервер 112 выполнен с возможностью (а) получать от электронного устройства 104 запрос 150 на рекомендацию цифрового контента и (б) в ответ на запрос 150 формировать сообщение 152 о рекомендуемом цифровом контенте, которое должно передаваться в электронное устройство 104.
[00107] Предполагается, что по меньшей мере некоторый цифровой контент в сообщении 152 о рекомендуемом цифровом контенте может быть специально сформирован или иным образом адаптирован для пользователя 102, связанного с электронным устройством 104. Сервер 112 может быть способным предоставлять электронному устройству 104 для отображения пользователю 102 (в рекомендательном интерфейсе 108 рекомендательного приложения 106) информацию, указывающую на набор 214 рекомендуемого цифрового контента и, среди прочего, входящую в состав цифрового контента в сообщении 152 о рекомендуемом цифровом контенте.
[00108] Должно быть понятно, что набор 214 рекомендуемого цифрового контента, предоставленный пользователю 102 сервером 112, может содержать цифровой контент, доступный в одном из множества 130 сетевых ресурсов, который заранее не известен пользователю 102. Ниже более подробно описано формирование сервером 112 набора 214 рекомендуемого цифрового контента.
[00109] Чтобы предоставить пользователю 102 рекомендацию цифрового контента, сервер 112 может быть способным выполнять по меньшей мере некоторые из множества 300 компьютерных процедур (см. фиг. 3). Предполагается, что другие компьютерные процедуры, отличные от представленных на фиг. 3 процедур, не составляющих исчерпывающего перечня, могут быть реализованы сервером 112 для предоставления пользователям рекомендаций цифрового контента без выхода за границы настоящей технологии.
[00110] Множество 300 компьютерных процедур включает в себя (а) процедуру 310 обнаружения цифрового контента, (б) процедуру 320 сбора данных о взаимодействиях, (в) процедуру 325 оценивания данных о взаимодействиях, (г) процедуру 330 предварительного выбора цифрового контента и (д) процедуру 340 выбора цифрового контента, которые описаны ниже.
[00111] В общем случае процедура 310 обнаружения цифрового контента выполняется сервером 112 для обнаружения и сохранения потенциально рекомендуемого цифрового контента для множества пользователей рекомендательного сервиса системы 100.
[00112] Например, сервер 112 может быть способным выполнять в виде части процедуры 310 обнаружения цифрового контента приложение обходчика, которое «посещает» сетевые ресурсы (в частности, множество 130 сетевых ресурсов) и каталогизирует один или несколько цифровых документов, содержащихся на соответствующих сетевых ресурсах.
[00113] На характер потенциально рекомендуемого сервером 112 цифрового контента не накладывается каких-либо особых ограничений. Некоторые примеры потенциально рекомендуемого сервером 112 цифрового контента, среди прочего, включают в себя:
- новостную статью;
- публикацию;
- веб-страницу;
- сообщение на веб-сайте социальных медиа;
- новое приложение для загрузки из магазина приложений;
- новую песню (музыкальную фонограмму) для воспроизведения или загрузки с сетевого ресурса;
- аудиокнигу для воспроизведения или загрузки с сетевого ресурса;
- подкаст для воспроизведения или загрузки с сетевого ресурса;
- новый фильм (видеоклип) для воспроизведения или загрузки с сетевого ресурса;
- продукт для приобретения на сетевом ресурсе; и
- новый цифровой документ, загруженный для просмотра на веб-сайте социальных медиа (например, новую фотографию, загруженную на страницу INSTRAGRAM™ или FACEBOOK™).
[00114] Также предполагается, что при выполнении процедуры 310 обнаружения цифрового контента сервер 112 может быть способным наполнять базу 120 данных цифрового контента информацией об обнаруженных и каталогизированных цифровых документах для будущего использования.
[00115] В общем случае процедура 320 сбора данных о взаимодействиях может выполняться сервером 112 для сбора и сохранения данных о взаимодействиях пользователь-элемент между пользователями рекомендательного сервиса и элементами цифрового контента. Предполагается, что данные о взаимодействиях пользователь-элемент могут быть использованы сервером 112 для рекомендации цифрового контента пользователям рекомендательного сервиса.
[00116] Как описано ниже, элемент цифрового контента может представлять собой цифровой документ или сетевой ресурс, содержащий цифровые документы, или издателя, публикующего цифровые документы.
[00117] Сервер 112 может отслеживать и собирать данные о взаимодействиях пользователь-элемент пользователей системы 100 с элементами цифрового контента на основе цифрового контента, который ранее был рекомендован соответствующим пользователям.
[00118] Например, можно предположить, что пользователь взаимодействовал с элементом цифрового контента, представляющим собой цифровой документ, ранее рекомендованный этому пользователю рекомендательным сервисом. Сервер 112 может отслеживать и собирать данные о взаимодействиях пользователь-элемент этого пользователя с этим цифровым документом в форме пользовательских событий, происходивших между этим пользователем и этим цифровым документом.
[00119] Следует отметить, что в этом примере сервер 112 может быть способным отслеживать и собирать данные о взаимодействиях пользователь-элемент этого пользователя на «уровне цифрового документа», где элемент цифрового контента представляет собой цифровой документ (а не сетевой ресурс или издателя).
[00120] Примеры различных видов пользовательских событий, которые может отслеживать и собирать сервер 112 на уровне цифрового документа, среди прочего, включают в себя следующие события:
- пользователь выполнил «прокрутку» цифрового документа;
- пользователь поставил «лайк» цифровому документу;
- пользователь поставил «дизлайк» цифровому документу;
- пользователь «поделился» цифровым документом;
- пользователь «кликнул» или «выбрал» цифровой документ;
- пользователь затратил некоторое «время взаимодействия» на просмотр цифрового документа; и
- пользователь приобрел, заказал или загрузил цифровой документ.
[00121] Предполагается, что при выполнении процедуры 320 сбора данных о взаимодействиях сервер 112 может быть способным наполнять базу 122 данных пользователей отслеженными и собранными данными о взаимодействиях пользователь-элемент применительно к соответствующим пользователям.
[00122] Должно быть понятно, что пользователь мог, например, также взаимодействовать с другим цифровым документом, который вместе с этим цифровым документом содержится на общем сетевом ресурсе. Предполагается, что сервер 112 может отслеживать и собирать данные о взаимодействиях пользователь-элемент пользователя со всеми цифровыми документами, которые содержатся на общем сетевом ресурсе, в форме пользовательских событий, происходивших между этим пользователем и цифровым контентом, содержащимся на общем сетевом ресурсе.
[00123] Поэтому следует отметить, что сервер 112 дополнительно может быть способным отслеживать, собирать и сохранять данные о взаимодействиях пользователь-элемент пользователя на «уровне сетевого ресурса», где элемент цифрового контента представляет собой сетевой ресурс (а не цифровой документ или издателя).
[00124] Также должно быть понятно, что пользователь мог, например, также взаимодействовать с дополнительным цифровым документом, который вместе с этим цифровым документом был сформирован и опубликован общим издателем. Предполагается, что сервер 112 способен отслеживать и собирать данные о взаимодействиях пользователь-элемент пользователя со всеми цифровыми документами, опубликованными общим издателем, в форме пользовательских событий, происходивших между этим пользователем и цифровым контентом, опубликованным общим издателем.
[00125] Поэтому следует отметить, что сервер 112 дополнительно может быть способным отслеживать, собирать и сохранять данные о взаимодействиях пользователь-элемент пользователя «на уровне издателя», где элемент цифрового контента представляет собой издателя (а не цифровой документ или сетевой ресурс).
[00126] В общем случае процедура 325 оценивания данных о взаимодействиях может выполняться сервером 112 для оценивания и потенциального сохранения данных о взаимодействиях пользователь-элемент между пользователями рекомендательного сервиса и элементами цифрового контента, которые не были собраны сервером 112 при выполнении процедуры 320 сбора данных о взаимодействиях. Например, сервер 112 мог не отследить, не собрать и не сохранить некоторые данные о взаимодействиях пользователь-элемент просто потому, что некоторые пользователи рекомендательного сервиса ранее не взаимодействовали с некоторыми элементами цифрового контента.
[00127] С одной стороны, в контексте настоящего описания «возникшая пара пользователь-элемент» соответствует паре, содержащей пользователя и элемент цифрового контента, с которым взаимодействовал этот пользователь. Иными словами, возникшие пары пользователь-элемент представляют собой пары пользователь-элемент, которые появились и для которых сервер 112 ранее отследил, собрал и сохранил данные о взаимодействиях пользователь-элемент при выполнении процедуры 320 сбора данных о взаимодействиях.
[00128] С другой стороны, в контексте настоящего описания «не возникшая пара пользователь-элемент» соответствует паре, содержащей пользователя и элемент цифрового контента, с которым этот пользователь не взаимодействовал. Иными словами, не возникшие пары пользователь-элемент представляют собой пары пользователь-элемент, которые не появились и для которых сервер 112 может быть способным оценивать (т.е. прогнозировать) данные о взаимодействиях пользователь-элемент при выполнении процедуры 325 оценивания данных о взаимодействиях.
[00129] Как указано выше, сервер 112 может быть способным сохранять оцениваемые данные о взаимодействиях пользователь-элемент в базе 122 пользователей применительно к соответствующим не возникшим парам пользователь-элемент. Ниже со ссылками на фиг. 4 и 5 более подробно описано выполнение сервером 112 процедуры 325 оценивания данных о взаимодействиях.
[00130] В общем случае процедура 330 предварительного выбора цифрового контента может выполняться сервером 112, чтобы заранее выбирать элементы цифрового контента, на основе которых возможен дальнейший выбор цифрового контента, который должен быть рекомендован пользователю 102. Предполагается, что процедура 330 предварительного выбора цифрового контента может выполняться так, чтобы предварительный выбор элементов цифрового контента основывался (а) на данных о взаимодействиях пользователь-элемент, ранее собранных при выполнении процедуры 320 сбора данных о взаимодействиях, и (б) на данных о взаимодействиях пользователь-элемент, оцениваемых сервером 112 при выполнении процедуры 325 оценивания данных о взаимодействиях.
[00131] В некоторых вариантах осуществления настоящей технологии предполагается, что сервер 112 может быть способным выполнять процедуру 330 предварительного выбора цифрового контента так, чтобы осуществлялся поэтапный предварительный выбор элементов цифрового контента. Иными словами, в составе процедуры 330 предварительного выбора цифрового контента сервер 112 может выполнять несколько циклов предварительного выбора элементов цифрового контента, на основе которых возможен дальнейший выбор цифрового контента, который должен быть рекомендован пользователю 102. С этой целью сервер 112 в составе процедуры 330 предварительного выбора цифрового контента может выполнять несколько процедур предварительного выбора, чтобы выполнять несколько соответствующих циклов предварительного выбора элементов цифрового контента.
[00132] Предполагается, что сервер 112 может быть способным сохранять предварительно выбранные элементы цифрового контента в базе 120 данных цифрового контента. Ниже со ссылками на фиг. 7 и 8 более подробно описано выполнение сервером 112 процедуры 330 предварительного выбора цифрового контента.
[00133] В общем случае процедура 340 выбора цифрового контента может выполняться сервером 112 таким образом, чтобы выбирать цифровой контент, который должен быть рекомендован пользователю 102. Например, процедура 340 выбора цифрового контента может выполняться сервером 112 таким образом, чтобы выбирать по меньшей мере некоторый цифровой контент, который должен быть включен в состав набора 214 рекомендуемого цифрового контента (см. фиг. 2), предоставляемого пользователю 102 в сообщении 152 о рекомендуемом цифровом контенте в ответ на запрос 150 (см. фиг. 1).
[00134] Предполагается, что сервер 112 может быть способным выполнять процедуру 340 выбора цифрового контента на основе предварительно выбранных элементов цифрового контента, определенных при выполнении процедуры 330 предварительного выбора цифрового контента, без выхода за границы настоящей технологии.
[00135] Предполагается, что сервер 112 может быть способным сохранять выбранный цифровой контент, который должен быть рекомендован пользователю 102, в базе 120 данных цифрового контента. Ниже более подробно описано выполнение сервером 112 процедуры 340 выбора цифрового контента.
[00136] Предполагается, что для выполнения по меньшей мере некоторых процедур из множества 300 компьютерных процедур (таких как процедура 325 оценивания данных о взаимодействиях, процедура 330 предварительного выбора цифрового контента и процедура 340 выбора цифрового контента) сервер 112 может реализовывать один или несколько алгоритмов машинного обучения (MLA, Machine Learning Algorithm).
Алгоритмы машинного обучения
[00137] В общем случае алгоритмы MLA способны обучаться и осуществлять прогнозирование на основе данных. Алгоритмы MLA обычно используются для первоначального построения модели на основе входных данных, чтобы затем, используя данные, осуществлять прогнозы и принимать решения, выраженные в виде выходных данных, а не выполнять статические машиночитаемые команды. Алгоритмы MLA обычно используются в качестве моделей оценивания, моделей ранжирования, моделей классификации и т.п.
[00138] Должно быть понятно, что для различных задач могут использоваться алгоритмы MLA различных видов с различными структурами и топологиями.
[00139] Алгоритмы MLA одного конкретного вида включают в себя нейронные сети (NN). В общем случае сеть NN состоит из взаимосвязанных групп искусственных «нейронов», обрабатывающих информацию с использованием коннекционного подхода. Сети NN используются для моделирования сложных взаимосвязей между входами и выходами (без фактической информации о взаимосвязях) или для поиска закономерностей в данных. Сети NN сначала адаптируются на этапе обучения, когда они обеспечиваются известным набором входных данных и информацией для адаптации сети NN с целью формирования надлежащих выходных данных (для ситуации, в отношении которой выполняется попытка моделирования). На этом этапе обучения сеть NN адаптируется к изучаемой ситуации и изменяет свою структуру так, чтобы сеть NN была способна для конкретных входных данных обеспечить адекватное предсказание выходных данных в новой ситуации (на основе того, что было изучено). Таким образом, вместо попытки определения сложных статистических распределений или математических алгоритмов для данной ситуации, сеть NN пытается предоставить «интуитивный» ответ на основе «восприятия» ситуации.
[00140] Сети NN широко используются во многих таких ситуациях, где важно только получить выходные данные на основе входных данных, и менее важна или вовсе не важна информация о том, как получаются эти выходные данные. Например, сети NN широко используются для оптимизации распределения веб-трафика между серверами, а также при оценивании данных, обработке данных, включая фильтрацию, кластеризацию, векторизацию и т.п.
[00141] В целом можно сказать, что реализация алгоритма MLA сервером 112 может быть разделена на два основных этапа: этап обучения и этап использования. Сначала алгоритм MLA обучается на этапе обучения. Затем, когда алгоритму MLA известно, какие предполагаются входные данные и какие должны выдаваться выходные данные, этот алгоритм MLA выполняется с реальными данными на этапе использования.
[00142] Предполагается, что в некоторых вариантах осуществления настоящей технологии для выполнения по меньшей мере некоторых процедур из множества 300 компьютерных процедур сервер 112 может быть способным реализовывать один или несколько подходящих алгоритмов MLA, в которых используется обучение с учителем, с частичным привлечением учителя или без учителя.
Устройство хранения данных
[00143] Сервер 112 связан с устройством 118 хранения данных (см. фиг. 1). Устройство 118 хранения данных изображено в виде элемента, отдельного от сервера 112. Тем не менее, предполагается, что устройство 118 хранения данных может быть реализовано как неотъемлемая часть сервера 112 без выхода за границы настоящей технологии. В качестве альтернативы, функции устройства 118 хранения данных могут быть распределены между несколькими устройствами хранения данных, как описано ниже.
[00144] В общем случае устройство 118 хранения данных способно хранить данные, сформированные, полученные и/или обработанные сервером 112 для временного и/или постоянного хранения. Например, устройство 118 хранения данных может быть способным хранить, среди прочего, данные, полученные в результате выполнения по меньшей мере некоторых процедур из множества 300 компьютерных процедур.
[00145] Устройство 118 хранения данных содержит базу 120 данных цифрового контента. Как описано выше, база 120 данных цифрового контента может наполняться сервером 112. В базе 120 данных цифрового контента хранится, например, информация о цифровом контенте, обнаруженном и каталогизированном сервером 112. В другом примере в базе 120 данных цифрового контента хранится информация о соответствующих цифровых документах, потенциально рекомендуемых сервером 112 пользователям рекомендательного сервиса.
[00146] В некоторых вариантах осуществления изобретения в базе 120 данных цифрового контента дополнительно может храниться информация о сетевых ресурсах для по меньшей мере некоторых цифровых документов, потенциально рекомендуемых сервером 112. Например, сервер 112 может быть способным наполнять базу 120 данных цифрового контента цифровыми документами, связанными с соответствующими сетевыми ресурсами.
[00147] В других вариантах осуществления изобретения в базе 120 данных цифрового контента дополнительно может храниться информация о соответствующих издателях по меньшей мере некоторых цифровых документов, потенциально рекомендуемых сервером 112. Например, сервер 112 может быть способным наполнять базу 120 данных цифрового контента цифровыми документами, связанными с соответствующими издателями.
[00148] Предполагается, что сервер 112 дополнительно может быть способным наполнять базу 120 данных цифрового контента цифровыми документами, связанными с соответствующими сетевыми ресурсами и связанными с соответствующими издателями без выхода за границы настоящей технологии.
[00149] Как описано выше, в базе 120 данных цифрового контента также может храниться информация о заранее выбранном цифровом контенте, который был выбран при выполнении процедуры 330 предварительного выбора цифрового контента, и/или информация о выбранном цифровом контенте, который был выбран при выполнении процедуры 340 выбора цифрового контента, без выхода за границы настоящей технологии.
[00150] В дополнительных вариантах осуществления настоящей технологии база 120 данных цифрового контента может наполняться дополнительной информацией о цифровом контенте, потенциально рекомендуемом рекомендательным сервисом.
[00151] Например, сервер 112 может собирать информацию об общей популярности цифрового контента среди пользователей рекомендательного сервиса (например, количество прослушиваний или загрузок музыкальной фонограммы).
[00152] В другом примере сервер 112 может собирать информацию о присущих цифровому контенту характеристиках (например, в случае музыкальной фонограммы - длительности фонограммы, жанре фонограммы, звуковых характеристиках фонограммы; других присущих цифровому контенту характеристиках, включая цену цифрового контента, категорию цифрового контента, размер цифрового контента в словах или символах).
[00153] В другом примере, более подробно описанном ниже со ссылкой на фиг. 6, сервер 112 может формировать и сохранять в базе 120 данных цифрового контента первый и второй наборы признаков элемента применительно к соответствующим элементам цифрового контента для последующего использования в процедуре 330 предварительного выбора цифрового контента. Другая информация о цифровом контенте также может сохраняться в базе 120 данных цифрового контента без выхода за границы настоящей технологии.
[00154] Устройство 118 хранения данных содержит базу 122 данных пользователей. В базе 122 данных пользователей хранится информация о взаимодействиях пользователь-элемент рекомендательного сервиса системы 100 (таких как пользователь 102 и другие потенциальные пользователи). Как описано выше, база 122 данных пользователей может быть наполнена сервером 112.
[00155] В некоторых вариантах осуществления изобретения база 122 данных может быть наполнена данными о взаимодействиях пользователь-элемент, отслеженными и сформированными сервером 112 во время выполнения процедуры 320 сбора данных о взаимодействиях. Иными словами, база 122 данных пользователей может быть наполнена данными о взаимодействиях пользователь-элемент применительно к соответствующим возникшим парам пользователь-элемент.
[00156] В других вариантах осуществления изобретения предполагается, что база 122 данных пользователей дополнительно может наполняться данными о взаимодействиях пользователь-элемент, оцениваемыми сервером 112. Иными словами, когда данные о взаимодействиях пользователь-элемент для не возникших пар пользователь-элемент оцениваются в результате выполнения процедуры 325 оценивания данных о взаимодействиях, база 122 данных пользователей может дополнительно наполняться оцениваемыми данными о взаимодействиях пользователь-элемент применительно к соответствующим не возникшим парам пользователь-элемент.
[00157] Должно быть понятно, что база 122 данных пользователей может быть наполнена данными о взаимодействиях пользователь-элемент на различных уровнях элементов цифрового контента. Например, как описано выше, база 122 данных пользователей может быть наполнена данными о взаимодействиях пользователь-элемент на уровне цифрового документа и/или на уровне сетевого ресурса и/или на уровне издателя без выхода за границы настоящей технологии. Как описано выше, база 122 данных пользователей также может быть наполнена данными о взаимодействиях пользователя с элементом цифрового контента в форме пользовательских событий, происходивших (и/или не происходивших, но оцениваемых) между этим пользователем и этим элементом цифрового контента.
[00158] Предполагается, что в некоторых вариантах осуществления настоящей технологии данные о взаимодействиях пользователь-элемент могут быть классифицированы в базе 122 данных пользователей по соответствующим видам данных о взаимодействиях пользователь-элемент. В некоторых вариантах осуществления изобретения виды данных о взаимодействиях пользователь-элемент могут соответствовать видам пользовательских событий, происходивших (и/или не происходивших, но оцениваемых) между пользователями и элементами цифрового контента.
[00159] Например, первый вид данных о взаимодействиях пользователь-элемент может представлять собой количество «кликов», второй вид данных о взаимодействиях пользователь-элемент может представлять собой количество «лайков», а третий вид данных о взаимодействиях пользователь-элемент может представлять собой «время взаимодействия». Следует отметить, что данные о взаимодействиях пользователь-элемент могут быть классифицированы в базе 122 данных пользователей на основе соответствующих видов данных о взаимодействиях пользователь-элемент, которые дополняют и/или отличаются от представленного выше неисчерпывающего списка, без выхода за границы настоящей технологии.
[00160] В дополнительных вариантах осуществления настоящей технологии база 122 данных пользователей может наполняться дополнительной информацией о множестве пользователей рекомендательного сервиса. Например, сервер 112 может быть способен собирать и сохранять в базе 122 данных пользователей данные пользовательских профилей, связанные со множеством пользователей системы 100, такие как имя, возраст, пол, выбранные пользователем виды цифрового контента и т.п. Другая информация о множестве пользователей рекомендательного сервера также может сохраняться в базе 122 данных пользователей.
[00161] Ниже со ссылками на фиг. 4 и 5 более подробно описано выполнение процедуры 325 оценивания данных о взаимодействиях.
[00162] На фиг. 4 представлено множество 402 пользователей, содержащее первого пользователя U1, второго пользователя U2 и третьего пользователя U3. Должно быть понятно, что множество 402 пользователей содержит по меньшей мере некоторых пользователей из множества пользователей рекомендательной системы 100. Множество 402 пользователей показано, как содержащее трех пользователей, но в других вариантах осуществления настоящей технологии множество 402 пользователей может содержать любое количество пользователей из множества пользователей рекомендательной системы 100 без выхода за границы настоящей технологии.
[00163] Также изображено множество 404 элементов цифрового контента, содержащее первый элемент 11 цифрового контента, второй элемент 12 цифрового контента и третий элемент 13 цифрового контента. Должно быть понятно, что множество 404 элементов цифрового контента содержит по меньшей мере некоторые элементы цифрового контента из множества элементов цифрового контента рекомендательной системы 100. Множество 404 элементов цифрового контента показано, как содержащее три элемента цифрового контента, но в других вариантах осуществления настоящей технологии множество 404 элементов цифрового контента может содержать любое количество элементов цифрового контента из множества элементов цифрового контента рекомендательной системы 100 без выхода за границы настоящей технологии.
[00164] Можно предположить, что первый пользователь U1 взаимодействовал с первым и вторым элементами I1 и I2 цифрового контента (показано на фиг. 4 стрелками). Также можно предположить, что второй пользователь U2 взаимодействовал со вторым элементом I2 цифрового контента, а третий пользователь U3 взаимодействовал с третьим элементом I3 цифрового контента.
[00165] Должно быть понятно, что при выполнении процедуры 320 сбора данных о взаимодействиях сервер 112 может быть способным отслеживать, собирать и сохранять в базе 122 данных пользователей набор 408 данных о взаимодействиях пользователь-элемент, содержащий данные о взаимодействиях пользователь-элемент, связанные с соответствующими парами из множества 406 возникших пар пользователь-элемент. В частности, сервер 112 может сохранять данные 420 о взаимодействиях пользователь-элемент применительно к паре 410 пользователь-элемент (такой как возникшая пара U1-I1), данные 422 о взаимодействиях пользователь-элемент применительно к паре 412 пользователь-элемент (такой как возникшая пара U1-I2), данные 424 о взаимодействиях пользователь-элемент применительно к паре 414 пользователь-элемент (такой как возникшая пара U2-I2) и данные 426 о взаимодействиях пользователь-элемент применительно к паре 416 пользователь-элемент (такой как возникшая пара U3-I3).
[00166] Должно быть понятно, что в представленном на фиг. 4 не имеющем ограничительного характера примере некоторые возможные пары пользователь-элемент не возникли, поскольку не все пользователи из множества 402 пользователей взаимодействовали с каждым элементом из множества 404 элементов цифрового контента. Например, первый пользователь U1 не взаимодействовал с третьим элементом I3 цифрового контента и, следовательно, пара U1-I3 представляет собой не возникшую пару пользователь-элемент. Кроме того, второй пользователь U2 не взаимодействовал с первым и третьим элементами I1 и I3 цифрового контента и, следовательно, пара U2-I1 и пара U2-I3 представляют собой не возникшие пары пользователь-элемент. Кроме того, третий пользователь U3 не взаимодействовал с первым и вторым элементами I1 и I2 цифрового контента и, следовательно, пара U3-I1 и пара U3-I2 представляют собой не возникшие пары пользователь-элемент.
[00167] Предполагается, что данные о взаимодействиях пользователь-элемент между пользователями и элементами цифрового контента рекомендательного сервиса используются сервером 112 при рекомендации цифрового контента пользователем рекомендательного сервиса. Таким образом, в некоторых вариантах осуществления настоящей технологии сервер 112 может быть способным выполнять процедуру 325 оценивания данных о взаимодействиях для оценивания данных о взаимодействиях пользователь-элемент для не возникших пар пользователь-элемент.
[00168] Безотносительно какой-либо конкретной теории, разработчики настоящей технологии установили, что в по меньшей мере некоторых случаях оценивание данных о взаимодействиях пользователь-элемент различных видов независимо друг от друга для не возникших пар пользователь-элемент может обеспечивать более точное оценивание данных о взаимодействиях пользователь-элемент в целом для не возникшей пары пользователь-элемент по сравнению с одновременным оцениванием данных о взаимодействиях пользователь-элемент различных видов.
[00169] При выполнении процедуры 325 оценивания данных о взаимодействиях сервер 112 может быть способным извлекать из базы 122 данных пользователей данные о взаимодействиях пользователь-элемент первого вида для каждой возникшей пары пользователь-элемент и данные о взаимодействиях пользователь-элемент второго вида для каждой возникшей пары пользователь-элемент (см. фиг. 5). В этом примере сервер 112 извлекает для каждой пары из множества 406 возникших пар пользователь-элемент данные о взаимодействиях пользователь-элемент первого вида и второго вида. В частности, сервер 112 способен извлекать:
- данные 510 и 520 о взаимодействиях пользователь-элемент, соответствующие первому и второму виду, для возникшей пары 410 пользователь-элемент U1-I1;
- данные 512 и 522 о взаимодействиях пользователь-элемент, соответствующие первому и второму виду, для возникшей пары 412 пользователь-элемент U1-I2;
- данные 514 и 524 о взаимодействиях пользователь-элемент, соответствующие первому и второму виду, для возникшей пары 414 пользователь-элемент U2-I2; и
- данные 516 и 526 о взаимодействиях пользователь-элемент, соответствующие первому и второму виду, для возникшей пары 416 пользователь-элемент U3-I3.
[00170] Следует отметить, что данные 510 и 520 о взаимодействиях пользователь-элемент представляют собой соответствующие подмножества данных 420 о взаимодействиях пользователь-элемент и представляют собой данные о взаимодействиях различных видов. Кроме того, данные 512 и 522 о взаимодействиях пользователь-элемент представляют собой соответствующие подмножества данных 422 о взаимодействиях пользователь-элемент и представляют собой данные о взаимодействиях различных видов. Кроме того, данные 514 и 524 о взаимодействиях пользователь-элемент представляют собой соответствующие подмножества данных 424 о взаимодействиях пользователь-элемент и представляют собой данные о взаимодействиях различных видов. Кроме того, данные 516 и 526 о взаимодействиях пользователь-элемент представляют собой соответствующие подмножества данных 426 о взаимодействиях пользователь-элемент и представляют собой данные о взаимодействиях различных видов.
[00171] С одной стороны, сервер 112 способен применять первую модель 550 оценивания в отношении данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент первого вида, связанных с соответствующими возникшими парами пользователь-элемент, и, таким образом, способен оценивать данные о взаимодействиях пользователь-элемент первого вида для не возникших пар пользователь-элемент рекомендательной системы 100. Например, путем применения первой модели 550 оценивания в отношении данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент первого вида сервер 112 способен оценивать:
- данные 580 о взаимодействиях пользователь-элемент первого вида для не возникшей пары 570 пользователь-элемент U1-I3;
- данные 582 о взаимодействиях пользователь-элемент первого вида для не возникшей пары 572 пользователь-элемент U2-I1;
- данные 584 о взаимодействиях пользователь-элемент первого вида для не возникшей пары 574 пользователь-элемент U2-I3;
- данные 586 о взаимодействиях пользователь-элемент первого вида для не возникшей пары 576 пользователь-элемент U3-I1;
- данные 588 о взаимодействиях пользователь-элемент первого вида для не возникшей пары 578 пользователь-элемент U3-I2.
[00172] С другой стороны, сервер 112 способен применять вторую модель 560 оценивания в отношении данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент второго вида, связанных с соответствующими возникшими парами пользователь-элемент, и, следовательно, способен оценивать данные о взаимодействиях пользователь-элемент второго вида для не возникших пар пользователь-элемент рекомендательной системы 100. Например, путем применения второй модели 560 оценивания в отношении данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент второго вида сервер 112 способен оценивать:
- данные 590 о взаимодействиях пользователь-элемент второго вида для не возникшей пары 570 пользователь-элемент U1-I3;
- данные 592 о взаимодействиях пользователь-элемент второго вида для не возникшей пары 572 пользователь-элемент U2-I1;
- данные 594 о взаимодействиях пользователь-элемент второго вида для не возникшей пары 574 пользователь-элемент U2-I3;
- данные 596 о взаимодействиях пользователь-элемент второго вида для не возникшей пары 576 пользователь-элемент U3-I1;
- данные 598 о взаимодействиях пользователь-элемент второго вида для не возникшей пары 578 пользователь-элемент U3-I2.
[00173] В некоторых вариантах осуществления способа первая модель 550 оценивания применяется сервером 112 независимо от второй модели 560 оценивания. Иными словами, предполагается, что для оценивания данных 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент первого вида серверу 112 может не требоваться использование данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент второго вида. Кроме того, это означает, что для оценивания данных 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент второго вида серверу 112 может не требоваться использование данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент первого вида.
[00174] В других вариантах осуществления настоящей технологии сервер 112 может быть способным (а) применять первую модель 550 оценивания в отношении данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент первого вида и (б) применять вторую модель 560 оценивания в отношении данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент второго вида в различные моменты времени, чтобы оценивать данные 580, 582, 584, 586 и 588 о взаимодействиях пользователя первого вида и данные 590, 592, 594, 596 и 598 о взаимодействиях пользователя второго вида, соответственно.
[00175] Должно быть понятно, что способ оценивания сервером 112 данных 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент первого вида может, среди прочего, зависеть от вида первой модели 550 оценивания. Аналогично, способ оценивания сервером 112 данных 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент второго вида может, среди прочего, зависеть от вида второй модели 560 оценивания.
[00176] В некоторых вариантах осуществления настоящей технологии первая модель 550 оценивания и вторая модель 560 оценивания могут представлять собой две различные модели одного вида. Например, первая и вторая модели оценивания могут представлять собой модели SVD. Общее описание применения модели вида SVD для (а) оценивания данных 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент первого вида на основе данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент первого вида и (б) оценивания данных 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент второго вида на основе данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент второго вида приведено в патентной заявке US 20180075137 «Method and apparatus for training a machine learning algorithm (MLA) for generating a content recommendation in a recommendation system and method and apparatus for generating the recommended content using the MLA» (опубликована 15 мая 2018 г.), содержание которой полностью включено в настоящий документ посредством ссылки и поэтому более подробно не обсуждается.
[00177] В других вариантах осуществления настоящей технологии первая модель 550 оценивания и вторая модель 560 оценивания могут представлять собой две различные модели различных видов. Например, первая модель 550 оценивания может представлять собой модель вида SVD, а вторая модель 560 оценивания может представлять собой модель оценивания вида NN. Как описано выше, сервер 112 может быть способным реализовывать сеть NN с целью применения второй модели 560 оценивания.
[00178] Предполагается, что первая модель 550 оценивания может быть обучена на основе данных о взаимодействиях пользователь-элемент первого вида, а вторая модель 560 оценивания может быть обучена на данных о взаимодействиях пользователь-элемент второго вида. Таким образом, можно сказать, что в некоторых вариантах осуществления изобретения путем обучения первой модели 550 оценивания на основе данных о взаимодействиях пользователя первого вида первая модель 550 оценивания специально адаптируется для оценивания данных о взаимодействиях пользователь-элемент первого вида (а не данных о взаимодействиях пользователя другого вида). Кроме того, можно сказать, что в некоторых вариантах осуществления изобретения путем обучения второй модели 560 оценивания на основе данных о взаимодействиях пользователя второго вида вторая модель 560 оценивания специально адаптируется для оценивания данных о взаимодействиях пользователь-элемент второго вида (а не данных о взаимодействиях пользователя другого вида).
[00179] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 325 оценивания данных о взаимодействиях сервер может быть способен сохранять в базе 122 данных пользователей:
- данные 580 о взаимодействиях пользователь-элемент первого вида и данные 590 о взаимодействиях пользователь-элемент второго вида применительно к не возникшей паре 570 пользователь-элемент U1-I3;
- данные 582 о взаимодействиях пользователь-элемент первого вида и данные 592 о взаимодействиях пользователь-элемент второго вида применительно к не возникшей паре 572 пользователь-элемент U2-I1;
- данные 584 о взаимодействиях пользователь-элемент первого вида и данные 594 о взаимодействиях пользователь-элемент второго вида применительно к не возникшей паре 574 пользователь-элемент U2-I3;
- данные 586 о взаимодействиях пользователь-элемент первого вида и данные 596 о взаимодействиях пользователь-элемент второго вида применительно к не возникшей паре 576 пользователь-элемент U3-I1; и
- данные 588 о взаимодействиях пользователь-элемент первого вида и данные 598 о взаимодействиях пользователь-элемент второго вида применительно к не возникшей паре 578 пользователь-элемент U3-I2.
[00180] В результате в базе 122 данных пользователей для каждой возможной пары пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента могут храниться соответствующие данные о взаимодействиях пользователь-элемент первого и второго вида, которые либо (а) собраны сервером 112 при выполнении процедуры 320 сбора данных о взаимодействиях (например, связаны с соответствующими возникшими парами пользователь-элемент), либо (б) оценены сервером 112 при выполнении процедуры 325 оценивания данных о взаимодействиях (например, связаны с соответствующими не возникшими парами пользователь-элемент).
[00181] Предполагается, что сервер 112 может быть способен формировать рекомендуемый цифровой контент для пользователя 102 по меньшей мере частично на основе данных о взаимодействиях пользователь-элемент первого и второго вида, которые были собраны и/или оценены сервером 112, как описано выше.
[00182] В некоторых вариантах осуществления настоящей технологии сервер 112 также может быть способен формировать первый набор признаков элемента и второй набор признаков элемента для каждого элемента из множества 404 элементов цифрового контента. С этой целью сервер 112 может использовать первую матрицу 602 пользователей и элементов и вторую матрицу 604 пользователей и элементов, например, представленные на фиг. 6.
[00183] Первая матрица 602 пользователей и элементов содержит данные о взаимодействиях пользователь-элемент первого вида для каждой возможной пары пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента. Вторая матрица 604 пользователей и элементов содержит данные о взаимодействиях пользователь-элемент второго вида для каждой возможной пары пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента.
[00184] Следует еще раз отметить, что в первой и во второй матрицах 602 и 604 пользователей и элементов по меньшей мере некоторые данные о взаимодействиях пользователь-элемент первого и второго вида, соответственно, оценены сервером 112 для не возникших пар пользователь-элемент рекомендательной системы 100.
[00185] Предполагается, что в по меньшей мере некоторых вариантах осуществления настоящей технологии данные о взаимодействиях пользователь-элемент первого вида для каждой возможной пары пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента могут храниться в базе 122 данных пользователей в виде первой матрицы 602 пользователей и элементов. Аналогично, в по меньшей мере некоторых вариантах осуществления настоящей технологии данные о взаимодействиях пользователь-элемент второго вида для каждой возможной пары пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента могут храниться в базе 122 данных пользователей в виде второй матрицы 604 пользователей и элементов.
[00186] Также предполагается, что первая и вторая матрица 602 и 604 пользователей и элементов могут храниться отдельно и независимо друг от друга в базе 122 данных пользователей сервером 112.
[00187] Например, сервер 112 может применять первую модель 550 оценивания и вторую модель 560 оценивания отдельно и независимо друг от друга и поэтому первая и вторая матрицы 602 и 604 пользователей и элементов, которые содержат по меньшей мере некоторые данные о взаимодействиях пользователь-элемент, оцениваемые, соответственно, с использованием соответствующих первой и второй моделей 550 и 560 оценивания, могут сохраняться в базе 122 данных пользователей после соответствующего применения первой и второй моделей 550 и 560 оценивания.
[00188] В некоторых вариантах осуществления настоящей технологии для определения соответствующих первого и второго наборов признаков элемента для каждого элемента из множества 404 элементов цифрового контента на основе первой и второй матриц 602 и 604 пользователей и элементов, соответственно, сервер 112 может быть способным выполнять алгоритм чередующихся наименьших квадратов (ALS, Alternating Least Square).
[00189] Алгоритм ALS может выполняться сервером 112, чтобы определить (а) первую матрицу 612 элементов и первую матрицу 622 пользователей на основе первой матрицы 602 пользователей и элементов, а также (б) вторую матрицу 614 элементов и вторую матрицу 624 пользователей на основе второй матрицы 604 пользователей и элементов. Описание реализации алгоритма ALS сервером 112 приведено в патентной заявке US20180075137 «Method and apparatus for training a machine learning algorithm (MLA) for generating a content recommendation in a recommendation system and method and apparatus for generating the recommended content using the MLA» (опубликована 15 мая 2018 г.), содержание которой полностью включено в настоящий документ посредством ссылки и поэтому более подробно не обсуждается.
[00190] Предполагается, что матрицы 612 и 614 элементов содержат признаки элементов из множества 404 элементов цифрового контента, а первая и вторая матрица 622 и 624 пользователей содержат признаки пользователей из множества 402 пользователей. Безотносительно какой-либо конкретной теории, должно быть очевидно, что признаки элементов цифрового контента изменяются медленнее, чем признаки пользователей. Признаки пользователей могут зависеть, среди прочего, от предпочтений пользователей цифрового контента, которые изменяются с течением времени, а признаки элементов зависят, среди прочего, от цифрового контента соответствующих элементов цифрового контента, которые с меньшей вероятностью изменяются с течением времени.
[00191] Таким образом, предполагается, что сервер 112 может быть способным сохранять первую и вторую матрицы 612 и 614 элементов, чтобы использовать эту информацию впоследствии, поскольку ее изменение маловероятно, и способным не сохранять первую и вторую матрицы 622 и 624 пользователей, поскольку впоследствии возможно изменение содержащейся в них информации. Ниже более подробно рассматриваются первая и вторая матрицы 612 и 614 элементов, полученные в результате выполнения алгоритма ALS сервером 112 для соответствующих первой и второй матриц 602 и 604 пользователей и элементов, а также содержащаяся в них информация.
[00192] Каждая строка первой и второй матриц 612 и 614 элементов связана с соответствующим элементом из множества 404 элементов цифрового контента. Например, первая строка первой матрицы 612 элементов и первая строка второй матрицы 614 элементов связаны с первым элементом I1 цифрового контента, вторая строка первой матрицы 612 элементов и вторая строка второй матрицы 614 элементов связаны со вторым элементом I2 цифрового контента, третья строка первой матрицы 612 элементов и третья строка второй матрицы 614 элементов связаны с третьим элементом I3 цифрового контента.
[00193] Также можно сказать, что каждая строка первой матрицы 612 элементов представляет признаки соответствующих элементов цифрового контента, которые по меньшей мере частично основаны на данных о взаимодействиях пользователь-элемент первого вида (некоторые данные собраны, а другие оценены, как описано выше) между множеством 402 пользователей и множеством 404 элементов цифрового контента. Например, первая строка первой матрицы 612 элементов представляет первый набор признаков первого элемента I1 цифрового контента (например, вектор 632 элемента), сформированный на основе данных о взаимодействиях пользователь-элемент первого вида, связанных с каждой возможной парой пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента. Аналогично, вторая строка первой матрицы 612 элементов представляет первый набор признаков второго элемента I2 цифрового контента (например, вектор 642 элемента), а третья строка первой матрицы 612 элементов представляет первый набор признаков третьего элемента 13 цифрового контента (например, вектор 652 элемента).
[00194] Предполагается, что путем выполнения алгоритма ALS на основе первой матрицы 602 пользователей и элементов сервер 112 формирует первую матрицу 612 элементов так, чтобы элементы цифрового контента, содержащие сходный цифровой контент, имели сходные первые наборы признаков элементов.
[00195] Аналогично, каждая строка второй матрицы 614 элементов представляет признаки соответствующих элементов цифрового контента, которые по меньшей мере частично основываются на данных о взаимодействиях пользователь-элемент второго вида (некоторые данные собраны, а другие оценены, как описано выше) между множеством 402 пользователей и множеством 404 элементов цифрового контента. Например, первая строка второй матрицы 614 элементов представляет второй набор признаков первого элемента I1 цифрового контента (например, вектор 634 элемента), сформированный на основе данных о взаимодействиях пользователь-элемент второго вида, связанных с каждой возможной парой пользователь-элемент из множества 402 пользователей и множества 404 элементов цифрового контента. Аналогично, вторая строка второй матрицы 614 элементов представляет второй набор признаков второго элемента I2 цифрового контента (например, вектор 644 элемента), а третья строка второй матрицы 614 элементов представляет второй набор признаков третьего элемента I3 цифрового контента (например, вектор 654 элемента).
[00196] Предполагается, что путем выполнения алгоритма ALS на основе второй матрицы 604 пользователей и элементов сервер 112 формирует вторую матрицу 614 элементов так, чтобы элементы цифрового контента, содержащие сходный цифровой контент, имели сходные вторые наборы признаков элементов.
[00197] В результате предполагается, что сервер 112 может быть способным формировать для каждого элемента из множества 404 элементов цифрового контента соответствующий первый набор признаков элемента на основе данных о взаимодействиях пользователь-элемент первого вида и соответствующий второй набор признаков элемента на основе данных о взаимодействиях пользователь-элемент второго вида. Как описано выше, также предполагается, что с целью последующего использования сервер 112 может быть способным сохранять в базе 120 данных цифрового контента каждый элемент из множества 404 элементов цифрового контента, имеющий отношение к соответствующим первому и второму наборам признаков элемента.
[00198] Как описано выше, в некоторых вариантах осуществления настоящей технологии первая модель 550 оценивания и/или вторая модель 560 оценивания может представлять собой модель оценивания вида NN (т.е. модель на основе сети NN). Ниже описана возможная реализация модели оценивания вида NN для оценивания данных о взаимодействиях пользователя конкретного вида в некоторых вариантах осуществления настоящей технологии.
[00199] Модель оценивания вида NN может получаться в результате обучения сети NN. Обучаемая сеть NN может содержать две части сети NN. Первая часть сети NN может быть предназначена для данных элемента, а вторая часть сети NN может быть предназначена для данных пользователя.
[00200] Например, можно предположить, что итерация обучения сети NN основывается на возникшей паре пользователь-элемент и соответствующим образом связанных данных о взаимодействиях пользователь-элемент конкретного вида (этот вид данных о взаимодействиях пользователя может зависеть от вида данных о взаимодействиях пользователя, оценивать которые обучается эта сеть NN).
[00201] В некоторых вариантах осуществления изобретения могут быть определены данные элемента для конкретного элемента возникшей пары пользователь-элемент. В некоторых вариантах осуществления изобретения по меньшей мере некоторые данные элемента могут быть извлечены сервером 112 из устройства 118 хранения данных. Например, данные элемента могут содержать присущие этому элементу характеристики; статистическую информацию, связанную со словами содержащихся в этом элементе текстовых строк (например, частоту появления слова или текстовой строки в этом элементе и т.д.); наличие в этом элементе мультимедийного контента (например, наличие изображения и т.д.); информация классификации, связанная с этим элементом, и т.д. Помимо представленного выше неисчерпывающего списка могут использоваться другие или дополнительные виды данных элемента, которые могут зависеть, среди прочего, от различных вариантов осуществления настоящей технологии.
[00202] Определенные таким образом данные элемента могут быть векторизованы и введены в первую часть сети NN в составе сети NN. Первая часть сети NN способна формировать вложенное представление данных элемента. Иными словами, можно сказать, что первая часть сети NN в составе сети NN способна формировать вложенный вектор элемента на основе векторизованных данных элемента, введенных в первую часть сети NN.
[00203] Аналогично, могут быть определены данные пользователя для конкретного пользователя возникшей пары пользователь-элемент. В некоторых вариантах осуществления изобретения по меньшей мере некоторые данные пользователя могут быть извлечены сервером 112 из устройства 118 хранения данных. Например, данные пользователя могут содержать статистическую информацию, связанную с этим пользователем. В некоторых случаях статистическая информация может быть извлечена из данных пользовательского профиля, сохраненных в устройстве 118 хранения данных. Помимо представленного выше неисчерпывающего списка, могут использоваться другие или дополнительные виды данных пользователя, которые могут зависеть, среди прочего, от различных вариантов осуществления настоящей технологии.
[00204] Определенные таким образом данные пользователя могут быть векторизованы и введены во вторую часть сети NN в составе сети NN. Вторая часть сети NN способна формировать вложенное представление данных пользователя. Иными словами, можно сказать, что вторая часть сети NN в составе сети NN способна формировать вложенный вектор пользователя на основе векторизованных данных пользователя, введенных во вторую часть сети NN.
[00205] С учетом того, что возникшая пара пользователь-элемент связана с данными о взаимодействиях пользователь-элемент конкретного вида, цель обучения сети NN заключается в адаптации первой части сети NN и второй части сети NN для формирования вложенного вектора элемента и вложенного вектора пользователя, соответственно, таким образом, чтобы получаемый в результате степень сходства вложенного вектора элемента и вложенного вектора пользователя основывался на данных о взаимодействиях пользователь-элемент этого вида, связанных с этой возникшей парой пользователь-элемент.
[00206] Следует отметить, что получаемый в результате степень сходства вложенного вектора элемента и вложенного вектора пользователя, для достижения которого сеть NN адаптировалась во время обучения, может зависеть, среди прочего, от различных вариантов осуществления настоящей технологии.
[00207] В одном варианте осуществления, если данные о взаимодействиях пользователь-элемент некоторого вида указывают на то, что пользователь осуществил большое количество взаимодействий пользователь-элемент этого вида, первая часть сети NN и вторая часть сети NN могут быть адаптированы для формирования вложенного вектора элемента и вложенного вектора пользователя, соответственно, таким образом, чтобы значение сходства (например, векторное расстояние) вложенного вектора элемента и вложенного вектора пользователя было максимальным. Если данные о взаимодействиях пользователь-элемент некоторого вида указывают на то, что пользователь осуществил небольшое количество взаимодействий пользователь-элемент этого вида, первая часть сети NN и вторая часть сети NN могут быть адаптированы для формирования вложенного вектора элемента и вложенного вектора пользователя, соответственно, таким образом, чтобы значение сходства вложенного вектора элемента и вложенного вектора пользователя минимизировалось. В этом варианте осуществления изобретения получаемый в результате степень сходства вложенного вектора элемента и вложенного вектора пользователя, для достижения которого сеть NN адаптировалась во время обучения, определяется так, чтобы либо (а) максимизировать сходство вложенного вектора элемента и вложенного вектора пользователя для положительных обучающих примеров (например, когда данные о взаимодействиях пользователь-элемент этого вида возникшей пары пользователь-элемент указывают на то, что пользователь в возникшей паре пользователь-элемент удовлетворен элементом в возникшей паре пользователь-элемент), либо (б) минимизировать сходство вложенного вектора элемента и вложенного вектора пользователя для отрицательных обучающих примеров (например, когда данные о взаимодействиях пользователь-элемент этого вида возникшей пары пользователь-элемент указывают на то, что пользователь в возникшей паре пользователь-элемент не удовлетворен элементом в возникшей паре пользователь-элемент).
[00208] Это может быть достигнуто путем применения известных способов настройки сети NN во время итераций обучения сети NN, таких как способы обратного распространения (back propagation), например, для «настройки» взаимосвязей между нейронами сети NN с целью адаптации первой части сети NN и второй части сети NN, как описано выше.
[00209] В другом варианте осуществления изобретения первая часть сети NN и вторая часть сети NN могут адаптироваться для формирования вложенного вектора элемента и вложенного вектора пользователя, соответственно, таким образом, чтобы значение сходства вложенного вектора элемента и вложенного вектора пользователя отражало данные о взаимодействиях пользователь-элемент для возникшей пары пользователь-элемент. В этом варианте осуществления изобретения получаемый в результате степень сходства вложенного вектора элемента и вложенного вектора пользователя, для достижения которого сеть NN адаптировалась во время обучения, определяется так, чтобы значение сходства вложенного вектора элемента и вложенного вектора пользователя отражало данные о взаимодействиях пользователь-элемент каждого обучающего примера (например, данные о взаимодействиях пользователь-элемент для каждой возникшей пары пользователь-элемент, использованной во время обучения). Иными словами, получаемая в результате степень сходства отражает то, на что указывают данные о взаимодействиях пользователь-элемент конкретного вида возникшей пары пользователь-элемент - на удовлетворенность или на неудовлетворенность пользователя в возникшей паре пользователь-элемент элементом в возникшей паре пользователь-элемент.
[00210] Например, если данные о взаимодействиях пользователь-элемент некоторого вида указывают на то, что пользователь осуществил некоторое количество взаимодействий пользователь-элемент этого вида, первая часть сети NN и вторая часть сети NN могут быть адаптированы для формирования вложенного вектора элемента и вложенного вектора пользователя, соответственно, таким образом, чтобы значение сходства вложенного вектора элемента и вложенного вектора пользователя было как можно ближе к этому количеству взаимодействий пользователь-элемент этого вида. Это также может быть достигнуто путем применения известных способов настройки сети NN во время итераций обучения сети NN.
[00211] Когда первая часть сети NN и вторая часть сети NN в составе сети NN адаптированы, как описано выше, они могут использоваться на этапе использования. Следует отметить, что во время обучения первая часть сети NN и вторая часть сети NN обучаются совместно (например, одновременно) на основе возникших пар пользователь-элемент в контексте соответствующих данных о взаимодействиях пользователь-элемент конкретного вида. Тем не менее, во время использования первая часть сети NN и вторая часть сети NN могут использоваться по отдельности (например, независимо друг от друга), чтобы оценивать данные о взаимодействиях пользователь-элемент этого вида для не возникшей пары пользователь-элемент.
[00212] Чтобы лучше проиллюстрировать это, можно предположить, что сервер 112 способен оценивать данные о взаимодействиях пользователь-элемент конкретного вида (соответствующего виду данных о взаимодействиях пользователь-элемент, для которого была обучена сеть NN) для не возникшей пары пользователь-элемент.
[00213] С одной стороны, данные элемента могут быть определены сервером 112 для элемента из не возникшей пары пользователь-элемент подобно тому, как описано выше. Эти данные элемента могут быть векторизованы и введены в уже обученную первую часть сети NN для формирования используемого вложенного вектора элемента.
[00214] С другой стороны, данные пользователя могут быть определены сервером 112 для пользователя из не возникшей пары пользователь-элемент подобно тому, как описано выше. Эти данные пользователя могут быть векторизованы и введены в уже обученную вторую часть сети NN для формирования используемого вложенного вектора пользователя.
[00215] Предполагается, что в некоторых вариантах осуществления настоящей технологии сервер 112 может быть способным оценивать данные о взаимодействиях пользователь-элемент конкретного вида для не возникшей пары пользователь-элемент путем сравнения значения степени сходства используемого вектора элемента и используемого вектора пользователя.
[00216] Следует отметить, что модель на основе сети NN может быть обучена для соответствующего вида данных о взаимодействиях пользователь-элемент без выхода за границы настоящей технологии. Например, модель на основе сети NN может быть обучена для оценивания данных о взаимодействиях пользователь-элемент первого вида, а другая модель на основе сети NN может быть обучена для оценивания данных о взаимодействиях пользователь-элемент второго вида. Это означает, что в некоторых вариантах осуществления изобретения (а) модель на основе разложения SVD может быть использована для оценивания данных о взаимодействиях пользователь-элемент первого вида, а модель на основе сети NN может быть использована для оценивания данных о взаимодействиях пользователь-элемент второго вида, или (б) соответствующая модель на основе разложения SVD может быть использована для оценивания данных о взаимодействиях пользователь-элемент первого вида и второго вида, или (в) соответствующая модель на основе сети NN может быть использована для оценивания данных о взаимодействиях пользователь-элемент первого вида и второго вида.
[00217] Ниже более подробно описано, как сервер 112 может выполнять процедуру 330 предварительного выбора цифрового контента в некоторых вариантах осуществления настоящей технологии.
[00218] Возвращаясь к фиг. 1, можно предположить, что пользователь 102 представляет собой второго пользователя U2 и что сервер 112 принимает от электронного устройства 105 запрос 150 на рекомендацию цифрового контента для второго пользователя 102. Следует отметить, что в тот момент времени, когда сервер 112 принимает запрос от электронного устройства 104, сервер 112 может рассматриваться как работающий в интерактивном режиме. Иными словами, перед приемом запроса 150 сервер 112 может рассматриваться как работающий в автономном режиме по отношению к запросу 150 от второго пользователя U2. Таким образом, предполагается, что по меньшей мере некоторые процедуры из множества 300 компьютерных процедур могут выполняться в автономном режиме и могут быть не связанными с интерактивной обработкой, а другие процедуры из множества 300 компьютерных процедур могут выполняться в интерактивном режиме.
[00219] Таким образом, в интерактивном режиме сервер 112 может быть способным извлекать из базы 122 данных пользователей (а) данные о взаимодействиях пользователь-элемент первого вида и (б) данные о взаимодействиях пользователь-элемент второго вида для возникших пар пользователь-элемент, связанных с пользователем 102 (например, со вторым пользователем U2). Как описано выше, в некоторых вариантах осуществления настоящей технологии данные о взаимодействиях пользователь-элемент первого вида и второго вида могут храниться в базе 122 данных пользователей в виде матриц пользователей и элементов.
[00220] Можно предположить, что в тот момент времени, когда запрос 150 принимается сервером 112, третья матрица 702 пользователей и элементов, содержащая данные о взаимодействиях пользователь-элемент первого вида, и четвертая матрица 704 пользователей и элементов, содержащая данные о взаимодействиях пользователь-элемент второго вида, представляют собой текущие версии, хранящиеся в базе 122 данных пользователей. Должно быть понятно, что содержимое третьей и четвертой матриц 702 и 704 пользователей и элементов может отличаться от содержимого первой и второй матриц 602 и 604 пользователей и элементов, представленных на фиг. 6 (т.е. быть более «новым»).
[00221] Например, третья и четвертая матрицы 702 и 704 пользователей и элементов содержат данные о взаимодействиях пользователь-элемент только возникших пар пользователь-элемент. В другом примере между моментом времени, когда первая и вторая матрица 602 и 604 пользователей и элементов были сохранены, и моментом времени, когда был принят запрос 150, пользователи рекомендательной системы 100 могли осуществить дополнительные взаимодействия с элементами цифрового контента рекомендательной системы 100 и поэтому данные о взаимодействиях пользователь-элемент для возникших пар пользователь-элемент в третьей и четвертой матрицах 702 и 704 пользователей и элементов могут отличаться (например, могут быть дополнены дополнительными данными о взаимодействиях пользователя) от данных о взаимодействиях пользователь-элемент для возникших пар пользователь-элемент в первой и второй матрицах 602 и 604 пользователей и элементов.
[00222] Как описано выше, в интерактивном режиме сервер 112 может быть способным извлекать из базы 122 данных пользователей (а) данные о взаимодействиях пользователь-элемент первого вида и (б) данные о взаимодействиях пользователь-элемент второго вида для возникших пар пользователь-элемент, связанных с пользователем 102 (например, с вторым пользователем U2). Это означает, что в представленном на фиг. 7 не имеющем ограничительного характера примере сервер 112 может быть способным извлекать первый вектор 706 пользователя и элементов и второй вектор 708 пользователя и элементов из базы 122 данных пользователей.
[00223] Первый вектор 706 пользователя и элементов представляет собой часть третьей матрицы 702 пользователей и элементов, связанную со вторым пользователем U2. Должно быть понятно, что первый вектор 706 пользователя и элементов содержит данные о взаимодействиях пользователь-элемент первого вида, связанные с пользователем 102 (например, со вторым пользователем U2) в момент времени приема запроса 150. Второй вектор 708 пользователя и элементов представляет собой часть четвертой матрицы 704 пользователей и элементов, связанную со вторым пользователем U2. Также должно быть понятно, что второй вектор 708 пользователя и элементов содержит данные о взаимодействиях пользователь-элемент второго вида, связанные с пользователем 102 в момент времени приема запроса 150.
[00224] Только в целях иллюстрации первый вектор 706 пользователя и элементов содержит (а) данные 714 о взаимодействиях пользователь-элемент первого вида, связанные с возникшей парой U2-I2 пользователь-элемент и собранные сервером 112 до момента времени приема запроса 150, и (б) данные 716 о взаимодействиях пользователь-элемент первого вида, связанные с возникшей парой U2-I3 пользователь-элемент и собранные сервером 112 до момента времени приема запроса 150.
[00225] Подобным образом, второй вектор 708 пользователя и элементов содержит (а) данные 724 о взаимодействиях пользователь-элемент второго вида, связанные с возникшей парой U2-I2 пользователь-элемент и собранные сервером 112 до момента времени приема запроса 150, и (б) данные 726 о взаимодействиях пользователь-элемент второго вида, связанные с возникшей парой U2-I3 пользователь-элемент и собранные сервером 112 до момента времени приема запроса 150.
[00226] В этом не имеющем ограничительного характера примере можно предположить, что пользователь 102 (например, второй пользователь U2) не взаимодействовал с первым элементом I1 цифрового контента до момента времени приема запроса 150. Иными словами, пара U1-I1 в момент времени приема запроса 150 представляет собой не возникшую пару пользователь-элемент.
[00227] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 330 предварительного выбора цифрового контента сервер 112 также может извлекать из базы 120 данных цифрового контента первую матрицу 612 элементов и вторую матрицу 614 элементов, которые содержат соответствующие первый и второй наборы признаков элементов из множества 404 элементов цифрового контента, как описано выше.
[00228] Предполагается, что при выполнении процедуры 330 предварительного выбора цифрового контента сервер 112 может быть способным формировать первый вектор 712 пользователя и второй вектор 714 пользователя. Чтобы сформировать первый вектор 712 пользователя, сервер 112 может быть способным выполнять одну итерацию алгоритма ALS на основе (а) первого вектора 706 пользователя и элементов и (б) первой матрицы 612 элементов. Это означает, что сервер 112 может быть способным формировать первый вектор 712 пользователя так, чтобы в результате матричного умножения первого вектора 712 пользователя и первой матрицы 612 элементов получался вектор пользователя и элементов, подобный первому вектору 706 пользователя и элементов. Аналогично, сервер 112 может быть способным формировать второй вектор 714 пользователя так, чтобы в результате матричного умножения второго вектора 714 пользователя и второй матрицы 614 элементов получался вектор пользователя и элементов, подобный второму вектору 708 пользователя и элементов.
[00229] Следует отметить, что способ формирования первого и второго векторов 712 и 714 пользователя обеспечивает следующее: если процедура 330 предварительного выбора цифрового контента выполнена для другого пользователя рекомендательного сервиса, предпочтения которого в отношении цифрового контента подобны предпочтениями пользователя 102 (например, второго пользователя U2), то первый и второй векторы пользователя для этого другого пользователя могут быть подобны первому и второму векторам 712 и 714 второго пользователя (пользователя 102), соответственно.
[00230] Также следует отметить, что первый вектор 712 пользователя содержит информацию о первом наборе признаков пользователя для пользователя 102 (например, второго пользователя U2), который сформирован на основе данных о взаимодействиях пользователь-элемент первого вида, а второй вектор 714 пользователя содержит информацию о втором наборе признаков пользователя для пользователя 102 (например, второго пользователя U2), который сформирован на основе данных о взаимодействиях пользователь-элемент второго вида.
[00231] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 330 предварительного выбора цифрового контента сервер 112 может быть способным выполнять (а) процедуру 800 формирования оценок сходства и (б) процедуру 850 формирования пользовательских значений релевантности (см. фиг. 8).
[00232] При выполнении процедуры 800 формирования оценок сходства сервер 112 может быть способным формировать для каждого элемента цифрового контента соответствующее множество оценок сходства, количество оценок сходства в котором равно количеству различных видов данных о взаимодействиях пользователь-элемент, обработанных сервером 112. В этом примере, поскольку сервером 112 обработаны только данные о взаимодействиях пользователь-элемент первого вида и второго вида, сервер 112 может быть способным формировать две оценки сходства для каждого элемента цифрового контента из множества 404 элементов цифрового контента.
[00233] Для первого элемента II цифрового контента сервер 112 может быть способным формировать оценки 802 и 804 сходства путем сравнения (а) вектора 632 элемента, содержащего первый набор признаков элемента для первого элемента II цифрового контента, с первым вектором 712 пользователя, содержащим первый набор признаков пользователя для пользователя 102 (например, второго пользователя U2), и (б) вектора 634 элемента, содержащего второй набор признаков элемента для первого элемента 11 цифрового контента, со вторым вектором 714 пользователя, содержащим второй набор признаков пользователя для пользователя 102 (например, второго пользователя U2), соответственно.
[00234] Например, оценка 802 сходства может быть сформирована на основе векторного расстояния между вектором 632 элемента и первым вектором 712 пользователя, а оценка 804 сходства может быть сформирована на основе векторного расстояния между вектором 634 элемента и вторым вектором 714 пользователя таким образом, чтобы меньшему векторному расстоянию между двумя векторами соответствовала большая оценка сходства.
[00235] Подобным образом, для второго элемента 12 цифрового контента сервер 112 может быть способным формировать оценки 806 и 808 сходства путем сравнения (а) вектора 642 элемента, содержащего первый набор признаков элемента для второго элемента 12 цифрового контента, с первым вектором 712 пользователя, содержащим первый набор признаков пользователя для пользователя 102 (например, второго пользователя U2), и (б) вектора 644 элемента, содержащего второй набор признаков элемента для второго элемента 12 цифрового контента, со вторым вектором 714 пользователя, содержащим второй набор признаков пользователя для пользователя 102 (например, второго пользователя U2), соответственно. Кроме того, для третьего элемента 13 цифрового контента сервер 112 может быть способным формировать оценки 810 и 812 сходства путем сравнения (а) вектора 652 элемента, содержащего первый набор признаков элемента для третьего элемента 13 цифрового контента, с первым вектором 712 пользователя, содержащим первый набор признаков пользователя для пользователя 102 (например, второго пользователя U2), и (б) вектора 654 элемента, содержащего второй набор признаков элемента для третьего элемента 13 цифрового контента, со вторым вектором 714 пользователя, содержащим второй набор признаков пользователя для пользователя 102 (например, второго пользователя U2), соответственно.
[00236] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 850 формирования пользовательских значений релевантности сервер 112 может быть способным формировать для элементов цифрового контента соответствующие пользовательские значения релевантности на основе соответствующих оценок сходства. Например, сервер 112 может быть способным формировать пользовательское значение 852 релевантности для первого элемента I1 цифрового контента на основе оценок 802 и 804 сходства. Аналогично, сервер 112 может быть способным формировать пользовательское значение 854 релевантности для второго элемента 12 цифрового контента на основе оценок 806 и 808 сходства. Кроме того, сервер 112 может быть способным формировать пользовательское значение 856 релевантности для третьего элемента I3 цифрового контента на основе оценок 810 и 812 сходства.
[00237] Следует отметить, что в по меньшей мере некоторых вариантах осуществления настоящей технологии пользовательское значение релевантности элемента цифрового контента может представлять собой взвешенную сумму соответствующих оценок сходства, как показано в не имеющем ограничительного характера примере, представленном на фиг. 8.
[00238] В некоторых вариантах осуществления изобретения предполагается, что весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть сформированы один раз для всех пользователей рекомендательного сервиса, т.е. могут представлять собой не зависящие от пользователя весовые коэффициенты.
[00239] Предполагается, что весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть заранее определены или заданы оператором сервера 112. Например, весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть заранее определены эмпирически. В некоторых случаях весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть заранее определены на основе статистического анализа пользовательских журналов нескольких пользователей рекомендательного сервиса. Например, не зависящие от пользователя весовые коэффициенты могут быть заранее определены так, чтобы взвешенная сумма соответствующих оценок сходства отражала релевантность элемента цифрового контента согласно предварительному определению на основе пользовательских журналов нескольких пользователей.
[00240] В других вариантах осуществления изобретения предполагается, что весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть сформированы для каждого пользователя рекомендательного сервиса, т.е. могут представлять собой зависящие от пользователя весовые коэффициенты.
[00241] Предполагается, что весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть заранее определены или заданы для пользователей индивидуально. В некоторых случаях весовые коэффициенты, используемые во взвешенной сумме соответствующих оценок сходства, могут быть заранее определены на основе статистического анализа предпочтений конкретного пользователя рекомендательного сервиса относительно рекомендуемого контента. Например, зависящие от пользователя весовые коэффициенты могут быть заранее определены так, чтобы взвешенная сумма соответствующих оценок сходства отражала релевантность элемента цифрового контента согласно предварительному определению на основе предпочтений конкретного пользователя.
[00242] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 330 предварительного выбора цифрового контента сервер 112 может быть способным ранжировать множество 404 элементов цифрового контента на основе соответствующих пользовательских значений релевантности так, чтобы элемент цифрового контента с наибольшим пользовательским значением релевантности представлял собой элемент цифрового контента с наибольшим рангом. Например, можно предположить, что после ранжирования элемент I2 цифрового контента занимает первое место, элемент I1 цифрового контента занимает второе место, а элемент I3 цифрового контента занимает третье место.
[00243] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 330 предварительного выбора цифрового контента сервер 112 может быть способным применять порог для элементов цифрового контента, чтобы уменьшить количество элементов цифрового контента, из числа которых может быть рекомендован цифровой контент. Порог для элементов цифрового контента может указывать на максимальное количество элементов цифрового контента, из числа которых может быть рекомендован цифровой контент.
[00244] Например, можно предположить, что порог для элементов цифрового контента равен двум элементам цифрового контента. В результате сервер 112 может быть способным заранее выбирать элементы I2 и I1 цифрового контента, из числа которых может быть рекомендован цифровой контент.
[00245] Можно предположить, что элементы цифрового контента из множества 404 элементов цифрового контента представляют собой соответствующие сетевые ресурсы из множества 130 сетевых ресурсов. Иными словами, можно предположить, что элементы I2 и I1 представляют собой соответствующие сетевые ресурсы, из числа которых может быть рекомендован цифровой контент, например первый и второй сетевые ресурсы 132 и 134, соответственно.
[00246] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 330 предварительного выбора цифрового контента сервер 112 может быть способным применять для первого и второго сетевых ресурсов 132 и 134 порог для цифровых документов, чтобы уменьшить количество цифровых документов, из числа которых может быть рекомендован цифровой контент. Порог для цифровых документов может представлять собой максимальное количество цифровых документов, из числа которых может быть рекомендован цифровой контент.
[00247] Можно предположить, что порог для цифровых документов может быть равным 10 цифровым документам. В результате сервер 112 может быть способным определить 10 цифровых документов из первого сетевого ресурса 132 и 10 цифровых документов из второго сетевого ресурса 134, из числа которых может быть рекомендован цифровой контент.
[00248] На способ определения сервером 112 цифровых документов из первого и второго сетевых ресурсов 132 и 134, которые должны быть включены в состав соответствующих десяти цифровых документов, не накладывается каких-либо особых ограничений. Тем не менее, например, сервер 112 может ранжировать цифровые документы сетевого ресурса на основе их общей популярности среди множества 402 пользователей.
[00249] В итоге в этой точке процедуры 330 предварительного выбора цифрового контента из всех цифровых документов во множестве 404 элементов цифрового контента предварительно выбрано всего 20 цифровых документов.
[00250] В некоторых вариантах осуществления настоящей технологии сервер 112 может быть способным применять алгоритм MLA предварительного выбора, чтобы дополнительно уменьшить общее количество предварительно выбранных цифровых документов. Алгоритм ML А предварительного выбора может представлять собой алгоритм градиентного бустинга дерева решений, обученный ранжировать цифровые документы на основе их общей релевантности для пользователя. В общем случае алгоритм MLA предварительного выбора применяет для предварительного выбора «легкую формулу» (т.е. такую формулу, которая сравнительно быстро обрабатывается).
[00251] Таким образом, алгоритм MLA предварительного выбора может ранжировать 20 цифровых документов на основе их общей релевантности для пользователя 102 и сервер 112 может определить несколько цифровых документов с наивысшим рангом среди ранжированных цифровых документов. Можно предположить, что сервер 112 определяет 15 цифровых документов с наивысшим рангом.
[00252] Следовательно, в этом не имеющем ограничительного характера примере в результате выполнения процедуры 330 предварительного выбора цифрового контента сервер 112 может быть способным определить в общей сложности 15 предварительно выбранных цифровых документов, из числа которых может быть рекомендован цифровой контент.
[00253] В некоторых вариантах осуществления настоящей технологии при выполнении процедуры 340 выбора цифрового контента сервер 112 может быть способным применять алгоритм MLA выбора, чтобы среди 15 предварительно выбранных цифровых документов выбрать набор выбранных цифровых документов для рекомендации пользователю 102.
[00254] Подобно алгоритму MLA предварительного выбора, алгоритм MLA выбора может представлять собой алгоритм градиентного бустинга дерева решений, обученный ранжировать цифровые документы на основе их общей релевантности для пользователя. Тем не менее, по сравнению с алгоритмом MLA предварительного выбора, алгоритм MLA выбора может быть обучен на основе большего количества признаков цифрового документа и признаков пользователя для ранжирования цифровых документов для данного пользователя и, следовательно, может требовать больше ресурсов для обработки при ранжировании данного количества цифровых документов по сравнению с алгоритмом MLA предварительного выбора.
[00255] Предполагается, что в некоторых вариантах осуществления настоящей технологии функции алгоритма MLA предварительного выбора и алгоритма MLA выбора могут обеспечиваться путем реализации (а) более двух алгоритмов MLA или (б) одного алгоритма ML А без выхода за границы настоящей технологии.
[00256] После ранжирования алгоритмом MLA выбора 15 предварительно выбранных цифровых документов сервер 112 может быть способным выбирать несколько ранжированных цифровых документов с наивысшим рангом для рекомендации пользователю 102. Можно предположить, что сервер 112 выбирает для рекомендации пользователю 102 пять документов с наивысшим рангом из ранжированных 15 предварительно выбранных цифровых документов. Таким образом, набор 214 рекомендуемого цифрового контента, отображаемый для пользователя 102, может состоять из пяти цифровых документов с наивысшим рангом согласно ранжированию, выполненному алгоритмом MLA выбора.
[00257] На фиг. 9 представлена блок-схема способа 900 оценивания данных о взаимодействиях пользователь-элемент. Далее более подробно описываются различные шаги способа 900. Должно быть понятно, что в некоторых вариантах осуществления способа по меньшей мере некоторые шаги способа 900 могут быть опущены или заменены, а также в качестве части способа 900 могут выполняться шаги, дополняющие описанные ниже шаги, без выхода за границы настоящей технологии.
Шаг 902: получение данных о взаимодействиях пользователь-элемент первого вида и данных о взаимодействиях пользователь-элемент второго вида
[00258] Способ начинается с шага 902, на котором сервер 112 получает данные о взаимодействиях пользователь-элемент первого вида, связанные с соответствующими парами из множества 406 возникших пар пользователь-элемент. Например, сервер 112 может извлекать из базы 122 данных пользователей данные 510, 512, 514 и 516 о взаимодействиях пользователь-элемент, соответствующим образом связанные с возникшими парами 410, 412, 414 и 416 пользователь-элемент.
[00259] На шаге 902 сервер 112 также получает данные о взаимодействиях пользователь-элемент второго вида, связанные с соответствующими парами из множества 406 возникших пар пользователь-элемент. Например, сервер 112 может извлекать из базы 122 данных пользователей данные 520, 522, 524 и 526 о взаимодействиях пользователь-элемент, соответствующим образом связанные с возникшими парами 410, 412, 414 и 416 пользователь-элемент.
[00260] Должно быть понятно, что вид данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент отличается от вида данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент. Как описано выше, данные 510, 512, 514 и 516 о взаимодействиях пользователь-элемент представляют собой данные первого вида, а данные 520, 522, 524 и 526 о взаимодействиях пользователь-элемент представляют собой данные второго вида (отличающегося от первого вида). Предполагается, что первый вид и второй вид данных о взаимодействиях пользователь-элемент могут представлять собой любые два вида из следующих: количество «кликов», количество «лайков», количество «дизлайков», количество «длинных кликов» и «время взаимодействия».
[00261] Предполагается, что данные о взаимодействиях пользователь-элемент могут быть связаны с соответствующим пользователем и с соответствующим элементом цифрового контента. В некоторых вариантах осуществления изобретения элемент цифрового контента представляет собой цифровой документ. В других вариантах осуществления изобретения элемент цифрового контента представляет собой сетевой ресурс, содержащий цифровые документы. В иных вариантах осуществления изобретения элемент цифрового контента представляет собой издателя, публикующего соответствующие цифровые документы.
[00262] Также предполагается, что, как описано выше, данные о взаимодействиях пользователь-элемент могут сохраняться в базе 122 данных пользователей на уровне (а) цифрового документа, (б) сетевого ресурса, (в) издателя и/или с использованием любого их сочетания без выхода за границы настоящей технологии.
Шаг 904: применение первой модели оценивания к данным о взаимодействиях пользователь-элемент первого вида
[00263] Способ 900 продолжается на шаге 904, на котором сервер 112 применяет первую модель 550 оценивания в отношении данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент (первого вида). Путем применения первой модели 550 оценивания сервер 112 оценивает данные 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент первого вида для соответствующих не возникших пар 570, 572, 574, 576 и 578 пользователь-элемент.
[00264] Как описано выше, возникшая пара пользователь-элемент (например, любая пара из возникших пар 410, 412, 414 и 416 пользователь-элемент) соответствует паре, содержащей этого пользователя и этот элемент цифрового контента, с которым взаимодействовал этот пользователь. Иными словами, возникшие пары пользователь-элемент представляют собой пары пользователь-элемент, которые возникли и для которых сервер 112 ранее отследил, собрал и сохранил данные о взаимодействиях пользователь-элемент при выполнении процедуры 320 сбора данных о взаимодействиях.
[00265] Не возникшая пара пользователь-элемент (например, любая пара из не возникших пар 570, 572, 574, 576 и 578 пользователь-элемент) соответствует паре, содержащей этого пользователя и этот элемент цифрового контента, с которым не взаимодействовал этот пользователь. Иными словами, не возникшие пары пользователь-элемент представляют собой пары пользователь-элемент, которые не возникли, но для которых сервер 112 может быть способным оценивать (т.е. прогнозировать) данные о взаимодействиях пользователь-элемент при выполнении процедуры 325 оценивания данных о взаимодействиях.
Шаг 906: применение второй модели оценивания к данным о взаимодействиях пользователь-элемент второго вида
[00266] Способ продолжается на шаге 906, на котором сервер 112 применяет вторую модель 560 оценивания в отношении данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент (второго вида). Путем применения второй модели 560 оценивания сервер 112 оценивает данные 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент второго вида для соответствующих не возникших пар 570, 572, 574, 576 и 578 пользователь-элемент.
[00267] Как описано выше, при выполнении процедуры 325 оценивания данных о взаимодействиях сервер 112 может быть способным оценивать данные о взаимодействиях пользователь-элемент для не возникших пар пользователь-элемент. Должно быть понятно, что сервер 112 может быть способным оценивать данные о взаимодействиях пользователь-элемент для не возникших пар пользователь-элемент путем выполнения шагов 904 и 906.
[00268] С одной стороны, на шаге 904, выполняемом сервером 112, возможно оценивание данных 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент первого вида для соответствующих не возникших пар 570, 572, 574, 576 и 578 пользователь-элемент. С другой стороны, на шаге 906, выполняемом сервером 112, возможно оценивание данных 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент второго вида для соответствующих не возникших пар 570, 572, 574, 576 и 578 пользователь-элемент.
[00269] Таким образом, в результате выполнения сервером 112 шагов 904 и 906 не возникшие пары 570, 572, 574, 576 и 578 пользователь-элемент могут быть связаны с соответствующими оцениваемыми данным о взаимодействиях пользователь-элемент первого вида (данные 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент) и второго вида (данные 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент).
[00270] Должно быть понятно, что сервер 112 может использовать другую модель оценивания при выполнении шага 906, отличную от модели оценивания, использованной при выполнении шага 904. Например, первая модель 550 оценивания, использованная на шаге 904, может представлять собой модель SVD или модель на основе сети NN. В другом примере, вторая модель 560 оценивания, использованная на шаге 906, может представлять собой модель SVD или модель на основе сети NN. Тем не менее, первая и вторая модели 550 и 560 оценивания могут представлять собой различные модели оценивания без выхода за границы настоящей технологии.
[00271] Также должно быть понятно, что в некоторых вариантах осуществления настоящей технологии первая и/или вторая модели 550 и 560 оценивания могут быть обучены перед выполнением шагов 904 и 906.
[00272] Предполагается, что использование различных моделей оценивания для оценивания данных о взаимодействиях пользователь-элемент первого вида и второго вида, соответственно, может быть полезно, поскольку возможны (а) целевая адаптация первой модели оценивания для оценивания соответствующих данных о взаимодействиях пользователь-элемент первого вида и (б) целевая адаптация второй модели оценивания для оценивания соответствующих данных о взаимодействиях пользователь-элемент второго вида.
[00273] За счет обучения первой модели оценивания на основе данных о взаимодействиях пользователь-элемент соответствующего первого вида (в отличие от сочетания данных о взаимодействиях пользователь-элемент соответствующего первого вида и некоторого другого вида) в некоторых случаях возможно более точное оценивание данных о взаимодействиях пользователь-элемент соответствующего первого вида для не возникших пар пользователь-элемент. Аналогично, за счет обучения второй модели оценивания на основе данных о взаимодействиях пользователь-элемент соответствующего второго вида (в отличие от сочетания данных о взаимодействиях пользователь-элемент соответствующего второго вида и некоторого другого вида) в некоторых случаях возможно более точное оценивание данных о взаимодействиях пользователь-элемент соответствующего второго вида для не возникших пар пользователь-элемент.
[00274] В некоторых вариантах осуществления настоящей технологии предполагается, что сервер 112 может выполнять шаги 904 и 906 способа 900 независимо друг от друга. Иными словами, предполагается, что для оценивания данных 580, 582, 584, 586 и 588 о взаимодействиях пользователь-элемент первого вида серверу 112 может не требоваться использование данных 520, 522, 524 и 526 о взаимодействиях пользователь-элемент второго вида. Кроме того, это также означает, что для оценивания данных 590, 592, 594, 596 и 598 о взаимодействиях пользователь-элемент второго вида серверу 112 может не требоваться использование данных 510, 512, 514 и 516 о взаимодействиях пользователь-элемент первого вида.
[00275] Предполагается, что в некоторых случаях выполнение сервером 112 шагов 904 и 906 независимо друг от друга может обеспечивать более точное оценивание данных о взаимодействиях пользователь-элемент в целом для не возникшей пары пользователь-элемент по сравнению с одновременным оцениванием данных о взаимодействиях пользователь-элемент различных видов.
[00276] В некоторых вариантах осуществления настоящей технологии можно сказать, что выполнение сервером 112 шага 904 способа 900 может быть отделено от выполнения сервером 112 шага 906 способа 900. В некоторых случаях сервер 112 может выполнять (а) шаг 904 в первый момент времени и (б) шаг 906 во второй момент времени, отличающийся от первого момента времени.
[00277] В других случаях, когда функции сервера 112 распределены, шаги 904 и 906 могут выполняться двумя различными компьютерными системами, причем первая компьютерная система может реализовывать первую модель 550 оценивания, а вторая компьютерная система может реализовывать вторую модель 560 оценивания
[00278] Из представленного выше описания очевидно предположение, что способ 900 может содержать дополнительные шаги, помимо представленного выше неисчерпывающего списка.
[00279] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо технический эффект отсутствует.
[00280] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (например, волоконно-оптического соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).
[00281] Для специалиста в данной области могут быть очевидными изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в качестве примера, но не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.