一种机器人情绪模型生成方法、情绪模型以及交互方法
技术领域
本发明涉及机器人情绪交互相关技术领域,特别是指一种机器人情绪模型生成方法、情绪模型以及交互方法。
背景技术
情感计算(Affective Computting)的概念是在1997年由MIT媒体实验室Picard教授提出的。情感计算从本质上是一个典型的模式识别问题。智能机器通过多种传感器,获取人的表情、姿态、手势、语音、语调、血压、心率等各种数据,结合当时的环境、语境、情境等上下文信息,识别和理解人的情感。情感计算是一个高度综合化的技术领域,其主要研究内容可以概括为六个方面:1.情感机理的研究;2.情感信号的获取;3.情感信号的分析、建模与识别;4.情感理解和反馈;5.情感表达;6.人机交互的实现。
目前情感计算研究领域主要有一下几个方面:1.人体体征情感分析;2.脸部表情;3.肢体动作;4.语音理解;5.文本情感计算;6.多模态的情感计算。比较典型的是好感度***。好感度***是指机器人对于主人有着可以量化的好感度,主人的行为比如语言会影响机器人对主人的好感度,如主人说:“我好喜欢你啊。”机器人对主人的好感度会增加;主人说:“你怎么这么笨。”机器人对主人的好感度会降低。
随着科技发展,现代的机器人已经可以产生类似或接近人类的多种面部表情,如:高兴、害羞、内疚等。对于仿人外形的机器人来说,表情生成有一定的技术难度,特别是在材料、工艺、机理等方面,所以目前已经实现的主要是微表情,也就是表情动作比较小的表情,也包括说话时的口型匹配。如果让机器人自己去判断当前它所处的场景,分析用户的表现,并相应地决定自己做出什么样的行为和表情才是符合人类常识的,则是非常有挑战性的,是需要智能的,也是具有广泛应用的。
专利CN106293102A公开了一种基于用户心情变化情绪的机器人情感交流方法。该专利公开了的机器人情感交流方法包括了情感的识别、分析和表达模块。它通过识别用户表情、动作、声音和语言来识别用户的情绪,并通过情感计算分析用户的情绪,并根据用户情绪做出相应的反应。其***组成包括摄像头单元、声音传感器单元、心情分析单元和情绪表达单元,机器人通过摄像头单元扫描当前环境,识别出用户目标,并获取用户面部表情及其行为动作;利用声音传感器单元采集识别用户的语言信息;采用心情分析单元对得到关于用户的面部表情信息、行为动作信息和语言信息进行分析,计算出用户当前的心情。也即机器人扫描环境识别当前用户目标,通过采集用户相关表情、行为动作、语言信息,分析用户心情,根据其心情变化,机器人做出相应的反应,机器人能够根据用户心情变化,做出一系列仿人行为增强人机交互的智能性。类似的还有公开号为CN106362260A的VR情绪调节装置以及IBM的情感机器人等等相关应用。但是,目前的情感机器人都是关注用户的情绪,然后根据用户情绪的不同选择不同的回复方式进行情感交互,使得交互完全以用户为绝对的主体,这与人与人的情感交流中双方均是会有各自情绪的实际情况不符,导致使得目前的情感机器人完全是一种安慰型机器人,用户不能获得真实的情感交互体验。
在实现本申请的过程中,发明人发现现有情感机器人至少存在以下缺陷:情感机器人只关注用户的情绪状态而缺乏独立的性格特点,导致完全是根据用户的情感为核心进行交互,最终使得情感交互不够真实,用户体验度不高。
发明内容
有鉴于此,本发明的目的在于提出一种机器人情绪模型生成方法、情绪模型以及交互方法,能够为机器人自身建立相对独立的情绪,进而提高机器人与用户情感交互的真实性和体验度。
基于上述目的本发明提供的一种机器人情绪模型生成方法,包括:
根据机器人控制或交互需求,预先将机器人的情绪设定为几种不同情绪类型,并将设定的情绪作为可观测状态值;
获取能够影响机器人情绪的外部因素,并将外部因素的组合设定为隐藏状态;其中,设定隐藏状态时通过建立外部因素的函数,将外部因素的某种组合设定为正向反馈隐藏状态,将外部因素的另一种组合设定为负向反馈隐藏状态。
通过模拟实验或真人试验,得到预设不同性格类型对应的初始状态概率矩阵和状态转移概率矩阵;
通过获得的初始状态概率矩阵和状态转移概率矩阵并采用前向-后向算法,构建得到不同性格类型对应的情感模型;
通过隐藏状态并采用前向后向算法或最大期望算法,对所述情感模型进行求解,得到所有可观测状态的概率;
选定概率最大的可观测状态对应的情绪类型作为机器人的情绪并输出,使得得到的机器人情绪模型可以根据隐藏状态输出机器人情绪。
可选的,通过MECE分析法对机器人的情绪类型进行分类处理。
可选的,所述机器人的情绪类型包括正面情绪、负面情绪以及中性情绪。
可选的,所述将外部因素的组合设定为隐藏状态的步骤包括:
获取每种外部因素包含的状态类型;
根据外部因素种类以及对应每种外部因素的状态类型,利用随机组合的方式,得到不同外部因素的不同状态类型对应的组合;
将每种组合对应的状态设定为不同的隐藏状态。
可选的,所述通过模拟实验或真人试验,得到预设不同性格类型对应的初始状态概率矩阵和状态转移概率矩阵的步骤还包括:
选取不同用户分别与预设有不同性格类型的机器人进行交互,观测并记录得到每轮交互对应的隐藏状态的各个外部因素的影响系数;
使用机器学习方法将隐藏状态的各个外部因素归入预设好的类别中,并统计计算得到相应的概率;
将计算得到的概率进行数据处理,得到预设不同性格类型对应的初始状态概率矩阵和状态转移概率矩阵。
本申请还公开了一种根据上述任一项方法得到的机器人情绪模型,所述机器人情绪模型为隐马尔科夫模型;
所述机器人情绪模型包括:初始状态概率矩阵、隐藏状态、可观测状态、状态转移概率矩阵和发射概率矩阵;
其中,所述初始状态概率矩阵为初始处于每组外部因素的概率所组成的矩阵;所述可观测状态为机器人的情绪;发射概率为当前机器人交互模式下,表现相应情绪的概率;所述隐藏状态为能够影响机器人情绪的外部因素的组合;所述状态转移概率矩阵为从一种隐藏状态转移到另一种隐藏状态的概率组成的矩阵。
本申请还公开了一种利用上述机器人情绪模型的交互方法,所述交互方法包括:
获取用户发出的交互信息;
对所述交互信息进行识别,得到用户当前的情绪;
获取能够影响机器人情绪的外部因素,并且将获取的外部因素与用户情绪作为隐藏状态输入到预先构建的机器人情绪模型中;
通过机器人情绪模型计算得到当前机器人的情绪;
根据当前机器人情绪,获取机器人情绪对应的回复信息并回复给用户。
可选的,所述交互信息包括语音信息、肢体信息、文本信息;所述回复信息包括语音信息、肢体信息、文本信息。
可选的,所述获取机器人情绪对应的回复信息的步骤还包括:
预先针对机器人情绪和与用户交互的回复信息建立一个对应关系列表或者生成算法;
在机器人情绪模型计算得到机器人情绪后,通过检索对应关系列表或者代入生成算法,得到机器人情绪对应的回复信息。
从上面所述可以看出,本发明提供的机器人情绪模型生成方法、情绪模型以及交互方法,首先通过将能够影响机器人情绪的外部因子相互组合得到隐藏状态,并且预先对机器人的情绪设定不同的情绪类型,然后通过模拟实验可以得到不同初始状态的概率矩阵以及状态之间转移的概率矩阵,再次根据这些概率矩阵通过前向-后向算法能够构建得到隐马尔科夫模型,也即得到一个通过隐藏状态能够相应计算可观测状态的一个情感模型,最后本申请通过选定概率最大的可观测状态对应的情绪类型设定为机器人的情绪。这样,机器人通过以隐马尔科夫模型为基础,通过后续筛选计算能够得到最可能符合相关因素的机器人情绪。也即,本申请方法使得机器人具有相对独立的情绪性格,而不是完全依附于用户的情绪状态,最终能够提高机器人与用户情感交互的真实性和用户进行情感交互的体验度。
附图说明
图1为本发明提供的机器人情绪模型生成方法的一个实施例的流程图;
图2为本发明提供的机器人情绪模型生成方法的另一个实施例的流程图;
图3为本发明提供的机器人情绪模型的一个实施例的结构原理图;
图4为本发明提供的交互方法的一个实施例的流程图;
图5为本发明提供的交互方法另一个实施例对应的原理示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
当前使得机器人具有情绪仍然是最大的难题之一,机器人情绪往往依靠规则和游戏化的积分***,距离真正使得机器人具有自发的情绪生成和情绪变化还有一定的距离,以现有的一种计算机器人心情的方法为例:机器人情绪值=今天天气值+用户交互频率值+用户给予正向激励值(如送礼物,喂食和换装)-用户给予负向激励值(如辱骂、不理睬和断电)。这种技术的缺点是还停留在游戏智能时代,机器人并不具有真正的智能和自主的情绪,也不能感知环境和用户的意图,对于与人更好的交互没有帮助。本申请基于这种缺陷,搭建了机器人性格情绪的模型,这个模型从逻辑上、心理学上和仿生学方面,都有相当的实用价值;本申请还创新地使用经典的机器学习算法应用到机器人性格情绪模型的构建中;最后将情绪模型与机器人聊天***无缝结合在一起,提供了性格情绪模型的落地方案。
参照图1所示,为本发明提供的机器人情绪模型生成方法的一个实施例的流程图。所述机器人情绪模型生成方法包括:
步骤101,根据机器人控制或交互需求,预先将机器人的情绪设定为几种不同情绪类型,并将设定的情绪作为可观测状态值;其中,基于本申请需要构建的机器人情绪模型为以隐马尔科夫模型为核心,所以需要一个表征机器人最终情感表现的参数作为可观测状态值,而一般使用情绪来表示情感状态,因此需要预先设定机器人所具有的情绪类型。
可选的,步骤101中通过MECE(Mutually Exclusive Collectively Exhaustive)分析法对机器人的情绪类型进行分类处理。使得分类设定的机器人情绪尽量做到相互独立,完全穷尽。
可选的,所述机器人的情绪类型包括正面情绪、负面情绪以及中性情绪。这里的正面情绪通常是指积极良好的情绪状态,例如高兴;而负面则是消极情绪,例如:悲伤、难过等等;中性情绪这是代表两者之间的状态,例如平和、平静等等。
步骤102,获取能够影响机器人情绪的外部因素,并将外部因素的组合设定为隐藏状态;其中,设定隐藏状态时通过建立外部因素的函数,将外部因素的某种组合设定为正向反馈隐藏状态,将外部因素的另一种组合设定为负向反馈隐藏状态。这里的外部因素一般参照对人情绪的影响区选取,尤其是普遍对人有影响的相关因素;所述外部因素包括:天气、交互频率、正向语言和负向语言等等。
步骤103,通过模拟实验或真人试验,得到预设不同性格类型对应的初始状态概率矩阵和状态转移概率矩阵;其中,除了外在表现的情绪直接影响情感交互以外,交互对象自身的性格特点也会对情感的表达造成一定的影响。因此,本申请针对机器人预先设定不同的性格类型,然后分别去获取这一性格类型下的初始状态概率矩阵和状态转移概率矩阵。所述初始状态概率矩阵是指处于每种初始状态所处概率组成的矩阵或者向量。所述状态转移概率矩阵是指由一种状态转移到另一种状态的概率组成的矩阵。
可选的,所述性格类型为性格随和的以及性格不随和的。
可选的,所述通过模拟实验或真人试验,得到预设不同性格类型对应的初始状态概率矩阵和状态转移概率矩阵的步骤103还包括:
选取不同用户分别与预设有不同性格类型的机器人进行交互,观测并记录得到每轮交互对应的隐藏状态的各个外部因素的影响系数;也即在不同的外部因素下观测各自不同的交互表现,进而可以推导或者计算不同外部因素的表现或者说影响交互的程度。
使用机器学习方法将隐藏状态的各个外部因素归入预设好的类别中,并统计计算得到相应的概率;
将计算得到的概率进行数据处理,得到预设不同性格类型对应的初始状态概率矩阵和状态转移概率矩阵。
这样,通过获取得到每个状态以及状态转移的概率可以相应计算得到最终机器人情感表现的概率。进而构建相应的情绪模型。
步骤104,通过获得的初始状态概率矩阵和状态转移概率矩阵并采用前向-后向算法,构建得到不同性格类型对应的情感模型,如图3所示;
步骤105,通过隐藏状态并采用前向后向算法或最大期望算法(EM,ExpectationMaximization Algorithm),对所述隐马尔科夫模型进行求解,得到所有可观测状态的概率;也即通过前向后向算法或EM算法可以得到表现相应情绪的概率。
在本申请一些可选的实施例中,所述EM算法相应的执行伪代码如下:
步骤106,选定概率最大的可观测状态对应的情绪类型作为机器人的情绪并输出。也即使得生成的机器人情绪模型通过隐藏状态输出机器人的情绪。
由上述实施例可知,本申请所述机器人情绪模型生成方法,首先通过将能够影响机器人情绪的外部因子相互组合得到隐藏状态,并且预先对机器人的情绪设定不同的情绪类型,然后通过模拟实验可以得到不同初始状态的概率矩阵以及状态之间转移的概率矩阵,再次根据这些概率矩阵通过前向-后向算法能够构建得到隐马尔科夫模型,也即得到一个通过隐藏状态能够相应计算可观测状态的一个情感模型,最后本申请通过选定概率最大的可观测状态对应的情绪类型设定为机器人的情绪。这样,机器人通过以隐马尔科夫模型为基础,通过后续筛选计算能够得到最可能符合相关因素的机器人情绪。也即,本申请方法使得机器人具有相对独立的情绪性格,而不是完全依附于用户的情绪状态,最终能够提高机器人与用户情感交互的真实性和用户进行情感交互的体验度。
参照图2所示,为本发明提供的机器人情绪模型生成方法的另一个实施例的流程图。由图可知,图1中的步骤101和步骤102并没有明显的先后顺序,只是都是构建机器人情绪模型的前序步骤。且本申请得到的机器人情绪模型是以HMM模型为基础构建得到的,输入参数为影响隐藏状态的各子状态参数,而输出则为机器最有可能表现出来的情绪。
参照图3所示,为本发明提供的机器人情绪模型的一个实施例的结构原理图。所述机器人情绪模型以隐马尔科夫模型为基础;所述机器人情绪模型包括:初始状态概率矩阵、隐藏状态、可观测状态、状态转移概率矩阵和发射概率矩阵;其中,所述初始状态概率矩阵为初始处于每组外部因素的概率所组成的矩阵,例如:图中A1和A2表示初始状态概率;所述可观测状态为机器人的情绪,例如图中的高兴、平和、悲伤;发射概率为当前机器人交互模式下,表现相应情绪的概率,例如图中C1-C6;所述隐藏状态为能够影响机器人情绪的外部因素的组合;所述状态转移概率矩阵为从一种隐藏状态转移到另一种隐藏状态的概率组成的矩阵,例如:图中B1-B4表示状态转移概率。
参照图4所示,为本发明提供的交互方法的一个实施例的流程图;图5为本发明提供的交互方法另一个实施例对应的原理示意图。所述利用机器人情绪模型进行的交互方法,包括:
步骤201,获取用户发出的交互信息;当用户需要与机器人进行交互时通常会发出相应的交互信息,例如:语音信息、肢体信息、文本信息;其中图5显示的是用户发出语音信息,然后机器人中的语音识别模块将语音解析成文字信息进行后续处理。
步骤202,对所述交互信息进行识别,得到用户当前的情绪;通过对识别后的交互信息进行处理,例如进行关键词检索等可以相应得到交互信息对应的用户情绪状态。而用户情绪也是作为影响机器人情绪的一种重要的外部环境因素,因此需要识别分析处理。
步骤203,获取能够影响机器人情绪的外部因素,并且将获取的外部因素与用户情绪作为隐藏状态输入到预先构建的机器人情绪模型中;在识别出用户情绪的情况下,进一步获取其他外部因素,进而得到机器人的隐藏状态,最后输入预先构建的机器人情绪模型可以得到机器人最可能表现的情绪。
步骤204,通过机器人情绪模型计算得到当前机器人的情绪;
步骤205,根据当前机器人情绪,获取机器人情绪对应的回复信息并回复给用户。针对不同的机器人情绪相应的设置有不同的回复信息,使得机器人基于自身的情绪去与用户实现情感的交互。当机器人与用户为语音交互时,需要将相应的回复信息转化成语音信息并输出给用户听。
在一些可选的实施例中,当用户向机器人发问:“你喜欢吃什么?”机器人将会通过情绪模型计算相应的情绪并且相应获取回复信息;若设定机器人性格为随和,则机器人的回复信息为:“你喜欢吃什么?也许咱们有一样的食物爱好呢!”若设定机器人的性格为不随和,则机器人的回复信息为:“我喜欢吃什么跟你有什么关系呀!”
在本申请一些可选的实施例中,所述获取机器人情绪对应的回复信息的步骤还包括:预先针对机器人情绪和与用户交互的回复信息建立一个对应关系列表或者生成算法;在机器人情绪模型计算得到机器人情绪后,通过检索对应关系列表或者代入生成算法,得到机器人情绪对应的回复信息。这样,通过已知机器人情绪能够快速得到相应需要反馈给用户的回复信息。
由上述实施例可知,本申请提出的为机器人建立情绪模型的技术方案至少包括以下优点:(1)带有情绪的交互式对话会增加用户和机器人之间的信任;信任,一直以来被认为是人类与机器人合作中一个很大的障碍。英国伦敦大学学院在一项研究中,让一台机器人作为家政助手来帮助志愿者完成一些简单家务。研究人员发现,与高效且完美的机器人相比,志愿者更愿意与这个干活慢半拍且拥有并不完美的有表情的机器人合作,这其中的原因自与机器人可以表现歉意、后悔等人类表情有关。因为机器人的“情绪”表达可以降低人们对它们工作中失误的不满,从而加深两者间的信任。(2)能够更好的感知人的情绪和意图,带来更好的交互体验和更宽广的应用潜力。(3)使得机器人具有自发的情绪生成和情绪变化,而不是仅仅由特定事件或积分触发情绪。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。