Способ и сервер для обработки данных датчика беспроводного устройства для создания вектора объекта, связанного с физическим положением
WIRELESS DEVICE SENSOR DATA PROCESSING METHOD AND SERVER FOR THE OBJECT VECTOR CREATING CONNECTED WITH THE PHYSICAL POSITION

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[001] Настоящая технология относится к обработке данных датчика беспроводного устройства в целом и в частности к способу и серверу для обработки данных датчика беспроводного устройства для создания вектора объекта, связанного с физическим положением.
УРОВЕНЬ ТЕХНИКИ
[002] В настоящее время обычный пользователь имеет доступ к множеству электронных устройств. Некоторые из этих электронных устройств стационарные (например, настольные компьютеры и телевизоры), другие мобильные (например, смартфоны, планшетные устройства, ноутбуки, переносные устройства, смарт-часы, фитнес-трекеры, очки виртуальной реальности и т.п.). Стандартное беспроводное электронное устройство оснащено множеством датчиков и модулей, которые способны измерять различные параметры, а также анализировать измеренные (определенные) параметры. Некоторые из этих параметров переставляют непосредственно окружающую электронное устройство среду, а другие показывают физиологические параметры, связанные с пользователем электронного устройства.
[003] В патентной заявке США 2015/0285639 (опубликована 8 октября 2015 г.) раскрыта система и способ оптимизации стандартных датчиков сотового телефона с помощью краудсенсинга (от англ. crowdsensing - групповой обмен данными датчиков) для автоматически пополняемых цифровых карт с различными дорожными терминами, такими как, среди прочих, туннели, кочки, мосты, мостики, пешеходные переходы, пропускная способность дороги. Анализ показывает, что на датчики сотовых телефонов людей в транспортных средствах или идущих пешком влияют различные характеристики дорожного движения, которые могут быть изучены с целью расширения возможностей как бесплатных, так и коммерческих картографических сервисов. Представляется проект и реализация приложения Мар++ и оценивается его работа в большом городе. Результаты показывают, что возможно обнаружить различную сущность с высокой точностью - не более чем 3% ложноположительных и 6% ложноотрицательных результатов для характеристик транспортных средств и пешеходов. Кроме того, показано, что Мар++ потребляет мало энергии сотовых телефонов, что способствует его широкому распространению как сервиса пополнения цифровых карт.
[004] В патентной заявке США 2016/0073229 (опубликована 10 марта 2016 г.) описан подход для определения новой(ых) точки(ек) интереса, по меньшей мере частично основанный на положении мобильного устройства, трехмерных данных о положении или их комбинации. Подход включает в себя обработку и/или обеспечение обработки информации о местоположении, связанной с множеством устройств, чтобы определить одну или несколько точек местоположения, в которых находится одно или несколько скоплений множества устройств. Подход также включает по крайней мере частичную инициализацию доступа к трехмерным данным, представляющим одну или несколько точек местоположения. Подход далее включает в себя обработку и/или обеспечение обработки трехмерных данных для определения одного или нескольких признаков, которые свидетельствуют о наличии одной или нескольких точек интереса. Подход также включает в себя определение одной или нескольких потенциальных точек интереса по меньшей мере частично на основе одного или нескольких признаков.
[005] В патентной заявке США 2014/0201276 (опубликована 17 июля 2014 г.) раскрыты различные технологии, имеющие отношение к краудсорсинговым данным об объекте, например, о деловом предприятии. Кроме того, описаны технологии, имеющие отношение к определению метаданных об объекте на основе краудсорсинговых данных. Датчик в мобильном вычислительном устройстве активируется в ответ на то, что пользователь мобильного вычислительного устройства отмечается в объекте. Метаданные, такие как размещение в объекте, шум в объекте, и тому подобное определяются с использованием данных, полученных с помощью датчика. Поисковые результаты для объекта включают в себя метаданные.
[006] В патенте США 9269259 (опубликован 23 февраля 2016 г.) описаны способы и системы обработки краудсенсинговых данных. Способ включает в себя получение краудсенсинговых данных с мобильного устройства, связанного с пользователем. Краудсенсинговые данные соответствуют метаданным события, относящегося к отклонениям в работе, по меньшей мере, одного объекта из списка: государственной службы, общественной инфраструктуры, частной службы или частной инфраструктуры. После это событие может быть приоритезировано на основе, по меньшей мере, типа события, меры воздействия события или показателя срочности возникшего события. Кроме того, уведомление о событии может быть передано в организацию, ответственную за решение проблемы события, на основании приоритетов, причем уведомление содержит, по меньшей мере, метаданные.
[007] В патенте США 8472980 (опубликован 25 июня 2013 г.) раскрыта система сбора, агрегации и анализа краудсорсинговых данных на основе местоположения, которая включает в себя сервер, причем сервер контролирует распределение краудсорсинговых запросов и рабочих нагрузок на множество внешних мобильных платформ. Сервер получает краудсорсинговые запросы от нескольких сторон и поставляет запросы о показателях на мобильные платформы, например, на основе местоположения мобильной платформы. После получения измеренных контекстных данных от мобильных платформ сервер может распространять информацию, например, исходные измеренные контекстные данные или анализ измеренных контекстных данных, по соответствующим запрашивающим сторонам защищенным способом. Мобильная платформа может принимать множество запросов о показателях с удаленного сервера, в котором множество запросов о показателях основаны на краудсорсинговых запросах от множества сторон. Мобильная платформа может измерять и предоставлять на удаленный сервис контекстные данные в ответ на множество запросов на показатели.
[008] Патент США 9335175 (опубликован 10 мая 2016 г.) раскрывает методы для построения масштабируемой модели помещения с использованием краудсорсинговых сигналов инерциальной навигационной системы (INS) от мобильных устройств. С помощью отслеживания сигналов INS от ряда участвующих пользователей можно оценить, как пользователи перемещают свои мобильные устройства в закрытом помещении. Оцененные траектории могут быть сравнены с аналогичными перемещениями, записанными другими пользователями. Самые высоко оцененные перемещения затем накладываются на карту помещения для выявления наиболее часто посещаемых областей, ориентиров и расстояний между ориентирами.
[009] Китайская патентная заявка CN 103218442 (опубликована 24 июля 2013 г.) раскрывает способ и систему анализа образа жизни, основанные на данных датчиков мобильных устройств. Способ включает в себя следующие этапы: собирают исходные данные с каждого датчика мобильного устройства; проводят предварительную обработку исходных данных в соответствии с характеристиками данных и характеристиками энергопотребления каждого датчика и получают последовательность данных; получают последовательность локальных точек в соответствии с режимом обнаружения локальных точек; проведение кластерного анализа последовательности локальных точек таким образом, что получают последовательность истории мест; проводится поиск точек интереса по каждой части данных в последовательности и отмечается история мест; определяется, известен ли идентификатор пользователя, и, если неизвестен, он определяется по отметкам точек интереса. Способ и система анализа образа жизни на основе данных датчика мобильного устройства снижают необходимость в интеллектуальном анализе данных и стоимость анализа, повышают гибкость и транспортабельность, удобны в использовании и способны улучшить опыт пользователя.
РАСКРЫТИЕ
[0010] Разработчики настоящей технологии рассматривали по меньшей мере одну проблему, соответствующую известному уровню техники, которая связана с обработкой краудсорсинговых данных датчика беспроводного устройства.
[0011] Более конкретно, разработчики настоящей технологии отметили, что существует большое число электронных устройств, которые способы предоставить большое количество информации разных типов о физическом мире, причем эта информация получена с помощью датчиков пользовательских электронных устройств. Задачей осуществления настоящей технологии является эффективное использование огромного количества данных датчиков, в сочетании с информацией о взаимодействиях (например, без ограничений: поиски в поисковых системах, история просмотра вебстраниц и т.д.) пользователя, связанного с данным электронным устройством, для создания универсальной модели физического мира. Настоящая технология создает универсальную модель на основе множества векторов объектов, причем каждый вектор объекта связан с конкретным физическим объектом (зданием, частью здания, точкой интереса, движущимся физическим объектом и т.д.). Вектор объекта может быть временным, или, другими словами, может быть связан с конкретным физическим объектом на конкретный промежуток времени.
[0012] Таким образом, настоящая технология обеспечивает способ и систему эффективного сбора и анализа данных датчиков беспроводных устройств и/или данных истории пользовательских взаимодействий для создания одного или нескольких универсальных векторов признаков (например, векторов объектов) для одного или нескольких физических объектов физического мира. Итоговый вектор объекта может быть использован как дескрипторы объекта, показывающие независимые от пользователя и/или зависимые от пользователя свойства физических объектов.
[0013] Природа физического объекта никак конкретно не ограничена. В качестве примера, физические объекты могут быть получены с помощью создания на электронной карте областей, и каждая область может быть рассмотрена как отдельный физический объект. Например, электронная карта может быть разделена на равные области предварительно определенного размера с помощью расположения на ней разделенной на квадраты сетки. В некоторых вариантах осуществления настоящей технологии могут быть созданы области разного размера и формы. Например, области с большей плотностью нахождения пользователей или большей концентрацией известных точек интереса (Point of Interest, POI) могут быть разделены на физические объекты с помощью применения сетки со сравнительно малыми ячейками. С другой стороны, сельские и малонаселенные районы или области с малым количеством POI могут быть разбиты на более крупные области с помощью применения сетки со сравнительно большими ячейками. В некоторых вариантах осуществления технологии известные POI, здания, участки дороги, элементы инфраструктуры или другие объекты физического мира могут рассматриваться как индивидуальные физические объекты.
[0014] Как только создан один или несколько векторов объектов, они могут использоваться для различных аналитических целей. Например, один или несколько векторов объектов могут использоваться для обучения дополнительных аналитических моделей (например, обученные алгоритмы машинного обучения с учителем или без учителя) для различных целей, например, идентификация, классификация или кластеризация различных типов физических объектов.
[0015] Ниже приведены некоторые конкретные неограничивающие примеры технических областей, где могут использованы итоговые векторы объектов и их анализ.
[0016] Интеллектуальный анализ данных
[0017] Специфичная для пользователя и временная классификация точек интереса (POI) (по интересам, задачам, активности и т.д.)
[0018] Настоящая технология может дать возможность классифицировать данную POI на основе пользовательских интересов, задач и/или активностей, которые осуществлялись в данной POI. Интерес, задача и/или активность могут быть определены на основе данных, специфичных для пользователя и данных датчика, таких как шаблоны движения, уровень шума, пульс и так далее. Кроме того, поскольку данный вектор объекта может включать в себя составляющую времени, данная POI может принадлежать к разным классам интересов, задач и/или активностей в течение различных промежутков времени. Например, данная POI может быть классифицирована как парк с 10 утра до 6 вечера и как зона для занятий спортом с 6 вечера до 9 вечера.
[0019] Специализированный для пользователя рейтинг и автооценка POI
[0020] Настоящая технология может дать возможность получать пользовательские рейтинги для данной POI без необходимости для пользователя введения какой-либо информации о своем опыте в данной POI (или при необходимости введения только минимальной информации). Например, на основе вектора объекта, связанного с данной POI, может быть возможным определение того, была ли данная POI расценена как «желаемая» пользователями, которые посетили данную POI. Например, с помощью получения данных датчиков, например, уровня шума в окружающей среде и пройденного расстояния в пределах POI, возможно оценить конкретные предпочтения пользователя и определить на основе данных датчиков, удовлетворены ли эти предпочтения при посещении данной POI. То есть с помощью настоящей технологии возможна автооценка POI.
[0021] Специфическое для пользователя отображение и дополнение карты
[0022] Геозонирование информации в реальном времени для дополнения картографических сервисов
[0023] Настоящая технология может позволить определить геозоны в реальном времени для дополнения картографических данных. Например, отслеживая шаблоны перемещения пользователя и специфические для пользователя данные, связанные с его предпочтениями по маршруту, возможно определить, перегораживает ли что-то дорогу или мешает получить к ней доступ (например, забор, подготовка к параду, дорожное происшествие, перекрытый мост и т.д.) В ответ на определение в реальном времени таких геозон, картографические сервисы, которые прокладывают маршрут, могут быть модифицированы в соответствии с новой информацией для предоставления маршрутов, которые учитывают определенные геозоны.
[0024] Определение и отображение в реральном времени специфических для пользователя событий интереса (venue of interest, VOI)
[0025] Настоящая технология может позволить определять в реальном времени события интереса для конкретных пользователей и избирательно отображать их на карте. На основе вектора объекта, связанного с первой геолокацией первого физического объекта, возможно определить, что значительное количество людей, которые любят физическую активность, собираются рядом с первой геолокацией и двигаются по ней. На основе векторов объекта, связанного со второй геолокацией второго физического объекта, возможно определить, что значительное количество людей, которые любят концерты, собираются во второй геолокации, причем их устройствами отмечается повышение шума. В итоге, если текущий пользователь совершает доступ к картографическому сервису и определяется как любитель физических активностей на основе его специфичных для пользователя данных, карта может отобразить ему такие события интереса как сбор для тренировок, то есть первый физический объект. А если текущий пользователь совершает доступ к картографическому сервису и определяется как любитель концертов на основе его специфичных для пользователя данных, карта может отобразить ему такие события интереса как концерт, то есть второй физический объект.
[0026] Настроенное отображение интерактивной карты специфичных для пользователя социальных активностей
[0027] Настоящая технология может позволить отображать настроенную интерактивную карту на основе специфичных для пользователя данных. Например, если текущий пользователь совершает доступ к картографическому сервису и определяется как любитель концертов, карта может быть дополнена событием интереса (VOI), соответствующим социальным активностям, таким как концерт. Кроме того, настоящая технология позволяет текущему пользователю выбрать конкретное VOI, отображенное для просмотра информации в реальном времени, связанной с конкретным VOI. Такая информация в реальном времени может соответствовать числу людей, посещающих VOI, уровень шума VOI, фотографии, которые на текущий момент делают на VOI и т.д.
[0028] Навигация внутри помещений для конкретных пользовательских интересов и нужд
[0029] Настоящая технология позволяет отслеживать шаблоны движения пользователя внутри физического помещения и связывать их с соответствующими специфическими для пользователя предпочтениями. Например, текущий пользователь может зайти в торговый центр, и сервер может определить на основе специфических для текущего пользователя данных, что текущий пользователь интересуется спортивной экипировкой. Далее, с помощью анализа вектора объекта, связанного с физическим объектом, который является торговым центром, возможно определить предыдущие шаблоны передвижений в торговом центре пользователей-любителей спортивной экипировки. В итоге может быть выбран и отображен текущему пользователя предпочтительный шаблон передвижения, позволяющий дойти до магазина спортивной экипировки.
[0030] Избирательное отображение на карте специфических для пользователя и временных кластеров POI
[0031] Настоящая технология может дать возможность классифицировать данную POI на основе пользовательских интересов, задач и/или активностей, которые осуществлялись в данной POI. Кроме того, данная POI может принадлежать к различным кластерам интересов, задач и/или активностей в соответствии с различными интервалами времени, для которых были определены векторы объекта. Например, данная POI может быть классифицирована как парк с 10 утра до 6 вечера, и как зона для занятий спортом с 6 вечера до 9 вечера. В итоге настоящая технология позволяет избирательно отображать на карте POI в зависимости от специфических для пользователя данных текущего пользователя, который выбрал карту, а также в зависимости от текущего времени дня, поскольку класс данной POI может меняться в течение дня и, следовательно, становиться релевантым/нерелевантным для текущего пользователя на основе его специфических для пользователя данных.
[0032] Таргетироваиие специфичного для пользователя контента
[0033] Таргетироваиие специфичного для пользователя контента на основе геолокализированных и временных пользовательских интересов
[0034] Настоящая технология позволяет предоставить текущему пользователю таргетированный контент на основе геолокализированных и временных пользовательских интересов. Физический объект может быть связан с вектором объекта, который может по меньшей мере частично указывать на пользовательские интересы пользователя, который находился в физическом объекте в прошлом. Если текущий пользователь заходит в физический объект или проходит мимо геолокации физического объекта в определенное время, на основе вектора объекта текущему пользователю может быть предоставлен таргетированный контент, который связан с предпочтениями пользователей, которые обычно посещают физический объект в течение определенного времени.
[0035] Оценка эффективности рекламы на основе геолокализированных специфичных для пользователя шаблонов
[0036] Настоящая технология может позволить оценить эффективность рекламных щитов и, более конкретно, эффективность рекламных щитов на основе их расположения. С помощью вектора объекта система может идентифицировать конкретного пользователя, который проходит перед физическим объектом, причем известно, что рядом с этим физическим объектом расположен конкретный рекламный щит с рекламой о данном продукте. Таким образом, на основе специфичных для пользователя данных пользователь может быть идентифицирован в течение своей следующей сессии, и ему может быть представлена онлайн-реклама в соответствии с той, что была представлена на рекламном щите. В зависимости от того, щелкнул ли пользователь на онлайн-рекламу, возможно определить, что положение конкретного рекламного щита было эффективно и повлияло на пользователя таким образом, что он щелкнул на онлайн-рекламу.
[0037] Текущее время ожидания для специфичных для пользователя сервисов
[0038] Дополнение транспортных сервисов с помощью определения маршрутов со сниженной загрузкой
[0039] Настоящая технология может позволить определить уровни загруженности различных транспортных сервисов. Например, на основе вектора объекта возможно определить, как пользователь движется в физическом объекте, таком как автобус, поезд, метро и т.д. В итоге можно определить уровень загруженности для конкретного вида транспорта и различных транспортных сервисов, для конкретного пользователя, который двигается по определенному маршруту. Следовательно, возможно порекомендовать альтернативный маршрут текущему пользователю, который хочет двигаться по предпочтительному маршруту, определенному на основе специфичных для пользователя данных. Альтернативный маршрут может быть порекомендован на основе того, является ли транспортный сервис для конкретного маршрута сильно загруженным, или нет.
[0040] Оценка времени ожидания для специфичных для пользователя сервисов в реальном времени
[0041] Настоящая технология позволяет определить время ожидания для специфичных для пользователя сервисов и предложить для них альтернативы. На основе векторов различных физических объектов можно определить время ожидания, которое конкретные пользователи потратили в каждом физическом объекте. Кроме того, возможно определить специфичное для пользователя поведение пользователей, которые пользуются этими конкретными сервисами для определения того, какой физический объект может быть релевантен для текущего пользователя. Например, если определяется, что текущий пользователь недавно искал рядом зубного врача, возможно предложить конкретную стоматологию, связанную с одним из физических объектов и предоставить пользователю оценку текущего времени ожидания в этой конкретной стоматологии. Если время ожидания оказалось слишком долгим, текущему пользователю может быть предоставлена рекомендация посетить кофейню (другой физический объект рядом, который пользователи со сходными предпочтениями обычно посещают перед или после визита к стоматологу), пока оцененное время ожидания в конкретной стоматологии не окажется ниже порогового значения.
[0042] Первым объектом настоящей технологии является способ, выполняемый на сервере, причем сервер является частью системы, а система включает в себя множества пользовательских беспроводных устройств, доступных для сервера по сети передачи данных; каждое из множества пользовательских беспроводных устройств включает в себя по меньшей мере два датчика, и каждый из по меньшей мере двух датчиков выводит соответствующий опеределенный параметр; на сервере находится хранилище пользовательских профилей. Способ включает в себя, для данного географического положения: получение сервером по меньшей мере от части множества пользовательских беспроводных устройств, причем по меньшей мере часть множества пользовательских беспроводных устройств временно связана с данным географическим положением в течение первого периода времени, первого определенного параметра от первого датчика и второго определенного параметра от второго датчика, причем первый определенный параметр и второй определенный параметр были получены в течение того периода, в течение которого пользовательское беспроводное устройство было временно связано с данным географическим положением; для каждого из по меньшей мере части множества пользовательских беспроводных устройств извлечение связанного пользовательского профиля; для каждого пользовательского беспроводного устройства из части множества пользовательских беспроводных устройств анализ первого определенного параметра, второго определенного параметра и пользовательского профиля для создания, соответственно, вектора первого параметра данного пользователя, вектора второго параметра данного пользователя и вектора пользовательского профиля данного пользователя; агрегацию следующих векторов каждого пользовательского беспроводного устройства: вектора первого параметра данного пользователя; вектора второго параметра данного пользователя; вектора пользовательского профиля данного пользователя в набор векторов; применение по меньшей мере двух аналитических моделей к набору векторов, причем каждая аналитическая модель создает свой соответственный вектор данных, помещенных в набор; на основе по меньшей мере двух соответствующих векторов данных, помещенных в набор, создание вектора объекта, связанного по меньшей мере с одним географическим положением.
[0043] В некоторых вариантах осуществления способа анализ первого определенного параметра, второго определенного параметра и вектора пользовательского профиля включает в себя: применение первого алгоритма к первому определенному параметру; применение второго алгоритма ко второму определенному параметру; применения третьего алгоритма к пользовательскому профилю; первый алгоритм, второй алгоритм и третий алгоритм были предварительно выбраны с учетом соответствующего типа данных первого определенного параметра, второго определенного параметра и пользовательского профиля.
[0044] В некоторых вариантах осуществления способа по меньшей мере часть способа выполняется нейронной сетью.
[0045] В некоторых вариантах осуществления способа нейронная сеть является нейронной сетью на основе долговременно-кратковременной памяти (LSTM).
[0046] В некоторых вариантах осуществления способа данное географическое положение является первым географическим положением и способ дополнительно включает в себя: для второго географического положения повторение шагов: получения, извлечения, анализа, агрегации, применения и создания вектора объекта.
[0047] В некоторых вариантах осуществления способа способ дополнительно включает в себя: для данного географического положения, связанного по меньшей мере с одним физическим объектом: получение сервером по меньшей мере от части множества пользовательских беспроводных устройств, причем по меньшей мере часть множества пользовательских беспроводных устройств временно связана с данным географическим положением в течение второго периода времени, третьего определенного параметра от первого датчика и четвертого определенного параметра от второго датчика, причем третий определенный параметр и четвертый определенный параметр получены в течение того периода, в течение которого пользовательское беспроводное устройство было временно связано с данным географическим положением во время второго периода времени; для каждого пользовательского беспроводного устройства из части множества пользовательских беспроводных устройств анализ третьего определенного параметра и четвертого определенного параметра для создания, соответственно, вектора третьего параметра данного пользователя и вектора четвертого параметра данного пользователя; агрегацию следующих векторов каждого пользовательского беспроводного устройства: вектора третьего параметра данного пользователя; вектора четвертого параметра данного пользователя; вектора пользовательского профиля данного пользователя во второй набор векторов; применение по меньшей мере двух аналитических моделей ко второму набору векторов; причем каждая аналитическая модель создает свой соответственный второй вектор данных, помещенных в набор; на основе по меньшей мере двух соответствующих вторых векторов данных, помещенных в набор, создание второго вектора объекта, связанного по меньшей мере с одним географическим положением, для второго периода времени.
[0048] В некоторых вариантах осуществления способа второй вектор объекта отличается от вектора объекта.
[0049] В некоторых вариантах осуществления способа способ дополнительно включает в себя создание модели-тренда вектора на основе вектора объекта и второго вектора объекта.
[0050] В некоторых вариантах осуществления способа модель-тренд вектора дает возможность прогнозировать третий вектор объекта, связанный по меньшей мере с одним географическим положением, связанным с третьим периодом времени.
[0051] В некоторых вариантах осуществления способа модель-тренда вектора дает возможность определять смещение в шаблоне для третьего вектора объекта, связанного по меньшей мере с одним географическим положением, связанным с третьим периодом времени.
[0052] В некоторых вариантах осуществления способа способ дополнительно включает в себя использование вектора объекта и второго вектора объекта как ввода в дополнительный алгоритм машинного обучения для обучения дополнительного алгоритма машинного обучения прогнозировать конкретный параметр.
[0053] В некоторых вариантах осуществления способа создание вектора объекта и второго вектора объекта осуществляется без знания конкретного параметра.
[0054] В некоторых вариантах осуществления способа по меньшей мере некоторые из первого алгоритма, второго алгоритма и третьего алгоритма различаются.
[0055] В некоторых вариантах осуществления способа способ дополнительно включает в себя анализ второго вектора объекта и вектора объекта для определения статической части вектора и динамической части вектора.
[0056] В некоторых вариантах осуществления способа применение по меньшей мере двух аналитических моделей к набору векторов включает в себя применение по меньшей мере двух различных аналитических моделей, причем каждая аналитическая модель применяет свой собственный алгоритм к выводу своих соответствующих векторов данных, помещенных в набор.
[0057] В некоторых вариантах осуществления способа по меньшей мере одна из по меньшей мере двух аналитических моделей включает в себя вероятностную аналитическую модель.
[0058] В некоторых вариантах осуществления способа по меньшей мере одна из по меньшей мере двух аналитических моделей включает в себя по меньшей мере либо эвристический алгоритм, либо алгоритм кластеризации.
[0059] В некоторых вариантах осуществления способа по меньшей мере одна из по меньшей мере двух аналитических моделей включает в себя рекуррентную нейронную сеть.
[0060] В некоторых вариантах осуществления способа по меньшей мере одна из по меньшей мере двух аналитических моделей включает в себя модель латентного размещения Дирихле (LDA).
[0061] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».
[0062] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами электронных устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как электронное устройство в настоящем контексте, может вести себя как сервер по отношению к другим электронным устройствам. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
[0063] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[0064] В контексте настоящего описания «информация» включает в себя информацию любого рода или типа, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[0065] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[0066] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий «второй сервер» обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[0067] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять другим целям, отдельно не указанным здесь.
[0068] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0069] Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[0070] На Фигуре 1 представлена принципиальная схема системы, выполненной в соответствии с неограничивающими вариантами осуществления настоящего технического решения.
[0071] На Фигуре 2 представлено схематичное изображение обработки первого пакета данных модулем предварительной обработки системы с Фигуры 1 для создания набора векторов.
[0072] На Фигуре 3 представлено схематичное изображение обработки набора векторов, которые созданы модулем предварительной обработки, изображенным на Фигуре 2, для создания множества векторов данных, помещенных в набор.
[0073] На Фигуре 4 представлена блок-схема способа, реализованного в соответствии с другими вариантами осуществления настоящей технологии, не ограничивающими ее объем, причем способ выполняется в рамках системы, представленной на Фигуре 1.
ОСУЩЕСТВЛЕНИЕ
[0074] На Фиг. 1 показана система 100, выполненная в соответствии с вариантом осуществления настоящего технического решения. Важно иметь в виду, что сервер ранжирования 100 является только одним из вариантов осуществления настоящей технологии. Таким образом, все последующее описание представлено только как описание показательного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящей технологии. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобном случае представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
[0075] Система 100 включает в себя множество 102 пользователей, расположенных во множестве 104 географических положений. Множество 102 пользователей включает в себя первого пользователя 106, второго пользователя 108 и третьего пользователя 110. Каждый из первого пользователя 106, второго пользователя 108 и третьего пользователя 110 связан с соответствующим положением из множества 104 географических положений. Каждое из географических положений может иметь один или несколько физических объектов, связанных с ним, например, первый физический объект 112, второй физический объект 114 и третий физический объект 116. Таким образом, можно сказать, что первый пользователь 106 находится физически близко к первому физическому объекту 112, второй пользователь 108 находится физически близко ко второму физическому объекту 112, и третий пользователь 110 находится физически близко к третьему физическому объекту 116.
[0076] Следует отметить, что каждый из первого пользователя 106, второго пользователя 108 и третьего пользователя 110 сами по себе могут включать в себя множество пользователей или, другими словами, данный пользователь из первого пользователя 106, второго пользователя 108 и третьего пользователя 110 может быть частью соответствующего множества пользователей.
[0077] Точно так же каждый из первого физического объекта 112, второго физического объекта 114 и третьего физического объекта 116 могут включать в себя множество физических объектов или, другими словами, данный объект из первого физического объекта 112, второго физического объекта 114 и третьего физического объекта 116 может быть частью соответствующего множества 104 географических положений.
[0078] Также следует отметить, что отношения между данным пользователем из первого пользователя 106, второго пользователя 108 и третьим пользователем 110 и данным объектом из первого физического объекта 112, второго физического объекта 114 и третьего физического объекта 116 могут быть быть временными. Другими словами, отношения между данным пользователем из первого пользователя 106, второго пользователя 108 и третьим пользователем ПО и данным объектом из первого физического объекта 112, второго физического объекта 114 и третьего физического объекта 116 могут со временем меняться. Например, данный пользователь (например, первый пользователь 106) может перемещаться, и, через какое-то время, первый пользователь 106 может быть связан с первым физическим объектом 112, а в другое время первый пользователь 106 может быть связан со вторым физическим объектом 114, а еще через время первый пользователь 106 может быть связан с третьим физическим объектом 116 (а также с другими физическими объектами, потенциально присутствующими в системе 100 в другие моменты времени).
[0079] Данный пользователь из первого пользователя 106, второго пользователя 108 и третьего пользователя 110 связан с одним или несколькими электронными устройствами. Для простоты здесь изображается только одно пользовательское беспроводное устройство 120 (связанное с первым пользователем 106). Варианты пользовательского беспроводного устройства 120 конкретно не ограничены, но в качестве примера пользовательского беспроводного устройства 120 могут использоваться персональные компьютеры (ноутбуки, нетбуки и т.п.) или беспроводное электронное устройство (мобильные телефоны, смартфоны, планшеты и т.п.).
[0080] Общий вариант осуществления пользовательского беспроводного устройства 120 известен в области техники, и поэтому не будет здесь подробно описан. Достаточно сказать, что пользовательское беспроводное устройство 120 содержит пользовательский интерфейс ввода (например, клавиатуру, мышь, сенсорную панель, сенсорный экран и т.п.) для получения пользовательского ввода; пользовательский интерфейс вывода (например, экран, сенсорный экран, принтер и т.п.) для предоставления визуального или звукового вывода пользователю; интерфейс сетевой связи (например, модем, сетевую карту и т.п.) для двусторонней связи по сети 118 передачи данных; и процессор, соединенный с пользовательским интерфейсом ввода, пользовательским интерфейсом вывода и интерфейсом сетевой связи, который выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже.
[0081] Пользовательское беспроводное устройство дополнительно включает в себя один или несколько датчиков для измерения одного или нескольких измеренных условий. Некоторые примеры одного или нескольких датчиков включают в себя, без установления ограничений:
- фотодатчик (камеру)
- микрофон
- акселерометр
- устройство для измерения силы тяжести
- датчик линейного ускорения
- гироскоп
- магнитометр
- датчик расстояния
- датчик освещенности
- барометр
- термометр
- датчик влажности воздуха
- шагомер
- устройство считывания отпечатков пальцев
- датчик вредного излучения
- модуль GPS
- модуль Bluetooth™
- модуль WiFi™
- приемник беспроводной сети, способный измерять силу сигнала
- модуль NFC
[0082] Упомянутая выше сеть 118 передачи данных может быть реализована как интернет. В других вариантах осуществления настоящей технологии сеть 118 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[0083] Соответствующее электронное устройство каждого из первого пользователя 106, второго пользователя 108 и третьего пользователя 110 (и их соответствующего(ых) электронного(ых) устройств(а) 120) выполнено с возможностью записывать (определять) данные по меньшей мере с одного датчика. Для простоты пусть каждое пользовательское беспроводное устройство 120 определяет соответствующие данные двух датчиков. Следует, однако, отметить, что в других вариантах осуществления настоящей технологии может использоваться другое количество данных от другого числа датчиков. Также следует отметить, что одно пользовательское беспроводное устройство 120, связанное с первым пользователем 106 может передавать другое количество данных от другого числа датчиков, в отличие от, например, другого пользовательского беспроводного устройства 120, связанного, например, с третьим пользователем 110.
[0084] Система 100 также включает в себя сетевой сервер 130. Сетевой сервер 130 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения сетевой сервер 130 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сетевой сервер 130 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сетевой сервер 130 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сетевого сервера 130 может быть разделена и может выполняться с помощью нескольких серверов.
[0085] Вариант осуществления сетевого сервера 130 хорошо известен. Тем не менее, вкратце, сетевой сервер 130 содержит интерфейс связи (не показан), который настроен и выполнен с возможностью устанавливать соединение с различными элементами (например, пользовательским беспроводным устройством 120 и другими устройствами, потенциально присоединенными к сети 118 передачи данных) через сеть 118 передачи данных. Сетевой сервер 130 дополнительно включает в себя один или несколько пунктов из следующего: компьютерный процессор (не показан), функционально соединенный с интерфейсом связи и настроенный и выполненный с возможностью выполнять различные процессы, описанные здесь.
[0086] Как изображено на Фигуре 1, пользовательское беспроводное устройство, связанное с первым пользователем 106, передает сетевому серверу 130 первый пакет 140 данных, причем первый пакет 140 данных включает в себя первый определенный параметр первого датчика и второй определенный параметр второго датчика, причем первый определенный параметр и второй определенный параметр записываются (определяются) пользовательским беспроводным устройством 120 в течение временной связи первого пользователя 106 с первым физическим объектом 112.
[0087] Пользовательское беспроводное устройство, связанное со вторым пользователем 108, передает сетевому серверу 130 второй пакет 142 данных, причем второй пакет 142 данных включает в себя первый определенный параметр первого датчика и второй определенный параметр второго датчика, причем первый определенный параметр и второй определенный параметр определяются пользовательским беспроводным устройством 120 в течение временной связи второго пользователя 108 со вторым физическим объектом 114.
[0088] Пользовательское беспроводное устройство, связанное с третьим пользователем 110, передает сетевому серверу 130 третий пакет 146 данных, причем третий пакет 146 данных включает в себя первый определенный параметр первого датчика и второй определенный параметр второго датчика, причем первый определенный параметр и второй определенный параметр определяются пользовательским беспроводным устройством 120 в течение временной связи третьего пользователя 110 с третьим физическим объектом 116.
[0089] Сетевой сервер 130 получает набор 148 определенных параметров. Следует отметить, что набор 148 определенных параметров может быть получен от подгруппы пользователей, связанных с конкретным физическим положением, за предварительно определенный промежуток времени (например, в течение временной связи подгруппы пользователей с конкретным физическим положением). Альтернативно, набор 148 определенных параметров может быть получен от подгруппы пользователей, связанных с конкретным физическим положением, за более длительный предварительно определенный промежуток времени (например, в течение временной связи подгруппы пользователей с конкретным физическим положением в течение множества временных периодов). Кроме того, набор 148 определенных параметров может быть получен от более крупного набора пользователей, причем более крупный набор пользователей имеет подгруппы пользователей, связанные с конкретным физическим положением, за предварительно определенный промежуток времени (например, в течение временной связи подгруппы пользователей с конкретным физическим положением). И, наконец, набор 148 определенных параметров может быть получен от более крупного набора пользователей, причем более крупный набор пользователей имеет подгруппы пользователей, связанные с другими физическими положениями, за другие промежутки времени.
[0090] Также следует отметить, что получение набора 148 определенных параметров может быть выполнено после того, как временная связь со связанным пользовательским беспроводным устройством 120 перестала существовать. Кроме того, набор 148 определенных параметров может быть получен сетевым сервером 130 либо как «извлечение» ("pull") (т.е. сетевой сервер 130 запрашивает передачу набора 148 определенных параметров), либо как «отправка» ("push") (т.е. множество пользовательских беспроводных устройств 120 передают набор 148 определенных параметров), либо как их сочетание ("push-pull").
[0091] В соответствии с конкретным неограничивающим вариантом осуществления настоящей технологии сетевой сервер 130 включает в себя модуль 132 предварительной обработки, модуль 134 обработки и модуль 136 пост-обработки. Каждый из модуля 132 предварительной обработки, модуля 134 обработки и модуля 136 пост-обработки может быть реализован как программное, аппаратное, системное программное обеспечение или их комбинация.
[0092] Каждый из модуля 132 предварительной обработки, модуля 134 обработки и модуля 136 пост-обработки может хранить или иметь доступ к выполняемым на компьютере инструкциям, которые выполнены с возможностью инициировать выполнение процедур, описанных ниже, соответствующим модулем из модуля 132 предварительной обработки, модуля 134 обработки и модуля 136 пост-обработки.
[0093] Сетевой сервер 130 имеет доступ (или другим способом включает в себя) к хранилищу 138 пользовательских профилей. Хранилище 138 пользовательских профилей включает в себя информацию о пользовательских профилях, связанных со множеством 102 пользователей. Информация о пользовательских профилях может включать в себя указание одного или нескольких онлайн-взаимодействий данного пользователя с различными сетевыми ресурсами (например, доступных по сети 118 передачи данных). Например, одно или несколько онлайн-взаимодействий можно включать в поисковую историю, связанную поисками в поисковой системе, выполненными данным пользователем из множества 102 пользователей. В другом примере одно или несколько онлайн-взаимодействий можно включать в историю просмотров страниц, связанную с сетевыми ресурсами, посещенными данным пользователем из множества 102 пользователей. В другом примере одно или несколько онлайн-взаимодействий может включать в себя историю действий (например, заказы, загрузки, контент трансляций и т.д.), связанную с сетевыми ресурсами, при чем действия осуществлены данным пользователем из множества 102 пользователей.
[0094] В некоторых вариантах осуществления настоящей технологии пользовательские профили, сохраненные в хранилище 138 пользовательских профилей, могут включать в себя пользовательские профили в форме записей пользовательской истории, связанной с соответствующими пользователями (например, множество 102 пользователей). Например, история веб-просмотра пользователя может быть представлена в виде каталога универсальных идентификаторов ресурса (URI) для различных сетевых ресурсов, посещенных пользователей, причем каждый универсальный идентификатор ресурса может сопровождаться временной отметкой, которая указывает на дату и время посещения сетевого ресурса, и/или время пребывания, которое указывает на количество времени, предположительно проведенного пользователем за просмотром сетевого ресурса. С другой стороны, история географических перемещений пользователя может быть представлена серией географических координат, связанных с пользователем, таких как геолокационные данные, собранные смартфоном пользователя, или «чекины» пользователя в одном или нескольких онлайн сервисах, например, в социальных сетях. Пользовательская история может быть представлена как список поисковых запросов, введенных в поисковую систему за промежуток времени. В некоторых вариантах осуществления настоящей технологии каждый поисковый запрос из списка может быть снабжен отметкой о времени, показывающей момент времени, в который поисковый запрос был введен с поисковую систему и/или указание географического положения, из которого был введен поисковый запрос. В записи пользовательской истории могут быть включены другие типы пользовательских событий, например, без введения ограничений, связанные с пользователем действия в социальных сетях, история рекламных объявлений, на которые пользователь щелкнул, и так далее.
[0095] Поскольку различные типы пользовательских событий обычно представлены в различных информационных форматах, их может быть сложно сравнивать или анализировать. Кроме того, огромное количество записей в пользовательской истории может сделать анализ пользовательских событий неэффективным и даже невозможным. Поэтому в некоторых вариантах осуществления настоящей технологии пользовательские профили организованы как записи пользовательской истории. Записи пользовательской истории могут быть обработаны (сетевым сервером 130 или хранилищем 138 пользовательских профилей) и трансформированы в сжатые векторы пользовательских профилей, показывающие пользовательские интересы, социодемографические характеристики пользователя, такие как пол, возраст, уровень дохода и т.д. и другие характеристики. Для определения вектора 206 пользовательского профиля для данного пользователя могут быть использованы различные способы, например, алгоритмы машинного обучения, наивные байесовские классификаторы и так далее. Один или несколько векторов пользовательских профилей могут быть получены из пользовательской истории с использованием подхода, описанного в патентной заявке с номером публикации WO 2016038471 А1, (17 марта 2016 г., Красников), содержимое этой заявки полностью включено здесь посредством ссылки для всех юрисдикций, допускающих подобное включение.
[0096] Модуль 132 предварительной обработки
[0097] На Фигуре 2 изображена схема обработки первого пакета 140 данных модулем 132 предварительной обработки для создания набора векторов.
[0098] Например, модуль 132 предварительной обработки может быть выполнен с возможностью создавать набор векторов, включая: вектор 202 первого параметра данного пользователя, вектор 204 второго параметра данного пользователя и вектор 206 профиля данного пользователя на основе информации, полученной с помощью первого пакета 140 данных.
[0099] Кроме того, модуль 132 предварительной обработки может создавать соответствующий вектор 202 первого параметра данного пользователя, вектор 204 второго параметра данного пользователя и вектор 206 профиля данного пользователя для каждого из множества пользовательских беспроводных устройств 120, соответственно связанного с данным пользователем в первом множестве 102 пользователей. В других вариантах осуществления настоящей технологии модуль 132 предварительной обработки может создавать соответствующий вектор 202 первого параметра данного пользователя, вектор 204 второго параметра данного пользователя и вектор 206 профиля данного пользователя по меньшей мере для части пользовательских беспроводных устройств 120, соответственно связанных с данным пользователем в первом множестве 102 пользователей.
[00100] Пусть по меньшей мере часть пользовательских беспроводных устройств 120, соответственно связанных с данным пользователем с первом множестве 102 пользователей включает в себя пользовательское устройство 120, связанное с первым пользователем 106, второе пользовательские беспроводное устройство (не изображено), связанное с другим первым пользователем (не изображен, входит в состав первого множества 102 пользователей) в первом множестве 102 пользователей, и третье пользовательское беспроводное устройство (не изображено) связанное с другим первым пользователем (не изображен, входит в состав первого множества 102 пользователей).
[00101] В итоге модуль 132 предварительной обработки может получать первый пакет 140 данных, связанный с пользовательским беспроводным устройством 120. Модуль 132 предварительной обработки может быть выполнен с возможностью получать второй пакет данных (не изображен), связанный со вторым пользовательским беспроводным устройством. Модуль 132 предварительной обработки может быть выполнен с возможностью получать третий пакет данных (не изображен), связанный с третьим пользовательским беспроводным устройством.
[00102] Модуль 132 предварительной обработки может обрабатывать информацию в первом пакете 140 данных для создания вектора 202 первого параметра данного пользователя, вектора 204 второго параметра данного пользователя и вектора 206 профиля данного пользователя.
[00103] В другом варианте осуществления настоящей технологии, как показано на Фигуре 3, модуль 132 предварительной обработки может обрабатывать информацию во втором пакете 140 данных, аналогично тому, как модуль предварительной обработки обрабатывал первый пакет 140 данных для создания второго вектора 552 первого параметра данного пользователя, второго вектора 554 второго параметра данного пользователя и второго вектора 556 профиля данного пользователя. Модуль 132 предварительной обработки может обрабатывать информацию в третьем пакете 140 данных, аналогично тому, как модуль предварительной обработки обрабатывал первый пакет 140 данных для создания третьего вектора 562 первого параметра данного пользователя, третьего вектора 564 второго параметра данного пользователя и третьего вектора 566 профиля данного пользователя.
[00104] В общем случае модуль 132 предварительной обработки может быть выполнен с возможностью агрегировать все векторы первого параметра данного пользователя, все векторы второго параметра данного пользователя и все векторы профиля данного пользователя, связанные с общим физическим объектом в общий набор векторов.
[00105] Следовательно, в некоторых вариантах осуществления настоящей технологии, модуль 132 предварительной обработки может быть выполнен с возможностью создавать набор 502 векторов, связанный с первым физическим объектом 112. Набор 502 векторов может включать в себя вектор 202 первого параметра данного пользователя, вектор 204 второго параметра данного пользователя, вектор 206 профиля данного пользователя, второй вектор 552 первого параметра данного пользователя, второй вектор 554 второго параметра данного пользователя, второй вектор 556 профиля данного пользователя, третий вектор 562 первого параметра данного пользователя, третий вектор 564 второго параметра данного пользователя и третий вектор 566 профиля данного пользователя.
[00106] Работа модуля 132 предварительной обработки в соответствии с конкретным неограничивающим вариантом осуществления настоящей технологии теперь будет объяснена в подробностях.
[00107] Следует отметить, что определенные параметры 148 множества датчиков множества пользовательских беспроводных устройств 120 получает сетевой сервер 130. Определенные параметры 148 затем обрабатываются модулем 132 предварительной обработки сетевого сервера 130. В соответствии с некоторыми вариантами осуществления настоящей технологии модуль 132 предварительной обработки включает в себя первый субмодуль 1321 предварительной обработки, второй субмодуль 1322 предварительной обработки и субмодуль 1323 предварительной обработки пользовательского профиля.
[00108] Каждый индивидуальный субмодуль модуля 132 предварительной обработки, такой как первый субмодуль 1321 предварительной обработки и второй субмодуль 1322 предварительной обработки получает определенные параметры 148 своего связанного типа, а также выполнен с возможностью выполнять их обработку для создания векторов вывода. Каждый вектор вывода определенных параметров потом передается в модуль 134 обработки.
[00109] В некоторых вариантах осуществления настоящей технологии каждый из первого субмодуля 1321 предварительной обработки и второго субмодуля 1322 предварительной обработки (а также другие субмодули предварительной обработки, потенциально присутствующие в модуле 132 предварительно обработки) выполнены с возможностью обрабатывать свой уникальный тип определенных параметров 148 и/или выполненные с возможностью применять свой уникальный алгоритм обработки.
[00110] Пользовательское беспроводное устройство 120, связанное с первым пользователем 106 может быть выполнено с возможностью создавать первый пакет 140 данных, показанный на Фигуре 2. Например, первый пакет 140 данных может быть получен модулем 132 обработки сетевого сервера 130 по сети 118 передачи данных от пользовательского беспроводного устройства 120, связанного с первым пользователем 106, расположенным рядом с первым физическим объектом 112. Первый пакет 140 данных может включать в себя первый определенный параметр первого датчика пользовательского беспроводного устройства 120 и второй определенный параметр второго датчика пользовательского беспроводного устройства 120.
[00111] Для описания ниже пусть первый определенный параметр, полученный первым субмодулем 1321 предварительной обработки, представляет звуковые данные. Первый субмодуль 1322 предварительной обработки может извлекать первый определенный параметр из первого пакета 140 данных по первому каналу 230 данных.
Например, первый субмодуль 1321 предварительной обработки может быть выполнен с возможностью получать и обрабатывать звуки, полученные с помощью микрофонов данного пользовательского беспроводного устройства 120. Первый субмодуль 132А предварительной обработки может применять известные способы обработки звука, а также способы распознавания речи для создания по меньшей мере одного вектора вывода для первого определенного параметра, такого как вектор 202 первого параметра данного пользователя. Другие векторы для вывода (не изображены) из первого субмодуля 1321 предварительной обработки могут быть связаны с, например, музыкой, речью, звуком, частотами звуковых данных, полученных из любого из множества пользовательских беспроводных устройств 120, потенциально присутствующих в системе 100.
[00112] Например, один из других векторов для вывода из первого субмодуля 1321 предварительной обработки может включать информацию о конкретной музыкальной записи, распознанной на основе звуковых данных. Для этого первый субмодуль 1321 предварительной обработки может применять второй алгоритм для сравнения звуковых данных с известной музыкальной записью из базы данных музыкальных записей (не изображена) и извлечения метаданных, связанных с конкретной музыкальной записью, например, исполнитель, название, жанр, альбом и т.д. В других вариантах осуществления технологии в ответ на вывод классификации, указывающий на то, что звуковые данные включают в себя музыку, первый субмодуль 1321 предварительной обработки может создавать один из других векторов вывода, включающих в себя информацию о классификации относительно жанра музыкальной записи с помощью алгоритма машинного обучения, специально для этой цели обученного.
[00113] В некоторых вариантах осуществления настоящей технологии в случае, когда вывод классификации звуковых данных указывает на то, что звуковые данные включают в себя речь, первый субмодуль 1321 предварительной обработки может применить алгоритм распознавания речи к звуковым данным для извлечения слов и фраз на естественном языке.
[00114] В некоторых вариантах осуществления настоящей технологии первый субмодуль 1321 предварительной обработки может быть дополнительно выполнен с возможностью определять физические характеристики звуковых данных, такие как громкость, частота и т.д.
[00115] В некоторых вариантах осуществления настоящей технологии выводы одного или нескольких алгоритмов, примененных в первом субмодуле 1321 предварительной обработки, могут быть использованы для создания вектора первого вывода (такого как вектор 202 первого параметра данного пользователя), например, строки чисел или цифробуквенной последовательности предварительно определенной длины. Для создания вектора первого вывода (такого как вектор 202 первого параметра данного пользователя) могут использовать функции хэширования, алгоритмы машинного обучения и другие способы векторизации.
[00116] В некоторых вариантах осуществления настоящей технологии один из измеренных (определенных) параметров, полученных вторым субмодулем 1322 предварительной обработки (например, по второму каналу 232 данных), может быть данными изображения, и второй субмодуль 1322 предварительной обработки может быть выполнен с возможностью получать и предварительно обрабатывать изображения, полученные с помощью камер множества пользовательских беспроводных устройств 120, потенциально присутствующих в системе 110. Второй субмодуль 1322 предварительной обработки может применять известные способы обработки изображения, например, способы распознавания изображения, для создания одного или нескольких векторов признаков для каждых введенных данных изображения.
[00117] Например, второй субмодуль 1322 предварительной обработки выполнен с возможностью извлекать характеристики изображения из данных изображения, такие как: присутствие человека, присутствие здания, присутствие неба, присутствие дороги, присутствие городских областей, вероятность появления лица, изображенного на данном цифровом изображении и т.д.
[00118] Дополнительно или альтернативно второй субмодуль 1322 предварительной обработки может быть выполнен с возможностью извлекать целевые характеристики изображения, связанные с визуальными качествами цифровых изображений, такие как: яркость, текстура, контраст, интенсивность, параметры цвета данного цифрового изображения.
[00119] Дополнительно или альтернативно второй субмодуль 1322 предварительной обработки может быть выполнен с возможностью извлекать целевые характеристики изображения, связанные с физическими качествами цифровых изображений или качествами расположения, такие как: прозрачность, температура, определенная из записанных длин волн с данном цифровом изображении, размер объекта на изображении, относительный размер объекта по отношению к размеру другого объекта на данном цифровом изображении, расположение объекта, относительное расположение объекта по отношению к расположению другого объекта в данных изображения.
[00120] В некоторых вариантах осуществления настоящей технологии выводы одного или нескольких алгоритмов, примененных во втором субмодуле 1322 предварительной обработки могут быть использованы для создания второго вектора вывода (такого как вектор 204 второго параметра данного пользователя), например, строки чисел или цифробуквенной последовательности предварительно определенной длины. Для создания второго вектора вывода (такого как вектор 204 второго параметра данного пользователя) могут использовать функции хэширования, алгоритмы машинного обучения и другие способы векторизации.
[00121] Следует отметить, что примеры с определенными параметрами звукового типа и типа изображения, описанные здесь, не являются ограничением настоящей технологии. В соответствующие субмодули предварительной обработки, связанные с соответствующим типом параметра, могут быть введены другие типы параметров, полученных из упомянутых выше датчиков и модулей электронных устройств. Для предварительной обработки определенных параметров, полученных каждым субмодулем предварительной обработки для создания соответствующих векторов вывода, могут быть использованы хэширование, кодирование N-грамм, алгоритмы машинного обучения и другие способы.
[00122] На Фигуре 2 первый пакет 140 данных может дополнительно включать в себя пользовательский идентификатор (не изображен), связанный с первым пользователем 106. Пользовательский идентификатор отправляется в хранилище 138 пользовательских профилей по третьему каналу 234 данных. Хранилище 138 пользовательских профилей извлекает пользовательский профиль, соответствующий пользовательскому идентификатору, и передает его субмодулю 1323 предварительной обработки пользовательских профилей по каналу 236 данных.
[00123] Субмодуль 1323 предварительной обработки пользовательских профилей может обрабатывать пользовательские профили (или векторы пользовательских профилей), полученные от хранилища 138 пользовательских профилей. В тех вариантах осуществления настоящей технологии, в которых хранилище 138 пользовательских профилей хранит пользовательские профили как векторы пользовательских профилей (то есть без необходимости дополнительной предварительной обработки), субмодуль 1323 предварительной обработки пользовательских профилей может быть пропущен, и вектор 206 профиля данного пользователя может быть напрямую извлечен из хранилища 138 пользовательских профилей.
[00124] Субмодуль 1323 предварительной обработки пользовательских профилей может быть дополнительно выполнен с возможностью анализировать векторы вывода своих субмодулей и/или их соответствующие входные определенные параметры для обнаружения корреляции между векторами вывода и идентифицировать их взаимные шаблоны. С этой целью модуль 132 предварительной обработки может применять один или несколько алгоритмов машинного обучения, известных в данной области техники.
[00125] Например, модуль 132 предварительной обработки может анализировать выводы субмодуля, связанного с параметрами датчика атмосферного давления, и субмодуля, связанного с параметрами шагомера (подсчитывает каждый шаг человека, определяя движение рук или бедер человека). Модуль 132 предварительной обработки может определить, что информация, закодированная в комбинации вектора давления и вектора шагомера, указывает, что пользователь дошел до верхнего этажа здания по лестнице. Модуль 132 предварительной обработки может включить информацию об этом определенном событии и других определенных событиях, если они произошли, в дополнительный вектор (не изображен) и отправить его в модуль обработки вместе с другими векторами, созданными субмодулями предварительной обработки, такими как векторы 202 и 204, как часть набора векторов) в примере, изображенном на Фиг. 2, в модуль обработки 134.
[00126] Модуль 134 обработки
[00127] Модуль 132 предварительной обработки может быть выполнен с возможностью передавать набор векторов модулю 134 обработки для его последующей обработки. Схематическое представление 500 обработки набора 502 векторов изображено на Фигуре 3. В некоторых вариантах осуществления настоящей технологии модуль 134 обработки может реализовать по меньшей мере две аналитических модели. В других вариантах осуществления настоящей технологии модуль 134 обработки может реализовать множество 580 аналитических моделей. Множество 580 аналитических моделей может включать в себя первую аналитическую модель 1341, вторую аналитическую модель 1342, третью аналитическую модель 1343, четвертую аналитическую модель 1344 и пятую аналитическую модель 1345.
[00128] В общем случае данная аналитическая модель может быть выполнена с возможностью создавать данный вектор данных, помещенных в набор, на основе набора 502 векторов. Данный вектор данных, помещенных в набор, указывает по меньшей мере на какой-либо семантический анализ, извлеченный из набора 502 векторов данной аналитической моделью.
[00129] Семантический анализ может представлять по меньшей мере либо шаблоны данных, либо скрытые взаимоотношения в данных, либо классы идентификации информации, либо иную информацию, которая характеризует логику в данных, содержащихся в наборе 502 векторов, и где данная аналитическая модель была выполнена с возможностью характеризовать эту логику. В других вариантах осуществления настоящей технологии семантический анализ может представлять различные связи между векторами первого параметра данного пользователя, векторами второго параметра данного пользователя и векторами профилей данного пользователя.
[00130] В некоторых случаях данная аналитическая модель является статистической аналитической моделью, которая может применять по меньшей мере либо гистограммы, либо средние показатели, либо процентили и т.д. В других случаях данная аналитическая модель является вероятностной аналитической моделью, такой как Байесова модель, модель максимальной апостериорной гипотезы (maximum а posteriori, MAP), модель максимального правдоподобия (maximum likelihood, ML), скрытая марковская модель и т.д. Данная аналитическая модель также может быть основана по меньшей мере либо на эвристическом алгоритме, либо на алгоритме кластеризации. Данная аналитическая модель может быть рекуррентной нейронной сетью, такой как нейронная сеть на основе долговременно-кратковременной памяти (LSTM). Данная аналитическая модель может быть моделью латентного размещения Дирихле (LDA). Однако следует отметить, что данная аналитическая модель может быть любым другим алгоритмом машинного обучения для создания данного вектора данных, помещенных в набор, на основе набора 502 векторов.
[00131] Модуль 134 обработки может быть выполнен с возможностью получать набор 502 векторов. Дополнительно модуль 134 обработки может быть выполнен с возможностью вводить набор 502 векторов в каждую аналитическую модель в множестве 580 аналитических моделей. Более конкретно, набор 502 векторов (который основан на таких векторах как вектор 202 первого параметра данного пользователя, вектор 204 второго параметра данного пользователя, вектор 206 профиля данного пользователя, второй вектор 552 первого параметра данного пользователя, второй вектор 554 второго параметра данного пользователя, второй вектор 556 профиля данного пользователя, третий вектор 562 первого параметра данного пользователя, третий вектор 564 второго параметра данного пользователя и третий вектор 566 профиля данного пользователя) может быть введен в каждую из моделей: первую аналитическую модель 1341, вторую аналитическую модель 1342, третью аналитическую модель 1343, четвертую аналитическую модель 1344 и пятую аналитическую модель 1345.
[00132] Каждая из множества 580 аналитических моделей может быть выполнена с возможностью выводить соответствующий вектор данных, помещенных в набор. Другими словами, первая аналитическая модель 1341 может выводить первый вектор 504 данных, помещенных в набор, вторая аналитическая модель 1342 может выводить второй вектор 506 данных, помещенных в набор, третья аналитическая модель 1343 может выводить третий вектор 508 данных, помещенных в набор, четвертая аналитическая модель 1344 может выводить вектор 510 данных, помещенных в набор, и пятая аналитическая модель 1345 может выводить пятый вектор 512 данных, помещенных в набор. В итоге множество 580 аналитических моделей может быть выполнено с возможностью анализировать набор 502 векторов для создания множества 514 векторов данных, помещенных в набор.
[00133] В ответ на создание множества 514 векторов данных, помещенных в набор, модуль 134 обработки может быть выполнен с возможностью создавать вектор объекта (не изображен) с использованием по меньшей мере некоторых из множества 514 векторов данных, помещенных в набор. Для создания вектора объекта модуль 134 обработки может быть выполнен с возможностью выполнять по меньшей мере некоторое из: способы кластеризации размерности, способы понижения размерности, способы агрегации, способы конкатенации и другие способы агломерации данных из множества векторов. Модуль 134 обработки может быть выполнен с возможностью создавать вектор объекта, который представляет коллективный семантический анализ первого физического объекта 112.
[00134] Модуль 134 обработки может повторять процесс для других географических положений и/или того же самого географического положения, но за другой промежуток времени. В итоге этого итеративного создания векторов объектов модуль 135 обработки может создавать «виртуальную карту» физического мира, разделенную на конкретные географические положения/конкретные физические объекты. Виртуальная карта складывается из векторов объектов, связанных с различными конкретными географическими положениями/конкретными физическими объектами. Векторы объектов могут быть обновлены со временем, как будет описано в примере ниже.
[00135] Модуль 136 постобработки
[00136] В некоторых вариантах осуществления настоящей технологии модуль 136 постобработки выполнен с возможностью получать созданный вектор объекта, связанный по меньшей мере с одним географическим положением, созданным модулем 134 обработки.
[00137] В некоторых вариантах осуществления настоящей технологии модуль 136 постобработки выполнен с возможностью получать множество таким образом созданных векторов объектов, созданное модулем 134 обработки. В этих вариантах осуществления настоящей технологии модуль 136 постобработки может создавать модель тренда вектора на основе множества созданных векторов объектов, связанных с тем же самым географическим положением, но связанных, например, с различными периодами времени. Альтернативно модуль 136 постобработки может создавать модель тренда вектора на основе множества созданных векторов объектов, связанных с различными географическими положениями, но связанных, например, либо с тем же периодом времени, либо с различными периодами времени.
[00138] Модуль 136 постобработки может использовать модели трендов векторов для различных процедур анализа и прогнозирования. Например, модели трендов векторов могут быть использованы модулем 136 постобработки для прогнозирования нового вектора объекта, связанного по меньшей мере с одним географическим положением, связанным с будущим периодом времени. Альтернативно модуль 136 постобработки может использовать модель тренда вектора для определения сдвига в шаблоне для нового вектора объекта, связанного по меньшей мере с одним географическим положением, связанным с периодом времени, который возникнет в будущем. Например, если вектор объекта, спрогнозированный моделью тренда вектора и реальный вектор объекта, созданный модулем 134 обработки для данного будущего периода времени, отличаются, модуль 136 постобработки может определить, что существует сдвиг в шаблоне в тренде пользовательского поведения возле данного географического положения. Анализ таких трендов может дать возможностью определить изменения в данном географическом положении (например, закрытие дороги, открытие или закрытие определенных POI и т.д.).
[00139] В некоторых вариантах осуществления способа модуль 136 постобработки использует таким образом созданные векторы объекта как ввод в дополнительный алгоритм машинного обучения (не изображен) для обучения дополнительного алгоритма машинного обучения прогнозировать конкретный параметр. Следует отметить, что создание множества векторов объектов осуществляется без знания конкретного параметра. Другими словами, вектор объекта можно назвать «универсальным» - например, он может быть использован для множества прогнозов (например, множества алгоритмов машинного обучения и т.д.) без априорного знания конкретного параметра, который будет выводиться прогнозом.
[00140] С учетом описанной выше архитектуры, возможно выполнять способ создания вектора объекта. На Фиг. 4 представлена блок-схема способа 600, который выполняется в соответствии с не ограничивающими вариантами осуществления настоящей технологии. В некоторых вариантах осуществления настоящей технологии способ 600 может выполняться сетевым сервером 130.
[00141] Способ 600 описывается по отношению к данному географическому положению для данного периода времени (и, как будет описано ниже, может повторяться для множества географических положений и/или множества периодов времени).
[00142] Этап 602 - получение сервером по меньшей мере от части множества пользовательских беспроводных устройств, причем по меньшей мере часть множества пользовательских беспроводных устройств временно связана с данным географическим положением в течение первого периода времени, первого определенного параметра от первого датчика и второго определенного параметра от второго датчика, причем первый определенный параметр и второй определенный параметр были определены в течение того периода, в течение которого пользовательское беспроводное устройство было временно связано с данным географическим положением.
[00143] Способ начинается на этапе 602, на котором сетевой сервер 130 получает по меньшей мере от части множества пользовательских беспроводных устройств, причем по меньшей мере часть множества пользовательских беспроводных устройств временно связана с данным географическим положением в течение первого периода времени, первый определенный параметр от первого датчика и второй определенный параметр от второго датчика, причем первый определенный параметр и второй определенный параметр были определены в течение того периода, в течение которого пользовательское беспроводное устройство было временно связано с данным географическим положением.
[00144] Этап 604 - для каждого из по меньшей мере части множества пользовательских беспроводных устройств извлечение связанного пользовательского профиля
[00145] На этапе 604 сетевой сервер 130 для каждого из по меньшей мере части множества пользовательских беспроводных устройств извлекает связанный пользовательский профиль.
[00146] Этап 606 - для каждого пользовательского беспроводного устройства из части множества пользовательских беспроводных устройств анализ первого определенного параметра, второго определенного параметра и пользовательского профиля для создания, соответственно, вектора первого параметра данного пользователя, вектора второго параметра данного пользователя и вектора пользовательского профиля данного пользователя
[00147] На этапе 606 сетевой сервер 130 для каждого пользовательского беспроводного устройства из части множества пользовательских беспроводных устройств анализирует первый определенный параметр, второй определенный параметр и пользовательский профиль для создания, соответственно, вектора первого параметра данного пользователя, вектора второго параметра данного пользователя и вектора пользовательского профиля данного пользователя.
[00148] Этап 608 - агрегация следующих векторов каждого пользовательского беспроводного устройства: вектора первого параметра данного пользователя; вектора второго параметра данного пользователя и вектора пользовательского профиля данного пользователя в набор векторов.
[00149] На этапе 608 сетевой сервер 130 агрегирует следующие показатели каждого пользовательского беспроводного устройства: вектор первого параметра данного пользователя; вектор второго параметра данного пользователя и вектор пользовательского профиля данного пользователя в набор векторов.
[00150] Этап 610 - применение по меньшей мере двух аналитических моделей к набору векторов, причем каждая аналитическая модель создает свой соответственный вектор данных, помещенных в набор.
[00151] На этапе 610 сетевой сервер 130 применяет по меньшей мере две аналитические модели к набору векторов, причем каждая аналитическая модель создает свой соответственный вектор данных, помещенных в набор.
[00152] Этап 612 - на основе по меньшей мере двух соответствующих векторов данных, помещенных в набор, создание вектора объекта, связанного по меньшей мере с одним географическим положением.
[00153] На этапе 612 сетевой сервер 130 на основе по меньшей мере двух соответствующих векторов данных, помещенных в набор, создает вектор объекта, связанного по меньшей мере с одним географическим положением.
[00154] В некоторых вариантах осуществления способа 600 по меньшей мере часть способа 600 выполняется нейронной сетью. Нейронная сеть является нейронной сетью на основе долговременно-кратковременной памяти (LSTM). Следует понимать, что могут использоваться другие типы рекурсивной или иной нейронной сети. Следует также понимать, что для реализации других этапов способа 600 могут быть использованы другие типы алгоритмов машинного обучения.
[00155] Затем способ 600 завершается.
[00156] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.