CN106233312A - 基于场境回复的自动动作 - Google Patents

基于场境回复的自动动作 Download PDF

Info

Publication number
CN106233312A
CN106233312A CN201580020987.6A CN201580020987A CN106233312A CN 106233312 A CN106233312 A CN 106233312A CN 201580020987 A CN201580020987 A CN 201580020987A CN 106233312 A CN106233312 A CN 106233312A
Authority
CN
China
Prior art keywords
response
communication
context
equipment
calculating equipment
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
CN201580020987.6A
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 CN106233312A publication Critical patent/CN106233312A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种计算设备,所述计算设备包括:至少一个处理器和至少一个模块,所述至少一个模块可由所述至少一个处理器操作以:接收通信;至少部分地基于所述通信,确定对所述通信的一个或多个响应;以及接收对从所述一个或多个候选响应选择候选响应的用户输入的指示。所述至少一个模块可以进一步由所述至少一个处理器操作,响应于接收到对选择所述候选响应的用户输入的指示:发送所述候选响应;至少部分地基于所述候选响应和所述通信中的至少一个,确定与所述候选响应在场境上相关的操作;以及执行所述操作。

Description

基于场境回复的自动动作
背景技术
许多计算设备使得用户能够对接收到的由其它计算设备的用户发送的通信作出响应。一些这样的计算设备提供由计算设备存储的一个或多个储备(stock)响应,用户可以在撰写对接收到的通信的响应时从该一个或多个储备响应中进行选择。响应于接收到选择特定储备响应的用户输入的指示,计算设备可以将所选择的储备响应从接收者的计算设备发送至发送所接收的通信的不同用户的计算设备。
发明内容
在一个示例中,一种方法包括:由计算设备接收通信;至少部分地基于该通信,确定针对该通信的一个或多个候选响应;并且由该计算设备接收对从该一个或多个候选响应选择候选响应的用户输入的指示。该方法可以进一步包括:响应于接收到对选择候选响应的用户输入的该指示;由计算设备发送该候选响应;至少部分地基于该候选响应和该通信中的至少一个,确定与该候选响应在场境上(contextually)相关的操作;以及由该计算设备执行该操作。
在另一示例中,计算设备包括至少一个处理器和至少一个模块,该至少一个模块可由该至少一个处理器操作以接收通信,至少部分地基于该通信来确定对该通信的一个或多个候选响应,以及接收对从该一个或多个候选响应选择候选响应的用户输入的指示。该至少一个模块可以进一步由该至少一个处理器操作,响应于接收到对选择候选响应的用户输入的指示,发送候选响应,至少部分地基于该候选响应和该通信中的至少一个来确定与候选响应在场境上相关的操作,以及执行该操作。
在另一示例中,一种计算机可读存储介质被编码有指令,该指令在被执行时使得至少一个处理器:接收通信,至少部分地基于该通信来确定对通信的一个或多个候选响应,以及接收对从该一个或多个候选响应选择候选响应的用户输入的指示。该计算机可读存储介质可以进一步编码有指令,该指令在被执行时使得该至少一个处理器:响应于接收到对选择该候选响应的用户输入的该指示,发送候选响应,至少部分地基于该候选响应和该通信中的至少一个来确定与候选响应在场境上相关的操作,以及执行该操作。
在下面的附图和说明中阐述了一个或多个示例的细节。其它特征、目的、和优点根据说明书、附图、和权利要求书将变得显而易见。
附图说明
图1是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的示例计算设备和图形用户界面(GUI)的框图。
图2是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的计算设备的一个示例的细节的框图。
图3是图示了根据本公开的一个或多个技术的、输出图形内容以用于显示在远程设备处的示例计算设备的框图。
图4是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的示例计算设备和GUI的框图。
图5是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的示例计算设备和GUI的框图。
图6是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的计算设备的示例操作的流程图。
具体实施方式
大体上,本公开的技术涉及提供对接收到的通信进行回复的候选响应以及自动地执行与至少一个所选择的候选响应在场境上(contextually)相关的一个或多个操作。即,根据本公开的技术,计算设备可以输出与接收到的通信相关的一个或多个候选响应,并且,响应于接收到对特定候选响应的选择,执行与所选择的候选响应相关的一个或多个操作或者“动作”。例如,计算设备不仅可以在用户对候选响应进行选择后发送特定候选响应,还可以针对与接收到的通信相关联的会议和/或该特定候选响应来创建新的日历事件。
这样,实现本公开的技术的计算设备可以减少或者消除对用户提供附加输入以使得计算设备执行相关操作的需要。当用户难以或不期望向计算设备手动地提供输入设备设备时,这样的功能可以是有利的。
图1是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的示例计算设备2和图形用户界面(GUI)20、26、和30的框图。计算设备2的示例可以包括但不限于便携式设备、移动设备、或者其它设备,诸如移动电话(包括智能电话)、膝上型计算机、台式计算机、平板计算机、智能电视平台、个人数字助理(PDA)、服务器计算机、主机等。例如,在图1的示例中,计算设备2可以是可穿戴计算设备,诸如智能手表。
如图1的示例所示,计算设备2包括用户接口(UI)设备4。计算设备2的UI设备4可以被配置来充当计算设备2的输入设备和/或输出设备。UI设备4可以使用各种技术来实现。例如,UI设备4可以被配置为通过触觉、音频、和/或视频反馈接收来自用户的输入。输入设备的示例包括:存在敏感显示器、存在敏感或者触摸敏感输入设备、鼠标、键盘、语音响应系统、视频相机、麦克风、或者用于检测来自用户的命令的其它类型的设备。在一些示例中,存在敏感显示器包括触摸敏感或者存在敏感输入屏,诸如,电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射式电容触摸屏、压力敏感屏幕、声波脉冲识别触摸屏、或者另一存在敏感显示技术。即,计算设备2的UI设备4可以包括可以接收来自计算设备2的用户的触觉输入的存在敏感设备。UI设备4可以通过检测来自用户的一个或多个手势(例如,在用户利用手指或者触控笔触摸或者指向UI设备4的一个或多个位置时)来接收触觉输入的指示。
另外或者替选地,UI设备4可以被配置来充当通过使用触觉、音频、或者视频刺激向用户提供输出的输出设备。输出设备的示例包括:声卡、视频图形适配器卡、或者一个或多个显示设备中的任何一个,所述显示设备诸如液晶显示器(LCD)、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水、或者能够将可见信息输出至计算设备2的用户的类似的单色显示器或者彩色显示器。输出设备的附加示例包括:扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或者能够向用户生成智能输出的其它设备。例如,UI设备4可以将输出呈现给计算设备2的用户以作为可以与由计算设备2提供的功能相关联的图形用户界面。这样,UI设备4可以呈现在计算设备2处执行的或者可由计算设备2访问的应用(例如电子消息应用、互联网浏览器应用等)的各个用户界面。计算设备2的用户可以与应用的相应用户界面交互以使得计算设备2执行与功能相关的操作。
在一些示例中,计算设备2的UI设备4可以检测二维和/或三维手势以作为来自计算设备2的用户的输入。例如,UI设备4的传感器可以检测用户在UI设备4的传感器的阈值距离内的移动(例如,移动手、手臂、笔、触控笔等)。UI设备4可以确定对该移动的二维或者三维向量表示并且将该向量表示与具有多个维度的手势输入(例如,挥手、捏合、拍手、挥笔等)相关联。换言之,在一些示例中,UI设备4可以在不需要用户在UI设备4输出信息以用于显示的屏幕或表面处或者在其附近做手势的情况下检测多维手势。作为替代,UI设备4可以检测在传感器处或者在其附近执行的多维手势,该传感器可以位于或者可以不位于UI设备4输出信息以用于显示的屏幕或表面附近。
在图1的示例中,计算设备2包括:用户接口(UI)模块6、设备位置模块8、应用模块10A至10N(统称为“应用模块10”)、以及通信动作模块12。模块6、8、10、和/或12可以使用驻留在计算设备2内和/或在计算设备2处执行的硬件、软件、固件、或者其混合来执行本文所描述的一个或多个操作。计算设备2可以利用一个处理器或者利用多个处理器来执行模块6、8、10、和/或12。在一些示例中,计算设备2可以将模块6、8、10、和/或12作为在底层硬件上执行的虚拟机来执行。模块6、8、10、和/或12可以作为操作系统或者计算平台的一个或多个服务来执行,或者可以作为在计算平台的应用层处的一个或多个可执行程序来执行。
如图1的示例所示,UI模块6可以是可由计算设备操作以执行一个或多个功能,诸如接收输入并且将对这样的输入的指示发送至与计算设备2相关联的其它组件,诸如模块8、10、和/或12。UI模块6还可以接收来自与计算设备2相关联的组件——诸如模块8、10、和/或12的数据。使用接收到的数据,UI模块6可以使得与计算设备2相关联的其它组件——诸如UI设备4基于接收到的数据来提供输出。例如,UI模块6可以接收来自应用模块10中的一个的数据以显示GUI。
如图1的示例所示,应用模块10可以包括用于在计算设备2上执行任何种类的操作的功能。例如,应用模块10可以包括:文字处理器、电子邮件应用、web浏览器、多媒体播放器、日历应用、操作系统、分布式计算应用、图形设计应用、视频编辑应用、网络开发应用、或者任何其它应用。在一些示例中,应用模块10中的一个或多个可以是可操作以从其它设备接收通信,诸如电子邮件消息、日历警示或者会议请求、或者其它通信。例如,应用模块10中的一个(例如应用模块10A)可以是文本消息收发(例如SMS/MMS)应用。应用模块10A可以包括用于撰写并且发送通信、接收通信、对接收到的通信作出响应的功能、以及其它功能。
在图1的示例中,根据本文所描述的技术,通信动作模块12可以是可操作以确定对接收到的通信的候选响应并且确定与响应通信在场境上相关的一个或多个操作。即,通信动作模块12可以包括用于提供一个或多个相关消息的功能,用户可以选择所述一个或多个相关消息以使得计算设备2将该消息作为对接收到的通信的响应来发送。此外,通信动作模块12可以包括用于执行操作的功能,该操作至少部分地基于接收到的通信和/或响应于接收到的通信而发送的通信来与来往通信(correspondence)的在场境上相关。通常,(例如操作的或者响应消息的)相关性可以是对语义相似性、场境(contextual)相似性、或者任何其它类型的相似性的指示。在一些示例中,相关性可以由指示两个对象之间的相似程度或者两个对象群组之间的相似程度(例如,在两个群组中都存在的对象的数量、一个群组中的也在另一群组中存在的对象的数目、在两个群组中都存在的对象的百分比、或者其它值)的概率值或者分值表示。
通信动作模块12可以响应于接收到的通信而确定用户能够选择的消息,并且除了发送所选择的响应之外,通信动作模块12还可以使得计算设备2执行与所发送的响应相关的操作。参照下面的示例对通信动作模块12的进一步细节和示例操作进行描述。
在图1的示例中,计算设备2可以接收通信。接收到的通信可以包括信息(例如,基于由另一设备的用户提供的输入来生成的信息)。可以被包括在接收到的通信中的信息的示例包括文本(例如字母、词语、数字、标点等)、绘文字(emoji)、图像或图标、视频、音频、或者其它信息。接收到的通信可以根据一个或多个协议来被结构化或者格式化。例如,接收到的通信可以是SMS消息。SMS消息可以包括文本信息“我们都在Yotteru寿司餐厅。(We’reall at Yotteru Sushi Restaurant.)”
在图1的示例中,响应于接收到通信,计算设备2可以输出对接收到的通信的指示以用于显示。通常,对接收到的通信的指示可以是对通信的任何视觉表示,诸如通知或者被输出以用于作为GUI的一部分显示的其它视觉对象。计算设备2可以将消息提供至被指定来处理SMS消息的应用模块10中的一个或多个,诸如应用模块10A。应用模块10A可以接收SMS消息并且可以使得计算设备2的一个或多个其它组件输出对消息的指示(例如以用于向计算设备2的用户显示)。即,响应于接收到SMS消息,应用模块10A可以将数据发送至UI模块6以使得UI设备4显示GUI 20。如图1的示例中所示,GUI 20包括:对被包括在SMS消息(例如,文本22,“我们都在Yotteru寿司餐厅”)中的信息的指示、以及用于回复该消息的用户可选择的元件24。在一些示例中,应用模块可以使得附加信息或者其它信息被输出以用于显示,诸如接收到消息的时间)。
在图1的示例中,计算设备2可以接收指令计算设备2使得用户能够撰写和/或选择对接收到的通信的响应的输入指示。例如,计算设备2的用户可以在UI设备4处执行输入25。UI设备4可以检测输入25并且将对该输入的指示发送至UI模块6。UI模块6可以基于接收到的指示来将数据提供至应用模块10A,并且应用模块10A可以确定输入25与对元件24的选择相对应。
在图1的示例中,计算设备2可以至少部分地基于接收到的通信来确定对接收到的通信的一个或多个候选响应。响应于接收到指示用户选择对SMS消息进行响应(例如对输入25的指示)的数据,应用模块10A可以与通信动作模块12通信以获得至少一个候选响应。候选响应可以是用户可以选择作为对接收到的通信的响应的消息。例如,在图1的示例中,由通信动作模块12确定的每个候选响应可以是计算设备2可以基于用户的选择来发送以便对SMS消息“我们都在Yotteru寿司餐厅”作出响应的消息。
为了获得候选响应,应用模块10A可以向通信动作模块12请求候选响应。在一些示例中,对于对接收到的通信的候选响应的请求可以包括:在接收到的通信中所包括的信息的至少一部分。在一些示例中,请求可以包括附加信息或者其它信息,诸如通信元数据、位置信息、用户信息、其它通信(例如,在计算设备2的用户与接收到的通信的发送者之间的通信的话题(thread)或者链(chain)中的其它消息)、或者关于接收到的通信、关于计算设备、或者关于计算设备的用户的其它信息。在一些示例中,如果计算设备2的用户提供了明确的许可,则应用模块10可以仅生成请求和/或获得个人数据(例如在接收到的通信和/或其它信息中所包括的信息)。
通信动作模块12可以接收来自应用10A的请求并且确定候选响应。在一些示例中,通信动作模块12可以至少部分地基于接收到的通信的主题来确定候选响应。即,在一些示例中,通信动作模块12可以确定被包括在接收到的通信中的一个或多个主题,并且使用该信息来预测候选响应。例如,通信动作模块12可以对接收到的通信执行一个或多个文本分析和/或自然语言处理技术(例如聚类、名词短语提取等)以确定通信的一个或多个主题(例如语义元素)。通常,主题可以是人、地点、项目或者对象等。语义元素的示例可以包括:特定的商店或者餐厅、连锁商店或者连锁餐厅、地理位置(例如,市、州、国家等)、人、对象(例如曲棍球棒、手表、电视、狗等)、概念(例如怀孕、奶昔、存在主义等)、它们的任何组合或者类型、或者任何其它信息焦点。在一些示例中,在通信中所包括的语义元素的集合可以表示通信的语义含义。即,在一些示例中,语义含义可以是基于在通信中所包括的一个或多个主题(例如,项目、地点、概念等)。
在一些示例中,通信动作模块12可以通过使用一个或多个查找表来确定候选响应。例如,通信动作模块12可以确定接收到的通信是否包括来自查找表的一个或多个特定词语和/或标点符号组合,诸如疑问词或者问号字符)。如果接收到的通信包括词语和/或标点符号的特定组合,则通信动作模块12可以提供来自查找表的相关联的候选响应。例如,如果向查找表的输入为词语“是(are)”和问号字符,则查找表可以提供候选响应诸如“是”、“否”等。换言之,尽管在一些示例中被描述为对候选响应作出预测,但是通信动作模块12可以以任何数目的方式来确定候选响应,诸如使用查找表来提供已存储的候选响应、基于文本分析来预测候选响应、或者其它方式)。在图2中对这样的各个技术的进一步细节进行描述。
在一些示例中,通信动作模块12可以另外或替选地基于先前所选择的响应来确定候选响应。即,为了确定候选响应,在一些示例中,通信动作模块12可以使用指示先前接收到的通信(或者其主题)的信息和已经被选择作为对先前接收到的通信的响应的通信。通过分析接收到的通信和对应的所选择的响应,通信动作模块12可以确定对常见消息和/或具有常见主题的消息的可能的回复。例如,通信动作模块12可以接收包括信息“您来吗?(Areyou coming?)”的请求。通信动作模块12可以分析该文本以确定接收到的通信是对于接收者的状态的请求。基于该文本的主题,通信动作模块12可以确定对相似的消息的最常见的回复为“我马上就到(I’ll be right there)”、“是”、和“否”。
在一些示例中,被包括在接收到的通信中的信息和/或候选响应不必是适当的语言。例如,通信动作模块12可以接收对确定包括文本“<3”(例如,心形表情符号)的候选响应的请求。在这样的实例中,通信动作模块12可以确定最常见的响应为“<3”和“:)”(例如,微笑符表情符号)。
在一些示例中,通信动作模块12可以基于先前由计算设备2接收到的通信和先前由计算设备2的用户选择的对应的响应来确定候选响应。即,在一些示例中,通信动作模块12可以基于与计算设备2的用户相关联的通信数据来确定候选响应。在一些示例中,通信动作模块12可以基于先前接收到的通信和与更多的用户相关联的对应的响应来确定候选响应。例如,通信动作模块12可以使得计算设备2与另一计算设备(例如,服务器系统)通信来获得和/或维护包括来自多个计算设备的通信数据的信息。即,在一些示例中,计算设备2可以基于与多个用户(例如,计算设备2的用户和/或其它用户)相关联的聚合通信数据来确定候选响应。在这样的示例中,如果该用户明确地提供了许可(例如经由他/她的相应的计算设备来提供),则仅可以使用关于用户接收到的通信和/或所选择的响应通信的信息。此外,可以在传输和/或使用之前使任何数据匿名化。即,可以在提供通信数据(例如向服务器系统提供)之前将能够识别用户或者对用户进行分类的信息剥离或者泛化。
在一些示例中,候选响应可以是先前已经至少以阈值频率被用户选择的响应。即,在一些示例中,候选响应可以表示先前被多次提供作为候选响应、并且被用户选择了超出阈值选择频率(例如至少10%、至少20%等)的足够次数的响应。在其它示例中,候选响应可以是另外地或者作为替代基于(例如服务器系统的)开发者或者管理员的人工评审。例如,人工评审对确保候选响应使用适当的语言和/或候选响应是准确的可以是有益的。
在一些示例中,外地或替选地通信动作模块12可以另基于关于计算设备2和/或计算设备2的用户的场境信息(例如,限定计算设备的场境的信息)来确定候选响应。通常,场境信息可以包括关于计算设备、计算设备的环境、和/或关于计算设备的用户的任何信息。
在一些示例中,场境信息项可以是如下的集合:表示计算设备的位置(例如,GPS位置)的数据(例如,文本数据结构、数字数据结构、或者其它数据结构);指示由计算设备确定的时间的信息;指示安装在计算设备处的一个或多个应用的信息;指示当前在计算设备处执行的一个或多个应用的信息;指示对计算设备可用的一个或多个网络(例如,无线网络)的信息;表示与计算设备接近(例如,在10英尺内、在100英尺内、或者在其它距离内)的一个或多个其它计算设备的数据;表示计算设备的操作模式(例如,静音模式、飞行模式、驾驶模式、待机模式、低电量模式、或者任何其它模式的操作)的数据、从计算设备的一个或多个传感器获得的数据(例如,温度数据、环境噪声水平数据、亮度级数据、加速度/移动数据、图像/视频数据、以及其它数据)、或者关于计算设备的状况或者当前状态的任何其它数据。
在一些示例中,另外地或者替选地场境信息项可以是关于计算设备的用户的信息,诸如用户的姓名、用户的用户身份证明(UID)、来自与用户相关联的一个或多个社交媒体网络服务账户的信息、来自与用户相关联的一个或多个日历或者排程应用(schedulingapplication)的信息、指示用户的一个或多个社会关系或者职业关系(例如,用户联系人)的信息、或者关于用户的任何其它信息)。
在一些示例中,通信动作模块12可以利用对于候选响应的请求来接收场境信息(例如,场境信息的一个或多个项目)。例如,通信动作模块12可以接收来自应用模块10中的一个应用模块的请求,该请求包括对特定通信的指示以及均指示计算设备2的位置的场境信息的一个或多个项目。通信模块12可以基于所述对特定通信的指示以及基于所述位置来提供候选响应。
在一些示例中,另外或者替选地,通信动作模块12可以获得来自其它源的场境信息。例如,通信模块12可以接收来自用户(计算设备2的用户)的明确许可来访问通信信息、社交媒体网络服务账户信息、或者关于该用户的其它信息。即,通信动作模块12可以获得关于计算设备2的场境信息、关于计算设备2的用户的信息、和/或用于确定候选响应的其它信息。在一些示例中,通信动作模块12可以基于所获得的场境信息,通过确定与相似场境相对应的所选择的响应来确定候选响应。
在图1的示例中,通信动作模块12可以确定对SMS消息“我们都在Yotteru寿司餐厅”的一个或多个候选响应并且至少将对该候选响应的指示发送至应用模块10A。应用模块10A可以接收对所确定的候选响应的指示并且将数据发送至UI模块6以使得UI设备4显示候选响应中的至少一个。例如,应用模块10A可以发送数据以使得UI设备4输出GUI 26。
如图1的示例所示,GUI 26包括响应选项28A至28C(统称为“响应选项28”)。响应选项28均可以表示从通信动作模块12接收的候选响应。即,响应于接收到对于对SMS消息“我们都在Yotteru寿司餐厅”的候选响应的请求,通信动作模块12可以确定三个候选响应:分别与响应选项28A、28B、和28C相对应的“我正在途中(On my way)”、“我去不了(I can’tmake it)”、和“在华盛顿大街的那家吗?(The one on Washington St?)”。
尽管在图1的示例中,每个响应选项28都表示从通信动作模块12接收的候选响应,但是在其它示例中,响应选项28中的一个或多个可以表示其它响应选项,诸如由应用模块10A提供的响应。在一些示例中,应用模块可以基于各种类型的信息来修改一个或多个接收到的候选响应,并且响应选项28中的一个或多个可以表示所修改的候选响应。在任何情况下,GUI 26的响应选项28可以使得计算设备2的用户能够选择候选响应以使得计算设备2响应于接收到的SMS消息而发送(该候选响应)。在一些示例中,GUI 26可以包括手动录入选项。手动录入选项可以使计算设备2的用户能够输入(例如,使用语音输入、触摸输入、或者其它输入)自定义响应。自定义响应可以在例如响应选项28中的一个所指示的响应不正确或者不准确时来被使用。
在图1的示例中,计算设备2可以接收对从一个或多个候选响应中选择候选响应的用户输入的指示。通常,对用户输入的指示可以是表示由用户在一个或多个输入设备处提供的输入的数据,所述输入诸如触摸或者触觉输入、语音输入或者其它音频输入、或者任何其它形式的输入。例如,计算设备2的用户可以在UI设备4处提供输入29,该输入29可以包括在UI设备4的位置处或者其附近的轻敲手势。UI设备4可以检测输入29并且将对该输入的指示发送至UI模块6。UI模块6可以基于接收到的指示来将数据提供至应用模块10A,并且应用模块10A可以确定输入29与对响应选项28A的选择相对应。
在图1的示例中,响应于接收到对选择候选响应的用户输入的指示,计算设备2可以发送该候选响应。即,选择响应选项28中的一个或者输入自定义响应可以使得应用模块10A通过将所选择的响应发送至一个或多个其它计算设备来对接收到的通信作出响应,所述其他计算设备可以包括该消息的接受者的计算设备。例如,响应于接收到对选择响应选项28A的输入29的指示,应用模块10A可以发送与响应选项28A相对应的候选响应(例如“我正在途中”)。在一些示例中,可以将所选择的响应直接地发送至从其接收到SMS消息的计算设备。在一些示例中,可以将所选择的响应发送至附加的或者其它计算设备,诸如,共同表示计算设备2所连接的网络(例如蜂窝网络或者无线网络)的一个或多个设备。即,计算设备2可以通过将响应发送至沿两个计算设备之间的路线安置的网络设备或者其它设备来将所选择的响应发送至从其接收到SMS消息的计算设备。在一些示例中,另外或者替选地,可以将所选择的响应发送至其它设备——诸如服务器系统或者云计算环境——以供随后用于提供经改进的候选响应。
在图1的示例中,响应于接收到对选择候选响应的用户输入的指示,计算设备2可以至少部分地基于候选响应和接收到的通信中的至少一个来确定与候选响应在场境上相关的操作。换言之,计算设备2至少部分地基于候选响应、至少部分地基于接收到的通信、或者至少部分地基于候选响应和接收到的通信二者来确定操作。与候选响应在场境上相关的操作可以是可由计算设备(例如计算设备2或其它计算设备)执行以实施除了生成、显示、和/或发送对接收到的通信的响应之外的动作。即,如本文所限定的,与响应在场境上相关的操作可以不包括以下中的一个或多个:确定对接收到的通信的候选响应、输出候选响应(例如以用于向用户显示)、或者发送对接收到的通信的响应。相反,与响应在场境上相关的操作可以表示如果用户接收到通信并且发送了对应的响应则他/她可能以其他方式手动地使得计算设备执行的操作。例如,与响应在场境上相关的操作包括:使得计算设备提供对在接收到的通信和/或响应中所指示的位置的导向的操作、使得计算设备创建、修改、或者删除与在接收到的通信或者响应中的事件相对应的日历项目的操作、以及使得计算设备提供关于接收到的通信和/或响应的一个或多个主题(例如,位置、人、项目、事件等)的其它信息的操作。与响应在场境上相关的操作的进一步示例可以包括使得计算设备发起电话呼叫、创建对于餐厅、租赁的汽车、航班、或者旅馆的预订的操作、使得计算设备执行对于在一个或多个网络(例如,互联网)或者网站(例如,拍卖网站、社交网络服务网站等)上的项的搜索的操作。
应用模块10A可以接收对选择响应选项28A的输入29的指示并且可以将对相对应的候选响应的指示发送至通信动作模块12。响应于接收到对所选择的响应的指示,在一些示例中,通信动作模块12可以确定所选择的响应的一个或多个主题。例如,通信动作模块12可以对所选择的响应执行文本分析和/或自然语言处理技术以确定该通信的一个或多个主题和/或确定其它因素。即,在一些示例中,通信动作模块12可以确定接收到的通信和对接收到的通信的响应二者的主题以便确定与响应在场境上相关的操作。
在一些示例中,响应于接收到对所选择的响应的指示,通信动作模块12可以另外或替代地确定和/或更新计算设备2的场境。例如,通信动作模块12可以确定关于计算设备2和/或计算设备2的用户的任何场境信息(例如,计算设备2的位置、用户的社交网络服务账户等)是否已经变化,并且如果任何信息已经变化,则通信动作模块12可以相应地更新场境信息。
在一些示例中,在给定接收到的通信的一个或多个所确定的主题、所选择的候选响应的一个或多个所确定的主题、和/或所获得的场境信息中的一个或多个的情况下,通信动作模块12可以通过预测用户很可能会使得计算设备执行的一个或多个操作来确定与所选择的候选响应在场境上相关的操作。例如,通信动作模块12可以确定在与计算设备2的当前所确定的场境相似的场境下先前由计算设备2和/或其它计算设备执行的操作。即,在计算设备接收到相似的通信并且接收到来自用户的使得计算设备生成和/或发送相似的响应的输入之后,通信动作模块12可以基于在相似的场境下计算设备所执行的先前的操作来确定在场境上相关的操作。
在其它示例中,通信动作模块12可以以各种其它方式来确定与所选择的候选响应在场境上相关的操作。例如,通信动作模块12可以采用提供通信中的信息与在场境上相关的操作之间的关联的查找表。即,通信动作模块12可以针对一个或多个词语和/或一个或多个标点符号来搜索接收到的通信和/或所选择的候选响应。如果通信包括在查找表中存在的词语、标点符号、或者其组合,则通信动作模块12可以确定对应的操作。作为一个示例,如果接收到的通信和/或所选择的候选响应包括词语“天气”,则通信动作模块12可以确定输出天气信息以用于显示(例如,在UI设备4处显示)的操作。换言之,虽然在一些示例中被描述为对与所选择的候选响应在场境上相关的操作进行预测,但是通信动作模块12可以以任何数目的方式来确定在场境上相关的操作,所述方式诸如通过使用查找表来获得所存储的操作、基于文本分析来预测在场境上相关的操作、或者其它方式。
在图1的示例中,通信动作模块12可以接收对所选择的响应“我正在途中”的指示,并且可以确定与所选择的响应相关的操作。例如,响应于用户接收到SMS消息“我们都在Yotteru寿司餐厅”并且选择响应“我正在途中”,通信动作模块12可以预测计算设备2的用户可能使得计算设备2执行的操作。即,通信动作模块12可以确定所选择的响应的一个或多个主题,并且,基于所选择的响应的主题、接收到的通信的主题和/或场境信息,通信动作模块12可以确定计算设备2的用户很可能打算前往接收到的通信中所指示的位置。此外,通信动作模块12可以确定:用户最近不太可能去过该位置,并且因此,用户很可能将提供输入以使得计算设备2提供对该位置的导向。因此,通信动作模块12可以确定用于提供向该位置的导向的操作。
在一些示例中,通信动作模块12可以确定在计算设备2处安装了什么应用模块(例如,作为确定与所选择的响应在场境上相关的操作的一部分或者在不是基于确定该操作的的某个更早的时间点确定)。即,在一些示例中,通信动作模块12可以确定:什么应用模块在计算设备2处可用来执行所确定的操作。在一些示例中,通信动作模块12可以确定能够由应用模块10执行的更有可能的操作,并且确定不太可能的操作,例如无法由应用模块10执行的操作。例如,如果地图应用未被包括在应用模块10中,则在一些示例中应用动作模块12可以确定使得地图应用提供方向的在场境上相关的操作是不太可能的。在一些示例中,通信动作模块12可以在不关注在计算设备2处安装什么应用模块的情况下确定操作。在一些示例中,由通信动作模块12确定的在场境上相关的操作可以是或者可以包括获得相关应用(例如从应用商店或者其它源获得)的操作。例如,如果通信动作模块12确定在餐厅创建预订的操作是更有可能的,但是应用模块10不包括被配置为创建这样的预订的任何应用,则通信动作模块12还可以确定获得(例如在获得来自用户的许可之后)能够创建预订的应用模块的操作是更有可能的。
在图1的示例中,计算设备2可以执行操作。例如,通信动作模块12可以通过执行对应用模块10中的一个应用模块的应用编程接口(API)的调用来使得计算设备2执行所确定的操作。在图1的示例中,通信动作模块12可以确定提供向Yotteru寿司餐厅的导向的操作。通信动作模块12可以使用API来调用应用模块10中的一个应用模块的(例如,应用模块10B)以提供向Yotteru寿司餐厅位置的导向(例如以转向接转向(tum-by-tum)的模式或者以其它方式来导向)。即,在图1的示例中,通信动作模块12可以执行对应用模块10B的API调用以使得计算设备2提供向Yotteru寿司餐厅的导向。
在一些示例中,计算设备2可以在不输出信息以用于显示的情况下和/或在没有任何进一步的用户交互的情况下执行在场境上相关的操作。例如,在一些示例中,计算设备2的日历应用可以在不向用户指示操作正在被执行的情况下、在未提示用户取消或者允许操作的情况下、和/或在没有向用户显示关于所创建的项的任何信息的情况下执行在场境上相关的操作来创建日历项目。
在一些示例中,作为执行操作的一部分或者先于执行操作,计算设备2可以显示附加信息和/或提示用户以获得认可来。例如,在图1的示例中,应用模块10B可以将数据发送至UI模块6以使得UI设备4输出GUI 30。如图1的示例所示,GUI 30可以向计算设备2的用户指示计算设备2正在执行或者将要执行在场境上相关的操作。GUI 30包括可以使得用户能够修改或者取消操作的用户可选择的元件,诸如元件34A和34B。在一些示例中,如果计算设备2在阈值时间量(例如,1秒、2秒、或者其它持续时间)内未接收到对选择元件34A或者34B中的一个的输入的指示,则计算设备2(例如应用模块10B)可以执行操作。即,应用模块10B可以提供向Yotteru寿司餐厅的方向(例如,通过使得UI设备4输出地图、转向接转向的文本导向等)。
在一些示例中,另外或者替代地,GUI 30可以提供用户可选择的元件来肯定地使得计算设备2执行操作。即,在一些示例中,计算设备2可以提供用户可以接受或拒绝的确认对话框。在将操作确认为仅仅与来往通信轻微地在场境上相关、或者操作可以对用户具有较大影响(例如,去除所排程的日历事件、拨打电话呼叫、购买应用或者其它产品等)的实例中,这样的确认对话框可以是有用的。
通过提供候选响应并且自动地执行与接收到的通信和对接收到的通信的所选择的响应在场境上相关的操作,本公开的技术可以减少计算设备2的用户输入对接收到的通信的响应和/或基于来往通信来执行其它操作所需的时间量。例如,诸如手表或其它设备的可穿戴计算设备可能能够向用户显示基于接收到的通信的候选响应,并且自动地执行在场境上相关的操作,从而使得用户能够快速地轻敲或者以其他方式选择候选响应中的一个以代替必须使用语音识别或者其它方式来输入响应并且使得该设备执行相关的操作。
图2是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的计算设备的一个示例的细节的框图。下文在图1的场境内对图2进行描述。图2仅图示了计算设备2的一个特定示例,并且根据本公开的技术,具有更多、更少、或者不同的组件的许多其它示例设备也可以被配置为执行操作。
虽然在图2的示例中显示为单个设备的一部分,但是在一些示例中,计算设备2的组件可以位于不同的设备内和/或者是其一部分。例如,在一些示例中,通信动作模块14的功能中的一些或全部可以位于服务器系统或者其它计算设备处(例如,可由计算设备2经由网络访问)。即,在一些示例中,本公开的技术可以由单个计算设备执行和利用,然而在其它示例中,可以在诸如分布式计算系统或者“云”计算系统的远程计算系统处执行和/或利用所述技术。在一些这样的示例中,计算设备2可以接收通信并且通过将接收到的通信的至少一部分提供至远程设备(例如,服务器系统)并且接收包括候选响应的响应来确定候选响应。响应于接收到对候选响应中的一个的选择,计算设备2可以通过至少将对所选择的候选响应的指示发送至远程设备并且接收包括可执行以实施操作的指令的响应来确定与候选响应在场境上相关的操作。
在一些示例中,计算设备2可以表示可穿戴计算设备。可穿戴计算设备可以是用户可穿戴的或者可用任何方式附接至用户的任何计算设备,诸如智能手表、头戴式计算设备(例如被合并入眼镜、帽子、耳机、隐形眼镜、或者其它相似的项目中的计算设备)、可植入设备、或者用户可以附接至他/她自身的任何其它设备。诸如智能手表的一些可穿戴计算设备可以包括:用于接收来自用户的各种类型的输入的一个或多个输入设备;用于向用户提供音频输出、视觉输出、触觉输出、或者其它输出的一个或多个输出设备;用于与其它计算设备通信的一个或多个网络接口;用于获得信息的一个或多个传感器;和/或其它组件。
在一些示例中,可穿戴设备可以与移动设备(例如,智能电话)或者其它设备通信以执行一些操作。例如,在一些示例中,本公开的技术的一部分可以由智能手表来执行,然而一部分可以由一个或多个其它计算设备(例如,与智能手表无线链接的智能电话、智能电话可以与其通信的服务器设备、或者其它设备)执行。换言之,虽然在本文中被描述为由计算设备2的一个或多个组件执行,但是根据本文所描述的技术,可配置为确定候选响应和/或在场境上相关的操作的组件中的一些可以分布在多个计算设备当中。
如图2的示例所示,计算设备2包括:用户接口(UI)设备4、一个或多个处理器40、一个或多个输入设备42、一个或多个输出设备44、一个或多个通信单元46、一个或多个传感器48和一个或多个存储设备50。存储设备50进一步包括:用户界面(UI)模块6、建议模块12、应用模块10、和通信动作模块14。在图2的示例中,通信动作模块14包括:响应建议模块54、动作预测模块56、和场境模块58。
组件4、40、42、44、46、48、和50中的每个组件都可以(物理地、通信地、和/或操作地)相互连接以用于组件间通信。在图2的示例中,组件4、40、42、44、46、48、和50可以通过一个或多个通信信道52耦合。在一些示例中,通信信道52可以包括:系统总线、网络连接、进程间通信数据结构、或者用于传输数据的任何其它信道。模块6、10、12、54、56和58也可以与彼此以及与在计算设备2中的其它组件通信信息。
在图2的示例中,一个或多个输入设备42可以是可操作以接收输入。输入的示例是触觉输入、音频输入、和视频输入。在一个示例中,输入设备42包括:存在敏感显示器或者触摸敏感显示器、鼠标、键盘、语音响应系统、视频相机、麦克风或者其它音频传感器、或者用于检测来自人或者机器的输入的任何其它类型的设备。
在图2的示例中,一个或多个输出设备44可以是可操作以生成输出。输出的示例是触觉输出、音频输出、和视频输出。在一些示例中,计算设备2的输出设备44包括:存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示屏(LCD)、或者用于生成向人或机器的输出的任何其它类型的设备。
在一些示例中,UI设备4可以包括输入设备42和/或输出设备44的功能。例如,在图2的示例中,UI设备4可以是或者可以包括存在敏感输入设备。在一些示例中,存在敏感输入设备可以检测在存在敏感输入设备处和/或其近的对象。作为一个示例范围,存在敏感输入设备可以检测对象,诸如在存在敏感输入设备的两英寸或者更近范围内的手指或者触控笔。在另一示例范围中,存在敏感输入设备可以检测距存在敏感输入设备六英寸或者更近范围内的对象,并且其它范围也是可能的。存在敏感输入设备可以确定存在敏感输入设备的检测到对象的位置(例如,(x,y)坐标)。存在敏感输入设备可以使用电容式、感应式、和/或光学识别技术来确定由输入设备选择的位置。在一些示例中,存在敏感输入设备使用关于输出设备44所描述的触觉刺激、音频刺激、或者视频刺激来将输出提供至用户,并且可以被称作存在敏感显示器。
虽然被图示为计算设备2的内部组件,但是UI设备4还可以表示与计算设备2共享数据路径以用于传送和/或接收输入和输出的外部组件。即,在一些示例中,UI设备4可以表示计算设备2的内置组件,该内置组件位于计算设备2的外部封装物内并且物理地连接至计算设备2的外部封装物(例如,在移动电话或者可穿戴计算设备上的屏幕)。在一些示例中,UI设备4可以表示计算设备2的外部组件,该外部组件位于计算设备2的封装物外并且与其物理地分离(例如,与计算设备2共享有线和/或无线数据路径的监视器、投影仪、或者其它显示设备)。
在图2的示例中,一个或多个通信单元46可以是可操作以通过传送和/或接收在一个或多个网络上的网络信号而经由该一个或多个网络来与外部设备通信。例如,计算设备2可以使用通信单元46传送和/或接收在诸如蜂窝无线电网络的无线电网络上的无线电信号。同样,通信单元46可以传送和/或接收在诸如GPS网络的卫星网络上的卫星信号。通信单元46的示例包括:网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、或者能够发送和/或接收信息的任何其它类型的设备。通信单元46的其它示例可以包括:近场通信(NFC)单元、无线电、短波无线电、蜂窝数据无线电、无线网络(例如,)无线电、以及通用串行总线(USB)控制器。
在图2的示例中,一个或多个传感器48可以是可操作以生成数据以供计算设备2的组件使用。传感器48可以包括能够获得关于计算设备2的数据、关于计算设备2所处的环境的数据、关于计算设备2的用户的数据、或者其它数据的任何设备或者组件。即,传感器48中的任何一个可以是用于获得信息的硬件、固件、软件、或者其组合。传感器48的示例可以包括:GPS传感器或者GPS无线电、位置传感器、加速度计或其它运动传感器、相机、罗盘、磁力计、光传感器、红外传感器、麦克风或其它音频传感器、辐射传感器、温度传感器、气压计、高度计、或者其它数据采集组件。
在图2的示例中,一个或多个存储设备50可以是可操作以存储信息以用于在计算设备2的操作期间进行处理。在一些示例中,存储设备50可以表示暂时存储器,意指存储设备50的主要目的不是长期存储。例如,计算设备2的存储设备50可以是易失性存储器,该易失性存储器被配置用于信息的短期存储,并且因此如果被关闭则易失性存储器不保持所存储的内容。易失性存储器的示例包括:随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、以及在本领域中已知的其它形式的易失性存储器。
在一些示例中,存储设备50也表示一个或多个计算机可读存储介质。即,存储设备50可以被配置为比易失性存储器存储更大量的信息。例如,存储设备50可以包括在开机/关机周期中保持信息的非易失性存储器。非易失性存储器的示例包括磁硬盘、光盘、软盘、闪速存储器、或者电可编程存储器(EPROM)或者电可擦除可编程(EEPROM)存储器的形式。在任何情况下,在图2的示例中,存储设备50可以存储与模块6、10、12、54、56、和58相关联的程序指令和/或数据。
在图2的示例中,一个或多个处理器40可以被配置为在计算设备2内实现功能和/或执行指令。例如,处理器40可以是可操作以接收并且执行存储在存储设备50处的、实现UI模块6、应用模块10、建议模块12、响应建议模块54、动作预测模块56、和场境模块58的功能的指令。由处理器40执行的这些指令可以使得计算设备2在程序执行期间将信息存储在存储设备50(例如,暂时存储器)内。处理器40可以执行模块6、10、12、54、56、和58的指令以使得UI设备4响应于计算设备2接收到通信而输出候选响应。此外,处理器40可以执行模块6、10、12、54、56、和58的指令以确定与响应通信在场境上相关的操作。即,模块6、10、12、54、56、和58可以是可由处理器40操作以执行各个动作,包括:预测对接收到的通信的候选响应并且基于接收到的通信和所选择的响应通信来预测一个或多个操作。
在图2的示例中,计算设备2接收通信。例如,通信单元46中的一个可以接收来自网络(例如,无线网络或者蜂窝网络)的遵守SMS协议并且表示文本消息的数据。通信单元46可以将接收到的数据提供至被指定(例如先前由用户指定)为处理遵守SMS协议的数据的一个或多个应用模块10,诸如应用模块10A。
应用模块10A可以接收文本消息并且使得计算设备2输出对该文本消息的至少一个指示。例如,应用模块10A可以向UI模块6发送信息,该信息使得UI设备4或者任何输出设备44显示对被包括在文本消息中的文本(例如,“我们都在Yotteru寿司餐厅”)的视觉表示。计算设备2的用户可以查看输出并且提供指令计算设备2对文本消息作出响应的输入。即,UI模块6可以接收对输入的指示,该输入在UI设备4或者选择选项来对接收到的文本消息作出响应的任何输入设备42处被执行。UI模块6可以将对输入的指示提供至应用模块10A。
响应于接收到指令计算设备2对文本消息作出响应的输入,应用模块10A可以向通信动作模块12请求候选响应。在请求候选响应中,应用模块10A可以被提供包括在文本消息(例如,文本“我们都在Yotteru寿司餐厅”)中的信息和/或其它信息(例如,对文本消息的发送者的指示)。即,在各个示例中,对于候选响应的请求可以包括:在接收到的电子邮件、接收到的文本消息、接收到的应用通知、接收到的日历邀请、提示、或者其它通信中所包括的信息。在一些示例中,对于候选响应的请求可以包括:在接收到的通信中所包括的信息的全部。即,该请求可以包括整个电子邮件、文本消息等。在其它示例中,该请求可以包括信息的一部分。例如,该请求可以包括:在接收到的通信中所指示的日期和时间、所指示的位置、在会议中的参与者的姓名、绘文字、图片、或者其它信息。通信动作模块12可以接收对于候选响应的请求并且将该请求提供至响应建议模块54。
响应建议模块54可以是可操作以接收对于候选响应的请求并且确定对通信的一个或多个候选响应。在一些示例中,响应建议模块54可以是可操作以:通过使用自然语言处理或者其它技术解析接收到的通信来确定候选响应、确定语义含义和/或一个或多个语义元素、并且预测用户很有可能会将其选择作为对接收到的通信的响应的候选响应。例如,响应建议模块54可以解析文本以获得重要的短语并且提取关键思想(例如,语义元素)。例如,响应建议模块54可以实现从各个语料源所训练的计算机学习技术。即,响应建议模块54可以通过使用先前从对大量文本进行解析而学习的数据来预测候选响应,所述大量文本包括对词性的指示(由人类提供的)、对关键思想的指示、对话语的类型的指示、以及其它指示。响应建议模块54可以从这些语料学习并且将结果应用到文本输入。例如,响应建议模块54可以针对文本输入确定各种词性(例如,主语、宾语、动词、名词、名词短语等)并且针对该输入来确定在概念数据空间(例如,语义空间)内具有价值的主题或者项目。语义元素可以是在输入中可能提到、提及、描述、或者以其他方式呈现的话题或者主题。在一些示例中,响应建议模块54可以使用聚类来确定语义元素。虽然关于响应建议模块54进行了描述,但是前述技术中的一个或多个可以在不同于计算设备2的一个或多个远程计算设备处执行。
在针对一些文本输入(例如,通信)来确定语义元素之后,响应建议模块54可以使用自然语言处理技术来确定用户很有可能会选择的一个或多个响应。在一些示例中,响应建议模块54可以基于由用户和/或其它用户选择的先前的响应来确定响应。即,响应建议模块54可以使用各种统计数据来确定词语选择、短语构造、和与创建候选响应相关的其它因素。通过将接收到的通信减缩为语义元素(例如,一个或多个主题),响应建议模块54可以确定通信的语义含义(例如,该通信是关于什么的)。在一些示例中,响应建议模块54可以通过重要性(例如,基于预定的重要性值、基于在通信中出现的频率、和/或其它因素)来对语义元素赋予权重。通过分析对具有基本上相似的语义(例如,相似的重要主题)的通信的先前的响应,响应建议模块54可以提高所预测的候选响应将与接收到的通信相关的可能性。在各个示例中,如果两个语义含义具有阈值数目(例如一个、三个、五个、或者其它数目)的相同的语义元素,如果两个语义含义具有阈值百分比(例如百分之二十、百分之五十、或者其它百分比)的相同的语义元素,如果一个语义含义具有阈值数目的在另一个语义含义中存在的语义元素,如果语义含义在概率上相似,或者如果满足一些其它标准,则这两个语义可以是基本上相似的。
在图2的示例中,响应建议模块54可以基于接收到的通信来确定该通信的发送者与一个或多个其他人在被称为Yotteru寿司餐厅的地点。基于由计算设备2的用户和/或其它用户提供的先前的响应,响应建议模块54可以预测用户可能选择的响应,诸如指示用户计划加入的响应、查询该位置在何处的响应、或者其它响应。换言之,在一些示例中,响应建议模块54可以使用诸如自然语言处理的各个机器学习技术来解析通信并且确定候选响应。
在一些示例中,响应建议模块54可以是可操作以通过将来自通信的一个或多个词语和/或标点符号用作对于一个或多个查找表的输入来确定对接收到的通信的候选响应。例如,响应建议模块54可以通过针对每个句子中的第一个词语和在句子末尾处的对应标点符号来搜索查找表(例如,通信类型查找表)而确定通信的类型。通信类型查找表可以包括针对各个组合的指示通信类型的条目,诸如,与“在哪里(where)”和问号字符的组合相对应的“位置请求”类型、与“在何时(when)”和问号字符的组合相对应的“时间请求”类型、与“想要”和问号字符的组合相对应的“确认请求”类型、与“我们(we)”(或者“我们是(we’re)”、或者“我(I)”、或者“我是(I’m)”)和句点字符(或者无标点)相对应的“状态更新”类型等。因此,对于文本消息“我们都在Yotteru寿司餐厅”,响应建议模块54可以确定“状态更新”类型。
响应建议模块54还可以通过使用词语或者词语组合来搜索限定特定类型的主题——诸如位置、人、对象或项目、或者其它类型的主题的查找表(例如,主题查找表)来确定接收到的通信的一个或多个主题。如果词语被包括在主题查找表中,则该词语可以是对应类型的主题。例如,如果“餐厅”或者“Yotteru寿司餐厅”被包括在主题查找表中,则“餐厅”或者“Yotteru寿司餐厅”可以与“位置”类型和/或“项目”类型相对应。即,餐厅可以与特定位置、特定项目(例如,餐厅自身)、或者两者相对应。
在一些示例中,响应建议模块54可以基于所确定的通信类型、所确定的主题类型、和主题自身来确定候选响应。例如,响应建议模块54可以访问将这些值作为输入使用以接收作为输出的一个或多个候选响应另一查找表(例如,响应查找表)。在图2的示例中,响应查找表可以包括:针对具有“位置”类型主题和“Yotteru寿司餐厅”主题的“状态更新”类型的条目。该条目可以与所存储的候选响应相对应,所述候选响应诸如“我正在途中”、“我去不了”、“听起来很有趣(Sounds like fun)”、或者其它候选响应。在各个示例中,响应建议模块54可以以相似方式使用更多或更少的表来确定候选响应。即,虽然在图2的示例中被描述为通信类型的查找表、主题查找表和响应查找表,但是在其他示例中,本公开的技术可以利用提供附加特定性或者其它特定性的任何数目的查找表。在确定候选响应之后,响应建议模块54可以将候选响应提供至应用模块10A。
在图2的示例中,应用模块10A可以接收候选响应并且将数据发送至UI模块6以使得UI设备4或者输出设备46中的一个或多个显示候选响应的表示。计算设备2的用户可以查看所显示的响应并且提供选择候选响应中的一个或者输入自定义响应的输入。即,UI模块6可以接收对输入的指示,该输入在UI设备4或者选择表示候选响应的响应选项或者输入自定义响应的任何输入设备42处执行。UI模块6可以将对输入的指示提供至应用模块10A。
应用模块10A可以接收对选择响应的输入的指示,并且响应于接收到该指示,应用模块10A可以发送所选择的响应。例如,在图2的示例中,应用10A可以接收对输入的指示以选择候选响应“我正在途中”并且可以发送所选择的候选响应(例如,发送至接收到的通信的发送者)
在图2的示例中,应用模块10A可以将对所选择的候选响应的指示发送至通信动作模块12。通信动作模块12可以将对候选响应的指示提供至动作建议模块56以用于至少部分地基于接收到的通信和候选响应中的至少一个来确定与候选响应在场境上相关的一个或多个操作。即,动作建议模块56可以可操作以至少部分地基于通信来确定与所选择的候选响应的场境相关的至少一个操作。
在一些示例中,动作建议模块56可以基于对接收到的通信和候选响应的计算机学习技术和/或自然语言处理来预测在场境上相关的操作。例如,动作建议模块56可以解析所选择的候选响应以确定候选响应的语义含义(例如所选择的候选响应关于什么)。连同指示接收到的通信的语义含义的信息,动作建议模块56可以使用所选择的候选响应的语义含义来预测当计算设备2已经接收到通信并且发送与基本上类似的语义含义相关联的响应时用户很可能使得计算设备2执行的操作。例如,动作建议模块56可以确定与一组语义元素相关联的先前的来往通信(例如,先前接收到的通信和先前发送的响应),该组语义元素包括存在于与所选择的候选响应和/或接收到的通信相关联的一组语义元素中的阈值数目的语义元素。动作建议模块56可以确定在所确定的先前的来往通信之后的阈值时间量内执行的操作。例如,动作建议模块56可以确定在先前的来往通信之后、在来往通信的2分钟内、在5分钟内立即执行的操作、或者另外在相似的时间执行的操作。即,在一些示例中,在给定基本上相似的先前接收到的通信和对应的响应的情况下,动作建议模块56可以通过学习计算设备(例如,计算设备2和/或其它计算设备)先前已经执行了什么操作来预测在场境上相关的操作。
在图2的示例中,例如,接收到指示位置的状态更新消息并且发送指示用户意图前往该位置的响应的计算设备可能已经接收到了使得计算设备提供向该位置的导向的输入。基于该关联,动作建议模块56可以确定用于获得向Yotteru寿司餐厅的驾驶导向的操作。
在一些示例中,动作建议模块56可以使用其它方法来确定在场境上相关的操作。例如,动作建议模块56可以使用一个或多个查找表确定响应类型和主题类型来解析所选择的候选响应。然后,动作建议模块56可以使用接收到的通信的通信类型、主题、和/或主题类型,连同所选择的候选响应的响应类型、主题、和/或主题类型,来查找与该候选响应在场境上相关的对应操作。
在一些示例中,动作建议模块56可以解析所选择的候选响应和/或接收到的通信,并且基于被包括在通信中的一个或多个语义元素来确定多个操作。通常,语义元素可以是在口语和/或书面语言中具有含义的符号或者符号组合的任何指定的序列。语义元素的示例可以包括:一个或多个词语(例如名词、名词短语、动词、动词短语等)、一个或多个数字或者数字群组、一个或多个表情符号、或者这样的项目的组合。动作建议模块56可以通过针对与操作相关联的语义元素搜索接收到的通信和/或所选择的候选响应来确定操作。如果通信包含与特定操作相关联的任何语义元素,则动作建议模块56可以将该特定操作包括在所述多个操作中。动作建议模块56可以确定与所述多个操作中的每个操作相关联的相应分值。例如,特定操作的相应分值可以指示被包括在通信中的(或者与通信相关联的)、也与该特定操作相关联的语义元素的数目。即,动作建议模块56可以将在通信中所包括的每个语义元素和与操作相关联的每个语义元素进行比较。如果语义元素相同(或者至少基本上相似),则动作建议模块56可以将对应的分值增量。如果元素相同,或者如果元素在概率上处于大于阈值数值的相似程度内,则两个语义元素可以是基本上相似的。然后,动作建议模块56可以选择与最佳相应分值相关联的操作以作为与候选响应在场境上相关的操作。换言之,在一些示例中,动作建议模块56可以使用与操作相关联的多组语义元素来确定哪个操作具有与通信共有的最多的语义元素。
在一些示例中,动作建议模块56可以通过解析所选择的候选响应来确定候选响应的语义含义,以确定与所选择的候选响应在场境上相关的操作。动作建议模块56可以使用候选响应的语义含义和/或接收到的通信的语义含义来确定被注册来处理与所确定的一个或多个语义含义相关联的信息的应用模块10中的一个。应用模块可以由计算设备的操作系统、计算设备的用户、计算设备的管理员注册或者以一些其它方式注册以处理与语义含义相关联的信息。已注册的应用模块可以是可操作以接收与语义含义相关联的信息(例如,特定类型的信息、关于特定话题的信息等)并且根据该信息动作。例如,动作建议模块56可以确定接收到的通信和/或所选择的候选响应的语义是计算设备2的用户的名叫“George”的联系人。动作建议模块56可以确定被注册来处理联系人的应用是地址薄应用。基于对所注册的应用的确定,动作建议模块56可以确定使得所注册的应用根据在接收到的通信和/或所选择的候选响应中的至少一个中所包括的信息来执行的操作。例如,动作建议模块56可以确定使得地址薄应用利用信息“George”来执行的操作(例如,该操作可以使得地址薄应用搜索联系人姓名George)。
在图2的示例中,动作建议模块56可以执行所确定的操作。例如,动作建议模块56可以使用对应用模块10中的一个(例如,地图应用或者导航应用)的API调用,并且包括对位置(例如Yotteru寿司餐厅)的指示以使得计算设备2执行操作并且提供向Yotteru寿司餐厅的导向。动作建议模块56和/或应用模块10可以向UI模块6提供数据以使得UI 4或者输出设备44中的一个或多个输出信息以用于显示。
在一些示例中,另外或者替选地,确定候选响应和/或确定在场境上相关的操作可以是基于限定计算设备2的当前场境和/或计算设备2的用户的当前场境的场境信息(例如,如场境信息项所限定的)。即,在一些示例中,响应建议模块54可以基于计算设备2和/或用户的当前场境来确定候选响应。此外,在一些示例中,动作建议模块56可以基于计算设备2和/或用户的当前场境来确定与候选响应在场境上相关的操作。响应建议模块54和/或动作建议模块56可以与场境模块58通信以获得限定当前场境的场境信息。
场境模块58可以是可操作以获得场境信息以用于确定候选响应和/或在场境上相关的操作。该信息可以包括关于计算设备2的场境信息。例如,场境模块58可以获得表示计算设备2的一个或多个位置的信息项目、指示计算设备2的时间和/或时区设置的信息、指示计算设备2的移动的信息、计算设备2周围的环境的环境噪声水平、环境的环境亮度水平、或者其它传感器数据(例如,从传感器48获得的传感器数据)。场境信息项的附加示例可以包括:指示当前正由计算设备2执行的一个或多个应用和/或当前执行的应用正在参与的活动的信息、指示接收到的通信的类型(例如电子邮件、文本消息、日历警示、或者其它类型)的信息、指示计算设备将发送的响应的类型的信息、指示接收到通信的时间的信息、指示去往或来自发送者的先前通信的信息、指示用户的职业的信息、指示用户当前正在参与的活动的信息、指示接收到的通信的发送者的信息、或者指示计算设备将发送的响应的一个或多个接收者的信息。
在一些示例中,另外或者替选地,场境模块58可以获得关于计算设备2的用户的场境信息项。例如,场境模块58可以从与用户相关联的电子邮件账户、用户的社交网络服务账户、与用户相关联的web搜索历史、与用户相关联的位置历史、或者任何其它源获得关于用户的场境信息。即,在一些示例中,场境模块58可以获得可由通信动作模块12的一个或多个组件使用的任何信息以确定更准确的候选响应和/或与候选响应在场境上相关的更准确的操作。
如果用户提供了明确的许可,则场境模块58可以仅获得关于计算设备2和/或计算设备2的用户的场境信息。即,如果计算设备2的用户明确地允许通信动作模块12访问场境信息的各个源,则场境模块58可以仅获得用于预测候选响应和/或场境操作的各个信息源。例如,计算设备2可以提示用户允许访问场境信息的源,诸如传感器48、用户的电子邮件账户、社交网络服务账户、或者其它账户。如果用户明确地同意允许访问,则通信动作模块12的一个或多个组件可以获得场境信息并且将该场境信息用于确定候选响应和/或确定在场境上相关的操作。
在图2的示例中,场境模块58可以(例如从传感器48中的一个)获得指示计算设备2当前在位置X处的场境信息。场境模块58还可以(例如从地图应用)获得指示Yotteru寿司餐厅的多个位置的场境信息。即,场境模块58可以获得指示计算设备2的位置的信息和指示Yotteru寿司的位置的信息。
在一些示例中,场境模块58可以是可操作以基于所获得的场境信息项来确定计算设备2的当前场境。例如,场境模块58可以将当前场境限定为所有所获得的场境信息项的集合。在另一示例中,场境模块58可以通过确定各个场境信息项的权重来限定当前场境。场境模块58可以基于所预测的准确性和/或所预测的项目的重要性来对每个场境信息项加权重。在图2的示例中,因为计算设备2的位置很可能是非常准确的,所以场境模块58可以对指示位置X的场境信息赋予非常大的权重。因为文本“Yotteru寿司餐厅”是大致的位置标识符并且不能肯定接收到的通信指代的是哪个餐厅位置,所以场境模块58可以对指示多个Yotteru寿司餐厅位置中的每个位置的场境信息赋予较轻的权重。通过确定当前场境,场境模块58可以允许响应建议模块54和/或动作建议模块56确定用户很可能会选择的更准确的候选响应和/或更紧密相关的操作。例如,在图2的示例中,响应建议模块54可以使用所确定的当前场境来确定候选响应“在华盛顿大街的那家吗?(The one on Washington St.?)”。即,响应建议模块54可以从场境模块58接收场境,所述场境包括:指示多个Yotteru寿司餐厅位置和相关联的权重的场境信息。因为大致相同地对每个餐厅赋予权重,所以响应建议模块可以确定不能肯定接收到的通信指代Yotteru寿司餐厅中的哪个。
在各个示例中,除了其它信息(例如,在接收到的通信中所包括的信息、关于接收到的通信的元数据等)之外或者作为其替代,响应建议模块54可以使用所确定的当前场境来确定候选响应。即,根据本文所描述的技术,在一些示例中,响应建议模块54可以确定与和接收到的通信的语义含义相似的语义含义相关联的一个或多个候选响应(例如,基于对先前接收到的通信的自然语言处理、先前所选择的候选响应、和/或先前所输入的自定义响应来确定)。在一些示例中,响应建议模块54可以按照所确定的候选响应与计算设备2的当前场境的场境相似性来对其进行排名。场境相似性可以是对在两个场境之间有多少场境信息项相同的测量。例如,如果场境中的一个包括存在于其它场境中的阈值数目(例如,一个、三个、五个、或者其它数目)的场境信息项,则候选响应可以与和当前场境基本上相似的场境相关联。确定在场境之间的实质相似性的其它示例包括:确定场境是否均包括阈值百分比(例如,百分之二十、百分之五十、或者其它百分比)的相同的场境信息项,或者测量场境相似性的其它方法。
响应建议模块54可以输出与和当前场境或当前场境信息项最相似的场境或者场境信息项相关联的所确定的候选响应。例如,响应建议模块54可以基于与当前场境中所包括的场境信息项相同的场境信息项的数目来对所确定的候选响应打分。然后,响应建议模块54可以输出与最高分值相关联的所确定的候选响应。在一些示例中,响应建议模块54可以输出位居前列的响应(例如,前三个、前五个等)。在一些示例中,响应建议模块54可以输出与高于阈值分值的分值相关联的响应。
此外,在各个示例中,除了其它信息(例如,在通信、元数据、其它通信等中所包括的信息)之外或者作为其替代,响应建议模块56可以使用所确定的当前场境来确定在场境上相关的操作。即,根据本文所描述的技术,动作建议模块56可以确定与语义含义相关联的一个或多个操作(例如,基于对先前接收到的通信的自然语言处理、先前选择的响应、和/或先前操作来确定),所述语义含义和与接收到的通信和/或所选择的候选响应相关联的语义含义类似。在一些示例中,动作建议模块56可以通过所确定的操作与计算设备2的当前场境的场境相似性来对其进行排名。动作建议模块56可以输出与和当前场境或者当前场境信息项最相似的场境或者场境信息项相关联的所确定的操作。例如,动作建议模块56可以基于与当前场境中所包括的场境信息项相同的场境信息项的数目来对所确定的操作打分。然后,动作建议模块56可以输出与最高的一个或多个分值相关联的所确定的操作。在一些示例中,动作建议模块56可以输出位居前列的操作(例如,首位操作、前三个操作等)。在一些示例中,动作建议模块56可以输出与高于阈值分值的分值相关联的操作。
图3是图示了根据本公开的一个或多个技术的、输出图形内容以用于显示在远程设备处的示例计算设备的框图。通常,图形内容可以包括可以被输出以用于显示的任何视觉信息,诸如文本、图像、移动图像的群组等。图3所示的示例包括:计算设备60、存在敏感显示器64、通信单元70、投影仪80、投影屏幕82、移动设备86、以及视觉显示设备90。虽然出于示例的目的在图1和图2中将计算设备示出为独立计算设备2,但是诸如计算设备60的计算设备通常可以是任何组件或者系统,其包括处理器或者用于执行软件指令的其它合适的计算环境并且例如不必包括存在敏感显示器。
如图3的示例所式,计算设备60可以是包括关于图2中的处理器40所描述的功能的处理器。在这样的示例中,计算设备60可以通过通信信道62A来被操作地耦合至存在敏感显示器64,该通信信道62A可以是系统总线或者其它合适的连接。如下文进一步描述的,计算设备60还可以通过通信信道62B来被操作地耦合至通信单元70,该通信信道62B也可以是系统总线或者其它合适的连接。虽然在图3中作为示例单独地示出了计算设备60,但是计算设备60可以通过任何数目的一个或多个通信信道来被操作地耦合至存在敏感显示器64和通信单元70。
在其它示例中,诸如先前在图1至图2中通过计算设备2所图示的,计算设备可以指代便携式设备或者移动设备,诸如移动电话(包括智能电话)、膝上型计算机等。在一些示例中,计算设备可以是台式计算机、平板计算机、智能电视平台、照相机、个人数字助理(PDA)、服务器、主机等。
如图2中所示的输入设备42和/或输出设备44中的一个一样,存在敏感显示器64可以包括显示设备66和存在敏感输入设备68。例如,显示设备66可以,接收来自计算设备60的数据并且显示图形内容。在一些示例中,存在敏感输入设备68可以使用电容、电感、和/或光学识别技术来确定存在敏感显示器64处的一个或多个用户输入(例如,连续的手势、多点触摸手势、单点触摸手势等),并且使用通信信道62A将这样的用户输入的指示发送至计算设备60。在一些示例中,存在敏感输入设备68可以在物理上位于显示设备66的上方,使得当用户将输入单元置于由显示设备66显示的图形元素上方时,存在敏感输入设备68所在的位置与显示图形元素的显示设备66的位置相对应。在其它示例中,存在敏感输入设备68可以物理地与显示设备66分离安置,并且存在敏感输入设备68的位置可以与显示设备66的位置相对应,使得能够在存在敏感输入设备68处作出输入,以用于与在显示设备66的对应位置处显示的图形元素交互。
如图3所示,计算设备60还可以包括通信单元70和/或与通信单元70操作地耦合。通信单元70可以包括如图2描述的通信单元42的功能。通信单元70的示例可以包括:网络接口卡、以太网卡、光学收发器、射频收发器、或者能够发送和接收信息的任何其它类型的设备。这样的通信单元的其它示例可以包括:蓝牙、3G、和WiFi无线电设备、通用串行总线(USB)接口等。计算设备60也可以包括一个或多个其它设备和/或与其可操作地耦合,所述其他设备例如输入设备、输出设备、存储器、存储设备等,为了简洁和说明的目的,在图3中未示出这些设备。
图3还图示了投影仪80和投影屏幕82。投影设备的其它这样的示例可以包括:电子白板、全息显示设备、以及用于显示图形内容的任何其它合适的设备。投影仪80和投影屏幕82可以包括使得相应的设备能够与计算设备60进行通信的一个或多个通信单元。在一些示例中,该一个或多个通信单元可以使得投影仪80与投影屏幕82之间能够通信。投影仪80可以接收来自计算设备60的包括图形内容的数据。响应于接收到数据,投影仪80可以将图形内容投射在投影屏幕82上。在一些示例中,投影仪80可以使用光学识别技术或者其它合适的技术来确定在投影屏幕处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用一个或多个通信单元来将对这样的用户输入的指示发送至计算设备60。在这样的示例中,投影屏幕82可以是不必要的,并且投影仪80可以将图形内容投射在任何合适的介质上并且使用光学识别或者其它这样的合适的技术来检测一个或多个用户输入。
在一些示例中,投影屏幕82可以包括存在敏感显示器84。存在敏感显示器84可以包括如本公开所描述的输入设备4和/或输出设备6的功能的子集或者所有的功能。在一些示例中,存在敏感显示器84可以包括附加功能。投影屏幕82(例如,电子白板)可以接收来自计算设备60的数据并且显示图形内容。在一些示例中,存在敏感显示器84可以使用电容、电感、和/或光学识别技术来确定在投影屏幕82处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用一个或多个通信单元来将对这样的用户输入的指示发送至计算设备60。
图3还图示了移动设备86和视觉显示设备90。移动设备80和视觉显示设备90均可以包括计算能力和连通能力。移动设备86的示例可以包括:电子阅读器设备、可转换笔记本设备、混合板式设备等。视觉显示设备90的示例可以包括其它半固定式设备,诸如电视、计算机监视器等。如图3所示,移动设备86可以包括存在敏感显示器88。视觉显示设备90可以包括存在敏感显示器92。存在敏感显示器88和92可以包括如本公开描述的输入设备42和/或输出设备44的功能的子集或者所有的功能。在一些示例中,存在敏感显示器88和92可以包括附加功能。在任何情况下,例如,存在敏感显示器92可以接收来自计算设备60的数据并且显示图形内容。在一些示例中,存在敏感显示器92可以使用电容、电感、和/或光学识别技术来确定在投影屏幕处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用一个或多个通信单元来将对这样的用户输入的指示发送至计算设备60。
如上文所描述,在一些示例中,计算设备60可以输出图形内容以用于显示在通过系统总线或者其它合适的通信信道耦合至计算设备60的存在敏感显示器64处。计算设备60还可以输出图形内容以用于显示在一个或多个远程设备处,所述远程设备诸如投影仪80、投影屏幕82、移动设备86、和视觉显示设备90。例如,根据本公开的技术,计算设备60可以执行一个或多个指令以生成和/或修改图形内容。计算设备60可以将包括图形内容的数据输出至计算设备60的通信单元,诸如通信单元70。通信单元70可以将该数据发送至诸如投影仪80、投影屏幕82、移动设备86、和/或视觉显示设备90的远程设备中的一个或多个。这样,计算设备60可以输出图形内容以用于显示在一个或多个远程设备处。在一些示例中,远程设备中的一个或多个可以在存在敏感显示器处输出图形内容,该存在敏感显示器被包括在相应的远程设备中和/或操作地耦合至该相应的远程设备。
在一些示例中,计算设备60可以不将图形内容输出在操作地耦合至计算设备60的存在敏感显示器64处。在其它示例中,计算设备60可以输出图形内容以用于显示在通过通信信道62A耦合至计算设备60的存在敏感显示器64和一个或多个远程设备二者处。在这样的示例中,图形内容可以被基本上同时地显示在每个相应的设备处。例如,可能因向远程设备发送包括图形内容的数据的通信延时而引起一些延迟。在一些示例中,由计算设备60生成并且输出以用于显示在存在敏感显示器64处的图形内容可以与输出以用于显示在一个或多个远程设备处的图形内容不同。
计算设备60可以使用任何合适的通信技术来发送和接收数据。例如,计算设备60可以使用网络链路72A来被操作地耦合至外部网络74。图3所图示的远程设备中的每个可以通过相应网络链路72B、72C、和72D中的一个来被操作地耦合至网络外部网络74。外部网络74可以包括:操作地互相耦合的网络集线器、网络交换机、网络路由器等,由此提供图3中所图示的计算设备60与远程设备之间的信息交换。在一些示例中,网络链路72A至72D可以是以太网、ATM、或者其它网络连接。这样的连接可以是无线连接和/或有线连接。
在一些示例中,计算设备60可以使用直接设备通信78来被操作地耦合至图3中所包括的远程设备中的一个或多个。直接设备通信78可以包括计算设备60通过其直接与远程设备使用有线或无线通信来发送和接收数据的通信。即,在直接设备通信78的一些示例中,在远程设备处接收到由计算设备60发送的数据之前,可以不通过一个或多个附加设备来转发该数据,并且反之亦然。直接设备通信78的示例可以包括:蓝牙、近场通信、通用串行总线、WiFi、红外等。图3图示的远程设备中的一个或多个可以通过通信链路76A至76D来与计算设备60操作地耦合。在一些示例中,通信链路76A至76D可以是使用蓝牙、近场通信、通用串行总线、红外等的连接。这样的连接可以是无线连接和/或有线连接。
根据本公开的技术,计算设备60可以使用外部网络74来被操作地耦合至视觉显示设备90。计算设备60可以输出图形内容以用于显示在存在敏感显示器92处。例如,计算设备60可以将包括用于应用模块10中的一个或多个的GUI的数据发送至通信单元70。通信单元70可以使用外部网络74将包括GUI的数据发送至视觉显示设备90。响应于使用外部网络74接收到数据,视觉显示设备90可以使得存在敏感显示器92输出GUI。响应于接收到一个或多个用户输入,诸如在存在敏感显示器92处(例如,在存在敏感显示器92的区域处)的手势,视觉显示设备90和输入设备4中的其他设备可以使用外部网络74来将对输入的指示发送至计算设备60。通信单元70可以接收该对输入的指示,并且将指示发送至计算设备60。
在图3的示例中,计算设备60可以接收通信。计算设备60可以输出对接收到的通信的指示(例如以用于显示)。例如,计算设备60可以将接收到的通信的视觉表示的数据发送至通信单元70。通信单元70可以经由外部网络74将数据发送至视觉显示设备90。视觉显示设备90可以使得存在敏感显示器92输出接收到的通信的视觉表示以用于显示。
响应于接收到对用户输入的指示以对接收到的通信(例如,在输入设备42中的一个处执行的输入)作出响应,计算设备60(例如,通信动作模块12)可以确定一个或多个候选响应。计算设备60可以将对该一个或多个候选响应中的至少一个的视觉表示的数据发送至通信单元70以用于显示。
计算设备60可以接收从该一个或多个候选响应选择候选响应的输入并且可以发送该候选响应(例如,响应于接收到的通信来发送)。计算设备60可以确定与候选响应在场境上相关的操作并且执行该操作。在一些示例中,作为执行操作的一部分,计算设备60可以输出GUI以用于显示。即,计算设备60可以将可视界面的数据发送至通信单元70。通信单元70可以经由外部网络74将数据发送至视觉显示设备90。视觉显示设备90可以使得存在敏感显示器92输出该可视界面(例如,向用户输出)。
图4是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的示例计算设备2和GUI 100、110、和120的框图。仅出于说明目的,下文在图1和图2的场境内对图4的示例进行描述。如图4的示例所示,计算设备2包括:UI设备4、UI模块6、应用模块10、和通信动作模块12。在图4的示例中,计算设备2的组件具有与关于图1和图2描述的功能相同或者相似的功能。
在一些示例中,执行与所选择的候选响应在场境上相关的一个或多个操作可以包括执行一个或多个操作以获得和/或输出关于所选择的候选响应和/或接收到的通信的主题的信息。即,响应于接收到输入(例如,来自用户的输入)来选择对接收到的通信的响应,在一些示例中,实现本公开的技术的计算设备可以确定向用户提供关于通信中所包括的主题(例如,人、位置、项目或者对象等)的信息的操作。关于在通信中所包括的主题的信息的示例可以包括:关于位置的天气信息、到位置的出行信息(例如,转向接转向的驾驶导向、公共交通导向、到该位置的可用航班、或者其它出行信息)、位置或对象(例如,餐厅、商店、电影等)的评论——诸如来自社交媒体网络服务的用户评论或者评论员评论)、关于人的传记信息、从其获得主题或者信息的社交媒体网络服务账户、关于主题的最近的新闻文章或者媒体故事、供购买的项目和对象的可用性(例如,从一个或多个商店、购物或者拍卖网站、或者其它地方)、或者对用户可能有用的关于主题的其它信息。换言之,在一些示例中,确定与候选响应在场境上相关的操作可以包括:确定获得关于在接收到的通信和/或候选响应中所包括的主题的信息的操作。
根据本文描述的技术,计算设备2可以接收通信,诸如即时消息,该即时消息包括文本“您打算什么时候去纽约?(When are you going to New York?)”。计算设备2的一个或多个组件(例如,应用模块10中的一个应用模块)可以使得UI设备4输出GUI 100以用于显示。例如,在图4的示例中,计算设备2可以将接收到的通信提供至被指定来处理即时消息的应用模块10中的一个(例如应用模块10B)。应用模块10B可以将信息发送至UI模块6以使得GUI 100被输出以用于显示在UI设备4处。在一些示例中,可以响应于接收到即时消息来输出GUI 100。在一些示例中,可以响应于由用户提供的、指令计算设备2显示即时消息的输入来输出GUI 100。
在图4的示例中,GUI 100包括文本102和用户可选择的元件104。文本102可以是对在即时消息中所包括的信息的至少一部分的表示。在一些示例中,文本102可以表示被包括在即时消息中的所有信息。在一些示例中,即时消息可以包括附加信息或者其它信息。元件104可以是用户可以选择以提供指令计算设备2对即时消息作出响应的输入的GUI的对象。
在图4的示例中,计算设备2可以接收选择元件104的输入(例如,选择106)。即,UI设备4可以接收选择106并且将表示该输入的数据发送至UI模块6。UI模块6可以接收该数据并且将对该输入的指示提供至应用模块10B。应用模块10B可以确定与对元件104的选择相对应的输入。因此,应用模块10B可以向通信动作模块12请求候选响应。
在图4的示例中,通信动作模块12可以接收该请求并且确定对即时消息的候选响应。为了确定候选响应,通信动作模块12可以使用一个或多个查找表来解析即时消息中所包括的信息并且搜索词语和/或标点符号的组合,以确定即时消息的语义含义(例如即时消息关于什么)。例如,通信动作模块12可以确定词语“何时”和标点符号“?”共同指示对于时间值的请求。通信动作模块12也可以确定词语“打算(going to)”表示动作并且确定词语“您(you)”和“纽约(New York)”表示主题。
在图4的示例中,通信动作模块12可以获得各种类型的场境信息以便确定候选响应。即,通信动作模块12可以获得关于计算设备2的信息和/或关于计算设备2的用户的信息。基于该信息,通信动作模块12可以确定用户将在下周三飞往纽约市。例如,通信动作模块12可以从用户的电子邮件账户获得场境信息,该场境信息指示将于2014年4月23日下午5:23离开前往纽约的、姓名为Bryan Dons的人的机票购买。通信动作模块12可以从计算设备2获得场境信息,该场境信息指示用户的姓名为Bryan Dons。通信动作模块12还可以从计算设备2的时钟获得场境信息,该场境信息指示当前日期为2014年4月17日。基于该信息,通信动作模块12可以确定该用户将于下周三大约下午5点乘飞机去往纽约。基于在即时消息中所包括的信息和所获得的场境信息,通信动作模块12可以确定一个或多个候选响应并且将该候选响应发送至应用模块10B。
应用模块10B可以接收候选响应并且将信息发送至UI模块6以使得UI设备4输出GUI 110以用于显示。如图4的示例所示,GUI 110包括响应选项112A、112B、和112C(统称为“响应选项112)。响应选项112中的每个可以与相应候选响应相对应。在图4的示例中,由通信动作模块12确定的候选响应可以基于不同的隐私水平。即,与响应选项112A相对应的候选响应仅指示一般的响应而与响应选项112B和112C相对应的候选响应可以是越来越具体的响应。这可以允许用户选择他/她的所期望的交互的隐私水平。即,在一些示例中,通信动作模块12可以确定向用户提供不同的隐私水平的候选响应,从而允许用户选择他/她愿意在响应中共享多少他/她的信息。
在图4的示例中,计算设备2可以接收对选择响应选项112A(例如与候选响应“下周(Next week)”相对应)的用户输入(例如选择114)的指示。即,UI设备4可以接收选择114并且将表示该输入的数据发送至UI模块6。UI模块6可以接收该数据并且将对输入的指示提供至应用模块10B。应用模块10B可以确定该输入与对响应选项112A的选择相对应。
响应于接收到对选择响应选项112A的用户输入的指示,应用模块10B可以使得计算设备2将候选响应“下周”作为即时消息发送。即,响应于接收到对选择候选响应的用户输入的指示,计算设备2可以发送该候选响应。应用模块10B也可以将对候选响应的指示发送至通信动作模块12。
在图4的示例中,通信动作模块12可以接收对候选响应的指示并且确定一个或多个操作以获得关于在即时消息和/或所选择的候选响应中所包括的一个或多个主题的信息。例如,通信动作模块12可以以与对接收到的通信进行解析相似的方式使用查找表来解析所选择的候选响应的语言。因此,通信动作模块12可以确定来自候选响应的相对时间值“下周”。通信动作模块12可以将该相对时间值连同主题“纽约”和“您”以及动作“打算”用作对于存储在场境上相关的操作的查找表的输入。这些输入值一起可以与提供关于位置的天气信息的操作相对应。即,查找表可以指示出行的肯定性动作(例如,“打算”)、地理位置(例如,“纽约”)、和相对时间(例如,“下周”)一起与提供关于位置的天气信息的在场境上相关的操作相对应。
在图4的示例中,通信动作模块12可以执行操作。例如,通信动作模块12可以调用计算设备2的天气应用的API,该调用提供了相关位置和时间帧(例如,纽约NY和下周)。天气应用可以执行数据并且将数据发送至UI模块6,该数据使得UI设备4输出GUI 120。如图4的示例所示,GUI 120示出了下周纽约NY的天气。
虽然在图4的示例中将在场境上相关的操作描述为提供关于在接收到的通信和/或所选择的响应中所包括的主题的天气信息,但是在场境上相关的操作可以提供关于通信主题的各种其它类型的信息。例如,如果通信动作模块12确定位置为纽约、相对时间为下周、和动作为“想要去(want to go)”,则通信动作模块12可以确定提供去纽约市的出行选项的操作。作为另一示例,如果通信动作模块12确定动作为“想要去”和“对于位置的请求(request for location)”(例如,基于在接收到的通信中的词语“在哪里”和问号字符),并且确定位置为“Yotteru寿司餐厅”(例如,由用户录入以作为自定义响应),则通信动作模块12可以确定提供Yotteru寿司餐厅的餐厅评论的操作。根据本公开的技术,在多个示例中,可以提供各种其它类型的信息。
图5是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的示例计算设备2和GUI 150、160、和170的框图。仅出于说明目的,下文在图1和图2的场境内对图5的示例进行描述。如图5的示例所示,计算设备2包括:UI设备4、UI模块6、应用模块10、和通信动作模块12。在图5的示例中,计算设备2的组件可以具有与关于图1和图2描述的功能相同或者相似的功能。
在一些示例中,执行与所选择的候选响应在场境上相关的一个或多个操作可以包括执行创建、修改、或者去除排程项目的一个或多个操作。即,响应于接收到输入(例如,来自用户的输入)来选择对接收到的通信的响应,在一些示例中,实现本公开的技术的计算设备可以确定创建、修改、或者去除与通信中所包括的主题(例如,人、位置、项目或者对象等)相关联的排程项目的操作。创建、修改、或者去除排程项目的示例可以包括:在与用户相关联的日历上创建、修改、或者去除日历事件的操作;使用与用户相关联的账户来创建、修改、或者去除在社交媒体网络服务上的事件的操作;创建、修改、或者去除预订(例如,在餐厅的餐位预定、宾馆预订、租赁预订、对于飞机航班、巴士出游、或者电影的预订、对于会议室的预订等)的操作;创建、修改、或者去除服务预约的操作;或者处理对用户可能有用的排程项目的其它操作。换言之,在一些示例中,确定与候选响应在场境上相关的操作可以包括:确定与接收到的通信和/或所选择的响应相关的创建排程项目、修改排程项目、或者去除排程项目的操作。
根据本文描述的技术,计算设备2可以接收通信,诸如包括文本“明晚7点想要去Yotteru寿司餐厅吗?(Want to go to Yotteru Sushi Restaurant at 7tomorrownight?)”的电子邮件。计算设备2的一个或多个组件(例如,应用模块10中的一个应用模块)可以使得UI设备4输出GUI 150以用于显示。例如,在图5的示例中,计算设备2可以将接收到的通信提供至被指定为处理电子邮件消息的应用模块10中的一个(例如,应用模块10C)。应用模块10C可以将信息发送至UI模块6以使得GUI 150被输出以用于显示在UI设备4处。在一些示例中,可以响应于接收到电子邮件来输出GUI 150。在一些示例中,可以响应于由用户提供的、指令计算设备2显示电子邮件的输入来输出GUI 150。
在图5的示例中,GUI 150包括文本152和用户可选择的元件154。文本152可以是对在电子邮件中所包括的信息的至少一部分的表示。在一些示例中,文本152可以表示被包括在电子邮件中的所有信息。在一些示例中,电子邮件可以包括附加信息或者其它信息,诸如报头信息。元件154可以是用户可以选择以提供指令计算设备2对电子邮件作出响应的输入的GUI的对象。
在图5的示例中,计算设备2可以接收选择元件154的输入(例如,选择156)。即,UI设备4可以接收选择156并且将表示该输入的数据发送至UI模块6。UI模块6可以接收该数据并且将对该输入的指示提供至应用模块10C。应用模块10C可以确定与对元件154的选择相对应的输入。因此,应用模块10C可以向通信动作模块12请求候选响应。
在图5的示例中,通信动作模块12可以接收该请求并且确定对电子邮件的候选响应。为了确定候选响应,通信动作模块12可以使用自然语言处理或者其它语言处理技术来解析在电子邮件中所包括的信息,以确定即时消息的语义含义(例如即时消息关于什么)。例如,通信动作模块12可以确定即时消息正在向用户请求关于用户针对位置纽约正采取的动作的信息。
在图5的示例中,通信动作模块12可以获得各种类型的场境信息以便确定候选响应。即,通信动作模块12可以获得关于计算设备2的信息和/或关于计算设备2的用户的信息。基于该信息,通信动作模块12可以确定用户有到明晚7点为止的会议。例如,通信动作模块12可以从用户的日历应用获得场境信息,该场境信息指示2014年4月18日下午5点到下午7点的会议项目。通信动作模块12还可以从计算设备2的时钟获得场境信息,该场境信息指示当前日期为2014年4月17日。基于该信息,通信动作模块12可以确定该用户有到明晚7点为止的已排程的会议。基于在电子邮件中所包括的信息、关于电子邮件的元数据或者其它信息、和/或所获得的场境信息,通信动作模块12可以确定一个或多个候选响应并且将该候选响应发送至应用模块10C。
应用模块10C可以接收候选响应并且将信息发送至UI模块6以使得UI设备4输出GUI 160以用于显示。如图5的示例所示,GUI 160包括响应选项162A、162B、和162C(统称为“响应选项162”)。响应选项162中的每个可以与相应候选响应相对应。在图5的示例中,由通信动作模块12确定的候选响应可以包括候选响应“听起来很棒(That sounds great)”、“我已经有安排了(I already have plans)”、和“晚上8点怎么样?(How about 8p.m.?)”。
在图5的示例中,计算设备2可以接收对选择响应选项152A(例如与候选响应“听起来不错”相对应)的用户输入(例如选择164)的指示。即,UI设备4可以接收选择164并且将表示该输入的数据发送至UI模块6。UI模块6可以接收该数据并且将对输入的指示提供至应用模块10C。应用模块10C可以确定该输入与对响应选项162A的选择相对应。
响应于接收到对选择响应选项162A的用户输入的指示,应用模块10C可以使得计算设备2将候选响应“听起来不错”作为电子邮件发送。即,响应于接收到对选择候选响应的用户输入的指示,计算设备2可以发送该候选响应。应用模块10C也可以将对候选响应的指示发送至通信动作模块12。
在图5的示例中,通信动作模块12可以接收对候选响应的指示并且确定一个或多个操作以创建、修改、或者去除与在电子邮件和/或所选择的候选响应中所包括的一个或多个主题相关的排程项目。例如,通信动作模块12可以以与对接收到的通信进行解析相似的方式使用自然语言处理技术来解析所选择的候选响应的语言。因此,通信动作模块12可以确定用户以肯定的方式对社交预订请求作出响应。通信动作模块12可以使用对该确认的指示、对位置的指示(例如,Yotteru寿司餐厅)、对位置类型的指示(例如,餐厅)、和对时间的指示(例如,明晚9点)来确定操作。例如,通信动作模块12可以确定:确认在特定时间的餐厅类型的位置共同地与在所指示的时间对所指示的餐厅创建预订的在场境上相关的操作相对应。
在图5的示例中,通信动作模块12可以执行操作。例如,通信动作模块12可以调用计算设备2的餐厅应用或者预订应用的API,该调用提供相关餐厅、餐厅位置、和时间(例如,4月18日周五晚上7点,第六大街250E,Yotteru寿司餐厅)。进行接收的应用可以执行数据并且将数据发送至UI模块6,该数据使得UI设备4输出GUI 170。
如图5的示例所示,GUI 170可以向计算设备2的用户指示计算设备2正在执行或者将要执行创建预订的操作。GUI 170包括可以使得用户能够修改或者取消操作的用户可选择的元件,诸如元件172A和172B。在一些示例中,如果计算设备2在阈值时间量内未接收到选择元件172A或者172B中的一个的输入指示,则计算设备2(例如,应用模块10C)可以执行操作并且创建预订。
虽然在图5的示例中将在场境上相关的操作描述为创建在接收到的通信和/或所选择的响应中所指示的餐厅处的餐位预订,但是在场境上相关的操作可以创建、修改、或者去除与通信主题相关的各种其它类型的排程项目。例如,如果通信动作模块12确定接收到的通信指示某人将在所共享的会议时迟到,并且响应通信是对该信息的接受,则通信动作模块12可以确定将会议事件修改为在稍晚的时间开始的操作。作为另一示例,如果通信动作模块12确定:接收到的通信指示用户受邀参加第一城市的会议、确定响应通信接受该会议、并且确定用户在第二城市具有同一天的宾馆预订,则通信动作模块12可以确定取消宾馆预订的操作(例如,在一些示例中,在提示用户进行确认之后)。
图6是图示了根据本公开的一个或多个技术的、用于响应于发送对接收到的通信的响应而执行在场境上相关的操作的计算设备的示例操作的流程图。仅出于说明的目的,下文在图1和图2的场境内对图6的示例操作进行描述。
在图6的示例中,计算设备2可以接收通信(200)。计算设备2可以至少部分地基于通信来确定对接收到的通信的一个或多个候选响应(202)。例如,计算设备2可以从多个所存储的候选响应中选择候选响应、使用预测技术来生成候选响应、和/或将对于候选响应的请求发送至一个或多个其它计算设备。
在图6的示例中,计算设备2可以接收对从该一个或多个候选响应中选择候选响应的用户输入的指示(204)。响应于接收到对选择候选响应的用户输入的指示,计算设备2可以发送该候选响应(206)。例如,计算设备2可以将候选响应发送至从其接收到该通信的计算设备。
在图6的示例中,计算设备2可以确定与候选响应在场境上相关的操作(208)。该操作可以至少部分地基于候选响应和接收到的通信中的至少一个来与候选响应在场境上相关。例如,计算设备2可以从多个所存储的操作中选择一个或多个在场境上相关的操作、使用预测技术来确定一个或多个在场境上相关的操作、或者将对于一个或多个在场境上相关的操作的请求发送至一个或多个其它计算设备。计算设备2可以执行操作(210)。
图6的示例操作还可以通过下文的一个或多个示例来进行描述。
根据本文描述的技术所配置的计算设备或系统可以从诸如电子邮件的接收到的通信解析出问题。计算设备可以通过利用语音搜索模块发送该问题来确定候选响应。在一些示例中,可以利用与系统的用户或者所有者相同的访问权限来发送该问题。语音搜索模块可以提供多个可能的响应(例如,按照置信度来排序)。系统可以向用户呈现可能的响应(例如,呈现在显示设备上)。系统可以允许用户从响应列表选择响应、说出自定义响应、或者两者。在一些示例中,系统可以向用户呈现与响应相关的动作。例如,选择“谢谢提供的地址,我正在途中(thanks for the address,I’m on my way)”可以使得系统打开开始向接收到的地址的导向的动作。
在一些示例中,诸如系统的用户对特定的联系人给予充分信任的情况下,系统可以在没有任何来自用户的交互的情况下自动地回复从该人接收的消息。即,系统可以在真正“零交互、零关注”的体验下自动地发送响应。在一些示例中,可以使得系统能够从其它源——诸如其它应用模块接收候选响应。例如,系统可以接收对关于来自预订应用的餐厅预定的问题的回答。在一些示例中,能够对用户的场境加以考虑,并且可以提供基于该场境的响应选项,诸如,“跑完步后我会再与您联系(I'll get back to you after running)”或者“交通顺畅后我会再与您联系(I'll get back to you after being stuck intraffic)”。可以将本文描述的技术应用于所有类型的通信,包括SMS或者文本消息、电子邮件、聊天消息或者IM消息等。
在一些示例中,现有的语音搜索技术和现有的动作可以使本文描述的技术易于实现。即,通过以新的方式连接数据流,计算设备——诸如移动电话可以更接近成为能够以快速、平台无关且高效的方式处理信息交换的真正助手。因为用户对所共享的内容完全控制,所以不必使用户的隐私做出让步。使用本公开的技术,用户可能能够使得计算设备在非常短的时间内(例如,在如一个或者两个交互中和一秒或者两秒内一样少的时间)对具有复杂信息的接收到的通信作出响应。通过自动地搜索日历信息、电子邮件信息、联系人信息、和其它信息,实现本文描述的技术的计算设备可以在不需要用户搜遍每种类型的信息来确定这样的全面认识的情况下提供完整信息。此外,通过基于响应来自动地执行动作,实现本文描述的技术的计算设备可以允许用户容易地执行常见任务。
提供候选响应的一个示例可以包括:接收到消息“嘿,您今晚有事吗?(Hey,areyou doing anything tonight?)”并且提供响应“6点到8点要和Alex见面(Meeting withAlex from 6to 8)”、“我要一直忙到晚上8点(I'm busy until 8pm)”、和“抱歉,我很忙(I'm busy,sorry)”。另一示例可以包括接收到消息“今晚9点您能和我们共进晚餐吗?(Canyou meet us for dinner at 9pm?)”并且提供响应“好的,到时候见(Yes,see you then)”和“明晚8点怎么样?(How about tomorrow night at 8pm?)”。此外,响应于从用户接收到选择响应“好的,到时候见”的输入,实现本文描述的技术的计算设备可以针对晚上9点的晚餐创建日历事件。提供候选响应的另一示例可以包括接收到消息“您有Sarah的电话号码吗?(Do you have Sarah’s phone number?)”并且提供响应“Sarah Louis 555-123-4567”、“Sarah Lane 555-123-4556”、和“抱歉,没有(No,sorry)”。
提供候选响应的另一示例可以包括:接收消息“请记得要取牛奶(Pleaseremember to pick up milk)”并且提供响应“好的(Will do)”、“在哪儿?(Where?)”、和“什么时候?(When?)”。此外,响应于从用户接收到选择响应“好的”的输入,实现本文描述的技术的计算设备可以添加在一个小时内取牛奶的提示。提供候选响应的另一示例可以包括接收到消息“您在哪儿?(Where are you?)”并且提供响应“在家(At home)”、“北滩(NorthBeach)”、和“旧金山,百老汇5366号(5366Broadway,San Francisco)”。此外,响应于从用户接收到选择响应的输入,实现本文描述的技术的计算设备可以将地图附在消息上。提供候选响应的另一示例可以包括接收到消息“Barack Obama有多高?(How tall is BarackObama?)”并且提供响应“6'1”(1.85m)”。另一示例可以包括接收到消息“您坐的是哪个航班?(Which flight are you on?)”并且提供响应“UA555SFO-ORD,晚点1小时,晚上10点49分到,三号航站楼(UA555SFO-ORD,Delayed 1hour,10:49pm,Terminal 3)”。
提供候选响应的另一示例可以包括接收到消息“您给Larry打电话了吗?(Did youcall Larry?)”并且提供响应“是的”和“没有”。此外,响应于从用户接收到选择响应的输入,实现本文描述的技术的计算设备可以发起向Larry的电话呼叫。提供候选响应的另一示例可以包括接收到信息“打电话给我(Call me)”并且提供响应“好的”和“我今晚6点会打给您(I'll call you tonight at 6pm)”。此外,响应于从用户接收到选择响应“好的”的输入,实现本文描述的技术的计算设备可以发起向接收到的消息的发送者的电话呼叫。提供候选响应的另一示例可以包括接收到消息“Matt的聚会是在什么时候?(When is Matt'sparty?)”并且提供响应“周六晚上9点(Saturday,9pm)”和“我不知道(I don’t know)”。
示例1.一种方法,包括:由计算设备接收通信;至少部分地基于该通信,确定对该通信的一个或多个候选响应;由该计算设备接收对从该一个或多个候选响应选择候选响应的用户输入的指示;以及响应于接收到对选择候选响应的用户输入的该指示:由该计算设备发送该候选响应;至少部分地基于该候选响应和该通信中的至少一个,确定与该候选响应在场境上相关的操作;以及由该计算设备执行该操作。
示例2.根据示例1所述的方法,其中,该候选响应具有语义含义,并且确定与该候选响应在场境上相关的该操作进一步包括:确定先前与先前响应相关联地执行的一个或多个操作,所述先前响应具有与该候选响应的该语义含义基本上相似的语义含义。
示例3.根据示例2所述的方法,其中,该一个或多个操作中的每个相应操作与相应场境相关联,并且其中,确定与候选响应在场境上相关的该操作进一步包括:确定该计算设备的当前场境,该当前场境包括场境信息的一个或多个项目的第一群组;以及基于与该相应操作相关联的该相应场境中所包括的场境信息的项目的相应第二群组,对于该一个或多个操作中的每个相应操作确定相应分值,该项目的相应第二群组与该一个或多个项目的第一群组基本上相似,其中,与该候选响应在场境上相关的该操作至少部分地基于该一个或多个操作中的每个操作的该相应分值来被确定。
示例4.根据示例1所述的方法,其中,确定与该候选响应在场境上相关的该操作进一步包括:确定该候选响应和该通信中的至少一个的一个或多个语义元素的第一群组;至少部分地基于该一个或多个语义元素的第一群组来确定多个操作;以及确定多个相应分值,来自该多个相应分值的每个相应分值与来自该多个操作的相应操作相关联,其中,与该相应操作相关联的该相应分值表示:在相似程度的范围内,在该一个或多个语义元素的第一群组与和该相应操作相关联的一个或多个语义元素的相应第二群组之间的相应相似程度,其中,执行该操作包括:执行来自该多个操作的、与来自该多个相应分值中的最高分值相关联的特定操作。
示例5.根据示例1所述的方法,其中,确定与该候选响应在场境上相关的该操作进一步包括:确定该候选响应和该通信中的至少一个的语义含义;以及至少部分地基于该语义含义,确定已注册应用,其中,与该候选响应在场境上相关的该操作包括:基于在该候选响应和该通信中的至少一个中所包括的信息来执行该已注册应用。
示例6.根据示例1至5中任一个所述的示例,其中,确定对该通信的该一个或多个候选响应进一步包括:确定该通信的语义含义;以及确定先前被选择来对先前接收到的通信作出响应的一个或多个响应,该先前接收到的通信具有与该通信的该语义含义基本上相似的语义含义。
示例7.根据示例6所述的方法,其中,该一个或多个响应中的每个相应响应与相应场境相关联,并且其中,确定对该通信的该一个或多个候选响应进一步包括:确定该计算设备的当前场境,该当前场境包括场境信息的一个或多个项目的第一群组;以及基于与该相应响应相关联的该相应场境中所包括的场境信息的项目的第二群组,对于该一个或多个响应中的每个相应响应确定相应分值,该项目的相应第二群组与该一个或多个项目的第一群组基本上相似,其中,对该通信的该一个或多个候选响应至少部分地基于该一个或多个响应中的每个响应的该相应分值来被确定。
示例8.根据示例1至7中任一个所述的方法,进一步包括:确定该计算设备的当前场境,该当前场境指示以下中的至少一个:计算设备的位置、由计算设备确定的时间、安装在计算设备处的一个或多个应用,当前在计算设备处执行的一个或多个应用、对计算设备可用的一个或多个网络、接近计算设备的一个或多个其它计算设备、计算设备的操作模式、在计算设备周围的环境温度、在计算设备周围的环境噪声水平、在计算设备周围的环境亮度水平、计算设备的加速度、计算设备的用户的姓名、用户的用户标识符、与用户相关联的社交媒体网络服务账户、用户的日历、以及用户的一个或多个社交联系人,其中,确定对该通信的该一个或多个候选响应是至少部分地基于该计算设备的该当前场境的。
示例9.根据示例1至8中任一个所述的方法,其中,该候选响应和该通信中的该至少一个指示位置,并且其中,确定该操作包括:确定到该位置的出行导向;以及输出该出行导向的至少一部分。
示例10.根据示例1至8中任一个所述的方法,其中,该候选响应和该通信中的该至少一个指示位置,并且其中,确定该操作包括:确定关于该位置的天气信息;以及输出该天气信息的至少一部分。
示例11.根据示例1至8所述的方法,其中,确定与该候选响应在场境上相关的该操作包括以下中的至少一个:创建由排程应用管理的排程项目;修改由该排程应用管理的该排程项目;以及去除由该排程应用管理的该排程项目。
示例12.根据示例11所述的方法,其中,排程项目是日历事件,并且其中,创建、修改、或者去除该排程项目包括:创建由日历应用管理的该日历事件;修改由该日历应用管理的该日历事件;或者去除由该日历应用管理的该日历事件。
示例13.根据示例11所述的方法,其中,该排程项目是预订,并且其中,创建、修改、或者去除该排程项目包括:创建由预订应用管理的该预订;修改由该预订应用管理的该预订;或者去除由该预订应用管理的该预订。
示例14.根据示例13所述的方法,其中,该预订包括以下中的至少一个:餐桌预订;房间预订;宾馆预订;航班预订;以及租赁汽车预订。
示例15.根据示例1至14中任一个所述的方法,该方法进一步包括:确定安装在该计算设备处的至少一个应用模块;以及至少部分地基于该至少一个应用模块安装在该计算设备处,确定与该候选响应在场境上相关的该操作。
示例16.根据示例1至15中任一个所述的方法,进一步包括:确定该计算设备的当前场境,该当前场境包括场境信息的一个或多个项目;确定时间帧,在整个该时间帧中,该计算设备和另一计算设备中的至少一个的场境包括在该当前场境中所包括的场境信息的至少一个项目;并且确定由该计算设备和另一计算设备中的该至少一个在该时间帧期间执行的先前操作。
示例17:根据示例1至16中任一个所述的方法,其中,确定与该候选响应在场境上相关的该操作包括:确定以下中的至少一个:在该候选响应和该通信中的该至少一个中所包括的信息、关于该候选响应和该通信中的该至少一个的元数据、一个或多个其它通信、以及与该候选响应和该通信中的该至少一个相关联的场境信息;以及确定与该候选响应在场境上相关的该操作至少部分地基于以下中的至少一个:在该候选响应和该通信中的该至少一个中所包括的信息、关于该候选响应和该通信中的该至少一个的该元数据、该一个或多个其它通信、以及与该候选响应和该通信中的该至少一个相关联的场境信息。
示例18:一种计算设备,包括:至少一个处理器;以及至少一个模块,该至少一个模块可由该至少一个处理器操作以:接收通信;至少部分地基于该通信,确定对该通信的一个或多个候选响应;接收对从该一个或多个候选响应选择候选响应的用户输入的指示;以及响应于接收到对选择该候选响应的用户输入的该指示:发送候选响应;至少部分地基于该候选响应和该通信中的至少一个,确定与候选响应在场境上相关的操作;以及执行该操作。
示例19:根据示例18所述的计算设备,其中,该候选响应具有语义含义,并且可操作以确定与该候选响应在场境上相关的该操作的该至少一个模块可由该至少一个处理器操作以:确定先前与先前响应相关联地执行的一个或多个操作,该先前响应具有与该候选响应的该语义含义基本上相似的语义含义。
示例20:根据示例19所述的计算设备,其中,该一个或多个操作中的每个相应操作与相应场境相关联,并且其中,确定与候选响应在场境上相关的该操作可由该至少一个处理器操作以:确定该计算设备的当前场境,该当前场境包括场境信息的一个或多个项目的第一群组;以及基于与该相应操作相关联的该相应场境中所包括的场境信息的项目的相应第二群组,对于该一个或多个操作中的每个相应操作确定相应分值,该项目的相应的第二群组与该一个或多个项目的第一群组基本上相似,其中,与该候选响应在场境上相关的该操作至少部分地基于该一个或多个操作中的每个操作的该相应分值来被确定。
示例21:根据示例18所述的计算设备,其中,可操作以确定与候选响应在场境上相关的该操作的该至少一个模块可由该至少一个处理器操作以:确定该候选响应和该通信中的至少一个的一个或多个一个或多个语义元素的第一群组;至少部分地基于该一个或多个语义元素的第一群组来确定多个操作;以及确定多个相应分值,来自该多个相应分值的每个相应分值与来自该多个操作的相应操作相关联,其中,与该相应操作相关联的该相应分值表示:在相似程度的范围内,在该一个或多个语义元素的第一群组与和该相应操作相关联的一个或多个语义元素的相应第二群组之间的相应相似程度,其中,可操作以执行该操作的该至少一个模块可由该至少一个处理器操作以:执行来自该多个操作的、与来自该多个相应分值中的最高分值相关联的特定操作。
示例22:根据示例18所述的计算设备,其中,可操作以确定与该候选响应在场境上相关的该操作的该至少一个模块可由该至少一个处理器操作以:确定该候选响应和该通信中的至少一个的语义含义;以及至少部分地基于该语义含义,确定已注册应用,其中,与该候选响应在场境上相关的该操作包括:基于在该候选响应和该通信中的至少一个中所包括的信息来执行该已注册应用。
示例23:根据示例18至22中任一个所述的计算设备,其中,可操作以确定对该通信的该一个或多个候选响应的该至少一个模块可由该至少一个处理器操作以:确定该通信的语义含义;以及确定先前被选择来对先前接收到的通信作出响应的一个或多个响应,该先前接收到的通信具有与该通信的该语义含义基本上相似的语义含义。
示例24:根据示例23所述的计算设备,其中,该一个或多个响应中的每个相应响应与相应场境相关联,并且其中,可操作以确定该一个或多个候选响应的该至少一个模块可由该至少一个处理器操作以:确定该计算设备的当前场境,该当前场境包括场境信息的一个或多个项目的第一群组;以及基于与该相应响应相关联的该相应场境中所包括的场境信息的项目的第二群组,对于该一个或多个响应中的每个相应响应确定相应分值,该项目的相应第二群组与该一个或多个项目的第一群组基本上相似,其中,对该通信的该一个或多个候选响应至少部分地基于该一个或多个响应中的每个响应的该相应分值来被确定。
示例25:根据示例18至24中任一个所述的计算设备,其中,该至少一个模块可由该至少一个处理器进一步操作以确定该计算设备的当前场境,该当前场境指示以下中的至少一个:计算设备的位置、由计算设备确定的时间、安装在计算设备处的一个或多个应用,当前在计算设备处执行的一个或多个应用、对计算设备可用的一个或多个网络、接近计算设备的一个或多个其它计算设备、计算设备的操作模式、在计算设备周围的环境温度、在计算设备周围的环境噪声水平、在计算设备周围的环境亮度水平、计算设备的加速度、计算设备的用户的姓名、用户的用户ID、与用户相关联的社交媒体网络服务账户、用户的日历、以及用户的一个或多个社交联系人,并且其中,可操作以确定对该通信的该一个或多个候选响应的该至少一个模块可操作以:进一步至少部分地基于该计算设备的该当前场境来确定对该通信的该一个或多个候选响应。
示例26:根据示例18至25中任一个所述的计算设备,其中,该候选响应和该通信中的该至少一个指示位置,并且其中可操作以确定与该候选响应在场境上相关的该操作的该至少一个模块可操作以确定到该位置的出行导向;以及输出该出行导向的至少一部分。
示例27:根据示例18至26中任一个所述的计算设备,其中,可操作以确定与该候选响应在场境上相关的该操作的该至少一个模块可操作以:确定以下中的至少一个:在该候选响应和该通信中的该至少一个中所包括的信息、关于该候选响应和该通信中的该至少一个的元数据、一个或多个其它通信、以及与该候选响应和该通信中的该至少一个相关联的场境信息;以及确定与该候选响应在场境上相关的该操作至少部分地基于以下中的至少一个:在该候选响应和该通信中的该至少一个中所包括的信息、关于该候选响应和该通信中的该至少一个的该元数据、一个或多个其它通信、以及与该候选响应和该通信中的该至少一个相关联的场境信息。
示例28:一种计算设备,包括用于执行示例1至17中任一个所记载的方法的装置。
示例29:一种编码有指令的计算机可读存储介质,该指令在被执行时使得至少一个处理器:接收通信;至少部分地基于该通信,确定对该通信的一个或多个候选响应;接收对从该一个或多个候选响应选择候选响应的用户输入的指示;以及响应于接收到对选择该候选响应的用户输入的该指示:发送候选响应;至少部分地基于该候选响应和该通信中的至少一个,确定与候选响应在场境上相关的操作;以及执行该操作。
示例30:根据示例29所述的计算机可读存储介质,其中,使得该至少一个处理器确定与该候选响应在场境上相关的该操作的指令包括指令,该指令在被执行时使得该至少一个处理器:确定以下中的至少一个:在该候选响应和该通信中的该至少一个中所包括的信息、关于该候选响应和该通信中的该至少一个的元数据、一个或多个其它通信、以及与该候选响应和该通信中的该至少一个相关联的场境信息;以及确定与该候选响应在场境上相关的该操作至少部分地基于以下中的至少一个:在该候选响应和该通信中的该至少一个中所包括的信息、关于该候选响应和该通信中的该至少一个的该元数据、一个或多个其它通信、以及与该候选响应和该通信中的该至少一个相关联的场境信息。
示例31:根据示例29至30中任一个所述的计算机可读存储介质,该计算机可读存储介质进一步编码有指令,该指令在被执行时使得该至少一个处理器执行示例1至17中任一个所记载的方法。
在一个或多个示例中,可以将所描述的功能以硬件、软件、固件、或者其任何组合来实现。如果以软件来实现,则可以将功能作为一个或多个指令或者代码来存储在计算机可读介质上或者通过计算机可读介质传输并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,该计算机可读存储介质与诸如数据存储介质的有形介质或者通信介质相对应,并且包括例如根据通信协议来促进将计算机程序从一个地方向另一个地方传输的任何介质。通过这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或者(2)通信介质,诸如信号或者载波。数据存储介质可以是能够由一个或多个计算机或者一个或多个处理器访问以检索用于实现本公开描述的技术的指令、代码、和/或数据结构的任何可用的介质。计算机程序产品可以包括计算机可读存储介质。
通过示例而非限定的方式,这样的计算机可读存储介质能够包括RAM、ROM、EEPROM、CD-ROM、或者其它光盘存储设备、磁盘存储设备、或者其它磁存储设备、闪速存储器、或者能够被用于以指令或者数据结构的形式存储所需程序代码或者能够由计算机访问的任何其它介质。此外,任何连接被适当地称作计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字订户线路(DSL)、或者诸如红外、无线电、和微波的无线技术来从网站、服务器、或者其它远程源传送指令,则同轴电缆、光纤光缆、双绞线、DSL、或者诸如红外、无线电、和微波的无线技术均被包括在介质的定义中。然而,应该理解的是,计算机可读存储介质以及数据存储介质不包括连接、载波、信号、或者其它暂时性介质,但是作为替代,涉及非暂时性、有形存储介质。本文所使用的磁盘(disk)和光盘(disc)包括:压缩盘(CD)、激光盘、光学盘、数字多功能盘(DVD)、软盘、和蓝光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光来以光学方式复制数据。上述的组合也应该被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器来执行,其诸如:一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或者其它等效的集成或分立的逻辑电路。因此,本文所使用的术语“处理器”可以指代前述结构或者适于实现本文描述的技术的任何其它结构中的任何结构。此外,在一些方面中,可以将本文描述的功能提供在专用的硬件模块和/或软件模块内。此外,可以将该技术以一个或多个电路或者逻辑元件来完全地实现。
本公开的技术可以以广泛多种设备或者装置来实现,包括,无线手持机、集成电路(IC)或者IC组(例如,芯片组)。在本公开中,对各种组件、模块、或者单元进行描述以强调被配置为执行本公开的技术的设备的功能方面,但不一定需要通过不同的硬件单元实现。相反,如上所述,结合合适的软件和/或固件,可以将各个单元组合在硬件单元中或者可以由如上所述的一个或多个处理器的相互操作的硬件单元的集合来提供。
已经对各个示例进行了描述。这些和其它实施例在以下权利要求书的范围内。

Claims (15)

1.一种方法,包括:
由计算设备接收通信;
至少部分地基于所述通信,确定对所述通信的一个或多个候选响应;
由所述计算设备接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;以及
响应于接收到选择所述候选响应的用户输入的所述指示:
由所述计算设备发送所述候选响应;
至少部分地基于所述候选响应和所述通信中的至少一个,确定与所述候选响应在场境上相关的操作,以及
由所述计算设备执行所述操作。
2.根据权利要求1所述的方法,其中,所述候选响应具有语义含义,并且确定与所述候选响应在场境上相关的所述操作进一步包括:
确定先前与先前响应相关联地执行的一个或多个操作,所述先前响应具有与所述候选响应的所述语义含义基本上相似的语义含义。
3.根据权利要求2所述的方法,其中,所述一个或多个操作中的每个相应操作与相应场境相关联,并且其中,确定与所述候选响应在场境上相关的所述操作进一步包括:
确定所述计算设备的当前场境,所述当前场境包括场境信息的一个或多个项目的第一群组;以及
对于所述一个或多个操作中的每个相应操作,基于与该相应操作相关联的相应场境中所包括的场境信息的项目的相应第二群组确定相应分值,所述项目的相应第二群组与所述一个或多个项目的第一群组基本上相似,其中
与所述候选响应在场境上相关的所述操作至少部分地基于所述一个或多个操作中的每个操作的相应分值来被确定。
4.根据权利要求1所述的方法,其中,确定与所述候选响应在场境上相关的所述操作进一步包括:
确定所述候选响应和所述通信中的至少一个的一个或多个语义元素的第一群组;
至少部分地基于所述一个或多个语义元素的第一群组来确定多个操作;以及
确定多个相应分值,所述多个相应分值中的每个相应分值与所述多个操作中的相应操作相关联,其中,与所述相应操作相关联的所述相应分值表示:在相似程度的范围内,在所述一个或多个语义元素的第一群组和与所述相应操作相关联的一个或多个语义元素的相应第二群组之间的相应相似程度,
其中,执行所述操作包括:执行所述多个操作中的、与所述多个相应分值中的最高分值相关联的特定操作。
5.根据权利要求1所述的方法,其中,确定与所述候选响应在场境上相关的所述操作进一步包括:
确定所述候选响应和所述通信中的至少一个的语义含义;以及
至少部分地基于所述语义含义,确定已注册应用;
其中,与所述候选响应在场境上相关的所述操作包括:基于在所述候选响应和所述通信中的至少一个中所包括的信息来执行所述已注册应用。
6.根据权利要求1至5中任一项所述的方法,其中,确定对所述通信的所述一个或多个候选响应进一步包括:
确定所述通信的语义含义;以及
确定先前被选择来对先前接收到的通信作出响应的一个或多个响应,所述先前接收到的通信具有与所述通信的所述语义含义基本上相似的语义含义。
7.根据权利要求6所述的方法,其中,所述一个或多个响应中的每个相应响应与相应场境相关联,并且其中,确定对所述通信的所述一个或多个候选响应进一步包括:
确定所述计算设备的当前场境,所述当前场境包括场境信息的一个或多个项目的第一群组;以及
对于所述一个或多个响应中的每个相应响应,基于与该相应响应相关联的相应场境中所包括的场境信息的项目的相应第二群组确定相应分值,所述项目的相应第二群组与所述一个或多个项目的第一群组基本上相似,其中
对所述通信的所述一个或多个候选响应至少部分地基于所述一个或多个响应中的每个响应的所述相应分值来被确定。
8.根据权利要求1至7中任一项所述的方法,进一步包括:
确定所述计算设备的当前场境,所述当前场境指示以下中的至少一个:所述计算设备的位置、由所述计算设备确定的时间、安装在所述计算设备处的一个或多个应用、当前在所述计算设备处执行的一个或多个应用、对所述计算设备可用的一个或多个网络、接近所述计算设备的一个或多个其它计算设备、所述计算设备的操作模式、在所述计算设备周围的环境温度、在所述计算设备周围的环境噪声水平、在所述计算设备周围的环境亮度水平、所述计算设备的加速度、所述计算设备的用户的姓名、所述用户的用户标识符、与所述用户相关联的社交媒体网络服务账户、所述用户的日历、以及所述用户的一个或多个社交联系人,
其中,确定对所述通信的所述一个或多个候选响应至少部分地基于所述计算设备的所述当前场境。
9.根据权利要求1至8中任一项所述的方法,其中,所述候选响应和所述通信中的至少一个指示位置,并且其中,确定所述操作包括:
确定到所述位置的出行导向;以及
输出所述出行导向的至少一部分。
10.根据权利要求1至8中任一项所述的方法,其中,确定与所述候选响应在场境上相关的所述操作包括以下中的至少一个:
创建由排程应用管理的排程项目;
修改由所述排程应用管理的所述排程项目;以及
去除由所述排程应用管理的所述排程项目。
11.根据权利要求1至10中任一项所述的方法,其中,确定与所述候选响应在场境上相关的所述操作包括:
确定以下中的至少一个:在所述候选响应和所述通信中的所述至少一个中所包括的信息、关于所述候选响应和所述通信中的所述至少一个的元数据、一个或多个其它通信、以及与所述候选响应和所述通信中的所述至少一个相关联的场境信息;以及
确定与所述候选响应在场境上相关的所述操作至少部分地基于以下中的至少一个:在所述候选响应和所述通信中的所述至少一个中所包括的所述信息、关于所述候选响应和所述通信中的所述至少一个的所述元数据、所述一个或多个其它通信、以及与所述候选响应和所述通信中的所述至少一个相关联的所述场境信息。
12.一种计算设备,包括:
至少一个处理器;以及
至少一个模块,所述至少一个模块能够由所述至少一个处理器操作以:
接收通信;
至少部分地基于所述通信,确定对所述通信的一个或多个候选响应;
接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;以及
响应于接收到选择所述候选响应的用户输入的所述指示:
发送所述候选响应;
至少部分地基于所述候选响应和所述通信中的至少一个,确定与所述候选响应在场境上相关的操作;以及
执行所述操作。
13.根据权利要求12所述的计算设备,其中,所述候选响应具有语义含义,并且能够操作以确定与所述候选响应在场境上相关的所述操作的所述至少一个模块能够由所述至少一个处理器操作以:
确定先前与先前响应相关联地执行的一个或多个操作,所述先前响应具有与所述候选响应的所述语义含义基本上相似的语义含义。
14.根据权利要求12至13中任一项所述的计算设备,进一步包括用于执行权利要求3至11中任一项所记载的方法的装置。
15.一种编码有指令的计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行权利要求3至11中任一项所记载的方法。
CN201580020987.6A 2014-04-22 2015-03-20 基于场境回复的自动动作 Pending CN106233312A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/258,692 US9213941B2 (en) 2014-04-22 2014-04-22 Automatic actions based on contextual replies
US14/258,692 2014-04-22
PCT/US2015/021820 WO2015164009A1 (en) 2014-04-22 2015-03-20 Automatic actions based on contextual replies

Publications (1)

Publication Number Publication Date
CN106233312A true CN106233312A (zh) 2016-12-14

Family

ID=52815318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580020987.6A Pending CN106233312A (zh) 2014-04-22 2015-03-20 基于场境回复的自动动作

Country Status (4)

Country Link
US (4) US9213941B2 (zh)
EP (1) EP3134856A1 (zh)
CN (1) CN106233312A (zh)
WO (1) WO2015164009A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857327A (zh) * 2017-03-27 2019-06-07 三角兽(北京)科技有限公司 信息处理装置、信息处理方法以及存储介质
CN110120909A (zh) * 2018-02-07 2019-08-13 腾讯科技(深圳)有限公司 消息的传输方法和装置、存储介质、电子装置
CN110121707A (zh) * 2016-12-30 2019-08-13 谷歌有限责任公司 确定语义上不同的响应以提供作为包括在电子通信中的建议
CN110929122A (zh) * 2018-09-20 2020-03-27 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
JP2020520616A (ja) * 2017-05-05 2020-07-09 ライブパーソン, インコーポレイテッド 改良されたボットタスク処理のための動的応答予測
CN111565143A (zh) * 2019-06-28 2020-08-21 上海掌门科技有限公司 即时通信方法、设备及计算机可读存储介质

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984387B2 (en) 2011-06-28 2021-04-20 Microsoft Technology Licensing, Llc Automatic task extraction and calendar entry
US10649622B2 (en) * 2012-05-09 2020-05-12 Apple Inc. Electronic message user interface
US10235014B2 (en) 2012-05-09 2019-03-19 Apple Inc. Music user interface
US10097496B2 (en) 2012-05-09 2018-10-09 Apple Inc. Electronic mail user interface
US10545657B2 (en) 2013-09-03 2020-01-28 Apple Inc. User interface for manipulating user interface objects
CN105683878B (zh) 2013-09-03 2019-05-07 苹果公司 用户界面中的用户界面对象操作
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
CN105095182B (zh) * 2014-05-22 2018-11-06 华为技术有限公司 一种回复信息推荐方法及装置
US9207835B1 (en) 2014-05-31 2015-12-08 Apple Inc. Message user interfaces for capture and transmittal of media and location content
CN104063427A (zh) * 2014-06-06 2014-09-24 北京搜狗科技发展有限公司 一种基于语义理解的表情输入方法和装置
CN106462340B (zh) 2014-06-27 2019-09-13 苹果公司 尺寸减小的用户界面
CN113824998A (zh) 2014-09-02 2021-12-21 苹果公司 音乐用户界面
WO2016036509A1 (en) 2014-09-02 2016-03-10 Apple Inc. Electronic mail user interface
TWI582641B (zh) 2014-09-02 2017-05-11 蘋果公司 按鈕功能性
US20160062571A1 (en) 2014-09-02 2016-03-03 Apple Inc. Reduced size user interface
US11250081B1 (en) * 2014-09-24 2022-02-15 Amazon Technologies, Inc. Predictive search
US9354071B2 (en) * 2014-09-25 2016-05-31 International Business Machines Corporation Dynamically determining meeting locations
JP6624067B2 (ja) * 2014-11-26 2019-12-25 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10587541B2 (en) * 2014-12-02 2020-03-10 Facebook, Inc. Device, method, and graphical user interface for lightweight messaging
WO2016133319A1 (en) * 2015-02-16 2016-08-25 Samsung Electronics Co., Ltd. Method and device for providing information
US10365807B2 (en) 2015-03-02 2019-07-30 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US10275369B2 (en) 2015-03-23 2019-04-30 International Business Machines Corporation Communication mode control for wearable devices
US10956957B2 (en) * 2015-03-25 2021-03-23 Facebook, Inc. Techniques for automated messaging
US10965622B2 (en) * 2015-04-16 2021-03-30 Samsung Electronics Co., Ltd. Method and apparatus for recommending reply message
US20160335572A1 (en) * 2015-05-15 2016-11-17 Microsoft Technology Licensing, Llc Management of commitments and requests extracted from communications and content
US10361981B2 (en) 2015-05-15 2019-07-23 Microsoft Technology Licensing, Llc Automatic extraction of commitments and requests from communications and content
US9699298B2 (en) * 2015-08-10 2017-07-04 Microsoft Technology Licensing, Llc Smart automatic composition of short messaging responses
KR20180070659A (ko) * 2015-12-21 2018-06-26 구글 엘엘씨 메시징 애플리케이션들을 위한 자동적인 제안들 및 다른 콘텐츠
KR20180093040A (ko) * 2015-12-21 2018-08-20 구글 엘엘씨 메시지 교환 스레드들에 대한 자동적인 제안들
CN106910513A (zh) * 2015-12-22 2017-06-30 微软技术许可有限责任公司 情绪智能聊天引擎
KR101712180B1 (ko) * 2015-12-29 2017-03-06 라인 가부시키가이샤 메시지를 송수신하기 위한 컴퓨터로 읽을 수 있는 기록매체에 저장된 프로그램, 방법 및 장치
US10769155B2 (en) * 2016-05-17 2020-09-08 Google Llc Automatically augmenting message exchange threads based on tone of message
CN107452383B (zh) * 2016-05-31 2021-10-26 华为终端有限公司 一种信息处理方法、服务器、终端及信息处理系统
WO2017209571A1 (en) * 2016-06-02 2017-12-07 Samsung Electronics Co., Ltd. Method and electronic device for predicting response
US10387461B2 (en) 2016-08-16 2019-08-20 Google Llc Techniques for suggesting electronic messages based on user activity and other context
CN106415527B (zh) * 2016-08-31 2019-07-30 北京小米移动软件有限公司 消息通信方法及装置
US10063929B1 (en) * 2016-09-01 2018-08-28 Nufbee Llc Community controlled audio entertainment system
US10798044B1 (en) 2016-09-01 2020-10-06 Nufbee Llc Method for enhancing text messages with pre-recorded audio clips
US10015124B2 (en) 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
WO2018057627A1 (en) * 2016-09-20 2018-03-29 Google Llc System and method for transmitting a response in a messaging application
US10511450B2 (en) 2016-09-20 2019-12-17 Google Llc Bot permissions
CN117634495A (zh) 2016-09-20 2024-03-01 谷歌有限责任公司 基于消息贴纸的建议响应
US10846618B2 (en) * 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US10416846B2 (en) 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
CN108075959B (zh) * 2016-11-14 2021-03-12 腾讯科技(深圳)有限公司 一种会话消息处理方法和装置
US10146768B2 (en) 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
US11003839B1 (en) * 2017-04-28 2021-05-11 I.Q. Joe, Llc Smart interface with facilitated input and mistake recovery
US20180322253A1 (en) * 2017-05-05 2018-11-08 International Business Machines Corporation Sensor Based Monitoring
US10860854B2 (en) 2017-05-16 2020-12-08 Google Llc Suggested actions for images
US10873545B2 (en) * 2017-06-12 2020-12-22 Microsoft Technology Licensing, Llc Automatic action responses
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10742571B2 (en) 2017-07-28 2020-08-11 Microsoft Technology Licensing, Llc Replay of conversations for task completion and delegation
US11556548B2 (en) 2017-08-08 2023-01-17 Microsoft Technology Licensing, Llc Intelligent query system for attachments
CN111095183B (zh) * 2017-09-06 2024-04-09 三星电子株式会社 用户界面中的语义维度
US10951558B2 (en) 2017-09-27 2021-03-16 Slack Technologies, Inc. Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface
US11237850B2 (en) * 2017-10-09 2022-02-01 Samsung Electronics Co., Ltd. Method and electronic device for automatically managing activities of application
US10659399B2 (en) 2017-12-22 2020-05-19 Google Llc Message analysis using a machine learning model
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
CN111566728B (zh) * 2018-05-07 2023-11-10 宝马股份公司 能够实现用户意图和机器服务之间的语义理解映射的对话系统
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
DK179896B1 (en) 2018-09-11 2019-08-30 Apple Inc. CONTENT-BASED TACTILE OUTPUTS
US11799813B2 (en) * 2019-03-29 2023-10-24 Aill Inc. Communication support server, communication support system, communication support method, and communication support program
US10827071B1 (en) * 2019-07-05 2020-11-03 Talkdesk Inc. System and method for SMS and email enabled automated agent assistance within a cloud-based contact center
US20210117882A1 (en) 2019-10-16 2021-04-22 Talkdesk, Inc Systems and methods for workforce management system deployment
US11416467B1 (en) * 2020-04-06 2022-08-16 Sprint Communications Company L.P. Database architecture for reducing the burden on an on-disk database
US11256864B2 (en) * 2020-06-19 2022-02-22 Apple, Inc. Contacts autocomplete keyboard
US11546475B2 (en) 2020-11-06 2023-01-03 Micro Focus Llc System and method for dynamic driven context management
US11726656B2 (en) 2021-02-04 2023-08-15 Keys, Inc. Intelligent keyboard
US11971908B2 (en) 2022-06-17 2024-04-30 Talkdesk, Inc. Method and apparatus for detecting anomalies in communication data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106695A1 (en) * 2007-10-19 2009-04-23 Hagit Perry Method and system for predicting text
CN102707967A (zh) * 2012-04-03 2012-10-03 陈俊 一种运行第三方应用程序的方法、设备及系统
US8423577B1 (en) * 2008-07-21 2013-04-16 Sprint Communications Company L.P. Providing suggested actions in response to textual communications
US20140052680A1 (en) * 2012-08-14 2014-02-20 Kenneth C. Nitz Method, System and Device for Inferring a Mobile User's Current Context and Proactively Providing Assistance

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3306511A (en) 1965-04-19 1967-02-28 Guy W Small Machine for pre-nailing and pre-tacking carpet strips
US5528745A (en) 1994-10-28 1996-06-18 King; C. David Method and system for the display of scheduling information for users within a single viewport
US6182059B1 (en) 1997-04-03 2001-01-30 Brightware, Inc. Automatic electronic message interpretation and routing system
US6535492B2 (en) 1999-12-01 2003-03-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for assigning agent-led chat sessions hosted by a communication center to available agents based on message load and agent skill-set
JP3472194B2 (ja) 1999-05-25 2003-12-02 日本電信電話株式会社 自動応答方法及びその装置並びにそのプログラムを記録した媒体
JP2001056792A (ja) 1999-08-19 2001-02-27 Casio Comput Co Ltd 電子メール装置及び電子メール処理プログラムを記憶した記憶媒体
US6826596B1 (en) 1999-09-07 2004-11-30 Roy Satoshi Suzuki System for categorizing and displaying reply messages in computer facilitated discussions
US6816885B1 (en) 2000-09-21 2004-11-09 International Business Machines Corporation Method and system to handle large volume of E-mail received from a plurality of senders intelligently
US7209951B2 (en) 2001-03-20 2007-04-24 Bernel Goldberg Method and system for modifying the content of e-mail transmissions based on customization settings
US7660855B2 (en) 2002-09-24 2010-02-09 International Business Machines Corporation Using a prediction algorithm on the addressee field in electronic mail systems
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US20050135681A1 (en) 2003-12-22 2005-06-23 Schirmer Andrew L. Methods and systems for preventing inadvertent transmission of electronic messages
US20060075035A1 (en) 2004-09-24 2006-04-06 Tripp Travis S Email customization techniques and systems
US7643822B2 (en) 2004-09-30 2010-01-05 Google Inc. Method and system for processing queries initiated by users of mobile devices
US8849919B2 (en) 2005-02-04 2014-09-30 International Business Machines Corporation Space-efficient mail storing and archiving based on communication structure
US20060265453A1 (en) 2005-05-19 2006-11-23 International Business Machines Corporation Method and system of applying a template to a message
US7580719B2 (en) 2005-09-21 2009-08-25 U Owe Me, Inc SMS+: short message service plus context support for social obligations
US7822434B2 (en) 2006-05-09 2010-10-26 Research In Motion Limited Handheld electronic device including automatic selection of input language, and associated method
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20090254624A1 (en) 2008-04-08 2009-10-08 Jeff Baudin E-mail message management system
US20090282114A1 (en) 2008-05-08 2009-11-12 Junlan Feng System and method for generating suggested responses to an email
WO2010022185A1 (en) 2008-08-19 2010-02-25 Digimarc Corporation Methods and systems for content processing
US9070116B2 (en) 2008-10-09 2015-06-30 At&T Mobility Ii Llc On-demand spam reporting
US20150089007A1 (en) 2008-12-12 2015-03-26 At&T Intellectual Property I, L.P. E-mail handling based on a behavioral history
US8385975B2 (en) 2009-04-23 2013-02-26 Qualcomm Incorporated Context-based messaging for wireless communication
US9100465B2 (en) 2009-08-11 2015-08-04 Eolas Technologies Incorporated Automated communications response system
CA2772638C (en) 2009-08-31 2018-02-13 Google Inc. Framework for selecting and presenting answer boxes relevant to user input as query suggestions
EP2393046A1 (en) 2010-06-02 2011-12-07 Research In Motion Limited Method for assisted message generation
US8346879B2 (en) * 2010-06-04 2013-01-01 Xerox Corporation Detecting conflicts in email messages
US9928484B2 (en) * 2011-06-24 2018-03-27 Facebook, Inc. Suggesting tags in status messages based on social context
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
CN102609441B (zh) 2011-12-27 2014-06-25 中国科学院计算技术研究所 基于分布熵的局部敏感哈希高维索引方法
US9306878B2 (en) 2012-02-14 2016-04-05 Salesforce.Com, Inc. Intelligent automated messaging for computer-implemented devices
US20130304677A1 (en) 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
JP5431532B2 (ja) 2012-06-08 2014-03-05 日本電信電話株式会社 質問応答装置、モデル学習装置、方法、及びプログラム
US20130346347A1 (en) * 2012-06-22 2013-12-26 Google Inc. Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
US20140088954A1 (en) * 2012-09-27 2014-03-27 Research In Motion Limited Apparatus and method pertaining to automatically-suggested emoticons
US20140161356A1 (en) 2012-12-10 2014-06-12 Rawllin International Inc. Multimedia message from text based images including emoticons and acronyms
JP5763110B2 (ja) 2013-01-08 2015-08-12 ビッグローブ株式会社 送受信システム、コンピュータ、送受信装置、送受信方法、及びプログラム
KR20150014052A (ko) 2013-07-26 2015-02-06 주식회사 팬택 통합 커뮤니케이션 기능을 구비한 사용자 단말 및 이를 위한 커뮤니케이션 이력 표시 방법
US8996639B1 (en) 2013-10-15 2015-03-31 Google Inc. Predictive responses to incoming communications
US9294890B1 (en) 2013-10-21 2016-03-22 West Corporation Intercepting and processing received short message service (SMS) messages to provide an automated response
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
KR20180093040A (ko) 2015-12-21 2018-08-20 구글 엘엘씨 메시지 교환 스레드들에 대한 자동적인 제안들
US10250541B2 (en) 2016-02-03 2019-04-02 Google Llc Predictive responses to incoming communications
US11115463B2 (en) 2016-08-17 2021-09-07 Microsoft Technology Licensing, Llc Remote and local predictions
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US9736268B1 (en) 2017-02-23 2017-08-15 Thumbtack, Inc. System for generating responses to requests
US10659399B2 (en) 2017-12-22 2020-05-19 Google Llc Message analysis using a machine learning model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106695A1 (en) * 2007-10-19 2009-04-23 Hagit Perry Method and system for predicting text
US8423577B1 (en) * 2008-07-21 2013-04-16 Sprint Communications Company L.P. Providing suggested actions in response to textual communications
CN102707967A (zh) * 2012-04-03 2012-10-03 陈俊 一种运行第三方应用程序的方法、设备及系统
US20140052680A1 (en) * 2012-08-14 2014-02-20 Kenneth C. Nitz Method, System and Device for Inferring a Mobile User's Current Context and Proactively Providing Assistance

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110121707A (zh) * 2016-12-30 2019-08-13 谷歌有限责任公司 确定语义上不同的响应以提供作为包括在电子通信中的建议
CN110121707B (zh) * 2016-12-30 2023-10-31 谷歌有限责任公司 确定语义不同的响应以提供作为包括在电子通信中的建议
CN109857327A (zh) * 2017-03-27 2019-06-07 三角兽(北京)科技有限公司 信息处理装置、信息处理方法以及存储介质
JP2020520616A (ja) * 2017-05-05 2020-07-09 ライブパーソン, インコーポレイテッド 改良されたボットタスク処理のための動的応答予測
JP7135070B2 (ja) 2017-05-05 2022-09-12 ライブパーソン, インコーポレイテッド 改良されたボットタスク処理のための動的応答予測
CN110120909A (zh) * 2018-02-07 2019-08-13 腾讯科技(深圳)有限公司 消息的传输方法和装置、存储介质、电子装置
CN110120909B (zh) * 2018-02-07 2021-12-07 腾讯科技(深圳)有限公司 消息的传输方法和装置、存储介质、电子装置
CN110929122A (zh) * 2018-09-20 2020-03-27 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
CN110929122B (zh) * 2018-09-20 2024-02-06 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
CN111565143A (zh) * 2019-06-28 2020-08-21 上海掌门科技有限公司 即时通信方法、设备及计算机可读存储介质

Also Published As

Publication number Publication date
US10552747B2 (en) 2020-02-04
US20160162791A1 (en) 2016-06-09
WO2015164009A1 (en) 2015-10-29
US20150302301A1 (en) 2015-10-22
US11669752B2 (en) 2023-06-06
EP3134856A1 (en) 2017-03-01
US9213941B2 (en) 2015-12-15
US20230385662A1 (en) 2023-11-30
US20200202238A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
US11669752B2 (en) Automatic actions based on contextual replies
CN107491285B (zh) 智能设备仲裁和控制
US10305828B2 (en) Search query predictions by a keyboard
CN106471570B (zh) 多命令单一话语输入方法
EP3400539B1 (en) Determining graphical elements associated with text
CN108205376A (zh) 用于对话的图标符号预测
CN108093126A (zh) 用于拒绝来电的智能数字助理
CN108733438A (zh) 应用程序与数字助理集成
CN109328381A (zh) 检测数字助理的触发
EP3097704B1 (en) Determing data associated with proximate computing devices
CN107870974A (zh) 使用设备上模型的智能回复
CN107608998A (zh) 具有数字助理的应用集成
CN107491295A (zh) 具有数字助理的应用集成
CN107491284A (zh) 提供自动化状态报告的数字助理
CN108874766A (zh) 用于数字助理服务中的语音匹配的方法和系统
CN108700993A (zh) 具有建议的搜索查询区域的键盘
CN108139862A (zh) 多窗口键盘
CN107408387A (zh) 虚拟助理激活
CN107533542A (zh) 用于理解不完整的自然语言查询的方法
CN107305493A (zh) 具有集成搜索的图形键盘应用
CN107257950A (zh) 虚拟助理连续性
KR20170099917A (ko) 모호한 표현의 판별을 통한 사용자 경험 개선 기법
CN107949823A (zh) 零延迟数字助理
EP3610376B1 (en) Automatic context passing between applications
EP3430532A1 (en) Question and answer interface based on contextual information

Legal Events

Date Code Title Description
C06 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.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161214