CN107889530A - 用于传送信息的触发器 - Google Patents

用于传送信息的触发器 Download PDF

Info

Publication number
CN107889530A
CN107889530A CN201680020060.7A CN201680020060A CN107889530A CN 107889530 A CN107889530 A CN 107889530A CN 201680020060 A CN201680020060 A CN 201680020060A CN 107889530 A CN107889530 A CN 107889530A
Authority
CN
China
Prior art keywords
user
event
action
occurred
trigger
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.)
Pending
Application number
CN201680020060.7A
Other languages
English (en)
Inventor
弗格斯·杰勒德·赫尔利
罗宾·杜瓦
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.)
Google LLC
Original Assignee
Google 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
Application filed by Google LLC filed Critical Google LLC
Publication of CN107889530A publication Critical patent/CN107889530A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书描述了用于配置用于向用户传送信息和执行动作的触发器,以及将动作与被独立于动作的动作类型确定的事件相关联的方法、系统和设备。系统从用户装置接收:将被采取的动作的识别,所述动作是多个动作类型中的一个;以及被独立于动作类型确定的第一事件的识别,其中第一事件的发生可以由系统来确定。系统将所述动作和第一事件与用于确定第一事件是否已发生的指令相关联,然后确定第一事件是否已发生。响应于对第一事件已发生的确定,系统引起动作发生。所述方法、系统和设备以技术上更有效的方式提供信息并执行动作,这使得硬件和/或软件资源能够被优化。

Description

用于传送信息的触发器
优先权要求
本申请要求2015年5月28日提交的美国临时申请序列号62/167,742的权益,其全部公开内容通过引用并入本文。
技术领域
本公开总体上涉及但不仅限于信息处理,并且具体来说,涉及用于向用户传送信息以及执行动作的触发器的配置。
背景技术
在过去十年间,基于云的服务、搜索引擎、移动应用以及位置感知装置的到来已极大地扩展了移动用户装置的效用。许多这样的用户装置现在除了提供语音和数据访问之外,还提供情境感知服务和应用。此外,随着处理系统的最近的进步,许多先前各不相干的应用和服务现在能够一起工作以提供增强的能力和用户体验。
用户可用的许多应用服务通过使用命令输入而被实例化。一种这样的服务是创建动作触发器。例如,用户可以向智能电话中说出(或者键入)“提醒我今晚购买牛奶”输入,并且使用命令解析应用(或者可选地,与命令解析服务通信)的智能电话将调用可以创建提醒、创建消息和/或日历条目、以及征求来自用户的额外信息的动作触发器过程。如果用户希望动作触发器在某一时间被执行,则这样的信息可以是时间,并且/或者,如果用户希望动作触发器在用户到达某位置时被执行,则这样的信息可以是位置。尽管这样的动作触发器的设置是非常有用的,可用的触发器在历史上已被限制为由应用或服务提供的一组选项。此外,触发器的用户配置可能是包括多个不同的手动步骤和输入的耗时且复杂的过程。当定义触发器的信息是冗长的或者从各种不同的来源获得时,这可能尤其如此。
发明内容
本说明书涉及创建某动作或行为的触发器,所述触发器是基于可能是独立于所述某动作的类型的这种类型的一个或多个发生或事件(或由所述发生或事件定义)。发生或事件是独立的,因为它们不需要选自依赖于所选择的动作类型或行为类型的清单,而是可以由用户根据一个或多个输入来定义。
触发器可以由一个或多个计算系统周期性地监测。发生或者事件是可以由网页搜索引擎识别的类型。发生或事件不限于用户的系统或应用组,而可以来自用户周围的世界中的发生或事件阵列。因此,基于这样的发生或事件的触发器在本文中也称为世界触发器。
可以实施本说明书中描述的某主题以便实现以下优点中的一个或多个。
由于本发明的实施方式可以配置比常规系统中可能的触发器更复杂的触发器,因此可以以提高所传送的信息的相关性的方式将信息传送给用户,并由此执行动作,因为所提供的信息和特定事件的发生之间存在更好的对应性。这可以减少信息可能被提供给用户并因为信息的不相关性而被用户丢弃的次数,这导致了与用户的装置、设备或系统相关联的硬件和/或软件资源的优化。
通过用于信息传送的触发器的配置,用户的装置、设备或系统可以以更有效率的方式监测与触发器相关联的各种不同的环境或操作参数以使得资源不会被不必要地浪费在测试不直接与用户指定的触发器的细节相关联的参数中。
除了改进所传送的信息与被执行的动作的相关性之外,如下文中更详细地描述的,本文中描述的实施方式可以显著减少用户必须与用户的装置、设备或系统互动以便接收有用的信息通知或者采取动作的时间。这可以减少用户的装置、设备或系统的显示器处于激活状态的总时间,并因此可以减少用电量。在移动装置的情形下,这可以节省电池电量并可以有助于减少电池需要充电的频率。除了减少用电量之外,本文中描述的方法、设备和系统减少了装置的用户界面组件上的负荷并且也可以用于减少用户的认知负担。此外,在某些方面,通知可以向用户提供某些有用信息,所述有用信息是用户以前未意识到的和/或用户手动发现它们是非常耗时的(因此对于用户和他们的装置来说都是繁冗的)。
用户可以在比迄今为止可能的广泛得多的范围的发生或事件的基础上创建触发器。触发器可以调用对用户的提醒,使得基于这样的触发器所采取的动作按照提醒的提示被手动采取。例如,用户可以将触发器设定为当想要的型号的价格在某网络零售商处降低到低于某一价格时提醒她自己购买新的手提电脑。或者,触发器可以简单地提供用户感兴趣的信息,而不一定隐含进一步的动作。例如,用户可以将触发器设定为当某股票的价格降低到低于某个值时发出警告。作为另一种可选方案,用户可以将触发器设定为自动地采取某动作。例如,用户可以将触发器设定为当音乐会门票发售时购买音乐会门票(以及由系统响应于对门票已发售的确定而处理的购买的所有方面)。作为又一种可选方案,用户可以将触发器设定为在事件发生后展示单个批准动作。例如,用户可以将触发器设定为当上述音乐会门票发售时向用户呈现“购买”按钮(系统只在用户激活“购买”按钮后自动地完成购买)。
可以从以下来设定触发器:专用的提醒应用,另一种应用形式例如浏览器或日历,或者被配置成出于建立触发器、检查与触发器相关联的发生或事件、以及在满足与发生或事件相关联的准则后警告用户(即,触发)的目的接收用户输入的某些其它类型的系统。这些后面的系统可以包括搜索引擎,电子助手,包括基于语音的助手,等等。另外,触发和通知系统可以被配置成与原本独立的用户界面前端通信,使得用户指令和通知可以被用户界面前端管理。
触发器可以基于单个发生或事件。例如,用户可以将触发器定义为在电影的上映日提醒购买感兴趣的电影票。或者,多个发生或事件可以被分组在一起以定义触发器。例如,用户可以创建在电影的上映日但只有当该上映日在配偶的日历上没有被另行预定时才提醒购买感兴趣的电影票的触发器。
在某些实施方式中,触发器的建立创建了搜索系统可以实施的经常性的搜索请求。可以分析搜索的结果以确定所搜索的内容的状态。如果被确定的状态满足由触发器设定的条件,则触发器被激活。否则,则不激活。例如,触发器可以被设定成当A公司的股票价格低于50美元时警告用户。搜索系统可以周期性地为A公司的股票价格执行搜索。搜索系统可以向执行测试的分析系统提供搜索结果以确定该价格是否低于用户设定的每股50美元的阈值。如果分析系统提供了价格已被确定为低于用户设定的每股50美元的阈值的结果并且只有在这种情况下,分析系统的输出可以被提供给通知用户的通知系统。
实质上,发生或事件的搜索和确定是对用户外部状态的改变的确定。状态的这些改变导致系统采取某动作的触发器—实质上,基于所选择的世界状态的改变的触发器或者世界触发器。尽管状态的改变是关于用户外部的发生或事件的,但搜索的触发可以独立于或依赖于用户动作。例如,搜索可以是时间间隔的函数,例如当地时间每天早上7:00搜索一次,这独立于用户的行为。或者,搜索可以是用户位置或动作的函数,例如当用户(或用户的移动装置)被确定为从A位置移动到B位置时,这依赖于用户行为。仅仅作为一个示例,用户可以将触发器设定为当用户在A商店时、但只有在那些纸巾的费用比B、C和D商店的纸巾的费用低(由上面描述的搜索和分析过程确定)的情况下提示用户购买纸巾。这些是强调触发发生或事件和搜索启动之间的某些差异的示例,并不限制本公开的范围。
创建用户定义的动作以及指定与将被呈现(或将被执行)的用户定义的动作提醒的触发器相独立的触发器,允许用户指定对用户来说独一无二并且用户希望被提醒该动作(或者希望动作被自动执行)的情形。例如,如果用户将用户定义的动作选择为观看特定的专业体育比赛,例如当[A队与B队比赛时][观看A队],则在用户没有意识到A队的日程表时用户可以被提醒该用户定义的动作。这免除了用户追踪A队的特定日程表的需要。
用户定义的动作可以基于经由网页获得的信息、经由应用可访问的数据、或用户批准的私有网络中的数据而被触发。此外,用户定义的动作可以在用户本人不知道触发器的发生的情况下被触发。
在附图和下文的描述中阐述了本说明书中所描述的主题的一个或多个实施方式的细节。该主题的其它特征、方面和优点将因该描述、附图和权利要求而变得明显。
附图说明
图1是示例环境的框图,在所述环境中对命令输入进行处理以用于基于世界知识触发器的发生的动作触发器。
图2是在用户定义的事件被确定执行时用于创建并通知用户定义的动作的示例过程的流程图。
图3A是在其中创建动作触发器的用户装置处用户界面的说明。
图3B是用户在其中创建用户定义的事件的用户装置处用户界面的说明。
图3C是在其中输入用户定义的事件的用户装置处用户界面的说明。
图3D是在其中用户定义的事件被呈现在用户定义的动作下方的用户装置处用户界面的说明。
图4A是在其中创建触发器条件的用户装置处用户界面的说明。
图4B是其中触发器条件已被添加到动作触发器的用户装置处用户界面的说明。
图5是在其中提供动作触发器清单的用户装置处用户界面的说明。
图6是在用户定义的事件被确定执行时用于创建并通知用户定义的动作的另一个示例过程的流程图。
图7是示例移动计算装置的框图。
各附图中相似的参考数字和标示指示相似的要素。
具体实施方式
动作触发器处理系统有助于创建用户定义的动作以及用户定义的触发器事件。在操作中,动作触发器处理系统接收用户装置处的用户定义的动作的输入(例如,经文本输入、语音命令、点击选择等等来执行)。动作触发器处理系统也可以接收用户定义的事件,并且当动作触发器处理系统确定用户定义的事件发生时,可以向用户装置提供用户定义的动作的通知。此通知使得用户能够在那个时刻完成动作(例如,通过提供链接/按钮/app图标/等等),或提供动作被自动完成的指示,或直接在通知消息中提供与动作有关的信息。例如,用户可以将用户定义的动作选择为观看专业体育比赛例如“观看A队”,并且用户定义的事件可以是“当A队与B队比赛时”。在动作触发器处理系统确定用户定义的事件发生之前,用户定义的动作的提醒不会被触发以在用户装置处呈现给用户。用户定义的动作以及用户定义的事件可以作为动作触发器被存储在动作触发器数据中。
此外,在某些实施方式中,行为触发器处理系统可以接收指示条件被满足的额外事件的用户选择。例如,用户可以将条件定义为在家中当A对与B队比赛时提醒观看A队。因此,如果当A队与B队比赛时用户在工作,用户将不被提醒观看A队。
动作触发器处理系统可以以多种方式分析并确定用户定义的事件的发生。例如,事件数据可以被更新和/或搜索。在某些实施方式中,信息源例如网页语料库或知识库或者二者的组合,可以被搜索以确定事件是否已发生。例如,信息源可以被由动作触发处理系统调用的搜索引擎搜索。例如,动作触发器处理器可以利用搜索引擎来确定是否存在用户定义的事件的发生。
动作触发器处理系统可以被实施在用户装置中,或者被实施在与用户装置分离的计算机系统例如服务器系统中。在后一情形中,服务器系统接收来自用户装置的输入并向用户装置发送数据用于处理。在下文中更详细地描述了这些特征以及另外的特征。
图1是环境100的框图,在环境100中命令输入被处理用于提醒任务和提醒触发。计算机网络102例如国际互联网或其组合,提供了电子装置和系统之间的数据通信。通过一个或多个网关,计算机网络102也可以包括一个或多个无线网络103或者与所述一个或多个无线网络103数据通信。
用户装置106是在用户控制之下并且能够查询和接收网络102上的资源,也能够执行其它动作的电子装置。示例用户装置106包括个人计算机、移动通信装置、可穿戴装置、以及可以发送和接收网络102上的数据的其它装置。在图1的示例中,用户装置106是智能电话。在下文中参考图7描述了示例智能电话。用户装置106可以在网络102和103上以有线和无线连接的方式分别与网络102和103通信。用户装置106也可以是通过中间装置和短距离无线收发机例如WiFi、蓝牙等访问网络102的装置。如参考图6所描述的,用户装置可以能够为各种程序和性能执行一组装置动作。
用户装置106与用户账户相关联,例如由提供多种服务的云服务提供商112提供的账户。这些服务可以包括搜索(网页、内部网、文档、以及应用,等等),网页邮件、日历、社交网络、消息、文档存储以及编辑、电子助手服务等。账户数据114可以存储用户装置106的特定于账户的数据。此外,尽管图1中只呈现了一个用户装置106,但可以包括多个用户装置106。
动作触发器处理系统120接收来自用户装置的命令输入并处理输入以确定响应于输入如果要采取动作的话将采取哪个动作。尽管在图1中动作触发器处理系统120被显示为分离的实体,但动作触发器处理系统120可以被实施在云服务提供商112中,或者甚至在用户装置106中。
正如由动作触发器处理系统120确定的,输入可以调用各种不同的动作。例如,输入可以包括字符和/或词项(例如,字母或数字)。同样,输入可以被解释为搜索查询命令,在这种情况下,搜索查询被发送给搜索服务。类似地,输入可以被解释为打电话的命令,在这种情况下,用户装置106尝试在网络103上建立语音通信。类似地,输入可以被解释为用户定义的动作,在这种情况下,可以生成动作触发器。下文中更详细地描述了动作触发器的生成、用户定义的动作、用户定义的事件以及这样的项目的处理。
在某些实施方式中,每个输入由输入解析器122处理,输入解析器122被编程为解析输入词项,包括输入的字符和词项,并确定如果要采取动作的话应采取什么动作。在某些实施方式中,输入解析器122可以访问语言模型以确定采取哪个命令或动作。这样的语言模型可以是基于统计学的,例如,模型可以包括指定给被确定为语义上与特定命令相关的特定词和短语的权重,或者基于规则的,例如,描述特定命令的句子结构的语法。可以使用各种其它语言和文本输入处理系统。
如上所述,用户可以在用户装置106上输入命令,并且动作触发器处理系统120处理命令输入以确定命令输入是否与将被采取的动作有关。将被采取的动作可以是由用户装置执行的动作,或由另一个分离的系统执行的动作。例如,由用户装置执行的动作可以是提醒的呈现、文本消息的发送、或者用户装置能够执行的其它动作。由另一个系统采取的动作可以是,例如,资产的购买、确保餐馆的预定、等等。
此外,在用户装置处将被采取的动作可以简单地涉及采取动作的确认的呈现,其中将被采取的动作可以由用户装置或分离的系统来完成。例如,如果用户输入是[当价格低于530美元时购买10股X公司股票],动作触发器处理系统将识别购买10股X公司股票的动作,以及用户定义的当X公司股票的价格低于530美元时的事件。然而,该动作可能要经受确认动作,所述确认动作引起用户装置106呈现执行购买股票的动作的确认命令。因此,当X公司股票低于530美元的事件发生时,用户装置呈现购买10股股票的确认命令。如果用户接受该确认命令,则用户装置106将向系统120发送表示用户引起股票的购买的通知。
在某些实施方式中,动作触发器处理系统120包括与输入解析器122通信的动作触发器处理器124。动作触发器处理器124也访问动作触发器数据126和事件数据128。动作触发器处理器124可以接收由用户在用户装置106上提供的用户定义的动作的用户输入。用户定义的动作是在用户定义的事件发生的时候用户想要呈现或执行的动作(例如,在用户定义的事件之前的时间点对用户的提醒)。用户定义的动作可以由多个字符(例如,字母、数字、符号)描述,例如,“观看比赛”、“带雨伞”、“清扫房屋”。动作触发器处理器124将用户定义的动作存储在动作触发器数据126中用于特定的动作触发器。可能有存储在动作触发器数据126中的多个动作触发器AT1、AT2、……ATn,并且多个提醒中的每个可以具有一个或多个用户定义的动作A1、A2、……An。一组动作触发器(例如,由用户创建的或先前实施的那些)可以在用户装置106处被查看,并且用户可以在任何时候在用户装置106处对动作触发器做出更改(例如,添加、删除、修改)。
此外,多个动作触发器中的每个具有一个或多个用户定义的事件E1、E2、……En,它们与所提供的用户定义的动作相关联。每个事件由用户选择并被独立于与其相关的动作的类型来确定。发生或事件是独立的,因为它们不需要选自依赖于所选择的动作类型或行为类型的清单,而是可以由用户根据一个或多个输入以及指定动作的输入来定义。这些一个或多个输入可以是指定动作的命令的一部分,或可以是用户的后续的系列输入。
例如,作为指定动作的命令的一部分的后续输入可以是命令句子的形式,例如,[当股票低于每股530美元时,购买10股X公司股票]。此处,解析器122识别动作——“购买10股X公司股票”——以及事件——“当X公司股票低于每股530美元时”。
为进一步说明事件是如何与动作不相关的,考虑输入[如果电影《后果》的烂香蕉评分高于75%,提醒我带南希去看《后果》]。此处,解析器122识别动作——呈现带南希去看电影《后果》的提醒——以及事件——“《后果》的烂香蕉评分高于75%”。
类似地,用户的后续的系列输入可以是搜索信息源130例如网页语料库或知识库的搜索查询输入,以识别与查询有关的事件。例如,用户可以将动作输入为呈现观看特定专业运动队例如A队的提醒。用户则可以提交对A队的日程表的查询,并且结果可以以事件的形式被呈现,例如,“当A队与B队比赛时”,“当A队与C队比赛时”,等等。
在用户定义的事件发生后,动作触发器处理器124可以向用户装置106呈现用户定义的动作,并且在某些实施方式中,动作触发器处理器124将执行与用户定义的事件相关联的用户定义的动作。用户定义的事件的发生可以包括预测用户定义的事件将要发生,用户定义的事件正在发生,和/或用户定义的事件已经发生。此外,在某些实施方式中,在用户定义的事件的时间点之前确定用户定义的事件的发生后,用户定义的动作可以在早于用户定义的事件的时间作为通知呈现给用户装置106(例如,作为在用户定义的事件的时间执行用户定义的动作的提醒)。在某些实施方式中,用户定义的动作和/或用户定义的事件可以是一次性或重复的动作触发器。用户装置106的用户可以能够设定并提供动作触发器是否将重复或者是一次性动作触发器。
尽管上述示例仅为动作描述了一个事件,可能有与动作相关联的多个事件。用户可以使用布尔逻辑指定动作的执行,例如,用户可以指定只有在每个事件发生时,或者可选地,如果任何事件发生时,或者如果由用户指定的事件的逻辑组合发生时,执行动作。
其它事件类型可以包括时间周期条件、位置区域条件、或者人接近条件,等等。时间周期条件可以是日期、日期范围、时辰、或时辰范围,等等。例如,AT1可以包括用户定义的动作(A1)“带雨伞”和用户定义的事件(E1)“当降雨概率大于50%时”,并且用户也可以包括时间周期条件(E2)“周六下午”,其可以是特定周六(例如,下周六)、每个周六、被选定的周六、或者一定模式的周六(例如,每月的第一个周六)的默认或用户设定的时间范围(例如,下午1点到5点)。基于这个提醒AT1的示例,用户定义的动作(A1)“带雨伞”将不会被触发,除非动作触发器处理器124确定用户定义的事件E1“当降雨概率大于50%时”在如时间周期条件E2“周六下午”所定义的“周六下午”发生。此外,在某些实施方式中,时间周期条件可以基于由用户装置106的用户提供的情形。例如,用户装置106的用户可以提供时间周期条件“在会议之间”,其可以基于用户的当前会议日程表来确定。
位置区域条件可以是行为条件被满足时用户装置所处或附近的特定位置(例如,房屋地址)周围的区域或者位置类型(例如,杂货店、机场、医院)。例如,位置区域条件可以是“在家”,其可以由用户在用户装置106上定义。此外,“附近”可以是距被识别的位置特定距离(例如,英尺或英里)或距被识别的位置由不同交通方式(例如,乘车、公共交通、步行)度量的一定时间量。因此,如果用户定义的动作被设定为“带雨伞”并且用户定义的事件“当降雨概率大于50%时”被设定时,用户也可以选择触发器条件“在家”。当用户装置106的用户“在家”时,如果动作触发器处理器120确定用户定义的事件被满足,或者以其它方式被触发,则动作触发器处理系统120会向用户装置106通知用户定义的动作“带雨伞”。相反地,当用户装置106不“在家”时,如果动作触发器处理系统120确定用户定义的事件“当降雨概率大于50%时”,则用户定义的动作“带雨伞”将不被呈现给用户,因为当用户定义的事件被满足时应用于动作触发器的位置区域条件不被满足。
如果用户的用户装置106位于距特定人或组的被识别的用户装置一定距离之内,则人接近条件可以被满足。在某些实施方式中,用户装置106距被识别的用户装置的距离可以由动作触发器处理器124提供或者用户可以能够调节该距离。此外,在某些实施方式中,为了使动作触发器处理器124认出特定人或组的用户装置,用户装置106可能需要包括特定人或组作为联系人或以其它方式识别人或组。然而,在其他实施方式中,动作触发器处理器124可以识别用户装置106周围的特定人和组的用户装置。例如,用户可以创建包括以下的触发器动作:提醒“讨论野营旅行”的用户定义的动作,用户定义的事件“当降雨概率大于50%时(在旅行日期期间)”(例如,用户可以选择此预报是用于当前位置或者指定不同的位置),以及人接近条件“大卫”。动作触发器处理系统120则会在动作触发器处理系统120确定用户定义的事件降雨概率大于或等于50%发生(例如,预测用户定义的事件在旅行日期期间发生)并且与“大卫”人接近时通知用户的用户装置106“讨论野营旅行”。此外,用户也可以包括时间周期条件和/或位置区域条件。
事件数据128包括定义动作触发器处理器124可用的信息的数据。例如,事件数据128可以包括新闻、天气、交通、运动和娱乐信息、出行、健康、其它事件、以及金融信息等等的世界知识。在某些实施方式中,事件数据128可以从更大的信息源130例如由搜索引擎132搜索的数据中获得。信息源可以是网页语料库、知识图、数据反馈、以及可以从中确定各种不相干的和无关联的事件的数据的任何其他信息源。此外,信息源130也可以包括由第三方提供的信息,例如第三方应用和服务(例如,天气报告和预报服务)。
此外,可以访问和/或获取不同类型和量的数据和内容作为事件数据128。例如,信息源130中的某些资源内容可以是来自资源发布者(例如,应用发布者或网站发布者)的通常可用且可访问的信息。此外,信息源130中可访问的某些资源内容可以是不针对特定用户个性化的信息,但尽管如此,所述内容可能要求用户登录,或以其它方式提供授权,以访问资源的内容。此外,某些资源内容可以是针对特定用户个性化并且可能是私有的信息。这些资源可以是资源发布者专有的并且也可以要求来自用户的登录或授权信息以访问用户的个性化信息和内容。在适当情况下且视情况而定,可以采用一种或多种不同的方法(超出本公开的范围)来获取用户证书以访问专有或私有数据,其目的在于保持用户数据的安全和隐私。
在某些实施方式中,在利用用户定义的动作和用户定义的事件创建动作触发器后,动作触发器处理器124可以引起搜索被执行,例如经由搜索引擎132来执行,或爬取事件数据128中的数据以确定用户定义的事件的状态(例如,用户定义的事件将在何时发生)。动作触发器处理器124可以连续地或周期性地(例如,以定期或不定期的间隔轮询(poll)事件数据128)搜索和/或爬取事件数据128中的数据以确定用户定义的事件的状态。在某些实施方式中,用户定义的事件的状态和信息可以由搜索引擎132从事件数据128中推送给动作触发器处理器124。动作触发器处理器可以由此获取与用户定义的事件的信息相关的接近实时或最新的信息,如果需要这样的频率的话。
更普遍地,动作触发器处理器124可以被配置成引起针对事件的发生对信息源130进行周期性搜索。特定事件的发生的发生频率可能依赖于事件类型。例如,具有非常易变的性质的事件例如股票价格可以每五分钟搜索一次;相反,不太易变的事件例如天气条件可以每小时搜索一次。因此,事件类型的搜索周期是基于事件改变的可能性;相对于数据改变缓慢的事件,数据改变快速的事件将具有比数据改变缓慢的事件更高的搜索频率。动作触发器处理器124可以获取与用户定义的事件的信息相关的实时或最新信息。
图2是在用户定义的事件被确定执行时用于创建并通知用户定义的动作的示例过程200的流程图。过程200可以例如由动作触发器处理器124实施。在某些实施方式中,示例过程200的操作可以被实施为存储在非暂时的计算机可读介质上的指令,其中指令引起数据处理设备执行示例过程200的操作。
处理器124接收将被采取的动作的识别,其中动作是多个动作类型中的一个(202)。动作触发器处理器124可以接收例如用户装置106处描述用户定义的动作的输入。用户定义的动作是当事件的发生被确定时用户想要执行的动作。动作可以是例如做某事的提醒的呈现,或者表示用户做某事的确认命令的呈现,或者在没有执行动作的提醒或确认的情况下被全部或部分自动执行的动作。动作类型与动作的主题相关。例如,电影提示是“电影”或“娱乐”动作类型;杂货清单提醒是“杂货”动作类型;股票购买动作是“金融”动作类型,等等。动作触发器处理器124将用户定义的动作存储在动作触发器数据126中用于特定的动作触发器。
处理器124接收被独立于动作类型确定的第一事件的识别,其中第一事件的发生可以由动作触发器处理器124来确定(204)。第一事件被独立于第一动作的动作类型确定,因为它不选自依赖于第一动作的动作类型的清单,而是由用户根据一个或多个输入来定义。例如,用户可以口头指定事件,例如“当A队与B队比赛时”,或者可以为事件搜索信息源。无论使用什么方法,被呈现给用户用于选择的事件被独立于第一动作的动作类型确定。例如,用户可以指定第一动作为“去看电影《后果》”的提醒,且事件为“如果降雨的预报大于50%”和“周六下午”。事件——天气事件和时间条件——不依赖于“电影”的动作类型。换句话说,与动作相关联的事件可以是能够从大的信息语料库中获得或探测到的任何事件。
处理器124将动作和第一事件与用于确定第一事件是否已发生的指令相关联(206)。例如,处理器124编写这样的指令,所述指令引起处理器124制定动作的查询并周期性地向搜索引擎132发送查询以针对指示第一事件的发生的数据搜索信息源。如上文所述,搜索的频率可能依赖于事件的易变性。在某些实施方式中,如果搜索指示不变的事件条件,则动作触发器处理器124不需要再次搜索信息源130,并可以存储该不变的事件条件作为触发器。不变的事件条件的示例是特定的日期、特定的时间、或者其发生可以被提前确定的任何其它事件。为了说明,对于事件“2016年感恩节”来说,日期是11月26日。因此,在2016年7月的事件的搜索将得到该日期,并且在7月和11月26日之间的后续搜索将是不需要的。不变的事件例如归结为确定的日期、时间等的事件可以被提前指定。
处理器124引起对信息源的搜索以确定是否已存在用户定义的事件的发生(208)。例如,动作触发器处理器124可以引起搜索引擎132在信息源130中搜索事件数据128(或者建立被搜索引擎132执行直到被取消的搜索日程表)。如上所述,每个事件的搜索可以被周期性地进行。在某些实施方式中,当事件发生时,动作触发器处理器124可以以搜索引擎注册事件并且搜索引擎132可以将指定事件的发生的数据推送给动作触发器处理器124。搜索信息源130可以通过向搜索引擎提供查询来执行。查询可以从事件数据中定义的事件生成。
如果处理器124确定用户定义的事件已发生,则处理器124引起动作发生(210)。否则,处理器124将再次引起搜索被做出,例如,另一个周期性搜索,如果确定用户定义的事件尚未发生的话。
在某些实施方式中,可以测试动作触发器的有效性和/或到期。例如,如果动作触发器接收过去的日期作为事件,则事件可以被标记为无效的。类似地,如果动作触发器从未触发并且世界条件使得动作触发器将永远不会在未来触发,则动作触发器可以被标记为过期的。后一种示例是所有事件必须发生的多事件的动作,并且事件之一是日期事件,例如,“在2015年12月31日之前,且当X公司股票低于每股400美元时,购买10股X公司股票”。一旦日期已过,且动作从未被触发,例如,由于直到12月31日X公司股票都没有跌到低于400美元,则动作触发器被标记为过期的。
图3A-3D绘出了用于设定并管理世界知识触发器的示例用户装置用户界面。在图3A-3D的示例中,用户首先定义动作,然后为将与动作相关联的事件提供额外的词项。具体来说,图3A是在其中创建动作触发器的用户装置300处用户界面302a的说明。在用户定义的动作输入字段304,用户可以键入当用户定义的事件被确定执行时用户想要执行或展示的动作。在图3A中,用户定义的动作在正被输入到用户定义的动作输入字段304中的过程中。在当前用户装置300上,用户可以使用用户装置300的触摸屏来键入用户定义的动作的词项和字符。然而,这样的配置不是必须的,并且其它方法和用户装置类型可以被用于输入字符和词项。例如,如前所述,语音输入可以是提供用户定义的动作的词项和字符的另一种方式。
在图3B中,提供了用户界面302b,其中用户定义的动作已被输入到用户定义的动作输入字段304中,并且用户可以通过在事件字段306的区域中选择来创建事件。在事件字段306的区域中选择之后,事件选项被展示给用户,所述事件选项在当前的实施方式中包括时间周期条件306a、位置区域条件306b、人接近条件306c、提醒行为306d、以及世界知识条件306e。
此外,在图3C中,提供了用户界面302c,其中在用户选择世界知识选项306e后,用户定义的事件字段308e可以被提供。在当前的实施方式中,用户定义的事件字段308e包括可以在其中输入文本字符和词项的输入字段。例如,在当前示例中,词项“降雨”已被输入到用户定义的事件字段308e中。此外,用户定义的事件字段308e包括用户定义的事件选项,所述用户定义的事件选项包括在用户定义的事件字段308e的输入字段中提供的词项或字符。例如,在当前的示例中,用户定义的事件选项包括选项“当预报显示有雨时”,“如果昨天下过雨”,以及“如果存在50%降雨概率”。尽管当前的示例中包括三个用户定义的事件选项,但可以提供更多或更少的用户定义的事件选项。
在当前的实施方式中,用户定义的事件选项可以从事件数据128经由动作触发器处理器124基于事件数据128中包括的信息或存储在用户装置106处的信息而被提供。例如,事件数据128可以基于已被输入到用户定义的事件字段308e的输入字段中的文本字符来提供常见的或相似的实体(例如,如在搜索引擎中执行的)。这样的信息可以基于知识库系统130中的信息并通过使用搜索引擎132来确定。此外,可能存在被存储在动作触发器数据126和/或事件数据128中的用户定义的事件的用户历史。用户定义的事件选项可以包括用户的用户历史中与已被输入到用户定义的事件字段308e的输入字段中的文本字符匹配或相似的一个或多个用户定义的事件实体,以及其它常见的或相似的实体。所述常见的或相似的实体可以基于输入的文本字符和/或基于当那些特定的文本字符被输入时其它用户的实体和选择来确定。然而,这样的配置不是必须的,并且呈现用户定义的事件选项不是必须的。
在图3D中,提供了用户界面302d,其中在用户已提供用户定义的事件“50%降雨概率”之后,事件字段306包括在用户定义的动作输入字段304中的用户定义的动作“带雨伞”下方的用户定义的事件“50%降雨概率”。此外,用户可以添加额外的事件,如由事件字段306中“添加另一个”的添加事件选项309所示的。用户可以通过例如选择保存选项310来指示动作触发器是完整的,或者可以提供其它选项来完成动作触发器。
图4A和4B提供了添加其它事件例如位置事件的描述。如果用户选择位置区域条件306b,则用户可以选择位置区域,用户装置必须被确定在所述位置区域中以便触发用户定义的动作。用户可以通过使用地址、通过GPS坐标、通过语义例如通过指定一个商店、或者通过可以被解析为特定位置的输入来指定位置。位置触发器条件可以是行为条件被满足时用户装置所处或附近的特定位置(例如,房屋地址、工作地址、用户识别的喜爱的酒吧的GPS坐标、等等)周围的区域或位置类型(例如,杂货店、机场、医院)。例如,位置区域条件可以是“在家”,其可以由用户在用户装置106上定义。此外,“附近”可以是距被识别的位置特定距离(例如,英尺或英里)或距被识别的位置由不同交通方式(例如,乘车、公共交通、步行)度量的一定时间量。此外,位置区域条件可以提供与如前所述的世界知识选项306e相似的输入字段和选择选项。
如图4B中所见,提供了当用户已选择位置触发器条件“在家”时的用户界面402b。因此,在当前示例中,当用户“在家”时,如果用户定义的事件“50%降雨概率”被确定,则用户定义的动作“带雨伞”将被触发。此外,如图3D中所描述的,用户可以通过选择添加事件选项309来添加额外的事件。
图5是在其中提供提醒清单的用户装置300处用户界面502的说明。提醒清单可以基于过滤器504来过滤。在当前的实施方式中,过滤器504包括“全部”、“时间”、以及“位置”。然而,在其它实施方式中,不同的过滤器以及更多或更少的过滤器可以被提供。此外,在当前的实施方式中,提供了动作触发器506、508、510以及512。动作触发器508包括图3A-4B中创建和定义的用户定义的动作、用户定义的事件、以及动作触发器。此外,动作触发器可以从用户界面502通过选择添加选项514来创建。在某些实施方式中,通过选择添加选项514,用户可以被引导到图3A中提供的用户界面302。
图6是在用户定义的事件被确定执行时用于创建并通知用户定义的动作的示例过程600的流程图。过程600可以例如由动作触发器处理器124实施。在某些实施方式中,示例过程600的操作可以被实施为存储在非暂时的计算机可读介质上的指令,其中指令引起数据处理设备执行示例过程600的操作。
用户定义的动作由动作触发器处理器124接收(602)。动作触发器处理器124可以接收包括用户装置106处描述用户定义的动作的一组词项的输入。用户定义的动作是当用户定义的事件的发生被确定时用户想要执行或被提醒的动作。用户定义的动作可以包括多个字符,并且可以是例如“带雨伞”、“洗车”“清扫房屋”、或者任何其它用户定义的动作。提醒处理器124将用户定义的动作存储在动作触发器数据126中用于特定的动作触发器。
使用信息源130确定满足与用户定义的动作的阈值相关性的事件(604)。为了识别事件,系统可以使用用户定义的动作来搜索事件,或者可选地,可以从用户接收被用于搜索事件的额外词项或输入。在前一个情形中,例如,搜索引擎132可以基于用户定义的动作的字符和词项并通过对知识库的搜索来确定相关的事件。动作触发器处理器124可以处理输入并形成查询,例如,搜索满足阈值相关性的相关事件。在该实施方式的变体中,搜索引擎132(或者动作触发器处理器124)可以访问描述由输入相同或相似的用户定义的动作的其它用户选择的事件的数据。例如,如果用户提供了用户定义的动作“带雨伞”,则信息源130可以确定与雨伞相关的事件(例如,来自天气服务的降雨预报),当提供相同或相似的用户定义的动作“带雨伞”时用户已输入或选择的事件,或者与用户定义的动作中的词项有关系或者联系的事件,例如与降雨有关的事件。阈值可以基于事件与用户定义的动作的相似程度来确定。例如,相似度的评分或其它类型的识别符可以用于确定事件与用户定义的动作之间的相似度的水平。
为了生成查询,动作触发器处理器124可以解析输入以去除停止词,将用户定义的动作的词项提交给查询重写器以生成一个或多个查询,使用用户定义的动作作为查询,或者可以使用其它查询生成技术。机器学习也可以用于将所提供的查询与多个可能的用户定义的动作中的一个相匹配。如前所述,搜索引擎132可以基于从用户定义的动作中提供的信息和词项提供的查询,确定相关的事件。
在其中系统从用户接收被用于搜索事件的额外词项的后一种情形下,用户可以定义动作提醒,然后为该动作提醒描述用户想要与事件触发器相关的参数。该后一种实施方式为将事件与动作相关联提供了多得多的灵活性。具体来说,特定于用户或者被用户指定为与动作相关的事件可以与动作相关联。例如,用户可以创建提醒“去接妻子”的用户定义的动作。然后,用户可以为了创建用户定义的事件而输入查询“到旧金山的1234次航班”。搜索引擎132可以为用户定义的事件确定相关的事件,如前所述,其可以是例如“当按预定时间降落时(11:00AM)”、“当按实际时间降落(TBD)时”、“在实际时间(TBD)降落前一小时”、或者“在预定时间降落前一小时(10:00AM)”。因此,即使系统可能不能够自动将特定航班时间与用户定义的动作相关联,但通过使用先前定义的动作的第二事件输入,系统仍可以基于第二事件输入来识别多个事件并从而使用户能够将宽范围的事件与用户定义的动作相关联。
引起用户装置106显示可选择事件的清单的数据被提供给用户装置(606)。事件包括满足阈值相关性的事件,并且是动作触发器处理系统120已识别的并且能够基于信息源130中的信息确定的那些事件。
描述选自可选择事件之一的用户定义的事件的数据被接收(608)。用户装置106的用户可以选择被显示给用户装置的可选择事件中的一个以确定用户定义的事件。在确定用户定义的事件发生之后,动作触发器处理器124可以向用户装置106呈现用户定义的动作,并且在某些实施方式中,动作触发器处理器124将执行与用户定义的事件相关联的用户定义的动作。
在某些实施方式中,动作触发器条件可以由用户装置提供给动作触发器处理器124(610)。动作触发器指示在确定用户定义的事件的发生中要满足的条件。例如,如前所述,动作触发器可以是一个或多个时间周期条件、位置区域条件、或人接近条件。
此外,系统搜索信息源(或引起对信息源的搜索)以确定是否已存在用户定义的事件的发生(612)。例如,动作触发器处理器124可以引起搜索引擎132针对指示用户定义的事件的发生的数据而搜索信息源130。动作触发器处理器124可以连续地或周期性地(例如,以定期或不定期的间隔轮询事件数据128)搜索和/或爬取事件数据128中的数据以确定用户定义的事件的状态。在某些实施方式中,用户定义的事件的状态和信息可以由搜索引擎132推送给动作触发器处理器124。
接着,系统确定是否存在用户定义的事件的发生(614)。在获取来自知识库系统130的信息后,动作触发器处理器124可以将从知识库系统130接收的信息与用户定义的事件进行比较以便确定是否已存在用户定义的事件的发生。基于上文的示例,在用户定义的动作是“带雨伞”且用户定义的事件是“50%降雨概率”的情况下,信息源130可以更新用户装置106的用户的位置的天气信息,并且动作触发器处理器124可以周期性地或连续地接收(例如,推送或轮询)更新。当动作触发器处理器124接收更新时,动作触发器处理器124可以确定用户定义的事件是否已经发生。如果用户定义的事件没有发生,动作触发器处理器124可以再次引起信息源130的搜索被做出。
在确定用户定义的事件发生之后,动作触发器处理器124可以向用户装置106提供数据以使得用户装置可以呈现动作的提醒(616)。在其它实施方式中,一旦动作触发器处理器124确定用户定义的事件发生后,动作触发器处理器124和/或动作触发器处理系统120的其它组件可以执行用户定义的动作(例如,自动地),并且在某些实施方式中,向用户装置106提供用户定义的动作已被启动或完成的通知。此外,在某些实施方式中,通知可以由动作触发器处理器124提供,并且用户装置106的用户可以访问与用户定义的动作相关的信息;然而,在用户装置106的显示器处呈现通知不是必须的。用户接收的通知可以是移动装置上提供的通知(例如,安卓通知、app内部通知等等),或者桌面上的通知(例如,浏览器通知、OS通知等等)。在通知中,可以提供执行与用户定义的动作相关联的操作的链接或按钮。例如,如果用户定义的动作是“打电话给大卫”且用户定义的事件是“当总统的国情咨文播放时”,则在提供包括用户定义的动作“打电话给大卫”的通知时,可以包括打电话给大卫的链接或按钮。在某些实施方式中,当动作触发器处理器124认出将被执行的动作时,可以包括链接或按钮(例如,认出打电话给大卫并且“大卫”被包括在用户装置106的联系人中)。
另外,在某些实施方式中,用户定义的动作的呈现或用户定义的动作的执行可以被提供给用户装置106之外的装置。例如,呈现可以被提供给被确定为与用户接近的装置或者用户将看见或者正在看的装置。例如,如果用户的用户装置106在阈值时间周期中未被用户使用,并且用户正在使用另一个装置,则动作处理系统120可以决定向用户正在使用的装置呈现用户定义的动作。
在本文中讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或行为、职业、用户的偏好、用户当前的位置、位置轨迹、推断的位置例如家/工作、推断的情境、日历数据、来自电子邮件的即将来临的事件/预定等等的信息)或者控制是否和/或如何接收可能与用户更相关的来自内容服务器的内容的机会。此外,某些数据可以在被存储或使用之前以一种或多种方式进行处理,使得个人可识别信息被移除。例如,可以对用户的身份进行处理,使得不能确定用户的个人可识别信息,或者用户的地理位置可以被一般化为位置信息被获取处(例如,城市、ZIP代码、或州级),使得不能确定用户的具体位置。因此,用户可以对如何收集关于用户的信息以及内容服务器如何使用所述信息进行控制。
图7是示例移动计算装置的框图。在该说明中,移动计算装置710被示出为包括用于向移动计算装置710的用户呈现内容并接收基于触摸的用户输入的触摸屏显示装置712的手持移动电话(例如,智能电话、或者应用电话)。也可以提供其它视觉的、触觉的、以及听觉的输出组件(例如,LED灯,用于触觉输出的振动机构,或者用于提供音调、语音生成、或录音输出的扬声器),也可以提供各种不同的输入组件。
移动计算装置710可以包括机械或触摸敏感按钮718a-d。此外,移动计算装置可以包括用于调节一个或多个扬声器720的音量输出的按钮,以及用于打开或关闭移动计算装置的按钮。麦克风722允许移动计算装置710将可听见的声音转换为可以被数字编码并储存在计算机可读存储器中或发送给另一个计算装置的电信号。移动计算装置710也可以包括数字罗盘、加速度计、接近传感器、以及环境光传感器。
移动计算装置710可以用触摸屏712呈现图形用户界面。图形用户界面是一个或多个图形界面要素的集合并且可以是静态的(例如,显示器看起来在一段时间内保持相同),或者可以是动态的(例如,图形用户界面包括无需用户输入而动画化的图形界面要素)。
移动计算装置710可以包括其它应用、计算子系统、以及硬件。语音识别服务772可以接收由移动计算装置的麦克风722接收的语音通信数据并将语音通信翻译为对应的文本数据或执行语音识别。
移动计算装置710可以与一个或多个网络无线通信以提供多种服务,例如语音和数据服务。
本说明书中描述的主题的实施方式和操作可以在数字电子电路中,或者在包括本说明书中公开的结构以及它们的结构等效物的计算机软件、固件、或硬件中,或者在前述一个或多个的组合中实施。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序,即,一个或多个计算机程序指令模块,其被编码在计算机存储介质上用于被数据处理设备执行或控制数据处理设备的操作。
计算机存储介质可以是,或者可以被包括在,计算机可读存储装置、计算机可读存储基底、随机或串行存取存储器阵列或装置、或者前述一个或多个的组合中。此外,尽管计算机存储介质不是传输信号,但计算机存储介质可以是以人工生成的传输信号形式编码的计算机程序指令的来源或终点。计算机存储介质也可以是,或者可以被包括在,一个或多个分离的物理组件或介质(例如,多张CD、盘、或其它存储装置)中。
本说明书中描述的操作可以被实施为由数据处理设备对存储在一个或多个计算机可读存储装置上或从其它源接收到的数据执行的操作。术语“数据处理设备”涵盖用于处理数据的所有种类的设备、装置以及机器,例如包括可编程处理器、计算机、芯片上的系统、或前述的多个或组合。设备可以包括特殊用途的逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,设备也可以包括,为所讨论的计算机程序创建执行环境的代码,例如,组成处理器固件的代码、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机、或者前述一个或多个的组合。设备和执行环境可以实现各种不同的计算模型架构,例如网页服务、分布式计算和网格计算架构。
适合于执行计算机程序的处理器包括例如通用和特殊用途的微处理器两者、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器或随机存取存储器或二者的指令和数据。计算机的必要元件是根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器装置。通常,计算机还包括用于存储数据的一个或多个大容量存储装置,或者被可操作地耦合成接收来自所述大容量存储装置的数据或将数据转移到所述大容量存储装置,或二者皆有,其中所述大容量存储装置例如为磁盘、磁光盘、或光盘。然而,计算机不一定具有这样的装置。
本说明书中描述的主题的实施方式可以在以下中实施:包括后端组件例如作为数据服务器的计算系统,或者包括中间件组件的计算系统,例如应用服务器,或者包括前端组件的计算系统,例如,具有用户通过其可以与本说明书中描述的主题的实施方式互动的图形用户界面或网页浏览器的用户计算机,或者一个或多个这样的后端、中间件、或前端组件的任何组合。系统的组件可以由数字数据通信的任何形式或介质例如通信网络来互联。通信网络的示例包括局域网(“LAN”)以及广域网(“WAN”)、互联网络(例如,国际互联网)、以及点对点网络(例如,ad hoc点对点网络)。
尽管本说明书含有许多特定的实施细节,这些不应被解释为对任何发明或可以被请求保护的范围的限制,而是应解释为特定于特定发明的特定实施方式的特征的描述。本说明书中在分离的实施方式的情形中描述的某些特征也可以在单个实施方式中以组合的形式实施。相反,在单个实施方式的情形中描述的各种特征也可以在多个实施方式中分开地实施或以任何适当的亚组合的形式实施。此外,尽管在上文中特征可以被描述为以某些组合的形式起作用,并且甚至在最初的权利要求中限定为如此,但权利要求所限定的组合中的一个或多个特征可以在某些情况下从所述组合中剥离,并且权利要求所限定的组合可以涉及亚组合或亚组合的变体。
类似地,尽管操作在附图中以特定顺序绘出,这不应被理解为要求这些操作以示出的特定顺序或以相继的顺序执行,或者所有被说明的操作都被执行,以实现想要的结果。在某些情形中,多任务和并行处理可以是有利的。此外,上文所描述的实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都要求这样的分离,并且应该理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中或打包进多个软件产品中。
因此,已描述了主题的具体实施方式。其它实施方式在权利要求的范围之内。在某些情况下,权利要求中所叙述的动作可以以不同的顺序执行并仍然实现想要的结果。此外,附图中绘出的过程不一定要求示出的特定顺序,或相继的顺序,以实现想要的结果。在某些实施方式中,多任务和并行处理可以是有利的。

Claims (31)

1.一种方法,包括:
由系统从用户装置接收将被采取的动作的识别,所述动作是多个动作类型中的一个;
由系统从用户装置接收被独立于所述动作类型确定的第一事件的识别,其中所述第一事件的发生能够由系统来监测并确定;
由所述系统将所述动作和所述第一事件与用于确定所述第一事件是否已发生的指令相关联;
确定所述第一事件是否已发生;以及
响应于对所述第一事件已发生的确定,引起所述动作发生。
2.如权利要求1所述的方法,进一步包括:
从所述用户装置接收查询;
向搜索信息源的搜索系统递交所述查询;
从所述搜索系统接收从所述信息源获得的被确定与所述查询相关的事件;
向所述用户装置提供引起所述用户装置显示作为可选择事件的事件清单的数据;以及
其中,接收被独立于所述动作类型确定的并且所述第一事件的发生能够由系统来确定的第一事件的识别包括从所述用户装置接收对所述可选择事件中的一个的选择。
3.如权利要求2所述的方法,其中,所述信息源是web资源语料库。
4.如权利要求2所述的方法,其中,所述信息源是知识图。
5.如前述权利要求中的任一项所述的方法,进一步包括:
由所述系统从所述用户装置接收被独立于所述动作类型确定的第二事件的识别;以及
由所述系统将所述动作与所述第二事件相关联。
6.如权利要求5所述的方法,其中:
确定所述第一事件是否已发生还包括确定所述第二事件是否已发生;以及
响应于对所述第一事件已发生的确定,引起所述动作发生包括响应于对所述第一事件和所述第二事件均已发生的确定,引起所述动作发生。
7.如权利要求5所述的方法,其中:
确定所述第一事件是否已发生还包括确定所述第二事件是否已发生;以及
响应于对所述第一事件已发生的确定,引起所述动作发生包括响应于对所述第一事件或所述第二事件已发生的确定,引起所述动作发生。
8.如权利要求5至7中的任一项所述的方法,其中:
所述第二事件是由所述用户装置确定的事件。
9.如权利要求8所述的方法,其中,所述第二事件包括时间周期事件、位置区域事件、以及人接近事件中的至少一个。
10.如权利要求1所述的方法,其中,由所述系统将所述动作和所述第一事件与用于确定所述第一事件是否已发生的指令相关联包括将所述动作和所述第一事件与引起对信息源周期性搜索指示所述第一事件的发生的数据的指令相关联。
11.如权利要求10所述的方法,其中,将所述动作和所述第一事件与引起对信息源进行周期性搜索的指令相关联包括:
从多个事件类型中确定所述第一事件的事件类型;以及
基于所确定的事件类型为所述指令选择搜索周期,其中彼此不同的事件类型具有不同的搜索周期。
12.如权利要求11所述的方法,其中,所述信息源包括用户偏好以及特定于所述用户的用户特定数据。
13.如权利要求11所述的方法,其中,所述信息源是知识图。
14.如前述权利要求中的任一项所述的方法,其中:
将被采取的动作是在所述用户装置处呈现提醒;以及
引起所述动作发生包括向所述用户装置发送引起所述用户装置呈现所述提醒的数据。
15.如权利要求1至13中的任一项所述的方法,其中:
将被采取的动作是独立于所述用户装置执行的动作。
16.如权利要求1至13中的任一项所述的方法,其中:
将被采取的动作是呈现采取第二动作的确认;
引起所述动作发生包括向所述用户装置发送引起所述用户装置呈现所述确认的数据;以及
进一步包括由所述系统响应于从所述用户装置接收指示所述确认的接受的数据而执行所述第二动作。
17.如前述权利要求中的任一项所述的方法,其中,所述第一事件是与所述用户相关联的事件。
18.如权利要求1至17中的任一项所述的方法,其中,所述第一事件是独立于所述用户的事件。
19.如权利要求1所述的方法,其中,由所述系统将所述动作和所述第一事件与用于确定所述第一事件是否已发生的指令相关联包括:
测试所述第一事件的生效条件;以及
仅当所述第一事件的生效条件的测试指示所述第一事件能够发生时将所述动作和所述第一事件与用于确定所述第一事件是否已发生的指令相关联。
20.如前述权利要求中的任一项所述的方法,进一步包括:其中所述至少一个行为条件是时间周期条件、位置区域条件、以及人接近条件中的至少一个。
21.一种方法,包括:
在数据处理设备处从用户装置接收在所述用户装置处输入的描述用户定义的动作的第一组词项;
基于知识库系统中的信息确定满足与由所述第一组词项描述的所述用户定义的动作的阈值相关性的事件;
向所述用户装置提供引起所述用户装置显示可选择事件的清单的数据,所述可选择事件包括满足与所述用户定义的动作的阈值相关性的事件;
由所述数据处理设备从所述用户装置接收在用户装置处通过选择所述可选择事件中的一个来输入的描述用户定义的事件的数据,其中所述用户定义的事件的发生触发所述用户定义的动作被作为通知提供给所述用户装置;
由所述数据处理设备搜索所述知识库系统以确定是否已存在所述用户定义的事件的发生;
基于从对所述知识库系统的搜索获取的信息由所述数据处理设备确定所述用户定义的事件的发生;以及
由所述数据处理设备向所述用户装置提供所述用户定义的动作的通知。
22.如权利要求21所述的方法,其中,确定满足与由所述第一组词项描述的所述用户定义的动作的阈值相关性的事件包括:
从所述第一组词项生成查询;
向所述知识库系统提交所述查询;以及
从所述知识库系统接收在所述知识库系统中定义的被确定为与所述查询相关的事件。
23.如权利要求21所述的方法,其中,从所述知识库系统确定满足与由所述第一组词项描述的所述用户定义的动作的阈值相关性的事件包括:
在所述数据处理设备处从所述用户装置接收描述事件类型的第二组词项;
从所述第二组词项生成查询;
向知识库系统提交所述查询;以及
从所述知识库系统接收在所述知识库系统中定义的被确定为与所述查询相关的事件。
24.如权利要求21所述的方法,其中,确定所述用户定义的事件的发生进一步包括:
基于表示所述知识库系统中的信息的数据来确定所述用户定义的事件的发生。
25.如权利要求21所述的方法,进一步包括:
由所述数据处理设备从所述用户装置接收描述至少一个触发器条件的选择的数据,所述至少一个触发器条件指示在确定所述用户定义的事件的发生中要满足的条件,所述触发器条件与所述用户定义的事件不同;以及
其中,确定所述用户定义的事件的发生进一步包括:
响应于确定所述用户定义的事件的发生,由所述数据处理设备确定所述至少一个触发器条件是否已被满足。
26.如权利要求25所述的方法,其中,所述至少一个行为条件是时间周期条件、位置区域条件、以及人接近条件中的至少一个。
27.如权利要求21所述的方法,进一步包括:
在确定所述用户定义的事件的发生后,由所述数据处理设备执行所述用户定义的动作;以及
由所述数据处理设备提供所述用户定义的动作已被执行的通知。
28.一种系统,包括:
处理器;以及
与所述处理器耦合并具有存储在其上的指令的计算机可读介质,所述指令在由所述处理器执行时引起所述处理器执行包括以下的操作:
从用户装置接收在所述用户装置处输入的描述用户定义的动作的第一组词项;
基于知识库系统中的信息确定满足与由所述第一组词项描述的所述用户定义的动作的阈值相关性的事件;
向所述用户装置提供引起所述用户装置显示可选择事件的清单的数据,所述可选择事件包括满足与所述用户定义的动作的阈值相关性的事件;
从所述用户装置接收在用户装置处通过选择所述可选择事件中的一个来输入的描述用户定义的事件的数据,其中所述用户定义的事件的发生触发所述用户定义的动作被作为通知提供给所述用户装置;
搜索所述知识库系统以确定是否已存在所述用户定义的事件的发生;
基于从对所述知识库系统的搜索获取的信息确定所述用户定义的事件的发生;以及
向所述用户装置提供所述用户定义的动作的通知。
29.一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时引起所述处理器执行包括以下的操作:
从用户装置接收在所述用户装置处输入的描述用户定义的动作的第一组词项;
基于知识库系统中的信息确定满足与由所述第一组词项描述的所述用户定义的动作的阈值相关性的事件;
向所述用户装置提供引起所述用户装置显示可选择事件的清单的数据,所述可选择事件包括满足与所述用户定义的动作的阈值相关性的事件;
从所述用户装置接收在用户装置处通过选择所述可选择事件中的一个来输入的描述用户定义的事件的数据,其中所述用户定义的事件的发生触发所述用户定义的动作被作为通知提供给所述用户装置;
搜索所述知识库系统以确定是否已存在所述用户定义的事件的发生;
基于从对所述知识库系统的搜索获取的信息来确定所述用户定义的事件的发生;以及
向所述用户装置提供所述用户定义的动作的通知。
30.一种系统,包括:
处理器;以及
与所述处理器耦合并具有存储在其上的指令的计算机可读介质,所述指令在由所述处理器执行时引起所述处理器执行包括以下的操作:
从用户装置接收将被采取的动作的识别,所述动作是多个动作类型中的一个;
从用户装置接收被独立于所述动作类型确定的第一事件的识别,其中所述第一事件的发生能够由系统来监测并确定;
将所述动作和所述第一事件与用于确定所述第一事件是否已发生的指令相关联;
确定所述第一事件是否已发生;以及
响应于对所述第一事件已发生的确定,引起所述动作发生。
31.一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时引起所述处理器执行包括以下的操作:
从用户装置接收将被采取的动作的识别,所述动作是多个动作类型中的一个;
从用户装置接收被独立于所述动作类型确定的第一事件的识别,其中所述第一事件的发生能够由所述系统来监测并确定;
将所述动作和所述第一事件与用于确定所述第一事件是否已发生的指令相关联;
确定所述第一事件是否已发生;以及
响应于对所述第一事件已发生的确定,引起所述动作发生。
CN201680020060.7A 2015-05-28 2016-05-09 用于传送信息的触发器 Pending CN107889530A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562167742P 2015-05-28 2015-05-28
US62/167,742 2015-05-28
US14/752,207 US10642843B2 (en) 2015-05-28 2015-06-26 World knowledge triggers
US14/752,207 2015-06-26
PCT/US2016/031447 WO2016191080A1 (en) 2015-05-28 2016-05-09 Triggers for information delivery

Publications (1)

Publication Number Publication Date
CN107889530A true CN107889530A (zh) 2018-04-06

Family

ID=56072432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680020060.7A Pending CN107889530A (zh) 2015-05-28 2016-05-09 用于传送信息的触发器

Country Status (4)

Country Link
US (4) US10642843B2 (zh)
EP (1) EP3304345A1 (zh)
CN (1) CN107889530A (zh)
WO (1) WO2016191080A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221666A (zh) * 2020-01-03 2020-06-02 北京明略软件系统有限公司 调度方法、装置、电子设备及计算机可读存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10453325B2 (en) 2015-06-01 2019-10-22 Apple Inc. Creation of reminders using activity state of an application
US9603123B1 (en) 2015-06-04 2017-03-21 Apple Inc. Sending smart alerts on a device at opportune moments using sensors
US10235863B2 (en) * 2015-06-05 2019-03-19 Apple Inc. Smart location-based reminders
US20180197104A1 (en) * 2017-01-06 2018-07-12 Microsoft Technology Licensing, Llc Using an action-augmented dynamic knowledge graph for dialog management
GB201710837D0 (en) * 2017-07-05 2017-08-16 Jones Maria Francisca Event based deferred search method and system
US11836198B2 (en) * 2017-09-05 2023-12-05 Drexel University Action-centered information retrieval
US10990929B2 (en) * 2018-02-27 2021-04-27 Servicenow, Inc. Systems and methods for generating and transmitting targeted data within an enterprise
US20200090128A1 (en) * 2018-09-17 2020-03-19 Servicenow, Inc. Systems and methods for determining completion of and transmitting campaign-related content
FR3094809A1 (fr) * 2019-04-02 2020-10-09 Amadeus Sas Procédé et dispositif pour la gestion d’évènements
US11668575B2 (en) * 2020-03-05 2023-06-06 Airbnb, Inc. Pre-event triggers for travel management systems
WO2023248211A1 (en) * 2022-06-23 2023-12-28 Zaapit As Ltd Conditional processing based on event execution on records

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070167136A1 (en) * 2005-12-29 2007-07-19 Microsoft Corporation Automatic Detection and Notification of Proximity of Persons of Interest
CN101662831A (zh) * 2008-08-29 2010-03-03 佛山市顺德区汉达精密电子科技有限公司 一种定位提醒的方法
CN102799751A (zh) * 2011-05-25 2012-11-28 鸿富锦精密工业(深圳)有限公司 备忘录系统、备忘录实现方法及具有该系统的手持式设备
CN103514533A (zh) * 2012-06-08 2014-01-15 微软公司 位置知晓的提醒
CN103582896A (zh) * 2011-06-03 2014-02-12 苹果公司 生成和处理代表待执行任务的任务项目
CN104111991A (zh) * 2014-07-02 2014-10-22 百度在线网络技术(北京)有限公司 通过搜索引擎进行提醒的方法和搜索引擎
CN104537064A (zh) * 2014-12-29 2015-04-22 北京奇虎科技有限公司 未来事件信息推送装置及推送方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314453B1 (en) * 1999-02-17 2001-11-06 Hewlett-Packard Company Method for sharing and executing inaccessible dynamic processes for replica consistency among a plurality of existing applications
US7444383B2 (en) 2000-06-17 2008-10-28 Microsoft Corporation Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information
AU2001286697A1 (en) * 2001-07-16 2003-03-03 America Online Incorporated Method and apparatus for calendaring reminders
US20040019603A1 (en) 2002-05-29 2004-01-29 Honeywell International Inc. System and method for automatically generating condition-based activity prompts
CA2476697A1 (en) 2003-08-19 2005-02-19 Karim Moheb Zaki Remote reminders application system
US20060107224A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Building a dynamic action for an electronic form
US7801328B2 (en) * 2005-03-31 2010-09-21 Honeywell International Inc. Methods for defining, detecting, analyzing, indexing and retrieving events using video image processing
US8666928B2 (en) * 2005-08-01 2014-03-04 Evi Technologies Limited Knowledge repository
US20080004926A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Methods and architectures for context-sensitive reminders and service facilitation
US7680786B2 (en) * 2006-10-30 2010-03-16 Yahoo! Inc. Optimization of targeted advertisements based on user profile information
US20090157672A1 (en) 2006-11-15 2009-06-18 Sunil Vemuri Method and system for memory augmentation
US20080136592A1 (en) * 2006-12-07 2008-06-12 Symbol Technologies, Inc. Rfid-based reminder service
US20080195455A1 (en) * 2007-02-09 2008-08-14 Research In Motion Limited Electronic device and method of scheduling calendar events
US20100271202A1 (en) 2009-04-23 2010-10-28 Bo-In Lin Reminder messages delivery from reminder device when triggered by reminder-required events
US8495048B2 (en) * 2009-08-26 2013-07-23 International Business Machines Applying user-generated deployment events to a grouping of deployable portlets
US9158816B2 (en) * 2009-10-21 2015-10-13 Microsoft Technology Licensing, Llc Event processing with XML query based on reusable XML query template
US8766793B2 (en) * 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
US20130232006A1 (en) * 2012-03-05 2013-09-05 Tim Holcomb Filtered Search Query Data for Context and User Intent within a Location-Based Search Engine
US9460608B2 (en) 2012-09-13 2016-10-04 Apple Inc. Reminder creation for tasks associated with a user event
US20140100904A1 (en) * 2012-10-04 2014-04-10 James Louis Wolf Adaptive reminder strategies for user activities
US9554050B2 (en) 2013-03-04 2017-01-24 Apple Inc. Mobile device using images and location for reminders
US20140280577A1 (en) * 2013-03-15 2014-09-18 Salesforce.Com, Inc. Systems and methods for interacting with an application in a publisher
US9378065B2 (en) * 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
US10394882B2 (en) * 2014-02-19 2019-08-27 International Business Machines Corporation Multi-image input and sequenced output based image search
US11587000B2 (en) * 2018-03-02 2023-02-21 Initlive Inc. Workforce response based event management methods and systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070167136A1 (en) * 2005-12-29 2007-07-19 Microsoft Corporation Automatic Detection and Notification of Proximity of Persons of Interest
CN101662831A (zh) * 2008-08-29 2010-03-03 佛山市顺德区汉达精密电子科技有限公司 一种定位提醒的方法
CN102799751A (zh) * 2011-05-25 2012-11-28 鸿富锦精密工业(深圳)有限公司 备忘录系统、备忘录实现方法及具有该系统的手持式设备
CN103582896A (zh) * 2011-06-03 2014-02-12 苹果公司 生成和处理代表待执行任务的任务项目
CN103514533A (zh) * 2012-06-08 2014-01-15 微软公司 位置知晓的提醒
CN104111991A (zh) * 2014-07-02 2014-10-22 百度在线网络技术(北京)有限公司 通过搜索引擎进行提醒的方法和搜索引擎
CN104537064A (zh) * 2014-12-29 2015-04-22 北京奇虎科技有限公司 未来事件信息推送装置及推送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221666A (zh) * 2020-01-03 2020-06-02 北京明略软件系统有限公司 调度方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
US11256700B2 (en) 2022-02-22
US11663217B2 (en) 2023-05-30
WO2016191080A1 (en) 2016-12-01
US20220156266A1 (en) 2022-05-19
US20200226139A1 (en) 2020-07-16
US20230244672A1 (en) 2023-08-03
EP3304345A1 (en) 2018-04-11
US10642843B2 (en) 2020-05-05
US20160350306A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
CN107889530A (zh) 用于传送信息的触发器
EP2888869B1 (en) Systems and methods for managing location data and providing a privacy framework
US10567568B2 (en) User event pattern prediction and presentation
US11887164B2 (en) Personalized information from venues of interest
CN104838673B (zh) 提供路线推荐
US20170293610A1 (en) Voice assistant
US20170316324A1 (en) Computerized Event-Forecasting System and User Interface
CN107438826A (zh) 用于信息递送的动作触发器
US20090239552A1 (en) Location-based opportunistic recommendations
CN110603552A (zh) 在促成现有会话时对推荐动作配置的虚拟助理
JP2015531913A (ja) プッシュに基づく推奨
CN113507501B (zh) 物理认知动作触发
CN104303463A (zh) 用于移动通信整合的系统及方法
CN103473039A (zh) 为了响应通知而生成基于上下文的选项
CN104170472A (zh) 提供热点给服务器控制区域内的用户装置
US11972362B2 (en) Inferred user intention notifications
CN108305092A (zh) 用于呈现信息的用户状态预测
TW201606535A (zh) 個人智慧平台
Feng et al. Intelligent Context‐Aware and Adaptive Interface for Mobile LBS
Wusheng et al. Petri net-based context-aware service system modelling: an overview
Kramaric Adopt: A Context-Aware Domain Ontology-Based Framework For Public Transportation

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.