用于人工智能驱动的自动伴侣的系统和方法与流程
相关申请的交叉引用
本申请要求2017年12月29日提交的美国临时申请62/612,145的优先权,其内容全文并入此处作为参考。
本申请与2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502424)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461769)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502426)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461770)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502427)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461772)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502428)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461773)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502429)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461774)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502430)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461776)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502431)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461777)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502432)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502547)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461815)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502549)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461817)、2018年12月27日提交的美国专利申请_________(代理人案卷号047437-0502551)、2018年12月27日提交的国际申请_________(代理人案卷号047437-0461818)有关,其全部内容并入此处作为参考。
本示教一般涉及计算机。具体而言,本示教涉及计算机化的智能代理(intelligentagent)。
背景技术:
由于互联网连接无处不在,带来人工智能技术的进步和基于互联网的通信的蓬勃发展,因此,计算机辅助的对话系统日渐普及。例如,越来越多的呼叫中心配备自动对话机器人来处理用户呼叫。酒店开始安装多种能够回答旅客或客人问题的售货亭。在线预订(无论是旅游住宿还是剧场票务等)也越来越频繁地用聊天机器人完成。近些年来,其他领域的自动人机通信也越来越普遍。
基于不同领域中公知的会话模式,这样的传统计算机辅助对话系统通常用特定的问题和回答预先编程。不巧的是,人类会话者可能无法预测,有时不会遵从预先计划的对话模式。另外,在某些情况下,人类会话者可能在该过程中离题,继续固定的对话模式可能令人厌烦或失去兴趣。当这种情况发生时,这种机器传统对话系统常常不能继续吸引人类会话者参与,故使人机对话或者中辍、将任务交给人类操作员,或者,人类会话者直接离开对话,这一点是不希望看到的。
另外,传统的基于机器的对话系统常常并非设计为处理人的情绪因素,更不用提在与人类交谈时将如何处理这种情绪因素考虑在内。例如,传统的机器对话系统常常不会发起会话,除非人启动系统或问某些问题。即使传统对话系统不发起会话,它具有开始会话的固定方式,并不会因人而异或是基于观察进行调整。因此,尽管它们被编程为忠实遵循预先设计的对话模式,它们通常不能就会话的动态发展做出行动以及进行自适应,以便使会话以能吸引人参与的方式进行。在许多情况下,当设入对话的人明显心烦或感到灰心时,传统的机器对话系统浑然不觉,还以使那人心烦的同种方式继续会话。这不仅使得会话不愉快地结束(机器对此还是不知情),而且使那人在将来不愿意与任何基于机器的对话系统会话。
在某些应用中,为了判断如何有效进行,基于从人观察到的内容进行人机对话线程是至为重要的。一个例子是教育相关的对话。当聊天机器人用于教孩子阅读时,必须监视孩子是否以正被施教的方式具有感知力,并持续处理以便有效进行。传统对话系统的另一限制是它们对背景的毫无意识。例如,传统的对话系统不具有这样的能力:观察会话的背景并即兴产生对话策略,从而吸引用户参与,并改善用户体验。
因此,存在对解决这些限制的方法和系统的需求。
技术实现要素:
这里公开的示教涉及用于计算机化智能代理的方法、系统和程序设计。
在一实例中,公开了一种在机器上实现的用于自动对话伴侣的方法,该机器具有至少一个处理器、存储器和能够连接到网络的通信平台。首先,接收与在对话场景中参与特定话题的对话的用户相关联的多模态输入数据,并将之用于提取表征用户状态以及与对话场景相关联的相关信息的特征。基于用户状态以及与对话场景相关联的相关信息,生成描绘对话背景的当前对话状态。基于与特定话题的对话对应的对话树、当前对话状态以及基于历史对话数据和当前对话状态习得的效用(utilities),确定对于用户的响应讯息(responsecommunication)。
在一不同的实例中,公开了一种用于自动对话伴侣的系统,其包含一装置、用户交互引擎、对话管理器。该装置被配置为,接收与在对话场景中参与特定话题的对话的用户相关联的多模态输入数据,其中,多模态输入数据捕获来自用户的讯息(communication)以及对话场景周边的信息。用户交互引擎被配置为,对多模态输入数据进行分析,以提取表征用户状态以及与对话场景相关联的相关信息的特征,并基于用户状态以及与对话场景相关联的相关信息,生成当前对话状态,其中,当前对话状态描绘对话的背景。对话管理器被配置为,基于与特定话题的对话对应的对话树、当前对话状态以及基于历史对话数据和当前对话状态习得的效用,确定将要响应于讯息而传送到用户的响应讯息。
其他的概念涉及实现本示教的软件。根据此概念的软件产品包含至少一个机器可读的非暂时性介质以及由该介质承载的信息。由该介质承载的信息可以是可执行程序代码数据、与可执行程序代码相关联的参数和/或与用户、请求、内容或其它附加信息有关的信息。
在一实例中,机器可读的非暂时性有形介质上记录有用于自动对话伴侣的数据,其中,该介质一旦由机器读取,使得机器执行一系列的步骤。首先,接收与在对话场景中参与特定话题的对话的用户相关联的多模态输入数据,并将之用于提取表征用户状态以及与对话场景相关联的相关信息的特征。基于用户状态以及与对话场景相关联的相关信息,生成描绘对话背景的当前对话状态。基于与特定话题的对话对应的对话树、当前对话状态以及基于历史对话数据和当前对话状态习得的效用,确定对于用户的响应讯息。
其他的优点和新特征将部分在下面的说明书中给出,部分将由本领域技术人员在检视下面的说明书和附图时明了或通过制造或运行实例来习得。本示教的优点可通过实践和应用下面讨论的详细实例中给出的方法、设备以及组合的多种实施形态来实现和获得。
附图说明
这里介绍的方法、系统和/或程序设计进一步以示例性实施例的方式描述。这些示例性实施例参照附图详细介绍。这些实施例是非限制性的示例性实施例,其中,贯穿几幅附图,类似的参考标号代表类似的结构,其中:
图1示出了根据本示教一实施例,用于促进在操作用户装置的用户和代理装置之间的对话的联网环境连同用户交互引擎;
图2a-2b示出了根据本示教一实施例,对话过程中在用户装置、代理装置和用户交互引擎之间的连接;
图3a示出了根据本示教一实施例,具有示例性类型的代理身体的代理装置的示例性结构;
图3b示出了根据本示教一实施例的示例性代理装置;
图4a示出了根据本示教多种实施例,用于自动伴侣的整体系统的示例性高层次系统图;
图4b示出了根据本示教一实施例,具有基于在自动伴侣和用户之间的交互而采取的路径的正在进行的对话的对话树的一部分;
图4c示出了根据本示教一实施例,由自动伴侣进行的示例性人-代理装置交互和示例性处理;
图5示出了根据本示教一实施例,自动对话伴侣的不同处理层之间的示例性多层处理和通信;
图6示出了根据本示教一实施例,用于基于人工智能的教育型伴侣的的示例性高层次系统框架;
图7示出了根据本示教一实施例,自动对话伴侣的示例性高层次系统图;
图8a-8c提供了与教育型对话有关的示例性空间、时间、和/或因果图;
图9a提供了与辅导项目(tutoringprogram)有关的示例图;
图9b提供了与所谓通信交互对话有关的示例图;
图10为根据本示教一实施例的自动对话伴侣的示例性过程的流程图;
图11示出了根据本示教一实施例,代表与乐高教育项目有关的偏好的示例性效用函数;
图12示出了根据本示教一实施例,基于过往历史和前瞻性最优化决定代理响应的示例性模式;
图13示出了根据本示教一实施例,在对话过程中的模式切换的概念;
图14为根据多种实施例,可用于实现本示教的特定系统的示例性移动装置架构的示意图;
图15为根据多种实施例,可用于实现本示教的特定系统的示例性计算装置架构的示意图。
具体实施方式
在下面的具体介绍中,通过举例的方式,给出了多种具体细节,以便提供对相关示教的详尽理解。然而,本领域技术人员应当明了,本示教可以在没有这些细节的情况下实现。在其他的实例中,公知的方法、过程、部件和/或电路以相对较高的层次介绍而没有细节,从而避免不必要地模糊本示教的实施形态。
本示教目标在于解决传统的人机对话系统的缺陷,并提供使得更为有效和真实的人机对话成为可能的方法和系统。本示教将人工智能并入具有代理装置以及来自用户交互引擎的支柱支持的自动伴侣,使得自动伴侣能基于连续监视的指示对话周边情况的多模态数据进行对话,自适应地推定对话参加者的心态/情绪/意图,并基于动态变化的信息/推定/背景信息来自适应地调节对话策略。
根据本示教的自动伴侣能够通过以下方式对对话进行个性化:在多个方面进行自适应,包括但不限于,会话的主题、用于实现会话的硬件/部件以及用于将响应传送人类会话者的表情/行为/手势。通过基于对人类会话者对对话的接受程度的观察来灵活地改变对话策略,自适应控制策略将使对话更为真实且更具创造性。根据本示教的对话系统能被配置为实现目标驱动的策略,包括动态配置被认为实现预期目标最为合适的硬件/软件部件。这样的最优化基于学习进行,包括从先前的会话进行学习,以及通过在关于某些预期目标的会话过程中连续评估人类会话者的行为/反应,从正在进行的会话进行学习。可以确定为实现目标驱动的策略而运用的路径,以便将人类会话者保持为参与对话,即使在某些实例中,某些时刻的路径可能看起偏离预期目标。
具体而言,本示教公开了用户交互引擎,其提供了对代理装置的支柱支持,以促进与人类会话者的更为真实且参与度更高的对话。图1示出了根据本示教一实施例,用于促进在操作用户装置的用户和代理装置之间的对话的联网环境100连同用户交互引擎。在图1中,示例性联网环境100包含:一个以上的用户装置110,例如用户装置110-a、110-b、110-c和110-d;一个以上的代理装置160,例如代理装置160-a、……、160-b;用户交互引擎140;以及,用户信息数据库130,其中的每一个可以经由网络120彼此通信。在某些实施例中,网络120可以对应于一个网络或者不同网络的组合。例如,网络120可以是局域网(“lan”)、广域网(“wan”)、公有网络、专有网络、公共电话交换网络(“pstn”)、互联网、内联网、蓝牙网络、无线网络、虚拟网络和/或其任何组合。在一实施例中,网络120也可包括多种网络接入点。例如,环境100可包括有线或无线接入点,例如但不限于基站或互联网交换点120-a、……、120-b。例如,基站120-a和120-b可以促进,在不同类型的网络上,到/来自用户装置110和/或代理装置160与联网框架100中一个以上的其他部件的通信。
用户装置(例如110-a)可以具有不同的类型,以促进操作用户装置的用户连接到网络120以及发送/接收信号。这样的用户装置110可以对应于任何合适类型的电子/计算装置,包括但不限于移动装置(110-a)、并入运输工具(110-b)的装置、……、移动计算机(110-c)或固定装置/计算机(110-d)。移动装置可包括但不限于移动电话、智能电话、个人显示装置、个人数字助理(pda)、游戏机/装置、可穿戴装置(例如手表,fitbit,别针/胸针、耳机等等)。包含一装置的运输工具可包括汽车、卡车、摩托车、客船、轮船、火车或飞机。移动计算机可包括笔记本电脑、超级本、手持式装置等。固定装置/计算机可包括电视机、机顶盒、智能手持装置(例如冰箱、微波炉、洗衣机或干衣机、电子助理等)和/或智能附件(例如灯泡、电灯开关、电子相框等)。
代理装置(例如160-a、……、160-b中的任何一个)可对应于不同类型的这样的装置中的一个:该装置可与用户装置和/或用户交互引擎140通信。如下面更为详细地介绍的,每个代理装置可以看作自动伴侣装置,其在例如来自用户交互引擎140的支持下与用户接口。这里介绍的代理装置可对应于机器人,其可以为游戏装置、玩具装置、指定的代理装置,例如旅游代理或天气代理,等等。这里公开的代理装置能够以促进和/或辅助与操作用户装置的用户的交互。在这样做时,代理装置可被配置为机器人,其能够经由来自用户交互引擎140的后端支持控制其某些部分,例如,做出某些物理移动(例如头部)、表现出某些面部表情(例如笑弯眼睛)或以某种嗓音或音调(例如兴奋的音调)说话以表现某种情绪。
当用户装置(例如用户装置110-a)连接到代理装置(例如160-a)时(例如经由接触式或非接触式连接),运行在用户装置上的客户端(例如110-a)可以与自动伴侣(代理装置或是用户交互引擎或者二者)通信,以便使得操作用户装置的用户和代理装置之间的交互式对话成为可能。客户端可以在某些任务中独立动作,或者可以由代理装置或用户交互引擎140远程控制。例如,为了响应来自用户的问题,代理装置或用户交互引擎140可控制在用户装置上运行的客户端,以便将响应的语音呈现给用户。在会话过程中,代理装置可包含一个以上的输入机制(例如照相机、麦克风、触摸屏、按键等),其允许代理装置捕获与用户或和对话相关联的本地环境有关的输入。这样的输入可以辅助自动伴侣建立对会话周围的氛围(例如,用户的运动,环境的声音)以及人类会话者的心态(例如,用户捡起球,这可能表示用户厌倦了)的理解,从而使得自动伴侣能够相应地做出反应,并以将会保持用户感兴趣和参与的方式进行会话。
在所示的实施例中,用户交互引擎140可以是后端服务器,其可以是集中的或分布的。它连接到代理装置和/或用户装置。其可被配置为,为代理装置160提供支柱支持,并引导代理装置以个性化和定制化的方式进行会话。在某些实施例中,用户交互引擎140可接收来自所连接装置(代理装置或用户装置)的信息,对这样的信息进行分析,并通过向代理装置和/或用户装置发送指示来控制会话流。在某些实施例中,用户交互引擎140也可直接与用户装置通信,例如,提供动态数据,例如用于在用户装置上运行的客户端的控制信号,以便呈现特定的响应。
一般而言,用户交互引擎140可控制用户和代理装置之间的会话流和状态。各个会话流可以基于与会话相关联的不同类型的信息受到控制,例如关于参与会话的用户的信息(例如,来自用户信息数据库130)、会话历史、与会话有关的信息、和/或实时用户反馈。在某些实施例中,用户交互引擎140可以被配置为获得多种传感输入,例如但不限于音频输入、图像输入、触觉输入和/或背景输入,对这些输入进行处理,构想出对人类会话者的理解,基于这样的理解相应地生成响应,并基于响应控制代理装置和/或用户装置以执行会话。作为示意性实例,用户交互引擎140可接收表征来自操作用户装置的用户的话语的音频数据,并生成响应(例如文字),该响应于是可以以计算机生成话语的形式作为对用户的响应而被传送给用户。作为另一实例,用户交互引擎140也可响应于话语生成一个以上的指示,该指示控制代理装置,以执行特定的动作或一组动作。
如所示出的,在人机对话过程中,用户(作为对话之中的人类会话者)可通过网络120与代理装置或者用户交互引擎140通信。这样的通信可涉及多个模态的数据,例如音频、视频、文字等。经由用户装置,用户可以发送数据(例如请求、代表用户话语的音频信号、或用户周围的场景的视频)和/或接收数据(例如来自代理装置的文本或音频响应)。在某些实施例中,多模态用户数据在被代理装置或用户交互引擎140接收时可被分析,以理解人类用户的语音或手势,使得用户的情绪或意图可被推定,并被用于确定对用户的响应。
图2a示出了根据本示教一实施例,在对话过程中,在用户装置110-a、代理装置160-a、用户交互引擎140之间的特定连接。如图所示,如这里所讨论的,任何两个参与者之间的连接可以都是双向的。代理装置160-a可以经由用户装置110-a与用户交互,以便以双向的方式进行对话。一方面,代理装置160-a可由用户交互引擎140控制,以便向操作用户装置110-a的用户说出响应。另一方面,来自用户现场(usersite)的输入,包括例如用户的话语或动作以及关于用户周边情况的信息,经由连接被提供给代理装置。代理装置160-a可以被配置为对这种输入进行处理,并动态调节其对用户的响应。例如,代理装置可在用户交互引擎140的指示下在用户装置上呈现树。知道用户的周边环境(基于来自用户装置的视觉信息)显示绿树和草地,代理装置可将将被呈现的树定制为繁盛的绿树。如果来自用户现场的场景显示现在是冬季,代理装置可进行控制,以便用没有叶子的树的参数在用户装置上呈现树。作为另一实例,如果代理装置被指示为在用户装置上呈现鸭子,代理装置可从用户信息数据库130检索关于色彩偏好的信息,并在向用户装置发送用于呈现的指示之前生成用于以用户偏好的颜色对鸭子进行定制的参数。
在某些实施例中,来自用户现场的这类输入及其处理结果也可被发送到用户交互引擎140,用于促进用户交互引擎140更好地理解与对话相关联的特定情况,使得用户交互引擎140可确定对话的状态、用户的情绪/心态,并生成基于对话的特定情境以及对话的预期目的(例如用于教小孩英语词汇)的响应。例如,如果从用户装置接收的信息指示用户看起来厌倦且不耐烦,用户交互引擎140可以判断为将对话的状态改变为用户有兴趣的话题(例如,基于来自用户信息数据库130的信息),从而继续使用户参与会话。
在某些实施例中,在用户装置上运行的客户端可以被配置为,能够处理从用户现场获取的不同模态的原始输入,并将处理的信息(例如原始输入的相关特征)发送到代理装置或用户交互引擎,用于进一步的处理。这将减少在网络上传输的数据的量,并增强通信效率。类似地,在某些实施例中,代理装置也可以被配置为能够对来自用户装置的信息进行处理,并提取有用的信息,例如用于定制化目的。尽管用户交互引擎140可控制对话的状态和流动控制,使得用户交互引擎140轻量化改进了用户交互引擎140,使之更好扩大规模。
图2b示出了与图2a所示相同的设置,其具有用户装置110-a上的附加细节。如图所示,在用户和代理210之间的对话过程中,用户装置110-a可连续收集与用户及其周边情况有关的多模态传感器数据,该数据可被分析,以检测与对话有关的任何信息,并用于智能地以自适应方式控制对话。这可以进一步增强用户体验或参与度。图2b示出了示例性的传感器,例如视频传感器230、音频传感器240、……、或触觉传感器250。用户装置也可发送文字数据,作为多模态传感器数据的一部分。这些传感器一起提供对话周边的背景信息,并能由用户交互系统140用于理解情境,从而管理对话。在某些实施例中,多模态传感器数据可首先在用户装置上被处理,不同模态的重要特征可被提取,并被发送到用户交互系统140,使得对话能在具有对背景的理解的情况下受到控制。在某些实施例中,原始的多模态传感器数据可被直接发送到用户交互系统140,以便处理。
如图2a-2b所示,代理装置可对应于具有不同部件的机器人,包括其头部210和身体220。尽管如图2a-2b所示的代理装置看起来是人形机器人,其也可以用其他的形式构建,例如鸭子、熊、兔子等。图3a示出了根据本示教一实施例,具有示例性类型的代理身体的代理装置的示例性结构。如所呈现的,代理装置可包括头部和身体,头部附着到身体。在某些实施例中,代理装置的头部可具有另外的部分,例如,面部、鼻子和嘴,其中的一些可以被控制为,例如,做出移动或表情。在某些实施例中,代理装置的面部可以对应于能够呈现面部的显示屏,面部可以是人的或动物的。这样显示的面部也可被控制为表达情绪。
代理装置的身体部分也可对应于不同的形式,例如鸭子、熊、兔子等。代理装置的身体可以是静止的、可动的或半可动的。具有固定身体的代理装置可对应于能放置在例如桌子的表面上的装置,从而与坐在桌边的人类用户进行面对面的会话。具有可动身体的代理装置可以对应于能够在例如桌面或地板的表面上到处移动的装置。这样的可动的身体可包括能在运动学上被控制以进行物理移动的部件。例如,代理身体可包括脚,其可被控制为在需要时在空间中移动。在某些实施例中,代理装置的身体可以是半可动的,即,有些部分可动,有些不可动。例如,具有鸭子外表的代理装置的身体上的尾巴可以是可动的,但鸭子不能在空间中移动。熊形身体代理装置也可具有可动的手臂,但熊只能坐在表面上。
图3b示出了根据本示教一实施例的示例性代理装置或自动伴侣160-a。自动伴侣160-a是使用语音和/或面部表情或身体手势与人交互的装置。例如,自动伴侣160-a对应于具有不同部分的、电子操控(animatronic)的外围装置,包括头部310、眼部(照相机)320、具有激光器325和麦克风330的嘴部、扬声器340、具有伺服机构350的颈部、可用于无接触存在性检测360的一个以上的磁体或其它部件,以及对应于充电底座370的身体部分。在运行中,自动伴侣160-a可以连接到用户装置,其可包括经由网络连接的移动多功能装置(110-a)。一旦连接,自动伴侣160-a和用户装置经由例如语音、动作、手势和/或经由用激光指示器的点选彼此交互。
自动伴侣160-a的其他示例性功能可以包括响应于用户响应的反应式表达,例如,经由显示在例如作为自动伴侣面部的一部分上的屏幕上的交互式视频卡通角色(例如化身(avatar))。自动伴侣可使用照相机(320)来观察用户的存在性、面部表情、凝视方向、周边情况等。电子操控实施例可以通过将包含照相机(320)的头(310)朝向某方来“看”,使用其麦克风(340)来“听”,通过引导能够经由伺服机构(350)移动的头(310)的方向来“朝向”。在某些实施例中,代理装置的头也可由例如用户交互系统140或由用户装置(110-a)的客户端经由激光器(325)来远程控制。如图3b所示示例性自动伴侣160-a也可被控制为经由扬声器(330)来“说话”。
图4a示出了根据本示教多种实施例,用于自动伴侣的整体系统的示例性高层次系统图。在此所示实施例中,整体系统可包含驻留在用户装置、代理装置和用户交互引擎140中的部件/功能模块。这里所述的整体系统包含多个处理层和分级结构,它们一起执行智能方式的人机交互。在所示的实施例中有5个层,包括用于前端应用以及前端多模态数据处理的层1、用于对对话设置进行特征化的层2、对话管理模块所驻留的层3、用于不同参与者(人、代理、装置等)的推定心态的层4、用于所谓效用的层5。不同的层可对应于不同等级的处理,从层1上的原始数据采集和处理到层5上的改变对话参加者的效用的处理。
术语“效用”由此定义为基于与对话历史相关联的检测到的状态识别的参与者的偏好。效用可以与对话中的参与者相关联,无论该参与者是人、自动伴侣还是其他的智能装置。用于特定参与者的效用可表征世界的不同状态,无论是实物的、虚拟的还是甚至是精神的。例如,状态可以表征为对话沿着世界的复杂地图行进的特定路径。在不同的实例中,当前状态基于多个参与者之间的交互演化为下一状态。状态也可以是与参与者有关的,即,当不同参与者参加交互时,由这种交互带来的状态可能发生变化。与参与者相关联的效用可被组织为偏好的分级结构,且这样的偏好分级结构可基于在会话过程中做出的参与者选择以及表露出的喜好而随时间演化。这样的偏好(其可被表征为从不同选项中做出的有顺序的选择序列)被称为效用。本示教公开了这样的方法和系统:通过该方法和系统,智能自动伴侣能够通过与人类会话者的对话来学习用户的效用。
在支持自动伴侣的整体系统中,层1中的前端应用以及前端多模态数据处理可驻留在用户装置和/或代理装置中。例如,照相机、麦克风、键盘、显示器、呈现器、扬声器、聊天泡泡、用户接口元件可以是用户装置的部件或功能模块。例如,可能有在用户装置上运行的应用或客户端,其可包括图4a所示外部应用接口(api)之前的功能。在某些实施例中,超出外部api的功能可以被考虑为后端系统,或驻留在用户交互引擎140中。在用户装置上运行的应用可取得来自传感器或用户装置的电路的多模态数据(音频、图像、视频、文字),对多模态数据进行处理,以生成表征原始多模态数据的特征的文字或其他类型的信号(例如检测到的用户面孔、语音理解结果等对象),并发送到系统的层2。
在层1中,多模态数据可以经由例如为照相机的传感器、麦克风、键盘、显示器、扬声器、聊天泡泡、呈现器或其他用户接口元件来获取。可对这样的多模态数据进行分析,以推定或推断能用于推断较高层次的特点(例如表情、角色(character)、手势、情绪、动作、注意力、意图等)的多种特征。这样的高层次特点可由层2上的处理单元获得,接着,经由图4a所示的内部api,由更高层的部件用于在更高的概念层上例如智能推断或推定与对话有关的附加信息。例如,在层2上获得的所推定的对话参加者的情绪、注意力或其它特点可用于推定参加者的心态。在某些实施例中,这种心态也可在层4上基于附加的信息来推定,例如,记录的周边环境或这种周边环境中的其他附加信息,例如声音。
推定的参与者的心态,无论是与人还是自动伴侣(机器)有关,可被层3的对话管理依赖,以便确定,例如,如何进行与人类会话者的会话。每个对话如何逐步发展常常表征了人类用户的偏好。这样的偏好可以动态地在对话过程中在效用层(即层5)上捕获。如图4a所示,层5上的效用表征演化的状态,这种状态表示参与者的演化的偏好,它们也可由层3上的对话管理用于决定进行交互的合适或智能的方式。
不同层之间的信息共享可以经由api实现。在图4a中所示的某些实施例中,层1和其他层之间的信息分享经由外部api,而层2-5之间的信息分享经由内部api。能够明了,这仅仅是一种设计上的选择,其他的实现方式也可以实现这里给出的示教。在某些实施例中,通过内部api,多种层(2-5)可访问在其他层上产生或存储的信息,以支持处理。这样的信息可包括应用到对话的通用配置(例如代理装置的角色是化身、优选的嗓音或将为对话产生的虚拟环境,等等)、对话的当前状态、当前对话历史、已知的用户偏好、推定的用户意图/情绪/心态等等。在某些实施例中,可从外部数据库访问能经由内部api分享的某些信息。例如,可从例如开源数据库访问与代理装置的希望的角色(例如鸭子)有关的特定配置,其提供参数(例如,视觉上呈现鸭子的参数,和/或呈现来自鸭子的语音需要的参数)。
图4b示出了根据本示教的实施例,基于自动伴侣和用户之间的交互取得的路径的正在进行对话的对话树的一部分。在此所示实例中,(自动伴侣的)层3中的对话管理可预测多种路径,与用户的对话(或一般地,交互)可用该路径进行。在此实例中,各个节点可代表对话的当前状态点,且节点的各个分支可代表来自用户的可能的响应。如此实例所示,在节点1上,自动伴侣可以具有三种分立的路径,其可取决于从用户检测到的响应来取得。如果用户用肯定性的响应来回应,对话树400可从节点1进行到节点2。在节点2上,响应于来自用户的肯定性响应,可以为自动伴侣生成响应,于是,其可被呈现给用户,可包括音频、视觉、文字、触觉或其任何组合。
在节点1上,如果用户负面地响应,用于此阶段的路径是从节点1到节点10。如果用户在节点1上用“一般”响应来回应(例如,不是负面的,也不是正面的),对话树400可进行到节点3,在节点3上,来自自动伴侣的响应可被呈现,可存在来自用户的三种分立的可能响应,“无响应”、“正面响应”、“负面响应”,分别对应于节点5、6、7。取决于关于在节点3上呈现的自动伴侣响应的、用户的实际响应,层3上的对话管理于是可相应地遵循对话。例如,如果用户在节点3上用正面响应来回应,自动伴侣移动到在节点6上回应用户。类似地,取决于用户对自动伴侣在节点6上的响应的反应,用户可进一步用正确的回答来响应。在这种情况下,对话状态从节点6移动到节点8等等。在此所示的实例中,这一阶段期间的对话状态从节点1移动到节点3、到节点6、并到节点8。节点1、3、6、8的遍历构成与自动伴侣和用户之间的底层会话一致的路径。如图4b所示,代表该对话的路径由连接节点1、3、6、8的实线表示,而在该对话过程中跳过的路径用虚线表示。
图4c示出了根据本示教一实施例,由自动伴侣执行的示例性人-代理装置交互和示例性处理。如图4c所示,可以进行不同层上的操作,且他们一起以协作的方式促成智能对话。在所示的实例中,代理装置可首先在402处询问用户“你今天好吗?”,以发起对话。响应于402处的话语,用户可以在404处用话语“好”来回应。为了管理对话,自动伴侣可以在对话过程中致动不同的传感器,以便做出对用户以及周边环境的观察。例如,代理装置可获取关于用户所处周边环境的多模态数据。这样的多模态数据可包括音频、视觉或文字数据。例如,视觉数据可捕获用户的面部表情。视觉数据也可揭示对话场景周围的背景信息。例如,场景的图像可揭示存在篮球、桌子和椅子,这提供了关于环境的信息,并可在对话管理中被利用,以便增强用户的参与度。音频数据可不仅捕获用户的语音响应,还捕获其他的周边信息,例如响应的音调、用户说出回应的方式或者用户的口音。
基于所获取的多模态数据,分析可以由自动伴侣(例如由前端用户装置或由后端用户交互引擎140)进行,以评估用户的态度、情绪、心态和效用。例如,基于视觉数据分析,自动伴侣可检测到用户表现出悲哀、无笑容、用户语音缓慢且嗓音低沉。对对话中的用户状态的描绘可在层2上基于层1上获取的多模态数据来进行。基于这样检测的观察,自动伴侣可以推断(在406上)用户对当前话题不是那么感兴趣且参与度不高。例如,对用户的情绪或精神状态的这样的推断可以在层4上基于对与用户相关联的多模态数据的描绘来进行。
为了响应用户的当前状态(参与度不高),自动伴侣可判断为使用户振奋,以便使用户更好地参与。在此所示的实例中,自动伴侣可以通过在408处向用户说出问题“你想玩游戏吗?”来利用会话环境中可用的东西。这样的问题可以通过将文本转换为语音(例如,使用为用户个性化的定制嗓音)以音频形式作为语音给出。在这种情况下,用户可通过在410处说“好”来回应。基于连续获得的与用户有关的多模态数据,例如,经由层2的处理,可能观察到响应于玩游戏的邀请,用户的眼睛看上去左顾右盼,特别是,用户的眼睛可能凝视篮球所在的地方。同时,自动伴侣也可观察到,一旦听到玩游戏的建议,用户的面部表情从“悲伤”变为“微笑”。基于这样观察到的用户的特点,自动伴侣可在412处推断为用户对篮球感兴趣。
基于所获取的新信息及其推断,自动伴侣可以决定利用环境中可用的篮球来使用户在对话中的参与度更高,同时仍又实现对用户的教育目的。在这种情况下,层3中的对话管理可对会话进行适应以谈论游戏,并利用用户凝视房间里的篮球这一观察,使得对话对用户来说更加有趣,同时仍实现例如对用户进行教育的目标。在一示例性实施例中,自动伴侣生成响应,建议用户玩拼写游戏(在414处),并让用户拼写单词“篮球”。
根据对用户和环境的观察,在给定自动伴侣的自适应对话策略的情况下,用户可做出响应,提供单词“篮球”的拼写(在416处)。可连续就用户在回答拼写问题时有多热情进行观察。基于例如在用户回答拼写问题时获取的多模态数据所判断,如果用户看起来以更为欢快的态度迅速响应,自动伴侣可以在418处推断为用户现在参与度更高。为了进一步鼓励用户积极参加对话,自动伴侣于是可生成正面响应“做得好!”,并指示将此响应用欢快、鼓励、积极的嗓音传送给用户。
图5示出了根据本示教的多种实施例,在以对话管理器510为中心的自动对话伴侣的不同处理层之间的示例性通信。图中的对话管理器510对应于层3中的对话管理的功能部件。对话管理器是自动伴侣的重要部分,且其管理对话。按照传统,对话管理器将用户的话语用作输入,并判断如何对用户做出响应。这在不考虑用户偏好、用户的心态/情绪/意图或对话的周边环境的情况下做出,也就是说,不为相关世界的不同的可用状态授予任何权重。缺少对周边世界的了解常常限制了人类用户和智能代理之间会话的参与度或感知的真实性。
在本示教的某些实施例中,充分运用与正在进行的对话有关的会话参与者的效用,以允许进行更为个性化、灵活且参与度更高的对话。这促进了智能代理扮演不同的角色,以便在不同的任务中更为有效,例如安排约会、预订旅行、订购设备和补给品、在线研究多种话题。当智能代理认识到用户的动态心态、情绪、意图和/或效用时,这使得代理以更有目标且有效的方式使人类会话者参与对话。例如,当教育代理教孩子时,孩子的偏好(例如他喜欢的颜色)、观察到的情绪(例如,有时候孩子不想继续课程)、意图(例如,孩子伸手去拿地板上的球,而不是专注于课程)都可允许教育代理灵活地将关注的主题调整到玩具,并可能调整继续与孩子会话的方式,以便给孩子休息时间,从而实现对孩子进行教育的整体目标。
作为另一实例,本示教可用于,通过问在给定从用户实时观察到的东西的情况下更为适合的问题,增强用户服务代理的服务,并因此实现改进的用户体验。通过开发学习和适应参加对话的参与者的偏好或心态的方法和方式,这根植于如这里所公开的本示教的本质方面,使得对话能够以参与度更高的方式进行。
对话管理器(dm)510是自动伴侣的核心部件。如图5所示,dm510(层3)取得来自不同层的输入,包括来自层2的输入以及来自更高的抽象层的输入,例如来自层4的输入对话的参与者的推定心态以及来自层5的效用/偏好。如所示的,在层1上,从不同模态的传感器获取多模态信息,其被处理,以便获得例如对数据进行描绘的特征。这可包括视觉、音频和文字模态的信号处理。
多模态数据的处理得到的特征可在层2上进一步处理,以实现语言理解和/或多模态数据理解,包括视觉、文字及其任何组合。某些这样的理解可能针对单一模态,例如语音理解,有些可以针对基于集成的信息对参与对话的用户的周边情况的理解。这样的理解可以是实物的(例如,识别场景中的特定对象)、认知上的(例如识别出用户说了什么,或某个大的声音,等等)或精神上的(例如特定的情绪,例如基于语音的音调、面部表情或用户手势推定出的用户的压力)。
层2上生成的模态-数据理解可由dm510用于判断如何响应。为了增强参与度和用户体验,dm510也可基于来自层4的推定的用户心态和代理心态以及来自层5的参与对话的用户的效用来确定响应。涉入对话的参与者的心态可基于来自层2的信息(例如推定的用户情绪)以及对话的进展推定。在某些实施例中,用户和代理的心态可以在对话过程中动态推定,这样推定的心态于是可用于学习(与其他数据一起)用户的效用。所学习的效用代表用户在不同对话情境中的偏好,并基于历史对话及其结果来推定。
在特定话题的各个对话中,对话管理器510将其对对话的控制基于相关的对话树,对话树可能与、或者可能不与话题相关(例如,可引入闲聊,以增强参与度)。为了生成对话中对用户的响应,对话管理器510也可考虑附加的信息,例如用户的状态、对话场景的周边情况、用户的情绪、用户和代理的推定的心态、以及已知的用户偏好(效用)。
dm510的输出对应于相应地确定的对用户的响应。为了将响应传送给用户,dm510也可以构想出传送响应的方式。响应被传送的形式可以基于来自多个源的信息来确定,例如,用户的情绪(例如,如果用户是不快乐的孩子,响应可以以温柔的嗓音呈现),用户的效用(例如,用户可能偏好与其父母类似的某种口音),或用户所处的周边环境(例如,嘈杂的地方,故响应需要以高音量传送)。dm510可将所确定的响应与这些传送参数一起传送。
在某些实施例中,这样确定的响应的传送通过根据与响应相关联的多种参数来生成各个响应的可传送形式来实现。在一般情况下,响应以某些自然语言的语音的形式传送。响应也可以以与特定非语言表达耦合的语音传送,非语言表达作为所传送响应的一部分,其例如为点头、摇头、眨眼或耸肩。可能有听觉上的但是非语言的其他形式的可传送响应模式,例如口哨。
为了传送响应,可传送的响应形式可以经由例如语言响应生成和/或行为响应生成来产生,如图5所示。出于其所确定的可传送形式的这种响应于是可由呈现器用于实际以其预期形式呈现响应。对于自然语言的可传送形式,响应的文字可用于,根据传送参数(例如音量、口音、风格等),经由例如文字到语音技术来合成语音信号。对于将要以非语言形式(例如特定的表情)传送的任何响应或其部分,预期的非语言表达可以被翻译成为(例如经由动画)能用于控制代理装置(自动伴侣的有形体现)的特定部分的控制信号,从而执行特定的机械运动,以便传送响应的非语言表达,例如点头、耸肩或吹口哨。在某些实施例中,为了传送响应,特定的软件部分可被调用,以便呈现代理装置的不同的面部表情。响应的这种演绎也可由代理同时进行(例如,用开玩笑的嗓音说出响应,并在代理的脸上浮现大大的笑容)。
图6示出了根据本示教的多种实施例,用于基于人工智能的教育型伴侣的示例性高层次系统图。在此所示实施例中,存在五个处理层次,即装置层、处理层、论证层、教学或示教层以及教师层。装置层包含传感器(例如麦克风和照相机),或媒体传送装置(例如伺服机构),用于移动例如机器人或扬声器的身体部分,从而传送对话内容。处理层包含多种处理部件,其目的在于处理不同类型的信号,包括输入和输出信号。
在输入侧,处理层可包括语音处理模块,用于基于从音频传感器(麦克风)获得的音频信号来进行例如语音识别,以便理解在说什么,从而确定如何响应。音频信号也可被识别,以便生成用于进一步分析的文字信息。来自音频传感器的音频信号也可被情绪识别处理模块使用。情绪识别模块可以被设计为,基于来自传感器的视觉信息和合成的音频信息,识别参与者的多种情绪。例如,快乐的情绪常常可伴有笑脸和特定的听觉线索。作为情绪表现的一部分,经由语音识别获得的文本也可由情绪识别模块用于推定所涉及的情绪。
在处理层的输出侧,当特定的响应策略被确定时,这样的策略可被翻译成为将由自动伴侣做的具体动作,以便对另一参与者做出响应。这样的动作可以通过传送某种音频响应或经由特定手势表达特定情绪或态度来进行。当响应以音频被传送时,具有需要被说出的词语的文字由文字到语音模块进行处理,以便产生音频信号,于是,这样的音频信号被发送到扬声器,以便呈现作为响应的语音。在某些实施例中,基于文本生成的语音可以根据其他的参数进行,例如,可用于以特定音调或嗓音对语音生成进行控制的参数。如果响应将作为物理动作被传送,例如,在自动伴侣上实现的身体移动,则将要采用的动作也可以是将用于生成这样的身体移动的指示。例如,处理层可包含根据某种指示(符号)来移动自动伴侣的头部(例如点头、摇头或头部的其他运动)的模块。为了遵从移动头部的指示,基于该指示,用于移动头部的模块可生成电信号,并发送到伺服机构,以便物理控制头部运动。
第三层是论证层,其用于基于分析的传感器数据来执行高层次的论证。来自语音识别的文字或推定的情绪(或其他特点)可被发送到推断程序,该程序可用于,基于从第二层接收的信息,推断多种高层次概念,例如意图、心态、偏好。推断的高层次概念于是可由基于效用的计划模块使用,在给定在教学层上定义的示教计划和当前用户状态的情况下,该模块设计出在对话中做出响应的计划。计划响应于是可被翻译成将被执行以便传送计划响应的动作。该动作于是被动作生成器进一步处理,以便具体指向不同的媒体平台,从而实现智能响应。
教学层和教师层都涉及这里公开的教育型应用。教师层包含关于设计用于不同主题的课程表的活动。基于设计的课程表,教学层包含课程表安排器,其基于所设计的课程表并基于课程计划安排课程,问题设置模块可基于特定的课程表,安排将被提供的特定的问题设置。这样的问题设置可由论证层的模块用于辅助推断用户的反应,于是,基于效用和推断的心理状态来相应地规划响应。
图7示出了根据本示教的实施例的自动对话伴侣的示例性高层次系统图。如这里所公开的,自动对话伴侣可包含代理装置(例如160-a)和用户交互引擎140,其具有不同概念层上的处理,如图4a和图5所示。图7所示的系统架构和图代表自动对话伴侣的示例性实现方式,其具有不同概念层次上的多模态处理的能力。如图所示,自动对话伴侣700包含:代理装置,例如160-a;以及,用户,例如110-a,其在具有例如不同传感器的装置(层1)上操作。系统700也包含层2710、层3720、层4730和层5740。各个层进一步包含不同的处理部件、模型和表征,其可由其他的层用于实现对话的不同任务。
在此示例性实施例中,层2710可包含输入理解处理部件,例如听觉信息处理单元710-1、视觉信息处理单元710-2、……、以及情绪推定单元710-3。输入可以来自在用户装置或代理装置上配置的多个传感器。这样的多模态信息用于理解对话的周边情况,这可能对于对话控制至关重要。例如,语音处理单元710-1可对听觉输入进行处理,以理解例如由代理说出的语音、用户语音的音调或在对话场景中存在的用户或环境声音。基于例如视频信息,视觉信息处理单元710-2可用于理解用户的面部表情、对话场景中的用户周边情况(例如存在椅子或玩具),这样的理解可在对话管理器决定对话如何进行时使用。基于例如用户语音的音调、用户的面部表情等,情绪推定单元710-3可用于推定用户的情绪。用户的情绪在较高的概念层上,并从较低层上的特征(例如音调和表情)抽象出来,并可用于评估例如用户是否处于进行对话的情绪状态以及自动对话伴侣是否需要改变会话的话题,以便继续使用户参与。
层2710也可包含输出生成部件,用于生成用于控制代理装置以便将消息传送到用户的多种信号。这种部件包括文本到语音单元710-4、情绪控制单元710-5、……和手势控制单元710-6。文本到语音单元710-4可用于将来自对话管理器的文字响应转换为其对应的音频波形,其于是可用于控制代理以说出响应。表情控制单元710-5可被调用,用于控制代理装置,以表达特定的表情,同时,向用户“说出”响应。例如,信号可被生成,以便在代理的机器人头部的显示屏上呈现,例如笑脸、悲哀的脸或同情的脸,从而改善用户的参与度。在某些情况下,手势控制单元710-6可用于生成控制信号,其可用于实现特定的移动,例如,代理装置的手臂,以便表达附加的情绪。例如,为了显示对用户的鼓励,代理的手臂可被控制为高高举起,同时,代理说,“好极了,做得好!”
层2710中的不同部件所执行的这种操作于是可用于为代理和用户都更新对话的表征。层4730可存储与参与者的对话历史相关联的多种信息,并可用于分别得出代理和用户的表征,其捕获涉入对话的各个参与者的进行中的心态。由于对话的目标可涉及达到意见一致的阶段,这样的表征可用于达到在代理和用户之间相同的心态。如图所示的层4730包含与代理的心理730-1有关的表征、与用户的心理730-4有关的表征、共有的心理730-3,其结合了例如代理的进行中的的心态和用户进行中的心态。
在表征用户的进行中的心态时,从用户的视角建立的不同的世界模型730-5和对话背景730-6用于表征用户的心态。用户的世界模型730-5可基于空间、时间和因果表征来设定。这样的表征可基于在对话中观察到的以及描绘例如在场景中所观察到的(例如桌子、椅子、桌上的计算机、地板上的玩具等对象)以及它们如何相关(例如对象如何在空间上相关)的得出。在此示例性实施方式中,这种表征可使用and-or图或aog来建立。对象的空间表征可以用s-aog来表征。对象随时间的时间表征可以用t-aog来表征(例如,随着时间,在哪个对象上做了什么)。时间动作和空间表征之间的任何因果关系可以用c-aog来表征,例如,当移动椅子的动作被执行时(椅子的空间位置改变)。
图8a-8c提供了用于与教育型对话有关的表征的示例性空间、时间和因果图。图8a示出了用于乐高玩具的空间and-or图(aog),其中,虚线代表or的关系,实线代表and的关系,圆圈代表对象。虚线圆圈意味着从之分出的项目构成替代或以or的关系有关。实线圆圈意味着从之分出的项目构成实线圆圈所代表对象的部件。例如,图8a中的aog中顶部的虚线圆圈或节点对应于乐高玩具,它可以是乐高车、乐高飞机或乐高建筑物。乐高车节点为实线圆圈,表示其具有几个部件,例如乐高车的前部、乐高车的中部、乐高车的后部。所有这些部件都是乐高车必需的(and的关系),如图所示的空间aog表征了不同部件的空间关系。各个部件可以分解成附加的部件,它们可以通过and或者or的关系相关。在图8a中,前部、中部和后部被示为各自有着替代性外观(or的关系),这也是为什么前部、中部、后边的圆圈或节点都是虚线。
图8a中所示的空间aog或s-aog可以是预先确定的树,其捕获与乐高玩具有关的所有对象及其部件的空间关系。在对话期间可依赖这样的树,并可基于对话内容遍历这样的树。例如,在特定的对话中,如果话题是关于乐高车且代理是教导用户如何将不同的零件拼在一起构成车,自动对话伴侣首先调用乐高玩具的s-aog,如图8a所示,于是,遍历到代表乐高车的节点。取决于会话,自动对话伴侣可基于对话的内容来遍历树。例如,如果用户想要首先构建车的前部,自动伴侣可以从“车”节点遍历到“前部”节点,等等。图中的遍历路径对应于解析图或空间pg或s-pg。这在图8b中示出,在图8b中,未探索的路径用点划线表示,当前正在遍历的路径用实线表示。
图8c示出了与可在一件衣服上进行的动作有关的示例性空间aog。如图所示,菱形节点代表将要在衣服上执行的动作。类似于关于空间aog所讨论的,在图8c所示示例性时间aog或t-aog中,点划线节点表示从之分出的所有项目是替代性的或者用or关系连接。实线表示从之分出的所有项目是用and关系连接的部件。在此实例中显示出,能在衣服上执行的动作可以是“折叠”或“伸展”,其中,动作“折叠”可以由一只手或两只手执行。如图所示,当一只手用于折叠衣服时,这一动作(实线菱形节点)具有几个必需的步骤,包括“伸手”、“抓住”、“移动”和“释放”。这些步骤全经由“and”关系连接。这些步骤中的每一个又可以有几个子步骤,它们可通过“and”或“or”关系连接。取决于在对话过程中事件如何发展,可以基于在对话期间观察到的动作序列来遍历图8c所示的示例性t-aog。例如,用户可以决定用一只手折叠衣服,首先,抓住衣服的左袖子并折叠它,接着,抓住衣服的右袖子并折叠它。基于这一事件序列,可以遍历t-aog的特定路径,构成沿着实线的解析图,其中每根线对应于观察到的动作。基于时间上的动作构建的这样的解析图(pg)是t-pg。
当在空间对象上执行特定的动作时,可能使得空间对象的状态发生变化。从动作到状态变化的转换构成因果关系。这样的因果关系也可以基于and-or图或aog表征。图8d示出了示例性的因果关系图或c-aog。这一实例对应于与构造乐高车结构的过程有关的因果关系图。如图所示,椭圆对应于连接节点,其分支对应于将要采用的动作。三角形节点代表与能导致对象的状态变化的某种动作相关联的因果节点。实线节点表示其分支由and关系连接,虚线表示其分支代表经由or关系连接的替代物。
图8d所示的这一实例中,顶节点是实线椭圆或连接节点,代表构建了一半的乐高零件。因为这一节点是实线节点,其分支用and关系连接。左边的第一分支节点是虚线因果节点,有着经由or关系相关的两个选择。第一动作选择是在乐高零件左侧安装轮子,第二动作选择是在乐高零件右侧安装轮子。示出了每个动作的因果作用,例如,在第一选择动作之后,轮子出现在乐高零件左侧,在第二选择动作后,轮子出现在乐高零件的右侧。顶部的实线椭圆节点也有另一分支,对应于代表在乐高零件上放置顶部零件的动作。如图所示,用户可以执行将两个轮子放在乐高零件左右两侧的因果动作,放置顶部零件的下一个动作将导致乐高零件将其状态转换为图8d中的因果aog或c-aog左下角所示的。相比于c-aog的顶部的乐高零件,右下角的结果得到的更新后的乐高零件增加了两个轮子和一个顶部零件。
回到图7,代理心理和用户心理的表征都使用s-aog、t-aog和c-aog(分别在730-2和730-5中)捕获对话中其相应的世界。如这里所示的,当对话使得每个参与者沿着特定的具体路径遍历其相应的s-aog、t-aog和c-aog时,这些路径对应于其底层aog的子部分。这些子部分构成解析图或pg。例如,基于s-aog的遍历的路径,可以得出对应的s-pg。可以简单得出t-pg和c-pg。关于每一参与者的s-pg、t-pg和c-pg可被合并,以形成所谓的stc-pg,其代表对话背景(从代理和用户的视角来看分别是730-3和730-6)。
stc-pg表征对话背景的动态。除了stg-pg表征以外,对话背景也可包含会话内容(在语言上)的动态呈现。如图所示,人和机器之间的对话常常用对话树来驱动,对话树在传统上基于对话模式构建。例如,对话树可以被开发为教小孩学数学中的几何学,这种对话树中嵌入的对话可以基于例如教该科目的典型对话流来设计。根据本示教,当对话树与特定主题(例如辅导项目)有关时,专门用于由该辅导项目覆盖的各个话题的对话树可被建立,并用于驱动与人类用户的对话。这样的对话树可以存储在层3上的对话管理器中,并可在对话过程中遍历。基于对话树的遍历路径可以构成语言解析树或lan-pg,用作对话背景的一部分。用户和代理各自可具有它们自己的lan-pg,其基于它们与彼此的会话开发,并在730-3(用于代理)和730-6(用于用户)中存储在它们相应的对话背景中。
用户和代理的对话背景均可在对话过程中动态更新。例如,如图7所示,每当响应(例如语言、表情或身体的)经由层2中的部件被传送到用户时,层4中的对话背景可被相应地更新。在某些实施例中,当响应被确定时,层3上的对话管理器(图7中的720-2所示)也可更新对话背景。通过这种方式,对话背景在对话期间持续更新,接着,用于自适应地确定对话策略。
代表各个参与者的视角的这样的对话背景可被组合,以生成如图7所示的共有心理730-7,它代表涉及两个参与者的对话的动态背景和历史,对应于用户和代理的某种形式的共有心理。例如,从这种共同对话历史,可以学习用户偏好,并可建立关于在何种情况下什么对谁有效的相关知识。根据本示教,与共有心理有关的这样的信息可被层5740上的效用学习引擎740-1使用,以便关于不同主题,学习个体用户的效用或偏好或者某个集合用户组的偏好。效用学习引擎740-1也可学习代理就不同主题与特定类型的用户交流的偏好,以理解何种对话策略在何种主题上对哪个用户有效。
在某些实施例中,来自过往对话的历史对话数据可用于学习效用,如图7所示。这样的训练数据可以记录用户何时在对话中表现良好以及导致好结果的对应的解析图,例如这种对话的背景、在导致令人满意结果的对话过程中发生的事件。与好的表现有关的这样的对话背景可以为未来的对话揭示效用,且对应于可被学习并用于引导未来对话管理的优选对话策略。通过这种方式,效用学习引擎740-1可以从过去的对话中学习以何种方式以及在何种情况下什么对于谁有效。另外,效用学习也可依赖于推定的共有心态、用户和代理的个体心态,如图7所示。在某些实施例中,用于对话管理的在层3中得出的联合pg(在下面讨论)也可由效用学习引擎740-1来访问,以便学习在这些数据中涉及的效用。
来自不同源的信息可以被提供给效用学习引擎740-1,以便捕获关于不同用户、在不同对话中以及在不同情况下有效的或可行的对话策略。如这里讨论的,历史对话数据、共有心理、在对话730-3和730-6期间推定的个体心态以及视情况可选的联合pg可由效用学习引擎740-1运用,以关于个体用户、用户组、变化的话题的不同对话、不同的目标、不同背景下不同的对话策略来学习效用。这样学习的效用可以存储在层5中(例如根据兴趣、偏好、目标等),并可由对话管理器720-2访问,以便基于学习的效用自适应地驱动对话。如图7所示,对话管理器720-2基于来自不同源的信息来管理对话,包括由效用学习引擎740-1学习并存储在不同数据库中的效用、与和正在进行的对话有关的预期话题相关联的对话模型、正在进行的对话的当前状态或对话背景信息(例如联合pg)等。
为了依赖于进行中的对话的对话背景信息来确定该对话如何进行,来自代理心理(730-3)和用户心理(730-6)的对话背景由层3上的内容理解单元720-1使用,以便得出被表示为联合pg720-3的、组合的对话背景。背景理解单元720-1也可接收来自层2的信息,其是这里的不同的处理单元基于来自用户装置或代理装置的多模态传感器数据得出的。例如,来自层2的信息可提供表示这样的参数(例如用户的情绪)的信息:其可在确定正在进行的对话中对用户的下一个响应时考虑。来自代理和用户的解析图(lan-pg和stc-pg)以及来自层2的信息可被背景理解单元720-1分析,以生成联合pg720-3,从而表征当前对话状态的背景信息,其于是可由对话管理器720-1用于确定下一个响应。在某些实施例中,联合pg720-3也可由效用学习引擎740-1用于学习效用。
除了当前对话背景外,对话模型也依赖于与例如教育或健康等不同主题有关的对话树。在图7中,示出了与在关于不同话题的教育中的辅导有关的示例性对话树。应当明了,这样的示例性实例不是限制,任何其他主题的对话模型属于本示教的范围。如图7所示,与辅导有关的对话树可表示为辅导aog720-4。这样的aog中的每个可对应于针对特定话题的具体辅导任务,并可由对话管理器720-2用于驱动就该话题与用户的对话。
根据本示教,除了面向特定预期任务的对话树以外,对话模型也可包含非面向任务(non-taskoriented)的对话树,例如,图7中表示为ci-aog720-5的交流意图型的对话。在某些实施例中,在进行与用户的对话时,层3(720)上的对话管理器720-2依赖于与对话预期的一个以上的话题相关联的对话树,基于用户的先前的响应驱动与用户的会话。传统系统遵循预先设计的对话树,并具有很小的灵活性,这常常使得人类用户感到挫败并导致不良的数字体验。例如,在人机对话的特定情况下,会话可能因为多种原因卡住。在教育类对话中,用户可能几轮不能得出正确的回答,并变得苦恼。在这种情况下,如果机器代理通过遵循预设的对话树来继续坚持同样的话题,可能使用户参与度进一步降低。根据本示教,不同类型的对话树,例如面向任务的对话树和非面向任务的树,可以在同一对话中自适应地探索,以便在不同情况下保持用户的参与度。例如,通过谈论其他事情,临时改变已经使用户感到灰心的主题,特别是谈论已经知道用户感兴趣的事情,可能使代理能够继续吸引用户参与,并可使得用户最终重新专注于初始的预期话题。交流意图对话树(用ci-aog表示)提供了替代性的非面向任务的对话,其可在基于情境的对话期间调用。
图9a-9b提供了辅导aog和ci-aog的实例。图9a示出了表示为辅导aog的示例性通用辅导对话树。如这里讨论的,实线节点代表其分支以and关系相关。如图所示,在此通用辅导对话树中,辅导对话包含关于问题介绍的对话、与施教自身有关的对话、以及与所学内容的总结有关的对话。这里的各个对话可包含附加的子对话。例如,对于用于施教的对话,其可以包含与鹰架(scaffolding)有关的子对话以及用于测试的附加子对话,其中,“鹰架”指的是这样的教育过程:其中,教师进行建模,示范如何为学生解决问题,并后退一步,根据需要提供支持。在这一实例中,鹰架子对话可进一步包含两个不同的子对话,一个就答案为用户提供暗示,另一个用于提示(prompt)用户提供回答。用于对答案提供暗示的子对话包含这类对话:用于向用户提供暗示,用于由用户提供回答,并用于确认用户的回答。用于提示用户进行回答的子对话可进一步包含这类对话:用于提示用户提供回答、用于由用户提供回答、用于做出对用户答案的校正。其他的分支也可具有多种层次的子对话,以便实现辅导的目标。
根据本示教,可以基于根据某种相关ci-aog的非面向任务的对话树,进行交流意图对话。可能有对应于不同情境的不同类型的ci-aog。图9b示出了不同的示例性ci-aog。例如,存在用于社交问候的ci-aog,其可分支为不同的问候,例如,问候(1)到问候(t),对于社交致谢aog,类似地分支为不同形式的致谢,例如致谢(1)……欢迎(t)等。这些aog可结合旨在用于例如增强用户体验的对话使用(例如通过首先问候用户,或甚至是首先闲聊、以便使用户放松),或者例如鼓励用户的参与,例如,当用户做的好时,代理可感谢用户以鼓励继续参与。
当需要异常处理时,还可以有用于情形的不同的ci-aog。图9b示出了两种示例性异常处理aog:一个用于不理解的异常,即代理不理解用户答案的情形;以及,超时异常处理,例如,用户没在给定时间段内回答问题的情形。当检测到对应的异常时,合适的异常处理aog可被调用。例如,当检测到在一时间段内用户没有回应来自代理的问题或没有与代理会话时,超时aog可被使用,以便注入正在进行的对话树,代理可问“你需要多点时间吗?”用作温和的提醒。如果该情形持续,超时aog可根据该情形进一步遍历,并引导代理问,“你还在吗?”或“我能帮你解决它吗?”尽管偏离了与和预期话题有关的原始会话,这样注入的会话可在初始对话淡出时,帮助重新使得用户参与。
在某些实施例中,可以基于从对话场景观察到的东西来自适应地建立具有交流意图(ci)的会话。作为另一实例,在问候用户时(通过调用社交问候ci-aog),基于从用户或对话场景观察到的,可以基于例如由背景理解单元720-1根据对话中正在进行的所构建的联合pg自适应地确定问候。例如,如果观察到用户穿着黄色t恤(如图7所示,基于根据多模态传感器数据从层2检测到的信息,由背景理解单元720-1理解),来自代理的问候可利用该观察,并设计出例如“早上好!你的t恤看上去像阳光一样明亮。”的问候。
对话话题的改变需要从一个对话树切换到另一个,且切换基于观察到的内容来确定。图10提供了根据本示教一实施例的示例性情况,其中,对话从面向任务的对话树切换到非面向任务的对话树。由图10可见,在辅导项目中与用户的对话线程(针对任务或针对领域的对话)可基于辅导aog(用于针对领域的或面向任务的对话控制)和某些ci-aog(用于独立于领域或非面向任务的对话控制)来进行。在此实例中,所配置的针对领域的对话树是辅导项目,故辅导aog用于驱动面向任务的会话。每当合适的时候,对话管理器720-2还可使用ci-aog注入与用户的非面向任务的会话。在图10中显示出,在进入针对领域的话题之前,对话管理器720-2可决定用友好的问候(非任务或独立于领域的会话)开始。例如,其可以依赖于社交问候ci-aog来向用户说出某种问候。在某些实施例中,问候话语的选择也可基于例如用户状态、对话场景周边情况(其由联合pg基于来自层2的信息表征)等自适应地确定。
在对话线程中,在对话所处的情况要求时,对话管理器720-2还可使用其他的ci-aog,例如社交致谢aog或异常处理aog。如果用户用正确的答案应答,用于鼓励的ci-aog(图中未示出)可被调用,可使用用于称赞用户的合适的话语,例如“好极了!”,以注入独立于领域的会话。在图10所示的实例中,在施教aog的第二步骤中,在代理提示用户之后,自动对话伴侣接收到不理解的答案,因为它不是针对领域的对话树中所撰写的。在这种情况下,如图10所示,发生错误处理或异常处理情况,当前会话对于注入的会话开放。在这种情况下,对话管理器720-2调用用于“不理解”的异常处理aog,并使用该aog来驱动用于对用户的下一响应的会话。在这种情况下,在记录正在进行的对话的历史的对话堆栈中,对话管理器720-2将下一个步骤推到堆栈上,其是关于用于“不理解”的异常处理的。不理解异常处理下面的特定响应可以进一步基于例如由联合pg720-3表征的当前对话背景以及在层5学习的效用/偏好得出。
在确定响应时,对话管理器720-2可使用来自不同源的信息,并通过最大化某些增益来确定下一个动作(响应),其基于由效用学习引擎740-1学习的预期效用来确定。在某些实施例中,动作或响应可通过基于对话的背景信息以及已知的用户效用使函数最优化来确定。下面给出一示例性最优化方案:
a*=argmaxeu(a|st,pg1...t)
在此最优化方案中,最优化的是用“a”标记的动作,对应于对话的时刻t+1采取的动作,包括对用户的响应或话语。由此示例性公式可见,最优化动作用“a*”标记,它是通过关于时刻t上的当前状态st和包含从时刻1到时刻t的对话背景的联合pg,在所有可能的动作上最大化期望效用(eu)得到的在时刻t+1上的动作“a”。关于各个动作a的期望效用被标记为eu(a|st,pg1,……,t),其代表在给定当前状态和一直到时刻t的对话背景pg的情况下,在信息状态st下采取动作的期望效用。在某些实施例中,上面的公式中表达的pg指的是图7所示的联合pg,其捕获涉及代理和用户的对话状态的整体信息(而不仅仅是与用户或代理有关的pg)。
在上面的eu(a|st,pg1,……,t)公式中,st+1代表能通过执行动作a从当前状态st到达的下一状态。p(st+1|st,pg1,……,t,a)代表当执行动作a时从时刻t的当前状态st到达时刻t+1的下一状态st+1的概率。r(st+1)代表通过遍历与这样的动作相关联的子对话的路径实现的奖励(reward):其在被执行时,产生下一状态st+1。这样的奖励可以从与过去的对话和结果有关的数据学习。例如,如果遵循过去的特定路径已经在特定情况下产生满意的结果,那么,如果在当前对话中探索同一路径,可能提供更高的奖励。这样的更高的奖励也可系于涉入这种过往对话的用户与当前对话用户的相似性。这样的奖励值可以由效用学习引擎740-1基于过去的对话数据来学习,并使结果如这里讨论的那样可由对话管理器720-2访问(作为效用)。
可由上面的示例性公式看出,在给定当前状态st和历史对话背景pg1,……,t的情况下,关于动作a的期望效用eu(a|st,pg1,……,t),其以递归形式进一步公式化,如与前向最优化对应的maxeu(at+2|st+1,pg1,……,t+1)可见。也就是说,这一部分从当前步骤进一步向前看一步,查看如果采取当前动作a,在给定通过在时刻t+1执行动作实现的状态st+1和对话背景pg1,……,t的情况下,如果在时刻t+2采取动作at+2,将要实现的期望效用是什么。通过这种方式,时刻t+1上的a的最优化也将这一动作a是否也将导致前瞻性最大化期望效用考虑在内。前瞻跨度可以被指定,例如前瞻三步,即,递归深入三级。这样的实验性参数可以基于应用需求来调节。
在上面的公式中,还可以有参数。例如,当前概率和前瞻性期望效用可以使用不同的权重来加权。在上面的示例性公式中,使用gamma系数来对前瞻性期望效用加权。附加的参数,例如alpha系数,可用作概率p(st+1|st,pg1,……,t,a)的权重。最优化的这样的加权系数也可基于例如机器学习(例如效用学习引擎740-1)自适应地调节。
根据上面的示例性公式最优化的期望的效用也可基于连续学习随时间积累。如这里所讨论的效用学习引擎740-1基于实际对话数据进行学习,在这样的学习中,奖励也可基于例如过去的对话的结果来学习。例如,如果在过去的对话中遍历的特定对话路径(包括动作、状态和pg)达到满意的结果,例如,所辅导的概念上的更短的学习时间和好的测试结果,在特定pg下,沿这些过去的路径,沿着特定状态的动作可被分配有更高的奖励。类似地,达到不良结果的过去的对话路径(其包括动作、状态和联合pg)可被分配有较低的奖励。
在某些实施例中,关于过去的对话路径的这样学习的效用或偏好(例如采用奖励分数的形式)可对应于特征空间内的离散的点,即,对于空间中表征沿着与特定对话有关的特定路径的特定状态的各个离散的点,存在关联的奖励分数。在某些实施例中,这样的离散点可用于经由拟合连续函数来内插连续的效用函数,于是,其可由对话管理器730-1用于通过搜索空间内导致向着最大点的向上爬升的点来确定对话如何进行。图11示出了根据本示教的一实施例的示例性连续函数,其代表投影到二维空间的期望效用分布。
如由图11可见,投影在所示的2d空间内的是连续函数,其对应于由与教导用户组装乐高玩具的对话逻辑有关的效用学习引擎740-1学习的期望效用函数。在学习这一期望效用函数的原始高维空间内,沿着不同维度的特征可以对应于对话的不同的观察或状态。高维空间内各个点上的此高维期望效用函数的值代表在该坐标点上的效用水平,即,在给定沿着维度的特征值(它们可以是不同的对话状态、背景参数、情绪/意图参数或动作)的情况下的效用水平(或偏好的程度)。当高维度空间内这样的期望效用函数被投射到2d空间中时,实质上保留了不同点上效用水平的相对水平,尽管各个效用水平的特征值也可在更为语义学(semantic)的水平上变得压缩。如图所示,与乐高辅导对话有关的期望效用函数的2d投影具有多个峰值点、波谷点和介于这些点之间的。投影函数上的值越高,效用水平或偏好程度越高。投影函数上的各个点对应于特定的对话状态,响应于特定对话状态采取的任何下一个动作导致沿着投影函数从原始点到附近点的移动。
例如,可以看到,在图11的示例性预期效用函数的2d投影的底部,存在一组未组装的乐高零件,代表辅导线程的初始状态,且其对应于低效用水平(即较低的偏好程度)。基于此函数,辅导线程的目标是达到最高的峰值点,其代表所有零件组装在一起的、完全组装的乐高玩具(见具有部分或完整组装的乐高玩具零件的最上面一行中右数第二个)。还有与部分组装的乐高玩具对应的其他的峰值点。也存在其他的峰值点,各自对应于乐高玩具部分或接近完整组装的次最优结果。例如,最右边的峰值点对应于不太完全组装的乐高玩具,其中,尚未组装的唯一的零件是前轮和顶部零件。从与线程的初始状态对应的起始点沿着投影连续函数的轮廓爬升到最高峰值点的过程与对话过程对应。在每个点上,下一个动作(例如,响应于对话中的用户)可以通过对到达最高峰值点或峰值点的概率进行最大化来确定。
在这种学习的效用空间中,当对话线程达到具有已知pg的特定状态时,其可被映射到学习效用空间内的对应的点,下一个响应于是可被确定,其将使得对话能够以沿着效用空间内的连续效用函数向着峰值点的方向行进。例如,为了决定下一个动作,可以计算函数的最大导数,与最大导数有关的动作可被取作下一个动作,其将根据连续效用函数使得期望的效用最大化。通过这种方式,学习效用尽管是离散的,可用于构成连续效用函数,使得对话管理器能够自适应地确定对话如何进行。当越多的对话数据被收集并被用于训练以便学习期望效用时,学习效用函数和自适应对话性能越好。
如图11所示的期望效用的学习也可并入前瞻能力。采用收集的过去的对话数据,由于这样的前瞻变得可用,可以学习这样的知识,并将之嵌入学习的期望效用。另外,如这里所讨论的,基于不仅嵌入来自层4的共有心理(其包括来自过去的和正在进行的对话的知识和交互历史,它们得出来自代理心理和用户心理的对话背景,即stc-pg和lan-pg),还嵌入联合pg720-3(其还直接嵌入stc-pg和lan-pg,以及来自层2的多模态数据分析结果)的信息,效用学习引擎740-1学习期望效用,学习的期望效用是多方面考虑的结果,并构成使得自适应对话成为可能的丰富模型。
如这里讨论的,从对话数据学习的效用可进一步包括前瞻能力,其可更好地使得各个状态的预期效用最大化,并避免效用函数空间内的局部最小值。在学习的期望效用具有内置的前瞻性时,在每个步骤中,其进一步促进对话管理器720-2实现增强的自适应性和性能。图12示出了根据本发明一实施例,学习的效用如何使得在自适应对话策略中实现改进决策过程成为可能。如图所示,在时刻t上(或在小的窗口t+δ内,其代表做出对话决策的分辨率(resolution)),基于在时间段[0,……,t]中发生的过去的pg和时间段[t,……,t+τ]中的未来的pg做出与对话有关的决策,其中,未来的时间段[t,……,t+τ]中的pg对应于前瞻性时间段。如此实例所示,前瞻时间范围包括从当前时间t开始的多个可能的步骤。在这种情况下,最优化对话决策是基于所有可能的动作上最大化的预期效用值做出的,包括嵌入当前状态和当前pg(包括所有先前的状态和动作)的过去的动作以及特定前瞻时间范围内的所有未来的可能的动作。
图13为根据本示教一实施例的自动对话伴侣700的示例性过程的流程图。由于对话过程涉及用户和自动对话伴侣之间的向前和向后的步骤,图13所示的过程被示为循环,其中,代理装置首先在1305处接收来自用户交互引擎140的向用户呈现响应的指示(即代理装置的后端系统)。在用户刚刚出现时,响应可对应于从代理到用户的初始讯息,或者,响应可以为对来自用户的先前话语做出响应的讯息。用于呈现响应的指示可针对语言响应,即对用户说出语言表达、在说出语言响应的同时的视觉表达(例如,具有例如为笑脸的面部表情)、和/或与实现身体动作有关的指示(例如,在说出语言响应的同时举起左臂以表达兴奋)。基于指示,代理装置在1310处向用户呈现响应。基于从代理到用户的呈现的响应,层4的代理对话背景730-3(lan-pg,stc-pg)在1315处更新。
在用户接收到代理响应之后,用户可以进一步响应于代理的讯息,来自用户的这样的进一步的响应可以经由位于用户装置上或是位于代理装置上的多模态传感器被捕获。与用户响应有关的这种多模态传感器数据在1320处由层2中的处理单元接收。如这里所讨论的,多模态传感器数据可包括听觉信号,其捕获用户的语音和/或对话环境中的环境声。多模态传感器数据还可包括视觉数据,其捕获例如用户的面部表情、用户的身体动作、周边对话环境中的对象等。在某些实施例中,多模态传感器数据还可包含触觉传感器数据,其捕获与用户的移动有关的信息。
于是,在1325上,通过层2上的多种部件(例如710-1、710-2、……、710-3),对所接收的多模态传感器数据进行分析,以确定例如用户说了什么、用户说出响应的音调、用户的面部表情、用户的手势、对话环境中有什么、对话环境中由于用户动作发生了什么变化、环境的声音、用户的情绪/意图等。分析结果于是在1330处用于更新与用户相关联的对话背景,即位于层4的730-6中的lan-pg和stc-pg。基于更新后的代理对话背景和用户对话背景,对话的共有心理表征于是在1335处被相应地更新。基于更新后的共有心理,层3中的背景理解单元720-1于是在1340处分析来自不同源的信息,以理解当前对话状态,从而得出更新后的联合pg,其中,这样的信息包含代理和用户的更新后的对话背景以及分析出的对话周边情况,例如用户的情绪/意图等。
基于更新后的共有心理和新近更新的联合pg,层5中的效用学习引擎740-1在1345处进行机器学习,以得出更新的效用或偏好。基于根据过去的对话历史学习的离散效用,离散效用用于在1350处得出或更新连续的期望效用函数。基于更新的期望效用函数、联合pg以及对话模型,对话管理器720-2在1355处确定选自所有可从对话当前状态到达的动作的响应a*,因为在给定当前对话状态(由联合pg以及来自层2的用户状态信息所捕获)的情况下,a*使得期望效用函数eu最大化。基于所确定的响应a*,在1360处生成用于呈现代理响应的指示,并将之发送到代理装置以便呈现。该过程于是返回到1305,用于下一循环。
图14为根据多种实施例,可用于实现本示教的特定系统的示例性移动装置架构的示意图。在此实例中,在其上实现本示教的用户装置对应于移动装置1400,其包括但不限于智能电话、平板电脑、音乐播放器、手持游戏机、全球定位系统(gps)接收器和可穿戴计算装置(例如眼镜、腕表等)或其他的形式因素。移动装置1400包含一个以上的中央处理单元(cpu)1440、一个以上的图形处理单元(gpu)1430、显示器1420、内存1460、诸如无线通信模块的通信平台1410、存储器1490以及一个以上的输入/输出(i/o)装置1440。任何其他合适的部件,包括但不限于系统总线或控制器(未示出)也可包含在移动装置1400中。如图14所示,移动操作系统1470(例如ios、android、windowsphone等)以及一个以上的应用1480可从存储器1490被装载到内存1460中,以便由cpu1440执行。应用1480可包括浏览器或任何其他合适的移动app,用于管理移动装置1400上的会话系统。应用交互可以经由i/o装置1440实现并经由网络120提供给自动对话伴侣。
为了实现本公开中介绍的多种模块、单元及其功能,计算机硬件平台可用作用于这里介绍的一个或多于一个元件的硬件平台。硬件元件、操作系统和这种计算机的编程语言在性质上是传统的,且假设本领域技术人员足够熟悉它们,以便使这些技术适应于这里介绍的本示教。具有用户接口元件的计算机可用于实现个人计算机(pc)或其他类型的工作站或终端装置,但是,如果合适地编程的话,计算机也可作为服务器运行。据信,本领域技术人员熟悉这种计算机设备的结构、编程和一般运行,因此,附图可能是不言自明的。
图15为根据多种实施例,可用于实现实施本示教的特定系统的示例性计算装置架构的示意图。实现本示教的这种特定系统具有硬件平台的功能框图,该硬件平台包括用户接口元件。计算机可以是通用计算机或专用计算机。二者都能用于实施用于本示教的特定系统。这种计算机1500可用于实现如这里所介绍的会话或对话管理系统的任何部件。例如,会话管理系统可以在例如计算机1500的计算机上实现,经由其硬件、软件程序、固件或其组合。尽管为方便起见示出了仅仅一个这样的计算机,与这里介绍的会话管理系统有关的计算机功能可以以分布式方式在若干个类似的平台上实现,从而分散处理负荷。
例如,计算机1500包括与连接于其上的网络相连接的com端口1550,以促进数据通信。计算机1500还包括中央处理单元(cpu)1520,其采用一个或多于一个处理器的形式,用于执行程序指令。示例性计算机平台包括:内部通信总线1510;不同形式的程序存储器和数据存储器(例如盘1570、只读存储器(rom)1530或随机访问存储器(ram)1540),用于将要由计算机1500处理和/或进行通信的多种数据文件以及将由cpu执行的可能的程序指令。计算机1500还包括i/o部件1560,其支持在计算机和这里的其他部件(例如用户接口元件1580)之间的输入/输出流。计算机1500也可经由网络通信接收编程和数据。
因此,如上面所概述的对话管理方法和/或其他过程的实施形态可以在程序中实现。本技术的程序方面可被看作典型地出于可执行代码和/或相关数据的形式的“产品”或“制品”,该可执行代码和/或相关数据被承载在一种机器可读介质上或在其中实现。有形非暂时性“存储器”类型介质包括任何或全部存储器或其他的用于计算机、处理器等的存储器或其相关模块,例如多种半导体存储器、带驱动器、盘驱动器等,其可在任何时候提供用于软件编程的存储。
所有或部分软件有时可通过网络(例如互联网或多种其他电信网络)传送。例如,这种传送可使软件从一台计算机或处理器向另一台(例如,与会话管理有关)的载入成为可能。因此,可承载软件元件的另一类型的介质包括光、电和电磁波,例如通过本地装置之间的物理接口、通过有线和光固定网络、通过多种空中链路使用。承载这种波的物理元件(例如有线或无线链路,光链路等)也被看作承载软件的介质。如这里所使用的,除了限制为有形的“存储”介质,例如计算机或机器“可读介质”的术语指参与向处理器提供指令以便执行的任何介质。
因此,机器可读介质可采用多种形式,包括但不限于有形存储介质、载波介质或物理传输介质。非易失性存储介质包括例如光或磁盘,例如任何计算机等等之中的任何存储装置,其可用于实现附图所示的系统或其任何部件。易失性存储介质包括动态存储器,例如这种计算机平台的主存储器。有形传输介质包括:同轴电缆、铜线和光纤,其包括构成计算机系统内的总线的导线。载波传输介质可采用电或电磁信号或者是声或光波(例如在射频(rf)和红外(ir)数据通信期间生成的那些)的形式。计算机可读介质的一般形式因此包括例如软盘、可折叠盘、硬盘、磁带、任何其他磁介质、cd-rom、dvd或dvd-rom、任何其他光介质、穿孔卡片纸带、具有孔的图案的任何其他物理存储介质、ram、prom和eprom、闪速eprom、任何其他的存储器芯片或插装盒、传输数据或指令的载波、传送这样的载波的链路或电缆、或计算机可从之读取编程代码和/或数据的任何其他介质。许多这些形式的计算机可读介质可以涉入将一个或多于一个的指令的一个或多于一个的序列承载到物理处理器,以便执行。
本领域技术人员将会明了,本示教适用于多种修改和/或增强。例如,尽管上面介绍的多种部件的实现可以在硬件装置中实现,其还可实现为仅仅使用软件的解决方案,例如安装在已有的服务器上。另外,这里所公开的欺骗性网络检测技术也实现为固件、固件/软件组合、固件/硬件组合或是硬件/固件/软件组合。
尽管上面已经介绍了本示教和/或其他实例,将会明了,可对之做出多种修改,且这里公开的主题可以以多种形式和实例实现,且本示教可以在多种应用中应用,这里仅仅介绍了其中的一些。所附权利要求旨在要求落入本示教真实范围内的任何以及全部应用、修改和变型。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除