首页> 中国专利> 基于访问可能性对附近目的地排名以及从位置历史来预测对地点的未来访问

基于访问可能性对附近目的地排名以及从位置历史来预测对地点的未来访问

摘要

在一些示例中,系统和技术能够基于用户的位置为用户提供相关联系人信息。在一些示例中,用户的位置被提供至服务器,所述服务器对用户联系人以及与用户相关联的其它信息进行处理以确定哪些用户联系人与用户的当前位置相关。相关联系人然后可以被呈现给用户。在其它示例中,系统和技术能够预测用户可能在近期访问的地点并且自动为用户提供有关这样的地点的信息。预测服务器能够获取用户的位置历史并且基于该位置历史使用各种模型中的任何一个来预测用户可能在将来访问的地点,然后在用户访问该地点之前将与该地点相关的信息呈现给用户。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-06

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06N5/02 变更前: 变更后: 申请日:20130621

    专利权人的姓名或者名称、地址的变更

  • 2017-12-19

    授权

    授权

  • 2015-05-13

    实质审查的生效 IPC(主分类):G06N5/02 申请日:20130621

    实质审查的生效

  • 2015-04-15

    公开

    公开

说明书

背景技术

诸如智能电话和平板电脑的移动设备已经开发了能够被提供给忙 碌用户的各种新的服务。移动设备的地理位置可以使用多种用于确定 其位置的技术中的任意技术来确定,所述技术包括通过参考蜂窝网络 塔、WiFi定位和/或全球定位系统(GPS)。在用户选择运行服务使用 其地理位置的情况下,能够通过本地设备来提供基于位置的服务。

基于位置的服务是能够在移动设备上通过移动网络进行访问并且 使用有关移动设备的地理位置的用户信息的信息或娱乐服务。第一代 基于位置的服务可以包括用于识别人或物体的位置的服务,诸如发现 最近的银行取款机或联系人的行踪。这样的服务还可以包括例如通过 基于消费者的当前位置提供针对该消费者的优惠券或广告的移动商 业。它们可以进一步包括个性化的天气服务甚至基于位置的游戏。

对于用户的位置信息(例如,个性化和历史获知的位置信息)的 更具粒度的理解能够允许提供更为复杂的服务。例如,当用户出差时, 用户的移动设备能够生成位置历史,其包括诸如每个所访问的位置的 经度、维度和时间戳之类的数据点。然而,用户所访问的企业或其它 目的地的列表将会更具价值。拥有这样的信息可能通过在用户选择签 到时为他们呈现正在访问的企业的名称而允许用户更为容易地使用社 交应用进行“签到”。电子商务应用可能包括递送与用户实际访问的 企业相关的礼券或广告。移动设备可以具有为用户提供其在给定的一 天或多天去过的地点的日志的应用。许多其它改进的基于位置的服务 都能够被提供以这样的信息。

通常,确定用户访问了何处能够使用本地搜索引擎来完成。本地 搜索引擎是允许用户提交针对本地企业收录的结构化数据库的地理上 受限的搜索的搜索引擎。然而,结果不是始终准确的。从移动设备得 到的位置信息不是始终精确的。GPS能够提供良好的结果,但是在室内 (包括诸如商场之类的地点)或诸如“都市峡谷”之类的难以接收GPS 信号的其它地点却并非如此。企业也可能非常紧密地聚集在一起,包 括在单个建筑物包括许多企业或者一个企业可能处于另一个企业上方 或下方的情况。企业也可能在地理上不是分立的—一个示例是也具有 餐厅的旅馆;知道访客是否在这样的地点用餐或停留将会是有用的。 再另外地,本地搜索数据库可能没有用于区分邻近企业的坐标的精确 信息。所有这些都使得本地搜索引擎在这些情形之下提供不准确的结 果。

发明内容

在一个示例中,本公开描述了一种使用计算机处理器基于来自用 户位置历史的地理位置来以访问可能性的降序对用户可能访问的目的 地排序的方法。依据该示例,该方法包括针对来自用户位置历史的地 理位置,由该处理器对接近于该地理位置的目的地进行本地搜索,该 地理位置具有与之相关联的时间,该搜索至少提供目的地的名称以及 距该地理位置的距离。该方法还可以包括由该处理器针对该本地搜索 所返回的每个目的地计算访问可能性,该访问可能性作为至少在该目 的地与该地理位置之间的距离以及在关联于该地理位置的时间与跨时 间的访问可能性分布之间的比较的函数来计算。该方法可以进一步包 括由该处理器以访问可能性的降序对本地搜索所返回的目的地中的至 少一些排序,以针对该地理位置选择最可能访问的目的地。

在另一个示例中,本公开描述了一种由计算机处理器基于来自用 户位置历史的地理位置来以访问可能性的降序对用户可能访问的目的 地排序的方法。依据该示例,该方法包括针对来自用户位置历史的地 理位置,由该处理器针对接近该地理位置的目的地进行本地搜索,该 地理位置具有与之相关联的时间矢量,该时间矢量包括多次访问的开 始和结束时间,该搜索至少提供该目的地的名称以及距该地理位置的 距离。该方法可以包括由该处理器针对本地搜索所返回的每个目的地 计算访问可能性,该访问可能性作为至少在该目的地与该地理位置之 间的距离以及在与该地理位置相关联的时间矢量与跨时间的访问可能 性分布之间的比较的函数来计算。另外,该方法可以包括以访问可能 性的降序对本地搜索所返回的至少一些目的地排序,以针对该地理位 置选择最可能被访问的目的地。

在另外的示例中,本公开描述了一种用于基于来自用户位置历史 的地理位置来以访问可能性的降序对用户可能访问的目的地排序的系 统。依据该示例,该系统包括计算机处理器和计算机存储器,该计算 机存储器连接至该处理器并存储指令,用于使得该处理器针对来自用 户位置历史的地理位置对接近于该地理位置的目的地进行本地搜索, 该地理位置具有与之相关联的时间,该搜索至少提供目的地的名称以 及距该地理位置的距离。该计算机存储器还存储指令,用于使得该处 理器针对该本地搜索所返回的每个目的地计算访问可能性,该访问可 能性作为至少在该目的地与该地理位置之间的距离以及在关联于该地 理位置的时间与跨时间的访问可能性分布之间的比较的函数来计算。 该计算机存储器还存储指令,用于使得该处理器以访问可能性的降序 对本地搜索所返回的目的地中的至少一些排序,以针对该地理位置选 择最可能访问的目的地。

在另外的示例中,本公开描述了一种用于自动为用户提供与该用 户可能访问的地点相关的信息的方法。依据该示例,该方法包括接收 用户的位置历史并且将该位置历史存储在存储器中,以及使用耦合至 该存储器的处理器从该位置历史中提取用户先前访问过的地点以及指 示用户是否在时隙的多个过去实例中的任意一个期间访问过该地点的 访问历史数据。该方法还可以包括使用该处理器基于该访问历史数据 来确定该用户是否可能在时隙的未来实例期间访问该地点,并且如果 确定用户可能在时隙的未来实例期间访问该地点,则使用该处理器在 该时隙的未来实例开始之前输出与该地点相关的信息。

在另一个示例中,本公开描述了一种用于自动为用户提供与该用 户可能访问的地点相关的信息的系统。依据该示例,该系统包括处理 器以及其上存储有供该处理器执行的指令的存储器。该指令包括位置 历史模块,其接收用户的位置历史并且将该位置历史存储在存储器中; 访问预测模块,其从该位置历史中提取用户先前访问过的地点以及指 示用户是否在时隙的多个过去实例中的任意一个期间访问过该地点的 访问历史数据,以及基于该访问历史数据来确定该用户是否可能在时 隙的未来实例期间访问该地点;和输出模块,如果确定用户可能在时 隙的未来实例期间访问该地点,则其在该时隙的未来实例开始之前输 出与该地点相关的信息。

在另外的示例中,本公开描述了一种用于自动为用户提供与该用 户可能访问的地点相关的信息的移动设备。依据该示例,该移动设备 包括处理器以及其上存储有供该处理器执行的指令的存储器。该指令 包括位置历史模块,其接收用户的位置历史并且将该位置历史存储在 存储器中;访问预测模块,其从该位置历史中提取用户先前访问过的 地点以及指示用户是否在时隙的多个过去实例中的任意一个期间访问 过该地点的访问历史数据,以及基于该访问历史数据来确定该用户是 否可能在时隙的未来实例期间访问该地点;和输出模块,如果确定用 户可能在时隙的未来实例期间访问该地点,则其在该时隙的未来实例 开始之前输出与该地点相关的信息。

附图说明

图1示意性图示了根据本公开的各方面的示例移动网络;

图2是用于根据访问可能性对用户可能访问的目的地排序的示例 技术的流程图;

图3A、3B和3C图示了对本公开有用的跨时间的访问可能性分布;

图4图示了本公开针对用户“签到”过程的应用;

图5是计算机系统的一个示例的示意图;

图6是预测服务器的一个示例的示意图;

图7是示意性描绘基于位置历史来预测未来访问的示例技术的流 程图;

图8是示意性描绘输出与预测用户访问的地点相关的信息的示例 技术的流程图。

图9是移动设备的示例的示意图。

具体实施方式

这里所公开的系统和技术提供了在出现在一个地理区域中的同时 基于用户实际访问目的地的可能性对目的地排名的能力。在一些示例 中,来自用户的位置历史的地理位置可以被用来执行本地搜索以找出 与用户的地理位置相接近的企业或其它目的地。可以应用包括基于时 间的访问可能性分布的技术来计算用户实际访问附近目的地的可能 性,并且可以基于该可能性对目的地排名,使得能够在进一步的应用 中使用最具可能性的目的地。

现在将对某些示例进行描述以提供对这里所公开的系统和技术的 结构、功能、制造和使用的原理的整体理解。这些示例中的一个或多 个示例在附图中进行图示。本领域技术人员将会理解,这里特别描述 并且在附图中进行图示的系统和技术是非限制性示例,并且本公开的 范围仅由权利要求进行限定。结合一个示例进行图示或描述的特征可 以与其它示例的特征相结合。这样的修改和变化意在包括于本公开的 范围之内。

用户的位置可以基于用户的移动设备的位置进行推断。位置信息 能够以各种时间间隔进行存储以提供设备和用户的位置历史。该位置 历史能够存储在移动设备上的高速缓存和/或其它存储器中,和/或能够 通过移动网络被传送至服务器并且存储在远程数据存储中。用户可以 被提供对(例如,由关联于用户或者由用户所使用的计算设备所执行 的)程序或特征是否收集用户信息(例如,有关用户位置的信息,或 者诸如有关用户联系人、社交网络连接、社交行为或活动、偏好等的 其它信息),和/或用户的移动设备是否和/或如何基于所收集的信息从 内容服务器接收内容进行控制的机会。此外,某些数据可以在其被存 储或使用之前以一种或多种方式被处理,使得无法针对用户确定个人 可识别信息。另外,可以关于获得位置信息的位置对用户的地理位置 进行一般化处理(诸如到城市、ZIP码或州的级别),使得无法确定用 户的特定位置。以这些方式,用户可以对内容服务器如何收集和使用 信息加以控制。

图1图示了用于提供基于位置的服务的移动网络100的示例。在所 图示的示例中,移动网络100包括通信网络110和移动设备120。移动设 备120能够经由各种接入点130连接至通信网络110。虽然为了示例目的 图示了一个移动设备120和一个接入点130,但是移动网络可以包括任 意数量的移动设备和接入点。

移动设备120可以是被配置为通过移动网络交换数据的任意设备, 诸如移动电话、平板电脑、膝上电脑等。移动设备120还可以是或可以 包括并非必然“移动”的设备,诸如台式计算机。例如,通信网络110 可以是支持GSM、TDMA或CDMA技术的网络或者是任意其它形式的 无线网络,例如IEEE 802.11、蓝牙或其它Wi-Fi网络,或者是有线和无 线网络的组合。接入点130可以是在移动设备120和通信网络110之间提 供网关的无线电接收器或传送器的形式。例如,接入点可以是无线路 由器或蜂窝网络塔。在一些示例中,移动设备120还可以接收从GPS卫 星140传送的GSP信号。

在所图示的示例中,移动网络100还包括位置服务器150,其能够 经由通信网络110与移动设备120交换数据。位置服务器150例如可以包 括与数字数据存储170通信耦合的数字数据处理器160。

位置服务器150能够在一个或多个计算设备上实施。这样的计算设 备可以包括但并不限于一个或多个个人计算机、工作站、小型计算机、 集群计算机系统和/或嵌入式系统。位置服务器150的一些或全部功能也 可以在移动设备120自身上实施。这样的计算设备还可以包括但并不限 于具有用于执行和存储指令的一个或多个处理器和存储器的设备。这 样的计算设备可以包括软件、固件和硬件。软件可以包括一个或多个 应用和操作系统。硬件可以包括但并不限于处理器、存储器和图形用 户界面显示器。位置服务器150可以使用硬件、软件或者它们的组合来 实施,并且可以在计算机系统或其它处理系统中实施。

图2中图示了用于以访问可能性的降序对用户可能访问的目的地 排序的示例技术200。该技术可以包括获得地理位置数据,或者其可以 对先前存在的位置历史数据进行操作。如图2所示,技术200在步骤210 开始,其中获得地理位置数据。例如,该地理位置数据可以从诸如图1 的移动设备120的移动设备生成的位置历史数据获得,并且经由接入点 130和通信网络110通过移动网络100传输至位置服务器150。位置数据 还能够诸如在用户使用提供“签到”的任意数量的社交应用在一个位 置进行这样的签到时被位置服务器150获得。

位置数据能够由移动设备使用用于确定位置的多种技术中的任意 一个来获取。例如,位置数据能够由移动设备使用GPS接收器来获取。 全球定位系统(GPS)是基于空间的卫星导航系统,其提供地球上或接 近地球的具有指向四个或更多GPS卫星的无障碍视线的任何地方的位 置和时间信息。该系统能够由任何人利用GPS接收器进行自由访问,并 且许多智能电话和其它移动设备都包括GPS接收器。该位置数据还可以 使用其它技术来确定,诸如到已知位置的蜂窝塔(或其它移动网络接 入点)的接近度或者移动设备和多个这样的塔之间的三角计算。

在一些示例中,位置数据能够被移动设备获取并且本地存储在该 设备的存储器上。在一些示例中,能够在该移动设备上使用设备上的 处理器对位置数据进行处理。在其它示例中,该位置数据能够被传输 至位置服务器以便进行处理。例如,位置数据能够被获取并直接传送 至位置服务器。在一些示例中,位置数据能够被存储在移动设备上并 且以预定间隔被传送至位置服务器。例如,例如在天、周、月等时间 段期间获取的位置数据能够被存储在移动设备上并且在该时间段结束 时传送至位置服务器。在一些示例中,位置数据能够被获取并存储在 移动设备上直至满足某些条件,例如接入到无线网络,并且然后被传 输至位置服务器。在一些示例中,位置数据能够被存储在位置服务器 上,例如存储在图1的数字数据存储170中,直至已经接收到覆盖多日 的数据。该位置数据可以包括历史位置数据以及当前位置数据。

位置数据能够由移动设备以各种间隔进行获取。在一个示例中, 位置数据能够由移动设备在每天期间以规则间隔进行获取。例如,位 置数据能够每分钟获取多次,每分钟获取一次,每小时获取一次,每 两小时获取一次,或者以任意其它时间间隔进行获取。为了构建对这 里所描述的技术更为有用的位置历史,更为频繁的位置采样与位置数 据获取之间的较长间隔相比会更好。

位置数据能够采取(经度,维度,日期,时间)的形式。位置数 据还可以包括表示该位置数据点的准确性估计的准确性半径。根据位 置数据的类型,该准确性半径的范围从数米到数千米。例如,GPS位置 数据可以具有数米的准确性半径,而蜂窝网络塔位置则可以具有数千 米的准确性半径。

位置数据还能够由位置服务器150以多种方式进行处理。具体地, 能够对原始地理位置数据进行处理以生成“访问地点”地理数据。例 如,能够对位置数据进行处理以通过计算附近位置数据点的集群的质 心来将原始位置数据与一个地点相关。位置历史数据点的集群能够被 定义为在物理上互相接近的位置数据点的集合,并且质心可以被定义 为数据点的集群的地理中心。这能够被称作基于距离的聚类。例如, 对于在预计用户在家的时间段期间—例如在晚间—收集的多个数据 点,可能存在对应于用户的房子内不同位置的数据点,例如厨房、卧 室、起居室等。针对该时间段的位置数据可能表现出纬度和经度的小 幅变化,但是都将与单个地点—家相关。因此,这样的在一段时间内 是地理上接近的点能够被视为表示单个地点的集群。也可能存在由于 位置数据的不准确所导致的位置数据变化,这能够通过这样的聚类来 缓和。

此外,其它处理可能包括用于获得诸如地址或企业名称之类的有 关位置的信息反向地理编码查找。例如,可以使用被称作地理编码和 反向地理编码的过程将位置数据从地理坐标转换为人类可读取的地 址。地理编码是指其中例如1600Amphitheatre Parkway,Mountain View, CA的人类可读取地址能够被转换为以例如纬度37.423021和经度 -122.083739的地理坐标的位置数据的过程。反向地理编码是指逆向过 程,即将地理坐标转换为地址。这样的信息能够随位置数据一起进行 存储,或者其可以被用来形成集群—例如通过对与单个地址相关的位 置数据进行聚类。这可以被称作基于地址的聚类。

通过这样的聚类表示的数据可以采取经度、纬度、开始时间和结 束时间的形式,其中经度和纬度是针对质心而言而开始和结束时间则 表示用户出现在特定场所的时间跨度。经聚类的位置数据还可以包括 半径,其可以反映出位置测量的不准确性、人在该集群内的移动或者 这二者。此外,该数据能够反映出在用户的位置历史数据内针对相同 地点的多次访问。在这样的示例中,该数据可以包括访问时间的矢量, 其中每个访问时间包括(开始时间,结束时间)对。

如图2所示,技术200在步骤220继续进行,其中针对来自用户位置 历史的地理位置进行本地搜索。该地理位置至少包括一个定位和一个 时间。在一些示例中,该地理位置还包括半径或者距该位置的距离。 该半径可以从有关获取该地理位置的技术的准确度信息得出,或者其 可以基于集群内的位置变化。替选地,能够使用预先选择的值。进行 本地搜索的目的是返回接近于该地理位置的目的地。通常,目的地是 企业、地址或其它可在地图上表示的特征,其能够表示用户可能已经 访问过的地点。在一些示例中,该目的地是企业。

本地搜索能够在本地搜索引擎上进行。本地搜索引擎是试图返回 处于特定地理区域之内的企业收录和/或相关网页的搜索引擎。对于本 地搜索而言,用户可以输入搜索查询并且指定要在其附近执行该搜索 查询的地理区域。本地搜索引擎向用户返回相关结果,诸如该地理区 域中的企业收录和/或与涉及该地理区域的相关网页。

在一些示例中,通过利用来自用户历史的地理位置以及要进行搜 索的半径对本地搜索引擎加以调用来进行本地搜索。例如,本地搜索 可能针对维度和经度以及半径来进行,该半径例如为200米。该经度和 纬度通常是来自用户位置历史的集群中的一个点或质心。该半径可以 如以上所描述的那样进行计算,或者其可以被预先选择,诸如200米。 200米的半径在位置数据的预期准确度处于100米的量级的情况下会是 有帮助的。以这种方式,能够确信用户的实际目的地处于作为本地搜 索的一部分而进行搜索的区域之内。此外,本地搜索可以包括对于从 该区域所返回的企业数量的限制N。例如,指定N=10可以将来自200米 半径内的结果数量限制为10个。

通常,本地搜索能够返回半径以内的企业的名称。本地搜索还可 以返回企业和该地理位置之间的距离(或者以其它方式指定其关于该 地理位置的相对定位)。本地搜索还可以返回每个所定位的企业的类 别。例如,餐厅可以返回“食品”类别,而旅馆可以返回“住宿”类 别。

本地搜索还可以返回“突出性分值”。突出性分值可以被用来将 更为突出或知名的企业排名在该半径之内较不知名的企业之前,因为 与在地理上最接近于地理位置测量的企业相比,用户更可能访问更加 知名的企业。该位置突出性分值可以基于与用户对其进行搜索的地理 区域无关的因素集合。在一些实施方式中,该因素集合可以包括以下 中的一个或多个因素:(1)与权威文档(例如,企业的网页)相关联 的分值;(2)引用企业的文档总数;(3)引用该企业的文档的最高 分值;(4)具有企业评论的文档数量;和(5)提到该企业的信息文 档的数量。在其它实施方式中,该因素集合可以包括另外或不同的因 素。有关突出性分值的另外信息能够在O'Clair等人的题为“Scoring  Local Search Results Based on Location Prominence”的美国专利No. 7822751中找到,该专利授权于2010年10月26日并且在表面上被授予 Google公司。

返回参考图2,示例技术200在步骤230继续,其中针对本地搜索引 擎所返回的每个目的地,将与该地理位置相关联的时间与跨时间的访 问可能性分布进行比较。如以上所提到的,与地理位置相关联的时间 可能是用于单个位置读取的单个时间和日期戳,或者其可能是开始时 间和结束时间(例如,在地理位置表示一段时间内的位置集群的情况 下),或者其可以是表示用户针对相同地点的多次访问的开始和结束 时间的时间矢量。

图3A、3B和3C中图示了示例访问可能性在时间上的分布。图3A 针对类别“食品”310提供了可能性分布。在该分布中有7行,其中每 一行具有24个条目。该示例中的行表示一周中的每天,其中第一行表 示星期天,第二行表示星期一等等。每一行由24个成员组成,其表示 每天的24小时(例如,从0到23点)。数字自身表示在该星期的指定小 时期间访问所识别类型的企业的可能性。数字处于[1,9]的范围之内, 其中1表示用户在该时间进行访问的可能性最小,而9则表示用户在该 时间进行访问的可能性最大。这些并非实际概率并且无需相加总和为1 或者任意其它特定数值。

图中提供了三个分布,其中图3A图示了针对类别“食品”的分布 310,图3B图示了针对类别“住宿”的分布330,而图3C图示了针对类 别“行政区域”的分布。如可能预见到的,最可能访问食品企业的时 间对应于用餐时间,其中最高值出现在中午、1:00pm、6:00pm和7:00pm。 访问住宿的可能性在睡觉时间期间为最高。例如,以这种方式,在用 户访问具有餐厅和旅馆的地点的情况下,如果在3:00am则他们更可能 访问旅馆,而如果在1:00pm则他们更可能访问餐厅。类似地,对于行 政区域而言,该可能性在非工作时间非常低。

时间可能性分布并不需要采用任何特定格式。例如,该分布可以 是静态的,或者它们可以基于例如当他们使用手机和/或社交应用在特 定企业进行“签到”时来自用户的反馈而有所变化。该分布也可以根 据场所而变化—例如在西班牙巴塞罗那,晚餐时间可能与爱荷华Des  Moines有所不同。再进一步地,该分布可以由等式而不是表进行表述, 并且在可能性变化之间可以有更大或更小的间隔。

也可以在使用可以由本地搜索引擎或者另一种类型的搜索引擎提 供的企业的开门和关门时间的示例技术中应用时间。例如,本地搜索 引擎可以包括企业开门的时间,使得可以将这些时间与访问时间进行 比较以帮助确定用户访问该企业的可能性。

再次返回图2,针对本地搜索240所返回的每个潜在目的地计算访 问可能性。该计算考虑了目的地距地理位置的距离,并且还考虑了跨 时间的访问可能性,但是还可以包括其它因素。在一些示例中,该计 算通过取得本地搜索所返回的每个目的地并且对其中每一个执行以下 步骤以便生成可能性(或log(可能性))来进行。首先,针对访问该地 点的每个时间从可能性时间分布中找出可能性。如果企业落入具有分 布的多于一个的类别之内,则可以使用最高可能性的类别。如果存在 多于一个的访问则能够获得平均可能性,并且能够将该可能性的对数 用作用户访问该目的地的整体可能性的一部分。从地理位置到该目的 地的距离的对数可以以使得邻近地点的分值高于较远地点的方式与该 可能性进行结合。突出性分值的对数也可以被添加至该可能性,使得 更为突出的目的地能够具有比较不突出的目的地更高的分值。对这些 分值进行加总能够提供能够随该技术使用的log(可能性)总数。

在另外的示例中,能够使用以下公式来计算log(可能性):

log可能性=

a*log(突出性分值)

-b*log(距离)

+c*log(企业开门时的访问次数)

-d*log(企业关门时的访问次数)

+e*log(该企业类别跨访问的平均可能性)

在该示例中,乘数a、b、c、d和e被用来改变每个元素能够对总的 可能性分值所施加的影响的量。除了跨时间的企业类别可能性分布之 外,该示例还考虑了企业的开门和关门时间。也可以使用其它公式来 将这些或其它因素组合到反映用户访问本地搜索所返回的一个或多个 目的地的可能性的分值之中。

再次参考图2,在步骤250,以访问可能性的降序对至少一些目的 地排名。以这种方式,能够在增加了在用户实际访问可能目的地的可 能性方面进行了排名的用户可能目的地的了解的情况下进行进一步的 处理。在一些示例中,该信息能够被用来为用户提供更为相关的广告 或者将用户与更为相关的信息进行匹配。也就是说,基于用户的位置 历史,如果能够认为用户可能访问某个目的地,则与该目的地相关的 广告或其它信息将可能与该用户更为相关。该用户将由于该可能性排 名而接收到更好的信息。

在另一个示例中,用户能够在尝试使用任意数量的社交网络应用 进行签到时被提供更好的信息。现在参考图4,图示了诸如智能电话的 移动设备上运行的社交应用的典型签到屏幕400。在该示例中,用户想 要在加利福尼亚山景城的目的地进行签到。在这种情况下,在移动设 备上运行的应用基于如在移动设备上所测量的用户的地理位置为用户 提供目的地列表。最接近目的地410在顶端列出,在下面提供了接下来 的最近目的地的列表420。用户能够选择这些目的地中的一个以便进行 签到。使用以上所描述的技术和系统,该列表可以被改进以不仅显示 出最接近目的地(要记住位置确定不始终都是确切的)而且还示出用 户最可能访问的目的地。也就是说,用户可能访问的目的地将被置于 该列表顶端,这使得用户更容易进行签到。此外,在用户没有针对目 的地进行签到的情况下,该事实可以是导致返回可能性计算的因素。 例如,当用户在未来访问相同的地理位置时,以上公式可以包括项 “+f*log(在该目的地签到的次数)”。以这种方式,该算法能够对用户 返回已经访问过的地点的可能性加以考虑。

图5图示了可以被用来实施图1的移动设备120或预测服务器150的 计算机系统500的示例架构。虽然这里描绘并描述了示例计算机系统 500,但是将要意识到这是出于一般性和便利的原因。在其它示例中, 计算机系统500可以在架构和操作上与这里所示出并描述的有所不同。

所图示的计算机系统500包括处理器502,其例如通过执行操作系 统(OS)、设备驱动器、应用程序等对计算机系统500的操作进行控制。 处理器502可以包括任意类型的微处理器或中央处理单元(CPU),包 括可编程通用或专用微处理器和/或任意的各种私有或可商业获得的单 处理器或多处理器系统。计算机系统500还包括存储器504,其为要由 处理器500执行的代码或者要由处理器502处理的数据提供临时或永久 性存储。存储器504可以包括只读存储器(ROM)、闪存、一个或多个 的各种随机存取存储器(RAM)和/或存储器技术的组合。计算机系统 200的各个部件耦合至总线系统506。所图示的总线系统506是表示通过 适当桥接器、适配器和/或控制器进行连接的任意一个或多个单独物理 总线、通信线路/接口和/或多支路或点对点连接的抽象。

计算机系统500还包括网络接口508、输入/输出(I/O)接口510、 存储设备512和显示控制器514。网络接口508使得计算机系统500能够 通过网络与远程设备(例如,其它计算机系统)进行通信。I/O接口510 促成一个或多个输入设备、一个或多个输出设备以及计算机系统500的 各种其它组件之间的通信。存储设备512可以包括用于以非易失性和/ 或非瞬时的方式存储数据的任意常规介质。存储设备512因此可以以持 久的状态保存数据和/或指令(即,尽管计算机系统500的电力中断也能 够保留数值)。存储设备512可以包括一个或多个硬盘驱动器、闪存驱 动器、USB驱动器、光学驱动器、各种媒体盘或卡和/或它们的任意组 合,并且可以直接连接至计算机系统500的其它组件或者诸如通过网络 与之远程连接。显示控制器514包括视频处理器和视频存储器,并且依 据从处理器502接收的指令生成要在一个或多个显示上进行显示的图 像。

预测服务器150或移动设备120执行的各种功能能够在逻辑上被描 述为由一个或多个模块执行。将要意识到的是,这样的模块能够以硬 件、软件或者它们的组合来实施。将要进一步意识到的是,当以软件 实施时,模块可以是单个程序或者一个或多个单独程序的一部分,并 且能够在各种环境中实施(例如,作为操作系统、设备驱动器、独立 应用和/或它们的组合的一部分)。此外,体现一个或多个模块的软件 能够作为可执行程序存储在一个或多个非瞬时计算机可读存储介质 上。这里被公开为由特定模块执行的功能也能够由任意其它模块或模 块组合执行,并且预测服务器150或移动设备120可以包括比这里所示 出和描述的更少或更多的模块。图6是预测服务器150的示例的模块的 示意图。

如图6所示,预测服务器150可以包括位置历史模块600,其被配置 为针对预测服务器150的每个用户接收和/或维护位置历史。

在一些情况下,用户的当前位置能够从用户所拥有的移动设备或 其它物体的当前位置推断。在图1所示的示例中,移动设备120可以被 配置为针对选择加入的用户并且依据所发布的隐私策略定期使用移动 网络100将其当前位置传输至位置历史模块600。这能够以每分钟数次、 每分钟一次、每小时一次或者以任意其它规则或分散的时间间隔进行。 移动设备120可以使用任意各种已知技术来确定或估计其当前位置,诸 如通过处理GPS信号,通过检测与的蜂窝塔、WiFi热点或其它移动接入 点130的接近度,或者通过在移动设备120和多个这样的接入点130之间 进行三角计算。

位置历史模块600还可以从其它源接收用户的当前位置,诸如在用 户使用任意数量的提供“签到”的社交应用在一个位置进行这样的签 到时,在用户通过在特定位置插上大头针(drop a pin)指示其当前位 置或者使用地图软件进行同样选择时,或者在用户对针对其当前位置 的提示作出响应时。

位置历史模块600可以被配置为在位置历史中存储用户的位置数 据。该位置历史可以包括能够针对其获得用户的位置数据的时间戳以 及对应于每个时间戳的位置的表。该位置历史还可以包括用户在其间 处于特定位置的时间段,这能够通过开始时间和结束时间进行指定。 该位置可以以包括经度、维度和准确度半径的格式来指定。该准确度 半径可以表示位置数据的准确度的估计。该准确度半径的范围取决于 位置数据的源从数米到数千米。例如,从GPS取得的位置数据可以具有 数米的准确度半径,而从蜂窝塔取得的位置数据可以具有数千米的准 确度半径。位置历史模块600还可以从移动设备120接收原始接近度或 其它数据,并且能够在服务器侧执行任何必要的三角计算或位置计算。

在一些示例中,位置历史模块600可以被配置为按照批量而不是瞬 时数据点来接收用户的位置历史或者其一部分。例如,用户的移动设 备可以被配置为以各种数据间隔来存储位置数据以构建设备和用户的 位置历史。用户可以被提供控制例如由与用户相关联或者由其使用的 计算设备执行的程序或特征是否能够收集用户信息(例如,与用户的 位置相关的信息,或者其它信息,诸如与用户的联系人、社交网络连 接、社交行为或活动、职业等相关的信息),和/或控制是否和/或如何 基于所收集的信息从内容服务器接收内容。此外,某些数据可以在其 被系统存储或使用之前以一种或多种方式被处理,使得无法针对用户 确定个人可识别信息,或者可以在获得位置信息的地方对用户的地理 位置进行一般化处理(诸如到城市、ZIP码或州的级别),使得无法确 定用户的特定位置。以这些方式,用户可以对内容服务器如何收集和 使用信息加以控制。

位置历史能够存储在移动设备上的高速缓存或其它存储器中,或 者其能够以预定间隔通过通信网络110被传送至预测服务器150。例如, 在例如天、周、月等时间段期间所获取的位置数据能够被存储在移动 设备上并且在该时间段结束时传送至预测服务器150。在一些示例中, 位置数据能够被获取并存储在移动设备上直至满足某些条件,例如能 够接入到无线网络,并且能够然后被传输至预测服务器150。

用户的位置历史中的位置数据能够由移动设备120和/或预测服务 器150以各种方式进行处理。例如,位置数据能够进行处理以通过针对 邻近位置数据点的集群计算质心来将原始位置数据与所访问的地点相 关。位置数据点的集群能够被定义为在物理上互相接近的位置数据点 的集合,并且质心可以被定义为数据点的集群的地理中心。这能够被 称作基于距离的聚类。例如,对于在用户在家的时间段期间所收集的 多个数据点,可能存在对应于用户的房子内不同地点的数据点,例如 厨房、卧室、起居室等。针对该时间段的位置数据可能表现出纬度和 经度的小幅变化,但是都将与单个场所—家相关。因此,这样的在一 段时间内是地理上接近的点能够被视为表示单个地点的集群。还可能 存在由于数据的不准确所导致的位置数据的变化,其影响通过这样的 聚类受到限制或者被去除。这样的集群所表示的数据能够被指定为时 间戳的系列,每个时间戳具有相对应的位置(例如,质心的经度和纬 度),或者可以被指定为开始时间、结束时间和相对应的位置。

位置数据的处理还可以包括获得对应于地理位置的附加信息,上 述地理位置诸如与该位置相关联的地址或企业名称。例如,可以使用 被称作地理编码和反向地理编码的过程将地理坐标转换为人类可读取 的地点,反之亦然。地理编码是指其中查询(例如,诸如“1600 Amphitheatre Parkway,Mountain View,CA”的人类可读取地址)能够 被转换为以地理坐标(例如纬度37.423021和经度-122.083739)的位置 数据的过程。反向地理编码是指逆向过程,即将地理坐标转换为地址、 地点等。该信息能够随位置数据一起存储在用户的位置历史中或者能 够被用来形成集群—例如,通过对涉及单个地址的位置数据进行聚类。 这可以被称作基于地址的聚类。

位置历史模块600因此能够针对预测服务器150的每一个用户接收 和/或保存位置历史,该位置历史指示该用户先前所访问过的多个地点。

预测服务器150还可以包括访问预测模块602,其被配置为对位置 历史模块600接收或保存的位置历史进行处理并且预测用户可能在未 来访问的地点。访问预测模块602能够使用各种概率性的和其它模块来 进行这样的预测。

在一些示例中,访问预测模块602能够采用马尔科夫链模型来在半 规则的基础上预测未来对用户过去访问过的地点的访问。这样的模型 对于基于以分段固定行为(即,当用户长期近乎规则地做一些事并且 随后突然将行为改变为新的模式)进行预测是特别有效的,因为其能 够快速挑选出符合行为改变的新的模式。

图7图示了能够由这样的示例中的访问预测模块602执行的示例预 测技术。虽然这里所公开的各种技术可以关于一个或多个流程图被示 出,但是应当注意的是,这样的流程图或者其描述所隐含的任何步骤 顺序都不应被理解为将该技术限制为以该顺序执行步骤。相反,这里 所公开的每个技术的各个步骤能够以任意的各种顺序来执行。此外, 如(多个)流程图所图示的仅是示例,与所图示的相比包括另外步骤 或包括更少步骤的各种其它示例也处于本公开的范围之内。

所图示的技术在步骤700开始,其中访问预测模块602从用户的位 置历史提取所访问的地点的列表。如以上所提到的,能够使用基于距 离的、基于地址的或其它聚类技术来防止稍有不同但是对应于同一个 大概地点的位置数据点被解释为两个单独的地点,由此防止了所访问 地点的列表中的重复收录。此外,用户可以被提供对例如由关联于用 户或者由用户所使用的计算设备执行的程序或特征是否收集用户信息 (例如,有关用户位置的信息,或者诸如有关用户联系人、社交网络 连接、社交行为或活动、偏好等的其它信息)、和/或控制用户的移动 设备是否和/或如何基于所收集的信息从内容服务器接收内容进行控制 的机会。此外,某些数据可以在其被存储或使用之前以一种或多种方 式被处理,使得无法针对用户确定个人可识别信息,或者可以在获得 位置信息的地方对用户的地理位置进行一般化处理(诸如到城市、ZIP 码或州的级别),使得无法确定用户的特定位置。以这些方式,用户 可以对内容服务器如何收集和使用信息加以控制。

在步骤702,访问预测模块602针对步骤700中生成的所访问地点的 列表中的每个地点创建多个访问矢量,每个访问矢量对应于特定时隙。 每个访问矢量因此对应于一个所访问的地点和一个时隙。访问矢量可 以包括布尔值(例如,0或1,F或T等)的流。该流中的每个元素对应 于该矢量与之相对应的时隙的实例,并且每个元素的值指示用户是否 在该元素所表示的时隙实例期间访问该矢量与之相对应的地点。例如, 访问矢量可以被定义为对应于所访问的地点“地点A”以及时隙“星期 二4:00PM”。在这种情况下,该矢量中的每个元素对应于星期二的 4:00PM时隙的唯一实例(例如,第周的星期二4PM,第二周期间的星 期二4PM,等等)。具有值“T”的元素指示用户在该元素所表示的一 周中的星期二4PM访问了地点A,而具有值“F”的元素指示用户没有 在该元素表示的一周中的星期二4PM访问地点A。

针对其创建了矢量的时隙的数量可以在示例之间有所变化。例如, 在一些示例中,访问预测模块602能够针对所访问地点的列表中的每个 位置创建48个矢量,每个矢量对应于表示从用户当前时间起的接下来 48小时的48个时隙中的一个。在其它示例中,访问预测模块602能够针 对所访问地点的列表中的每个位置创建7个矢量,每个矢量对应于表示 从用户当前时间起的接下来7天的7个时隙中的一个。

定义时隙的方式可以在示例之间有所变化。此外,能够使用单个 时隙定义,或者访问预测模块602能够使用多种不同的时隙定义方案创 建访问矢量并且基于一种或多种的所述方案进行预测。示例的时隙定 义方案包括以下。

在第一时隙定义方案中,能够基于一周中的特定一天以及一天中 的特定时间(例如,星期二4:00PM和星期六9:00AM)来定义时隙。在 这样的定义中每个时隙的实例以每周为频率出现。因此,长度为4的示 例访问矢量(即,具有对应于四个时隙实例的四个元素的矢量)能够 被指定为:(第1周星期二的4:00PM,第2周星期二的4:00PM,第3周星 期二的4:00PM,第4周星期二的4:00PM),其中第1、2、3和4周是连续 的周。如果用户在每隔一个星期二的4:00PM访问了该矢量与之相对应 的地点,则上述访问矢量可以是TFTF。如果用户从来没有在星期二的 4:00PM访问该地点,则该访问历史矢量将为FFFF。如果用户每星期二 的4:00PM都访问该地点,则访问历史矢量将为TTTT。

在第二时隙定义方案中,可以仅基于一天中的特定时间(例如, 12:00PM或3:00PM)来定义时隙。在这样的定义中,每个时隙的实例以 每天为频率出现。因此,长度为4的示例访问矢量可以被定义为(第1 天的12:00PM,第2天的12:00PM,第3天的12:00PM,第4天的12:00PM), 其中第1、2、3和4天是连续的天。如果用户仅在第2和3天的12:00PM访 问了该矢量与之相对应的地点,则该访问矢量将为FTTF。

在第三时隙定义方案中,能够基于特定工作日在工作日的特定时 间来定义时隙。在这样的定义中,每个时隙的示例以工作日为频率发 生。因此,长度为4的示例访问矢量可以被指定为(第1工作日的3:00PM, 第2工作日的3:00PM,第3工作日的3:00PM,第4工作日的3:00PM), 其中第1、2、3和4工作日是连续工作日(例如,星期一-星期二-星期三 -星期四或者星期四-星期五-星期一-星期二)。

在第四时隙定义方案中,单个时隙可以被定义为周末两天中的任 一天或两天。在这样的定义中,时隙的实例以每周为频率出现。因此, 长度为4的示例访问矢量可以被指定为(第1周,第2周,第3周,第4周), 其中第1、2、3和4周是连续周。在该方案中,一周可以被定义为在星 期一开始并且在星期天结束(使得特定周的星期六和特定周的星期天 以连续两天出现)。如果用户在第1周的星期六和第4周的星期天访问 了该矢量与之相对应的地点,但是并未在第2或3周周末的任何一天访 问该位置,则该访问矢量将为TFFT。类似地,如果用户在第1至4周期 间的每个星期六都访问了该地点,则该访问矢量将为TTTT。

在第五时隙定义方案中,单个时隙可以被定义为两周周期中的周 末四天中的至少一天。在这样的定义中,该时隙的实例以每两周为频 率出现。因此,长度为4的示例访问矢量可以被指定为(第1和2周,第 3和4周,第5和6周,第7和8周),其中第1至8周是连续周。在该方案 中,一周可以被定义为在星期一开始并且在星期天结束(使得特定周 的星期六和特定周的星期天以连续天出现)。如果用户在第1周的星期 六和第6周的星期天访问了该矢量与之相对应的地点,但是并未在任何 其它周末的任何一天访问该地点,则该访问矢量将为TFTF。

将要意识到的是,在各个示例中可以使用任意数量的其它时隙定 义而并不背离本公开的范围。

在一些示例中,访问预测模块602能够针对出现在用户位置历史中 的每个位置创建访问矢量。48个访问矢量对应于紧接用户当前时间之 后的48小时长的时隙,并且根据以上所描述的第一时隙定义方案进行 定义。因此,如果在星期二的10:00PM执行图7的技术,则将针对星期 二11:00PM、星期三12:00AM、星期三1:00AM、...、星期四9:00PM和 星期四10:00PM为每个位置创建访问矢量。

在步骤704开始,在步骤702创建的访问矢量可以被处理以进行访 问预测。在以下讨论中,访问矢量中连续元素的集合可以被称作“子 流(sub-stream)”。属性X能够针对子流被定义为该子流中的正元素 的数量。属性Y能够针对子流被定义为该子流中的元素总数。子流因此 能够根据对(X,Y)进行分类。同义地,子流能够被称作属于“(X,Y)” 类型或者为“(X,Y)子流”。

访问预测模块602能够对特定访问矢量执行函数TotalExamples(X, Y)或“T(X,Y)”以返回(X,Y)类型的子流在该访问矢量中出现的次数。 仅有在该访问矢量中后跟有能够被用来通知预测的后续元素的子流才 被该TotalExamples函数进行计数。该TotalExamples函数可以具有三个 输入:所要处理的访问矢量,指示要被计数的子流类型中的正值数量 的值X,以及指示所要计数的子流类型的长度的值Y。因此,对访问矢 量V执行函数T(2,3)将会返回具有长度3的V中的子流的总数,恰好包括 两个正元素并且后跟有一个后续元素。

考虑示例访问矢量V=TFTF。在该访问矢量中,T(2,3)将返回值 “1”,这是因为该矢量中仅有一个恰好具有两个正值、长度为3并且 后跟有一个后续元素的子流(由TFT组成的子流)。该子流在该访问矢 量中后跟有后续元素F。访问预测模块602能够作为最近子流在该矢量 中历史出现后跟有正元素的次数除以TotalExamples函数所返回的数来 计算概率系数。该概率系数可以被解释为用户在该矢量所表示的时隙 的下一个实例中访问该矢量所表示的地点的百分比可能性。在以上的 示例矢量V中,类型(2,3)的子流后跟有正元素的次数为0。因此,如果 在未来遇到类型(2,3)的子流作为该访问矢量中最近的子流,则访问预 测模块602会发现用户在该矢量与之相对应的时隙的下一个实例有 0/1=0%的机会访问该地点。

在相同的访问矢量V中,T(2,3)将会返回数值“2”,因为在该矢 量中有恰好具有一个正值、长度为2并且后跟有后续元素的两个子流 (由TF组成的第一子流以及由FT组成的子流)。由TF所组成的第二子 流未包括在计数之中,这是因为其后面没有跟着后续元素(即,它是 该矢量中最近的子流)。第一子流TF后跟有后续元素T。子流FT后跟有 后续元素F。因此,如果在未来遇到作为该访问矢量中的最近子流的类 型(1,2)的子流,则访问预测模块602会发现用户在该矢量与之相对应的 时隙的下一个实例有1/2=50%的机会访问该地点。

在相同的访问矢量V中,T(1,1)将会返回数值“2”,因为在该矢 量中有恰好具有一个正值、长度为1并且后跟有后续元素的两个子流 (由T组成的第一子流以及由T组成的第二子流)。在这两种情况下, 子流T都后跟有后续元素F。因此,如果在未来遇到作为该访问矢量中 的最近子流的类型(1,1)的子流,则访问预测模块602会发现用户在该矢 量与之相对应的时隙的下一个实例有0/2=0%的机会访问该地点。

在相同的访问矢量V中,T(0,1)将会返回数值“1”,因为在该矢 量中仅有一个恰好具有零个正值、长度为1并且后跟有后续元素的子流 (由F组成的第一子流)。由F组成的第二子流未包括在计数之中,这 是因为其后面没有跟着后续元素(即,它是该矢量中最近的子流)。 第一子流F后跟有后续元素T。因此,如果在未来遇到作为该访问矢量 中的最近子流的类型(0,1)的子流,则访问预测模块602会发现用户在该 矢量在与之相对应的时隙的下一个实例中有1/1=100%的机会访问该地 点。

由于这些情况中的多种能够被应用于给定访问矢量,所以系统能 够基于具有最多证据且具有最多细节的那个来选择使得其预测以其为 基础的一个或多个模型。换句话说,能够选择马尔科夫模型的级数(Y 值)对更多证据(感兴趣子流的更多次出现)与更多细节(感兴趣子 流中的更多元素)进行平衡。这能够通过使用Y的不同数值(即,不同 级数的马尔科夫链模型)或者以其它一些方式对访问矢量进行迭代分 析来执行。

在所图示的技术中,在步骤704中第一访问矢量被选择以便进行处 理。随后,在步骤706,访问预测模块602以Y的上限Y_MAX(例如, Y=4)作为开始并且选择该访问矢量中最后的Y元素作为感兴趣子流 (例如,在Y=4时的4个最近元素)。在决策框708,确定Y是否大于零。 如果Y大于零,则执行进行至步骤710。否则,在步骤712返回概率零并 且执行进行至决策框720。

在步骤710,访问预测模块602对感兴趣子流中的正元素的数量进 行计数以获得X的数值。因此,如果Y的初始值为4,并且该访问矢量的 最后四个元素为FTTF,则X被确定为2,因为在访问矢量的这部分中有 两个正元素。在该示例中,感兴趣子流被确定为类型(2,4)。访问预测 模块602随后使用X和Y的这些数值对该访问矢量执行TotalExamples函 数以对类型(X,Y)的子流在整个访问矢量中出现的次数进行计数。如果 TotalExamples函数返回零或非常小的数值(例如,小于5,小于3或小 于2),则访问预测模块602能够确定Y的初始值过大而无法获得使得预 测以其为基础的有意义的历史信息。换句话说,该模型的细节过多而 没有足够的证据。因此,在决策框714,T(X,Y)所返回的数值与阈值进 行比较。如果T(X,Y)大于阈值,则执行进行至步骤716。否则,在步骤 718对Y进行递减(例如,递减1)并且执行返回至决策框708,这使得 以上过程针对新的Y数值进行重复。

该过程能够重复直至TotalElements函数所返回的数值在决策框 714中超过阈值数。在一些示例中,该阈值数可以为3。一旦达到或超 过该阈值数,就在步骤716计算用户在该访问矢量所表示的时隙的下一 个实例中访问该访问矢量所表示的地点的概率。访问预测模块602能够 通过对类型(X,Y)的子流在访问矢量中后跟有正值的次数进行计数,并 且然后将该计数除以T(X,Y)的结果。该比率能够指示正元素跟随感兴 趣子流的估计概率。针对每个矢量所估计的概率能够被访问预测模块 602存储在存储器中。

执行然后进行至决策框720,其中确定是否还有任何未处理的访问 矢量。如果还有未处理的访问矢量,则执行返回步骤704,在那里如以 上所描述的那样选择并处理下一个未处理的访问矢量。否则,执行在 步骤722结束。

在随后更为详细的示例中,假设相当于6个月的位置数据被存储在 用户的位置历史中。在该位置历史中,地点“餐厅A”(用户最喜欢的 餐厅之一)出现了数次。因此,该系统针对餐厅A创建多个访问矢量, 每一个对应于不同时隙。假设星期三6:00PM的时隙的访问矢量如下:

T F F F T T F T F T F T T F F F T F T F T F T F T T

由于位置历史由6个月(或26周)的位置数据所组成,所以有26 个星期三6:00PM的时隙的实例并且星期三6:00PM的时隙的访问矢量具 有长度26。该矢量中的正元素指示用户在该元素的位置在矢量中所表 示的那周的星期三6:00PM访问了餐厅A。在这种情况下,该矢量中的最 后三个元素是FTT,这表示用户在过去两个星期三的6:00PM访问了餐 厅A,但是在倒数第三个星期三的6:00PM没有访问餐厅A。

以Y=4的初始值作为开始,获得X=3的数值。(在该矢量的最后四 个元素中有三个正元素)。T(3,4)返回数值2,因为该矢量中仅有两个 后跟有后续元素的(3,4)子流:

TTFT(其后跟有F),和

TFTT(其后跟有F)。

由于T(3,4)=2小于阈值数量(该示例中3),所以Y递减1并且重复 该过程。

使用新的数值Y=3,获得X=2的数值。(在该矢量的最后三个元素 中有两个正元素)。T(2,3)返回数值11,因为该矢量中有11个后跟有后 续元素的(2,3)子流:

FTT(其后跟有F),

TTF(其后跟有T),

TFT(其后跟有F),

TFT(其后跟有F),

TFT(其后跟有T),

FTT(其后跟有F),

TTF(其后跟有F),

TFT(其后跟有F),

TFT(其后跟有F),

TFT(其后跟有F),和

TFT(其后跟有T)。

由于T(2,3)=11大于阈值(该示例中3),所以所返回的数据能够 被用来形成预测。如所示出的,有三个后跟有正元素的(2,3)子流,以 及总共11个(2,3)子流。因此,访问预测模块602能够确定用户将有3/11 或27%的机会在下一个星期三的6PM访问餐厅A。该概率能够关联于该 访问矢量进行存储。如以下关于输出模块604所讨论的,该概率确定能 够被用来决定是否自动为用户提供有关餐厅A的信息(例如,餐厅A所 在的城市或城镇的天气,用户当前位置与餐厅A的位置之间的路线上的 交通等等)。

在图7的技术中,在针对特定地点没有足够的位置历史数据来关于 用户是否将在未来访问该地点作出有把握的预测时(例如,在没有返 回大于子流实例的阈值数量的Y数值时)返回概率零。然而,在一些示 例中,访问预测模块602替选地能够使用其它信息源形成预测。例如, 替代将其分析限制于针对特定地点的用户的位置历史数据,访问历史 模块602能够使用与该特定地点类似类型的所有地点的位置历史数据。 因此,例如,如果没有充分的位置历史数据来作出有关餐厅A这个地点 的预测,则访问预测模块602能够使得其预测以用户过去对任意餐厅的 访问为基础。或者,如果餐厅A是意大利餐厅,则访问预测模块602能 够使得其预测以用户过去对任何意大利餐厅的访问为基础。

如果还是没有足够的信息来作出有把握的预测,则访问预测模块 602能够使得其预测以预测服务器150的其他用户的位置历史数据为基 础。例如,访问预测模块602能够依赖于所有其他用户对于特定地点的 访问。访问预测模块602还能够依赖于在人口统计学上类似于当前用户 的其他用户(例如,同样有孩子的其他用户,或者相同年龄的其他用 户)对该特定地点的访问。访问预测模块602还能够依赖于其他用户对 相同类型的地点的访问(例如,总体上与对所讨论的特定餐厅的访问 相对的对意大利餐厅的访问)。

虽然以上描述了马尔科夫链模型,但是能够使用其它技术来作出 有关用户在将来是否会访问一个地点的预测。例如,替代迭代地递减Y 直至找到子流实例的适当或阈值数量,访问预测模块602能够使用beta 先验技术。

在beta先验技术中,访问预测模块602基于Y=1和Y=Y_MAX之间 的所有Y值计算概率。针对Y的每个数值所计算的概率然后基于确信度 因数进行调节以形成预测。

以上技术在作出有关相对频繁(例如,以半规则的基础)被访问 的地点的预测时是特别有用的。针对较不频繁访问的地点,访问预测 模块602能够使用其它技术。

例如,访问预测模块602能够使用随机森林模型来进行有关较不频 繁访问的地点的预测。替代基于特定时隙的实例形成访问矢量,能够 基于对该地点的每次访问之间所流逝的时间数量而针对所访问的地点 创建访问矢量。换句话说,该访问矢量中的每一个元素表示一次访问, 并且每个元素的数值表示自该访问发生起所流逝的时间数量(例如, 天、周、月等的数量)。因此,每隔一个星期六进行访问的地点将具 有被指定为(14,28,42,56,70)的访问矢量。该访问矢量还能够被指定为 使得每个元素的数值表示连续访问之间所流逝的天数。因此,每隔一 个星期六进行访问的地点将具有被指定为(14,14,14,14,14)的访问矢 量。为了当存在小于必要的访问数量时获得特定长度的访问矢量,该 矢量可以被填入零。因此,例如,如果期望长度为5的访问矢量但是仅 具有两次访问,则该矢量能够被指定为(0,0,0,14,28)。

在针对每个位置获得访问矢量之后,机器学习系统能够被用来预 测用户是否将在特定时间窗口(例如,在下一周,在随后10天,在下 个月等)再次访问该地点。本领域已知的各种机器学习系统都能够被 用于这一目的,诸如WEKA开源机器学习工具集。通常,机器学习系 统具有两个输入。

首先,机器学习系统被提供有后跟有是或否的各种矢量的训练集 合。该训练矢量可以是从各种源(例如,当前用户的位置历史,所有 用户的位置历史,特定人口统计的所有用户的位置历史,特定地点的 位置历史,特定类型的地点的位置历史,等等)选择的访问矢量。

第二,机器学习系统被提供有查询矢量。该查询矢量可以是当前 用户针对所讨论地点的以往访问的矢量。

机器学习系统在遇到矢量之后查看训练集合中该矢量以往的出现 以及发生了什么(例如,是否及何时发生了后续访问)。与仅计算概 率相对,机器学习系统遵循一系列决策树并且输出有关用户是否可能 在接下来一周、两周、一个月等内访问该地点的预测。

在一些示例中,能够使用其它学习模型,诸如基于连续的、缓慢 变化的行为假设对访问建模的一种学习模型。这样的模型能够使用更 长的矢量作为证据但是基于访问是在多久之前发生而使得其权重下 降。

预测服务器150还可以包括输出模块604,其被配置为输出有关预 测用户要进行访问的地点的信息。例如,输出模块604能够向用户的移 动设备发送包括这样的信息的文本消息、电子邮件或推送通知。作为 另外的示例,输出模块604能够输出指示用户的移动设备显示该信息或 者将移动设备的web浏览器指向包含该信息的网站的指令。输出模块 604所生成的输出能够作为数据传输经由移动网络100发送至移动设备 120,移动设备120进而能够被配置为将该输出显示或以其它方式呈现 给用户。对用户的呈现可以在独立应用、设备主屏、本原应用中进行, 或者在该移动设备上执行的任意其它程序中进行。

在一些示例中,输出模块604能够通过将访问预测模块602针对每 个访问矢量生成的概率与预定阈值概率进行比较来确定是否输出信 息。示例阈值概率可以包括10%、20%、30%、40%、50%、60%、70%、 80%、90%或者通过常规实验被确定为有用的任意其它数值。在与矢量 相关联地存储的概率超过阈值的情况下,能够输出有关该矢量与之相 对应的地点的信息。因此,如果阈值概率为20%,并且访问预测模块602 确定用户将有60%的机会在星期三的6:00PM访问餐厅A,则输出模块 604能够输出有关餐厅A的信息。输出的时间可以随示例而有所变化, 然而在一些示例中,该输出在相关时隙之前不久执行。因此,在以上 示例中,能够在相关的6:00PM时隙之前一个小时的星期三5:00PM生成 输出。

输出模块604能够输出能够从互联网或者从用户的移动设备获得 的涉及相关地点和/或相关时隙的任意各种类型的信息。例如,输出模 块604能够输出用户去往相关地点的路线的交通更新,相关地点的天气 预报,在该相关地点附近生活或工作的用户联系人的联系信息,有关 该相关地点的新闻报道,等等。

图8中示出了输出有关预测用户要访问的地点的信息的一种示例 技术。图8的技术能够定期运行或者在任意各种时间偶发地进行。在一 些示例中,该技术由预测服务器150在夜间执行。

该技术在步骤800开始,其中位置历史模块600接收或获取用户的 位置历史。将要意识到的是,位置历史模块600自身能够保存用户的位 置历史,在这种情况下,其可以不必主动接收或获取它。接下来,在 步骤802,访问预测模块602针对一个或多个时隙对于用户位置历史中 的每个访问地点作出未来访问预测。如以上参考图7的技术所描述的, 访问预测模块602能够针对每个地点/时隙的组合例如以用户将在该时 隙期间访问该地点的百分比可能性的形式生成预测。

在步骤804,选择所述预测中的第一个进行分析。该预测的概率或 其它量化数值在决策框806中与阈值量进行比较。如果该概率超过阈 值,则在步骤808中输出有关该地点和/或时隙的信息以便呈现给用户。 如果该概率未超过阈值,则在决策框810中确定是否还有未处理的预 测。如果是,则执行返回步骤804,其中如以上所描述地选择下一个未 处理的预测并且进行处理。如果没有未处理的预测,则执行在步骤812 结束。

因此,使用所说明的技术,用户能够被自动提供涉及他们可能在 近期访问的地点的信息,而并不要求用户主动或手工搜寻该信息。

在一些示例中,以上所公开的由预测服务器150执行的一些或全部 功能也能够替代地由移动设备120来执行。图9是用于在这样的示例中 使用的移动设备的模块的示意图。除了如这里所提到的以及本领域技 术人员将会轻易显而易见的外,图9中所图示的移动设备的结构和功能 基本上类似于图6的预测服务器。因此,出于简明的原因在这里省略了 其详细描述。

如图9所示,该移动设备可以包括位置历史模块900和访问预测模 块902,除了远程服务器所存储或产生的数据能够由那些模块使用例如 使用移动网络100对远程服务器的一个或多个调用进行访问外,它们以 上文中关于预测服务器150所公开的那些相同的方式进行工作。移动设 备还可以包括显示模块904,其以与以上输出模块604相同的方式进行 操作,并且被配置为例如在移动设备的显示屏上显示与预测用户要访 问的地点相关的信息。

在第一方面,提供了一种用于基于来自用户位置历史的地理位置 来以访问可能性的降序对用户可能访问的目的地进行排序的技术。针 对来自用户位置历史的地理位置,处理器对接近于该地理位置的目的 地进行本地搜索,其中该地理位置具有与之相关联的时间并且该搜索 至少提供目的地的名称以及距该地理位置的距离。该处理器针对该本 地搜索所返回的每个目的地计算访问可能性,其中该访问可能性作为 至少在该目的地与该地理位置之间的距离以及在关联于该地理位置的 时间与跨时间的访问可能性分布之间的比较的函数来计算。该处理器 进一步以访问可能性的降序对本地搜索所返回的目的地中的至少一些 排序,以针对该地理位置选择最可能访问的目的地。

在另外方面,提供了一种基于来自用户位置历史的地理位置来以 访问可能性的降序对用户可能访问的目的地排序的技术。针对来自用 户位置历史的地理位置,处理器针对接近该地理位置的目的地进行本 地搜索,其中该地理位置具有与之相关联的时间矢量(该时间矢量包 括多次访问的开始和结束时间),并且该搜索至少提供该目的地的名 称以及距该地理位置的距离。该处理器针对本地搜索所返回的每个目 的地计算访问可能性,该访问可能性作为至少在该目的地与该地理位 置之间的距离以及在与该地理位置相关联的时间矢量与跨时间的访问 可能性分布之间的比较的函数来计算。该处理器以访问可能性的降序 对本地搜索所返回的目的地中的至少一些排序,以针对该地理位置选 择最可能被访问的目的地。

在再另外的方面,提供了一种用于基于来自用户位置历史的地理 位置来以访问可能性的降序对用户可能访问的目的地排序的系统。该 系统包括计算机处理器和存储器,该存储器连接至该处理器并存储指 令,以使得该处理器执行多个功能。该指令使得处理器对接近于该地 理位置的目的地进行本地搜索,其中该地理位置具有与之相关联的时 间,并且该搜索至少提供目的地的名称以及距该地理位置的距离。该 指令还使得该处理器针对该本地搜索所返回的每个目的地计算访问可 能性,其中该访问可能性作为至少在该目的地与该地理位置之间的距 离以及在关联于该地理位置的时间与跨时间的访问可能性分布之间的 比较的函数来计算。该指令进一步使得该处理器以访问可能性的降序 对本地搜索所返回的目的地中的至少一些排序,以针对该地理位置选 择最可能访问的目的地。

在以上所描述方面的示例中,该地理位置可以表示接近地理位置 数据点的集群,该地理位置数据点表示具有访问位置、访问开始时间 和访问结束时间的访问。该地理位置还表示多次访问,其中每次访问 具有访问开始时间和访问结束时间,并且其中针对特定访问计算访问 可能性包括将每个访问开始时间和访问结束时间进行比较。

在其它示例中,经排序的目的地列表能够被呈现给用户以便选择 所访问的目的地。

在另外的示例中,该本地搜索能够针对每个目的地返回突出性分 值,访问可能性的计算进一步作为该突出性分值的函数来计算。该本 地搜索还可以返回营业时间数据,使得访问可能性的计算可以进一步 作为目的地在与该地理位置相关联的时间开门还是关门的函数来计 算。在地理数据包括多个访问时间的情况下,访问可能性可以进一步 作为该目的地在每个访问时间开门还是关门的函数来计算。

在其它示例中,该目的地可以与从多个目的地类别中选择的至少 一个类别相关联,其中每个目的地类别具有应用于与该目的地类别相 关联的目的地的跨时间的访问可能性分布。该跨时间的访问可能性分 布还可以基于一天中的时间来指示访问可能性。该跨时间的访问可能 性分布还可以基于一周中的天来指示访问可能性。

在另一个方面,提供了一种用于自动为用户提供与该用户可能访 问的地点相关的信息的技术。该技术包括接收用户的位置历史并且将 该位置历史存储在存储器中。该技术还包括使用耦合至该存储器的处 理器从该位置历史中提取用户先前访问过的地点以及指示用户在时隙 的多个过去实例中的任意一个期间是否访问过该地点的访问历史数 据。该技术还包括使用该处理器基于该访问历史数据确定该用户是否 可能在时隙的未来实例期间访问该地点,并且如果确定用户可能在时 隙的未来实例期间访问该地点,则使用该处理器在该时隙的未来实例 开始之前输出与该地点相关的信息。

该时隙能够对应于一周中的特定一天以及一天中的特定时间。该 技术可以包括确定用户是否可能在多个时隙中的每一个的未来实例期 间访问该地点,所述未来实例对应于紧接在用户的当前时间之后的小 时时长的时隙。该时隙可以仅对应于这一天中的特定时间。该时隙可 以对应于特定工作日以及该工作日的特定时间。该时隙可以对应于一 周时段中的周末两天。该时隙可以对应于两周时段中的周末四天。

该技术可以包括在存储器中存储包括多个元素的访问矢量,每个 元素对应于时隙的过去实例并且具有指示用户在该时隙的过去实例期 间访问该地点的值或者指示用户在该时隙的过去实例期间没有访问该 地点的值。该访问矢量可以包括布尔值的流。该技术可以包括选择该 访问矢量中的Y个最近元素作为感兴趣的子流,并且对该感兴趣子流中 的正元素X的数量进行计数。

该技术可以包括执行函数T(X,Y),其接收该访问矢量、Y的值以 及X的值作为输入,并且返回该访问矢量中具有长度Y、恰好具有X个 正元素并且后跟有后续元素的子流的数量。该技术可以包括如果函数 T(X,Y)所返回的数小于预定出现阈值,则迭代地将Y递减一并且重复 所述选择、计数和执行,直至Y等于零或者获得了函数T(X,Y)针对其 返回大于或等于预定出现阈值的数的Y值。该技术可以包括将未来访问 概率计算为访问矢量中后跟有正元素的类型(X,Y)的子流的数量除以 函数T(X,Y)所返回的数。能够确定的是,当未来访问概率超过预定概 率阈值时,用户可能在该时隙的未来实例期间访问该地点。

该技术可以包括使用处理器基于用户过去对与该地点相同类型的 其它地点的访问、人口统计方面与该用户相同的其他用户对该地点的 访问、所有其他用户对该地点的访问、所有其他用户对与该地点相同 类型的其它地点的访问、以及人口统计方面与该用户相同的其他用户 对与该地点相同类型的其它地点的访问中的至少一个来确定用户是否 可能在该时隙的未来实例期间访问该地点。该技术可以包括使用马尔 科夫链模型来基于访问历史数据确定用户是否可能在该时隙的未来实 例期间访问该地点。该技术可以包括使用beta先验模型来基于访问历史 数据确定用户是否可能在该时隙的未来实例期间访问该地点。该技术 可以包括使用随机森林模型来基于访问历史数据确定用户是否可能在 该时隙的未来实例期间访问该地点。该随机森林模型能够使用机器学 习系统来执行。该技术能够包括向该机器学习系统提供包括多个元素 的访问矢量作为输入,每个元素对应于对该地点的过去访问并且具有 指示自从该过去的访问起所流逝的天数的值。该技术可以包括向该机 器学习系统提供包括多个元素的访问矢量作为输入,每个元素对应于 对该地点的过去访问并且具有指示自从最近一次对该地点的过去访问 起所流的天数的值。

该技术可以包括以下中的至少一个:向用户的移动设备发送包括 该信息的文本消息,向用户的移动设备发送包括该信息的推送通知, 向用户的移动设备发送包括该信息的电子邮件,向用户的移动设备发 送包括该信息的数据传输,向用户的移动设备发送在显示屏上显示该 信息的指令,以及向用户的移动设备发送将web浏览器导航至包括该信 息的网站的指令。该信息可以包括与该地点相关联的天气预报、与该 地点相关联的交通更新、与该地点相关联的新闻报道、去往该地点的 路线指引以及在该地点附近生活或工作的用户联系人的联系信息中的 至少一个。

在另一个方面,提供了一种自动为用户提供与该用户可能访问的 地点相关的信息的系统。该系统包括处理器以及其上存储有供该处理 器执行的指令的存储器。该指令包括位置历史模块,其接收用户的位 置历史并且将该位置历史存储在存储器中。该指令还包括访问预测模 块,其从该位置历史中提取用户先前访问过的地点以及指示用户在时 隙的多个过去实例中的任意一个期间是否访问过该地点的访问历史数 据,并且基于该访问历史数据确定该用户是否可能在时隙的未来实例 期间访问该地点。该指令还包括输出模块,如果确定用户可能在时隙 的未来实例期间访问该地点,则其在时隙的该未来实例开始之前输出 与该地点相关的信息。

在另一个方面,提供了一种用于自动为用户提供与该用户可能访 问的地点相关的信息的移动设备。该移动设备包括处理器以及其上存 储有供该处理器执行的指令的存储器。该指令包括位置历史模块,其 接收用户的位置历史并且将该位置历史存储在存储器中。该指令还包 括访问预测模块,其从该位置历史中提取用户先前访问过的地点以及 指示用户在时隙的多个过去实例中的任意一个期间是否访问过该地点 的访问历史数据,并且基于该访问历史数据确定该用户是否可能在时 隙的未来实例期间访问该地点。该指令还包括输出模块,如果确定用 户可能在时隙的未来实例期间访问该地点,则其在该时隙的未来实例 开始之前输出与该地点相关的信息。

在一些示例中,本公开描述了能够由参考图1描述的一个或多个设 备—例如移动设备120和/或位置服务器150—实施的技术。如以上所描 述的,在一些示例中,位置服务器150的功能可以由移动设备120来实 施。移动设备120和位置服务器150可以统称为计算设备。

在一个示例中,一种技术包括由计算系统(例如位置服务器150 和/或移动设备120)确定与来自关联于用户的位置历史的接近地理位置 的多个目的地相关联的信息,该地理位置与时间相关联,与多个目的 地相关联的信息针对该多个目的地中的每个相应目的地至少包括该相 应目的地的名称以及在该相应目的地和该地理位置之间的相应距离。 该技术还可以包括针对该多个目的地中的每个相应目的地由该计算系 统(例如位置服务器150和/或移动设备120)至少部分地基于1)在该相 应目的地和该地理位置之间的相应距离和2)在与该地理位置相关联的 时间与跨时间的访问可能性分布之间的比较来确定与该相应目的地相 关联的访问可能性。此外,该技术可以包括由该计算系统(例如位置 服务器150和/或移动设备120)并且至少部分地基于与该相应目的地相 关联的访问可能性对该多个目的地中的一部分排序,并且由该计算系 统(例如位置服务器150和/或移动设备120)输出该多个目的地中的该 部分的指示。

在一些示例中,由该计算系统(例如位置服务器150和/或移动设 备120)输出该多个目的地中的该部分的指示包括由该计算系统向移动 计算设备输出该多个目的地中的该部分的指示,使得该指示被输出以 便由该移动计算设备进行显示。

在一些示例中,该地理位置表示相近地理位置数据点的集群,该 地理位置数据点表示针对该地理位置的访问,该访问具有访问开始时 间和访问结束时间。

在一些示例中,该地理位置表示对该地理位置的多个访问,该多 个访问中的每个相应访问具有相应访问开始时间和相应访问结束时 间,并且针对相应目的地确定访问可能性包括将每个相应访问开始时 间和相应访问结束时间与跨时间的访问可能性分布进行比较。

在一些示例中,与接近于该地理位置的多个目的地相关联的信息 包括该多个目的地中的每个相应目的地的相应突出性分值,并且针对 相应目的地确定访问可能性包括至少部分地基于在该相应目的地与该 地理位置之间的相应距离、在与该地理位置相关联的相应时间与跨时 间的访问可能性分布之间的比较、以及该相应突出性分值而针对该相 应目的地确定访问可能性。

在一些示例中,与接近于该地理位置的多个目的地相关联的信息 包括多个目的地中的每个相应目的地的营业时间数据,并且针对相应 目的地确定访问可能性包括至少部分地基于在该相应目的地与该地理 位置之间的相应距离、在与该地理位置相关联的相应时间与跨时间的 访问可能性分布之间的比较、以及该目的地在与该地理位置相关联的 时间开门还是关门来针对该相应目的地确定访问可能性。

在一些示例中,该多个目的地中的相应目的地与从多个目的地类 别中选择的至少一个目的地类别相关联,每个相应的目的地类别具有 应用于与该相应目的地类别相关联的相应目的地的跨时间的访问可能 性分布。

在一些示例中,跨时间的访问可能性分布基于一天中的时间来指 示访问可能性。

在另一个示例中,本公开描述了一种存储指令的计算机可读存储 设备,当被执行时,该指令使得计算设备(例如位置服务器150和/或移 动设备120)的至少一个处理器:至少部分地基于来自关联于用户的位 置历史的多个邻近地理位置数据点来确定要进行访问的地理位置,该 访问具有访问开始时间和访问结束时间。该指令在被执行时还可以使 得该至少一个处理器确定与接近该地理位置的多个目的地相关联的信 息,与该多个目的地相关联的信息针对该多个目的地中的每个相应目 的地包括至少该相应目的地的名称以及在该相应目的地和该地理位置 之间的相应距离。此外,该指令在被执行时还可以使得该至少一个处 理器针对该多个目的地中的每个相应目的地,至少部分地基于1)在该 相应目的地和该地理位置之间的相应距离,2)在访问开始时间与跨时 间的访问可能性分布之间的比较,以及3)在访问结束时间与跨时间的 访问可能性分布之间的比较来确定针对该相应目的地的访问可能性。 另外,该指令在被执行时还可以使得该至少一个处理器至少部分地基 于与该相应目的地相关联的相应访问可能性对该多个目的地中的一部 分排序,并且输出该多个目的地中的该部分的指示。

在一些示例中,在被执行时使得该计算设备的至少一个处理器输 出该多个目的地中的该部分的指示的指令包括在被执行时使得该计算 设备的至少一个处理器向移动计算设备输出该多个目的地中的该部分 的指示,使得该指示被输出以由该移动计算设备显示的指令。

在一些示例中,该地理位置表示针对该地理位置的多个访问,该 多个访问中的每个相应访问具有相应访问开始时间和相应访问结束时 间,并且该指令在被执行时使得该计算设备的至少一个处理器通过将 每个相应访问开始时间和每个相应访问结束时间与跨时间的访问可能 性分布进行比较来针对多个目的地中的相应目的地确定访问可能性。

在一些示例中,与接近于该地理位置的多个目的地相关联的信息 包括该多个目的地中的每个相应目的地的相应突出性分值,并且该指 令在被执行时使得该计算设备的至少一个处理器至少部分地基于在该 相应目的地与该地理位置之间的相应距离、在与访问开始时间与跨时 间的访问可能性分布之间的比较、以及该相应突出性分值来针对该相 应目的地确定访问可能性。

在一些示例中,与接近于该地理位置的多个目的地相关联的信息 包括多个目的地中的每个相应目的地的营业时间数据,并且该指令在 被执行时使得该计算设备的至少一个处理器至少部分地基于在该相应 目的地与该地理位置之间的相应距离、在访问开始时间与跨时间的访 问可能性分布之间的比较、在访问结束时间与跨时间的访问可能性分 布之间的比较、以及该目的地在与该地理位置相关联的时间开门还是 关门来针对该相应目的地确定访问可能性。

在一些示例中,该多个目的地中的相应目的地与从多个目的地类 别中选择的至少一个目的地类别相关联,每个相应的目的地类别具有 应用于与该相应目的地类别相关联的相应目的地的跨时间的访问可能 性分布。

在一些示例中,跨时间的访问可能性分布基于一天中的时间来指 示访问可能性。

在另一个示例中,本公开描述了一种技术,其包括由计算系统(例 如移动设备120和/或位置服务器150)接收与用户相关联的位置历史。 该技术进一步包括由该计算系统(例如移动设备120和/或位置服务器 150)至少部分地基于该位置历史确定用户先前访问过的地点以及指示 用户在时隙的多个过去实例中的任意一个期间是否访问过该地点的访 问历史数据。此外,该技术可以包括由该计算设备(例如移动设备120 和/或位置服务器150)并且至少部分地基于该访问历史数据确定用户可 能在时隙的未来实例期间访问该地点。该技术还可以包括响应于确定 用户可能在时隙的未来实例期间访问该地点,由该计算设备(例如移 动设备120和/或位置服务器150)在该时隙的未来实例开始之前提供与 该地点相关的信息。

在一些示例中,确定用户可能在时隙的未来实例期间访问该地点 包括确定用户可能在时隙的多个未来实例中的每个相应时隙期间访问 该地点。

在一些示例中,确定用户先前所访问过的地点以及指示用户在时 隙的多个过去实例中的任意一个期间是否访问过该地点的访问历史数 据包括确定包括多个矢量元素的访问矢量,每个相应矢量元素对应于 时隙的相应过去实例并且具有指示用户在该时隙的相应过去实例期间 访问该地点的值或者指示用户在该时隙的相应过去实例期间没有访问 该地点的值。

在一些示例中,确定用户先前所访问过的地点以及指示用户在时 隙的多个过去实例中的任意一个期间是否访问过该地点的访问历史数 据包括:执行函数T(X,Y),其接收该访问矢量、Y的值以及X的值作为 输入,其中Y是感兴趣的子流中的元素数量中所测量的所述子流的长 度,其中X是感兴趣的子流中正元素的数量,并且其中函数T(X,Y)返 回该访问矢量中具有长度Y、恰好具有X个正元素并且后跟有访问矢量 中的后续元素的子流的数量。

在一些示例中,确定用户先前所访问过的地点以及指示用户在时 隙的多个过去实例中的任意一个期间是否访问过该地点的访问历史数 据包括:在函数T(X,Y)所返回的数小于预定阈值的情况下,将Y递减 一;并且针对Y的值和X的值执行函数T(X,Y)。

在一些示例中,确定用户先前所访问过的地点以及指示用户在时 隙的多个过去实例中的任意一个期间是否访问过该地点的访问历史数 据包括:将未来访问概率计算为访问矢量中后跟有正元素的类型(X,Y) 的子流的数量除以函数T(X,Y)所返回的数。

在一些示例中,确定用户可能在时隙的未来实例期间访问该地点 包括当未来访问概率超过预定概率阈值时确定用户可能在该时隙的未 来实例期间访问该地点。

在一些示例中,确定用户可能在时隙的未来实例期间访问该地点 包括使用马尔科夫链模型、beta先验模型和随机森林模型中的至少一个 来确定用户是否可能在时隙的未来实例期间访问该地点。

在另外的示例中,本公开描述了一种存储指令的计算机可读存储 设备,当被执行时,该指令使得计算机设备(例如移动设备120和/或位 置服务器150)的至少一个处理器接收与用户相关联的位置历史。该指 令在被执行时还使得该至少一个处理器至少部分地基于该位置历史确 定包括多个矢量元素的访问矢量,每个相应矢量元素对应于时隙的相 应过去实例并且具有指示用户在该时隙的相应过去实例期间访问地点 的值或者指示用户在该时隙的相应过去实例期间没有访问该地点的 值。该指令在被执行时进一步使得该至少一个处理器执行函数T(X,Y), 其接收该访问矢量、Y的值以及X的值作为输入,其中Y是感兴趣的子 流中的元素数量中所测量的子流的长度,其中X是感兴趣的子流中正元 素的数量,并且其中函数T(X,Y)返回该访问矢量中具有长度Y、恰好 具有X个正元素并且后跟有访问矢量中的后续元素的子流的数量。此 外,该指令在被执行时还使得该至少一个处理器至少部分地基于函数 T(X,Y)所返回的数确定用户可能在时隙的未来实例期间访问该地点; 并且响应于确定用户可能在时隙的未来实例期间访问该地点而在该时 隙的未来实例开始之前输出与该地点相关的信息。

在一些示例中,该指令在被执行时使得计算设备的至少一个处理 器:在函数T(X,Y)所返回的数小于预定阈值的情况下,将Y递减一; 并且针对Y的值和X的值执行函数T(X,Y)。

在一些示例中,该指令在被执行时使得计算设备的至少一个处理 器:将未来访问概率计算为访问矢量中后跟有正元素的类型(X,Y)的子 流的数量除以函数T(X,Y)所返回的数。

在一些示例中,该指令在被执行时使得计算设备的至少一个处理 器在未来访问概率超过预定概率阈值时确定用户可能在该时隙的未来 实例期间访问该地点。

在一些示例中,该时隙对应于一周中的特定一天以及一天中的特 定时间。

在一些示例中,该时隙仅对应于一天中的特定时间。

在一些示例中,该时隙对应于一周时段中的周末两天。

虽然上文中已经详细描述了几个示例,但是可能进行其它修改。 此外,可以使用用于执行这里所描述的系统和技术的其它机制。此外, 附图中所描绘的逻辑流程不要求所示出的特定顺序或连续顺序来实现 所期望的结果。可以提供其它步骤,或者可以从所描述的流程中删除 步骤,并且可以向所描述的系统增加其它组件或者从中去除组件。因 此,其它实施方式处于所附权利要求的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号