本发明利用自然语言理解(NLU)运行时组件,以向诸如通过文 本交换接口键入的文本的任意形式输入应用上下文。NLU运行时组件 使用应用专用统计模型。可将这些模型称为动作分类器模
块(ACM)。 这些ACM将来自用户的自然语言
请求映射到多个可能的路由目标之 一。如传统上所使用的,ACM使交互会话转向受指引的对话形式, 和/或使呼叫者被路由到专
门处理用户正经历的一类问题的人工代理。 例如,ACM的传统用法可以响应于来自用户的与
电子器件相关的任 意形式输入而自动地将呼叫指引到电子器件部门。
本发明以新颖的方式使用ACM,以向与综合服务应用的文本交 换交互应用上下文。代替使用NLU统计模型(从句子列表中构建) 以路由呼叫,NLU统计模型可用于发现在数据存储中的哪些字段与文 本交换输入相关联。继而,基于文本交换内容更新这些字段的值。与 诸如Web浏览器客户端和/或语音客户端的其他客户端相关联的监听 器能检测该值的更新,并能触发客户端专用更新事件。例如,链接到 该字段的Web浏览器的GUI元件可基于该文本交换输入而动态地更 新。
可以根据同此处所展现的材料相一致的多个方面而实现本发明。 例如,本发明的一个方面可包括用于处理在综合服务环境中的文本交 换输入的方法。该方法可包括向ACM引擎传送文本交换输入的步骤。 ACM引擎能够将该文本交换输入映射到与组件服务应用的具体字段 相关联的字段和变量值。可使用该映射结果更新综合服务环境的存储 器。具体地,可以更新变量值,这些变量值存储在用于组件服务应用 会话的存储器中,向该组件服务应用提供文本交换输入。
本发明的另一个方面可包括用于处理在综合服务环境中的文本 交换输入的方法。在该方法中,可接收用户提供的文本交换输入。可 将文本交换输入传送到聊天
机器人(Chatbot)
软件对象。继而,可以 通过NLU运行时组件加工该文本交换输入,以识别该文本交换输入 与之相关联的应用专用字段。
聊天机器人软件对象能够向综合服务环 境的模型
服务器发送上下文应用的消息。上下文应用的消息可包括标 识字段和相关值数据,该标识字段和相关值数字包含于该文本交换输 入中。当收到上下文应用的消息时,该模型服务器能够更新共享数据。
本发明的又一方面可包括组件服务系统,其包括数据存储区和 ACM引擎。该数据存储区可包括用于综合服务应用的交互会话的数 据字段和值。参与交互会话的综合服务应用的客户端可以利用该数据 存储区以基于键入到客户端的输入而更新该值。客户端也可以从数据 字段和值获得信息,用于向用户展现。ACM可以实时地将任意形式 的文本输入映射到用于该综合服务应用的交互会话的数据字段和值, 其向用户提供的任意形式输入应用应用专用上下文。
应该注意,可将本发明的多个方面实现为用于控制计算设备实现 这里所描述的功能的程序,或者用于使计算设备执行对应于这里所公 开的步骤的处理的程序。可通过在磁盘、光盘、
半导体存储器或任何 其他记录介质中存储程序来提供该程序。也可作为经由载波传送的数 字编码
信号而提供该程序。所描述的程序可以是单一程序,或可以实 现为多个子程序,每个程序在单一的计算装置内进行交互,或以分布 的样式跨过网络空间而进行交互。
也应该注意,这里详述的方法也可以是至少部分地响应于服务请 求由服务代理和/或被服务代理所操纵的机器而执行的方法。
附图说明
附图中示出了当前优选的实施方式,然而应该理解,本发明并不 限于所示出的确切布置和手段。
图1是根据本文公开的本发明的布置的实施方式的用于以一种方 式与综合服务环境进行交互的系统的示意图,在该方式中,将应用专 用上下文应用到文本交换输入。
图2是根据本文公开的本发明的布置的实施方式的组件服务环境 的示意性图示,该组件服务环境使用聊天机器人对象以向文本交换交 互添加上下文。
图3是根据本文公开的本发明的布置的实施方式的用于使用聊天 机器人以转换与整合服务应用的具体字段相关联的文本交换输入值 的方法的
流程图。
图1是根据本文公开的本发明的布置的实施方式的用于以一种方 式与综合服务环境150进行交互的系统100的示意图,在该方式中, 将应用专用上下文应用到文本交换输入。在系统100中,使用聊天机 器人对象130以将应用上下文应用于任意形式输入。即,聊天机器人 130确定任意形式输入与之相关的综合服务应用154的字段。更具体 地,自然语言理解(NLU)运行时组件140可以使用统计语言模型, 以确定来自任意形式输入的可应用字段。当作出此确定之后,聊天机 器人130可向应用154发送信息更新消息,其被用于更新在表158中 的信息。可将对表158的更新传送到
访问综合服务应用154的其他客 户端112-114。
为了阐明,用户可向文本交换接口120键入文本输入,诸如“97 本田车太热了;-(,什么东西坏了,你能修好它吗?”聊天机器人对象 130可以通过NLU运行时组件140运行此输入,其可以特别地利用动 作分类器模块(ACM)引擎142。NLU组件140可以首先确定该输入 与“
汽车修理”相关,其具有专用应用模型(存储于数据存储144中)。 此模型可以与表158相关联,表158包括多个诸如客户(customer)、 制造(make)和型号(model)的模型字段和值。NLU组件140可将 输入与这些字段匹配。例如,可将本田映射到make字段。数据存储 156的表158的其他字段可以包括可以映射到1997的年份(CarYear)、 CarPart、CarPartStatus、CarVIN、CarOwner等。在执行了这些匹配之 后,可更新表158的适当值。其他接口122-124可利用此更新的表158 的信息。例如,绑定到表158的字段的接口124的图形用户接口(GUI) 元件可被更新。
在系统100中,诸如文本交换装置110、通信装置112和Web装 置114的不同类型装置可各经由恰当接口(例如,文本交换接口120、 语音接口122和Web接口124)访问由包含于环境150内的应用服务 器152执行的综合服务应用154。
文本交换接口120可以包括能够实时交换文本的任何接口,诸如 聊天接口、实时消息传递接口和文本消息传递接口。语音接口112可 以是配置用于实时语音通信的任何接口,诸如移动电话接口、桌面计 算机的
通信接口、网际协议语音(VoIP)接口等。Web接口120可以 是能够呈现标记或基于Web的内容的任何接口。例如,Web接口120 可以是Web浏览器。
NLU运行时组件140可使用将自然语言请求(即,任意形式的输 入)映射到多个可能的路由目标之一的统计模型。在一个实施方式中, 可以特别地将统计模型设计为处理诸如
表情符号和聊天俚语的文本 接口输入。系统100的路由目标是表158的字段。聊天机器人对象130 可以是包含被设计为使任意形式数据与具
体模型条目(例如,表158 的字段和字段值)相关的程序逻辑的软件对象。
在系统100中示出的多种通信地链接的组件110、112、114、130、 140、144、152和156可经由一个或多个网络(未示出)而连接。网 络可包括传送在载波上编码的数字内容所必需的任何
硬件/软件和固 件。内容可包含在
模拟信号或
数字信号内,并通过数据或语音信道传 送。网络可包括在计算装置组件之间以及在集成装置组件和外围装置 之间交换通信所必需的本地组件和数据通路。网络也可以包括网络设 备,诸如路由器、数据线、集线器和中间服务器,它们一并形成基于 分组的网络,诸如因特网或内部网。网络可以进一步包括基于
电路的 通信组件和移动通信组件,诸如电话交换机、
调制解调器、蜂窝通信 塔等。网络可包括基于有线和/或无线的通信通路。
各数据存储144和158可以是配置用于存储数字内容的物理或虚 拟存储空间。数据存储144和/或数据存储158可以在任何类型的硬件 内物理地实现,该硬件包括但不限于磁盘、光盘、半导体存储器、数 字编码的塑性存储器、全息存储器或任何其他记录介质。而且,各数 据存储144和158可以是独立的存储单元,以及由多个物理装置形成 的存储单元。此外,可在数据存储144和158内以多种方式存储内容。 例如,可以在关系型
数据库结构内存储内容,或可在文件存储系统的 一个或多个文件内存储,其中可为
信息检索的目的而索引或不索引各 文件。而且,数据存储144和158能够利用一种或多种加密机制以保 护所存储内容免遭未授权访问。
应该意识到,系统100的该特定布置仅出于示出的目的,并且, 不应将本发明解释为限制于本文所表达的确切布置。例如,系统100 示出了聊天机器人对象130在综合服务环境150的外部,并且示出了 NLU运行时组件140在环境150内部。在一个预期的实施方式中(其 在图2中图形地示出),聊天机器人对象130可以是环境150的组件。 在另一个实施方式中,可将NLU组件140实现在环境150外部,而 依然以一种方式加以实现,使得能够诸如通过API接口共享关于应用 154的应用上下文信息。
图2是根据本文公开的本发明的布置的实施方式的组件服务环境 200的示意性图示,该组件服务环境使用聊天机器人对象270以向文 本交换交互添加上下文。环境200是用于环境150的一种预期的实施 方式。在综合服务环境200中,可建立对服务访问的不同信道,以通 过包括语音和视觉(例如,Web和/或文本交换)模式的对应的不同 访问形态而访问服务。通过使用不同通信信道的不同客户端可并发地 访问服务。此外,可通过聊天机器人对象270路由任意形式输入(即, 文本交换输入),聊天机器人对象270使用NLU组件272将输入映 射到用于合适的应用上下文的应用专用字段。
特别地,可跨过所选择的多个不同通信信道而提供在通信会话内 的与服务的交互,各信道对应于访问服务的不同形态。在语音形态和 视觉形态的情况下,可在每个所选择的信道中根据用于该信道的特定 形态而利用单独的标记文档。
重要地,可将在会话内被利用以访问服务的各信道与在相同会话 内访问服务的每个其他信道相互关联。结果,可不考虑用于改变服务 的状态的信道,而维护用模型-视图-
控制器架构存储于模型内的服务 的状态。而且,可在用于所选择的多个不同信道的每个视图中同步对 服务的展现。同样地,终端用户可以在单一会话内跨不同的访问信道 使用不同访问形态与服务进行交互,而无需在客户端计算装置内部署 的繁重的私有逻辑。
如所示,综合服务可操作于
应用服务器275中,并可以包括多个 信道
小应用程序(servlet)235,其被配置为加工与对应的会话225 的通信交互,会话225用于在通信网络中不同端点类型260A、260B、 260C的不同访问信道245、250、255上的综合多媒体服务。在这一 点上,信道小应用程序235能够作为语音支持器和语音服务器向利用 在HTTP上的实时协议(RTP)合并了语音接口的可视端点260A,或 者向利用会话发起协议(SIP)的语音端点260B,加工语音交互。类 似地,信道小应用程序235能作为Web应用向可视端点加工视觉交 互。还有另一个例子,信道小应用程序235可作为实时消息传递服务 器向实时消息传递端点260C加工实时消息交互。
更特别地,可支持信道小应用程序235以便为综合多媒体服务器 加工用于与对应的会话225交互的HTTP请求。HTTP请求可从面向 可视模式的Web页面经由可视信道245,从面向可视模式的文本交换 接口经由文本交换信道255,乃至以语音模式经过由SIP所支持的语 音信道250,而发起。当经由信道255发生交互,如在系统100中详 述的,聊天机器人对象270可使用NLU组件272提供上下文。可支 持信道小应用程序235以加工SIP请求,用于通过语音支持器为综合 多媒体服务而与对应的会话225交互,语音支持器可包括适当的语音 标记,诸如耦合到SIP小应用程序(SIPlet)的VoiceXML以及呼叫 控制可扩展
标记语言(CCXML),如本领域所知的,其组合起来可 以为综合多媒体服务有效地加工用于对应的会话225的语音交互。
可将每个信道小应用程序235耦合到模型小应用程序220。模型 小应用程序220可以作为引起与模型210的交互的媒介,用于会话225 的相关联的一个。可在会话管理器220内管理每个会话225,会话管 理器220能够使通过信道小应用程序235建立的不同的通信信道与会 话225的单一的相应的一个相关联。可通过使用耦合的
位置寄存器 230而促进不同通信信道的关联。位置寄存器230可以包括指出系统 的主机名和用于会话225的对应的一个的活动的信道的表。
模型小应用程序220可包括支持为综合多媒体服务访问用于对应 的会话225的模型210的程序代码,其通过不同的端点260A、260B、 260C提供不同的访问信道245、250、255。例如,可将模型210封装 在豆(bean)容器内的实体豆内。而且,模型210可以存储用于会话 225的相对应的一个的会话数据,而无论通过访问信道245、250、255 的哪个而创建、移除或调整该用于会话225的相对应的一个的会话数 据。
显著地,用于综合多媒体服务的每个会话225的状态的改变可跨 过用于不同的访问信道245、250、255的不同的视图260而通过监听 器架构被同步。监听器架构可包括用于每个模型210的一个或多个监 听器240。每个监听器可对应于不同的访问信道245、250、255,并 可为模型210检测状态的变化。响应于检测到在用于综合多媒体服务 的会话225的对应的一个的模型210的状态的变化,监听器240可以 通过信道小应用程序235的对应的一个向订阅视图260提供通知,以 便允许订阅视图260刷新以合并该检测到的模型210的状态的变化。
图3是根据此处所公开的本发明的布置的实施方式的用于使用聊 天机器人以转换与整合服务应用的具体字段相关联的文本交换输入 值的方法300的流程图。可在系统100或提供整合服务的任何系统的 上下文中执行该方法300。
该方法可以开始于步骤305,其中,用户可以向文本交换客户端 键入文本。在步骤310,聊天机器人对象能够接收该文本,并将其发 送到NLU运行时组件320用于加工。特别地,可将该文本输入同在 统计语言模型322中的项目相匹配,统计语言模型322可包括应用专 用语法,以及文本交换语言专用语法。聊天机器人对象可接收来自 NLU运行时组件320的结果,NLU运行时组件320将文本交换输入 映射到应用专用字段/变量和值。在步骤330,聊天机器人可以向综合 模型服务器发送消息,以基于匹配的输入而更新字段的值。在步骤 335,Web浏览器形态可看到字段更新,在更新发生后,字段更新自 动地展现(即,在浏览器刷新事件之后)。
为用具体例子示出方法300,用户可以向聊天接口输入“87本田 车
空调坏了”(步骤305)。聊天机器人对象可接收该文本(步骤310), 并可以通过汽车服务NLU运行时组件(320)运行该本文,该汽车服 务NLU运行时组件(320)使用应用专用统计模型(322)。该加工 的输出可以是用于汽车服务应用的一组字段和值(步骤325)(例如, CarYear=87;CarMake=本田;CarPart=空调;CarPartStatus=坏了)。聊 天机器人服务器可向模型服务器发送(步骤330)消息以更新输出字 段(即,更新用于CarYear,CarMake,CarPart和CarPartStatus的字段/ 值)。其他监听模型服务器更新的形态能接收用于这些字段的新的值 并能更新他们的视图。例如,可自动地更新用于CarYear,CarMake, CarPart和CarPartStatus的Web浏览器的GUI字段(步骤335),其 向用户提供更新的信息。
本发明可用硬件、软件或硬件和软件的组合实现。可在一个计算 机系统中用集中样式或以分布的样式实现本发明,在分布的样式中, 不同的元件跨过若干互连的
计算机系统而展开。任何类型的计算机系 统,或其他适合于实现此处所描述的方法的设备是适用的。硬件和软 件的典型组合可以是具有
计算机程序的通用计算机系统,当被加载和 执行时,该程序控制计算机系统,使得其实现此处所描述的方法。
也可将本发明嵌入到计算机程序产品中,其包括支持此处所描述 的方法实施的所有特征,并且,当被加载到计算机系统中时,其能够 实现这些方法。在本发明上下文中的计算机程序的含义是以指令集的 任何语言、代码或符号的任何表达,其意在引起具有信息处理能
力的 系统直接地或者在下面的任意一个或者两个之后执行特定功能:a) 转换到另一种语言、代码或符号;b)以不同的材料形式再现。
本发明可用其他形式实施而不脱离本发明的精神或本质属性。因 而,当指出本发明的范围时,应当参照下文的
权利要求,而非参照前 述
说明书。