基于环境的主动聊天信息系统的制作方法

文档序号:11455599阅读:240来源:国知局
基于环境的主动聊天信息系统的制造方法与工艺

本公开一般涉及聊天信息系统,并且更具体地,涉及基于如本文所描述的多个准则的用于向聊天信息系统的用户智能和主动地生成推送通知的技术。



背景技术:

本部分中所描述的方法可被实行,但不一定是先前就已被构想或实行过的方法。因此,除非另外指出,否则不应当假定本部分中所描述的任何方法均仅仅由于其被包括在本部分中而构成现有技术。

聊天信息系统(cis)是具有用于访问和管理信息的以人为中心的接口的基于计算机的代理。传统上,cis可以以自然语言与用户进行交互以模拟智能对话并向用户提供个性化帮助。例如,用户可询问cis问题,诸如“最近的酒店在哪里?”或“今天天气怎样?”,并且接收对应的回答。用户还可向cis提供语音命令以便执行某些功能,包括例如生成电子邮件、打电话、搜索信息、获取数据、重新寻址用户请求、指导用户、提供通知和提醒等。cis和个人数字助理(pda)系统被广泛使用并且对计算机用户有很大帮助,并且对于诸如智能电话、蜂窝电话、平板计算机、游戏主机等便携式电子设备的持有者尤其有帮助。

术语“聊天信息系统”或cis也可被称为“语音对话系统(spokendialogsystem)”、“对话系统(dialogsystem)”、“会话代理(conversationalagent)”、“聊天机器人(chatterrobot)”、“聊天机(chatterbot)”、“聊天器(chatbot)”、“数字个人助理/代理”、“自动在线助理”等。所有这些术语都在本公开的范围内,并且为了简单起见被称为“聊天信息系统”或“cis”。

本质上,cis用户可能会问大量的各种问题并请求宽范围的信息。用户通常每天请求同一类型的信息,其可包括例如天气报告、交通报告、本地或全球新闻、与预定的会议或预约相关的信息、在目标城市的晚间活动、导航信息等。然而,一些用户可能觉得费劲或恼人的是要每天重复地生成多个cis请求以获得通常所请求的信息。此外,当需要每天从多个源收集信息时,用户可能完全地忘记请求某些信息项(包括错过的会议或事件、错过的截止期限、对重要信息的忽略等),这可能导致不希望的结果。因此,仍然需要开发cis,并且尤其需要改进人-cis交互界面。



技术实现要素:

提供本发明内容以便以简化形式介绍将在下面的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用作确定所要求保护的主题的范围的辅助。

本公开方法提供了基于多项准则的为cis用户智能和主动生成推送通知的技术。该技术克服了现有技术系统的至少一些缺点,并且改进了用户-cis交互界面和使用cis的总体用户体验。

根据本公开的一个方面,提供了一种用于在cis中主动地递送推送通知的方法。该方法可包括由可操作地耦合到存储器的处理器标识至少一个触发事件。该方法还可包括由处理器为用户生成多个推送通知。多个推送通知可至少部分地与至少一个触发事件相关联。该方法还可包括由处理器至少部分地使用cis向用户提供多个推送通知。

在某些实施例中,多个推送通知可包括与用户相关联的日程信息。在某些实施例中,多个推送通知包括与用户相关联的一个或多个个人通信。个人通信可以与以下中的一个或多个相关联:电子邮件、文本消息、即时消息、博客帖子、社交网站消息和语音消息。在某些实施例中,多个推送通知可包括一个或多个新闻条目或一个或多个新闻馈送。在某些实施例中,多个推送通知可包括一个或多个社交网站信息项。在某些实施例中,多个推送通知可包括一个或多个天气信息项。在某些实施例中,多个推送通知可包括当前时间或日期。在某些实施例中,多个推送通知可包括一个或多个对话推荐以发起用户与cis的交互。

在某些实施例中,该方法还可包括由处理器确定与用户相关联的当前地理位置,并且至少一个触发事件的标识可至少部分地基于确定用户存在于预定的地理位置或预定的地理区域之一内。

在某些实施例中,至少一个触发事件的标识可包括由处理器识别在距与用户设备相关联的当前地理位置预定距离内的一个或多个外围电子设备的存在。在某些实施例中,该方法还可包括由处理器接收基于语音的用户输入;以及由处理器识别基于语音的用户输入的至少一部分以生成经识别的输入。至少一个触发事件的标识可包括由处理器识别在经识别的输入中的一个或多个预定词。

在某些实施例中,至少一个触发事件的标识可包括由处理器识别与至少一个社交网络或博客站点相关联的一个或多个事件。

在某些实施例中,该方法还可包括由处理器确定与用户相关联的当前时间,并且至少一个触发事件的标识可至少部分地基于确定当前时间与预定时间值相关。在某些实施例中,该方法还可包括由处理器确定与用户相关联的当前时间,并且至少一个触发事件的标识可包括由处理器识别在从当前时间起的预定时间段内已排程的一个或多个日历事件。

在某些实施例中,至少一个触发事件的标识可包括由处理器识别在一个或多个无线网络内的用户设备的存在。在某些实施例中,多个推送通知的至少一部分可被提供为一个或多个可显示消息。在某些实施例中,多个推送通知的至少一部分可被提供为一个或多个音频消息。在某些实施例中,多个推送通知的至少一部分可被提供为一个或多个可操作的消息。

在某些实施例中,该方法还可包括由处理器接收用户对至少一个可操作消息的选择,以及由处理器生成对用户选择的响应。

在另外的实施例中,多个推送通知中的至少一个的至少一部分可包括用于用户设备从服务器获得与至少一个触发事件相关联的信息的一个或多个指令。当用户设备的用户查看或打开多个推送通知中的至少一个时,指令可被激活并使得用户设备从服务器获得与至少一个触发事件相关联的信息。在一些实施例中,指令可包括元数据。该指令可使得用户设备向服务器发送请求以获得相关联的信息,该请求包括指令的元数据。

在另一方面,提供了一种cis。cis可包括语音识别模块,该语音识别模块被配置成接收基于语音的用户输入、识别基于语音的用户输入的至少一部分并且生成经识别的输入。cis还可包括对话管理器,该对话管理器被配置成生成对经识别的输入的至少一个响应。cis还可包括被配置成标识至少一个触发事件的事件管理器。cis还可包括推送通知管理器,该推送通知管理器被配置成为用户生成多个推送通知。多个推送通知可至少部分地与至少一个触发事件相关联。

在某些实施例中,cis还可包括被配置成经由用户设备向用户提供多个推送通知的输出呈现器。输出呈现器可包括文本到语音生成器(text-to-speechgenerator)。在某些实施例中,输出呈现器可被配置成提供多个推送通知中的至少一个作为一个或多个音频消息。在某些实施例中,输出呈现器可被配置成提供多个推送通知中的至少一个作为一个或多个文本消息或图像消息。在某些实施例中,语音识别模块可包括多个语音识别器。

在某些实施例中,语音识别模块、对话管理器、事件管理器和推荐管理器中的至少一个可以是分布式计算模块。在某些实施例中,语音识别模块、对话管理器、事件管理器和推荐管理器中的至少一个可以是云计算模块。

在本公开的进一步示例实施例中,所述方法步骤被储存在包括指令的机器可读介质上,其在被一个或多个处理器实现时,执行所记载的步骤。在又一些示例实施例中,硬件系统或设备可被适配成执行所记载的步骤。以下描述了其他特征、示例和实施例。

附图说明

实施例在附图中是通过示例而非限定的方式进行说明的,在附图中相同的附图标记指示类似的元素,并且其中:

图1是用户与cis的交互的高级流程图。

图2是根据示例实施例的cis的高级架构。

图3是适用于实践用于主动递送推送通知的本发明的技术的示例系统的高级框图。

图4是适用于实践用于主动地递送推送通知的本发明的技术的示例系统环境的高级框图。

图5是适用于实践用于主动地递送推送通知的本发明的技术的另一示例系统环境的高级框图。

图6是适用于实践用于主动地递送推送通知的本发明的技术的又一示例系统环境的高级框图。

图7例示了根据示例实施例的用于用户设备的图形用户界面的示意图。

图8是根据示例实施例的用于用户设备的具有聊天特征的图形用户界面的示意图。

图9是示出根据示例实施例的用于在cis中主动递送推送通知的方法的过程流程图。

图10示出了用于示例电子形式的计算机系统中的机器的计算设备的图形表示,在该计算机系统内可执行用于使得该机器执行本文所讨论的方法中的任何一个或多个方法的指令集。

具体实施方式

以下具体实施方式包括对附图的参考,这些参考形成该具体实施方式的一部分。附图示出了根据示例实施例的图示。这些示例实施例(在本文中也被称为“示例”)被足够详细地描述以使得本领域的技术人员能够实践本发明主题。在不脱离所要求保护的范围的情况下,可组合实施例,可利用其他实施例,或者可进行结构、逻辑和电气改变。因此,以下具体实施方式不应被理解为限制性的,并且所述范围由所附权利要求及其等同物来限定。在本文中,术语“一(a)”和“一个(an)”被使用(如在专利文献中常见的)以包括一个或多于一个。在本文中,除非另外指明,否则术语“或”被用来指非排他性的“或”,使得“a或b”包括“a但非b”、“b但非a”以及“a和b”。

本文公开的各实施例的技术可使用各种技术来实现。例如,本文描述的方法可在计算机系统上执行的软件中被实现或者在利用微处理器的组合或其他专门设计的专用集成电路(asic)、可编程逻辑器件或其各种组合的硬件中被实现。具体地,本文描述的方法可由驻留在存储介质(诸如硬盘驱动器)或计算机可读介质上的一系列计算机可执行指令来实现。应当注意,本文公开的方法可由计算机(例如,台式计算机、平板计算机、膝上型计算机)、游戏主机、手持式游戏设备、蜂窝电话、智能电话、智能电视系统等来实现。

序言

本公开的实施例涉及基于计算机的“每日简报(dailybrief)”服务,这意指用于主动地为cis的用户提供推送通知的方法和对应系统。通常,推送通知可基于一项或多项准则/规则被动态及主动地生成并且被呈现以供用户注意,这些准则/规则在本文中被称为“触发事件”。如下面更详细描述的,cis可监测与用户或他的用户设备相关联的当前时间/日期、用户的当前地理位置、与用户相关联的社交媒体中的同伴和朋友的活动、社交网络事件、已排程的事件、日历事件、预约、电子邮件帐户、即时消息服务、用户-cis交互的对话上下文、离开用户的预定区域内的一个或多个特定设备的存在,距离用户的预定区域内的某些无线网络的存在等。所有这些活动、事件和信息项可构成或涉及触发事件。基于对这些触发事件中的一个或多个的监测和标识,cis可主动地生成一个或多个推送通知,并且一旦标识出至少一些触发事件,则通过用户设备以文本消息、图像消息、视频消息、音频消息和可操作消息的形式将它们呈现给用户。在一些实施例中,推送通知可包括所有已请求的信息,诸如文本、图像、视频和音频内容。然而,在其他实施例中,推送通知可包括用于用户设备从对应的联网服务器获得与触发事件相关联的信息的元数据或指令。

用户可利用从包括例如计算机(台式计算机、膝上型计算机、平板计算机、pda)、智能电话、蜂窝电话、游戏主机、游戏手柄、远程控制器、电视设备,智能(因特网)电视设备、音频系统、车载计算机系统、信息娱乐系统或任何其他合适的电子设备的宽范围的电子设备中选择的用户设备与cis进行交互。虽然键输入命令、可操作(可点击)消息的选择或基于手势的命令也是可能的,但是与cis的交互可包括语音命令。如下面更详细地描述的,cis可指安装在用户设备、服务器或远程设备上的软件应用,或者它可以指分布式应用或基于云的服务。

图1示出了用户与cis的交互的高级流程图100。如该图所示,在操作110,用户可利用经由用户设备(例如使用一个或多个麦克风)提供基于语音的(音频)用户输入来开始交互。用户输入可指信息请求(诸如“今天天气怎样?”)或者(诸如发送文本消息之类的)语音命令等。

在操作120,cis的自动语音识别器(asr)可识别用户输入,以将口述单词、短语和句子翻译成文本,其在本文中被称为经识别的输入。然后,在操作130,经识别的输入通过自然语言处理(nlp)模块(例如,执行形态分析、词性标注或浅解析)来分析。nlp模块还可将经识别的输入或其部分映射到一个或多个意义表示(例如,语义框架),从其中通过语义解析器或统计模型来抽取对话行为、用户目标和命名实体。

在操作140,对话管理器至少部分地基于经识别的输入和查找到的含义表示来生成输出(响应)。例如,对话管理器可从一个或多个资源(例如电子日历、数据库、网站等)检索特定信息或生成用于用户设备从联网服务器请求对应信息的元数据或指令。在操作150,输出(例如,作为文本、图像、音频或视频消息)被提供给用户。为了这些目的,可使用输出呈现器,其可将文本转换成语音并且提供作为机器生成的音频信号的输出。替代地,输出可被呈现为文本消息并且被显示在用户设备的显示器上。

上述给定的用户交互在图2中被进一步例示,图2示出了根据示例实施例的cis200的高级架构。应当注意,cis200的每个模块可包括硬件组件、软件组件或其组合。cis200可被嵌入在用户设备或服务器中,或者可被呈现为云计算模块和/或分布式计算模块。

cis200可包括asr210,asr210被配置成接收基于语音的用户输入并将其处理成参数向量序列。asr210进一步将参数向量序列转换成经识别的输入(即,具有一个或多个单词、短语或句子的文本输入)。asr210可包括一个或多个语音识别器,诸如基于模式的语音识别器、自由听写识别器(free-dictationrecognizer)、基于地址簿的识别器、动态创建的识别器等。

此外,cis200可包括用于理解口语输入的nlp模块220。具体地,nlp模块220可分解和解析经识别的输入以产生话语,然后使用例如形态分析、词性标注、浅解析等对其进行分析,然后将经识别的输入或其部分映射到意义表示。

cis200还可包括对话管理器230,其协调所有组件的活动,控制对话流并且与外部应用/设备进行通信。对话管理器230还发挥许多作用,其包括基于话语上下文的话语分析、知识数据库查询以及系统动作预测。在一些实施例中,对话管理器230可联系可能具有特定任务域的知识的一个或多个任务管理器(未示出)。在一些实施例中,对话管理器230可以与各种计算、逻辑或存储资源240进行通信,资源240可包括例如触发准则数据库、规则数据库、推荐数据库、推送通知数据库、电子地址簿、电子邮件或文本代理、对话历史数据库、各种知识数据库、地图数据库、兴趣点数据库、地理位置确定器、时钟、无线网络检测器、搜索引擎、社交网站、博客网站、新闻馈送服务等。对话管理器230可采用多种各种方法以响应于经识别的输入来生成输出。一些方法可包括统计分析的使用、机器学习算法(例如,神经网络)、启发式分析等。对话管理器230是cis200的中央组件之一。对话管理器230的主要作用是基于从nlp的结果(例如,对话行为、用户目标和话语历史)中观察到的证据和推断出的对话状态来选择正确的系统动作。此外,当用户输入具有由噪声或非预期输入引起的asr和nlp误差时,对话管理器230应能够处理误差。

cis200还可包括输出呈现器250,以用于将对话管理器230的输出转换成适用于提供给用户的形式。例如,输出呈现器250可采用文本到语音引擎,或者可与预先录制的音频数据库进行联络以生成对应于对话管理器230的输出的音频消息。在某些实施例中,输出呈现器250可将对话管理器230的输出呈现为用于进一步显示在用户设备的显示屏上的文本消息、图像或视频消息。

系统架构

图3示出了适用于实践用于主动递送推送通知的本发明的技术的示例系统300的高级框图。本领域技术人员应当理解,系统300的所有组件可包括逻辑元件、硬件组件、软件(固件)组件、虚拟组件或其组合。系统300的模块可存在于一个设备(例如用户设备)、(例如,在客户端-服务器环境中的)多个设备中,或者可以是分布式计算模块或云计算模块。此外,图3中示出的所有模块可使用任何合适的有线、无线、无线电、电学或光学准则来被可操作地耦合。

如图3所示,系统300可包括一个或多个输入模块302,诸如麦克风、触摸屏、小键盘(keypad)、键盘(keyboard)、触摸板、轨迹球、视频相机(例如,用于手势识别)、运动传感器等。系统300还可包括一个或多个输出模块304,诸如扬声器或显示器。

系统300还包括cis306,以提供用于访问和管理如本文所讨论的信息的以人员为中心的接口。cis306可由以上参考图2所示的示例实现来表示。

系统300还包括用于监测活动并标识一个或多个触发事件的事件管理器308。触发事件可涉及宽范围的各种活动或事件。触发事件的一些示例可包括:

·特定时间/日期(例如,推送通知可在指定的时间生成或在一个或多个已排程的事件之前被每天地生成);

·用户或用户设备在预定的地理位置或区域内的存在(例如,推送通知可当用户旅行到新城市时被生成);

·在距离特定位置或区域预定距离内(例如,当用户接近特定办公室或餐馆时)的用户或用户设备的存在;

·在用户输入中所标识的一个或多个预定词/短语(例如,推送通知可响应于某些用户命令而被生成);

·用户-cis对话上下文的类型;

·与社交网络或博客网站相关联的事件(例如,新朋友的帖子、朋友的活动、新朋友的状态);

·新闻馈送或新信息项;

·日历或已排程的事件/会议;

·气象事件;

·用户的体育活动(例如,跑步、进行体育运动或长时间不活动);

·新的、最近的或未读的电子邮件;

·新的、最近的或未读的即时消息(文本消息、短消息服务消息);

·未接来电;

·新的、最近的或未收听的语音消息;

·交通事件;

·导航活动或事件;

·用户设备在一个或多个预定的无线网络内的存在;

·用户或用户设备在特定设备附近的存在(例如,检测用户是否在车辆中);等等。

事件管理器308可参考触发准则数据库310,触发准则数据库310可储存各种准则、规则、参考触发事件等。例如,触发准则数据库310可储存触发单词(例如“天气”、“电子邮件”、“在哪里”、“日程表”、“何时”等)的列表、预定的地理位置的列表、无线网络列表、外围设备列表、用户-cis交互类型的列表、对话历史以及许多其他规则或准则。事件管理器308可参考本地或远程存储资源322(例如,社交媒体站点)以标识触发事件或者参考系统300的任何其他模块。

系统300可包括推送通知管理器312,以用于至少部分地基于由事件管理器308标识的触发事件、储存在规则数据库314中的规则和/或储存在推送通知数据库324中的推送通知模板来为用户生成推送通知。更具体地,一旦事件管理器308标识特定触发事件,推送通知管理器312就参考规则数据库314和/或推送通知数据库324来定位与所标识的触发事件相关联的数据和/或规则。基于所定位的数据/规则和触发事件本身,推送通知管理器312为用户产生一个或多个推送通知,该推送通知然后可经由输出模块304被呈现给用户。

值得注意的是,存在两种类型的推送通知。首先,推送通知可包含要以文本、图像、视频和/或音频内容的形式被呈现给用户的所有信息。第二,推送通知可包含对用户设备的特殊指令。特殊指令可包括用户设备需要提交到特定联网服务器、web存储资源或web服务的文本或元数据。第二个选项可尤其有助于那些对推送通知消息有限制的cis。因此,在第二个选项中,当用户接收到具有这样的指令的推送通知并打开它以进行查阅时,用户设备可生成对服务器的请求。该请求可包括指令的元数据和其他数据(例如,用户的当前位置)。响应于该请求,服务器可创建回答并将包括所请求的信息(例如,当前天气)的回答发送回用户。当用户设备接收到时,用户设备可“即时地(onthefly)”生成推送通知消息,并将该推送通知递送给用户。

推送通知管理器312还可基于一个或多个触发事件来为用户生成推荐。为此,推送通知管理器312可参考规则数据库314和/或推荐数据库316。

例如,当用户从华盛顿特区前往加州森尼韦尔旅行时,事件管理器308可标识用户(用户设备)的新位置并将其视作触发事件。此外,基于预定的规则,推送通知管理器312可利用“每日简报”来向用户生成推送通知,“每日简报”包括例如sunnyvale的天气信息、交通信息、关于本地餐馆的信息、新电子邮件、文本消息和在用户离线(例如,在飞机中)时接收到的语音消息以及来自订阅的新闻馈送的最近信息项。用户可进一步与cis进行交互,例如,以获得新电子邮件、消息和到选定餐馆的导航信息的细节等。以下将给出用户-cls交互的一些其他示例。

仍参考图3,系统300可包括用于为请求模块提供当前时间或当前时间和日期的时钟318。时钟318可以是内部模块或远程模块。系统300还可包括用于确定用户设备的当前地理位置的地理位置确定器320。地理位置确定器320可利用多种用于确定地理位置的不同方法,包括例如接收和处理全球定位系统(gps)、glonass卫星导航系统或伽利略卫星导航系统的信号;利用无线电塔(基站)之间的无线电信号的多点定位;或利用与互联网协议(ip)地址、媒体访问控制(mac)地址、射频识别(rfid)或其他技术相关联的地理定位方法。

系统300可包括一个或多个本地或远程存储或计算资源322,包括例如网络资源、网站、社交网络网站、博客网站、新闻馈送、电子邮件服务器、网络日历、事件数据库、票券聚合器(ticketaggregator)、地图数据库、兴趣点数据库等。应当清楚的是,事件管理器308和推荐管理器312还可参考这些资源322以用于标识触发事件或产生对话推荐。

图4示出了适用于实践用于主动递送推送通知的本发明的技术的示例系统环境400的高级框图。系统环境400可包括用户设备410,包括cis306、事件管理器308、推送通知管理器312、一个或多个数据库(例如,触发准则数据库310、规则数据库314、推荐数据库316、推送通知数据库324)、一个或多个web资源和/或一个或多个web服务420的分布式模块以及通信网络430。

根据各种实施例,用户设备410可指“客户端-服务器环境”中的客户端。一般来说,用户设备410可包括计算机(例如,台式计算机、膝上型计算机、平板计算机)、智能电话、无线电话、蜂窝电话、电视系统、遥控器、游戏主机、游戏手柄、车载计算机、信息娱乐系统、智能家居计算机以及具有至少一个处理或计算单元的任何其他电子设备。用户设备410应当被配置成(例如,经由一个或多个麦克风)接收或捕获用户音频输入。此外,用户设备410可运行专用软件以允许其实现本公开的原理。在示例中,用户设备410可运行允许用户访问专用网页或访问采用cis306和其他模块的至少一些功能的特定web服务的浏览器。在另一示例中,用户设备410可运行使能与cis306和其他模块进行通信的专用移动应用。应当理解,cis306、事件管理器308、推送通知管理器312和/或其他模块或数据库310、314、316、324可在用户设备410或联网服务器上运行,或者它们可构成在用户设备410和网络服务器(未示出)上或在多个联网服务器上(例如,基于云的实施例)运行的(多个)分布式软件应用。

通信网络430可以是无线或有线网络,或其组合。例如,网络可包括以下的一个或多个:互联网、本地内联网、pan(个域网)、lan(局域网)、wan(广域网)、man(城域网)、虚拟专用网(vpn)、存储区域网络(san)、帧中继连接、高级智能网络(ain)连接、同步光网络(sonet)连接、数字t1、t3、e1或e3线路、数字数据服务(dds)连接、dsl(数字用户线路)连接、以太网连接、isdn(综合业务数字网)线路、电缆调制解调器、atm(异步传输模式)连接或fddi(光纤分布式数据接口)或cddi(铜线分布式数据接口)连接。此外,通信还可包括到各种无线网络中的任一者的链路,无线网络包括gprs(通用分组无线电服务)、gsm(全球移动通信系统)、cdma(码分多址)或tdma(时分多址)、蜂窝电话网、gps、cdpd(蜂窝数字分组数据)、rim(运动研究有限公司(researchinmotion,limited))双工寻呼网络、蓝牙无线电或基于ieee802.11的射频网络。

在各种实施例中,一个或多个web资源和/或一个或多个web服务420可包括以下的一个或多个:网页、网站、互联网搜索引擎、数据库、数据存储资源、数据聚合器(例如票券聚合器)、文件共享网站、电子邮件服务器、电子邮件服务、即时通讯服务(instantmessagingservice)、社交网站、博客网站、微博网站、新闻服务、新闻丰富站点摘要(rss)、地图服务、网上银行服务、在线日历服务、在线预约排程服务、位置确定服务、天气服务、时间服务、应用程序编程接口(api)等。cis306、事件管理器308、推送通知管理器312和用户设备410可被配置成可操作地与这些或类似的web资源/web服务420进行通信以根据应用来交换数据。例如,cis306可与至少一个web资源/服务420进行通信,以便生成对用户输入的响应(例如,以检索/下载天气信息)。在另一示例中,事件管理器308可与至少一个web资源/服务420进行通信,以便标识触发事件(例如,经由至少一个社交网站标识用户的同伴的新状态)。在又一实施例中,推送通知管理器312可与至少一个web资源/web服务420进行通信,以便为用户生成一个或多个对话推荐(例如,与地图服务进行通信以标识位于用户的当前位置附近的兴趣点)。

图5示出了适用于实现用于动态生成对话推荐的本发明的技术的另一示例系统环境500的高级框图。具体而言,在该实施例中,cis306、事件管理器308、推送通知管理器312和/或多个数据库310、314、316、324可驻留在一个或多个联网服务器510中。还应当清楚,这些模块可在多个联网服务器中或在计算云内运行。

图6示出了适用于实现本发明的技术的又一示例系统环境600的高级框图。具体而言,在该实施例中,cis306、事件管理器308、推送通知管理器312以及任选地多个数据库310、314、316、324可驻留在用户设备410中。

图形用户界面

图7例示了根据示例实施例的用于用户设备410的图形用户界面700的示意图。虽然在所示示例中用户设备410是智能电话,但是也可为台式或膝上型计算机、平板计算机或任何其他合适的设备提供相同或类似的图形用户界面700。在所示的示例中,用户设备410包括显示用户界面700的触摸屏。在示例实施例中,用户界面700包括托盘(输出框)702,其中一个或多个推送通知消息704可被动态地显示。推送通知消息704可被呈现为文本消息、静止或动画图像消息或其组合。在某些实施例中,推送通知消息704可包括某种类型的信息(例如,新闻馈送、天气信息、电子邮件等)或者仅是要被提供的信息的概要。

任选地,推送通知704可被呈现为可操作消息(按钮)或超链接。用户可具有点击或选择所显示的推送通知中的一个的选项,这将等同于口头命令。还应当理解,用户可以说出与所示的推送通知相对应的命令,并且cis将提供对应的响应。还应当注意,推送通知消息704还可包括对话推荐消息(或对话推荐数据)。

图8例示了根据示例实施例的用于用户设备410的具有聊天特征的图形用户界面800的示意图。虽然在所示示例中用户设备410是智能电话,但是也可为台式或膝上型计算机、平板计算机或任何其他合适的设备提供相同或类似的图形用户界面800。在所示的示例中,用户设备410包括显示用户界面800的触摸屏。在示例实施例中,用户界面800包括显示头像804的托盘(输出框)802。任选地,用户可选择不同的头像,或者从各种元素构建头像(例如,选择衣服、眼睛、头发等)。任选地,用于多个主题的多个托盘可被采用。用户界面800还包括用于显示由系统(即,cis响应)生成的消息(文本、图像或视频)的托盘806。用户界面800还可包括用于显示用户输入(例如,经识别的音频输入或手动文本输入)的托盘808。用户界面800还包括用于显示由推送通知管理器312生成的一个或多个对话推荐的托盘810。对话推荐可被呈现为文本、图像、视频或其组合。此外,对话推荐可在单独的可操作消息(按钮)或超链接中被显示。用户可具有点击或选择所显示的对话推荐中的一个的选项,这将等同于口头对话推荐。

根据某些实施例,用户可通过进行联络或通过触摸托盘来与用户界面800进行交互。用户界面800还可包括一个或多个控制按钮812。控制按钮812可被用于选择或改变特定设置、显示特性或控制其他选项。联络可以是手势,诸如举例而言,一次或多次轻敲或(从左到右,从右到左,向上和/或向下的)一次或多次滑动。

操作方法

图9是示出根据示例实施例的用于在cis中主动递送推送通知的方法900的过程流程图。方法900可由处理逻辑执行,该处理逻辑可包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑和微代码)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。在一个示例实施例中,处理逻辑驻留在cis306、事件管理器308和/或推送通知管理器312。换句话说,方法900可由以上参考图2-6所讨论的各种组件来执行。

如图9所示,方法900可在操作910开始,其中事件管理器308标识至少一个触发事件。为了这些目的,事件管理器308可与以下中的一个或多个进行通信:时钟318、地理位置确定器320、本地或远程存储资源322以及web资源或web服务420。触发事件可指特定时间、在特定位置的存在、在博客站点上发布的新消息以及如本文所描述的许多其他事件。

在操作920,推送通知管理器312至少部分地基于至少一个触发事件来生成一个或多个推送通知。具体而言,推送通知管理器312可参考一个或多个数据库310、314、316、324,以便按照某些规则、准则或原理来生成推送通知。在某些实施例中,一些推送通知可包括对用户的对话推荐,其具有关于如何继续用户-cls交互的建议。

在操作930,推送通知管理器312(和/或cis306的输出呈现器250和/或输出模块304)将所生成的推送通知作为文本消息、图像消息、可操作消息或音频消息提供给用户。

在操作940,cis306可接收来自用户的基于语音的(音频)输入。可例如经由用户设备410的麦克风来进行用户输入。在操作950,cis306识别用户输入的至少一部分并且生成经识别的输入。在操作960,cis306生成对经识别的输入的至少一个响应,并将其作为机器生成的音频消息和/或可显示的文本、图像或视频消息提供给用户。输出呈现器250和/或输出模块304可被用于这些动作。

示例

在一个示例实现中,用户可配置cis306,使得“每日简报”推送通知在每天上午8:00被生成。事件管理器308可通过时钟318来监测当前时间,并且一旦确定当前时间满足某些预定的设置,推送通知管理器312就根据储存在规则数据库314中的预定规则生成推送通知。推送通知可作为音频消息和摘要文本消息被呈现在用户设备410的显示屏上。在示例中,推送通知可以包括:

·当前时间和日期;

·当日已排程的事件、会议和差事的列表;

·新收到和未读电子邮件(或仅具有“重要”标志的电子邮件)的摘要;

·本地天气报告;以及

·所选新闻馈送或信息项的摘要或标题。

用户然后可选择所递送的推送通知中的一个或者仅提供语音命令,诸如“显示我的电子邮件”或“显示已排程事件的细节”,以便获得关于期望项的更多信息。如果用户中断了递送推送通知的序列,则他可通过提供诸如“返回简报”的语音命令来恢复剩余推送通知的递送。

在另一示例实现中,用户可从华盛顿特区前往加州旧金山旅行。一旦用户到达旧金山机场,事件管理器308就可标识与新的和预定的位置相关联的触发事件。此外,基于该触发事件,推送通知管理器312可生成并向用户提供以下推送通知中的一个或多个:

·当前时间、日期和位置;

·最早排程的事件、会议或差事的摘要;

·到与最早排程的事件、会议或要做的差事相关联的位置的方向或导航数据的简要摘要;

·本地天气报告;以及

·新收到和未读电子邮件的摘要或标题。

在又一示例实现中,事件管理器308可访问与社交网络相关联的web服务420(或者事件管理器308可接受来自该web服务420的通信),并且标识社交网络中的用户的同伴中的一个在给定日过生日。推送通知管理器312可向用户提供推送通知(提醒)。任选地,推送通知管理器312可针对用户提供建议关于所标识的触发事件的可能的用户-cis交互的对话推荐。例如,对话推荐可包括对呼叫同伴、书写即时消息或电子邮件、安排访问等的建议。

在又一示例实现中,事件管理器308可通过监测用户设备410是否在预定的无线网络内来标识用户的存在。一旦事件管理器308标识用户到达工作单位(例如,当与工作相关的无线网络被标识出时),推送通知管理器312就可提供给定日的差事或已排程的会议的列表。替代地,一旦标识出用户到家,推送通知管理器312就可提供电视(tv)指南或针对烹饪特定菜肴的推荐或与用户相关的其他信息。

在又一示例实施例中,推送通知可响应于诸如“给我看每日简报”或简单地“每日简报”之类的用户语音命令而被生成。或者,一旦用户激活用户设备410上的cis应用,推送通知就可被主动地生成。

计算环境的示例

图10示出了用于示例电子形式的计算机系统1000中的机器的计算设备的图形表示,在该计算机系统内可执行用于使得该机器执行本文所讨论的方法中的任何一个或多个方法的指令集。在各示例实施例中,该机器用作单独的设备或可被连接到(例如,联网到)其他设备。在联网部署中,该机器可在服务器-客户端网络环境中以服务器或客户端机器的能力操作,或者在对等(或分布式)网络环境中作为对等机操作。该机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、pda、蜂窝电话、便携式音乐播放器(例如,便携式硬盘驱动器音频设备、运动图像专家组音频层3(mp3)播放器)、游戏手柄、便携式游戏主机、车载计算机、智能家居计算机或能够执行指定要由该机器采取的动作的一组指令(顺序或其它)的任何机器。进一步,尽管仅示出了单个机器,单术语“机器”还可被认为包括任何机器的集合,其可独立地或结合地执行一组(或多组)指令来执行本文所讨论的方法中的任何一个或多个方法。

示例计算机系统1000包括一个处理器或多个处理器1005(例如,中央处理器单元(cpu)、图形处理单元(gpu)或两者)和主存储器1010以及静态存储器1015,它们经由总线1020彼此通信。计算机系统1000还可包括视频显示单元1025(例如,液晶显示器(lcd)或阴极射线管(crt))。计算机系统1000还包括至少一个输入设备1030,诸如字母数字输入设备(例如键盘)、光标控制设备(例如鼠标)、麦克风、数字相机、摄像机等。计算机系统1000还包括磁盘驱动单元1035、信号生成设备1040(例如扬声器)和网络接口设备1045。

磁盘驱动单元1035包括计算机可读介质1050,其储存体现本文所描述的任何一个或多个方法或功能或被本文所描述的任何一个或多个方法或功能利用的一组或多组指令和数据结构(例如,指令1055)。这些指令1055在由计算机系统1000对其进行执行期间还可完全地或至少部分地驻留在主存储器1005内和/或处理器1010内。主存储器1010和处理器1005也可构成机器可读介质。

指令1055还可使用多种公知的传输协议(例如,超文本传输协议(http),can,串行和modbus)中的任何一种经由网络接口设备1045在网络430上被发送或被接收。

尽管在示例实施例中计算机可读介质1050被示为是单个介质,但术语“计算机可读介质”应当被认为包括单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器),该单个介质或多个介质储存一个或多个指令集。术语“计算机可读介质”也应当被认为包括能够储存、编码或携带供该机器执行的指令集并促使该机器执行本申请的方法中的任何一者或多者,或能够储存、编码或携带被这样的指令集利用或与这样的指令集相关联的数据结构的任何介质。据此,术语“计算机可读介质”应当被认为包括但不限于固态存储器、光学和磁介质。这样的介质还可包括但不限于硬盘、软盘、闪存卡、数字视频盘(dvd)、随机存取存储器(ram)、只读存储器(rom)等。

本文描述的示例实施例可被实现在包括计算机上安装的计算机可执行指令(例如软件)的操作环境中、硬件中、或软件和硬件的组合中。计算机可执行指令可用计算机编程语言来编写,或可以用固件逻辑来具体化。如果是用符合公认准则的编程语言来编写的,则这样的指令可在各种硬件平台上并针对各种操作系统的接口来执行。虽然不限于此,但用于实现本发明方法的计算机软件程序可用任何数目的合适编程语言来编写,诸如例如,超文本标记语言(html)、动态html、可扩展标记语言(xml)、可扩展样式表语言(xsl)、文档样式语义和规范语言(dsssl)、层级样式表(css)、同步多媒体集成语义(smil)、无线标记语言(wml)、javatm、jinitm、c、c++、perl、unixshell、visualbasic或visualbasic脚本、虚拟现实标记语言(vrml)、coldfusiontm或其他编译器、汇编器、解释器或其他计算机语言或平台。

结语

因此,公开了用于在cis中主动地递送推送通知的方法和系统。虽然已参考特定示例实施例描述了各实施例,但是显然,在不脱离本申请的更宽的精神和范围的情况下,可对这些示例实施例进行各种修改和改变。因此,说明书和附图被认为是说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1