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

Иллюстрации

Показать все

Изобретение относится к области выполняемых на компьютере способов оценки интересов пользователя. В способе предоставления пользователю сообщения посредством электронного устройства, имеющего устройство вывода, определяют первый входной вектор, соответствующий первому пользовательскому событию, и второй входной вектор, соответствующий второму пользовательскому событию. Переводят первый и второй векторы в первый и второй выходные векторы в первом многомерном пространстве с помощью первого модуля векторного перевода. Определяют третий входной вектор на основе первого и второго выходных векторов. Переводят третий вектор в третий выходной вектор во втором многомерном пространстве с помощью второго модуля векторного перевода. Определяют сообщение, которое будет предоставлено пользователю, на основе анализа первого выходного вектора или третьего выходного вектора. Инициируют предоставление устройством вывода сообщения для пользователя. 2 н. и 36 з.п. ф-лы, 26 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[01] Настоящее изобретение относится к области выполняемых на компьютере способов оценки интересов пользователя.

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

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

[03] Для оценки таких рекламных объявлений, веб-страниц, географических мест или других потенциальных событий, которые могут быть интересны пользователю, он-лайн сервисы могут собирать информацию о профиле пользователя и информацию о его поведении, относящуюся к действиям, которые выполняет этот или другие пользователи. Информация о поведении может включать в себя информацию об одном или нескольких типах действий пользователя, например, выбор кнопок или гиперссылок на веб-страницы, отправку поисковых запросов поисковой системе или другим он-лайн сервисам, время пребывания на различных сетевых ресурсах (например, как долго происходил просмотр веб-страницы). Информация может храниться в формате, который поддерживает возможность анализа и экстраполяции оценки интересов пользователя и/или ожидаемого поведения пользователя.

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

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

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

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

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

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

[09] Далее может выполняться анализ векторов в первом многомерном пространстве и/или втором многомерном пространстве, чтобы определить сообщение, которое будет предоставлено пользователю. Затем сообщение может быть предоставлено пользователю с помощью устройства вывода. Сообщение может представлять собой любой тип информации, которая считается интересной пользователю. Не ограничивающие примеры сообщений включают в себя рекламные объявления и гиперссылки на сетевые ресурсы в Интернете.

[10] Таким образом, различные варианты осуществления предусматривают способ оценки интересов пользователя, способ выполняется на вычислительном устройстве, которое связано с устройством вывода, и способ включает в себя:

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

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

определение третьего входного вектора на основе, по меньшей мере, частично, первого выходного вектора и второго выходного вектора;

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

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

инициирование предоставления устройством вывода сообщения для пользователя.

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

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

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

вторым тренировочным входным вектором, переведенным в другой второй тренировочный выходной вектор.

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

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

[14] В некоторых вариантах осуществления технологии векторы во втором многомерном пространстве могут далее быть переведены в третье многомерное

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

определение четвертого входного вектора на основе, по меньшей мере, частично, третьего выходного вектора; и

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

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

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

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

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

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

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

пользовательское событие первого типа, а второе пользовательское событие представляет собой пользовательское событие второго типа.

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

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

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

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

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

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

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

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

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

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

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

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

[24] Поскольку эти пользовательские события могут быть не только одного типа, в некоторых вариантах осуществления могут быть использованы нейронные сети, соответствующие этим типам событий. Для эффективного перевода входных векторов, соответствующих событий различных типов, в одно и то же многомерное пространство нейронные сети могут быть обучены в то время, когда они соединены в Сиамскую нейронную сеть, как описано в "Multimodal similarity-preserving hashing" под авторством Маски и др. (Далее "Маски"), что доступно в архиве библиотеки Университета Корнуэлла "arXiv" по номеру "arXiv:1207.1522", эта запись вставлена здесь посредством ссылки для всех юрисдикций, допускающих включение в описание технологии сведений посредством ссылки. Каждая нейронная сеть, соответствующая типу пользовательского события может быть обучена таким образом, чтобы минимизировать кроссмодальные потери. Таким образом, в некоторых дополнительных вариантах осуществления технологии настройка первой нейронной сети и второй нейронной сети включает в себя соединение первой нейронной сети и второй нейронной сети в Сиамскую нейронную сеть; и обучение первой нейронной сети и второй нейронной сети для минимизации кроссмодальных потерь между первой нейронной сетью и второй нейронной сетью.

[25] Есть три различных фазы, связанные с вариантами осуществления: (1) настройка модулей векторного перевода, (2) перевод входящих векторов, соответствующих пользовательским событиям, в выходные векторы в одном или нескольких многомерных пространствах, и (3) определение сообщения, которое будет предоставлено пользователю. Каждая из фаз может выполняться в отношении одного и того же пользователя или же другого или нескольких других пользователей. Модули векторного перевода могут быть настроены путем тренировки одной или нескольких составляющих их нейронных сетей с помощью данных для обучения, которые содержат информацию о пользовательских событиях, связанных с первым пользователем (поисковые запросы, введенные первым пользователем в первую поисковую систему и информацию о геолокации в отношении электронного устройства, связанного с первым пользователем). С помощью настроенных модулей векторного перевода вычислительное устройство может переводить входные векторы,

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

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

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

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

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

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

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

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

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

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

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

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

определение второго пользователя, аналогичного пользователю, на основе анализа;

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

определение сообщения, которое будет предоставлено пользователю, на основе интереса второго пользователя.

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

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

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

определение сообщения, которое будет предоставлено пользователю, на основе интереса группы пользователей.

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

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

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

перевод первого входного вектора в первый выходной вектор в первом многомерном пространстве и второго входного вектора во второй выход