首页 理论教育 基于机器学习的情感分析模型

基于机器学习的情感分析模型

时间:2023-06-24 理论教育 版权反馈
【摘要】:机器学习的理论和算法可应用到虚拟的人机交互领域中,尤其是在情感信息的数据挖掘和信息识别中可得到广泛应用。例如,机器学习的热点算法SVM在人脸表情识别中被广泛使用,并且能达到较高的识别率。图10-17 机器学习的基本模型下面介绍几种常用的机器学习算法,并对它们的适用范围和优缺点进行简单介绍,见表10-4。

基于机器学习的情感分析模型

Simon认为学习是能够让系统在执行同一任务或相同数量的另外一个任务时,比前一次执行得更好的任何改变。机器学习所关注的问题是“计算机程序如何随着经验积累自动提高性能”。简而言之,机器学习系统是根据人工智能的学习原理和方法,应用知识表达、知识存储和知识推理等技术设计和构成的,具有知识获取功能,并能通过学习增长知识、改进其性能并提高智能水平的系统。机器学习的基本模型如图10-17所示,其作为核心的执行环节对情感学习的意义重大。机器学习的理论和算法可应用到虚拟的人机交互领域中,尤其是在情感信息的数据挖掘和信息识别中可得到广泛应用。例如,机器学习的热点算法SVM在人脸表情识别中被广泛使用,并且能达到较高的识别率。

978-7-111-39577-5-Chapter10-141.jpg

图10-17 机器学习的基本模型

下面介绍几种常用的机器学习算法,并对它们的适用范围和优缺点进行简单介绍,见表10-4。

表10-4 几种常用的机器学习算法简介

978-7-111-39577-5-Chapter10-142.jpg

(续)

978-7-111-39577-5-Chapter10-143.jpg

从表中可以看出,机器学习的各种算法在面部表情识别中得到了广泛的应用,并且也取得了不俗的识别率。但是在情感模型中的应用还比较少,目前北京科技大学的王志良教授所带领的团队正对这一领域进行深入研究。在本小节中只是简单地介绍简单的理论框架,详细的情感建模理论以及仿真实验是后续工作的重点之一。下面我们以简单的决策树学习算法为例介绍机器学习的内容。

1.决策树学习的表示法

在机器学习的各种学习算法中,决策树学习是应用最广的归纳推理算法之一,它是一种逼近离散值函数的方法,在这种方法中学习到的函数被表示为一棵决策树。学习得到的决策树也能再被表示为多个if-then的规则,以提高可读性,并且决策树学习对噪声数据有很好的健壮性且能够学习析取表达式。

决策树通过把实例从根节点排列到某个叶子节点来分类实例,叶子节点即为实例所属的分类。树上的每一个节点指定了对实例中某个属性的测试,并且该节点的每一个后继分支对应于该属性的一个可能值。分类实例的方法是从这棵树的根节点开始,测试这个节点指定的属性,然后按照给定实例的属性值将对应的树枝向下移动。然后这个过程在以新节点为根的子树上重复。

2.决策树学习的适用范围

通常决策树学习最适合具有以下特征的问题:

1)实例是由“属性——值”对表示的;

2)目标函数具有离散的输出值;

3)可能需要析取地描述;

4)训练数据可以包含错误

5)训练数据可以包含缺少属性值的实例。

正是由于现实中有很多问题符合这些特征,所以决策树学习已经被应用到众多领域。在机器人情感建模研究中,我们希望在人与机器的交互过程中,通过一系列有效的传感器,得到关于人的面部表情,语气语调,以及机器的肢体接触等情感信息;通过分析这些情感信息,建立起机器人在某种情况下所对应的情感表达模型。

3.基于决策树学习的情感建模

大多数已开发的决策树学习算法是一种核心算法的变体。该算法采用自顶向下的贪婪搜索遍历可能的决策树空间。这种方法是ID3算法和后继的C4.5算法的基础。ID3算法的核心问题是选取在树的每个结点要测试的属性,它在增长树的每一步使用信息增益标准从候选属性中选择属性,也就是说,把哪个节点作为根节点来划分决策树是算法的重点。信息增益的公式如下:

978-7-111-39577-5-Chapter10-144.jpg

要想构造好的决策树选择好的属性是关键,那么对于同样一组例子,可以有很多决策树与其相符。人们研究出,一般情况下,树越小则树的预测能力越强。要构造尽可能小的决策树,关键在于选择恰当的逻辑判断或属性。

本小节以ID3算法为主,并且以一个简单的例子来说明决策树在机器人情感建模中的应用。

在人与机器人进行交互的过程中,提取人的部分特征,如语气(温柔、凶狠)、动作(触摸、敲打)和声音(大、小)。相应地,机器人做出“皱眉”或者“微笑”两种表情。具体数据见表10-5。

表10-5 情感建模数据表

978-7-111-39577-5-Chapter10-145.jpg

此时,我们可以采用ID3算法建立起一棵决策树。步骤如下:(www.xing528.com)

首先,计算每一个候选属性(语气、动作和音量)的信息增益,然后选择信息增益最高的一个。三个属性的信息增益为

Value(语气)=温柔,凶狠;

S=[4+,4-];

S温柔=[4+,0-];

S凶狠=[0+,4-];

GS,语气)=info(4,4)-0.5info(4,0)-0.5info(0,4)

info(4,4)=-0.5log20.5-0.5log20.5=1

info(4,4)=-0.5log20.5-0.5log20.5=1

info(4,0)=-log21-0=0=info(0,4)

GS,语气)=1

GS,语气)=info(4,4)-0.5info(4,0)-0.5info(0,4)

info(4,0)=-log21-0=0=info(0,4)

GS,语气)=1

因为G的最大值就是1,因此,根节点可以选择属性为语气的节点。

然后继续递归下去,计算剩下2个属性的信息增益值,最终建立一棵决策树如图10-18所示:

978-7-111-39577-5-Chapter10-146.jpg

图10-18 决策树示意图

在实际中,因为数据量庞大,决策树空间并非如此简单。节点的选取原则是:由根到叶子,每一个节点都是选取信息增益最大的属性作为节点。

4.仿真

在Matlab中进行仿真,假设有125组数据(事实上远大于这个数字),分别从悲伤、喜悦、愤怒、惊奇、恐惧五种情绪得来,其中每种情绪的数据范围是限定的。训练数据为125组,测试数据为100组,最终得到的决策树如图10-19所示。图10-20所示为前25组数据进行决策树分类后的结果。

虽然可以看出数据都得到了完整的分类,但是这种仿真存在几个问题:首先数据是自己创造的没有理论根据。而且对于一种情绪来讲,数据可以通过视觉、听觉、触觉来得到,其具体的情感数据分类要通过大量的实验才能得到准确值。其次,Matlab中的决策树函数是二叉树,也就是不能有多叉分支,这在实际中是受限制的,不过可以通过编程实现多叉树。

5.总结

决策树学习也有其不足之处,比如对连续性的字段比较难预测;当类别太多时,错误可能会增加得比较快;一般算法分类的时候,只是根据一个属性来分类;不能保证全局最优。但是机器学习中有神经网络、贝叶斯学习等等很多更加优秀的学习算法,都可以针对某一种问题提出解决方案,因此将机器学习应用到机器人的情感建模中是以后的研究重点之一。

978-7-111-39577-5-Chapter10-147.jpg

图10-19 决策树仿真结果

978-7-111-39577-5-Chapter10-148.jpg

图10-20 25组测试数据进行分类的结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈