RU2731659C2 - Method and apparatus for training machine learning algorithm (mla) for creating content recommendations in a recommendation system and a method and apparatus for creating recommended content using a machine learning algorithm - Google Patents
Method and apparatus for training machine learning algorithm (mla) for creating content recommendations in a recommendation system and a method and apparatus for creating recommended content using a machine learning algorithm Download PDFInfo
- Publication number
- RU2731659C2 RU2731659C2 RU2016136414A RU2016136414A RU2731659C2 RU 2731659 C2 RU2731659 C2 RU 2731659C2 RU 2016136414 A RU2016136414 A RU 2016136414A RU 2016136414 A RU2016136414 A RU 2016136414A RU 2731659 C2 RU2731659 C2 RU 2731659C2
- Authority
- RU
- Russia
- Prior art keywords
- user
- matrix
- item
- elements
- vectors
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
[001] Настоящая технология относится к системам рекомендаций в целом и, конкретнее к способу и устройству для обучения алгоритма машинного обучения (mla) по созданию рекомендаций содержимого в системе рекомендаций и способу и устройству для создания рекомендуемого содержимого с помощью алгоритма машинного обучения.[001] The present technology relates to recommendation systems in general, and more specifically to a method and apparatus for training a machine learning algorithm (mla) for generating content recommendations in a recommendation system and a method and apparatus for generating recommended content using a machine learning algorithm.
УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY
[002] Различные глобальные или локальные сети связи (интернет, всемирная паутина, локальные сети и подобные им) предлагают пользователю большой объем информации. Информация включает в себя контекстуальные разделы, такие как, среди прочего, новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о траффике, игры и информация развлекательного характера. Пользователи используют множество клиентских устройств (настольный компьютер, портативный компьютер, ноутбук, смартфон, планшеты и подобные им) для получения доступа к богатому информационному контенту (например, изображениям, аудио- и видеофайлам, анимированным изображениям и прочему мультимедийному контенту подобных сетей).[002] Various global or local communication networks (Internet, World Wide Web, local area networks and the like) offer the user a large amount of information. Information includes contextual sections such as, but not limited to, news and current events, maps, company information, financial information and resources, traffic information, games, and entertainment information. Users use a variety of client devices (desktop, laptop, laptop, smartphone, tablets, and the like) to access rich information content (for example, images, audio and video files, animated images and other multimedia content of similar networks).
[003] Объем доступной информации на различных интернет-ресурсах экспоненциально вырос за последние несколько лет. Были разработаны различные решения, которые позволяют обычному пользователю находить информацию, которую он(а) ищет. Примером такого решения является поисковая система. Примеры поисковых систем включают в себя такие поисковые системы как GOOGLE™, YANDEX™, YAHOO!™ и другие. Пользователь может получить доступ к интерфейсу поисковой системы и подтвердить поисковый запрос, связанный с информацией, которую пользователь хочет найти в Интернете. В ответ на поисковый запрос поисковые системы предоставляют ранжированный список результатов поиска. Ранжированный список результатов поиска создается на основе различных алгоритмов ранжирования, которые реализованы в конкретной поисковой системе, и которые используются пользователем, производящим поиск. Общей целью таких алгоритмов ранжирования является представление наиболее релевантных результатов вверху ранжированного списка, а менее релевантных результатов - на менее высоких позициях ранжированного списка результатов поиска (а наименее релевантные результаты поиска будут расположены внизу ранжированного списка результатов поиска).[003] The amount of information available on various Internet resources has grown exponentially over the past few years. Various solutions have been developed that allow the common user to find the information he / she is looking for. An example of such a solution is a search engine. Examples of search engines include search engines such as GOOGLE ™, YANDEX ™, YAHOO! ™ and others. The user can access the search engine interface and confirm the search query related to the information the user wants to find on the Internet. In response to a search query, search engines provide a ranked list of search results. A ranked list of search results is generated based on various ranking algorithms that are implemented in a particular search engine and that are used by the user searching. The overall goal of such ranking algorithms is to present the most relevant results at the top of the ranked list, and the less relevant results at the lower positions in the ranked list of search results (and the least relevant search results will appear at the bottom of the ranked list of search results).
[004] Поисковые системы обычно являются хорошим поисковым инструментом в том случае, когда пользователю заранее известно, что именно он(а) хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. поисковая тема известна), пользователь может ввести поисковый запрос: «Наиболее популярные места в Испании». Поисковая система предоставит ранжированный список интернет-ресурсов, которые потенциально являются релевантными по отношению к поисковому запросу. Пользователь далее может просматривать ранжированный список результатов поиска для того, чтобы получить информацию, в которой он заинтересован, в данном случае - о посещаемых местах в Испании. Если пользователь по какой-либо причине не удовлетворен представленными результатами, пользователь может произвести вторичный поиск, уточнив запрос, например «наиболее популярные места в Испании летом», «наиболее популярные места на юге Испании», «Наиболее популярные места в Испании для романтичного отдыха».[004] Search engines are usually a good search tool when the user knows in advance what he (s) wants to find. In other words, if the user is interested in getting information about the most popular places in Italy (ie the search topic is known), the user can enter a search query: "Most popular places in Spain". The search engine will provide a ranked list of Internet resources that are potentially relevant to the search query. The user can then browse the ranked list of search results in order to obtain information in which he is interested, in this case, about the places visited in Spain. If the user is not satisfied with the presented results for any reason, the user can perform a secondary search by specifying the query, for example, "the most popular places in Spain in summer", "the most popular places in the south of Spain", "The most popular places in Spain for a romantic getaway" ...
[005] Существует и другой подход, в котором пользователю предоставляется возможность обнаруживать содержимое и, конкретнее, позволяется отображать и/или рекомендовать содержимое, в поиске которого пользователь не был явно заинтересован. В некоторым смысле, подобные системы рекомендуют пользователю содержимое без отдельного поискового запроса, на основе явных или неявных интересов пользователя.[005] There is another approach in which the user is allowed to discover the content and, more specifically, is allowed to display and / or recommend content that the user was not explicitly interested in searching for. In a sense, such systems recommend content to the user without a separate search query, based on the user's explicit or implicit interests.
[006] Примерами таких систем являются система рекомендаций FLIPBOARD™, которая агрегирует и рекомендует содержимое из различных социальных сетей. Система рекомендаций FLIPBOARD предоставляет содержимое в «журнальном формате», где пользователь может «пролистывать» страницы с рекомендуемым/агрегированным содержимым. Системы рекомендаций собирают содержимое из социальных медиа и других веб-сайтах, представляет его в журнальном формате, и позволяют пользователям «пролистывать» ленты социальных новостей и ленты веб-сайтов, которые поддерживают партнерские отношения с компанией, что позволяет эффективно «рекомендовать» содержимое пользователю, даже если пользователь явно не выражал свой интерес в конкретном содержимом.[006] Examples of such systems are the FLIPBOARD ™ recommendation system, which aggregates and recommends content from various social networks. The FLIPBOARD recommendation system provides content in a "journal format" where the user can "flip" through pages of recommended / aggregated content. Recommender systems collect content from social media and other websites, present it in a magazine format, and allow users to “flip through” social news feeds and web site feeds that partner with a company to effectively “recommend” the content to the user. even if the user has not explicitly expressed their interest in the particular content.
[007] Другим примером системы рекомендаций является система Яндекс.Дзэн™. Система рекомендаций Яндекс.Дзэн™ рекомендует цифровое содержимое (например, статьи, новости и видео в персонализированной ленте на начальном экране Яндекс.Браузера). Когда пользователь просматривает содержимое, рекомендованное сервером Яндекс.Дзэн, сервер получает явную (спросив пользователя о том, хочет ли он(а) видеть больше подобного содержимого в своей ленте) или неявную (путем наблюдения за взаимодействием пользователя с содержимым) обратную связь. С помощью обратной связи с пользователем, сервер Яндекс.Дзэн постоянно улучшает рекомендации содержимого, которые предоставляются данному пользователю.[007] Another example of a recommendation system is the Yandex.Zen ™ system. The Yandex.Zen ™ recommendation system recommends digital content (for example, articles, news, and videos in a personalized feed on the Yandex Browser home screen). When a user views content recommended by the Yandex.Zen server, the server receives explicit (by asking the user if he (s) wants to see more similar content in his feed) or implicit (by observing the user's interaction with the content) feedback. With the help of user feedback, the Yandex.Zen server constantly improves the content recommendations that are provided to this user.
[008] Для создания ранжированных результатов поиска в поисковой системе или списка рекомендуемых ресурсов в обычной системе рекомендаций, соответствующие системы используют алгоритмы машинного обучения для выбора результатов поиска и/или рекомендаций содержимого. Существуют различные алгоритмы машинного обучения, известные в данной области техники, и использующиеся в поисковых системах и системах рекомендаций. Как известно, обычные алгоритмы машинного обучения сначала «обучаются» с помощью обучающей выборки (которая является помеченной или не помеченной) для создания формулы алгоритма машинного обучения, которая далее применяется для определения во время работы выходных данных на основе входных данных системы.[008] To generate ranked search results in a search engine or a list of recommended resources in a conventional recommendation system, the respective systems use machine learning algorithms to select search results and / or content recommendations. There are various machine learning algorithms known in the art and used in search engines and recommendation engines. As you know, conventional machine learning algorithms are first "trained" using a training set (which is flagged or unlabeled) to create a machine learning algorithm formula, which is then used to determine at runtime the output based on the system input.
[009] В обычной системе рекомендаций, алгоритм машинного обучения системы рекомендаций выбирает набор потенциальных рекомендуемых элементов из набора потенциальных ресурсов для рекомендуемых элементов (для конкретного пользователя). Обычно, алгоритм машинного обучения, который связан с подобной системой рекомендаций, получает (в течение некоторого времени) знания о различных потенциальных ресурсах элементов содержимого, предыдущие взаимодействия пользователя с различными потенциальными ресурсами элементов содержимого (а также созданные рекомендации), и использует это знание для создания рекомендации для конкретного пользователя системы рекомендаций.[009] In a typical recommendation system, the recommendation system machine learning algorithm selects a set of potential recommended items from a set of potential resources for recommended items (for a specific user). Typically, a machine learning algorithm that is associated with such a recommendation system acquires (over time) knowledge of the various potential content item resources, the user's previous interactions with the various potential content item resources (as well as generated recommendations), and uses this knowledge to create recommendations for a specific user of the recommendation system.
[0010] Одним из алгоритмов, которые используются для создания рекомендаций содержимого, является совместная фильтрация. Совместная фильтрация основывается на оценках релевантности, которые вычисляются на основе предыдущих взаимодействий множества пользователей с множеством цифровых элементов. Эти взаимодействия могут быть связаны с явной или неявной пользовательской обратной связью, которая используется для создания данной оценки релевантности для данного взаимодействия данного пользователя с данным цифровым элементом.[0010] One of the algorithms that are used to generate content recommendations is collaborative filtering. Collaborative filtering is based on relevance scores, which are calculated based on previous interactions of many users with many digital items. These interactions can be associated with explicit or implicit user feedback that is used to generate a given relevance score for a given user interaction with a given digital item.
[0011] Для создания систем рекомендации, набор данных с оценками релевантности, который связан с различными потенциально рекомендуемыми цифровыми элементами, используется как матрица для обработки. Эта матрица обычно является небольшой (т.е. не с каждым цифровым элементом происходило взаимодействие достаточного количества пользователей, и не каждый пользователь взаимодействовал с каждым потенциально рекомендуемым цифровым элементом). Обычный традиционный подход включает в себя разложение матрицы для заполнения отсутствующих оценок релевантности.[0011] To create recommendation systems, a relevance score dataset that is associated with various potentially recommended numeric items is used as a matrix for processing. This matrix is usually small (i.e. not every digital item has been interacted with by enough users, and not every user has interacted with every potentially recommended digital item). The usual traditional approach involves matrix decomposition to fill in missing relevance scores.
[0012] В линейной алгебре, разложение матрицы может выполняться с помощью Сингулярного разложения (или, для краткости, SVD). В соответствии с алгоритмом SVD, любая матрица может быть представлена как разложение по формуле:[0012] In linear algebra, matrix decomposition can be performed using Singular Value Decomposition (or SVD for short). In accordance with the SVD algorithm, any matrix can be represented as an expansion according to the formula:
[0013] В результате применения алгоритма сингулярного разложения, обычная матрица оценок релевантности (которые основаны на взаимодействиях пользователь-цифровой элемент) может быть разделена на матрицу пользователей и матрицу цифровых элементов.[0013] As a result of the singular value decomposition algorithm, a conventional matrix of relevance scores (which are based on user-digital item interactions) can be divided into a user matrix and a digital item matrix.
[0014] При создании системы рекомендаций обычно используется приблизительное разложение матрицы. Есть два обычных подхода к выполнению приблизительного разложения матрицы: градиентный спуск и чередующиеся наименьшие квадраты (ALS). Следовательно, подход ALS позволяет учитывать как явную так и неявную обратную связь для систем рекомендаций.[0014] When creating a recommendation system, an approximate matrix decomposition is usually used. There are two common approaches to performing approximate matrix decomposition: gradient descent and alternating least squares (ALS). Therefore, the ALS approach allows for both explicit and implicit feedback for recommendation systems.
[0015] В широком смысле, подход ALS может быть представлен следующим образом. Матрица оценок релевантности ® представлена как R≈UV+T. В соответствии с обычным подходом ALS, значения начальных матриц U и V выбираются случайным образом и заполняются нулями. Подход ALS далее состоит из двух этапов: этап U фиксирует V и настраивает U, этап V фиксирует U и настраивает V. После каждой итерации, разложение U и V приближается к R.[0015] Broadly speaking, the ALS approach can be represented as follows. The relevance score matrix ® is presented as R≈UV + T. Following the usual ALS approach, the values of the initial matrices U and V are randomly selected and filled with zeros. The ALS approach further consists of two stages: stage U fixes V and tunes U, stage V fixes U and tunes V. After each iteration, the decomposition of U and V approaches R.
[0016] Патентная заявка US 2015/0052003 описывает способ предоставления персонализированных рекомендаций содержимого с помощью масштабируемого разложения матрицы со случайностью. Другие варианты осуществления соответствующих систем и способов также описываются.[0016] US Patent Application 2015/0052003 describes a method for providing personalized content recommendations using scalable random matrix decomposition. Other embodiments of related systems and methods are also described.
[0017] Патентная заявка US 8,983,888 описывает способ эффективного разложения матрицы в системе рекомендаций. Данные использования для большого набора пользователей, относящиеся к набору элементов, предоставляются в матрице R. Для снижения вычислительных мощностей, матрица использования дискретизируется для представления приведенной матрицы R'. R' разлагают на матрицу U' пользователей и матрицу V элементов. Векторы пользователей в U' и V устанавливаются в начальное состояние, а затем с помощью итераций обновляются, чтобы подойти к оптимальному решению. Приведенная матрица может быть разложена с помощью вычислительных ресурсов, например, одного компьютерного устройства. Следовательно, полная матрица U пользователей образуется путем фиксирования V и аналитической минимизации ошибки в уравнении UV=R+ошибка. Вычисления этого аналитического решения могут быть распределены среди набора вычислительных устройств, например, с помощью техники map-and-reduce (фреймворк компании Google, используемый для параллельных вычислений над очень большими наборами данных в компьютерных кластерах). Каждое вычислительное устройство решает уравнение для различных соответствующих подмножеств пользователей.[0017] Patent Application US 8,983,888 describes a method for efficiently decomposing a matrix in a recommendation system. Usage data for a large set of users pertaining to a set of elements is provided in the R matrix. To reduce computational power, the usage matrix is sampled to represent the reduced matrix R '. R 'is decomposed into a user matrix U' and a V element matrix. The user vectors in U 'and V are initialized and then iterated over to arrive at an optimal solution. The reduced matrix can be decomposed using computational resources, for example, one computer device. Therefore, the full user matrix U is formed by fixing V and analytically minimizing the error in the equation UV = R + error. The computations of this analytical solution can be distributed among a set of computing devices, for example, using the map-and-reduce technique (Google's framework used for parallel computing on very large datasets in computer clusters). Each computing device solves the equation for different respective subsets of users.
[0018] Патентная заявка US 8,676,736 описывает систему и способ предоставления персонализированных рекомендуемых элементов в системе передачи данных, которая включает в себя сервер и множество клиентских устройств. На сервере, множество векторов рейтинга пользователей получают от множества клиентских устройств и агрегируют в матрицу рейтинга, которая затем будет разложена на матрицу характеристик пользователей и матрицу характеристик элементов, и получившиеся матрицы характеристик пользователей и характеристик элементов аппроксимируют матрицу рейтинга пользователей. Разложение включает в себя этапы алгоритмов ALS1 или IALS2, включая: инициализацию матрицы характеристик пользователей и матрицы характеристик элементов с заранее определенными начальными значениями; альтернативную оптимизацию матрицы характеристик пользователей и матрицы характеристик элементов до тех пор пока не будет достигнуто финальное состояние. Матрица характеристик элементов передается от сервера по меньшей мере одному клиентскому устройству, и вектор прогнозируемого действия создается как продукт соответствующего вектора характеристики пользователей и матрицы характеристик элементов. По меньшей мере один элемент выбирается для рекомендации пользователю среди элементов, связанных с прогнозируемым вектором рейтинга.[0018] Patent application US 8,676,736 describes a system and method for providing personalized featured items in a communication system that includes a server and a plurality of client devices. On the server, a plurality of user rating vectors are obtained from a plurality of client devices and are aggregated into a rating matrix, which will then be decomposed into a user characteristics matrix and an item characteristics matrix, and the resulting user characteristics and item characteristics matrices approximate the user rating matrix. The decomposition includes the steps of the ALS1 or IALS2 algorithms, including: initializing the user characteristics matrix and the element characteristics matrix with predetermined initial values; alternative optimization of the user characteristics matrix and the element characteristics matrix until the final state is reached. The element characteristics matrix is transmitted from the server to at least one client device, and the predicted action vector is created as a product of the corresponding user characteristics vector and the element characteristics matrix. At least one element is selected for recommendation to the user among the elements associated with the predicted rating vector.
[0019] Статья, озаглавленная "Fast ALS-based Matrix Factorization for Explicit and Implicit Frrdback Datasets" («Быстрое разложение матрицы на основе чередования наименьших квадратов для явных и неявных наборов данных об обратной связи») под авторством Пилжи и пр., представленная на конференции RecSys 26-30 сентября 2010 года (Барселона, Испания) описывает алгоритм ALS как алгоритм разложения для явной и неявной обратной связи на основе систем рекомендаций.[0019] An article entitled “Fast ALS-based Matrix Factorization for Explicit and Implicit Frrdback Datasets” by Pilgie et al. The RecSys conference September 26-30, 2010 (Barcelona, Spain) describes the ALS algorithm as an decomposition algorithm for explicit and implicit feedback based on recommendation systems.
РАСКРЫТИЕ ТЕХНОЛОГИИDISCOVERY TECHNOLOGY
[0020] Задачей предлагаемой технологии является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники. Варианты осуществления настоящей технологии могут предоставлять и/или расширять границы настоящих подходов и/или способы достижения целей и задач настоящей технологии.[0020] the Objective of the proposed technology is to eliminate at least some of the disadvantages inherent in the prior art. Embodiments of the present technology can provide and / or expand the boundaries of the present approaches and / or methods of achieving the goals and objectives of the present technology.
[0021] Варианты осуществления настоящей технологии были разработаны на предположении изобретателей о том, что алгоритмы машинного обучения (или специальные алгоритмы, используемые для обучения алгоритмов машинного обучения), используемые для выбора рекомендаций содержимого, могут потреблять очень много вычислительных ресурсов компьютера. Не ограничиваясь какой-либо конкретной теорией, разработчики настоящей технологии верят, что случайный выбор изначальных матриц для результатов аппроксимации чередования наименьших квадратов (ALS-аппроксимации) в общем процессе является операцией, которая занимает много времени и вычислительных ресурсов. То же самое применимо к начальному варианту с нулями для начальных матриц при ALS-аппроксимации.[0021] Embodiments of the present technology were developed on the assumption of the inventors that machine learning algorithms (or special algorithms used to train machine learning algorithms) used to select content recommendations can consume a lot of computer computing resources. Without being limited to any particular theory, the developers of the present technology believe that randomly selecting the initial matrices for the alternation least squares (ALS) approximation results in the overall process is a time-consuming and computationally intensive operation. The same applies to the initial variant with zeros for the initial matrices in the ALS fit.
[0022] В широком смысле, варианты осуществления настоящей технологии нацелены на оптимизацию ALS-аппроксимации разложения матрицы для системы рекомендаций. Конкретнее, варианты осуществления настоящей технологии были разработаны на основе оценки разработчиков о том, что когда используется ALS-алгоритм, изначальная матрица элементов может быть заполнена с помощью векторов элементов, которые, по меньшей мере частично, представляют фактические цифровые элементы и представляют собой по меньшей мере аппроксимацию до набора латентных факторов цифровых элементов. Технический эффект по меньшей мере некоторых вариантов осуществления настоящей технологии заключается в том, что алгоритм чередования наименьших квадратов потребует меньшего числа итераций для приблизительного разложения. В некоторых вариантах осуществления настоящей технологии, технический эффект может заключаться в том, что для выполнения приблизительного разложения потребуется меньше времени. В некоторых других вариантах осуществления настоящей технологии, технический эффект может заключаться в том, что для выполнения приблизительного разложения потребуется меньше вычислительной мощности. Иными словами, технический результат заключается в оптимизации процесса обучения алгоритма машинного обучения посредством ускорения матричного разложения и снижения требуемой вычислительной мощности.[0022] Broadly, embodiments of the present technology aim to optimize the ALS approximation of the matrix decomposition for the recommendation system. More specifically, embodiments of the present technology have been developed based on the developer's judgment that when the ALS algorithm is used, the original element matrix can be populated with element vectors that at least partially represent actual digital elements and are at least approximation to a set of latent factors of digital elements. The technical effect of at least some embodiments of the present technology is that the least squares interleaving algorithm requires fewer iterations for approximate decomposition. In some embodiments of the present technology, the technical effect may be that the approximate decomposition takes less time to complete. In some other embodiments of the present technology, the technical effect may be that less processing power is required to perform the approximate decomposition. In other words, the technical result is to optimize the learning process of the machine learning algorithm by accelerating the matrix decomposition and reducing the required computing power.
[0023] В широком смысле, сервер (например, сервер системы рекомендаций) сначала получает журнал взаимодействий пользователей со множеством цифровых элементов. В некоторых вариантах осуществления настоящей технологии, множество цифровых элементов может быть текстовым, например, статьи, книги, другие тексты и так далее. Журналы содержат указания на взаимодействия пользователей со множеством цифровых элементов (или, точнее, указание на то, что некоторые пользователи взаимодействовали с соответствующими цифровыми элементами, а также на природу их взаимодействия). В некоторых вариантах осуществления настоящей технологии, взаимодействие может включать в себя явную обратную связь от пользователя в отношении цифрового элемента (например, «лайк»), в других вариантах осуществления настоящей технологии взаимодействие может не содержать явную обратную связь от пользователя. Тем не менее, взаимодействие пользователя может содержать неявную обратную связь от пользователя (например, количество времени, которое провел пользователь, взаимодействуя с цифровым содержимым, число «репостов» цифрового элемента пользователем, число комментариев, которые оставил пользователь в связи с цифровым элементом и так далее).[0023] In a broad sense, a server (eg, a recommendation system server) first obtains a history of user interactions with multiple digital items. In some embodiments of the present technology, the plurality of digital elements may be textual, such as articles, books, other texts, and so on. Logs provide indications of user interactions with multiple digital elements (or, more accurately, an indication that some users interacted with relevant digital elements, as well as the nature of their interactions). In some embodiments of the present technology, the interaction may include explicit user feedback regarding a digital item (eg, "like"); in other embodiments of the present technology, the interaction may not include explicit user feedback. However, user interaction can contain implicit user feedback (for example, the amount of time the user spent interacting with the digital content, the number of “reposts” of the digital item by the user, the number of comments the user left in relation to the digital item, and so on. ).
[0024] Сервер далее преобразует указание на взаимодействия пользователей в матрицу оценок релевантности пользователь-элемент. Оценки релевантности пользователь-элемент могут быть созданы на основе указания на множество пользователей и конкретный цифровой элемент. Тип взаимодействия пользователя никак не ограничивается и может представлять собой (без установления ограничений): время, проведенное во взаимодействии с цифровым элементом, загрузку цифрового элемента, репост цифрового элемента, добавление в закладки цифрового элемента, оставление комментария, связанного с цифровым элементом, оставление «лайка» цифровому элементу и обновление цифрового элемента. На основе указания на взаимодействия пользователей, сервер определяет, насколько релевантен данный цифровой источник для данного пользователя (данный пользователь обладает данным профилем пользователя).[0024] The server further converts the indication of user interactions into a user-item relevance score matrix. User-to-item relevance scores can be generated based on an indication of multiple users and a specific digital item. The type of user interaction is not limited in any way and can be (without setting restrictions): time spent interacting with a digital element, uploading a digital element, reposting a digital element, adding a digital element to bookmarks, leaving a comment related to a digital element, leaving a "like" »The digital element and updating the digital element. Based on the indication of user interactions, the server determines how relevant a given digital source is for a given user (this user has this user profile).
[0025] Сервер далее выполняет разложение матрицы оценок релевантности пользователь-элемент. Конкретнее, сервер может использовать алгоритм сингулярного разложения (SVD) - для разделения матрицы оценок релевантности пользователь-элемент на матрицу пользователей и матрицу элементов. Варианты осуществления настоящей технологии выполняют алгоритм ALS для разложения матрицы оценок релевантности пользователь-элемент. В соответствии с вариантами осуществления настоящей технологии, во время инициализации первичных матриц для алгоритма ALS, первоначальная матрица элементов заполняется векторами элементов, которые представляют фактические цифровые элементы. В тех вариантах осуществления технологии, где цифровые элементы являются текстовыми, векторы элементов представляют собой текст текстовых цифровых элементов.[0025] The server then performs decomposition of the user-item relevance score matrix. More specifically, the server can use a singular value decomposition (SVD) algorithm to split the user-to-item relevance score matrix into a user-item matrix and an item-matrix. Embodiments of the present technology perform an ALS algorithm to decompose a matrix of user-item relevance scores. In accordance with embodiments of the present technology, during the initialization of the primary matrices for the ALS algorithm, the initial matrix of elements is populated with element vectors that represent the actual digital elements. In those embodiments of the technology where the digital elements are textual, the element vectors are text of the textual digital elements.
[0026] Векторы элементов текстовых цифровых элементов могут быть созданы с помощью способов встраивания слов. Тип способа встраивания слов никак не ограничен, и некоторые примеры могут включать в себя, без установки ограничений: алгоритмы word2vec или латентное размещение Дирихле (LDA). В общем случае, выбранный один или несколько алгоритмов встраивания слов выполнены с возможностью создавать вектор элементов таким образом, что векторы элементов цифровых элементов, которые обладают похожими текстами, являются по сути похожими. Другими словами, выбранный один или несколько алгоритмов встраивания слов обеспечивают сопоставление похожих текстовых цифровых элементов в похожих векторах элементов (т.е. векторы элементов, которые близки друг к другу в многомерном пространстве, которое используется для сопоставления цифровых документов и векторов элементов).[0026] The element vectors of text numeric elements can be created using word embedding techniques. The type of word embedding is not limited in any way, and some examples may include, but are not limited to, word2vec algorithms or Latent Dirichlet Allocation (LDA). In general, the selected one or more word embedding algorithms are configured to create a vector of elements in such a way that the vectors of elements of digital elements that have similar texts are essentially similar. In other words, the selected one or more word embedding algorithms provide matching of similar text numeric elements in similar element vectors (i.e., element vectors that are close to each other in the multidimensional space that is used to match digital documents and element vectors).
[0027] Инициализация матрицы пользователей с векторами пользователей может выполняться обычным образом, т.е. с помощью случайных значений для начальных векторов пользователей, с помощью нулей в качестве начальных векторов пользователей и так далее.[0027] The initialization of the user matrix with user vectors can be performed in the usual manner, i. E. using random values for the initial user vectors, using zeros as the user initial vectors, and so on.
[0028] Сервер далее с итерациями оптимизирует матрицу пользователей и матрицу элементов. После оптимизации, сервер сохраняет оптимизированную матрицу элементов.[0028] the Server then iterates over the user matrix and the element matrix. After optimization, the server saves the optimized matrix of elements.
[0029] Одним объектом настоящей технологии является способ обучения алгоритма машинного обучения выбору рекомендуемого содержимого для пользователя электронного устройства, способ выполняется на сервере рекомендаций, доступном электронному устройству через сеть интернет, сервер рекомендаций выполняет алгоритм машинного обучения после обучения. Способ включает в себя: получение указания на множество взаимодействий пользователь-элемент, каждое взаимодействие связано с пользователем и цифровым элементом; на основе множества взаимодействий пользователь-элемент, создание матрицы оценок релевантности пользователь-элемент; разложение матрицы оценок релевантности пользователь-элемент на матрицу пользователей и матрицу элементов, причем разложение включает в себя: инициализацию матрицы элементов с помощью векторов элементов, векторы элементов были созданы таким образом, что цифровые элементы с похожим содержимым обладают похожими векторами элементов, инициализацию матрицы пользователей с помощью векторов пользователей; итеративную оптимизацию матрицы пользователей и матрицы элементов; сохранение оптимизированной матрицы элементов.[0029] One object of the present technology is a method for teaching a machine learning algorithm to select recommended content for a user of an electronic device, the method is performed on a recommendation server accessible to an electronic device via the Internet, the recommendation server executes the machine learning algorithm after learning. The method includes: obtaining an indication of a plurality of user-item interactions, each interaction being associated with a user and a digital item; based on a variety of user-element interactions, creating a matrix of user-element relevance scores; decomposition of the matrix of user-element relevance scores into a matrix of users and a matrix of elements, and the decomposition includes: initialization of the matrix of elements using vectors of elements, the vectors of elements were created in such a way that digital elements with similar content have similar vectors of elements, initialization of the matrix of users with using user vectors; iterative optimization of the user matrix and the matrix of elements; saving an optimized matrix of elements.
[0030] В некоторых вариантах осуществления способа, способ далее включает в себя: при получении от электронного устройства запроса на рекомендуемое содержимое, получение профиля пользователя, связанного с электронным устройством; и выбор по меньшей мере одного рекомендуемого элемента содержимого, выбор осуществляется на основе профиля пользователя и оптимизированной матрицы элементов.[0030] In some embodiments of the method, the method further includes: upon receiving a request for recommended content from an electronic device, obtaining a user profile associated with the electronic device; and selecting at least one recommended content item based on the user profile and the optimized item matrix.
[0031] В некоторых вариантах осуществления способа, выбор включает в себя восстановление матрицы пользователь-элемент оценок с помощью оптимизированной матрицы элементов и профиля пользователя для создания восстановленной матрицы пользователь-элемент.[0031] In some embodiments of the method, the selection includes reconstructing a user-member rating matrix with an optimized member matrix and a user profile to create a reconstructed user-member matrix.
[0032] В некоторых вариантах осуществления способа, каждая пара пользователь-элемент восстановленной матрицы пользователь-элемент связана с соответствующей оценкой релевантности пользователь-элемент, соответствующая оценка релевантности пользователь-элемент представляет релевантность данного цифрового элемента для пользователя.[0032] In some embodiments of the method, each user-item pair of the reconstructed user-item matrix is associated with a corresponding user-item relevance score, the corresponding user-item relevance score represents the digital item's relevance to the user.
[0033] В некоторых вариантах осуществления способа, профиль пользователя является вектором, созданном на основе истории просмотра пользователя.[0033] In some embodiments of the method, the user profile is a vector based on the user's browsing history.
[0034] В некоторых вариантах осуществления способа, инициализация матрицы пользователей с помощью векторов пользователей включает в себя заполнение матрицы пользователей с помощью случайных значений векторов пользователей.[0034] In some embodiments of the method, initializing the user matrix with user vectors includes populating the user matrix with random values of the user vectors.
[0035] В некоторых вариантах осуществления способа, инициализация матрицы пользователей с помощью векторов пользователей включает в себя заполнение матрицы пользователей с помощью значений векторов пользователей, равных нулю.[0035] In some embodiments of the method, initializing the user matrix with user vectors includes populating the user matrix with zero user vector values.
[0036] В некоторых вариантах осуществления способа, после итерационной оптимизации матрица пользователей опускается.[0036] In some embodiments of the method, after iterative optimization, the user matrix is omitted.
[0037] В некоторых вариантах осуществления способа, цифровой элемент представляет собой текстовый цифровой элемент и причем векторы элементов были созданы с помощью способа встраивания слов.[0037] In some embodiments of the method, the digital item is a text numeric item and wherein the item vectors have been created using the word embedding method.
[0038] В некоторых вариантах осуществления способа, способ далее включает в себя создание векторов элементов с помощью способа встраивания слов, способ встраивания слов представляет собой по меньшей мере один из: word2vec или латентное размещение Дирихле (LDA).[0038] In some embodiments of the method, the method further includes creating vectors of elements using a word embedding method, the word embedding method is at least one of word2vec or latent Dirichlet placement (LDA).
[0039] В некоторых вариантах осуществления способа, разложение выполняется с помощью анализа сингулярного разложения SVD).[0039] In some embodiments of the method, the decomposition is performed using SVD singular decomposition analysis).
[0040] В некоторых вариантах осуществления способа, разложение далее включает в себя анализ разложения, анализ разложения выполняется с помощью алгоритма чередования наименьших квадратов (ALS).[0040] In some embodiments of the method, the decomposition further includes decomposition analysis, the decomposition analysis is performed using an alternating least squares (ALS) algorithm.
[0041] В некоторых вариантах осуществления способа, получение указания на множество взаимодействий пользователь-элемент включает в себя получение указания на множество взаимодействий пользователь-элемент из историй просмотра пользователей.[0041] In some embodiments of the method, obtaining an indication of a plurality of user-item interactions includes obtaining an indication of a plurality of user-item interactions from user browsing histories.
[0042] В некоторых вариантах осуществления способа, взаимодействие пользователя-элемент представляет собой: время, проведенное во взаимодействии с цифровым элементом, загрузку цифрового элемента, репост цифрового элемента, добавление в закладки цифрового элемента, оставление комментария, связанного с цифровым элементом, оставление «лайка» цифровому элементу и обновление цифрового элемента.[0042] In some embodiments of the method, a user-item interaction is: time spent interacting with a digital item, downloading a digital item, reposting a digital item, adding a digital item to bookmarks, leaving a comment associated with a digital item, leaving a "like" »The digital element and updating the digital element.
[0043] В некоторых вариантах осуществления способа, итеративная оптимизация матрицы пользователей и матрицы элементов выполняется до тех пора не будет достигнуто заранее определенное значение заранее определенной величины.[0043] In some embodiments of the method, iterative optimization of the user matrix and the matrix of elements is performed until a predetermined value of a predetermined value is reached.
[0044] В некоторых вариантах осуществления способа, заранее определенная величина представляет собой одно из: Среднеквадратичное отклонение (RMSE) и средняя абсолютная ошибка (MAR).[0044] In some embodiments of the method, the predetermined value is one of: Root mean square deviation (RMSE) and mean absolute error (MAR).
[0045] Еще одним объектом настоящего технического решения является сервер. Сервер включает в себя: носитель данных: сетевой интерфейс, выполненный с возможностью связи через сеть передачи данных; процессор, функционально соединенный с носителем данных и сетевым интерфейсом, процессор выполнен с возможностью осуществлять: получение указания на множество взаимодействий пользователь-элемент, каждое взаимодействие связано с пользователем и цифровым элементом; на основе множества взаимодействий пользователь-элемент, создание матрицы оценок релевантности пользователь-элемент; разложение матрицы оценок релевантности пользователь-элемент на матрицу пользователей и матрицу элементов, причем разложение включает в себя: инициализацию матрицы элементов с помощью векторов элементов, векторы элементов были созданы таким образом, что цифровые элементы с похожим содержимым обладают похожими векторами элементов, инициализацию матрицы пользователей с помощью векторов пользователей; итеративную оптимизацию матрицы пользователей и матрицы элементов; сохранение оптимизированной матрицы элементов в носителе данных. В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».[0045] Another aspect of the present technical solution is a server. The server includes: a data carrier: a network interface capable of communicating via a data transmission network; a processor functionally connected to a data carrier and a network interface, the processor is configured to perform: receiving an indication of a plurality of user-element interactions, each interaction is associated with a user and a digital element; based on a variety of user-element interactions, creating a matrix of user-element relevance scores; decomposition of the matrix of user-element relevance scores into a matrix of users and a matrix of elements, and the decomposition includes: initialization of the matrix of elements using vectors of elements, the vectors of elements were created in such a way that digital elements with similar content have similar vectors of elements, initialization of the matrix of users with using user vectors; iterative optimization of the user matrix and the matrix of elements; storing the optimized matrix of elements in the data carrier. As used herein, "server" refers to a computer program running on appropriate hardware that is capable of receiving requests (eg, from client devices) over the network and executing those requests or initiating the execution of those requests. The hardware can be one physical computer or one physical computer system, but neither is required for this technology. In the context of this technology, the use of the expression "server" does not mean that every task (for example, received commands or requests) or any specific task will be received, executed or initiated for execution by the same server (that is, by the same software software and / or hardware); this means that any number of pieces of software or hardware devices can be involved in receiving / transmitting, executing or initiating the execution of any request or the consequences of any request related to a client device, and all of this software and hardware can be one server or multiple servers both are included in the expression "at least one server".
[0046] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.[0046] In the context of the present description, "client device" refers to a hardware device capable of operating with software suitable for solving the corresponding task. Thus, examples of client devices (among others) include personal computers (desktops, laptops, netbooks, etc.) smartphones, tablets, and network equipment such as routers, switches and gateways. It will be appreciated that a device that behaves like a client device in the present context can behave like a server with respect to other client devices. The use of the term "client device" does not exclude the possibility of using multiple client devices to receive / send, perform or initiate the execution of any task or request, or the consequences of any task or request, or steps of any of the above method.
[0047] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.[0047] In the context of the present description, "database" means any structured set of data that is independent of a particular structure, database management software, computer hardware on which the data is stored, used or otherwise made available for use. The database may reside on the same hardware running the process that stores or uses the information stored in the database, or the database may reside on separate hardware, such as a dedicated server or multiple servers.
[0048] В контексте настоящего описания «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы, списки слов и т.д.[0048] In the context of the present description, "information" includes information, any information that may be stored in a database. Thus, information includes, among others, audiovisual works (images, videos, sound recordings, presentations, etc.), data (location data, digital data, etc.), text (opinions, comments, questions , messages, etc.), documents, tables, word lists, etc.
[0049] В контексте настоящего описания «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).[0049] In the context of the present description, "component" means software (corresponding to a particular hardware context) that is necessary and sufficient to perform the specified specified function (s).
[0050] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.[0050] In the context of the present description, "computer-usable computer storage media" means absolutely any type and nature of media, including RAM, ROM, disks (CDs, DVDs, floppy disks, hard drives, etc.), USB flash drives, solid state drives, magnetic tape drives, etc.
[0051] В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.[0051] In the context of the present description, the words "first", "second", "third", etc. are used as adjectives solely to distinguish the nouns to which they refer from each other, and not for the purpose of describing any specific relationship between these nouns. So, for example, it should be borne in mind that the use of the terms "first server" and "third server" does not imply any ordering, assignment to a particular type, history, hierarchy or ranking (for example) of servers / between servers, as well as their use (in itself) does not imply that a "second server" must necessarily exist in a given situation. Hereinafter, as indicated here in other contexts, the reference to the "first" element and the "second" element does not exclude the possibility that they are the same actual real element. So, for example, in some cases, the "first" server and the "second" server may be the same software and / or hardware, and in other cases, they may be different software and / or hardware.
[0052] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.[0052] Each embodiment of the present technology pursues at least one of the aforementioned purposes and / or objects, but all are optional. It should be borne in mind that some of the objects of this technology, obtained as a result of attempts to achieve the above-mentioned goal, may not meet this goal and / or may meet other purposes, not separately specified here.
[0053] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.[0053] Additional and / or alternative characteristics, aspects and advantages of embodiments of the present technical solution will become apparent from the following description, the accompanying drawings and the accompanying claims.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS
[0054] Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:[0054] For a better understanding of the present technology, as well as its other aspects and features, reference is made to the following description, which is to be used in conjunction with the accompanying drawings, where:
[0055] На Фиг. 1 представлена система, подходящая для реализации неограничивающих вариантов осуществления настоящей технологии.[0055] FIG. 1 illustrates a system suitable for implementing non-limiting embodiments of the present technology.
[0056] На Фиг. 2 представлен снимок экрана с рекомендательным интерфейсом, выполненным в соответствии с неограничивающим вариантом осуществления настоящей технологии, рекомендательный интерфейс представлен на экране электронного устройства системы, показанной на Фиг. 1, электронное устройство выполнено в виде смартфона.[0056] FIG. 2 is a screen shot of a recommendation interface made in accordance with a non-limiting embodiment of the present technology, the recommendation interface is shown on the screen of an electronic device of the system shown in FIG. 1, the electronic device is in the form of a smartphone.
[0057] На Фиг. 3 представлено множество взаимодействии пользователь-элемент (каждое взаимодействие пользователь-элемент связано с пользователем и цифровым элементом, множество взаимодействии пользователь-элемент обрабатывается системой по Фиг. 1 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.[0057] FIG. 3 illustrates a plurality of user-item interactions (each user-item interaction is associated with a user and a digital item, a plurality of user-item interactions are handled by the system of FIG. 1 in accordance with some non-limiting embodiments of the present technology.
[0058] На Фиг. 4 представлено схематическое представление матрицы оценок релевантности пользователь-элемент, матрица оценок релевантности пользователь-элемент, созданная сервером системы по Фиг. 1, с помощью множества взаимодействий пользователь-элемент, аналогичных тем, что представлены на Фиг. 3, матрица оценок релевантности пользователь-элемент реализована в соответствии с неограничивающими вариантами осуществления настоящей технологии.[0058] FIG. 4 is a schematic diagram of a user-item relevance rating matrix, a user-item relevance rating matrix generated by the system server of FIG. 1 through a variety of user-item interactions similar to those shown in FIG. 3, the user-item relevance score matrix is implemented in accordance with non-limiting embodiments of the present technology.
[0059] На Фиг. 5 представлена принципиальная схема процесса разложения матрицы оценок релевантности пользователь-элемент на матрицу пользователей и матрицу элемента, процесс выполняется сервером системы, представленной на Фиг. 1, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.[0059] FIG. 5 is a schematic diagram of the process of decomposition of the user-element relevance assessment matrix into the users matrix and the element matrix, the process is performed by the server of the system shown in FIG. 1, in accordance with some non-limiting embodiments of the present technology.
[0060] На Фиг 6 представлена блок-схема способа обучения алгоритма машинного обучения, способ выполняется сервером, изображенным на Фигуре 1 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.[0060] FIG. 6 is a flowchart of a method for training a machine learning algorithm, the method being performed by the server shown in FIG. 1, in accordance with some non-limiting embodiments of the present technology.
ОСУЩЕСТВЛЕНИЕIMPLEMENTATION
[0061] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание показательных вариантов осуществления настоящей технологии. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.[0061] FIG. 1 is a schematic diagram of a
[0062] В общем случае, система 100 выполнена с возможностью предоставлять рекомендации содержимого пользователю 102 системы 100. Пользователь 102 может являться подписчиком сервиса рекомендаций, который предоставляет система 100. Однако, подписка не обязана быть оплачиваемой или явной. Например, пользователь 102 может стать подписчиком путем скачивания рекомендательного предложения из система 100, путем регистрации и предоставления сочетания логина/пароля, путем регистрации и предоставления предпочтений пользователя и так далее. Поэтому любой вариант системы, выполненный с возможностью создавать рекомендации содержимого для данного пользователя, может быть адаптирован специалистом для выполнения вариантов осуществления настоящей технологии после того, как специалистом было прочитано настоящее описание. Кроме того, система 100 может быть описана с помощью примера системы 100, которая является системой рекомендаций (следовательно, система 100 может упоминаться как «система 100 рекомендаций» или «система 100 предсказаний» или «система 100 обучения»). Тем не менее, варианты осуществления настоящей технологии могут также применяться к другим типам систем 100, как будет более подробно описано далее.[0062] In general, the
[0063] Система 100 содержит электронное устройство 104, электронное устройство 104 связано с пользователем 102. Таким образом, электронное устройство 104 может иногда упоминаться как «клиентское устройство», «устройство конечного пользователя» или «клиентское электронное устройство». Следует отметить, что тот факт, что электронное устройство 104 связано с пользователем 102, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.[0063]
[0064] Варианты электронного устройства 104 конкретно не ограничены, но в качестве примера электронного устройства 104 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (смартфоны, мобильные телефоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Электронное устройство 104 содержит аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в области техники, чтобы выполнять рекомендательное приложение 106. В общем случае, задачей рекомендательного приложения 106 является позволить пользователю получать (или каким-либо иным способом иметь доступ) к рекомендациям содержимого, которые предоставлены системой 100, как будет более подробно описано далее.[0064] Embodiments of the
[0065] Реализация рекомендательного приложения 106 никак конкретно не ограничена. Одним из примеров выполнения рекомендательного приложения 106 является доступ пользователем на веб-сайт, соответствующий системе рекомендаций, для получения доступа к рекомендательному приложению 106. Например, рекомендательное приложение 106 может быть вызвано путем ввода (или копирования-вставки или выбора ссылки) URL, связанного с сервисом рекомендаций. Альтернативно, рекомендательное приложение 106 может являться приложением, скачанным из так называемого магазина приложений, например, APPSTORE™ или GOOGLEPLAY™, и установленным/используемым на электронном устройстве 104. Важно иметь в виду, что рекомендательное приложение 106 может быть вызвано с помощью любых других средств. В других дополнительных вариантах осуществления технологии, функции приложения 106 рекомендаций могут быть встроены в другое приложение, например, приложение браузера (не показано) и так далее. Например, приложение 106 рекомендаций может выполняться как часть браузерного приложения, например, когда пользователь 102 в первый раз запускает браузерное приложение, может выполняться функциональность приложения 106 рекомендаций.[0065] The implementation of the
[0066] В общем случае, рекомендательное приложение 106 включает в себя рекомендательный интерфейс 108, причем рекомендательный интерфейс 108 отображается на экране (отдельно не пронумерован) электронного устройства 104. На Фиг. 2 представлен снимок экрана с рекомендательным интерфейсом 108, реализованным в соответствии с неограничивающим вариантом осуществления настоящей технологии (пример рекомендательного интерфейса 108 представлен на экране электронного устройства 104, который реализован в виде смартфона).[0066] In general,
[0067] В некоторых вариантах осуществления настоящей технологии, рекомендательный интерфейс 108 отображается, когда пользователь 102 электронного устройства 104 активирует (т.е. запускает, использует, запускает в фоновом режиме и так далее) рекомендательное приложение 106. Альтернативно, рекомендательный интерфейс 108 может быть представлен, когда пользователь 102 открывает новое окно браузера и/или активирует новую вкладку в браузерном приложении. Например, в некоторых вариантах осуществления настоящей технологии, рекомендательный интерфейс 108 может активировать «домашний экран» в браузерном приложении.[0067] In some embodiments of the present technology, the
[0068] Рекомендательный интерфейс 108 включает в себя поисковый интерфейс 202. Поисковый интерфейс 202 включает в себя интерфейс 204 поискового запроса. Интерфейс 204 поискового запроса может быть реализован как «омнибокс», что позволяет вводить поисковый запрос для проведения поиска или сетевой адрес (например, Единый Указатель Ресурсов (URL)) для идентификации ресурса (например, веб-сайта), который будет вызван. Тем не менее, интерфейс 204 поискового запроса может быть реализован для получения одного или обоих из: записи поискового запроса на выполнение поиска или сетевого адреса (например, Единый Указатель Ресурсов (URL)) для идентификации ресурса (например, веб-сайта), который будет вызван.[0068]
[0069] Рекомендательный интерфейс 108 дополнительно включает в себя интерфейс 206 ссылок. Интерфейс 206 ссылок включает в себя множество фрагментов 208 - восемь из которых представлены на Фиг. 2 - только два пронумерованы на Фиг. 2 - первый фрагмент 210 и второй фрагмент 212.[0069] The
[0070] Используя, например, первый фрагмент 210 и второй фрагмент 212 - каждый из множества фрагментов 208 включает в себя (или действует как) ссылку на (i) веб-сайт, отмеченный как «избранное» или как-либо иначе отмеченный пользователем 102, (ii) ранее посещенный веб-сайт или (iii) тому подобное. Множество фрагментов 208 в представленном варианте осуществления визуально представлено пользователю 102 в виде квадратных кнопок с логотипом и/или названием представленного ресурса, логотип и название позволяют пользователю 102 идентифицировать, на какой ресурс ведет каждый из множества фрагментов (отдельно не пронумеровано). Тем не менее, важно иметь в виду, что визуальное представление некоторых или всех из множества фрагментов 208 может быть иным. Таким образом, некоторые или все из множества фрагментов 208 могут быть реализованы как кнопки других форм, как список гиперссылок и так далее.[0070] Using, for example, the
[0071] Например, первый фрагмент 210 включает в себя ссылку на веб-сайт TRAVELZOO™, а второй фрагмент 212 включает в себя ссылку на веб-сайт персонального живого журнала. Излишне говорить, что число и содержимое индивидуальных фрагментов из множества фрагментов 208 никак конкретно не ограничено.[0071] For example, the
[0072] Например, число фрагментов во множестве фрагментов 208 может быть выбрано заранее поставщиком рекомендательного приложения 106. В некоторых вариантах осуществления настоящей технологии, число фрагментов во множестве фрагментов 208 выбирается заранее на основе размера и/или разрешения экрана электронного устройства 104, которое выполняет рекомендательное приложение 106. Например, первое число фрагментов может быть выбрано заранее для электронного устройства 104, которое реализовано как смартфон, второе число фрагментов может быть выбрано заранее для электронного устройства 104, которое реализовано как планшет, и третье число фрагментов может быть выбрано заранее для электронного устройства 104, которое реализовано как ноутбук или настольный компьютер.[0072] For example, the number of tiles in the plurality of
[0073] Рекомендательный интерфейс 108 дополнительно включает в себя набор 214 рекомендованного содержимого. Набор 214 рекомендованного содержимого включает в себя один или несколько элементов рекомендаций содержимого, например, первый элемент 216 рекомендаций содержимого и второй элемент 218 рекомендаций содержимого (второй элемент 218 рекомендаций содержимого только частично виден на Фиг. 2). Естественно, набор 214 рекомендаций содержимого может обладать большим числом элементов рекомендаций содержимого. В рамках варианта осуществления, представленного на Фиг. 2, и тех вариантов осуществления технологии, где присутствует более одного элемента рекомендованного содержимого, пользователь 102 может прокручивать через набор 214 рекомендованного содержимого. Прокрутка может осуществляться любыми подходящими способами. Например, пользователь 102 может прокручивать содержимое набора 214 рекомендованного содержимого путем активации мыши (не показано), клавиши клавиатуры (не показано) или взаимодействия с сенсорным экраном (не показано) соответствующего электронного устройства 104.[0073] The
[0074] Пример, приведенный на Фиг. 2 является одним возможным вариантом осуществления рекомендательного интерфейса 108. Другой вариант осуществления рекомендательного интерфейса 108, а также описание того, как пользователь 102 может взаимодействовать с рекомендательным интерфейсом 108, представлено в находящейся в совместном владении российской патентной заявке, озаглавленной «ИСПОЛЯЕМЫИ НА КОМПЬЮТЕРЕ СПОСОБ СОЗДАНИЯ РЕКОМЕНДАТЕЛЬНОГО ИНТЕРФЕЙСА СОДЕРЖИМОГО», поданной 12 мая 2016 под номером 2016118519; содержимое которой включено здесь полностью посредством ссылки.[0074] The example shown in FIG. 2 is one possible implementation of the
[0075] То, как именно создается набор 214 рекомендованного содержимого, будет более подробно описано далее.[0075] How exactly the recommended content set 214 is created will be described in more detail below.
[0076] Возвращаясь к описанию Фиг. 1, электронное устройство 104 функционально соединено с сетью ПО передачи данных для получения доступа к рекомендательному серверу 112. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 110 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящего технического решения, сеть 110 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п. Линия передачи данных (отдельно не пронумерована) между электронным устройством 104 и сетью 110 передачи данных реализована таким образом, что она будет зависеть, среди прочего, от того, как реализовано электронное устройство 104. В качестве примера, но не ограничения, в данных вариантах осуществления настоящей технологии в случаях, когда электронное устройство 104 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 104 представляет собой портативный компьютер, линия связи может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).[0076] Returning to the description of FIG. 1,
[0077] Рекомендательный сервер 112 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, рекомендательный сервер 112 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что рекомендательный сервер 112 может представлять собой любое другое подходящее аппаратное, прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, рекомендательный сервер 112 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, функциональность рекомендательного сервера 112 изображения может быть разделена, и может выполняться с помощью нескольких серверов.[0077] The
[0078] Рекомендательный сервер 112 включает в себя модуль 114 обработки Модуль 114 обработки соединен или иным образом имеет доступ к модулю 116 выбора рекомендуемого содержимого. Модуль 116 выбора рекомендуемого содержимого имеет доступ к устройству 118 хранения данных. Модуль 114 обработки дополнительно связан с модулем 115 обнаружения содержимого. Работа рекомендательного сервера 112 и его компонентов будет более подробно описана далее.[0078] The
[0079] Также с сетью ПО передачи данных соединено множество сетевых ресурсов, включая первый сетевой ресурс 124, второй сетевой ресурс 126 и множество дополнительных сетевых ресурсов 128. Первый сетевой ресурс 124, второй сетевой ресурс 126 и множество дополнительных сетевых ресурсов 128 являются сетевыми ресурсами, доступными электронному устройству 104 (а также другим электронным устройствам, потенциально присутствующим в системе 100) через сеть ПО передачи данных. Соответствующее содержимое первого сетевого ресурса 124, второго сетевого ресурса 126 и множества дополнительных сетевых ресурсов 128 никак конкретно не ограничено.[0079] A plurality of network resources are also connected to the UE network, including a
[0080] Данный первый сетевой ресурс 124, второй сетевой ресурс 126 и множество дополнительных сетевых ресурсов 128 может содержать (или, другими словами, размещать) цифровое содержимое (т.е. один или несколько цифровых элементов из одного или нескольких цифровых элементов, обладающих одним или несколькими типами цифрового содержимого). В некоторых вариантах осуществления настоящей технологии, содержимое цифрового элемента может включать в себя, среди прочего: аудио содержимое для потокового вещания или загрузки, видео содержимое для потокового вещания или загрузки, новости, блоки, информацию о различных государственных институтах, информацию об интересных местах, тематически кластеризованное содержимое (например, содержимое, релевантное для тех, кто заинтересован в кикбоксинге), другое мультимедийное содержимое и так далее.[0080] A given
[0081] В других вариантах осуществления настоящей технологии, содержимое цифровых элементов, размещенное на первом сетевом ресурсе 124, втором сетевом ресурсе 126 и множестве дополнительных сетевых ресурсов 128, является текстовым. Примеры текстовых элементов содержимого включают в себя, без установления ограничений: новости, статьи, блоги, информацию о различных государственных институтах, информацию об интересных местах, тематически кластеризованное содержимое (например, содержимое, релевантное для тех, кто заинтересован в кикбоксинге) и так далее. Следует отметить, что термин «текстовое» содержимое не означает, что данный цифровой элемент включает в себя только текст и исключает другие типы мультимедийных элементов. Напротив, данный текстовый цифровой элемент включает в себя текстовые элементы, а также потенциально другой тип мультимедийных элементов. Например, данный текстовый цифровой элемент содержимого, который является статьей, может содержать текст и фотографии. В качестве другого примера, текстовый цифровой элемент содержимого, который является блогом, может содержать текст и встроенные видео элементы.[0081] In other embodiments of the present technology, the content of the digital elements located on the
[0082] Содержимое потенциально «доступно» для электронного устройства 104 различными способами. Например, пользователь 102 электронного устройства 104 может использовать браузерное приложение (не показано) и ввести Универсальный Указатель Ресурса (URL), связанный с одним из первого сетевого ресурса 124, второго сетевого ресурса 126 и множества дополнительных сетевых ресурсов 128. Альтернативно, пользователь 102 электронного устройства 104 может выполнить поиск с помощью поисковой системы (не показано), чтобы изучить содержимое одного или нескольких из первого сетевого ресурса 124, второго сетевого ресурса 126 и множества дополнительных сетевых ресурсов 128. Как было упомянуто ранее, это удобно в том случае, если пользователь 102 заранее знает, в каком именно содержимом пользователь 102 заинтересован.[0082] Content is potentially "available" to
[0083] В соответствии с вариантами осуществления настоящей технологии, рекомендательное приложение 106 может рекомендовать элементы содержимого, доступные с одного из первого сетевого ресурса 124, второго сетевого ресурса 126 и множества дополнительных сетевых ресурсов 128, пользователю 102, элементы содержимого, о которых пользователь 102 может заранее не знать. Рекомендательный сервер 112 выполнен с возможностью осуществлять выбор содержимого для одного или нескольких рекомендуемых элементов, которые будут представлены пользователю 102 через рекомендательное приложение 106. Конкретнее, модуль 114 обработки выполнен с возможностью (i) получать от электронного устройства 104 запрос на рекомендации 150 содержимого и (ii) в ответ на запрос, создавать сообщение 152 рекомендаций содержимого, специально настроенное для пользователя 102, связанного с электронным устройством 104. Модуль 114 обработки может далее координировать выполнение различных процедур, описанных здесь как выполняемые модулем 115 обнаружения содержимого, и модуль 116 выбора рекомендуемого содержимого, например.[0083] In accordance with embodiments of the present technology, the
[0084] В некоторых вариантах осуществления настоящей технологии, запрос на рекомендации 150 содержимого может быть создан в ответ на предоставление пользователем 102 явного указания на его/ее желание получать рекомендации содержимого. Например, рекомендательный интерфейс 108 может предоставлять кнопку (или другой активируемый элемент), который позволит пользователю 102 выражать свое желание получить новые или обновленные рекомендации содержимого. В качестве неограничивающего примера, рекомендательный интерфейс 108 может предоставить активируемую кнопку, на которой написано «запросить рекомендации содержимого». В рамках этих вариантов осуществления технологии, запрос на рекомендации 150 содержимого может считаться «явным запросом» в том смысле, что пользователь 102 явно выражает запрос на рекомендации содержимого.[0084] In some embodiments of the present technology, a request for
[0085] В других вариантах осуществления настоящей технологии, запрос на рекомендации 150 содержимого может быть создан в ответ на явное указание от пользователя 102 на желание пользователя получить рекомендации содержимого. В некоторых вариантах осуществления настоящей технологии, запрос на рекомендации 150 содержимого может быть создан в ответ на то, что пользователь 102 запускает рекомендательное приложение 106.[0085] In other embodiments of the present technology, a request for
[0086] Альтернативно, в тех вариантах осуществления настоящей технологии, где рекомендательное приложение 106 реализовано в виде браузера (например, браузер GOOGLE™, браузер YANDEX™, a YAHOO!™ браузер или любое другое собственное или коммерчески доступное браузерное приложение), запрос на рекомендации 150 содержимого может быть создан в ответ на то, что пользователь 102 открывает браузерное приложение и может быть создано, например, без выполнения пользователем 102 каких-либо действий, кроме активации браузерного приложения. В качестве другого примера, запрос на рекомендации 150 содержимого может быть создан в ответ на открытие пользователем 102 новой вкладки в уже открытом браузерном приложении, и могут быть созданы, например, без выполнения пользователем 102 каких-либо действий, кроме активации новой вкладки браузера. Другими словами, запрос на рекомендации 150 содержимого может быть создан даже без знания пользователя 102 о том, что он может быть заинтересован в получении рекомендации содержимого.[0086] Alternatively, in those embodiments of the present technology where the
[0087] В качестве другого примера, запрос на рекомендацию 150 содержимого может быть создан в ответ на выбор пользователем 102 конкретного элемента браузерного приложения, и могут быть созданы, например, без выполнения пользователем 102 каких-либо действий, кроме активации/выбора конкретного элемента браузерного приложения.[0087] As another example, a
[0088] Примеры конкретного элемента браузерного приложения включают в себя, без установления ограничений:[0088] Examples of a specific browser application element include, without limitation:
• Адресную строку строки браузерного приложения• Address bar of the browser application string
• Поисковую строку браузерного приложения и/или поисковую строку веб-сайта поисковой системы, доступного в браузерном приложении• The search bar of the browser application and / or the search bar of the search engine website accessible in the browser application
• Омнибокс (связанные адрес и поисковая строка браузерного приложения)• Omnibox (related address and search bar of the browser application)
• Панель избранных или недавно посещенных сетевых ресурсов• Panel of favorites or recently visited network resources
• Любую другую заранее определенную область интерфейса браузерного приложения или сетевого ресурса, отображенного в браузерном приложении• Any other predefined area of the browser application interface or network resource displayed in the browser application
[0089] В некоторых вариантах осуществления настоящей технологии, модуль 115 обнаружения содержимого может быть выполнен с возможностью осуществлять работу «поискового робота». Другими словами, модуль 115 обнаружения содержимого может выполнять работу робота, который «посещает» множество ресурсов (например, первый сетевой ресурс 124, второй сетевой ресурс 126 и множество дополнительных сетевых ресурсов 128) и каталогизирует один или несколько цифровых элементов, размещенных на соответствующем одном из первого сетевого ресурса 124, второго сетевого ресурса 126 и множества дополнительных сетевых ресурсов 128. В некоторых вариантах осуществления настоящей технологии, модуль 115 обнаружения содержимого может каталогизировать цифровые элементы в инвертированный индекс, сопоставляя данный цифровой элемент для составления списка ключевых слов, связанных с данным цифровым элементом.[0089] In some embodiments of the present technology, the
[0090] Как часть функции поискового робота, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью содержать (на устройстве 118 сохранения данных) информацию, представляющую новые найденные сетевые ресурсы и/или новое найденное доступное содержимое, доступное на них. В некоторых вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого может быть выполнен с возможностью поддерживать инвертированный индекс на устройстве 118 хранения данных, но модуль 116 выбора рекомендуемого содержимого может организовать информацию, представляющую новые найденные сетевые ресурсы и/или новое найденное содержимое, доступное на них, в структуру данных, отличную от инвертированного индекса.[0090] As part of the crawler function, the recommended
[0091] В других вариантах осуществления настоящей технологии, вместо соответствующего выполнения модуля 115 обнаружения содержимого, сервер 112 рекомендаций может делить функции модуля 115 обнаружения содержимого с другим сервером (не представлен) и/или другим сервисом (не представлен). Например, функции модуля 115 обнаружения содержимого могут быть разделены с сервером поисковой системы (не показано), который выполняет сервис поисковой системы. Когда модуль 115 обнаружения содержимого просматривает и индексирует новые ресурсы, которые могут потенциально содержать текстовые или другие цифровые элементы, модуль 115 обнаружения содержимого может также индексировать подобные новые обнаруженные (или обновленные) цифровые элементы для целей процедур сервера 112 рекомендаций, которые описаны здесь.[0091] In other embodiments of the present technology, instead of properly executing
[0092] Модуль 116 выбора рекомендуемого содержимого может быть выполнен с возможностью выполнять один или несколько алгоритмов машинного обучения (MLA). В некоторых вариантах осуществления настоящей технологии, один или несколько алгоритмов машинного обучения могут представлять собой любой подходящий алгоритм машинного обучения с учителем или полуконтролируемого обучения, такой как, например:[0092] Recommended
• Искусственная нейронная сеть• Artificial neural network
• Байесовская статистика• Bayesian statistics
• Гауссовский процесс регрессии• Gaussian regression process
• Деревья решений• Decision trees
• И так далее• Etc
[0093] В общем случае, модуль 116 выбора рекомендуемого содержимого выполняет один или несколько MLA для анализа индексированных элементов содержимого (т.е. те, которые обнаруживаются и индексируются модулем 115 обнаружения содержимого) для выбора одного или нескольких элементов содержимого в качестве рекомендуемого содержимого для пользователя 102.[0093] In general, the recommended
[0094] Следует отметить, что, несмотря на то, что модуль 115 обнаружения содержимого и модуль 116 выбора рекомендуемого содержимого были описаны как отдельные элементы, каждый из которых выполняет соответствующие функции, в других вариантах осуществления настоящей технологии, функции, выполняемые модулем 115 обнаружения содержимого и модулем 116 выбора рекомендуемого содержимого, могут выполняться одним элементом (например, модулем 114 обработки). Альтернативно, функции, выполняемые модулем 115 обнаружения содержимого и модулем 116 выбора рекомендуемого содержимого, могут быть распределены между большим числом модулей, чем те, что показаны на Фиг. 1, и могут выполняться как часть нескольких копий сервера 112 рекомендаций.[0094] It should be noted that although the
[0095] Кроме того, каждый из модуля 115 обнаружения содержимого и модуля 116 выбора рекомендуемого содержимого может выполнять дополнительные функции (т.е. отличные от соответствующих описанных здесь функций).[0095] In addition, each of the
[0096] Продолжая с Фиг. 1 и ссылаясь на Фиг. 3, в соответствии с вариантами осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью получать указание на множество взаимодействий 140 пользователь-элемент, каждое взаимодействие пользователь-элемент из множества взаимодействий 140 пользователь-элемент связано с пользователем 142 и цифровым элементом 144.[0096] Continuing with FIG. 1 and referring to FIG. 3, in accordance with embodiments of the present technology, the featured
[0097] В некоторых вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью получать указание на множество взаимодействий 140 пользователь-элемент от устройства 118 хранения данных. В некоторых вариантах осуществления настоящей технологии, указание на множество взаимодействий 140 пользователь-элемент может отслеживаться и сохраняться на устройстве 118 хранения данных модулем 115 обнаружения содержимого. Например, модуль 115 обнаружения содержимого может быть выполнен с возможностью загрузки журналов с сервера поисковой системы (не показано), журналов с сервера бразуера (не показано) и так далее. В широком смысле, указание на множество взаимодействий 140 пользователь-элемент может быть основано на журналах браузерной активности пользователей, журналах поисковой активности пользователей, сочетании их обоих и так далее.[0097] In some embodiments of the present technology, the recommended
[0098] В альтернативных вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью получать указание на множество взаимодействий 140 пользователь-элемент из внешнего источника (не показано), например, журнал поисковой системы (не показано), журнал веб-бразуера (не показано) и так далее.[0098] In alternative embodiments of the present technology, the featured
[0099] В некоторых вариантах осуществления настоящей технологии, цифровой элемент 144 может представлять собой один из множества цифровых элементов 163. В общем случае, любой одиночный цифровой элемент 144 из множества цифровых элементов 163 может включать в себя любое цифровое содержимое (например, видео, аудио, текст, их сочетание и т.д.). В конкретном неограничивающем варианте осуществления технологии, любой одиночный цифровой элемент 144 из множества цифровых элементов 163 может включать в себя текстовое содержимое, например, статьи, книги, другие тексты и так далее.[0099] In some embodiments of the present technology,
[00100] В некоторых вариантах осуществления настоящей технологии, пользователь 142 может представлять собой одного из множества пользователей 148 (включая пользователя 102).[00100] In some embodiments of the present technology,
[00101] Данное указание на множество взаимодействий 140 пользователь-элемент может включать в себя одно или несколько из: время, проведенное во взаимодействии с цифровым элементом 144, загрузку цифрового элемента 144, репост цифрового элемента 144, добавление в закладки цифрового элемента 144, оставление комментария, связанного с цифровым элементом 144, оставление «лайка» цифровому элементу 144 и обновление цифрового элемента 144.[00101] This indication of the plurality of user-
[00102] Следует отметить, что данный цифровой элемент 144 из множества цифровых элементов может взаимодействовать с рядом пользователей 142 из множества пользователей 148. Подобным образом, данный пользователь 142 из множества пользователей 148 может взаимодействовать с более чем одним цифровым элементом 144 из множества цифровых элементов 163. Естественно, данный пользователь 142 из множества пользователей 148 взаимодействовать с одним цифровым элементом 144 из множества цифровых элементов 163 более одного раза.[00102] It should be noted that a given
[00103] Также может быть, что данный пользователь 142 из множества пользователей 148 может не взаимодействовать со всеми цифровыми элементами 144 из множества цифровых элементов 163. Аналогичным образом, может быть так, что данный цифровой элемент 144 из множества цифровых элементов может не взаимодействовать со всеми пользователями 142 из множества пользователей 148.[00103] It may also be that a given
[00104] Модуль 116 выбора рекомендуемого содержимого далее выполнен с возможностью, на основе множества взаимодействий 140 пользователь-элемент, для определения того, насколько релевантен данный цифровой элемент 144 для данного пользователя 142. Конкретнее, модуль 116 выбора рекомендуемого содержимого выполнен, на основе множества взаимодействий 140 пользователь-элемент, для создания матрицы оценок релевантности пользователь-элемент.[00104] Recommended
[00105] Со ссылкой на Фиг. 4 представлена принципиальная схема матрицы 400 оценок релевантности пользователь-элемент. Представленная матрица 400 оценок релевантности пользователь-элемент включает в себя множество столбцов 404 и множество строк 402. Каждый столбец из множества столбцов 404 связан с данным цифровым элементом 144 из множества цифровых элементов 163. Каждая строка из множества строк 402 связана с данным пользователем 142 из множества пользователей 148.[00105] With reference to FIG. 4 is a schematic diagram of a user-item
[00106] Перекрытие между данной строкой из множества строк 402 и данным столбцов из множества столбцом 404 хранит оценку релевантности пользователь-элемент соответствующего данного пользователя 142 из множества пользователей 148 и соответствующего данного цифрового элемента 144 из множества цифровых элементов 163. Например, конкретная строка 408 связана с пользователем «Пользователь 3», конкретный столбец 406 связан с цифровым элементом «Элемент 3», и конкретная ячейка 410 содержит оценку релевантности «5», указывающую на взаимодействия пользователя «Пользователь 3» с цифровым элементом «Элемент 3», которое указывает на оценку релевантности «5». То, как создается оценка релевантности модулем 116 выбора рекомендуемого содержимого, никак конкретно не ограничено. Например, модуль 116 выбора рекомендуемого содержимого может создавать оценку релевантности пользователь-элемент с помощью явных оценок пользователей (например, данный цифровой элемент 144 может быть оценен пользователями 142 по заранее определенной шкале, например, 1-5, 1-10, А-С и так далее). Альтернативно, оценка релевантности пользователь-элемент может быть вычислена на основе взвешенного алгоритма. Альтернативно, оценки релевантности пользователь-элемент могут быть определены алгоритмом машинного обучения (не показан) путем анализа одного или нескольких измерений взаимодействия пользователя (например, время задержки, число репостов и так далее).[00106] The overlap between a given row of a plurality of
[00107] Данная ячейка 412 и данная ячейка 414 не содержат никаких значений. Таким образом, можно утверждать, что пользователь «Пользователь 1» не взаимодействовал с цифровым элементом «Элемент 4» (в результате данная ячейка 412 является пустой) и что пользователь «Пользователь 3» не взаимодействовал с цифровым элементом «Элемент 6» (в результате данная ячейка 414 является пустой). Таким образом, на представленной Фиг. 4 представлено как матрица 400 оценок релевантности пользователь-элемент может быть «разреженной». Чтобы избежать сомнений в трактовке, термин «разреженная» описывает факт того, что некоторые ячейки (т.е. данная ячейка 422, данная ячейка 414 среди прочих) являются пустыми (т.е. не содержащими оценки релевантности пользователь-элемент). Пустота ячеек является признаком отсутствия взаимодействий пользователь-элемент между соответствующим пользователем и соответствующим цифровым элементом.[00107] This
[00108] Модуль 116 выбора рекомендуемого содержимого далее выполнен с возможностью подвергать разложению матрицу 400 оценок релевантности пользователь-элемент на матрицу пользователей и матрицу элементов. На Фиг. 5 представлена схема разложения матрицы 400 оценок релевантности пользователь-элемент на матрицу 502 пользователей и матрицу 504 элементов. В некоторых вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого может выполнять алгоритм SVD для разложения матрицы 400 оценок релевантности пользователь-элемент на матрицу 502 пользователей и матрицу 504 элементов. Конкретнее, алгоритм алгоритм сингулярного разложения (SVD) может использовать вышеупомянутую Формулу 1 для разделения матрицы 400 оценок релевантности пользователь-элемент на матрицу 502 пользователей и матрицу 504 элементов.[00108] Recommended
[00109] В некоторых вариантах осуществления настоящей технологии, для выполнения анализа разложения, модуль 116 выбора рекомендуемого содержимого может выполнять алгоритм ALS для разложения матрицы 400 оценок релевантности пользователь-элемент. В некоторых вариантах осуществления настоящей технологии, алгоритм ALS использует Формулу 2 для представления матрицы 400 оценок релевантности пользователь-элемент.[00109] In some embodiments of the present technology, to perform the decomposition analysis, the recommended
[00110] В соответствии с вариантами осуществления способов алгоритма ALS с помощью Формулы 2, первоначальная версия матрицы 502 пользователей (обозначена как «U») и первоначальная версия матрицы 504 элементов (обозначена как «V») создаются (т.е. «инициализация» выполняется модулем 116 выбора рекомендуемого содержимого).[00110] In accordance with embodiments of the ALS algorithm
[00111] Матрица 502 пользователей (обозначена как «U») может быть инициализирована в соответствии с известными способами. Например, модуль 116 выбора рекомендуемого содержимого может инициализировать матрицу 502 пользователей с помощью значений векторов пользователей, которые либо случайным образом заполняются, либо заполняются нулями (или же комбинацией обоих подходов). Другими словами, модуль 116 выбора рекомендуемого содержимого может создавать изначальные значения векторов пользователей для матрицы 502 пользователей в виде случайных чисел или нулей (или комбинации обоих подходов).[00111] The user matrix 502 (denoted as "U") may be initialized in accordance with known techniques. For example, the recommended
[00112] В соответствии с вариантами осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого далее выполнен с возможностью инициализировать матрицу 504 элементов с помощью векторов элементов, векторы элементов были созданы таким образом, чтобы цифровые элементы с похожим содержимым обладали похожими векторами элементов. Следует учитывать, что в некоторых вариантах осуществления настоящей технологии, цифровой элемент 144 может представлять собой текстовый цифровой элемент 144. В этих вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого далее выполнен с возможностью инициализировать матрицу 504 элементов с помощью векторов элементов, векторы элементов были созданы таким образом, чтобы элементы с похожим содержимым обладали похожими векторами элементов. В некоторых вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью создавать векторы элементов с помощью техники встраивания слов. Без установления ограничений, используемая техника встраивания слов может представлять собой по меньшей мере одно из word2vec или техники латентного размещения Дирихле (LDA).[00112] In accordance with embodiments of the present technology, the featured
[00113] Модуль 116 выбора рекомендуемого содержимого далее выполнен с возможностью итерационно оптимизировать первоначальную версию матрицу 502 пользователей и первоначальную версию матрицы 504 элементов. Для этого модуль 116 выбора рекомендуемого содержимого выполнен с возможностью итерационно: (i) сначала фиксировать матрицу 502 пользователей и настраивать матрицу 504 элементов и (ii) далее фиксировать матрицу 504 элементов и настраивать матрицу 502 пользователей («одна итерация»). После каждой итерации, разложение матрицы 502 пользователей и матрицы 504 элементов становится ближе к матрице 400 оценок релевантности пользователь-элемент. В некоторых вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью итерационную оптимизацию до тех пор пока не будет получено заранее определенное значение заранее определенной метрики. В конкретном варианте осуществления технологии, заранее определенная метрика представляет собой среднеквадратичное отклонение (RJVISE). Заранее определенное значение RMSE, которое инициирует завершение выполнения итеративной оптимизации, может быть определено эмпирически. В альтернативных вариантах осуществления настоящей технологии заранее определенная метрика представляет собой среднюю абсолютную ошибку (MAR). Заранее определенное значение MAR, которое инициирует завершение выполнения итеративной оптимизации, может быть определено эмпирически.[00113] Recommended
[00114] После завершения оптимизации матрицы 504 элементов (для получения оптимизированной матрицы 504 элементов), модуль 116 выбора рекомендуемого содержимого выполнен с возможностью сохранять оптимизированную матрицу 504 элементов в устройстве 118 хранения данных. Модуль 116 выбора рекомендуемого содержимого может быть далее выполнен с возможностью опускать матрицу 502 пользователей.[00114] Upon completion of the optimization of the element array 504 (to obtain the optimized element array 504), the recommended
[00115] В соответствии с вариантами осуществления настоящей технологии, таким образом сохраненная оптимизированная матрица 504 элементов может быть использована модулем 116 выбора рекомендуемого содержимого для выбора рекомендуемого содержимого для пользователя 102.[00115] In accordance with embodiments of the present technology, the thus stored optimized
[00116] Конкретнее, при получении от электронного устройства 104 запроса на рекомендацию 150 содержимого, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью получать профиль пользователя, связанный с электронным устройством 104. В конкретном варианте осуществления технологии, модуль 116 выбора рекомендуемого содержимого получает профиль профиля пользователя, связанный с электронным устройством 104 от устройства 118 хранения данных. В других вариантах осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью получать профиль пользователя, связанный с электронным устройством 104 из другого источника (не показано), например, путем таргетирования базы данных профилей и так далее.[00116] More specifically, upon receipt of a request for
[00117] В некоторых вариантах осуществления способа, профиль пользователя является вектором, созданном на основе истории просмотров пользователя. То, как именно модуль 116 выбора рекомендуемого содержимого создает вектор на основе истории просмотра пользователя, никак конкретно не ограничено. В качестве примера, подобная техника описана в находящейся на рассмотрении российской патентной заявке, озаглавленной «СПОСОБ И СИСТЕМА ОБРАБОТКИ УКАЗАНИЙ НА АКТИВНОСТЬ, СВЯЗАННУЮ С ПОЛЬЗОВАТЕЛЕМ» под номером 2015111633, которая была подана 31 апреля 2015 года; содержимое заявки включено полностью в настоящую заявку посредством ссылки.[00117] In some embodiments of the method, the user profile is a vector based on the user's browsing history. Exactly how the featured
[00118] Далее, на основе профиля пользователя, модуль 116 выбора рекомендуемого содержимого выбирает по меньшей мере один рекомендуемый элемент содержимого. Следует отметить, что модуль 116 выбора рекомендуемого содержимого выбирает элемент рекомендуемого содержимого с помощью оптимизированной матрицы 504 элементов, которая хранится в устройстве 118 хранения данных.[00118] Next, based on the user profile, the recommended
[00119] Конкретнее, модуль 116 выбора рекомендуемого содержимого выполнен с возможностью восстанавливать матрицу 400 оценок релевантности пользователь-элемент с помощью оптимизированной матрицы 504 элементов и профиля пользователя для создания восстановленной матрицы 400 оценок релевантности пользователь-элемент. В соответствии с вариантами осуществления настоящей технологии, модуль 116 выбора рекомендуемого содержимого восстанавливает восстановленную матрицу 400 оценок релевантности пользователь-элемент, таким образом, каждая пара пользователь-элемент из матрицы 400 оценок релевантности пользователь-элемент связана с соответствующей оценкой релевантности пользователь-элемент, соответствующая оценка релевантности пользователь-элемент представляет собой релевантность данного цифрового элемента 144 для данного пользователя 142 (в данном случае, пользователь 102)..[00119] More specifically, the recommended
[00120] То, как именно модуль 116 выбора рекомендуемого содержимого выбирает конкретный цифровой элемент 114 для пользователя 102, никак конкретно не ограничено. Пример алгоритма машинного обучения, который может быть использован модулем 116 выбора рекомендаций содержимого, описан в находящейся на рассмотрении российской патентной заявке, озаглавленной: «СПОСОБ И УСТРОЙСТВО СОЗДАНИЯ СПИСКА рекомендаций содержимого» (англ. "METHOD AND APPARATUS FOR GENERATING A RECOMMENDED CONTENT LIST") под номером 2015136684, поданной 22 августа 2015 года; содержимое которой включено здесь полностью посредством ссылки.[00120] Exactly how the suggested
[00121] Естественно, модуль 116 выбора рекомендуемого содержимого может выбирать более одного цифрового элемента 114 для пользователя 102. Например, модуль 116 выбора рекомендуемого содержимого может выбирать множество цифровых элементов 144 для использования в качестве подмножества рекомендуемых цифровых элементов 144 для пользователя 102. После того как модуль 116 выбора рекомендаций содержимого создает подмножество элементов содержимого для данного пользователя 102, модуль 116 выбора рекомендаций содержимого создает сообщение 152 рекомендаций содержимого и передает его электронному устройству 104.[00121] Naturally, the recommended
[00122] Когда электронное устройство 104 получает сообщение 152 рекомендаций содержимого, рекомендательное приложение 106 обрабатывает его содержимое и отображает элементы рекомендаций содержимого на интерфейсе 108 рекомендаций. То, как именно реализован интерфейс 108 рекомендаций, никак конкретно не ограничено -может быть использован интерфейс 108 рекомендаций, представленный на Фиг. 2. В другом примере, интерфейс 108 рекомендаций может быть реализован как описанный в находящейся на рассмотрении российской патентной заявке, озаглавленной: «СПОСОБ И СИСТЕМА ВЗАИМОДЕЙСТВИЯ С ЭЛЕМЕНТОМ СОДЕРЖИМОГО ПОТОКА СОДЕРЖИМОГО» (англ."МЕТНОD OF AND SYSTEM FOR INTERACTING WITH A CONTENT ELEMENT OF A CONTENT STREAM") под номером 2015141291, поданной 29 сентября 2015 года; содержимое которой включено здесь полностью посредством ссылки.[00122] When the
[00123] С учетом описанной архитектуры и приведенных примеров, возможно выполнять способ обучения алгоритма машинного обучения (MLA) для выбора рекомендаций содержимого для пользователя электронного устройства.[00123] Given the described architecture and the examples provided, it is possible to perform a machine learning algorithm (MLA) training method to select content recommendations for an electronic device user.
[00124] На Фиг. 6 представлена блок-схема способа 600, реализованного в соответствии с неограничивающими вариантами осуществления настоящей технологии. Способ 600 может выполняться на рекомендательном сервере 112 и, конкретнее, с помощью модуля 116 выбора рекомендуемого содержимого.[00124] FIG. 6 is a flow diagram of a
[00125] 602 - получение указания на множество взаимодействий пользователь-элемент, каждое взаимодействие пользователь-элемент связано с пользователем и цифровым элементом[00125] 602 - Obtaining an indication of a plurality of user-item interactions, each user-item interaction is associated with a user and a digital item
[00126] Способ 600 начинается на этапе 602, где модуль 116 выбора рекомендуемого содержимого получает указание на множество взаимодействий 140 пользователь-элемент, каждое взаимодействие 140 пользователь-элемент связано с пользователем 142 и цифровым элементом 144.[00126] The
[00127] В некоторых вариантах осуществления способа 600, этап получения указания на множество взаимодействий 140 пользователь-элемент включает в себя получение указания на множество взаимодействий пользователь-элемент из историй просмотра пользователей. Взаимодействие пользователя-элемент представляет собой: время, проведенное во взаимодействии с цифровым элементом, загрузку цифрового элемента, репост цифрового элемента, добавление в закладки цифрового элемента, оставление комментария, связанного с цифровым элементом, оставление «лайка» цифровому элементу и обновление цифрового элемента.[00127] In some embodiments of the
[00128] 604 - на основе множества взаимодействий пользователь-элемент, создание матрицы оценок релевантности пользователь-элемент[00128] 604 - based on a plurality of user-item interactions, create a matrix of user-item relevance scores
[00129] На этапе 604, модуль 116 выбора рекомендуемого содержимого, на основе множества взаимодействий 140 пользователь-элемент, создает матрицу 400 оценок релевантности пользователь-элемент.[00129] At
[00130] 606 - разложение матрицы оценок релевантности пользователь-элемент на матрицу пользователей и матрицы элементов, разложение включает в себя: инициализацию матрицы элементов с помощью векторов элементов, векторы элементов были созданы таким образом, что цифровые элементы с похожим содержимым обладают похожими векторами элементов, инициализация матрицы пользователей с помощью векторов пользователей.[00130] 606 - decomposition of a matrix of user-element relevance scores into a matrix of users and matrices of elements, the decomposition includes: initializing the matrix of elements using vectors of elements, the vectors of elements were created in such a way that digital elements with similar content have similar vectors of elements, initialization of the user matrix using user vectors.
[00131] На этапе 606, модуль 116 выбора рекомендуемого содержимого осуществляет разложение матрицы 400 оценок релевантности пользователь-элемент на матрицу 502 пользователей и матрицу 504 элементов. В соответствии с вариантами осуществления настоящей технологии, этап разложения включает в себя: инициализацию матрицы 504 элементов с помощью векторов элементов, векторы элементы были созданы таким образом, чтобы цифровые элементы с похожим содержимым обладали похожими векторами элементов. Модуль 116 выбора рекомендуемого содержимого далее инициализирует матрицу 502 пользователей с помощью векторов пользователей.[00131] In
[00132] В некоторых вариантах осуществления способа 600, инициализация матрицы 502 пользователей с помощью векторов пользователей включает в себя заполнение матрицы 502 пользователей с помощью случайных начальных значений векторов пользователей.[00132] In some embodiments of the
[00133] В некоторых вариантах осуществления способа 600, этап инициализации матрицы пользователей с помощью векторов пользователей включает в себя заполнение матрицы пользователей с помощью значений векторов пользователей, равных нулю.[00133] In some embodiments of
[00134] В некоторых вариантах осуществления способа 600, цифровой элемент представляет собой текстовый цифровой элемент и векторы элементов были созданы с помощью способа встраивания слов. Этап создания векторов элемента может быть осуществлен с помощью способа встраивания слов, способ встраивания слов представляет собой по меньшей мере один из: word2vec или латентное размещение Дирихле (LDA).[00134] In some embodiments of the
[00135] В некоторых вариантах осуществления способа 600, этап разложения выполняется с помощью анализа сингулярного разложения (SVD). Разложение далее включает в себя анализ разложения, анализ разложения выполняется с помощью алгоритма чередования наименьших квадратов (ALS).[00135] In some embodiments of the
[00136] 608 - итеративная оптимизация матрицы пользователей и матрицы элементов.[00136] 608 - Iterative optimization of a user matrix and an element matrix.
[00137] На этапе 608, модуль 116 выбора рекомендуемого содержимого итерационно оптимизирует матрицу 502 пользователей и матрицу 504 элементов.[00137] In
[00138] В некоторых вариантах осуществления способа 600, этап итеративной оптимизация матрицы 502 пользователей и матрицы 503 элементов выполняется до тех пора не будет достигнуто заранее определенное значение заранее определенной величины. Заранее определенная метрика может представлять собой (не устанавливая ограничений): Среднеквадратичное отклонение (RMSE) или среднюю абсолютную ошибку (MAR).[00138] In some embodiments of the
[00139] 610 - сохранение оптимизированной матрицы элементов[00139] 610 - saving an optimized matrix of elements
[00140] На этапе 610, модуль 116 выбора рекомендуемого содержимого сохраняет оптимизированную матрицу 504 элементов.[00140] At block 610, the recommended
[00141] В некоторых вариантах осуществления способа 600, после итерационной оптимизации матрица 502 пользователей опускается.[00141] In some embodiments of the
[00142] Использование оптимизированной матрицы 504 элементов для выбора рекомендуемого цифрового элемента 144[00142] Using the optimized
[00143] Как было упомянуто ранее, после того как модуль 116 выбора рекомендуемого содержимого сохраняет матрицу 504 оптимизированного элемента, матрица 504 оптимизированного элемента может быть использована для создания рекомендуемого цифрового элемента 144 для пользователя 102. Для этого, способ 600 далее включает в себя: при получении от электронного устройства 104 запроса на рекомендуемое содержимое 150, получение профиля пользователя, связанного с электронным устройством 104; и выбор по меньшей мере одного рекомендуемого элемента 144 содержимого, выбор осуществляется на основе профиля пользователя и оптимизированной матрицы 504 элементов.[00143] As previously mentioned, after the recommended
[00144] В некоторых вариантах осуществления способа, этап выбора включает в себя восстановление матрицы 400 оценок релевантности пользователь-элемент с помощью оптимизированной матрицы 504 элементов и профиля пользователя для создания восстановленной матрицы 400 оценок релевантности пользователь-элемент.[00144] In some embodiments of the method, the selection step includes reconstructing the user-to-
[00145] В некоторых вариантах осуществления способа, каждая пара пользователь-элемент восстановленной матрицы 400 оценок релевантности пользователь-элемент связана с соответствующей оценкой релевантности пользователь-элемент, соответствующая оценка релевантности пользователь-элемент представляет релевантность данного цифрового элемента 144 для пользователя 102.[00145] In some embodiments of the method, each user-item pair of the reconstructed user-item
[00146] В некоторых вариантах осуществления способа, профиль пользователя является вектором, созданном на основе истории просмотра пользователя.[00146] In some embodiments of the method, the user profile is a vector based on the user's browsing history.
[00147] Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть выполнены без проявления некоторых технических результатов, другие могут быть выполнены с проявлением других технических результатов или вовсе без них.[00147] It is important to keep in mind that not all of the technical results mentioned herein may be manifested in every embodiment of the present technology. For example, embodiments of the present technology can be performed without exhibiting some of the technical results, others can be executed with or without other technical effects.
[00148] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.[00148] Modifications and improvements to the above-described embodiments of the present technology will be apparent to those skilled in the art. The foregoing description is provided by way of example only and does not establish any limitation. Thus, the scope of the present technology is limited only by the scope of the appended claims.
[00149] Варианты осуществления настоящей технологии могут быть кратко изложены в пронумерованных пунктах.[00149] Embodiments of the present technology may be summarized in numbered paragraphs.
[00150] ПУНКТ 1 Способ (600) обучения алгоритма машинного обучения выбору рекомендуемого содержимого для пользователя (102) электронного устройства (104), способ выполняется на сервере (112) рекомендаций, доступном электронному устройству через сеть (ПО) передачи данных, сервер рекомендаций выполняет алгоритм машинного обучения после обучения; способ включает в себя:[00150] ITEM 1 Method (600) for teaching a machine learning algorithm to select recommended content for a user (102) of an electronic device (104), the method is performed on a recommendation server (112) accessible to an electronic device via a data transmission network (SW), the recommendation server executes post-learning machine learning algorithm; the method includes:
[00151] получение (602) указания на множество взаимодействий (140) пользователь-элемент, каждое взаимодействие пользователь-элемент связано с пользователем (142) и цифровым элементом (144);[00151] obtaining (602) an indication of a plurality of user-item interactions (140), each user-item interaction associated with a user (142) and a digital item (144);
[00152] на основе множества взаимодействий пользователь-элемент, создание (604) матрицы (400) оценок релевантности пользователь-элемент;[00152] based on the plurality of user-item interactions, creating (604) a matrix (400) of user-item relevance scores;
[00153] разложение (606) матрицы оценок релевантности пользователь-элемент на матрицу (502) пользователей и матрицы (504) элементов, разложение включает в себя:[00153] decomposition (606) of the user-element relevance assessment matrix into a matrix (502) of users and a matrix (504) of elements, the decomposition includes:
[00154] инициализацию матрицы элементов с помощью векторов элементов, векторы элементы были созданы таким образом, чтобы цифровые элементы с похожим содержимым обладали похожими векторами элементов,[00154] initializing a matrix of elements using vectors of elements, the vectors of elements were created in such a way that digital elements with similar contents have similar vectors of elements,
[00155] инициализацию матрицы пользователей с помощью векторов пользователей;[00155] initializing the user matrix with user vectors;
[00156] итеративную оптимизацию (608) матрицы пользователей и матрицы элементов;[00156] iterative optimization (608) of the user matrix and the element matrix;
[00157] сохранение (610) оптимизированной матрицы элементов.[00157] storing (610) the optimized matrix of elements.
[00158] ПУНКТ 2 Способ по п. 1, дополнительно включающий в себя:[00158]
[00159] при получении от электронного устройства запроса на рекомендуемое содержимое (150),[00159] upon receipt of a request for recommended content from an electronic device (150),
[00160] получение профиля пользователя, связанного с электронным устройством; и[00160] obtaining a user profile associated with the electronic device; and
[00161] выбор по меньшей мере одного рекомендуемого элемента (144) содержимого, выбор осуществляется на основе профиля пользователя и оптимизированной матрицы элементов.[00161] selection of at least one recommended content item (144), selection is made based on user profile and optimized matrix of items.
[00162] ПУНКТ 3 Способ по п. 2, в котором выбор включает в себя восстановление матрицы пользователь-элемент оценок с помощью оптимизированной матрицы элементов и профиля пользователя для создания восстановленной матрицы пользователь-элемент.[00162]
[00163] ПУНКТ 4 Способ по п. 3, в котором каждая пара пользователь-элемент восстановленной матрицы пользователь-элемент связана с соответствующей оценкой релевантности пользователь-элемент, соответствующая оценка релевантности пользователь-элемент представляет релевантность данного цифрового элемента для пользователя.[00163]
[00164] ПУНКТ 5 Способ по п. 2, в котором профиль пользователя является вектором, созданном на основе истории просмотра пользователя.[00164]
[00165] ПУНКТ 6 Способ по любому из пп. 1-5, в котором инициализация матрицы пользователей с помощью векторов пользователей включает в себя заполнение матрицы пользователей с помощью случайных значений векторов пользователей.[00165] ITEM 6 The method according to any one of claims. 1-5, in which initializing the user matrix with user vectors includes populating the user matrix with random values of the user vectors.
[00166] ПУНКТ 7 Способ по любому из пп. 1-5, в котором инициализация матрицы пользователей с помощью векторов пользователей включает в себя заполнение матрицы пользователей с помощью первоначальных значений векторов пользователей, равных нулю.[00166] ITEM 7 The method according to any one of claims. 1-5, in which initializing the user matrix with user vectors includes populating the user matrix with the initial values of the user vectors being zero.
[00167] ПУНКТ 8 Способ по любому из пп. 1-7, в котором после упомянутой итерационной оптимизации, матрица пользователей опускается.[00167] ITEM 8 The method according to any one of claims. 1-7, in which, after said iterative optimization, the user matrix is omitted.
[00168] ПУНКТ 9 Способ по любому из пп. 1-8, в котором цифровой элемент представляет собой текстовый цифровой элемент и причем векторы элементов были созданы с помощью способа встраивания слов.[00168] ITEM 9 The method according to any one of claims. 1-8, in which the numeric item is a text numeric item, and wherein the item vectors have been generated using the word embedding method.
[00169] ПУНКТ 10 Способ по п. 9, который далее включает в себя создание векторов элементов с помощью способа встраивания слов, способ встраивания слов представляет собой по меньшей мере один из: word2vec или латентное размещение Дирихле (LDA).[00169] CLAUSE 10 The method of claim 9, which further includes generating vectors of elements with a word embedding method, the word embedding method is at least one of word2vec or Latent Dirichlet Allocation (LDA).
[00170] ПУНКТ 11 Способ по любому из пп. 1-10, в котором разложение выполняется с помощью анализа сингулярного разложения (SVD).[00170] ITEM 11 The method according to any one of claims. 1-10, in which the decomposition is performed using a singular value decomposition (SVD) analysis.
[00171] ПУНКТ 12 Способ по п. 11, в котором разложение далее включает в себя анализ разложения, который выполняется с помощью алгоритма чередования наименьших квадратов (ALS).[00171] ITEM 12 The method of claim 11, wherein the decomposition further includes decomposition analysis that is performed using an alternating least squares (ALS) algorithm.
[00172] ПУНКТ 13 Способ по любому из пп. 1-12, в котором упомянутое получение указания на множество взаимодействий пользователь-элемент включает в себя получение указания на множество взаимодействий пользователь-элемент из историй просмотра пользователей.[00172] ITEM 13 The method according to any one of claims. 1-12, wherein said obtaining an indication of a plurality of user-item interactions includes obtaining an indication of a plurality of user-item interactions from user browsing histories.
[00173] ПУНКТ 14 Способ по п. 13, в котором взаимодействие пользователя-элемент представляет собой: время, проведенное во взаимодействии с цифровым элементом, загрузку цифрового элемента, репост цифрового элемента, добавление в закладки цифрового элемента, оставление комментария, связанного с цифровым элементом, оставление «лайка» цифровому элементу и обновление цифрового элемента.[00173] ITEM 14 The method of claim 13, wherein the user-item interaction is: time spent interacting with the digital item, downloading the digital item, reposting the digital item, bookmarking the digital item, leaving a comment associated with the digital item , leaving a “like” to the digital item and updating the digital item.
[00174] ПУНКТ 15 Способ по любому из пп. 1-14, в котором итеративная оптимизация матрицы пользователей и матрицы элементов выполняется до тех пора не будет достигнуто заранее определенное значение заранее определенной величины.[00174] ITEM 15 The method according to any one of paragraphs. 1-14, in which iterative optimization of the user matrix and the element matrix is performed until a predetermined value of a predetermined value is reached.
[00175] ПУНКТ 16 Способ по п. 15, в котором заранее определенная метрика представляет собой одно из следующего: Среднеквадратичное отклонение (RMSE) и средняя абсолютная ошибка (MAR).[00175] ITEM 16 The method of claim 15, wherein the predetermined metric is one of the following: Standard deviation (RMSE) and mean absolute error (MAR).
[00176] ПУНКТ 17 Сервер (112), включающий в себя:[00176] ITEM 17 Server (112), including:
[00177] носитель (118) данных;[00177] a storage medium (118);
[00178] сетевой интерфейс, выполненный с возможностью соединения по сети передачи данных;[00178] a network interface capable of being connected over a data network;
[00179] процессор (114), функционально соединенный с носителем данных и сетевым интерфейсом, причем процессор выполнен с возможностью выполнять способ по любому из пп. 1-16.[00179] a processor (114), functionally connected to a storage medium and a network interface, the processor being configured to perform a method according to any one of claims. 1-16.
13. Способ по п. 1, в котором упомянутое получение указания на множество взаимодействий пользователь-элемент включает в себя получение указания на множество взаимодействий пользователь-элемент из историй просмотра пользователей.13. The method of claim 1, wherein receiving an indication of the plurality of user-item interactions includes obtaining an indication of the plurality of user-item interactions from user browsing histories.
14. Способ по п. 13, в котором взаимодействие пользователя-элемент представляет собой: время, проведенное во взаимодействии с цифровым элементом, загрузку цифрового элемента, репост цифрового элемента, добавление в закладки цифрового элемента, оставление комментария, связанного с цифровым элементом, оставление «лайка» цифровому элементу и обновление цифрового элемента.14. The method according to claim 13, wherein the user-item interaction is: time spent interacting with the digital item, downloading the digital item, reposting the digital item, adding the digital item to bookmarks, leaving a comment associated with the digital item, leaving like "digital item and updating the digital item.
15. Способ по п. 1, в котором итеративная оптимизация матрицы пользователей и матрицы элементов выполняется до тех пора не будет достигнуто заранее определенное значение заранее определенной величины.15. The method of claim 1, wherein the iterative optimization of the user matrix and the element matrix is performed until a predetermined value of the predetermined value is reached.
16. Способ по п. 15, в котором заранее определенное значение заранее определенной величины представляет собой одно из следующего: Среднеквадратичное отклонение (RMSE) и средняя абсолютная ошибка (MAR).16. The method of claim 15, wherein the predetermined value of the predetermined magnitude is one of the following: Standard deviation (RMSE) and mean absolute error (MAR).
17. Сервер включает в себя:17. The server includes:
носитель данных;data carrier;
сетевой интерфейс, выполненный с возможностью соединения по сети передачи данных;a network interface configured to connect over a data network;
процессор, функционально соединенный с носителем данным и сетевым интерфейсом, процессор выполняется с возможностью осуществлять:a processor functionally connected to a data carrier and a network interface, the processor is configured to:
получение указания на множество взаимодействий пользователь-элемент, каждое взаимодействие пользователь-элемент связано с пользователем и цифровым элементом; на основе множества взаимодействий пользователь-элемент, создание матрицы оценок релевантности пользователь-элемент;obtaining an indication of a plurality of user-item interactions, each user-item interaction associated with a user and a digital item; based on a variety of user-element interactions, creating a matrix of user-element relevance scores;
разложение матрицы оценок релевантности пользователь-элемент на матрицу пользователей и матрицы элементов, разложение включает в себя:decomposition of the user-element relevance assessment matrix into a matrix of users and a matrix of elements, the decomposition includes:
инициализацию матрицы элементов с помощью векторов элементов, векторы элементы были созданы таким образом, чтобы цифровые элементы с похожим содержимым обладали похожими векторами элементов, инициализацию матрицы пользователей с помощью векторов пользователей;initialization of the matrix of elements using vectors of elements, the vectors of elements were created in such a way that digital elements with similar content had similar vectors of elements, initialization of the matrix of users using vectors of users;
итеративную оптимизацию матрицы пользователей и матрицы элементов,iterative optimization of the user matrix and the element matrix,
сохранение оптимизированной матрицы элементов в носителе данных.storing the optimized matrix of elements in the data carrier.
Claims (33)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016136414A RU2731659C2 (en) | 2016-09-09 | 2016-09-09 | Method and apparatus for training machine learning algorithm (mla) for creating content recommendations in a recommendation system and a method and apparatus for creating recommended content using a machine learning algorithm |
US15/607,555 US20180075137A1 (en) | 2016-09-09 | 2017-05-29 | 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 |
EP17189557.6A EP3293646A1 (en) | 2016-09-09 | 2017-09-06 | Method and server for training a machine learning algorithm (mla) for content recommendation generation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016136414A RU2731659C2 (en) | 2016-09-09 | 2016-09-09 | Method and apparatus for training machine learning algorithm (mla) for creating content recommendations in a recommendation system and a method and apparatus for creating recommended content using a machine learning algorithm |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2016136414A RU2016136414A (en) | 2018-12-11 |
RU2016136414A3 RU2016136414A3 (en) | 2018-12-11 |
RU2731659C2 true RU2731659C2 (en) | 2020-09-07 |
Family
ID=61560077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016136414A RU2731659C2 (en) | 2016-09-09 | 2016-09-09 | Method and apparatus for training machine learning algorithm (mla) for creating content recommendations in a recommendation system and a method and apparatus for creating recommended content using a machine learning algorithm |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180075137A1 (en) |
RU (1) | RU2731659C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2828354C2 (en) * | 2022-07-05 | 2024-10-09 | Общество с ограниченной ответственностью "Яндекс Музыка" | Method and server for generating machine learning model |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2632131C2 (en) | 2015-08-28 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Method and device for creating recommended list of content |
RU2629638C2 (en) | 2015-09-28 | 2017-08-30 | Общество С Ограниченной Ответственностью "Яндекс" | Method and server of creating recommended set of elements for user |
RU2632100C2 (en) | 2015-09-28 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Method and server of recommended set of elements creation |
US10432689B2 (en) * | 2016-02-15 | 2019-10-01 | Netflix, Inc. | Feature generation for online/offline machine learning |
RU2632144C1 (en) | 2016-05-12 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Computer method for creating content recommendation interface |
RU2632132C1 (en) * | 2016-07-07 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Method and device for creating contents recommendations in recommendations system |
RU2636702C1 (en) | 2016-07-07 | 2017-11-27 | Общество С Ограниченной Ответственностью "Яндекс" | Method and device for selecting network resource as source of content in recommendations system |
USD882600S1 (en) | 2017-01-13 | 2020-04-28 | Yandex Europe Ag | Display screen with graphical user interface |
US11361243B2 (en) * | 2017-06-07 | 2022-06-14 | Accenture Global Solutions Limited | Recommending machine learning techniques, features, and feature relevance scores |
US11004135B1 (en) * | 2017-08-18 | 2021-05-11 | Amazon Technologies, Inc. | Artificial intelligence system for balancing relevance and diversity of network-accessible content |
US10795647B2 (en) * | 2017-10-16 | 2020-10-06 | Adobe, Inc. | Application digital content control using an embedded machine learning module |
US10762153B2 (en) * | 2017-11-27 | 2020-09-01 | Adobe Inc. | Collaborative-filtered content recommendations with justification in real-time |
CN110210691B (en) * | 2018-04-27 | 2024-02-06 | 腾讯科技(深圳)有限公司 | Resource recommendation method, device, storage medium and equipment |
US10839014B1 (en) * | 2018-08-09 | 2020-11-17 | Facebook, Inc. | Multiple representations of a user in an embedding space |
RU2720899C2 (en) | 2018-09-14 | 2020-05-14 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for determining user-specific content proportions for recommendation |
RU2720952C2 (en) | 2018-09-14 | 2020-05-15 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for generating digital content recommendation |
RU2714594C1 (en) | 2018-09-14 | 2020-02-18 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for determining parameter relevance for content items |
CN109509054B (en) * | 2018-09-30 | 2023-04-07 | 平安科技(深圳)有限公司 | Commodity recommendation method under mass data, electronic device and storage medium |
RU2725659C2 (en) | 2018-10-08 | 2020-07-03 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for evaluating data on user-element interactions |
RU2731335C2 (en) | 2018-10-09 | 2020-09-01 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for generating recommendations of digital content |
CA3117662A1 (en) * | 2018-10-24 | 2020-04-30 | Marketspringpad Ip Usa Llc. | Methods and systems for interactive data management |
RU2746848C1 (en) | 2018-12-13 | 2021-04-21 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for determining the next state of the recommendations block to display in a web browser |
RU2739520C1 (en) | 2018-12-13 | 2020-12-25 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for selective presentation of recommendations in a browser application |
US10715869B1 (en) | 2018-12-20 | 2020-07-14 | Rovi Guides, Inc. | Deep reinforcement learning for personalized screen content optimization |
US11922359B2 (en) * | 2019-04-29 | 2024-03-05 | Abb Schweiz Ag | System and method for securely training and using a model |
KR20210012730A (en) * | 2019-07-26 | 2021-02-03 | 삼성전자주식회사 | Learning method of artificial intelligence model and electronic apparatus |
CN110427560B (en) * | 2019-08-08 | 2024-04-26 | 腾讯科技(深圳)有限公司 | Model training method applied to recommendation system and related device |
RU2757406C1 (en) | 2019-09-09 | 2021-10-15 | Общество С Ограниченной Ответственностью «Яндекс» | Method and system for providing a level of service when advertising content element |
CN110580316A (en) * | 2019-09-09 | 2019-12-17 | 河南戎磐网络科技有限公司 | Recommendation method based on quantum heuristic |
US11468489B2 (en) * | 2019-10-31 | 2022-10-11 | Walmart Apollo, Llc | System, non-transitory computer readable medium, and method for self-attention with functional time representation learning |
US12088565B2 (en) * | 2019-12-13 | 2024-09-10 | Triplelind Holdings, Inc. | Systems and methods for privacy preserving training and inference of decentralized recommendation systems from decentralized data |
CN111241408B (en) * | 2020-01-21 | 2023-05-30 | 武汉轻工大学 | Recommendation model construction system and method |
CN111339240B (en) * | 2020-02-10 | 2024-04-26 | 北京达佳互联信息技术有限公司 | Object recommendation method, device, computing equipment and storage medium |
US20210279658A1 (en) * | 2020-03-03 | 2021-09-09 | Open Text Sa Ulc | Systems and methods for multi-channel customer communications content recommender |
US11687829B2 (en) * | 2020-04-28 | 2023-06-27 | Optum Services (Ireland) Limited | Artificial intelligence recommendation system |
CN111881358B (en) * | 2020-07-31 | 2021-08-03 | 北京达佳互联信息技术有限公司 | Object recommendation system, method and device, electronic equipment and storage medium |
CN112100370B (en) * | 2020-08-10 | 2023-07-25 | 淮阴工学院 | Picture-trial expert combination recommendation method based on text volume and similarity algorithm |
US11544317B1 (en) * | 2020-08-20 | 2023-01-03 | Pinterest, Inc. | Identifying content items in response to a text-based request |
CN111885575B (en) * | 2020-09-28 | 2021-02-26 | 深圳市汇顶科技股份有限公司 | Stream endpoint control method, electronic device, and storage medium |
US11822447B2 (en) | 2020-10-06 | 2023-11-21 | Direct Cursus Technology L.L.C | Methods and servers for storing data associated with users and digital items of a recommendation system |
US12026166B2 (en) | 2020-11-30 | 2024-07-02 | Direct Cursus Technology L.L.C | Method and system for determining rank positions of elements by a ranking system |
US12086149B2 (en) | 2021-04-09 | 2024-09-10 | Y.E. Hub Armenia LLC | Method and system for determining rank positions of content elements by a ranking system |
CN113268670B (en) * | 2021-06-16 | 2022-09-27 | 中移(杭州)信息技术有限公司 | Latent factor hybrid recommendation method, device, equipment and computer storage medium |
WO2023111842A1 (en) * | 2021-12-13 | 2023-06-22 | Communaute Woopen Inc. | Server and method for generating digital content for users of a recommendation system |
US11816654B2 (en) | 2021-12-17 | 2023-11-14 | Bank Of America Corporation | Geographic location based mobile transaction adapter |
US20240007416A1 (en) * | 2022-07-01 | 2024-01-04 | GM Global Technology Operations LLC | Discovery of remote resource providers for offloading computational processes |
CN115544386A (en) * | 2022-12-02 | 2022-12-30 | 南京新米网络科技有限公司 | Method, device and storage medium for recommending user |
CN116777063B (en) * | 2023-06-20 | 2024-02-27 | 广东工业大学 | Two-dimensional boxing method based on one-tool cutting constraint and branch pricing algorithm |
CN118505362A (en) * | 2024-07-19 | 2024-08-16 | 支付宝(杭州)信息技术有限公司 | Product recommendation method and device |
CN118568522A (en) * | 2024-08-02 | 2024-08-30 | 潍坊学院 | Digital media management system based on big data technology |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030159A1 (en) * | 2010-07-30 | 2012-02-02 | Gravity Research & Development Kft. | Recommender Systems and Methods |
US20140129500A1 (en) * | 2012-11-07 | 2014-05-08 | Microsoft Corporation | Efficient Modeling System |
US20150052003A1 (en) * | 2013-08-19 | 2015-02-19 | Wal-Mart Stores, Inc. | Providing Personalized Item Recommendations Using Scalable Matrix Factorization With Randomness |
US9110955B1 (en) * | 2012-06-08 | 2015-08-18 | Spotify Ab | Systems and methods of selecting content items using latent vectors |
RU2577189C2 (en) * | 2010-06-15 | 2016-03-10 | Функе Диджитал Тв Гайд Гмбх | Profile based content retrieval for recommender systems |
-
2016
- 2016-09-09 RU RU2016136414A patent/RU2731659C2/en not_active Application Discontinuation
-
2017
- 2017-05-29 US US15/607,555 patent/US20180075137A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2577189C2 (en) * | 2010-06-15 | 2016-03-10 | Функе Диджитал Тв Гайд Гмбх | Profile based content retrieval for recommender systems |
US20120030159A1 (en) * | 2010-07-30 | 2012-02-02 | Gravity Research & Development Kft. | Recommender Systems and Methods |
US9110955B1 (en) * | 2012-06-08 | 2015-08-18 | Spotify Ab | Systems and methods of selecting content items using latent vectors |
US20140129500A1 (en) * | 2012-11-07 | 2014-05-08 | Microsoft Corporation | Efficient Modeling System |
US20150052003A1 (en) * | 2013-08-19 | 2015-02-19 | Wal-Mart Stores, Inc. | Providing Personalized Item Recommendations Using Scalable Matrix Factorization With Randomness |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2828354C2 (en) * | 2022-07-05 | 2024-10-09 | Общество с ограниченной ответственностью "Яндекс Музыка" | Method and server for generating machine learning model |
Also Published As
Publication number | Publication date |
---|---|
US20180075137A1 (en) | 2018-03-15 |
RU2016136414A (en) | 2018-12-11 |
RU2016136414A3 (en) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2731659C2 (en) | Method and apparatus for training machine learning algorithm (mla) for creating content recommendations in a recommendation system and a method and apparatus for creating recommended content using a machine learning algorithm | |
US10706100B2 (en) | Method of and system for recommending media objects | |
JP7411651B2 (en) | Techniques for ranking content item recommendations | |
US10430481B2 (en) | Method and apparatus for generating a content recommendation in a recommendation system | |
US10706325B2 (en) | Method and apparatus for selecting a network resource as a source of content for a recommendation system | |
RU2720899C2 (en) | Method and system for determining user-specific content proportions for recommendation | |
US10387115B2 (en) | Method and apparatus for generating a recommended set of items | |
RU2725659C2 (en) | Method and system for evaluating data on user-element interactions | |
RU2632148C2 (en) | System and method of search results rating | |
RU2731335C2 (en) | Method and system for generating recommendations of digital content | |
EP3293646A1 (en) | Method and server for training a machine learning algorithm (mla) for content recommendation generation | |
RU2714594C1 (en) | Method and system for determining parameter relevance for content items | |
RU2731658C2 (en) | Method and system of selection for ranking search results using machine learning algorithm | |
US10176260B2 (en) | Measuring semantic incongruity within text data | |
US10353974B2 (en) | Methods and systems for refining search results | |
CN105283843B (en) | Embeddable media content search widget | |
EP3267386A1 (en) | Method and apparatus for generating a content recommendation in a recommendation system | |
WO2014158834A1 (en) | Identifying salient items in documents | |
WO2016156952A1 (en) | Method of and system for processing a search query | |
Schaer et al. | Overview of lilas 2021–living labs for academic search | |
US9519710B1 (en) | Dynamic classification of attribute relevance and classification | |
EP3267389A1 (en) | Method and apparatus for selecting a network resource as a source of content for a recommendation system | |
US11822447B2 (en) | Methods and servers for storing data associated with users and digital items of a recommendation system | |
RU2778382C2 (en) | Method for training machine learning algorithm for formation of predicted joint vector representation for digital element | |
Azimi et al. | Identifying the Capabilities of Expert Systems and Chatbots in Libraries: A Systematic Review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA92 | Acknowledgement of application withdrawn (lack of supplementary materials submitted) |
Effective date: 20190710 |
|
FZ9A | Application not withdrawn (correction of the notice of withdrawal) |
Effective date: 20200617 |