Область техники, к которой относится изобретение
[001] Настоящая технология в целом относится к компьютерным рекомендательным системам и, в частности, к способу и серверу для формирования модели машинного обучения.
Уровень техники
[002] Различные глобальные и локальные сети (Интернет, World Wide Web, локальные сети и т.д.) обеспечивают пользователю доступ к огромному объему информации. Эта информация включает в себя множество контекстно-зависимых тем, таких как новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о дорожном движении, информация об играх и развлечениях и т.д. Пользователи применяют разнообразные клиентские устройства (настольный компьютер, ноутбук, смартфон, планшет и т.д.) для получения доступа к богатому информационному содержимому (такому как изображения, аудиоматериалы, видеоматериалы, анимация и другой мультимедийный контент из таких сетей).
[003] Объем информации, доступной на различных Интернет-ресурсах, в течение последних нескольких лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы Google™, Yandex™, Yahoo!™ и т.п. Пользователь может получать доступ к интерфейсу поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ на поисковый запрос поисковая система выдает ранжированный список результатов поиска. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования заключается в представлении наиболее релевантных результатов поиска в верхней части ранжированного списка, тогда как менее релевантные результаты поиска могут располагаться в ранжированном списке результатов поиска на менее заметных местах, а наименее релевантные результаты поиска находятся в нижней части ранжированного списка результатов поиска.
[004] Поисковые системы обычно обеспечивают хороший инструментарий для обработки поискового запроса, когда пользователь заранее знает, что требуется найти. Иными словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Испании (т.е. известна тема поиска), он может отправить поисковый запрос: «Наиболее популярные места в Испании?». В ответ поисковая система выдает ранжированный список Интернет-ресурсов, потенциально релевантных поисковому запросу. Пользователь может просмотреть ранжированный список результатов поиска, чтобы получить требуемую информацию, касающуюся мест для посещения в Испании. Если пользователь по какой-либо причине не удовлетворен полученными результатами поиска, он может выполнить повторный поиск, например, с более точным поисковым запросом, таким как «Наиболее популярные места в Испании летом?», «Наиболее популярные места на юге Испании?», «Наиболее популярные места для гастрономического туризма в Испании?».
[005] Существует другой подход, который предлагается для обнаружения пользователем контента и, в частности, для обнаружения и/или рекомендации контента, в поиске которого пользователь может не быть явно заинтересован. В определенном смысле такие системы рекомендуют пользователю контент без явно выраженного поискового запроса, основываясь на явных или неявных интересах пользователя.
[006] В качестве примера такой системы можно привести рекомендательную систему Flipboard™, объединяющую и рекомендующую контент из различных источников, где пользователь может бегло просматривать страницы с рекомендуемым или объединенным контентом. Рекомендательная система собирает контент из социальных медиа и с других веб-сайтов, представляет его в формате журнала и обеспечивает пользователям возможность бегло просматривать ленты публикаций из социальных сетей и с веб-сайтов, установивших партнерские отношения с компанией, эффективно «рекомендуя» контент пользователю, даже если пользователь явно не выражал заинтересованности в конкретном контенте.
[007] В качестве другого примера можно привести рекомендательную систему Yandex.Zen™, которая рекомендует цифровой контент, такой как статьи, новости и видеоматериалы, в персонализированной ленте на главной странице браузера Yandex.Browser™. Когда пользователь просматривает рекомендуемый контент системы Yandex.Zen™, сервер явно (запрашивая, желает ли пользователь, чтобы больше такого контента отображалось в его ленте) или неявно (наблюдая за действиями пользователя с контентом) получает информацию обратной связи. С помощью этой информации обратной связи сервер непрерывно улучшает представляемые пользователю рекомендации контента. Для улучшения рекомендаций контента могут использоваться различные способы.
[008] Например, некоторые способы, которые называются подходами на основе контента, предусматривают получение жанра, семантических признаков, меток, тегов и акустических признаков из песен, прослушанных пользователем, и рекомендацию наиболее схожих песен в качестве избранных для пользователя. Но эти подходы в значительной степени зависят от качества метаданных музыки и от выбора признаков. Такие подходы могут включать в себя линейные или основанные на нейронной сети методы.
[009] В других способах, которые называются подходами на основе совместной фильтрации (CF, Collaborative Filtering), используются данные рекомендованного элемента, чтобы отфильтровывать элементы, которые могут понравиться пользователю, на основе реакции схожих пользователей. Например, «соседский» (Neighborhood-based) подход популярен в отрасли благодаря своей скорости и простоте несмотря на то, что модели на основе сингулярного разложения (SVD, Singular Value Decomposition) демонстрируют лучшие характеристики. Тем не менее, подходам на основе совместной фильтрации присущи некоторые недостатки. Во-первых, элементы без рейтингов не могут быть рекомендованы, что известно как проблема холодного старта. Во-вторых, распространяются преимущественно популярные музыкальные фонограммы, при этом для многих фонограмм может отсутствовать информация для совместной фильтрации.
[0010] В патентной заявке CN110362711 описаны способы, в которых совместная фильтрация используется в отношении песен музыкальных рекомендательных систем, а также предполагается применение моделей на основе деревьев решений.
Раскрытие изобретения
[0011] Целью настоящего изобретения является устранение по меньшей мере некоторых недостатков известных решений. Варианты осуществления настоящей технологии способны обеспечить и/или расширить арсенал подходов и/или способов достижения целей в настоящей технологии.
[0012] Разработчики настоящей технологи установили, что для рекомендации цифрового элемента пользователям рекомендательной системы может использоваться множество моделей машинного обучения. Например, модели SVD, модели на основе разреженного линейного метода (SLIM, Sparse Linear Method), углубленные модели семантического сходства (DSSM, Deep Semantic Similarity Model) и трансформерные модели могут использоваться для формирования прогноза вероятности взаимодействия пользователя рекомендательного сервиса с цифровым элементом рекомендательного сервиса. Эти модели можно разделить на два основных вида: модели матричного разложения и нейронные модели.
[0013] Разработчики настоящей технологии разработали модель машинного обучения на основе деревьев решений (DT, Decision Tree) для формирования прогнозов вероятности взаимодействия пользователя рекомендательного сервиса с цифровым элементом рекомендательного сервиса. В общем случае обучение на основе деревьев решений представляет собой подход к прогнозному моделированию, используемый в статистике, анализе данных и машинном обучении. При этом прогнозирующая модель с древовидной архитектурой используется для перехода от наблюдений за объектом (представленным на ветвях) к заключениям относительно целевого значения объекта (представленного в листьях). Деревья решений, где целевая переменная может принимать дискретный набор значений, называются классификационными деревьями, в которых листья представляют метки класса, а ветви представляют конъюнкции признаков, приводящих к этим меткам классов. Деревья решений, где целевая переменная может принимать непрерывные значения (обычно действительные числа) называются деревьями регрессии.
[0014] В некоторых вариантах осуществления настоящей технологии реализована модель DT, сформированная с использованием метода градиентного бустинга.
Градиентный бустинг и деревья решений
[0015] Градиентный бустинг (GB, Gradient Boosting) представляет собой метод машинного обучения, который может использоваться в задачах, содержащих неоднородные признаки, сложные зависимости и зашумленные данные, например, в приложениях, связанных с веб-поиском, рекомендательными системами, прогнозированием погоды и т.д. В общем случае метод GB итеративно объединяет слабые модели для получения более точных моделей. Модель DT, обученная с использованием методов GB, может называться моделью GBDT.
[0016] Модели GBDT используются в библиотеках, таких как XGBoost, LightGBM и CatBoost. Следует отметить, что библиотека CatBoost и дополнительная информация об алгоритмах градиентного бустинга доступны по ссылке https://catboost.ai. Предполагается, что по меньшей мере некоторые варианты осуществления настоящей технологии могут быть реализованы в соответствии с фреймворком CatBoost.
[0017] В общем случае метод GB позволяет итеративно объединять слабые модели, такие как модели DT, с целью получения более точных моделей. Можно сказать, что для набора данных D и функции потерь алгоритм GB итеративно строит модель GBDT , чтобы минимизировать эмпирический риск . На каждой итерации t модель обновляется следующим образом:
,
где - модель, сформированная на предыдущей итерации, - слабый ученик, выбранный из некоторого семейства функций H, - скорость обучения. Слабый ученик может быть выбран для аппроксимации антиградиента
:
.
[0018] Слабый ученик связан с параметрами и выражение отражает эту связь. Набор слабых учеников может состоять из неглубоких деревьев решений, представляющих собой модели, рекурсивно разбивающие пространство признаков на непересекающиеся области, называемые листьями. Каждому листу дерева присваивается значение, представляющее собой предполагаемый ответ в соответствующей области. Можно сказать, что , поэтому дерево DT линейно зависит от . Таким образом, можно сказать, что в некоторых вариантах осуществления изобретения «окончательная» модель GBDT может представлять собой сочетание деревьев решений, а параметры полной модели обозначаются через .
[0019] В некоторых вариантах осуществления настоящей технологии ее разработчики разработали способы и серверы для формирования моделей DT на основе данных о взаимодействиях пользователь-элемент. Эти модели DT могут обучаться и использоваться независимо друг от друга с целью формирования оценок для соответствующих конкретных цифровых элементов. Эти модели могут называться моделями зависящих от элемента деревьев решений (ISDT, Item-Specific Decision Tree), т.е. модель ISDT обучается и используется для прогнозирования оценки соответствующего (конкретного) цифрового элемента рекомендательной системы.
Не имеющий ограничительного характера вариант реализации модели ISDT
[0020] На фиг. 2 представлена матрица 200 взаимодействий пользователь-элемент между множеством 210 цифровых элементов (Track [1]-Track [n]) и множеством 220 пользователей (User [1]-User [m]). Например, такая матрица 200 взаимодействий пользователь-элемент может использоваться для рекомендации цифровых элементов с использованием подходов на основе совместной фильтрации (CF). Размеры матрицы 200 взаимодействий пользователь-элемент соответствуют количеству пользователей во множестве 220 пользователей и количеству цифровых элементов во множестве 210 цифровых элементов.
[0021] В этом не имеющем ограничительного характера варианте осуществления изобретения цифровые элементы представляют собой песни (или фонограммы), которые могут быть рекомендованы музыкальной рекомендательной системой. Матрица 200 взаимодействий пользователь-элемент содержит информацию, указывающую на взаимодействия 230 пользователь-элемент для соответствующих пар пользователь-элемент. В этом не имеющем ограничительного характера варианте осуществления изобретения взаимодействия 230 пользователь-элемент указывают на положительные отзывы (значение «1») пользователей в соответствующих парах пользователь-элемент или на их отсутствие в соответствующих парах пользователь-элемент (значение «0»).
[0022] В процессе обучения модели ISDT данные из матрицы 200 взаимодействий пользователь-элемент используются для формирования обучающего набора 250 для модели ISDT. В этом не имеющем ограничительного характера варианте осуществления изобретения обучающий набор 250 формируется для третьего цифрового элемента Track [3] (Фонограмма [3]) из множества 210 цифровых элементов.
[0023] Обучающий набор 250 содержит обучающий целевой набор 260 и обучающий входной набор 270. Для этой модели ISDT данные 240 о взаимодействиях пользователь-элемент для третьего цифрового элемента используются при формировании обучающего целевого набора 260. Данные 240 о взаимодействиях пользователь-элемент указывают на взаимодействия пользователь-элемент между множеством 220 пользователей и третьим цифровым элементом. Для этой модели ISDT оставшиеся данные 230 о взаимодействиях пользователь-элемент (все за исключением данных 240 о взаимодействиях пользователь-элемент) используются для формирования обучающего входного набора 270. Данные 230 о взаимодействиях пользователь-элемент за исключением данных 240 о взаимодействиях пользователь-элемент указывают на взаимодействия пользователь-элемент между множеством 220 пользователей и подмножеством цифровых элементов. В этом не имеющем ограничительного характера варианте осуществления изобретения подмножество цифровых элементов содержит все цифровые элементы из множества 210 цифровых элементов за исключением третьего цифрового элемента.
[0024] Разработчики настоящей технологии установили, что подмножество цифровых элементов может быть использовано в качестве обучающих признаков для обучения модели ISDT, данные о взаимодействиях пользователь-элемент между подмножеством цифровых элементов и множеством пользователей могут быть использованы в качестве обучающих входных значений для обучающих признаков, а данные о взаимодействиях пользователь-элемент между третьим цифровым элементом и множеством пользователей могут быть использованы в качестве обучающих целевых значений для обучающих признаков. В этом не имеющем ограничительного характера варианте осуществления изобретения количество обучающих признаков в обучающем входном наборе 270 может быть равно количеству цифровых элементов в подмножестве цифровых элементов (уменьшенному на единицу количеству цифровых элементов во множестве 210 цифровых элементов).
[0025] Предполагается, что обучающий набор 250 может быть использован для обучения модели GBDT. В одном варианте осуществления изобретения обучающий набор 250 может быть использован для обучения модели GBDT, а в качестве функции потерь может быть использована среднеквадратическая ошибка. Таким образом, может быть сформировано первое дерево DT, содержащее узлы признаков и узлы листьев. Узлы признаков дерева DT представляют соответствующие обучающие признаки из обучающего набора 250 (т.е. соответствующие элементы из подмножества цифровых элементов), а средние значения градиента ошибки могут располагаться в узлах листьев дерева DT. После формирования таким образом первого дерева DT градиент может быть обновлен, а процесс продолжается путем формирования следующего дерева DT модели ISDT и т.д. В результате формируется множество деревьев решений, образующих модель ISDT.
[0026] В этом не имеющем ограничительного характера варианте осуществления изобретения модель ISDT на этапе использования может получать в качестве входных данных список цифровых элементов, понравившихся текущему пользователю, и предоставлять в качестве выходных данных оценку вероятности того, что этому пользователю также понравится третий цифровой элемент.
[0027] Предполагается, что матрица 200 взаимодействий пользователь-элемент может быть использована для формирования большого количества моделей ISDT. В этом не имеющем ограничительного характера варианте осуществления изобретения матрица 200 взаимодействий пользователь-элемент может быть использована для формирования моделей ISDT, количество которых равно количеству цифровых элементов во множестве 210 цифровых элементов.
[0028] Подобно тому, как описано выше применительно к модели ISDT для третьего цифрового элемента, для другого цифрового элемента может быть сформирован другой обучающий набор, в котором данные о взаимодействиях пользователь-элемент для этого другого цифрового элемента используются в качестве другого обучающего целевого набора и другое подмножество цифровых элементов (за исключением другого цифрового элемента) используется в качестве других обучающих признаков. Иными словами, процесс формирования обучающего набора может быть повторен путем выбора различных столбцов матрицы 200 взаимодействий пользователь-элемент, т.е. путем выбора цифровых элементов в качестве целевых цифровых элементов для соответствующих моделей ISDT и независимого обучения последних на соответствующих наборах цифровых элементов (за исключением целевых цифровых элементов).
[0029] Разработчики настоящей технологии установили, что благодаря использованию большого количества обучающих признаков одного вида (представленных цифровыми элементами) процесс построения дерева может быть распараллелен между несколькими конвейерами. Эти параллельные конвейеры могут выполняться с использованием низкоуровневой оптимизации центрального процессора (CPU). Дополнительно или в качестве альтернативы, эти параллельные конвейеры могут выполняться графическим процессором (GPU). В некоторых вариантах осуществления изобретения, поскольку модели ISDT обучаются независимо друг от друга, обучающие наборы данных могут параллельно отправляться соответствующим аппаратно-реализованным машинам для выполнения процессов обучения, обеспечивая таким образом улучшенные возможности масштабирования.
[0030] Согласно первому аспекту настоящей технологии реализован выполняемый сервером способ формирования модели машинного обучения, подлежащей использованию при формировании рекомендации цифрового элемента пользователю из множества пользователей рекомендательной системы, выполняемой сервером, при этом пользователь связан с электронным устройством, соединенным с сервером через сеть связи. Способ включает в себя получение сервером данных о взаимодействиях пользователь-элемент, указывающих на предыдущие взаимодействия между множеством пользователей и множеством цифровых элементов, доступных для рекомендации множеству пользователей в рекомендательной системе. Способ включает в себя формирование сервером на основе данных о взаимодействиях пользователь-элемент модели машинного обучения для прогнозирования оценок, указывающих на вероятность взаимодействия пользователя из множества пользователей с данным цифровым элементом из множества цифровых элементов. Модель машинного обучения содержит множество подмоделей ISDT, каждая из которых связана с данным цифровым элементом для формирования оценки, указывающей на вероятность взаимодействия пользователя с данным цифровым элементом. Это формирование включает в себя формирование сервером обучающего набора для подмодели ISDT. Обучающий набор содержит обучающий целевой набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с данным цифровым элементом, и обучающий входной набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с не содержащим данный цифровой элемент подмножеством цифровых элементов из множества цифровых элементов. Подмножество цифровых элементов подлежит использованию в качестве обучающих признаков при формировании подмодели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и подмножеством цифровых элементов использовались в качестве значений для обучающих признаков. Это формирование включает в себя формирование сервером множества деревьев решений, образующих подмодель ISDT, с использованием обучающего набора. Дерево из множества деревьев решений содержит узлы признаков, соответствующие обучающим признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений.
[0031] В некоторых вариантах осуществления способа формирование модели машинного обучения дополнительно включает в себя формирование сервером для второй подмодели ISDT второго обучающего набора, содержащего второй обучающий целевой набор для второго цифрового элемента из множества цифровых элементов, содержащий данные о взаимодействиях пользователь-элемент, связанные со вторым цифровым элементом, и второй обучающий входной набор для второго цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с не содержащим второй цифровой элемент и содержащим данный цифровой элемент вторым подмножеством цифровых элементов из множества цифровых элементов. Второе подмножество цифровых элементов подлежит использованию в качестве вторых обучающих признаков при формировании второй подмодели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и вторым подмножеством цифровых элементов использовались в качестве значений для вторых обучающих признаков. Это формирование включает в себя формирование сервером второго множества деревьев решений, образующих вторую подмодель ISDT, с использованием второго обучающего набора. Дерево из второго множества деревьев решений содержит вторые узлы признаков, соответствующие вторым обучающим признакам, и вторые узлы листьев, связанные с выходными значениями дерева из второго множества деревьев решений.
[0032] В некоторых вариантах осуществления способа он дополнительно включает в себя: получение сервером запроса рекомендации контента от электронного устройства, связанного с пользователем рекомендательной системы; формирование сервером, использующим другой алгоритм машинного обучения, предварительного набора цифровых элементов, содержащего данный цифровой элемент и второй цифровой элемент, из множества цифровых элементов, которые могут быть рекомендованы пользователю; формирование сервером, использующим алгоритм машинного обучения, оценки для данного цифрового элемента с использованием подмодели ISDT и второй оценки для второго цифрового элемента с использованием второй подмодели ISDT; ранжирование сервером данного цифрового элемента и второго цифрового элемента из предварительного набора цифровых элементов с использованием оценки и второй оценки; и отправку сервером электронному устройству ответа для рекомендации контента, содержащей данный цифровой элемент и/или второй цифровой элемент.
[0033] В некоторых вариантах осуществления способа множество цифровых элементов содержит цифровые музыкальные элементы.
[0034] В некоторых вариантах осуществления способа множество цифровых элементов содержит цифровые видеоэлементы.
[0035] В некоторых вариантах осуществления способа подмножество цифровых элементов содержит все цифровые элементы из множества цифровых элементов за исключением данного цифрового элемента.
[0036] Согласно второму аспекту настоящей технологии реализован выполняемый сервером способ формирования модели ISDT, связанной с данным цифровым элементом из множества цифровых элементов, доступных для рекомендации множеству пользователей в выполняемой сервером рекомендательной системе, и предназначенной для формирования оценки, указывающей на вероятность взаимодействия пользователя из множества пользователей с данным цифровым элементом. Способ включает в себя получение сервером данных о взаимодействиях пользователь-элемент, указывающих на предыдущие взаимодействия между множеством пользователей и множеством цифровых элементов. Способ включает в себя формирование сервером обучающего набора, содержащего обучающий целевой набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с данным цифровым элементом, и обучающий входной набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с не содержащим данный цифровой элемент подмножеством цифровых элементов из множества цифровых элементов. Подмножество цифровых элементов подлежит использованию в качестве обучающих признаков при формировании модели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и подмножеством цифровых элементов использовались в качестве значений для обучающих признаков. Это формирование включает в себя формирование сервером множества деревьев решений, образующих модель ISDT, с использованием обучающего набора. Дерево из множества деревьев решений содержит узлы признаков, соответствующие обучающим признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений.
[0037] В некоторых вариантах осуществления способа формирование множества деревьев решений включает в себя выполнение сервером алгоритма GB.
[0038] В некоторых вариантах осуществления способа множество цифровых элементов содержит цифровые музыкальные элементы и/или цифровые видеоэлементы.
[0039] Согласно третьему аспекту настоящей технологии реализован выполняемый сервером способ формирования рекомендации цифрового элемента пользователю рекомендательной системы, выполняемой сервером, при этом пользователь связан с электронным устройством, соединенным с сервером через сеть связи. Способ включает в себя получение сервером запроса рекомендации контента от электронного устройства, при этом пользователь связан с данными о взаимодействиях пользователь-элемент, указывающими на предыдущие взаимодействия пользователь-элемент между пользователем и множеством цифровых элементов, доступных для рекомендации в рекомендательной системе. Способ включает в себя формирование сервером, выполняющим модель ISDT, оценки для пары пользователь-элемент, содержащей пользователя и данный цифровой элемент, при этом модель ISDT связана с данным цифровым элементом, а оценка указывает на вероятность взаимодействия пользователя с данным цифровым элементом. Модель ISDT содержит множество деревьев решений, каждое из которых содержит узлы признаков, соответствующие признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений. Признаки представлены не содержащим данный цифровой элемент подмножеством цифровых элементов из множества цифровых элементов. Это формирование включает в себя: формирование сервером выходных значений этапа использования с помощью соответствующих деревьев из множества деревьев решений с использованием предыдущих взаимодействий пользователь-элемент между пользователем и подмножеством цифровых элементов в качестве значений для соответствующих признаков и формирование сервером оценки путем объединения выходных значений этапа использования. Способ включает в себя ранжирование сервером данного цифрового элемента из множества цифровых элементов с использованием оценки. Способ включает в себя отправку сервером электронному устройству ответа для рекомендации контента, содержащей данный цифровой элемент.
[0040] Согласно четвертому аспекту настоящей технологии реализован сервер для формирования модели машинного обучения, подлежащей использованию при формировании рекомендации цифрового элемента пользователю из множества пользователей рекомендательной системы, выполняемой сервером, при этом пользователь связан с электронным устройством, соединенным с сервером через сеть связи. Сервер способен получать данные о взаимодействиях пользователь-элемент, указывающие на предыдущие взаимодействия между множеством пользователей и множеством цифровых элементов, доступных для рекомендации множеству пользователей в рекомендательной системе. Сервер способен формировать на основе данных о взаимодействиях пользователь-элемент модель машинного обучения для прогнозирования оценок, указывающих на вероятность взаимодействия пользователя из множества пользователей с данным цифровым элементом из множества цифровых элементов. Модель машинного обучения содержит множество подмоделей ISDT, каждая из которых связана с данным цифровым элементом для формирования оценки, указывающей на вероятность взаимодействия пользователя с данным цифровым элементом. Это формирование сервером включает в себя формирование для подмодели ISDT обучающего набора, содержащего: (а) обучающий целевой набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с данным цифровым элементом, (б) обучающий входной набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с не содержащим данный цифровой элемент подмножеством цифровых элементов из множества цифровых элементов. Подмножество цифровых элементов подлежит использованию в качестве обучающих признаков при формировании подмодели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и подмножеством цифровых элементов использовались в качестве значений для обучающих признаков. Это формирование сервером включает в себя формирование множества деревьев решений, образующих подмодель ISDT, с использованием обучающего набора. Дерево из множества деревьев решений содержит узлы признаков, соответствующие обучающим признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений.
[0041] В некоторых вариантах осуществления сервера формирование модели машинного обучения дополнительно включает в себя формирование сервером для второй подмодели ISDT второго обучающего набора, содержащего: (а) второй обучающий целевой набор для второго цифрового элемента из множества цифровых элементов, содержащий данные о взаимодействиях пользователь-элемент, связанные со вторым цифровым элементом, (б) второй обучающий входной набор для второго цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с не содержащим второй цифровой элемент и содержащим данный цифровой элемент вторым подмножеством цифровых элементов из множества цифровых элементов. Второе подмножество цифровых элементов подлежит использованию в качестве вторых обучающих признаков при формировании второй подмодели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и вторым подмножеством цифровых элементов использовались в качестве значений для вторых обучающих признаков. Формирование модели машинного обучения дополнительно включает в себя формирование сервером второго множества деревьев решений, образующих вторую подмодель ISDT, с использованием второго обучающего набора. Дерево из второго множества деревьев решений содержит вторые узлы признаков, соответствующие вторым обучающим признакам, и вторые узлы листьев, связанные с выходными значениями дерева из второго множества деревьев решений.
[0042] В некоторых вариантах осуществления сервера он дополнительно способен получать запрос рекомендации контента от электронного устройства, связанного с пользователем рекомендательной системы; формировать путем использования другого алгоритма машинного обучения предварительный набор цифровых элементов, содержащий данный цифровой элемент и второй цифровой элемент, из множества цифровых элементов, которые могут быть рекомендованы пользователю; формировать путем использования алгоритма машинного обучения оценку для данного цифрового элемента с использованием подмодели ISDT и вторую оценку для второго цифрового элемента с использованием второй подмодели ISDT; ранжировать данный цифровой элемент и второй цифровой элемент из предварительного набора цифровых элементов с использованием оценки и второй оценки; и отправлять электронному устройству ответ для рекомендации контента, содержащей данный цифровой элемент и/или второй цифровой элемент.
[0043] В некоторых вариантах осуществления сервера множество цифровых элементов содержит цифровые музыкальные элементы.
[0044] В некоторых вариантах осуществления сервера множество цифровых элементов содержит цифровые видеоэлементы.
[0045] В некоторых вариантах осуществления сервера подмножество цифровых элементов содержит все цифровые элементы из множества цифровых элементов за исключением данного цифрового элемента.
[0046] Согласно пятому аспекту настоящей технологии реализован сервер для формирования модели ISDT, связанной с данным цифровым элементом из множества цифровых элементов, доступных для рекомендации множеству пользователей в выполняемой сервером рекомендательной системе, и предназначенной для формирования оценки, указывающей на вероятность взаимодействия пользователя из множества пользователей с данным цифровым элементом. Сервер способен получать данные о взаимодействиях пользователь-элемент, указывающие на предыдущие взаимодействия между множеством пользователей и множеством цифровых элементов. Сервер способен формировать обучающий набор, содержащий: (а) обучающий целевой набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с данным цифровым элементом, и (б) обучающий входной набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с не содержащим данный цифровой элемент подмножеством цифровых элементов из множества цифровых элементов. Подмножество цифровых элементов подлежит использованию в качестве обучающих признаков при формировании модели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и подмножеством цифровых элементов использовались в качестве значений для обучающих признаков. Сервер способен формировать множество деревьев решений, образующее модель ISDT, с использованием обучающего набора. Дерево из множества деревьев решений содержит узлы признаков, соответствующие обучающим признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений.
[0047] В некоторых вариантах осуществления сервера формирование множества деревьев решений включает в себя выполнение сервером алгоритма GB.
[0048] В некоторых вариантах осуществления сервера множество цифровых элементов содержит цифровые музыкальные элементы и/или цифровые видеоэлементы.
[0049] Согласно шестому аспекту настоящей технологии реализован сервер для формирования рекомендации цифрового элемента пользователю рекомендательной системы, выполняемой сервером, при этом пользователь связан с электронным устройством, соединенным с сервером через сеть связи. Сервер способен получать запрос рекомендации контента от электронного устройства, при этом пользователь связан с данными о взаимодействиях пользователь-элемент, указывающими на предыдущие взаимодействия пользователь-элемент между пользователем и множеством цифровых элементов, доступных для рекомендации в рекомендательной системе; формировать путем выполнения модели ISDT, связанной с данным цифровым элементом, оценку для пары пользователь-элемент, содержащей пользователя и данный цифровой элемент, указывающую на вероятность взаимодействия пользователя с данным цифровым элементом. Модель ISDT содержит множество деревьев решений, каждое из которых содержит узлы признаков, соответствующие признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений. Признаки представлены не содержащим данный цифровой элемент подмножеством цифровых элементов из множества цифровых элементов. Формирование сервером включает в себя формирование выходных значений этапа использования с помощью соответствующих деревьев из множества деревьев решений с использованием предыдущих взаимодействий пользователь-элемент между пользователем и подмножеством цифровых элементов в качестве значений для соответствующих признаков и формирование оценки путем объединения выходных значений этапа использования. Сервер способен ранжировать данный цифровой элемент из множества цифровых элементов с использованием оценки и отправлять электронному устройству ответ для рекомендации контента, содержащей данный цифровой элемент.
[0050] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая конкретная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[0051] В контексте настоящего описания термин «клиентское устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры клиентских устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как клиентское устройство, также может функционировать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.
[0052] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
[0053] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы, списки слов и т.д., но не ограничивается ими.
[0054] В контексте настоящего описания выражение «компонент» включает в себя обозначение программного обеспечения (подходящего для определенных аппаратных средств), необходимого и достаточного для выполнения определенной функции или нескольких функций.
[0055] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.
[0056] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных знаний относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.
[0057] В контексте настоящего описания числительные «первый», «второй», «третий» и т.д. используются лишь для указания на различие между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличия «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - разные программные и/или аппаратные средства.
[0058] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или к одному из вышеупомянутых аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
[0059] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.
Краткое описание чертежей
[0060] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[0061] На фиг. 1 представлена схема системы, реализованной согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[0062] На фиг. 2 представлен процесс формирования матрицы взаимодействий пользователь-элемент и обучающего набора для модели ISDT.
[0063] На фиг. 3 представлена модель машинного обучения, содержащая множество подмоделей ISDT.
[0064] На фиг. 4 приведено первое дерево DT в первой подмодели ISDT из множества подмоделей ISDT, представленных на фиг. 3.
[0065] На фиг. 5 приведена блок-схема выполняемого сервером, представленным на фиг. 1, способа формирования алгоритма машинного обучения, представленного на фиг. 3, согласно вариантам осуществления настоящей технологии.
[0066] На фиг. 6 приведен снимок экрана рекомендательного интерфейса системы, представленной на фиг. 1.
Осуществление изобретения
[0067] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.
[0068] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.
[0069] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.
[0070] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть понятно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п.соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.
[0071] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором и/или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как процессор CPU, или специализированный процессор, такой как процессор GPU. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и/или энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.
[0072] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.
[0073] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[0074] На фиг. 1 представлена схема системы 100, пригодной для реализации не имеющих ограничительного характера вариантов осуществления настоящей технологии. Очевидно, что система 100 приведена лишь для демонстрации варианта реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях приводятся полезные примеры модификаций системы 100. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Эти модификации не составляют исчерпывающего перечня. Как должно быть понятно специалисту в данной области, вероятно, возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны (т.е. примеры модификаций отсутствуют), это не означает, что они невозможны и/или что это описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии. Специалисту в данной области должно быть понятно, что это может быть не так. Кроме того, следует понимать, что система 100 в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии и что такие варианты представлены для того, чтобы способствовать лучшему ее пониманию. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.
[0075] В целом, система 100 способна предоставлять рекомендации относительно цифрового контента пользователям системы 100. Например, пользователь 102 (один из множества пользователей системы 100) может быть абонентом рекомендательного сервиса, обеспечиваемого системой 100. Тем не менее, подписка такого абонента не обязательно должна быть явной или платной. Например, пользователь может стать абонентом в результате загрузки рекомендательного приложения из системы 100, путем регистрации и предоставления сочетания учетного имени/пароля, путем регистрации и предоставления предпочтений пользователя и т.д. Любой вариант системы, способной формировать для пользователя рекомендации контента, может быть адаптирован для выполнения вариантов осуществления настоящей технологии после реализации представленной здесь концепции. Кроме того, система 100 описана на примере системы 100, представляющей собой рекомендательную систему (поэтому система 100 ниже может называться рекомендательной системой 100, или системой 100 прогнозирования, или обучающей системой 100). Тем не менее, варианты осуществления настоящей технологии могут быть в равной степени применены к системе 100 других видов, как более подробно описано ниже.
Электронное устройство
[0076] Система 100 содержит электронное устройство 104, связанное с пользователем 102. Электронное устройство 104 иногда может называться клиентским устройством, оконечным устройством или клиентским электронным устройством. Следует отметить, что связь электронного устройства 104 с пользователем 102 не означает необходимости предлагать или подразумевать какой-либо режим работы, например, вход в систему, регистрацию и т.п.
[0077] Следует отметить, что несмотря на то, что на фиг. 1 представлен лишь один связанный с электронным устройством 104 пользователь 102, предполагается, что он является пользователем из множества пользователей (не показаны) системы 100, каждый из которых может быть связан с соответствующим электронным устройством (не показано).
[0078] На реализацию электронного устройства 104 не накладывается каких-либо особых ограничений. Например, электронное устройство 104 может быть реализовано в виде персонального компьютера (настольного, ноутбука, нетбука и т.д.), беспроводного устройства связи (смартфона, сотового телефона, планшета и т.д.) или сетевого оборудования (маршрутизатора, коммутатора, шлюза и т.д.). Электронное устройство 104 содержит известные в данной области техники аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для выполнения рекомендательного приложения 106. В общем случае рекомендательное приложение 106 предназначено для обеспечения пользователю 102 возможности принимать рекомендации относительно цифрового контента, предоставляемые системой 100, как более подробно описано ниже (или осуществлять доступ к ним иным образом).
[0079] На реализацию рекомендательного приложения 106 не накладывается каких-либо особых ограничений. Один пример рекомендательного приложения 106 может предусматривать доступ пользователя 102 к веб-сайту, связанному с рекомендательным сервисом, для доступа к рекомендательному приложению 106. Например, доступ к рекомендательному приложению 106 может осуществляться путем ввода с клавиатуры (или копирования и вставки, или выбора ссылки) универсального указателя ресурсов (URL, Uniform Resource Locator), связанного с рекомендательным сервисом. В качестве альтернативы, рекомендательное приложение 106 может представлять собой приложение, загружаемое из так называемого «магазина приложений», такого как Appstore™ или Googleplay™, и устанавливаемое или выполняемое в электронном устройстве 104. Очевидно, что доступ к рекомендательному приложению 106 может осуществляться с использованием любых других подходящих средств. В других вариантах осуществления изобретения функции рекомендательного приложения 106 могут быть включены в состав другого приложения, такого как браузерное приложение (не показано) и т.п. Например, рекомендательное приложение 106 может выполняться в виде части браузерного приложения. В частности, функции рекомендательного приложения 106 могут выполняться, когда пользователь 102 запускает такое браузерное приложение.
[0080] В общем случае рекомендательное приложение 106 содержит рекомендательный интерфейс (не показан), отображаемый на экране электронного устройства 104.
[0081] На фиг. 6 представлен снимок 600 экрана рекомендательного интерфейса, реализованного согласно не имеющему ограничительного характера варианту осуществления настоящей технологии (показан пример рекомендательного интерфейса, отображаемого на экране электронного устройства 104, реализованного в виде смартфона).
[0082] В некоторых вариантах осуществления настоящей технологии рекомендательный интерфейс может быть представлен или отображен, когда пользователь 102 электронного устройства 104 активирует (т.е. выполняет, запускает, выполняет в фоновом режиме и т.п.) рекомендательное приложение 106. В качестве альтернативы, рекомендательный интерфейс может демонстрироваться или отображаться, когда пользователь 102 открывает новое окно браузера и/или активирует новую вкладку в браузерном приложении. Например, в некоторых вариантах осуществления настоящей технологии рекомендательный интерфейс может выполнять функции главной страницы в браузерном приложении.
[0083] Рекомендательный интерфейс содержит поисковый интерфейс 602. Поисковый интерфейс 602 включает в себя интерфейс 604 поискового запроса. Интерфейс 604 поискового запроса может быть реализован в виде «омнибокса», что позволяет вводить поисковый запрос для проведения поиска или сетевой адрес (такой как URL-адрес) для идентификации ресурса (такого как веб-сайт), к которому требуется получить доступ.При этом интерфейс 604 поискового запроса может принимать введенный поисковый запрос для проведения поиска и/или сетевой адрес (такой как URL-адрес) для идентификации ресурса (такого как веб-сайт), к которому требуется получить доступ.
[0084] Рекомендательный интерфейс дополнительно содержит интерфейс 606 ссылок. Интерфейс 606 ссылок содержит множество 608 фрагментов, при этом на фиг. 6 представлены восемь из них и только два пронумерованы: первый фрагмент 610 и второй фрагмент 612.
[0085] Каждый фрагмент из множества 608 фрагментов, например, первый фрагмент 610 и второй фрагмент 612, включает в себя ссылку (а) на веб-сайт, отмеченный как «избранное» или как-либо иначе отмеченный пользователем 102, (б) на ранее посещенный веб-сайт и т.п. (или выполняет соответствующие функции). В изображенном варианте осуществления изобретения множество 608 фрагментов визуально представлено пользователю 102 в виде квадратных кнопок с логотипом и/или с названием ресурса, благодаря чему пользователь 102 может определять, с каким ресурсом связан каждый из множества фрагментов (отдельно не пронумерованы). Тем не менее, очевидно, что визуальное представление некоторых или всех фрагментов из множества 608 фрагментов может быть иным. Таким образом, некоторые или все фрагменты из множества 608 фрагментов могут быть реализованы в виде кнопок другой формы, в виде списка гиперссылок и т.п.
[0086] Например, первый фрагмент 610 включает в себя ссылку на веб-сайт Travelzoo™, а второй фрагмент 612 содержит ссылку на веб-сайт персонального «живого журнала» (Live Journal). Излишне говорить, что на количество и содержимое индивидуальных фрагментов из множества 608 фрагментов не накладывается каких-либо особых ограничений.
[0087] Например, количество фрагментов во множестве 608 фрагментов может быть выбрано заранее поставщиком рекомендательного приложения 106. В некоторых вариантах осуществления настоящей технологии количество фрагментов во множестве 608 фрагментов выбрано заранее на основе размера и/или разрешения экрана электронного устройства 104, выполняющего рекомендательное приложение 106. Например, первое количество фрагментов может быть заранее выбрано для электронного устройства 104, реализованного в виде смартфона, второе количество фрагментов может быть заранее выбрано для электронного устройства 104, реализованного в виде планшета, и третье количество фрагментов может быть заранее выбрано для электронного устройства 104, реализованного в виде ноутбука или настольного компьютера.
[0088] Рекомендательный интерфейс дополнительно содержит набор 614 рекомендуемого цифрового контента. Набор 614 рекомендуемого цифрового контента включает в себя один или несколько рекомендуемых цифровых элементов, например, первый рекомендуемый цифровой элемент 616 и второй рекомендуемый цифровой элемент 618 (второй рекомендуемый цифровой элемент 618 лишь частично виден на фиг. 6). Разумеется, что набор 614 рекомендуемого цифрового контента может содержать больше рекомендуемых цифровых элементов. В представленном на фиг. 6 варианте осуществления изобретения и в тех вариантах осуществления изобретения, где присутствует несколько рекомендуемых цифровых элементов, пользователь 102 может выполнять прокрутку набора 614 рекомендуемого цифрового контента. Прокрутка может осуществляться любыми подходящими средствами. Например, пользователь 102 может выполнять прокрутку контента набора 614 рекомендуемого цифрового контента с использованием мыши (не показана), клавиши клавиатуры (не показана) или взаимодействия с сенсорным экраном (не показан) соответствующего электронного устройства 104.
[0089] Пример, приведенный на фиг. 6, представляет собой лишь один возможный вариант реализации рекомендательного интерфейса. Другой пример осуществления рекомендательного интерфейса и описание способа взаимодействия пользователя 102 с рекомендательным интерфейсом 108 приведены заявке на патент Российской Федерации того же заявителя «Компьютерный способ создания интерфейса рекомендации контента» (№2016118519, подана 12.05.2016), содержание которой полностью включено в настоящий документ посредством ссылки.
[0090] Электронное устройство 104 способно формировать запрос 150 рекомендации относительно цифрового контента (см. фиг. 1). Запрос 150 быть сформирован в ответ на предоставление пользователем 102 явного указания на его желание получать рекомендацию относительно цифрового контента. Например, рекомендательный интерфейс 108 может предоставлять кнопку (или другой активируемый элемент), позволяющую пользователю 102 выражать свое желание получать новые или обновленные рекомендации относительно цифрового контента.
[0091] Например, рекомендательный интерфейс может предоставить активируемую кнопку с надписью «Запросить рекомендацию контента». В этих вариантах осуществления изобретения запрос 150 рекомендации относительно цифрового контента может считаться «явным запросом» в том смысле, что пользователь 102 явно выражает запрос рекомендации относительно цифрового контента.
[0092] В других вариантах осуществления изобретения запрос 150 рекомендации относительно цифрового контента может быть сформирован в ответ на неявное указание пользователя 102 на его желание получить рекомендацию относительно цифрового контента. В некоторых вариантах осуществления настоящей технологии запрос 150 рекомендации относительно цифрового контента может быть сформирован в ответ на запуск пользователем 102 рекомендательного приложения 106.
[0093] В качестве альтернативы в тех вариантах осуществления настоящей технологии, где рекомендательное приложение 106 реализовано в виде браузера (такого как, браузер Google™ , браузер Yandex™, браузер Yahoo!™ или любое другое проприетарное или коммерчески доступное браузерное приложение), запрос 150 рекомендации относительно цифрового контента может быть сформирован в ответ на открытие пользователем 102 браузерного приложения и может быть создан, например, без выполнения пользователем 102 каких-либо дополнительных действий, кроме активации браузерного приложения.
[0094] Запрос 150 рекомендации относительно цифрового контента также может быть сформирован в ответ на открытие пользователем 102 новой вкладки в уже открытом браузерном приложении и может быть создан, например, без выполнения пользователем 102 каких-либо дополнительных действий, кроме активации новой вкладки браузера.
[0095] Таким образом, предполагается, что в некоторых вариантах осуществления настоящей технологии запрос 150 рекомендации относительно цифрового контента может быть сформирован, даже если пользователю 102 неизвестно, что он может быть заинтересован в получении рекомендации относительно цифрового контента.
[0096] Запрос 150 рекомендации относительно цифрового контента также может быть сформирован в ответ на выбор пользователем 102 конкретного элемента браузерного приложения и может быть создан, например, без выполнения пользователем 102 каких-либо дополнительных действий, кроме выбора или активации конкретного элемента браузерного приложения.
[0097] Примеры конкретного элемента браузерного приложения в числе прочего включают в себя:
- адресную строку панели браузерного приложения;
- строку поиска браузерного приложения и/или строку поиска веб-сайта поисковой системы, доступ к которому обеспечивается в браузерном приложении;
- омнибокс (объединенную строку адреса и поиска браузерного приложения);
- панель избранных или недавно посещенных сетевых ресурсов; и
- любую другую заранее заданную область интерфейса браузерного приложения или сетевого ресурса, отображенного в браузерном приложении.
[0098] Ниже более подробно описано, как контент для набора 614 рекомендуемого цифрового контента формируется и предоставляется электронному устройству 104.
Сеть связи
[0099] Электронное устройство 104 связано с сетью 110 связи для доступа к рекомендательному серверу 112 (или, сокращенно, к серверу 112).
[00100] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии в качестве сети 110 связи может использоваться сеть Интернет.В других вариантах осуществления настоящей технологии сеть 110 связи может быть реализована иначе, например, в виде любой глобальной сети связи, локальной сети связи, частной сети связи и т.п.
[00101] Реализация линии связи (отдельно не обозначена) между электронным устройством 104 и сетью 110 связи зависит, среди прочего, от реализации электронного устройства 104. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 104 реализовано в виде устройства беспроводной связи (такого как смартфон), линия связи может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 104 реализовано в виде ноутбука, линия связи может быть беспроводной (такой как Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.д.) или проводной (такой как соединение на основе Ethernet).
Множество сетевых ресурсов
[00102] С сетью 110 связи также связано множество 130 сетевых ресурсов, содержащее первый сетевой ресурс 132, второй сетевой ресурс 134 и множество 136 дополнительных сетевых ресурсов. Первый сетевой ресурс 132, второй сетевой ресурс 134 и множество 136 дополнительных сетевых ресурсов представляют собой сетевые ресурсы, доступные электронному устройству 104 (а также другим электронным устройствам, потенциально присутствующим в системе 100) через сеть 110 связи. На соответствующий цифровой контент первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов не накладывается каких-либо особых ограничений.
[00103] Предполагается, что любой ресурс из числа первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов может содержать цифровые элементы, включающие в себя цифровой контент потенциально различных видов. Как описано ниже, множество 136 сетевых ресурсов может содержать по меньшей мере некоторые из потенциально рекомендуемых элементов контента системы 100.
[00104] Например, цифровой контент цифровых элементов может, среди прочего, включать в себя цифровой аудиоконтент для потоковой передачи или загрузки, цифровой видеоконтент для потоковой передачи или загрузки, новости, блоги, информацию о различных государственных учреждениях, информацию о достопримечательностях, тематически кластеризованный контент (например, контент, релевантный для интересующихся кикбоксингом), другой мультимедийный цифровой контент и т.д.
[00105] В другом примере цифровой контент цифровых элементов, содержащихся в первом сетевом ресурсе 132, втором сетевом ресурсе 134 и множестве 136 дополнительных сетевых ресурсов, может основываться на тексте. Цифровой контент на основе текста может, среди прочего, включать в себя новости, статьи, блоги, информацию о различных государственных учреждениях, информацию о достопримечательностях, тематически кластеризованный контент (например, контент, релевантный для интересующихся кикбоксингом) и т.д. Предполагается, что в по меньшей мере некоторых вариантах осуществления настоящей технологии первичные текстовые данные из элементов контента на основе текста могут быть извлечены сервером 112 и сохранены в базе 120 данных для последующей обработки.
[00106] При этом следует отметить, что выражение «цифровой контент на основе текста» не означает, что цифровой элемент содержит только текст, исключая мультимедийные элементы другого вида. В действительности цифровой элемент на основе текста может включать в себя текстовые элементы и, возможно, мультимедийные элементы другого вида. Например, цифровой элемент на основе текста, представляющий собой статью, может содержать текст и фотографии. В другом примере цифровой элемент на основе текста, представляющий собой блог, может содержать текст и внедренные видеоэлементы.
[00107] Следует отметить, что элементы цифрового контента с сетевого ресурса могут быть опубликованы объектом-издателем (или просто издателем). В общем случае издатель формирует цифровой контент и публикует его так, чтобы он был доступен на сетевом ресурсе. Следует отметить, что издатель обычно формирует и публикует цифровой контент одного вида и/или с общей темой. Например, издатель, обычно публикующий цифровой контент, касающийся спортивных новостей, вероятно опубликует и новый цифровой контент, также касающийся спортивных новостей.
[00108] В общем случае элементы цифрового контента потенциально «поддаются обнаружению» электронным устройством 104 с использованием различных средств. Например, пользователь 102 электронного устройства 104 может использовать браузерное приложение (не показано) и ввести URL-адрес, связанный с ресурсом из числа первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов. В другом примере пользователь 102 электронного устройства 104 может выполнить поиск с помощью поисковой системы (не показана), чтобы обнаружить цифровой контент одного или нескольких ресурсов из числа первого сетевого ресурса 132, второго сетевого ресурса 134 и множества 136 дополнительных сетевых ресурсов. Как описано выше, это удобно, когда пользователь 102 заранее знает, в каком цифровом контенте он заинтересован.
[00109] В по меньшей мере некоторых вариантах осуществления настоящей технологии предполагается, что пользователю 102 могут быть полезны один или несколько элементов цифрового контента, потенциально рекомендуемых рекомендательной системой 180, размещенной на сервере 112. Ниже описана возможная реализация сервера 112 и рекомендательной системы 180 в некоторых вариантах осуществления настоящей технологии.
Рекомендательный сервер
[00110] Сервер 112 может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 112 может быть реализован в виде сервера Dell™ PowerEdge™ , работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 112 может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения, либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 112 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 112 могут быть распределены между несколькими серверами.
[00111] В общем случае сервер 112 способен (а) получать от электронного устройства 104 запрос 150 рекомендации относительно цифрового контента и (б) в ответ на запрос 150 формировать сообщение 152 рекомендуемого цифрового контента, которое должно передаваться электронному устройству 104.
[00112] Предполагается, что по меньшей мере некоторый цифровой контент в сообщении 152 рекомендуемого цифрового контента может быть специально сформирован или иным образом адаптирован для пользователя 102, связанного с электронным устройством 104. Сервер 112 может предоставлять электронному устройству 104 для отображения пользователю 102 (в рекомендательном интерфейсе рекомендательного приложения 106) информацию, которая указывает на набор 614 рекомендуемого цифрового контента и, среди прочего, входит в состав цифрового контента в сообщении 152 рекомендуемого цифрового контента.
[00113] Должно быть понятно, что набор 614 рекомендуемого цифрового контента, предоставляемый пользователю102 сервером 112, может содержать цифровой контент, доступный в одном из множества 130 сетевых ресурсов и заранее неизвестный пользователю 102. Ниже более подробно описано формирование набора 614 рекомендуемого цифрового контента сервером 112.
[00114] Как описано выше, рекомендательный сервер 112 способен выполнять множество компьютерных процедур, которые здесь обобщенно называются рекомендательной системой 180. В контексте настоящей технологии сервер 112, предоставляющий рекомендательные сервисы с использованием рекомендательной системы 180, способен использовать один или несколько алгоритмов машинного обучения (MLA, Machine Learning Algorithm) для поддержки множества рекомендательных сервисов. Следует отметить, что один или несколько алгоритмов MLA рекомендательной системы 180 могут использоваться сервером 112 для формирования набора 614 рекомендуемого цифрового контента.
[00115] В общем случае алгоритмы MLA способны обучаться на обучающих выборках и осуществлять прогнозирование на основе новых данных. Алгоритмы MLA обычно используются для первоначального построения модели на основе обучающих входных данных, чтобы затем на основе данных осуществлять прогнозы или принимать решения, выраженные в виде выходных данных, а не выполнять статические машиночитаемые команды. Алгоритмы могут использоваться в качестве моделей оценивания, моделей ранжирования, моделей классификации и т.п.
[00116] Должно быть понятно, что алгоритмы MLA различных видов с различными архитектурами и/или топологиями могут использоваться для реализации алгоритма MLA в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии. При этом реализация алгоритма MLA сервером 112 может быть разделена на два основных этапа: этап обучения и этап использования. Сначала алгоритм MLA обучается на этапе обучения. Затем, когда алгоритму MLA известно, какие предполагаются входные данные и какие должны выдаваться выходные данные, этот алгоритм MLA выполняется на этапе использования с данными этапа использования.
[00117] В по меньшей мере некоторых вариантах осуществления настоящей технологии сервер 112 может выполнять модель 160 на основе фильтрации CF. В общем случае в способах на основе фильтрации CF используются прошлые взаимодействия между пользователями и элементами цифрового контента, чтобы отфильтровывать менее желательный контент при формировании рекомендаций для пользователей. Тем не менее, способам на основе фильтрации CF обычно присуща ограниченная производительность в случае чрезмерно разреженных взаимодействий пользователь-элемент, что характерно для таких сценариев, как интернет-покупки или для любых других рекомендательных платформ с очень большим набором потенциально рекомендуемых элементов.
[00118] В некоторых вариантах осуществления изобретения модель 160 на основе фильтрации CF может быть реализована в виде модели SVD. В общем случае модель SVD представляет собой модель машинного обучения, используемую для разложения данных с матричной структурой на составляющие элементы. Например, модели SVD используются в качестве инструментальных средств машинного обучения для сокращения объема данных, в моделях линейной регрессии методом наименьших квадратов, при сжатии изображений и т.д. В некоторых вариантах осуществления настоящей технологии модель 160 на основе фильтрации CF может быть реализована в виде нейронной сети (NN, Neural Network), обученной разложению данных с матричной структурой на один или несколько векторов.
[00119] Следует отметить, что возможный способ реализации модели 160 на основе фильтрации CF сервером 112 в некоторых вариантах осуществления настоящей технологии в целом описан в патентной публикации US2018/0075137 «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.05.2018), содержание которой полностью включено в настоящий документ посредством ссылки и в дальнейшем более подробно не обсуждается.
[00120] В по меньшей мере некоторых вариантах осуществления настоящей технологии сервер 112 может выполнять модель 140 на основе деревьев решений. В общем случае модель на основе деревьев решений представляет собой алгоритм машинного обучения, содержащий одно или несколько деревьев решений, используемых для перехода от наблюдений за объектом (представлено в ветвях) к заключениям относительно целевого значения объекта (представлено в листьях). В одном не имеющем ограничительного характера варианте осуществления настоящей технологии модель 140 на основе деревьев решений может быть обучена с использованием способа GB и может содержать деревья регрессии, в которых целевая переменная может принимать непрерывные значения (обычно действительные числа). В этом не имеющем ограничительного характера варианте осуществления изобретения модель 140 на основе деревьев решений может быть реализована в виде модели GBDT. В другом не имеющем ограничительного характера варианте осуществления настоящей технологии модель 140 на основе деревьев решений может быть реализована в соответствии с фреймворком CatBoost.
[00121] Разработчики разработали модель 140 на основе деревьев решений, содержащую множество подмоделей, соответственно связанных с множеством цифровых элементов, доступных для рекомендации в рекомендательной системе 180. В некоторых вариантах осуществления изобретения можно сказать, что множество подмоделей содержит взаимосвязи с цифровыми элементами вида «один с одним» - такие, что подмодель из множества подмоделей способна формировать оценки для соответствующего конкретного цифрового элемента из множества цифровых элементов. Поэтому подмодель из множества подмоделей может называться зависящей от элемента (IS, Item-Specific) моделью на основе деревьев решений. В этих вариантах осуществления изобретения можно сказать, что модель 140 на основе деревьев решений (DT) содержит множество моделей ISDT, способных формировать оценки для соответствующих конкретных цифровых элементов из множества цифровых элементов.
[00122] На фиг. 3 представлена модель 300 машинного обучения. В некоторых вариантах осуществления изобретения модель 140 на основе деревьев решений может быть реализована подобно модели 300 машинного обучения, содержащей множество независимо обученных моделей 310 ISDT (или подмоделей модели 300). Разработчики установили, что благодаря независимому обучению множества моделей 310 ISDT возможно распараллеливание процесса обучения.
[00123] Как показано, множество моделей 310 ISDT содержит первую модель 312 ISDT, вторую модель 314 ISDT, третью модель 316 ISDT, четвертую модель 318 ISDT, пятую модель 320 ISDT, шестую модель 322 ISDT и т.д. Каждая модель из множества моделей 310 ISDT обучается независимо от остальных моделей 310 ISDT. Обучение модели ISDT севером 112 более подробно описано со ссылкой на фиг. 2.
[00124] На этапе использования модель 300 машинного обучения может получать данные 380. Данные 380 могут быть сформированы сервером 112 в ответ на получение запроса 150. Например, данные 380 могут содержать данные о взаимодействиях пользователь-элемент, связанные с пользователем 102, и указание на один или несколько цифровых элементов, которые могут быть рекомендованы пользователю 102.
[00125] Сервер 112 может использовать указания на один или несколько цифровых элементов для определения одной или нескольких соответствующих моделей ISDT из множества моделей 310 ISDT. Сервер 112 может использовать данные о взаимодействиях пользователь-элемент пользователя 102 в качестве входных данных для определенных таким образом одной или нескольких соответствующих моделей ISDT. Сервер 112 может получать от модели 300 машинного обучения данные 390. Данные 390 могут содержать указание на одну или несколько оценок для одного или нескольких цифровых элементов, сформированных одной или несколькими соответствующими моделями ISDT. В некоторых вариантах осуществления настоящей технологии одна или несколько оценок указывают на вероятность взаимодействия пользователя 102 с одним или несколькими соответствующими цифровыми элементами. Предполагается, что вид взаимодействия, вероятность которого должна прогнозировать модель ISDT, может, среди прочего, зависеть от вида данных о взаимодействиях пользователь-элемент, применяемых на этапах обучения и использования.
[00126] Оценки, сформированные моделью 300 машинного обучения, могут использоваться сервером 112 различными способами. В некоторых вариантах осуществления изобретения сервер 112 может ранжировать множество цифровых элементов на основе соответствующих оценок, сформированных моделью 300 машинного обучения.
[00127] В других вариантах осуществления изобретения сервер 112 может использовать модель 160 на основе фильтрации CF с целью формирования предварительного набора цифровых элементов для рекомендации пользователю 102. Например, сервер 112 может использовать модель 160 на основе фильтрации CF для выбора подмножества цифровых элементов из пула потенциально рекомендуемых элементов рекомендательной системы 180. Затем сервер 112 может использовать модель 300 машинного обучения с целью формирования соответствующих оценок для подмножества цифровых элементов. Затем сервер 112 может ранжировать подмножество цифровых элементов на основе соответствующих оценок. В одном примере N цифровых элементов с наибольшим рангом из ранжированного таким образом подмножества цифровых элементов может быть отправлено электронному устройству 104 в качестве рекомендации контента.
[00128] В других вариантах осуществления изобретения сервер 112 может использовать оценки, сформированные моделью 300 машинного обучения, в качестве данных из множества входных данных, связанных с соответствующими цифровыми элементами, для другого алгоритма машинного обучения с целью формирования рекомендации контента. Иными словами, можно сказать, что оценки, сформированные моделью 300 машинного обучения, могут использоваться в качестве признаков для соответствующих цифровых элементов при формировании рекомендации контента для пользователя 102.
База данных
[00129] Сервер 112 связан с базой 120 данных. База 120 данных изображена в виде отдельного от сервера 112 элемента. Тем не менее, предполагается, что база 120 данных может быть реализована в виде неотъемлемой части сервера 112 без выхода за границы настоящей технологии. В качестве альтернативы, функции базы 120 данных могут быть распределены между несколькими физическими устройствами, как описано ниже.
[00130] В общем случае база 120 данных способна хранить данные, сформированные, полученные и/или обработанные сервером 112 для временного и/или постоянного хранения. Например, база 120 данных способна, среди прочего, хранить данные для обучения и использования одного или нескольких алгоритмов MLA рекомендательной системы 180.
[00131] В базе 120 данных хранится информация, связанная с соответствующими элементами рекомендательной системы 180 и далее называемая данными 202 элементов. Данные 202 элементов содержат информацию о соответствующем цифровом контенте, обнаруженном и каталогизированном сервером 112. Например, данные 202 элементов могут содержать цифровой контент соответствующих элементов цифрового контента, потенциально рекомендуемых рекомендательной системой 180.
[00132] На характер потенциально рекомендуемого сервером 112 цифрового контента не накладывается каких-либо особых ограничений. Некоторые примеры потенциально рекомендуемого сервером 112 цифрового контента, среди прочего, включают в себя цифровые элементы, такие как:
- новостная статья;
- публикация;
- веб-страница;
- сообщение на веб-сайте социальных медиа;
- новое приложение для загрузки из магазина приложений;
- новая песня (музыкальная фонограмма) для воспроизведения или загрузки с сетевого ресурса;
- аудиокнига для воспроизведения или загрузки с сетевого ресурса;
- подкаст для воспроизведения или загрузки с сетевого ресурса;
- новый фильм (видеоклип) для воспроизведения или загрузки с сетевого ресурса;
- продукт для приобретения на сетевом ресурсе; и
- новый цифровой элемент, загруженный для просмотра на веб-сайте социальных медиа (такой как новая фотография, загруженная на страницу Instagram™ или Facebook™ ).
[00133] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии данные 202 элементов могут содержать первичные текстовые данные из соответствующих элементов цифрового контента. Это означает, что сервер 112 может анализировать элемент цифрового контента, извлекать (первичный) текстовый контент из этого элемента и сохранять его применительно к этому элементу в качестве части данных 202 элементов.
[00134] В других не имеющих ограничительного характера вариантах осуществления изобретения данные 202 элементов могут содержать информацию об одном или нескольких признаках элемента, связанных с соответствующими элементами цифрового контента. Например, в базе 120 данных могут храниться данные, связанные с соответствующими элементами и указывающие на:
- популярность элемента;
- коэффициент «кликов» для элемента;
- время на «клик», связанное с элементом;
- другие статистические данные, связанные с элементом и т.д.
[00135] В дополнительных вариантах осуществления настоящей технологии база 120 данных может наполняться дополнительной информацией о множестве пользователей рекомендательного сервиса, которая далее называется данными о пользователях. Например, сервер 112 может собирать и сохранять в базе 120 данных данные пользовательских профилей, связанные с соответствующими пользователями рекомендательной системы 180, такие как имя, возраст, пол, выбранные пользователем виды цифрового контента и т.п.Другая информация о множестве пользователей рекомендательного сервиса также может храниться в базе 120 данных в качестве части данных о пользователях без выхода за границы настоящей технологии.
[00136] В некоторых вариантах осуществления настоящей технологии база 120 данных также может хранить информацию о взаимодействиях между элементами цифрового контента и пользователями, которая называется данными о взаимодействиях пользователь-элемент.Например, сервер 112 может отслеживать множество различных взаимодействий пользователь-элемент между пользователями и ранее рекомендованными элементами и собирать соответствующие данные.
[00137] Например, можно предположить, что пользователь взаимодействовал с элементом цифрового контента, представляющим собой цифровой элемент, ранее рекомендованный этому пользователю рекомендательным сервисом. Тогда сервер 112 может отслеживать и собирать данные о взаимодействиях пользователь-элемент этого пользователя с этим цифровым элементом в виде пользовательских событий, происходивших между этим пользователем и этим цифровым элементом. В качестве примеров различных видов пользовательских событий, которые может отслеживать и собирать сервер 112, среди прочего, можно привести следующие:
- пользователь выполнил прокрутку цифрового элемента;
- пользователь оставил положительный отзыв о цифровом элементе;
- пользователь оставил отрицательный отзыв о цифровом элементе;
- пользователь «поделился» цифровым элементом;
- пользователь «кликнул» или «выбрал» цифровой элемент;
- пользователь воспроизвел или прослушал цифровой элемент;
- пользователь затратил некоторое «время взаимодействия» на цифровой элемент; и
- пользователь приобрел, заказал или загрузил цифровой элемент.
[00138] В некоторых вариантах осуществления настоящей технологии сервер 112 может использовать данные о взаимодействиях пользователь-элемент для обучения моделей ISDT. На фиг. 2 представлена матрица 200 взаимодействий пользователь-элемент.Сервер 112 может формировать обучающий набор 250 для модели ISDT из множества моделей 310 ISDT.
[00139] Как описано выше, обучающий набор 250 содержит обучающий целевой набор 260 и обучающий входной набор 270. Для этой модели ISDT данные 240 о взаимодействиях пользователь-элемент для третьего цифрового элемента используются с целью формирования обучающего целевого набора 260. Данные 240 о взаимодействиях пользователь-элемент указывают на взаимодействия пользователь-элемент между множеством 220 пользователей и третьим цифровым элементом. Для этой модели ISDT оставшиеся данные 230 о взаимодействиях пользователь-элемент (все за исключением данных 240 о взаимодействиях пользователь-элемент) используются для формирования обучающего входного набора 270. Данные 240 о взаимодействиях пользователь-элемент указывают на взаимодействия пользователь-элемент между множеством 220 пользователей и подмножеством цифровых элементов. В этом не имеющем ограничительного характера варианте осуществления изобретения подмножество цифровых элементов содержит все цифровые элементы из множества 210 цифровых элементов за исключением третьего цифрового элемента.
[00140] Разработчики настоящей технологии установили, что подмножество цифровых элементов может быть использовано в качестве обучающих признаков для обучения модели ISDT, данные о взаимодействиях пользователь-элемент между подмножеством цифровых элементов и множеством пользователей могут быть использованы в качестве обучающих входных значений для обучающих признаков, а данные о взаимодействиях пользователь-элемент между третьим цифровым элементом и множеством пользователей могут быть использованы в качестве обучающих целевых значений для обучающих признаков. В этом не имеющем ограничительного характера варианте осуществления изобретения количество обучающих признаков в обучающем входном наборе 270 может быть равно количеству цифровых элементов в подмножестве цифровых элементов (уменьшенному на единицу количеству цифровых элементов во множестве 210 цифровых элементов).
[00141] Предполагается, что обучающий набор 250 может быть использован для обучения модели GBDT. В одном варианте осуществления изобретения обучающий набор 250 может быть использован для обучения модели GBDT, а в качестве функции потерь может быть использована среднеквадратическая ошибка. Таким образом, может быть сформировано первое дерево DT, содержащее узлы признаков и узлы листьев. Узлы признаков дерева DT представляют соответствующие обучающие признаки из обучающего набора 250 (т.е. соответствующие элементы из подмножества цифровых элементов), а средние значения градиента ошибки могут располагаться в узлах листьев дерева DT. После формирования таким образом первого дерева DT градиент может быть обновлен, а процесс продолжается путем формирования следующего дерева DT модели ISDT и т.д. В результате формируется множество деревьев решений, образующих модель ISDT.
[00142] В этом не имеющем ограничительного характера варианте осуществления изобретения модель ISDT на этапе использования может получать в качестве входных данных список цифровых элементов, понравившихся текущему пользователю, и предоставлять в качестве выходных данных оценку вероятности того, что этому пользователю также понравится третий цифровой элемент.Предполагается, что матрица 200 взаимодействий пользователь-элемент может быть использована для формирования большого количества моделей ISDT. В этом не имеющем ограничительного характера варианте осуществления изобретения матрица 200 взаимодействий пользователь-элемент может быть использована для формирования моделей ISDT, количество которых равно количеству цифровых элементов во множестве 210 цифровых элементов.
[00143] Подобно тому, как это описано выше применительно к модели ISDT для третьего цифрового элемента, для другого цифрового элемента может быть сформирован другой обучающий набор, в котором данные о взаимодействиях пользователь-элемент для этого другого цифрового элемента используются в качестве другого обучающего целевого набора и другое подмножество цифровых элементов (за исключением другого цифрового элемента) используется в качестве других обучающих признаков. Иными словами, процесс формирования обучающего набора может быть повторен путем выбора различных столбцов матрицы 200 взаимодействий пользователь-элемент, т.е. путем выбора соответствующих цифровых элементов в качестве целевых цифровых элементов для соответствующих моделей ISDT и независимого обучения последних на соответствующих наборах цифровых элементов (за исключением целевых цифровых элементов).
[00144] На фиг. 4 приведено представление 400 модели 345 ISDT. Например, модель 345 ISDT может соответствовать модели ISDT из множества моделей ISDT, образующих модель 318 ISDT. Можно предположить, что модель 318 ISDT сформирована для цифрового элемента музыкальной фонограммы «Voodoo Child» Джими Хендрикса.
[00145] Модель 345 ISDT содержит множество 450 узлов признаков и множество 460 узлов листьев. Каждый узел из множества узлов признаков связан с соответствующим цифровым элементом. Например, первый узел 401 признака (также называется корневым узлом модели 345 ISDT) связан с цифровым элементом музыкальной фонограммы «Refuse/Resist» группы Sepultura. В этом примере второй узел 402 признака и третий узел 403 признака (также называются узлами первого уровня модели 345 ISDT) связаны с цифровыми элементами музыкальных фонограмм «Ratamahatta» группы Sepultura и «Raining Blood» группы Slayer, соответственно. Подобным образом другие узлы признаков модели 345 ISDT связаны с соответствующими цифровыми элементами музыкальных фонограмм, за исключением данного цифрового элемента музыкальной фонограммы, для которой сформирована модель 345 ISDT («Voodoo Child» Джими Хендрикса).
[00146] Можно предположить, что на этапе использования сервер 112 использует модель 300 машинного обучения с целью формирования оценки для цифрового элемента музыкальной фонограммы «Voodoo Child» Джими Хендрикса. Тогда сервер 112 может предоставить данные о взаимодействиях пользователь-элемент, связанные с пользователем 102, модели 300 машинного обучения и указание на цифровой элемент музыкальной фонограммы «Voodoo Child» Джими Хендрикса. Сервер 112 определяет модель 318 ISDT, связанную с цифровым элементом музыкальной фонограммы «Voodoo Child» Джими Хендрикса. Сервер 112 использует множество моделей ISDT, образующих модель 318 ISDT, для формирования оценки. Ниже описано использование модели 345 ISDT в этом примере.
[00147] Сервер 112 может использовать модель 345 ISDT с целью формирования оценки для цифрового элемента музыкальной фонограммы «Voodoo Child» Джими Хендрикса. В корневом узле 401 данные о взаимодействиях пользователь-элемент пользователя 102 используются для определения того, взаимодействовал ли ранее пользователь 102 с цифровым элементом музыкальной фонограммы «Refuse/Resist» группы Sepultura. Затем процесс продолжается в узле первого уровня.
[00148] Можно предположить, что пользователь 102 ранее взаимодействовал с цифровым элементом музыкальной фонограммы «Refuse/Resist» группы Sepultura. В этом случае процесс продолжается в третьем узле 403 признака, связанном с цифровым элементом музыкальной фонограммы «Raining Blood» группы Slayer. В третьем узле 403 признака данные о взаимодействиях пользователь-элемент пользователя 102 используются, чтобы определить, взаимодействовал ли ранее пользователь 102 с цифровым элементом музыкальной фонограммы «Raining Blood» группы Slayer. Можно предположить, что пользователь 102 ранее взаимодействовал с цифровым элементом музыкальной фонограммы «Raining Blood» группы Slayer. Тогда процесс завершается в узле 405 листа, связанном со значением 0,25636.
[00149] Подобно тому, как это описано применительно к модели 345 ISDT, сервер 112 использует множество моделей ISDT, образующих модель 318 ISDT, для формирования соответствующих выходных значений. Затем сервер 112 способен сформировать оценку для цифрового элемента музыкальной фонограммы «Voodoo Child» Джими Хендрикса на основе сочетания выходных значений (включая выходное значение 0,25636 модели 345 ISDT) из множества моделей ISDT, образующих модель 318 ISDT. Следует отметить, что конкретный способ объединения выходных значений для формирования оценки может, среди прочего, зависеть от конкретного способа обучения дерева DT и от конкретных вариантов реализации настоящей технологии.
[00150] В некоторых вариантах осуществления настоящей технологии сервер 112 способен выполнять способ 500, представленный на фиг. 5. Далее описаны различные шаги способа 500.
Шаг 502: получение данных о взаимодействиях пользователь-элемент.
[00151] Способ 500 начинается с шага 502, на котором сервер 112 может получать данные о взаимодействиях пользователь-элемент, указывающие на предыдущие взаимодействия между множеством пользователей и множеством цифровых элементов, доступных для рекомендации множеству пользователей в рекомендательной системе 180.
[00152] Например, сервер 112 может получать данные о взаимодействиях пользователь-элемент из базы 120 данных. Как описано выше, база 120 данных может использоваться для хранения данных о взаимодействиях пользователь-элемент рекомендательной системы 180. В некоторых вариантах осуществления изобретения множество цифровых элементов может содержать цифровые музыкальные элементы. В других вариантах осуществления изобретения множество цифровых элементов может содержать цифровые видеоэлементы. В других вариантах осуществления изобретения множество цифровых элементов может содержать цифровые элементы различных видов, такие как музыка, видео, новости, статьи и т.д.
[00153] В одном варианте осуществления настоящей технологии сервер 112 может получать данные о взаимодействиях пользователь-элемент в матрице 200 взаимодействий пользователь-элемент (см. фиг. 2). Размеры матрицы 200 взаимодействий пользователь-элемент соответствуют количеству пользователей во множестве 220 пользователей и количеству цифровых элементов во множестве 210 цифровых элементов.
[00154] В этом не имеющем ограничительного характера варианте осуществления изобретения цифровые элементы представляют собой песни либо музыку (или фонограммы), которые могут быть рекомендованы музыкальной рекомендательной системой. Матрица 200 взаимодействий пользователь-элемент содержит информацию, указывающую на взаимодействия 230 пользователь-элемент для соответствующих пар пользователь-элемент. В этом не имеющем ограничительного характера варианте осуществления изобретения взаимодействия 230 пользователь-элемент указывают на положительные отзывы (значение «1») пользователей в соответствующих парах пользователь-элемент или на их отсутствие в соответствующих парах пользователь-элемент (значение «0»).
Шаг 504: формирование модели машинного обучения.
[00155] Способ 500 продолжается на шаге 504, на котором сервер 112 может формировать на основе данных о взаимодействиях пользователь-элемент алгоритм 300 машинного обучения для прогнозирования оценок, указывающих на вероятность взаимодействия пользователя из множества пользователей с данным цифровым элементом из множества цифровых элементов.
[00156] Модель 300 машинного обучения содержит множество моделей 310 ISDT. Подмодель ISDT из множества подмоделей 310 ISDT связана с данным цифровым элементом для формирования оценки, указывающей на вероятность взаимодействия пользователя с данным цифровым элементом.
[00157] В процессе обучения модели ISDT данные из матрицы 200 взаимодействий пользователь-элемент используются для формирования обучающего набора 250 для модели ISDT. В этом не имеющем ограничительного характера варианте осуществления изобретения обучающий набор 250 формируется для третьего цифрового элемента Track [3] (Фонограмма [3]) из множества 210 цифровых элементов.
[00158] Обучающий набор 250 содержит обучающий целевой набор 260 и обучающий входной набор 270. Для этой модели ISDT данные 240 о взаимодействиях пользователь-элемент для третьего цифрового элемента используются для формирования обучающего целевого набора 260. Данные 240 о взаимодействиях пользователь-элемент указывают на взаимодействия пользователь-элемент между множеством 220 пользователей и третьим цифровым элементом. Для этой модели ISDT оставшиеся данные 230 о взаимодействиях пользователь-элемент (все за исключением данных 240 о взаимодействиях пользователь-элемент) используются для формирования обучающего входного набора 270. Данные 230 о взаимодействиях пользователь-элемент за исключением данных 240 о взаимодействиях пользователь-элемент указывают на взаимодействия пользователь-элемент между множеством 220 пользователей и подмножеством цифровых элементов. В этом не имеющем ограничительного характера варианте осуществления изобретения подмножество цифровых элементов содержит все цифровые элементы из множества 210 цифровых элементов за исключением третьего цифрового элемента.
[00159] Разработчики настоящей технологии установили, что подмножество цифровых элементов может быть использовано в качестве обучающих признаков для обучения модели ISDT, данные о взаимодействиях пользователь-элемент между подмножеством цифровых элементов и множеством пользователей могут быть использованы в качестве обучающих входных значений для обучающих признаков, а данные о взаимодействиях пользователь-элемент между третьим цифровым элементом и множеством пользователей могут быть использованы в качестве обучающих целевых значений для обучающих признаков. В этом не имеющем ограничительного характера варианте осуществления изобретения количество обучающих признаков в обучающем входном наборе 270 может быть равно количеству цифровых элементов в подмножестве цифровых элементов (уменьшенному на единицу количеству цифровых элементов во множестве 210 цифровых элементов).
[00160] Предполагается, что обучающий набор 250 может быть использован для обучения модели GBDT. В одном варианте осуществления изобретения обучающий набор 250 может быть использован для обучения модели GBDT, а в качестве функции потерь может быть использована среднеквадратическая ошибка. Таким образом, может быть сформировано первое дерево DT, содержащее узлы признаков и узлы листьев. Узлы признаков дерева DT представляют соответствующие обучающие признаки из обучающего набора 250 (т.е. соответствующие элементы из подмножества цифровых элементов), а средние значения градиента ошибки могут располагаться в узлах листьев дерева DT. После формирования таким образом первого дерева DT градиент может быть обновлен, а процесс продолжается путем формирования следующего дерева DT модели ISDT и т.д. В результате формируется множество деревьев решений, образующих модель ISDT.
[00161] Можно сказать, что в некоторых вариантах осуществления изобретения сервер 112 может формировать обучающий набор для подмодели ISDT, содержащий: (а) обучающий целевой набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с данным цифровым элементом, и (б) обучающий входной набор для данного цифрового элемента, содержащий данные о взаимодействиях пользователь-элемент, связанные с подмножеством цифровых элементов из множества цифровых элементов. Подмножество цифровых элементов не содержит цифровой элемент, для которого обучается подмодель ISDT. Подмножество цифровых элементов используется в качестве обучающих признаков при формировании подмодели ISDT таким образом, чтобы предыдущие взаимодействия пользователь-элемент между множеством пользователей и подмножеством цифровых элементов использовались в качестве значений для обучающих признаков.
[00162] Также можно сказать, что подмодель ISDT образует множество деревьев решений, сформированных сервером 112 на основе обучающего набора с использованием способа GB. Дерево из множества деревьев решений содержит узлы признаков, соответствующие обучающим признакам, и узлы листьев, связанные с выходными значениями дерева из множества деревьев решений.
[00163] В этом не имеющем ограничительного характера варианте осуществления изобретения модель ISDT на этапе использования может получать в качестве входных данных список цифровых элементов, понравившихся текущему пользователю, и предоставлять в качестве выходных данных оценку вероятности того, что этому пользователю также понравится третий цифровой элемент.
[00164] Предполагается, что матрица 200 взаимодействий пользователь-элемент может быть использована для формирования большого количества моделей ISDT. В этом не имеющем ограничительного характера варианте осуществления изобретения матрица 200 взаимодействий пользователь-элемент может быть использована для формирования моделей ISDT, количество которых равно количеству цифровых элементов во множестве 210 цифровых элементов.
[00165] Подобно тому, как это описано выше применительно к модели ISDT для третьего цифрового элемента, для другого цифрового элемента может быть сформирован другой обучающий набор, в котором данные о взаимодействиях пользователь-элемент для этого другого цифрового элемента используются в качестве другого обучающего целевого набора и другое подмножество цифровых элементов (за исключением другого цифрового элемента) используется в качестве других обучающих признаков. Иными словами, процесс формирования обучающего набора может быть повторен путем выбора различных столбцов матрицы 200 взаимодействий пользователь-элемент, т.е. путем выбора соответствующих цифровых элементов в качестве соответствующих целевых цифровых элементов для соответствующих моделей ISDT и независимого обучения последних на соответствующих наборах цифровых элементов (за исключением соответствующих целевых цифровых элементов).
[00166] В некоторых вариантах осуществления изобретения сервер 112 может получать запрос 150 рекомендации контента от электронного устройства 104, связанного с пользователем 102 рекомендательной системы 180. Сервер 112 с использованием модели 160 на основе фильтрации CF может, например, формировать предварительный набор цифровых элементов из множества цифровых элементов, которые могут быть рекомендованы пользователю 102. Сервер 112 может использовать модель 300 машинного обучения с целью формирования оценок для соответствующих элементов из предварительного набора цифровых элементов. Сервер 112 может использовать оценки для ранжирования соответствующих элементов из предварительного набора цифровых элементов. Ранжированный предварительный набор цифровых элементов может быть использован с целью формирования рекомендации контента для пользователя 102. Например, N цифровых элементов с наибольшим рангом из ранжированного предварительного набора цифровых элементов могут быть выбраны в качестве части рекомендации контента. Сервер 112 может отправить электронному устройству 104 ответ 152 для рекомендации контента, содержащей по меньшей мере один элемент из ранжированного предварительного набора цифровых элементов.
[00167] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторых из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо когда технический эффект отсутствует.
[00168] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).
[00169] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.
[00170]
Изобретение относится к способу и серверу формирования цифрового контента. Технический результат заключается в повышении эффективности формирования цифрового контента. Способ включает в себя получение сервером запроса рекомендации контента от электронного устройства, при этом пользователь связан с данными о взаимодействиях пользователь-элемент, указывающими предыдущие взаимодействия данного пользователя и других пользователей с множеством цифровых элементов, доступных для рекомендации в рекомендательной системе; формирование сервером, с помощью обученной модели зависящих от элементов деревьев решений (ISDT), оценок вероятности взаимодействия данного пользователя с одним или более цифровыми элементами из множества цифровых элементов, при этом для формирования оценки для определенного цифрового элемента в упомянутой модели используется определенный набор ISDT, связанный с таким цифровым элементом и обученный независимо от остальных наборов ISDT, содержащихся в упомянутой модели и связанных с другими цифровыми элементами, при этом в качестве обучающих данных для упомянутого определенного набора ISDT используют следующие данные из упомянутых данных (240) о взаимодействиях пользователь-элемент: обучающий целевой набор для упомянутого определенного цифрового элемента, содержащий данные о взаимодействиях пользователей с данным определенным цифровым элементом; обучающий входной набор для упомянутого определенного цифрового элемента, содержащий данные о взаимодействиях пользователей с другими цифровыми элементами из упомянутого множества цифровых элементов, при этом данные о взаимодействиях других пользователей с подмножеством других цифровых элементов из упомянутого множества цифровых элементов используются в качестве обучающих признаков для упомянутого определенного набора ISDT, отправку электронному устройству ответа с указаниями в качестве рекомендации тех цифровых элементов из упомянутого одного или более цифровых элементов, с которыми сформированные оценки указывают наибольшую вероятность взаимодействия данного пользователя. 2 н. и 7 з.п. ф-лы, 6 ил.
1. Способ формирования цифрового контента, выполняемый сервером, при этом пользователь связан с электронным устройством, соединенным с сервером через сеть связи, а способ выполняется сервером и включает в себя:
- получение сервером запроса (150) рекомендации контента от электронного устройства, при этом пользователь связан с данными (240) о взаимодействиях пользователь-элемент, указывающими предыдущие взаимодействия данного пользователя и других пользователей с множеством цифровых элементов, доступных для рекомендации в рекомендательной системе;
- формирование сервером, с помощью обученной модели зависящих от элементов деревьев решений (ISDT), оценок вероятности взаимодействия данного пользователя с одним или более цифровыми элементами из множества цифровых элементов,
при этом для формирования оценки для определенного цифрового элемента в упомянутой модели используется определенный набор ISDT, связанный с таким цифровым элементом и обученный независимо от остальных наборов ISDT, содержащихся в упомянутой модели и связанных с другими цифровыми элементами,
при этом в качестве обучающих данных для упомянутого определенного набора ISDT используют следующие данные из упомянутых данных (240) о взаимодействиях пользователь-элемент:
обучающий целевой набор (260) для упомянутого определенного цифрового элемента, содержащий данные о взаимодействиях пользователей с данным определенным цифровым элементом; обучающий входной набор (270) для упомянутого определенного цифрового элемента, содержащий данные о взаимодействиях пользователей с другими цифровыми элементами из упомянутого множества цифровых элементов, при этом данные о взаимодействиях других пользователей с подмножеством других цифровых элементов из упомянутого множества цифровых элементов используются в качестве обучающих признаков для упомянутого определенного набора ISDT,
- отправку электронному устройству ответа (152) с указаниями в качестве рекомендации тех цифровых элементов из упомянутого одного или более цифровых элементов, с которыми сформированные оценки указывают наибольшую вероятность взаимодействия данного пользователя.
2. Способ по п. 1, в котором один или более цифровых элементов, для которых формируют оценки моделью ISDT, предварительно подбирают из множества цифровых элементов на основе данных (240) о взаимодействиях пользователь-элемент, применяя способ совместной фильтрации (CF).
3. Способ по п. 1, дополнительно содержащий ранжирование цифровых элементов, для которых моделью ISDT сформированы оценки, на основе сформированных оценок для определения тех цифровых элементов, указания которых следует включить в ответ (152).
4. Способ по п. 1, в котором множество цифровых элементов содержит цифровые музыкальные элементы, цифровые видеоэлементы, цифровые изображения или цифровые текстовые элементы или их комбинацию.
5. Способ по п. 1, в котором формирование каждого набора ISDT, имеющегося в модели ISDT, включает в себя независимое выполнение сервером алгоритма градиентного бустинга (GB).
6. Способ по п. 1, в котором дерево решений из набора ISDT содержит узлы признаков, соответствующие обучающим признакам, и узлы листьев, связанные с выходными значениями данного дерева решений.
7. Способ по п. 1, в котором запрос (150) сформирован в ответ на явное или неявное указание пользователем желания получить рекомендацию относительно цифрового контента.
8. Способ по п. 1, в котором в качестве функции потерь для обучения модели ISDT используется среднеквадратическая ошибка.
9. Сервер для формирования цифрового контента, выполненный с возможностью реализации способа по любому из пп. 1-8.
Авторы
Даты
2024-10-09—Публикация
2022-07-05—Подача