情绪智能聊天引擎的制作方法

文档序号:12787795阅读:305来源:国知局
情绪智能聊天引擎的制作方法与工艺

本发明涉及提供情绪智能聊天。



背景技术:

当今的计算设备上的软件应用已有了爆发式的流行,管理着来自工作生产力、减肥、web搜索、以及当代用户生活的其他方面的一切事物。随着设备大小缩小以变得更具移动性,更少的空间可用于以吸引人的方式来使用户参与,且常规用户接口(如键盘和鼠标)对于四处奔走的用户来说是相当麻烦的。一些常规移动设备(例如智能电话和平板)配备有使用语音识别作为输入设备指令的方式的基于软件的虚拟助手。例如,这些虚拟助手允许用户口述文本消息、询问最近的烧烤餐厅位于哪里、搜索web、播放未收听的语音邮件、以及为用户执行一批其他任务。

常规的虚拟助手一般通过识别并解释用户的话音,标识用户命令中的任务,然后对任务进行响应来工作。但是,与仅仅识别单词并进行响应相比,人类对话复杂得多得多。许多其他考虑因素影响了与人们进行通信的最佳方式,诸如年龄、文化、情绪状态、以及人口统计学特征。例如,与儿童的对话可能需要和与成人的对话不同地进行。用户的环境、文化、社交以及其他活动也可影响与用户进行通信的最佳方式。从而,对于与人类用户交互而言存在许多不同的影响。常规的数字助手仅仅搜索用户的文本或语音的相关信息,而不考虑用户的情绪状态或除了语音或文本之外的各种其他因素。



技术实现要素:

参考下文列出的附图,在下文详细描述所揭示的示例。提供下面的概述以例示出本文所揭示的一些示例,但并不旨在将所有示例必然地限制于任何特定配置或操作顺序。

一些示例针对操作被配置成保持与用户进行情绪智能聊天对话的聊天引擎。在一些示例中,呈现给用户的聊天引擎捕捉采用文本、视频、音频或图像形式的用户输入数据。此外,该聊天引擎也可使用设备传感器的集合或用户输入数据中的背景信息(如图像或声音记录的背景)来捕捉环境数据。从用户输入数据和环境数据确定用户的情绪状态。回答选择器组件被顺序地或并行地执行,以确定对用户输入数据中的用户聊天语句的一个或多个回答。然后可基于用户的情绪状态以及计算出的潜在聊天回答可能要么改变要么维持用户的情绪状态的可能性来选择按情绪定制的聊天回答。按情绪定制的聊天回答然后可被传送回用户的客户机计算设备,在用户的客户机计算设备处所述回答被呈现给用户。本文所讨论的技术可被用于以保持用户参与的方式管理情绪智能聊天引擎。

附图说明

参考下文列出的附图,在下文详细描述所揭示的示例:

图1是例示出用于收集并提供用户与环境数据的示例性计算设备的框图。

图2是用于在客户机计算设备上提供情绪智能聊天引擎的联网环境的框图。

图3是使用多层次选择器组件向客户机计算设备提供聊天回答的聊天引擎服务器的框图。

图4是用于为客户机计算设备上呈现的聊天引擎提供聊天回答的工作流的流程图。

图5是用于为客户机计算设备上呈现的聊天引擎提供聊天回答的工作流的流程图。

图6是用于为客户机计算设备上呈现的聊天引擎提供聊天回答的工作流的流程图。

图7是用于客户机计算设备上的聊天对话的用户界面的用户界面图。

在全部附图中,相应的附图标记指示相应的部分。

具体实施方式

本文揭示的示例针对用于在智能电话、移动平板、联网的玩具、车载计算机、或其他客户机计算设备上提供交互式且情绪认知的聊天引擎的系统、设备、方法以及汇集了可执行指令的计算机储存存储器。使用所揭示的方法,客户机计算设备配备有能理解并解释用户的情绪状态以及当前环境的聊天引擎。在一些示例中,可通过解释文本、视频、图像、语音、音频、触摸、或客户机设备上从用户捕捉的其他信息来确定情绪状态。例如,用户的话音的音调可指示出用户处于激动状态,用户的面部表情可指示出用户不安,用户在文本中的选择可指示出用户对某一话题不感兴趣,等等。为了创建情绪智能聊天引擎,本文所揭示的示例捕捉客户机设备上的各种相关用户和环境数据,将捕捉的用户和环境数据传达给聊天引擎服务器以用于确定用户的情绪状态,基于用户的情绪状态生成聊天回答,以及将生成的聊天回答呈现给用户。

在一些示例中,用户的输入数据和环境数据要么由客户机设备(在一些示例中)要么由聊天引擎服务器(在其他示例中)分析,以确定用户的情绪状态。使用回答选择组件的多层序列来选择或生成用于以文本、口头、动画或视频对话与用户交互的聊天回答,这些回答选择组件访问各种信息索引以基于用户输入和环境数据来生成合适的聊天回答。学习模块可被用于在考虑了用户的检测到的情绪状态和/或环境的情况下,选择将所生成的回答中的哪个回答提供给用户。

所选择的或生成的回答基于用户的情绪状态被定制,以便提供比常规数字助手所提供的更为健谈且更情绪智能的聊天体验。再次,当今的数字助手不考虑用户的情绪状态。使用本文所揭示的各种示例,聊天回答特别适合于用户的情绪状态。例如,当用户不安时,特定的聊天回答将被使用(如“怎么了?”或“你想玩玩看并高兴起来吗?”)。提供情绪智能聊天回答通过在客户机设备上提供与用户通信的更准确的方式来增强用户体验。

同样,通过识别用户的情绪,本文所揭示的示例可更好地与幼儿通信,幼儿可能需要内容健康的聊天回答、简单化的聊天回答以保持对使用客户机设备的兴趣、贯穿整个聊天体验的鼓励(例如对于害羞的或不安的儿童)、或者为了保持儿童参与的其他情绪刺激。例如,儿童在他们不安时常常不愿意与设备(或成人)交互。因此,所揭示的示例可首先检测儿童的心情,然后提供聊天 回答(例如唱歌、询问怎么了、讲笑话等)以尝试使儿童高兴起来,如果成功的话将很可能保持儿童对聊天引擎的参与。除此之外,本文所揭示的其他示例提供了一种识别儿童何时失去对聊天体验的兴趣并因此简化后续聊天回答以使儿童重新参与的方式。

尽管本文揭示了涉及儿童的一些示例,但是所揭示的示例不限于仅仅检测情绪以及与儿童通信。所揭示的示例可确定特定于几乎任何年龄组、阶层或其他分组的人的不同情绪状态,并使用这些特定状态来相应地定制聊天回答。例如,尝试使年长用户精神振奋的聊天回答可能不同于用于使中年、青少年以及少儿用户精神振奋的那些聊天回答。从而,所揭示的示例可被用于识别并使用用户的情绪状态来生成将用户保持在特定状态(如高兴)或保持与客户机设备的交互的聊天回答。

出于本公开的目的,“聊天”或“聊天对话”指的是用户与计算设备之间的电子交互,诸如举例来说,但不限于,一系列交换的文本、视频、音频等。例如,玩具可交互式地与儿童用户说话。计算机屏幕上呈现的化身可与用户说话,呈现文本,或执行动画。聊天回答可通过汽车或其他交通工具的音频系统来传达。“聊天引擎”指的是用于向用户呈现聊天对话的整个设备和软件组件,包括前端用户体验、中间聊天回答软件、以及要被用于呈现聊天回答的数据的后端数据库。

为了确定用户的情绪状态,一些示例在客户机计算设备上捕捉用户的文本、话音、图像、视频或其他用户数据,并将捕捉的用户数据传达给聊天引擎服务器。该捕捉的数据在本文中被统称为“用户输入数据”,或简称为“用户数据”。用户输入数据的示例包括但不限于:来自用户的文本输入、来自用户的语音和其他音频、用户或用户的环境的图像或视频、用户在触摸屏设备上的触摸、以及由用户输入或从用户和他们的环境中捕捉的任何其他信息。

如本文所提及的,“用户简档”指的是电子存储的与用户有关的信息的集合。这样的信息可包括用户的姓名、年龄、性别、身高、体重、人口统计学特征、当前位置、居所、国籍、家庭、朋友、身高、体重、年龄、性别、学校教育、职业、爱好、技能、兴趣、web搜索、健康信息、生日、周年纪念日、庆祝节日、心情、情绪状态、以及与用户相关联的任何其他个性化信息。用户简档包 括简档元素,简档元素可以是静态的(如姓名、出生地等)或随时间改变的动态的元素(如居所、年龄等)。用户简档可在一个或多个客户机计算设备上通过对用户进行问题调查或通过分析用户的行为来构建。

如本文所提及的,“环境数据”指的是如由计算设备的一个或多个传感器或电子组件捕捉的与用户的周围环境、位置、或正被执行的其他活动有关的信息。环境数据可包括从客户机设备的一个或多个传感器检测到的信息。例如,客户机设备中的全球定位系统(GPS)传感器可确定用户的位置,加速度计可确定用户的移动,陀螺仪可确定用户的定向,温度计可确定用户位置处的温度,等等。环境也可包括从用户输入数据检索到的信息,诸如举例来说,但不限于,图像或视频的背景、音频记录的背景噪声、音频记录中来自其他用户的语音、或用户输入数据中的其他非因用户而异的数据或部分。

而且,在一些示例中,环境数据还可或可替代地包括先前捕捉的历史图像、视频、音频文件、传感器数据、或由其他用户的客户机计算设备捕捉的其他信息,所述其他用户通过不同的web关系(如社交联网站点、联系人列表等)与用户有关;询问了与用户类似的问题或作出了与用户类似的语句;与用户共享公共的用户简档参数;或以某种方式另外地共生地连接到用户。在一些示例中,由通过网络从客户机计算设备接收用户输入数据的聊天引擎服务器在用户输入数据中标识环境数据(如音频中的背景噪声、图像或视频的一些部分等)。在替代示例中,环境数据可由客户机计算设备从用户输入数据解析并被分开地发送给聊天引擎服务器。

如下文更详细地揭示的那样,用户的情绪状态可单独地基于用户输入数据或者基于用户输入数据与捕捉的环境数据的组合来确定。例如,用户的话音(用户数据)的语音识别可揭露出用户在某一位置处(环境数据)时处于兴奋且好奇的状态,在该位置处其他用户通常感到惊奇,该用户的情绪状态可被确定为兴奋、好奇和惊奇的某种组合。在一些示例中,聊天引擎服务器使用用户输入数据和/或环境数据来确定用户的情绪状态,然后使用该情绪状态来影响被提供给用户的聊天回答。

情绪状态可包括对情绪的任何指定,诸如举例来说,但不限于各种级别的快乐(例如狂喜、兴高采烈、欢乐、宁静、愉悦);期待(警惕、好奇、感兴 趣、期望、专注);害怕(恐惧、恐慌、惊骇、惊慌、担心、胆怯);惊讶(惊异、惊愕、不确定、困惑);悲伤(悲痛、懊悔、沮丧、忧郁、哀思);厌恶(憎恶、强烈反感、反感、不喜欢、厌烦);生气(狂怒、愤怒、敌视、烦恼);信任(赞赏、认可、容忍);或其他类型的情绪。

所揭示的示例可将情绪状态指示为一个情绪(如沮丧)或情绪组合(如忧郁、厌烦、烦恼),情绪组合中的情绪可被均等加权(如33%忧郁、33%厌烦、33%烦恼)或不成比例地加权(如50%忧郁、10%厌烦、40%烦恼),以便表示某种情绪状态。其他示例可确定用户的情绪状态只与若干情绪状态(诸如幸福、生气、悲伤等)之一或其某种组合有关。一些示例可基于以下来对所确定的情绪赋予权重:什么情绪看上去在用户输入或环境数据中更具支配性;该情绪是从用户输入还是环境数据指示出的(例如在一些示例中可更遵从从用户输入数据确定的情绪);或者通过各种其他加权方案。

在一般地提供了所揭示的示例中的一些示例的概览之后,将注意力转向附图以进一步例示出一些附加细节。所例示出的配置和操作序列被提供来帮助读者理解所揭示的示例的某些方面。附图不意味着限制所有的示例,从而一些示例可包括不同的组件、设备或操作序列,而不背离本文所讨论的所揭示的示例的范围。换言之,一些示例可用与所示那些不同的方式来被具体化或起作用。

本公开的各方面通过根据用户的情绪状态定制聊天回答来创建更佳的聊天用户体验。理解用户的情绪状态以及相应地定制聊天消息极广泛地扩展了常规计算设备的能力,从而提供了其中情绪认知的应用能够存在的平台。此外,本文所揭示的情绪检测技术通过聊天用户界面提高了用户效率,增加了用户设备交互,增加了用户交互性能,以及减少了聊天引擎差错(从而减少了处理和存储器浪费)。

再次参考图1,示例性框图例示出被配置成捕捉并传送用户和环境数据的客户机计算设备100。客户机计算设备100表示执行实现与计算设备100相关联的本文所述的操作和功能的指令(例如,应用程序、操作系统功能、或两者)的任何设备。在一些示例中,客户机计算设备100具有至少一个处理器108、一个或多个呈现组件110、收发机112、一个或多个输入/输出(I/O)端口116、一个或多个I/O组件118、以及计算机储存存储器120。更为具体地,计算机储 存存储器120汇集了计算机可执行指令,计算机可执行指令包括通信接口组件130、用户界面组件132、以及聊天小程序134,它们各自可由处理器108执行以执行下文所揭示的功能。

客户机计算设备100可以采用移动计算设备或任何其他便携式设备的形式,诸如举例来说,但不限于,移动电话、膝上型计算机、平板、计算板、笔记本、游戏设备、和/或便携式媒体播放器。客户机计算设备100还可包括较不便携的设备,诸如台式个人计算机、自助服务终端、桌面设备、工业控制设备、无线充电站、以及电动汽车充电站。更进一步,客户机计算设备100可替代地采用以下形式:车辆的电子组件(如配备有相机或本文所揭示的其他传感器的车载计算机);电子装备的玩具(如毛绒玩具、玩偶、或配备有本文所揭示的电子组件的其他儿童角色);或任何其他计算设备。其他示例可将客户机计算设备100结合作为多设备系统的一部分,在多设备系统中两个分开的物理设备共享或以其他方式提供对计算设备100的所例示出的组件的访问。

处理器108可包括任意数量的处理单元,并被编程为执行用于实现本公开的各方面的计算机可执行指令。这些指令可由所述处理器执行或由计算设备内的多个处理器执行,或者由计算设备外部的处理器来执行。在一些示例中,处理器108被编程为执行诸如在附图4-5中所例示出的那些指令之类的指令。附加地或替代地,一些示例可编程处理器108来在一用户界面(“UI”)(例如图6中所示的UI)中呈现聊天体验。而且,在一些示例中,处理器108表示执行本文所述的操作的模拟技术的一种实现。例如,这些操作可以由模拟客户机计算设备100和/或数字客户机计算设备100来执行。

呈现组件110在计算设备100上可视地或可听地呈现信息。显示设备110的示例包括但不限于:计算机监视器、电视机、投影机、触摸屏、电话显示器、平板显示器、可穿戴设备屏幕、电视机、扬声器、振动设备、以及被配置成向用户显示、振动地传达或以其他方式指示聊天回答的任何其他设备。在一些示例中,如上所述,客户机计算设备100可以是儿童的电子玩具或玩偶,该电子玩具或玩偶包括能够向该儿童播放可听的聊天回答的扬声器。在其他示例中,客户机计算设备100是具有显示角色或助手(如说话的泰迪熊、成人的图像等)的图形用户界面(GUI)的智能电话或移动平板,该角色或助手可在屏幕上向 儿童呈现文本聊天回答和/或通过扬声器向儿童呈现可听的聊天回答。在又一些其他示例中,客户机计算设备100是汽车中的计算机,该计算机通过汽车扬声器系统呈现音频聊天回答,在汽车中的显示屏(例如位于汽车的仪表板中、在头靠内、在下拉屏幕上等等)上呈现视觉聊天回答,或者其组合。其他示例可通过各种其他显示或音频呈现组件110来呈现所揭示的聊天回答。

收发机112是能够发送和接收射频(“RF”)信号的天线。本领域的技术人员将理解并认识到各种天线和对应的芯片组可被使用以在客户机计算设备100和其他远程设备之间提供通信能力。然而,示例不限于RF信号收发,因为可替代地使用各种其他通信模态。

I/O端口116允许客户机计算设备100在逻辑上耦合至其他设备和I/O组件118,其中一些可被内置于客户计算设备100中,而其他可以是外置的。特定于本文所讨论的示例,I/O组件118包括话筒122、相机124、一个或多个传感器126、以及触摸设备128。话筒122捕捉来自用户102的音频。相机124捕捉用户102的图像或视频。传感器126可包括移动计算设备、电子玩具、游戏控制台、可穿戴设备、电视机、车辆、或其他计算设备100之上或之中的任何数量的传感器。此外,传感器126可包括加速度计、磁力计、压力传感器、光度计、温度计、全球定位系统(“GPS”)芯片或电路、条形码扫描器、生物识别扫描器(如指纹、掌纹、血、眼睛等等)、陀螺仪、近场通信(“NFC”)接收器、或被配置成捕捉来自用户102或环境的数据的任何其他传感器。触摸设备128可包括触摸板、跟踪板、触摸屏、能够将物理触摸转换成与呈现组件110上呈现的或通过呈现组件110呈现的或由呈现组件110呈现的软件的交互的其他触摸捕捉设备。例示出的I/O组件118仅仅是可被包括在客户机计算设备100上的I/O组件的一个示例。其他示例可包括附加的或替代的I/O组件118,例如声卡、振动设备、扫描仪、打印机、无线通信模块、或用于捕捉与用户或用户的环境相关的信息的任何其他组件。

计算机储存存储器120包括任何数量的与计算设备100相关联或可由计算设备100访问的存储器。存储器区域120可以在客户机计算设备100的内部(如图1中所示)、在客户机计算设备100的外部(未示出)、或两者(未示出)。存储器120的示例包括但不限于随机存取存储器(RAM);只读存储器(ROM); 电可擦除可编程只读存储器(EEPROM);闪存或其他存储器技术;CDROM、数字多功能盘(DVD)或其他光学或全息介质;磁带盒、磁带、磁盘存储或其他磁存储设备;布线到模拟计算设备中的存储器;或者用于编码所希望的信息以及用于由客户机计算设备100访问的任何其他介质。存储器120还可采用易失性和/或非易失性存储器的形式;可以是可移动的、不可移动的、或其组合;且可包括各种硬件设备(如固态存储器、硬盘驱动器、光盘驱动器等)。附加地或替代地,存储器120可例如在虚拟化环境中跨多个客户机计算设备100来分布,其中指令处理是在多个设备100上执行的。出于本公开的目的,“计算机存储介质”、“计算机储存存储器”、以及“存储器”不包括载波或传播信令。

计算机储存存储器120存储当由处理器108执行时用于执行计算设备100上的功能的各种设备应用,以及其它数据。应用的示例包括聊天应用、即时消息通信应用、电子邮件应用程序、web浏览器、日历应用程序、地址簿应用程序、消息收发程序、媒体应用、基于位置的服务、搜索程序等。应用可与对应的应用或服务(诸如经由网络106可访问的web服务)通信。例如,应用可包括与远程服务器或云中的计算设备上执行的服务器端应用对应的客户机操作的应用。

具体来说,存储器120中存储的指令包括通信接口组件130、用户界面组件132、以及聊天小程序134。在一些示例中,通信接口组件130包括网络接口卡和/或用于操作网络接口卡的驱动程序。客户机计算设备100与其他设备之间的通信可通过有线或无线连接,或跨网络106,使用任何协议或机制来发生。在一些示例中,通信接口组件130可与RF和使用电子标签(诸如NFC标签、蓝牙品牌标签等)的短距通信技术一起操作。

在一些示例中,用户界面组件132包括用于将数据显示给用户以及从用户接收数据的图形卡。用户界面组件132还可包括用于操作图形卡以在呈现组件110上或通过呈现组件110显示聊天回答以及对应的图像或音频的计算机可执行指令(例如驱动程序)。用户界面组件132还可与各种传感器126交互来既捕捉信息又通过呈现组件110呈现信息。

聊天小程序134在被执行时通过呈现组件110呈现聊天回答。在一些示例中,聊天小程序134在被执行时通过I/O组件118检索用户数据以及环境数据, 并将检索到的用户和环境数据通过网络传达给远程服务器。在一些示例中,远程服务器操作服务小程序,该服务小程序被配置成从所传达的用户数据和环境数据中标识用户情绪和/或环境状态,生成根据情绪状态定制的聊天回答,以及将聊天回答传达回客户机计算设备100供通过呈现组件110显示。在其他示例中,聊天小程序134可包括用于在客户机计算设备100上确定用户102的情绪或环境状态的指令——而不是在远程服务器上作出这样的确定。用户102的情绪状态的确定可由聊天小程序134或服务小程序通过以下来执行:捕捉的图像或视频中识别出的面部移动、对用户的语音的音调或频率分析、面部表情、用户反应、眼睛移动、身体扫描、微情绪、运动、微运动等。

当情绪状态是在客户机计算设备100上确定时,一些示例然后可将所确定的情绪状态单独地或者与同样在客户机计算设备100上捕捉的环境数据一起通信给服务器,以供在选择按情绪定制的聊天回答时使用。例如,指示出用户102欣喜若狂或激动的情绪状态(或者被加权或者不被加权)可与客户机计算设备的当前位置(例如来自GPS电路)以及记录的环境或背景噪声一起传送。作为响应,接收机服务器可基于用户的欣喜若狂/激动的情绪状态以及用户的位置来生成或选择合适的回答。

附加地或替代地,I/O组件118捕捉的环境数据也可由客户机计算设备100或远程服务器来分析,以确定用户周围发生的各种环境事件。背景音频、图像和视频可被分析以收集关于用户102的周围环境的信息。例如,背景中电视机上播放的卡通片可被识别并用于指示出孩子正在看卡通片且处于观看卡通片常见的情绪状态(如高兴)中。在另一示例中,用户102的视频可被分析且背景中奔跑的狗被识别,引发关于狗或者根据玩狗或遛狗的用户102常见的情绪状态定制的聊天回答。在又一示例中,用户102的图像可被分析以发现背景中的海滩,从而指示出用户正在度假。许多其他示例可按不同的、替代的或附加的方式来解释环境数据,以更好地理解用户102的周围环境以及情绪状态。

尽管下文中更深入地被讨论,一些示例还构建和维护用户102的用户简档。为了准备或维护最新的用户简档,聊天小程序134或聊天服务小程序可被配置成周期性地、响应性地(例如在特定用户交互之后)、自发地、或间隙性地用问题来调查用户102以收集关于用户102的信息。例如,聊天小程序134(单 独地或在聊天服务小程序的指示下)可初始地询问用户102特定的静态(即不改变的)信息(如生日、出生地、父母或兄弟姐妹姓名等)以及本质上更动态的当前信息(如居所、当前心情、最好的朋友、最喜欢的玩具等)。对于后者(即动态信息),聊天小程序134可在将来调查用户102或者分析与用户102的聊天对话以获得对动态信息的改变——以确保这样的信息不过时。例如,如果用户简档先前指示出两年前用户102住在西雅图,而聊天小程序134识别出客户机计算设备100正在德克萨斯州休斯顿花费了比阈值时间量(例如每年天数、每周小时数等)更多的时间,则聊天小程序134可被配置成或由聊天服务小程序指示来询问用户102是否他或她住在新的地方。这样的问题可由用户输入数据(如聊天回答)、时间流逝、检测到的环境数据、用户102的情绪状态、或任何其他触发因素来触发。

图2是用于在客户机计算设备100上提供情绪智能聊天引擎的联网环境200的框图。联网环境200包括通过网络106通信的多个客户机计算设备100、聊天引擎服务器202、以及数据库集群204。在一些示例中,用户和环境数据由客户机计算设备100通过网络106传达给聊天引擎服务器202,而聊天引擎服务器202生成按情绪定制的聊天回答,按情绪定制的聊天回答被提供回客户机计算设备100用于作为聊天对话的一部分呈现给它们相应的用户102。图2中所示的联网环境200仅仅是一个合适的计算系统环境的示例,并且不旨在对本文所公开的示例的使用范围或功能提出任何限制。也不应该将所例示的联网环境200解释为具有与任何单个组件、模块、索引或其组合有关的任何依赖性或要求。

网络106可包括任何计算机网络,例如,因特网、专用网络、局域网(LAN)、广域网(WAN)等等。网络106可包括各种网络接口、适配器、调制解调器、以及用于通信地连接客户机计算设备100、聊天引擎202、以及数据库集群204的其他网络设备。网络106还可包括用于点对点连接的配置。计算机网络对于本领域技术人员来说是已知的,因此不需要在本文被详细讨论。

客户机计算设备100可以是上文参考图1所讨论的任何类型的计算设备。为了例示出本公开所考虑的各种示例的通用性,图2中所示的示例将客户机计算设备100描绘为汽车、移动电话、以及电子泰迪熊。每个客户机计算设备100 可从它们相应的用户捕捉用户和/或环境数据,并将捕捉的用户和环境数据通过网络106传达给聊天引擎服务器202和/或数据库集群232。为此,每个设备可配备有通信接口组件132,如上参考图1所讨论的。作为响应,聊天引擎服务器202能够在聊天体验中将情绪智能聊天回答提供给无数种客户机计算设备100,这些客户机计算设备能够通过网络106来传达它们各自捕捉的用户和环境数据。换言之,聊天引擎服务器202可控制许多客户机计算设备100上的聊天引擎对话。

客户机计算设备100可配备有各种软件应用以及用于向它们各自的用户呈现接收到的聊天回答的呈现组件110。例如,汽车可在头靠中的电视机屏幕上呈现文本或动画,以及通过扬声器系统呈现相应的音频。移动电话可在屏幕上呈现虚拟助手或儿童友好的化身,以及通过扬声器呈现相应的音频。泰迪熊可通过扬声器呈现音频,以及可使用光或其他动物机器人技术(如泰迪熊移动)来呈现聊天回答。所例示出的客户机计算设备以及前述的呈现机制并非是覆盖了全部示例的穷举列表。客户机计算设备100和呈现技术的许多不同变型可被用于向用户传达聊天回答。

聊天引擎服务器202表示被配置成执行不同的web服务计算机可执行指令的服务器或服务器集合。聊天引擎服务器202包括处理可执行指令的处理器206、通过网络106通信的收发机208、以及汇集了至少以下可执行指令的计算机储存存储器210:聊天服务小程序212、对话模块220、以及回答学习模块222。聊天服务小程序212包括用于情绪检测模块214、环境检测模块216以及回答选择模块218的指令。更进一步,回答选择模块218包括多层次选择组件,所述多层次选择组件包括技能选择器224、常见问题(“FAQ”)FAQ选择器226、知识库选择器228、专家选择器230、主动调查232、因域而异的选择器234、内容健康web选择器236、以及通用答案选择器240——它们的操作在下文更详细地被讨论。尽管聊天引擎服务器202被例示为单个框,但是本领域技术人员将理解聊天引擎服务器202可实际上是可伸缩的。例如,聊天引擎服务器202可实际上包括操作软件的各种部分的多个服务器,它们一起生成聊天回答并控制客户机计算设备100上的聊天对话。

数据库集群204提供对可由聊天引擎服务器202或客户机计算设备100通 过网络106访问的以及由聊天引擎服务器202使用来生成按情绪定制的聊天回答的Web、用户、以及环境数据的后端存储。存储在数据库集群中的Web、用户、以及环境数据包括,例如但不限于,用户简档242、常见问题(“FAQ”)244、因域而异的回答246、万维网上的问题与答案对(“Web Q&A对”)248、递归神经网络(“RNN”)回答250、通用答案252。此外,尽管为了清楚起见没有示出,但是数据库集群204的服务器可包括它们自己的处理器、收发机以及计算机储存存储器。联网环境200还将数据库集群232描绘为与聊天引擎服务器202分开的设备的集合;然而,一些示例可实际上将数据库集群204中所示的所讨论的Web、用户、以及环境数据存储在聊天引擎服务器202上。

更为具体地,用户简档242可包括针对个体用户先前所述的静态和动态数据参数中的任何参数。用户简档的示例包括但不限于:用户的年龄、性别、种族、姓名、位置、父母、喜欢的事物、兴趣、Web搜索历史、Web评论、社交媒体联系与交互、在线组、学校教育、位置、出生地、母语或习得语言、熟练程度、购买历史、日常行为、工作、先前的情绪状态、宗教信仰、医疗数据、就业数据、金融数据、或特定于用户的几乎任何唯一数据点。用户简档242可被扩展以涵盖实际上用户生活的每一方面。在一些示例中,用户简档242包括从各种各样的源接收到的数据,诸如web站点(如博客、评论栏目等)、移动应用、响应于聊天引擎的主动地或反应性地询问而与用户的聊天对话、与用户的在线联系的聊天对话、与具有类似简档的用户的聊天对话、或其他源。与可被包括在用户简档242中的数据的类型一样,这样的信息的源也是可深入扩展的。

在一些示例中,FAQ 244包括与正被呈现在客户机计算设备100上的聊天引擎或客户机计算设备100本身相关联的任何问题与答案(Q&A)对。例如,FAQ 244可包括具有与以下有关的问题与相应答案的Q&A对:电子玩具的名字、虚拟助手、或化身的名字(例如用于实际泰迪熊或虚拟泰迪熊的“泰迪”);聊天引擎可理解的特定语言;与聊天引擎进行更好通信的方式;或者特定于聊天引擎本身的其他Q&A对。这样的Q&A对可由管理员上传或基于众多或特定用户对聊天引擎的使用而随着时间被收集。

在一些示例中,因域而异的回答246包括基于各种定时事件和情形的特定 聊天回答。这样的事件和情形可计及一年的特定一天(如特定的假日)、一天中的时间、日历季节、或其他定时事件。例如,日常来说,用户的心情在早上可能不同于晚上;因此因域而异的回答246可基于一天中的时间来指示出特定的回答。或者与因域而异的回答246存储在一起的数据可反映出基于各种定时事件或情形对心情的调整。例如,在早晨期间,情绪检测模块214检测到的情绪状态可从欣喜若狂被调整到愉悦的,以考虑到对于早晨用户而言一天中的一般较低的能量部分。因域而异的回答246和伴随的情绪状态加权和调整数据可特定于个体用户或一组类似的用户。

在一些示例中,web Q&A对248包括Web上公共可获得的问题与答案。Q&A对248可从在线信息收集,并对特定用户进行调整或净化内容。例如,可为儿童从Q&A对248中移除粗话或低俗语言,可从赞成另一政治团队的政治用户移除有政治偏见的语言,等等。针对Q&A对248收集的信息可从在线源被捕捉,在线源诸如举例来说,但不限于web页、web评论栏目、社交媒体站点、或示出在线用户之间的交互的其他在线源。尽管web Q&A对248暗示出被询问的实际问题,但是出于本公开的目的,web Q&A对248可包括Web上的两个信息片段之间的任何关联。例如,关于某一特定话题的社交媒体评论可与该话题相关联并被包括作为web Q&A对248的一部分,受欢迎的博客评论可与某一特定web页面的话题相关联,等等。实际上在线信息的任何组合可彼此相关联并被存储为web Q&A对248。

在一些示例中,RNN回答250包括通过递归神经网络从Web上的信息学习而准备的回答。为此,一些示例使用基于RNN的web服务来生成可在与用户的对话中被使用的聊天回答。这样的服务(可由聊天引擎服务器202或其他远程服务器实现)操作上基于软件实现的预先训练的模型来生成用于一聊天回答的短语或句子,该模型分析用户对话语句或问题以及基于本文中所讨论的Q&A对中的信息来生成回答句子。例如,来自用户的问题“睡觉时间是什么时候?”可使得RNN模型基于web上可获得的信息以及对用户的问题与Q&A对的索引的RNN分析来生成句子“睡觉时间是10:30pm”。这些RNN回答250可被存储在数据库集群232上供将来使用——要么用于特定用户要么用于具有公共用户简档242特征的其他用户。

在一些示例中,通用答案252包括回答许多不同问题的预定义的聊天回答。样本通用答案252包括例如,但不限于,“你能重复一遍吗?”;“让我想想”;以及“好的!”。在一些示例中,通用答案252是在其他更具体的答案不能被生成时可被呈现给用户的预定义的回答。

在操作中,用户参与客户机计算设备100,客户机计算设备100可从用户或它们的周围环境主动地或反应性地捕捉用户和/或环境数据。在一些示例中,客户机计算设备100可被配置成通过询问关于用户的情绪状态、周围环境、体验、或可被用于构建用户简档242或将用户简档242保持最新的信息的问题来主动地调查用户以获得信息。例如,客户机计算设备100可捕捉用户的图像,读取各种传感器,或询问用户调查问题。附加地或替代地,客户机计算设备100可在参与与用户的交互时反应性地捕捉用户和环境数据。例如,用户可询问一问题,打开聊天引擎应用,或者以其他方式参与聊天小程序134,从而提示客户机计算设备100捕捉相应的用户和/或环境数据。不管是主动地还是反应性地获得,客户机计算设备100上所捕捉的用户和环境数据可被传送给聊天引擎服务器202以生成用于合适的聊天对话回答。附加地或替代地,所捕捉的用户和环境数据中的一些或全部可被传送至数据库集群232供存储。例如,与客户机计算设备100上的聊天小程序134收集的用户的简档有关的信息可被存储在数据库集群204上。

聊天引擎服务器202基于以下来控制客户机计算设备100上的聊天对话:从客户机计算设备100接收到的用户和/或环境数据;数据库集群232中的数据;用户的情绪状态;或其组合。为此,在一些示例中,聊天服务小程序212使用情绪检测模块214来确定用户的情绪状态,以及使用环境检测模块216来确定用户的环境。此外,聊天服务小程序212执行多层回答选择模块218来生成或选择聊天回答以服务于客户机计算设备100。回答选择模块218在选择或生成聊天回答时可考虑所确定的用户的情绪状态和环境状态。而且,在一些示例中,回答学习模块222提供用于基于来自先前的聊天对话以及对应的情绪状态(特定于用户本身、有联系的用户(如家庭、朋友、社交联网等)、具有类似的用户简档242的用户、或对用户来说是陌生人)的历史学习将用户从一个状态(例如抑郁)移动到另一状态(例如高兴)的规则或其他条件。使用本文所揭示的 技术、模块和组件,聊天引擎服务器202可基于用户的情绪状态和/或用户的周围环境向客户机计算设备100提供对话聊天。

在一些示例中,情绪检测模块214通过分析从客户机计算设备100接收到的用户数据来确定用户的情绪状态。为此,情绪检测模块214可单独地基于用户数据或者基于用户数据与捕捉的环境数据的组合来确定用户的情绪状态。情绪检测模块214可执行用于分析用户的语音的音调、频率、音高、幅度、颤音、混响、或其他可听参数的指令,以便确定用户的情绪状态。而且,用户的语音可由情绪检测模块214转换成文本或者可听地识别关于用户正在说什么的内容,而用户的经识别出的单词或短语可由情绪检测模块214解释以理解用户的情绪状态。

除此之外,用户文本可类似地被情绪检测模块214分析以理解用户的情绪状态。特定名词、动词或其他单词选择可指示出用户的情绪,标点符号、大写、或关于文本的其他细节也可指示出用户的情绪。附加地或替代地,情绪检测模块214可包括可操作的图像识别指令以分析用户的图像或视频,以便从用户的面部特征、面部表情、动作、注视、移动、表情、或其他视觉捕捉的参数分析用户的情绪状态。附加地或替代地,情绪检测模块214可识别图像、视频或音频中的其他人,并根据周围的人来解释用户的情绪状态。例如,与在陌生人面前相比,儿童在他们的父母或兄弟姐妹面前一般更舒适;因此父母或兄弟姐妹存在检测(不管是通过文本、音频、图像还是视频)可由情绪检测模块214解释来指示出儿童的更高兴的情绪状态。

从而,情绪检测模块214是灵活的,且能够从用户文本、语音、图像、视频(单独地或连同环境数据一起)的任何组合快速地确定用户的情绪状态。情绪检测模块214的智能可由管理员设置或可被配置成基于从客户机计算设备100发送的用户和环境数据而随着时间学习。

环境检测模块216分析来自客户机计算设备100的环境数据以确定用户的环境。图像、视频和音频的背景可被分析以确定用户周围正在发生什么。例如,随着用户的语音一起被捕捉的背景噪声可向环境检测模块216揭露出用户在户外、在特定场所、或者被特定量的或可标识的人(如父亲、兄弟等)围绕。用户正穿着的制服类型可被识别为关于用户在上学、在工作、或在其他某处的指 示。还竟识别不仅仅限于用户捕捉的数据。先前讨论的客户机计算设备100上的传感器126也可揭露用户的环境或环境状况(如在跑步、在家、在工作等)。

对话模块220管理位于聊天引擎服务器202远程的客户机计算设备100的聊天对话。就这一点而言,对话模块220可接收来自客户机计算设备100的用户和环境数据,并将从回答选择模块218选择的聊天回答提供回客户机计算设备100。

在一些示例中,回答学习模块222包括可操作来实现马尔可夫决策过程强化学习模型的指令。在一些示例中,回答学习模块222使用由用户需求和情绪状态(如积极情绪、消极情绪、或先前讨论的情绪中的任何情绪)构成的不同状态;由聊天回答(例如鼓励用户的回答、同情用户的回答、似乎理解用户的回答等等)构成的动作;以及由所希望的情绪状态的改变(例如从忧郁到愉悦)构成的回报。回答学习模块222然后可基于过去实现对这个用户或其他用户的回报的状态与动作的不同组合,计算实现回报(即情绪状态转换)的可能性。然后,最可能能够实现情绪转换的回答可由回答学习模块222选择。

回答选择模块218包括可操作以基于用户数据、环境数据、情绪状态以及用户的检测到的环境来选择或生成聊天回答。在一些示例中,回答选择模块218执行多层次选择组件,所述多层次选择组件包括技能选择器224、FAQ选择器226、知识库选择器228、专家选择器230、主动调查232、因域而异的选择器234、内容健康web选择器236、RNN答案选择器238、以及通用答案选择器240。这些选择器组件224-240表示用于客户机计算设备100上的用户的聊天语句或问题的不同层次的分析焦点的指令,且各种选择器组件224-240可访问数据库集群232中存储的所揭示的信息以提供本文所提及的聊天回答。所揭示的选择器组件224-240的任何组合可被使用,附加的或替代的选择器组件也可被使用。

对于给定用户输入语句,选择器组件224-240可通过若干不同层进行以生成一个或多个可能的聊天回答。在其他示例中,选择器组件224-240顺序地执行技能选择器组件224、FAQ选择器226、知识库选择器228、以及专家选择器230,然后并行地执行主动调查232、因域而异的选择器234、内容健康web选择器236、RNN答案选择器238、以及通用答案选择器240。在其他示例中, 选择器组件224-240顺序地执行技能选择器组件224、FAQ选择器226、知识库选择器228、专家选择器230,主动调查232、因域而异的选择器234、内容健康web选择器236、RNN答案选择器238、以及通用答案选择器240。其他示例可以顺序或并行处理的任何其他组合来执行选择器组件224。

在一些示例中,回答选择组件224通过各种选择器224-240顺序地处理聊天语句直到生成或标识出聊天回答为止,所生成或标识出的聊天回答被提供回客户机计算设备100。例如,如果技能选择器224标识出一聊天回答,则对话模块220将该聊天回答传送至客户机计算设备而无需通过剩余的选择器组件226-240来处理用户的聊天语句。以此方式,多层选择器组件224充当一种使用不同层来提出聊天回答的过滤模型。

附加地或替代地,回答选择组件224-240可各自生成可能的聊天回答以用于聊天对话,然后对话模块可基于用户的情绪状态、环境状态、和/或由回答学习模块222计算出的每个回答的回报来选择一回答。例如,选择器224-240可基于用户数据和对应的情绪和环境状态(分别由情绪检测模块和环境检测模块确定)以及用户的用户简档数据242来生成9个可能的聊天回答(例如每个选择器一个)。在一些示例中,回答学习模块222对每个可能的回答分级以确定该回答将要么把用户从一个情绪状态转换到另一个情绪状态(如从忧郁到高兴)要么将把用户保持在给定情绪状态(如保持高兴)的可能性。基于这些分级,对话模块220可选择合适的回答来提供给用户。

更详细地考虑选择器组件224-240,技能选择器226确定用户聊天语句是否要求特定技能。技能选择器226可包括一组预定义的技能,诸如唱首歌、讲个有趣的故事、谈谈当前天气等等。用户聊天语句由技能选择器226分析以确定其预定义的技能之一是否可充当对该用户数据的回答。如果是,则技能选择器224基于该预定义的技能生成可能的聊天回答。例如,如果用户命令“唱首歌”,则技能选择器可生成唱某首歌的回答。

FAQ选择器226分析用户聊天语句并确定用户是否正在询问特定于正被呈现的聊天引擎的问题。例如,聊天引擎可表现为具有特定名字、性别、年龄、家庭、偏好、或其他特征的卡通人物。如果用户正在询问有关该卡通人物的问题,则FAQ选择器226将基于被存储为数据库集群204中的FAQ 244的用于 该聊天引擎的信息的知识库来从FAQ 244中选择回答。从FAQ选择器226对可能的聊天回答的选择可使用与该聊天引擎有关的信息的知识库的分级模型来执行。也就是说,FAQ选择器226可将用户问题视为一查询,并将FAQ 244的知识库中的问题视为被分级的候选文档。FAQ选择器226然后可选择知识库中最相关的问题,该问题将被选为对用户的聊天问题或语句的聊天回答。

知识库选择器228是包含针对目标用户的某种专门知识库或图表的基于知识的索引。例如,如果用户是儿童,则知识库可包括根据儿童定制的100,000个聊天回答,诸如关于动物、植物、地球等的语句。如果用户正在该范围内询问问题,则知识库选择器228从该知识库选择一回答作为聊天回答。而且,知识库中的聊天回答也可被分级并根据这样的分级来被选择。

专家选择器230确定用户的聊天语句是否要求另一个人或特定专家来回复。为此,专家选择器230可为给定用户维护一组潜在专家,或者可访问数据库集群232中的用户简档242来获得这样的信息。当用户的聊天语句指示出用户需要专家知识时(例如“我怎么才能防止水龙头漏水?”),专家指示器推荐一合适的个人来联系(例如“呼叫水管工Joe”)。或者,在一些示例中,如果聊天回答不能由其他选择器组件224-228和232-240生成(之前处理或并行处理),则专家选择器230可被配置成推荐该用户联系一可信的个人(如“问你父亲”)。

选择器组件224-240可在一个处理层中一起操作或者可作为多个层顺序地操作。这些分层的选择器组件224-240包括主动调查232,主动调查232包含问题以用问题或语句来调查用户,这些问题或语句不一定回答用户的问题但可推进聊天对话以防止用户收到回答选择模块218可答复的不适当的聊天语句。有时,聊天对话可能停顿,因此主动调查232可被用于推进聊天以越过该停顿点,询问类似于“你还好吗?”或“今天在学校怎么样?”的问题,这些问题不一定回复用户的任何细节但是却使得用户继续与聊天引擎说话。

因域而异的选择器234包含针对目标用户(诸如儿童、老年人、体育爱好者等)的某些特定行为模式或其他情形。例如,儿童通常早上醒来,晚上上床睡觉,在7:00pm左右吃饭等等。如果用户的聊天语句或环境数据的一部分提及这些情形或模式化的行为之一,则因域而异的选择器234可选择或生成一回 答。为了标识这样的模式,因域而异的选择器234可访问用户简档242中的信息来更好地理解用户。

内容健康web选择器236是从因域而异的回答246、Web Q&A对248、或其他Web数据构建的。在一些示例中,这样的Web数据可包括web论坛以及对应的在线讨论线程,可挖掘它们来获得Q&A对248。在一些示例中,对于来自一用户的给定聊天语句,因域而异的回答246、Web Q&A对248、或其他Web数据可被分析以采用两个步骤来标识或生成回答。首先,内容健康web选择器236寻找用户的聊天语句的最相似问题,其次内容健康web选择器236寻找该最相似问题的最相关回答。对这些问题和回答的选择可考虑用户的简档242以及环境数据。而且,通过在将这样的信息作为聊天回答提供给用户之前从Web数据中移除或替换粗话或低俗语言,可为特定用户(例如儿童、宗教人士等)净化所选的回答。

RNN答案选择器238执行一RNN过程以从在线信息的集合生成聊天回答。给定来自用户的聊天语句,RNN答案选择器238可基于一预训练的RNN模型来生成回答句子。RNN答案选择器238可使用预定的RNN回答250或可被配置成通过分析在线信息的各种源(如web页面、社交联网应用等)来在进行中生成聊天回答。一些示例在聊天对话中使用预测“最佳”聊天回答以提供回用户的RNN过程。在一些示例中,该RNN过程读取来自用户的输入聊天语句,一次一个单词或短语,并生成一RNN回答250,一次一个单词或短语。在一些实施例中,该RNN过程可通过反向传播在如何生成RNN回答250方面被训练。在一些示例中,该RNN过程被训练成基于来自用户的输入聊天语句将一RNN答案250的交叉熵最大化。该RNN过程可推断RNN回答250的一些部分,然后将RNN回答250的经推断出的部分馈送给该RNN过程作为输入,以推断RNN答案250的其他单词或短语。换言之,RNN过程可以零碎方式被运行以生成整个RNN回答250的各部分。替代地,一些示例使用定向搜索来生成一RNN回答250的一些部分,然后将如此生成的各部分馈送至该RNN过程用于生成RNN答案250的其他部分。附加地或替代地,可基于RNN答案250的一系列经推断出的或生成的部分的概率来选择一预测的RNN答案250。例如,来自用户的包括两个部分的聊天对话:(1)第一人说出“ABC”,以及(2)另一 人回复“WXYZ”。该RNN过程可被训练成将“ABC”映射或关联到“WXYZ”。

通用答案选择器240提供在其他聊天回答不能被生成的情况下可在几乎任何情形中被呈现的通用答案。例如,在几乎任何聊天语句之后,类似于“你能重复一遍吗?”;“让我想想”;以及“好的!”的语句可被提供给用户。数据库集群232上通用答案252的数据库可被访问以提供这样的回答。在一些示例中,当对于给定聊天语句不能生成或标识其他聊天回答时,通用答案252被提供。

回答学习模块222包括可操作来实现马尔可夫决策过程强化学习模型的指令。在一些示例中,回答学习模块222使用由用户需求和情绪状态(如积极情绪、消极情绪、或先前讨论的情绪中的任何情绪)构成的不同状态;由聊天回答(例如鼓励用户的回答、同情用户的回答、似乎理解用户的回答等等)构成的动作;以及由所希望的情绪状态的改变(例如从忧郁到愉悦)构成的回报。回答学习模块222然后可基于过去实现对这个用户或其他用户的回报的状态与动作的不同组合,计算实现回报(即情绪状态转换)的可能性。在一些示例中,最可能能够实现情绪转换的回答可由回答学习模块222选择。换言之,回答学习模块222分析由多层次选择器组件224-240生成的潜在聊天回答的可能的有效性,并基于该组回答转换用户的情绪状态或维持用户的情绪状态的所确定的能力来选择一回答以提供给用户。例如,如果回答学习模块222具有5个或更多个可能的回答来从中选择,且用户被确定为处于激动情绪状态,则可选择最可能将用户保持在激动状态的回答。在另一示例中,如果回答学习模块222具有5个或更多个可能的回答且用户处于忧郁情绪状态,则回答学习模块222可基于计算出的转换、调节或维持用户的情绪状态的可能性,促使从多层次选择器组件选择最可能改进用户的心情或最可能最大程度改进用户的心情的所生成的回答。

图3例示出使用多层次选择器组件向客户机计算设备100提供聊天回答的聊天引擎服务器202的框图。客户机计算设备100向聊天引擎服务器202提供环境数据和用户数据。在一些示例中,环境数据由环境检测模块216处理以标识用户的具体环境状况(如在家、在工作、在跑步、在车里、上床睡觉等)。用户数据可包括来自用户的聊天语句和/或捕捉的用户的音频、视觉或传感器数据。在一些示例中,情绪检测模块214处理用户数据以确定用户的当前情绪状 态(如高兴、悲伤、忧郁、20%愉悦等)。用户数据、环境数据、所确定的环境状况、所确定的情绪状态、或其任何组合可被提供给多层次选择器组件224-240以便生成一个或多个聊天回答来提供给用户。如果多个聊天回答由组件224-240生成,则可由对话模块220基于这多个回答的回报来选择一个优选的聊天回答,所述回报是由学习模块222针对使用户从一个情绪状态转换到另一个(例如使用户高兴起来)或针对确保所提供的聊天回答符合用户的当前情绪状态(例如选择最可能将欣喜若狂的用户保持欣喜若狂或其他高兴方式的回答)来计算出的。

在一些示例中,为了生成聊天回答,所例示出的示例通过各种选择器组件224-240顺序地处理聊天语句。各种选择器组件224-240也可考虑所确定的情绪状态和环境状况(如分别由情绪检测模块214和环境检测模块216确定)。如所示,在一些示例中,下面的处理顺序被使用以至少基于该聊天语句来标识聊天回答:技能选择器224、FAQ选择器226、知识库选择器228、专家选择器230、主动调查232、因域而异的选择器234、内容健康web选择器236、以及通用答案选择器240。在一些示例中,选择器组件224-240进行的处理在这些组件之一标识出或生成一聊天回答时停止,然后对话模块220将如此标识或如此生成的聊天回答提供给客户机计算设备100。在其他示例中,从选择器组件224-240中的多个或全部收集可能的聊天回答,对话模块220基于由回答学习模块222计算出的结果回报分级来选择一个以提供给客户机计算设备100。在任一情形中,对话模块220所选择的聊天回答最终被提供回客户机计算设备100供呈现给用户,该过程可贯穿聊天对话而被重复。

图4是用于为客户机计算设备100上呈现的聊天引擎提供聊天回答的工作流400的流程图。一开始,如框402处所示,用户数据和环境数据从客户机计算设备100处被传达并在聊天引擎服务器202处被接收。使用本文揭示的各种技术,聊天引擎服务器202(或者在一些示例中客户机计算设备100)基于用户数据(单独地或连同环境数据一起)确定用户的情绪状态,如框404处所示。如框406处所示,聊天引擎服务器202执行本文所述的回答选择器组件(彼此并行地、顺序地、或其某种组合)来确定一个或多个可能的聊天回答以提供给用户。选择器组件可包括本文所揭示的技能选择器224、FAQ选择器226、知 识库选择器228、专家选择器230、主动调查232、因域而异的选择器234、内容健康web选择器236、RNN答案选择器238、以及通用答案选择器240,或者能够基于用户的聊天语句标识聊天回答的其他选择组件。可基于用户的情绪状态或环境数据来选择由回答选择器组件生成的可能的聊天回答之一,如框408处所示。聊天引擎服务器将所选择的按情绪定制的聊天回答传送给客户机计算设备100,如框410处所示。而客户机计算设备100向用户呈现该所选的按情绪定制的回答。

图5是用于为客户机计算设备100上呈现的聊天引擎提供聊天回答的工作流500的流程图。一开始,如框502处所示,用户数据和环境数据从客户机计算设备100处被传达并在聊天引擎服务器202处被接收。使用本文揭示的各种技术,聊天引擎服务器202基于用户数据(单独地或连同环境数据一起)确定用户的情绪状态,如框504处所示。本文揭示的回答选择器组件224-240被执行以确定用户的聊天语句的一个或多个潜在的聊天回答,如框506处所示。对于每个潜在的聊天回答,回答学习模块222计算该回答将转换和/或保持用户的当前情绪状态的可能性,如框508处所示。这样的计算可通过执行计算机实现的马尔可夫决策过程来被执行,该过程分析由用户需求和情绪状态(如积极情绪、消极情绪、或先前讨论的情绪中的任何情绪)构成的不同状态;由聊天回答(例如鼓励用户的回答、同情用户的回答、似乎理解用户的回答等等)构成的动作;以及由情绪状态中所希望的改变(例如从忧郁到愉悦)构成的回报。其他技术可替代地被使用以确定某一潜在的聊天对话可能转换或保持用户的情绪状态的可能性。在一些示例中,基于计算出的情绪状态转换或保持可能性,从潜在的聊天回答中选择一个按情绪定制的聊天回答,如框510处所示。所选择的按情绪定制的聊天回答被传送回用户的客户机计算设备并被呈现给用户,如分别在框510和512处所示。

图6是用于为客户机计算设备100上呈现的聊天引擎提供聊天回答的工作流600的流程图。一开始,如框602处所示,用户数据和环境数据从客户机计算设备100处被传送并在聊天引擎服务器202处被接收。使用本文揭示的各种技术,聊天引擎服务器202(或者在一些示例中客户机计算设备100)基于用户数据(单独地或连同环境数据一起)确定用户的情绪状态,如框604处所示。 在一些示例中,多层次选择器组件被顺序地执行以确定对用户数据中用户的聊天语句的按情绪定制的回答。判决框606和框608示出每个选择器组件(技能选择器224、FAQ选择器226、知识库选择器228、专家选择器230、主动调查232、因域而异的选择器234、内容健康web选择器236、RNN答案选择器238、以及通用答案选择器240)被顺序执行—有时就以所列出的顺序执行—直到组件之一提供了一聊天回答为止。在一些示例中,当某一组件生成一回答时,选择器组件停止被执行(例如当FAQ选择器226生成一回答时,组件236-240不运行),生成的回答作为按情绪定制的回答被传送回客户机计算设备100,如框610处所示。客户机计算设备100然后可向用户呈现该按情绪定制的回答,如框612处所示。

图7是用于客户机计算设备100上聊天对话702的用户界面700的示图。所描绘的聊天对话可被呈现在计算设备100的屏幕上,该屏幕带有向正在响应性地提供聊天语句716-720的儿童用户呈现文本聊天回答706-714的虚拟化身或助手704(示为泰迪熊)。其他示例可通过电子玩具(例如真是的泰迪熊)的扬声器、通过汽车的扬声器、或者在任何其他计算设备的呈现组件上可听地呈现该聊天对话702。

看聊天对话702,助手704向儿童主动提供问候706以及调查问题708,以便开始对话。儿童对该问题的回答716包括用户简档数据(指示出儿童的名字“Bin”的聊天语句),该简档数据可被传送并与用于该儿童的新的或现有的用户简档存储在一起。在该儿童提供了他的名字之后,助手704以激动语句710回答,如感叹号所指示的那样,然后询问另一调查问题以收集附加信息来构建儿童的用户简档。这种来回调查可继续直到该儿童的用户简档被构建为止或者直到该儿童开始给出针对具体任务或带有特定情绪的语句为止。如所示,一旦该儿童在语句718中提供了他的年龄,聊天引擎就识别出该儿童是不安的,并在回答712中询问该儿童怎么了。情绪检测和对应的聊天回答选择可由先前讨论的情绪检测模块214、回答选择模块218以及回答学习模块222来执行。在被询问了儿童为何悲伤之后,该儿童以他悲伤的原因进行回答,即他的狗丢了。

聊天引擎服务器202的技能选择器224识别出专家或许可能有帮助,并因此生成并提供指示该儿童联系他的父亲以寻求帮助的聊天回答714。该聊天对 话702然后可继续,且聊天回答可由聊天引擎通过本文所讨论的不同选择器组件224-240选择,并且基于所选择的回答转换或符合儿童的情绪状态的能力(例如由回答学习模块222对回答进行分级来确定)来被挑选供呈现给儿童。

其他示例

一些示例针对用于提供情绪智能聊天对话的系统、方法和计算机可读介质。配置有存储器以及一个或多个处理器的聊天引擎服务器,所述存储器具有用于检测从呈现聊天对话的客户机计算设备接收到的用户数据中的情绪的指令,所述一个或多个处理器被配置成执行所述指令以:检测所述用户数据中的聊天语句,从用户数据确定所述用户的情绪状态,执行一系列回答选择器组件以确定对所述聊天语句的一个或多个回答,基于所述用户的所述情绪状态以及所述一个或多个回答,标识一按情绪定制的聊天回答以提供给所述用户,以及将所述按情绪定制的聊天回答传送给所述客户机计算设备用于呈现给所述用户。

一些示例针对操作一聊天引擎以及通过执行若干可执行操作来向用户提供按情绪定制的聊天回答。用户数据是从与聊天引擎交互的用户接收的;用户数据包括来自用户的聊天语句。基于所述用户数据的所述用户的情绪状态被标识。基于所述用户数据的所述用户的聊天语句被标识。一系列回答选择器组件被执行以基于所述用户的所述情绪状态来确定按情绪定制的聊天回答,所述按情绪定制的聊天回答被传送给所述客户机计算设备以供呈现给所述用户。

一些示例针对通过以下操作向客户机计算设备上的用户提供按情绪定制的聊天对话。包括用户的聊天语句的用户数据被接收。基于所述聊天语句,所述用户的情绪状态被标识。一系列回答选择器组件被执行以确定对所述聊天语句的一个或多个潜在聊天回答。所述潜在聊天回答能转换或保持所述用户的情绪状态的可能性被计算。基于所计算出的可能性,一按情绪定制的聊天回答被选择。所选择的按情绪定制的聊天回答被传送给所述客户机计算设备以供呈现给所述用户。

作为本文所述的其他示例的替代或补充,一些示例包括以下的任何组合:

执行技能选择器,所述技能选择器被配置成确定对所述聊天语句的 回答要求预定义技能;

执行FAQ选择器,所述FAQ选择器被配置成确定所述聊天语句正在询问与提供所述聊天对话的聊天引擎有关的特定问题,以及生成包括关于所述聊天引擎的特定信息的回答;

执行知识库选择器,所述知识库选择器被配置成访问与目标用户有关的信息的基于知识的索引,以及生成包括来自所述基于知识的索引的信息的回答;

执行专家选择器组件,所述专家选择器组件被配置成生成推荐对专家的指定的回答;

执行主动调查,所述主动调查被配置成生成用于使所述用户参与以收集额外的聊天语句的调查回答;

执行因域而异的选择器,所述因域而异的选择器配置成基于所述用户的行为模式来生成回答;

执行内容健康web选择器,所述内容健康web选择器被配置成基于因web域而异的数据或问题与答案对来生成内容健康的回答;

执行RNN答案选择器,所述RNN答案选择器被配置成使用RNN过程来生成回答;

顺序地执行以下的回答选择器组件:被配置成确定对所述聊天语句的回答要求预定义技能的技能选择器,然后是被配置成确定所述聊天语句正在询问与提供所述聊天对话的聊天引擎有关的特定问题,以及生成包括关于所述聊天引擎的特定信息的回答的FAQ选择器,然后是被配置成访问与目标用户有关的信息的基于知识的索引,以及生成包括来自所述基于知识的索引的信息的回答的知识库选择器,然后是被配置成生成推荐对专家的指定的回答的专家选择器组件;

基于所述用户的所述情绪状态确定对所述一个或多个回答的一个或多个回报,以及基于所述回报来选择按情绪定制的聊天回答的可执行指令;

基于所述一个或多个回答能在所述用户中创建情绪转换或保持所述用户的情绪状态的可能性来计算分级的可执行指令;以及

生成基于预定义技能的第一可能聊天回答,生成特定于所述聊天引擎的第二可能聊天回答,生成包括从一web源收集的信息的第三可能聊天回答,生成指示出要联系的专家的第四可能聊天回答,生成包括一调查问题的第五可能聊天回答,生成基于所述用户的行为模式的第六可能聊天回答,生成包括因域而异的web数据的内容健康版本的第七可能聊天回答,以及生成包括用于回答所述用户的所述聊天语句的通用答案的第八可能聊天回答。

尽管已经按照各种示例以及它们相关联的操作描述了本公开的各方面,但是本领域技术人员将理解来自任何数量的不同示例的操作的组合也在本公开的各方面的范围内。

示例性操作环境

尽管结合一示例性计算设备进行了描述,但本公开的各示例能够用众多其它通用或专用计算系统环境、配置或设备来实现。可适用于本公开的各方面的公知的计算系统、环境和/或配置的示例包括,但不限于:智能电话、移动平板、移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、具有可穿戴或配件形状因子(例如,手表、眼镜、头戴式耳机或耳塞)的移动计算和/或通信设备、网络PC、小型计算机、大型计算机、包括上面的系统或设备中的任何系统或设备的分布式计算环境等等。这样的系统或设备可以以任何方式来接受来自用户的输入,包括来自诸如键盘或指点设备之类的输入设备、通过姿势输入、邻近度输入(诸如通过悬浮)和/或通过语音输入。

可以在由一台或多台计算机或其他设备以软件、固件、硬件或其组合来执行的诸如程序模块之类的计算机可执行的指令的一般上下文中描述本公开的各示例。计算机可执行指令可以被组织成一个或多个计算机可执行的组件或模块。一般而言,程序模块包括但不限于,执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件,以及数据结构。可以利用任何数量的这样的组件或模块以及它们的任何组织来实现本公开的各方面。例如,本公开的各方面不限于附图中所举例说明并且在此处所描述的特定计算机可执行指令或特定 组件或模块。本公开的其他示例可以包括具有比此处所示出和描述的功能更多或更少功能的不同的计算机可执行指令或组件。在涉及通用计算机的示例中,在被配置成执行本文所述的指令之时,本公开的各方面将通用计算机变换成专用计算设备。

示例性计算机可读介质包括闪存驱动器、数字多功能盘(DVD)、紧致盘(CD)、软盘以及磁带盒。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质是有形的,且与通信介质互斥。计算机存储介质以硬件实现,并排除载波和传播信号。用于本公开的目的的计算机存储介质不是信号本身。示例性计算机存储介质包括硬盘、闪存驱动器和其它固态存储器。作为对比,通信介质通常在诸如载波或其他传输机制等已调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传递介质。

本文所例示并描述的示例以及本文没有具体描述但是属于本公开的各方面的范围内的示例构成了用于向用户呈现情绪智能聊天引擎的示例性手段。例如,图2和3中所描述的元素,诸如在被编码以执行图4和5中所例示的操作时,构成了用于以下的示例性手段:检测用户数据中的聊天语句以及基于用户输入确定所述用户的情绪状态;执行一系列回答选择器组件以基于所述用户的所述情绪状态确定对所述聊天语句的按情绪定制的聊天回答;和/或计算潜在的聊天回答能转换或保持所述用户的所述情绪状态的可能性。

本文所例示并描述的本公开的各示例中的操作的执行或完成顺序并非是必要的,而是在各种示例中可按不同的顺序方式来被执行。例如,考虑了在某一个操作之前、同时、或之后执行或完成另一个操作也在本公开的各方面的范围之内。

当介绍本公开的各方面的元素或其示例时,冠词“一”、“一个”、“该”、“所述”旨在表示有元素中的一个或多个。术语“包括”、“包含”、以及“具有”旨在是包含性的,并表示除所列出的元素以外可以有额外的元素。术语“示例性”旨在表示“……的一示例”。短语“下述的一个或多个:A、B和C”是指“至少一个A 和/或至少一个B和/或至少一个C”。

已经详细地描述了本公开的各方面,显然,在不偏离所附权利要求书所定义的本公开的各方面的范围的情况下,可以进行各种修改和变化。在不偏离本公开的各方面的范围的情况下,可以在上面的构造、产品以及方法中作出各种更改,意图是上面的描述中所包含的以及各附图中所示出的所有主题都应该解释为说明性的,而不是限制性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1