СИСТЕМЫ И СПОСОБЫ ДЛЯ ПРЕДСКАЗАНИЯ ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЯ НА ОСНОВЕ ДАННЫХ О МЕСТОПОЛОЖЕНИИ
SYSTEMS AND METHODS FOR PREDICTING USER BEHAVIOR BASED ON LOCATION DATA

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Данная заявка притязает на приоритет предварительной заявки США № 62/303909, поданной 4 марта 2016 г., которая включается в этот документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Варианты осуществления настоящего изобретения относятся в целом к анализу данных о местоположении пользователя, и в частности, к предсказанию поведения пользователя на основе данных о местоположении.
УРОВЕНЬ ТЕХНИКИ
[0003] Глобальная сеть людей и машин включает в себя миллионы пользователей Интернета и отдельных людей с мобильным телефоном. Уход в сторону отдельных людей, каждый день формирующих все большее количество данных - например, посредством социальных сетей, электронной коммерции, удаленных рабочих мест, служб определения местоположения GPS и дистанционного обучения - предоставил огромное количество данных, которые описывают местоположение и поведение пользователей. Хотя прежние попытки анализа этих данных включают в себя предсказание местоположения пользователя (например, Katsaros and Manolopoulos, "Prediction in Wireless Networks by Markov Chains", доступно по ссылке http://delab.csd.auth.gr/papers/IEEEWComm09km.pdf), они имели ограниченный успех в точном предсказании поведения пользователя по нескольким причинам, одной из которых является то, что прежние попытки пытаются решить проблему предсказания с помощью поверхностных моделей, учитывающих только одно измерение: местоположение пользователя в качестве единственного признака.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Аспекты настоящего раскрытия изобретения относятся к системам и компьютеризированным способам для определения шаблонов в действиях пользователя, предоставляющим посредством этого контекстную информацию пользователя на основе тех шаблонов. В некоторых вариантах осуществления вычислительное устройство принимает данные прошлых периодов, ассоциированные с первым пользователем, при этом данные прошлых периодов включают в себя по меньшей мере одни из измеренных данных о местоположении прошлых периодов с привязкой ко времени, ассоциированных с первым пользователем, и выведенных данных о местоположении прошлых периодов с привязкой ко времени, ассоциированных с первым пользователем данных. В некоторых вариантах осуществления вычислительное устройство определяет сущностную информацию на основе данных прошлых периодов, при этом сущностная информация включает в себя информацию о действиях пользователя, происходящих в прошлых повторяющихся периодах времени, информация о действиях пользователя включает в себя по меньшей мере одно из типа действий пользователя, времени, ассоциированного с действиями пользователя, и вероятности возникновения действий пользователя в прошлых повторяющихся периодах времени. В некоторых вариантах осуществления вычислительное устройство принимает данные о текущем местоположении, ассоциированные с первым пользователем, при этом данные о текущем местоположении принимаются после данных прошлых периодов, данные о текущем местоположении включают в себя текущие измеренные данные о местоположении с привязкой ко времени, ассоциированные с первым пользователем, и текущие выведенные данные о местоположении с привязкой ко времени, ассоциированные с первым пользователем данных. В некоторых вариантах осуществления вычислительное устройство формирует информацию предсказания на основе сочетания сущностной информации и данных о текущем местоположении для текущего периода времени, при этом информация предсказания включает в себя по меньшей мере одно из назначения более высокого уровня достоверности, ассоциированного с типом действий пользователя, происходящих по меньшей мере в одном из текущего периода времени и будущего периода времени, которые также происходили по меньшей мере в одном из прошлых повторяющихся периодов времени, и указания нового типа действий пользователя по меньшей мере в одном из текущего периода времени и будущего периода времени. В некоторых вариантах осуществления вычислительное устройство определяет контекстную аналитическую информацию на основе сочетания информации предсказания по меньшей мере с одними из данных о текущем местоположении, данных реального времени и контекстных данных, при этом контекстная аналитическая информация включает в себя рекомендацию по меньшей мере одного из действий, покупки и принадлежности, ассоциированных по меньшей мере с одним из текущего местоположения первого пользователя и будущего местоположения первого пользователя, и при этом данные реального времени включают в себя условие, ассоциированное по меньшей мере с одним из текущего местоположения первого пользователя и будущего местоположения первого пользователя, а контекстные данные ассоциируются с взаимодействием между первым пользователем и устройством первого пользователя.
[0005] В некоторых вариантах осуществления определение сущностной информации дополнительно содержит определение с помощью вычислительного устройства оценки подобия для действий первого пользователя, происходящих в прошлых повторяющихся периодах времени, на основе по меньшей мере одних из данных прошлых периодов, ассоциированных с первым пользователем, и данных прошлых периодов, ассоциированных со вторым пользователем, при этом оценка подобия ассоциируется с величиной подобия между действиями первого пользователя в течение первого и второго прошлых периодов времени в повторяющихся прошлых периодах времени, и агрегирование с помощью вычислительного устройства по меньшей мере действий первого пользователя с действиями второго пользователя на основе порогового количества раз, которое действия первого пользователя и действия второго пользователя происходят в одних и тех же повторяющихся прошлых периодах времени.
[0006] В некоторых вариантах осуществления описанные в этом документе системы и способы дополнительно включают в себя преобразование с помощью вычислительного устройства принятых данных прошлых периодов по меньшей мере в одни из данных временного ряда, включающих в себя по меньшей мере одно из времени, проведенного дома, времени, проведенного на работе, расстояния от дома по времени, расстояния от работы по времени, категорийных данных, включающих в себя по меньшей мере одно из посещения ресторана, посещения парка, метеоусловий, числовых данных, включающих в себя по меньшей мере одно из количества разных посещенных мест и температуры наружного воздуха, и булевых данных.
[0007] Измеренные данные о местоположении прошлых периодов с привязкой ко времени и текущие измеренные данные о местоположении с привязкой ко времени ассоциируются с данными, накопленными устройством отслеживания местоположения, и выведенные данные о местоположении прошлых периодов с привязкой ко времени и текущие выведенные данные о местоположении с привязкой ко времени включают в себя по меньшей мере одно из пользовательской транзакции, ручной регистрации первым пользователем, расстояния от запланированной точки до местоположения, ассоциированного по меньшей мере с одними из выведенных данных о местоположении прошлых периодов с привязкой ко времени и текущих выведенных данных о местоположении с привязкой ко времени, и метеоинформации, ассоциированной по меньшей мере с одними из выведенных данных о местоположении прошлых периодов с привязкой ко времени и текущих выведенных данных о местоположении с привязкой ко времени. В некоторых вариантах осуществления условие, ассоциированное по меньшей мере с одним из текущего местоположения первого пользователя и будущего местоположения первого пользователя, включает в себя по меньшей мере одно из погоды, схемы движения, расписания поездов и близости и доступности ресторана, присутствия второго пользователя, времени с прежнего посещения текущего местоположения и новостных событий, и взаимодействие между первым пользователем и устройством первого пользователя включает в себя некоторое количество принудительных уведомлений, к которым обращался первый пользователь на устройстве первого пользователя.
[0008] Эти и другие возможности раскрытого предмета изобретения станут понятнее после рассмотрения нижеследующих фигур, подробного описания и формулы изобретения. Нужно понимать, что применяемые в этом документе формулировки и терминология предназначены для описания и не должны рассматриваться как ограничивающие.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0009] Различные цели, признаки и преимущества раскрытого предмета изобретения можно полнее оценить со ссылкой на нижеследующее подробное описание раскрытого предмета изобретения при рассмотрении применительно к следующим чертежам, на которых одинаковые номера ссылок идентифицируют одинаковые элементы.
[0010] Фиг. 1 - схема системы, показывающая сетевую систему в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0011] Фиг. 2 - схема, показывающая модуль предсказания поведения пользователя в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0012] Фиг. 3 - схема, показывающая модуль предсказания пользователя в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0013] Фиг. 4 - схема, показывающая модуль построения сущностей в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0014] Фиг. 5 - схема, показывающая модуль предсказания в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0015] Фиг. 6 - схема, показывающая модуль форматирования в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0016] Фиг. 7 - схема, показывающая пример создания сущностей в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0017] Фиг. 8 - блок-схема последовательности операции, показывающая процесс предоставления контекстной информации пользователю на основе определения шаблонов в действиях пользователя в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[0018] Варианты осуществления настоящего раскрытия изобретения относятся к распознаванию основополагающей структуры в повседневных перемещениях пользователей, которую можно обнаружить и классифицировать, и оцениванию статистических данных пользователя, чтобы выявить основополагающую структуру в его/ее повседневных перемещениях. Эти сущности затем можно использовать для предсказания будущих перемещений пользователя. Возможность предсказывать геопространственные перемещения пользователя обладает широким диапазоном применений: от возможности предоставлять своевременную контекстную информацию (например, информацию о движении или дорожные рекомендации, если пользователь собирается в аэропорт; метеоинформацию, если пользователь направляется на дачу) до маркетинговых возможностей (блюда из ресторана со скидкой, если пользователь собирается задержаться на работе).
[0019] В некоторых вариантах осуществления описанные в этом документе системы и способы используют данные о местоположении и другую контекстную информацию для группирования дней пользователя в соответствии с поведенческими шаблонами (например, день в офисе, поездка в загородный дом на длинные выходные и т. п.). Тогда "модуль предсказания" может анализировать данные реального времени о пользователе и выполнять поведенческое предсказание на основе обнаруженных шаблонов. В некоторых вариантах осуществления модуль весьма адаптивен и может регулировать свое предсказание, когда появляется новая информация.
[0020] Для сбора информации о пользователе и создания производной социальной сети могут использоваться различные методики, например, как описано на фиг. 1 и 2 ниже. Более того, системы и способы для сбора информации о пользователе, чтобы создавать и изменять производную социальную сеть, подробнее описываются в заявке США № 15/298353, озаглавленной "System and Method for Detecting Interaction and Influence in Networks", поданной 20 октября 2016 г., содержимое которой включается в этот документ.
[0021] Фиг. 1 - схема системы, показывающая сетевую систему 100 в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Фиг. 1 показывает пользовательское устройство 102, сеть 104 и сервер 106.
[0022] Пользовательское устройство 102 может ассоциироваться с пользователем, участвующим в системах и способах отслеживания местоположения, описанных в этом документе, и может собирать информацию от пользователей, участвующих в сетевой системе. В некоторых вариантах осуществления пользовательское устройство 102 может включать в себя любое компьютеризированное устройство, допускающее запись и передачу информации о близости некоторого пользователя к другому пользователю или к некоторому местоположению. В некоторых вариантах осуществления компьютеризированное устройство может включать в себя смартфон, планшет, компьютер, переносной компьютер, автомобиль или "умные" часы, на которые можно установить мобильное приложение, которое облегчает сбор данных.
[0023] В некоторых вариантах осуществления пользовательское устройство 102 может включать в себя смонтированные в транспортном средстве агенты сбора данных, например автомобильные бортовые диагностические модули, телеметрические и телематические модули, транспондеры, бортовые модули GPS и другие системы, которые собирают релевантные данные.
[0024] В некоторых вариантах осуществления пользовательское устройство 102 может включать в себя потребительские носимые устройства или фитнес-мониторы, например Jawbone Up, Fitbit Charge либо устройства Apple Watch.
[0025] В некоторых вариантах осуществления данные могут передаваться непосредственно с пользовательского устройства 102 в сеть 104 (например, в случае мобильного приложения) либо могут собираться посредством промежуточного этапа. Например, в случае транспортной телеметрической системы может использоваться промежуточный модуль для сбора информации с бортового устройства и ее передачи по линии радиосвязи на смартфон, где ее можно передать потом в сеть 104.
[0026] В некоторых вариантах осуществления мобильное приложение можно установить на вычислительное устройство (смартфон) пользователя и предоставить пользователю возможность участвовать в различных механизмах сбора данных. Например, пользователь может разрешить описанной в этом документе системе собирать посредством мобильного приложения контакты пользователя, друзей в Facebook, друзей в Instagram, координаты во времени и платежи, проведенные с использованием вычислительного устройства (смартфона), шаблоны звонков и сообщений.
[0027] В некоторых вариантах осуществления пользовательское устройство 102 может принимать вид приложения или прикладной программы, которой снабжаются различные сетевые устройства. Например, встроенное в DVR приложение может передавать данные касательно зрительских привычек и предпочтений, тогда как программное обеспечение, встроенное в навигационную систему автомобиля, может передавать данные касательно положения и манеры вождения.
[0028] Специалисты в данной области техники примут во внимание, что не существует никакого ограничения по типу и многообразию пользовательских устройств, которые можно использовать с системами, описанными в настоящем раскрытии изобретения.
[0029] Сеть 104 дает возможность связи между пользовательскими устройствами 102. Сеть 104 может быть сетью общего пользования, например Интернетом, при этом каждое из пользовательского устройства 102 и сервера 104 подключено через шлюз с использованием таких протоколов связи, как Wi-Fi, Ethernet и беспроводной 4G. В качестве альтернативы сеть 104 может быть закрытой сетью, например локальной сетью (LAN) с различными компонентами системы анализа взаимосвязей, не доступными в открытом Интернете. В некоторых вариантах осуществления связь по сети 104 может быть зашифрованной, либо могут использоваться дополнительные протоколы безопасности, например туннелирование по виртуальной частной сети (VPN) или оболочке защищенного соединения (SSH).
[0030] Сервер 106 может включать в себя один или несколько служебных компьютеров, реализующих базу данных для хранения собранных данных о пользователе. В некоторых вариантах осуществления конкретная конфигурация сервера 106 может зависеть от некоторого количества факторов, например типа базы данных, ожидаемого размера базы данных и предполагаемых пользователем характеристик. В некоторых вариантах осуществления система масштабируется, и можно добавлять дополнительную обрабатывающую способность, когда увеличивается спрос. Сервер 106 также может включать в себя процессор для исполнения программного обеспечения, сконфигурированного для обработки пользовательских данных. Например, как описано подробнее, сервер может конфигурироваться для анализа пользовательских данных, чтобы предсказывать поведение пользователя.
[0031] Фиг. 2 - схема, показывающая модуль предсказания поведения пользователя в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Фиг. 2 показывает данные 202 о местоположении/времени прошлых периодов, другие данные 205 прошлых периодов, данные 206 реального времени, контекстную аналитику 208 и модуль 210 предсказания поведения пользователя.
[0032] Данные 202 о местоположении/времени прошлых периодов и другие данные 204 прошлых периодов вместе с данными 206 реального времени являются входными данными в модуль 210 предсказания поведения пользователя. Данные 202 о местоположении/времени прошлых периодов относятся к данным о местоположении с привязкой ко времени, ассоциированным с пользователем за некий период времени перед текущим временем. Данные о местоположении с привязкой ко времени могут приниматься через пользовательское устройство, допускающее измерение местоположения и ассоциирование местоположения пользователя с моментом времени, когда измерялось это местоположение (например, GPS). Другие данные 204 прошлых периодов (также называемые в этом документе выведенными данными прошлых периодов) могут включать в себя пользовательские транзакции, ручные регистрации пользователями в местоположениях или любую другую характеристику, ассоциированную с пользователем, которую можно соотнести с местоположением пользователя, которые собираются сразу (или за период времени) перед текущим временем. Данные 206 реального времени являются данными, ассоциированными с пользователем, которые измеряются в текущее время. Данные 206 реального времени могут включать в себя аналогичные типы данных, как данные 202 о местоположении/времени прошлых периодов и другие данные 204 прошлых периодов.
[0033] Как подробнее описано ниже, модуль предсказания поведения пользователя обрабатывает данные 202 о местоположении/времени прошлых периодов, другие данные 204 прошлых периодов и данные 206 реального времени для создания контекстной аналитики 208. Контекстная аналитика 208 может включать в себя вспомогательную информацию на основе текущего местоположения пользователя или предсказанного следующего местоположения (местоположений). В некоторых вариантах осуществления вспомогательные данные включают в себя рекомендацию по меньшей мере одного из действий, покупки и принадлежности. Например, когда модуль 210 предсказания пользователя предсказывает, что пользователь собирается в свой загородный дом на выходные за город, он может предложить подходящую одежду на основе предсказания погоды в месте назначения.
[0034] В некоторых вариантах осуществления модуль 210 предсказания поведения пользователя реализуется на сервере 106. Модуль 210 предсказания поведения пользователя может отправлять контекстную аналитику 208 пользовательскому устройству 102 по сети 104. Модуль 210 предсказания поведения пользователя также может принимать данные 202 о местоположении/времени прошлых периодов, другие данные 204 прошлых периодов и данные 206 реального времени от пользовательского устройства 102 по сети 104.
[0035] Фиг. 3 - схема, показывающая модуль 210 предсказания пользователя в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Модуль предсказания пользователя включает в себя модуль 302 построения сущностей, модуль 304 предсказания и модуль 306 форматирования.
[0036] Модуль 302 построения может анализировать прошлое поведение пользователя, группировать повседневные привычки пользователя в соответствии с поведенческими шаблонами и хранить обнаруженные сущности 312 для будущего использования. Сущности 312 являются абстрактными представлениями типов дней (или других периодов времени), переживаемых пользователем. Когда дни пользователя группируются, становятся очевидны важные типы дней, или сущности. Например, "день работы+тренировки" может превратиться в сущность для пользователя, который постоянно занимается обоими действиями в день, или для постоянных путешественников, дни "путешествие" или "за городом" могли бы превратиться в сущности.
[0037] Модуль 304 предсказания может использовать данные 206 реального времени и сущности 312 из модуля 302 построения сущностей для предсказания текущего поведения пользователя. Как подробнее описано ниже в тексте, сопровождающем фиг. 5, в некоторых вариантах осуществления модуль 304 предсказания может работать в цикле, постоянно предоставляя предсказания и обновления предсказаний 314 новыми данными, если ассоциированный с предсказанием уровень достоверности не достаточно высокий, или если поведение пользователя неожиданно отклоняется от шаблонов. По ходу дня предсказания 314 могут осуществляться путем (1) сопоставления дня пользователя с определенной сущностью с увеличивающейся уверенностью, что потом (2) стимулирует предсказания в отношении вариантов поведения, которые, скорее всего, произойдут позже в этот день. Например, рассмотрим пользователя с частыми днями, когда она идет в спортивный зал, затем на работу, потом выходит поужинать; этот тип дня мог бы стать для нее сущностью. Если в конкретный день пользователь отправляется в спортивный зал, то можно предсказать, что пользователь в тот вечер выйдет поужинать. Если затем пользователь идет на работу после спортивного зала, то может быть еще больший уровень достоверности, что она выйдет поужинать. Но если пользователь отступает от сущности, например, не пойдя на работу, то может быть меньше достоверности, что позже она выйдет поужинать. Другой тип предсказания, допускаемый назначением сущностей, находится на уровне сущности; например, если пользователь обычно работает четыре дня, а четыре дня отдыхает, то возникновение четвертой сущности рабочего дня подряд предсказывает, что следующий день не будет рабочим днем. Аналогичным образом, если один день является днем путешествий, то следующий день с большей вероятностью мог бы быть сущностью типа "вдали от дома".
[0038] Модуль 306 форматирования может получать предсказания/обновления 314 от модуля 304 и, вместе с другими переменными и контекстной информацией, ассоциированной с данными 206 реального времени, решать, доставлять ли/как доставлять контекстную аналитику 208. Как подробнее описано ниже в тексте, сопровождающем фиг. 6, контекстная аналитика 208 может относиться к предоставлению полезной информации, например, если предсказывается, что пользователь зайдет выпить кофе (или сядет в поезд), то система может предоставить совет по кафе (или информацию об изменении платформы поезда). Однако если система определяет, что пользователь проигнорировал прошлые предложения помощи, например, в то же время дня, то система может решить игнорировать эту информацию и не отображать ее.
[0039] Фиг. 4 - схема, показывающая модуль 302 построения сущностей в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Фиг. 4 показывает модуль построения сущностей, включающий в себя подмодуль 404 преобразования, подмодуль 406 вычисления оценок и подмодуль 408 агрегирования.
[0040] Подмодуль 404 преобразования может принимать в качестве ввода пользовательские данные прошлых периодов в виде запланированной точки 202 и, когда доступно, любого дополнительного источника 204 данных, признанного полезным, например, прошлые и настоящие важные места для пользователя (например, местоположения дома, работы, загородного дома) и расстояния от запланированной точки до каждого из тех мест, статистические метеорологические условия и т. п. Подмодуль 404 преобразования может выявить ключевые шаблоны, которые обобщают одного или многих отдельных людей (или пользователей). Данные 202 о местоположении/точки при использовании в данном документе могут быть всем, что помогает или относит пользователя к некоему положению, как правило, с использованием широты и долготы, но также включают в себя наблюдения, из которых можно вывести положение точно (например, в ресторане X, у этого конкретного памятника и т. п.), относительно (например, рядом с пользователем Y) либо частично (например, в поезде, ест мексиканские закуски и т. п.). Преобразование похоже на процесс понижения размерности в том, что оно переводит большое количество точек в несколько ключевых параметров, которые содержат ценную информацию, но способом, который приспособлен к каждому пользователю отдельно и сохраняет смысл, а также интерпретируемость.
[0041] Например, пользовательские данные в виде местоположений с отметками времени можно преобразовать в различные признаки, включая, но не только, данные временного ряда (например, время, проведенное дома/на работе/иное, расстояние от дома/работы по времени и т. п.), категорийные данные (например, посетил ресторан, парк, погода была солнечная и т. п.), числовые данные (например, количество разных посещенных мест, температура наружного воздуха и т. п.) и булевы данные (например, значение, дающее ответ "да" или "нет", например, находится ли пользователь в другой стране или дома). В некоторых вариантах осуществления булевы данные могут формироваться с помощью описанных в этом документе систем и способов. В некоторых вариантах осуществления можно отправить запрос пользователям, а их ответы записать в виде булевых данных. Элементы задаются в виде отдельных единиц сущностей (например, дней расписания пользователя) и признаков, разбитых соответственно на элементы, которым они принадлежат. Признаки позволяют сравнивать элементы с другими для количественной оценки их подобия (отличия). В некоторых вариантах осуществления элементы могут быть заранее установленным набором для полного анализа (например, посещения кафе, поездки на поезде и т. п.). Однако то, как элементы объединяются и группируются, может быть уникальным для пользователя. То есть некоторые определенные элементы могут быть полностью случайными для некоторых пользователей и не предлагают никакой структуры, например, посещения кафе, но для других пользователей те же элементы могут превратиться в главные отличия между группами.
[0042] После того, как данные прошлых периодов точек местоположений пользователя превращаются в элементы, модуль 406 вычисления оценок измеряет подобие между заданными периодами времени (например, дни или неполные дни, или другие не равные 24 часам периоды) с использованием выделенных признаков. Поскольку признаки обладают различными типами или структурами и могут представлять собой концептуально разные свойства, можно создать разные индикаторы для разных задач. В некоторых вариантах осуществления каждый индикатор предназначен для определенной цели или для фиксации определенного аспекта элементов, например, насколько похожи действия за два дня (сущности) в показателях: индикатор 1 - время поездок дом-работа, индикатор 2 - траектория на карте, индикатор 3 - тип посещенных мест и т. п. Поскольку каждый индикатор оптимизируется для определенной задачи, оценки можно агрегировать в общую степень подобия между двумя элементами.
[0043] Подмодуль 408 агрегирования может группировать сущности в когерентные группы похожих сущностей с использованием оценок подобия, вычисленных с использованием подмодуля 406 вычисления оценок. Алгоритмы неконтролируемого обучения изучают структуру из данных без меток. Неконтролируемая классификация является типом алгоритма неконтролируемого обучения, где алгоритм придумывает структуру для группирования похожих типов экземпляров, заранее не зная, какие экземпляры подходят друг к другу. Подмодуль 408 агрегирования может использовать алгоритмы неконтролируемого обучения, которые группируют похожие элементы и выявляют сущность, которая обобщает элементы в той группе, и подчеркивает, что ее определяет и отличает от других групп элементов. Этот процесс можно обобщить для любой сущности, включая несколько пользователей и не равные 24 часам периоды. Результирующие сущности 312 можно представить и визуализировать в специализированных профилях для каждого пользователя, имеющих большое значение в понимании его/ее поведенческих шаблонов, даже когда эта аналитика не используется модулем 304 предсказания (как объясняется ниже). Например, один тип действий можно сгруппировать с другим типом действий, если возникновение двух действий превышает пороговое количество раз в некотором периоде времени.
[0044] Фиг. 5 - схема, показывающая модуль предсказания в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Фиг. 5 показывает подмодуль 502 предсказания, подмодуль 504 оценки предсказания и подмодуль 506 обновления.
[0045] Сущности 312 (которые, как описано выше, могут относиться к абстрактным обобщениям поведения пользователя за заданный период времени, например дни), данные 202, 204 прошлых периодов и данные 206 реального времени вводятся в подмодуль 502 предсказания для установления начального предсказания (например, с использованием алгоритмов машинного обучения). Например, по ходу дня пользователя поведение, установленное до сих пор в тот день, можно сравнивать с известными сущностями дня пользователя, и первичный день сначала классифицировался бы как принадлежащий ближайшей сущности. Косинусный коэффициент является примером степени подобия, который может использоваться для выявления подобия между векторными сущностями, чтобы идентифицировать наиболее похожую сущность (или определить, что новый день не похож ни на какую из существующих сущностей и может быть помечен как выброс).
[0046] Результат подмодуля 502 предсказания можно потом пересмотреть посредством подмодуля 504 оценки предсказания. Подмодуль 504 оценки предсказания оценивает предсказание по его точности, например, достоверность сравнивается с предустановленной пороговой величиной. Если предсказание достаточно точно, то его можно вывести как предсказание 314. Если предсказание не достаточно точно, то предсказание возвращается циклически в новый процесс предсказания, когда есть еще данные.
[0047] В некоторых вариантах осуществления данные постоянно обновляются до тех пор, пока не выводится предсказания 314 одной сущности, которое ассоциируется с достаточным уровнем достоверности. Когда проходит день пользователя (или период времени, за который вычисляются сущности), предсказание можно пересмотреть, включая предыдущую и новую информацию. Этот процесс идентичен начальному предсказанию с включением большего количества информации. Этот процесс может быть особенно ценным, если при начальном предсказании использовалось лишь небольшое количество информации.
[0048] В некоторых вариантах осуществления цель модуля 304 предсказания - подтвердить как можно раньше окончательную сущность, которой принадлежит пользователь (например, какого распорядка дня сегодня пользователь будет придерживаться позже). В этой связи модуль 304 предсказания ищет признаки, которые как можно раньше предупреждают о намерении пользователя (например, данные 206 реального времени, например утренняя поездка поездом вместо автомобиля могла бы указывать, что пользователь направляется в аэропорт, а не на работу). Оценивается достоверность предсказания, и принимается решение, подтвердить его или вернуть на этап предсказания и ожидать больше данных реального времени, чтобы предсказание можно было обновить. Как только подтверждается распорядок дня, выявляются ассоциированные предсказания 314 (например, время поездок дом/работа, тип посещенных мест, используемый вид транспорта, выезд за границу и т. п.) для потребления модулем 306 форматирования. В некоторых вариантах осуществления, если поведение пользователя отличается от всего наблюдаемого ранее, то поведение пользователя можно пометить как выброс.
[0049] Фиг. 6 - схема, показывающая модуль форматирования в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Фиг. 6 показывает контекстные вопросы 601, подмодуль 602 форматирования, подмодуль 604 оценки пороговой величины и подмодуль 606 доставки.
[0050] Модуль 306 форматирования оценивает предсказания 314 применительно к данным 206 реального времени и контекстной информации 601 (например, недавние взаимодействия пользователей с приложением) и предоставляет результаты оценки для отображения рекомендаций и сводной информации.
[0051] Подмодуль 601 форматирования объединяет информацию из предсказания 314, данных 206 реального времени и контекстных вопросов 601. Предсказания 314 рассматриваются вместе данными 206 реального времени (например, погода, схемы движения, расписания поездов, местоположение и доступность торговой точки, присутствие других пользователей, время с последнего посещения, категория, признаки и т. п.) и контекстными вопросами 601, характерными для ситуации (например, количество принудительных сообщений, уже отправленных пользователю в тот день). Эти данные объединяются в предсказывающую модель, которая определяет, следует ли доставлять пользователю контекстную аналитику. В качестве примера и как подробнее описано ниже, может использоваться логистическая регрессия для объединения соответствующих предсказывающих элементов с подходящими весами для описания вероятного категорийного результата (например, будет ли пользователь взаимодействовать с принудительным уведомлением). Например, если предсказание состоит в том, что пользователь зайдет в кафе, то система может порекомендовать подходящее. Однако, если идет дождь, а все кафе уличные, то было бы неуместно отправлять рекомендацию. Аналогичным образом, если пользователь закрыл все принудительные уведомления немедленно без их прочтения в течение некоего периода времени, то система может решить не отправлять другое уведомление сразу после этого периода времени.
[0052] Результат подмодуля 602 форматирования вводится в подмодуль 604 оценки пороговой величины, который оценивает результат в сравнении с пороговой величиной, чтобы фильтровать предсказания 314 с низким уровнем уместности в текущем контексте. Например, система может оценить, следует ли отправлять пользователю принудительное уведомление с учетом того, что он вряд ли будет взаимодействовать с ним. Пороговая величина для отправки такого уведомления могла бы быть ниже в ситуациях, где вопрос очень важен (например, предупреждение пользователя, что его рейс отменен, или есть авария на шоссе), но выше для менее важной информации. Затем подмодуль 606 доставки форматирует предсказания 314 для характерных вариантов использования (например, пользователь опаздывает на работу?), которые приводят к контекстной аналитике 208. Варианты использования могут быть либо конкретными вопросами, либо автоматически выявляемой аналитикой.
[0053] Фиг. 7 - схема, показывающая пример создания сущностей в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения. Типом показанной на фиг. 7 сущности является распорядок дня.
[0054] Используя структуры признаков и элементов, представленных на фиг. 4, можно воссоздать расписание пользователя и разделить его день за днем 702, при этом каждый день пользователя является элементом, а расписание является одним признаком. Посредством модуля 302 построения сущностей можно агрегировать похожие дни в группу, где выявляются ключевые аспекты 704: например, экспериментальный "рабочий день" 706 для пользователя в этом примере является поездкой на работу на автомобиле, рабочим днем в офисе, спортивным залом после работы и вечером дома. Это позволяет сгруппировать похожие, но не идентичные дни, и выявить их общности. Как описано выше, может использоваться общая информация, например, для автоматического создания профилей пользователей или для информирования о предсказаниях в реальном времени. Тип 712 посещения и транспорт 714 являются примерами элементов, которые могут задавать сущности посредством классификации (например, распорядок дня A задается путем принятия автомобиля в качестве вида транспорта, тогда как распорядки дня A и B включают в себя проведение времени на работе).
[0055] Фиг. 8 - блок-схема последовательности операций, показывающая процесс предоставления контекстной информации пользователю на основе определения шаблонов в действиях пользователя в соответствии с некоторыми вариантами осуществления настоящего раскрытия изобретения.
[0056] Ссылаясь на этап 802, принимаются данные прошлых периодов, ассоциированные с первым пользователем. В некоторых вариантах осуществления данные прошлых периодов включают в себя измеренные данные о местоположении прошлых периодов с привязкой ко времени, ассоциированные с первым пользователем, и выведенные данные о местоположении прошлых периодов с привязкой ко времени, ассоциированные с первым пользователем данных. Как описано выше, измеренные данные о местоположении прошлых периодов с привязкой ко времени могут включать в себя информацию о местоположении и времени, принятую от пользователя за некий период времени. Например, измеренные данные прошлых периодов с привязкой ко времени могут включать в себя с набор координат GPS привязкой ко времени, ассоциированный с пользователем за некий период времени. Выведенные данные о местоположении прошлых периодов с привязкой ко времени также включают в себя информацию о местоположении и времени, принятую от пользователя за некий период времени. Выведенные данные о местоположении относятся к данным о местоположении, не измеряемым с использованием устройства отслеживания местоположения (например, GPS). Например, выведенная точка может включать в себя покупку в магазине или социальную связь, отмечающую пользователя в конкретном местоположении. Измеренные данные о местоположении прошлых периодов с привязкой ко времени и выведенные данные о местоположении прошлых периодов с привязкой ко времени можно хранить в базе данных сервера 106.
[0057] Ссылаясь на этап 804, определяется сущностная информация на основе данных прошлых периодов. В некоторых вариантах осуществления сущностная информация включает в себя информацию о действиях пользователя, происходящих в прошлом повторяющемся периоде времени. Как описано выше, прошлый повторяющийся период времени может включать в себя циклическую длительность времени (например, день, каждые четыре часа). Информация о действиях пользователя может включать в себя по меньшей мере одно из типа действий пользователя, времени, ассоциированного с действиями пользователя, и вероятности возникновения действий пользователя в прошлом повторяющемся периоде времени.
[0058] Ссылаясь на этап 806, принимаются данные о текущем местоположении, ассоциированные с первым пользователем. В некоторых вариантах осуществления данные о текущем местоположении относятся к данным, принятым после данных прошлых периодов. Периодом времени для оценивания данных о текущем местоположении можно задать либо заранее установленное время, либо время, соответствующее пороговой величине для сбора достаточных данных для формирования информации предсказания. В некоторых вариантах осуществления данные о текущем местоположении включают в себя текущие измеренные данные о местоположении с привязкой ко времени, ассоциированные с первым пользователем, и текущие выведенные данные о местоположении с привязкой ко времени, ассоциированные с первым пользователем данных. Измеренные и выведенные данные о местоположении с привязкой ко времени, ассоциированные с текущим периодом времени, получаются аналогично измеренным и выведенным данным о местоположении с привязкой ко времени, ассоциированным с прошлым периодом времени.
[0059] Ссылаясь на этап 808, информация предсказания для текущего периода времени формируется на основе сочетания сущностной информации и данных о текущем местоположении. В некоторых вариантах осуществления текущий период времени аналогичен прошлому повторяющемуся периоду времени. Например, если прошлым повторяющимся периодом времени является один день, то текущим прошлым повторяющимся периодом времени является один день. В некоторых вариантах осуществления текущий период времени может отличаться от прошлого повторяющегося периода времени. В некоторых вариантах осуществления информация предсказания включает в себя по меньшей мере одно из назначения более высокого уровня достоверности, ассоциированного с типом действий пользователя, происходящих в текущем периоде времени или будущем периоде времени, которые также происходили в прошлом повторяющемся периоде времени, и указания нового типа действий пользователя в текущем периоде времени или в будущем периоде времени. Например, сущностная информация прошлых периодов может включать в себя день, который включает в себя следующие действия: дом - работа - спортивный зал - работа - ужин не дома - дом. Информация предсказания для текущего дня, где пользователь пошел из дома на работу, в спортивный зал и обратно на работу, может включать в себя более высокий уровень достоверности, что пользователь поужинает не дома. Информация предсказания для текущего дня, где пользователь пошел из дома на работу, в спортивный зал и обратно на работу, с отметкой, что местоположение пользователя находится рядом с сохраненным местоположением друга, может включать в себя новый тип действий, ассоциированный с местоположением друга (например, ужин в доме у друга). Информация предсказания также может включать в себя будущие действия. Например, обнаружение того, что пользователь купил билеты на самолет в конкретное место в конкретное время, объединенная, возможно, с новостными событиями, погодой, социальной сетью пользователя или другой информацией, ассоциированной с будущим местоположением, может использоваться для предсказания будущих действий пользователя (например, пользователь с планами путешествия в страну, где проживает друг, плюс некоторое количество соответствий между пользователем и другом может указывать вероятность того, что пользователь посетит дом родственника).
[0060] Ссылаясь на этап 810, контекстная аналитическая информация определяется на основе сочетания информации предсказания по меньшей мере с одними из данных о текущем местоположении, данных реального времени и контекстных данных. Как описано выше, контекстная аналитическая информация может включать в себя вспомогательные данные, ассоциированные с текущим местоположением первого пользователя. Вспомогательные данные могут включать в себя рекомендацию по меньшей мере одного из действий, покупки и принадлежности, ассоциированных с текущим местоположением и/или будущим местоположением. Например, вспомогательные данные могут включать в себя взять подходящую одежду на основе погоды для предсказанной поездки пользователя. Другой пример может включать в себя релевантные кафе для предсказанной послеобеденной прогулки с другом. В некоторых вариантах осуществления данные реального времени включают в себя некое условие, ассоциированное с текущим местоположением первого пользователя. Как описано выше, условие может включать в себя данные реального времени, указывающие, например, погоду в текущем или предсказанном местоположении или приближение поезда к предсказанному местоположению. Контекстные данные могут ассоциироваться с взаимодействием между первым пользователем и устройством первого пользователя. Например, контекстные данные могут включать в себя количество принудительных сообщений, уже отправленных пользователю в тот день.
[0061] Описанный в этом документе предмет изобретения можно реализовать в цифровых электронных схемах либо в компьютерном программном обеспечении, микропрограммном обеспечении или аппаратных средствах, включая структурное средство, раскрытое в данном описании изобретения, и его структурные эквиваленты, либо в их сочетаниях. Описанный в этом документе предмет изобретения можно реализовать в виде одного или нескольких компьютерных программных продуктов, например, одной или нескольких компьютерных программ, материально воплощенных в носителе информации (например, в машиночитаемом запоминающем устройстве), или воплощенных в распространяемом сигнале, для исполнения аппаратом обработки данных или управления его работой (например, программируемый процессор, компьютер или несколько компьютеров). Компьютерная программа (также известная как программа, программное обеспечение, программное приложение или код) может быть написана на любом виде языка программирования, включая транслируемые или интерпретируемые языки, и она может быть развернута в любом виде, включая автономную программу или модуль, компонент, подпрограмму или другую единицу, подходящую для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу. Программа может храниться в части файла, который хранит другие программы или данные, в одном файле, выделенном для программы, о которой идет речь, или в нескольких согласованных файлах (например, файлах, которые хранят один или несколько модулей, подпрограмм или частей кода). Компьютерная программа может быть развернута для исполнения на одном компьютере или на нескольких компьютерах на одной площадке или распределенных по нескольким площадкам и взаимосвязанных с помощью сети связи.
[0062] Процессы и логические потоки, описанные в данном описании изобретения, включая этапы способа в описанном в этом документе предмете изобретения, могут выполняться одним или несколькими программируемыми процессорами, исполняющими одну или несколько компьютерных программ для выполнения функций предмета изобретения, описанного в этом документе, путем воздействия на входные данные и формирования выхода. Процессы и логические потоки также могут выполняться с помощью специализированных логических схем, и аппарат описанного в этом документе предмета изобретения можно реализовать с помощью специализированных логических схем, например FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема).
[0063] Процессоры, подходящие для исполнения компьютерной программы, в качестве примера включают в себя как универсальные, так и специализированные микропроцессоры и любой один или несколько процессоров в любом виде цифрового компьютера. Как правило, процессор будет принимать команды и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, либо из обоих. Неотъемлемыми элементами компьютера являются процессор для исполнения команд и одно или несколько запоминающих устройств для хранения команд и данных. Как правило, компьютер также будет включать в себя или функционально соединяться для приема данных или передачи данных, либо того и другого, одно или несколько запоминающих устройств большой емкости для хранения данных, например, магнитные, магнитооптические диски или оптические диски. Носители информации, подходящие для воплощения команд и данных компьютерных программ, включают в себя все виды энергонезависимого запоминающего устройства, включая, в качестве примера, полупроводниковые запоминающие устройства (например EPROM, EEPROM и устройства на флэш-памяти); магнитные диски (например, внутренние жесткие диски или съемные диски); магнитооптические диски; и оптические диски (например, диски CD и DVD). Процессор и запоминающее устройство могут дополняться специализированными логическими схемами или включаться в них.
[0064] Чтобы обеспечить взаимодействие с пользователем, описанный в этом документе предмет изобретения можно реализовать на компьютере с устройством отображения, например монитором CRT (электронно-лучевая трубка) или LCD (жидкокристаллический дисплей), для отображения информации пользователю и клавиатурой и указательным устройством, например мышью или шаровым манипулятором, с помощью которого пользователь может предоставить компьютеру входные данные. Другие виды устройств с тем же успехом могут использоваться для обеспечения взаимодействия с пользователем. Например, предоставляемая пользователю обратная связь может быть любым видом сенсорной обратной связи (например, визуальная обратная связь, слуховая обратная связь или осязательная обратная связь), и выходные данные от пользователя могут приниматься в любом виде, включая звуковой, речевой или осязательный ввод.
[0065] Описанный в этом документе предмет изобретения можно реализовать в вычислительной системе, которая включает в себя внутренний компонент (например, в виде сервера данных), промежуточный компонент (например, сервер приложений) или внешний компонент (например, клиентский компьютер с графическим интерфейсом пользователя или веб-обозревателем, посредством которых пользователь может взаимодействовать с реализацией описанного в этом документе предмета изобретения), или любое сочетание таких внутренних, промежуточных и внешних компонентов. Компоненты системы могут быть взаимосвязаны с помощью любого вида или средства цифровой передачи данных, например, с помощью сети связи. Примеры сетей связи включают в себя локальную сеть ("LAN") и глобальную сеть ("WAN"), например Интернет.
[0066] Нужно понимать, что раскрытый предмет изобретения не ограничивается применением к особенностям конструкции и компоновкам компонентов, излагаемым в нижеследующем описании или проиллюстрированным на чертежах. Раскрытый предмет изобретения допускает другие варианты осуществления и применение на практике либо осуществление различными способами. Также нужно понимать, что применяемые в этом документе формулировки и терминология предназначены для описания и не должны рассматриваться как ограничивающие.
[0067] По существу специалисты в данной области техники поймут, что концепцию, на которой основывается данное раскрытие изобретения, можно без труда использовать в качестве основы для проектирования других структур, способов и систем для осуществления нескольких целей раскрытого предмета изобретения. Поэтому важно, чтобы формула изобретения рассматривалась как включающая в себя такие эквивалентные конструкции в той мере, в какой они не отклоняются от сущности и объема раскрытого предмета изобретения.
[0068] Хотя раскрытый предмет изобретения описан и проиллюстрирован в вышеупомянутых примерных вариантах осуществления, подразумевается, что настоящее раскрытие изобретения проведено только в качестве примера, и что можно вносить многочисленные изменения в подробности реализации раскрытого предмета изобретения без отклонения от сущности и объема раскрытого предмета изобретения, который ограничивается только нижеследующей формулой изобретения.