0引言随着社会发展,生活节奏加快,人们在学习、工作和生活中面临着各种各样的问题和压力。不少人会时常感到沮丧、痛苦或愤怒,并由此产生了各类心理问题。随着人们对心理问题关注的增加和认识的加深,越来越多的人开始寻求适当的手段来调节和治疗相应的心理疾病(Villani等,2018)。但是,目前有能力开展心理治疗的机构和从业人员数量还不能很好地满足大众需求,很多人只有在心理问题非常严重的时候才能获得相应的治疗。如果能在心理问题产生初期就对不良情绪进行干预和调节,将避免问题的严重化,更有利于普通人保持健康的心理状态。随着技术的发展,语音识别交互(Lotfidereshgi和Gournay,2017)、手势控制、触摸交互面部检测和跟踪(Cadayona等,2019)等交互模式已能在一定程度上支持人们的情绪调节需求,而结合多个通道的多模态人机交互更可以同时利用视觉、文字和动作等不同通道的信息来实现更好的情绪调节效果(杨明浩和陶建华,2018)。因此,本文综合应用表情识别、文本对话、手势识别和智能体等人机交互方法,设计了一个面向情绪调节的多模态人机交互系统,并在系统中加入了智能体来完成对用户的陪伴和互动。本文的工作主要涉及从悲伤、抑郁等负面情绪向快乐、愉悦等正面情绪的调节,研究内容有助于丰富情绪调节的可计算方法。1相关工作眼动追踪、手势识别、语音合成、自然语言理解和表情识别等单模态人机交互技术为目前主要研究热点。如使用双目摄像头获取手势的3维信息,并将手势作为虚拟鼠标完成选择文件夹等一系列操作(Shajideen和Preetha,2018)。将诸如眨眼、凝视和斜视之类的眼动行为转换为鼠标光标动作实现人机互动(Vasisht等,2019)。使用LSTM(long short-term memory)结合基于规则和数据驱动的方法来实现人机文本对话(Bunga和Suyanto,2019)。越来越多的研究选择多模态交互方法。如多模态人机交互集成框架,使用户摆脱了鼠标、键盘等传统的交互方式(Chen等,2016)。或使用穿戴设备来测量人的面部信息和眼部信息与智能家居进行多模态交互(Wang等,2019)。智能体是多模态人机交互的载体之一,而情绪模型是使智能体具有情感处理能力的关键(Picard,1997)。EMA(emotion and adaptation)模型是一种情绪认知框架,主要讨论情绪与认知是如何相互作用的。EMA模型充分解释了情绪的动态变化情况(Marsella和Gratch,2009)。对智能体建立基于个性的情感模型,将人格纳入ECA(embodied conversational agent)的情感模型中,可以激起用户更高的参与感(Sajjadi等,2019)。情感识别是人与机器之间情感交互的重要组成部分,也是情绪调节的前提。运用ERPs (event-related potentials)技术可以考察不同年龄段在自动化情绪调节上的差异,表明带情绪的面孔更能吸引人的注意,并在自动化情绪调节中表现出积极效应(李西营等,2017)。传统的情绪调节方法具有局限性,而自动化情绪调节方式能更有效地降低情绪负面反应,采用意图范式帮助人们进行有效的情绪调节(高伟等,2018)。采用卷积神经网络(convolutional neural network,CNN)对面部和眼睛区域进行定位,并通过面部特征评估用户在人机交互时的兴趣水平(Bhattacharya等,2019)。通过脑电图技术读取用户的脑电波信号,并通过VR(virtual reality)虚拟环境给予相应刺激来调节情绪(Wu等,2018)。综合多个模态进行情绪调节的研究仍然有限。本文将探讨表情识别、手势识别和文本对话等人机交互方法,并将这几种交互方法融合,形成多模态人机交互。将智能体作为多模态人机交互技术的载体,设计多模态人机交互系统,向用户展示多模态的人机交互,并以文本为线索将各个人机交互剧情交叉融合,为不同用户提供不同的情绪调节方案。2单模态人机交互2.1表情识别2.1.1表情识别概述人的情绪状态可以通过人的声音、语言和面部表情来确定,其中人的面部表情占据了情绪状态的55%,是表达情绪最重要的方式之一(Li和Deng,2020),通过观察人的表情即可知道人当前大致的情绪状态。根据情绪状态便可以进行针对性的决策,选择不同的人机交互方式,以实现情绪调节的目的。本文通过表情识别得到用户进行人机交互时的情绪状态,并将其作为智能体情感互动模型的信号输入,使智能体基于规则进行决策。同时,根据当前表情还可以验证以下信息:情绪的调节是否成功,游戏互动是否使用户满意等。如果用户对当前游戏表现出消极情绪,则会利用强化学习算法调整到适合用户的游戏难度,并主动关心用户。因此表情识别是人机情感交互时实现情绪调节的必要前提。本文的表情识别系统主要识别以下7种基本表情:平静、高兴、生气、惊讶、恐惧、厌恶和悲伤。部分检测效果如图 1所示。 图1 表情识别 Facial expression recognitionFig 1((a)happy; (b)sad; (c)surprise)2.1.2表情识别的实现方法和步骤表情识别的目的是当用户进行人机交互时,能够实时地检测用户当前的情绪。表情识别是计算机理解情感的基础,针对当前情绪进行更有效的情绪调节。图 2为该技术的实现步骤。 图2 表情识别算法步骤 Expression recognition algorithm stepsFig 2通过在摄像头前做出各种特定的基本表情拍下多张照片获取数据集。数据预处理的过程为利用Dlib深度学习库(Boyko等,2018)实现对不同表情的人脸进行68个特征点的提取,如图 3所示。 图3 人脸68个特征点 68 feature points of human faceFig 3将特征点信息存为.txt文件,不同表情归入不同文档。训练过程为将存好的特征点文档利用OpenCV中ML(machine learning)模块里的SVM(support vector machine)分类器进行分类(Vani等,2018)。其中SVM的类型使用C_SVC(constant support vector classification),即支持向量用于分类,核函数使用线性核函数LINEAR。最后,在识别时读入训练好的结果,对每帧图片进行分类,显示结果。经过20个人每种表情在不同角度和距离下的10次测试,该模型对于平静、高兴和惊讶有较高的识别率,对于生气和悲伤识别率一般,对于恐惧和厌恶识别率则较低(表 1)。 表1 表情识别准确率 表情类型 平静 高兴 生气 惊讶 恐惧 厌恶 悲伤 识别率 90 92 75 91 51 45 77 Expression detection accuracy  /%Table 1同时,利用Dilb深度学习库获取嘴部特征点坐标,嘴唇厚度和长度的比例$p$(proportion)为 1 $p = \frac{{r - l}}{{t - b}}$ 式中,$l$为嘴唇最左侧横坐标,$r$为最右侧横坐标,$t$为顶部纵坐标,$b$为底部纵坐标。经实验,通常状态下,$p$=3;吹蜡烛时,$p$<1.5。通过识别当前嘴唇特征比例,实现模拟吹蜡烛,识别到吹蜡烛的嘴部动作时,火焰缓缓熄灭,通过吹蜡烛许愿,放松用户的身体,给予用户正向情绪引导。2.2手势识别2.2.1手势识别概述人的不同手势可以代表不同的命令和动作(Sun等,2018),甚至表达情绪。本文通过识别切割和抓取手势,实现不同游戏剧情下的需求。同时,通过点赞手势检测用户当前的情绪状态,增强人机之间的交互程度以及自然程度(图 4)。 图4 手势识别 Gesture recognitionFig 4((a) cut gesture; (b)palm gesture; (c)thumb gesture)2.2.2手势识别的实现方法和步骤手势识别是用户在进行过生日剧情时的关键技术。通过手势识别的方式,可以模拟真实场景下的过生日剧情,塑造游戏的真实感。本文的手势识别主要识别和分割以下3种手势:切割、抓取和点赞。通过这3个手势,完成切蛋糕、抓蛋糕和点赞等一系列游戏互动,其中点赞手势表示用户满意,是用户表现高兴情绪的一种方式。该技术的实现步骤如图 5所示。 图5 手势识别算法步骤 Steps of gesture recognition algorithmFig 5首先,需要采集模型的训练样本,用摄像头拍摄要识别的手势照片,经过OpenCV的预处理后,使用滑窗提取手势的fHOG(Felzenszwalb histogram of oriented gradients)特征(Felzenszwalb等,2010), 并用SVM算法进行分类训练得到各个手势的特征模型。其次,在进行手势识别时,利用摄像头对各个手势的模型进行特征匹配,将得到匹配度最高的手势用方框框出,并利用MedianFlow追踪算法进行追踪(Deng等,2019),显示手势识别结果。最后,如果追踪的手势和识别的手势不一致或者方框的重合区域小于70%,则判断为追踪失败,此时需要初始化追踪算法进行追踪,重新显示手势识别结果。经过20个人每种手势在不同角度和距离下的10次测试,该模型对于切割、抓取和点赞手势都有较高的识别率(表 2)。 表2 手势识别准确率 手势类型 切割手势 抓取手势 点赞手势 识别率 92 95 91 Gesture recognition accuracy  /%Table 22.3文本对话2.3.1文本对话概述人与人之间的沟通交流主要通过对话实现,语言上的安慰能在一定程度上缓解人的情绪状态。在交互过程中,当表情识别功能检测出用户情绪低落时,智能体将通过对话引导的方式,进一步调节用户的情绪状态。本文采用基于规则的对话和基于深度学习的对话相结合的方式生成回复的消息。同时在基于深度学习的对话系统上,除了确保生成的语句语法通顺外,将情绪状态以变量的形式加入到生成模型中,希望即使是闲聊式的对话,生成的回复也带有一定的情感信息,从而使产生的回答更加人性化和多样化,能够更好地安慰用户,调节用户情绪(图 6)。 图6 文本对话 Text dialogueFig 62.3.2文本对话的实现方法和步骤实现文本对话的目的是通过文本的形式对用户进行一定程度的情绪引导,是缓解用户情绪的一种重要交互手段。为方便老年人、抑郁患者等用户,加入语音识别技术,通过该技术可以将语音信息转化成文字信息,该信息可直接作为文本对话的输入。本文的对话系统采用将规则式对话和融入情绪因素的Seq2Seq模型框架(Gu和Lang,2017)相结合的方式进行对话的文本生成,并通过语音和文本相结合的方式反馈给用户。该技术的实现步骤如图 7所示。 图7 文本对话实现步骤 Implementation steps of text dialogueFig 7首先,通过表情识别模块获取用户的情绪状态,若为消极,则优先发起设定好的对话。此后的对话过程中,主要依赖基于规则的对话系统来进行情绪状态的调节。在制定规则库的过程中,主要从生活情况、子女情况、环境情况、身体状态和情绪状态等5大主题出发,每一个主题都建立了相应的规则,针对每条规则,人工编写回复模板。首先使用哈尔滨工业大学的LTP(language technology platform)工具,在经历了分词、词性标注等过程后,得到了具有实体间依赖的句法结构信息,即依存句法树Tree,接着根据实体词之间的依赖关系剥离当前这句话的主谓宾、定状补等重要成分,然后在规则库中进行对应的匹配。为了进一步起到情绪调节的作用,除了根据匹配的规则外,还需要根据文本情感分析得到的情绪标签$\mathit{\boldsymbol{E}}_{q}$,进一步筛选得到合理的回答。在连续过程的消极情绪下需要给用户一种积极的回复。若在规则库中匹配不到合适的规则,就用基于深度学习的对话系统和用户进行闲聊,以豆瓣多轮对话作为数据集。豆瓣多轮对话中包含训练集、验证集以及测试集,根据统计,每条训练样本最少包含3轮对话,最多包含98轮对话。本文用两个Bi-LSTM (bi-directional long short-term memory) (Yao和Huang,2016)分别作为Seq2Seq的编码器和解码器。首先接收用户的输入语句$query$,并将其转换为以词为单位的特征向量表示$\mathit{\boldsymbol{QU}}$,$\mathit{\boldsymbol{QU}}$作为情绪分类模型的输入,经过模型训练后会获得情绪标签$\mathit{\boldsymbol{E}}_{q}$作为模型的输出,在情绪分类模型中将最终的向量输出作为用户的最终情绪向量$\mathit{\boldsymbol{W}}_{fq}$; 接着用编码器中的GRU(gated recurrent unit)网络将对话上下文中的每一个句子和用户$query$进行编码,获得每个句子所对应的语义信息表征向量。计算为 2 ${{\mathit{\boldsymbol{C}}_i} = {f_{{\rm{Wb}}}}\left({{c_i}} \right)}$ 3 ${\left[ {\mathit{\boldsymbol{co}}{\mathit{\boldsymbol{n}}_1}, \cdots, \mathit{\boldsymbol{co}}{\mathit{\boldsymbol{n}}_n}} \right] = {f_{{\rm{Bi}} - {\rm{LSTM}}}}\left({{\mathit{\boldsymbol{C}}_1}, \cdots, {\mathit{\boldsymbol{C}}_n}} \right)}$ 4 ${\mathit{\boldsymbol{qu}} = {f_{{\rm{Bi}} - {\rm{LSTM}}}}(\mathit{\boldsymbol{QU}})}$ 式中,$c_{i}$为上下文中的第$i$个句子,$f_{\rm Bi-LSTM}$表示由Bi-LSTM构成的编码器,$f_{\rm Wb}$表示词到词向量的转换过程(Wordembedding),$\mathit{\boldsymbol{C}}_{1}, …, \mathit{\boldsymbol{C}}_{n}$表示输入的$n$个上下文句子向量,$\mathit{\boldsymbol{QU}}$为用户$query$的向量表示; $\mathit{\boldsymbol{con}}_{1}, …, \mathit{\boldsymbol{con}}_{n}$为上下文句子通过编码器得到的$n$个句子语义信息向量,$\mathit{\boldsymbol{qu}}$为$query$对应的句子语义信息向量。然后将上述得到的语义向量$\mathit{\boldsymbol{qu}}$, $\mathit{\boldsymbol{con}}_{1}, …, \mathit{\boldsymbol{con}}_{n}$输入到带有注意力机制的Bi-LSTM网络中,进一步获得与用户$query$语义更为相关的上下文信息向量$\mathit{\boldsymbol{con}}_{\rm final}$、情绪向量$\mathit{\boldsymbol{W}}_{fq}$、以及$t$时刻前生成的词都输入解码器中,生成$t$时刻对应的词语,即 5 ${{y_t} = P\left({{y_t}|{y_{t - 1}}, \; \cdots, \;{y_1}, \;{\mathit{\boldsymbol{W}}_{fq}}, \;\mathit{\boldsymbol{co}}{\mathit{\boldsymbol{n}}_{{\rm{final}}}}} \right)}$ 式中,$y_{t} $表示$t$时刻生成的词,$\mathit{\boldsymbol{W}}_{fq}$为用户$query$对应的情感向量,$\mathit{\boldsymbol{con}}_{\rm final}$表示最终的上下文语义向量,$P$表示在给定$t$时刻前的生成词、情感向量、上下文语义向量的条件下生成$t$时刻词的概率。3多模态人机交互3.1多模态人机交互系统设计本文构造了一个多模态人机交互系统,如图 8所示。 图8 多模态人机交互系统设计 Design of multimodal human-computer interaction systemFig 8在人机交互场景中,用户通过摄像头进行表情识别和手势识别。识别方法为先进行表情识别,得到用户情绪,然后将情绪信息保存并修改当前帧图像,接着将修改后的图像继续进行手势识别并保存手势结果,最后将图像输出。只需要借助一个普通摄像头即可进行表情识别和手势识别,而话筒则用于用户的语音输入,输入的语音会通过语音识别技术将其转化成文字信息用于文本对话。而Kinect则用于得到用户关节位置。通过表情识别、文本对话和手势识别这些多模态信息对用户当前的情绪状态进行识别,通过手势识别和关节位置得到当前的人机交互状态。智能体在得到用户当前情绪状态和人机交互状态后,基于特定的情绪交互规则进行情绪表现,表现方式主要为表情动画、肢体动画、文本对话和语音。该系统以智能体为载体,将各人机交互方法融合。智能体情感交互模型是智能体自发进行情感交互和行为决策的核心(刘婷婷等,2020)。本文利用智能体情感交互模型的方法将用户的表情信息、手势信息和文本信息作为输入,输入到特定的情绪交互规则当中,基于规则进行输出。使智能体能够知道用户当前情绪状态和需求,并利用这些多模态的信息进行交互和反馈,满足用户需求从而达到情绪调节的目的。使人能够在高度叙事性的情节环境下,模拟现实生活,消除孤独感,调节情绪,带来正能量。真实的高度叙述性的情节丰富了人机交互模式,实现了真实的具有沉浸感的高交互性效果。3.2智能体在多模态人机交互中,传统方法交互形式单一,大都为人和机器主动交互。本文通过智能体进行人机交互,使计算机更加拟人化,改善了人机交互方式过于单一化的现状,使得人机交互更加和谐,情绪调节的过程更加自然和亲切。通过表情识别、手势识别和文本对话等人机交互方法,使智能体能够主动获取用户的情绪状况。同时,将用户多通道的信息作为输入,基于设定的情绪交互规则,智能体能够主动关心用户,并使用动画、文本和语音的方式进行情感表达。实现用户和智能体情绪的双向互动,从而更好地进行情绪调节。本文智能体情感动画包括两部分。第1部分是脸部动画,包括表情动画、唇部动画和眨眼动画。表情动画是智能体情感的体现,通过智能体表情动画感染人的情绪;唇部动画是智能体在和人进行语音交流或文字交流时的动画,和语速保持一致,使人与智能体的交互更加自然;眨眼动画亦是如此,人在日常说话时会眨眼睛,为了使智能体更加拟人化,因此眨眼动画必不可少。第2部分是手部肢体动画,包括鼓掌动画、交流手势动画和邀请手势动画。鼓掌动画是智能体对用户的鼓励,在用户成功完成游戏时,智能体会通过鼓掌动画给予用户积极的鼓励,通过这种方式进行情绪感染可以增强情绪调节的效果;交流手势动画会在智能体说话时进行,人在说话时往往会配合手势动作,而智能体配合交流手势动画可以让智能体在进行语言表达时显得更加轻松;邀请手势动画则可以更积极地引导用户进行游戏,配合智能体的语言进行邀请,更能感染人的情绪(图 9)。 图9 智能体动画 Agent animationFig 9((a)facial animation; (b)lip animation; (c)blink animation; (d) applause animation; (e)communication gestures animation; (f)invitation gesture animation)3.2.1人机交互剧情设计本文设计了多个人机交互剧情并以文本聊天作为主要剧情,配合表情识别和手势识别等情感检测方法,以文本对话为引导,将各个剧情相衔接。首先,用户能够在高度叙事性的情节环境下,模拟现实生活,消除孤独感,在感到孤单寂寞时陪伴用户聊天,场景的真实性和互动性都是真实和完善的。根据用户文本中的情绪会生成积极的情绪对话,包括文字和语音,如果用户情绪负面,智能体会出现担心的情绪。如果用户开心,则智能体也会表现为开心。智能体情绪和用户情绪关联,相互作用,实现了人机情感上的交互(图 10)。 图10 文本聊天剧情 Text dialogue plotFig 10其次,用户在文本聊天时,若智能体感知到用户想玩游戏,就会触发相应的体感游戏剧情。感知的方式有两种:1)用户主动提出;2)智能体检测到用户不开心,就会询问是否需要进行游戏。玩游戏具有帮助人缓解现实社会带来的压力,改善抑郁,缓解焦虑,集中注意力,暂时忘记烦恼等作用,有利于情绪调节。区别于其他游戏,本文游戏有智能体与用户的交互,时刻陪伴用户,通过视觉观察用户的情绪,并用语言和肢体动作调动用户的积极情绪,以用户需求为主实现情绪调节的效果。如图 11,用户在已知系统中的篮球游戏对自己心情调节有效的情况下提出要玩篮球,触发了相应的篮球体感游戏。 图11 游戏剧情(玩篮球) Game plot(play basketball)Fig 11系统还能结合用户的背景信息给出适当的交互剧情。如在用户生日的当天可能会触发过生日剧情。为了增强游戏的真实性和互动性,本文鼓励用户利用手势等方式去完成游戏的剧情。用户在进行过生日剧情时,由智能体进行陪伴,在智能体的引导下,用户可以通过表情识别和手势识别实现吹蜡烛、切蛋糕、抓取蛋糕以及为蛋糕点赞等一系列动作,整个过程中智能体通过表情、文本和手势等多种形式与用户发生自然的人机交互,完成对用户情绪的调节(图 12)。 图12 过生日剧情 Birthday storyFig 12总之,用户可以在交互系统中与智能体进行互动,智能体根据用户的需求和情绪状态做出不同的反应,例如在用户需要玩游戏时陪伴玩游戏,在用户需要闲聊时进行聊天陪伴,在用户需要音乐时播放音乐,在用户生日时陪伴其过生日,将用户从负面的情绪状态调节到高兴的情绪,最终实现情绪调节的目的。3.2.2强化学习算法设计游戏难度为了提高情绪调节的有效性,在游戏中加入强化学习方法(Zhang等,2018),让人可以在游戏中更容易获得满足感和成就感,使得游戏更加善于调节情绪。通过表情识别实时监控用户状态,再利用强化学习决策能力调整游戏难度。本文直接根据摄像头获取到用户的情绪信息和手势信息并作为当前的状态(state),决策部分使用强化学习算法,将当前的状态映射到相应动作(action)并根据回报评判动作价值,逐步调整智能体的情绪表现和游戏难度等(图 13)。 图13 强化学习算法步骤 Reinforcement learning algorithm stepsFig 13强化学习算法步骤如下:1) 将人脸的7种情绪:平静、高兴、生气、惊讶、恐惧、厌恶和悲伤,记为状态$S_{0}$~$S_{6}$,取值分别为0~6。记$S_{1}$高兴情绪为目标状态,即本次学习的目标。2) 将相应的动作调整为简单难度、普通难度和困难难度,记为$A_{0}$~$A_{2}$,取值分别为0~2。3) 把情绪状态作为行,情绪状态的数量作为行数,动作作为列,动作的个数作为列数,建立Q表,并将每行每列的Q表中的值全部初始化为0,得到一个7行3列的零矩阵$\mathit{\boldsymbol{q}}_{\rm table}$,即为Q表,Q表中的每一个值即为$q$值,如状态$S_{0}$对应的动作$A_{0}$的$q$值为$q_{\rm table}$($S_{0}$, $A_{0}$),或直接代入值$q_{\rm table}$(0, 0)。4) 设学习速率为$α$,衰减度为$λ$,目标状态为高兴,奖励或惩罚为$r$,设每次游戏前的情绪状态为$S$,每完成一次游戏后的情绪状态为$S$′。通过摄像头获取完成游戏前的情绪状态$S$。其中情绪状态$S$的第1次状态获取方式为第1次进行游戏前通过摄像头进行获取,第2次的获取方式为在第2次游戏开始前令$S$等于$S$′,而情绪状态$S$′的获取方式每次都通过摄像头获取。5) 从Q表中情绪状态$S$对应行中选取最大的$q$值,得到对应的动作$A$,并记该$q$值为$q_{\rm predict}$,即$q_{\rm predict}$=$q_{\rm table}$($S$,$A$),若全为0,则随机选取,其中$q_{\rm predict}$表示$S$状态下采取动作$A$能够获得收益的期望,即估计值,$q_{\rm table}$($S$,$A$)表示$S$状态所对应的动作$A$的Q表中的值。6) 执行该动作改变游戏难度后,用户进行游戏,获取完成游戏后的情绪状态$S$′。若达到了目标状态即高兴状态$S_{1}$,则奖励$r,$并令$q_{\rm target}=r$。如果当前状态没有达到目标状态,则计算$q_{\rm target}$为 6 ${q_{{\rm{target }}}} = r + \lambda \times {q_{{\rm{table }}}}\left({{S^\prime }, q_{{\rm{table }}}^{\max }\left({{S^\prime }} \right)} \right)$ 式中,$q^{\rm max}_{\rm table}$($S$′)表示获取状态$S$′中$q$值最大的动作的列号,其中$q_{\rm target}$代表执行动作后实际产生的效益,即现实值。7) 用式(7)更新Q表中$S$状态所对应的动作$A$的$q$值 7 $\begin{array}{*{20}{c}}{{q_{{\rm{table }}}}(S, A) = {q_{{\rm{table }}}}(S, A) + }\\{\alpha \times \left({{q_{{\rm{target }}}} - {q_{{\rm{predict }}}}} \right)}\end{array}$ 然后令$S=S$′,即在下一次游戏前,令完成游戏前的情绪状态$S$更新为$S$′。8) 重复步骤5)—步骤7),直到$S$′和$S$的状态同时为高兴状态, 即$S_{1}$状态,则终止循环。通过强化学习算法,可以逐步调整游戏难度,配合多模态的交互,使不同用户的情绪都能在游戏中得到调整,将用户情绪从悲伤、生气等调整到高兴情绪。以体感投篮游戏为例,设计了3个等级的难度:简单、普通和困难。简单难度为球框静止不动,普通难度为球框进行缓慢移动,困难难度为球框进行快速移动。设学习速率$α$=0.1,衰减度$λ$=0.9,检测到高兴状态时进行奖励$r$=1,检测到平静、惊讶状态时则不奖励也不惩罚$r$=0,其他状态为情绪消极状态,需要进行惩罚$r$=-1。用户可以通过推球手势进行体感投篮,转动身体可以向不同方向投篮,根据游戏难度,球框会进行移动,真实模拟了电玩城中的投篮机游戏。鼓励用户实现高难度下的投篮得分,因此难度越高得分越高,连续投中给予额外分数。游戏计分方式为:在规定时间60 s内进行投篮,计算得分,若投中则计分,即 8 $sc=g+2 \mu+n-1$ 式中,$sc$为投中这个篮球后的总分,$g$为投进这个篮球前的总分,初始值都为0,$μ$为游戏难度系数取值为1~3,$n$为连续投中个数,投中一次的基础分为2分,连续投中个数为$n$。若投篮失败则令$n$等于0开始重新计算。在规定时间结束后,$sc$的值即为最终得分。进入游戏时默认难度为普通,并得到初始情绪$S$,基于当前情绪状态,智能体根据Q表进行难度选择,之后用户进行投篮游戏,每完成一次投篮便会对用户当前情绪进行检测,并得到$S$′。根据当前情绪状态$S$′给予奖励或惩罚,然后更新Q表中的值,最后更新情绪状态。当调整到用户满意的难度后,则保持在当前难度,并实时监测用户情绪。若用户出现消极的情绪,利用算法重新进行难度调整。经测验,该体感游戏可以通过表情识别获取用户情绪状态,以用户高兴为目的,通过强化学习算法根据用户当前情绪调整难度。4用户体验评价本次实验挑选了20位用户进行测试。考虑到本文的多模态人机交互技术以情绪调节为目的,并在人机交互系统中加入了强化学习算法。因此设立3个综合评价指标:交互趣味性、交互难易程度和情绪调节效果(表 3)。 表3 人机交互综合评价指标 评价指标 分值 0 1 2 交互趣味性 差 一般 好 交互难易程度 简单 一般 困难 情绪调节效果 差 一般 好 Human-computer interaction evaluation indexTable 3为了测试本文提出的多模态人机交互的优势,将在多模态人机交互和只具有表情识别功能的单模态人机交互上分别进行测试。为避免两个实验相互影响,本文将20个人平均分为两组,第1组为10人进行单模态人机交互,第2组为10人进行多模态人机交互。实验中,本文只做了平静情绪和其他负面情绪两种开始状态。用户初始情绪如表 4所示。 表4 用户初始情绪 人机交互方式 平静情绪 高兴情绪 负面情绪(悲伤、生气等) 只具有表情识别功能的单模态人机交互 5 0 5 多模态人机交互 5 0 5 User initial expression  /人Table 4第1组用户在只具有表情识别功能的单模态人机交互中进行体验; 第2组用户在多模态人机交互中进行体验。智能体的表情交互规则如下:用户平静,则智能体平静;用户高兴,则智能体高兴;用户消极,则智能体表示关心问话,略显忧伤。首先由第1组的平静情绪的用户在只具有表情识别功能的单模态人机交互中进行体验。用户一直保持平静情绪,智能体也回应平静情绪,不讲话。经过一段时间后,用户感觉没有从智能体这里得到有效交互,即离开。体验过程如图 14所示。 图14 平静情绪用户体验只有表情识别功能的单模态人机交互 Neutral emotion user experience single mode human-computer interaction with only expression recognition functionFig 14第2组的平静情绪的用户在多模态人机交互中体验过生日剧情。用户在1 min里保持平静情绪,智能体就会主动询问不说话的原因,若用户还是保持沉默,则智能体会询问用户不开心的原因,用户表示今天是自己的生日,智能体表现出高兴的样子进行祝福,但用户一点也不快乐,用户通过文本对话表达了自己不开心的原因是没有人记得自己的生日。智能体也通过语音加文本的方式对用户进行安慰和陪伴,并以文本为线索触发过生日剧情。用户在智能体的引导下完成了许愿、吹蜡烛、手势切蛋糕游戏和手势移动蛋糕等互动,并用点赞手势表达了自己高兴的情绪。体验过程如图 15所示。 图15 用户进行多模态人机交互的过生日剧情 User experience birthday story of multimodal human computer interactionFig 15((a) agent asks neutral emotion user the reason of no speak (b) agent perceives that the user cuts the cake and then continues to guide; (c) users express their happiness through the thumb gesture)接着,悲伤情绪的用户在只具有表情识别功能的单模态人机交互中进行体验。第1组的用户一直保持悲伤,智能体不讲话。用户表情无变化,经过一段时间后感觉无效,之后便离开。体验过程如图 16所示。 图16 悲伤情绪用户体验只有表情识别功能的单模态人机交互 Sad emotion user experience single mode human-computer interaction with only expression recognition functionFig 16第2组的悲伤情绪的用户在多模态人机交互中体验体感游戏剧情。用户在1 min里保持平静或悲伤,智能体会主动询问不开心的原因,关心用户。智能体得知用户不开心的原因后,以文本为线索引导体感游戏剧情并陪伴用户进行投篮体感游戏。智能体在进球时通过表情动画、肢体动画、语音和文字为用户鼓掌加油。用户在完成投篮游戏后为投篮体感游戏点赞表达自己高兴的情绪。用户进行多模态人机交互的体感游戏剧情体验过程如图 17所示。 图17 用户进行多模态人机交互的体感游戏剧情 User experience somatosensory game story of multimodal human computer interactionFig 17((a) agent asks the reason of sad and no speak; (b) user plays basketball somatosensory games and agent claps and cheers through facial animation, body animation, voice and text; (c) user express satisfaction with the gesture of thumb)实验结果显示,用户和智能体进行人机交互后,进行单模态人机交互的10位用户的情绪调节效果不是很明显,而进行多模态人机交互的10位用户的情绪都得到了有效的调节,游戏后的情绪见表 5。 表5 用户进行游戏后的情绪 人机交互方式 平静情绪 高兴情绪 负面情绪(悲伤、生气等) 只具有表情识别功能的单模态人机交互 5 0 5 多模态人机交互 1 9 0 User's emotions after the game  /人Table 5经测试,用户在进行只具有表情识别功能的单模态人机交互后,情绪没有得到很好的调节,原因是单模态的人机交互方法无法准确了解用户背景信息,且交互方式过于单一、互动性不强、趣味性低,用户对人机交互综合评价指标如表 6所示。若智能体只有表情识别功能,则智能体根本不知道用户为什么不开心,也不知道用户当前想要做什么,所以对用户情绪调节作用不大。 表6 多模态综合评价指标 人机交互方式 评价指标 分数(均值) 单模态人机交互 交互趣味性 0.2 多模态人机交互 交互趣味性 1.9 单模态人机交互 交互难易程度 0 多模态人机交互 交互难易程度 1 单模态人机交互 交互调节效果 0.2 多模态人机交互 交互调节效果 1.9 Comprehensive evaluation index of multimodeTable 6而体验了多模态人机交互的用户,情绪都得到了有效的调节,大都转为高兴情绪。如图 15(c),虽然表情是平静的,但从用户输入的文本和手势信息中,智能体可以感知到用户当前的情绪是高兴的,这表明多模态的人机交互方法对于情绪的检测更加准确,不容易产生误判。多模态人机交互方法在智能体的引导下,能够逐步引导用户完成过生日剧情,在用户投进篮球时进行鼓掌激励,也可以陪伴闲聊,播放用户想听的音乐。有了智能体的陪伴和激励,用户不管是过生日还是进行体感游戏,都会觉得充满趣味性和新鲜感。通过手势识别的方式玩切蛋糕使游戏场景更加真实,用户更能沉浸其中。结果表明,多模态人机交互能有效地调节用户情绪,使用户从负面情绪调节到积极情绪。5结论随着人口老龄化以及后疫情时代的各种压力,人们对情绪调节的需求也日趋增加。现有的心理咨询机构难以满足情绪调节的实际需求,出于隐私保护的考虑,部分人群并不愿意向他人倾诉情绪问题。通过人机情感交互系统来辅助情绪调节越来越重要。针对现有单模态人机交互容易造成情绪识别误判的不足,本文提出了一种融合表情识别、体感交互和文本对话的多模态人机交互方法,采用具有情绪表现力的智能体来增强交互体验,并实现了原型系统。通过实验发现,采用多模态人机交互可以更好地实现用户和智能体之间的情绪互动,适于研发各类情绪调节系统。首先,通过人机互动,采集用户的表情、文本对话、手势和关节位置信息,据此来实现用户情绪的识别,并判断人机任务完成的状态。其次,智能体的情绪表现基于用户状态和情绪交互规则,这样的设计可以使智能体对用户具有感知反馈的功能,智能体通过表情动画、肢体动画和文本聊天表达情绪。用户通过文本对话发泄负面情绪,通过与智能体的对话,用户的情绪得到抚慰。智能体激励用户,反馈给用户积极情绪,实现了智能体和用户的情绪双向交换。再次,用户在人机交互过程中,能通过声音(声音转成文本)、手势和肢体等自然操作实现互动,提高了人机交互的易用性和趣味性。最后,在互动游戏中增加强化学习功能,可以调节游戏的难度来调整用户对游戏的情绪,提升人机互动的黏性。构建面向情绪调节的多模态人机交互系统是一项激动人心和具有挑战性的研究,仍有大量的问题需要深入探讨。例如,本文在单模态人机交互和多模态人机交互的对比实验中还存在一些缺陷,如没有对男女用户进行区分,性别不同的用户可能会得到不一样的情绪调节效果。另外本文在游戏剧情设计、场景设计方面需要作进一步的延伸拓展,以进一步增强游戏的趣味性。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读