首页 / 专利库 / 电脑零配件 / 接口 / 多模态对话代理

多模态对话代理

阅读:695发布:2022-11-30

专利汇可以提供多模态对话代理专利检索,专利查询,专利分析的服务。并且与用户交互的方法和系统。根据本文描述的各种 实施例 的系统提供了模型的集合,每个模型被训练以执行特定功能。这些模型可以被分类成在现有的信息语料库上训练的静态模型和基于与用户的实时交互训练的动态模型。这些模型共同提供针对用户的适当的交流。,下面是多模态对话代理专利的具体信息内容。

1.一种用于与用户交互的系统,所述系统包括:
接口,其用于接收来自用户的输入;
静态学习引擎,其具有多个静态学习模,每个模块使用至少一个静态知识源被预先配置,其中,所述静态学习引擎运行所述多个静态学习模块以用于生成与所述用户的交流;
动态学习引擎,其具有多个动态学习模块,每个模块根据用户输入和至少一个动态知识源中的至少一个被基本上实时地训练,其中,所述动态学习引擎运行所述多个动态学习模块以辅助生成与所述用户的所述交流;以及
增强引擎,其被配置为分析来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的输出,并且还被配置为基于来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出来选择针对所述用户的适当的交流。
2.根据权利要求1所述的系统,其中,所述至少一个静态知识源包括会话数据库,所述会话数据库存储关于所述系统与所述用户之间的先前会话的数据。
3.根据权利要求1所述的系统,其中,所述静态知识源和所述动态知识源中的至少一个包括文本、图像、音频和视频。
4.根据权利要求1所述的系统,还包括:化身代理,所述化身代理经由所述接口将所选择的交流发送给所述用户。
5.根据权利要求1所述的系统,其中,来自所述用户的所述输入包括口头交流、示意动作、面部表情和书面消息中的至少一个。
6.根据权利要求1所述的系统,其中,所述增强引擎将来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出与奖励相关联,并且基于与特定输出相关联的所述奖励来选择所述适当的交流。
7.根据权利要求1所述的系统,其中,所述多个静态学习模块和所述多个动态学习模块中的每个被配置为执行特定任务以辅助生成与所述用户的所述交流。
8.根据权利要求1所述的系统,还包括:一起运行模型的联合的多个动态学习模块和多个静态学习模块,所述模型各自被专配置为执行特定任务以生成对所述用户的响应。
9.根据权利要求1所述的系统,还包括:在多代理框架中的第一代理和第二代理,其中,所述第一代理和所述第二代理中的每个包括静态学习引擎和动态学习引擎,并且以对抗的方式进行会话以生成一个或多个响应。
10.一种用于与用户交互的方法,所述方法包括:
经由接口来接收来自用户的输入;
经由静态学习引擎来运行多个静态学习模块以用于生成与所述用户的交流,所述静态学习引擎具有所述多个静态学习模块,每个模块使用至少一个静态知识源被预先配置;
经由动态学习引擎来运行多个动态学习模块以辅助生成与所述用户的所述交流,所述动态学习引擎具有所述多个动态学习模块,每个模块根据用户输入和至少一个动态知识源中的至少一个被基本上实时地训练;
经由增强引擎来分析来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的输出;并且
经由所述增强引擎基于来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出来选择针对所述用户的适当的交流。
11.根据权利要求10所述的方法,其中,所述至少一个静态知识源包括会话数据库,所述会话数据库存储关于所述系统与所述用户之间的先前会话的数据。
12.根据权利要求10所述的方法,其中,所述静态知识源和所述动态知识源中的至少一个包括文本、图像、音频和视频。
13.根据权利要求10所述的方法,还包括:经由化身代理通过所述接口将所选择的交流发送给所述用户。
14.根据权利要求10所述的方法,其中,来自所述用户的所述输入包括口头交流、示意动作、面部表情和书面消息中的至少一个。
15.根据权利要求10所述的方法,还包括:使用所述增强引擎将来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出与奖励相关联,并且使用所述增强引擎基于与特定输出相关联的所述奖励来选择所述适当的交流。
16.根据权利要求10所述的方法,其中,所述多个静态学习模块和所述多个动态学习模块中的每个被配置为执行特定任务以辅助生成与所述用户的所述交流。
17.一种包含用于与用户交互的计算机可执行指令的计算机可读介质,所述介质包括:
用于经由接口来接收来自用户的输入的计算机可执行指令;
用于经由静态学习引擎来运行多个静态学习模块以用于生成与所述用户的交流的计算机可执行指令,所述静态学习引擎具有所述多个静态学习模块,每个模块使用至少一个静态知识源被预先配置;
用于经由动态学习引擎来运行多个动态学习模块以辅助生成与所述用户的所述交流的计算机可执行指令,所述动态学习引擎具有所述多个动态学习模块,每个模块根据用户输入和至少一个动态知识源中的至少一个被基本上实时地训练;
用于经由增强引擎来分析来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的输出的计算机可执行指令;以及
用于经由所述增强引擎基于来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出来选择针对所述用户的适当的交流的计算机可执行指令。

说明书全文

多模态对话代理

技术领域

[0001] 本文描述的实施例总体上涉及用于与用户交互的系统和方法,并且更具体地但非排他性地涉及使用静态知识源和动态知识源两者的用于与用户交互的系统和方法。

背景技术

[0002] 现有的对话系统主要是目标驱动的或任务驱动的,因为会话代理被设计为执行特定任务。这些类型的任务可以包括客户服务任务、技术支持任务等。现有的对话系统通常依赖于量身定制的工作来从大量带注释的脱机文本数据中学习。然而,这些量身定制的工作可能会极其耗费人。此外,这些类型的解决方案通常从文本数据中学习并且不考虑用于向用户提供响应的其他输入模态。
[0003] 其他现有的对话系统包括非目标驱动的会话代理,这些非目标驱动的会话代理并不关注任何具体任务。相反,这些非目标驱动的代理试图从人机交互的笔录中学习各种会话模式。然而,这些现有解决方案并未考虑来自不同数据源的额外的输入模态。
[0004] 因此,需要克服现有技术的这些缺点的与用户交互的方法和系统。发明内容
[0005] 提供本发明内容是为了以简化的形式介绍一些选择的构思,这些构思将在下面的“具体实施方式”章节中进一步描述。该发明内容并不旨在识别或排除所要求保护的主题的关键特征或必要特征,也不旨在用于辅助确定所要求保护的主题的范围。
[0006] 在一个方面中,实施例涉及一种用于与用户交互的系统。所述系统包括:接口,其用于接收来自用户的输入;静态学习引擎,其具有多个静态学习模,每个模块使用至少一个静态知识源被预先配置,其中,所述静态学习引擎运行所述多个静态学习模块以用于生成与所述用户的交流;动态学习引擎,其具有多个动态学习模块,每个模块根据用户输入和至少一个动态知识源中的至少一个被基本上实时地训练,其中,所述动态学习引擎运行所述多个动态学习模块以辅助生成与所述用户的所述交流;以及增强引擎,其被配置为分析来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的输出,并且还被配置为基于来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出来选择针对所述用户的适当的交流。
[0007] 在一些实施例中,所述至少一个静态知识源包括会话数据库,所述会话数据库存储关于所述系统与所述用户之间的先前会话的数据。
[0008] 在一些实施例中,所述静态知识源和所述动态知识源中的至少一个包括文本、图像、音频和视频。
[0009] 在一些实施例中,所述系统还包括:化身代理,所述化身代理经由所述接口将所选择的交流发送给所述用户。
[0010] 在一些实施例中,来自所述用户的所述输入包括口头交流、示意动作、面部表情和书面消息中的至少一个。
[0011] 在一些实施例中,所述增强引擎将来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出与奖励相关联,并且基于与特定输出相关联的所述奖励来选择所述适当的交流。
[0012] 在一些实施例中,所述多个静态学习模块和所述多个动态学习模块中的每个被配置为执行特定任务以辅助生成与所述用户的所述交流。
[0013] 在一些实施例中,所述系统还包括:一起运行模型的联合的多个动态学习模块和多个静态学习模块,所述模型各自被专配置为执行特定任务以生成对所述用户的响应。
[0014] 在一些实施例中,所述系统还包括:在多代理框架中的第一代理和第二代理,其中,所述第一代理和所述第二代理中的每个包括静态学习引擎和动态学习引擎,并且以对抗的方式进行会话以生成一个或多个响应。
[0015] 根据另一方面,实施例涉及一种用于与用户交互的方法。所述方法包括:经由接口来接收来自用户的输入;经由静态学习引擎来运行多个静态学习模块以用于生成与所述用户的交流,所述静态学习引擎具有所述多个静态学习模块,每个模块使用至少一个静态知识源被预先配置;经由动态学习引擎来运行多个动态学习模块以辅助生成与所述用户的所述交流,所述动态学习引擎具有所述多个动态学习模块,每个模块根据用户输入和至少一个动态知识源中的至少一个被基本上实时地训练;经由增强引擎来分析来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的输出;并且经由所述增强引擎基于来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出来选择针对所述用户的适当的交流。
[0016] 在一些实施例中,所述至少一个静态知识源包括会话数据库,所述会话数据库存储关于所述系统与所述用户之间的先前会话的数据。
[0017] 在一些实施例中,所述静态知识源和所述动态知识源中的至少一个包括文本、图像、音频和视频。
[0018] 在一些实施例中,所述方法还包括:经由化身代理通过所述接口将所选择的交流发送给所述用户。
[0019] 在一些实施例中,来自所述用户的所述输入包括口头交流、示意动作、面部表情和书面消息中的至少一个。
[0020] 在一些实施例中,还包括:使用所述增强引擎将来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出与奖励相关联,并且使用所述增强引擎基于与特定输出相关联的所述奖励来选择所述适当的交流。
[0021] 在一些实施例中,其中,所述多个静态学习模块和所述多个动态学习模块中的每个被配置为执行特定任务以辅助生成与所述用户的所述交流。
[0022] 根据又一方面,实施例涉及一种包含用于与用户交互的计算机可执行指令的计算机可读介质。所述介质包括:用于经由接口来接收来自用户的输入的计算机可执行指令;用于经由静态学习引擎来运行多个静态学习模块以用于生成与所述用户的交流的计算机可执行指令,所述静态学习引擎具有所述多个静态学习模块,每个模块使用至少一个静态知识源被预先配置;用于经由动态学习引擎来运行多个动态学习模块以辅助生成与所述用户的所述交流的计算机可执行指令,所述动态学习引擎具有所述多个动态学习模块,每个模块根据用户输入和至少一个动态知识源中的至少一个被基本上实时地训练;用于经由增强引擎来分析来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的输出的计算机可执行指令;以及用于经由所述增强引擎基于来自所述多个静态学习模块和所述多个动态学习模块中的至少一个的所述输出来选择针对所述用户的适当的交流的计算机可执行指令。附图说明
[0023] 参考以下附图来描述本发明的非限制性和非穷举性的实施例,其中,除非另有说明,否则贯穿各个视图,相同的附图标记指示相同的部分。
[0024] 图1图示了根据一个实施例的用于与用户交互的系统;
[0025] 图2图示了根据一个实施例的图1的静态学习引擎;
[0026] 图3图示了根据一个实施例的图2的问题回答模块的架构;
[0027] 图4图示了根据一个实施例的图2的问题生成模块的架构;
[0028] 图5图示了根据一个实施例的图1的动态学习引擎;
[0029] 图6图示了根据一个实施例的图5的用户简档生成模块的架构;并且
[0030] 图7图示了根据一个实施例的用于与用户交互的示例性硬件设备。

具体实施方式

[0031] 下面参考附图来更全面地描述各种实施例,这些附图形成本说明书的部分并且示出特定的示例性实施例。然而,本公开内容的构思可以以许多不同的形式来实施,并且不应被解释为限于本文阐述的实施例;相反,这些实施例被提供作为彻底和完整的公开内容的部分,以向本领域技术人员充分传达本公开内容的构思、技术和实施方式的范围。实施例可以被实践为方法、系统或设备。因此,实施例可以采取硬件实施方式、完全软件实施方式或结合软件方面和硬件方面的实施方式的形式。因此,以下详细描述不应被视为是限制性的。
[0032] 说明书中对“一个实施例”或“一实施例”的引用意指结合实施例描述的特定特征、结构或特性被包括在根据本公开内容的至少一个示例性实施方式或技术中。说明书中的各个地方出现的短语“在一个实施例中”不一定全部都指同一实施例。
[0033] 以下描述的某些部分是根据对被存储在计算机存储器中的非瞬态信号的操作的符号表示来呈现的。这些描述和表示被数据处理领域的技术人员用于将其工作的实质最有效地传达给本领域的其他技术人员。这样的操作通常需要对物理量进行物理操作。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和以其他方式操作的电学、磁性或光学信号的形式。主要出于通用的原因,有时将这些信号称为位、值、元素、符号、字符、项、数字等是方便的。此外,有时将某些需要对物理量进行物理操作的步骤的装置称为模块或代码设备也是方便的,而不失一般性。
[0034] 然而,所有这些术语和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非根据下面的讨论另外明确指出,否则应当理解,在整个描述中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论是指在计算机系统或类似的电子计算设备的对被表示为在计算机系统存储器或寄存器或其他这样的信息存储设备、传输设备或显示设备内的物理(电子)量的数据进行操作和变换的动作或过程。本公开内容的部分包括可以被实施在软件、固件或硬件中的过程和指令,并且当被实施在软件中时可以被下载以驻留在由各种操作系统使用的不同平台上并从这些平台进行操作。
[0035] 本公开内容还涉及用于执行本文中的操作的装置。该装置可以被专门构造用于所需目的,或者该装置可以包括由被存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,计算机可读存储介质例如但不限于任何类型的磁盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC)或适合于存储电子指令的任何类型的介质,并且每种介质都可以被耦合到计算机系统总线。此外,说明书中提到的计算机可以包括单个处理器或者可以是采用多处理器设计以提高计算能力的架构。
[0036] 本文呈现的过程和显示与任何特定的计算机或其他装置都不是固有相关的。各种通用系统也可以与根据本文的教导的程序一起使用,或者也可以证明构造更为专用的装置来执行一个或多个方法步骤是方便的。在下面的描述中讨论了各种这些系统的结构。另外,可以使用足以实现本公开内容的技术和实施方式的任何特定的编程语言。如本文所讨论的,各种编程语言可以用于实施本公开内容。
[0037] 另外,说明书中使用的语言主要是出于可读性和指导性的目的而选择的,并且可能没有被选择为描绘或限制所公开的主题。因此,本公开内容旨在说明而非限制本文所讨论的构思的范围。
[0038] 本文描述的系统和方法的各种实施例的特征利用了能够利用来自各种数据源的多模态数据的混合式会话架构。这些数据包括离线的静态文本数据以及来自人机交互和动态数据源的数据。因此,系统能够以离线和在线这两种方式学习以执行目标驱动的任务和非目标驱动的任务。因此,各种实施例的系统和方法可以具有(从静态知识源学习的)一些预先存在的知识以及在任何会话环境中从人机交互中动态学习的能力。
[0039] 该系统还能够从多代理框架中的代理之间的连续会话中学习。利用该框架,代理能够基本上复制其自己以创建多个实例,使得其可能通过模拟对抗性学习环境来不断改进在给定的情况下生成最佳可能响应的能力。这种现象在系统处于非活跃状态(即,不参与与用户的正在进行的会话和/或在部署阶段(此时经由静态学习和动态学习进行严格训练以创建任务特异性模型)之前)时能够使用相同的建议架构静默地进行。
[0040] 本文描述的各种实施例的系统和方法比前面讨论的现有技术具有更大的通用性。本文描述的系统能够在考虑多模态输入以确定对用户对话的适当响应的同时从静态源和动态源两者中学习。因此,本文描述的各种实施例的系统和方法提供了会话伙伴代理,从而以智能方式服务于任务驱动的情况和开放域使用情况。
[0041] 本文描述的会话代理可以证明对各种应用中的各种类型的用户都有用。例如,本文描述的会话代理可以与老年人(经常感到孤独的一群人)交互。老年人可以寻求诸如家人、朋友和邻居等人的关注,以分享他们的知识、经验、故事等。这些类型的交流交际能够使他们感到舒适和幸福,这样通常能够延长他们的寿命。
[0042] 对于患病的老年人尤其如此。这些患者在家人和朋友的陪伴下能够比其他方式更快地康复。许多研究都支持这种现象,表明亲人的陪伴和支持会极大地影响患者的康复工作。
[0043] 然而,随着现代生活方式的发展和许多人忙碌的日程安排,提供连续的优质支持通常是困难或不可能的。例如,患者的家庭成员的日程安排可能很满,或者居住的地点使经常拜访患者变得困难。
[0044] 在这些情况下,本文描述的(一个或多个)会话代理能够至少为老年人提供额外的支持机制。这些代理能够像有同情心的人一样耐心地聆听和交谈,从而充当朋友或家人。代理能够例如通过利用个人信息的知识来提供个性化内容,从而在哀愁悲伤时安慰用户。代理还能够(例如使用用户偏好的知识)转移会话主题并基于用户的个性简档(将随时间学习和更新用户的个人简档)将幽默融入会话中。
[0045] 代理还能够识别能够与家庭成员分享的会话内容以及应当为私人保密的对话内容。这些私人会话可以包括诸如秘密和个人信息(例如,个人身份证号和密码)之类的东西。代理可以例如根据常识知识基于来自知识源的训练来行动,以学习习惯表达的东西和非习惯表达的东西。此外,代理具有基于实时交互来动态学习用户的背景、文化和个人偏好的能力。可以对这些会话补充可用的知识源来识别内容,从而辅助生成对话。
[0046] 另外,本文描述的系统和方法可以依赖于一个或多个传感器设备来识别和理解对话、行为、情感、响应等。根据用户在特定时间点感觉如何以及用户对待代理的态度如何,该数据可以提供更深的见解。
[0047] 代理还能够为活动、就餐、活动、旅行等提出建议。代理可以类似地激励用户遵循健康的生活方式选择并提醒用户例如服用药物。
[0048] 总的用户体验能够被描述为类似于与新人见面,其中,两个人互相介绍并随时间相处。由于代理能够通过用户交互来学习,因此代理最终会将其自身变换为使得用户将代理视为可信赖的伙伴。
[0049] 上面的讨论主要针对老年人等中老年人。然而,本文描述的实施例也可以用于与孩子开展会话。孩子天生好奇,往往会提出很多问题。这需要父母、家庭成员和照看者的大量关注。
[0050] 本文描述的提出的系统和方法能够用于提供这种所需的关注。例如,代理能够使用孩子能够理解的简单对话、示例和概念来理解和回答问题。在一些实施例中,(一个或多个)代理能够使孩子参与能够帮助发展孩子的推理和认知能力的年龄特异性的、直观的游戏。
[0051] 与提供给成人的功能类似,(一个或多个)代理能够鼓励孩子吃健康的食物并能够教育他们采用健康的生活方式和习惯。(一个或多个)代理也可以被配置为使用适合孩子年龄的词汇和短语与孩子开展会话。为了建立孩子的信任平并使孩子感到舒服,还可以将代理呈现为熟悉的卡通人物。
[0052] 希望有孩子的人或即将有孩子的人可以使用建议的系统来获得育儿经验。该实施例中的代理可以被配置为具有关于婴儿、学步儿童,幼儿等的知识和习性。因此,被配置为幼儿的代理可以与用户交互以模拟抚养幼儿的经历。
[0053] 以上使用情况仅仅是示例性的,并且能够预想到,本文描述的系统和方法可以被定制以反映用户的需求。该系统可以被配置为学习某些知识,执行推理任务以及根据可用数据源进行推断。因此,能够对所提出的系统进行定制,以执行要由任何个人、实体或公司使用的任何目标驱动的任务。
[0054] 图1描绘了根据一个实施例的用于与用户交互的系统100的高层架构。系统100可以包括用于向用户106提供对话的多个代理102和104(以及其他代理)。代理102可以包括静态学习引擎108、动态学习引擎110和多个预训练模型112。
[0055] 具有代理102和104的多代理框架能够在活跃模式或非活跃模式下工作。在非活跃模式下(即,不参与与用户的正在进行的会话),系统能够静默地复制其自身以创建多个相似的实例,使得能够通过模拟对抗性学习环境来在多代理程序框架中通过与自身进行连续会话来学习并改进。
[0056] 代理104可以类似地包括静态学习引擎112、动态学习引擎116和多个预训练模型118。为简单起见,可以假定代理104与代理102类似地操作,使得对代理102及其部件的描述也适用于代理104及其部件。代理102和104可以由增强引擎120连接,该增强引擎120与对话控制器122通信以向用户106提供内容。系统100可以使用化身代理124来使用接口将内容递送给用户106。该接口可以被配置为任何合适的设备,例如,PC、膝上型计算机、平板电脑、移动设备、平板电脑、智能手表等。额外地或替代地,接口能够被构建为新颖的会话设备(类似于亚逊的 设备、Google 设备或类似设备,以满足诸如老年人或孩子之
类的各种终端用户的需求)。
[0057] 增强引擎120可以被实施为任何专门配置的处理器,以考虑静态学习引擎和动态学习引擎的部件的输出。增强引擎120可以被配置为以加权方式或以其他方式(例如基于相关联的奖励)分析所提出的输出,以确定最适当的对话响应来提供给用户106。
[0058] 图2更详细地图示了图1的静态学习引擎108。从图2能够看出,静态学习引擎108包括多个个体模块202-230,每个个体模块被配置为提供某种输入或以其他方式执行某种任务以辅助生成针对用户的对话。
[0059] 例如,问题回答模块202可以被配置为响应于接收到的问题来搜索可用的离线知识源232和离线人机会话数据234以得出答案。
[0060] 图3图示了根据一个实施例的图2的问题回答模块202的架构300。在操作中,用户302可以描述关注问题或以其他方式提出问题。例如,用户302可以通过向麦克(未示出)提供口头输出来提出这个问题。语音集成模块304可以执行任何所需的预处理步骤,例如,集成由用户302提供的一个或多个声音文件。可以将所输入的声音文件传送到任何合适的“言语到文本”服务306,以将所提供的(一个或多个)言语文件转换为文本文件。
[0061] 文本文件可以被传送到记忆网络308,记忆网络308对文本文件做出某些推断以确定接收到的问题的性质。然后可以遍历(由下文讨论的诸如图2的知识图模块210之类的知识图模块产生的)一个或多个知识图310以确定适当的答案组成部分。这些知识图310可以根据任何合适的可用知识源来构建。所收集的数据可以被传送到文本到言语模块312,以将答案组成部分转换成可产生行动的言语文件。然后,代理可以使用麦克风设备314向用户给出问题的答案。
[0062] 返回参考图2,问题生成模块204可以被配置为生成要提供给用户的对话问题。图4图示了根据一个实施例的问题生成模块204的架构400。可以在数据集404上训练问题生成模型402以生成经训练的模型406。经训练的模型406可以接收源段落408,源段落408可以包括例如与用户的会话的部分或来自文档的独立段落。额外地或替代地,经训练的模型406可以接收关注的事实和/或问题输入410。该输入410可以是被认为与关注事实有关的生成问题。“问题类型”是指应当生成何种问题(例如,“什么”问题,“何处”问题等)。
[0063] 返回参考图2,可以以监督方式训练问题理解模块206,其中,识别出大的平行问题语料库以及重要的问题关注词。在给定由用户输入的问题的情况下,问题理解模块206可以通过经由针对命名实体识别、词义歧义消除、基于本体轮的分析和语义色标签的各种技术分析问题的最重要的组成部分来尝试理解问题的主要焦点。然后能够利用这种理解来生成更好的答案(作为响应)。
[0064] 问题分解模块208可以将复杂问题变换成可以由其他模块更容易解决的一系列简单问题。例如,可以将诸如“日本的地震灾难如何?”之类的问题变换成诸如“哪些城市遭到破坏?”和“有多少人丧生?”之类的问题。这些变换可以帮助提供更好的生成答案。
[0065] 问题分解模块208可以使用具有外部知识源的终端到终端记忆网络来运行在复杂问题的平行语料库以及一组简单问题上训练的监督模型。这样可以帮助问题分解模块208以例如学习复杂问题与简单问题之间的关联函数。
[0066] 知识图模块210可以根据大的结构化和/或非结构化知识库来构建,以将一组主题、概念和/或实体表示为节点。因此,这些节点之间的边表示这些主题、概念和/或实体之间的关系。
[0067] 作为示例,可以向系统100提出诸如“谁是加拿大总理?”之类的问题。为了回答这个问题,知识图模块210可以遍历知识图以利用实体之间的各种关系或其他关系。知识图模块210可以利用来自任何合适的知识源的数据。
[0068] 释义生成模块212可以接收陈述、问题、短语或句子作为输入,并且作为响应而生成可以具有相同含义但是词语或短语的序列不同的(一个或多个)替代释义。这种释义可以帮助跟踪关于某个陈述或句子的所有可能的替代方案。因此,代理将知道其策略和行动,而不管使用哪个词语或短语来传达特定消息。
[0069] 释义生成模块212也可以使用监督机器学习方法来构建。例如,操作者可以输入含义相似的词语或短语。可以使用剩余的长短时记忆网络(LSTM)根据平行释义语料库来训练由释义生成模块212运行的模型。
[0070] 可以以监督方式来训练共指模块214,以识别特定参考(例如,指代实体、对象或人的代词)的显著意义。因此,代理可以通过识别可能指代同一实体的所有可能的表达来毫无歧义地理解给定的任务或问题。因此,可以利用与实体有关的加标签的语料库和针对该实体的可能的表达来训练由共指模块214运行的模型。例如,文本文档可以包括指代同一实体的不同表达。
[0071] 可以根据常识知识以及领域特异性的结构化的和非结构化的知识源以及与领域无关的结构化和非结构化的知识源来构建因果推断学习模块216。这些知识源可以表示各种实体、对象和事件之间的因果关系。
[0072] 例如,如果下雨,则因果推断学习模块216可以告诉用户如果他们打算出门要带伞。能够从平行因果关系语料库和/或从大的通用规则集合中学习这种知识。
[0073] 共鸣生成模块218可以被训练为生成共鸣性质的陈述和/或描述。如果用户在困难时期沮丧并寻求安慰,这可能尤其重要。
[0074] 可以使用监督学习方法来训练由共鸣生成模块218运行的模型,其中,该模型能够学习根据特定事件描述来生成基于共鸣的文本。可以使用事件描述和对应的共鸣文本描述的平行语料库,与其他模块类似地训练共鸣生成模块218。额外地或替代地,可以使用大量的规则和/或模板来进行训练。
[0075] 视觉数据分析模块220可以实施一组计算机视觉模型,例如,图像识别模型、图像分类模型、对象检测模型、图像分割模型、面部检测模型和面部识别模型。视觉数据分析模块220可以使用监督/无监督机器学习算法在一大组加标签/未加标签的示例上进行训练。因此,视觉数据分析模块220可以检测或以其他方式识别视觉对象、事件和表情,以帮助在特定时刻给出适当的响应。
[0076] 对话行为识别模块222可以识别对话行为的特性,以便提供适当的响应。例如,不同类别的言语可以包括问候、问题、陈述、请求等。可以利用所输入的对话分类的知识来发展出更为适当的响应。对话行为识别模块222可以使用监督或无监督的学习技术在大的未加标签和加标签的示例集合上进行训练。
[0077] 语言检测和翻译模块224可以识别和理解会话发生的语言。如有必要,语言检测和翻译模块224可以基于用户的简档、兴趣或舒适区来切换到适当的语言以与用户开展会话。
[0078] 语言检测和翻译模块224还可以在适当的情况下(例如在被请求或要求与用户开展会话的情况下)执行语言之间的语言翻译任务。可以训练由语言检测和翻译模块224运行的模型,以使用监督/无监督学习从大的语言语料库集合中识别用户的语言。可以使用对应的平行语料库(例如,英语-西班牙语),使用基于编码器/解码器的序列到序列架构来训练该模型以进行语言翻译。
[0079] 语音识别模块226可以基于诸如言语调制、音高、音质、个性特征等的各种特征来识别(一个或多个)用户的语音。可以使用无监督分类器,根据大量的样本言语数据和从用户那里收集的会话数据来训练由语音识别模块226运行的模型。
[0080] 文本蕴含模块228可以识别一个陈述是否隐含在另一陈述中。例如,如果一个句子是“食物是人类的基本需求”,则文本包含模块228能够暗示食物也是用户的基本需求,并且如果用户看起来饿了,则指示用户用餐。
[0081] 可以根据大的句子对的平行语料库来训练由文本蕴含模块228运行的模型,这些句子对包括诸如“肯定蕴含”、“否定蕴含”和“中立蕴含”之类的标签。该模型可以使用深度神经网络来识别这些文本蕴含或者在给定特定陈述的情况下生成替代含意。
[0082] 否定检测模块230可以识别陈述、词语或短语中的否定含意,使得能够生成更为适当的响应。由否定检测模块230运行的模型可以依赖于否定字典以及大的语法规则或条件集合,以理解如何从陈述中提取否定提及词。
[0083] 静态学习引擎108可以运行各种模块202-230,以使用来自离线知识源232的数据和离线人机会话数据234来提供响应。来自这些数据源232和234的数据可以包括文本数据236、图像数据238、音频数据240和视频数据242的任何组合。
[0084] 当离线时或当以其他方式不使用时,静态学习引擎108可以分析与用户的先前交互以生成用于将来交互的更为适当的响应。例如,静态学习引擎108可以分析与用户的先前会话,其中,用户说过他们的姐姐已经去世。在用户提到他们想念姐姐的未来会话中,静态学习引擎108可以建议用户打电话给其他家庭成员或更改话题,而不是建议诸如“您为什么不给姐姐打个电话?”之类的对话。因此,这种基于奖励的增强学习利用了与用户的先前交互,从而不断改善所提供的对话以及与用户的交互。
[0085] 静态学习引擎108可以运行模块202-230的预训练模型236,以发展出适当的响应。来自静态学习引擎108的输出(即,来自预训练模型246的输出)可以被传送到动态学习引擎
110。
[0086] 图5更详细地图示了图1的动态学习引擎110。类似于图2的静态学习引擎108,动态学习引擎110可以在生成对用户的响应时运行多个模块502-530。因此,响应于用户的任务被分配到多个模块上,每个模块被配置为执行某种任务。
[0087] 可以根据大的未加标签或加标签的数据集来训练所有模块502-530。这些数据集可以包括文本、音频、视频等形式的数据。可以使用高级深度学习技术来训练模块502-530,高级深度学习技术例如是但不限于卷积神经网络(CNN)、递归神经网络(RNN)、记忆网络等。当新信息变得在线可用和/或使用深度增强学习技术经由人机交互时,可以动态更新各个模块的模型。
[0088] 事实核查模块502可以通过根据在静态学习引擎108中构建的知识图(例如,由知识图模块210构建的知识图)以及任何可用的在线知识源对陈述进行验证以确定陈述是否为事实。这些知识来源可以包括新闻来源以及社交媒体来源。
[0089] 通过利用面向内容的、基于向量的语义相似度匹配技术,能够动态完成这种事实验证。基于验证成功(或验证失败),能够将适当的响应传达给用户。
[0090] 冗余核查和总结模块504可以接收输入描述,并且能够动态验证接收到的内容在当前上下文内(例如在某个短时间段内的当前上下文内)是否是冗余的或重复的。这样可以确保能够对内容进行总结以保留最重要的信息,从而使内容简明以便进一步处理到框架的其他模块中。
[0091] 记忆模块506可以接收来自冗余核查和总结模块504的简明内容。记忆模块506可以被配置为通过使用大量的启发式方法和规则来理解需要记忆的内容。该信息可能与用户的当前状况、即将发生的事件详情、用户的兴趣等有关。可以从用户与代理之间的先前会话中自动学习该启发式方法和规则。
[0092] 遗忘模块508可以被配置为基于常识知识、用户特征兴趣、用户指令等来确定哪些信息是不必要的。一旦识别出这种信息,遗忘模块508就可以从存储器中删除或以其他方式移除该信息。这样提高了计算效率。此外,可以通过利用基于奖励的策略学习方法的深度增强学习在多个会话中动态训练由遗忘模块508运行的模型。
[0093] 注意模块510可以被配置为识别某些事件或情形的重要性并发展出适当的响应。代理可以记下诸如视觉数据分析、会话时间、会话日期等的因素。
[0094] 例如,代理可以认识到,在夜里可能需要提高对老年人的注意。如果例如用户发出突然的大噪声或者进行其他类型的异常动作,则这种额外的注意水平可能会使代理发起呼叫应急支持系统。
[0095] 用户简档生成模块512可以实时收集关于用户的数据并生成存储该信息的用户简档。该信息可以涉及用户的姓名、偏好、历史、背景等。在接收到新的更新信息时,用户简档生成模块512可以相应地更新用户的简档。
[0096] 图6例如图示了该动态更新过程的工作流程600。图6示出了由图5的用户简档生成模块512运行的(一个或多个)预训练模型602。这些模型602可以在用户信息604(例如,用户的姓名、历史、偏好、文化或任何其他类型的信息,这些信息使得系统100能够向用户606提供有意义的对话)上进行训练。在多次交互的过程中,用户606可以向深度增强学习算法608提供额外的输入。该用户输入可以涉及或以其他方式包括关于用户及其偏好的更多信息,包括改变的或更新的信息。该信息可以被传送给模型602,使得该模型被更新以包含该新的用户输入。
[0097] 返回参考图5,对话发起模块514可以被配置为基于视觉数据和其他基于用户简档的特性来逐步学习何时开始或以其他方式发起与用户的会话。这种学习可能会在多个会话中逐渐进行。
[0098] 例如,用户可能在一天中的某些时间(例如在午餐或晚餐期间)对参与会话不感兴趣。一旦对话发起模块514理解了当前的环境和用户的偏好,它就可以在适当的时间生成友好的对话或句子以用于潜在的会话开始。
[0099] 会话结束对话生成模块516可以被配置为基于通过数据集和通过实时用户反馈学习的模式或规则来理解何时结束会话。例如,会话生成模块516可以学习在特定的时间结束会话,因为他们知道用户当时想要吃晚餐。因此,会话结束对话生成模块516可以生成适当的对话以在适当的时间结束会话。
[0100] 示意动作/姿势识别模块518可以被配置为识别用户做出的某种示意动作和姿势以及它们的含义。这种学习可以通过对用户的移动和运动进行视觉分析来进行,以理解在特定环境和/或情形中期望得到哪种响应类型。通过这种理解,示意动作/姿势识别模块518可以响应于某些示意动作或姿势而生成适当的对话。
[0101] 短时记忆模块520可以被配置为学习当前会话上下文中的哪些信息是重要的并在短的预定时间段内记住这些信息。例如,如果当前会话是关于一个或多个餐馆,则短时记忆模块520可以在短时间段内存储命名的餐馆或其他位置,使得短时记忆模块520能够预先加载相关的背景和关于这一个或多个餐馆的更新信息以更快地解决来自用户的任何可能的查询。
[0102] 对话行为建模模块522可以被配置为依赖于由图2的静态学习引擎108的对话行为识别模块222构建的模型。对话行为建模模块522可以在每个会话引擎期间基于实时用户交互和反馈来完善模型。可以使用深度增强学习框架来更新模型。
[0103] 语言翻译模块524可以在静态学习引擎108中的对应事物的基础上构建,并且使用深度增强学习框架通过实时用户反馈来完善模型。
[0104] 语音生成模块526能够被配置为通过对当前情形的相关视觉分析来生成或模拟流行的语音。然而,在这样做之前,语音生成模块526可以执行初始核查以确定在特定场景中这样做是否合适。这样可以帮助代理以轻松迷人的语调开始、结束和/或继续会话。
[0105] 可以训练由语音生成模块526运行的模型以利用来自大的音频文件和视频文件的集合的可用语音源。这样还可以帮助代理理解词语的发音和说话风格,从而实时完成该任务。
[0106] 问题回答模块528可以基于从在线数据和知识源收集的新的实时信息来完善由静态学习引擎108的问题回答模块202构建的模型。另外,可以使用深度增强学习框架通过实时用户交互来完善模型。
[0107] 问题生成模块530可以完善由静态学习引擎528的问题生成模块204构建的模型。该完善可以基于通过深度增强学习框架内的实时连续的用户反馈收集的新信息。
[0108] 在适当时,所有模块502-530都可以基于来自在线知识源532的数据和来自用户536的实况人机会话输入534的数据来运行其相应的模型。来自这些源的分析数据可以包括文本数据538、图像数据540、音频数据542、视频数据544或其某种组合。
[0109] 动态学习引擎110可以为各种模块502-530的预训练模型546提供任何适当的更新。同样,这些更新可以基于来自在线知识源532和实况人机会话输入534的数据。
[0110] 来自各种模块的输出可以被传送到对话控制器548,例如,图1的对话控制器122。对话控制器122然后可以分析模块的各种输出并选择最适当的响应以递送给用户536。
[0111] 例如,对话控制器122可以被实施为被配置为能与用户接口连接的经训练的模型。基于接收到的对话,对话控制器122可以利用输入对话来选择模型集合中的一个或多个模型以进行激活。然后,这些模型可以响应性地提供输出,或者可以激活额外的模型。例如,问题理解模块可以接收问题并利用适当的输入来激活知识图模块210以搜索答案。然后可以将答案提供给问题回答模块以生成答案。
[0112] 图7图示了根据一个实施例的用于与用户交互的示例性硬件设备700。如图所示,设备700包括经由一条或多条系统总线710互连的处理器720、存储器730、用户接口740、网络接口750和存储设备760。应当理解,在一些方面,图7构成了一种抽象,并且设备700的部件的实际组织方式可能比所图示的情况更为复杂。
[0113] 处理器720可以是能够运行被存储在存储器730或存储设备760中的指令或者能够处理数据的任何硬件设备。这样,处理器720可以包括微处理器现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他类似设备。
[0114] 存储器730可以包括各种存储器,例如,L1、L2或L3高速缓存或系统存储器。这样,存储器730可以包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪存存储器、只读存储器(ROM)或其他类似的存储器设备。
[0115] 用户接口740可以包括用于使得能够与用户通信的一个或多个设备。例如,用户接口740可以包括显示器、鼠标键盘以用于接收用户命令。在一些实施例中,用户接口740可以包括可以经由网络接口750被提供给远程终端的命令行接口或图形用户接口。
[0116] 网络接口750可以包括使得能够与其他硬件设备进行通信的一个或多个设备。例如,网络接口750可以包括被配置为根据以太网协议进行通信的网络接口卡(NIC)。另外,网络接口750可以实施TCP/IP协议栈以用于根据TCP/IP协议进行通信。针对网络接口750的各种替代的或额外的硬件或配置将是显而易见的。
[0117] 存储设备760可以包括一个或多个机器可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存存储器设备或类似的存储介质。在各种实施例中,存储设备760可以存储指令以供处理器720运行,或者可以存储处理器720可以操作的数据。
[0118] 例如,存储设备760可以包括操作系统761,操作系统761包括静态学习引擎761、动态学习引擎762和增强引擎763。静态学习引擎761的配置可以类似于图2的静态学习引擎108的配置,并且动态学习引擎762的配置可以类似于图5的动态学习引擎110的配置。增强引擎763的配置可以类似于图1的增强引擎120的配置,并且增强引擎763可以被配置为分析来自静态学习引擎761和动态学习引擎762的输出,以基于该输出来选择针对用户的适当的交流
[0119] 上面讨论的方法、系统和设备是示例。各种配置可以适当地省略、替换或添加各种流程或部件。例如,在替代配置中,可以以与所描述的顺序不同的顺序来执行方法,并且可以添加、省略或组合各个步骤。而且,关于某些配置描述的特征可以被组合在各种其他配置中。可以以类似方式组合配置的不同方面和元件。而且,技术在发展,因此,这些元件中的许多元件是示例,并且不限制本公开内容或权利要求的范围。
[0120] 例如,上面参考根据本公开内容的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本公开内容的实施例。框中指出的功能/动作可能不按任何流程图所示的顺序发生。例如,取决于所涉及的功能/动作,相继示出的两个框实际上可以基本上同时地运行,或者有时可以以相反的顺序运行。额外地或替代地,并不需要执行和/或运行任何流程图中示出的所有框。例如,如果给定的流程图具有包含功能/动作的五个框,则可能是这五个框中只有三个框被执行和/或运行的情况。在该示例中,可以执行和/或运行这五个框中的三个框中的任何一个。
[0121] 值超过(或大于)第一阈值的陈述等同于该值达到或超过略微大于第一阈值的第二阈值的陈述,例如,第二阈值是相关系统的分辨率中的高于第一阈值的一个值。值小于第一阈值(或在第一阈值内)的陈述等同于该值小于或等于略微小于第一阈值的第二阈值的陈述,例如,第二阈值是相关系统的分辨率中的低于第一阈值的一个值。
[0122] 在描述中给出了具体细节,以提供对示例性配置(包括实施方式)的透彻理解。然而,也可以在没有这些具体细节的情况下实践这些配置。例如,已经示出了公知的电路、过程、算法、结构和技术,而没有不必要的细节,以便避免使配置模糊不清。该描述仅提供示例性配置,并且不限制权利要求的范围、适用性或配置。相反,对配置的先前描述将为本领域技术人员提供用于实施所描述的技术的使能描述。在不脱离本公开内容的精神或范围的情况下,可以对元件的功能和布置做出各种改变。
[0123] 在已经描述了若干示例性配置的情况下,在不脱离本公开内容的精神的情况下可以使用各种修改、替代构造和等同形式。例如,以上元件可以是较大系统的部件,其中,其他规则可以优先于或以其他方式修改本公开内容的各种实施方式或技术的应用。而且,在考虑以上元件之前、期间或之后,可以进行许多步骤。
[0124] 在已经提供了本申请的描述和说明的情况下,本领域技术人员可以预见到在不脱离权利要求的范围的情况下落入本申请中讨论的总体发明构思内的变型、修改和替代实施例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈