一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于个性化和多模态的上下文感知的人机对话的系统和方法与流程

2022-04-02 13:16:29 来源:中国专利 TAG:

用于个性化和多模态的上下文感知的人机对话的系统和方法
1.相关申请的交叉引用
2.本技术要求以下专利申请的优先权:于2019年6月17日提交的美国临时专利申请62/862296(代理人案卷号:047437-0503589)、于2019年6月17日提交的美国临时专利申请62/862,253(代理人案卷号:047437-0503572)、于2019年6月17日提交的美国临时专利申请62/862257(代理人案卷号:047437-0503574)、于2019年6月19日提交的美国临时专利申请62/862261(代理人案卷号:047437-0503575)、于2019年6月17日提交的美国临时专利申请62/862264(代理人案卷号:047437-0503578)、于2019年6月17日提交的美国临时专利申请62/862265(代理人案卷号:047437-0503581)、于2019年6月17日提交的美国临时专利申请62/862273(代理人案卷号:047437-0503579)、于2019年6月17日提交的美国临时专利申请62/862275(代理人案卷号:047437-0503580)、于2019年6月17日提交的美国临时专利申请62/862279(代理人案卷编号:047437-0503584)、于2019年6月17日提交的美国临时专利申请62/862282(代理人案卷号:047437-0503585)、于2019年6月17日提交的美国临时专利申请62/862286(代理人案卷号:047437-0503586)、于2019年6月17日提交的美国临时专利申请62/862290(代理人案卷号:047437-0503587),以及于2019年6月17日提交的美国临时专利申请62/862296(代理人案卷号:047437-0503589),其内容通过引用整体并入本文。
技术领域
3.本教导一般而言涉及计算机。更具体而言,本教导涉及人机对话(human machine dialogue)管理。


背景技术:

4.随着人工智能技术的进步以及由于互联网连接性无处不在而导致的基于互联网的通信的爆炸式增长,计算机辅助对话系统变得越来越流行。例如,越来越多的呼叫中心部署自动对话机器人来处理客户呼叫。宾馆开始安装可以回答游客或客人的问题的各种信息亭。近年来,其它领域的自动化人机通信也越来越流行。
5.传统的计算机辅助对话系统通常预先编程有某些对话内容,诸如基于相关领域中众所周知的交谈模式的问题和答案。遗憾的是,一些交谈模式可能适用于一些人类用户,但可能不适用于其他人类用户。此外,人类用户可能会在交谈过程中跑题,继续固定的交谈模式而不考虑用户所说的话可能会造成刺激或失去兴趣,这是不期望的。
6.在计划交谈时,人类设计者通常需要基于已知知识来手动创作交谈的内容,这是耗时且乏味的。考虑到需要创作不同的交谈模式,甚至要求更多的劳动。在创作对话内容时,与设计的交谈模式的任何偏差可能需要被注意并用于确定如何继续交谈。先前的对话系统没有有效地解决此类问题。
7.随着ai领域中的最新发展,观察到的动态信息可以自适应地结合到学习中并被用于引导人机交互会话的进展。如何开发能够在不同维度并且有时以不同模态来结合动态信息的知识表示(knowledge representation)是个具有挑战性的问题。由于这种知识表示是
在人类和机器之间进行动态对话过程的基础,因此需要充分配置该表示以支持以相关方式进行自适应交谈。
8.为了与人类进行交谈,自动对话系统可能需要对人类在语言上所说什么、所说的话的语义是什么、有时人的情绪状态、以及所说的内容与交谈环境之间的相互因果关系实现不同级别的理解。传统的计算机辅助对话系统不足以解决此类问题。
9.因此,需要解决此类限制的方法和系统。


技术实现要素:

10.本文公开的教导涉及用于广告的方法、系统和程序设计。更具体地,本教导涉及与探索广告的源及其利用相关的方法、系统和程序设计。
11.在一个示例中,一种在具有至少一个处理器、存储器和能够连接到网络以进行人机对话的通信平台的机器上实现的方法。人机对话。从参与人机对话的用户接收关于对话场景中的话题(topic)的话语(utterance)。获得并分析与人机对话相关的多模态周围信息(multimodal surround information)以跟踪人机对话的多模态上下文(multimodal context)。基于所跟踪的多模态上下文,以上下文感知的(context aware)方式进行对该话语的口语理解的操作,以确定该话语的语义(semantics)。
12.在不同的示例中,一种用于人机对话的系统包括用于执行人机对话的方法的各种功能模块。这种人机对话系统包括周围知识跟踪器(surround knowledge tracker)和口语理解(slu)引擎。周围知识跟踪器被配置为用于获得与人机对话相关的多模态周围信息并分析多模态周围信息以跟踪人机对话的多模态上下文。slu引擎被配置为接收来自参与人机对话的用户关于对话场景中的话题的话语,并基于所跟踪的多模态上下文以上下文感知的方式来对话语的口语理解(slu)进行个性化以确定该话语的语义。
13.其它概念涉及用于实现本教导的软件。根据这个概念的软件产品包括至少一个机器可读非暂态介质和由该介质携带的信息。由介质携带的信息可以是可执行程序代码数据、与可执行程序代码相关联的参数,和/或与用户、请求、内容或其它附加信息相关的信息。
14.在一个示例中,一种机器可读的非暂态且有形介质,其上记录有用于人机对话的数据,其中该介质在被机器读取时使机器执行一系列步骤以执行用于用户机器通信的方法。人机对话。从参与人机对话的用户接收关于对话场景中的话题的话语。获得并分析与人机对话相关的多模态周围信息以跟踪人机对话的多模态上下文。基于所跟踪的多模态上下文以上下文感知的方式进行对该话语的口语理解的操作,以确定话语的语义。
15.附加的优点和新颖特征将部分地在下面的描述中阐述,并且部分地在本领域技术人员检查以下和附图后将变得清楚,或者可以通过示例的生产或操作来学习。本教导的优点可以通过以下讨论的详细示例中阐述的方法、工具和组合的各个方面的实践或使用来实现和获得。
附图说明
16.本文描述的方法、系统和/或程序根据示例性实施例进一步描述。参考附图详细描述这些示例性实施例。这些实施例是非限制性示例性实施例,其中在附图的若干视图中相
同的附图标记表示相似的结构,并且其中:
17.图1a描绘了根据本教导的实施例的以捕获在对话期间观察到的动态信息的信息状态为中心的对话系统的示例性配置;
18.图1b是根据本教导的实施例的使用捕获在对话期间观察到的动态信息的信息状态的对话系统的示例性过程的流程图;
19.图2a描绘了根据本教导的实施例的信息状态的示例性构造;
20.图2b图示了根据本教导的实施例的在与教导用户分数(fractions)加法的机器人导师(robot tutor)的对话中如何将所估计的不同心态(mindset)进行连接的表示;
21.图2c示出了根据本教导的实施例的在信息状态下的代理(agent)的心态、共享心态(shared mindset)和用户的心态的估计表示之间的示例性关系;
22.图3a示出了根据本教导的实施例的用于表示对话中涉及的各方的估计心态的不同类型的与或图(and-or-graph,aog)之间的示例性关系;
23.图3b描绘了根据本教导的实施例的信息状态中的空间aog(s-aog)和时间aog(t-aog)之间的示例性关联;
24.图3c图示了根据本教导的实施例的示例性s-aog及其相关联的t-aog;
25.图3d图示了根据本教导的实施例的s-aog、t-aog和c-aog之间的示例性关系;
26.图4a图示了根据本教导的实施例的示例性s-aog,其部分地表示用于教导不同数学概念的代理的心态;
27.图4b图示了根据本教导的实施例的示例性t-aog,其表示部分地与教导分数的概念的代理的心态相关联的对话策略;
28.图4c示出了根据本教导的实施例的用于教导与分数相关联的概念的示例性对话内容;
29.图5a图示了根据本教导的实施例的t-aog内的示例性时间解析图(temporal parsed graph,t-pg),其表示用户和机器之间的共享心态;
30.图5b图示了根据本教导的实施例的机器和人之间沿着对话路径的对话的一部分,该对话路径表示共享心态的当前表示;
31.图5c描绘了根据本教导的实施例的示例性s-aog,其具有节点,这些节点用与不同底层概念的掌握级别相关的测量来进行参数化以表示用户的心态;
32.图5d示出了根据本教导的实施例的用户的示例性性格特征类型,这些性格特征类型可以基于来自对话的观察进行估计;
33.图6a描绘了根据本教导的实施例的用于辅导对话(tutoring dialogue)的通用s-aog;
34.图6b描绘了根据本教导的实施例的关于问候的对话的特定t-aog;
35.图6c示出了根据本教导的实施例的用于不同类型的aog的不同类型的参数化替代方案;
36.图6d图示了根据本教导的实施例的s-aog,其具有用奖励来参数化的不同节点,这些奖励基于来自对话的动态观察而更新;
37.图6e图示了根据本教导的实施例的通过利用参数化的内容经由图匹配来合并不同的图而生成的示例性t-aog;
38.图6f图示了根据本教导的实施例的示例性t-aog,其具有与节点相关联的参数化的内容;
39.图6g图示了根据本教导的实施例的示例性t-aog,其中不同路径遍历不同节点,这些不同路径用奖励来参数化,这些奖励基于来自对话的动态观察而更新;
40.图7a描绘了根据本教导的实施例的知识追踪单元的高级系统图;
41.图7b图示了根据本教导的实施例的知识追踪如何启用自适应对话管理;
42.图7c是根据本教导的实施例的知识追踪单元的示例性过程的流程图;
43.图8a示出了根据本教导的实施例的关于s-aog的效用驱动的(utility driven)辅导(节点)计划的示例;
44.图8b图示了根据本教导的实施例的关于t-aog的效用驱动的路径计划的示例;
45.图8c图示了根据本教导的实施例的基于参数化的aog导出的效用驱动的自适应对话管理中的动态状态;
46.图9a-9b示出了根据本教导的实施例的通过对aog参数化的内容的自动丰富化(automated enrichment)来增强人机对话中的口语理解的方案;
47.图9c图示了根据本教导的实施例的为参数化的aog内容生成丰富化的训练数据的示例性方式;
48.图10a描绘了根据本教导的实施例的用于通过基于自动生成的丰富化的aog内容训练模型来增强asr/nlu的示例性高级系统图;
49.图10b是根据本教导的实施例的通过基于自动生成的丰富化的aog内容训练模型来增强asr/nlu的示例性过程的流程图;
50.图11a描绘了根据本教导的实施例的基于在对话期间所跟踪的周围知识的用于上下文感知的口语理解的示例性高级系统图;
51.图11b图示了根据本教导的实施例的示例性类型的周围知识,其要被跟踪以促进上下文感知的口语理解;
52.图12a图示了根据本教导的实施例的基于对话中发生的交谈来跟踪个人简档(personal profile);
53.图12b图示了根据本教导的实施例在对话期间基于视觉观察来跟踪个人简档;
54.图12c示出了根据本教导的实施例的基于从对话场景获取的多模态输入信息在对话期间被跟踪的示例性部分个人简档;
55.图12d示出了根据本教导的实施例的基于交谈而构建的示例性事件知识表示;
56.图13a图示了根据本教导的实施例的用于对用户进行分类以用于自适应对话计划的特点组(characteristic group);
57.图13b图示了根据本教导的实施例的个性化的用户简档的示例性内容/构造;
58.图13c示出了根据本教导的实施例的建立用户的组特点及其使用以促进自适应对话计划的示例;
59.图14a描绘了根据本教导的实施例的用于跟踪个体语音相关的特点及其用户简档以促进自适应对话计划的示例性高级系统图;
60.图14b是根据本教导的实施例的用于跟踪个体语音相关的特点及其用户简档以促进自适应对话计划的示例性过程的流程图;
61.图15a提供了根据本教导的实施例的用于构建对话期间观察到的事件的表示的示例性结构;
62.图15b-15c示出了根据本教导的实施例的基于来自对话场景的观察来跟踪以事件为中心的(event-centric)知识以作为对话上下文的示例;
63.图15d-15e示出了根据本教导的实施例的基于来自对话场景的观察来跟踪以事件为中心的知识以作为对话上下文的另一个示例;
64.图16a描绘了根据本教导的实施例的用于个性化的上下文感知的对话管理的示例性高级系统图;
65.图16b是根据本教导的实施例的用于个性化的上下文感知的对话管理的示例性过程的流程图;
66.图16c描绘了根据本教导的实施例的用于产生上下文感知的并且个性化的音频响应的nlg引擎和tts引擎的示例性高级系统图;
67.图16d是根据本教导的实施例的nlg引擎的示例性过程的流程图;
68.图16e是根据本教导的实施例的tts引擎的示例性过程的流程图;
69.图17a描绘了根据本教导的实施例的基于动态跟踪和反馈的自适应个性化的辅导的示例性高级系统图;
70.图17b图示了根据本教导的实施例的机器人代理教学器可以用来辅导学生的示例性方法;
71.图17c提供了根据本教导的实施例的评分器可以动态观察的学生用户的示例性方面;
72.图17d提供了口语的标准声学(acoustic)/视素(viseme)特征的示例;
73.图17e示出了根据本教导的实施例的相对于底层口语的声学/视素特征基于用户的声学/视素特征而设计的自适应辅导计划的示例;
74.图17f示出了根据本教导的实施例的基于用户的视素特征与底层口语的视素特征的偏差而用于用户的辅导内容的示例;
75.图17g是根据本教导的实施例的基于动态跟踪和反馈的自适应个性化的辅导的示例性过程的流程图;
76.图18是根据各种实施例的可以被用于实现实施本教导的专用系统的示例性移动设备体系架构的说明图;以及
77.图19是根据各种实施例的可以被用于实现实施本教导的专用系统的示例性计算设备体系架构的说明图。
具体实施方式
78.在下面的详细描述中,通过示例的方式阐述了许多具体细节以便促进对相关教导的透彻理解。然而,对于本领域技术人员来说清楚的是,可以在没有这些细节的情况下实践本教导。在其它情况下,众所周知的方法、过程、部件和/或电路系统已经在相对高的级别进行了描述而没有详细说明,以避免不必要地模糊本教导的各方面。
79.本教导旨在解决传统的人机对话系统的缺陷,并提供使得能够对来自交谈环境的多模态信息进行丰富表示以允许机器对对话内容的周围和环境具有改进的感知的方法和
系统,并通过增强与用户的交互更好地适应对话。基于这样的表示,本教导进一步公开了用于创建此类表示和在此类表示中创作对话的内容的不同模式。此外,为了允许基于交谈期间发生的动态对这些表示进行调整,本教导还公开了追踪交谈的动态并相应地更新表示的机制,然后机器使用这些动态和表示以效用驱动的方式进行对话以实现最大化的结果。
80.图1a描绘了根据本教导的实施例的对话系统100的示例性配置,对话系统100以信息状态110为中心,信息状态110捕获对话期间观察到的动态信息。对话系统100包括多模态信息处理器120、自动语音识别(asr)引擎130、自然语言理解(nlu)引擎140、对话管理器(dm)150、自然语言生成(nlg)引擎160、文本到语音(tts)引擎170。系统100与用户180交互以进行对话。
81.在对话期间,从环境(包括从用户180)收集多模态信息,该多模态信息捕获交谈环境的周围信息、用户的语音和(面部或者身体的)表情等。这样收集的多模态信息被多模态信息处理器120分析以提取不同模态的相关特征,以便估计用户和环境的不同特点。例如,可以分析语音信号以确定语音相关的特征,诸如说话速度、音高(pitch)或甚至口音(accent)。还可以分析与用户相关的视觉信号以提取例如面部特征或身体姿势等,以便确定用户的表情。通过将声学特征和视觉特征相结合,多模态信息分析器120还可以能够推断用户的情绪状态。例如,高音高、快速说话加上愤怒的面部表情可以指示用户是不高兴的。在一些实施例中,还可以分析观察到的用户活动以更好地理解用户。例如,如果用户指向或走向特定对象,那么它可以揭示出用户在他/她的语音中所指的内容。这种多模态信息可以提供有用的上下文来理解用户的意图。多模态信息处理器120可以持续地分析多模态信息并将这样的经分析的信息存储在信息状态110中,然后由系统100中的不同部件使用该经分析的信息以促进与对话管理相关的决策。
82.在操作中,来自用户180的语音信息被发送到asr引擎130以执行语音识别。语音识别可以包括辨别用户180所说的语言和所说的词语。为了理解用户所说的语义,来自asr引擎130的结果被nlu引擎140进一步处理。这种理解不仅可以依赖于所说的词语,而且还可以依赖于其它信息(诸如用户180的表情和姿势)和/或其它上下文信息(诸如之前所说的内容)。基于对用户的话语的理解,对话管理器150确定如何对用户做出响应。然后可以经由nlg引擎160以文本形式生成所确定的这种响应,并经由tts引擎170进一步从文本形式变换成语音信号。然后可以将tts引擎170的输出作为对用户的话语的响应递送给用户180。经由这种来回交互,用于机器对话系统的过程继续,以与用户180执行交谈。
83.如图1a中所见,系统100中的部件连接到信息状态110,如本文所讨论的,信息状态110捕获围绕对话的动态并提供相关且丰富的上下文信息,这些相关且丰富的上下文信息可以被用于促进语音识别(asr)、语言理解(nlu)和各种与对话相关的确定,包括什么是适当的响应(dm)、什么语言特征要应用于文本响应(nlg)以及如何将文本响应转换成语音形式(tts)(例如,什么口音)。如本文所讨论的,信息状态110可以表示基于多模态信息获得的、与对话相关的动态,其与用户180相关或者与对话的周围相关。
84.在从对话场景(关于用户或者关于对话环境)接收到多模态信息后,多模态信息处理器170分析该信息并在不同维度来表征对话周围环境,例如,声学特点(例如,用户的音高、速度、口音)、视觉特点(例如,用户的面部表情、环境中的对象)、身体特点(例如,用户挥手或指向环境中的对象)、估计的用户的情绪和/或心态,和/或用户的偏好或意图。这种信
息然后可以存储在信息状态110中。
85.存储在信息状态110中的丰富的媒体上下文信息可以促进不同部件发挥它们相应的作用,使得对话可以关于预期目标以自适应、更具吸引力和更有效的方式进行。例如,丰富的上下文信息可以根据在对话场景中观察到的内容来提高对用户180的话语的理解、评估用户180的表现和/或根据对话的预期目标而估计用户的效用(或偏好)、基于估计的用户的情绪状态来确定如何对用户180的话语做出响应,并基于对用户的了解以被认为最适当的方式递送该响应等。例如,如果在关于用户的信息状态中捕获了以声音形式(例如,说出某些音素的特殊方式)和视觉形式(例如,用户的特殊视素)表示的口音信息,那么asr引擎130可以利用此信息来判断出用户所说的词语。类似地,nlu引擎140也可以利用丰富的上下文信息来判断出用户所指的语义。例如,如果用户指向放在桌子上的计算机(视觉信息)并说“我喜欢这个”,那么nlu引擎140可以组合asr引擎130的输出(即,“我喜欢这个”)和用户指向房间中的计算机的视觉信息,以理解用户的“这个”是指计算机。作为另一个示例,如果用户180在辅导会话中反复犯错,同时,基于语音的语气和/或用户的面部表情(例如,它们是基于多模态信息而确定的)估计出用户表现得很恼火,那么,不是继续推进辅导内容,而是dm 140可以基于用户的已知兴趣(例如,谈论乐高游戏)来决定暂时改变话题以便继续吸引用户。可以基于例如先前关于用户观察到的关于什么起作用(例如,间歇性地使用户分心在过去起到了作用)和什么不起作用(例如,继续向用户施压让其做得更好)的效用(utility)来确定使用户分心的决策。
86.图1b是根据本教导的实施例的对话系统100的示例性过程的流程图,其中信息状态110捕获对话期间观察到的动态信息。如图1b中所见,该过程是迭代过程。在105处,多模态信息被接收,然后该多模态信息在125处由多信息处理器170分析。如本文所讨论的,多模态信息包括与用户180相关的信息和/或与对话周围环境相关的信息。与用户相关的多模态信息可以包括用户的话语和/或对用户的视觉观察,诸如身体姿势和/或面部表情。与对话周围环境相关的信息可以包括与环境相关的信息,诸如存在的对象、用户与此类观察到的对象之间的空间/时间关系(例如,用户站在桌子前面)、和/或用户的活动与观察到的对象之间的动态关系(例如,用户走向桌子并指向桌上的计算机)。然后可以使用对从对话场景捕获的多模态信息的理解来促进对话系统100中的其它任务。
87.基于存储在信息状态110中的(表示过去的状态的)信息以及来自多模态信息处理器170的(关于当前状态的)分析结果,asr引擎120和nlu引擎130在125处分别执行语音识别以确定用户所说的词语和基于识别出的词的语言理解。asr和nlu可以基于当前的信息状态110以及来自多模态信息处理器170的分析结果而被执行。
88.基于多模态信息分析和语言理解的结果(即,用户说了什么或意思是什么),在135处追踪对话状态的改变,并且在145处使用此类改变来相应地更新信息状态110以促进后续处理。为了执行对话,dm 140在155处基于为底层对话设计的对话树、nlu引擎130的输出(对话语的理解)、以及存储在信息状态110中的信息来确定响应。一旦确定了该响应,nlg引擎150就基于信息状态110以例如其文本形式生成响应。当响应被确定时,可以存在说出它的不同方式。nlg引擎150可以在165处以基于用户的偏好的风格或已知更适合当前对话中的特定用户的风格来生成响应。例如,如果用户错误地回答了问题,那么可以存在指出那个答案不正确的不同方式。对于当前对话中的特定用户,如果已知该用户敏感且容易受挫,那么
可以使用更温和的方式告诉用户他/她的回答不正确以生成响应。例如,不是说“这是错误的”,nlg引擎150而是可以生成“它不是完全正确的”的文本响应。
89.由nlg引擎150生成的文本响应然后可以在175处由tts引擎160渲染为语音形式,例如,音频信号形式。虽然可以使用标准或常用的tts技术来执行tts,但本教导公开了可以基于存储在信息状态110中的信息进一步个性化由nlg引擎150生成的响应。例如,如果已知较慢的谈话速度或较柔和的谈话方式对用户更有效,那么可以在175处由tts引擎160将生成的响应相应地渲染为一语音形式,例如,其具有较低的速度和音高。另一个示例是根据信息状态110中用户的个性化的信息用与学生的已知口音一致的口音来渲染该响应。然后,所渲染的响应可以在185处作为对用户话语的响应而被递送给用户。在对用户的响应之后,对话系统100然后追踪对话的附加改变并在195处相应地更新信息状态110。
90.图2a描绘了根据本教导的实施例的信息状态表示110的示例性构造。非限制性地,信息状态110包括针对估计的心思或者说心态的表示。如图所示,可以估计不同的表示来表示例如代理的心态200、用户的心态220和共享的心态210,连同记录在其中的其它信息。代理的心态200可以指对话代理(机器)在特定对话中要实现的(一个或多个)预期目标。共享的心态210可以指当前对话情况的表示,它是代理根据代理的心态200执行预期议程以及用户的实际表现的组合。用户的心态220可以指代理根据共享的心态或用户的表现而对学生相对于对话的预期目的处于什么状态的估计的表示。例如,如果代理的当前任务是向学生用户教导数学中的分数的概念(可以包括建立对分数的理解的子概念),那么用户的心态可以包括对用户对各种相关概念的估计掌握程度。这种估计可以基于在辅导此类相关概念的不同阶段对学生表现的评估而得出。
91.图2b图示了根据本教导的实施例的在机器人导师205向学生用户180教导与分数加法相关的概念215的示例中不同心态的这种表示是如何连接的。如所看到的,机器人代理205经由多模态交互与学生用户180交互。机器人代理205可以基于代理的心态200的初始表示(例如,可以表示为aog的关于分数加法的课程)来开始辅导。在辅导期间,学生用户180可以回答来自机器人导师205的问题并且对问题的此类回答形成特定对话路径,从而使得能够估计共享的心态210的表示。基于用户的回答,用户的表现被评估,并且用户的心态220的表示被关于不同方面而估计,例如,学生是否掌握了所教的概念以及什么样的对话风格对这个特定的学生起作用。
92.如图2a中所见,所估计的心态的表示是基于一些与图相关的形式(包括但不限于空间-时间-因果与或图stc-aog 230、stc解析图(stc-pg)240)的,并且可以与存储在信息状态中的其它类型的信息(诸如对话历史250、对话上下文260、以事件为中心的知识270、常识模型280、
……
和用户简档290)结合使用。这些不同类型的信息可以属于多种模态并且构成关于每个用户的每个对话的动态的不同方面。如此,信息状态110捕获各种对话的通用信息以及关于每个用户和每个对话的个性化的信息,并互连在一起以促进对话系统100中的不同部件以更加自适应、个性化和吸引人的方式来执行相应任务。
93.图2c示出了根据本教导的实施例的在信息状态110中表示的代理的心态200、共享的心态210和用户的心态220之间的示例性关系。如本文所讨论的,共享的心态210表示经由代理和用户之间的交互而实现的对话的状态,并且是代理的预期意图(根据代理的心态)和用户在遵循代理的预期议程时的表现的组合。基于共享的心态210,对话的动态可以关于代
理能够实现什么以及直到那个点用户能够实现什么而被追踪。
94.追踪这种动态知识使系统能够估计用户到那个点为止已经实现了什么,学生用户到目前为止以何种方式掌握了哪些概念或子概念(即,哪个(哪些)对话路径起作用以及哪些可能行不通)。基于学生用户到目前为止所取得的成就,可以推断或估计用户的心态220,它将被用于确定代理可以如何进一步促进调整或更新对话策略以便实现预期目标或调整代理的心态以适应用户。调整代理的心态的过程使得能够推导出更新后的代理的心态200。基于对话历史,对话系统100学习用户的偏好或什么对用户更有效(效用)。这些信息一旦被结合到信息状态中就将被用于经由效用驱动的(或偏好驱动的)对话计划来调整对话策略。更新后的对话策略驱动对话中的下一步,这进而会导致来自用户的响应以及随后对共享的心态、用户的心态和代理的心态的更新。该过程迭代进行,以便代理可以基于动态的信息状态而继续调整对话策略。
95.根据本教导,基于例如stc-aog和stc-pg来表示不同的心态。图3a示出了根据本教导的实施例的用于表示对话中涉及的各方的估计心态的不同类型的与或图(aog)之间的示例性关系。aog是带有and(与)分支和or(或)分支的图。与aog中的节点相关联并通过and关系而关联的分支表示需要被全部遍历的任务。来自aog中的节点并通过or关系而关联的分支表示可以被选择地遍历的任务。如本文所讨论的,stc-aog包括与空间aog对应的s-aog、与时间aog对应的t-aog、以及与因果aog对应的c-aog。根据本教导,s-aog是包括如下节点的图,每个节点可以与对话中要覆盖的话题对应。t-aog是包括如下节点的图,每个节点可以与要采取的时间动作对应。每个t-aog可以与s-aog中的话题或节点相关联,即,表示在关于与s-aog节点对应的话题的对话期间要执行的步骤。c-aog是包括如下节点的图,每个节点可以链接到t-aog中的节点和对应s-aog中的节点,从而表示在t-aog中发生的动作以及该动作对对应s-aog中的节点的因果影响。
96.图3b描绘了根据本教导的实施例的s-aog中的节点与在信息状态110中表示的相关联的t-aog的节点之间的示例性关系。在这个图示中,每个k节点与s-aog中的节点对应,表示对话中要教导的技能或话题。关于每个k节点的评估可以包括“掌握”或“尚未掌握”,例如,相应的概率p(t)和1-p(t),即,p(t)表示从尚未掌握到掌握状态的转移概率。p(l0)表示关于话题的先验学习技能或先验知识的概率,即,学生在辅导会话开始之前已经掌握该概念的可能性。为了教导与每个k节点相关联的技能/概念,机器人导师可以根据与k节点相关联的t-aog来提出多个问题,然后学生将回答每个问题。每个问题被示为q节点并且学生的答案在图3b中被表示为a节点。
97.在代理和用户之间的交谈期间,学生的答案可以是正确答案a(c)或错误答案a(w),如图3b中所见。基于从用户接收到的每个答案,基于例如在对话期间收集的各种知识或观察来确定附加概率。例如,如果用户提供正确答案(a(c)),那么可以确定该答案是猜测的概率p(g),其表示学生不知道正确答案但猜对了正确答案的可能性。相反,1-p(g)是用户知道正确答案并正确回答的概率。对于不正确或错误的答案a(w),可以确定概率p(s),其表示学生给出错误答案但学生确实知道该概念的可能性。基于p(s),可以估计概率1-p(s),其表示学生由于不知道概念而给出错误答案的可能性。此类概率可以针对沿着基于实际的对话而经历的路径上的每个节点而计算,并且可以被用于估计学生何时掌握了该概念,以及在关于每个特定话题教导这个特定的学生方面估计什么可能起作用以及什么可能行不通。
98.图3c图示了根据本教导的实施例的示例性s-aog及其相关联的t-aog。在用于指导分数的概念的示例s-aog 310中,每个节点与在对话期间要教给学生用户的话题或概念对应。例如,s-aog 310包括表示分数的概念的节点p0或310-1、表示除法的概念的节点p1或310-2、表示乘法的概念的节点p2或310-3、表示加的概念的节点p3或310-4,以及表示减的概念的节点p4或310-5。在这个示例中,s-aog 310中的不同节点是相关的。例如,要掌握分数的概念,至少需要先掌握关于加、减、乘、除的其它概念中的一些。为了教导由s-aog节点表示的概念(例如,分数),代理可能需要在与学生用户的对话会话中执行一系列步骤或过程。这种过程或一系列步骤与t-aog对应。在一些实施例中,对于s-aog中的每个节点,可以有多个t-aog,每个t-aog可以表示教学生的不同方式并且可以以个性化的方式被调用。如图所示,s-aog节点310-1具有多个t-aog 320,其中一个被示为320-1,其与问题/答案330、340、350、360、370、380
……
等一系列时间步骤对应。在教导分数概念的每个辅导会话中,使用哪个t-aog的选择可以有所不同并且可以基于各种考虑(例如,会话中的用户(个性化的)、当前概念的掌握程度(例如,p(l0))等)来确定。
99.基于stc-aog的对话的表示捕获与该对话相关的实体/对象/概念(s-aog)、对话期间观察到的可能动作(t-aog),以及这些动作中的每个动作对这些实体/对象/概念的影响(c-aog)。在对话(语音)期间发生的实际对话活动会导致遍历对应的图表示或者说stc-aog,从而产生与stc-aog的被遍历部分相对应的解析图(pg)。在一些实施例中,s-aog可以对对话的对象和场景的空间分解(spatial decomposition)进行建模。在一些实施例中,s-aog可以对如本文讨论的概念和子概念的分解进行建模。在一些实施例中,t-aog可以对在与对应s-aog中表示的某些实体/对象/概念相关的对话中可以执行或已经发生的事件/子事件/动作的时间分解进行建模。c-aog可以对t-aog中表示的事件的分解及其与s-aog中表示的相应实体/对象/概念的因果关系进行建模。即,c-aog描述由对话中采取的并在t-aog中表示的事件/动作所造成的对s-aog中节点的改变。这种信息是关于对话的不同方面的并在信息状态110中被捕获。即,信息状态110表示用户和对话代理之间对话的动态。这在图3d中图示。
100.如本文所讨论的,基于实际对话会话,基于交谈而遍历的特定路径会产生不同类型的对应的解析图(pg)。例如,它可以适用于s-aog从而产生s-pg,适用于t-aog从而产生t-pg,以及适用于c-aog从而产生c-pg。即,基于stg-aog,实际对话导致动态的stc-pg,它至少部分地表示参与对话会话的各方的不同心态。为了说明这一点,图4a-4c示出了示例性s-aog/t-aog,其与代理的用于教导分数相关概念的心思相关联;图5a-5b经由t-pg提供共享的心态的示例性表示,该t-pg基于特定辅导会话中的对话产生;图6a-6b示出了用户的心态在与对话代理的对话中所教导的不同概念的估计掌握程度方面的示例性表示。
101.图4a示出了根据本教导的实施例的代理关于分数辅导的心态的示例性表示。如本文所讨论的,代理的心态的表示可以反映代理期望或被设计为在对话中覆盖什么内容。代理的心态可以在对话会话期间基于用户的表现/行为进行调整,使得代理的心态的表示捕获此类动态或调整。如图4a中所示,代理的心态的示例性表示包括各种节点,每个节点表示与分数的概念相关的子概念。例如,有与以下相关的子概念:“理解分数”400、“比较分数”405、“理解等值分数”410、“展开和简化等值分数”415、“找到因子对”420、“应用乘法/除法的特性”425,“分数相加”430,“找到lcm”435,“在乘法/除法中求解未知数”440,“100以内的
乘和除”445,“简化假分数”450,“理解假分数”455,以及“加法和减法”460。这些子概念可以构成分数的格局,一些子概念可能需要在其它子概念之前被教导,例如,“理解假分数”455可能需要在“简化假分数”450之前被覆盖,“加法和减法”460可能需要在“100以内的乘和除”445之前掌握,等等。
102.图4b图示了根据本教导的实施例的示例性t-aog,该t-aog表示在教导与分数相关的概念时代理的心态。如本文所讨论的,t-aog包括与对话相关联的各种步骤,其中一些步骤与代理说什么有关,其中一些步骤与用户响应什么有关,并且其中一些步骤与针对由代理执行的交谈的某些评估对应。t-aog中存在表示决策的分支。例如,在470处,对应动作是让代理突出显示分子和分母框,这例如可以是在向学生讲授什么是分子和分母之后。在链路480之后,代理前进到490以请求用户输入,例如,请求用户告诉代理哪个突出显示的是分母。基于从学生那里接收到的答案,代理遵循由or(加号)组合的两个链路,其中每个链路表示用户采取的一条路径。例如,如果用户正确回答了哪个是分母,那么代理前进到490-3,例如,进一步要求用户评估分母。如果用户回答不正确,那么代理前进到490-4以向用户提供关于分母的提示,然后按照链路490-2返回到490,再次要求关于哪个是分母的用户输入。
103.如果代理在490-3处要求用户评估分母,那么存在两种相关联的结果,一种是错误答案,一种是正确答案。前者导致490-5,代理在490-5向用户指示答案不正确,然后遵循链路490-1返回到490,再次询问用户的输入。如果答案正确,那么代理遵循另一条路径前进到490-6,让用户知道他/她是正确的并继续沿着该路径以分别在490-7和490-8处进一步设置分母并清除突出显示。如可以看到的,490处的步骤表示代理计划的、与教导分母的概念相关的时间动作,其与图4a中表示代理计划教导学生分数概念的概念的s-aog相关。因此,它们共同构成了用于代理的心态的表示的一部分。图4c示出了根据本教导的实施例为了教导与分数相关联的概念而创作的示例性对话内容。通过使用类似的对话策略,交谈旨在在问答流程中被执行。
104.图5a图示了根据本教导的实施例的t-pg形式的共享的心态的示例性表示(与图4b中的t-aog中的路径对应)。突出显示的步骤形成了对话中由对话代理基于来自用户的答案而执行的动作所采取的特定路径。与图4b中所示的t-aog相比,图5a中所示的是沿着突出显示的路径的各个突出显示的步骤(例如,470、510、520、530、540、550
……
)的t-pg。图5a中所示的t-pg表示基于代理和用户二者的动作而遍历的实例化路径,因此表示共享的心态。图5b图示了根据本教导的实施例的代理和用户之间的所创作的对话内容的一部分,共享的心态的表示可以是基于该部分而获得的。如本文所讨论的,共享的心态的表示可以基于对话的流来导出,该对话的流形成沿着现有t-aog而遍历的特定路径或t-pg。
105.如本文所讨论的,在对话期间,对话代理基于对与用户的交谈的观察来估计参与对话的用户的心态,使得对话以及所估计的用户的心态的表示二者都基于对话的动态来调整。例如,为了确定如何进行对话,代理可能需要基于对用户的观察来评估或估计用户对特定话题的掌握程度。如关于图3b所讨论的,该估计可以是概率性的。基于此类概率,代理可以推断出当前对概念的掌握程度并确定如何进一步进行交谈,例如,如果估计的掌握程度不够,那么继续指导当前话题,或者如果估计的用户对当前概念的掌握程度是足够的,那么前进至其它概念。代理可以在对话过程中定期评估,并在此过程中注释pg(参数化)以促进在遍历图时的下一步移动的决策。这种带注释或参数化的s-aog可以产生s-pg,即,例如,指
示s-aog中的哪些节点已被充分覆盖以及哪些尚未被充分覆盖。图5c描绘了根据本教导的实施例的对应s-aog的示例性s-pg,其表示估计的用户的心态。底层s-aog在图4a中示出。在这个图示的示例中,在对话期间,这个s-aog中的每个节点都基于交谈而被评估,并基于此类评估而被参数化或注释。如图5c中所示,表示与分数相关的不同子概念的节点用相应的不同参数(这些参数例如指示对应节点的掌握程度)进行注释。
106.如图5c中所示,初始s-aog(图4a)中的节点现在在图5c中用不同的权重进行注释,每个权重指示所评估的对该对应节点的子概念的掌握程度。如所看到的,图5c中的节点以不同的阴影呈现,这些阴影根据表示对底层子概念的不同掌握程度的权重而确定。例如,现在打点的节点可以与那些已经掌握的子概念对应,因此不需要进一步遍历。节点560和565(与“理解分数”和“理解假分数”对应)可以与没有达到所需掌握水平的子概念对应。在这两个节点之间的连接到这两个节点的所有节点(例如,掌握的和未掌握的)都可以被认为是用户还没有掌握分数和假分数的概念的原因。
107.对原始s-aog中的相应节点的如此估计的掌握水平会产生带注释的s-pg,其表示估计的用户的心态,该估计的用户的心态将指示对与此类节点相关联的概念的理解程度。这为对话代理理解用户的相关格局提供了基础,例如,对于已经教导的内容,用户已经理解了什么内容以及用户对于什么内容仍然存在问题。如所看到的,用户的心态的表示是基于例如用户在正在进行的对话期间的表现和活动而动态估计的。除了估计与不同节点相关联的概念的掌握水平以理解用户的心态之外,在正在进行的对话期间可以收集的关于用户的上下文观察和信息也可以被用于估计用户的其它特点或行为指标,作为理解用户的心态的一部分。图5d示出了根据本教导的实施例的可以基于在交谈中观察到的信息来估计的用户的人格特质的示例性类型。如图所示,在与用户的交谈中,基于对用户行为或表情(无论是口头、视觉还是身体形式)的观察,代理可以经由多模态信息处理(例如,通过多模态信息处理器170)在不同维度中就例如用户是否外向、用户有多成熟、用户是否淘气、用户是否容易兴奋、用户是否一般开朗、用户对他/她自己感觉如何自信或安全、用户是否可靠、严谨等方面估计用户的各种特点。这种信息一旦被估计就形成用户的简档,其可以影响对话系统100以确定如何在需要时调整对话系统100的对话策略以及对话系统100的代理应当以何种方式与用户进行对话。
108.s-aog和t-aog二者都可以具有某些结构,这些结构基于例如交谈的话题、概念或流进行组织。图6a描绘了根据本教导的实施例的与辅导对话相关的s-aog的示例性通用结构。如图6a中所示的这种通用结构不是特定于主题,而是可以被用于教导任何主题。示例性结构包括辅导对话中涉及的不同阶段,其在s-aog中表示为不同节点。如图所示,节点600用于与问候相关的对话,节点605用于关于例如天气或健康的聊天,节点610用于回顾先前所学知识的对话(例如,作为教导预期的主题的基础),节点615用于教导预期的主题,节点620用于关于所教的主题来测试学生用户,以及节点625用于基于该测试来评估学生用户对所教的主题的掌握程度的对话。不同的节点可以以涵盖底层子对话之间的不同流的方式连接,但是每个对话中的特定流可以是基于情况而动态地确定的。从节点出来的一些分支可以经由and关系而相关,并且从节点出来的一些分支可以经由or关系而相关。
109.如图6a中所见,与辅导相关的对话可以从问候对话600开始,诸如“早上好”、“下午好”或“晚上好”。存在从节点600出来的三个分支,包括去往用于简短聊天的节点605,去往
用于回顾先前所学知识的节点610,以及去往直接开始教学的节点615。这三个分支被or在一起,即,对话代理可以前进以遵循这三个分支中的任何一个。在聊天会话605之后,也存在三个分支,一个去往教学节点615,一个去往测试节点620,还有一个去往回顾节点610。回顾节点610也有两个分支,一个去往教学节点615,另一个去往测试节点620(可以在教学之前首先测试学生的先验知识或对主题的先验掌握水平)。在这个图示的实施例中,教学和测试节点是必需的对话,使得从节点605和610去往教学和测试节点615和620的分支通过and而相关。
110.教学和测试可以是迭代的,如节点615和620之间的双向箭头所表明的。根据需要,教学节点615或测试节点620二者都可以前进到评估节点625。即,可以基于来自节点615的教学结果或者来自节点620的测试结果来执行评估。基于评估结果,对话可以前进到三个可供替代的方案(通过or相关)之一,包括教学615(再次复习概念)、测试620(重新测试)或回顾610(加强用户对一些概念的理解),或者甚至是聊天605(例如,如果发现用户感到沮丧,那么对话系统100可以切换话题以继续吸引用户而不是失去用户)。这种用于与辅导相关的对话的通用s-aog是作为说明而非限制提供的。可以根据应用需要的任何逻辑流程导出用于辅导的s-aog。
111.如图6a中所见,每个节点本身就是对话,并且如本文所讨论的,可以与一个或多个t-aog相关联,每个t-aog表示针对预期主题的交谈流。图6b描绘了根据本教导的实施例的具有为s-aog节点600创作的关于问候的对话内容的示例性t-aog。t-aog可以被定义为对话的对话策略。遵循t-aog中定义的步骤就是执行实现某些预期目的的策略。在图6b中,每个矩形框中的内容表示代理要说的内容,并且椭圆中的内容表示用户响应的内容。如所看到的,在图6b中所示的用于问候的t-aog中,代理首先说三个可供替代的问候之一,即,早上好630-1、下午好630-2和晚上好630-3。用户对这种问候的响应可以不同。例如,用户可以重复代理所说的话(即,早上好、下午好或晚上好)。有些人会重复,然后加上“你也是”635-1。有些人会在635-2处说“谢谢你,你呢?”。有些人会说635-1和635-2二者。有些人可以只是保持沉默635-3。可以还有其它可供替代的方式来响应代理的问候。在接收到来自用户的响应后,对话代理然后可以回答用户的响应。关于来自用户的每个可供替代的响应,每个答案都可以与用户的响应对应。这由图6b中640-1、640-2和640-3处的内容图示。
112.图6b中所示的t-aog可以涵盖多个t-aog。例如,图6b中的630-1、635-2和640-2可以构成用于问候的t-aog。类似地,630-1、635-1、640-1可以与用于问候的另一个t-aog对应;630-2、635-1、640-1可以形成另一个t-aog;630-1、635-3、640-3形成一个不同的t-aog;630-2、635-3和640-3可以形成另一个不同的t-aog,等等。虽然是不同的,但是这些可供替代的t-aog都具有基本相似的结构和通用内容。这种共性可以被用于生成简化t-aog,该简化t-aog具有与每个节点相关联的灵活的内容。这可以经由例如图匹配来实现。例如,上面提到的与问候相关的不同t-aog,虽然关于问候具有不同的创作的内容,但它们全都具有相似的结构,即,初始问候加上来自用户的响应以及加上对用户对问候的响应的响应。在这个意义上,图6b中的t-aog可以没有与用于问候的最简化的通用t-aog对应。
113.为了促进灵活的对话内容并使对话系统100能够以个性化的方式调整对话,aog可以被参数化。根据本教导的不同实施例,这种参数化可以就与aog中的节点相关联的参数以及与不同节点之间的链路相关联的参数这二者被应用于s-aog和t-aog二者。图6c示出了根
据本教导的实施例的不同示例性类型的参数化。如图所示,参数化的aog包括参数化的s-aog和t-aog。对于参数化的s-aog,它的每个节点都可以用奖励(reward)来参数化,该奖励例如表示通过覆盖与节点相关联的主题或话题/概念而获得的奖励。在辅导的上下文中,与s-aog中的节点相关的奖励越高,代理将与该节点相关联的概念教给学生用户的价值就越大。相反,如果学生用户已经熟悉与s-aog中的节点相关联的概念(例如,已经掌握了该概念),那么指派给该节点的奖励越低,这是因为通过将该相关联的概念教导给学生并没有进一步的好处。这种与节点相关联的奖励可以在辅导对话的过程期间被动态更新。这在图6d中示出,其中s-aog 310具有与相关数学概念相关联的节点,这些相关数学概念与分数相关。如所看到的,表示相关概念的每个节点都用奖励进行参数化,该奖励被估计以指示教导学生该概念是否有奖励。
114.s-aog中的每个节点可以具有不同的分支,并且每个分支通向与不同话题相关联的另一个节点。此类分支还可以与诸如采取相应分支的概率之类的参数相关联,如图6c中所示。图6d中还图示了对aog中的路径进行参数化。对分数的教学可能要求从加法和减法开始积累知识,然后是乘法和除法。沿着不同概念之间的每一个连接,存在从一个到另一个的概率。例如,如图所示,从“加法”节点310-4到“减法”节点310-5,参数化概率p
a,s
可以指示如果首先教导概念“加法”那么成功地教导学生理解“减法”的概念的可能性。相反,概率p
s,a
可以指示如果先教导减法那么成功地教导学生理解加法的可能性。作为另一个示例,从“加法”到“乘法”/“除法”分别用概率p
a,m
和p
a,d
进行参数化。类似地,从“减法”到“乘法”/“除法”也分别用概率p
s,m
和p
s,d
进行参数化。借助此类概率,对话代理可以通过以可能更好地起作用的次序来使成功地教会预期概念的概率最大化,从而选择优化的路径。此类概率也可以基于例如来自对话的观察而被动态更新。以这种方式,可以基于个人情况实时调整教导学生的动作的最佳过程。
115.参数化也可以应用于t-aog,如图6c中所指示的。如本文所讨论的,t-aog表示针对特定话题的对话策略。t-aog中的每个节点表示对话中的特定步骤,其常常与对话代理要对用户说什么、或用户将要对对话代理作出什么反应、或对转换的评估有关。如本文所讨论的,经常会出现如下情况:同样的事情可以以不同的方式说出来,并且说出它的任何方式都应被认为是在传达同样的事情。基于这个观察,与t-aog中的节点相关联的内容可以被参数化。根据本教导的实施例,这在图6e中示出。如图6b中所示,存在执行问候对话的不同方式。即使对于这样简单的主题,也可以存在很多不同的方式来表达几乎相同的事情。问候对话的内容可以在更简化的t-aog中被参数化。图6e示出了与图6b中所示的t-aog对应的示例性参数化的t-aog。初始问候现在被参数化为“[___]好!”650,其中括号中的内容被参数化为可能的实例“早上”、“下午”和“晚上”。用户对初始问候的回答现在分为两种情况,一种是口头回答655-1,另一种没有口头回答或者说是沉默655-2。口头回答655-1可以用不同的内容选择来参数化以响应初始问候,如与655-1相关联的大括号中所示。即,参数化的集合655-1中包括的任何内容都可以被识别为来自用户的对来自代理的初始问候的响应的可能答案。类似地,为了响应用户的答案,660-1处的来自代理的这种响应的内容也可以被参数化为对所有可能的响应的集合。在用户沉默的情况下,代理的响应内容660-2也可以类似地被参数化。
[0116]
图6f中图示了对与t-aog中的节点相关联的内容进行参数化的另一个示例。这个
示例涉及用于关于“加法”概念对学生进行测试的t-aog。如图所示,用于这种测试的t-aog可以包括以下步骤:提出问题(665)、询问学生答案(667)、学生提供答案(670-1或675-1)、对用户的答案进行响应(670-2或675-2),然后评估与用于“加法”的s-aog节点相关联的奖励(677)。对于图6f中t-aog的每个节点,与其相关联的内容被参数化。例如,对于步骤665,涉及的参数包括x、y、oi,其中x和y是数字,oi是指类型i的对象。通过实例化这些参数的特定值,可以形成许多问题。在图6f中的这个示例中,测试的665处的第一步骤是呈现类型1(“o1”)的x个对象和类型2(“o2”)的y个对象,其中x和y用数字(3和4)实例化并且“o1”和“o2”可以用对象的类型(诸如苹果和橙子)实例化。基于参数的这种实例化,可以生成特定的测试问题。在图6f中t-aog的667处,为了测试学生,对话代理将询问用户“o1”类型的x个对象和“o2”类型的y个对象的总和是多少。当x、y、o1和o2使用特定值进行实例化时,例如x=3、y=4、o1=苹果和o2=橙子,文本问题会呈现为“3个苹果,4个橙子”(甚至其图片),并且可以通过实例化参数化的问题来询问测试问题以询问x y的总和,例如,“有多少个水果?”或者“你能告诉我水果的总数吗?”以这种方式,可以在通用和参数化的t-aog下生成灵活的测试问题。同样参数化的测试问题也可以促进生成预期的正确答案。在这个示例中,由于x和y分别被实例化为3和4,因此对于求和的测试问题的预期正确答案可以动态地被生成为x y=7。然后可以使用这种动态生成的预期正确答案来评估响应于该问题而来自学生用户的答案。以这种方式,t-aog可以用更简单的图结构来参数化,同时使对话代理能够在参数化的框架中灵活地配置不同的对话内容以执行预期的任务。
[0117]
如本文所讨论的,当参数化的内容被实例化时,对话代理还可以动态地导出用于测试的评估的基础。在这个示例中,基于x=3和y=4的实例而形成预期正确答案7。当接收到答案时,该答案可以被归类为在670-1处的不知道答案(例如,当用户根本没有响应或答案不包含数字时)或在675-1处带有数字的答案(正确或不正确的数字)。对答案的响应也可以被参数化。不知道答案或不正确答案都可以被认为是非正确(not-correct)答案,可以在670-2处使用参数化响应对该非正确答案进行响应。
[0118]
对非正确答案的响应还可以分类为不同的情况,并且在每种情况下,可以利用适合于那个分类的适当内容来参数化响应内容。例如,当非正确答案是不正确的总数时,对其的响应可以被参数化以解决不正确的答案,这可以是由于错误或猜测造成的。如果非正确答案是因为用户根本不知道(例如,根本没有回答),那么可以将响应参数化以使用适当的响应替代方案直接针对那种情况。类似地,对正确答案的响应也可以被参数化以解决它确实是正确答案或者估计是幸运的猜测。
[0119]
如图6f中所示,在对话代理在不同情况下对来自用户的答案(或没有答案)进行响应之后,t-aog包括677处的步骤,用于评估掌握“加法”概念的当前奖励。在该评估后,该过程可以返回到665以关于更多的问题来测试学生。如果该评估揭示出学生没有完全理解该概念,那么该过程也可以继续进行“教学”,或者如果学生被视为已经掌握了该概念,那么该过程退出。在一些情况下,该过程也可以发生异常,例如,如果检测到学生根本无法完成作业,那么系统可以考虑暂时切换话题,如关于图6a所讨论的那样。
[0120]
此外,由于t-aog与对话策略(其指示交谈的可供替代的可能的流)对应,因此实际交谈可以通过遵循t-aog中的特定路径而遍历t-aog的一部分。不同对话会话中的不同用户或同一用户可以产生嵌入在同一个t-aog中的不同路径。这种信息对于允许对话系统100通
过关于不同用户来参数化沿着不同通路的链路从而使对话个性化可以是有用的,并且此类参数化的路径可以关于每个用户表示什么起作用以及什么行不通。例如,对于t-aog中两个节点之间的每个链路,可以关于每个学生用户对所教导的底层概念的理解的表现来估计该链路的奖励。这种以路径为中心的奖励可以基于与关于沿着该路径的每个节点的不同分支相关联的概率来计算。图6g图示了根据本教导的实施例的与用户相关联的t-aog,具有不同节点之间的不同路径,所述不同路径用基于在与用户的交谈中观察到的动态信息而更新的奖励进行参数化。在这个示例性参数化的t-aog(类似于图6f中呈现的t-aog)中,在680处向学生用户呈现x个对象1和y个对象2之后,代理在685处向用户询问x y的总数。基于对同一用户的先前教学或测试,可以存在关于学生将如何进行这一轮的估计可能性,即,对于每个可能的结果(690-1、680-2和690-3),分别存在相关联的奖励r
11
、r
12
和r
11

[0121]
如果来自学生的答案不正确(690-2),那么可以有不同的方式对其进行响应,例如,695-1、695-2和695-3。基于用户过去的经验或已知个性(也是以个性化的方式估计的),可以存在分别与每个可能的响应相关联的不同奖励分数r
22
、r
23
和r
24
。例如,如果已知用户是敏感的并且在鼓励或积极方式的情况下做得更好,那么与响应695-2相关联的奖励可以是最高的。在这种情况下,对话系统100可以选择利用响应695-2来对不正确的答案做出响应,该响应695-2在鼓励方面是更积极的。例如,对话代理可以说“差不多了。再想一想。”不同用户可能更喜欢不被告知错误,在这种情况下,针对该用户,与r
23
和r
24
相比,链接到响应695-1的奖励r
22
可以是最高的。这种与t-aog的可供替代的路径相关联的奖励分数是基于对特定用户的了解和/或过去与用户的打交道而个性化的。通过利用关于节点和路径二者的参数来配置aog,对话系统100可以在每次对话期间动态配置和更新参数以个性化aog,从而可以以灵活(内容被参数化)、个性化(参数是基于据个性化的信息计算的)并且因此更加高效的方式来进行这些对话。
[0122]
如本文所讨论并在图2a中所示的,信息状态110不仅基于aog还基于各种类型的信息(诸如对话上下文260、对话历史250、用户简档290、以事件为中心的知识270,以及一些常识模型280)来表示。不同心态200-220的表示是基于动态更新的aog以及来自250-290的其它信息来确定的。例如,虽然aog被用于表示不同的心态,但它们对应的pg(基于对话而遍历aog的结果)是基于aog中的实际遍历(节点和路径)和对话期间收集的动态信息而生成的。例如,与aog中的节点/链路相关联的参数的值可以是基于正在进行的对话、对话历史、对话上下文、用户简档、对话期间发生的事件等动态估计的。鉴于此,为了更新信息状态110,可以追踪不同类型的信息(诸如关于事件、周围环境、用户的特点、活动等的知识),然后所追踪的这种知识可以被用于更新不同的参数并最终更新信息状态110。
[0123]
如本文所讨论的,aog/pg被用于表示不同的心态,包括机器人代理的心态(根据预期要完成的内容设计)、机器人代理和用户之间的共享的心态的表示(基于实际发生的对话导出),以及用户的心态(基于发生的对话和用户在对话中的表现来估计)。当aog和pg被参数化时,与节点和链路相关联的参数的值可以基于例如与对话相关的信息、用户的表现、用户的特点以及可选地在对话期间发生的(一个或多个)事件等来评估。基于这种动态信息,此类心态的表示可以在对话期间基于变化的情况随时间被更新。
[0124]
图7a描绘了根据本教导的实施例的知识追踪单元700的高级系统图,知识追踪单元700用于追踪信息以及更新与aog/pg中的节点/路径相关联的奖励。如本文所讨论的,aog
中的节点可以分别用与状态相关的奖励来参数化,并且pg中的路径也可以分别用与路径相关的奖励或效用来参数化。与aog中的状态或节点相关联的奖励/效用可以包括表示与该节点相关联的概念的掌握程度的奖励/效用。aog节点的概念的掌握程度越高,与该节点的相关联的状态奖励/效用越低,即,教导已经被掌握的概念的奖励/效用相当低。奖励/效用是基于对用户表现的评估而被个性化和获得的,并且这种评估可以在对话期间即时地持续进行或定期进行。
[0125]
如本文所讨论的,与(例如,要在辅导中教导的)概念相关联的每个s-aog节点可以具有一个或多个t-aog,每个t-aog可以与教导该概念的特定方式对应。解析路径或pg是基于对话期间遍历的t-aog中的节点和链路而形成的。与t-aog或t-pg中的路径相关联的奖励/效用可以表示这条路径将导致成功的辅导会话或成功掌握概念的可能性。鉴于此,在沿着路径遍历时所评估的用户的表现越好,与该路径相关联的路径奖励/效用就越高。此类与路径相关的奖励/效用也可以基于多个用户的表现来确定,这些表现在统计上指示哪种教学风格对一组用户做得更好。当确定采取哪个分支路径来继续对话时,沿着不同分支路径的此类估计的奖励/效用可以在对话会话中特别有帮助,并且可以引导对话代理选择在统计上有更好机会导致更好表现(即,更快地达到对概念的掌握程度)的路径。
[0126]
图7a中所示的图示实施例针对在对话期间追踪状态和路径奖励。在这个图示实施例中,与节点和路径相关联的奖励是基于基于对话的动态情况所估计的不同概率而确定的。例如,对于s-aog中与例如“加法”概念相关联的节点,其奖励是基于状态的奖励,该基于状态的奖励表示通过向特定用户教导“加法”概念是否存在回报或奖励。对于注册从机器人代理学习数学的每个学生用户,用于s-aog的每个节点在数学概念上的奖励值是自适应地计算的。这种s-aog中每个节点(例如,对于数学概念“加法”)的奖励可以被指派初始奖励值,并且奖励值可以在用户进行由相关联的t-aog(关于“加法”概念的交谈流)指示的对话时继续改变。在由t-aog规定的对话期间,机器人代理可以向用户提问,然后用户回答问题。可以持续地评估来自用户的答案,并且估计用户是否在学习或取得进步的概率。在遍历t-aog时估计的此类概率可以被用于估计与s-aog中的节点(即,表示概念“加法”的节点)相关联的奖励,其指示用户是否已经掌握了该概念。即,与表示概念的节点相关联的奖励值在对话期间被更新。如果教学是成功的,那么奖励可以降到低值,该低值指示教导学生这个概念没有进一步的价值或奖励,因为学生已经掌握了这个概念。如所看到的,此类基于状态的奖励被个性化,因为它们是基于每个用户在对话中的表现来计算的。
[0127]
在t-aog中还存在与不同路径相关联的奖励,t-aog包括不同的节点,每个节点可以具有多个分支,这些分支表示可供替代的通路。不同分支的选择会导致对底层t-aog的不同遍历,并且每种遍历产生t-pg。在辅导应用中,为了跟踪辅导的有效性,在t-aog的(在对话期间被遍历的)每个节点处,不同分支可以与相应测量相关联,这些测量可以指示在选择相应分支时实现预期目标的可能性。与分支相关联的测量越高,它就越有可能通向满足预期目的的路径。然而,对从每个个体节点出来的分支的选择进行优化可能不会导致整体最优路径。在一些实施例中,不是对每个节点处的分支的个体选择进行优化,而是可以在路径的基础上执行优化,即,优化是关于(特定长度的)路径执行的。在操作中,这种基于路径的优化可以被实现为前瞻(look-ahead)操作,即,在考虑沿着路径的接下来的k个选择时,在关于当前节点的当前分支处的最佳选择是什么。这种前瞻操作是根据沿着每条可能路径的
复合测量来选择分支,该复合测量是基于沿着每条可能路径从当前节点出发的链路上累积的测量而确定的。查找的长度可以变化并且可以基于应用需要来确定。与(源自当前节点的)所有可供替代的路径相关联的复合测量可以被称为基于路径的奖励。然后,可以通过对从当前节点开始的所有可能的遍历的基于路径的奖励进行最大化,来选择从当前节点开始的分支。
[0128]
沿着t-aog的路径的奖励可以基于基于在对话期间观察到的用户的表现而确定的多个概率来确定。例如,在t-aog中的当前节点处,对话代理可以向学生用户提出问题,然后从用户接收响应于该问题的答案,其中该答案与从t-aog中针对该问题的节点出发的分支对应。然后,可以基于概率来估计与针对该分支的奖励相关的测量。此类测量以及基于路径的奖励被个性化,因为它们是基于从涉及特定用户的对话中观察到的个人信息计算出的。与沿着(与s-aog节点相关联的)t-aog路径的不同分支相关联的测量可以被用于估计s-aog节点关于学生掌握水平的奖励。这些奖励(包括基于节点的奖励和基于路径的奖励)可以构成用户的“效用”或偏好,并且可以被机器人代理用来自适应地确定如何在效用驱动的对话计划中继续对话。这在图7b中示出,该图示出了可以如何追踪知识以使对话系统100能够即时地基于“共享的心思”(其表示实际对话)适应相关知识,以使用这种追踪的知识来动态更新模型(参数化的aog中的参数,例如,对s-aog关于学生/用户的心思中对基本概念掌握程度的奖励,和/或对代理的心思中t-aog中不同路径的奖励),这些模型然后可以(被代理)使用,以根据与特定用户的对话的动态情况来执行效用驱动的对话计划。
[0129]
返回参考图7a,为了执行知识追踪和根据所追踪的知识对信息状态110的更新,知识追踪单元700包括初始知道概率估计器710、知道肯定概率估计器720、知道否定概率估计器730、猜测概率估计器740、状态奖励估计器760、路径奖励估计器750和信息状态更新器770。图7c是根据本教导的实施例的知识追踪单元700的示例性过程的流程图。在操作中,可以首先在705处估计相关aog表示中节点的初始知道概率。这可以包括s-aog中每个相关节点以及与s-aog节点相关联的每个t-aog的每个分支二者的初始知道概率。
[0130]
利用估计的初始概率,对话代理可以与用户关于特定话题进行对话,该特定话题由相关s-aog节点和用于该s-aog节点的特定t-aog表示,相关联的概率已初始化。为了发起对话,机器人代理通过遵循t-aog而开始对话。当用户对机器人代理进行响应时,nlu引擎120可以分析该响应并产生语言理解输出。在一些实施例中,为了理解用户的话语,nlu引擎120还可以基于话语之外的信息(例如,来自多模态信息分析器702的信息)来执行语言理解。例如,用户可能在指着桌子上的一个玩具的同时说“这是个机器玩具”。为了理解这个话语的语义(即,“这”是什么意思),多模态信息分析器702可以分析音频和视觉信息以组合不同模态中的线索,以促进nul引擎120理解用户的意思并输出用户的响应,该用户的响应具带有例如基于t-aog的对于响应的正确性的评估。
[0131]
当知识追踪单元700在715处接收到带有该评估的用户的响应时,为了基于对话中发生的事情来追踪知识,可以调用不同的模块以基于接收到的输入来估计相应的概率。例如,如果用户的响应与正确答案对应,那么可以调用知道肯定概率估计器720来确定与肯定地知道正确答案相关联的概率;可以调用知道否定概率估计器730来估计与不知道答案相关联的概率;可以调用猜测概率估计器740来确定评估用户仅仅做出猜测的可能性的概率。如果用户的响应与不正确答案对应,那么知道肯定概率估计器720也可以确定与肯定知道
但用户犯了错误相关联的概率;知道否定概率估计器730可以估计与不知道并且用户仍然回答错误相关联的概率;猜测概率估计器740可以确定答案仅仅是猜测的概率。这些步骤分别在725、735和745处执行。
[0132]
如本文所讨论的,对于t-aog,当用户与对话代理交互时,此类交互形成解析图,该解析图随着对话的进展而继续增长。一个示例在图5a中示出。给定机器人代理和用户之间交互的解析图或历史,用户知晓底层概念的概率可以基于所估计的概率被自适应地更新。在一些实施例中,在时间t 1处的初始知晓(或知道)概念的概率可以基于观察来更新。在一些实施例中,它可以基于以下公式计算:
[0133][0134][0135]
其中p(l
t 1
|obs=correct)表示给定观察到的正确答案在时间t 1处的初始知道的概率,p(l
t 1
|obs=wrong)表示给定观察到的错误答案在时间t 1处的初始知道的概率,p(l
t
)是在时间t处的初始知道的概率,p(s)是疏漏(slip)的概率,并且p(g)表示猜测的概率。因此,利用基于对对话的观察所估计的概率,可以动态地更新先验知识的概率,如本文的示例所示。然后,与s-aog中的节点相关联的这种先验知识概率可以在图7c中的755处被状态奖励估计器760用来计算与s-aog中的节点相关联的基于状态的奖励或基于节点的奖励,这些奖励表示用户对与概念节点相关联的相关技能的掌握程度。
[0136]
基于关于沿着t-aog中的pg路径的每个节点的不同分支(例如,一些与正确答案对应,一些与错误答案对应)计算出的概率,可以在图7c中的765处由路径奖励估计器750关于每条路径计算基于路径的奖励。基于这种估计的基于状态的奖励和基于路径的奖励,信息状态更新器770然后可以在775处继续更新信息状态110中的参数化的aog。当与信息状态110中的aog相关联的参数被更新时,更新后的参数化aog然后可以被用于基于用户的效用(偏好)来控制对话。
[0137]
在一些实施例中,用于对aog进行参数化的不同参数可以基于观察和/或计算出的概率来学习。在一些实施方式中,可以采用无监督学习方法来学习此类模型参数。这包括例如知识追踪参数和/或效用/奖励参数。这种学习可以在线或离线执行。下面,提供了示例性学习方案:
[0138][0139]
(α1(j)=π
jbj
(o1),j∈[1,n]
[0140][0141]
β
t
(i)=1,i∈[1,n]
[0142]
[0143][0144][0145][0146]
图8a-8b描绘了根据本教导的实施例的基于动态计算的aog参数的效用驱动的对话计划。效用驱动的对话计划可以包括对话节点计划和对话路径计划。前者可以指在s-aog中选择用于继续对话会话的节点。后者可以指在t-aog中选择用于进行对话的路径。图8a示出了根据本教导的实施例的关于参数化的s-aog的效用驱动的辅导计划的示例。图8b示出了根据本教导的实施例的参数化的t-aog中的效用驱动的路径计划的示例。
[0147]
对于节点计划,如图6d中所示,示例性s-aog 310用于教导各种数学概念并且每个节点与一个概念对应。在图8a中示出了不同节点,节点具有与其相关联的奖励相关参数,并且其中的一些节点可以用基于所连接的节点的奖励而制定的条件来参数化。如图8a中所见,节点310-4用于教导概念“加法”,节点310-5用于教导概念“减法”,
……
等等。每个节点用例如指示对教导该概念的奖励进行参数化,该奖励与例如对该概念的当前掌握水平有关。与s-aog 310中的一些节点相关联的奖励被表述为来自其所连接的节点的奖励参数的函数。
[0148]
一些概念可能需要在用户已经掌握一些其它概念的要求或条件(例如,先决条件)下来教导。例如,为了教导学生“除法”概念,可以要求用户已经掌握“加法”和“减法”的概念。这可以通过要求820来表明,要求820被表述为rd=fd(ra,rs),其中与节点310-3相关联的奖励rd是ra、rs的函数fd,ra、rs分别表示与关于“加法”的节点310-4和关于“减法”的节点310-5相关联的奖励。例如,用于教导“除法”概念310-3的示例性条件可以是其奖励水平必须足够高(即,用户还没有掌握“除法”的概念)并且用于“加法”(310-4)的奖励ra和用于“减法”(310-5)的奖励rs必须足够低(即,用户已经掌握了关于“加法”和“减法”的先决条件概念)。可以根据应用需要来设计函数fd的数学公式以满足这些条件。
[0149]
基于节点的计划可以被设置,使得与以s-aog中的某个奖励准则为条件的节点相关联的对话(t-aog)可以不被安排,直到与该节点相关联的奖励条件得到满足。以这种方式,初始地,当用户不知道任何概念时,可以被安排的没有条件的节点只有310-4和310-5。在针对“加法”或“减去”的对话期间,与其相关联的奖励(ra或者rs)可以被不断更新并传播到节点310-2和310-3,使得rm或rd也根据与fm或fd被更新。在用户掌握了“加法”和“减法”的概念的某个点时,奖励ra和rs变得足够低,以至于不需要安排与节点310-4和310-5相关联的对话。同时,低的ra和rs可以被代入fm或fd,使得现在可以满足与节点310-2和310-3相关联的条件以使310-2和310-3处于活动状态,这是因为rm或rd现在可以变得足够高,使得它们准备好被选中以就乘法和除法的话题执行对话。当这种情况发生时,可以使用与其相关联的t-aog来发起用于教导相应概念的对话。
[0150]
这同样也适用于针对“分数”的节点。可以要求用户已经掌握了“乘法”和“除法”的概念(用于310-2和310-3的奖励足够低),并且用于节点“分数”的奖励相应地变得合理地
高。以这种方式,与s-aog中的节点相关联的基于状态的奖励可以被用于以个性化的方式动态地控制如何在s-aog中的节点之间遍历,例如,基于与每个个体相关的情况自适应的方式。即,在与不同用户的实际对话中,可以基于对实际对话情况的观察以个性化的方式自适应地控制该遍历。例如,在图8a中,取决于教学的阶段,不同节点在不同时刻可以具有不同奖励。如图所示,关于“加法”的节点310-4是最暗的,表示例如最低奖励值,这可以指示用户已经掌握了“加法”的概念。关于“减法”的节点310-5具有介于二者之间的奖励值,例如指示用户当前尚未掌握该概念但已接近。节点310-1、310-2和310-3是浅色的,从而例如指示高水平的奖励值,这些奖励值表示用户尚未掌握对应概念。
[0151]
与t-aog中的路径相关联的路径相关或基于路径的奖励也可以基于对实际对话的观察来动态地计算并且还可以被用于在对话期间对如何遍历t-aog(如何选择分支)进行调整。图8b图示了根据本教导的实施例的关于t-aog的效用驱动的路径计划的示例。如图所示,在遍历t-aog时,在每个时刻,例如在时间t处,在接收到来自用户的答案后,机器人代理需要确定如何进行响应。在时刻1,...,t期间,对话遍历了解析图pg1...t,被遍历的状态为s1,s2,...,s
t
。为了进行响应,从状态s
t
可以存在多个分支,通向下一个状态s
t 1

[0152]
为了确定要采取哪个分支,可以沿着可供替代的路径基于基于路径的奖励来执行前瞻操作。例如,为了前瞻一步,可以考虑与源自s
t
(前进一步)的可供替代的分支相关联的奖励,并且可以选择表示基于最佳路径的奖励的分支。为了前瞻两步,考虑与源自s
t
的第一组可供替代的分支中的每个分支相关联的奖励以及与每个次级可供替代的分支(源自第一组可供替代的分支中的每个分支)相关联的奖励,并且导致最佳的基于路径的奖励的分支被选为下一步。也可以基于相同的原理实现更深入的前瞻。图8b中所示的示例是实现两步前瞻的方案,即,在时间t处,前瞻的范围包括t 1处的多条路径以及t 2处的源自t 1处的每条路径的多条路径中的每条路径。然后,经由前瞻来选择分支以最优化基于路径的奖励。
[0153]
与分支相关联的基于路径的奖励可以首先被初始化,然后在对话期间被更新。在一些实施例中,可以基于用户指示的先前对话来计算初始的基于路径的奖励。在一些实施例中,此类初始的基于路径的奖励也可以基于情况相似的多个用户的先前对话来计算。然后,可以基于每个分支选择如何导致对对话的预期目的的满足度,在对话期间随时间动态地更新每个基于路径的奖励。基于这种动态更新的基于路径的奖励,可以按照每个用户关于如何进行交谈的效用(或偏好)来驱动前瞻优化方案。因此,它启用了自适应路径计划。以下是基于前瞻操作来优化路径选择的用于路径计划的示例性公式。在这个示例性公式中,a*是给定多个分支选择a、当前状态st和解析图pg1

t的情况下最优选择的路径,eu是分支选择a的预期效用,并且r(st 1,a)表示在状态s
t 1
下选择a的奖励。如可以看到的,优化是递归的,其允许在任何深度进行前瞻。
[0154]a*
=arg max eu(a|s
t
,pg1...t)
[0155][0156]
结合基于状态的、效用驱动的节点计划,根据本教导的对话系统100能够联系底层对话的预期目的,基于过去积累的关于用户的知识以及对用户的即时观察来动态地控制与用户的交谈。图8c图示了根据本教导的实施例的基于节点和路径计划的组合的、对与学生
用户的对话的效用驱动的对话管理的使用。即,在与学生用户的对话中,对话代理基于动态节点和基于参数化的aog的路径选择、经由效用驱动的对话管理来进行与用户的对话。
[0157]
在图8c中,s-aog 310包括不同的节点,这些节点用于将要教导的各个概念,具有带注释的奖励和/或条件。可以基于关于用户的知识预先地确定与节点相关联的奖励。例如,如图所示,四个节点(310-2、310-3、310-4和310-5)可以具有较低的奖励(表示为较暗的节点),从而例如指示学生用户已经掌握了加、减、乘和除的概念。存在一个具有高教学奖励的节点(即,可以安排对话),其是关于“分数”的310-1。因此,选择s-aog节点之一以进行对话是奖励驱动或效用驱动的节点计划。
[0158]
节点310-1被示为与一个或多个t-aog 320相关联,每个t-aog 320与支配对话的对话策略对应,以教导学生“分数”的概念。可以选择t-aog之一(即,320-1)来支配对话会话,并且t-aog 320-1包括各种步骤,诸如330、340、350、360、370、380
……
。t-aog 320-1可以用例如基于路径的奖励来参数化。在对话期间,可以使用基于路径的奖励来动态地进行路径计划,以使得实现教导学生掌握“分数”概念的目标的可能性最优化。如图所示,320-1中突出显示的节点与基于路径计划、形成解析图、表示基于实际对话的动态遍历而选择的路径对应。这是为了说明对话期间的知识追踪使对话系统100能够持续地更新参数化的aog中的参数以反映从对话中学习到的效用/偏好,并且此类学习到的效用/偏好进而使对话系统100能够调整其路径计划,从而使对话更有效、更有吸引力并且更灵活。
[0159]
如图6f中所示,可以使用与不同节点相关联的参数化的内容来创建t-aog。与每个节点相关联的参数化的内容表示在对话期间预期要说/听到的内容。与每个节点相关联的参数化的内容中所包括的可供替代的内容越多,参数化的t-aog就越能够支持灵活的对话。用于每个节点的这种可供替代的内容可以是手动、半自动或自动地创作的。这种创作的可供替代的内容也可以被用作训练数据以促进有效识别,以提高对话管理的自适应能力。图9a-9b示出了根据本教导的实施例的、通过对用于aog的参数化的内容的自动丰富化,来增强人机对话中的口语理解的方案。图9a呈现了如图6f中所见的t-aog,除了图9a中的每个节点现在与对话管理器可以用来进行对话的一个或多个可供替代的内容集相关联之外。如本文所讨论的,此类替代参数化的对话内容集还可以被用于训练asr和/或nlu模型以理解要说出的话语。
[0160]
与节点相关联的训练数据集表示节点的参数化的内容。例如,如图9a中所示,节点665与两个训练数据集[tn]和[to]相关联,其中前者用于数字(x和y可以是其中包含的数据项),后者用于对象o1或o2(例如,苹果、橙子、梨等);节点667与用于查询语句的训练数据集[ti]相关联;节点670-1与用于用户不知道答案的训练数据集[t
nka
]相关联;节点675-1与用于用户带有数字的答案的训练数据集[tn]相关联;节点670-2与用于对非正确答案的响应(它是对不知道答案的可供替代的响应,或对错误答案的可供替代的响应)的训练数据集[t
rnca
]相关联;节点670-1与用于响应正确答案的训练数据集[t
rca
]相关联;节点675-2与用于响应来自用户的不知道答案的训练数据集[t
nka
]相关联;节点910与用于响应来自的用户的不知道答案的训练数据集[t
rnk
]相关联;节点920与用于响应来自用户的不正确答案的训练数据集[t
ri
]相关联;节点930与用于响应来自用户的正确答案的训练数据集[t
rc
]相关联;节点940与用于响应来自用户的错误答案的训练数据集[trm]相关联;并且节点950与用于响应来自用户的不知道答案的训练数据集[t
rg
]相关联。
[0161]
图9b图示了根据本教导的实施例的与图9a中的t-aog的不同节点相关联的示例性训练数据集。如图所示,例如,[tn]可以是任何单位或多位数字的集合,[to]可以包括可供替代的对象的名称,[ti]可以包括要求总共两个数字的可供替代的方式;[t
nka
]可以包括用户说“我不知道”的可供替代的方式;[t
rc
]可以包括响应正确答案的可供替代的方式;[t
rnk
]可以包括响应来自用户的不知道答案的可供替代的方式;[trm]可以包括响应来自用户的错误答案的可供替代的方式;[t
rg
]可以包括响应来自用户的猜测答案的可供替代的方式;[t
ri
]可以包括响应来自用户的不正确答案的可供替代的方式,其可以包括对错误答案的可供替代的响应[trm]或对猜测答案的可供替代的响应[t
rg
];[t
rnca
]可以包括响应来自用户的非正确答案的可供替代的方式,其可以包括对不知道答案的可供替代的响应[t
rnk
]或对不正确答案的可供替代的响应[t
ri
];并且[t
rca
]可以包括响应来自用户的正确答案的可供替代的方式,其可以包括对正确答案的可供替代的响应[t
rc
]或对猜测答案的可供替代的响应[t
rg
]。用于响应的训练数据集(例如,[t
rc
]、[t
rnk
]、
……
、[t
rca
])可以被用于生成机器人代理对用户的答案的响应。这可以是用于asr/nlu理解话语的补充。
[0162]
与t-aog中的不同节点相关联的此类丰富化的训练数据集可以显著提高机器人代理理解表达来自用户的相同答案的不同方式的能力以及在不同情况下生成对用户的响应的灵活性。丰富化的训练数据集可以以自举(bootstrap)方式自动生成。图9c图示了根据本教导的实施例的用于为具有参数化的内容的节点生成丰富化的训练数据的语言变体(可供替代的方案)的示例性类型。语言变体可以是由于不同的口语、可供替代的表达方式
……
、不同的口音,或者甚至与指定的不同声学特点(例如,音高、音量、速度等)相结合。关于可供替代的表达,对于每个文本串,可以存在基于例如同义词或俚语等在语言和语义上等价的表达。为了增强机器人代理的能力,期望有与每个参数化的节点相关联的更多的可供替代的内容。然而,手动生成可以是耗时、乏味且昂贵的,因此需要高效的方法来创建这种可供替代的内容。本教导公开了基于例如与每个节点相关联的创作的内容来自动地生成与t-aog中的节点相关联的丰富化的训练数据集的方法。即,通过使用与每个节点相关联的已经创作的内容作为基础,所公开的方法自动生成关于该创作的内容的可供替代的内容。然后可以将初始的创作的内容与这种自动生成的可供替代的内容组合,作为用于与节点相关联的参数化的内容的训练数据集。
[0163]
图10a描绘了根据本教导的实施例的用于自动生成丰富化的aog内容及其用于训练asr/nlu模型以实现增强性能的用途的示例性高级系统图1000。提供系统1000以用于为t-aog中的不同节点生成丰富化的训练数据集,然后基于这样丰富化的训练数据集训练asr和nlu模型以获得增强的asr和nlu模型。在这个图示的实施例中,系统1000包括参数化的aog检索器1010、参数化的aog训练数据生成器1020、asr模型训练引擎1035和nlu模型训练引擎1040。如本文所讨论的,aog被用于表示在管理机器人类对话当中的不同方面。每个s-aog可以包括节点的集合,每个节点与关于话题的特定主题有关。特定话题的每个s-aog节点可以与一个或多个t-aog相关联,每个t-aog与关于该话题的对话策略对应并且包括用户和机器人代理之间关于该话题的来回交谈。如本文所讨论的,t-aog还可以具有多个节点,每个节点可以表示由对话中的参与方(代理或用户)说出的一个或多个可供替代的内容项。可以用与每个节点相关联的参数化的内容来创建具有多个节点的t-aog。节点的参数化的内容初始地可以填充有在创建t-aog时生成的一些创作的内容。可以扩展或丰富化这种初
始参数化的内容。根据本教导,目标是丰富化与每个节点相关联的参数化的内容以包括其它可供替代的方案,从而可以以更加灵活和丰富化的方式进行交谈。
[0164]
在操作中,与tag节点相关联的初始参数化的内容可以被用作生成丰富化的参数化的内容的集合的基础,然后丰富化的参数化的内容的集合被用作训练数据来训练asr和/或nlu模型以增强机器人代理执行更灵活的对话的能力。图10b是根据本教导的实施例的用于基于自动生成的丰富化的aog内容而获得增强的asr/nlu模型的示例性过程的流程图。在1055处,参数化的aog检索器1010首先从存储装置1005中选择基于话题的模板(aog),例如在1055处的s-aog,然后在1060处相应地检索与所选择的s-aog中的每个节点相关联的t-aog,这些t-aog具有与其相关联的参数化的内容的初始集合。此类检索到的t-aog节点的参数化的内容然后被发送到参数化的aog训练数据生成器1020以生成丰富化的参数化的内容。
[0165]
为了丰富化t-aog节点的创作的内容,参数化的aog训练数据生成器1020在1065处访问与每个t-aog节点相关联的创作的内容,并将其用作生成丰富化的内容的基础。参数化的aog训练数据生成器1020访问1015中的模型以获得已知的语言变体,并在1070处基于每个t-aog节点的初始的创作的内容来生成丰富化的训练数据。这样生成的丰富化的训练数据然后被用于创建丰富化的参数化的aog,该丰富化的参数化的aog被存储在丰富化的参数化的aog存储装置1025中。同时,丰富化的参数化的内容集用作丰富化的训练数据并被保存在丰富化的训练数据存储装置1030中。
[0166]
基于这种丰富化的训练数据,asr模型训练引擎1035在1075处使用基于语言变体模型1015从初始创作的内容自举的训练数据1030来训练asr模型1045。如本文所讨论的,语言变体可以是就语音风格(语言、口音等)和语音内容(说同一件事的不同方式)而言的模型。然后,基于丰富化的训练数据而获得的asr模型1045可以被asr用来以在丰富化的参数化的内容集中捕获的语音风格来识别用户的语音内容的话语。然后在1080处将导出的asr模型存储在存储装置1045中以供asr引擎130(图1a)将来使用。
[0167]
类似地,为了充分利用丰富化的训练数据,nlu模型训练引擎1040在1085处使用基于语言变体模型1015从初始创作的内容自举的训练数据1030来训练nlu模型1050。如本文所讨论的,语言变体可以是就语音风格(语言、口音等)和语音内容(说同一件事的不同方式)而言的模型。基于丰富化的训练数据1030而获得的nlu模型1050然后可以被nlu引擎140(图1a)用来基于来自asr引擎130(图1a)的asr结果来理解用户语音的含义。然后在1090处将导出的nlu模型存储在存储装置1050中以供nlu引擎140将来使用。
[0168]
通过开发与t-aog的节点相关联的丰富化的参数化的内容集,它产生扩增的对话策略。当这种丰富化的参数化的内容集可以自动生成(无需人工活动)并被用于进一步增强基于机器的语音识别和理解时,它会导致更有效且高效的人机对话。根据本教导,除了通过自动生成扩增的对话策略来增强人机对话之外,还可以通过在口语理解时探索多模态上下文信息来进一步增强该过程。
[0169]
图11a描绘了根据本教导的实施例的基于在对话期间跟踪的周围知识的用于上下文感知的口语理解的示例性高级系统图。在这个图示的实施例中,口语理解包括自动语音识别(其识别说出的词语)和自然语言理解(基于说出的词语理解语音的语义)二者。传统上,口语理解可以利用语音上下文信息来理解话语的语义。这种传统的上下文信息利用语
言上下文,例如,词/语短语在之前或之后说出。例如,在句子“bob买了一辆自行车,并且他出去兜风”中,“他”是指bob(语义),这种语义歧义是基于语言上下文而解决的。
[0170]
在人机交互或对话中,可以利用和使用不同类型的上下文来更深入地理解周围环境,以实现更适当的交互。此类不同类型的上下文可以包括在交互/对话期间观察到的个人特点(与用户相关)、语言、视觉、环境、事件、偏好和周围环境。根据本教导,可以充分利用不同类型的上下文来辅助理解遇到的情况。例如,如果用户说,“这些东西是什么?”而没有语言上下文,那么除非一些附加信息是可访问的并被用来消除歧义,否则即使不是不可能,也很难知道“这些东西”是指什么。在这种情况下,如果捕获的视觉信息揭示用户正指着桌子上的一堆水果,那么现在就有可能理解用户所说的“这些东西”是指什么。不同类型的上下文可以促进asr识别说出的词语以及nlu理解被识别的句子/词语的含义。为了利用不同类型的上下文,可以在对话场景处部署不同类型的传感器来持续地监视周围环境,搜集相关传感器数据,提取特征,估计与不同事件、活动相关的特点,确定对象之间的空间关系,并存储经由观察学习到的这些知识。这种持续获取的多模态上下文信息然后可以存储在信息状态110中的不同数据库(例如,对话历史数据库250、丰富媒体对话上下文数据库260、以事件为中心的知识数据库270)中,并在asr和/或nlu过程期间被利用以改进人机交互/对话。
[0171]
如图11a中所示,口语理解单元1100包括asr引擎130和nlu引擎140。asr引擎130操作以执行语音识别以基于例如词汇1120、asr模型1045和各种类型的上下文信息(包括对话历史250、丰富媒体对话上下文260、周围知识270、
……
和用户简档290)来生成文本词语。asr引擎130获取音频输入(用户的话语)并执行音频处理以识别说出的词语。在识别所说的词语时,还可以探索以不同模态获得的上下文信息以帮助识别。例如,为了识别说出的词语,可以依赖关于用户及其周围环境的上下文信息(例如,用户在微笑、看起来悲伤或沮丧、靠近桌子、指着黑板、坐在椅子上、用户的衣服是什么颜色等)。此外,还可以使用常规的语言上下文信息来更新对话历史250和/或用户简档290。
[0172]
asr引擎130可以分析音频输入并且确定例如不同词语序列的概率,这些概率可以由asr模型1045建模。可以通过基于适当语言的词汇表1120来检测音素(phoneme)(或不同语言中的一些其它语言单位)及其序列从而执行识别。如本文所讨论的,在一些实施例中,asr模型1045可以是基于训练数据经由机器学习而获得的,训练数据可以是文本的、声学的、或二者。本教导公开了基于某些语言变体模型从与aog相关联的初始内容(通过自举)自动地生成丰富化的训练数据。通过使用这种丰富化的训练数据来训练asr模型1045,它会产生可以高效地促进对更广泛的内容的语音识别的模型。
[0173]
在执行asr时,可能出现歧义。例如,可能出现关于音素的歧义。虽然声学信息可以达到消除歧义的极限,但视觉信息可以被用于帮助进行确定,例如,经由基于对说话者嘴部移动的视觉观察来识别视素(viseme)(其与音素对应)。基于音素(或视素,或二者),asr引擎130然后可以根据词汇表1120识别被说出的词语,词汇表1120不仅可以指定词语而且可以指定每个词语的音素组成。在一些情况下,一些词语可以具有相同的发音。在人机对话期间,确定说出的确切词语可以是有帮助的。为了消除这种情况下的歧义,可以使用视觉信息来实现这一点。例如,在中文中,“他”和“她”的发音相同。为了识别“他”或“她”是指什么,可以利用视觉信息来查看是否可以使用任何视觉线索来消除歧义。例如,说话者在语音中提及“他”或“她”时可能会指向一个人,并且此类信息可以被用于估计说话者所指的是谁。
[0174]
asr引擎130输出所估计的由说话者说出的一个或多个词语序列,每个序列与例如一些概率相关联,每个概率表示识别出的词语序列的可能性。此类输出可以被馈送到nlu引擎140,在nlu引擎140处要估计词语序列的语义。在一些实施例中,可以由nlu引擎140处理多个输出序列(候选),并且可以选择对语音的最可能的理解。在一些实施例中,asr引擎130可以选择具有最高概率的单个词语序列发送到nlu引擎140,以用于进一步处理以确定语义。可以基于语言模型1130、nlu模型1050和来自不同源(诸如对话历史250、对话上下文260、事件知识270和来自说话者的简档290)的多模态信息来确定词语序列的语义。
[0175]
在本教导的一些实施例中,对于人机对话,可以基于与不同aog相关联的创作的内容来训练nlu模型1150。如本文所讨论的,与aog相关联的创作的内容(文本、声学,或二者)可以基于例如语言变体模型而被自动丰富化,然后此类丰富化的文本训练数据可以被用于训练nlu模型1150以导出可以支持更广泛的语音内容的模型。虽然传统的自然语言理解(nlu)是基于音频信号的,但本教导提供了基于在多模态域中获取的不同类型的上下文信息的增强的自然语言理解。目的是增强nlu引擎140基于相关的多模态信息来解决不同情况下的歧义的能力。例如,如果用户说,“看看这上面是什么”,为了弄清楚“这”是指什么,可以有不同的解决方式。语音上下文的传统使用不足以解决这种歧义。根据本教导,可以探索其它模态的附加上下文信息,以经由对多模态上下文敏感的语言理解来解决不同的歧义。
[0176]
如图11a中所示,存储在对话历史250、丰富媒体对话上下文260、事件知识270和说话者的简档290中的信息可以被用于语言理解。以上面的示例为例,当用户说“看看这上面是什么”时,为了弄清楚“这”是什么,可以分析从对话场景中捕获的视觉信息,以识别可以用于消除歧义的线索。例如,用户可能站在对象的前面并指向它,例如,用户可以站在例如桌子旁边并指着例如桌子上的计算机。基于从视觉数据中学习到的这种知识,可以在揭示用户正指向靠近用户的桌子上的计算机的丰富媒体对话上下文(260)中生成表示。使用这种视觉观察,nlu引擎140可以估计出语音中的“这”是指桌子上的计算机并且用户想知道计算机屏幕上显示的是什么。
[0177]
作为另一个示例,当被问及用户今年的生日喜欢做什么时,用户可能响应“我去年做过的同样的事情”。这个响应对于什么是“我去年做过的同样的事情”并不是清楚的。来自用户的这个响应中有两点歧义。首先,去年的时间范围是什么?其次,用户去年在估计的时间范围内做了什么?给定语言上下文,可以估计出时间范围是用户去年的生日。然而,从当前对话的语言上下文中,可能无法推断或弄清楚用户所说的“我去年做过的事情”是什么意思。在这种情况下,根据本教导的一些实施例的丰富媒体对话上下文可以使nlu引擎140能够探索存储在事件知识270中的关于与用户在他/她的上一个生日附近的时间范围内相关的事件的信息。例如,可以记录去年用户去波士顿过生日。这种信息可以帮助nlu引擎140消除“我去年做过的同样的事情”的含义的歧义。去年的事件可以作为事件或日志记录在例如用户的文件存储装置290中。以这种方式,通过充分利用丰富媒体上下文,nlu引擎140然后可以理解用户是指今年他/她的生日再次访问波士顿。因此,理解然后可以帮助对话管理器150(见图1)然后确定如何在对话中对用户进行响应。因此,通过探索随着时间的推移和在对话场景中观察到的丰富媒体上下文,口语理解单元1100可以在asr(识别说出的词语)和nlu(所说的内容的语义)中增强其口语理解能力。
[0178]
图11a中的周围知识270可以广泛地包括不同方面的信息。图11b图示了根据本教
导的实施例的将被跟踪以促进上下文感知的口语理解的示例性类型的周围知识。如图所示,周围知识可以包括但不限于对环境的观察(例如,是否是晴天)、发生的事件(在过去和当前对话中发生)、在对话场景中观察到的对象、以及对象与对象的空间关系,
……
,观察到的活动(声学或视觉的),和/或用户所做的陈述。此类观察可以经由多种模态的传感器进行,然后可以被用于估计或推断用户的偏好或简档,然后对话管理器150可以使用它们来根据推断的用户的简档以及周围的情况二者来确定响应。
[0179]
图12a图示了根据本教导的实施例的基于交谈或在对话期间做出的陈述来跟踪个人简档的示例。如图所示,存在正在与用户(孩子)1220执行交谈的机器人代理(鸭子说话代理)1210。在对话期间,机器人代理1210询问用户1220他在哪里出生。用户回答说他出生于芝加哥。分析这种语音信息,并跟踪和分析基于语音的信息(音频)以提取有用的剖析信息。例如,基于这样的交谈,用附加图(或子图)1230来更新用户的简档,该附加图(或子图)1230将表示“我”(或用户)的节点1230-1与表示“芝加哥”的另一个节点1230-2链接起来,链路1230-3注释为“出生于”。虽然是个简单的示例,但是可以持续地基于所跟踪的音频信息来逐渐地更新用户简档。
[0180]
图12b图示了根据本教导的实施例的在基于视觉观察的对话期间跟踪个人简档的示例。如图所示,如果视觉传感器捕获如1240中所示的对话场景,其包括男孩(大概是参与对话的用户)以及对话场景中的对象/固定装置(例如,有小书架、书架上的灯、地板上的另一盏灯、窗户、墙上挂着的上面写着“迈克尔
·
乔丹”的画)。可以收集并分析这种视觉场景,从而可以提取相关对象、推断空间关系,
……
,观察到男孩正在凝视迈克尔
·
乔丹的海报。通过分析场景中的对象,可以提取知识,并可以估计出一些结论。例如,基于观察到的场景的这种视觉表示,估计的结论可能是男孩喜欢迈克尔
·
乔丹。另一个估计的结论可以是男孩和海报在对话场景中并存。其它不同的因素也会影响视觉表示可能意味着什么的估计。例如,如果场景是男孩自己的房间,那么他在墙上贴着这样的海报的事实可以给出他喜欢迈克尔
·
乔丹的可能性更高的结论。如果男孩在他朋友的房间或学校等其它地方的场景中,那么男孩和海报共存的结论的权重会更高。在任一情况下,基于视觉观察,都可以创建表示被观察到的男孩和海报之间关系的图(或子图),其中表示男孩的节点1250-1与表示迈克尔
·
乔丹的另一个节点1250-2用表示二者之间的关系的链路1250-3链接。在这个图示的示例中,该链路表示“喜欢”。如果其概率更高,那么该链路也可以是“共存”关系。在一些实施例中,链路1250-3也可以用不同的关系(例如,“喜欢”和“共存”)来注释,每个关系可以与概率相关联。以这种方式,所监视的视觉信息可以被用于持续地更新周围信息。对话管理器150可以使用这种观察来确定如何执行交谈。例如,如果观察到场景中的男孩正在看海报并且似乎从对话的焦点(例如,关于数学的辅导)分心,那么对话管理器150可以决定询问用户“你喜欢迈克尔
·
乔丹吗?”以提高用户的参与度。
[0181]
可以将基于不同模态下的传感器信息跟踪的信息组合,以创建周围环境的集成表示。图12c示出了根据本教导的实施例的基于从对话场景获取的多模态输入信息在对话期间更新的示例性部分个人简档。在这个示例中,集成的图形表示1260是基于所跟踪的音频信息导出的图12a中的图1230和基于所跟踪的视觉信息导出的图12b中的图1250的组合。存在可以在对话期间被跟踪并用于更新周围知识270和/或用户简档290的其它类型的知识。在一些实施例中,可以基于被跟踪的信息将用户分类为不同的组,并且还可以基于来自这
些组中的用户的被跟踪信息而不断地建立与每个组相关联的特点。如下文将讨论的,可以由对话管理器使用这样的组特点来自适应地调整对话策略以使对话更有效。
[0182]
图12d示出了根据本教导的实施例的基于交谈构建的示例性个人知识表示。在对话会话(或多个对话会话)中,从此类交谈获取的信息可以被用于持续地建立关于用户的简档知识,然后对话管理器150可以依赖这些简档知识来引导对话。例如,在用户简档中,可以建立用户的生日。如果在交谈中用户提到他在不同年份是生日时的某些旅行,那么可以将这种知识表示在如图12d中所示的图中。在这个示例中,在2016年的生日,用户乘船前往阿拉斯加,并且在2018年的同一天,用户飞往拉斯维加斯过生日。这种知识可以由用户明确地传达或者可以由系统从对话中推断出来,例如,用户提到了旅行的日期而没有明确指出这些旅行是为了庆祝生日。在知晓用户生日的情况下,系统可以推断出这些旅行是为了庆祝用户的生日。
[0183]
如从图12d看到的,这种知识可以被表示为图1270,其中用户被表示为实体“我”1270-1,并且它被链接到关于用户的不同知识片段。例如,经由链路“生日”1270-2,它指向具有用户的特定日期“10/2/1988”的生日1270-3的表示。基于用户提到的两次旅行,提供了两个目的地表示1270-5和1270-7,其中1270-7表示阿拉斯加,1270-5表示拉斯维加斯。为了将用户链接到这两个目的地,存在将用户链接到这两个目的地的两个链路1270-4和1270-8,每个链路在链路上具有对应旅行时段的注释。由于这些旅行时段与用户的生日10/2重合,因此可以提供附加的表示以将用户的生日与这两次旅行链路起来。为此,可以提供从生日表示1270-3链接到两个目的地表示1270-5和1270-7的两个附加链路1270-6和1270-9。在链路1270-6和1270-9上,旅行的年份用进行旅行时用户的计算出的年龄的注释来指示。通过这种表示,可以识别用户的生日和与用户生日相关联的一些事件,即,用户在他/她的生日进行了两次旅行,当用户年龄分别为28岁和30岁(从生日和旅行年份计算)时,一次是在2016年乘船前往阿拉斯加,另一次是在2018年乘飞机前往拉斯维加斯。
[0184]
机器人代理稍后可以利用所跟踪的关于用户的某些知识的表示来确定在某些情况下该说什么。例如,如果某天机器人代理正在与用户谈话并注意到这天是用户的生日,那么机器人代理可以向用户致意“生日快乐!”此外,为了进一步吸引用户,机器人代理可以说“你去年生日那天去了拉斯维加斯。今年你打算去哪里?”这种个性化和上下文感知的对话可以增强用户的参与度并提高用户和机器人代理之间的亲密度。
[0185]
图13a图示了根据本教导的实施例的基于关于用户的观察而形成以促进自适应对话管理的示例性用户组。图13a中的用户组是为了说明而非限制,并且任何其它分组也可以被添加并且是可能的。如图所示,用户可以被分类为不同的组,诸如社交组(例如,facebook聊天或兴趣组)、种族组(例如,亚裔组或西班牙裔组)、可以包括青年组(例如,幼儿组或青少年组)和成人组(例如,高级组和工作专业组)的年龄组、性别组
……
,以及各种可能的专业组。每组用户可以共享一些可以被用于构建组简档的共同特点。具有由组成员共享的特点的此类组简档可以与对话计划或控制相关。例如,一些子组(例如,亚裔组)中的用户可以共享一些共同的特点,诸如说英语时的口音。一组用户的这种共同特点可以被用在例如对话计划中。例如,在辅导英语时,理解属于具有众所周知的口音的特定种族组的用户可以促进对话管理器150使用旨在解决与口音相关的问题以形成正确发音的某些措施来计划辅导会话。作为另一个示例,如果用户在青少年组中,那么当对话管理器150期望更好地让青少
年用户参与对话时,对话管理器150可以探索一些已知的青少年共同的流行兴趣。
[0186]
除了组简档之外,对话系统100还可以基于来自对话的即时观察或来自其它源的关于每个用户的信息来积累个人用户的知识或简档。图12a-12c示出了基于对话期间收集的多模态信息构建用户的一些方面的一些示例。图13b图示了根据本教导的实施例的个性化的用户简档的示例性内容/构造。用户的个人简档可以包括用户的人口统计信息(例如,种族、年龄、性别等)、已知偏好、语言(例如,母语、第二语言等)、学习安排(例如,关于不同话题的辅导会话)、
……
,以及表现(例如,记录的与关于不同话题的不同辅导会话相关的表现的评估)。简档信息中的一些可以被声明(例如,人口统计)并且一些可以经由交流来观察或学习。例如,对于与用户的第二语言(例如,英语)相关的信息,关于他/她的熟练程度、口音等的信息可以被记录并且可以被例如对话管理器150使用以计划或控制对话。与个人特点中的一些相关的细节也可以被收集和记录。图13b中所示的一个示例是用户的第二语言的口音的详细特征描述。对于用户正在学习的每一种第二语言,可以就声学特征(例如,用户发音的声学特点)和视素特征(例如,用户说话时嘴部移动的视觉特点)二者来描述口音。可以在对话控制中利用人在某种语言中的口音的这种特定表征。
[0187]
图13c示出了根据本教导的实施例的与不同种族组相关的口音简档分布的示例性可视化。可以使用一组特征来表征口音。例如,视素可以被用于表示与口音相关的特征,即,使用与嘴巴移动相关的视觉特征来表征口音。口音也可以基于声学特征来表征。人的口音可以用具有这些特征的实例化的值的向量来表示,并且这种向量可以作为点而投影到坐标系中的高维空间中。图13c中所示的是3d坐标系中不同种族组的口音向量的3d投影。在这个图示中,特定用户的每个口音特征向量被投影为点,并且图13c中的不同圆圈表示对应不同种族组的用户的投影的口音特征向量的边界。每个圆圈中包括其中的一个或多个点,并且同一组中不同成员的口音的变化与圆圈的延展度或形状对应。
[0188]
如图13c中所示,存在示例性的四组口音分布a1 1310、a2 1320、a3 1330和a4 1340,与中国人、日本人、美国人和法国人的种族组说英语的口音表征相对应。每个圆圈表示组成员的口音简档的分布范围,可以基于表示组成员的口音简档的多个投影点(成员口音向量)来推导出组的口音简档。例如,可以通过例如对每个维度中的成员口音向量求平均、或者例如使用每个组分布的质心作为组简档,来导出组口音简档向量。如图所见,图13c中的每个圆圈都有表示组口音简档的质心(圆圈的中心),其是例如从组口音特征向量投影的。
[0189]
当用户参与人机对话时,可以观察用户,并从对话场景捕获多模态信息,以估计要用于自适应对话策略的不同类型的信息。基于观察到的多模态信息,机器人代理可以动态地建立和使用用户简档以自适应控制如何与用户交谈。要估计的一种示例性类型的信息是用户的口音。口音信息可以被用于提高对话质量和辅导语言的有效性。通过估计的口音信息,机器人代理可以调整其语言理解能力,以确定用户话语的含义。如果机器人代理用于教导用户学习某种语言(例如英语),那么可以探索这种估计的口音信息来以自适应方式确定动态教学计划。
[0190]
如图13c中所示的组简档可以被用于确定新用户可以属于哪个组。例如,在图13c中,点1350可以表示新用户的口音向量。在不知道新用户所声明的种族的情况下,可以使用点1350到不同种族组的分布之间的距离来估计新用户的种族。例如,如图所示,点1350与组
a1的质心之间的距离是1360;点1350与组a2的质心之间的距离是1370;点1350与组a3的质心之间的距离是1380;并且点1350与组a4的质心之间的距离是1390。在不同的实施例中,还可以在点1350与每个分布的最近点之间评估该距离。
[0191]
一旦确定了到每个组的距离,新用户就可以被估计为属于在点1350和那个估计的种族组的质心之间具有最短距离1370的种族组。在所示的示例中,由于新用户1350的投影的向量点最接近组a2,因此可以估计新用户是组a2(例如,日本人组)的成员。如果对新用户种族的估计有高置信度,那么组简档(质心)也可以被更新。在一些实施例中,所估计的种族和该种族组的代表性口音简档(即,a2的质心)可以被用于自适应辅导计划。图17b

17e中示出了一个示例,其示出了可以如何使用用户的已知口音信息(例如,视素)来自适应地进行对话以辅导学生学习语言。
[0192]
图14a描绘了根据本教导的实施例的用于跟踪个体语音相关特点以更新用户简档的系统的示例性高级图。如本文所讨论的,可以基于在人机对话期间观察到的信息动态地更新用户简档以表征底层用户,然后用户简档可以被用于引导机器人代理根据观察到的用户的特点来调整与用户的对话。示例性系统图1400针对建立和更新用户关于某种语言(例如,英语)的口音信息。在这个图示的实施例中,系统1400接收在用户1402说话时捕获的音频/视觉信息,分析接收的音频/视觉信息以提取与语音相关的声学和视觉特征(视素特征),对特征进行分类以估计用户的语音的特点,并相应地更新存储在290中的用户简档。
[0193]
系统1400包括声学特征提取器1410、视素特征提取器1420、声学特征更新器1440和基于特征的口音组分类器1450。图14b是根据本教导的实施例的用于跟踪个体语音相关特点及其用户简档的系统1400的示例性过程的流程图。当用户1402正在说话时(例如,以机器人代理正在辅导的语言),获取与用户的话语对应的音频信号以及捕获语音期间用户的嘴部移动的视觉信号。当在1405处由声学和视素特征提取器1410和1420接收到这种获取的多模态信息时,在1415处由声学特征提取器1410分析音频信号以估计与用户1402的语音相关联的声学特征。这些声学特征是基于例如声学口音简档1470来识别的,声学口音简档1470基于基于语音信号识别出的声学特点来表征不同的口音。
[0194]
在1425处,由视素特征提取器1425分析接收到的视觉信号,以估计或确定与用户说话时的嘴部移动相关的视素特征。根据各种基于语言的视素模型1420,视素特征是基于例如用户说话时嘴部移动的视觉图像来识别的。为了将用户的口音分类到适当的口音组中(参见图13a-13c),基于特征的口音组分类器1450从声学特征提取器1410接收声学特征并从视素特征提取器1420接收视素特征,并在1445处根据存储在1460中的基于语言的口音组简档将用户的口音分类到口音组中。一旦被分类,与用户1402相关联的290中的用户简档就被相应地更新以合并所估计的口音分类。如本文所讨论的,这种估计的口音信息稍后可以被例如机器人代理用来自适应地计划对话。
[0195]
除了用户的语言特点之外,可以用于促进自适应对话管理的多模态信息(图2a中的250-290)还包括发生的活动、发生的(一个或多个)事件、
……
等等。关于事件的知识可以辅助机器人代理提高对话参与度。事件可以是指过去发生的事情或在对话中观察到的事情,无论是由某人在对话中做过还是提到。例如,对话场景中的用户可以走向场景中的对象,或者用户可以提到他将在六月飞往拉斯维加斯庆祝他的生日。
[0196]
图15a提供了根据本教导的实施例的表示事件的示例性抽象结构。如图15a中所
示,事件包括关于对象执行的动作。事件中涉及的动作可以由动词来描述,而对象可以是该动作所针对的任何事物。关于对话,动作可以由对话场景中的实体执行,而对象可以是场景中任何可以被作用的对象。例如,如图15a中所示,事件可以是某人走向对象(诸如黑板、桌子
……
或计算机);某人指着对象(诸如黑板、桌子或桌子上的计算机);
……
,以及某人举起对象,等等。
[0197]
图15b-15c示出了根据本教导的实施例的基于来自对话场景的观察而在对话期间跟踪以事件为中心的知识作为对话上下文的示例。如本文所讨论的,关于活动或事件的知识(无论是否发生在对话期间)都可以使机器人代理能够增强其性能。以事件为中心的知识可以被用于辅助机器人代理理解来自人类用户的语音的含义或意图。例如,与机器人代理进行对话的用户可以走向黑板,然后指着它问:“这是什么?”这在图15b中进行了图示。在这种情况下,只有声学信息的情况下,即使不是不可能,机器人代理通常也难以理解用户在说什么。然而,来自对话场景的其它类型的信息可以提供有用的线索,并且可以与语音识别结果(说出的词语)结合来估计用户所指的内容。
[0198]
根据本教导,可以跟踪对话场景,并分析信息以检测存在于对话场景中的各种对象、此类对象之间的空间关系、由用户执行的(一个或多个)动作、以及此类动作对场景中的对象的影响,包括由于此类动作而引起的对象的空间关系的动态改变等。例如,如图15b中所示,经由(一个或多个)视觉传感器观察到场景中的用户走向黑板,举手,并且当用户说出“这是什么?”时指向黑板。此类观察可以被用于动态构建具有如图15c中所示的示例性表示的事件(用户走向并指向场景中的黑板)以描述在对话场景中视觉地观察到的事件。在这个示例中,该事件包括两个动作,一个(动作1)是走向黑板,另一个(动作2)是指向黑板。所涉及的每个动作可以用表示该动作被执行的时间的时间t进行注释(参见动作1的t1和动作2的t2)。以这种方式,事件中的动作序列可以与和不同动作相关联的时间线相关联。例如,用户可能首先走向(t1的动作1)黑板,然后在用户说出“这是什么?”时指向(t2的动作2)黑板。每个动作的定时可以与话语的定时进行比较,并且时间对应性也可以辅助理解话语的含义。
[0199]
以多种模态搜集的信息促进了跟踪/学习关于对话场景中正在发生的事情的知识,这可以在动态构建的事件表示中进行描述。当传统的语言模型和上下文无法有效解决某些歧义时,这种动态构建的事件知识可以在帮助机器人代理估计(由asr)识别出的词语序列的语义(通过nlu)方面发挥重要作用。以图15b和15c中所示的示例为例,基于用户走向黑板并在说出“这是什么”的同时指向黑板的事件这一知识,机器人代理至少可以得出以下结论:用户的“这”是指黑板,要么是黑板上有什么,要么是黑板是什么。这种理解比传统方法能够实现的(即,不知道用户通过“这是什么?”是指什么?)更有用。在一些情况下,如果有更多信息可用,那么机器人代理可以能够进一步缩小用户的意图。例如,如果用户指着计算机屏幕问“这是什么?”并且机器人代理刚刚向用户显示了一张图片,那么机器人代理可以确定对用户问题的适当回应,例如询问“你是指我刚刚在电脑上显示的图片吗?”因此,丰富媒体上下文信息(包括视觉上观察到的事件、动作等)可以辅助机器人代理设计自适应对话策略,以便在人机对话会话中持续吸引用户。
[0200]
图15d-15e示出了根据本教导的实施例的跟踪多模态信息以识别以事件为中心的知识以促进人机对话中的口语理解的另一个示例。在这个示例中,对话中的用户可以说“我
喜欢尝试这个”。虽然asr可以处理话语并识别词语“我”、“喜欢”、“尝试”和“这个”,但在没有更多的非传统上下文信息的情况下,机器人代理无法确定用户的“这个”是指什么。在这个示例中,可以分析在对话场景中被同时监视的视觉信息,并且机器人代理可以使用在用户说出词语时检测到的事件来估计话语的含义。在这个示例中,如图15d中所示,可以经由视觉手段观察到说出这些词语的用户将手伸到桌子上的笔记本计算机(动作1),打开(动作2)笔记本计算机,然后开始在键盘上打字(动作3)。从视觉信息中学习到的此类事件知识可以被用于构建如图15e中所示的事件表示,其中该事件被表示为包括三个动作(伸出、打开和打字),每个动作与定时(分别为t1、t2和t3)以及每个动作所针对的对象相关联。在这个示例中,可以根据与动作相关联的时间的次序来识别事件中动作的序列。通过将此类视觉观察与识别出的词语“我喜欢尝试这个”相结合,机器人代理可以推断出用户的“这个”可能是指用户喜欢在笔记本计算机上做的事情,作为响应,机器人代理可以通过询问用户“你想在计算机上尝试什么?”来设计响应策略,以便与用户正在做什么/想什么保持相关,从而实现更好地吸引用户。
[0201]
如本文所讨论的,根据本教导的实施例的机器人代理进行对话,其旨在实现个性化的上下文感知的人机对话。它是个性化的,因为根据本教导的机器人代理利用用户简档信息和动态个人信息更新(图12a-12c中所示的示例)来理解和响应(如下所述)用户。它是上下文感知的,因为它利用以经由实时(图15a-15e中所示的示例)或者先前建立的不同模态获取的信息而动态估计的事件知识,来促进机器人代理理解对话上下文。这种个性化和上下文感知的对话控制使机器人代理不仅能够更好地理解用户,而且能够生成更相关、更具吸引力和更适合动态场景的响应。
[0202]
图16a描绘了根据本教导的实施例的用于个性化的上下文感知的对话管理(pcadm)的示例性高级系统图。在这个实施例中,信息状态100以pcadm为中心,并且包括基于跨不同模态的传感器信息建立/更新的丰富媒体上下文信息以及个性化的信息。如图所示,pcadm包括多模态信息处理部件、知识跟踪/更新部件、用于估计/更新不同方的心思的部件、对话管理器150和负责生成可递送响应(由对话管理器150确定的响应)的部件,所有这些都使用基于信息状态110中动态更新的各种信息的个性化的和上下文感知的方式。
[0203]
在图16a中所示的图示实施例中,多模态信息处理部件包括例如slu引擎1100(口语理解,包括asr 130和nlu引擎140二者,参见图11)、视觉信息识别器1600,以及自我运动检测器1610。知识更新部件可以包括例如周围知识跟踪器1620、用户简档更新引擎1630和个性化常识更新器1670。用于估计/更新各方的心思的部件包括例如代理心思更新引擎1660、共享心思监视引擎1640和用户心思估计引擎1650。用于生成可递送响应的部件包括例如nlg引擎160和tts引擎170(参见图1)。
[0204]
对话管理器150基于来自slu引擎1100的对用户话语的语音理解、相关对话树(例如,支配底层对话的特定t-aog)、以及来自信息状态110的不同类型的数据(例如,用户简档、对话历史、丰富媒体上下文、估计的不同心思、事件知识、...、常识)来管理对话,这使得对话管理器150能够以个性化和上下文感知的方式确定对用户话语的响应。如本文所讨论的,信息状态110是由各种部件(诸如1620、1630、1640、1650、1660和1670)动态地建立/更新的。例如,在接收到与用户的语音相关的信号(其可以包括例如嘴部移动的音频和视觉)后,slu引擎1100执行口语理解。在一些实施例中,为了理解用户的话语,可以在语音识别(其用
于确定说出的词语)和语音理解(其用于了解话语的含义)二者期间探索来自信息状态110的信息。例如,如果针对参与对话的用户的信息状态记录了该用户的已知口音或视素,那么此类信息可以用于识别说出的词语。如关于图15a-15e所讨论的,在对话场景中观察到的关于用户的事件知识也可以被用于解决某些歧义。这种事件知识可以通过由视觉信息识别器1600和周围知识跟踪器1620分析视觉输入来导出,然后事件表示可以被存储在信息状态110中并且由slu引擎110访问以理解用户的话语的语义。
[0205]
视觉和其它类型的观察(例如,来自用户的触觉输入)也可以被监视和分析,以单独地或者与音频信息组合地导出不同的上下文信息。例如,可以将鸟鸣(声音)和绿树(视觉)结合起来推断它是户外场景。经由例如触觉信息检测到的用户的自我移动可以与视觉信息结合以推断用户与场景中存在的对象之间的空间关系的改变。用户的面部表情也可以从视觉信息中识别,并且可以被用于估计用户的情绪或意图。这种估计也可以存储在信息状态110中,然后例如由用户的心思估计引擎1650使用以估计用户的心思,或由对话管理器150来确定要做什么以便继续吸引用户参与对话。
[0206]
如本文所讨论的,机器人代理和用户之间的对话可以由aog(或代理的心思)驱动,aog表示预期的话题,具有带有特定创作的对话内容的预期交谈流。在对话期间,取决于识别出的用户口语,可以由共享心思监视引擎1640识别aog中的某些对话路径,并且与共享心态相关的信息可以被估计并用于更新信息状态110中所记录的共享心态表示。在估计共享心态时,共享心思监视引擎1640还可以利用基于多模态感测输入而开发的丰富媒体上下文。除此之外,基于估计的共享心思,用户心思估计引擎1650可以进一步估计用户的心思,然后更新在信息状态110中记录的用户心思。
[0207]
利用丰富媒体周围上下文、来自slu引擎1100的用户话语的语义和用户简档290,对话管理器150基于更新后的信息状态110确定对用户的个性化和上下文感知的响应。该响应可以基于对用户所说内容(语义)的理解、用户的情绪或心态状态、用户的意图、用户的偏好、由相关aog规定的对话策略、以及估计的用户的参与程度来确定。除了确定对用户的响应的内容之外,根据本教导的机器人代理还可以通过以适合特定用户的方式为响应生成个性化内容来进一步个性化该响应。例如,如关于图9a-9b所讨论的,响应可以来自可以具有参数化内容的分类的主题(例如,对不正确答案的响应)。鉴于此,可以基于关于用户的知识(例如,用户的偏好或用户的情绪状态),为特定用户选择与参数化的内容相关联的特定内容。这是由nlg引擎160实现的。参考图16c-16d提供了与nlg引擎160和tts引擎170相关的更多细节。
[0208]
图16b是根据本教导的实施例的用于个性化上下文感知的对话管理的示例性过程的流程图。当在1605处接收到多模态输入时,图16a中的不同部件在1615处分析各个域中的信息。例如,可以接收与用户的话语和/或环境声音相关的声学信号;slu引擎1100可以分析音频信号以理解用户所说的话。还可以接收捕获用户的身体外观和移动(例如,嘴巴和身体移动)的视觉信号,并且可以由视觉信息识别器1600分析视觉信号以检测例如不同的对象、用户的面部特征、身体移动等。来自1100和1600的这种多模态数据分析结果然后可以被其它不同部件利用以推导出对周围环境、偏好和/或情绪的更高水平的理解。例如,周围知识跟踪器1620可以在1625处跟踪例如不同对象之间的动态空间关系、评估用户的情绪或意图等。然后,可以由用户简档更新引擎1630使用这种被跟踪的周围情况来评估例如用户的特
点(诸如观察到的偏好),并在1635处基于观察和分析结果更新信息状态110中的用户简档。
[0209]
基于所跟踪的周围信息(例如,所跟踪的用户的移动、事件和环境),可以在1645处更新信息状态110中存储的丰富媒体上下文。slu引擎1100然后可以利用更新后的用户简档和丰富媒体上下文来在1655处执行个性化的上下文感知的口语理解,这包括但不限于识别用户说出的词语(例如,基于与用户相关的口音信息来识别)和说出的词语的语义(例如,基于其它模态中揭示的视觉或其它线索来识别)。基于对用户话语的理解,对话管理器150然后在1665处确定在给定上下文和用户的已知特点的情况下被认为适当的对用户的响应。例如,对话管理器150可以确定当用户不正确地回答问题时,向用户指出这一点的响应将被递送给用户。
[0210]
为了确保这种响应是个性化的,nlg引擎160可以选择与具有指定目的的节点相关联的参数化的内容(参见图9a-9b)中的多个可供替代的响应之一,以在1675处生成特定于用户的个性化的响应。可以基于存储在信息状态110中的个人信息(例如,用户具有敏感的个性,之前不正确地回答了类似问题,并且当前看起来很沮丧)来进行选择。例如,鉴于已知用户是敏感的、容易受挫并且已经反复犯错,nlg引擎160可以生成旨在是温和的响应以避免进一步挫败用户。为了向用户递送个性化的响应,还可以由tts引擎170以个性化和上下文感知的方式渲染该响应。例如,如果已知用户具有南方口音并且当前处于噪声环境中(例如,其在信息状态110中指定),那么tts引擎170可以在1685处渲染具有南方口音和更高的音量的响应。一旦响应被递送给用户,过程就返回到步骤1605以个性化和上下文感知的方式处理下一轮对话。
[0211]
图16c描绘了根据本教导的实施例的nlg引擎160和tts引擎170的示例性高级系统图以产生上下文感知和个性化的音频响应。在这个图示中,nlg引擎160和tts引擎170二者可以根据存储在信息状态110中的被跟踪的信息来调整响应。首先,nlg引擎160可以根据来自对话管理器150的文本响应来生成响应,其中修改或调整是基于与用户相关的信息并根据已知的对话上下文确定的。除此之外,tts引擎170还可以以个性化和上下文感知的方式以其渲染的递送形式来进一步调整(已经调整的)响应。
[0212]
nlg引擎160包括响应初始化器1602、响应增强器1608、响应调整器1612和自适应响应生成器1616。图16d是根据本教导的实施例的nlg引擎160的示例性过程的流程图。在操作中,响应初始化器1602首先在1632处从对话管理器150接收文本响应,然后在1634处通过例如从例如与对话策略中特定节点相关联的参数化的内容中选择适当的响应来初始化响应。例如,假设如图9a中所示,用于教导学生“加法”概念的对话的对话策略被用于规定与用户的辅导对话。在该对话期间,向用户呈现关于将x和y相加的问题。当用户正确回答问题时,对话管理器150遵循图9a中对话策略中的路径到达节点675-2,并确定响应来自与节点675-2相关联的参数化的内容。如图9a中所见,在这种情况下,来自用户的正确答案可以是因为用户理解了问题并正确回答或是由于幸运的猜测,对话管理器150可以使用节点675-2处的参数化的内容作为要从中选择响应的池。在这种情况下,为当前情况设置的参数化的内容(与节点675-2相关联)是[t
rca
]。如图9b中所示,[t
rca
]被定义为[t
rc
]和[t
rg
]的组合,其中集合[t
rc
]用于对基于对所教导内容的正确理解的正确答案的响应,而集合[t
rg
]用于对基于猜测提供的正确答案的响应。用户的答案是猜测还是实际正确答案的确定可以基于为本文讨论的这种概率估计的概率p(l
t 1
|obs=正确)和p(g)。基于这些概率,响应初始化器
1602可以将两个参数化的内容集中的哪一个用作可以从中进一步选择响应的池。在一些实施例中,可以从基于如上所述的概率而选择的组中选择响应。例如,如果因为用户确实掌握了所教导的概念而提供正确答案的可能性更大,那么用于响应的选择池是[t
rc
]。一旦被选择,就将从参数化的内容集[t
rc
]中选择响应。
[0213]
在生成适当的响应时,可以以语法(基于句法和语义模型1604和1606)、知识性(基于话题知识模型1616和常识模型280)、人性化(基于用户简档290、代理的心思200和基于对话情况估计的用户的心思220)和智能(基于根据stc-aog 230的话题控制、对话上下文260、对话历史250,以及基于对相关对话的观察建立的以事件为中心的知识270)的方式来选择或生成响应。响应初始化器1602的输出(例如,对参数化的内容集的选择)然后可以被发送到响应增强器1608,其可以基于例如关于主题的专业知识(由话题知识模型1614表示)、常识知识(由常识模型280表示)等进一步缩小选择。基于相关话题的知识和常识模型在1636处被检索并被用于在1638处增强响应选择/生成。话题知识模型1614可以包括表示某些主题中的人类知识的知识图,其可以被用于控制响应的生成。常识模型280可以包括任何表示(诸如主语-谓语-宾语三元组)以对人类常识进行建模。这些模型可以被用于确保nlg引擎160将产生有意义的或与已知事实一致的句子。
[0214]
为了进一步增强响应生成,初始生成的响应的增强版本或者进一步从可供替代的响应的池中选择(例如,可以从参数化的内容集中选择用于对针对例如数学问题的正确答案进行响应),然后可以将选择的响应发送到响应调整器1612,在那里响应以上下文感知和个性化的方式被调整。为此,响应调整器可以通过在1642处访问来自例如对话历史(250)、对话上下文(260)、先前获取的事件知识(270)、任何用户偏好(290)以及代理和用户的估计的心态(200和220)并在1646处相应地调整响应来基于多个考虑进行操作。例如,如果已知用户害羞和敏感(根据先前的对话历史),那么可以生成或选择(从现有内容集中)对不正确答案的温和的响应。如果存在一些已知的相关过去事件,例如,用户在过去几年的生日旅行(参见图12d),当对话刚好发生在用户生日之前时,机器人代理可以问用户“你打算今年过生日去那里旅行?”以更好地吸引用户。作为另一个示例,如果在与机器人代理交谈时观察到(对话上下文260)用户手里拿着乐高玩具,那么机器人代理可以问“你喜欢乐高吗?”以进行更有趣和更吸引人的交谈。对用户熟悉度或喜好进行适配的响应可能会更好地吸引用户。
[0215]
如本文所讨论的,在对话期间,机器人代理基于观察到的内容持续地更新对代理的心态200、共享的心态210和用户的心态220的估计。对用户话语的响应也可以基于所估计的心思进行调整。例如,如果用户正确回答了关于数学概念(例如,分数)的多个问题,那么对用户心思的估计可以指示用户已经掌握了该概念。在这种情况下,在响应最后一个正确答案的可供替代的响应当中(例如,“干得好!”、“太棒了!”...,或“干得好。你已经掌握了这个概念。你想转向一个新概念吗?”),机器人代理可以选择向用户确认其成就并提供继续前进的响应。
[0216]
然后将来自响应调整器1612的调整后的响应发送到自适应响应生成器1616以在1648处生成上下文感知的和个性化的响应。为了确保机器人代理说出语法和语义正确的句子,自适应响应生成器1616根据句法模型1604和语义模型1606生成响应。然后在1652处将这种生成的自适应响应发送到tts引擎170以生成适合用户偏好的再现。
[0217]
图16e是根据本教导的实施例的用于tts引擎170的示例性过程的流程图。当自适应响应处理器1618在1654处从nlg引擎160接收到文本形式的自适应响应时,它在1656处理接收到的响应。为了渲染文本响应,需要经由例如文本到语音转换或tts将文本响应渲染为声学形式。为了生成响应的音频形式(机器人代理的话语),自适应tts特性分析器1622在1658处从用户简档290检索相关信息。相关信息可以包括例如用户的年龄组和/或种族组、用户的已知口音、性别等,其可以指示将文本响应转换成音频(语音)形式的某种优选方式。例如,基于已知的用户种族、该种族组的代表性口音(例如,表示该种族组平均口音的分布的质心的特征声学特征),可以将文本响应转换成具有该种族组的特有声学特征的语音信号。
[0218]
如果在1662处确定没有关于用户的此类偏好相关信息可用,那么自适应tts特性分析器1622调用文本到语音转换器1624以在1668处例如基于存储在例如tts特性配置1626中的标准tts配置而将自适应文本响应转换成语音形式。如果存在任何偏好,那么自适应tts特性分析器1622在1664处分析来自用户简档的信息以识别特定偏好并在1666处从tts特性配置1626检索特定tts转换配置参数,以将文本响应转换成表现出用户偏好的特定语音特点的语音形式。基于这种检索到的渲染参数,文本到语音转换器1624在1668处将接收到的自适应文本响应转换成表示用户偏好所规定的风格的自适应文本响应的语音形式的音频信号。然后在1672处将针对自适应文本响应的语音形式的所生成的音频信号发送到机器人代理以进行渲染(或对用户进行响应)。
[0219]
如本文所公开的,通过利用自适应地跟踪的多模态周围信息,对话中的口语理解可以以上下文感知的方式进行个性化,对话本身或进行对话的方式(机器和人类之间的来回交流)可以基于对话的动态而进行自适应配置,这些交流可以通过个性化和内容敏感确定的风格选择来递送。例如,用于辅导学生第二语言(例如,英语)的机器人代理可以基于对用户的了解来进行课程。如果学生用户属于一般已知具有特定口音简档的已知种族组,那么可以在考虑到这一点的情况下进行辅导,并且可以针对该特定口音简档来生成课程计划以有针对性地克服该口音,以确保学生将形成正确的发音。
[0220]
如本文所讨论的,通过基于多模态信息追踪与对话的周围环境相关的不同类型的信息,以个性化和上下文感知的方式设计对对话用户的响应。在对话中得出响应的另一个考虑因素是机器人代理对用户表现的评估。这种评估不仅可以引导如何与用户执行对话,还可以被用于在对话过程中自适应地调整教学计划。图17a描绘了根据本教导的实施例的用于经由动态反馈进行自适应个性化的辅导的机器辅导系统1700的示例性高级图。图示的机器辅导系统1700包括由教学计划执行单元1770支持的教学器1710、用于理解学生用户1702所说内容的交流理解单元1720、用于评估学生用户1702的表现的评分器单元1730,以及教学计划调整单元1750。可以基于来自用户简档290的关于用户的知识来设计针对学生用户的教学计划。例如,如果已知学生属于某个种族组,该种族组可能关于要辅导的语言具有对应的口音简档,那么可以基于已知的口音简档来设计教学计划以教导学生该语言。
[0221]
系统1770中的四个单元形成反馈回路,从而使得在辅导过程期间持续调整教学计划成为可能。在基于课程表1740和用户简档290确定初始教学计划1760之后,在辅导过程期间,交流理解单元1720分析学生的交流,并且结果被发送到评分器单元1730以评估用户的表现。这样的评估可以关于指定预期表现的课程表1740进行,可以根据在课程表1740中指
定的预期成绩来评估该预期表现。例如,在辅导学生英语时,可以有一系列辅导会话,有些是针对发音的,有些是针对词汇的,有些是针对语法的,有些是针对朗读的,有些是针对作文的。根据与掌握一定水平的英语相关的一系列目标,每个辅导会话可以针对特定目标。对于每个会话,可以被有要实现的目标覆盖的特定内容,使得评分器单元1730可以基于要实现的特定目标来评估用户的表现。例如,在教导学生学习如何用正确发音进行朗读时,该内容可以针对朗读以不同音素为目标的不同词语。可以记录用户说出词语的声学信号以及在说出词语时关于嘴部移动的视觉信息,并且可以分析用户读这些词语的声学特性和视素并与标准的对应声学和视素简档进行比较,作为评估的一部分。
[0222]
然后,评估结果被教学计划调整单元1750用来确定初始教学计划是否需要调整,以及如果需要,那么如何根据学生的表现和课程1740的预期目标来改变教学计划。调整可以基于观察到的声学/视素特点与标准声学/视素简档之间的偏差。对教学计划的调整然后被用于更新教学计划1760,从而可以由教学计划执行单元1770执行修订后的教学活动。同时,观察到的表现及其评估也可以被发送到用户简档更新器1780以持续更新用户简档290。如本文所述的图17a中的不同单元可以是如图16a-16b中所示的个性化和上下文感知的对话管理的一部分。例如,用户简档更新器1780可以与用户简档更新引擎1630对应或者是用户简档更新引擎1630的一部分;交流理解单元1720可以与slu引擎1100对应或者是slu引擎1100的一部分;教学计划执行单元1770可以是对话管理器150的一部分。图17a是为了示出闭环系统1700在对话会话过程期间动态调整教学计划方面的反馈性质。
[0223]
基于用户的简档调整教学计划的一个示例是具有个性化的教学计划,以教导每个学生学习语言中的正确发音。如已知的,发音可以通过声学(音素)和视觉(视素)二者来测量。如本文参考图13b-14b所讨论的,可以经由音频和视频信息建立不同种族组和个人用户的口音简档。对于个人用户,可以基于关于用户如何朗读某些语言素材的音频/视频信息来建立口音简档。对于种族组,可以基于其成员的口音简档来设计该组的口音简档。用户关于语言的口音简档与说该语言的组的代表性口音简档之间的偏差可以被用于设计教学计划以纠正用户的口音。
[0224]
图17b图示了根据本教导的实施例的机器人代理教学器可以用来辅导学生的示例性方法。如图所示,机器人教学器可以像人类一样设计不同的方式来辅导学生学习语言。例如,教学器可以经由声学、视觉或文本方式辅导学生。在声学上,导师可以向学生说明什么是正确、不正确的单词或音素发音方式,并且可以在声学上展示正确与不正确的发音方式之间的比较。导师还可以在发音时嘴唇/嘴巴移动的方面向学生进行视觉说明。在一些情况下,导师还可以在产生声音的同时向学生展示音轨动画,以便学生可以跟随以正确发音。导师还可以提供学生可以朗读的文本段落,以便按照说明正确发音单词。
[0225]
在基于人机交互的辅导中,机器人导师可以依靠对学生表现的动态观察(无论是听觉上的还是视觉上的),以便选择性地选择某种方式来辅导学生。这种教学方法的选择可以包括基于学生的进步要教导的素材或教导学生的方式二者。例如,评分器单元1730可以基于与多个方面相关的观察来动态评估学生的表现,例如,学生回答是否正确,学生的发音是否带有任何口音,以及学生的视素是否与要求的视素相符。如果评分器单元1730的评估揭示出学生的视素不符合所教导的特定语言所要求的视素,那么机器人代理可以动态地决定向学生示出正确的视素、或甚至视素的视觉动画、或声音轨迹应当如何,以便纠正学生的
发音。
[0226]
图17c提供了根据本教导的实施例的评分器单元1730可以在辅导会话期间评估的用户表现的示例性方面。如图所示,评分器单元1730可以被设计为根据语言学习的不同方面来评估学生,例如,语言特征(诸如句法表现(学生是否使用正确的句法)、语义(学生是否理解词语、句子的语义))、发音相关特征(诸如学生如何发音、观察到的视素是什么等)、学生的朗读流畅度、学生的整体理解、学生的语言使用、以及可以与确定什么是教导学生的适当方式相关的学生的各种其它观察(诸如学生的性别、年龄组,或者教导给学生的语言是他/她的第一语言还是第二语言)。教学计划调整单元1750可以进行和使用这些观察以促进其关于如何调整教学计划的决策,包括要教导的素材以及教导学生的方式(听觉、视觉、文本)。图17d

17f中示出了与教导英语语言相关的示例。
[0227]
图17d提供了美国人的英语口语的示例性投影的口语简档分布1330以及针对分布1330的质心点的不同音素的示例性声学波形和与此类音素对应的视觉视素。如图17d中所示,左侧是投影在坐标系中的一组美国人的口音简档的分布1330,右侧是从分布1330的质心(例如,平均值)导出的例如美式英语中不同音素的对应声学波形及其对应视素。在教导学生学习美式英语时,目标是让学生达到优选地在1330范围内的口音简档。相应地,为了满足这个目标,辅导计划是帮助学生在说英语时达到与图示的声学波形以及针对不同音素所示的对应嘴形/移动相似的声学特点。这种帮助可以经由声音提供,即,机器人代理向用户说出音素或词语并要求学生模仿该声音。附加地或可替代地,当读出音素或词语时,机器人代理可以视觉地向学生示出嘴巴的形状和移动。为教导学生达到正确发音而部署的声学和视觉手段二者可以基于底层语言的标准口音简档,例如,针对美式英语的分布1330的质心(平均发音)的口语简档。
[0228]
图17e示出了根据本教导的实施例的一个种族组a4的口音简档与要教导的语言(a3)的口音简档之间的偏差的示例。在图17e的左侧,有两个分布,一个分布对应于和美式英语的标准口音简档分布a3 1330相关的分布1330,而另一个分布是法国人讲美式英语时的口音简档分布a4 1340。在右侧,示出了来自两个种族组的示例性视素,例如,来自与组a3的质心对应的标准口音简档的两个示例性视素1780-1和1790-1以及从种族组a4 1340的用户处观察到的两个示例性对应视素1780-2和1790-2。如所看到的,在1780-1与1780-2之间以及在1790-1与1790-2之间存在可观察到的差异。当来自用户的视素与来自用户正在学习的语言的标准口音简档的视素之间存在差异时,这可以指示存在不正确的发音。因此,可以设计教学计划以并入纠正口音的措施/步骤,其通过教导学生如何控制嘴巴形状以便正确发音。在一些实施例中,还可以使用各种音素的语音信号的差异来确定是否需要口语纠正,以及,如果需要的话,那么要在教学计划中结合什么内容来使其发生。因此,此类观察到的音素或者视素的差异为开发自适应教学计划提供了基础。
[0229]
图17f示出了根据本教导的实施例的结合在教学计划中的辅导内容的示例,该教学计划是基于相对于底层口语的标准视素而观察到的用户的视素特征而自适应地开发的。在这个示例中,基于标准视素1790-1与从用户观察到的1790-2之间的第一偏差对1795而开发教学内容1790-3,教学内容1790-3具有用户可以首先看到他/她自己的视素并且被提示例如点击“创建纠正形状”按钮以显示音素的正确视素(嘴形)的界面。在一些实施例中,机器人代理还可以提供一些伴随的口头指令以指导学生在观看标准视素时正确发音音素。此
类指令还可以基于例如1790-1与1790-2之间的差异而自适应地创建。例如,如果用户的视素看起来太宽而不是像标准视素中那样更圆,那么可以设计指令来告诉用户他/她的嘴巴需要形成圆形。
[0230]
图17g是根据本教导的实施例的用于经由动态信息跟踪和表现反馈来自适应地创建个性化辅导计划的示例性过程的流程图。首先在1705处接收用户的多模态输入。为了评估用户的表现,在1715处访问当前的教学计划,该计划是基于课程表开发的。基于用户的输入和教学计划,在1725处关于课程表的预期目标来评估用户的表现,并在1735处识别用户的表现与课程表的预期目标之间的差异。这种差异可以以不同的模态识别(例如,在声学特征和视觉特征中识别),然后可以被用于在1745处修改当前教学计划以导出经修改的自适应教学计划。在一些实施例中,从用户进行的观察和对用户表现的评估可以被用于在1755处更新用户简档。为了继续与用户的对话,机器人代理在1765处根据经修改的教学计划来继续对话。
[0231]
图18是根据各种实施例的可以被用于实现实施本教导的专用系统的示例性移动设备体系架构的说明图。在这个示例中,在其上实现本教导的用户设备与移动设备1800对应,包括但不限于智能电话、平板电脑、音乐播放器、手持游戏控制台、全球定位系统(gps)接收器和可穿戴计算设备(例如,眼镜、腕表等),或任何其它形式的设备。移动设备1800可以包括一个或多个中央处理单元(“cpu”)1840、一个或多个图形处理单元(“gpu”)1830、显示器1820、存储器1860、通信平台1810(诸如无线通信模块)、存储装置1890,以及一个或多个输入/输出(i/o)设备1840。任何其它合适的部件,包括但不限于系统总线或控制器(未示出),也可以包括在移动设备1800中。如图18中所示,移动操作系统1870(例如,ios、android、windows phone等)和一个或多个应用1880可以从存储装置1890加载到存储器1860中以便由cpu 1840执行。应用1880可以包括用于管理移动设备1300上的交谈系统的浏览器或任何其它合适的移动应用。用户交互可以经由i/o设备1840实现并且经由网络提供给自动对话伙伴。
[0232]
为了实现本公开中描述的各种模块、单元和它们的功能,计算机硬件平台可以被用作用于本文描述的元件中的一个或多个的(一个或多个)硬件平台。此类计算机的硬件元件、操作系统和编程语言本质上是常规的,并且假定本领域技术人员充分熟悉这些技术以使那些技术适应如本文描述的适当设置。具有用户接口元素的计算机可以被用于实现个人计算机(pc)或其它类型的工作站或终端设备,但如果适当编程,计算机也可以充当服务器。相信本领域技术人员熟悉这种计算机装备的结构、编程和一般操作,因此附图应当是不言自明的。
[0233]
图19是根据各种实施例的可以被用于实现实施本教导的专用系统的示例性计算设备体系架构的说明图。这种结合本教导的专用系统具有硬件平台的功能框图说明,其包括用户界面元素。计算机可以是通用计算机或专用计算机。二者都可以被用于实现本教导的专门系统。这个计算机1900可以被用于实现交谈或对话管理系统的任何部件,如本文所述。例如,交谈管理系统可以经由其硬件、软件程序、固件或其组合在诸如计算机1900之类的计算机上实现。虽然为了方便起见仅示出了一个这样的计算机,但可以在多个类似平台上以分布式方式实现与本文所述的交谈管理系统相关的计算机功能以分布处理负载。
[0234]
例如,计算机1900包括com端口1950,该com端口1950连接到与其相连的网络,以促
进数据通信。计算机1900还包括一个或多个处理器形式的中央处理单元(cpu)1920,用于执行程序指令。示例性计算机平台包括内部通信总线1910、不同形式的程序存储装置和数据存储装置(例如,盘1970、只读存储器(rom)1930或随机存取存储器(ram)1940),用于由计算机1900处理和/或传送的各种数据文件,以及可能由cpu 1920执行的程序指令。计算机1400还包括i/o部件1960,从而支持计算机和其中的其它部件(诸如用户接口元素1980)之间的输入/输出流。计算机1900还可以经由网络通信接收编程和数据。
[0235]
因此,如上面所概述的,对话管理和/或其它过程的方法的各方面可以实施在编程中。该技术的程序方面可以被认为是“产品”或“制品”,通常以在一种机器可读介质中携带或实施的可执行代码和/或相关联数据的形式。有形的非暂态“存储装置”类型介质包括用于计算机、处理器等的任何或所有存储器或其它存储装置,或其相关联的模块,诸如各种半导体存储器、带驱动器、盘驱动器等,它们可以在任何时间提供存储以进行软件编程。
[0236]
软件的全部或部分有时可以通过诸如互联网或各种其它电信网络之类的网络进行传送。例如,这种通信可以使软件能够从一个计算机或处理器加载到另一个计算机或处理器中,例如,与交谈管理相关。因此,可以承载软件元素的另一种类型的介质包括光波、电波和电磁波,诸如跨本地设备之间的物理接口、通过有线和光学陆线网络以及通过各种空中链路使用的。携带此类波的物理元素(诸如有线或无线链路、光学链路等)也可以被认为是承载软件的介质。如本文所使用的,除非限于有形“存储”介质,否则诸如计算机或机器“可读介质”之类的术语是指参与向处理器提供指令以供执行的任何介质。
[0237]
因此,机器可读介质可以采用多种形式,包括但不限于有形存储介质、载波介质或物理传输介质。非易失性存储介质包括例如光盘或磁盘,诸如(一个或多个)任何计算机等中的任何存储设备,其可以被用于实现系统或其任何部件,如图中所示。易失性存储介质包括动态存储器,诸如这种计算机平台的主存储器。有形传输介质包括同轴电缆;铜线和光纤,包括在计算机系统内形成总线的电线。载波传输介质可以采用电或电磁信号,或声波或光波的形式,诸如在射频(rf)和红外(ir)数据通信期间生成的那些。因此,常见形式的计算机可读介质包括例如:软盘、软盘、硬盘、磁带、任何其它磁介质、cd-rom、dvd或dvd-rom、任何其它光学介质、打孔卡纸带、任何其它带有孔洞图案的物理存储介质、ram、prom和eprom、flash-eprom、任何其它存储器芯片或盒式磁带、运输数据或指令的载波、运输此类载波的电缆或链路,或计算机可以从中读取编程代码和/或数据的任何其它介质。这些形式的计算机可读介质中的许多可以涉及将一个或多个指令的一个或多个序列运送到物理处理器以供执行。
[0238]
本领域技术人员将认识到的是,本教导经得起各种修改和/或增强。例如,虽然上述各种部件的实施方式可以实施在硬件设备中,但它也可以被实现为纯软件解决方案——例如,安装在现有服务器上。此外,如本文所公开的欺诈网络检测技术可以被实现为固件、固件/软件组合、固件/硬件组合或硬件/固件/软件组合。
[0239]
虽然上文已经描述了被认为构成本教导和/或其它示例的内容,但是应该理解的是,可以对其进行各种修改并且可以以各种形式和示例来实现本文公开的话题,并且该教导可以应用于许多应用中,本文仅描述了其中的一些。以下权利要求旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献