HK1249792B - 基於推送的推荐 - Google Patents
基於推送的推荐Info
- Publication number
- HK1249792B HK1249792B HK18109208.9A HK18109208A HK1249792B HK 1249792 B HK1249792 B HK 1249792B HK 18109208 A HK18109208 A HK 18109208A HK 1249792 B HK1249792 B HK 1249792B
- Authority
- HK
- Hong Kong
- Prior art keywords
- user
- ranking
- recommendation
- entity
- suggestion
- Prior art date
Links
Description
本申请是申请日为2013年07月24日并且申请号为201380039593.6的中国专利申请的分案申请。
技术领域
本公开内容涉及用于向用户推送推荐的系统和/或技术。
背景技术
许多应用、服务和/或者网站允许用户搜索信息、创建有组织的时间表、共享信息和/或者执行多种其他任务。在一个例子中,搜索引擎可以响应于用户提交的搜索查询而为用户提供图像、到网站的链接和/或者其他搜索结果。在另一个例子中,日历应用可以维护用户定义的事件和用户定义的提醒的时间表来作为对用户设立这样的事件和提醒的响应。在另一个例子中,响应于用户向地图服务提交针对咖啡店的搜索,地图服务可以向用户提供包括一个或多个极接近用户当前位置的咖啡店的地图。这样,用户可以显式地搜索信息、创建事件和提醒和/或者搜索方向。
发明内容
本发明内容被提供来以简化形式介绍在下面具体实施方式中进一步描述的概念的选择。本发明内容并不旨在标识所要求保护的主题的关键因素或者基本特征,也不旨在被用来限制所要求保护主题的范围。
除了别的以外,本文中提供了一种或多种用于向用户推送推荐的系统和/或技术。可以根据与用户关联的触发事件来向用户推送推荐(例如,在没有用户请求的情况下)。例如,可以根据观察到的用户行为(例如,用户有规律地在星期二下午呼叫他的姐妹,如果温度高于80°用户在星期五得到冰激凌,用户将仅在油价相比位置更方便的加油站便宜超过20美分的情况下才绕路去这个加油站,等等)、现实世界数值的变化(例如,温度上升超过80°、用户的位置是在一个特定的地标附近、用户车辆的燃油不足等)、指示事件将要发生的电子邮件、社交网络事件数据(例如,用户的姐妹通过社交网络安排了防止她星期二下午有空进行电话呼叫的事件)和/或者与用户关联的和/或者从其他用户汇总的多种其他观察,来定义一组触发事件。这样,与该用户关联的触发事件的发生可以被识别。
对应于触发事件的一个或者多个建议实体可以被确定。在一个例子中,响应于与被观察用户行为(例如,用户通常在星期五下班后访问邮局)关联的星期五邮局访问触发事件,一个或者多个邮局可以被确定为所述一个或者多个建议实体。在另一个例子,响应于与被观察用户行为(例如,用户通常在星期二下午呼叫他的姐妹)相关联的电话呼叫触发事件,用户可以呼叫他姐妹的一个或者多个呼叫时间可以被确定为所述一个或多个建议实体。
实体选择准则模型可以基于从与触发事件关联的观察数据导出的一个或者多个限制被构造。该实体选择准则模型可以基于天气限制(例如,可以根据晴天来推荐免下车电影院)、汽油限制(例如,可以根据车辆汽油不足来推荐当地的加油站)、交通限制(例如,可以根据当前交通状况推荐新的路线)、会员资格限制(例如,可以推荐用户有会员资格的商店)、价格限制(例如,可以推荐其绕路可以接受的有廉价售卖的商店)、优惠券限制、工作时间限制、到目的地距离限制(例如,与仅到当前位置的距离限制相对)、用户偏好限制(例如,用户通常偏好在特别的杂货店购物)、观察到的行为限制(例如,用户偏好在早上打工作电话)和/或者多种其他限制。可以理解,在一个例子中,实体选择准则模型可以被预定义(例如,在触发事件的识别之前被定义)。例如,实体选择准则模型可以被离线地(例如,不是实时或者动态地(on the fly))构造。例如,实体选择准则模型可在监视一个或者多个用户行为时被异步构造。因此,在识别触发事件时,实体选择准则模型在创建推荐中可以是可获得(例如已经被构造)以供利用的。
实体选择准则模型可以被应用于所述一个或者多个建议实体来为触发事件创建推荐。在一个例子中,所述一个或者多个建议实体可以根据各种不同的因素被排序,比如,便利性因素(例如,用户通常访问沿着从工作场所到家的路线位置方便的邮局,而不是距工作场所最近的邮局)、价格因素(例如,用户可以绕路高达2英里来购买正在减价售卖的邮票)、时间因素(例如,用户可能能够在关闭前到达第一家邮局,而不是第二家邮局),用户偏好因素(例如,用户偏好访问在购物广场近的邮局)和/或其他从实体选择准则模型导出的因素。推荐可以包括选自所述一个或者多个建议实体的建议实体。这样,可以向与用户关联的设备来推送推荐。可以理解,在一个例子中,可以在没有用户请求的情况下推送推荐。例如,在用户没有明确搜索邮局和/或者设立访问邮局的事件或者提醒的情况下,可以根据之前用户在星期五下班后购买邮票的行为将特定邮局的推荐推送给用户。
以下描述和附图阐述了特定的说明性方面和实施方式。这些仅指示了一个或多个方面可以被采用的各种不同方式中的一些。本公开内容的其它方面、优点以及新颖特征当被结合附图考虑时根据以下具体实施方式将变得明显。
附图说明
图1是图示了向用户推送推荐的示范性方法的流程图。
图2是图示了用于向用户推送推荐的示范性系统的组件框图。
图3是图示了用于通过地图应用向用户推送推荐的示范性系统的组件框图。
图4是图示了用于向用户推送推荐的示范性系统的组件框图。
图5是图示了用于向用户推送包括一系列事件的推荐的示范性系统的组件框图。
图6是图示了用于向用户推送推荐的示范性系统的组件框图。
图7是图示了用于通过地图应用向用户推送推荐的示范性系统的组件框图。
图8是示范性计算机可读介质的图示,其中可以包括被配置来实施一个或者多个本文阐明的规定的处理器可执行指令。
图9图示了示范性计算环境,其中可以实现一个或者多个本文阐明的规定。
具体实施方式
现在参考附图来描述要求保护的主题,其中自始至终相同的参考编号通常被用来指代相同的元件。在下面的描述中,为了解释的目的,多个具体细节被阐明以便提供对要求保护的主题的透彻理解。但是,显然地,要求保护的主题可以在没有这些具体细节的情况下被实践。在其他实例中,通过框图形式来图示结构和设备以便方便描述要求保护的主题。
当今,用户可以通过地图服务搜索方向,通过搜索引擎搜索信息,通过日历应用来组织事件和提醒,和/或者基于用户请求来执行其他动作(例如,用户可以明确地安排提醒来呼叫他的姐妹,用户可以明确地搜索距离用户当前位置近的邮局等)。遗憾的是,在没有直接的用户请求的情况下可能不向用户提供推荐。因此,如本文所述,向用户推送推荐(例如,在没有直接的用户请求的情况下)可能是有利的。
在图1中通过示范性方法100图示了向用户推送推荐的一个实施例。在102处,方法开始。在104处,与用户关联的触发事件被识别。在一个例子中,触发事件可以对应于用户将要执行活动的推断(inference)。该推断可以基于用户之前发生的活动(例如,用户喜欢在天气超过80°时在星期五买冰激凌)。在另一个例子中,可以基于观察到的一个或者多个用户的用户行为(例如,用户通常将绕路多达5英里来每加仑汽油节省至少20美分)和/或者现实世界数值的改变(例如,天气的变化,用户位置的变化,车辆内的汽油量等等)创建一组触发事件。这样,在这组触发事件中的触发事件的发生可以被识别。在另一个例子中,触发事件可以对应于用户日历中安排好的事件(例如,杂货店购物日历事件可以与星期五超过80°的温度相关联来推荐冰激凌店附近的杂货店)、电子邮件(例如,商店电子邮件优惠券的到期可以为用户触发推荐来访问该商店)、社交网络数据、车辆内的汽油量等。
在一个例子中,触发事件可以基于用户数据(例如,公开可用的数据,用户已经提供许可在推送推荐中使用的数据,用户尚未选择出来在推送推荐中使用的数据等等)。例如,电子邮件、日历、之前用户选择的搜索结果、之前用户跟随的地图方向、位置记录事件、用户已经参与的社交网络事件和/或者多种其他源可以被挖掘用于触发事件数据。在另一个例子中,触发事件可以基于汇总的用户数据。例如,地图服务的用户通常选择从位于距离家5英里之内的杂货店购买冰激凌以避免融化。
在106处,对应于触发事件的一个或者多个建议实体可以被确定。例如,位置、商业、时间(例如,提出的呼叫某人的时间)、驾驶路线、广告、一系列事件等可以被确定为所述一个或者多个建议实体。在一个例子中,在108处,实体选择准则模型可以基于从与触发事件关联的观察数据导出的一个或者多个限制来构造。在另一个例子中,在108处预定义的实体选择准则模型可以被识别为实体选择准则模型(例如,基于随着时间一个或者多个用户的观察到的用户行为,预定义的实体选择准则模型可以被异步地生成,比如离线地)。在实体选择准则模型的一个例子中,一个或者多个用户的行为可以被汇总来生成限制(例如,到家距离限制可以基于用户偏好购买靠近家的冰激凌来生成)。在另外一个例子中,一个或者多个用户的用户偏好可以被汇总来生成限制(例如,一个用户偏好在谷类减价售卖时购买特定品牌的谷类;一个用户偏好在上午拨打商务电话;地图应用的用户通常不会为了相比沿着他们的路线位置方便的加油站仅便宜几美分的汽油而绕路,等等)。在另外一个例子中,可以基于现实世界数值来生成限制(例如,可以根据邮局的关闭时间来生成时间限制;可以基于当前交通状况来生成方向限制;可以根据用户持有的优惠券来生成价格限制;等等)。这样,可以根据一个或者多个限制来构造该实体选择准则模型,比如,天气限制、汽油限制、交通限制、会员资格限制、价格限制、优惠券限制、工作时间限制、用户偏好限制、到目的地距离限制、到目的地的停车场限制、时间限制和/或者观察到的行为限制等。
在110处,实体选择准则模型可以被应用于所述一个或者多个建议实体来为触发事件创建推荐。该推荐可以包括选自一个或者多个建议实体的建议实体。在一个例子中,一个或者多个建议实体可以根据从实体选择准则模型导出的各种不同因素来被排序(例如,因素可以对应被用来生成实体选择准则模型的一个或者多个限制)。例如,所述一个或者多个建议实体可以基于便利性因素被排序(例如,商店可以被基于该商店沿着用户驾驶路线位置有多方便来排序,而不基于商店多么靠近用户的当前位置排序,否则这可能导致从驾驶员当前驾驶路线绕路)、价格因素(例如,如果该第一个商店在用户可接受的绕路阈值之内,需要从驾驶员当前驾驶路线绕路的具有较低价格的第一个商店相比于具有较高价格的第二个商店可以排序更高),时间因素(例如,在用户到达商店时可能会关闭的商店可以被指派相对低的排名)和/或者多种其他因素。这样,可以创建推荐。
在112处,推荐可以被推送到与用户关联的设备(例如,移动设备、车辆内的计算设备、平板设备、台式机设备、膝上型电脑设备、托管地图服务的设备等)。在推送推荐的一个例子中,推送时间可以根据在实体选择准则模型中的一个或多个限制(例如,工作时间限制,当前位置限制等)来被确定。例如,购买冰激凌的触发器可以导致用户家附近的冰激凌店的推荐。即使用户可能没有请求推荐和/或者指定推荐的推送时间,也可以在可以提供给用户足够的通知以便在商店关闭前到达商店的推送时间来向用户推送推荐。这样,可以在推送时间向设备推送推荐。在114处,方法终止。
图2图示了被配置用于向用户推送推荐216的系统200的例子。系统200可以包括被配置来向用户的设备218推送推荐216的推荐组件210。推荐组件210可以被配置来识别与用户关联的触发事件。例如,一组包括一个或者多个可以为用户(例如,和/或者其他用户)所触发的触发事件的触发器212可以通过推荐组件210来维护。在一个例子中,这组触发器212可以包括指定用户通常在星期五下班后购买邮票的第一触发事件,其可以从之前被观察到的用户行为(例如,之前观察到的行为204)创建。该组触发器212可以包括指定用户在该用户的日历中有购买冰激凌的笔记的第二触发事件,其可以已经从用户的日历(例如,日历202)中创建。这样,这组触发器212可以包括可能基于各种不同信息已创建的多种触发器,比如之前观察到的用户行为、汇总的观察到的其他用户的行为、现实世界数值的变化(例如,用户当前的位置可能相对靠近用户先前通过给朋友的电子邮件表达出对其有兴趣的地标)等。
推荐组件210可以被配置来确定对应于触发事件的一个或者多个建议实体。例如,该推荐组件可以选择一个或者多个邮局分支、一个或者多个杂货店、一个或者多个加油站和/或一组实体214中的其他建议实体。推荐组件210可以被配置来根据从与触发事件关联的观察数据208导出的一个或多个限制来识别(例如,将预先构造的实体选择准则模型识别为实体选择准则模型220)和/或来构造(例如,构造一个新的实体选择准则模型作为实体选择准则模型220)实体选择准则模型220。在一个例子中,时间限制可以指定杂货店和/或者邮局分支应该在用户可以到达它们时(例如,基于位置和时间数据206)是开门营业的。在另一个例子中,订购限制可以指定应该在杂货店之前访问邮局分支,因为邮局分支通常在杂货店之前关门(例如,基于现实世界数值,比如商业的关门时间)。在另一个例子中,便利性限制可以基于用户对绕路表示不感兴趣(例如,根据之前观察到的行为204)指定邮局应该沿着回家的驾驶路线是位置方便的。在另一个例子中,到目的地距离限制可以指定杂货店应该位于用户家10分钟内,因为用户通常在离家近的地方购买冰激凌以避免融化(例如,根据之前观察到的行为204)。这样,各种不同的限制可以从观察数据208中导出,并且可以被用来构建实体选择准则模型220。
推荐组件210可以被配置来向所述一个或者多个建议实体应用实体选择准则模型220以便为触发事件创建推荐216。推荐216可以包括选自于所述一个或者多个建议实体的建议实体(例如,第一建议实体222、第二建议实体224和/或者其他未图示的建议实体)。例如,推荐216可以包括第一建议实体222,其指定沿着用户回家驾驶路线位置方便的特定邮局很快就要关闭。推荐216可以为用户提供方向来导航到邮局,使得用户能够在邮局关闭之前购买邮票(例如,如从之前观察行为204识别的,该用户在星期五下班后有规律地这样做)。推荐216可以包括第二建议实体224,其指定特定杂货店距离用户家较近从而用户可以靠近家处购买冰激凌以免融化(例如,如从之前观察行为204识别的,该用户在星期五下班后有规律地这样做)。推荐组件210可以在可以为用户提供足够时间来遵从(follow)推荐216的推送时间(例如工作结束前一小时)向用户的设备218推送推荐216。
图3图示了被配置来向用户推送推荐316的系统300的例子。系统300可以包括被配置来向用户的设备318来推送推荐316的推荐组件310。推荐组件310可以被配置来识别与用户关联的触发事件。例如,包括可以为用户(例如,和/或其他用户)所触发的一个或多个触发事件的一组触发器312可以由推荐组件310所维护。在一个例子中,该组触发器312可以包括指定了用户想要在星期一去杂货店的触发事件,其可能已经根据用户的日历条目(例如,日历302)被创建。但是,该日历条目可能没有指定时间和/或者特定的杂货店。这样,该触发事件可以根据当前日期为星期一来被触发。
推荐组件310可以被配置来确定对应于触发事件的一个或者多个建议实体。例如,该推荐组件可以从一组实体314(例如,用户没有会员资格的第一杂货店322、用户拥有会员资格的第二杂货店306和/或者可能与触发事件相关的其他杂货店)中选择一个或者多个杂货店。推荐组件310可以被配置成基于从与触发事件关联的观察数据308导出的一个或者多个限制来识别(例如,将预先构造的实体选择准则模型识别为实体选择准则模型320)和/或者构造(例如,构造新的实体选择准则模型320作为实体选择准则模型320)实体选择准则模型320。在一个例子中,会员资格限制可以指定用户具有第二杂货店306的价格折扣的会员资格,其可能已经从社交网络数据304中导出。便利性限制可以指定用户在杂货店购物时愿意绕路5分钟来获得更便宜价格。这样,各种不同的限制可以从观察数据308中导出,并可以被用来构造实体选择准则模型320。
推荐组件310可以被配置来将实体选择准则模型320应用到所述一个或者多个建议实体来为触发事件创建推荐316。推荐316可以包括选自所述一个或者多个建议实体的建议实体。例如,因为用户拥有第二杂货店306的会员资格并且第二杂货店从用户原始的路线(例如,原始路线324)上绕路少于5分钟,所以推荐316可以包括第二杂货店306。推荐316可以包括第二杂货店306,但不包括第一杂货店322,因为根据用户拥有第二杂货店306的会员资格(例如,即使第一杂货店沿着原始路线324位置更方便),第二杂货店306可以比第一杂货店322被排序相对更高。推荐组件310可以向用户的设备318推送推荐316。
图4图示了被配置用于向用户推送推荐416的系统400的例子。系统400可以包括被配置来向用户的设备418推送推荐416的推荐组件410。推荐组件410可以被配置来识别与用户相关联的触发事件。例如,包括可以为该用户(例如,和/或者其他用户)所触发的一个或者多个触发事件的一组触发器412可以由推荐组件410来维护。在一个例子中,该组触发器412可以包括指定用户在星期二下午呼叫他的姐妹的触发事件。该触发事件可以基于之前观察到的用户行为404(例如,用户通常在星期二下午呼叫他的姐妹)。这样,可以根据当前日期是星期二上午来触发该触发事件。
推荐组件410可以被配置来确定对应于触发事件的一个或者多个建议实体。例如,推荐组件可以从一组实体414中来选择一个或者多个建议的呼叫时间。推荐组件410可以被配置来基于从与触发事件关联的观察数据408导出的一个或者多个限制来识别(例如,将预先构造的实体选择准则模型识别为实体选择准则模型320)和/或者构造(例如,构造新的实体选择准则模型作为实体选择准则模型320)实体选择准则模型420。在一个例子中,安排的限制可以指定姐妹在星期二下午有已安排的约会,但是在星期二晚上是空闲的(例如,基于日历402)。这样,各种不同的限制可以从观察数据408中导出,并可以被用来构造实体选择准则模型420。
推荐组件410可以被配置来将实体选择准则模型420应用于所述一个或者多个建议实体来为触发事件创建推荐416。推荐416可以包括选自所述一个或者多个建议实体的建议实体。例如,推荐416可以包括建议的晚上呼叫时间406,使得用户可以在他姐妹空闲时呼叫他的姐妹。推荐组件410可以向用户的设备418推送推荐416。
图5图示了被配置用于向用户推送推荐504的系统500的例子。系统500可以包括被配置来基于触发事件(例如,当前日子是星期五,其中用户要呼叫Bob、呼叫Trish,和准备娱乐公园旅行)向用户的设备506推送推荐504的推荐组件502。例如,推荐组件502可以确定用户将要呼叫Bob(例如,根据日历条目),呼叫Trish(例如,根据之前在星期五呼叫Trish的用户行为)并且在星期五顺便访问银行(例如,根据指示用户需要用于本周末的娱乐公园的现金的电子邮件)。这样,推荐组件502可以确定对应于比如用于Bob的一个或者多个建议呼叫时间、用于Trish的一个或者多个建议呼叫时间、一个或者多个银行等之类的触发事件的一个或者多个建议实体。
推荐组件502可以基于从观察数据导出的一个或者多个限制(例如,根据用户之前的电话行为用户通常偏好在上午打电话的用户偏好限制;用户将需要30分钟来准备与Trish通话的第一时间限制;根据之前用户与Bob之间的电话行为用户将要与Bob打一个小时电话的第二时间限制;为了用户能在银行关门之前到达银行的工作时间限制;等等)来构造实体选择准则模型。这样,该推荐组件502可以将实体选择准则模型应用到一个或者多个建议实体来创建推荐504。例如,推荐504可以包括由于Bob在9:00之前繁忙所以推荐用户在9:30呼叫Bob的第一建议实体508,推荐用户在11:00呼叫Trish以使得该用户有时间充分准备该电话呼叫的第二建议实体510(例如,该用户可能需要30分钟来准备,并且与Bob的电话呼叫通常花费1个小时),和/或者推荐用户在4:00前离开工作以使得用户能够到达沿着驾车回家路线位置方便的特定银行的第三建议实体512。这样,该推荐506可以包括可以被推荐给用户的一系列事件(例如,电话呼叫,访问银行等)。推荐504可以被推送给用户的设备506。
图6图示了被配置用于向用户推送推荐604的系统600的例子。系统600可以包括被配置成根据触发事件(例如,现实世界数值的变化,比如天气)向用户的设备606推送推荐604的推荐组件602。例如,该推荐组件602可以确定天气是85°和晴朗,并且用户对在水上公园游泳是感兴趣的。这样,推荐组件602可以确定对应于该触发事件的一个或者多个建议实体,比如一个或者多个水上公园。
推荐组件602可以根据一个或多个从观察数据导出的限制(例如,位置限制、优惠券限制等)来构造实体选择准则模型。该推荐组件602可以将实体选择准则模型应用到所述一个或者多个建议实体来创建推荐604。例如,该推荐604可以包括推荐用户访问用户拥有优惠券的水上公园的第一建议实体608。这样,该推荐604可以包括水上公园的方向、到包括优惠券的电子邮件的链接和/或者其他信息。该推荐604可以被推送到用户的设备606。
图7图示了被配置用于向用户推送推荐704的系统700的例子。系统700可以包括被配置来基于触发事件(例如,在用户的车辆内的汽油量)向用户的设备706推送推荐704的推荐组件702。例如,推荐组件702可以确定车辆中的汽油量低于10%。这样,推荐组件702可以确定对应于该触发事件的一个或多个建议实体,比如一个或多个加油站。
推荐组件702可以基于从观察数据导出的一个或者多个限制(例如,位置限制、价格限制、绕路限制等)构造实体选择准则模型。例如,用户通常可能会愿意绕路5分钟或者更少的时间以便在汽油上节省25美分或者更多。该推荐组件702可以将实体选择准则模型应用到所述一个或者多个建议实体来创建推荐704。例如,该推荐704可以包括推荐位于原始驾车路线5分钟绕路之内的并且具有比沿着原始驾车路线位置更方便的加油站便宜30分的汽油的第一加油站的第一建议实体708。这样,该推荐704可以包括可以引导用户到第一加油站的用户的新路线。该推荐704可以被推送到用户的设备706。
又一个实施例涉及包括被配置来实现一个或者多个本文提出的技术的处理器可执行指令的计算机可读介质。图8中图示了可以通过这些方式设计的示范性计算机可读介质,其中实现方式800包括计算机可读介质816(例如,CD-R、DVD-R或者一盘硬盘驱动器),所述计算机可读介质816上是编码的计算机可读数据814。计算机可读数据814进而包括被配置来根据本文阐述的一个或者多个原理操作的一组计算机指令812。在一个这样的实施例800中,处理器可执行的计算机指令812例如可以被配置来执行方法810,比如图1的示范性方法100中的至少一些。在另一个这样的实施例中,处理器可执行的指令812例如可以被配置来实现系统,比如图2的示范性系统200中的至少一些、图3的示范性系统300中的至少一些、图4的示范性系统400中的至少一些、图5的示范性系统500中的至少一些和/或者图6的示范性系统600中的至少一些。本领域技术人员可以设计被配置来根据本文阐述的技术来操作的许多这样的计算机可读媒体。
尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应当理解,所附权利要求中限定的主题未必局限于上面所描述的特定特征或动作。相反,上面所描述的特定特征和动作作为实现权利要求的示例形式被公开。
如在本申请中所使用的那样,术语“组件”、“模块”、“系统”、“接口”等等通常旨在指代计算机相关实体,或者是硬件、或者是硬件和软件的组合、或者是软件,或者是执行中的软件。例如,组件可以是但不限于是在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明,在控制器上运行的应用和控制器两者都可以是组件。一个或多个组件可以驻留在执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。
此外,通过使用标准编程和/或工程技术来产生软件、固件、硬件或其任何组合而以便控制计算机实现所公开的主题,所要求保护的主题可以被实现为方法、装置或制品。如本文中所使用的术语“制品”旨在包含可从任何计算机可读设备、载体或媒体访问的计算机程序。当然,本领域的技术人员将认识到,在不背离所要求保护的主题的范围或精神的情况下可以对这种配置做出许多修改。
图9和以下讨论提供了对用来实现本文中所阐述的规定中的一个或多个的实施例的适合的计算环境的简要的一般性描述。图9的操作环境仅是适合的操作环境的一个例子,并且不旨在就操作环境的使用或功能性的范围提出任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费电子装置、小型计算机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等等。
虽然不是必需的,但是实施例是在正由一个或多个计算设备执行的“计算机可读指令”的一般背景中被描述的。计算机可读指令可以经由计算机可读媒体(在下面讨论)被分发。计算机可读指令可以被实现为执行特定任务或者实现特定抽象数据类型的程序模块,比如函数、对象、应用编程接口(API)、数据结构等。典型地,计算机可读指令的功能性可以被组合或者视需要被分布在各种不同环境中。
图9图示了系统910的例子,系统910包括被配置成实现本文中所提供的一个或多个实施例的计算设备912。在一个配置中,计算设备912包括至少一个处理单元916和存储器918。根据计算设备的确切配置和类型,存储器918可以是易失性的(例如,比如RAM之类)、非易失性的(例如,比如ROM、闪速存储器等之类)或两者的某种组合。这种配置在图9中由虚线914来图示。
在其它实施例中,设备912可以包括附加的特征和/或功能性。例如,设备912还可以包括附加的存储装置(例如,可移除的和/或不可移除的),所述存储装置包括但不限于磁存储装置、光学存储装置等等。这样的附加存储装置在图9中由存储装置920来图示。在一个实施例中,用来实现本文中所提供的一个或多个实施例的计算机可读指令可以在存储装置920中。存储装置920还可以存储其它计算机可读指令以便实现操作系统、应用程序等等。例如,计算机可读指令可以被加载在存储器918中以供处理单元916执行。
如本文中所使用的术语“计算机可读媒体”包括计算机存储媒体。计算机存储媒体包括被以任何方法或技术实现以用于存储比如计算机可读指令或其它数据之类的信息的易失性和非易失性、可移除和不可移除媒体。存储器918和存储装置920是计算机存储媒体的例子。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、磁盒、磁带、磁盘存储装置或其它磁存储设备,或能够被用来存储所期望的信息并且能够被设备912访问的任何其它介质。任何这样的计算机存储媒体可以是设备912的一部分。
设备912还可以包括允许设备912与其它设备进行通信的(多个)通信连接926。(多个)通信连接926可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外端口、USB连接或用于将计算设备912连接到其它计算设备的其它接口。(多个)通信连接926可以包括有线连接或无线连接。(多个)通信连接926可以传送和/或接收通信媒体。
术语“计算机可读媒体”可以包括通信媒体。通信媒体典型地将计算机可读指令或其它数据具体化为比如载波或其它传输机制之类的“已调制数据信号”,并且包括任何信息递送媒体。术语“已调制数据信号”可以包括这样的信号,所述信号使其特性中的一个或多个以这样一种方式被设置或者改变以便将信息编码在所述信号中。
设备912可以包括(多个)输入设备924,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其它输入设备。比如一个或多个显示器、扬声器、打印机和/或任何其它输出设备之类的(多个)输出设备922也可以被包括在设备912中。(多个)输入设备924和(多个)输出设备922可以经由有线连接、无线连接或其任何组合被连接到设备912。在一个实施例中,来自另一计算设备的输入设备或输出设备可以被用作用于计算设备912的(多个)输入设备924或(多个)输出设备922。
计算设备912的组件可以被各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如PCI Express)、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等等。在另一实施例中,计算设备912的组件可以通过网络互连。例如,存储器918可以包括位于由网络所互连的不同物理位置中的多个物理存储器单元。
本领域的技术人员将认识到,被利用来存储计算机可读指令的存储设备可以跨越网络被分布。例如,可经由网络928访问的计算设备930可以存储计算机可读指令以便实现本文中所提供的一个或多个实施例。计算设备912可以访问计算设备930并且下载计算机可读指令的一部分或全部以供执行。可替换地,计算设备912可以按需下载多条计算机可读指令,或者一些指令可以在计算设备912处被执行并且一些在计算设备930处被执行。
本文提供了实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以构成在一个或多个计算机可读媒体上存储的计算机可读指令,所述计算机可读指令在被计算设备执行的情况下将使计算设备执行所描述的操作。操作中的一些或全部被描述的顺序不应该被解释为暗示这些操作必定是顺序相关的。可替换的排序将被得益于本说明书的本领域的技术人员意识到。进一步地,应理解,并非所有操作都必定存在于本文中所提供的每个实施例中。
而且,单词“示范性”在本文中被用来意指用作例子、实例或说明。本文中描述为“示范性”的任何方面或设计不是必须将被解释为优于其它方面或设计。相反,单词示范性的使用旨在以具体的方式提出概念。如在本申请中所使用的那样,术语“或”旨在意指包括性的“或”而不是排他性的“或”。也就是说,除非另外指定或从上下文是清楚的,“X采用A或B”旨在意指自然的包括性的排列中的任一个。也就是说,如果X采用A;X采用B;或X采用A和B两者,则在前面的实例中的任一个下“X采用A或B”都将被满足。此外,除非另外指定或从上下文清楚针对单数形式,如在本申请和所附权利要求中所使用的冠词“一”和“一个”通常可以被解释为意指“一个或多个”。并且,A和B中至少一个和/或者类似表述通常意指A或者B或者A和B二者。
并且,尽管已经相对于一个或多个实现方式示出和描述了本公开内容,但是等同变更和修改将被本领域的技术人员基于对本说明书和附图的阅读和理解而想到。本公开内容包括所有这样的修改和变更,并且仅由以下权利要求的范围所限制。特别地,关于由上面描述的组件(例如,元件、资源等)所执行的各种功能,除非另外指示,用来描述这样的组件的术语旨在对应于执行所描述的组件的指定功能的任何组件(例如,其是功能上等同的),即使在结构上不等同于所公开的执行本公开内容的本文中说明的示范性实现方式中的功能的结构。此外,虽然可能已经相对于若干实现方式中的仅一个公开了本公开内容的特定特征,但是这样的特征可以与其它实现方式的的一个或多个其它特征组合,这对于任何给定或特定应用而言可能是期望的和有利的。此外,就术语“包含”、“具有”、“有”、“带有”或其变形被用在具体实施方式或权利要求中来说,这样的术语旨在以类似于术语“包括”的方式为包括性的。
Claims (20)
1.一种用于向用户推送推荐的系统,包括:
一个或多个处理单元;以及
存储器,包括当被所述一个或多个处理单元中的至少一个执行时实施以下各步骤中的至少一些步骤的指令:
推荐组件,被配置为:
识别与用户关联的触发事件;
确定对应于所述触发事件的一个或者多个建议实体,所述一个或者多个建议实体包括第一建议实体和第二建议实体,所述第一建议实体具有与第一因素相关联的第一排名,所述第二建议实体具有与所述第一因素相关联的第二排名,所述第一建议实体具有与第二因素相关联的第三排名,所述第二建议实体具有与所述第二因素相关联的第四排名,所述第一排名低于所述第二排名,所述第三排名高于所述第四排名;
为所述触发事件创建推荐,其中,基于所述第一排名低于所述第二排名并且所述第三排名高于所述第四排名,所述推荐包括所述第一建议实体但不包括所述第二建议实体;以及
向与所述用户关联的设备推送所述推荐。
2.根据权利要求1所述的系统,所述触发事件对应于所述用户将执行活动的推断。
3.根据权利要求2所述的系统,所述推荐组件被配置为:
基于所述用户之前发生的所述活动来创建所述推断。
4.根据权利要求1所述的系统,所述触发事件对应于以下各项中的至少一项:
用户日历中安排好的事件、与所述用户相关联的电子邮件、所述用户的社交网络数据、观察到的行为、现实世界数值的改变或所述用户的车辆内的汽油量。
5.根据权利要求1所述的系统,所述推荐组件被配置为:向与所述用户的车辆相关联的计算设备推送所述推荐。
6.根据权利要求1所述的系统,所述推荐组件被配置为:向地图推送所述推荐。
7.根据权利要求1所述的系统,所述推荐组件被配置为在没有针对所述推荐的用户请求的情况下推送所述推荐。
8.根据权利要求1所述的系统,所述推荐组件被配置为:
确定推送时间;以及
在所述推送时间推送所述推荐。
9.根据权利要求8所述的系统,所述推荐组件被配置为:
基于工作时间限制或者当前位置限制中的至少一个确定所述推送时间。
10.根据权利要求1所述的系统,所述推荐包括与一系列事件对应的一系列建议实体。
11.一种用于向用户推送推荐的方法,包括:
确定对应于与用户相关联的触发事件的一个或者多个建议实体;所述一个或者多个建议实体包括第一建议实体和第二建议实体,所述第一建议实体具有与第一因素相关联的第一排名,所述第二建议实体具有与所述第一因素相关联的第二排名,所述第一建议实体具有与第二因素相关联的第三排名,所述第二建议实体具有与所述第二因素相关联的第四排名,所述第一排名低于所述第二排名,所述第三排名高于所述第四排名;
为所述触发事件创建推荐,其中,基于所述第一排名低于所述第二排名并且所述第三排名高于所述第四排名,所述推荐包括所述第一建议实体但不包括所述第二建议实体;以及
向与所述用户关联的设备推送所述推荐。
12.根据权利要求11所述的方法,所述触发事件对应于所述用户将执行活动的推断。
13.根据权利要求12所述的方法,包括:
基于所述用户之前发生的所述活动来创建所述推断。
14.根据权利要求11所述的方法,所述触发事件对应于以下各项中的至少一项:
用户日历中安排好的事件、与所述用户相关联的电子邮件、所述用户的社交网络数据、观察到的行为、现实世界数值的改变或所述用户的车辆内的汽油量。
15.根据权利要求11所述的方法,所述推送包括:向与所述用户的车辆相关联的计算设备推送所述推荐。
16.根据权利要求11所述的方法,所述推送包括:向地图推送所述推荐。
17.一种包括处理器可执行指令的计算机可读介质,所述指令在被执行时进行用于向用户推送推荐的方法,所述方法包括:
识别与用户关联的触发事件,所述触发事件对应于所述用户将执行活动的推断,并且基于以下各项中的至少一项:用户日历中安排好的事件、与所述用户相关联的电子邮件、所述用户的社交网络数据、观察到的行为、现实世界数值的改变或所述用户的车辆内的汽油量;
确定对应于与用户相关联的所述触发事件的一个或者多个建议实体;所述一个或者多个建议实体包括第一建议实体和第二建议实体,所述第一建议实体具有与第一因素相关联的第一排名,所述第二建议实体具有与所述第一因素相关联的第二排名,所述第一建议实体具有与第二因素相关联的第三排名,所述第二建议实体具有与所述第二因素相关联的第四排名,所述第一排名低于所述第二排名,所述第三排名高于所述第四排名;
为所述触发事件创建推荐,其中,基于所述第一排名低于所述第二排名并且所述第三排名高于所述第四排名,所述推荐包括所述第一建议实体但不包括所述第二建议实体;以及
向与所述用户关联的设备推送所述推荐。
18.根据权利要求17所述的计算机可读介质,所述推送包括:向与所述用户的车辆相关联的计算设备推送所述推荐。
19.根据权利要求17所述的计算机可读介质,所述推送包括:向地图推送所述推荐。
20.根据权利要求17所述的计算机可读介质,所述推送包括:在确定的推送时间推送所述推荐。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/558,642 | 2012-07-26 | ||
| US13/558,642 US8949334B2 (en) | 2012-07-26 | 2012-07-26 | Push-based recommendations |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1249792A1 HK1249792A1 (zh) | 2018-11-09 |
| HK1249792B true HK1249792B (zh) | 2021-09-24 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104487970B (zh) | 基于推送的推荐 | |
| US10592569B2 (en) | Search guided by location and context | |
| AU2010204767B2 (en) | Conditional incentive presentation, tracking and redemption | |
| US9282425B2 (en) | Triggering completion step suggestion for a task | |
| US20190158609A1 (en) | System and method for improved mapping and routing | |
| US20160191450A1 (en) | Recommendations Engine in a Layered Social Media Webpage | |
| US20130006754A1 (en) | Multi-step impression campaigns | |
| US20100262449A1 (en) | Context based mobile marketing | |
| US20120278173A1 (en) | Advertisement storage and retrieval | |
| US20120310713A1 (en) | Presenting offers to consumers based on information from a vehicle | |
| US20100088148A1 (en) | System and methodology for recommending purchases for a shopping intent | |
| TW201300737A (zh) | 用於提供多個支援性服務的個人長期代理者 | |
| KR20110124782A (ko) | 스폰서형 랜드마크 및 위치 라벨들을 전송하기 위한 시스템 및 방법 | |
| KR20140110728A (ko) | 컨텍스트적 상호작용 메커니즘을 갖춘 컴퓨팅 시스템 및 그 작동 방법 | |
| US20150006632A1 (en) | Determining additional information for an intended action of a user | |
| US20120278139A1 (en) | Changing consumer behavior with targeted offers | |
| US20120253936A1 (en) | System and method for providing commercial information to location-aware devices | |
| US12025455B1 (en) | Transport communication | |
| HK1249792B (zh) | 基於推送的推荐 | |
| US20130159105A1 (en) | Extended duration advertising based on inferred user categorization | |
| Hassan et al. | Personalized E-commerce Recommendations on Smartphone, based on Geo-fencing |