СПОСОБ И СИСТЕМА ДЛЯ СОЗДАНИЯ ПЕРСОНАЛИЗИРОВАННОГО ПОЛЬЗОВАТЕЛЬСКОГО ПАРАМЕТРА ИНТЕРЕСА ДЛЯ ИДЕНТИФИКАЦИИ ПЕРСОНАЛИЗИРОВАННОГО ЦЕЛЕВОГО ЭЛЕМЕНТА СОДЕРЖИМОГО Российский патент 2021 года по МПК G06F16/9535 G06Q30/02 

Описание патента на изобретение RU2757546C2

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящая технология в общем случае относится к системам и способам определения персонализированного пользовательского параметра интереса, и, в частности, к способам и системам для идентификации персонализированного целевого элемента содержимого на основе персонализированного пользовательского параметра интереса.

УРОВЕНЬ ТЕХНИКИ

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

[0003] Одновременно с ростом числа пользователей, получающих доступ к интернету, в также с ростом числа доступных в Интернете веб-ресурсов, были разработаны системы рекомендаций содержимого для предоставления рекомендаций пользователям. Эти приложения автоматизируют процесс предоставления персонализированных рекомендаций содержимого, других веб-ресурсов и сервисов, которые могут быть интересны пользователю.

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

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

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

[0007] Патентная заявка US 2016/343056 (опубликованная 24 ноября 2016 года) описывает исполняемый на компьютере способ рекомендации элементов для дальнейшей покупки клиентом на основе предоставленной клиентской истории действий. Способ реализуется с помощью компьютерного устройства адаптивных рекомендаций ("AR"), которое связано с памятью. Способ включает в себя получение от рекомендательного сервера компьютерного устройства по меньшей мере одного вектора предпочтений, сохранение по меньшей мере одного вектора предпочтений, получение по меньшей мере одного действия клиента, которое включает в себя временной аспект, от клиента-кандидата, и определение по меньшей мере одного персонализированного вектора на основе по меньшей мере одного вектора предпочтений, по меньшей мере одного клиентского действия, и временного аспекта, связанного с каждым из по меньшей мере одного клиентского действия. По меньшей мере один персонализированный вектор представляет собой по меньшей мере одну будущую покупку, которую вероятно совершит клиент-кандидат. Способ также включает в себя отображение по меньшей мере одной рекомендации на клиента-кандидата на основе по меньшей мере одного персонализированного вектора.

[0008] Патентная заявка US 6,134,532 (опубликованная 17 октября 2000) описывает систему и способ выбора и представления персонально таргетированных элементов на основе отслеживания наблюдаемого поведения каждого пользователя и использования представления адаптивного векторного пространства как для информации так и для поведения. Система сопоставляет пользователей и элементы таким образом, что сопоставление улучшается с увеличением числа операций и наблюдением за пользовательским поведением. Пользовательское поведение и элементы (рекламы, купоны, товары) и информация (текст) - представлены как векторы содержимого в унифицированном векторном пространстве. Система основана на представлении информации, которое называется векторами содержимого, и которое использует ограниченный самоорганизованный способ обучения для изучения отношений между символами (как правило, словами в неструктурированном тексте). Пользователи и элементы представлены как векторы содержимого.

РАСКРЫТИЕ ТЕХНОЛОГИИ

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

[00010] При разработке настоящей технологии, изобретатели отметили, что все большее число веб-ресурсов, доступных для браузерных приложений, которые связаны с пользователями, обслуживается сервисами веб-аналитики (такими как Google Analytics™, Яндекс.Метрика™ и т.д.) Коротко говоря, эти сервисы веб-аналитики выполнены с возможностью собирать и сохранять данные, связанные с браузерным приложением и/или пользовательскими взаимодействиями с соответствующим веб-ресурсом с помощью браузерного приложения.

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

[00012] Объектом настоящей технологи является исполняемый на компьютере способ создания персонализированного пользовательского параметра интереса, способ выполняется на сервере, который соединен посредством сети передачи данных, с клиентским устройством, связанным с пользователем, клиентское устройство выполнено с возможностью исполнять браузерное приложение, которое ранее получало доступ через сеть передачи данных, по меньшей мере к одному веб-ресурсу во время заранее определенного предыдущего периода времени; способ включает в себя: получение сервером данных об истории переходов, связанных с браузерным приложением, данные об истории переходов включают в себя один или несколько единых указателей ресурса (URL), связанных с соответствующим одним из по меньшей мере одного веб-ресурса; создание, на основе данных об истории переходов, одного или нескольких шаблонов навигационных переходов в сессии, шаблон навигационных переходов в сессии включает в себя по меньшей мере один из одного или нескольких URL, к которым получало доступ браузерное приложение предыдущей сессии браузера; для каждого шаблона навигационных переходов в сессии: укорачивание каждого из одного или нескольких URL, включенных в шаблон навигационных переходов в сессии, для получения соответствующего сегмента URL; создание посредством первого алгоритма машинного обучения, соответствующего векторного значения, представляющего каждый из сегментов URL; первый алгоритм машинного обучения был обучен размечать сегменты URL для соответствующих векторных значений на основе совместного вхождения сегментов URL в шаблон навигационных переходов в сессии; назначение весового значения для каждого сегмента URL, причем для данного сегмента URL весовое значение определяется на основе по меньшей мере одного из первого значения, которое обратно пропорционально частоте данного сегмента URL в журнале сегментов URL, связанных с URL, которые были посещены пользователями сервера; второго значения, которое основано на давности доступа к URL, связанному с данным сегментом URL, со стороны браузерного приложения; определение значения навигационного профиля для пользователя на основе по меньшей мере одного векторного значения и соответствующего весового значения, значение навигационного профиля связано с данными об истории переходов пользователя за заранее определенный период времени; создание посредством второго алгоритма машинного обучения, персонализированный пользовательский параметра интереса связанного с пользователем на основе значения навигационного профиля, второй алгоритм машинного обучения был обучен размечать соответствие значения навигационного профиля пользователя по меньшей мере одному персонализированному пользовательскому параметру интереса.

[00013] В некоторых вариантах осуществления настоящей технологии, укорачивание каждого из одного или нескольких URL включает в себя отсечение по меньшей мере одного из: первую часть, указывающую на протокол передачи гипертекста для каждого из одного или нескольких URL; вторую часть, указывающую на имя пути для каждого из одного или нескольких URL; третью часть, указывающую на имя файла для каждого из одного или нескольких URL; четвертую часть, указывающую на имя домена верхнего уровня для каждого из одного или нескольких URL; и пятую часть, указывающую на имя хоста, при определении того, что имя хоста представляет собой имя хоста во Всемирной паутине (World Wide Web).

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

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

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

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

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

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

Vскоррект.=Vхост×W×N

где: Vскоррект. - скорректированное векторное значение для данного векторного значения; Vхост - данное векторное значение; W - весовое значение, связанное с данным векторным значением; N - число вхождений имени доменного уровня, связанного с данным векторным значением, в данных об истории переходов; добавление каждого определенного скорректированного векторного значения для получения значения навигационного профиля.

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

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

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

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

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

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

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

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

[00028] В некоторых вариантах осуществления сервера, для укорачивания каждого из одного или нескольких URL, процессор выполнен с возможностью отсекать по меньшей мере одно из: первую часть, указывающую на протокол передачи гипертекста для каждого из одного или нескольких URL; вторую часть, указывающую на имя пути для каждого из одного или нескольких URL; третью часть, указывающую на имя файла для каждого из одного или нескольких URL; четвертую часть, указывающую на имя домена верхнего уровня для каждого из одного или нескольких URL; и пятую часть, указывающую на имя хоста, при определении того, что имя хоста представляет собой имя хоста во Всемирной паутине (World Wide Web).

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

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

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

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

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

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

Vскоррект.=Vхост×W×N

где: Vскоррект. - скорректированное векторное значение для данного векторного значения; Vхост - данное векторное значение; W - весовое значение, связанное с данным векторным значением; N - число вхождений имени доменного уровня, связанного с данным векторным значением в данных об истории переходов; добавление каждого определенного скорректированного векторного значения для получения значения навигационного профиля.

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

[00046] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем.

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

[00048] На Фиг. 3 представлена схематическая иллюстрация данных об истории переходов, хранящихся в базе данных отслеживания, относящейся к системе, которая показана на Фиг. 1.

[00049] На Фиг. 4 представлен пример процесса определения одного или нескольких целевых элементов содержимого, хранящихся в базе данных целевых элементов содержимого с помощью приложения по доставке содержимого, относящегося к системе, которая показана на Фиг. 1.

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

[00051] На Фиг. 6 представлена блок-схема алгоритма способа определения персонализированного пользовательского параметра интереса для идентификации персонализированных целевых элементов содержимого.

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

ОСУЩЕСТВЛЕНИЕ

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

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

[00055] Более того, все заявленные здесь принципы, аспекты и варианты осуществления настоящей технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор, или нет.

[00056] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как "процессор", могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. В некоторых вариантах осуществления настоящей технологии, процессор может являться универсальным процессором, например, центральным процессором (CPU) или специализированным для конкретной цели процессором, например, графическим процессором (GPU). Более того, использование термина «процессор» или «контроллер» не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также в это может быть включено другое аппаратное обеспечение, обычное и/или специальное.

[00057] С учетом этих примечаний далее будут рассмотрены некоторые варианты осуществления аспектов настоящей технологии, не ограничивающие ее объем.

[00058] Система 100 включает в себя электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и, таким образом, иногда может упоминаться как «клиентское устройство». Следует отметить, что тот факт, что электронное устройство 102 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.

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

[00060] Электронное устройство 102 включает в себя постоянное хранилище 104. Постоянное хранилище 104 памяти может охватывать один или несколько носителей и в общем случае предоставляет место для хранения исполняемых на компьютере инструкций, выполняемых компьютером 106. Например, постоянное хранилище 104 может быть реализовано как машиночитаемый носитель информации, включая ПЗУ (ROM), жесткие диски (HDD), твердотельные накопители (SSD) и флеш-карты памяти.

[00061] Электронное устройство 102 содержит аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в области техники, чтобы выполнять браузерное приложение 108. В общем случае, задачей браузерного приложения 108 является предоставление пользователю (не показан) доступа к одному или нескольким веб-ресурсам. Способ, в соответствии с которым реализовано браузерное приложение 108, хорошо известен в данной области техники и не будет описан здесь. Достаточно сказать, что браузерное приложение 108 может представлять собой любое из браузерных приложений Google™ Chrome™, Яндекс.Браузер™ или любое другое коммерчески доступное или собственное браузерное приложение.

[00062] Вне зависимости от того, какое именно браузерное приложение 108 используется, оно, как правило, обладает командным интерфейсом 110 и браузерным интерфейсом 112. В общем случае, пользователь (не показано) может получить доступ к веб-ресурсу через сеть 114 передачи данных двумя основными способами. Пользователь может получать доступ к конкретному веб-ресурсу напрямую, введя адрес веб-ресурса (обычно, URL или Единый указатель ресурса, например www.example.com) в командный интерфейс 110, или же нажав на ссылку в электронном сообщении или на другом веб-ресурсе (что, по сути, будет аналогом действия "копировать и вставить" соответствующий URL, связанный со ссылкой, в командный интерфейс 110).

[00063] В противном случае пользователь может выполнить поиск желаемого ресурса с помощью сервиса поисковой системы (не показано) на основе поискового намерения пользователя. Последнее особенно подходит для тех случаев, когда пользователю известна интересующая его (ее) тема, но неизвестен URL интересующего веб-ресурса. Пользователь вводит поисковый запрос в командный интерфейс 110, поисковый запрос представляет поисковое намерение пользователя. Поисковая система обычно выводит страницу результатов поиска (SERP), содержащую ссылки на один или несколько веб-ресурсов, которые отвечают на поисковый запрос пользователя. Опять же, путем нажатия на одну или несколько ссылок, представленных на SERP, пользователь может открыть необходимый веб-ресурс.

[00064] Электронное устройство 102 включает в себя интерфейс передачи данных (не показано) для двусторонней передачи данной через сеть 114 передачи данных через линию 116 передачи данных. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 114 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящей технологии сеть 114 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.

[00065] Реализация линии 116 передачи данных никак конкретно не ограничена, и зависит от того, как именно реализовано электронное устройство 102. В качестве примера, но не ограничения, в данных вариантах осуществления настоящей технологии, когда электронное устройство 102 представляет собой беспроводное устройство связи (например, смартфон), линия 116 передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных сети 3G, линия передачи данных сети 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.).

[00066] Важно иметь в виду, что варианты осуществления электронного устройства 102, линии 116 передачи данных и сети 114 передачи данных даны исключительно в иллюстрационных целях. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления электронного устройства 102, линии 116 передачи данных и сети 114 передачи данных. Таким образом, представленные здесь примеры не ограничивают объем настоящей технологии.

[00067] Система 100 далее включает в себя веб-сервер 118, соединенный с сетью 114 передачи данных. Веб-сервер 118 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии, веб-сервер 118 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что веб-сервер 118 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, веб-сервер 118 является одиночным сервером. В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность веб-сервера 118 может быть разделена и может выполняться с помощью нескольких серверов.

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

[00069] В некоторых вариантах осуществления настоящей технологии, и в общем случае, веб-сервер 118 служит "хостом" для первого веб-ресурса 120 и второго веб-ресурса 122. В некоторых неограничивающих вариантах осуществления настоящей технологии, каждый из первого веб-ресурса 120 и второго веб-ресурса 112 представляет собой сетевой ресурс (например, веб-страницу, веб-сайт и так далее), который включает в себя содержимое, которое визуально представлено электронным устройством 102 пользователю через браузерное приложение 108, и связано с конкретным веб-адресом (например, URL).

[00070] Каждый из первого веб-ресурса 120 и второго веб-ресурса 122 доступен браузерному приложению 108 через сеть 114 передачи данных, например, посредством ввода пользователем URL в командный интерфейс 110 или путем выполнения веб-поиска с помощью поисковой системы (не показано). Несмотря на то, что в показанном неограничивающем варианте осуществления настоящей технологии, веб-сервер 118 размещает только два веб-ресурса: первый веб-ресурс 120 и второй веб-ресурс 122, это не является ограничением и, следовательно, он может размещать большее или меньшее число веб-ресурсов, чем два веб-ресурса.

[00071] Система 100 далее включает в себя сервер 124, соединенный с сетью 114 передачи данных. Достаточно сказать, что сервер 124 может быть (но не обязан быть) реализован тем же способом, что и веб-сервер 118. В представленных вариантах осуществления настоящей технологии, сервер 124 является одиночным сервером. В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность сервера 124 может быть разделена, и может выполняться с помощью нескольких серверов.

[00072] Сервер 124 включает в себя серверную память 126, которая обладает одним или несколькими носителями и, в общем случае, предоставляет место для хранения исполняемых на компьютере программных инструкций, выполняемых серверным процессором 128. В качестве примера, серверная память 126 может быть реализована как физический машиночитаемый носитель, включая постоянное запоминающее устройство - ПЗУ (ROM) и/или оперативное запоминающее устройство - ОЗУ (RAM). Серверная память 126 может также включать в себя одно или несколько физических устройств хранения в форме, например, жестких дисков (HDD), твердотельных накопителей (SSD) или флеш-карт памяти.

[00073] В некоторых неограничивающих вариантах осуществления настоящей технологии, сервер 124 может управляться тем же лицом, которое предоставило вышеописанное браузерное приложение 108. Например, если браузерное приложение 108 представляет собой Яндекс.Бразуер™, сервер 124 может управляться ООО "Яндекс", расположенным по адресу 119021 ул. Льва Толстого, 16, Москва, Россия. В других вариантах осуществления технологии сервер 124 может управляться лицом, отличным от того, которое предоставило вышеописанное браузерное приложение 108.

[00074] В соответствии с неограничивающими вариантами осуществления настоящей технологии, сервер 124 предоставляет веб-сервис 142 (например, сервис рекомендаций персонализированного содержимого, например, Яндекс.Дзен™ or Flipboard™, сервис онлайн покупок, новостной сервис, сервис социальных медиа и так далее), который доступен, например, путем ввода пользователем URL, соответствующего веб-сервису 142, в командный интерфейс ПО или путем выполнения веб-поиска с помощью поисковой системы (не показано). Несмотря на то, что в показанном неограничивающем варианте осуществления настоящей технологии, сервер 124 размещает только один веб-сервис 142, это не является ограничением и, следовательно, он может размещать больше веб-сервисов.

[00075] В некоторых вариантах осуществления настоящей технологии, сервер 124 далее размещает приложение 134 веб-аналитики, например, Ян деке. Метрика™ или Google Analytics™. То, как именно реализовано приложение 134 веб-аналитики, хорошо известно в настоящем уровне техники, и поэтому не будет отдельно описано здесь. Достаточно сказать, что приложение 134 веб-аналитики, выполнено с возможностью отслеживать и сохранять данные об истории переходов (описано далее) данного браузерного приложения (например, браузерного приложения 108). Таким образом, приложение 134 веб-аналитики соединено с базой 136 данных отслеживания (описано далее). Несмотря на то что приложение 134 веб-аналитики, представлено как реализованное на сервере 124, это не является ограничением, и оно может быть реализовано (вместе с базой 136 данных отслеживания) как другой элемент.

Заполнение базы 135 данных отслеживания

[00076] На Фиг. 2 представлен алгоритм процедуры заполнения базы 136 данных отслеживания.

[00077] В качестве иллюстрации, способ, в соответствии с которым заполняется база 136 данных, будет описан с помощью первого веб-ресурса 120. Важно иметь в виду, что это сделано только в качестве примера, а не в качестве ограничения. Другими словами, тот же подход может применяться ко второму веб-ресурсу 122.

[00078] Начиная с общего обзора, первый веб-ресурс 120 может обслуживаться приложением 134 веб-аналитики путем внедрения поставщиком (не показано) первого веб-ресурса 120 кода счетчика, предоставляемого приложением 134 веб-аналитики, в содержимое веб-ресурса. В общем случае, код счетчика состоит из сниппета JavaScript кода, находящегося в элементе скрипта первого веб-ресурса 120. Тем не менее, код счетчика может быть основан на любом другом коде и/или программном языке. В ответ, веб-сервер 118 получает исходный код 138 (см. Фиг 1), который будет сохранен на нем приложением 134 веб-аналитики. Как будет более подробно описано далее, исходный код 138 выполняет инструкции, связанные с приложением 134 веб-аналитики.

[00079] Далее, начиная с этапа 202, браузерное приложение 108 получает доступ к первому веб-ресурсу 120 описанными выше способами. В общем случае, как часть процесса получения доступа к первому веб-ресурсу 120, браузерное приложение 108 передает сообщение с запросом на протокол передачи гипертекста (HTTP-запросом) веб-серверу 118. Например, если браузерное приложение 108 получает доступ к первому веб-ресурсу 120, обладающему URL www.example.org, сообщение с HTTP-запросом включает в себя следующий запрос:

[00080] На этапе 204, в ответ на получение сообщения с HTTP-запросом от браузерного приложения 108, веб-сервер 118 определяет, был ли браузерному приложению 108 ранее назначен уникальный ID 140 браузера (показано на Фиг. 1, применимо в тех случаях, когда уникальный ID 140 браузера был назначен).

[00081] В некоторых неограничивающих вариантах осуществления настоящей технологии, уникальный ID 140 браузера представляет собой куки приложения 134 веб-аналитики и сохраняется в постоянном хранилище 104 электронного устройства 102 (как показано на Фиг. 1). В других вариантах осуществления технологии, уникальный ID 140 браузера представляет собой собственные куки приложения 134 веб-аналитики и сохраняется в постоянном хранилище 104 электронного устройства 102 (как показано на Фиг. 1). В отличие от НТТР-куки, уникальный ID 140 браузера не обладает сроком действия и не удаляется при завершении сессии. Как будет более подробно описано далее, уникальный ID 140 браузера позволяет приложению 134 веб-аналитики определять случаи, когда две отдельных попытки получения доступа к первому веб-ресурсу 120 относятся к одному и тому же браузерному приложению 108.

[00082] Если было определено, что браузерное приложение 108 не обладает уникальным ID браузера, процесс переходит к этапу 206, где уникальный ID браузера назначается браузерному приложению 108 с помощью исходного кода 138. Конкретнее, исходный код 138 выполнен с возможностью создавать и назначать уникальный ID 140 браузера на основе хэш-функции, которая проверяет, что уникальные ID 140 браузера, которые были созданы и назначены, являются уникальными. Продолжая приведенный выше пример, веб-сервер 118 передает браузерному приложению 108 следующие инструкции для сохранения уникального ID 140 браузера в постоянном хранилище 104 электронного устройства 102 (уникальный ID 140 браузера уминается как "yandexuid"):

[00083] Альтернативно, если определено, что браузерному приложению 108 уже был назначен уникальный ID 140 браузера, процесс переходит к этапу 208, где начинается браузерная сессия первого веб-ресурса 120 с помощью браузерного приложения 108, и, в результате, исполняется код счетчика. В общем случае, когда исполняется код счетчика, исходный код 138 выполнен с возможностью собирать информацию о браузерной сессии, например, заголовок HTML страницы, URL первого веб-ресурса 120, время браузерной сессии и т.д. В некоторых неограничивающих вариантах осуществления настоящей технологии, исходный код 138 отслеживает события, которые возникают когда пользователь (не показано) браузерного приложения 108 взаимодействует с первым веб-ресурсом. Взаимодействие включает в себя пользовательское поведение, среди прочего, заполнение и отправку форм, нажатие на ссылки, прокрутку страницы и так далее.

[00084] После завершения браузерной сессии первого веб-ресурса 120 браузерным приложением 108, процесс переходит к этапу 210, где исходный код 138 инициирует веб-сервер передавать следующую информацию приложению 134 веб-аналитики:

• указание на уникальный ID 140 браузера;

• URL веб-ресурса, к которому получают доступ (например, первого веб-ресурса 120);

• время доступа браузерным приложением 108 к веб-ресурсу, к которому получают доступ,и

• отслеживаемое пользовательское поведение.

[00085] Приложение 134 веб-аналитики выполнено с возможностью реорганизовать полученную информацию для создания данных 302 об истории переходов. В широком смысле, данные об истории переходов представляют собой логически организованный набор информации, полученной от веб-сервера 118 (как будет далее объяснено со ссылкой на Фиг. 3).

[00086] Излишне упоминать, что база 136 данных отслеживания может быть заполнена в соответствии с другими способами, например теми, которые известны специалистам в данной области техники. Примеры различных способов заполнения базы 136 данных отслеживания описаны более подробно на сайте www.metrica.yandex.com, содержимое которого представлено здесь целиком посредством ссылки.

[00087] На Фиг. 3 представлена неограничивающая схема данных 302 об истории переходов браузерного приложения 108 в форме индекса, сохраненного в базе 136 данных отслеживания. Данные 302 об истории переходов состоят из (i) времени 306 получения доступа к каждому из по меньшей мере одного веб-ресурса, к которому получают доступ, и который обслуживается приложением 134 веб-аналитики, и (ii) набора URL 304 для каждого из по меньшей мере одного веб-ресурса, организованного хронологически на основе соответствующего времени 306 получения доступа.

[00088] Как показано, браузерное приложение 108 (которое связано с уникальным ID 140 браузера) получало доступ по меньшей мере к 14 веб-ресурсам, которые обслуживаются приложением 134 веб-аналитики в период времени с 19 мая 2017 по 20 мая 2017. Излишне упоминать, что показанный на Фиг. 3 период времени представлен только как иллюстрация и не является ограничивающим.

Получение доступа к веб-сервису

[00089] Снова обратимся к Фиг. 1. Как было упомянуто ранее, к веб-сервису 142 получают доступ с помощью браузерного приложения 108. Для получения доступа к веб-сервису 142, браузерное приложение 108 передает пакет 144 данных (описанный ниже) серверу 124.

[00090] Пакет 144 данных включает в себя HTTP-запрос (как описано выше). В некоторых неограничивающих вариантах осуществления настоящей технологии, где электронному устройству 102 был ранее назначен уникальный ID 140 браузера, пакет 144 данных далее включает в себя указание на уникальный ID 140 браузера. Альтернативно, сервер 124 может запрашивать уникальный ID 140 браузера в ответ на получение пакета 144 данных. Естественно, пакет 144 данных может включать в себя другие типы данных, что не выходит за границы настоящей технологии.

[00091] В некоторых вариантах осуществления настоящей технологии, при получении пакета данных 144, сервер 124 выполнен с возможностью передавать запрашиваемое содержимое и один или несколько целевых элементов содержимого (описано ниже). Излишне упоминать, что подразумевается, что один или несколько целевых элементов содержимого передаются в ответ на запрос пользователем браузерного приложения 108 целевых элементов содержимого после получения доступа к веб-сервису 142.

[00092] Таким образом, сервер 124 выполнен с возможностью содержать базу 130 данных целевых элементов содержимого, включающую в себя по меньшей мере один целевой элемент 148 содержимого. В контексте настоящей технологии, термин "целевой элемент содержимого" будет зависеть от типа услуг, предлагаемых веб-сервисом 142. Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, целевой элемент 148 содержимого может включать в себя веб-ресурс, направленный на рекламу продукта (например, баннерную рекламу) в случае сервиса веб-торговли, новостную статью в случае новостного сервиса, событие или группу в случае сервиса социальных медиа, веб-публикация в случае сервиса рекомендаций персонализированного содержимого. Излишне упоминать, что также подразумевается, что целевые элементы содержимого могут быть одного конкретного типа содержимого вне зависимости от веб-сервиса 142.

Приложение 132 по доставке содержимого

[00093] При разработке настоящей технологии, разработчики отметили, что при анализе данных 302 об истории переходов браузерного приложения 108 может быть достигнуто лучшее понимание пользовательских характеристик (описано ниже), которое далее может быть использовано для выбора одного или нескольких "персонализированных" целевых элементов содержимого, которые вероятно будут интересны пользователю.

[00094] Далее, сервер 124 выполнен с возможностью исполнять приложение 132 по доставке содержимого, хранящееся в памяти 126 сервера. Как будет более подробно описано далее, приложение 132 по доставке содержимого включает в себя набор машиночитаемых кодов, исполняемых процессором 128 сервера для определения того, какой целевой элемент содержимого выбирать для передачи браузерному приложению 108. Несмотря на то что приложение 132 по доставке содержимого, представлено как реализованное сервером 124, это не является ограничением, и оно может быть реализовано (вместе с базой 130 данных целевых элементов содержимого) как другой элемент.

[00095] Функции и операции различных компонентов приложения 132 по доставке содержимого будут далее описаны более подробно. На Фиг. 4 представлен пример процесса определения одного или нескольких целевых элементов содержимого, хранящихся в базе 130 данных целевых элементов содержимого с помощью приложения 132 по доставке содержимого, для доставки браузерному приложению 108. Приложение 132 по доставке содержимого выполняет (или иным образом обладает доступом): процедуру 402 создания вектора, процедуру 404 создания профиля и процедуру 406 выбора целевого элемента содержимого.

[00096] В контексте настоящего описания термин "процедура" относится к подмножеству машиночитаемых кодов приложения 132 по доставке содержимого, которое выполняется процессором 128 сервера для выполнения функций, которые описаны далее. Во избежание каких-либо сомнений, следует иметь в виду, что процедура 402 создания вектора, процедура 404 создания профиля и процедура 406 выбора целевого элемента содержимого представлены здесь схематично в распределенном и разделенном виде для простоты понимания процессов, выполняемых приложением 132 по доставке содержимого. Подразумевается, что некоторые или все из процедур: процедуры 402 создания вектора, процедуры 404 создания профиля и процедуры 406 выбора целевого элемента содержимого могут быть реализованы как одна или несколько совместных процедур.

[00097] Начиная с общего вида, определение того, какой целевой элемент содержимого (например, целевой элемент 148 содержимого) извлекать из базы 130 данных целевых элементов содержимого, может быть грубо разделено на два этапа. На первом этапе, включающем в себя процедуру 402 создания вектора и процедуру 404 создания профиля, приложение 132 по доставке содержимого анализирует данные 302 об истории переходов для создания значения профиля навигации (описано далее). На втором этапе, включающем в себя процедуру 406 выбора целевого элемента содержимого, один или несколько целевых элементов содержимого выбираются из базы 130 данных целевых элементов содержимого с помощью, по меньшей мере частично, ранее определенного значения профиля навигации.

[00098] Функции каждой из процедуры 402 создания вектора, процедуры 404 создания профиля и процедуры 406 выбора целевого элемента содержимого, а также обрабатываемые или сохраняемые данные и/или информация будут описаны далее.

Процедура 402 создания вектора

[00099] Теперь, в ответ на то, что сервер 124 получает пакет 144 данных вместе с уникальным ID 140 браузера, процедура 402 создания вектора выполнена с возможностью передачи пакета 408 данных базе 136 данных отслеживания. В некоторых вариантах осуществления настоящей технологии, пакет 408 данные включает в себя запрос на данные 302 об истории переходов, которые связаны с уникальным ID 140 браузера, и, следовательно, включает в себя (i) указание на уникальный ID 140 браузера, и (ii) указание на заранее определенный временной период, для которого запрашиваются данные 302 об истории переходов (например, предыдущий день, предыдущая неделя, предыдущий месяц и так далее). Например, пакет 408 данных включает в себя запрос на данные 302 об истории переходов, связанные с уникальным ID 140 браузера, для последних 2 дней (т.е. период времени между 19 мая 2017 и 20 мая 2017).

[000100] При получении пакета 144 данных, база 136 данных отслеживания получает указание на уникальный ID 140 браузера и извлекает данные 302 об истории переходов, связанные с уникальным ID 140 браузера, для запрашиваемого периода времени. База 136 данных отслеживания далее передает пакет 410 данных, который содержит данные 302 об истории переходов, связанные уникальным ID 140 браузера (см. Фиг. 3).

[000101] Процедура 402 выполнена с возможностью, при получении данных 302 об истории переходов, сортировать набор URL 304 хронологически (если это не сделано ранее), и подвергать их парсингу для создания набора URL 304 (см. Фиг. 3) на один или несколько шаблонов навигационных переходов в сессии. В некоторых вариантах осуществления настоящей технологии, шаблон навигационных переходов в сессии указывает на взаимодействия в браузерной сессии, определенные периодом времени, начиная с установления соединения с сетью 114 передачи данных браузерным приложением 108 для целей просмотра содержимого сети Интернет, и завершая отключением от сети 114 передачи данных. Таким образом, то как именно выполняется парсинг набора URL 304, никак не ограничено, и он может быть выполнен любым образом, например, группировкой URL, которые обладают одинаковым временем доступа, или к которым получали доступ за определенный временной интервал (например, путем применения маски заранее определенного временного периода, например, 10 минут, к набору URL 304).

[000102] На Фиг. 5 представлен набор шаблонов навигационных переходов в сессии (первый шаблон 502 навигационных переходов в сессии, второй шаблон 512 навигационных переходов в сессии, третий шаблон 514 навигационных переходов в сессии, четвертый шаблон 516 навигационных переходов в сессии и пятый шаблон 518 навигационных переходов в сессии). Первый шаблон 502 навигационных переходов в сессии включает в себя подмножество URL из набора URL 304, определенных как принадлежащие одному и тому же шаблону навигационных переходов в сессии в результате парсинга. Таким образом, первый шаблон 502 навигационных переходов в сессии включает в себя первый URL 504, второй URL 506, третий URL 508 и четвертый URL 510.

[000103] Разбирая в качестве примера шаблон 512 навигационных переходов в сессии, предположим, что содержащиеся в нем URL выглядят следующим образом:

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

• первую часть, содержащую протокол передачи гипертекста (например, "http://");

• вторую и третью части, соответствующие имени пути и имени файла (например, "/us" и "/index.html" в третьем URL 508); и

• четвертую часть, соответствующую имени домена верхнего уровня (например, ".com" и ".ru").

[000105] В дальнейшем примере, процедура 402 создания вектора может также быть выполнена с возможностью удалять пятую часть, соответствующую имени хоста, если имя хоста соответствует "www". Это основано на предположении разработчиков о том, что, несмотря на то, что большинство веб-ресурсов находятся на хостах с именем "www" (например, http://www.yahoo.com), многие веб-сервисы работают на других хостах. Например, Yahoo!™ также работает на других хостах, включая, например, хост "финансы" (finance.yahoo.com), "спорт"" (sports.yahoo.com), and "игры" (games.yahoo.com).

[000106] Таким образом, можно в общем случае сказать, что сегмент URL соответствует имени домена второго уровня и его субдоменам, и, в некоторых случаях, имени хоста (если он отличается от "www"). В результате применения вышеупомянутого набора правил, сегмент URL первого URL 504 будет выглядеть как "news.yandex", сегмент URL второго URL 506 будет выглядеть как "cnn", сегмент URL третьего URL 508 будет также выглядеть как "cnn" и сегмент URL четвертого URL 510 будет выглядеть как "asahi".

[000107] Процедура 402 создания вектора далее выполняется для удаления любых последовательных повторяющихся сегментов URL, содержащиеся в первом шаблоне 502 навигационных переходов в сессии. Таким образом, сегменты URL, связанные с третьим URL 508 ("cnn") удаляются из первого шаблона 502 навигационных переходов в сессии. В результате, первый шаблон 502 навигационных переходов в сессии будет содержать три последовательных сегмента URL: "news.yandex", "cnn" и "asahi".

[000108] Процедура 402 создания вектора далее выполняется для создания значения вектора для каждого из сегментов URL из оставшихся URL (т.е. "news.yandex", "cnn", и "asahi") с помощью первого алгоритма 412 машинного обучения. В некоторых неограничивающих вариантах осуществления настоящей технологии, значение вектора является векторным представлением соответствующего сегмента URL в многомерном пространстве, представляющем собой данный шаблон навигационных переходов в сессии.

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

[000110] То, как именно обучен первый алгоритм 412 машинного обучения, будет далее объяснено подробнее. Для удобства, обучение будет описано как выполняемое сервером 124, но это не является ограничением.

[000111] На первом этапе, сервер 124 получает набор образцов данных об истории переходов, связанных с различными пользователями. То, как именно сервер 125 получает набор образцов, никак не ограничено. Например, различные пользователи могут представлять собой пользователей веб-сервиса 142 и, таким образом, набор образцов данных об истории переходов может быть получен с помощью приложения 134 веб-аналитики, как описано выше.

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

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

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

Процедура 404 создания вектора

[000115] Как часть создания значения навигационного профиля, процедура 402 создания вектора далее выполнена с возможностью передавать пакет 414 данных процедуре 404 создания профиля, В некоторых неограничивающих вариантах осуществления настоящей технологии, пакет 414 включает в себя указание на значение вектора для каждого URL в наборе URL 304.

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

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

[000118] В уравнении 1:

• Vскоррект. - скорректированное векторное значение для данного векторного значения;

• Vхост - данное векторное значение;

• W - весовое значение, связанное с данным векторным значением (описано ниже);

• N - число вхождений сегмента URL, связанного с данным векторным значением в данных 302 об истории переходов;

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

[000120] При разработке настоящей технологии, изобретатели заметили, что некоторые сегменты URL используются так часто (например, "yandex", "google"), что число вхождений (т.е. "N" в Уравнении 1) будет ошибочно завышено, не позволяя более редким сегментам URL получить достаточное весовое значение. Таким образом, существует необходимость в корректировке этих завышений с помощью весового значения (описано ниже).

[000121] Следовательно, сервер 124 выполнен с возможностью получать доступ ко множеству записей данных об истории переходов с помощью множества браузерных приложений, которые ранее получали доступ к веб-ресурсу 142 (с помощью описанного выше способа) и, таким образом, обладает журналом (не показано) сегментов URL, которые содержатся во множестве данных об истории переходов. Первое значение, связанное с данным векторным значением определяется в процедуре 404 создания профиля (или, альтернативно, процедуре 402 создания вектора). Конкретнее, процедура 404 создания профиля создает первое значение на основе обратно пропорциональной связи частоты сегмента URL в журнале (не показано). Таким образом, сегменты URL, которые редко встречаются в журнале, будут обладать более высоким первым значением по сравнению с сегментами URL, которые встречаются часто.

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

[000123] Значение профиля навигации является суммой всех скорректированных векторных значений, которые были определены для данных 302 об истории переходов. Таким образом, можно сказать, что значение навигационного профиля определяется следующим образом:

[000124] В уравнении 2 Vпрофиль является значением навигационного профиля.

[000125] Другими словами, в обоих уравнениях 1 и 2, процедура 404 создания профиля выполнена с возможностью определять значение навигационного профиля с помощью:

[000126] В уравнении 3:

• X - общее число векторных величин, связанных с данными 302 об истории переходов;

• Vi - данная векторная величина, содержащаяся в данных 302 об истории переходов; и

• i - целое число.

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

• возрастной диапазон пользователя;

• диапазон дохода пользователя;

• региональную позицию пользователя; и

• пол пользователя.

[000128] Процедура 404 создания профиля выполнена с возможностью исполнять второй алгоритм 416 машинного обучения (описан ниже), обученный для определения персонализированного пользовательского параметра интереса. То, как именно реализован второй алгоритм 416 машинного обучения, никак не ограничено, и он может представлять собой, например, алгоритм дерева принятия решений или систему нейросети.

[000129] На Фиг. 7 представлена блок-схема диаграммы примерного способа 700 для обучения второго алгоритма 416 машинного обучения. Для удобства, способ 700 будет описан как выполняемый сервером 124, но это не является ограничением.

[000130] На этапе 702, сервер 124 получает обучающие данные, включающие в себя (i) множество образцов данных об истории переходов, связанных со множеством образцов пользователей и (ii) персонализированные пользовательские параметры интереса (например, одну или несколько социально-демографических характеристик), известные для образцов пользователей. То, как именно сервер 125 получает обучающие данные, никак не ограничено. Например, образцы пользователей могут соответствовать различным пользователям, которые ранее были использованы для обучения первого алгоритма 412 машинного обучения, и соответствующие персонализированные пользовательские параметры интереса могут быть получены с помощью опросов, форм для регистрации и так далее, которые были заполнены множеством пользователей.

[000131] На этапе 704, сервер 124 определяет образцы значений навигационного профиля для каждого образца данных об истории переходов, полученного на этапе 702. То, как именно значения образцов навигационного профиля определяются, никак конкретно не ограничено, и может быть определено с помощью по меньшей мере первого алгоритма 412 машинного обучения, как было описано выше.

[000132] На этапе 706 сервер 124 назначает векторное представление каждому из персонализированных пользовательских параметров интереса из образцов пользователей, полученных на этапе 702. То, как именно реализовано назначение векторного представления, никак не ограничено. Используя в качестве примера одну или несколько социально-демографических характеристик, сервер 124 может быть выполнен с возможностью назначать заранее определенный вектор представления каждой из социально-демографических характеристик. Например, если в данном примерном случае пользователь является женщиной, сервер 124 выполнен с возможностью назначать вектор представления X, а если мужчиной, то сервер выполнен с возможностью назначать вектор представления Y.

[000133] На этапе 708 происходит обучение второго алгоритма 416 машинного обучения. Конкретнее, каждое из образцов значений навигационного профиля и его соответствующие персонализированные пользовательские параметры интереса вводятся во второй алгоритм 416 машинного обучения. Второй алгоритм 416 машинного обучения выполнен с возможностью определять отношения между каждым из образцов значений навигационного профиля и его соответствующими персонализированными пользовательскими параметрами интереса, для создания, в виде части обучения, созданной компьютером формулы, указывающей на их отношения. Таким образом, после обучения, второй алгоритм 416 машинного обучения может получать новое значение навигационного профиля для определения персонализированного пользовательского параметра интереса пользователя, связанного с новым значение навигационного профиля с помощью созданной компьютером формулы.

Процедура 406 выбора целевого элемента содержимого

[000134] Выполнив этап 1 (т.е. определение персонализированного пользовательского параметра интереса), приложение 132 по доставке содержимого переходит к этапу 2, где выбираются один или несколько целевых элементов содержимого.

[000135] Таким образом, процедура 404 создания профиля далее выполнена с возможностью передавать пакет 418 данных, содержащий персонализированный пользовательский параметр интереса, который был ранее определен, процедуре 406 выбора целевого элемента содержимого.

[000136] При получении пакета 418 данных, процедура 406 выбора целевого элемента содержимого выполнена с возможностью получать доступ к базе 130 данных целевых элементов содержимого для определения одного или нескольких целевых элементов содержимого (например, целевой элемент 148 содержимого) для передачи браузерному приложению 108 для отображения.

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

[000138] Используя в качестве примера целевого элемента 148 содержимого электронный баннер, рекламирующий сумки, соответствующий вектор свойств элемента может быть основан на оценке оператором веб-сервиса 142 (или, альтернативно, поставщиков рекламы) того, что данная сумка в основном интересна (i) пользователям-женщинам; (ii) в возрасте 20-25 лет; (iii) с доходом в диапазоне $100,000 или выше; и (iv) живущим в городе.

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

[000140] Возвращаясь к Фиг. 1, после того как процедура 406 выбора целевого элемента содержимого определила один или несколько целевых элементов содержимого, сервер 124 выполнен с возможностью передавать пакет 146 данных браузерному приложению 108. В некоторых неограничивающих вариантах осуществления настоящей технологии, пакет 146 данных включает в себя (i) содержимое веб-сервиса 142 в ответ на HTTP-запрос, который ранее был введен с помощью пакета 144 данных; и один или несколько целевых элементов содержимого определены процедурой 406 выбора целевого элемента содержимого для отображения электронным устройством 102.

[000141] В некоторых вариантах осуществления технологии, где веб-сервис 142 является сервисом рекомендаций персонализированного содержимого, например, Яндекс.Дзен™ или Flipboard™, пакет 416 данных включает в себя только один или несколько целевых элементов содержимого, которые определены процедурой 406 выбора целевого элемента содержимого для отображения электронным устройством.

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

[000143] С учетом представленных выше архитектуры и примеров, возможно выполнить исполняемый на компьютере способ определения персонализированного пользовательского параметра интереса и предоставления целевых элементов содержимого соответственно. На Фиг. 6 представлена блок-схема способа 600, реализованного в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем. Процесс 600 может выполняться сервером 124.

[000144] Этап 602 - получение сервером данных об истории переходов, связанных с браузерным приложением, данные об истории переходов включают в себя один или несколько единых указателей ресурса (URL), связанных с соответствующим одним из по меньшей мере одного веб-ресурса.

[000145] Способ 600 начинается на этапе 602, где сервер 124 получает пакет 410 данных, который содержит данные 302 об истории переходов, связанных с уникальным ID 140 браузера.

[000146] Пакет 410 данных получают в ответ на то, что пользователь браузерного приложения 108 получает доступ к веб-сервису 142 (через пакет 144 данных), и процедура 402 создания вектора запрашивает данные 302 об истории переходов, связанные с уникальным ID 140 браузера, содержащимся в пакете 144 данных.

[000147] Несмотря на то что пакет 410 данных получают с "серверной стороны" (т.е. с помощью базы 136 данных отслеживания), подразумевается, что данные 302 об истории переходов получают с "клиентской стороны" (т.е. от электронного устройства 102 вместе с пакетом 144 данных. В последнем случае, данные 302 об истории переходов соответствуют журналу браузерной истории, сохраненному браузерным приложением 108.

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

[000149] На этапе 604 процедура 402 создания вектора выполнена с возможностью разбивать с помощью парсинга URL, образуя набор URL 304, на один или несколько шаблонов навигационных переходов в сессии (например, первый шаблон 502 навигационных переходов в сессии).

[000150] То, как именно выполняется парсинг набора URL 304, никак не ограничено, и он может быть выполнен любым образом, например, группировкой URL, которые обладают одинаковым временем доступа, или к которым получали доступ за определенный временной интервал (например, путем группировки URL, к которым получали доступ за последние 10 минут).

[000151] Этап 606 - для каждого шаблона навигационных переходов в сессии: укорачивание каждого из одного или нескольких URL, включенных в шаблон навигационных переходов в сессии, для получения соответствующего сегмента URL; создание посредством первого алгоритма машинного обучения соответствующего векторного значения, представляющего каждый из сегментов URL; первый алгоритм машинного обучения был обучен размечать сегменты URL для соответствующих векторных значений на основе совместного вхождения сегментов URL в шаблон навигационных переходов в сессии; назначение весового значения для каждого сегмента URL, причем для данного сегмента URL весовое значение определяется на основе по меньшей мере одного из первого значения, которое обратно пропорционально частоте данного сегмента URL в журнале сегментов URL, связанных с URL, которые были посещены пользователями сервера; второго значения, которое основано на давности доступа к URL, связанному с данным сегментом URL, со стороны браузерного приложения,

[000152] На этапе 606, процедура 402 создания вектора выполнена с возможностью выполнять две функции на каждом из шаблонов навигационных переходов в сессии.

[000153] В первую очередь, для каждого шаблона навигационных переходов в сессии, процедура 402 создания вектора выполнена с возможностью укорачивать URL, которые содержатся для получения соответствующего набора последовательных букв. В некоторых неограничивающих вариантах осуществления настоящей технологии, сегмент URL соответствует имени домена второго уровня и его субдоменам, и, в некоторых случаях, имени хоста (если он отличается от "www").

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

[000155] Процедура 402 создания вектора далее выполнена с возможностью передавать пакет 414 данных, содержащий указание на векторное значение для каждого сегмента URL, процедуре 404 создания профиля.

[000156] Процедура 404 создания профиля выполнена с возможностью определять весовое значение. Весовое значение включает в себя по меньшей мере одно из: (i) первое значение, которое обратно пропорционально частоте вхождений данного сегмента URL в журнал, сегменты URL связаны с URL, которые были посещены пользователями веб-сервиса 142; и (ii) второе значение, которое основано на давности получения доступа к URL, связанному с данным сегментом URL, браузерным приложением 108.

[000157] Этап 608 - определение значения навигационного профиля для пользователя на основе по меньшей мере одного векторного значения и соответствующего весового значения, значение навигационного профиля связано с данными об истории навигации пользователя за заранее определенный период времени.

[000158] На этапе 408, процедура 404 создания профиля выполнена с возможностью определять значение навигационного профиля для пользователя, связанного с браузерным приложением 108 на основе одного или нескольких векторных значений. В некоторых неограничивающих вариантах осуществления настоящей технологии, процедура 404 создания профиля выполнена с возможностью определять скорректированное значение вектора для каждого значения вектора. То есть, процедура 404 создания профиля корректирует значения вектора для получения лучшего векторного представления, отражающего контекст данных 302 об истории переходов, а также другие факторы (описано ниже). Скорректированное значение вектора определяется с помощью:

[000159] В уравнении 1:

• Vскоррект. - скорректированное векторное значение для данного векторного значения;

• Vхост - данное векторное значение;

• W - весовое значение, связанное с данным векторным значением, определенным ранее;

• N - число вхождений сегмента URL, связанного с данным векторным значением в данных 302 об истории переходов;

[000160] Значение профиля навигации является суммой всех скорректированных векторных значений, которые были определены для данных 302 об истории переходов. Таким образом, можно сказать, что значение навигационного профиля определяется следующим образом:

[000161] В уравнении 2 Vпрофиль - значение навигационного профиля.

[000162] Другими словами, в обоих уравнениях 1 и 2, процедура 404 создания профиля выполнена с возможностью определять значение навигационного профиля с помощью:

[000163] В уравнении 3:

• X - общее число векторных величин, связанных с данными 302 об истории переходов;

• Vi - данная векторная величина, содержащаяся в данных 302 об истории переходов; и

• i - целое число.

[000164] Этап 610 - создание посредством второго алгоритма машинного обучения персонализированного пользовательского параметра интереса, связанного с пользователем на основе значения навигационного профиля, второй алгоритм машинного обучения был обучен размечать соответствие значения навигационного профиля пользователя по меньшей мере одному персонализированному пользовательскому параметру интереса.

[000165] На этапе 610 процедура 404 создания профиля выполнена с возможностью определять персонализированный пользовательский параметр интереса с помощью второго алгоритма 416 машинного обучения. Конкретнее, ранее полученное значение навигационного профиля попадает во второй алгоритм 416 машинного обучения, который был ранее обучен определять персонализированный пользовательский параметр интереса.

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

• возрастной диапазон пользователя;

• диапазон дохода пользователя;

• региональную позицию пользователя; и

• пол пользователя.

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

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

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

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

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

Похожие патенты RU2757546C2

название год авторы номер документа
Способ и сервер для передачи персонализированного сообщения на пользовательское электронное устройство 2017
  • Дьяченко Юрий Игоревич
  • Кузьмин Михаил Николаевич
  • Чернилевский Денис Александрович
  • Шаблинский Евгений Александрович
RU2739720C2
СПОСОБ, СИСТЕМА И СЕРВЕР ДЛЯ ПЕРЕДАЧИ ПЕРСОНАЛИЗИРОВАННОГО СООБЩЕНИЯ НА ПОЛЬЗОВАТЕЛЬСКОЕ ЭЛЕКТРОННОЕ УСТРОЙСТВО 2015
  • Голубев Федор Анатольевич
RU2640635C2
СПОСОБ И УСТРОЙСТВО ДЛЯ СОЗДАНИЯ РЕКОМЕНДАЦИЙ СОДЕРЖИМОГО В СИСТЕМЕ РЕКОМЕНДАЦИЙ 2016
  • Тихонов Алексей Викторович
RU2632132C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ВЫБОРА СЕТЕВОГО РЕСУРСА В КАЧЕСТВЕ ИСТОЧНИКА СОДЕРЖИМОГО ДЛЯ СИСТЕМЫ РЕКОМЕНДАЦИЙ 2016
  • Ламбурт Виктор Григорьевич
  • Лифарь Игорь Игоревич
RU2636702C1
Система и способ управления браузерным приложением, постоянный машиночитаемый носитель и электронное устройство 2015
  • Тарасов Андрей Дмитриевич
  • Иванов Константин Николаевич
RU2633180C2
СПОСОБ И СЕРВЕР ДЛЯ ВЫБОРА ЭЛЕМЕНТОВ РЕКОМЕНДАЦИЙ ДЛЯ ПОЛЬЗОВАТЕЛЯ 2017
  • Данильченко Андрей Петрович
  • Животворев Дмитрий Сергеевич
RU2693323C2
СПОСОБ, ЭЛЕКТРОННОЕ УСТРОЙСТВО И СЕРВЕР ОРГАНИЗАЦИИ ИСТОРИИ БРАУЗЕРА 2015
  • Романенко Федор Сергеевич
  • Стыскин Андрей Игоревич
RU2640299C2
СПОСОБ ОБРАБОТКИ ПОИСКОВОГО ЗАПРОСА, СЕРВЕР И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 2014
  • Макеев Станислав Сергеевич
  • Плахов Андрей Григорьевич
  • Сердюков Павел Викторович
RU2670494C2
Способ и система для формирования карточки объекта 2018
  • Акулов Ярослав Викторович
RU2739554C1
СПОСОБ И СЕРВЕР ДЛЯ КЛАССИФИКАЦИИ ВЕБ-РЕСУРСА 2017
  • Ковалев Андрей Валентинович
RU2658878C1

Иллюстрации к изобретению RU 2 757 546 C2

Реферат патента 2021 года СПОСОБ И СИСТЕМА ДЛЯ СОЗДАНИЯ ПЕРСОНАЛИЗИРОВАННОГО ПОЛЬЗОВАТЕЛЬСКОГО ПАРАМЕТРА ИНТЕРЕСА ДЛЯ ИДЕНТИФИКАЦИИ ПЕРСОНАЛИЗИРОВАННОГО ЦЕЛЕВОГО ЭЛЕМЕНТА СОДЕРЖИМОГО

Изобретение относится к области вычислительной техники. Технический результат заключается в создании персонализированного пользовательского параметра интереса для обеспечения доставки целевого элемента содержимого для пользователей. Раскрыт исполняемый на компьютере способ создания персонализированного пользовательского параметра интереса, способ выполняется на сервере, который соединен посредством сети передачи данных с клиентским устройством, связанным с пользователем, клиентское устройство выполнено с возможностью выполнять браузерное приложение, которое ранее получало доступ через сеть передачи данных по меньшей мере к одному веб-ресурсу за заранее определенный предыдущий период времени; способ включает в себя: получение сервером данных об истории переходов, связанных с браузерным приложением, данные об истории переходов включают в себя один или несколько единых указателей ресурса (URL), связанных с соответствующим одним из по меньшей мере одного веб-ресурса; создание на основе данных об истории переходов одного или нескольких шаблонов навигационных переходов в сессии, шаблон навигационных переходов в сессии включает в себя по меньшей мере один из одного или нескольких URL, к которым получало доступ браузерное приложение предыдущей сессии браузера; для каждого шаблона навигационных переходов в сессии: укорачивание каждого из одного или нескольких URL, включенных в шаблон навигационных переходов в сессии, для получения соответствующего сегмента URL; создание посредством первого алгоритма машинного обучения соответствующего векторного значения, представляющего каждый из сегментов URL; первый алгоритм машинного обучения был обучен размечать сегменты URL для соответствующих векторных значений на основе совместного вхождения сегментов URL в шаблон навигационных переходов в сессии; назначение весового значения для каждого сегмента URL, причем для данного сегмента URL весовое значение определяется на основе по меньшей мере одного из первого значения, которое обратно пропорционально частоте данного сегмента URL в журнале сегментов URL, связанном с URL, которые были посещены пользователями сервера; второго значения, которое основано на давности доступа к URL, связанному с данным сегментом URL, со стороны браузерного приложения; определение значения навигационного профиля для пользователя на основе по меньшей мере одного векторного значения и соответствующего весового значения, значение навигационного профиля связано с данными об истории переходов пользователя за заранее определенный период времени; создание посредством второго алгоритма машинного обучения персонализированного пользовательского параметра интереса, связанного с пользователем, на основе значения навигационного профиля, второй алгоритм машинного обучения был обучен размечать соответствие значения навигационного профиля пользователя по меньшей мере одному персонализированному пользовательскому параметру интереса. 2 н. и 19 з.п. ф-лы, 7 ил., 1 табл.

Формула изобретения RU 2 757 546 C2

1. Исполняемый на компьютере способ создания персонализированного пользовательского параметра интереса, способ выполняется на сервере, который соединен посредством сети передачи данных с клиентским устройством, связанным с пользователем, клиентское устройство выполнено с возможностью выполнять браузерное приложение, которое ранее получало доступ через сеть передачи данных по меньшей мере к одному веб-ресурсу за заранее определенный предыдущий период времени;

способ включает в себя:

получение сервером данных об истории переходов, связанных с браузерным приложением, данные об истории переходов включают в себя один или несколько единых указателей ресурса (URL), связанных с соответствующим одним из по меньшей мере одного веб-ресурса;

создание на основе данных об истории переходов одного или нескольких шаблонов навигационных переходов в сессии, шаблон навигационных переходов в сессии включает в себя по меньшей мере один из одного или нескольких URL, к которым получало доступ браузерное приложение предыдущей сессии браузера;

для каждого шаблона навигационных переходов в сессии:

укорачивание каждого из одного или нескольких URL, включенных в шаблон навигационных переходов в сессии, для получения соответствующего сегмента URL;

создание посредством первого алгоритма машинного обучения соответствующего векторного значения, представляющего каждый из сегментов URL;

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

назначение весового значения для каждого сегмента URL, причем для данного сегмента URL весовое значение определяется на основе по меньшей мере одного из

первого значения, которое обратно пропорционально частоте данного сегмента URL в журнале сегментов URL, связанном с URL, которые были посещены пользователями сервера;

второго значения, которое основано на давности доступа к URL, связанному с данным сегментом URL, со стороны браузерного приложения;

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

создание посредством второго алгоритма машинного обучения персонализированного пользовательского параметра интереса, связанного с пользователем, на основе значения навигационного профиля, второй алгоритм машинного обучения был обучен размечать соответствие значения навигационного профиля пользователя по меньшей мере одному персонализированному пользовательскому параметру интереса.

2. Способ по п. 1, в котором укорачивание каждого из одного или нескольких URL включает в себя отсечение по меньшей мере одного из:

первую часть, указывающую на протокол передачи гипертекста для каждого из одного или нескольких URL;

вторую часть, указывающую на имя пути для каждого из одного или нескольких URL;

третью часть, указывающую на имя файла для каждого из одного или нескольких URL;

четвертую часть, указывающую на имя домена верхнего уровня для каждого из одного или нескольких URL; и

пятую часть, указывающую на имя хоста, при определении того, что имя хоста представляет собой имя хоста во Всемирной паутине (World Wide Web).

3. Способ по п. 1, в котором данные об истории переходов далее включают в себя время получения доступа к каждой из одной или нескольких URL браузерным приложением, один или несколько URL ранее сохранялись в соответствии со временем доступа, что приводит к организации списка URL в хронологическом порядке.

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

5. Способ по п. 4, в котором парсинг включает в себя применение маски заранее определенного временного периода.

6. Способ по п. 1, в котором первый машинно-обученный алгоритм использует алгоритм на основе word2vec.

7. Способ по п. 6, в котором алгоритм на основе word2vec обучен проецировать сегмент URL в многомерное пространство таким образом, что сегменты URL, появляющиеся в одном и том же шаблоне навигационных переходов в сессии, проецируются близко друг к другу в многомерном пространстве.

8. Способ по п. 1, в котором определение значения навигационного профиля включает в себя:

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

Vcкоррект.=Vxocт×W×N

где:

Vскоррект. - скорректированное векторное значение для данного векторного значения;

Vxocт - данное векторное значение;

W - весовое значение, связанное с данным векторным значением;

N - число вхождений имени доменного уровня, связанного с данным векторным значением в данных об истории переходов;

добавление каждого определенного скорректированного векторного значения для получения значения навигационного профиля.

9. Способ по п. 1, в котором персонализированный пользовательский параметр интереса включает в себя одну или несколько социально-демографических характеристик, одна или несколько социально-демографических характеристик включают в себя по меньшей мере одно из:

возрастной диапазон пользователя;

диапазон дохода пользователя;

региональную позицию пользователя; и

пол пользователя.

10. Способ по п. 1, в котором сервер выполнен с возможностью поддерживать работу веб-сервиса, к которому получает доступ браузерное приложение.

11. Способ по п. 10, в котором получение данных об истории переходов, связанных с браузерным приложением, выполняется в ответ на получение доступа браузерным приложением к веб-сервису.

12. Способ по п. 11, в котором сервер далее включает в себя базу данных содержимого, база данных содержимого включает в себя один или несколько целевых элементов содержимого и в котором способ далее включает в себя:

определение на основе персонализированного пользовательского параметра интереса элементов содержимого; и

передачу одного или нескольких целевых элементов содержимого клиентскому устройству для отображения.

13. Способ по п. 12, в котором каждый из одного или нескольких целевых элементов содержимого обладает соответствующим вектором свойств элемента и в котором определение одного или нескольких целевых элементов содержимого включает в себя сопоставление векторов свойств элемента и персонализированного пользовательского параметра интереса.

14. Способ по п. 13, в котором сопоставление векторов свойств элементов с персонализированным пользовательским параметром интереса включает в себя проецирование векторов свойств элемента и персонализированного пользовательского параметра интереса на второе многомерное пространство и идентификацию целевых элементов содержимого, расположенных в заранее определенной близости к персонализированному пользовательскому параметру интереса.

15. Способ по п. 12, в котором один или несколько целевых элементов содержимого включают в себя баннерную рекламу.

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

сетевой интерфейс для коммуникативного соединения сети передачи данных;

процессор, соединенный с сетевым интерфейсом и выполненный с возможностью осуществлять:

получение сервером данных об истории переходов, связанных с браузерным приложением, данные об истории переходов включают в себя один или несколько единых указателей ресурса (URL), связанных с соответствующим одним из по меньшей мере одного веб-ресурса;

создание на основе данных об истории переходов одного или нескольких шаблонов навигационных переходов в сессии, шаблон навигационных переходов в сессии включает в себя по меньшей мере один из одного или нескольких URL, к которым получало доступ браузерное приложение предыдущей сессии браузера;

для каждого шаблона навигационных переходов в сессии:

укорачивание каждого из одного или нескольких URL, включенных в шаблон навигационных переходов в сессии, для получения соответствующего сегмента URL;

создание посредством первого алгоритма машинного обучения соответствующего векторного значения, представляющего каждый из сегментов URL;

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

назначение весового значения для каждого сегмента URL, причем для данного сегмента URL весовое значение определяется на основе по меньшей мере одного из

первого значения, которое обратно пропорционально частоте данного сегмента URL в журнале сегментов URL, связанном с URL, которые были посещены пользователями сервера;

второго значения, которое основано на давности доступа к URL, связанному с данным сегментом URL, со стороны браузерного приложения;

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

создание посредством второго алгоритма машинного обучения персонализированного пользовательского параметра интереса, связанного с пользователем, на основе значения навигационного профиля, второй алгоритм машинного обучения был обучен размечать соответствие значения навигационного профиля пользователя по меньшей мере одному персонализированному пользовательскому параметру интереса.

17. Сервер по п. 16, в котором для укорачивания каждого из одного или нескольких URL, процессор выполнен с возможностью отсекать по меньшей мере одно из:

первую часть, указывающую на протокол передачи гипертекста для каждого из одного или нескольких URL;

вторую часть, указывающую на имя пути для каждого из одного или нескольких URL;

третью часть, указывающую на имя файла для каждого из одного или нескольких URL;

четвертую часть, указывающую на имя домена верхнего уровня для каждого из одного или нескольких URL; и

пятую часть, указывающую на имя хоста, при определении того, что имя хоста представляет собой имя хоста во Всемирной паутине (World Wide Web).

18. Сервер по п. 16, в котором:

данные об истории переходов далее включают в себя время получения доступа к каждой из одной или нескольких URL браузерным приложением, один или несколько URL ранее сохранялись в соответствии со временем доступа, что приводит к организации списка URL в хронологическом порядке; и

для создания одного или нескольких шаблонов навигационных переходов в сессии, процессор выполнен с возможностью осуществлять:

парсинг (синтаксический анализ) хронологически расположенных одного или нескольких URL на одну или несколько навигационных сессий на основе соответствующего времени получения к ним доступа.

19. Сервер по п. 16, в котором первый алгоритм машинного обучения выполняет алгоритм на основе word2vec, который обучен проецировать сегмент URL в многомерное пространство таким образом, что сегменты URL, появляющиеся в одном и том же шаблоне навигационных переходов в сессии, проецируются близко друг к другу в многомерном пространстве.

20. Сервер по п. 16, в котором, для определения значения навигационного профиля, процессор выполнен с возможностью осуществлять:

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

Vcкоррект.=Vxocт×W×Ν

где:

Vcкоррект. - скорректированное векторное значение для данного векторного значения;

Vxocт - данное векторное значение;

W - весовое значение, связанное с данным векторным значением;

N - число вхождений имени доменного уровня, связанного с данным векторным значением в данных об истории переходов;

добавление каждого определенного скорректированного векторного значения для получения значения навигационного профиля.

21. Сервер по п. 16, в котором персонализированный пользовательский параметр интереса включает в себя одну или несколько социально-демографических характеристик, одна или несколько социально-демографических характеристик включают в себя по меньшей мере одно из:

возрастной диапазон пользователя;

диапазон дохода пользователя;

региональную позицию пользователя; и

пол пользователя.

Документы, цитированные в отчете о поиске Патент 2021 года RU2757546C2

Токарный резец 1924
  • Г. Клопшток
SU2016A1
US 6134532 A, 17.10.2000
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
СБОР ДАННЫХ О ПОЛЬЗОВАТЕЛЬСКОМ ПОВЕДЕНИИ ПРИ ВЕБ-ПОИСКЕ ДЛЯ ПОВЫШЕНИЯ РЕЛЕВАНТНОСТИ ВЕБ-ПОИСКА 2007
  • Агихтейн Евгений Е.
  • Брилл Эрик Д.
  • Дюмэ Сюзан Т.
  • Рэгно Роберт Дж.
RU2435212C2

RU 2 757 546 C2

Авторы

Езепов Илья Сергеевич

Даты

2021-10-18Публикация

2017-07-25Подача