采用虚拟机器人进行对话交互的方法和系统与流程

文档序号:12037726阅读:834来源:国知局
采用虚拟机器人进行对话交互的方法和系统与流程

本发明涉及人工智能领域,具体地说,涉及一种用于采用虚拟机器人进行对话交互的方法和系统。



背景技术:

机器人聊天交互系统的开发致力于模仿人类对话。早期广为人知的聊天机器人应用程序包括小i聊天机器人、苹果手机上的siri聊天机器人等处理所接收到的输入(包括文本或语音)并进行响应,以试图在上下文之间模仿人类响应。

然而,要想完全模仿人类对话,丰富用户的交互体验,现有的这些机器人聊天系统远远达不到要求。



技术实现要素:

为解决上述问题,本发明提供了一种采用虚拟机器人进行对话交互的方法,所述虚拟机器人的形象在应用开始运行时被构建并在预设显示区域中显示,所述方法包括以下步骤:

获取单模态和/或多模态交互请求数据;

调用当前交互的多模态机器人能力接口;

利用所述多模态机器人能力,生成针对所述交互请求数据的应答数据;

通过所构建的虚拟机器人的形象以多模态形式输出所述应答数据。

根据本发明的一个实施例,在采用虚拟机器人进行对话交互的方法中,所述虚拟机器人的形象可为基于卡通人物、真实人物或虚构人物的二维或三维动画形象。

根据本发明的一个实施例,在采用虚拟机器人进行对话交互的方法中,所述应答数据中包括与所述交互请求数据关联的情绪参数。

根据本发明的一个实施例,在采用虚拟机器人进行对话交互的方法中,以多模态形式输出所述应答数据包括:所述虚拟机器人根据所述情绪参数选择以下多模态输出方式中的一种或多种进行输出:

虚拟机器人的面部表情的变化;

代表情绪的特定肢体动作;

特定语气、语调的语音。

根据本发明的一个实施例,在采用虚拟机器人进行对话交互的方法中,所述其他个体包括单个的人、单个的虚拟机器人或者单个的实体机器人。

根据本发明的一个实施例,在采用虚拟机器人进行对话交互的方法中,在等待接收来自所述应用作出的针对所述对话内容的应答数据时,所述虚拟机器人按照已等待的时间长度自主选择预先设置的多模态常用应答输出以进行临时交互。

根据本发明的一个实施例,在应用的交互界面上输出所述应答数据中的文本信息,和/或,通过语音采集装置获取的语音交互信息。

根据本发明的另一个方面,还提供了一种存储介质,其上存储有可执行上述任一项所述的方法步骤的程序代码。

根据本发明的另一个方面,还提供了一种采用虚拟机器人的对话交互系统。该系统包括:

移动设备,其上安装有应用;

多模态机器人程序包,其在所述应用运行时被启用,以使得所述应用执行如前所述的方法步骤;

虚拟机器人接口,用以向用户输出所述虚拟机器人的形象和做出的动作;

多模态机器人能力接口,其被调用以对应能力处理所述交互请求数据,并将得到的应答数据返回至所述移动设备。

本发明采用虚拟机器人进行对话交互,一方面可以丰富对话的个体,将某一形象的个体通过三维图像或二维图像在聊天系统的用户图形接口上显示出来,使得用户看起来是在与人对话,而不是机器,增强了用户的想象空间。另一方面,采用具有形象输出的虚拟机器人进行对话交互还可以进行完整的情绪表达,除了在语音上增加情绪之外,还可以通过虚拟形象的动画展示来将对话信息所要表达的内容完整表现出来。因此,采用本发明可以使得聊天交互系统在模仿人类对话上取得更大的进步。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1-3显示了根据本发明的采用虚拟机器人进行对话交互的示意图;

图4进一步详细显示了根据本发明的一个实施例的移动设备的内部结构框图;

图5显示了根据本发明的一个实施例的云端服务器的内部结构框图;

图6显示了根据本发明的另一个实施例的云端服务器的结构框图;

图7显示了构成云端服务器的数据库的示意图;

图8显示了根据本发明的一个实施例采用虚拟机器人进行对话交互的总体流程图;

图9显示了根据本发明的一个实施例采用虚拟机器人进行对话交互的详细流程图;

图10显示了根据本发明的一个实施例在交互个体、移动设备以及云端服务器三方之间进行通信的流程图,以及

图11显示了根据本发明的另一个实施例的采用虚拟机器人进行对话交互的文本输入方式的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明实施例作进一步地详细说明。

图1-3分别显示了根据本发明的交互个体202与虚拟机器人601进行交互对话的场景图。其中,交互个体分别为单个的人202a、另一虚拟机器人202b或者实体机器人202c。

如图1所示,交互个体202为人,移动设备201可以是该用户的智能手机、平板电脑、可穿戴设备等等。移动设备201上安装有各种各样的应用,这些应用包括但不限于,社交应用、教育应用、新闻应用、音视频应用等。聊天应用属于社交类应用中的一种,比如最常见的qq聊天应用、微信等。在微信这类对话应用中,用户一般都是与其有朋友关系的另一用户进行交互。另一用户一般也是实体的人。

如图1所示,在本发明的一个实施例中,移动设备201提供应用的客户端,并提供与用户的人机交互的硬件支持,例如通过语音阵列获取语音输入,通过摄像头获取用户的动作,通过触摸屏或者键盘获取文本输入;以及,通过扬声器播放语音、通过虚拟形象的动画显示来输出动作和表情、以及通过显示屏输出文本内容。

所述应用接入多模态交互机器人,使得多模态交互机器人成为对话过程中的一员,用户可以选择与该多模态交互机器人进行问答、聊天。

所述云端服务器为,提供所述多模态交互机器人对用户的交互需求进行语义理解(语言语义理解、动作语义理解)的处理能力的终端,实现与用户的交互。

所述虚拟形象为所述多模态交互机器人的载体,对所述多模态交互机器人的多模态输出进行表现。

虚拟机器人(以虚拟形象为载体)为:所述多模态交互机器人与虚拟形象为载体的共同体,即:以确定的ui形象设计为载体;,基于多模态人机交互,具有语义、情感、认知等ai能力;使用户享受流畅体验的个性化及智能化的服务机器人。

图2和图3分别显示了用户不是人类,而是虚拟机器人202b或者实体机器人202c的情况。虚拟机器人202b可以是相同的应用中的另一个采用机器人聊天的前端应用,两个虚拟机器人进行对话交互。也或者是,虚拟机器人202b为另一应用中的交互主体。如图2和3所示所述多模态交互机器人通过云端服务器解析,从而获得应答多模态数据。

在本发明中,虚拟机器人(以虚拟形象为载体)为:所述多模态交互机器人与虚拟形象为载体的共同体,与人202a可以以语音、文本或多模态方式展开对话,进行聊天。下面举一个例子说明虚拟机器人601以及人202a的交互对话过程。在一个旅游商业机构提供的公众号中,用户可以与其这样展开聊天。

虚拟机器人601说:嗨(微笑),有什么想对我聊聊么(打招呼)?

人202a说:有的,我想出去旅行,你觉得什么地方好呢?

虚拟机器人601说:很多地方都很美丽呢(微笑)。你是想去稍微热一点的地方还是凉快一点的地方呢(疑问)?

人202a说:这个我还没想好,不过我倾向于去热一点的地方,风景好的地方。

虚拟机器人601说:是这样啊(微笑),那你是想要在国内旅游还是想要出国旅游呢(疑问)?

人202a说:在国内吧,出国还要办签证,麻烦。

虚拟机器人601说:好的(感兴趣),我明白了,风景好热一点的地方有以下这些呢,比如说成都,重庆,厦门,海南,深圳等。你想去哪呢(疑问)?

人202a说:我对这些城市都不太熟悉呢,你能分别介绍一下吗?

虚拟机器人601说:好的,首先,成都以及重庆在地理位置上是接壤的,你可以一起去,成都和重庆的风景也是很美的,有山有水,而且最重要的是成都和重庆是美食的天堂,有最热辣的火锅,还有锅魁等很多好吃的小吃呢。

人202a说:好的,你好贴心啊。谢谢你。

在以上对话中,虚拟机器人601会在做出应答以及等待对方做出应答时选择情绪输出。以上问答里括号内的内容为虚拟机器人601做出的表情上的应答。除了表情上的应答,虚拟机器人601还可以通过降低语调以及升高语调的方式来表达虚拟机器人当时的情绪。除了表情以及语调上的应答,虚拟机器人601还可以通过肢体上的动作来表达自己的情绪,比如点头、挥手、坐下、站立等一系列动作。

虚拟机器人601可以通过判断交互对象的情绪变化,根据交互对象的情绪变化来做出对应的表情、语调以及肢体上的变化。虚拟机器人601还可以在程序卡顿或者网络出现问题的时候以跳舞或者其他表演形式弥补程序卡顿以及网络问题所带来的交互过程不流畅的缺陷。此外,对于轻微缺失某些识别能力的用户,这种交互输出也可以提高他们的对话交互能力。

图4显示了根据本发明的一个实施例的采用虚拟机器人进行对话交互的系统结构框图。如图4所示,该系统包括移动设备201、其他个体202以及云端服务器203(图中标识不全)。其中,移动设备201包含内核2011、通信模块2012、用户界面ui2013、各类应用app2014以及输入输出模块2015。其他个体如上所述包括人202a、虚拟机器人202b以及实体机器人202c。云端服务器203包含应答数据库、多模态机器人接口2032以及处理系统等,有关细节后面将会介绍。

内核2011用于移动设备201内的数据的计算以及信息的处理。例如当对话应用加载运行后,通信模块2012用于移动设备201与云端服务器203之间的数据以及信息的传送。在一个示例中,移动设备201具有无线通信能力,其与云端203之间的数据以及信息的交流通过移动互联网进行传送。

在移动设备201中,用户界面ui2013的某个显示区域用以显示虚拟机器人形象,在另一些显示区域显示交互对象之间交互产生的数据。显示区域中显示的虚拟机器人形象可为基于卡通人物、真实人物或虚构人物的二维或三维动画形象,虚拟机器人根据情绪参数选择以下多模态输出方式中的一种或多种进行输出:虚拟机器人的面部表情的变化、代表情绪的特定肢体动作以及特定语气、语调的语音。显示区域中显示的交互对象之间交互产生的数据可以为语音形式以及文本形式或者其他可以进行交互的显示形式。

下载并安装成功的某应用app2014存储在存储介质的特定位置处。针对本发明的实施例,该社交应用app2014中具体包括聊天功能块2014b。本发明的应用在本地不具有基于自然语言的交互能力,需要请求云端服务器203返回多模态应答数据。本发明用来显示虚拟形象的前端的虚拟机器人插件程序包2014a可安装至聊天功能块2014中。当然,以插件形式安装到应用中仅为本发明的一种实现方式,要实现对话应用的虚拟形象显示功能并不限于此。

为说明目的,本发明使用插件形式来丰富现有应用的功能性。应用提供使插件能够应用的各项服务,其中包括提供加载方式,使程序包插件可以加载到应用和网络传输协议中,从而和程序包插件进行数据交换。程序包插件必须依赖于应用才能发挥自身功能,仅靠程序包插件是无法正常运行的。相反地,应用并不需要依赖程序包插件就可以运行。

在应用程序和插件之间需要订立插件协议。即,在插件协议中规定,应用程序中的哪些功能可以被插件所用。具体到本发明中,在插件协议中,可以规定,应用中的多模态应答数据需要由插件程序利用。在插件程序2014a中,会分析多模态应答数据,并找到与应答数据匹配的情绪、动作进行动画输出。此外,在应用启用时,具体说当用户选中多模态机器人进行聊天时,插件程序便会接收到应用发来的需要显示动画形象的命令,从而在预定的显示区域中进行动画显示。

在一个实施例中,与以上介绍的稍微不同的是,移动设备201可以具有一般的本地解析交互数据的能力。例如,移动设备201还可能包括本地应答数据库。内核2011可以对获取的交互数据基于本地应答数据库中搜索与之匹配的答案。考虑到移动设备201的处理能力和存储能力,这些交互运算都比较简单。比如针对简单的问候、常规的问答语均可以在本地获得。而涉及到对用户输入的交互内容进行复杂算法解析,并进行学习扩充数据库的情景,则还是会通过让移动设备201访问云端服务器203来获取。在本实施例中,移动设备201具备了判断是否要进行通信以从云端获取多模态应答数据的能力。此外,在云端与移动设备通信不畅或者,云端计算多模态应答数据花费的时间过长的情况下,在移动设备201本地给出多模态应答数据也是比较有利的。

输入输出模块2015用于接收其他个体输入的交互语音以及文本信息,或者前端多模态机器人要输出的应答语音以及文本信息。输入输出模块2015将以上这些信息传送至ui显示区域2013,ui显示区域2013将以上信息显示出来,以供交互对象查看。

输入设备的例子包括键盘、光标控制设备(鼠标)、用于语音操作的麦克风、扫描仪、触摸功能(例如用以检测物理触摸的电容型传感器)、摄像头(采用可见或不可见波长检测不涉及触摸的动作)等等。输出设备例如包括显示屏、扬声器、触觉响应设备等等。移动设备的通信能力包括有线和无线通信。例如包括:一个或多个wi-fi天线、gps天线、蜂窝天线、nfc天线、蓝牙天线。

其他个体202为与虚拟机器人交互的交互对象,与虚拟机器人交互的对象可以为一方,也可以为多方。

图5显示了根据本发明的一个实施例的采用虚拟机器人进行对话交互的系统中云端结构框图。应答数据库2031包含普通人群应答数据库2031b、个性化应答数据库2031c以及交互特定应答数据库2031d。

其中,自适应语音模型2031a可以适应不同交互对象的不同问题,根据每个交互对象的特点以及特质,训练出适应特定交互对象的特定数据库,自适应语音模型2031a可以配合个性化应答数据库2031c而使用。

普通人群应答数据库2031b为云端服务器203中存储的一般人群的应答数据库,数据库中存储的是多个交互对象的应答数据,不具备个性化。

个性化应答数据库2031c为其他个体中特定的交互对象的专属应答数据库,这个数据库会随着交互对话的增多而丰富,使得之后的交互过程更加的个性化以及更加的顺利。

交互特定应答数据库2031d为在一次交互过程中的特定应答数据,每产生一次交互,就会生成一个存储本次交互数据的交互特定应答数据库2031d。交互特定应答数据库2031d配合普通人群应答数据库2031b以及个性化应答数据库2031c使用。

图6显示了根据本发明另一实施例的云端服务器的结构框图。如图所示,云端服务器203由云端大脑600和数据库资源660构成,数据库资源660与云端大脑分别处于两个不同的实体中。云端大脑600具有强大的运算处理能力,它包括:应用服务端610、其他应用资源620、搜索引擎630、处理系统640、通信接口650。应用服务端610用来实现多模态机器人针对多模态数据的解析操作。通过处理系统640采用自然语言模型进行语义分析,得到用户的意图,然后再通过搜索引擎640访问数据库资源660寻找相应的数据库中的应答数据。

通信接口650提供用以在云端服务器203与移动设备201直接进行通信的能力。在通信接口650中主要传输应用客户端发送的对话文本数据以及在云端解析运算获得的应答文本数据。

此外,云端服务器(云端大脑)203上还有其他应用资源620,用以向移动设备203提供其他功能丰富的应用。

图7显示了构成云端服务器的的数据库的关系示意图。如图7所示,普通人群应答数据库2031b大于个性化应答数据库2031c大于交互特定应答数据库2031d。其中,普通人群应答数据库2031b基于许多用户的集体交互活动来反映针对词语使用的概率或者是交互问题类别。在现实中,普通人群应答数据库2031b由开发者使用关于交互对象交互的大量历史训练数据来构建。普通人群应答数据库2031b可以针对作为整体的用户人群或者群体的共同使用而且不针对特定个体进行定制。普通人群应答数据库2031b可以表示针对交互问题的已知应答的整个集合。

基于个体的实际使用来得到个性化应答数据库2031c。个性化应答数据库2031c反映用户通过交互所键入的词语或者输出的语音,自适应语音模型2031a学习和追踪以上词语以及语音,普通人群应答数据库2031b现有的词语以及语音可以分配给个性化应答数据库2031c尚未包含在普通人群应答数据库2031b中的词语以及语音可以作为新词语以及语音添加在个性化应答数据库2031c中。个性化应答数据库2031c因此可以涵盖如图所示的普通人群应答数据库2031b的子集。

交互特定应答数据库2031d表示用于对应交互场景的词语以及语音。例如,交互内容仅仅限于交互对象的工作而不包含工作以外的其他内容。自适应语音模型2031a可以配置成维护和管理用于多个交互场景的对应特定语音模型数据库。交互特定应答数据库2031d可以表示如图中所表示的个性化应答数据库2031c的子集。

图8显示了根据本发明的一个实施例的采用虚拟机器人进行对话交互的总体方法流程图。

根据本发明,虚拟机器人的形象可以在应用开始运行时就被构建并在预设显示区域中显示,即用户在仅仅实施了打开应用这一操作之后但还未开始进行交互之前,本发明中的虚拟机器人形象已经显示在移动设备的特定区域内,这一过程是为了保证交互的顺利进行。本发明中的交互对象包括但不限于两个,交互对象应当包含虚拟机器人以及与虚拟机器人进行交互的其他个体。当然,本发明的虚拟机器人形象对应插件也可以是用户发出了请求要求与其对话的时候显示。这在社交聊天应用中如qq、wechat应用中非常普遍。而对于移动设备中已经内置的聊天机器人客户端应用而言,可能在点击该客户端应用时便构建形象会更为合适。

如图所示,在步骤s801中,安装了虚拟机器人插件的应用通过移动设备的输入模块获取单模态和/或多模态交互请求数据。即,当其他交互个体如人打开移动设备上的应用时,发出对话交互请求并输入需要与虚拟机器人交互的内容时,所安装的多模态机器人将会获取对话交互请求数据。其他个体输入交互内容的方式包括语音输入、文本输入以及其他可以交互的输入形式。

接下来,在步骤s802中,移动设备201中的多模态交互机器人与云端服务器203通讯,调用多模态交互数据处理接口,完成语义处理过程,使得所述多模态机器人具备完成语义理解能力。

在步骤s803中,利用云端服务器的多模态机器人能力来处理交互请求数据,生成针对交互请求数据的多模态应答数据。应答数据会通过通信端口返回到移动设备的应用的客户端。

最后,在步骤s804中,通过所构建的虚拟机器人的形象以多模态形式输出应答数据。所构建的虚拟机器人会配合面部表情的变化、代表情绪的特定肢体动作以及特定语气、语调的语音输出应答数据。

图9显示了根据本发明进行对话交互的另一流程图。如图所示,在步骤s901中,移动设备向云端服务器发出对话内容。之后,移动设备一直处于等待云端服务器上的多模态机器人的回复。在等待的过程中,移动设备会对返回数据所花费的时间进行计时操作。如果长时间未得到返回的应答数据,比如,超过了预定的时间长度5s,则移动设备会选择进行本地回复,生成本地常用应答数据。然后由虚拟机器人形象的插件输出与本地常用应答配合的动画,并调用语音播放设备进行语音播放。

图10进一步详细地显示了根据本发明的一个实施例在交互个体、移动设备以及云端服务器三方之间进行通信的流程图。

如图所示,在对话交互开始进行之前,由交互个体发出启动应用的指令。比如通过特定的语句开启移动设备上安装的某应用,或者通过触摸、特定的动作开启该应用。这需要移动设备具有硬件的视觉识别能力或触觉感知能力,比如安装有摄像头以及具有触摸屏。当移动设备通过这些硬件接收到启动指令后,运行之前安装过的虚拟机器人插件,构建虚拟机器人动画形象。虚拟机器人动画形象的构建需要采用图形建模算法,本发明可以采用任何现有技术中公开的建模方法进行二维或者三维图像建模。在指定的显示区域中进行将虚拟形象显示出来。这一步的操作在图中的数字标号1中进行完成。

当交互个体看到了虚拟动画形象后,向移动设备通过语音、动作或文本输入对话数据,比如要问的问题“去哪里旅游好呢?”

移动设备在本地对包括语音、动作或文本的对话数据进行转换,形成可以传输到云端的数据形式,然后进行发送。如图中的数字标号2所示。

云端大脑就接收的对话数据进行语义解析,并进行搜索得到相应的应答数据,如图中的数字标号3所示。然后通过通信接口返回到移动设备。

移动设备对返回的应答数据进行处理。主要涉及将这些数据进行不同路径的分发。比如返回的应答数据一部分发送到语音播放设备进行播放,另一部分通过文本显示到显示屏上。另外,这些数据还应该同时发送到插件模块中,由构建好的虚拟机器人形象配合语音的播放进行动作和表情的输出,如图中的数字标号4所示。由于输出的操作需要几个部分共同完成,因此协调控制这些模块的输出显得尤为重要,否则会出现虚拟机器人形象的动画输出与语音播放不同步的现象出现。

因此,在本发明中,设计一套针对性的同步系统,以将语音播放的操作与动画显示操作进行同步。在移动设备输出应答数据时,首先生成同步指令。在同步指令下插件和应用所调用的其他硬件模块如显示设备、语音播放设备进行相应操作。

图11为根据本发明的一个实施例的采用虚拟机器人进行对话交互的文本输入方式的示意图。如图9所示,图中包含移动设备201、虚拟机器人601、文本输入介质901以及云端服务器203。图9表明,根据本发明的一个实施例,在采用虚拟机器人进行交互的方法中,交互对象间的交互不仅可以以语音的方式进行还可以以文本的方式进行。输入介质901一般来说为交互对象的手,交互对象通过键入的方式输入交互的内容,展开交互。输入介质901可以通过软键盘来输入文本信息。软键盘并不是在键盘上的,而是在显示区域2011上,软键盘是通过软件模拟键盘通过输入介质901点击输入字符。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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