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

基于知识追踪的智能对话的系统和方法与流程

2022-04-02 13:05:21 来源:中国专利 TAG:

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

[0105]
如果来自学生的答案不正确(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,从而可以以灵活(内容被参数化)、个性化(参数是基于据个性化的信息计算的)并且因此更加高效的方式来进行这些对话。
[0106]
如本文所讨论并在图2a中所示的,信息状态110不仅基于aog还基于各种类型的信息(诸如对话上下文260、对话历史250、用户简档290、以事件为中心的知识270,以及一些常
aog时估计的此类概率可以被用于估计与s-aog中的节点(即,表示概念“加法”的节点)相关联的奖励,其指示用户是否已经掌握了该概念。即,与表示概念的节点相关联的奖励值在对话期间被更新。如果教学是成功的,那么奖励可以降到低值,该低值指示教导学生这个概念没有进一步的价值或奖励,因为学生已经掌握了这个概念。如所看到的,此类基于状态的奖励被个性化,因为它们是基于每个用户在对话中的表现来计算的。
[0111]
在t-aog中还存在与不同路径相关联的奖励,t-aog包括不同的节点,每个节点可以具有多个分支,这些分支表示可供替代的通路。不同分支的选择会导致对底层t-aog的不同遍历,并且每种遍历产生t-pg。在辅导应用中,为了跟踪辅导的有效性,在t-aog的(在对话期间被遍历的)每个节点处,不同分支可以与相应测量相关联,这些测量可以指示在选择相应分支时实现预期目标的可能性。与分支相关联的测量越高,它就越有可能通向满足预期目的的路径。然而,对从每个个体节点出来的分支的选择进行优化可能不会导致整体最优路径。在一些实施例中,不是对每个节点处的分支的个体选择进行优化,而是可以在路径的基础上执行优化,即,优化是关于(特定长度的)路径执行的。在操作中,这种基于路径的优化可以被实现为前瞻(look-ahead)操作,即,在考虑沿着路径的接下来的k个选择时,在关于当前节点的当前分支处的最佳选择是什么。这种前瞻操作是根据沿着每条可能路径的复合测量来选择分支,该复合测量是基于沿着每条可能路径从当前节点出发的链路上累积的测量而确定的。查找的长度可以变化并且可以基于应用需要来确定。与(源自当前节点的)所有可供替代的路径相关联的复合测量可以被称为基于路径的奖励。然后,可以通过对从当前节点开始的所有可能的遍历的基于路径的奖励进行最大化,来选择从当前节点开始的分支。
[0112]
沿着t-aog的路径的奖励可以基于基于在对话期间观察到的用户的表现而确定的多个概率来确定。例如,在t-aog中的当前节点处,对话代理可以向学生用户提出问题,然后从用户接收响应于该问题的答案,其中该答案与从t-aog中针对该问题的节点出发的分支对应。然后,可以基于概率来估计与针对该分支的奖励相关的测量。此类测量以及基于路径的奖励被个性化,因为它们是基于从涉及特定用户的对话中观察到的个人信息计算出的。与沿着(与s-aog节点相关联的)t-aog路径的不同分支相关联的测量可以被用于估计s-aog节点关于学生掌握水平的奖励。这些奖励(包括基于节点的奖励和基于路径的奖励)可以构成用户的“效用”或偏好,并且可以被机器人代理用来自适应地确定如何在效用驱动的对话计划中继续对话。这在图7b中示出,该图示出了可以如何追踪知识以使对话系统100能够即时地基于“共享的心思”(其表示实际对话)适应相关知识,以使用这种追踪的知识来动态更新模型(参数化的aog中的参数,例如,对s-aog关于学生/用户的心思中对基本概念掌握程度的奖励,和/或对代理的心思中t-aog中不同路径的奖励),这些模型然后可以(被代理)使用,以根据与特定用户的对话的动态情况来执行效用驱动的对话计划。
[0113]
返回参考图7a,为了执行知识追踪和根据所追踪的知识对信息状态110的更新,知识追踪单元700包括初始知道概率估计器710、知道肯定概率估计器720、知道否定概率估计器730、猜测概率估计器740、状态奖励估计器760、路径奖励估计器750和信息状态更新器770。图7c是根据本教导的实施例的知识追踪单元700的示例性过程的流程图。在操作中,可以首先在705处估计相关aog表示中节点的初始知道概率。这可以包括s-aog中每个相关节点以及与s-aog节点相关联的每个t-aog的每个分支二者的初始知道概率。
[0114]
利用估计的初始概率,对话代理可以与用户关于特定话题进行对话,该特定话题由相关s-aog节点和用于该s-aog节点的特定t-aog表示,相关联的概率已初始化。为了发起对话,机器人代理通过遵循t-aog而开始对话。当用户对机器人代理进行响应时,nlu引擎120可以分析该响应并产生语言理解输出。在一些实施例中,为了理解用户的话语,nlu引擎120还可以基于话语之外的信息(例如,来自多模态信息分析器702的信息)来执行语言理解。例如,用户可能在指着桌子上的一个玩具的同时说“这是个机器玩具”。为了理解这个话语的语义(即,“这”是什么意思),多模态信息分析器702可以分析音频和视觉信息以组合不同模态中的线索,以促进nul引擎120理解用户的意思并输出用户的响应,该用户的响应具带有例如基于t-aog的对于响应的正确性的评估。
[0115]
当知识追踪单元700在715处接收到带有该评估的用户的响应时,为了基于对话中发生的事情来追踪知识,可以调用不同的模块以基于接收到的输入来估计相应的概率。例如,如果用户的响应与正确答案对应,那么可以调用知道肯定概率估计器720来确定与肯定地知道正确答案相关联的概率;可以调用知道否定概率估计器730来估计与不知道答案相关联的概率;可以调用猜测概率估计器740来确定评估用户仅仅做出猜测的可能性的概率。如果用户的响应与不正确答案对应,那么知道肯定概率估计器720也可以确定与肯定知道但用户犯了错误相关联的概率;知道否定概率估计器730可以估计与不知道并且用户仍然回答错误相关联的概率;猜测概率估计器740可以确定答案仅仅是猜测的概率。这些步骤分别在725、735和745处执行。
[0116]
如本文所讨论的,对于t-aog,当用户与对话代理交互时,此类交互形成解析图,该解析图随着对话的进展而继续增长。一个示例在图5a中示出。给定机器人代理和用户之间交互的解析图或历史,用户知晓底层概念的概率可以基于所估计的概率被自适应地更新。在一些实施例中,在时间t 1处的初始知晓(或知道)概念的概率可以基于观察来更新。在一些实施例中,它可以基于以下公式计算:
[0117][0118][0119]
其中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中的节点相关联的基于状态的奖励或基于节点的奖励,这些奖励表示用户对与概念节点相关联的相关技能的掌握程度。
[0120]
基于关于沿着t-aog中的pg路径的每个节点的不同分支(例如,一些与正确答案对应,一些与错误答案对应)计算出的概率,可以在图7c中的765处由路径奖励估计器750关于每条路径计算基于路径的奖励。基于这种估计的基于状态的奖励和基于路径的奖励,信息状态更新器770然后可以在775处继续更新信息状态110中的参数化的aog。当与信息状态110中的aog相关联的参数被更新时,更新后的参数化aog然后可以被用于基于用户的效用
(偏好)来控制对话。
[0121]
在一些实施例中,用于对aog进行参数化的不同参数可以基于观察和/或计算出的概率来学习。在一些实施方式中,可以采用无监督学习方法来学习此类模型参数。这包括例如知识追踪参数和/或效用/奖励参数。这种学习可以在线或离线执行。下面,提供了示例性学习方案:
[0122][0123]
α1(j)=π
jbj
(o1),j∈[1,n]
[0124][0125]
β
t
(i)=1,i∈[1,n]
[0126][0127][0128][0129][0130]
图8a-8b描绘了根据本教导的实施例的基于动态计算的aog参数的效用驱动的对话计划。效用驱动的对话计划可以包括对话节点计划和对话路径计划。前者可以指在s-aog中选择用于继续对话会话的节点。后者可以指在t-aog中选择用于进行对话的路径。图8a示出了根据本教导的实施例的关于参数化的s-aog的效用驱动的辅导计划的示例。图8b示出了根据本教导的实施例的参数化的t-aog中的效用驱动的路径计划的示例。
[0131]
对于节点计划,如图6d中所示,示例性s-aog 310用于教导各种数学概念并且每个节点与一个概念对应。在图8a中示出了不同节点,节点具有与其相关联的奖励相关参数,并且其中的一些节点可以用基于所连接的节点的奖励而制定的条件来参数化。如图8a中所见,节点310-4用于教导概念“加法”,节点310-5用于教导概念“减法”,......等等。每个节点用例如指示对教导该概念的奖励进行参数化,该奖励与例如对该概念的当前掌握水平有关。与s-aog 310中的一些节点相关联的奖励被表述为来自其所连接的节点的奖励参数的函数。
[0132]
一些概念可能需要在用户已经掌握一些其它概念的要求或条件(例如,先决条件)下来教导。例如,为了教导学生“除法”概念,可以要求用户已经掌握“加法”和“减法”的概念。这可以通过要求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的数学公式以满足这些条件。
[0133]
基于节点的计划可以被设置,使得与以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来发起用于教导相应概念的对话。
[0134]
这同样也适用于针对“分数”的节点。可以要求用户已经掌握了“乘法”和“除法”的概念(用于310-2和310-3的奖励足够低),并且用于节点“分数”的奖励相应地变得合理地高。以这种方式,与s-aog中的节点相关联的基于状态的奖励可以被用于以个性化的方式动态地控制如何在s-aog中的节点之间遍历,例如,基于与每个个体相关的情况自适应的方式。即,在与不同用户的实际对话中,可以基于对实际对话情况的观察以个性化的方式自适应地控制该遍历。例如,在图8a中,取决于教学的阶段,不同节点在不同时刻可以具有不同奖励。如图所示,关于“加法”的节点310-4是最暗的,表示例如最低奖励值,这可以指示用户已经掌握了“加法”的概念。关于“减法”的节点310-5具有介于二者之间的奖励值,例如指示用户当前尚未掌握该概念但已接近。节点310-1、310-2和310-3是浅色的,从而例如指示高水平的奖励值,这些奖励值表示用户尚未掌握对应概念。
[0135]
与t-aog中的路径相关联的路径相关或基于路径的奖励也可以基于对实际对话的观察来动态地计算并且还可以被用于在对话期间对如何遍历t-aog(如何选择分支)进行调整。图8b图示了根据本教导的实施例的关于t-aog的效用驱动的路径计划的示例。如图所示,在遍历t-aog时,在每个时刻,例如在时间t处,在接收到来自用户的答案后,机器人代理需要确定如何进行响应。在时刻1,...,t期间,对话遍历了解析图pg
1...t
,被遍历的状态为s1,s2,...,s
t
。为了进行响应,从状态s
t
可以存在多个分支,通向下一个状态s
t 1

[0136]
为了确定要采取哪个分支,可以沿着可供替代的路径基于基于路径的奖励来执行前瞻操作。例如,为了前瞻一步,可以考虑与源自s
t
(前进一步)的可供替代的分支相关联的奖励,并且可以选择表示基于最佳路径的奖励的分支。为了前瞻两步,考虑与源自s
t
的第一组可供替代的分支中的每个分支相关联的奖励以及与每个次级可供替代的分支(源自第一组可供替代的分支中的每个分支)相关联的奖励,并且导致最佳的基于路径的奖励的分支被选为下一步。也可以基于相同的原理实现更深入的前瞻。图8b中所示的示例是实现两步前瞻的方案,即,在时间t处,前瞻的范围包括t 1处的多条路径以及t 2处的源自t 1处的每条路径的多条路径中的每条路径。然后,经由前瞻来选择分支以最优化基于路径的奖励。
[0137]
与分支相关联的基于路径的奖励可以首先被初始化,然后在对话期间被更新。在一些实施例中,可以基于用户指示的先前对话来计算初始的基于路径的奖励。在一些实施例中,此类初始的基于路径的奖励也可以基于情况相似的多个用户的先前对话来计算。然后,可以基于每个分支选择如何导致对对话的预期目的的满足度,在对话期间随时间动态
地更新每个基于路径的奖励。基于这种动态更新的基于路径的奖励,可以按照每个用户关于如何进行交谈的效用(或偏好)来驱动前瞻优化方案。因此,它启用了自适应路径计划。以下是基于前瞻操作来优化路径选择的用于路径计划的示例性公式。在这个示例性公式中,a*是给定多个分支选择a、当前状态s
t
和解析图pg
1...t
的情况下最优选择的路径,eu是分支选择a的预期效用,并且r(s
t 1
,a)表示在状态s
t 1
下选择a的奖励。如可以看到的,优化是递归的,其允许在任何深度进行前瞻。
[0138]a*
=arg max eu(a|s
t
,pg
1...t
)
[0139][0140]
结合基于状态的、效用驱动的节点计划,根据本教导的对话系统100能够联系底层对话的预期目的,基于过去积累的关于用户的知识以及对用户的即时观察来动态地控制与用户的交谈。图8c图示了根据本教导的实施例的基于节点和路径计划的组合的、对与学生用户的对话的效用驱动的对话管理的使用。即,在与学生用户的对话中,对话代理基于动态节点和基于参数化的aog的路径选择、经由效用驱动的对话管理来进行与用户的对话。
[0141]
在图8c中,s-aog 310包括不同的节点,这些节点用于将要教导的各个概念,具有带注释的奖励和/或条件。可以基于关于用户的知识预先地确定与节点相关联的奖励。例如,如图所示,四个节点(310-2、310-3、310-4和310-5)可以具有较低的奖励(表示为较暗的节点),从而例如指示学生用户已经掌握了加、减、乘和除的概念。存在一个具有高教学奖励的节点(即,可以安排对话),其是关于“分数”的310-1。因此,选择s-aog节点之一以进行对话是奖励驱动或效用驱动的节点计划。
[0142]
节点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能够调整其路径计划,从而使对话更有效、更有吸引力并且更灵活。
[0143]
用于在信息状态110中表示代理的心态的aog需要在用于人机对话之前用内容来创建。创建aog的结构以及与节点/分支相关联的内容的过程被称为内容创作。传统上,aog中的内容由人创作,这可以既耗时又乏味。不同的aog可以按照一定的次序创建,例如,用于s-aog中每个节点的t-aog可以在已经创建s-aog中的该节点之后创建。这在图9a中示出,其描绘了根据本教导的实施例的用创作的内容创建aog的示例性模式。如所看到的,aog的创建包括创建s-aog,以及然后创建与s-aog中的节点相关联的t-aog。本教导公开了经由自动或半自动手段来创建aog的方式。
[0144]
在创建aog时,不同的创建者可以创作不同的内容。例如,可以要求教师创建与教学相关的aog。不同的教师可以找到不同的方式来教学生某个主题,例如加法和减法。有些
人可能发现先教加法再减法是有用的,而有些人可能感觉相反。根据他们的个人经验,他们可以创建不同的s-aog。此外,关于话题(例如,与s-aog中的节点对应的“加法”),不同的创建者可以在对话或t-aog中创作不同的步骤序列,以与学生就该话题进行交互,从而创建出传达同一话题的灵活方式。这在图6b中表明,其中存在执行问候的不同方式。根据本教导,关于同一话题的不同aog有时可以经由图匹配(graph matching)来整合(参见图6b和图6e)。这使得能够创建具有参数化的内容的t-aog,同时保留流的结构作为参数化的t-aog的更简洁表示。虽然这可以在不丢失内容的情况下简化t-aog的表示,但这不会使内容创作过程更高效。本教导公开了以更有效的方式创作内容的不同方式,包括自动和半自动的内容创作过程。
[0145]
图9b描绘了根据本教导的实施例的用于经由机器学习来自动地创建aog的内容创作系统900的示例性高级系统图。经由这个aog学习系统900,s-aog和相关联的t-aog的结构可以被自动创建,并且与aog关联的内容被自动创作,二者都经由学习进行。在一些实施例中,这种自动学习到的s-aog和t-aog可以由人类进一步细化,从而实现创建aog的半自动化手段。在所示实施例中,内容创作系统900包括数据驱动的aog学习引擎910,其被配置为不仅学习对话的结构(该结构与s-aog对应)还学习与对话结构的不同部分相关联的内容(t-aog)。该学习基于从过去对话数据库915中检索的过去对话的数据。存储在过去对话数据库915中的内容可以基于不同的准则(诸如主题、用户的人口统计、特征简档等)来组织。可以将来自过去对话的内容关于不同的分类来进行索引,从而可以使用适当的内容用于学习。通过访问相关的经索引的学习内容,数据驱动的aog学习引擎910可以学习(在结构上和对话内容两方面)创建适合特定类型用户的aog。
[0146]
为了学习与特定项目(例如,辅导)相关的aog,数据驱动的aog学习引擎910可以访问关于辅导的相关过去对话数据(例如,经由基于项目的索引920来访问),并就子概念的对话流程以及用于所涉及的每个子概念的语音内容(即,用于每个子概念的t-aog)方面来学习辅导的结构或s-aog。关于任何主题的辅导会话可以具有几个共同的子对话,每个子对话可以针对一子概念。图6a中以s-aog的形式示出了一个示例,其中辅导会话通常包括不同子对话(s-aog中的节点),这些子对话针对例如问候(600)、聊天(605)或回顾(610)、教导预期概念(615)、测试(620)和评估(625)。与辅导相关的对话的这种通用结构可以普遍适用于任何辅导会话,而不管对话期间要辅导的特定概念或主题。这种通用结构形成用于辅导的s-aog,并且可以从过去的对话数据中被学习。
[0147]
为了学习与项目相关联的s-aog的结构,数据驱动的aog学习引擎910可以调用基于话题的分类模型930来识别不同的子对话并将它们分类到不同的话题中以导出底层结构。例如,可以处理与辅导相关的过去对话,并且可以识别针对不同话题的不同子对话流,并且此类子对话可以始终存在(and关系)或可替代地进行(or关系)。如图6a中所示,聊天(605)和回顾(610)以or关系连接,并且教学(615)和测试(620)是辅导中两个必需的子对话并且通过and关系而相关。在评估(625)之后,下一步可以是四种可能性中的任何一种,包括返回到回顾(610)、返回到测试(620)、返回到教学(615)、返回到聊天(605)。这四种可能性经由or关系连接。
[0148]
为了学习t-aog,数据驱动的aog学习引擎910可以基于对话的性质将每个子对话的不同部分分类为对应的类型。例如,如图6e中所示,与问候相关的子对话包括不同的部
分,一些部分与初始问候有关(650),一些部分与对初始问候的回答有关(655-1),一些部分与对初始问候的回答的响应有关(660-1)。此类不同部分可以经由不同手段被识别,例如,基于基于语音的方法,来自不同方的话语可以被这样识别。基于来自不同方的语音的内容以及基于话题的分类模型930,每个部分可以被指派表示话语的性质的标签。不同的对话可以具有标签相同但内容不同的部分。例如,在回答初始问候(例如,“早上好”)时,在一个对话中,回答可以是“谢谢你,你呢?”。不同对话中的一方可以以不同的方式响应相同的问候,回答“你也早上好!”两种回答都可以被归类或标记为对初始问候的回答,但具有不同的内容。类似地,对回答的响应(660-1)也可以从进行回答的不同方识别,并且被归类为对回答的响应。这种对问候的回答的响应也可以包括不同的话语(例如,图6e中的“谢谢你”或“我很好”)。然后可以将交谈中的步骤序列一般化为t-aog,其中每个节点表示由对话的参与者所说的话语。如图6e中所示的示例中所见,t-aog中的每个标签可以与可供替代的内容相关联,这些可供替代的内容可以被说出以实例化标签。
[0149]
图9c示出了根据本教导的实施例的从机器学习导出的示例性的不同类型的基于项目的aog。此类aog(包括s-aog和t-aog)可以通过以本文公开的方式从过去的对话数据中学习而导出。例如,基于过去的对话数据,可以从每一个aog下的不同子对话(s-aog)之间的关系、每个子对话的话语的序列(t-aog)(序列中的每个步骤与可供替代的话语相关联)两方面获得用于辅导数学、语言、
……
、化学的aog。
[0150]
图9d是根据本教导的实施例的用于经由机器学习创建aog的内容创作系统的示例性过程的流程图。在这个图示的实施例中,为了为特定项目(例如,用于教导数学的辅导会话)创建aog,与该项目相关的过去对话(例如,与用于教导数学概念的辅导会话对应的所有过去对话数据)首先在950处被访问,并被用于在955处基于基于话题的分类模型930识别每个过去对话中的子对话(结构),从而使得能够在960处获得用于项目的结构或者说s-aog并且在965处根据子对话的性质来标记该s-aog中的每个节点。例如,如果子对话与向学生教导分数概念有关,那么可以将s-aog结构中的对应节点标记为教学。
[0151]
对于链接到子对话的s-aog中的每个节点,然后与该子对话对应的过去对话数据可以在970处被分析,以导出用于该s-aog节点的t-aog。在一些实施例中,学习系统900可以简单地采用某些子对话内容来形成t-aog。在一些实施例中,来自涉及相似但不同对话内容的相似子对话的过去对话数据可以被用于为该s-aog节点创建不同的t-aog。在一些实施例中,从过去的对话数据中学习到的不同t-aog还可以被整合(例如,经由图匹配来整合),以创建一个或多个合并的t-aog。在一些情况下,基于要被合并以生成集成t-aog的不同t-aog,来自不同t-aog的对话内容可以被用来生成用于该集成t-aog的参数化的内容。为了创建t-aog的结构,学习系统900可以在975处基于话题模型930识别子对话的不同部分(例如,图6e中的“初始问候”、“对初始问候的回答”和“对回答的响应”)。每个这样的部分可以被提供有参数化的对话内容,该参数化的内容是基于同一s-aog节点的不同t-aog的相似部分的参数化的对话内容而生成的。参数化的aog的概念在本文中参考图6e-6g进行讨论。
[0152]
除了自动创建aog(包括s-aog和/或t-aog)之外,aog还可以与每个s-aog节点半关联地创建,自动生成的aog还可以由人经由例如用户图形界面进行检查、确认、细化或修改。这可以包括调整s-aog和/或改变经由机器学习获得的t-aog中的对话内容。图10a图示了根据本教导的实施例的被配置为用于创作t-aog内容的示例性可视化编程界面1000。在这个
示例性界面1000的底部,指示该示例是在辅导对话会话中与“问候”用户相关的对话的内容创作界面。存在带有创作的文本内容的问题(q)和答案(a)(q

1010-1、1010-3、
……
和a

1010-2、1010-4、
……
)。与每个文本内容相关联,存在图示的“编辑”按钮,以使得能够在对应的框中编辑所创作的文本内容。
[0153]
在一些实施例中,所创作的文本内容1010-1、
……
1010-4、
……
初始地可以经由学习来创建,并被显示在界面1000中以用于潜在的处理。如果机器自动创作的文本内容是可接受的,那么人可以点击“保存”按钮1025以存储与t-aog相关联的自动创作的文本内容。人还可以经由“编辑”选项(1020-1、1020-2、1020-3、1020-4、
……
)修改所链接的框中的创作的文本上下文。在修改之后,可以点击“保存”以保存与t-aog相关联的经修改的对话内容。不同的人可以保存t-aog的不同版本的经修改的对话内容。例如,一个人可能觉得经由机器学习而创作的文本内容是可接受的,然后可以保存这种自动生成的内容,以供机器人代理用来在“加法”的辅导会话中教导学生。而另一个人可能更喜欢机器人代理以不同方式教导相同的“加法”概念,因而他/她可能修订机器从过去的对话数据中学到的内容,从而以不同的方式来定制t-aog并相应地保存以驱动他/她的机器人代理。
[0154]
在一些实施例中,虽然可以经由学习自动地生成s-aog,但是用于相关联的s-aog节点的t-aog的生成可以手动完成,即,界面1000初始地可以不显示自动填充的创作的文本内容,而是人可能需要在每个框中录入文本内容。即使在手动创建t-aog内容的情况下,由于s-aog是经由机器学习而学习到的,半自动aog创建的过程也比完全的手动过程更高效。如本文所讨论的,在一些实施例中,t-aog的对话内容可以被参数化。图10b图示了根据本教导的实施例的被配置为用于创作参数化的t-aog的示例性可视化编程界面1030。可以根据图6f中的t-aog来提供这个示例性创作工具界面1030。在一些实施例中,图6f中的对话流/结构包括参数化的内容并且可以经由aog学习系统900从过去的对话数据中学习。然后可以为一个或多个人提供图10b中所示的界面1030以添加针对参数化的内容的选择。
[0155]
如图10b中所见,界面1030可以呈现与关于测试“加法”的概念的t-aog相关的不同部分。一些部分可以与诸如1040-1和1040-4之类的仅指示要执行的某个动作(例如,显示(1040-1)某事和/或说某事(1040-4))的指令部分对应。一些部分是可编辑的,诸如用于录入变量x和y(1040-2)的值的下划线部分或括号[]中的内容项,以例如指定期望的对象(1040-3、1040-4)、评论(1040-6、1040-8和1040-9)。一些部分用于提供用大括号{}表达的条件,诸如1040-5、1040-7。例如,如果在辅导会话中向学生呈现x y的问题,并且会话中学生回答了问题1040-4,那么发出肯定评论的条件是来自学生的答案等于x y,即,满足{[输入]=x y}的条件。当[输入]不等于x y时,规定对话以评估不正确答案是由于不知道(例如,纯猜测而不知道)还是仅不正确(知道但说错了)。此类评估可以在对话期间基于例如基于例如与学生相关的各种观察而估计的概率来即时执行。如果它被评估为不正确答案,那么用于[不正确评论]1040-8的可供替代的评论可以经由此创作工具而被创作。如果它被评估为不知道答案,那么用于[不正确评论]1040-9的评论可以被创作并用于对用户的答案进行评论。
[0156]
可编辑部分可以被编辑,这可以经由下拉菜单从可选项目列表中进行选择来实现,或者在允许人录入文本内容或修改现有文本串的“编辑”模式下实现。例如,可以通过右键单击1040-3来激活与[obj](1040-3)相关联的下拉菜单。在呈现现有可选择的项的列表
时,人可以从该列表中进行选择。例如,对于[obj1]和[obj2],它们的下拉菜单可以与诸如苹果、橙子之类的对象的列表相关联。另一种编辑模式是录入文本串。例如,变量x和y的值可以由人在编辑模式下录入。
[0157]
对于一些可编辑部分,它们可以基于现有可选择的选项(例如,从过去的对话数据中学习的)和新录入的创作的文本内容两者来编辑。图10b中提供了关于内容项[肯定评论]1040-6的一个示例。当点击与其相关联的编辑按钮1045-3时,可以弹出附加窗口1046。弹出窗口1046包括用于肯定评论的预先存在的选项(每个选项可以与左侧的选择按钮相关联)和添加更多(通过点击“更多”按钮1049-1)对话内容的选项。在这个示例中,有两个预先存在的选项(“干得好!”和“那是正确的。干得漂亮!”),其中一个被选中(“干得好!”)并且另外两个新条目(“太棒了!”和“极好的!”)被录入。可以点击按钮“接受”1049-2以将选择的和添加的选项保存为与[肯定评论]相关联的可供替代的对话内容,即,任何保存的内容项可以在对话中被识别为对学生关于x y的答案的肯定评论响应。
[0158]
如果aog结构是经由机器学习从过去的对话数据中学习到的,那么这种学习到的aog可以直接被对话系统用来与人类用户进行对话,或者可以经由半自动创作工具1030基于自动生成的aog进一步修改或丰富化它们。来自这种创作工具的结果还可以被用于生成要执行由aog规定的底层对话的程序代码。即,基于这样生成的aog(s-aog和t-aog),可以根据与aog的节点嵌在一起的对话内容来自动生成代码,其将遵循aog指定的对话流。因此,创作工具或界面1030可以被视为可视化编程工具,并且与aog学习系统900一起,可以显著增强设计和实现用于对话的机器代理的过程。
[0159]
图10c是根据本教导的实施例的用于创建具有创作的对话内容的aog的示例性过程的流程图。基于过去的对话数据,aog学习系统900在1050处学习aog。在1055处确定的自动模式下,这种机器学习到的aog可以被直接用于在1085处生成代码,用于机器代理执行底层对话,而无需在半自动模式下进一步执行内容创作或编辑。如果要进一步细化/修改/编辑机器学习到的aog,那么可以经由带有创作工具的半自动手段,诸如图10a和10b中所示的1000或1030。为了创作或修改与aog相关联的对话内容,可以在1065处显示每个机器学习到的aog,以用于编辑或创作与aog相关联的内容。如本文所讨论的,在一些实施例中,学习到的aog可以嵌入有由经由学习而学习到的对话内容,并且这种学习到的内容可以被用作进一步细化的基础。在一些实施例中,对话内容可以被重新创作,如图10a中所示。在半自动模式下的内容创作期间,当在1070处接收到经修改的对话内容或新的对话内容时,在1075处将它们与相关aog一起适当地存储。如果在1080处确定有更多的aog要编辑,那么过程进行到1065以显示下一个aog。如果已处理完所有aog,那么在1085处生成基于编辑结果的经修改的aog。基于经修改/增强的aog,在1090处基于创作的对话内容而生成用于执行由aog规定的对话的代码。
[0160]
图11a图示了根据本教导的实施例的经由视觉编程生成的示例性代码1110和在呈现与s-aog相关的场景中的代码的结果。1110中的代码被生成以用于呈现具有一组对象的场景,该场景被用于与和数学辅导相关的s-aog相结合地向儿童学生教导数字相加的概念。代码1110可以基于与aog相关联的对话内容经由可视化编程生成,并经由半自动内容创作工具创作。如所看到的,代码1110进行编程以呈现一组不同类型的对象(即,1120-1代表南瓜并且1130-1代表草莓)以及每种类型要呈现的数量(1个南瓜和2个草莓)。此类代码的执
行然后可以生成1120-3和1130-3,它们根据所创作的对话内容呈现不同数量的不同类型的产品。该演示被创建,是为了允许对话继续进行,旨在达到教导学生理解数字和/或相加的概念的预期目标。因此,此类创建的演示之后可以提出问题,由机器代理向学生用户询问有关图片中有多少南瓜、多少草莓、水果总数是多少的问题。
[0161]
图11b图示了根据本教导的实施例的经由可视化编程基于经由半自动内容创作而获得的t-aog中的对话内容而生成的示例性代码。如图所示的代码1150通过遍历t-aog并基于对话的实际进展来采用特定路径(或t-pg),从而实现由具有and和or分支的t-aog1160所表示的交谈。此类代码是基于创作的t-aog和与t-aog中每个节点相关联的对话内容而自动生成的。例如,在特定交谈中,机器代理可以在1130处询问用户他/她是否有蛀牙。如果对这个问题的回答是“是”或“不知道”,那么机器代理通过遵循节点1140来遍历交谈。否则,交谈继续以在1150处询问糖尿病相关的问题。如果用户对糖尿病问题的回答是“是”/“不知道”,那么遍历去往1170的路径,否则则遍历去往1160的路径。以这种方式,经由自动化的aog学习,或者利用结合了可视化编程的半自动内容创作,可以更高效地开发用于t-aog的代码。
[0162]
如本文所讨论的,内容创作可以经由创作工具来完成,该创作工具允许人修改从过去的对话数据中学习到的现有对话内容或录入新的对话内容以丰富化现有aog。在一些实施例中,还可以基于用户所说和所做的来创作对话内容,以便不仅提供语音数据和/或还提供要递送语音的方式。例如,代替在界面中修改或录入新文本,人可以简单地说出对话内容来创建创作的内容,并且可能还具有某些表情、面部、语气和身体动作,以传达创作的内容如何被递送。即,可以根据人的行为来创作语音内容和关于语音的元数据二者。遵守此类元数据可以实现具有预期情绪(例如,无论是愤怒、快乐还是激动)的对话内容的递送。
[0163]
图12a描绘了根据本教导的实施例的用于基于来自用户的多模态输入来进行内容创作的系统1200的示例性高级配置。在图示的实施例中,人1210经由不同手段参与创作与aog相关的内容。如上面所讨论的,在一些实施例中,人1210可以经由他/她的计算机/设备通过经由可视化编程接口1205键入创作的对话内容来创建文本对话内容。除此之外,本教导还允许人1210经由其它手段来创作内容,其带有指令,这些指令描述在用户-机器对话期间创作的内容将被递送给用户的方式。例如,创作内容的一种不同手段是人1210通过说出(而不是键入)该内容来创作对话内容。在一些实施例中,当说出创作的内容时,人1210还可以执行某些活动,这些活动可以被变换成关于递送对话内容的方式的指令。例如,人1210可以以带有特定的音量、速度和音高的特定音调说出内容,以特定的面部表情来表达特定的情绪,或者做出一些身体动作,所有这些都可以被变换成指令,使得创作的内容可以以人1210所展示的方式来递送。
[0164]
在使用语音来创作内容时,话语被音频传感器1220捕获,然后被自动语音识别器(asr)1240分析以将语音信号转换成作为创作的内容的文本。同时,还可以分析声学信号以提取声学特征,该声学特征可以被用作用于渲染创作的内容的基于声学的指令。这种信息(话语的特征而不是话语的内容)可以被基于音频/视觉(av)的指令生成器1260分析并且被用于生成例如与声学相关的渲染指令。例如,人1210可以以高音高以快速度以愤怒或高音量说出内容。如果人1210带面部表情说出内容,那么此类视觉信号可以由相机1230捕捉,然后由基于a/v的指令生成器1260处理以将视觉信号转换成表情指令,从而可以由机器人代理以特定面部表情来递送所创作的内容。例如,人1210可以用惊讶的面部表情说出内容。
[0165]
在一些实施例中,可以组合声学特征和面部特征以导出渲染指令。人1210可以在以兴奋的声音特点说出内容的同时脸上带有大大的笑容。声学和视觉信息二者可以同时被音频/视觉传感器1220和1230捕获并被用于导出与声学和表情相关的渲染指令。在一些应用中,机器人设备可以在其头部具有显示器作为其面部,然后在机器人基于声学相关的渲染指令说出一段对话内容的同时,可以基于表情指令来渲染指定的表情。
[0166]
在一些情况下,机器人代理可以具有可以基于指令来控制的身体部位,以执行例如某些姿势,诸如挥手、倾斜头部、握拳、上身前倾等。本文公开的本教导还促进基于人1210的动作而生成与身体移动相关的指令。这种与身体移动相关的指令可以被用于控制机器人代理在渲染一些创作的对话内容的同时执行某些身体动作,作为要展示的表情的一部分。作为内容创作内容的一部分,可以自动生成用于(一个或多个)此类身体移动的指令。如图12a中所示,相机1230可以捕获人1210的动作,并且移动指令生成器1250可以分析人1210的身体移动并且生成指令作为与创作的内容相关联的元数据。
[0167]
旨在指示机器人在说话时实现某些声学/视觉/身体特点的、基于人的动作而生成的指令可以被称为a/v/p指令。图12b图示了根据本教导的实施例的可以与创作的对话内容一起生成和存储的元数据的示例性类型。与一段创作的对话内容相关联的元数据或指令可以针对声学特征、面部特征
……
和身体特征。声学特征包括被用于将一段文本形式的对话内容转换成其语音形式的速度、音高、音调和/或音量。面部特征可以包括快乐的表情、同情的表情、关心的表情等。身体特征可以包括抬起手臂、握拳、倾斜头部、
……
或倾斜身体,每一个可以基于人1210的身体动作被进一步指定,诸如向左、向右、向前和向后。
[0168]
基于人1210的动作如此生成的a/v/p指令可以与其对应的对话内容片段一起存储,例如,文本内容1可以与a/v/p指令1270-1相关联;文本内容2可以与a/v/p指令1270-2相关联;文本内容3可以与a/v/p指令1270-3相关联;文本内容4可以与a/v/p指令1270-4相关联、
……
等等。以这种方式,每当机器人代理要说出一段特定的对话内容时,它就可以访问相关联的a/v/p指令,然后控制机器人以声学特点(例如,音调、音高、速度、音量等)和特定面部表情(例如,微笑、皱眉或悲伤)和身体特征(例如,上身前倾,手指指向天空,或跳跃)来说出该内容。以这种方式,可以以高效的自动或半自动方式以丰富化方式来创作对话内容。
[0169]
图12c是根据本教导的实施例的用于基于来自用户的多模态输入而创作内容的内容创作系统1200的示例性过程的流程图。在内容创作中,系统1200首先在1205处接收来自不同传感器的多模态输入。此类多模态传感器可以包括音频、视觉和其它类型的传感器。基于接收到的音频信号,在1215处执行asr以生成经由语音创作的对话内容。此外,还可以在1225处基于接收的音频信号估计各种类型的声学特征(诸如音高、音量、音调等),并且这些声学特征被用于在1235处生成与创作的对话内容片段相关联的声学相关的渲染指令。同时,基于接收到的视觉信号,在1245处分析这种视觉输入以提取不同的视觉特征。这样提取的视觉特征然后可以被用于估计面部表情(如果有的话),以便在1255处为所创作的对话内容片段生成相关的表情相关的渲染指令。类似地,提取出的视觉特征还可以被用于在1265处进一步估计人1210执行的身体动作(如果有的话),以便在1275处生成对应的身体动作相关的渲染指令。然后,在1285处,针对经由语音创作的对话内容,这种自动生成的渲染指令可以与该对话内容相关联以供存储。如果在1290处确定还有更多对话内容,那么该过程前进到下一段对话内容,直到与底层t-aog相关的所有对话内容片段都被创作。
[0170]
图13是根据各种实施例的可以被用于实现实施本教导的专用系统的示例性移动设备体系架构的说明图。在这个示例中,在其上实现本教导的用户设备与移动设备1300对应,包括但不限于智能电话、平板电脑、音乐播放器、手持游戏控制台、全球定位系统(gps)接收器和可穿戴计算设备(例如,眼镜、腕表等),或任何其它形式的设备。移动设备1300可以包括一个或多个中央处理单元(“cpu”)1340、一个或多个图形处理单元(“gpu”)1330、显示器1320、存储器1360、通信平台1310(诸如无线通信模块)、存储装置1390,以及一个或多个输入/输出(i/o)设备1340。任何其它合适的部件,包括但不限于系统总线或控制器(未示出),也可以包括在移动设备1300中。如图13中所示,移动操作系统1370(例如,ios、android、windows phone等)和一个或多个应用1380可以从存储装置1390加载到存储器1360中以便由cpu 1340执行。应用1380可以包括用于管理移动设备1300上的交谈系统的浏览器或任何其它合适的移动应用。用户交互可以经由i/o设备1340实现并且经由网络提供给自动对话伙伴。
[0171]
为了实现本公开中描述的各种模块、单元和它们的功能,计算机硬件平台可以被用作用于本文描述的元件中的一个或多个的(一个或多个)硬件平台。此类计算机的硬件元件、操作系统和编程语言本质上是常规的,并且假定本领域技术人员充分熟悉这些技术以使那些技术适应如本文描述的适当设置。具有用户接口元素的计算机可以被用于实现个人计算机(pc)或其它类型的工作站或终端设备,但如果适当编程,计算机也可以充当服务器。相信本领域技术人员熟悉这种计算机装备的结构、编程和一般操作,因此附图应当是不言自明的。
[0172]
图14是根据各种实施例的可以被用于实现实施本教导的专用系统的示例性计算设备体系架构的说明图。这种结合本教导的专用系统具有硬件平台的功能框图说明,其包括用户界面元素。计算机可以是通用计算机或专用计算机。二者都可以被用于实现本教导的专门系统。这个计算机1400可以被用于实现交谈或对话管理系统的任何部件,如本文所述。例如,交谈管理系统可以经由其硬件、软件程序、固件或其组合在诸如计算机1400之类的计算机上实现。虽然为了方便起见仅示出了一个这样的计算机,但可以在多个类似平台上以分布式方式实现与本文所述的交谈管理系统相关的计算机功能以分布处理负载。
[0173]
例如,计算机1400包括com端口1450,该com端口1450连接到与其相连的网络,以促进数据通信。计算机1400还包括一个或多个处理器形式的中央处理单元(cpu)1420,用于执行程序指令。示例性计算机平台包括内部通信总线1410、不同形式的程序存储装置和数据存储装置(例如,盘1470、只读存储器(rom)1430或随机存取存储器(ram)1440),用于由计算机1400处理和/或传送的各种数据文件,以及可能由cpu 1420执行的程序指令。计算机1400还包括i/o部件1460,从而支持计算机和其中的其它部件(诸如用户接口元素1480)之间的输入/输出流。计算机1400还可以经由网络通信接收编程和数据。
[0174]
因此,如上面所概述的,对话管理和/或其它过程的方法的各方面可以实施在编程中。该技术的程序方面可以被认为是“产品”或“制品”,通常以在一种机器可读介质中携带或实施的可执行代码和/或相关联数据的形式。有形的非暂态“存储装置”类型介质包括用于计算机、处理器等的任何或所有存储器或其它存储装置,或其相关联的模块,诸如各种半导体存储器、带驱动器、盘驱动器等,它们可以在任何时间提供存储以进行软件编程。
[0175]
软件的全部或部分有时可以通过诸如互联网或各种其它电信网络之类的网络进
行传送。例如,这种通信可以使软件能够从一个计算机或处理器加载到另一个计算机或处理器中,例如,与交谈管理相关。因此,可以承载软件元素的另一种类型的介质包括光波、电波和电磁波,诸如跨本地设备之间的物理接口、通过有线和光学陆线网络以及通过各种空中链路使用的。携带此类波的物理元素(诸如有线或无线链路、光学链路等)也可以被认为是承载软件的介质。如本文所使用的,除非限于有形“存储”介质,否则诸如计算机或机器“可读介质”之类的术语是指参与向处理器提供指令以供执行的任何介质。
[0176]
因此,机器可读介质可以采用多种形式,包括但不限于有形存储介质、载波介质或物理传输介质。非易失性存储介质包括例如光盘或磁盘,诸如(一个或多个)任何计算机等中的任何存储设备,其可以被用于实现系统或其任何部件,如图中所示。易失性存储介质包括动态存储器,诸如这种计算机平台的主存储器。有形传输介质包括同轴电缆;铜线和光纤,包括在计算机系统内形成总线的电线。载波传输介质可以采用电或电磁信号,或声波或光波的形式,诸如在射频(rf)和红外(ir)数据通信期间生成的那些。因此,常见形式的计算机可读介质包括例如:软盘、软盘、硬盘、磁带、任何其它磁介质、cd-rom、dvd或dvd-rom、任何其它光学介质、打孔卡纸带、任何其它带有孔洞图案的物理存储介质、ram、prom和eprom、flash-eprom、任何其它存储器芯片或盒式磁带、运输数据或指令的载波、运输此类载波的电缆或链路,或计算机可以从中读取编程代码和/或数据的任何其它介质。这些形式的计算机可读介质中的许多可以涉及将一个或多个指令的一个或多个序列运送到物理处理器以供执行。
[0177]
本领域技术人员将认识到的是,本教导经得起各种修改和/或增强。例如,虽然上述各种部件的实施方式可以实施在硬件设备中,但它也可以被实现为纯软件解决方案——例如,安装在现有服务器上。此外,如本文所公开的欺诈网络检测技术可以被实现为固件、固件/软件组合、固件/硬件组合或硬件/固件/软件组合。
[0178]
虽然上文已经描述了被认为构成本教导和/或其它示例的内容,但是应该理解的是,可以对其进行各种修改并且可以以各种形式和示例来实现本文公开的话题,并且该教导可以应用于许多应用中,本文仅描述了其中的一些。以下权利要求旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
再多了解一些

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

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

相关文献