CN113039818A - 使用推测的位置来节省电池寿命 - Google Patents

使用推测的位置来节省电池寿命 Download PDF

Info

Publication number
CN113039818A
CN113039818A CN201980076108.XA CN201980076108A CN113039818A CN 113039818 A CN113039818 A CN 113039818A CN 201980076108 A CN201980076108 A CN 201980076108A CN 113039818 A CN113039818 A CN 113039818A
Authority
CN
China
Prior art keywords
user
location
prediction
historical
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201980076108.XA
Other languages
English (en)
Inventor
I·普里内斯
S·希勒利
J·拉宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/194,611 external-priority patent/US20190090197A1/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113039818A publication Critical patent/CN113039818A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0254Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity detecting a user operation or a tactile contact or a motion of the device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Navigation (AREA)

Abstract

本文所描述的技术的各方面基于对用户的推测位置的使用而为用户设备提供了改善的电池寿命,从而消除了对诸如GPS之类的常规定位服务的需求。具体而言,可以确定针对用户的推测位置,包括关于用户位置的上下文信息。使用来自用户的当前上下文的信息,利用关于用户的历史观察和预期的用户事件、非常规事件或其他持久或短暂信息,可以确定一个或多个用户位置和相应置信度的推测。可以将推测的用户位置提供给应用或服务,例如与用户相关联的个人助理服务,或者可以提供为API,以促进应用或服务对推测的位置信息的消费。

Description

使用推测的位置来节省电池寿命
背景技术
如今,许多人在他们的日常生活中拥有并使用诸如手机之类的移动计算设备。这些移动设备中的大多数配备有各种应用,这些应用在某种程度上增强了移动设备的使用。这些应用中的许多应用或者甚至设备本身的操作系统都将位置信息用作应用或服务的一部分。通常,使用已知蜂窝塔或WiFi位置的计算结果,或通过设备内部的全球定位系统(GPS)接收机来提供此位置信息。这些解决方案通常一起被称为“定位服务”。使用定位服务的主要问题之一是功耗。换句话说,常规的定位服务可能比期望的更快地耗尽用户的移动设备上的电池,从而使用户感到沮丧。
发明内容
提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在标识要求保护的主题的关键特征或重要特征,也不旨在单独用于协助确定要求保护的主题的范围。
本公开内容中描述的实施例涉及用于通过为用户提供推测的当前和/或未来的位置信息来改善移动设备的操作或用户体验(例如延长电池寿命)的系统和方法。具体而言,实施例可以为用户确定可能的当前和/或未来位置(或可能的位置序列)。一些实施例还可以预测相关的上下文或语义信息,例如用户将可能停留多长时间;或其他上下文信息。将关于用户的当前位置的信息与关于用户的历史观察、预期的用户事件(例如,预期的航班或预约)和/或其他持久信息或短暂信息(例如,分别是假期和交通)一起使用,一个或多个当前和/或未来的语义位置以及相应的置信度的推测或预测可以被确定,并且可以由用户的移动设备上的服务、应用或操作系统使用,或被提供给用户的移动设备上的服务、应用或操作系统。此外,在一些情况下,可以基于当前访问的上下文(当前上下文)来调整或更新位置推测。以这种方式,本公开内容的实施例能够提供推测的位置而无需使用否则会耗尽设备的电池的常规位置服务。
附图说明
下面参考附图详细描述了本申请中描述的技术的方面,其中:
图1是适合于实现本公开内容的各方面的示例操作环境的框图;
图2是描绘适合于实现本公开内容的各方面的示例计算架构的图;
图3A-图3D描绘了根据本公开内容的实施例的、用于确定针对用户的推测的或预测的位置信息的示例处理流程;
图4-图5描绘了根据本公开内容的实施例的、用于确定针对用户的推测的或预测的语义位置信息的方法的流图;以及
图6是适合用于实现本公开内容的实施例的示例性计算环境的框图。
具体实施方式
本公开内容的方面的主题在本文中用具体细节来描述以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。而是发明人已考虑了也可以结合其它当前或未来的技术用其它方式来体现要求保护的主题以包括不同步骤或与该文档中描述的步骤类似的步骤的组合。另外,虽然术语“步骤”和/或“框”可在本文中用于意指所使用的方法的不同的元素,但这些术语不应该被解释为暗示本文中公开的各个步骤之中或之间的任何特定的顺序,除非并且除了各个步骤的顺序被明确描述之外。
本文描述的技术的各个方面针对用于例如通过延长电池寿命、通过提供关于用户的推测出的当前和/或未来的语义位置信息来改善移动设备的操作或用户体验以及其它方面的系统、方法和计算机存储介质。具体而言,实施例可以为用户提供可能的当前和/或未来的位置,其可以包括上下文或语义信息。通过举例而非限制的方式,语义信息可以包括到达时间、停留时长或从当前位置的出发时间、用户认识的、也有可能与用户同时位于未来的位置的其他人(例如,社交网络联系人、同事、业务联系人或家庭成员),或者与当前和/或未来的位置访问相关的其他信息。推测的位置或位置预测信息可以被提供给操作系统或应用或服务(例如与用户相关联的个人数字助理服务(或虚拟助理)),或者可以将其提供为应用编程接口(API),以促进计算应用或服务对推测的位置或位置预测信息的消费。
以这种方式,本公开内容的实施例能够提供推测的当前用户位置或预测的未来用户位置,而无需使用常规方法的常规位置服务。具体而言,如本文中进一步描述的,本公开内容的实施例是自适应的,并且在确定推测的当前或预测的未来语义位置时,能够考虑外部或显式信息,例如来自相机、麦克风或其他传感器的与用户的位置有关的信息、来自用户通信或用户活动的信息,这些信息可以包括用户的非常规(out-of-routine)活动。此外,一些实施例利用关于用户的最相关信息(例如用户行为模式和访问模式),来确定推测的当前位置或预测的未来位置,而无需使用显式的位置信号(如GPS)。另外,与常规方法不同,本公开内容的一些实施例提供了推测的当前或未来位置的相应上下文,例如本文描述的语义位置特征(例如,到达时间、停留时长)。
如本文中进一步描述的,在一些实施例中,可以将关于用户对位置的当前访问的信息与关于用户的历史观察数据以及与用户有关的显式信息(如预期用户事件(例如,预期航班))和/或其他持久信息或短暂信息(例如分别为假期和交通)一起使用,以确定用户可能会访问的当前位置的推测或一个或多个未来位置的预测。语义位置可以包括在当前访问的语义位置之后(或者在未来的时间,在访问当前推测的位置之后)预期用户接下来要访问的位置,或者还可以包括预期将由用户访问的一连串或一系列未来语义位置。例如,当前和/或未来的语义位置信息可以指示用户将最有可能去健身房,然后去商店,然后去她的房子。该预测还可以包括相关的上下文信息,例如用户何时可能离开推测的当前位置去往预测的未来位置,用户何时可能到达预测的未来位置,或者用户可能停留多长时间。可以将该推测的当前或预测的未来位置信息提供给操作系统、应用或消费或使用用户位置信息的其他服务。
在一些实施例中,还可以针对每个预测位置或序列确定相应的置信度值,并且相应的置信度值可以对应于备选的预测位置或推测位置。因此,例如,实施例可以确定有百分之六十的可能性用户在餐馆。类似地,实施例可以确定有百分之八十的可能性用户下一个或未来访问的位置将是健身房,并且有百分之二十的可能性用户访问的下一个位置将是用户的家。此外,在一些实施例中,置信度可以指示与场所(或活动、事件、目的或访问类型)的特定类别和/或特定场所(或特定活动、事件、目的或访问类型)相关联的可能性。
本公开内容的一些实施例可以利用一个或多个预测器程序或例程(有时被称为“预测器”)的集合来确定推测的当前位置和/或预测的未来位置,然后利用选择过程来确定应使用哪些预测(由预测器集合提供)。另外,在一些实施例中,可以确定会影响用户的推测的当前位置和/或预测的未来位置的显式信息,包括与未来语义位置相关联的上下文(或特征),例如到达时间或停留时长。通过举例而非限制的方式,这样的显式信息可以包括与用户相关联的外部信号或事件(例如,航班、旅行、假期)、用户日历信息(例如,约会、会议、不在办公室的指示)、用户的非常规信息,或本文所述的其他外部信息,例如持久信息(例如,假期)或短暂信息(例如,交通、天气、例如关闭的临时事件)。尽管术语“显式”用于描述该信息,但显式信息的实例可以包括推论或推测的信息。因此,术语“显式”是在显式信息可以包括显式地影响推测的或预测的位置的信息的意义上广义地使用的。可以将由一个或多个预测器提供的所选择的预测与显式信息进行合并或以其他方式进行协调,以确定用户的一致的推测当前或预测未来位置(或一系列位置)。
在某些方面,本公开内容的方面涉及确定关于用户的语义位置信息。术语“语义位置”在本文中广泛使用,并且可以包括地理位置信息以及上下文信息,例如用户访问该位置的目的或活动、用户是正在访问位于该位置的场所还是只是路过该位置、用户正在访问的特定场所(例如,不仅是购物中心,而是购物中心中的特定咖啡馆)、到达时间和/或停留时长。因此,在一些实施例中,语义信息可以包括关于用户的活动或场所而不仅仅是他们的地理位置的信息;例如,可以确定处于电影院地理位置几个小时的用户已经观看了电影。
术语“当前上下文”在本文中被广泛地使用以包括与用户的当前语义位置或当前访问相关联的信息,以及与当前访问相关的其他信息。例如,当前上下文可以包括当前访问信息以及与当前访问相关联的上下文特征或上下文信息,例如用户到当前位置的到达时间;在当前位置(如果知道)之前的用户位置(包括地理位置或语义位置)(即用户来自何处);日期、时间、星期几信息;检测到与当前访问或当前位置之前访问的先前位置有关的用户活动;或被确定为例如位于当前位置或先前位置的用户认识的其他人。
用户的预测的语义位置(或下一个位置或未来位置)可以包括在当前推测的语义位置之后立即访问的语义位置,或者可以在当前推测位置之后访问的但不一定紧接在当前推测位置之后的位置。在预测未来语义位置序列的实施例中,该序列可以包括位置的有序集合(例如,用户可能会去地点A,然后是地点B,然后是地点C),或者可能发生的一系列未来位置,但是在该系列中可能还有不在预测的系列中的其他位置;例如,用户接下来可能会访问地点A,然后访问地点B,然后访问地点C,但用户可能会访问地点A和B或地点B和C之间的地点X。此外,在该实例中,一些实施例可以在确定或推测出用户已经访问了地点X时更新预测的未来语义位置(或序列)。
因此,在高层处,在本文描述的技术的一个实施例中,从一个或多个数据源接收用户数据。可以通过使用与用户相关联的用户计算设备上的一个或多个传感器或组件收集用户数据来接收用户数据。结合图2的用户数据收集组件210进一步描述的用户数据的示例可以包括用户活动信息(例如,应用使用情况、在线活动、搜索、呼叫、或其他用户设备交互)、应用数据、联系人数据、日历和社交网络数据,或者用户设备或其他计算设备可能感测或确定的几乎任何其他用户相关数据源(除了来自GPS接收机或其他位置服务的实际位置数据)。如本文中进一步描述的,接收到的用户数据可以用于确定当前访问的当前上下文。在一个实施例中,首先可以使用用户数据来确定关于当前访问的信息,该信息可以包括与当前访问相关联的语义位置信息,并且可以从当前访问信息中确定当前上下文。在一个实施例中,如本文所述,来自针对推测的当前位置的先前访问的用户位置历史信息以及接收的用户数据也可以用于促进确定推测的当前位置或预测的未来位置。
可以部分基于来自当前上下文的信息来确定关于一个或多个先前访问的信息(即,历史观察或历史访问信息)。具体而言,与用户相关联的历史位置信息(可以从图2的历史位置数据243提供)可以用于标识用户针对可能的当前位置的历史访问的集合。然后可以将来自这些历史访问的信息、访问的特征以及来自当前上下文的信息或可能的当前位置的信息提供给一个或多个预测器,用于确定关于用户的当前位置的基于历史的预测的集合。从基于历史的预测的集合中可以确定一个或多个可能的基于历史的预测。例如,在一个实施例中,可以基于与每个预测相关联的置信度值(或置信度“得分”)来选择基于历史的预测。
在一些实施例中,还确定可以影响推测的当前位置和/或预测的未来位置的显式信息,并将其与所确定的基于历史的预测的集合进行协调。例如,在一个实施例中,显式信息与基于历史的预测合并,以便确定推测的用户位置或预测(或多个预测)。关于推测的用户位置的信息可以被提供给计算机应用或服务,例如与用户相关联的虚拟助理服务,或者可以结合API来提供以促进计算机应用或服务对推测的用户位置或预测信息的消费。另外,一些实施例可以由虚拟助理应用或服务执行,其可以实现为一个或多个计算机应用、服务或例程,例如在移动设备和/或云中运行的应用,如本文进一步描述的。
现在转到图1,提供了示出在其中可以使用本公开内容的一些实施例的示例操作环境100的框图。应该理解的是:本文中描述的这种布置和其它布置是仅作为示例阐述的。其它布置和单元(例如,机器、接口、功能、顺序和功能的群组)可在这些示出的布置和单元以外或替代它们来使用,并且为了清楚起见,可以总体省略一些单元。另外,本文中描述的单元中的许多单元是功能性实体,其可以实现为分立或分布式组件,或者结合其它组件来实现,以及在任何合适的组合和位置中实现。本文中描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,一些功能可由执行存储在存储器中的指令的处理器来执行。
除了未示出的其他组件之外,示例操作环境100包括多个用户设备(例如用户设备102a以及102b至102n)、多个数据源(例如数据源104a以及104b至104n)、服务器106、传感器103a和107,以及网络110。应该理解的是:图1中示出的环境100是一个合适的操作环境的示例。图1中示出的每个组件可以经由任何类型的计算设备来实现,例如,结合图6描述的计算设备600。这些组件可以经由网络110彼此通信,其可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现中,网络110包括互联网和/或蜂窝网络,其中包括各种可能的公共和/或专用网络中的任何一种。
应该理解的是:在本公开内容的范围内,可以在操作环境100内使用任意数量的用户设备、服务器和数据源。每个可以包括单个设备或者在分布式环境中协作的多个设备。例如,服务器106可以经由布置在共同提供本文描述的功能的分布式环境中的多个设备来提供。另外,未示出的其它组件也可以包括在分布式环境之内。
用户设备102a以及102b至102n可以是操作环境100的客户端侧上的客户端设备,而服务器106可以在操作环境100的服务器侧上。服务器106可以包括服务器侧软件,该服务器侧软件被设计为与用户设备102a以及102b至102n上的客户端侧软件一起工作,以实现本公开内容中讨论的特征和功能的任何组合。提供操作环境100中的这种划分以示出合适环境的一个示例,并且针对每种实现,不要求服务器106与用户设备102a以及102b至102n的任意组合保持为单独的实体。
用户设备102a以及102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一个实施例中,用户设备102a至102n可以是本文关于图6描述的计算设备的类型。通过举例而非限制的方式,用户设备可以体现为个人计算机(PC)、膝上型计算机、移动装置或移动设备、智能电话、智能扬声器、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、音乐播放器(例如MP3或流式传输设备)、全球定位系统(GPS)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、摄像头、遥控器、条形码扫描仪、计算机化的测量设备、家用电器、消费电子设备、工作站,或者这些所阐述的设备的任意组合,或者任何其他合适的计算机设备。
数据源104a以及104b至104n可以包括数据源和/或数据系统,其被配置为使数据可用于操作环境100的各个组成部分中的任何一个,或者结合图2描述的系统200。(例如,在一个实施例中,一个或多个数据源104a至104n向图2的用户数据收集组件210提供用户数据(或使用户数据可供访问)。)数据源104a以及104b至104n可以与用户设备102a以及102b至102n和服务器106分离,或者可以被并入和/或集成到那些组件中的至少一个中。在一个实施例中,数据源104a至104n中的一个或多个包括一个或多个传感器,它们可以被集成到用户设备102a、102b或102n或服务器106中的一个或多个中或与之关联。结合图2的用户数据收集组件210还描述了由数据源104a至104n可获得的感测到的用户数据的示例。
可以利用操作环境100来实现图2中描述的系统200的一个或多个组件,包括用于进行下列操作的组件:收集用户数据,监测用户活动和事件,确定推测的当前位置或未来位置预测,以及通过改善电池寿命来消耗或提供位置推测或预测信息以提供改善的用户体验(因为不需要传统的位置服务(例如GPS))。操作环境100还可以用于实现分别在图3A-图3D中描述的处理流程300或图4和图5中的方法400或500的各个方面。现在参照图2,结合图1,提供了示出适合用于实现本公开内容的实施例并总体上标示为系统200的示例计算系统架构的方面的框图。系统200仅表示合适的计算系统架构的一个示例。除了所示出的那些之外或代替所示出的那些,可以使用其他布置和元件,并且为了清楚起见,一些元件可以完全省略。另外,针对操作环境100,本文中描述的单元中的许多单元是功能实体,可以实现为分立或分布式组件,或者结合其它组件来实现,以及在任何合适的组合和位置中实现。
示例系统200包括结合图1描述的网络110,并且其通信地耦合系统200的组件,这些组件包括用户数据收集组件210、呈现组件218、访问监测器280、位置预测/推测引擎260、用户位置推测引擎220、一个或多个推测的位置消费者270以及存储单元225。访问监测器280(包括其组件282、284、286和288)、位置预测/推测引擎260(包括其组件和子组件262、263a、263b、264、2642、2644、2646、2648和268),用户-数据收集组件210、呈现组件218和用户位置推测引擎220可以被体现为:例如,编译的计算机指令或函数的集合、程序模块、计算机软件服务或在一个或多个计算机系统(例如结合图6所述的计算设备600)上执行的过程的排列。图2的组件搜集数据(例如,使用用户数据收集组件210),并构建用户位置模式的过去或历史集合,其可用于推测当前用户位置或预测用户未来的位置(例如,使用位置预测推测引擎260)。可以使用显式信号和/或上下文信息(例如,使用用户位置推测引擎220)来改进、调整或确认此推测或预测。然后可以将推测的当前用户位置或预测的未来用户位置提供给操作系统、服务或应用(例如推测的用户位置消费者270)。
在一个实施例中,由系统200的组件执行的功能与一个或多个个人数字助理(有时被称为“虚拟助理”)应用、服务或例程相关联。具体而言,这样的应用、服务或例程可以在一个或多个用户设备(例如用户设备104a)、服务器(例如服务器106)上操作,可以跨越一个或多个用户设备和服务器分布,或者可以在云中实现。此外,在一些实施例中,系统200的这些组件可以分布在整个网络中(包括一个或多个服务器(例如服务器106)和客户端设备(例如用户设备102a))、云中、或者可以驻留在用户设备(例如用户设备102a)上。此外,这些组件、由这些组件执行的功能或由这些组件执行的服务可以在合适的抽象层(例如计算系统的操作系统层、应用层、硬件层等)处实现。替代地或另外地,本文中描述的本公开内容的这些组件和/或实施例的功能可以至少部分地由一个或多个硬件逻辑组件来执行。举例而非限制性地,可使用的硬件逻辑组件的示例性类型包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、应用专用标准产品(ASSP)、系统芯片系统(SOC)、复杂可编程逻辑器件(CPLD)等。另外,尽管本文中针对示例系统200中示出的特定组件描述了功能,但是可以预期,在一些实施例中,这些组件的功能可以跨越其他组件共享或分布。
继续图2,用户数据收集组件210通常负责从一个或多个数据源(例如图1的数据源104a和104b至104n)存取或接收(在某些情况下还标识)用户数据。在一些实施例中,可以使用用户数据收集组件210来促进特定用户(或在某些情况下,包括众包数据的多个用户)的用户数据的累积,以用于访问监测器280、位置预测/推测引擎260、用户位置推测引擎220或系统200的其他组件或子组件。数据可以由用户数据收集组件210接收(或存取),并可选地进行累积、重新格式化和/或组合,并存储在一个或多个数据存储单元(例如存储单元225)中,在其中,数据对于系统200的组件或子组件是可用的。例如,如本文所述,用户数据可以被存储在用户简档240中或与用户简档240相关联。
本文描述的技术的许多实施例包括用于保护用户隐私或向用户提供对所收集的并用于向用户提供个性化服务的数据的控制的功能。例如,可以对收集或存储的用户数据进行加密以保护用户隐私。在一些实施例中,对个人可标识数据(即,专门标识特定用户的用户数据)的使用进行管理以使暴露的风险最小化;例如,任何个人标识数据不从一个或多个数据源中随用户数据一起上载、不被永久存储,和/或对于系统200的组件或子组件是不可获取的。类似地,在一些实施例中,某些用户数据可以在收集之后被去标识,以便进一步保护用户隐私。
在一些实施例中,用户可以选择由本文描述的技术提供的服务和/或选择关于用户的哪些用户数据和/或用户数据的哪些源将由这些技术使用。例如,一个实施例包括图形用户界面仪表板或笔记本,其可以经由呈现组件218呈现,其呈现关于所使用的特定用户数据的细节,并且可以促进使用户能够查看、修改、选择数据源和/或删除其用户数据或用户数据源。在一些实施例中,用户可以可选地查看关于用户的推测的当前或未来位置的与用户数据有关的细节,例如哪个用户数据被用于特定的位置推测。此外,在一个实施例中,可以基于被选择为由本文描述的技术使用的用户数据源来向用户呈现对其推测位置的近实时改变。例如,当用户选择特定的用户数据源进行包含(或排除)时,那么相应的推测位置可能会改变。通过将呈现的推测位置与用户大概知道的用户实际位置进行比较,可以鼓励用户选择更多的用户数据源进行包含,因为随着更多的用户数据源被包含,推测位置的准确性很有可能加以改善。此外,在一些方面,可以向用户呈现“校正”或更新信息以更好地调节数据的选项。
用户数据可以接收自各种源,其中数据可以以各种格式获得。例如,在一些实施例中,经由用户数据收集组件210接收的用户数据可以经由一个或多个传感器(诸如图1的传感器103a和107)来确定,这些传感器可以在一个或多个用户设备(例如用户设备102a)、服务器(例如服务器106)和/或其他计算设备上或与之相关联。如本文所使用的,传感器可以包括用于感测、检测或以其他方式从数据源104a获得信息(例如用户数据)的功能、例程、组件或其组合,并且可以被体现为硬件、软件或这二者。通过举例而非限制的方式,用户数据可以包括从一个或多个传感器感测或确定的数据(在本文中被称为传感器数据)、智能手机数据(例如电话状态、充电数据、日期/时间或从智能手机导出的其他信息)、用户活动信息(例如:应用使用情况;在线活动;搜索;诸如自动语音识别的语音数据;活动日志;通信数据,包括呼叫、文本、即时消息和电子邮件;网站帖子;与通信事件相关联的其他用户数据;与用户设备的其他用户交互等),包括在一个以上的用户设备上发生的用户活动、用户历史、会话日志、应用数据、联系人数据、日历和日程表数据、通知数据、社交网络数据、新闻(包括搜索引擎或社交网络上的热门或流行项目)、在线游戏数据、电子商务活动(包括来自诸如
Figure BDA0003072737130000111
视频流式传输服务、游戏服务或
Figure BDA0003072737130000112
的在线帐户的数据)、用户帐户数据(其可以包括来自与个性化相关(例如“个人助理”或“虚拟助理”)的应用或服务相关联的用户偏好或设置的数据)、家用传感器数据、电器数据、任何先前或历史位置数据,例如GPS数据、车辆信号数据、交通数据、天气数据(包括天气预报)、可穿戴设备数据、其他用户设备数据(其可以包括设备设置、简档、与网络相关的信息(例如,网络名称或ID、域信息、工作组信息、其他网络连接数据、Wi-Fi网络数据、或者配置数据、有关型号、固件或设备、设备配对的数据,例如,诸如其中用户将手机与蓝牙耳机配对,或其他与网络相关的信息))、回转仪数据、加速度计数据、支付或信用卡使用情况数据(其可以包括来自用户的PayPal帐户的信息)、购买历史数据(例如来自用户的Xbox Live、Amazon.com或eBay帐户的信息),可以由传感器(或其他检测器)组件感测到或以其他方式检测到的其他传感器数据包括从与用户相关联的传感器组件得出的数据(包括任何历史位置、运动、方位、位置、用户存取、用户活动、网络接入、用户设备充电或能够由一个或多个传感器组件提供的其他数据),基于其他数据得出的数据(例如,可以从Wi-Fi、蜂窝网络或IP地址数据得出的历史位置数据),以及可以如本文所述感测或确定的几乎任何其他数据源。
用户数据(特别是事件数据和/或历史位置数据形式的用户数据)可以由用户数据收集组件210从与用户相关联的一个或多个传感器和/或计算设备接收。尽管可以想到,用户数据由传感器或未示出的其他组件进行处理,以便由用户数据收集组件210进行解释,但是本文所述的实施例并不将用户数据限制为经处理的数据,而是可以包括原始数据。此外,虽然历史位置数据可能已经由用户数据收集组件210接收或收集,但是系统200不需要或不使用传统的位置服务(例如GPS)来确定用户推测的当前位置或预测的未来用户位置,如下文所描述的。在一些方面,可以在用户数据流或信号中提供用户数据。“用户信号”可以是来自相应数据源的用户数据的信源或流。例如,用户信号可以来自智能手机、家庭传感器设备、GPS设备(例如,用于历史位置坐标)、车辆传感器设备、可穿戴设备、用户设备、回转仪传感器、加速度计传感器、日历服务、电子邮件帐户、信用卡帐户,或者其他数据源。在一些实施例中,用户数据收集组件210连续地、周期性地或根据需要接收或存取与用户相关的数据。
访问监测器280通常负责监测用户数据以获取可用于确定历史用户访问的信息以及在某些情况下与那些历史访问相关联的特征,这些信息可用于确定与历史访问相关联的上下文。在一些实施例中,可以将由访问监测器280确定的信息提供给位置预测/推测引擎260,该信息包括关于当前上下文和历史访问(历史观察)和/或存储的历史位置数据249或用户历史访问246的信息。
在高级别,访问监测器280的实施例可以使用包括历史位置信息的用户数据来确定或归属用户的历史位置,这可以由如下所述的位置归属组件282执行。基于位置归属,可以确定用户的访问。在一些实施例中,可以使用从用户数据(包括当前或历史用户数据)识别的特征来确定访问,例如用户在特定位置处多长时间。例如,与指示用户只是短暂地位于特定位置(例如,用户正在驾驶经过某个位置,但未访问该位置)的用户数据相比,指示该用户在一段时间内处于同一近似地理位置的用户数据更有可能暗示发生了访问。因此,“访问”可以指示用户在用户的位置处的意图程度。在一些实施例中,在一段时间内用户大致保持在同一地理位置的情况下可以确定访问。相反,仅经过一个位置或暂时处于一个位置可以指示访问未发生。在一些实施例中,历史访问可以由下文描述的访问识别器284来确定,并且与访问相关联的特征可以由也如下所述的访问/活动特征确定器288来识别。
如示例系统200中所示,访问监测器280包括位置归属组件282、访问识别器284、上下文信息提取器286以及访问/活动特征确定器288。在一些实施例中,访问监测器280和/或其一个或多个子组件可以从接收到的用户数据中确定解释性数据。解释性数据与由访问监测器280的子组件(或系统200的其他组件或子组件)用来解释用户数据的数据相对应。例如,解释性数据可以用于提供针对用户数据的上下文,这可以支持子组件所做出的确定或推测,例如上述消歧示例。此外,可以预期的是,访问监测器280、其子组件以及系统200的其他组件的实施例可以使用用户数据和/或用户数据与解释性数据的组合以实现本文所述子组件的目标。
通常,位置归属组件282负责使用用户数据确定位置归属,如前所述。用户数据的示例可以包括指示历史位置信息的任何用户数据(或传感器数据),例如GPS、无线通信(例如,蜂窝或Wi-Fi接入点)、与历史用户活动关联的IP地址、用户签入/社交网络信息或可以从中确定位置信息的其他用户数据。在一些实施例中,位置归属组件282将位置归属于用户感兴趣的位置,例如用户经常出入的位置(有时被称为“枢纽”)。例如,在一些实施例中,可以对由位置数据指示的位置进行聚类,并且密集聚类用于确定用户在其中花费时间的那些位置(例如,枢纽)。此外,在一些实施例中,位置归属组件282执行过滤,其可以去除位置信息异常值(例如,距离300码的从Wi-Fi得出的位置数据点表明用户位于该位置);聚类;或确定用于归属的位置数据的其他方式。位置归属组件282的实施例可以利用与用户相关联的历史位置数据(例如,记录的用户数据或记录的位置信息,其可以存储在用户简档中,例如用户简档240中的历史位置数据243)来执行位置归属。历史位置归属可以用于确定访问历史访问。
概括地说,访问识别器284负责确定(或识别)访问已经发生。访问识别器284的实施例可以用于确定一个或多个历史访问。访问识别器284的一些实施例可以使用由位置归属组件282确定的历史位置归属来识别访问。例如,如先前描述的,指示用户处在同一近似地理位置一段时间的用户数据可以指示访问。具体而言,在一个实施例中,可以通过将指示用户在同一近似位置附近的连续(或基本连续)的用户位置数据进行级联来识别访问,并且在某些情况下,过滤异常值。例如,访问监测器280可以连续地、周期性地或根据需要获取历史位置信息(其可以从由用户数据收集组件210提供的用户数据获得)。在一些情况下,历史位置信息可以具有针对历史位置信息何时被感测或以其他方式确定的相应时间戳。因此,可以确定位置-时间数据的集合,其包括指示位置(可以是地理位置或语义位置)以及检测到该位置的相应时间的数据点。在一些实施例中,位置-时间数据包括位置信息的时间序列。因此,在一些实施例中,可以基于在时间序列中将指示同一近似位置的连续的(或近似连续的)数据点进行级联来确定访问。在一些实施例中,位置-时间数据可以存储在历史位置数据243中。
通常,上下文信息提取器286负责确定与历史访问相关的上下文信息(由访问识别器284或访问监测器280检测),例如与特定访问相关联的上下文特征或变量,或与访问相关的其他信息。在一些实施例中,上下文信息提取器286可以将所确定的上下文信息与相关的访问相关联,并且还可以将上下文信息与该访问一起记录。可替代地,该关联或记录可以由另一服务来执行。例如,上下文信息提取器286的一些实施例将所确定的上下文信息提供给访问/活动特征确定器288,该访问/活动特征确定器确定与历史访问和/或活动(如下文所述)和/或相关的上下文信息相关联的特征或变量。
上下文信息提取器286的一些实施例确定与访问相关的上下文信息,例如与该访问相关的实体(例如,在该位置出现的其他人),关于该访问的场所或与场所相关的信息,或者由用户在该位置执行的检测到的活动。通过举例而非限制的方式,这可以包括上下文特征,例如关于位置的信息,例如场所信息(例如,这是用户的办公室位置、家庭位置、健身房),时间(包括例如到达/出发时间或停留时长),天和/或日期(这可以表示为与访问相关联的时间戳),访问之前和/或之后的其他用户活动,关于访问的其他信息(例如与访问相关联的实体(例如,场所、人员、物品)),由传感器在与用户相关联的用户设备上检测到的、与访问并行发生或基本并行发生的信息(例如,经由计算设备检测到的用户活动,例如在娱乐控制台上观看流媒体电影,或者在健身跟踪用户设备上检测到的运动信息或生理信息),一个或多个用户设备上的用户交互(例如浏览某些类型的网页、听音乐、拍照、撰写电子邮件或任何其他类型的用户设备交互),社交媒体活动,或者与访问有关的、可用于确定与用户访问相关联的特征或模式的任何其他可检测的信息。
在使用与用户的用户设备有关的上下文信息的实施例中,可以通过检测和分析用户设备的特性来识别特定用户设备,例如设备硬件、软件(例如操作系统(OS))、与网络相关的特性、通过设备访问的用户帐户以及类似特性。例如,可以使用许多操作系统的功能来确定关于用户设备的信息,以提供关于硬件、OS版本、网络连接信息、所安装的应用等的信息。在一些实施例中,可以为与用户相关联的每个设备确定设备名称或标识(设备ID)。关于与用户相关联的所标识的用户设备的该信息可以被存储在与用户相关联的用户简档中,例如在用户简档240中。在实施例中,可以轮询、询问或以其他方式分析用户设备以确定关于设备的上下文信息。该信息可以用于确定设备的标签或标识(例如,设备ID),使得可以识别关于一个用户设备上捕获的特定历史访问的上下文信息,并将其与由另一用户设备捕获的数据区分开。在一些实施例中,用户可以声明或注册用户设备,例如通过经由该设备登录帐户、在该设备上安装应用、连接到询问该设备的在线服务,或者以其他方式向应用或服务提供关于该设备的信息。在一些实施例中,识别并确定登录到与用户相关联的帐户(例如
Figure BDA0003072737130000151
帐户或Net Passport、电子邮件帐户、社交网络等)的设备是与用户相关联的。
在一些实施方式中,上下文信息提取器286可以从用户数据收集组件210接收用户数据,在某些情况下对数据进行解析,并且识别和提取上下文特征或变量(这也可以由访问/活动特征确定器288执行)。上下文变量可以被存储作为与历史访问相关联的上下文信息的相关集合,并且可以被存储在用户简档中(例如用户简档240中)。例如,与历史访问相关联的上下文信息可以存储在用户历史访问组件246中。
通常,访问/活动特征确定器288负责识别与历史访问相关联的特征和用户活动。与访问相关联的特征和用户活动特征有时在本文中被称为上下文特征,可以由访问监测器280使用以确定访问的上下文。特征还可以包括与访问或访问期间的用户活动相关联的上下文信息和其他细节。通过举例而非限制的方式,访问特征可以包括历史位置(例如地理位置和/或语义位置,如果可用的话)、时间和日期、到达时间、出发时间、停留时长、先前访问的位置、下一个访问的位置、位置系列或序列、一周中的一天、访问期间的用户活动、访问之前或之后的用户活动、与访问相关联的关于其他用户的信息(例如,如果访问是会议,则会议的其他受邀者/出席者),或者与访问相关联的几乎任何可测量或以其他方式可确定的变量。
在一些实施例中,访问逻辑单元235可以用于确定访问、与访问相关联的上下文信息和/或访问的特征。访问逻辑单元235可以包括规则、条件、关联、分类模型或其他标准以识别访问以及与该访问相关联的上下文信息或特征。例如,在一个实施例中,访问逻辑单元235可以包括将访问标准与用户数据进行比较以确定访问已经发生和/或与确定的访问相关联的特定特征。访问逻辑单元235可以采用多种不同的形式,这取决于用于识别特定访问或访问特征的机制。例如,访问逻辑单元235可以包括用于训练神经网络的训练数据,该神经网络用于评估用户数据以确定何时发生访问,或者确定的访问中何时存在特定特征。访问逻辑单元可以包括静态规则(其可以是预定义的,或者可以基于与用户相关联的用户简档中的设置或偏好来设置)、布尔逻辑单元、模糊逻辑单元、神经网络、有限状态机、支持向量机、逻辑回归、聚类、或者机器学习技术、类似的统计分类过程、其他规则、条件、关联或这些的组合,以从用户数据中识别访问和/或访问特征。例如,访问逻辑单元可以指定与访问特征相关联的用户设备交互信息的类型,例如启动可能在健身房进行的健身跟踪应用、导航到网站以阅读电影评论或撰写电子邮件。
在一个实施例中,由访问/活动特征确定器288确定的特征可以被存储作为与访问信息相关联的一个或多个标记、标签或元数据,并且可以用于对由访问识别器284确定的访问进行索引。关于由访问监测器280确定的访问的信息在一些实施例中包括所确定的与访问相关联的上下文信息或特征,可以存储在与用户相关联的用户简档240中,例如存储在用户历史访问246中。
继续图2,位置预测/推测引擎260通常负责针对用户确定一个或多个可能的当前或未来位置(或未来位置的序列)。位置预测/推测引擎260的输出可以存储在用户位置/活动模式250中、用户简档240中,和/或由用户位置推测引擎220使用。如示例系统200中所示,位置预测/推测引擎260包括特征相似度确定器262、一个或多个基于模式的预测器264以及位置预测/推测选择器268。在高层上,位置预测/推测引擎260的实施例接收用户访问信息(例如可以由访问监测器280确定的关于历史访问的信息和/或上下文信息),并利用此信息为用户生成当前或未来位置(或一些位置,如前所述)的基于模式的推测或预测。在一些实施例中,还为推测或预测确定相应的置信度。此外,推测或预测可以包括单个位置、位置序列或多个位置的概率;例如,下一个位置将是用户的健身房的可能性为百分之八十,下一个位置将是用户的家的可能性为百分之二十。
通常,特征相似度确定器262负责确定与当前上下文相似的历史访问的特征或上下文。特征相似度确定器262可以连同一个或多个特征模式确定器(例如,如下所述的确定器263a和263b)一起使用,以确定与当前上下文相似的历史访问或特征的集合。与当前上下文相似的历史访问的集合然后可以被用作基于特定模式的预测器264的输入,如下文进一步描述的。
在一些实施例中,特征相似度确定器262包括用于确定不同类型的特征的访问或基于特征的访问模式之间的相似度的子组件。例如,如示例系统200中所示,特征相似度确定器262包括周期性特征相似度确定器263a和行为特征相似度确定器263b。周期性特征包括,例如,大约周期性发生的访问特征;例如,访问发生在一天中的相同特定时间、一周或一月中的某天、偶数/奇数天(或周)、每月、每年、隔日、每3天等。行为特征包括用户行为,例如到达时间、停留时长、访问期间发生的用户活动(例如,用户行为)、先前访问的位置,例如,以及不常见或非常规的特征,例如,指示用户在工作日在家的特征(可能会不经常发生,例如,当用户生病时)或与用户很少访问的位置(例如,另一个大陆上的城市)相关联的特征。例如,用户通常在有重要会议的工作日下班后去健身房,类似地,当用户上班迟到时,在下班后用户通常不去健身房,而是通常工作到较晚。在一些实施例中,特征相似度确定器262可以使用访问序列匹配特征来确定访问序列相似度(例如,用户使用访问序列匹配特征访问的最近K个位置(或历史访问)的序列,其确定历史访问(观察到的访问)与可能的当前访问序列之间的Levenshtein距离)。在特征相似度确定器262的一些实施例中,可以利用其他特征模式确定器(未示出),例如,用于确定以下各项的特征模式确定器:其他人(例如,用户的联系人或社交媒体熟人)存在于可能的当前访问和历史访问处之间的相似度,在可能的当前访问和历史访问处检测到的由其他人进行的活动的相似度,确定在可能的当前访问中发生的事件与历史访问中的事件的相似度,或者与可能的当前访问和历史访问相关联的任何其他方面、特征或上下文的相似度。
基于模式的预测器264包括一个或多个预测器程序或例程(“预测器”),用于部分基于可能的当前访问和历史访问集合之间的相似度的特征模式(例如,行为和周期性特征)来推测用户的当前位置或预测用户的下一个或未来可能位置。在高层,基于模式的预测器264接收当前和历史访问信息以及相关联的特征(或当前和历史上下文),其可以是从用户的用户简档240接收的,并确定当前位置的推测或关于下一个(或未来)用户位置的预测。在一个实施例中,基于模式的预测器264使用特征相似度确定器262来确定历史访问与可能的当前访问之间共有的模式或特征,以识别类似于可能的当前访问的历史访问的子集。例如,周期性特征相似度确定器263a可以用于从历史访问集合之中确定具有与可能的当前访问共同的周期性特征的那些历史访问。因此,例如,如果可能的当前访问发生在星期一、每月的第一天、在偶数周和在工作日,则周期性特征相似度确定器263a可以确定具有指示该访问发生在星期一的特征的那些历史访问,具有与一个月的第一天(任何第一天,不仅仅是星期一),或者偶数周,或工作日相对应的特征的那些历史访问。类似地,行为特征相似度确定器263b可以用于确定具有与可能的当前访问共同的特定行为特征的历史访问的集合。例如,如果可能的当前访问对应于用户访问其工作场所,并且到达时间指示用户比正常时间晚到达(或指示用户在特定时间到达),则使用行为特征相似度确定器263b确定的历史访问集合可能包括用户也比正常晚到工作地点的那些先前访问(或用户的到达时间与当前访问的到达时间接近的访问)。
在一个实施例中,基于模式的预测器264包括访问过滤器2642、访问得分确定器2644、访问选择器2646以及基于模式的预测确定器2648。访问过滤器2642的实施例可以使用组件263a和263b(或特征相似度确定器262)的特征相似度确定来过滤历史访问,并保留那些具有与可能的当前访问共同的特定特征(或一些特征)的历史访问。因此,在一个实施例中,可以将每个基于模式的预测器264设计(或调节)用于基于使用特定特征(或一些特征)或特征类型的预测模型来确定预测;例如,可能存在用于在特征指示工作日或周末、或者星期一、假日、或者到达时间或停留时长等时确定预测的预测器264。这样的预测器264可以利用具有与其特定预测模型相对应的特征(类似于当前访问)的那些历史访问。(例如,在一些实施例中,这些预测器可以基于它们的模式预测的特定类型(即,预测模型)来利用特定的预测算法或分类模型。这些算法或模型可以作为预测算法230存储在存储单元225中。)
因此,在一些实施例中,对于每个基于模式的预测器264,访问过滤器2642执行访问过滤以确定与该特定预测器264相关的历史访问集合。更具体地,可以执行访问过滤,使得每个预测器264可以接收具有与其预测标准相对应的特征的历史访问的子集。(例如,用于基于针对“到达工作地点的时间比正常时间晚”的行为特征相似度来确定位置预测的预测器264接收到其中用户到达工作地点迟到的历史访问的集合;因此,此特定历史子集中的每次访问都包括位置(此处是工作地点)和到达时间的相似度特征。)以这种方式,每个预测器264可以基于历史访问和可能的当前访问之间的至少一个共同特征(由特征相似度确定器262确定)来利用与可能的当前访问相似的历史访问的集合,其中,共同特征对应于预测器264的预测标准。预测器264的示例可以包括但不限于基于周期性特征的预测器、基于行为特征的预测器(其可以包括行为序列或访问序列相似度)、非常规或不常见行为特征(例如,当用户到办公室迟到或在工作日不去办公室时(如果这对用户而言是不常见的行为),或者当用户访问不常访问的位置时),或者其他类型的基于特征相似度的预测器。
对于每个预测器264,针对由访问过滤器2642确定的历史访问的子集,可以执行访问评分。通常,访问得分确定器2644对可能的当前访问和历史访问的子集中的特征相似度进行比较(在一些实施例中,可以将其视为上下文的比较),并针对其特征的相似度对每个可能的访问进行评分。具体而言,一些实施例不仅对用于确定历史访问的子集(例如,工作日或到达时间)的那些特征评分,而且对可能的当前和历史访问中可用的所有(或较大数量的)特征进行比较。在一些实施例中,使用布尔逻辑处理(即,特征必须是真实的或具有相同或相似的模式,并且如果满足,则确定特定特征之间的统计差异)。差异可以包括例如到达时间、停留时长、序列距离等的差异。在一个实施例中,确定这些差异并将其放入sigmoid函数。此外,在一个实施例中,使用相似度阈值,该相似度阈值可以是预定的、可调节的或自适应的、或者可以基于用户人数被初始设置为某个值,例如,可以基于关于特定用户得知的经验信息,或者可以基于历史观察的数量进行自适应。在一个实施例中,阈值为0.5(即刚好超过百分之五十,意味着比不相似更相似)。在另一个实施例中,阈值最初是0.6或0.8。该阈值可以用于确定特定的历史访问是否与可能的当前访问“足够相似”,以便在确定推测或预测时对其加以考虑。在一些情况下,可能有必要执行一些进一步的过滤或特征选择以进行相似度比较,例如,在给定的一天,用户具有一个以上到达时间特征(例如,用户两次到达工作地点,因为他们离开工作去吃午餐,然后返回)。在此,可以确定应该将午餐后的到达时间用于与可能的当前访问进行比较。在一些实施例中,表示相似度差异(或相似度得分)的向量可以由访问得分确定器2644确定。
访问选择器2646通常负责从历史访问的子集中确定或选择与可能的当前访问最相似(或基于阈值足够相似)的那些访问。在一些实施例中,访问选择器2646如上所述使用阈值来确定满足该阈值并且因此足够相似以用于确定用户的当前位置的推测或用户的未来位置的预测的那些历史访问。在一个实施例中,对于用户历史中的每一天,选择具有最高得分的访问(或一些访问)。(尽管在本文中使用了术语“选择器”,但可以考虑,选择是通过不需要人执行选择的计算机相关过程来执行的。)由访问选择器2646确定的所选择的历史访问包括“示例访问”的集合。因为位置预测/推测引擎260可以包括多个基于模式的预测器264,所以关于用户的当前位置或预测的未来位置的给定确定可以创建多个示例性访问集合,每个示例性访问集合可以对应于预测器264。
基于模式的预测确定器2648通常负责确定和输出用户模式信息,其可以例如作为用户位置/活动模式250被存储在用户简档240中。
在一些实施例中,可以确定与位置推测或预测相对应的推测或预测概率。预测概率可以基于推测或预测支持集合的大小与观察总数(由访问过滤确定的子集中的历史访问)之比;例如,预测支持集合中的访问数量除以观察总数。此外,在一些实施例中,预测还可以包括附加上下文,例如关于以下各项的信息:用户从推测的当前位置去往下一个预测位置的可能出发时间、在下一个预测位置的到达时间、在下一个预测位置的停留时长,或者本文中描述的其他上下文信息。在一些实施例中,这可以至少部分基于预测支持集合观察的时间(到达、离开、停留时长)来确定。
基于模式的预测确定器2648的一些实施例确定用于推测或预测的预测显著性,其可以基于置信区间(例如,二项式置信区间)或其他适当的统计量度来确定。在一些实施例中,还确定针对特定推测或预测的推测或预测置信度。推测或预测置信度可以指示推测正确或预测将发生的程度或可能性,或者换句话说,用户位于推测位置或将访问预测的未来位置的机会。在一些实施例中,置信度基于预测概率和预测显著性;例如,在一个实施例中,将预测置信度确定为预测概率和预测显著性的乘积。如下所述,在一些实施例中,与推测或预测相关联的推测或预测置信度可用于从由位置预测/推测引擎260中的预测器264确定的其他可能的推测或预测中选择特定推测或预测。因此,每个基于模式的预测器264的输出是推测的用户位置或预测的下一个或未来位置(或者一些位置),并且在一些情况下是相应的上下文信息,例如出发时间、到达时间、停留时长等,和/或与预测的下一个或未来位置(或一些位置)的推测的当前位置相对应的预测置信度。
位置预测/推测选择器268从由一个或多个基于模式的预测器264中的每一个所确定的预测中确定推测的当前位置和/或未来位置的预测。在一个实施例中,利用集成过程,其中预测器264中的一个或多个投票或发表意见,并且选择是基于集成成员预测器264中的至少一个来确定的。此外,在一些实施例中,可以基于关于用户或访问的学习信息来对个体集成成员预测器进行加权。在一些实施例中,一旦一个或多个预测器264中的每一个都确定了预测,则位置预测/推测选择器268选择具有最高相应置信度的特定推测或预测作为由此导致的当前用户位置或下一个(或后续)预测位置(或一些位置)。该选择的位置可以被认为是由位置预测/推测引擎260确定的基于模式(或基于历史)的预测。在一些实施例中,位置预测/推测选择器268的输出可以存储在用户简档240中的用户位置/活动模式250中,并且在一些实施例中,可以由用户位置推测引擎220接收。这仅仅是基于模式的推测或预测。用户位置推测引擎220可以基于其他输入来改进、调整或改变该推测或预测。
通常,用户位置推测引擎220负责通过合并诸如基于模式或基于历史的预测(即,由位置预测/推测选择器268确定的预测)以及与用户相关联的显式信息(如果有)来推测用户的位置并输出用户的推测的当前位置或未来的预测位置。(术语“一致推测或预测”有时在本文中用于表示协调基于模式的推测或预测与显式信息的综合推测或预测。因此,提供了一致推测或预测作为由用户位置推测引擎220执行的合并的输出。)例如,假设基于模式的预测(由位置预测/推测引擎260确定)确定用户可能在离开办公室三十分钟后在家。(因此,如果距离用户离开办公室已经三十分钟了,那么在该示例中,用户的推测位置是用户的家。)但是,假设用户下班后有一个确认的预约去看医生,这可以在用户的日历中指示出。然后,用户位置推测引擎220可以确定用户可能在预约中(例如,医生办公室的位置),而不是在家中。因此,在一些情况下,用户位置推测引擎220可以覆盖由预测引擎260确定的基于历史或基于模式的预测。另一方面,假设用户下班后的日历上有一个重复发生的事件,但是在以前的场合下,用户下班后没有出席过该事件。然后,用户位置推测引擎220可以确定,尽管显式信息指示与基于模式的预测(用户的家)的潜在冲突,但是置信度较低,因此,针对用户位置的所得出的推测或“一致”推测是用户的家。
如示例系统200中所示,用户位置推测引擎220包括显式信号确定器222、用户活动监测器223a、当前上下文确定器223b、冲突级别确定器224以及用户位置预测器226。显式信号确定器222包括用户活动监测器223a和当前上下文确定器223b。显式信号确定器222通常确定一个或多个显式信号,并且在一些实施例中,确定与每个显式信号相关联的置信度水平。(本文中使用的术语“显式信号”是指一条显式信息或显式信息流,并不指代通信传输。)显式信号确定器222确定表示与用户相关联的显式信息的显式信号,该显式信号可以与由位置预测/推测引擎260确定的基于模式(或基于历史)的预测有关。例如,在一些实施例中,可以基于在与基于模式的预测相对应的时间期间确定的关于用户的信息来确定显式信号。例如,如下所解释的,显式信号确定器222(或其子组件之一)可以使用关于用户的航班行程的电子邮件来确定用户可能的未来位置。
用户活动监测器223a监测用户的活动,包括来自一个或多个用户设备的传感器得出的信息、通信(例如电子邮件、呼叫、文本、即时消息、社交媒体帖子或活动)、日历活动(例如会议位置)、使用和/或启动的应用、在线浏览、所访问的帐户(例如,流媒体或商业新闻信源(用户在已知位置时可以使用,例如,用户通常只在家中访问Netflix,并且只在工作时检查股票活动))。用户活动监测器223a跨一个或多个用户设备监测该活动,以提取或确定可用于确定用户的当前或未来可能位置和/或还可用于将此与已确定的位置-模式信息进行协调(例如,确认用户可能会停留在其模式上或得知用户可能会偏离其模式)的特征(其可包括显式信息)。用户通信可以包括带有航班行程、酒店预订信息或汽车租赁的电子邮件。用户通信还可以包括指示用户位置的呼叫、电子邮件或文本消息(“我们明天中午在我们的餐厅见面吃午饭吧”)。用户活动监测器监测的其他用户活动可以包括用户设备交互,例如在线活动,像是浏览过的网站(例如,访问餐馆的网站并在餐馆进行预订),或应用使用情况(例如,经由应用或类似的购买交易数据来购买音乐会门票,其可以通过银行或金融应用获得)。
用户活动监测器223a还可以接收和使用传感器得出的信息(例如,来自用户数据收集组件210的信息)。该传感器得出的信息包括例如来自照相机、麦克风的信息,或从具有已知位置的用户设备感测到的其他活动(例如,用户的电视或用户家里的智能冰箱)。例如,如果用户对智能家居设备(像是扬声器)讲话,则来自不同设备的用户语音和声音可用于推测该用户在家。
当前上下文确定器223b监测并确定关于用户的当前(或近期未来)上下文的信息。该上下文信息有助于解决用户可能的当前或未来位置。当前上下文包括以下信息:例如天气、用户是否经历过通常与影响用户的位置有关联的其他事件—例如,用户当天上班迟到,以及在用户迟到的那几天,用户通常会待到更晚或不去健身房。组件223b可以从组件210接收信息,或者从用户活动监测器223a接收所监测的用户活动。由当前上下文确定器223b确定的上下文信息可以用于确定用户是否可能遵循特定模式,并且在用户遵循具有与其相关联的一个以上的可能位置的模式的那些情况下,上下文信息可以用于确定这些位置中的一个是否更有可能。上下文信息也可以用于确定用户是否是“非常规的(out of routine)”。换句话说,用户不太可能位于根据模式推测出的近期未来位置,因为用户似乎没有遵循该模式,或者由于某些检测到的上下文、行为或用户活动与预期不同,因此不太可能遵循该模式。如上所述,显式信号可以指示:在基于模式的预测已经预测了用户将位于另一个位置(例如用户的家)的时间,用户具有与医生的日历预约。显式信号可以由活动监测器223a和当前上下文确定器监测,并可以从用户数据收集组件210提供的用户数据中确定,并且在一些情况下,可以存储在与用户相关联的用户简档中,例如用户简档240的用户显式信号数据组件249。
显式信号确定器222还可以确定与每个显式信号相关联的置信度水平。在一个实施例中,每个显式信号或每条显式信息由显式信号确定器222评估以确定与显式信号相关联的置信度。置信度可以指示显式信号的合法性或权威性(例如,强度);例如,较高的置信度可以指示:根据显式信号,用户的未来活动更有可能受到影响。作为示例,相比由用户接收到的、用户已经对其响应为暂定或根本没有响应的会议请求(未经确认的冲突),由用户接收到的、用户已经肯定地确认(接受参加)的会议请求可以具有较高的置信度。
在一些实施例中,可以通过从由组件223a或223b确定的信息中提取和/或解析与位置有关的信息来确定显式信号。例如,在SMS文本消息(或其他用户通信)指示“我将于今天晚上8点在购物中心与您会面”的情况下,则关于用户位置(购物中心)和未来时间(今天晚上8点)的信息可以被提取并被提供作为外部显式信号。在一个实施例中,来自人群的信息可以用于确定显式信号,例如来自用户的朋友或同事的密友圈的信息。例如,如果用户的大多数同事在他们的日历上有相同的事件(例如带有地址的“团队聚会”),则可以推测出显式信号。(相比基于直接从用户得出的用户数据确定的显式信号,这种类型的显式信号可能具有较低的置信度。)
冲突级别确定器224通常确定一个或多个显式信号与基于模式的预测之间的冲突级别。在一个实施例中,在确定对于特定的基于模式的预测没有发生冲突的情况下,则针对该基于模式的预测可以忽略显式信号。但是在确定可能发生冲突的情况下,则将显式信号和基于模式的预测进行合并(或协调)以确定一致的推测或预测语义位置。例如,可以确定指示在精确时间上用户接受的会议作为餐厅的午餐的预测位置的显式信号,其中会议位于与餐厅不同的位置,该信号具有高的冲突级别。由于用户接受了会议,因此相应的置信度可能为高,并且可以确定该位置是会议(如下文结合用户位置预测器226描述的),并且进一步确定用户将不会在餐厅吃午餐。在某些情况下,可能会发生部分冲突。例如,假设用户刚刚向朋友发送了一条SMS文本消息,表明该用户今天将在回家的路上路过她朋友的房子来取走要借的物品。基于模式的预测可能已确定下一个位置是用户的家;用户将在下午6点回到家,并在家里待13个小时(直到明天早上用户去上班为止)。但是,基于文本消息的显式信号指示用户的下一个语义位置是朋友的房子。因为用户只是发送了文本消息,所以可以针对该显式信号确定高置信度。因此,冲突级别确定器224可以确定部分冲突,并且用户位置预测器226可以确定用户的语义位置最有可能是朋友的房子,但是随后的语义位置是用户的家。用户位置预测器226(或系统200的另一个组件)可以进一步确定用户将可能在下午5:45到达她朋友的房子。(例如,这可以基于下班时间的模式来确定。)
通常,用户位置预测器226负责基于该合并来提供关于用户位置的一致预测。通过举例而非限制的方式,用户位置预测器226可以存取或接收下列一个或多个数据以便推测用户的当前或未来位置:由位置预测/推测引擎260(或更具体地由位置预测/推测选择器268)确定的用户的位置预测或推测,或者由位置预测/推测引擎260确定的用户的位置模式,其可以存储在用户简档240中的用户位置/活动模式250中;从显式信号确定器222(如果可用)接收的显式信号信息(如上所述),该显式信息可以包括:关于从用户的通信或用户日历得出的推测位置的任何信息;关于其他用户的附近移动设备的信息,其可以包括位置信息;来自用户的移动设备或另一设备(例如智能扬声器)的、可用于识别用户的当前位置的音频/视频信息;当前上下文信息(例如,一周中的一天、一天中的时间等,其例如用于如上所述确定用户是否遵循某种模式);或者由显式信号确定器222确定的其他显式信号信息。用户位置预测器226还可以确定在当前位置之后访问的后续位置(或多个位置),但是不必紧接在当前位置之后,如前所述。因此,术语“下一个位置”在本文中被广泛使用。
如上所述,在一些情况下,用户位置预测器226可以根据基于模式(或基于历史)的预测用户位置(例如由位置预测/推测引擎260确定)和表示与用户相关联的显式信息的一个或多个显式信号之间的冲突级别以及在一些情况下关于显式信号的准确性或确定性的相应置信度来确定用户的可能语义位置。例如,具有高置信度和高冲突的显式信号可能胜过基于模式的预测,因此可以从显式信号确定预测的用户语义位置。具体而言,在一个实施例中,具有最高置信度的显式信号被用于确定预测的用户位置。或者,将基于模式的预测确定为用户位置;例如,在没有显式信号或显示证据被识别为与基于模式的预测相矛盾的情况下,则将基于模式的预测提供作为一致推测或预测。
在一些实施例中,在发生冲突的情况下,可以将与冲突的显式信号相关联的置信度和与基于模式的预测相关联的预测置信度进行比较,以确定关于用户的当前位置或未来语义位置的一致预测。用户位置预测器226(或用户位置推测引擎220)的一些实施例利用协调逻辑单元237来协调冲突和/或确定一致预测。协调逻辑单元237可以包括规则、条件、关联、分类模型或其他标准,并且可以采取不同的形式,这取决于显式信号或基于模式的预测。例如,协调逻辑单元237可以包括静态规则(其可以是预定义的,或者可以基于与用户相关联的用户简档中的设置或偏好来设置)、布尔逻辑单元、模糊逻辑单元、神经网络、有限状态机、支持向量机、逻辑回归、聚类、或者机器学习技术、类似的统计分类过程、其他规则、条件、关联或这些的组合。在一些实施例中,在不能确定结论性预测的情况下或者在确定用户处于极端非常规情况下,协调逻辑单元237指示用户位置推测引擎220返回空值(或者换句话说,在这种情况下,用户位置推测引擎220或系统200的其他组件未提供一致预测)。
继续图2,示例系统200还包括一个或多个推测或预测的位置消费者270。推测的或预测的位置消费者270包括计算应用或计算服务,这些计算应用或计算服务消费关于用户的推测的当前位置或预测的未来语义位置信息以便为用户提供改善的计算体验。消费者270可以选择消费推测的用户位置或预测的未来位置,以节省他们驻留在其上的用户设备的电池寿命。如本文所述,关于用户的当前语义位置的一致推测可以被提供给计算机应用或服务(例如,推测或预测位置消费者270),其可包括与用户相关联的虚拟助理计算机程序的一个方面。在一些实施例中,可以结合API来提供一致的推测的用户位置或预测,以促进预测位置的消费者270对其的利用。推测或预测位置消费者270的示例可以包括但不限于日历或日程表应用或服务、通知服务、个性化内容服务、自动化服务或者可基于对用户可能的未来语义位置的了解为用户量身定制的其他计算服务。推测或预测位置消费者270的一些实施例可以由虚拟助理应用或服务来执行,虚拟助理应用或服务可以被实现为一个或多个计算机程序(其可以包括一个或多个应用、服务或例程),例如在移动设备和/或云中运行的应用,如本文进一步描述的。
在一个示例实施例中,推测或预测位置消费者270包括位置服务271。位置服务271向移动设备的操作系统和/或请求位置信息的移动设备上的任何应用或服务提供关于用户位置的推测位置信息来代替实际位置信息(例如,通常提供的位置服务组件,例如GPS传感器)。在一些实施例中,位置服务271可以控制(或与其他软件例程/服务/驱动程序一起工作以控制)用户设备上的常规位置服务;例如,位置服务271可以禁用、关闭或修改GPS传感器/GPS相关服务的操作,使得它们不运行或者使得它们不那么频繁地运行。类似地,位置服务271可以提供其推测的位置信息来代替原本将由常规位置服务组件提供的位置信息。
在一些实施例中,系统200可以生成要呈现给用户的个性化通知,其可以被提供给呈现组件218。该通知可以指示用于用户到用户推测的位置或预测的用户位置的选项(来自用户位置推测引擎220),而不是传统的位置服务(例如GPS),并使其对于呈现组件218是可获得的,该组件确定何时以及如何(即,什么格式)基于用户数据呈现通知。在一些实施例中,使用推测的或预测的用户位置,可以更好地管理或改善用户设备的电池寿命。
示例系统200还包括呈现组件218,其通常负责向用户呈现内容和相关信息,例如来自推测或预测位置消费者270的内容。呈现组件218可以包括在用户设备上、跨越多个用户设备或在云中的一个或多个应用或服务。例如,在一个实施例中,呈现组件218管理跨越与用户相关联的多个用户设备针对该用户的内容呈现。在一些实施例中,呈现组件218可以确定在哪个用户设备上呈现内容,以及呈现的上下文,例如如何呈现(或采用哪种格式呈现以及呈现多少内容,这可以取决于用户设备或上下文)、何时呈现等。在一些实施例中,呈现组件218生成与个性化内容相关联的用户界面特征。这些特征可以包括界面元素(例如图形按钮、滑块、菜单、音频提示、提醒、警报、振动、弹出窗口、通知栏或状态栏项、应用内通知或用于与用户对接的其他类似特征)、查询和提示。
存储单元225通常存储包括在本文描述的公开内容的实施例中使用的数据、计算机指令(例如,软件程序指令、例程或服务)、逻辑、简档和/或模型的信息。在实施例中,存储单元225包括数据存储单元(或计算机数据存储器)。此外,虽然被描绘为单个数据存储组件,但存储单元225可以被实现为一个或多个数据存储单元,或者可以在云中。
存储单元225的一些实施例存储模式预测算法或模型230、访问逻辑单元235和协调逻辑单元237,如前所述。在一个实施例中,存储单元225存储一个或多个用户简档240,在图2中示例性地提供了其示例实施例。示例用户简档240可以包括与特定用户或者在一些情况下与用户类别相关联的信息。如所示的,用户简档240包括用户的历史位置数据243、用户历史访问246、用户帐户和活动数据248、用户显式信号数据249以及基于模式的预测250,其中一些已经在前面进行了描述。用户简档240中存储的信息对于示例系统200的例程或其他组件可能是可用的。
用户的位置/活动模式数据242可以包括由用户位置推测引擎220确定的语义位置(作为当前位置的一致推测或未来语义位置的预测),并且可以包括先前描述的用户经常访问的并在本文中被称为“枢纽”的语义位置。可以将用户位置数据250提供给一个或多个推测或预测位置消费者270或与用户相关联的虚拟助理。用户帐户和活动数据248通常包括从用户数据收集组件210确定的用户数据(在一些情况下可以包括与特定用户相关的众包数据),并且例如可用于确定历史访问相关信息,例如,语义位置信息、与访问(过去的或未来的)相关联的特征和/或显式信号。用户帐户和活动数据248还可以包括所存取、所使用或者以其他方式与用户相关联的关于用户设备的信息,和/或与和用户相关联的用户帐户相关的信息;例如,诸如
Figure BDA0003072737130000291
护照的在线或基于云的帐户(例如,电子邮件、社交媒体)、诸如与娱乐或游戏相关的帐户的其他帐户(例如,Xbox live、Netflix、在线游戏订阅帐户等),与诸如用户电子邮件、文本、即时消息、呼叫、其他通信和其他内容之类的帐户有关的用户数据;诸如新闻信源的社交网络帐户和数据;在线活动;以及日历、预约、应用数据,或者可用于确定当前或历史访问特征或显式信号的其他用户数据。
现在转到图3A至图3D,说明性地示出了本公开内容的实施例的示例处理流程300的各方面。具体而言,图3A描绘了处理流程300的概述,并且图3B-图3D中的每个图描绘了处理流程300的一个方面。与要执行的动作(或步骤)相对应的处理流程300的框(在图3A-图3D中示出)(对照要被作用的信息)可以由一个或多个计算机应用或服务来执行,在一些实施例中,包括虚拟助理,其在一个或多个用户设备(例如用户设备104a)、服务器(例如服务器106)上操作,可以分布在多个用户设备和/或服务器之间,或者可以在云中实现。在一个实施例中,由处理流程300的步骤执行的功能由结合图2描述的系统200的组件来执行。
参考图3A,说明性地提供了处理流程300的概述。在框302处,执行访问聚合。访问聚合302确定历史访问346的集合,其可能包括与可能的当前访问共同的一个或多个特征。在图3B中示出了框302的各方面的更详细的透视图。参考图3B并且继续参考图3A,访问聚合302接收用户历史位置信号信息343。可以从与用户相关联的用户简档接收历史位置信息343;例如,可以从用户简档240的历史位置数据243接收历史位置信号信息343。可以从由一个或多个用户数据收集组件210获得的用户数据中确定历史位置信号信息343,如图2所描述的。
位置归属382使用历史位置信号343来执行位置归属。在一个实施例中,位置归属382由系统200的位置归属组件282或访问监测器280执行,并且还可以包括结合访问监测器280描述的功能。基于位置归属382,执行访问识别384以将对相同位置的历史访问识别为可能的当前访问。在一个实施例中,访问识别384基于指示该用户在同一近似位置(例如,地理位置或语义位置)持续了一段时间的用户数据来确定访问。此外,在一些情况下,将同一位置附近的连续(或基本连续)的用户位置数据进行级联,并且在一些情况下,过滤掉异常值,以促进识别访问和访问持续时间。访问识别384的一些实施例使用访问逻辑单元,例如结合图2描述的访问逻辑单元235。在一个实施例中,在访问识别384中执行的操作由系统200的访问识别器284或访问监测器280执行,并且还可以包括结合访问监测器280描述的实施例的操作或功能。
返回图3A,访问聚合302的输出包括历史访问集合346,其被提供给基于历史的预测304。转到图3C,并且继续参考图3A,示出了基于历史的预测304的方面。在框362处,对接收到的用户历史访问集合346执行特征计算。(用户历史访问可以直接从访问聚合302的输出或从存储单元中接收到,例如图2中描述的用户简档240的用户历史访问组件246。)特征计算362确定用户历史访问集合346中与可能的当前访问的特征相似的特征。(尽管针对该方框使用了术语“计算”,但从本文提供的描述中可以清楚地看出,由特征计算362执行的操作可以不仅仅包括数学运算。)
在一些实施例中,由一个或多个基于模式的预测器364使用由特征计算362确定的相似或共同特征来过滤用户历史访问集合346,以便确定具有与可能的当前特征共同的一个或多个特征的历史访问的子集(或换句话说,与可能的当前访问共享上下文的历史访问的子集)。在一些实施例(例如示例处理流程300中所描绘的实施例)中,特征计算362确定不同类型的特征的访问或基于访问的基于特征的模式之间的相似度。具体而言,如处理流程300中所示,特征计算362包括周期性特征计算363a和相似度特征计算363b。如前所述,周期性特征可以包括大约周期性发生的访问特征。相似度特征可以包括基于相似行为的特征(例如相似的迟到时间、停留时长、先前访问过的位置等),或者周期性特征以外的其他类似特征(例如,类似的不常见或非常规特征)。周期性特征计算363a和相似度特征计算363b的一些实施例可以分别由周期性特征确定器263a和行为相似度特征确定器263b执行,例如结合图2所描述的。此外,在一些实施例中,在特征计算362中执行的操作由系统200的特征相似度确定器262或位置预测/推测引擎260执行,并且可以包括结合特征相似度确定器262描述的实施例的操作或功能。
一个或多个基于模式的预测器364接收用户历史访问信息346和从特征计算362确定的特征相似度信息。使用该信息,每个基于模式的预测器364确定关于用户的可能位置的基于模式的预测。如图3C所示,基于模式的预测器264包括包含以下的步骤:访问过滤3642、访问评分3644、访问选择346和基于模式的预测3648。基于模式的预测器364的一些实施例是使用结合图2描述的基于模式的预测器264来实现的。另外,在一些实施例中,由访问过滤3642、访问评分3644、访问选择3646和基于模式的预测3648执行的操作分别由访问过滤器2642、访问得分确定器2644、访问选择器2646和基于模式的预测确定器2648执行,并且可以包括结合基于模式的预测器264或系统200描述的实施例。
基于历史的预测304的一些实施例确定历史访问的多个子集,使得每个子集基于至少一个公共特征相似度(由特征计算362确定)类似于可能的当前访问。例如,访问过滤3642步骤可以利用周期性特征计算363a的输出来确定在一周的同一天发生的历史访问的第一子集作为第一基于模式的预测器364的可能的当前访问,并由另一个访问过滤3642步骤利用,以确定与第二基于模式的预测器364的可能当前访问大约在一天的同一时间开始的历史访问的第二子集。同样地,相似度特征计算363b的输出可以以类似的方式用于确定包括第三基于模式的预测器364的用户访问的相似先前位置的历史访问的第三子集,以及包括与第四基于模式的预测器364的非常规事件相关的特征的历史访问的第四子集。在该示例中,四个基于模式的预测器中的每一个随后可以执行访问评分3644、访问选择3646和基于模式的预测3648,以确定关于用户的可能位置的基于模式的预测。如上所述,框3642、3644、3646和3648的实施例可以包括结合系统200的访问过滤器2642、访问得分确定器2644、访问选择器2648和基于模式的预测确定器2648描述的实施例。
在框368处,从由一个或多个基于模式的预测器364确定的基于模式的预测之中选择基于模式的预测。所选择的基于模式的预测包括基于历史的预测350(在图3A和图3D中示出)。在一个实施例中,在预测选择368中执行的操作由系统200的位置预测/推测选择器268或位置预测/推测引擎260执行,并且可以包括结合位置预测/推测选择器268或位置预测/推测引擎260描述的实施例的操作或功能。(尽管访问选择3646和预测选择368使用了术语“选择”,但可以考虑,选择是通过不需要人执行选择的计算机相关过程来执行的。)此外,在一些实施例中,基于历史的预测350具有相应的预测置信度,其可以如结合系统200的基于模式的预测确定器2648和位置预测/推测选择器268所描述的来确定。
返回图3A,基于历史的预测304的输出包括基于历史的预测350,其被提供给用户位置推测合并306。用户位置推测合并306还接收一个或多个用户显式信号349,例如关于航班(3492)、用户的日历(3494)、外部事件(3496)或非常规信息(3498)的显式信号。转到图3D,并且继续参考图3A,示出了用户位置推测合并306的各方面。用户位置推测合并306接收一个或多个用户显式信号349和基于历史的预测350。在框322处,针对每个用户显式信号349计算置信度。在框324处,针对每个显式信号349与基于历史的预测350来计算冲突级别。框322的实施例可以由系统200的显式信号确定器222或用户位置推测引擎220来执行,并且可以包括结合显式信号确定器222或用户位置推测引擎220描述的实施例的操作或功能。类似地,框324的实施例可以由系统200的冲突级别确定器224或用户位置推测引擎220来执行,并且可以包括结合冲突级别确定器224或用户位置推测引擎220描述的实施例的操作或功能。
部分基于冲突级别计算,确定用户位置推测/预测342。用户位置推测/预测342包括关于用户的语义位置或用户的未来预测位置的一致预测。用户位置推测合并306的一些实施例可以确定用户位置推测/预测342,如结合用于确定一致预测的位置预测器226(或预测合并220)所描述的。例如,在一个实施例中,根据基于历史的预测350和一个或多个显式信号349之间的冲突级别,以及在一些情况下,关于显式信号的准确性或确定性的相应置信度,确定用户位置推测/预测342。在一些实施例中,在显式信号349与基于历史的预测350之间发生冲突的情况下,将显式信号的置信度和与基于历史的预测350相关联的预测置信度进行比较,以确定关于用户的语义位置的一致预测。
此外,用户位置推测合并306的一些实施例还确定与一致预测相关联的特征或上下文信息,例如,到未来预测的语义位置的可能到达时间,从当前位置(或者在关于未来位置的系列或序列的一致预测的情况下的先前位置)的可能离开时间,在某个位置的持续时间或停留时间,用户活动,事件,其他人或本文所述的其他相关信息。处理流程350的一些实施例可以将关于用户语义位置和相关信息的确定的一致预测(如果确定的话)提供给一个或多个预测位置消费者(未示出),例如结合图2描述的消费者270。同样,在不使用常规位置服务(例如GPS)的情况下提供推测的或预测的用户位置可以延长电池寿命,从而带来更好的用户体验。
现在转到图4和图5,提供了示出用于基于用户的预测的下一个或未来的语义位置向用户提供个性化的计算体验的方法400以及用于确定并利用对用户的下一个或未来位置的预测的方法500的示例的流图。方法400、方法500以及本文描述的其他方法或处理流程的每个框或步骤包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可由执行存储在计算机存储器中的指令的处理器来执行。在一个实施例中,可以使用系统200中描述的组件来实现方法400和500。这些方法可以体现为存储在计算机存储介质上的计算机可用指令。这些方法还可以由计算机程序执行,例如虚拟助理计算服务、分布式应用、独立应用、服务或托管服务(独立或与另一托管服务组合)或另一产品的插件(仅举几例)。
参考图4,在步骤410处,确定用户的当前上下文。步骤410的实施例可以确定与用户的可能当前位置相关联的上下文。上下文可以包括例如如本文所述的用户的先前位置、日期、时间、星期几、当前位置的其他用户、检测到的用户活动或用于确定访问特征的信息的其他当前上下文。步骤410的实施例可以接收用于确定当前上下文的用户数据(其可以包括当前和历史用户数据),并且如果正在进行访问,则可以确定当前访问的当前上下文。可以从用户数据收集组件210和/或与用户相关联的用户简档240接收用户数据。在识别当前访问的步骤410的实施例中,步骤410还包括确定与当前访问相关联的特征集合。在一些实施例中,可以从与访问有关的用户数据中提取与该访问相关联的上下文信息,并将其用于确定当前上下文,该当前上下文可以包括关于当前访问的特征,如结合系统200中的上下文信息提取器286所描述的。步骤410的实施例可以由结合图2描述的系统200的访问监测器280来执行。结合系统200的访问监测器280描述了关于步骤410的实施例的附加细节。
在步骤420处,确定针对可能的当前位置的用户的历史访问。步骤420的实施例确定针对在步骤410中确定的用户的可能的当前位置的相同或近似位置的历史访问集合。可以从与用户相关联的历史位置数据中确定相似历史访问集合,该集合可以在信息日志中存取,例如在图2中所描述的用户简档240中的历史位置数据243。步骤420的实施例可以由也结合图2描述的系统200的访问监测器280来执行。结合系统200的访问监测器280来描述关于用于确定针对用户的当前位置的用户的历史访问的步骤420的实施例的更多细节。
在步骤430处,确定针对用户的当前位置或未来位置的基于模式的预测。步骤430的实施例基于在步骤420中确定的历史访问的集合和在步骤410中确定的当前上下文,确定基于模式的预测(有时被称为“基于历史的预测”)。在步骤430的一些实施例中,确定一个或多个候选基于模式的预测的集合,使得使用历史访问集合的子集来确定每个候选预测,该子集具有与可能的当前访问共同的至少一个特征(或上下文)。在一些实施例中,该至少一个共同特征基于周期性特征模式或行为特征模式,例如结合图2中的特征相似度确定器262所描述的。然后,可以从该候选预测集合中选择特定的候选预测作为步骤430中确定的基于模式的预测。在一些实施例中,基于用每个候选预测确定的相应预测置信度来选择特定候选预测。例如,在一个实施例中,以相应的预测置信度来确定每个候选预测,并且选择具有最高预测置信度的候选预测作为步骤430的基于模式的预测。步骤430(或方法400)的一些实施例从候选预测的集合中确定多个基于模式的预测。
如示例方法400所示,步骤430的一个实施例包括子步骤432、434和436。在子步骤432处,确定历史访问与可能的当前访问(或当前上下文)的特征(或上下文)相似度。步骤432的实施例识别历史访问和可能的当前访问中的相似或“共同”特征。在一些实施例中,相似特征可以基于行为相似度或周期性相似度,例如结合图2中的特征相似度确定器262所描述的。子步骤432的一些实施例基于历史访问(观察到的访问)与可能的当前访问序列之间的Levenschtein距离来确定访问序列相似度(例如,用户在可能的当前访问(或历史访问)之前访问的最近的K个位置的序列)。
子步骤432的一些实施例确定具有与可能的当前访问共同的至少一个特征的历史访问的子集。例如,一个子集可以包括与可能的当前访问在同一天的历史访问;另一子集可以包括具有与可能的当前访问相同的用户访问的先前位置的历史访问;又另一个子集可以包括具有与用户针对可能的当前访问的到达时间相同的、到某个位置的大概到达时间的历史访问。可以在子步骤434中使用历史访问的每个子集,以便基于子集的特征相似度模式来确定候选预测(因此,术语“基于模式”的预测)。
在子步骤434处,确定候选的基于模式的预测的集合。子步骤434的实施例确定关于用户的当前(或未来)位置的候选预测集合,并且可以基于具有与可能的当前访问共同的特定特征模式(或上下文模式)的历史访问的子集来确定每个候选预测。在一些实施例中,如本文所述,基于历史访问的子集中用户访问的后续或下一个位置来确定预测位置。
如示例方法400中所示,子步骤434包括用于确定特定候选的基于模式预测的子步骤4342-4348。因此,可以考虑在一些实施例中,子步骤434可以被执行多次;可以针对要确定的每个候选预测来执行子步骤4342-4348。在子步骤4342处,执行访问过滤。可以过滤在步骤420中确定的历史访问的集合,以识别具有与可能的当前访问(例如在子步骤432中确定的)共同的一个或多个特定类似特征模式的历史访问的子集。例如,子步骤4342可以确定历史访问的子集,其包括与可能的当前访问在一周的同一天发生的那些历史访问。子步骤4342的一些实施例可以由系统200的基于模式的预测器264或访问过滤器2642来执行,结合系统200(图2)对其进行了描述。结合系统200的访问过滤器2642和处理流程300的访问过滤3642,描述了关于子步骤4342的实施例的附加细节。
在子步骤4344处,针对与可能的当前访问的相似度对历史访问的子集进行评分。子步骤4344的实施例确定在子步骤4342中确定的历史访问的子集中的每个历史访问与可能的当前访问(或当前上下文)的相似度得分。在一些实施例中,基于与可能的当前访问共同的特征的数量(不管子步骤4342中用于确定子集的特定特征是什么)和/或基于其特征与可能的当前访问的特征的统计相似度,对每个历史访问进行评分。例如,在其中在子步骤432中确定了访问序列相似度并且可获得Levenschtein距离(或相似的统计相似度值)的实施例中,则可以利用该统计距离来对历史访问与可能的当前访问的相似度进行评分。子步骤4344的一些实施例可以由系统200的基于模式的预测器264或访问得分确定器2644来执行,结合系统200(图2)对其进行了描述。结合系统200的访问得分确定器2644和处理流程300的访问评分3644,描述了关于子步骤4344的实施例的附加细节。
在子步骤4346处,确定访问选择。步骤4346的实施例从在子步骤4344中确定的历史访问的子集中,基于历史访问与可能的当前访问的相似度得分,确定与可能的当前访问足够相似的示例访问的集合。子步骤4346的一些实施例使用相似度阈值,例如结合系统200(图2)中的预测器264所描述的,来确定与可能的当前访问足够相似的那些历史访问。具体而言,满足阈值的历史访问被确定为足够相似,并且可以在子步骤4348中使用或确定用户位置的候选预测。对于确定候选预测的特定预测器,满足相似度阈值的历史访问集合被称为示例集合。因此,基于相似度得分,历史访问的示例集合的每个成员包括与可能的当前访问共同的或与可能的当前访问足够相似的至少一个特征或上下文。在子步骤4346的一个实施例中,对于历史访问的每一天,在特定一天的其他访问中,选择当天中具有最高得分的访问(或一些访问)。(尽管在本文中使用了术语“选择”,但是可以预期,该选择是通过不需要人来执行选择的计算机相关过程来执行的。)如本文中先前描述的,相似度阈值可以是预先确定的、可调节的或自适应的、或者可以基于用户人数被初始设置为某个值,例如,可以基于关于特定用户得知的经验信息,或者可以基于历史观察的数量进行自适应。子步骤4346的一些实施例可以由系统200的基于模式的预测器264或访问选择器确定器2646来执行,结合系统200(图2)对其进行了描述。结合系统200的基于模式的预测器264和访问选择器确定器2646,以及处理流程300的访问选择3646,描述了关于子步骤4346的实施例的附加细节。
在子步骤4348处,确定候选预测。子步骤4348的实施例基于在子步骤4346中确定的历史访问的示例集合来确定关于用户的当前或预测位置(或一些位置)的候选的基于模式的预测。此外,在一些实施例中,子步骤4348还确定与候选预测有关的上下文信息,例如到达未来位置的时间、从推测的当前位置出发的时间、在未来位置的停留时长等。在一个实施例中,候选预测被确定为在具有最高观察计数的示例性访问中发生的位置,例如结合系统200(图2)中的基于模式的预测确定器2648所描述的。与子步骤4348中确定的候选预测一致的示例访问集合中的那些历史访问(例如具有对最高观察计数有所贡献的观察的那些特定示例访问)包括历史访问的“预测支持集合”。
在子步骤4348的一些实施例中,还确定与候选预测相对应的预测置信度。预测置信度可以指示推测或预测的用户位置准确的程度或可能性。可以如结合系统200中的基于模式的预测确定器2648所述来确定预测置信度;例如,在一个实施例中,如结合基于模式的预测确定器2648提供的实施例中所描述的,将预测置信度确定为与候选预测相对应的预测概率和预测显著性的乘积。子步骤4348的一些实施例可以由系统200的基于模式的预测器264或基于模式的预测确定器2648来执行,结合系统200(图2)对其进行了描述。结合系统200的基于模式的预测器264和基于模式的预测确定器2648,以及处理流程300的基于模式的预测3648,描述了关于子步骤4348的实施例的附加细节。
返回到子步骤434,子步骤436使用在子步骤434中确定的候选的基于模式的预测。在子步骤436,从在子步骤434中确定的候选的预测集合中选择基于模式的预测。子步骤436的一些实施例选择具有最高相应预测置信度的候选预测。子步骤436的一些实施例利用集成选择过程,由此每个候选预测投票或发表意见,并且基于此来选择特定的候选预测。此外,在一些实施例中,可以基于关于用户或访问得知的信息来对个体集成成员预测器进行加权。子步骤434(和步骤430)的输出包括用户位置的基于模式的推测或用户位置(或一些位置)的预测,并且还可以包括相关的上下文信息(例如,未来位置处的到达时间、从推测的当前位置出发的时间、停留时长、未来位置处的用户活动,或者本文中描述的示例)。步骤430和子集432-436的一些实施例可以由结合系统200(图2)描述的位置预测/推测引擎260来执行。结合系统200的位置预测/推测引擎260和处理流程300的基于历史的预测304描述了关于步骤430和子集432-436的实施例的附加细节。根据方法400的一些实施例,在步骤430中确定的基于模式的预测被提供作为用户的当前或未来位置的一致预测,并且在步骤460中使用。因此,方法400的一些实施例不包括识别显式信号(步骤440)也不执行合并(步骤450)。
在步骤440处,确定显式信号。如本文所述,例如,显式信号包括可以影响用户的位置的信息,包括与位置相关联的上下文或特征,例如到达时间或停留时长。例如,显式信号可以包括关于在用户的日历上安排的会议或由用户接收的关于即将到来的航班的电子邮件的信息。步骤440的一些实施例基于从用户数据收集组件210接收的用户数据来确定显式信号,其可以包括结合系统200描述的从用户帐户/活动数据248感测到或以其他方式确定的信息。在一些实施例中,可以基于针对与在步骤430中确定的基于模式的预测相对应的时间确定的关于用户的信息来确定显式信号。
此外,步骤440的一些实施例还确定与每个显式信号相关联的置信度级别。置信度级别可以指示特定显式信号的合法性或权威性(例如,强度);例如,较高的置信度可以指示:根据显式信号,用户的活动更有可能受到影响。因此,在一些实施例中,当通过提供对与显式信号相对应的推测位置是用户的当前位置的可能性的指示来将显式信号与基于模式的预测进行合并时,可以利用显式信号置信度。所确定的显式信号和相应的置信度(如果确定的话)可以存储于用户简档240的用户显式信号数据249。步骤440的一些实施例由结合系统200(图2)描述的显式信号确定器222或用户位置推测引擎220执行。结合系统200的用户位置推测引擎220和处理流程300的用户位置推测合并306,描述了关于步骤440的实施例的附加细节。
在步骤450处,将显式信号和基于模式的预测进行合并以确定用户的推测位置。步骤450的实施例对在步骤440中确定的显式信号(如果存在任何显式信号)和在步骤430中确定的基于模式的预测执行合并,以确定用户的当前或未来位置(或一些位置)的一致预测。当前或未来位置(一些位置)的一致预测可以包括语义位置,并且包括关于该位置的相关上下文信息。在步骤450的一些实施例中,当通过提供对与显式信号相对应的位置是用户位置而不是基于模式的预测中指示的位置的可能性的指示来将显式信号与基于模式的预测进行合并时,可以利用在步骤440中确定的显式信号置信度。
步骤450的一些实施例确定在步骤440中确定的任何显式信号与来自步骤430的基于模式的预测之间的冲突级别。如果不存在冲突,则可以将基于模式的预测确定为用户位置。另一方面,如果确定冲突(例如,其中显式信号指示用户位于第一位置或上下文中,而基于模式的预测指示用户位于其他位置或上下文中),则基于冲突级别(在一些情况下,以及显式信号的置信度),预测合并可以:用从显式信号得出的位置信息和上下文覆盖基于模式的预测;可以根据显式信号修改基于模式的预测(例如用户仍然可以访问由基于模式的预测所预测的位置,但是可以在与显式信号相对应的位置之后访问该位置);或者可以确定显式信号可能不会影响基于模式的预测,从而提供基于模式的预测作为一致预测。如本文所述,步骤450的一些实施例还确定与一致推测或预测位置有关的上下文信息,例如停留时长、场所、可能在该位置处执行的用户活动、从当前位置离开、可能在该位置出现的其他人(例如用户的朋友或联系人)或其他上下文信息。步骤450的一些实施例由结合系统200(图2)描述的用户-位置推测引擎220执行。结合系统200的用户位置推测引擎220和处理流程300的用户位置推测合并306,描述了关于步骤440的实施例的附加细节。
在步骤460处,位置消费者使用推测的用户位置或预测的未来位置。通过这样做,而不是使用诸如GPS的常规定位服务,可以延长用户设备的电池寿命。例如,在一个实施例中,位置消费者(如位置服务)使用推测的关于用户位置的位置信息来代替否则将使用常规位置-服务组件(如GPS传感器)来确定的位置信息。在一个实施例中,位置服务向OS/操作系统或使用位置信息的任何应用或服务提供推测的位置信息。在一些实施例中,位置服务可以控制(或与其他软件例程、服务或驱动器协同工作以控制)用户设备上的与位置有关的其他功能或服务。例如,位置服务或位置消费者可以禁用、关闭或修改GPS传感器/GPS相关服务的操作,以使这些组件不运行或使得不那么频繁运行,从而节省设备电池电量。类似地,位置服务可以提供推测的位置信息来代替原本将由常规位置-服务组件提供的位置信息。
现在转到图5,提供了流程图,其示出了用于确定和利用用户的下一个或未来的位置的预测的示例方法500。在步骤510处,确定当前访问。步骤510的实施例确定用户当前正在访问位置。在一些实施例中,可以从指示关于用户的位置信息的用户数据确定访问。例如,指示用户已经在相同的近似地理位置持续一段时间的用户数据可以指示访问。步骤510的一个实施例通过将指示用户在同一近似位置附近的连续(或基本连续)的用户位置数据进行级联来确定访问,并且在一些情况下,过滤异常值。步骤510的实施例可以由结合图2描述的系统200的位置归属282和访问识别器284或访问监测器280来执行。结合系统200的访问监测器280描述了关于步骤510的实施例的附加细节。
在步骤520处,确定当前访问的当前上下文。步骤520的实施例确定在步骤510中确定的访问的上下文。如本文所述,上下文可以包括例如关于用户的当前地理位置的信息、与当前访问有关的信息(例如到达时间、用户的先前位置、日期、时间、星期几)、当前位置的其他用户、检测到的用户活动、在该位置访问的场所,或如本文所述的用于确定访问特征的信息的其他当前上下文。在一些实施例中,确定上下文包括确定与该访问相关联的一个或多个特征。此外,在一些实施例中,可以从与当前访问有关的用户数据中提取与该访问相关联的上下文信息,并将其用于确定当前上下文,该当前上下文可以包括关于当前访问的特征。结合系统200的访问监测器280描述了关于步骤520的实施例的附加细节。可以如方法400的步骤410中所描述的那样执行步骤520的一些实施例。
在步骤530处,确定针对当前位置的用户历史访问。步骤530的实施例确定针对在步骤510中确定的当前访问的位置的相同或近似位置的历史访问集合。步骤530的一些实施例包括执行访问聚集,例如结合处理流程300(图3A和图3B)所描述的。可以如方法400的步骤420中所描述的那样执行步骤530的一些实施例。
在步骤540处,确定针对用户的下一个(或未来)位置的基于历史的预测。步骤540的实施例基于在针对(在步骤510中确定的)当前访问的(在步骤530中确定的)历史访问中识别出的相似度模式来确定针对用户的下一个或未来位置的预测。在步骤540的一些实施例中,确定一个或多个候选预测的集合,使得使用历史访问集合的子集来确定每个候选预测,该子集具有与当前访问共同的至少一个特征(或上下文)。例如,该至少一个共同特征可以基于周期性特征相似度或行为特征相似度,例如结合图2中的特征相似度确定器262所描述的。在这些实施例中,可以从候选预测的集合中选择特定的候选预测,作为在步骤540中确定的基于模式的预测。在实施例中,基于用每个候选预测确定的相应预测置信度来选择特定候选预测,例如结合系统200的基于模式的预测器264所描述的。可以如方法400的步骤430中所描述的那样执行步骤540的一些实施例,包括步骤430的子步骤。
在步骤550处,确定显式信号。步骤550的实施例确定可以影响用户的未来位置的信息的一个或多个显式信号,其可以包括与未来位置相关联的上下文或特征。在一些实施例中,可以基于针对与在步骤540中确定的基于历史的预测相对应的未来时间确定的关于用户的信息来确定显式信号。步骤550的实施例还可以确定与显式信号相关联的置信度级别,该置信度级别可以用于确定关于在步骤540中确定的未来位置预测,显式信号将影响用户的未来位置的可能性。可以如方法400的步骤440中所描述的那样执行步骤550的一些实施例。
在步骤560处,对显式信号和基于历史的预测进行合并。步骤560的实施例对在步骤550中确定的一个或多个显式信号与在步骤540中确定的基于历史的下一个位置预测进行合并,以确定用户的下一个或未来位置(或一些位置)的一致预测。另外,如本文所述,步骤560的一些实施例还确定关于下一个或未来位置的相关上下文信息,例如到达时间、停留时长、场所、可能在该位置处执行的用户活动、从当前位置离开、可能在该位置出现的其他人(例如用户的朋友或联系人)或其他上下文信息。在步骤560的一些实施例中,当将显式信号与基于历史的预测进行合并时,可以通过提供对用户将访问与显式信号相对应的未来位置而非基于模式的预测中指示的未来位置的可能性的指示来利用在步骤5500中确定的显式信号置信度。可以如方法400的步骤450中所描述的那样执行步骤560的一些实施例。
在步骤570处,提供针对用户的一致预测的下一个(或未来)位置。预测的下一个位置或未来位置可以包括语义位置,并且包括关于该位置的相关上下文信息。步骤570的一些实施例包括利用在步骤560中由结合系统200描述的一个或多个计算机应用或服务(例如预测位置消费者)确定的关于用户的未来位置的一致预测。例如,步骤570的一些实施例利用所确定的未来位置来向用户提供个性化或定制的计算体验。步骤570的一些实施例可以经由API提供一致预测的下一个(或未来)位置,以促进计算应用或服务(例如预测位置消费者)对预测的未来位置的消费。可以如方法400的步骤460中所描述的那样执行步骤570的一些实施例。结合系统200的推测或预测位置消费者270描述了关于步骤570的实施例的附加细节。
因此,我们已经描述了涉及用于提供针对用户的预测的未来语义位置信息的系统和方法的技术的各个方面。应该理解的是:本文中描述的实施例的各种特征、子组合和修改是实用的,并且可以在不参考其他特征或子组合的情况下在其他实施例中使用。此外,示例方法400和500中示出的步骤的次序和顺序并不意在以任何方式限制本文中描述的技术的范围,事实上,在本公开内容的实施例中,步骤可以以各种不同顺序发生。设想这样的变化及其组合也在本公开内容的实施例的范围内。
已经描述了本公开内容的各个实施例,现在对适用于实现本公开内容的实施例的示例性计算环境进行描述。参考图6,提供了示例性计算设备并通常将其称为计算设备600。计算设备600只是合适的计算环境的一个示例,并不意在暗示对本公开内容的使用范围或功能的任何限制。计算设备600也不应该解释为对所示出的任一组件或其组合有任何依赖性或要求。
本公开内容的实施例可以在计算机代码或机器可使用指令的一般性上下文中进行描述,其包括计算机可使用或计算机可执行指令,如由计算机或诸如个人数据助理、智能电话、平板PC或其它手持设备的其它机器执行的程序模块。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本公开内容的实施例可以在各种各样的系统配置中实施,这些系统配置包括:手持设备、消费电子产品、通用计算机、更专业的计算设备等。本公开内容的实施例还可以在分布式计算环境中实施,在分布式计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质(包括存储器存储设备)二者中。
参考图6,计算设备600包括:直接或间接耦接以下设备的总线610:存储器612、一个或多个处理器614、一个或多个呈现组件616、一个或多个输入/输出(I/O)端口618、一个或多个I/O组件620以及示例性电源622。总线610表示一个或多个总线(如地址总线、数据总线或者它们的组合)。虽然为了清楚起见,用线示出了图6的各个块,但实际上,这些块表示逻辑的、不一定是实际的组件。例如,可以认为呈现组件(如显示设备)是I/O组件。另外,处理器具有存储器。本发明人认识到这是本领域的特性,并重申:图6的图示仅是可结合本公开内容的一个或多个实施例来使用的示例性计算设备的例示。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等的类别之间不做区分,设想这些类别都在图6的范围之内,并且被称为“计算设备”。
计算设备600通常包括各种各样的计算机可读介质。计算机可读介质可以是可由计算设备600访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。通过举例而非限制的方式,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息、以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储所需的信息且可由计算设备600存取的任何其它介质。计算机存储介质不包括信号本身。通信介质通常体现为计算机可读指令、数据结构、程序模块或调制数据信号(如载波波形)或其它传输机制中的其它数据并且包括任何信息传递介质。术语“调制数据信号”意指具有其特性集合中的一个或多个特性或以对信号中的信息进行编码的方式改变的信号。通过举例而非限制的方式,通信介质包括诸如有线网络或直接线连接的有线介质,以及诸如声音、RF、红外线和其它无线介质的无线介质。上述各项中任意项的组合也应该包括在计算机可读介质的范围之内。
存储器612包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的或它们的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括从诸如存储器612或I/O组件620的各个实体读取数据的一个或多个处理器614。呈现组件616向用户或其它设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
I/O端口618允许计算设备600逻辑地耦接到其它设备,包括I/O组件620,其中一些可以是内置的。说明性组件包括麦克风、操纵杆、游戏垫、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件620可以提供对空中手势、语音或由用户生成的其他生理输入进行处理的自然用户界面(NUI)。在一些实例中,输入可以被发送到合适的网络单元用于进一步处理。NUI可以实现下列各项的任意组合:语音识别、触摸和手写笔识别、面部识别、生物计量识别、在屏幕上以及邻近屏幕的手势识别、空中手势、头眼跟踪以及与计算设备600上的显示相关联的触摸识别。计算设备600可以配备深度相机(诸如立体摄像系统、红外摄像系统、RGB摄像系统以及这些的组合)来用于手势检测和识别。另外,计算设备600可以配备能够进行运动检测的加速计或回转仪。加速计或回转仪的输出可以被提供给计算设备600的显示器,以呈现融入式增强的现实或虚拟现实。
计算设备600的一些实施例可以包括一个或多个无线电单元624(或类似的无线通信组件)。无线电单元624发送和接收无线电或无线通信。计算设备600可以是适于通过各种无线网络来接收通信和媒体的无线终端。计算设备600可以经由诸如码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”)等的无线协议来进行通信,以便与其他设备通信。无线电通信可以是短距离连接、长距离连接,或者短距离和长距离无线电信连接二者的组合。当我们提及“短”和“长”连接类型时,我们并不是意指两个设备之间的空间关系。相反,我们通常将短距离和长距离称为连接的不同类别或类型(即主要连接和次要连接)。通过示例而非限制的方式,短距离连接可以包括到设备(例如,移动热点)的
Figure BDA0003072737130000441
连接,该设备提供对无线通信网络的接入(例如使用802.11协议的WLAN连接);到另一个计算设备的蓝牙连接是短距离连接的第二示例,或者近场通信连接。通过示例而非限制的方式,长距离连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一个或多个的连接。
在不脱离所附权利要求书的范围的前提下,所描绘的各个组件以及未示出的组件的许多不同布置是可能的。已经用旨在是说明性而非限制性的方式对本公开内容的实施例进行了描述。替代实施例在阅读本公开内容之后以及由于阅读本公开内容将变得显而易见。在不脱离所附权利要求书的范围的前提下,可以完成实现前述内容的替代手段。某些特征和子组合是实用的,并且可以在不参考其它特征和子组合的情况下使用,并且被认为在权利要求书的范围内。
实施例1。一种用于确定用户的未来语义位置信息的计算机化方法,所述方法包括:确定与所述用户对当前位置的当前访问相关联的当前上下文;确定针对当前位置的历史用户访问的集合;基于历史用户访问的集合和当前上下文,确定针对用户的下一个位置的基于历史的预测;确定与用户相关联的显式信号集合,该显式信号包括关于用户的未来位置的信息;对来自该显式信号集合和基于历史的预测的信息进行合并,以确定用户的未来位置的一致预测;以及提供用户的未来位置的一致预测。

Claims (15)

1.一种用于改善用户设备的电池寿命的计算机化系统,包括:
一个或多个传感器,其被配置为提供用户数据;
一个或多个处理器;以及
具有存储在其上的计算机可执行指令的计算机存储单元存储器,所述计算机可执行指令在由所述处理器执行时实现用于提供推测的用户位置的方法,所述方法包括:
使用所述一个或多个传感器来确定所述用户的当前上下文;
确定所述用户针对可能的当前位置的历史访问集合;
基于所述当前上下文和所述历史访问集合,确定所述用户的位置的基于模式的推测;
确定针对所述用户的显式信号,其指示与所述用户在对应于所述基于模式的预测的时间处的可能位置有关的信息;
执行所述显式信号与基于模式的预测的合并,以确定所述用户的位置的一致推测;以及
向至少一个推测位置消费者提供所述用户的位置的所述一致推测。
2.根据权利要求1所述的计算机化系统,其中,所述推测位置消费者使用所述用户的位置的推测的一致推测而非任何其他位置信号。
3.根据权利要求1所述的计算机化系统,其中,所述用户的位置的所述一致推测包括所述用户的语义位置,其至少包括:可能的停留时长、从所述用户的位置的所述一致推测的可能的离开时间、在所述用户的位置的所述一致推测处可能进行的用户活动、所述用户的位置的所述一致推测的场所,或者在所述用户的位置的所述一致推测处可能存在的另一个人。
4.根据权利要求1所述的计算机化系统,其中,所述基于模式的推测是基于在所述历史访问集合的子集中具有最高观察计数的可能位置来确定的。
5.根据权利要求4所述的计算机化系统,其中,历史访问的所述子集中的每个历史访问至少包括与可能的当前访问共同的行为特征模式或周期性特征模式。
6.根据权利要求1所述的计算机化系统,其中,确定所述当前上下文包括确定所述可能的当前访问的一个或多个特征,并且其中,确定所述基于模式的推测包括:
确定候选的基于模式的推测的集合,每个候选的基于模式的推测是使用所述历史访问集合的子集来确定的,所述历史访问集合的每个子集具有与所述可能的当前访问共同的至少一个特征;
用每个候选的基于模式的推测来确定相应的预测置信度;以及
选择具有最高预测置信度的所述候选推测作为所确定的基于模式的推测。
7.根据权利要求6所述的计算机化系统,其中,将所述预测置信度确定为与所述候选推测相对应的预测概率和预测显著性的乘积。
8.根据权利要求6所述的计算机化系统,其中,确定所述候选的基于模式的预测的集合包括,对于每个候选预测:
执行访问过滤以确定所述历史访问的子集;
确定所述子集中每个历史访问相对于所述可能的当前访问的相似度得分;
基于所述相似度得分与相似度阈值的比较,从所述历史访问的子集中确定历史访问的示例集合,所述示例集合包括具有满足所述相似度阈值的相似度得分的那些历史访问;以及
将所述候选的基于模式的推测确定为所述示例集合中最频繁出现的位置。
9.根据权利要求8所述的计算机化系统,其中,针对每个历史访问的所述相似度得分基于与所述可能的当前访问共同的特征的数量,并且其中,所述相似度阈值是预定的或基于所述子集中的所述历史访问的数量。
10.根据权利要求8所述的计算机化系统,其中,确定每个历史访问的相似度得分包括:使用Levenschtein距离确定所述历史访问与所述可能的当前访问之间的访问序列相似度。
11.根据权利要求1所述的计算机化系统,其中,所述显式信号包括与所述用户的可能位置相关联的信息,并且其中,所述显式信号包括指示航班、预定事件、非常规事件或短暂信息的信息。
12.一种计算设备,其包括计算机存储器和计算机处理器,所述计算机设备被配置为允许计算机应用或服务确定并利用用户位置的预测,以提供所述计算设备上的改善的电池寿命,所述计算设备包括:
存储在所述计算机存储器上的计算机程序,所述计算机程序具有计算机指令,当由所述计算机处理器执行时,所述计算机指令使所述程序:
确定可能的当前用户位置的当前上下文;
确定与所述可能的当前位置有关的、所述用户的历史访问集合;
基于所述当前上下文和所述历史访问集合,确定所述用户的位置的基于历史的预测;
确定针对所述用户的、与在对应于用户位置的所述基于历史的预测的时间处所述用户的可能位置有关的显式信号;
将所述显式信号与基于历史的预测进行合并,以确定用户位置的一致推测;以及
向推测位置消费者提供所述用户位置的所述一致推测。
13.根据权利要求12所述的计算设备,其中,所述用户位置的所述一致推测包括所述用户的语义位置,其至少包括:在所述用户位置的一致推测处的预期的停留时长、从所述用户位置的一致推测的预期的离开时间、在所述用户位置的一致推测处可能进行的用户活动、所述用户位置的一致推测的场所,或者在所述用户位置的一致推测处可能存在的另一个人。
14.根据权利要求12所述的计算设备,其中,确定所述当前上下文包括确定所述可能的当前访问的多个特征,并且其中,所述计算机指令在由所述计算机处理器执行时,确定具有所述可能的当前访问的所述多个特征的历史访问的子集,并且其中,将所述基于历史的预测确定为所述子集中具有最高观察计数的位置。
15.根据权利要求14所述的计算设备,其中,所述多个特征包括行为模式特征或周期性特征。
CN201980076108.XA 2018-11-19 2019-11-13 使用推测的位置来节省电池寿命 Withdrawn CN113039818A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/194,611 2018-11-19
US16/194,611 US20190090197A1 (en) 2015-04-29 2018-11-19 Saving battery life with inferred location
PCT/US2019/061047 WO2020106499A1 (en) 2018-11-19 2019-11-13 Saving battery life using an inferred location

Publications (1)

Publication Number Publication Date
CN113039818A true CN113039818A (zh) 2021-06-25

Family

ID=69165555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980076108.XA Withdrawn CN113039818A (zh) 2018-11-19 2019-11-13 使用推测的位置来节省电池寿命

Country Status (3)

Country Link
EP (1) EP3868135A1 (zh)
CN (1) CN113039818A (zh)
WO (1) WO2020106499A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140128105A1 (en) * 2012-11-06 2014-05-08 Intertrust Technologies Corporation Activity Recognition Systems and Methods
US20140278071A1 (en) * 2013-03-12 2014-09-18 Incredible Labs, Inc. Estimating times to leave and to travel
US20150038162A1 (en) * 2013-07-30 2015-02-05 Google Inc. Inferring a current location based on a user location history
CN108351992A (zh) * 2015-11-13 2018-07-31 微软技术许可有限责任公司 根据活动预测的增强型计算机体验

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11127020B2 (en) * 2009-11-20 2021-09-21 Palo Alto Research Center Incorporated Generating an activity inference model from contextual data
US8855901B2 (en) * 2012-06-25 2014-10-07 Google Inc. Providing route recommendations
US9838848B2 (en) * 2015-06-05 2017-12-05 Apple Inc. Venue data prefetch
US9872150B2 (en) * 2015-07-28 2018-01-16 Microsoft Technology Licensing, Llc Inferring logical user locations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140128105A1 (en) * 2012-11-06 2014-05-08 Intertrust Technologies Corporation Activity Recognition Systems and Methods
US20140278071A1 (en) * 2013-03-12 2014-09-18 Incredible Labs, Inc. Estimating times to leave and to travel
US20150038162A1 (en) * 2013-07-30 2015-02-05 Google Inc. Inferring a current location based on a user location history
CN108351992A (zh) * 2015-11-13 2018-07-31 微软技术许可有限责任公司 根据活动预测的增强型计算机体验

Also Published As

Publication number Publication date
EP3868135A1 (en) 2021-08-25
WO2020106499A1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
CN110476176B (zh) 用户目标辅助技术
US10909464B2 (en) Semantic locations prediction
US10567568B2 (en) User event pattern prediction and presentation
CN107924506B (zh) 用于推断用户可用性的方法、系统及计算机存储介质
CN111656324B (zh) 个性化的通知代理
US10748121B2 (en) Enriching calendar events with additional relevant information
US10185973B2 (en) Inferring venue visits using semantic information
JP6494640B2 (ja) 要求されたユーザーデータのプライバシーフィルタリング及び状況によりアクティブ化されるプライバシーモード
WO2019133264A1 (en) Enhanced computer experience from personal activity pattern
CN107851243B (zh) 推断物理会议位置
US10320913B2 (en) Service content tailored to out of routine events
US20160321616A1 (en) Unusualness of Events Based On User Routine Models
WO2016196999A1 (en) Personally impactful changes to events of users
WO2016161078A1 (en) Inferring user sleep patterns
US11436293B2 (en) Characterizing a place by features of a user visit
US20220078135A1 (en) Signal upload optimization
US20190090197A1 (en) Saving battery life with inferred location
CN113039818A (zh) 使用推测的位置来节省电池寿命

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20210625

WW01 Invention patent application withdrawn after publication