一种机器人情感表达系统和方法与流程

文档序号:28755443发布日期:2022-02-08 02:21阅读:82来源:国知局
一种机器人情感表达系统和方法与流程

1.本技术涉及人工智能技术领域,具体而言,涉及一种机器人情感表达系统和方法。


背景技术:

2.棋类娱乐在国内拥有庞大的用户基数,尤其流行于老年人群体中。然而更新前社会老年人往往缺乏陪伴,找到一个合适的棋友并不容易。另外,大多数老年人在使用手机、平板等电子产品方面存在障碍,不会使用象棋软件下棋;电子屏幕太小看不清楚,也容易视觉疲劳。
3.随着人工智能和机器人技术的发展,下棋机器人应运而生。下棋机器人使用实体棋盘棋子,降低了老年人的学习成本,然而,现在市面上的下棋机器人只能简单的机械地执行下棋操作,不能在下棋过程中根据局势表达相应的情感。


技术实现要素:

4.本技术实施例的目的在于提供一种机器人情感表达系统和方法,用于解决如何实现机器人在传统对弈中模拟人类在游戏对弈根据局势表达相应的情感。
5.本技术实施例提供了一种机器人情感表达系统,包括:刺激接收模块、情感更新模块以及动作表达模块;刺激接收模块用于接收刺激,并向情感更新模块传递接收到的刺激;其中刺激由刺激参数来确定,刺激参数包括:第一情绪类别值、刺激强度值、和第一情绪衰减系数;情感更新模块用于根据接收到的刺激更新当前情感参数为更新后的情感参数,其中,情感参数包括用于模拟情绪的情绪参数、和/或用于模拟心境的心境参数,情绪参数包括:第二情绪类别值、情绪强度值、第二情绪衰减系数,心境参数包括:心境值;动作表达模块用于根据更新后的情感参数查询对应的动作表达,并对动作表达进行展现。通过上述的系统,机器人可以模拟人类在游戏对弈中的真情实感。具体的,刺激参数用于模拟人类在下棋过程中,根据棋盘局势的状况而产生的心理性刺激;情感更新模块用于模拟人类的情绪和心境根据刺激或者随着时间而变化;动作表达模块用于模拟人类对情感的表达,通过上述多个模块的配合,可实现在下棋的过程中,机器人根据局势表达相应的情感,从而提高了人机对弈时,人类方的交互感。
6.可选地,在本技术实施例中,刺激接收模块还用于在预设时间间隔获取当前棋盘局面,并确认当前棋盘局面在数据库中是否存在已有的棋盘局面与当前棋盘局面相同、以及已有的棋盘局面对应的刺激参数;若存在,则获取对应的刺激参数,并向情感更新模块传递对应的刺激参数。通过刺激接收模块可以将棋盘局面量化为对应的刺激参数,进而可以实现针对不同的棋盘局面机器人可以根据不同的刺激参数模拟不同的情感。在本实施例中,数据库中存储有常见的棋盘局面以及对应的评分,这样在具体实现过程中,对于已有的棋盘局面不再需要计算评分,能提高获取评分的效率进而也可以更快的获取刺激参数。
7.可选地,在本技术实施例中,若当前棋盘局面在数据库中没有已有的棋盘局面与当前棋盘局面相同,则刺激接收模块还用于通过博弈算法计算当前棋盘局面的评分值,并
在数据库中查询评分值对应的刺激参数,并向情感更新模块传递对应的刺激参数。在上述实现过程中,当在数据库中没有存储有与当前棋盘局面相同的局面,则通过博弈算法计算当前局面的评分值,进而量化棋盘局面,增加了局面量化方式的灵活性。进一步地,机器人可以根据更多的棋盘局面或者相应的刺激,再通过机器人后续对刺激的响应,从而提高了人机对弈时,人类方对交互感观的真实性。
8.可选地,在本技术实施例中,情感更新模块还用于在预设时间间隔判断是否有接收到的刺激,判断接收到的刺激是否可以忽略;若有接收到的刺激且接收到的刺激无法忽略,则根据接收到的刺激更新当前情感参数为更新后的情感参数;其中,判断接收到的刺激是否可以忽略,包括:根据算式:判断接收到的刺激是否可以忽略;若y》0,则接收到的刺激不能忽略,若y≤0,则接收到的刺激可以忽略;其中,ai(t)为刺激强度,为刺激的情绪类别值,是心境对情绪的影响因子,m(t-1)为当前心境值;ei(t-1)为当前情绪强度值。在上述实现过程中,对刺激的类型进一步细分为可以忽略的刺激和不能忽略的刺激,模拟了真实世界中,刺激对人类的作用的方式(因为在真实世界中,人类也不是对于任何刺激会有响应的反应),提高了机器人情感模拟的真实性。
9.可选地,在本技术实施例中,情感更新模块根据接收到的刺激更新当前情感参数为更新后的情感参数之前,还用于判断刺激强度值和当前心境值之和是否大于当前情绪强度值,若刺激强度值和当前心境值之和大于当前情绪强度值,则根据算式更新情绪参数;若刺激强度值和当前心境值之和不大于当前情绪强度值,则根据算式:更新情绪参数;其中,是更新后的情绪强度值,e
di
(t)是第二情绪衰减系数,di(t)是第一情绪衰减系数,h1为预设的最低情绪强度阈值,t
i0
为刺激发生的时间。在上述实现过程中,当刺激不能忽略时对情绪的更新再次细分为刺激强度值和当前心境值之和大于当前情绪强度值的条件下和刺激强度值和当前心境值之和不大于当前情绪强度值的条件下的两种不同的更新方式,提高了机器人情感模拟的真实性。
10.可选地,在本技术实施例中,若没有接收到刺激或者接收到的刺激可以忽略,则情感更新模块还用于根据情绪衰减系数(k)以及算式μ(t)=μ0exp(-k(t-t0))更新情感参数中的情绪强度值,其中,μ(t)为更新后的情绪强度值,μ0为上一次接收到刺激或者接收到的刺激不能忽略时更新后情绪强度值,t为更新的时间,t0为上一次接收到刺激或者接收到不能忽略的刺激的时间。在上述实现过程中,当没有接收到刺激或者接收到的刺激可以忽略的条件下,情绪会随着时间而衰减,模拟了人类的情绪会随着时间的推移而逐渐恢复平静,提高了机器人对情绪模拟真实性。
11.可选地,在本技术实施例中,情感更新模块,具体用于,若接收到刺激,根据刺激的刺激强度值计算心境值变化量(δm),并根据心境值变化量更新心境值,其中,心境值变化量根据算式:δm=e
ci
*ke*ai(t),进行计算;其中,ai(t)为刺激强度值,ke为刺激对心境的影
响因子,e
ci
为刺激的情绪类别值;心境值根据算式:m(t)=m(t-1)+δm,进行更新;其中,m(t)为更新后的心境值,m(t-1)为当前的心境值。上述实现过程量化刺激对与心境的影响,提高了机器人对情绪模拟真实性。
12.可选地,在本技术实施例中,动作表达模块具体用于,根据更新后的情感参数中的情绪强度值是否处于预设的阈值区间,若处于预设的阈值区间,则根据更新后的心境值查询对应的动作表达,并对该动作表达进行展现。
13.可选地,在本技术实施例中,若情绪强度值没有处于预设的阈值区间,则根据更新后的情绪类别值、情绪强度值查询对应的动作表达,并对该动作表达进行展现。
14.本技术实施例还提供了一种机器人情感表达方法,包括:接收刺激,并传递接收到的刺激;其中刺激由刺激参数来确定,刺激参数包括:情绪类别值、刺激强度值、和情绪衰减系数;根据接收到的刺激更新当前情感参数为更新后的情感参数,其中,情感参数包括用于模拟情绪的情绪参数、和/或用于模拟心境的心境参数,情绪参数包括:情绪类别值、情绪强度值、情绪衰减系数,心境参数包括:心境值;根据更新后的情感参数查询对应的动作表达,并对动作表达进行展现。通过上述的方法,可以实现对人类在游戏对弈中的真情实感的模拟。具体的,刺激参数用于模拟人类在下棋过程中,根据棋盘局势的状况而产生的心理性刺激;情感更新模块用于模拟人类的情绪和心境根据刺激或者随着时间而变化;动作表达模块用于模拟人类对情感的表达,通过上述多个模块的配合,可实现在下棋的过程中,机器人根据局势表达相应的情感,从而提高了人机对弈时,人类方的交互感。
15.可选地,在本技术实施例中,接收刺激,并传递接收到的刺激,包括:在预设时间间隔获取当前棋盘局面,并确认当前棋盘局面在数据库中是否存在已有的棋盘局面与当前棋盘局面相同、以及已有的棋盘局面对应的刺激参数;若存在,则获取对应的刺激参数,并向情感更新模块传递对应的刺激参数。
16.可选地,在本技术实施例中,接收刺激,并传递接收到的刺激,还包括:若当前棋盘局面在数据库中没有已有的棋盘局面与当前棋盘局面相同,则通过博弈算法计算当前棋盘局面的评分值,并在数据库中查询评分值对应的刺激参数,并向情感更新模块传递对应的刺激参数。
17.可选地,在本技术实施例中,根据接收到的刺激更新当前情感参数为更新后的情感参数,包括:在预设时间间隔判断是否有接收到的刺激,判断接收到的刺激是否可以忽略;若有接收到的刺激且接收到的刺激无法忽略,则根据接收到的刺激更新当前情感参数为更新后的情感参数;其中,判断接收到的刺激是否可以忽略,包括:根据算式:为更新后的情感参数;其中,判断接收到的刺激是否可以忽略,包括:根据算式:判断接收到的刺激是否可以忽略;若y》0,则接收到的刺激不能忽略,若y≤0,则接收到的刺激可以忽略;其中,ai(t)为刺激强度,为刺激的情绪类别值,是心境对情绪的影响因子,m(t-1)为当前心境值;ei(t-1)为当前情绪强度值。
18.可选地,在本技术实施例中,若有接收到的刺激且接收到的刺激无法忽略,则根据接收到的刺激更新当前情感参数为更新后的情感参数,包括:判断刺激强度值和当前心境值之和是否大于当前情绪强度值,若刺激强度值和当前心境值之和大于当前情绪强度值,
则根据算式更新情绪参数;若刺激强度值和当前心境值之和不大于当前情绪强度值,则根据算式:更新情绪参数;其中,是更新后的情绪强度值,e
di
(t)是第二情绪衰减系数,di(t)是第一情绪衰减系数,h1为预设的最低情绪强度阈值,t
i0
为刺激发生的时间。
19.可选地,在本技术实施例中,根据接收到的刺激更新当前情感参数为更新后的情感参数,还包括:若没有接收到刺激或者接收到的刺激可以忽略,则根据情绪衰减系数(k)以及算式μ(t)=μ0exp(-k(t-t0))更新情感参数中的情绪强度值,其中,μ(t)为更新后的情绪强度值,μ0为上一次接收到刺激或者接收到的刺激不能忽略时更新后情绪强度值,t为更新的时间,t0为上一次接收到刺激或者接收到不能忽略的刺激的时间。
20.可选地,在本技术实施例中,根据接收到的刺激更新当前情感参数为更新后的情感参数,还包括:若接收到刺激,根据刺激的刺激强度值计算心境值变化量(δm),并根据心境值变化量更新心境值,其中,心境值变化量根据算式:δm=e
ci
*ke*ai(t),进行计算;其中,ai(t)为刺激强度值,ke为刺激对心境的影响因子,e
ci
为刺激的情绪类别值;心境值根据算式:m(t)=m(t-1)+δm,进行更新;其中,m(t)为更新后的心境值,m(t-1)为当前的心境值。
21.可选地,在本技术实施例中,根据更新后的情感参数查询对应的动作表达,并对动作表达进行展现,包括:判断更新后的情感参数中的情绪强度值是否处于预设的阈值区间,若处于预设的阈值区间,则根据更新后的心境值查询对应的动作表达,并对该动作表达进行展现。
22.可选地,在本技术实施例中,若情绪强度值没有处于预设的阈值区间,则根据更新后的情绪类别值、情绪强度值查询对应的动作表达,并对该动作表达进行展现。
23.本技术实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
24.本技术实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
25.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
26.图1示出的本技术实施例提供的一种机器人情感表达系统的装置结构示意图;
27.图2示出的本技术实施例提供的一种机器人情感表达方法的流程示意图;
28.图3示出的本技术实施例提供的电子设备的结构示意图。
具体实施方式
29.在介绍本技术实施例提供的机器人情感表达系统和方法之前,先介绍该机器人情感表达系统和方法适用的应用场景,这里的应用场景为:在棋类游戏对弈中,使用机器人作为游戏中一方或者对方进行游戏。在上述具体应用场景中,由于目前的机器人没有情感表达系统,因此只能执行下棋操作,而无法对人类的情感进行模拟,使得整个下棋的过程十分枯燥,就算最终人类方获得胜利或失败也难以获得相应的快感。因此,本技术提供了一种机器人情感表达系统以量化棋盘局面,进而根据具体的局面模拟人类在对弈中的情感,以提高用户在棋类游戏中的体验感。
30.以下将对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
31.情绪:在本技术中,将情绪分为了11种情绪,包括:anger(愤怒)、disgust(厌恶)、fear(恐惧)、happiness(快乐)、sadness(悲伤)、surprise(惊讶)、contempt(轻蔑)、pride(得意)、excitement(兴奋)、curious(好奇)、hesitate(犹豫)。其中,每种情绪包括了情绪强度和情绪类别两种属性,其中情绪类别包括了三种类别,分别为:积极情绪、消极情绪和中立情绪,积极情绪包括:快乐、得意、兴奋;消极情绪包括:愤怒、厌恶、恐惧、悲伤、轻蔑;中立情绪包括:惊讶、好奇、犹豫。情绪的强度分为了没感觉(unaware)、轻微(mild)、中等(moderate)、强烈(intense),其中,每种强度对应了一个阈值区间。另外,情绪强度还会因为出现与当前情绪对立刺激或者随着时间而衰减,对此本技术中还对应的引入了加速情绪衰减系数ka和情绪衰减系数k。
32.心境:代表一种微弱、平静而持久的带有渲染性的情绪状态,与情绪相比,其持续时间稍长、强度较低、较为柔。心境同样有程度等级的区分,在本技术中,通过心境值的大小表征不同的心境。另外,心境还会因为时间而衰减,对此本技术中还对应的引入了心境衰减系数k1。
33.情绪衰减:情绪会随着时间的推移而自然衰减,在本技术中通过情绪衰减系数表征情绪随着时间的变化,并且本技术中针对上述11种情绪分别设置了不同的情绪衰减系数。
34.结合上述真实世界中人类所具有的情绪、心境以及情绪衰减,本技术中利用刺激接收模块、情感更新模块用于模拟人类的情绪和心境根据刺激或者随着时间而变化,通过上述多个模块的配合,可实现在下棋的过程中,根据具体的局势模拟机器人应当表达出的情感,从而提高了人机对弈时,人类方的交互感。
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述。
36.请参见图1,图1示出的本技术实施例提供的一种机器人情感表达系统400的结构示意图;该系统包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,os)中的软件功能模块。该机器人情感表达系统包括:刺激接收模块100、情感更新模块200以及动作表达模块300。
37.刺激接收模块100,用于接收刺激,并向情感更新模块传递接收到的刺激;其中刺激由刺激参数来确定,刺激参数包括:第一情绪类别值、刺激强度值、和第一情绪衰减系数;
38.需要说明的是,在具体实施例中,积极情绪包括快乐、得意、兴奋,积极对应的情绪
类别值为1,消极情绪包括愤怒、厌恶、恐惧、悲伤、轻蔑,消极情绪对应的情绪类别值为-1;中立情绪包括惊讶、好奇、犹豫,中立情绪对应的类别值为0。可以理解的是,上述情绪种类和情绪种类的类别的数量本领域技术人员可以根据实际情况修改、增加或减少。刺激强度值取值为[0,1],刺激强度值的大小表现了刺激的强度大小;情绪衰减系数代表了时间对情绪的影响。
[0039]
情感更新模块200,用于根据接收到的刺激更新当前情感参数为更新后的情感参数,其中,情感参数包括用于模拟情绪的情绪参数、和/或用于模拟心境的心境参数,情绪参数包括:第二情绪类别值、情绪强度值、第二情绪衰减系数,心境参数包括:心境值;
[0040]
需要说明的是,在具体实施过程中,第二情绪类别值的类别和对应的值的设置与上述刺激接收模块100中的设置相同,在此不再赘述。心境值的取值范围为[-1,1]。
[0041]
动作表达模块300,用于根据更新后的情感参数查询对应的动作表达,并对动作表达进行展现。
[0042]
上述动作表达模块300可以根据情感参数对情感进行表达和动作展现,具体的表达方式包括:通过语音、动画、动作等等可以表现情感的方式展示情感。具体例如,若表达的情绪为惊讶,情绪强度为1,则对应的表达可以是,“呀”的语音,眼睛变大的动画,以及用手捂嘴的动作。若表达的情绪为悲伤,情绪强度为1,则对应的表达可以是,哭泣声的语音,流泪的动画,以及低头的动作。通过上述的系统,机器人可以模拟人类在游戏对弈中的真情实感。
[0043]
在上述实施例的基础上,刺激接收模块还用于在预设时间间隔获取当前棋盘局面,并确认当前棋盘局面在数据库中是否存在已有的棋盘局面与当前棋盘局面相同、以及已有的棋盘局面对应的刺激参数;若存在,则获取对应的刺激参数,并向情感更新模块传递对应的刺激参数。
[0044]
若当前棋盘局面在数据库中没有已有的棋盘局面与当前棋盘局面相同,则刺激接收模块还用于通过博弈算法计算当前棋盘局面的评分值,并在数据库中查询评分值对应的刺激参数,并向情感更新模块传递对应的刺激参数。
[0045]
需要说明的是,刺激接收模块在预设时间间隔获取当前棋盘局面并根据当前棋盘局面确定刺激参数,可以实时更新机器人的情绪。
[0046]
获取当前局面对应的刺激参数包括两种方式:
[0047]
第一种方式,首先,刺激接收模块获取当前棋盘局面,并确认当前棋盘局面在数据库中是否存在已有的棋盘局面与当前棋盘局面相同,若存在已有的棋盘局面与当前棋盘局面相同则在数据库中获取已有的棋盘局面对应的评分值,再根据评分值获取对应的刺激参数;优选地,对于已有的棋盘局面可以不存储对应的评分值,而是直接存储对应的刺激参数,这样可以直接根据已有的棋盘局面获取对应的刺激参数。若前棋盘局面在数据库中不存在已有的棋盘局面与当前棋盘局面相同,则根据博弈算法计算当前棋盘局面的评分值,并根据该评分值获取对应的刺激参数。博弈算法可以是:极大极小值算法、负极大值算法、α-β剪枝算法,以及提高搜索效率的其他辅助算法:历史表、迭代加深、静态搜索、zobrist哈希、置换表等等,上述算法同时作用、相互配合共同计算当前棋盘局面的评分值。
[0048]
第二种方式,当前棋盘局面的评分值还可以通过棋子的价值得到。具体的,将当前棋盘下的所有棋子值相加减去对方当前棋盘的棋子值的和,得到对应的评分值。其中,棋子
的价值通过两种方式确定:第一种方式,给每一种棋子设置固定的值,以象棋为例,具体例如设置“车”为200,“炮”为100等等。第二种方式,根据公开引擎的子力价值表获取对应的棋子的价值。
[0049]
为了便于理解,下面举例说明如何根据第一种方式获取刺激参数。刺激接收模块获取通过图片采集装置当前的棋盘局面,然后将当前局面和数据库中以存的棋盘局面进行对比,通过对比找到数据库中存在已有棋盘局面与当前局面相同,则查找对应的刺激参数,(例如,在一个优选的实施例中,第一情绪类别值可以为1、刺激强度值可以为0.5、和第一情绪衰减系数可以为0.8),再向情感更新模块传递对应的刺激参数。通过刺激接收模块可以将棋盘局面量化为对应的刺激参数,进而可以实现针对不同的棋盘局面机器人可以根据不同的刺激参数模拟不同的情感。
[0050]
在上述实施例的基础上,情感更新模块还用于在预设时间间隔判断是否有接收到的刺激,判断接收到的刺激是否可以忽略;若有接收到的刺激且接收到的刺激无法忽略,则根据接收到的刺激更新当前情感参数为更新后的情感参数;其中,判断接收到的刺激是否可以忽略,包括:根据算式:判断接收到的刺激是否可以忽略;若y》0,则接收到的刺激不能忽略,若y≤0,则接收到的刺激可以忽略;其中,ai(t)为刺激强度,为刺激的情绪类别值,是心境对情绪的影响因子,m(t-1)为当前心境值;ei(t-1)为当前情绪强度值。在上述实现过程中,对刺激的类型进一步细分为可以忽略的刺激和不能忽略的刺激,模拟了真实刺激对人类的作用,增加了机器人情感模拟的真实性。
[0051]
情感更新模块根据接收到的刺激更新当前情感参数为更新后的情感参数之前,还用于判断刺激强度值和当前心境值之和是否大于当前情绪强度值,若刺激强度值和当前心境值之和大于当前情绪强度值,则根据算式更新情绪参数;若刺激强度值和当前心境值之和不大于当前情绪强度值,则根据算式:更新情绪参数;其中,是更新后的情绪强度值,e
di
(t)是第二情绪衰减系数,di(t)是第一情绪衰减系数,h1为预设的最低情绪强度阈值,t
i0
为刺激发生的时间。
[0052]
需要说明的是,上述判断刺激强度值和当前心境值之和是否大于当前情绪强度值,根据算式:x=ai(t)+e
cikmi
m(t-1)和z=ei(t-1)判断,其中,x为刺激强度值和当前心境值之和,z为当前情绪强度值。另外,上述参数中右下标字母“i”取值为[1,11]中的整数,当i取不同的数值时分别对应于愤怒、厌恶、恐惧、快乐、悲伤、惊讶、轻蔑、得意、兴奋、好奇、犹豫这11种情绪,可以理解的,e
di
(t),di(t)中,当“i”有不同的取值时,分别对应不用情绪下的第二情绪衰减系数、情绪强度值、第一情绪衰减系数。具体例如,若i为1代表愤怒,则e
d1
(t),d1(t)、分别为愤怒对应的第二情绪衰减系数、愤怒对应的情绪强度值、愤怒对应的第一情绪衰减系数以及心境对愤怒的影响因子。
[0053]
此外,在本技术的实施例中,根据对于11种情绪中每一种情绪强度值大小分为了四个不同程度,包括:没有感觉(unaware)、轻微(mild)、中等(moderate)、和强烈(intense),对于四个不同程度划分为不同阈值区间分别对应不同的类别的动作表达,具体的区间划分如算式:上述若刺激强度值和当前心境值之和不大于当前情绪强度值的情绪更新算式中h
i1
即为没有感觉区间的阈值。
[0054]
在上述实施例的基础上,若没有接收到刺激或者接收到的刺激可以忽略,则情感更新模块还用于根据情绪衰减系数(k)以及算式μ(t)=μ0exp(-k(t-t0))更新情感参数中的情绪强度值,其中,μ(t)为更新后的情绪强度值,μ0为上一次接收到刺激或者接收到的刺激不能忽略时更新后情绪强度值,t为更新的时间,t0为上一次接收到刺激或者接收到不能忽略的刺激的时间。
[0055]
可以理解的是,当没有刺激输入或者数据的刺激对情绪的影响可以忽略的条件下,情绪会随着时间而自然衰减,上述算式μ(t)=μ0exp(-k(t-t0))模拟了人类情绪随着时间衰减的过程。具体的,在t0时,机器人接受了刺激,且该刺激对情绪的影响是无法忽略的,在t0后没有接收到刺激或者接收到的刺激可以忽略,则认为情绪强度与时间满足算式μ(t)=μ0exp(-k(t-t0)),其中,t为当前时间,μ(t)为更新后的情绪强度值,μ0为t0接收了刺激更新后情绪强度值。
[0056]
在上述实施例的基础上,情感更新模块,具体用于,若接收到刺激,根据刺激的刺激强度值计算心境值变化量(δm),并根据心境值变化量更新心境值,其中,心境值变化量根据算式:δm=e
ci
*ke*ai(t),进行计算;其中,ai(t)为刺激强度值,ke为刺激对心境的影响因子,e
ci
为刺激的情绪类别值;心境值根据算式:m(t)=m(t-1)+δm,进行更新;其中,m(t)为更新后的心境值,m(t-1)为当前的心境值。上述实现过程量化了刺激对与心境的影响,提高了机器人对情绪模拟真实性。
[0057]
需要说明的是,在本技术实施例中,心境的取值范围为[-1,1]将根据心境值将心境分为了三种不同的类别,包括:积极(positive)、中立(neutral)和消极(negative),对于每个三种不同的类别划分为不同阈值区间分别对应不同类别的动作表达,具体的区间划分如算式:
[0058]
另外,在本技术实时例中,不同类别的心境根据心境值划分为了不同的等级,包括:轻微(mild)、中等(moderate)和强烈(intense),针对不同的等级的有不同的动作表达,具体的区间划分如算式:
[0059]
在上述实施例的基础上,动作表达模块具体用于,根据更新后的情感参数中的情
绪强度值是否处于预设的阈值区间,若处于预设的阈值区间,则根据更新后的心境值查询对应的动作表达,并对该动作表达进行展现。
[0060]
若情绪强度值没有处于预设的阈值区间,则查询更新后的情绪类别值、情绪强度值对应的动作表达,并对该动作表达进行展现。
[0061]
需要说明的是,当有情绪时,上述动作表达模块优先根据情绪的类别值和情绪强度值对情绪表达。
[0062]
优选地,当情绪处于没有感觉(unaware)的阈值区间,即ei(t)∈[0,h
i1
)时,则根据心境值对心境进行表达。具体例如,当心境值为0.5时,对应的心境为“怡然自得”的心境状态,具体的表达可能是出现平静的表情动画,平缓的音乐等等。
[0063]
请参见图2,图2示出的本技术实施例提供的一种机器人情感表达方法的流程示意图;包括:
[0064]
步骤s210:接收刺激,并传递接收到的刺激。
[0065]
需要说明的是,上述步骤s201中,其中刺激由刺激参数来确定,刺激参数包括:情绪类别值、刺激强度值、和情绪衰减系数。
[0066]
步骤s220:根据接收到的刺激更新当前情感参数为更新后的情感参数。
[0067]
需要说明的是,上述步骤s202中,情感参数包括用于模拟情绪的情绪参数、和/或用于模拟心境的心境参数,情绪参数包括:情绪类别值、情绪强度值、情绪衰减系数,心境参数包括:心境值。
[0068]
步骤s230:根据更新后的情感参数查询对应的动作表达,并对动作表达进行展现。
[0069]
在上述实施例的基础上,可选地,或在一个优选的实施例中,接收刺激,并传递接收到的刺激,可包括以下步骤:
[0070]
步骤s211:在预设时间间隔获取当前棋盘局面,并确认当前棋盘局面在数据库中是否存在已有的棋盘局面与当前棋盘局面相同、以及已有的棋盘局面对应的刺激参数。
[0071]
若在当前棋盘局面在数据库中存在已有的棋盘局面与当前棋盘局面相同,则执行步骤s212:则获取对应的刺激参数,并向情感更新模块传递对应的刺激参数。
[0072]
若在当前棋盘局面在数据库中不存在已有的棋盘局面与当前棋盘局面相同,则执行步骤s213:通过博弈算法计算当前棋盘局面的评分值,并在数据库中查询评分值对应的刺激参数,并向情感更新模块传递对应的刺激参数。
[0073]
在上述实施例的基础上,在一个优选的实施例中,根据接收到的刺激更新当前情感参数为更新后的情感参数,包括以下步骤:
[0074]
步骤s221:在预设时间间隔判断是否有接收到的刺激,判断接收到的刺激是否可以忽略。
[0075]
需要说明的是,根据算式:判断接收到的刺激是否可以忽略;若y》0,则接收到的刺激不能忽略,若y≤0,则接收到的刺激可以忽略;其中,ai(t)为刺激强度,为刺激的情绪类别值,是心境对情绪的影响因子,m(t-1)为当前心境值;ei(t-1)为当前情绪强度值。
[0076]
若接收到刺激且接收到的刺激不可以忽略,则执行步骤s222:根据接收到的刺激更新当前情感参数为更新后的情感参数。
[0077]
若没有接收到刺激,或者接收到刺激但接收到的刺激可以忽略,则执行步骤s223:根据情绪衰减系数(k)以及算式μ(t)=μ0exp(-k(t-t0))更新情感参数中的情绪强度值。
[0078]
需要说明的是,上述步骤s223中,μ(t)为更新后的情绪强度值,μ0为上一次接收到刺激或者接收到的刺激不能忽略时更新后情绪强度值,t为更新的时间,t0为上一次接收到刺激或者接收到不能忽略的刺激的时间。
[0079]
上述实施例的基础上,在一个优选的实施例中,若没有接收到刺激,或者接收到刺激但接收到的刺激可以忽略,根据心境衰减系数(k1)以及算式μ1(t)=μ1exp(-k1(t-t0))+b更新情感参数中的心境值。
[0080]
需要说明的是,上述算式中,μ1(t)为更新后的心境值,μ1为上一次接收到刺激或者接收到的刺激不能忽略时更新后心境值,t为更新的时间,t0为上一次接收到刺激或者接收到不能忽略的刺激的时间,b为基础心境值。可以理解的是,基础心境值用于模拟人类的天性性格。人类在平静的情绪中也往往有着自身的性格,有的人天性性格积极,有的人天性性格消极。基础心境值即是模拟人的这种天性性格。
[0081]
在上述实施例的基础上,在一个优选的实施例中,若有接收到的刺激且接收到的刺激无法忽略,则根据接收到的刺激更新当前情感参数为更新后的情感参数,还包括:
[0082]
步骤s10:根据当前情绪的第二情绪类别值和接收到刺激的第一情绪类别值是否为对立属性。
[0083]
上述步骤s10中,正如上面所提到的,情绪类别分为积极情绪(对应的值为1)、中立情绪(对应的值为0)和消极情绪(对应的值为-1),其中,积极情绪和消极情绪为对立属性。因此,可以根据情绪类别值判断当前情绪的第二情绪类别值和接收到刺激的第一情绪类别值是否两者为对立属性。具体例如,可以通过将前情绪的第二情绪类别值和接收到刺激的第一情绪类别值相加,判断结果是否为0,若结果为0则为对立属性。需要说明的是,上述通过将前情绪的第二情绪类别值和接收到刺激的第一情绪类别值相加以判断是否对立属性仅仅为示例性的,不应理解为对本发明的限制。
[0084]
若判断结果为对立属性,则执行步骤s20:根据加速情绪衰减系数(ka)以及算式μ(t)=μ0exp(-ka(t-t0))更新情感参数中的情绪强度值。
[0085]
在上述步骤s20中,μ(t)为更新后的情绪强度值,μ0为上一次接收到刺激或者接收到的刺激不能忽略时更新后情绪强度值,t为更新的时间,t0为上一次接收到刺激或者接收到不能忽略的刺激的时间。
[0086]
通过步骤s10和步骤s20可以模拟人类遇到两种与当前情绪截然相反的刺激时,当前的情绪会因为刺激的影响加速衰减的情况。具体例如,当人类处于一个比较低落的情绪(如伤心)时,突然得到了一个好消息(即一个“属性为开心”的刺激),这个好消息通常会导致低落的情绪较快的衰减。上述步骤s10和步骤s20即模拟的此种情形。
[0087]
若判断结果不为对立属性,则执行以下步骤:
[0088]
步骤s1:判断刺激强度值和当前心境值之和是否大于当前情绪强度值。
[0089]
需要说明的是,上述步骤s1中,判断刺激强度值和当前心境值之和是否大于当前情绪强度值,根据算式:x=ai(t)+e
cikmi
m(t-1)和z=ei(t-1)判断,其中,x为刺激强度值和当前心境值之和,z为当前情绪强度值。
[0090]
若刺激强度值和当前心境值之和大于当前情绪强度值,则执行步骤s2:根据算式
更新情绪参数。
[0091]
若刺激强度值和当前心境值之和小于或者等于当前情绪强度值,则执行步骤s3:根据算式:更新情绪参数。
[0092]
需要说明的是,上述步骤s1-步骤s3中,是更新后的情绪强度值,e
di
(t)是第二情绪衰减系数,di(t)是第一情绪衰减系数,h1为预设的最低情绪强度阈值,t
i0
为刺激发生的时间。
[0093]
在上述实施例的基础上,在一个优选的实施例中,根据接收到的刺激更新当前情感参数为更新后的情感参数,还包括以下步骤:
[0094]
步骤s224:根据刺激的刺激强度值计算心境值变化量(δm),并根据心境值变化量更新心境值。
[0095]
在上述步骤s224中,心境值变化量根据算式:δm=e
ci
*ke*ai(t),进行计算;其中,ai(t)为刺激强度值,ke为刺激对心境的影响因子,e
ci
为刺激的情绪类别值;心境值根据算式:m(t)=m(t-1)+δm,进行更新;其中,m(t)为更新后的心境值,m(t-1)为当前的心境值。
[0096]
在上述实施例的基础上,在一个优选的实施例中,根据更新后的情感参数查询对应的动作表达,并对动作表达进行展现(对应步骤s230),通过以下步骤实现:
[0097]
步骤s231:判断更新后的情感参数中的情绪强度值是否处于预设的阈值区间。
[0098]
若更新后的情感参数中的情绪强度值处于预设的阈值区间,则执行步骤s232:根据更新后的心境值查询对应的动作表达,并对该动作表达进行展现。
[0099]
若更新后的情感参数中的情绪强度值不处于预设的阈值区间,则执行步骤s233:根据更新后的情绪类别值、情绪强度值查询对应的动作表达,并对该动作表达进行展现。
[0100]
请参见图3,图3示出的本技术实施例提供的电子设备的结构示意图。本技术实施例提供的一种电子设备301,包括:处理器302和存储器303,存储器303存储有处理器302可执行的机器可读指令,机器可读指令被处理器302执行时执行如上的方法。
[0101]
本技术实施例还提供了一种存储介质304,该存储介质304上存储有计算机程序,该计算机程序被处理器302运行时执行如上的方法。
[0102]
其中,存储介质304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable red-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
[0103]
本技术实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本技术实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代
码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0104]
另外,在本技术实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0105]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0106]
以上的描述,仅为本技术实施例的可选实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1