[01] Настоящая технология в целом относится к системам рекомендаций; и, в частности, к способу предоставления индивидуальных рекомендаций пользователям платформ для онлайн-торговли.
Уровень техники
[02] Растущая популярность онлайн-покупок привела к развитию так называемых платформ для электронной онлайн-торговли, позволяющих пользователям совершать покупки определенных товаров и/или услуг (в совокупности именуемых здесь «товарами») в режиме онлайн у одного или более продавцов. Вообще говоря, данная платформа для онлайн-торговли, как упоминается здесь, является электронным онлайн-ресурсом, предоставляющим пользователям возможность искать интересующие товары, получать определенную информацию о них и в дальнейшем покупать интересующие товары у продавцов. Таким образом, таких пользователей можно назвать «покупателями». Примеры таких платформ для онлайн-торговли могут включать в себя платформу для онлайн-торговли AmazonTM, платформу для онлайн-торговли Ozon.ruTM и платформу для онлайн-торговли KijijiTM, которые могут включать в себя огромное количество, например, сотни, тысячи или даже миллионы товаров для представления данному пользователю по соответствующему поисковому запросу.
[03] Одной из дополнительных возможностей, которые может предоставить данная платформа для онлайн-торговли, является предоставление рекомендаций по товарам для данного пользователя, в настоящее время взаимодействующего с данным товаром. Например, данный пользователь может искать данный товар, просматривая информацию о данном товаре в течение заранее определенного времени (например, читая отзыв, оставленный предыдущими пользователями), запрашивать дополнительную информацию по данному товару через специальное диалоговое окно, и тому подобное. С этой целью данная платформа для онлайн-торговли может быть сконфигурирована, чтобы предоставлять в качестве рекомендаций по товарам для данного товара один или более товаров, которые аналогичны данному товару, с которым взаимодействует пользователь. Например, аналогичные товары могут включать в себя товары одной и той же категории товаров и/или одинаковые товары, доступные у разных продавцов.
[04] Однако аналогичные товары, предоставляемые данной платформой для онлайн-торговли, могут не восприниматься данным пользователем как актуальные, что потенциально может негативно повлиять на пользовательский опыт данного пользователя.
[05] Для решения указанной выше технической проблемы, были предложены некоторые подходы предшествующего уровня техники, нацеленные на предоставление рекомендаций по товарам, которые воспринимаются пользователями как релевантные.
[06] Публикация патентной заявки США за номером 2020/250,734-A1, опубликованная 6 августа 2020 года, права на которую принадлежат Target Brands Inc и озаглавленной “Item Recommendations Using Convolutions on Weighted Graphs”, раскрывает способы и системы для создания рекомендаций по товарам. Один способ включает в себя выборку из взвешенного графа на основе узлов для создания выборочного графа, при этом выборка включает в себя выбор множества узлов и, для каждого выбранного узла, одной или более пар узлов. Выбор пар узлов основан, по меньшей мере частично, на весе, присвоенном паре узлов во взвешенном графе на основе узлов. Способ дополнительно включает в себя агрегирование информации из одного или более соседних узлов в каждый соответствующий узел из множества узлов в выбранном графе для генерирования векторного представления выборочного графа. Способ также включает в себя применение функции потерь к векторному представлению выборочного графа для создания модифицированного векторного представления. Модифицированное векторное представление используется для генерирования, в ответ на идентификацию товара из коллекции товаров, выбора одного или более рекомендуемых товаров из коллекции товаров.
[07] Публикация патентной заявки США за номером: 2015/149,484-A1, опубликованной 28 мая 2015 г., права на которую принадлежат Here Global IBV и озаглавленной “Graph-based Recommendations Service Systems and Methods”, раскрывает механизм рекомендаций, предоставляющий рекомендации путем получения компактного представления в виде графа, представляющего граф рекомендаций, состоящий из узлов и взвешенных ребер. Каждый узел связан с метаданными типа, указывающими, что он представляет собой рекомендуемый товар или не рекомендуемый товар. Каждое взвешенное ребро связано с метаданными веса ребра. Компактное представление в виде графа может храниться в основной памяти. При обслуживании запроса на рекомендацию по товару, механизм рекомендаций выбирает узел входа, по меньшей мере частично на основе метаданных контекста, связанных с запросом, и просматривает только имеющую высокий вес часть компактного представления в виде графа, которая является ближайшей к узлу входа, чтобы выбрать пути, ведущие соответственно к потенциальным узлам рекомендаций. Каждый путь оценивается на основе метаданных веса ребра всех сегментов, и по меньшей мере один узел рекомендации выбирается, по меньшей мере частично, на основе оценок пути.
Сущность изобретения
[08] Следовательно, существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники.
[09] Разработчики настоящей технологии осознали, что качество рекомендаций по товарам может быть повышено, если рекомендуемые товары для данного товара, с которым взаимодействует данный пользователь, были созданы на основе аналогичных взаимодействий предыдущих пользователей. Более конкретно, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, рекомендуемые товары могут быть созданы для данного товара на основе частоты появления других товаров, которые были, например, указаны для одной покупки вместе с данным товаром, путем помещения его в корзину для покупок предыдущими пользователями.
[010] Кроме того, разработчики осознали, что для предоставления рекомендуемых товаров, актуальных для данного пользователя, то есть тех, которые могут быть интересны данному пользователю, предварительно выбранные рекомендуемые товары могут быть ранжированы на основе конкретных характеристик профиля данного пользователя. Такие характеристики, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, могут включать в себя, например, характеристики, полученные из истории просмотров пользователя, и определенные параметры и/или данные электронного устройства данного пользователя, используемого для доступа к данной платформе для онлайн-торговли. Таким образом, способы и системы, описанные в данном документе, направлены на определение, для данного товара, рекомендуемых товаров, которые могут быть восприняты как представляющие интерес для данного пользователя в рамках рекомендуемых товаров, которые считались относящимися к данному товару предыдущими пользователями данной платформы для онлайн-торговли.
[011] Например, если данный пользователь указал телевизор для покупки, поместив указание об этом в корзину для покупок, на основании данных о корзине для покупок предыдущих пользователей, которые приобрели этот телевизор ранее, данная платформа для онлайн-торговли может быть сконфигурирована для (1) создания набора рекомендуемых товаров, включая товары, которые были куплены вместе с телевизором; и (2) указания наиболее популярного товара из набора рекомендуемых товаров, такого как звуковая система, как наиболее рекомендуемого товара для телевизора. Однако данная платформа для онлайн-торговли может быть дополнительно сконфигурирована для вывода заключения, на основе данных профиля данного пользователя, что данный пользователь может не интересоваться звуковой системой, поскольку он, вероятно, уже имеет ее. Таким образом, данная платформа для онлайн-торговли может быть сконфигурирована так, чтобы предоставлять в качестве наиболее рекомендуемого товара данному пользователю указание другого товара, такого как кабель HDMI, который определен как более подходящий для данного пользователя из набора рекомендуемых товаров, которые были куплены вместе с телевизором.
[012] Таким образом, неограничивающие варианты осуществления настоящей технологии направлены на способы и системы для более точного определения рекомендуемых товаров, релевантных и/или интересных для данного пользователя, что в конечном итоге может привести к улучшению как пользовательского опыта данного пользователя, так и среднего размера покупки на данной платформе для онлайн-торговли.
Техническими результатами, объективно проявляющимися при осуществлении заявленной группы изобретений, являются:
• расширение арсенала технических средств, обеспечивающих определение рекомендуемого товара для конкретного пользователя;
• повышение точности (релевантности) персонализированной рекомендации для выбранного пользователя за счёт повышения качества персонализации;
• повышение качества работы рекомендательной системы за счёт модифицированной модели (MLA) с использованием пользовательских данных.
[013] Более конкретно, в соответствии с первым широким аспектом настоящей технологии предоставляется реализуемый компьютером способ рекомендации товаров на платформе для онлайн-торговли. Платформа для онлайн-торговли размещается на сервере. Сервер имеет доступ к запоминающему устройству, хранящему множество товаров для продажи на платформе для онлайн-торговли, при этом данная пара товаров из множества товаров связана с соответствующей оценкой взаимной популярности, указывающей частоту появления данной пары товаров, выбранных предыдущими пользователями платформы для онлайн-торговли для одной покупки. Способ выполняется сервером, включающим в себя процессор, коммуникативно связанный с электронным устройством пользователя. Способ, содержит: прием, от электронного устройства, запроса рекомендаций по товарам, причем запрос был инициирован пользователем, указавшим данный товар из множества товаров для покупки на платформе для онлайн-торговли; идентификацию процессором во множестве элементов, на основе данного товара, набора рекомендуемых товаров, причем идентификация основана на соответствующих оценках взаимной популярности множества элементов относительно данного товара; получение процессором пользовательских данных, связанных с пользователем; определение, на основе пользовательских данных, для данного одного из ранжированных наборов рекомендуемых товаров, соответствующего значения параметра ранжирования для конкретного пользователя, причем соответствующее значение параметра ранжирования для конкретного пользователя указывает значение вероятности восприятия пользователем данного одного товара из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя; ранжирование набора рекомендуемых товаров в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, связанного с ним, тем самым генерируя ранжированный набор рекомендуемых товаров; и выбор, из ранжированного набора рекомендуемых товаров, по меньшей мере одного рекомендуемого товара для передачи его указания на электронное устройство для представления по меньшей мере одного рекомендуемого товара пользователю.
[014] В некоторых реализациях способа, соответствующая оценка взаимной популярности, связанная с данной парой товаров, была определена на основе исторических данных предыдущих пользователей платформы для онлайн-торговли.
[015] В некоторых реализациях способа, идентификация набора рекомендуемых товаров дополнительно содержит: ранжирование множества товаров согласно соответствующим оценкам взаимной популярности, связанным с ним, относительно данного товара; и выбор заранее определенного количества товаров с наивысшими числами из множества товаров для включения их в набор рекомендуемых товаров.
[016] В некоторых реализациях способа, множество товаров может быть представлено в виде графа, в котором: данный узел графа представляет соответствующий один из множества товаров, и данное ребро графа, соединяющее данную пару узлов, связанных с данной парой товаров, представляет соответствующую оценку взаимной популярности между ними, и при этом идентификация набора рекомендуемых товаров включает в себя: идентификацию узлов графа, соединенных с узлом, связанным с данным товаром, соответствующими ребрами.
[017] В некоторых реализациях способа, определение соответствующего значения параметра ранжирования для конкретного пользователя включает в себя применение процессором алгоритма машинного обучения (MLA), обученного для определения параметра ранжирования для конкретного пользователя, связанного с пользователем для данного товара на основе пользовательских данных.
[018] В некоторых реализациях способа, пользовательские данные, связанные с пользователем, включают в себя одну или более социально-демографических характеристик пользователя, и при этом получение пользовательских данных включает в себя определение процессором одной или более его социально-демографических характеристик.
[019] В некоторых реализациях способа, одна или более социально-демографических характеристик включает в себя по меньшей мере одно из возраста пользователя, пола пользователя, статуса занятости пользователя и среднего дохода пользователя.
[020] В некоторых реализациях способа, пользовательские данные включают в себя данные просмотров пользователем и данные пользовательского устройства электронного устройства; и MLA включает в себя первую модель и вторую модель; при этом: первая модель была обучена определять первое значение вероятности того, что пользователь воспримет данный один товар из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя на основе данных просмотров пользователем; вторая модель была обучена определять второе значение вероятности того, что пользователь воспримет данный один товар из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя, на основе данных пользовательского устройства; и при этом: определение соответствующего значения параметра ранжирования для конкретного пользователя включает в себя объединение первого значения вероятности и второго значения вероятности.
[021] В некоторых реализациях способа каждому из первого значения вероятности и второго значения вероятности присваивается соответствующее заранее определенное значение веса.
[022] В некоторых реализациях способа, первая и вторая модели обучались независимо.
[023] В некоторых реализациях способа, данные просмотров пользователем включают в себя данные просмотров пользователем множества заранее определенных веб-ресурсов.
[024] В некоторых реализациях способа, данные пользовательского устройства включают в себя по меньшей мере одно из: модели электронного устройства; производителя электронного устройства; географических данных от электронного устройства; и данных приложений, установленных на электронном устройстве.
[025] В некоторых реализациях способа, каждую из первой модели и второй модели повторно обучают с заданной частотой.
[026] В некоторых реализациях способа, представление по меньшей мере одного рекомендуемого товара пользователю выполняется для будущего запроса рекомендаций по товарам, инициированного пользователем, указывающим другой товар из множества товаров для покупки на платформе для онлайн-торговли, при этом другой товар отличается от данного товара.
[027] В соответствии со вторым широким аспектом настоящей технологии предоставляется система для рекомендации товаров на платформе для онлайн-торговли. Система содержит сервер, на котором размещается платформа для онлайн-торговли. Сервер включает в себя: процессор, коммуникативно связанный с электронным устройством пользователя; запоминающее устройство, в котором хранятся: множество товаров для продажи на платформе для онлайн-торговли, при этом данная пара товаров из множества товаров связана с соответствующей оценкой взаимной популярности, указывающей частоту появления данной пары товаров, выбранных предыдущими пользователями платформы для онлайн-торговли для одной покупки; и компьютерно-читаемые инструкции. Процессор, после выполнения компьютерно-читаемых инструкций, сконфигурирован для: приема, от электронного устройства, запроса рекомендаций по товарам, причем запрос был инициирован пользователем, указавшим данный товар из множества товаров для покупки в платформе для онлайн-торговли; идентификации, во множестве товаров, на основе соответствующих оценок взаимной популярности множества товаров по отношению к данному товару, набора рекомендуемых товаров, получения пользовательских данных, связанных с пользователем; определения, на основе пользовательских данных, для данного одного из ранжированных наборов рекомендуемых товаров, соответствующего значения параметра ранжирования для конкретного пользователя, при этом соответствующее значение параметра ранжирования для конкретного пользователя указывает значение вероятности восприятия пользователем данного одного товара из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя; ранжирования набора рекомендуемых товаров в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, связанного с ним, тем самым генерируя ранжированный набор рекомендуемых товаров; и выбора, из ранжированного набора рекомендуемых товаров, по меньшей мере одного рекомендуемого товара для передачи его указания на электронное устройство для представления по меньшей мере одного рекомендуемого товара пользователю.
[028] В некоторых реализациях системы, процессор сконфигурирован для определения соответствующей оценки взаимной популярности, связанной с данной парой товаров, на основе исторических данных предыдущих пользователей платформы для онлайн-торговли.
[029] В некоторых реализациях системы, в которой для идентификации набора рекомендуемых товаров процессор дополнительно сконфигурирован для: ранжирования множества товаров согласно соответствующим оценкам взаимной популярности, связанным с ним, относительно данного товара; и выбора заранее определенного количества товаров с наивысшими числами из множества товаров для включения их в набор рекомендуемых товаров.
[030] В некоторых реализациях системы, процессор сконфигурирован для представления множества товаров в форме графа, при этом: данный узел графа представляет соответствующий один из множества товаров и данное ребро графа, соединяющее данную пару узлов, связанных с данной парой товаров, представляет соответствующую оценку взаимной популярности между ними, и при этом для идентификации набора рекомендуемых товаров процессор сконфигурирован для: идентификации узлов графа, соединенных с узлом, связанным с данным товаром, соответствующими ребрами.
[031] В некоторых реализациях системы, для определения соответствующего значения параметра ранжирования для конкретного пользователя, процессор сконфигурирован для применения алгоритма машинного обучения (MLA), обученного для определения параметра ранжирования для конкретного пользователя, связанного с пользователем для данного товара на основе пользовательских данных.
[032] В некоторых реализациях системы, пользовательские данные, связанные с пользователем, включают в себя одну или более социально-демографических характеристик пользователя, и при этом для получения пользовательских данных процессор сконфигурирован для определения одной или более их социально-демографических характеристик.
[033] В контексте настоящего описания, «сервер» - это компьютерная программа, которая работает на соответствующем аппаратном обеспечении и способна принимать запросы (например, от электронных устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, полученные инструкции или запросы) или любая конкретная задача была получена, выполнена или вызвана к выполнению одним и тем же сервером (то есть одним и тем же программным и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или более серверами, оба из которых включены в выражение «по меньшей мере один сервер».
[034] В контексте настоящего описания, «электронное устройство» - это любое компьютерное аппаратное обеспечение, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя самоуправляемый блок, персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств.
[035] В контексте настоящего описания, выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения перечисленным, визуальные произведения (например, карты), аудиовизуальные произведения (например, изображения, фильмы, звукозаписи, презентации и т.д.), данные (например, данные о местоположении, данные о погоде, данные о трафике, числовые данные и т.д.), текст (например, мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[036] В контексте настоящего описания, «база данных» представляет собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного аппаратного обеспечения, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном аппаратном обеспечении, например на выделенном сервере или множестве серверов.
[037] В контексте настоящего описания, слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют друг по отношению к другу, а не для цели описания каких-либо конкретных отношений между этими существительными. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира.
[038] Каждая из реализаций настоящей технологии обладает по меньшей мере одним из вышеупомянутых целей и/или аспектов, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[039] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[040] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[041] Фиг.1 изображает схематическую диаграмму примерной компьютерной системы, конфигурируемой для реализации некоторых неограничивающих вариантов осуществления настоящей технологии;
[042] Фиг.2 изображает схематическую диаграмму сетевой вычислительной среды, включающей в себя компьютерную систему по Фиг.1 и подходящей для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[043] Фиг.3 изображает схематическую диаграмму примерного электронного представления множества товаров платформы для онлайн-торговли, размещенной на сервере сетевой вычислительной среды, показанной на Фиг.2, и используемой для определения набора рекомендуемых товаров в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[044] Фиг.4 изображает схематическую диаграмму процесса определения, сервером сетевой вычислительной среды, показанной на Фиг.2, пользовательских данных, связанных с пользователем электронного устройства, присутствующего в сетевой вычислительной среде, показанной на Фиг.2, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[045] Фиг.5 изображает схематическую диаграмму процесса применения сервером, присутствующим в сетевой вычислительной среде, показанной на Фиг.2, первой модели к набору рекомендуемых товаров с Фиг.3 для генерирования, на основе по меньшей мере части пользовательских данных с Фиг.4, соответствующих значений первого параметра вероятности, используемого для определения соответствующих значений параметра ранжирования для конкретного пользователя, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[046] Фиг.6 изображает схематическую диаграмму процесса применения сервером, присутствующим в сетевой вычислительной среде, показанной на Фиг.2, второй модели к набору рекомендуемых товаров с Фиг.3 для генерирования, на основе по меньшей мере другой части пользовательских данных с Фиг.4, соответствующих значений второго параметра вероятности, используемого для определения соответствующих значений параметра ранжирования для конкретного пользователя, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[047] Фиг.7 изображает схематическую диаграмму процесса применения сервером, присутствующим в сетевой вычислительной среде, показанной на Фиг.2, третьей модели к пользовательским данным с Фиг.4, к соответствующим значениям первого параметра вероятности с Фиг.5, и к соответствующим значениям второго параметра вероятности с Фиг.6, для определения соответствующих значений параметра ранжирования для конкретного пользователя, используемого для ранжирования набора рекомендуемых товаров с Фиг.3, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[048] Фиг.8 изображает блок-схему способа предоставления сервером, присутствующим в сетевой вычислительной среде, показанной на Фиг.2, рекомендаций по товарам в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
Подробное описание
[049] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области техники смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[050] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области техники поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[051] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области техники сможет осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[052] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области техники осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, диаграммы переходов состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по существу представлены на считываемых компьютерам носителях и таким образом исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[053] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором, функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина «процессор» или «контроллер» не должно толковаться как относящееся исключительно к аппаратному обеспечению, способному выполнять программное обеспечение, и может в неявной форме включать в себя, без ограничения перечисленным, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[054] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[055] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[056] На Фиг.1 изображена компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 содержит различные аппаратные компоненты, включая один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, графический процессор (GPU) 111, твердотельный накопитель 120, оперативную память 130, интерфейс 140 дисплея и интерфейс 150 ввода/вывода.
[057] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или более внутренними и/или внешними шинами 160 (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которой различные компоненты оборудования связаны электронным образом.
[058] Интерфейс 150 ввода/вывода может быть связан с сенсорным экраном 190 и/или с одной или более внутренними и/или внешними шинами 160. Сенсорный экран 190 может в равной степени называться экраном, например экраном (отдельно не обозначенным) электронного устройства 210, изображенного на Фиг.2. В вариантах осуществления, проиллюстрированных на Фиг.1, сенсорный экран 190 содержит воспринимающее касание аппаратное обеспечение 194 (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорного ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или одной или более внутренними и/или внешними шинами 160. В некоторых неограничивающих вариантах осуществления настоящей технологии, интерфейс 150 ввода/вывода может быть подключен к клавиатуре (отдельно не изображена), мыши (отдельно не изображена) или трекпаду (отдельно не изображен), позволяя пользователю взаимодействовать с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.
[059] Следует отметить, что некоторые компоненты компьютерной системы 100 могут быть опущены в некоторых неограничивающих вариантах осуществления настоящей технологии. Например, клавиатура и мышь (обе отдельно не изображены) могут быть исключены, особенно (но не ограничиваясь этим), когда компьютерная система 100 реализована как компактное электронное устройство, такое как смартфон.
[060] Согласно реализациям настоящей технологии, твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в оперативную память 130 и выполнения процессором 110 и/или графическим процессором 111. Например, программные инструкции могут быть частью библиотеки или приложения.
Сетевая вычислительная среда
[061] Обратившись к Фиг.2, увидим, что изображена сетевая вычислительная среда 200, подходящая для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, коммуникативно связанное, через сеть 240 связи, с сервером 250. В неограничивающих вариантах осуществления настоящей технологии, электронное устройство 210 может быть связано с пользователем 220.
[062] В неограничивающих вариантах осуществления настоящей технологии, электронное устройство 210 может быть любым компьютерным аппаратным обеспечением, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. Таким образом, некоторые неограничивающие примеры электронного устройства 210 могут включать в себя персональные компьютеры (настольные компьютеры, портативные компьютеры, нетбуки и т.д.), смартфоны и планшеты. Таким образом, электронное устройство 210 может содержать некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1.
[063] Согласно некоторым неограничивающим вариантам осуществления настоящей технологии, процессор 110 электронного устройства 210 может быть сконфигурирован для доступа к платформе 260 для онлайн-торговли, которая может, например, размещаться на сервере 250. Вообще говоря, платформа 260 для онлайн-торговли представляет собой онлайн-ресурс, позволяющий пользователям, таким как пользователь 220, совершать покупки различных товаров, таких как товары и услуги, в режиме онлайн у различных продавцов, которые разместили на ней указатели своих товаров, например, в виде классифицированных перечней товаров. С этой целью в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для хранения указаний множества товаров 235, доступных для продажи на платформе 260 для онлайн-торговли, в базе данных 230, коммуникативно связанной с сервером 250 через соответствующий канал связи. В качестве неограничивающего примера, платформа 260 для онлайн-торговли может быть платформой для онлайн-торговли Яндекс.МаркетTM, управляемой ООО «Яндекс», расположенным по адресу: Россия, 119021, Москва, улица Льва Толстого, 16.
[064] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть реализован как обычный компьютерный сервер и может содержать некоторые или все компоненты компьютерной системы 100, показанной на Фиг.1. В одном неограничивающем примере сервер 250 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем оборудовании, программном обеспечении и/или микропрограммном обеспечении, или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии, сервер 250 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии (не изображены), функциональные возможности сервера 250 могут быть распределены и могут быть реализованы через несколько серверов.
[065] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может управляться тем же объектом, который предоставил платформу 260 для онлайн-торговли. Например, если платформа 260 для онлайн-торговли является платформой для онлайн-торговли Яндекс.МаркетTM, сервер 250 также может управляться ООО «Яндекс» расположенным по адресу: Россия, 119021, Москва, улица Льва Толстого, 16. В альтернативных неограничивающих вариантах осуществления настоящей технологии, сервер 202 может управляться объектом, отличным от того, который предоставил платформу 260 для онлайн-торговли.
[066] Таким образом, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, используя электронное устройство 210, пользователю 220 может быть предоставлена возможность взаимодействовать с данным товаром 205 из множества товаров 235 платформы 260 для онлайн-торговли. Например, пользователь 220 может искать во множестве товаров 235 данный товар 205, получать информацию о данном товаре 205, связываться с ассоциированным продавцом для получения более подробных запросов в отношении данного товара 205, получать доступ к отзывам, оставленным предыдущими пользователями, купившими данный товар 205 ранее и тому подобное.
[067] В некоторый момент, когда пользователь 220 взаимодействует с данным товаром 205, сервер 250 может быть сконфигурирован для предоставления пользователю 220 рекомендаций по одному или нескольким товарам. Например, в некоторых неограничивающих вариантах осуществления, после приема запроса 215 рекомендации, инициированного заранее определенным пользовательским взаимодействием пользователя 220, сервер 250 может быть сконфигурирован для предоставления по меньшей мере одного рекомендуемого товара 225 через связанный интерфейс платформы 260 для онлайн-торговли. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии, запрос 215 рекомендации может быть инициирован пользователем 220, указывающим данный товар 205 для покупки. С этой целью платформа 260 для онлайн-торговли может обеспечивать на электронном устройстве 210 интерфейс корзины для покупок, где пользователь 220 может разместить указание на данный товар 205, тем самым указывая свое намерение купить данный товар 205.
[068] Таким образом, в ответ на прием запроса 215 рекомендации, сервер 250 может быть сконфигурирован для извлечения из базы данных 230 по меньшей мере одного рекомендуемого товара 225. Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован, чтобы отображать указание по меньшей мере одного рекомендуемого товара 225 в интерфейсе корзины для покупок платформы 260 для онлайн-торговли вместе с указанием данного товара 205, ранее указанного пользователем 220 для покупки. Например, сервер 250 может быть сконфигурирован, чтобы отображать указание по меньшей мере одного рекомендуемого товара 225 в разделе «Сопутствующие товары» корзины для покупок платформы 260 для онлайн-торговли, позволяя пользователю 220 заметить по меньшей мере один рекомендуемый товар 225 и взаимодействовать с ним - например, щелкнув указатель по меньшей мере одного рекомендуемого товара 225.
[069] Как будет объяснено более подробно ниже, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для предоставления по меньшей мере одного рекомендуемого товара 225 как по меньшей мере одного из набора рекомендуемых товаров. В некоторых неограничивающих вариантах осуществления настоящей технологии, набор рекомендуемых товаров может содержать товары, идентифицированные во множестве товаров 235 как наиболее часто указываемые предыдущими пользователями для общей покупки вместе с данным товаром 205. Как сервер 250 может быть сконфигурирован для определения набора рекомендуемых товаров во множестве товаров 235 платформы 260 для онлайн-торговли в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, будет описано ниже со ссылкой на Фиг.3.
[070] Кроме того, в других неограничивающих вариантах осуществления настоящей технологии, сервер 250 может дополнительно быть сконфигурирован для ранжирования набора рекомендуемых товаров согласно соответствующим значениям параметра ранжирования для конкретного пользователя, связанного с ним, и дальнейшего определения по меньшей мере одного рекомендуемого товара 225 как вершины отранжированного набора рекомендуемых товаров.
[071] В контексте настоящего описания параметр ранжирования для конкретного пользователя обозначает параметр, указывающий вероятность того, что данный пользователь, такой как пользователь 220, воспримет данный один из набора рекомендуемых товаров как представляющий для него интерес. Другими словами, как может стать очевидным из приведенного ниже описания, можно сказать, что соответствующее значение параметра ранжирования для конкретного пользователя, связанного с данным рекомендуемым товаром, является репрезентативным для того, насколько вероятно, что пользователь 220 будет взаимодействовать с данным рекомендуемым товаром при представлении вместе с ним, при условии, что пользователь указал данный товар 205 для покупки.
[072] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для определения параметра ранжирования для конкретного пользователя на основе пользовательских данных, связанных с пользователем 220. Подробности того, как могут быть определены пользовательские данные, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, будут описаны ниже со ссылкой на Фиг.4.
[073] Таким образом, на основе пользовательских данных, сервер 250 может быть сконфигурирован для определения соответствующих значений параметра ранжирования для конкретного пользователя каждого из набора рекомендуемых товаров, чтобы определить по меньшей мере один рекомендуемый товар 225 для данного товара 205. С этой целью, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для применения алгоритма 280 машинного обучения (MLA), обученного, например, сервером 250, для определения соответствующих значений параметра ранжирования для конкретного пользователя, связанного с пользователем 220, на основе обучающего набора данных. Соответственно, в этих вариантах осуществления, сервер 250 может быть сконфигурирован для генерирования обучающего набора данных на основе анализа данных товаров, указанных для покупки обучающими пользователями (такими как предыдущие пользователи платформы 260 для онлайн-торговли), и связанных с ним обучающих пользовательских данных.
[074] В неограничивающих вариантах осуществления настоящей технологии, MLA 280 может быть основан на нейронных сетях (NN), сверточных нейронных сетях (CNN), моделях дерева принятия решений, MLA на основе дерева принятия решений с градиентным усилением, MLA на основе поиска ассоциативных правил, MLA на основе глубокого обучения, MLA на основе индуктивного логического программирования, MLA на основе машины опорных векторов, MLA на основе кластеризации, байесовских сетях, MLA на основе обучения с подкреплением, MLA на основе обучения представлениям, MLA на основе подобия и метрического обучения, MLA на основе разреженного изучения словаря, MLA на основе генетических алгоритмов, и тому подобном. Для обучения MLA 280 сервер 250 может использовать подход с контролируемым обучением, не выходя за рамки настоящей технологии.
[075] Вообще говоря, можно сказать, что сервер 250 выполняет два соответствующих процесса в отношении MLA 280. Первым процессом из этих двух процессов является процесс обучения, выполняемый сервером 250, где сервер 250 сконфигурирован для обучения MLA 280 на основе обучающего набора данных для определения соответствующих значений параметра, зависящего от пользователя. С этой целью обучающий набор данных может включать в себя данные обучающих товаров, указанных обучающими пользователями для покупки на платформе 260 для онлайн-торговли.
[076] Следует также отметить, что MLA 280 может быть обучен другим сервером на основе обучающего набора данных, включая данные об товарах с платформы для онлайн-торговли, отличной от платформы 260 для онлайн-торговли, без выхода за рамки настоящей технологии.
[077] Кроме того, второй процесс - это применяемый процесс, выполняемый сервером 250, где сервер 250 выполняет обученный таким образом MLA 280 для определения соответствующих значений параметра ранжирования для конкретного пользователя для набора рекомендуемых товаров в соответствии с неограничивающими вариантами осуществления настоящей технологии. Применяемый процесс использования MLA 280 будет более подробно описан ниже со ссылкой на Фиг.5-7.
[078] В некоторых неограничивающих вариантах осуществления настоящей технологии, MLA 280 содержит по меньшей мере две модели: первую модель (например, первую модель 502, описанную ниже со ссылкой на Фиг.5) и вторую модель (например, вторую модель 602, описанную ниже со ссылкой на Фиг.6). Соответственно, сервер 250 может быть сконфигурирован для обучения как первой модели 502, так и второй модели 602 на основе различных соответствующих наборов обучающих данных. Однако также предполагается, что соответствующие наборы обучающих данных могут по меньшей мере частично перекрываться.
[079] Таким образом, как также будет более подробно описано ниже, после определения соответствующих значений параметра ранжирования, зависящего от пользователя, сервер 250 может быть дополнительно сконфигурирован для ранжирования предварительно выбранного набора товаров для дальнейшего определения по меньшей мере одного рекомендуемого товара 225. Кроме того, сервер 250 может быть сконфигурирован для передачи указания по меньшей мере одного рекомендуемого товара 225 на электронное устройство 210, чтобы вызвать его представление пользователю 220.
Сеть связи
[080] В некоторых неограничивающих вариантах осуществления настоящей технологии, сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии, сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети связи предназначены только для целей иллюстрации. То, как реализуется соответствующий канал связи (не пронумерованный отдельно) между каждым из электронного устройства 210, сервером 250 и сетью 240 связи, будет зависеть, среди прочего, от того, как каждое из электронного устройства 210 и сервера 250 реализовано. Просто в качестве примера, а не ограничения, в тех вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон, канал связи может быть реализован как канал беспроводной связи. Примеры каналов беспроводной связи включают в себя, но не ограничиваются ими, канал связи в сети 3G, канал связи в сети 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 250 и каждым из сторонних серверов.
Определение набора рекомендуемых товаров
[081] Как упоминалось выше, для определения по меньшей мере одного рекомендуемого товара 225 для представления пользователю 220 для данного товара 205, указанного им для покупки, в некоторых неограничивающих вариантах осуществления настоящей технологии сервер 250 может быть сконфигурирован для (1) определения набора рекомендуемых товаров; и (2) ранжирования набора рекомендуемых товаров в соответствии с параметром ранжирования для конкретного пользователя.
[082] Обратившись к Фиг.3, увидим, что изображена схематическая диаграмма примерного представления множества товаров 235, доступных для продажи на платформе 260 для онлайн-торговли, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[083] Как можно понять из Фиг.3, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для представления множества товаров 235 в форме графа 302 взаимной популярности покупок. Таким образом, используя граф 302 взаимной популярности покупок, сервер 250 может быть сконфигурирован для определения набора рекомендуемых товаров 306 относительно данного товара 205.
[084] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для генерирования графа 302 взаимной популярности покупок, так что данная пара его узлов, связанная с соответствующими узлами из множества товаров 235, таких как данный товар 205 и данный рекомендуемый товар 305, соединяются соответствующим ребром 304, если по меньшей мере один предыдущий пользователь указал как данный товар 205, так и данный рекомендуемый товар 305 для совместной покупки до получения запроса 215 рекомендации от пользователя 220. Таким образом, в качестве неограничивающего примера, данный товар 205 может быть телевизором, а данный рекомендуемый товар 305 может быть комплектом для настенного монтажа телевизора.
[085] Кроме того, можно дополнительно понять, что узлы, связанные с теми из множества товаров 235, которые никогда не указывались для совместной покупки предыдущими пользователями, таким образом, не соединяются между собой ребрами в графе 302 взаимной популярности покупок.
[086] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, каждое ребро графа 302 взаимной популярности покупок, такое как соответствующее ребро 304, соединяющее данную пару узлов, связанных с данным товаром 205 и данным рекомендуемым товаром 305, может быть ассоциировано с соответствующим показателем Pi взаимной популярности между ними, то есть с частотой появления данного товара 205 и данного рекомендуемого товара 305, которые были указаны для одной покупки предыдущими пользователями платформы для онлайн-торговли. Другими словами, соответствующий показатель Pi взаимной популярности может представлять то, как часто как данный товар 205, так и данный рекомендуемый товар 305 были помещены вместе в корзину для покупок платформы 260 для онлайн-торговли предыдущим пользователем. Соответственно, чем больше значение соответствующего показателя Pi взаимной популярности, связанного с соответствующим ребром 304, тем чаще предыдущие пользователи указывали данный рекомендуемый товар 305 для покупки вместе с данным товаром 205, и наоборот.
[087] Таким образом, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, сервер 250 может быть сконфигурирован для идентификации, во множестве товаров 235, набора рекомендуемых товаров 306 для данного товара 205, включая товары, связанные узлами графа 302 взаимной популярности покупок, соединенные с его узлом, связанным с данным товаром 205 по соответствующим ребрам - например, тем, которые выделены жирным начертанием на Фиг.3.
[088] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован так, чтобы отфильтровывать наименее популярные рекомендуемые товары из набора 306 рекомендуемых товаров. С этой целью, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для (1) ранжирования рекомендуемых товаров в соответствии с соответствующими показателями взаимной популярности относительно данного товара 205 и (2) выбора заранее определенного количества наиболее рекомендуемых товаров для включения их в список рекомендуемых товаров 306. Например, таким образом сервер 250 может быть сконфигурирован для уменьшения количества рекомендуемых товаров в наборе рекомендуемых товаров 306 до 50, 30 или даже до 10 самых популярных товаров, которые были помещены предыдущими пользователями в корзину для покупок платформы 260 для онлайн-торговли вместе с данным товаром 205.
[089] Следует четко понимать, что различные неограничивающие варианты осуществления настоящей технологии не ограничиваются строго представлением, при помощи сервера 250, множества товаров 235 в форме графа 302 популярности покупок. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для представления множества товаров 235 в форме дерева, такого как B-дерево, в качестве примера, сгенерированного сервером 250, для каждого из множества товаров, указанных пользователем 220 для покупки, чтобы определить соответствующий набор рекомендуемых товаров, связанных с ним.
[090] В других неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для генерирования встраивания для узлов графа 302 взаимной популярности покупок в данном многомерном пространстве. С этой целью, сервер 250 может быть сконфигурирован для генерирования соответствующего вектора характеристик для данного узла графа 302 взаимной популярности покупок, включая характеристики соответствующего одного из множества товаров 235 (например, данного товара 205) для его определения в многомерном пространстве. Например, характеристики, связанные с данным товаром 205, могут включать в себя их соответствующие показатели взаимной популярности относительно других товаров из множества товаров 235. Кроме того, сервер 250 может быть сконфигурирован для отображения данного товара 205 в многомерном пространстве путем определения его положения в нем на основе соответствующего вектора признаков. Соответственно, сервер 250 может быть сконфигурирован для идентификации, например, тех товаров из множества товаров 235, которые расположены ближе к данному товару 205 в данном многомерном пространстве, для включения их в набор рекомендуемых товаров 306.
Определение пользовательских данных
[091] Как упоминалось выше, для определения по меньшей мере рекомендуемого товара 225, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, сервер 250 может быть сконфигурирован для определения, на основе параметра ранжирования для конкретного пользователя, по меньшей мере одного из набора рекомендуемых товаров 306, который вероятно может быть интересен пользователю 220.
[092] С этой целью, во-первых, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для определения пользовательских данных, связанных с пользователем 220. Согласно некоторым неограничивающим данным настоящей технологии, пользовательские данные могут включать в себя данные идентификатора пользователя 220 и данные идентификатора устройства для электронного устройства 210.
[093] Обратившись к Фиг.4, увидим, что изображена схематическая диаграмма процесса определения сервером 250 данных 410 идентификатора устройства и данных 412 идентификатора пользователя в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[094] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для определения (или иного извлечения) каждого из данных 410 идентификатора устройства и данных 412 идентификатора пользователя на основе конкретных идентификаторов, соответственно связанных с электронным устройством 210 и пользователем 220. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для приема, от электронного устройства 210, идентификатора 402 устройства и идентификатора 404 учетной записи пользователя.
[095] В некоторых неограничивающих вариантах осуществления настоящей технологии, идентификатор 402 устройства представляет собой строку символов, назначенную производителем электронного устройства 210, и используемую для однозначной идентификации электронного устройства 210 среди других электронных устройств в сети 240 связи. Однако в других неограничивающих вариантах осуществления настоящей технологии, идентификатор 402 устройства может быть предоставлен производителем операционной системы, работающей на электронном устройстве 210. В конкретных неограничивающих вариантах осуществления настоящей технологии, идентификатор 402 устройства может являться, например, одним из (1) идентификатора для рекламодателей (IDFA), предоставляемого Apple Inc.; и (2) рекламный идентификатор Google, предоставляемый Google LLC. В качестве альтернативы можно использовать MAC-адрес электронного устройства 210.
[096] С этой целью серверу 250 может быть разрешен доступ к серверу 413 поставщика системы устройств, связанному с электронным устройством 210, для определения, на основе идентификатора 402 устройства, данных 410 идентификатора устройства, включая по меньшей мере одно из: производителя электронного устройства 210, модели электронного устройства 210, приложений, установленных на электронном устройстве 210, географических данных, связанных с электронным устройством 210, включая, например, основную область использования электронного устройства 210 и т.п.
[097] В дополнительных неограничивающих вариантах осуществления настоящей технологии, сервер 250 может дополнительно быть сконфигурирован для применения, к данным 410 идентификатора устройства, алгоритма 406 извлечения признаков устройства, тем самым представляя данные 410 идентификатора устройства в форме вектора 420 признаков устройства. Вообще говоря, алгоритм 406 извлечения признаков устройства может содержать модель нейронной сети, обученную генерировать признаки, связанные с данным электронным устройством, таким как электронное устройство 210, на основе предоставленных данных. Другими словами, при генерировании вектора 420 признаков устройства, алгоритм 406 выделения признаков устройства конфигурируется для генерирования встраивания для электронного устройства 210 в связанное многомерное пространство.
[098] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, идентификатор 404 учетной записи пользователя может быть строкой символов, позволяющей однозначно идентифицировать пользователя 220 на платформе 260 для онлайн-торговли. Однако в других неограничивающих вариантах осуществления настоящей технологии, где платформа 260 для онлайн-торговли является одним из множества аффилированных веб-приложений, управляемых той-же организацией, что и платформа 260 для онлайн-торговли, идентификатор 404 учетной записи пользователя также может использоваться для идентификации пользователя 220 в каждом из множества аффилированных веб-приложений. Например, в тех вариантах осуществления, где платформа 260 для онлайн-торговли является платформой для онлайн-торговли Яндекс.МаркетTM, аффилированные веб-приложения могут включать в себя, без ограничения перечисленным, веб-приложение Яндекс.ПаспортTM, веб-приложение Яндекс.БраузерTM, веб-приложение Яндекс.ПочтаTM, и тому подобное.
[099] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, множество аффилированных веб-приложений также может включать в себя одно или более сторонних веб-приложений, с которыми взаимодействует платформа 260 для онлайн-торговли. Таким образом, в этих вариантах осуществления идентификатор 404 учетной записи пользователя также может использоваться для идентификации пользователя 220 в одном или более сторонних веб-приложений. Продолжая приведенный выше пример, где платформой для онлайн-торговли является платформа для онлайн-торговли Яндекс.МаркетTM, одно или более сторонних веб-приложений могут включать в себя социальную сеть VK.COMTM. Следует отметить, что количество и характер одного или более сторонних веб-приложений, являющихся партнерами платформы 260 для онлайн-торговли, не ограничены.
[0100] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, серверу 250 может быть предоставлена возможность доступа к серверу 414 аффилированных приложений, связанному по меньшей мере с одним из множества аффилированных веб-приложений, для определения данных 412 идентификатора пользователя, включая, например по меньшей мере одну социально-демографическую характеристику пользователя 220, которая может включать в себя, без ограничения перечисленным, возраст пользователя 220, пол пользователя 220, статус занятости пользователя 220, средний доход пользователя 220 и т.п.
[0101] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 из сервера 414 аффилированных приложений, может быть сконфигурирован для доступа к истории просмотров пользователя 220; и данные 412 идентификатора пользователя могут дополнительно включать в себя, например, статистику просмотров для пользователя 220. Например, сервер 250 может быть сконфигурирован для определения данных пользователя 220, посещающего множество веб-ресурсов. Множество веб-ресурсов может включать в себя заранее определенное число наиболее посещаемых веб-ресурсов (например, 100, 500 или 1000) в сети 240 связи, определяемых сервером 250. В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для обновления заранее определенного числа наиболее посещаемых веб-ресурсов время от времени, например, с заранее определенной частотой, такой как ежедневно, еженедельно, ежемесячно и т.п.
[0102] В некоторых неограничивающих вариантах осуществления настоящей технологии, используя историю просмотров пользователя 220, сервер 250 может быть дополнительно сконфигурирован для определения (например, эвристически или с использованием обученного алгоритма машинного обучения) и дальнейшего включения в данные 412 идентификатора пользователя, данных, указывающих один или более пользовательских интересов пользователя 220. С этой целью, анализируя статистику просмотров, сервер 250 может, например, быть сконфигурирован так, чтобы определять, что пользователь 220 регулярно посещает веб-ресурс, связанный с данным провайдером мобильной связи, и впоследствии совершает на нем платежи. Таким образом, сервер 250 может быть сконфигурирован для определения того, что пользователь 220 является клиентом данного провайдера мобильной связи. В другом примере сервер 250 может быть сконфигурирован для определения музыкальных предпочтений (то есть конкретных музыкальных жанров, таких как рок, поп, авторская песня и т.п.) пользователя 220 на основе недавней истории музыки, воспроизводимой через онлайновую службу подписки на музыку, связанную с пользователем 220. В еще одном примере, сервер 250 может быть сконфигурирован на основе истории онлайн-покупок продуктов пользователя 220 для определения оценки средних расходов пользователя 220 на еду.
[0103] В дополнительных неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован, чтобы применять к данным 412 идентификатора пользователя алгоритм 408 извлечения признаков пользователя, тем самым представляя данные 412 идентификатора пользователя в форме вектора 422 признаков пользователя. В некоторых неограничивающих вариантах осуществления настоящей технологии, алгоритм 408 извлечения признаков пользователя может быть реализован аналогично алгоритму 406 извлечения признаков устройства и, таким образом, может быть сконфигурирован для генерирования на основе данных идентификатора пользователя признаков, связанных с пользователем 220, тем самым генерируя соответствующее встраивание для пользователя 220 в ассоциированное многомерное пространство.
[0104] В конкретных неограничивающих вариантах осуществления настоящей технологии, алгоритм 408 извлечения признаков пользователя может быть алгоритмом извлечения признаков site2vec. Следует четко понимать, что могут быть предусмотрены другие алгоритмы извлечения признаков пользователя, не выходящие за рамки объема настоящей технологии.
Определение параметра ранжирования для конкретного пользователя
[0105] Далее, после определения пользовательских данных, связанных с пользователем 220, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, сервер 250 может быть сконфигурирован для применения MLA 280 для определения параметра ранжирования для конкретного пользователя для ранжирования набора рекомендуемых товаров 306, чтобы определить хотя бы один рекомендуемый товар 225 для данного товара 205.
[0106] Согласно некоторым неограничивающим вариантам осуществления настоящей технологии, MLA 280 может включать в себя по меньшей мере две модели, обученные генерировать соответствующие параметры вероятности, указывающие, что пользователь 220 найдет каждый из набора рекомендуемых товаров 306, представляющих интерес, на основе различных входных данных, на основе которых MLA 280 может быть дополнительно сконфигурирован для определения соответствующих значений параметра ранжирования для конкретного пользователя.
[0107] Обратившись к Фиг.5, увидим, что изображена схематическая диаграмма процесса применения сервером 250 первой модели 502 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[0108] В некоторых неограничивающих вариантах осуществления настоящей технологии, первая модель 502 может быть обучена на основе первого обучающего набора данных, включающего в себя данные идентификатора обучающего устройства различных обучающих пользователей, для определения, в применяемом процессе, значения вероятности для данного пользователя (такого как пользователь 220), восприятия данного товара - такой как товар из множества товаров 235 платформы 260 для онлайн-торговли - в качестве представляющего интерес для данного пользователя.
[0109] Таким образом, сервер 250 может быть сконфигурирован для подачи вектора 420 признаков устройства, связанного с пользователем 220, вместе с набором рекомендуемых товаров 306, в первую модель 502 для определения первого массива 504, включающего в себя соответствующие значения вероятности R1{ri1}, при этом данный элемент первого массива 504 ri1 указывает значение вероятности, учитывая только данные 410 идентификатора устройства, того, что пользователь 220 воспримет соответствующий один из набора рекомендуемых товаров 306 как представляющий для него интерес.
[0110] Кроме того, обратившись к Фиг.6, увидим, что изображена схематическая диаграмма процесса применения, сервером 250, второй модели 602 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[0111] В некоторых неограничивающих вариантах осуществления настоящей технологии, вторая модель 602 может быть обучена на основе второго обучающего набора данных, включающего в себя данные идентификатора обучающего пользователя различных обучающих пользователей, для определения, в применяемом процессе, значения вероятности для пользователя 220, восприятия данного товара в качестве представляющего для него интерес.
[0112] Таким образом, сервер 250 может быть сконфигурирован для подачи вектора 422 признаков пользователя, связанного с пользователем 220, вместе с набором рекомендуемых товаров 306, во вторую модель 602 для определения второго массива 604, включающего соответствующие значения вероятности R2{ri2}, при этом данный элемент второго массива 604 ri2 указывает значение вероятности, учитывая только данные 412 идентификатора пользователя, того, что пользователь 220 воспримет соответствующий один из набора рекомендуемых товаров 306 как представляющий для него интерес.
[0113] Согласно некоторым неограничивающим вариантам осуществления настоящей технологии, сервер 250 может быть сконфигурирован для повторного обучения каждой из первой модели 502 и второй модели 602 время от времени, например, с заранее определенной частотой - например, ежедневно, еженедельно и тому подобное. В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для повторного обучения данной одной из первой модели 502 и второй модели 602 после обновления соответствующих одних из данных 410 идентификатора устройства и данных 412 идентификатора пользователя.
[0114] Кроме того, поскольку сервер 250 может быть сконфигурирован для обучения каждой из первой модели 502 и второй модели 602 на основе различных, независимо сгенерированных обучающих наборов данных, то есть первого обучающего набора данных и второго обучающего набора данных соответственно, причем данный один из первого обучающего набора данных и второго обучающего набора данных не включает в себя данные, полученные в результате работы модели, обученной на основе другой из них, следует отметить таким образом, что каждая из первой модели 502 и второй модели 602, можно сказать обучается независимо.
[0115] Следует отметить, что это не ограничивается тем, как реализована каждая из первой модели 502 и второй модели 602; и в некоторых неограничивающих вариантах осуществления настоящей технологии каждая из них может быть реализована на основе нейронных сетей. В конкретных неограничивающих вариантах осуществления настоящей технологии, данная одна из первой модели 502 и второй модели 602 может быть реализована на основе алгоритма нейронной сети, включая, но без ограничения перечисленным, по меньшей мере одно из: алгоритма нейронной сети ASSIST, алгоритма нейронной сети Apoc и алгоритма нейронной сети IsoMIF, в качестве примера.
[0116] Кроме того, чтобы определять соответствующие значения параметра ранжирования для конкретного пользователя для набора рекомендуемых товаров 306, в некоторых неограничивающих вариантах осуществления настоящей технологии сервер 250 может быть сконфигурирован для объединения элементов первого массива 504 с соответствующими элементами второго массива 604. В некоторых неограничивающих вариантах осуществления настоящей технологии, перед объединением сервер 250 может быть сконфигурирован так, чтобы назначать элементам каждого из первого массива 504 и второго массива 604 соответствующее заранее определенное весовое значение, указывающее соответствующий вклад каждого из первого массива 504 и второго массива 604 в соответствующие значения параметра ранжирования для конкретного пользователя.
[0117] Таким образом, чтобы объединить элементы первого массива 504 с соответствующими элементами второго массива 604, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для применения к нему одной или более математических операций, таких как сложение, умножение, усреднение и т.п.
[0118] Однако в других неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для применения третьей модели MLA 280. Обратившись к Фиг.7, увидим, что изображена схематическая диаграмма процесса применения, сервером 250, третьей модели 702 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[0119] В некоторых неограничивающих вариантах осуществления настоящей технологии, третья модель 702 может быть обучена на основе третьего обучающего набора данных, включающего в себя данные идентификатора обучающего устройства и соответствующие им данные идентификатора обучающего пользователя, связанные с различными обучающими пользователями, для определения, в применяемом процессе, значения вероятности того, что пользователь 220 воспримет данный товар как представляющий для него интерес. Соответственно, сервер 250 может быть сконфигурирован для определения данного значения параметра ранжирования для конкретного пользователя для данного одного из набора рекомендуемых товаров 306 в качестве соответствующего значения вероятности, определенного третьей моделью 702.
[0120] С этой целью сервер 250 может быть сконфигурирован для подачи (1) первого массива 504, сгенерированного первой моделью 502, вместе с вектором 420 признаков устройства, связанным с электронным устройством 210, и (2) второго массива 604, сгенерированного второй моделью 602 вместе с вектором 422 признаков пользователя, связанным с пользователем 220, к третьей модели 702. Следовательно, третья модель 702 может быть, таким образом, сконфигурирована для генерирования третьего массива 704, включающего в себя соответствующие значения параметра R{ri} ранжирования пользователя, причем его данный элемент ri указывает значение вероятности, учитывая как данные 410 идентификатора устройства, так и данные 412 идентификатора пользователя, связанные с пользователем 220, что пользователь 220 воспримет соответствующий один из набора рекомендуемых товаров 306 как представляющий для него интерес.
[0121] В конкретных неограничивающих вариантах осуществления настоящей технологии, третья модель 702 может содержать модель CatBoost, управляемую ООО «Яндекс», расположенным по адресу: Россия, 119021, Москва, улица Льва Толстого, 16. Следует отметить, что можно использовать другие модели машинного обучения, не выходя за рамки настоящей технологии.
[0122] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, используя третий массив 704, сервер 250 может быть сконфигурирован для ранжирования набора рекомендуемых товаров 306 в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, тем самым генерируя ранжированный набор рекомендуемых товаров (не показан). Кроме того, сервер 250 может быть сконфигурирован для определения по меньшей мере одного рекомендуемого товара 225 как одного или более наиболее рекомендуемых товаров из ранжированного набора рекомендуемых товаров.
[0123] Наконец, сервер 250 может быть сконфигурирован для передачи указания по меньшей мере одного рекомендуемого товара 225 на электронное устройство 210 для его представления в интерфейсе корзины для покупок платформы 260 для онлайн-торговли пользователю 220.
[0124] Следует отметить, что в других неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован так, чтобы откладывать передачу указания по меньшей мере одного рекомендуемого товара 225 на электронное устройство 210 до одного из будущих пользовательских взаимодействий пользователя 220 на платформе 260 для онлайн-торговли – такого как указание, в будущий момент времени, на другой из множества товаров 235, отличный от данного товара 205. Другими словами, сервер 250 может быть сконфигурирован для выполнения запроса 215 рекомендации, связанного с данным элементом 205, в ответ на то, что пользователь 220 указывает другой из множества товаров 235 для покупки в будущий момент времени.
Способ
[0125] Учитывая архитектуру и примеры, приведенные выше, можно реализовать способ рекомендации товаров на платформе для онлайн-торговли, такой как платформа 260 для онлайн-торговли. Теперь, обратившись к Фиг.8, увидим, что изображена блок-схема способа 800 согласно некоторым неограничивающим вариантам осуществления настоящей технологии. Способ 800 может выполняться сервером 250.
Этап 802: ПРИЕМ, ОТ ЭЛЕКТРОННОГО УСТРОЙСТВА, ЗАПРОСА ДЛЯ РЕКОМЕНДАЦИЙ ПО ТОВАРАМ, ЗАПРОС БЫЛ ИНИЦИИРОВАН ПОЛЬЗОВАТЕЛЕМ, УКАЗАВШИМ ДАННЫЙ ТОВАР ИЗ МНОЖЕСТВА ТОВАРОВ ДЛЯ ПОКУПКИ НА ПЛАТФОРМЕ ДЛЯ ОНЛАЙН-ТОРГОВЛИ
[0126] Согласно некоторым неограничивающим вариантам осуществления настоящей технологии, способ 800 начинается на этапе 800, когда сервер 250 конфигурируется для приема запроса на рекомендацию товара. Например, как описано выше со ссылкой на Фиг.2, сервер 250 может быть сконфигурирован для приема запроса 215 рекомендации, инициированного электронным устройством 210 в ответ на то, что пользователь 220 указывает данный товар 205 из множества товаров 235 для покупки на платформе для онлайн-торговли 260.
[0127] Таким образом, способ 800 переходит к этапу 804.
Этап 804: ИДЕНТИФИКАЦИЯ ПРОЦЕССОРОМ ВО МНОЖЕСТВЕ ТОВАРОВ НА ОСНОВЕ ДАННОГО ТОВАРА, НАБОРА РЕКОМЕНДУЕМЫХ ТОВАРОВ
[0128] Далее, на этапе 804, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, сервер 250 может быть сконфигурирован для идентификации, во множестве товаров 235, набора рекомендуемых товаров 306 для данного товара 205. С этой целью, сервер 250 может быть сконфигурирован для представления множества товаров 235 в виде графа 302 взаимной популярности покупок, изображенного на Фиг.3.
[0129] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, как описано выше со ссылкой на Фиг.3, сервер 250 может быть сконфигурирован для определения набора рекомендуемых товаров 306 на основе соответствующих оценок взаимной популярности каждого из множества товаров 235 относительно данного товара 205 – такого, как тот, что обозначен соответствующим ребром 304 между узлами, связанными с данным товаром 205 и данным рекомендуемым товаром 305 на графе 302 взаимной популярности покупок.
[0130] Как упомянуто выше, сервер 250 может быть сконфигурирован для определения соответствующей оценки взаимной популярности между данным элементом 205 и данным рекомендуемым элементом 305, как показывающей частоту их появления, указанную для совместной покупки предыдущими пользователями платформы для онлайн-торговли 260.
[0131] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер может быть дополнительно сконфигурирован для ранжирования набора рекомендуемых товаров в соответствии с соответствующими оценками взаимной популярности, связанными с ним, и дополнительно оставлять в наборе рекомендуемых товаров 306 только заранее определенное количество (например, 50, 30 или 10) самых популярных товаров.
[0132] Таким образом, способ 800 переходит к этапу 806.
Этап 806: ПОЛУЧЕНИЕ ПРОЦЕССОРОМ ПОЛЬЗОВАТЕЛЬСКИХ ДАННЫХ, СВЯЗАННЫХ С ПОЛЬЗОВАТЕЛЕМ
[0133] Далее, в некоторых неограничивающих вариантах осуществления настоящей технологии, чтобы определить по меньшей мере один рекомендуемый товар 225 в ответ на запрос 215 рекомендации, сервер 250 может быть сконфигурирован для определения параметра ранжирования для конкретного пользователя, для ранжирования каждого из набора рекомендуемых товаров 306.
[0134] С этой целью, на этапе 806 сервер 250 может быть сконфигурирован для определения пользовательских данных пользователя 220. Например, как описано выше со ссылкой на Фиг.4, сервер 250 может быть сконфигурирован для приема идентификатора 402 электронного устройства 210 и идентификатора 404 пользовательской учетной записи пользователя 220 платформой 260 для онлайн-торговли и для доступа к серверу 413 поставщика системы устройств и серверу 414 аффилированных приложений для определения (или иного извлечения) данных 410 идентификатора устройства и данных 412 идентификатора пользователя, соответственно.
[0135] Как дополнительно отмечено выше, данные 410 идентификатора устройства могут включать в себя по меньшей мере одно из производителя электронного устройства 210, модели электронного устройства 210, приложений, установленных на электронном устройстве 210, географических данных, связанных с электронным устройством 210, включающих в себя, например, основную область использования электронного устройства 210 и т.п. С другой стороны, данные 412 идентификатора пользователя могут включать в себя, но без ограничения перечисленным, по меньшей мере одно из по меньшей мере одной социально-демографической характеристики пользователя 220; статистики просмотров множества веб-ресурсов, такую как заранее определенное количество наиболее посещаемых веб-ресурсов пользователем 220 в сети 240 связи; и данных, указывающих на один или более пользовательских интересов пользователя 220.
[0136] В дополнительных неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для применения к каждым из данных 410 идентификатора устройства и данных 412 идентификатора пользователя, соответственно, алгоритма 406 извлечения признаков устройства и алгоритма 408 извлечения признаков пользователя, тем самым генерируя вектор 420 признаков устройства и вектор 422 признаков пользователя для дальнейшего использования.
[0137] Таким образом, способ 800 переходит к этапу 808.
Этап 808: ОПРЕДЕЛЕНИЕ, НА ОСНОВЕ ПОЛЬЗОВАТЕЛЬСКИХ ДАННЫХ, ДЛЯ ДАННОГО ОДНОГО ИЗ РАНЖИРОВАННОГО НАБОРА РЕКОМЕНДУЕМЫХ ТОВАРОВ, ОТНОСИТЕЛЬНОГО ЗНАЧЕНИЯ ПАРАМЕТРА РАНЖИРОВАНИЯ ДЛЯ КОНКРЕТНОГО ПОЛЬЗОВАТЕЛЯ
[0138] Далее, на этапе 808, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован на основе определенных таким образом пользовательских данных, чтобы определять, для каждого из набора рекомендуемых товаров 306, соответствующие значения параметра ранжирования для конкретного пользователя связанные с ним.
[0139] Например, как описано выше, сервер 250 может быть сконфигурирован для применения к набору рекомендуемых товаров, MLA 280, обученного определять соответствующие значения параметра ранжирования для конкретного пользователя на основе пользовательских данных, связанных с пользователем 220.
[0140] Более конкретно, в некоторых неограничивающих вариантах осуществления настоящей технологии, как описано выше со ссылкой на Фиг.5, сервер 250 может быть сконфигурирован для применения первой модели 502 к вектору 420 признаков устройства для генерирования, для набора рекомендуемых товаров 306, первого массива 504, данный элемент которого указывает значение вероятности того, что пользователь 220 воспримет, учитывая только данные 410 идентификатора устройства, соответствующий один из набора рекомендуемых товаров 306 в качестве представляющего для него интерес.
[0141] Кроме того, как описано выше со ссылкой на Фиг.6, сервер 250 может быть сконфигурирован для применения второй модели 602 к вектору 422 признаков пользователя, для генерирования, для набора рекомендуемых товаров 306, второго массива 604, данный элемент которого указывает значение вероятности того, что пользователь 220 воспримет, учитывая только данные 412 идентификатора пользователя, соответствующий один из набора рекомендуемых товаров 306, в качестве представляющего для него интерес.
[0142] Как упомянуто выше, каждая из первой модели 502 и второй модели 602 может быть реализована на основе нейронных сетей. В конкретных неограничивающих вариантах осуществления настоящей технологии, данная одна из первой модели 502 и второй модели 602 может быть реализована на основе алгоритма нейронной сети, включающего в себя, но без ограничения перечисленным, по меньшей мере одно из: алгоритма нейронной сети ASSIST, алгоритма нейронной сети Apoc и алгоритма нейронной сети IsoMIF, в качестве примера.
[0143] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для назначения элементам каждого из первого массива 504 и второго массива 604 соответствующих заранее определенных весовых значений, указывающих соответствующий вклад каждого из первого массива 504 и второго массива 604 в соответствующие значения параметра ранжирования для конкретного пользователя.
[0144] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть дополнительно сконфигурирован для объединения, такого как умножение или усреднение, попарно, например, соответствующих элементов первого массива 504 и второго массива 604 для определения соответствующих значений параметра ранжирования для конкретного пользователя.
[0145] Однако, как описано выше со ссылкой на Фиг.7, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, сервер 250 может применять третью модель 702 MLA 280 как к первому массиву 504, так и ко второму массиву 604 для генерирования третьего массива 704, включающего в себя соответствующие значения параметра ранжирования для конкретного пользователя для каждого из набора рекомендуемых товаров 306, данное значение которого таким образом, указывает значение вероятности того, что пользователь 220 воспримет, учитывая как данные 410 идентификатора устройства, так и данные 412 идентификатора пользователя, соответствующий один из набора рекомендуемых товаров 306 в качестве представляющего для него интерес.
[0146] В некоторых неограничивающих вариантах осуществления настоящей технологии третья модель 702 может содержать модель CatBoost.
[0147] Таким образом, способ 800 переходит к этапу 810.
Этап 810: РАНЖИРОВАНИЕ НАБОРА РЕКОМЕНДУЕМЫХ ТОВАРОВ В СООТВЕТСТВИИ С СООТВЕТСТВУЮЩИМИ ЗНАЧЕНИЯМИ ПАРАМЕТРА РАНЖИРОВАНИЯ ДЛЯ КОНКРЕТНОГО ПОЛЬЗОВАТЕЛЯ, СВЯЗАННОГО С НИМ, И, ТАКИМ ОБРАЗОМ, ГЕНЕРИРОВАНИЕ РАНЖИРОВАННОГО НАБОРА РЕКОМЕНДУЕМЫХ ТОВАРОВ
[0148] Кроме того, на этапе 810, в некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован для ранжирования каждого из набора рекомендуемых товаров 306 в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, связанного с ним для генерирования ранжированного набора рекомендуемых товаров.
[0149] Таким образом, способ 800 переходит к этапу 812.
Этап 812: ВЫБОР ИЗ РАНЖИРОВАННОГО НАБОРА РЕКОМЕНДУЕМЫХ ТОВАРОВ ПО МЕНЬШЕЙ МЕРЕ ОДНОГО РЕКОМЕНДУЕМОГО ТОВАРА ДЛЯ ПЕРЕДАЧИ ЕГО УКАЗАНИЯ НА ЭЛЕКТРОННОЕ УСТРОЙСТВО ДЛЯ ПРЕДСТАВЛЕНИЯ ПО МЕНЬШЕЙ МЕРЕ ОДНОГО РЕКОМЕНДУЕМОГО ТОВАРА ПОЛЬЗОВАТЕЛЮ
[0150] Наконец, на этапе 812, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, сервер 250 может быть сконфигурирован для определения по меньшей мере одного рекомендуемого товара 225 как одного или более наиболее рекомендуемых товаров ранжированного набора рекомендуемых товаров.
[0151] Кроме того, сервер 250 может быть сконфигурирован для передачи указания по меньшей мере одного рекомендуемого товара 225 на электронное устройство 210 для представления его пользователю 220, например, в интерфейсе корзины для покупок платформы 260 для онлайн-торговли вместе с данным товаром 205, ранее указанным пользователем 220 для покупки.
[0152] Однако в других неограничивающих вариантах осуществления настоящей технологии, сервер 250 может быть сконфигурирован, чтобы откладывать передачу указания по меньшей мере одного рекомендуемого товара 225 на электронное устройство 210 до одного из будущих пользовательских взаимодействий пользователя 220 на платформе для онлайн-торговли – такого как указание пользователем 220, в будущий момент времени, на другой из множества товаров 235 для покупки, при этом другой из множества товаров 235 отличается от данного товара 205.
[0153] Таким образом, некоторые варианты осуществления способа 800 могут позволить более эффективно рекомендовать товары на платформе 260 для онлайн-торговли пользователю 220 путем предоставления рекомендуемых товаров, которые, вероятно, заинтересуют пользователя 220 для взаимодействия с ними. В конечном итоге это может улучшить пользовательский опыт пользователя 220 и помочь увеличить средний размер покупки на платформе 260 для онлайн-торговли.
[0154] Таким образом, способ 800 завершается.
[0155] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.
[0156] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в конкретном порядке, следует понимать, что эти этапы могут быть объединены, подразделены или переупорядочены без отклонения от идей настоящей технологии. Соответственно, порядок и группировка упомянутых этапов ограничениями настоящей технологии не являются.
название | год | авторы | номер документа |
---|---|---|---|
СИСТЕМА И СПОСОБ ДЛЯ ФОРМИРОВАНИЯ РЕКОМЕНДАЦИЙ ЦИФРОВЫХ ЭЛЕМЕНТОВ | 2022 |
|
RU2819646C1 |
СПОСОБ И СЕРВЕР ДЛЯ ВЫБОРА ЭЛЕМЕНТОВ РЕКОМЕНДАЦИЙ ДЛЯ ПОЛЬЗОВАТЕЛЯ | 2017 |
|
RU2693323C2 |
СПОСОБ И СИСТЕМА ДЛЯ РАНЖИРОВАНИЯ ЦИФРОВЫХ ОБЪЕКТОВ НА ОСНОВЕ СВЯЗАННОЙ С НИМИ ЦЕЛЕВОЙ ХАРАКТЕРИСТИКИ | 2019 |
|
RU2757174C2 |
Способ и сервер для определения обучающего набора для обучения алгоритма машинного обучения (MLA) | 2020 |
|
RU2817726C2 |
СПОСОБ И СЕРВЕР ГЕНЕРИРОВАНИЯ МЕТА-ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ | 2018 |
|
RU2721159C1 |
СПОСОБ И СИСТЕМА ГЕНЕРИРОВАНИЯ ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТА | 2018 |
|
RU2733481C2 |
Способ и сервер для ранжирования цифровых документов в ответ на запрос | 2020 |
|
RU2818279C2 |
СПОСОБ И СИСТЕМА ПОСТРОЕНИЯ ПОИСКОВОГО ИНДЕКСА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2720954C1 |
СПОСОБ И СИСТЕМА ВЫБОРА ДЛЯ РАНЖИРОВАНИЯ ПОИСКОВЫХ РЕЗУЛЬТАТОВ С ПОМОЩЬЮ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2731658C2 |
СПОСОБ И СИСТЕМА СОЗДАНИЯ ВЕКТОРОВ АННОТАЦИИ ДЛЯ ДОКУМЕНТА | 2017 |
|
RU2720074C2 |
Изобретение относится к способу и системе для рекомендации товаров на платформе для онлайн-торговли. Технический результат заключается в расширении арсенала технических средств, обеспечивающих определение рекомендуемого товара для конкретного пользователя, повышении релевантности персонализированной рекомендации для выбранного пользователя за счет повышения качества персонализации; повышении качества работы рекомендательной системы за счет модифицированной модели (MLA) с использованием пользовательских данных. Способ содержит: прием от электронного устройства запроса рекомендаций по товарам, причем запрос был инициирован пользователем, указавшим данный товар из множества товаров для покупки на платформе для онлайн-торговли; идентификацию, во множестве товаров на основе данного товара, набора рекомендуемых товаров; получение пользовательских данных пользователя, включающих в себя данные просмотров пользователем и данные пользовательского устройства электронного устройства; определение, на основе пользовательских данных для данного рекомендуемого товара, соответствующего значения параметра ранжирования для конкретного пользователя, который указывает значение вероятности восприятия пользователем данного рекомендуемого товара в качестве представляющего интерес для пользователя, при этом определение включает в себя применение процессором алгоритма машинного обучения (MLA), включающего в себя первую модель и вторую модель; ранжирование набора рекомендуемых товаров в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, тем самым генерируя ранжированный набор рекомендуемых товаров; и выбор посредством применения процессором MLA из ранжированного набора рекомендуемых товаров по меньшей мере одного рекомендуемого товара для передачи сервером его указания на электронное устройство пользователя для представления по меньшей мере одного рекомендуемого товара пользователю. 2 н. и 15 з.п. ф-лы, 8 ил.
1. Реализуемый компьютером способ определения по меньшей мере одного рекомендуемого товара на платформе для онлайн-торговли, при этом платформа для онлайн-торговли размещается на сервере, сервер имеет доступ к запоминающему устройству, хранящему:
указания на множестве товаров для продажи на платформе для онлайн-торговли, при этом пары товаров из множества товаров связаны с соответствующей оценкой взаимной популярности, указывающей частоту появления данной пары товаров, выбранных предыдущими пользователями платформы для онлайн-торговли для одной покупки;
при этом способ выполняется сервером, включающим в себя процессор, коммуникативно связанный с электронным устройством пользователя, при этом способ содержит:
прием от электронного устройства запроса рекомендаций по товарам, причем запрос был инициирован пользователем, указавшим данный товар из множества товаров для покупки на платформе для онлайн-торговли;
идентификацию процессором во множестве товаров, на основе данного товара, набора рекомендуемых товаров,
причем идентификация основана на соответствующих оценках взаимной популярности множества товаров относительно данного товара;
получение процессором пользовательских данных, связанных с пользователем, включающих в себя данные просмотров пользователем и данные пользовательского устройства электронного устройства;
определение процессором, на основе пользовательских данных, для данного одного из ранжированных наборов рекомендуемых товаров, соответствующего значения параметра ранжирования для конкретного пользователя,
причем соответствующее значение параметра ранжирования для конкретного пользователя указывает значение вероятности восприятия пользователем данного одного товара из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя;
при этом определение включает в себя применение процессором алгоритма машинного обучения (MLA),
включающего в себя первую модель и вторую модель, при этом:
первая модель была обучена определять первое значение вероятности того, что пользователь воспримет данный один товар из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя, на основе данных просмотров пользователем;
вторая модель была обучена определять второе значение вероятности того, что пользователь воспримет данный один товар из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя, на основе данных пользовательского устройства;
генерирование процессором посредством применения алгоритма извлечения признаков данных просмотров пользователем вектора признаков пользователя,
генерирование процессором посредством применения алгоритма извлечения признаков устройства вектора признаков устройства,
передачу вектора признаков пользователя в первую модель для генерации первого значения вероятности,
подачу вектора признаков устройства во вторую модель для получения второго значения вероятности,
объединение первого значения вероятности и второго значения вероятности,
ранжирование посредством применения процессором MLA набора рекомендуемых товаров в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, связанного с ним, тем самым генерируя ранжированный набор рекомендуемых товаров; и
выбор посредством применения процессором MLA из ранжированного набора рекомендуемых товаров по меньшей мере одного рекомендуемого товара для передачи сервером его указания на электронное устройство пользователя для представления по меньшей мере одного рекомендуемого товара пользователю.
2. Способ по п. 1, в котором соответствующая оценка взаимной популярности, связанная с данной парой товаров, была определена на основе исторических данных предыдущих пользователей платформы для онлайн-торговли.
3. Способ по п. 1, в котором идентификация набора рекомендуемых товаров дополнительно содержит:
ранжирование множества товаров согласно соответствующим оценкам взаимной популярности, связанным с ним, относительно данного товара; и
выбор заранее определенного количества товаров с наивысшими числами из множества товаров для включения их в набор рекомендуемых товаров.
4. Способ по п. 1, в котором множество товаров может быть представлено в виде графа, в котором:
данный узел графа представляет соответствующий один из множества товаров, и
данное ребро графа, соединяющее данную пару узлов, связанных с данной парой товаров, представляет соответствующую оценку взаимной популярности между ними, и при этом идентификация набора рекомендуемых товаров включает в себя:
идентификацию узлов графа, соединенных с узлом, связанным с данным товаром, соответствующими ребрами.
5. Способ по п. 1, в котором пользовательские данные, связанные с пользователем, включают в себя одну или более социально-демографических характеристик пользователя, и в котором получение пользовательских данных включает в себя определение процессором одной или более его социально-демографических характеристик.
6. Способ по п. 5, в котором одна или более социально-демографических характеристик включает в себя по меньшей мере одно из возраста пользователя, пола пользователя, статуса занятости пользователя и среднего дохода пользователя.
7. Способ по п. 1, в котором каждому из первого значения вероятности и второго значения вероятности присваивается соответствующее заранее определенное весовое значение.
8. Способ по п. 1, в котором первая модель и вторая модель обучались независимо.
9. Способ по п. 1, в котором данные просмотров пользователем включают в себя данные просмотров пользователем множества заранее определенных веб-ресурсов.
10. Способ по п. 1, в котором данные пользовательского устройства включают в себя по меньшей мере одно из:
модели электронного устройства; производителя электронного устройства; географических данных от электронного устройства; и данных приложений, установленных на электронном устройстве.
11. Способ по п. 1, в котором каждую из первой модели и второй модели повторно обучают с заданной частотой.
12. Способ по п. 1, в котором представление по меньшей мере одного рекомендуемого товара пользователю выполняется для будущего запроса рекомендаций по товарам, инициированного пользователем, указывающим другой товар из множества товаров для покупки на платформе для онлайн-торговли, при этом другой товар отличается от данного товара.
13. Система определения по меньшей мере одного рекомендуемого товара на платформе для онлайн-торговли, причем система содержит сервер, на котором размещается платформа для онлайн-торговли, причем сервер включает в себя:
процессор, коммуникативно связанный с электронным устройством пользователя;
запоминающее устройство, в котором хранятся:
указания на множество товаров для продажи на платформе для онлайн-торговли, при этом пары товаров из множества товаров связаны с соответствующей оценкой взаимной популярности, указывающей частоту появления данной пары товаров, выбранных предыдущими пользователями платформы для онлайн-торговли для одной покупки; и
компьютерно-читаемые инструкции;
причем процессор, после выполнения компьютерно-читаемых инструкций, конфигурируется для:
приема, от электронного устройства, запроса рекомендаций по товарам, причем запрос был инициирован пользователем, указавшим данный товар из множества товаров для покупки на платформе для онлайн-торговли;
идентификации, во множестве товаров, на основе соответствующих оценок взаимной популярности множества товаров относительно данного товара, набора рекомендуемых товаров;
получения пользовательских данных, связанных с пользователем, включающих в себя данные просмотров пользователем и данные пользовательского устройства электронного устройства;
определения процессором, на основе пользовательских данных, для данного одного из ранжированных наборов рекомендуемых товаров, соответствующего значения параметра ранжирования для конкретного пользователя,
причем соответствующее значение параметра ранжирования для конкретного пользователя указывает значение вероятности восприятия пользователем данного одного товара из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя;
при этом определение включает в себя применение процессором алгоритма машинного обучения (MLA),
включающего в себя первую модель и вторую модель, при этом:
первая модель была обучена определять первое значение вероятности того, что пользователь воспримет данный один товар из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя, на основе данных просмотров пользователем,
вторая модель была обучена определять второе значение вероятности того, что пользователь воспримет данный один товар из ранжированного набора рекомендуемых товаров в качестве представляющего интерес для пользователя, на основе данных пользовательского устройства,
генерирование процессором посредством применения алгоритма извлечения признаков данных просмотров пользователем вектора признаков пользователя,
генерирование процессором посредством применения алгоритма извлечения признаков устройства вектора признаков устройства,
передачу вектора признаков пользователя в первую модель для генерации первого значения вероятности,
подачу вектора признаков устройства во вторую модель для получения второго значения вероятности,
объединение первого значения вероятности и второго значения вероятности,
ранжирование посредством применения процессором MLA набора рекомендуемых товаров в соответствии с соответствующими значениями параметра ранжирования для конкретного пользователя, связанного с ним, тем самым генерируя ранжированный набор рекомендуемых товаров; и
выбор посредством применения процессором MLA из ранжированного набора рекомендуемых товаров по меньшей мере одного рекомендуемого товара для передачи его указания на электронное устройство пользователя для представления по меньшей мере одного рекомендуемого товара пользователю.
14. Система по п. 13, в которой процессор сконфигурирован для определения соответствующей оценки взаимной популярности, связанной с данной парой товаров, на основе исторических данных предыдущих пользователей платформы для онлайн-торговли.
15. Система по п. 13, в которой для идентификации набора рекомендуемых товаров процессор дополнительно сконфигурирован для:
ранжирования множества товаров согласно соответствующим оценкам взаимной популярности, связанным с ним, относительно данного товара; и
выбора заранее определенного количества товаров с наивысшими числами из множества товаров для включения их в набор рекомендуемых товаров.
16. Система по п. 13, в которой процессор сконфигурирован для представления множества товаров в форме графа, при этом:
данный узел графа представляет соответствующий один из множества товаров, и
данное ребро графа, соединяющее данную пару узлов, связанных с данной парой товаров, представляет соответствующую оценку взаимной популярности между ними, и для идентификации набора рекомендуемых товаров процессор сконфигурирован для:
идентификации узлов графа, соединенных с узлом, связанным с данным товаром, соответствующими ребрами.
17. Система по п. 13, в которой пользовательские данные, связанные с пользователем, включают в себя одну или более социально-демографических характеристик пользователя, и при этом для получения пользовательских данных процессор сконфигурирован для определения одной или более его социально-демографических характеристик.
US 20150278917 A1, 01.10.2015 | |||
US 20190332946 A1, 31.10.2019 | |||
US 20210056570 A1, 25.02.2021 | |||
US 8370203 B2, 05.02.2013 | |||
US 20190180321 A1, 13.06.2019. |
Авторы
Даты
2024-08-07—Публикация
2021-03-15—Подача