基于向量空间模型的歌词情感分类

1.引言

当前信息社会对歌曲的需求与日俱增,各种智能歌曲搜索和推荐系统逐渐涌现。歌曲情感分类是智能歌曲搜索和推荐的关键技术,目标是赋予歌曲特定的情感标签,以方便用户搜索或者系统推荐。近年来,歌曲情感分类首先在音频信号处理研究中涌现,人们试图借助Mel倒谱系数(MFCC)从音频信号中提取可能会反映情感的音频特征(例如强度、频谱质心、能量、节奏、速度等),再借助机器学习算法实现情感分类。

歌曲以多种媒体表达情感,包括音乐、演唱和歌词等。因此,仅以歌词判定歌曲情感存在一定片面性。尤其是随着歌曲形式的不断推陈出新,歌词所表达的情感有时依赖于歌手对歌曲的演绎风格,二者甚至会发生偏差。某些歌曲从歌词看并无明显情感倾向,但经过歌手演绎后,能表达强烈的情感。之前有学者在进行相关研究前,对歌曲进行了调查,结果显示中文歌曲中只有不到5%的流行歌曲属于这种类型。所以,本文以歌词为歌曲情感的分析依据,以自然语言处理技术判定歌曲情感。

歌曲情感分析的依据是情感模型,即对情感类别的预设。本文采取流行的Thayer情感模型,分别从能量和压力两个坐标轴将歌曲情感划分为两类,从而形成“满足(contentment)”、“沮丧(depression)”、“焦虑(anxious)/狂乱(frantic)”和“生气勃勃(Exuberance)”四类情感。有学者的实验证明,音频信号在能量高低的判定上具有较高准确度,而难以在压力大小进行判定。因此本文只针对压力大小的判定展开基于歌词的研究,试图从歌词中分析歌曲所表达的情感压力水平,将歌曲情感定义为“轻松(light-hearted)”和“压抑(heavy-hearted)”两类。这同本文观点极性分析中的“积极”和“消极”有相似之处。

2.向量空间模型构建

2.1设计思路

首先将歌词表示为向量空间模型,然后以朴素贝叶斯和支持向量机算法实现歌曲情感分类。在前人实验的基础上总结发现,基于词汇的向量空间模型(w-VSM)在歌词文本表示上存在如下问题:

(1)尽管有很多算法可用于特征选择,但w-VSM无法消除某些与情感表达无关的词汇特征,这些特征不会对情感分析起到作用。
(2)歌词中很多情感词汇在实际使用时存在歧义。歧义在w-VSM中未经适当消解而直接参与情感分析,会对结果形成影响。
(3)否定词和修饰词在歌词中频繁出现,他们对情感的增强、削弱和置反作用在w-VSM中无法体现。
(4)歌词往往比较短,平均在 50 ~ 80 个词左右,这导致w-VSM严重的数据稀疏问题。

针对上述问题,有学者提出情感向量空间模型(s-VSM),以情感单元作为特征提取对象,以情感单元的统计量作为情感特征。情感向量空间模型(s-VSM)遵循如下设计原则:

(1)只考虑情感相关词汇对情感分析的影响。
(2)情感词汇需在语义上下文中进行必要消歧后才用于情感分析。
(3)考虑否定词和修饰词对情感的置反、增强和削弱影响。

基于上述设计原则,参考了之前学者情感向量空间模型的设计,本文也将情感单元作为情感特征定义的基本元素。下面提出本文对情感单元的形式化定义。

2.2形式化定义

情感词典(L)可描述为三元组:

L ={C, N , M};
C ={ci}, i =1 , …, I ; N ={nj}, j =1 , …, J ; M ={mt}, t =1 , … , T

其中C代表情感词集,N代表否定词集,M代表程度词集。这些词汇可从当前主流的词典中获取,每个情感词都被赋予积极或消极的极性。给定一篇歌词W:

W ={wh}, h =1 , … , H

可借助情感词典将 W 转换为情感单元集合:

U ={uv}={ci , v , nj , v , mt , v}
ci, v∈W∩C ; nj , v∈W∩N; mt , v∈W∩M
其中 ci , v ,nj , v和mt , v出现在约定大小(每一行)的文本上下文窗口中。

实际应用中,否定词、修饰词与情感词存在依赖关系。以最简单的情感判断为例,每一行歌词中出现一个积极情感词+1分,出现一个消极情感词-1分;但情感词前面通常会有一个程度修饰词,“极好”就比“较好”或者“好”所表达的情感更强烈,所以需要在找到情感词后往前找一下有没有程度修饰,并给不同的程度一个权值;情感词前面有时也有有否定词出现,比如”不“,”不能“这些词。而且如果否定词出现的次数是单数,那么情感置反,情感分值*-1,如果是偶数,那么情感就没有置反;另外由于中文在情感表达上的复杂性,一句话里面可能有褒有贬,不能只用一个分值来表示它的情感倾向,敏感度太高了。因此本文在向量空间模型的构建中,每一个情感单元都有一个积极情感分值和一个消极情感分值,同时表示这个情感单元的情感倾向。

至此,情感单元覆盖了上下文关系和依赖关系,情感词的大部分歧义可被消除,定义如下情感向量空间模型:

VSi = (f1i(U) , f2i(U) , … , f Ti(U))

其中VSi代表第i篇歌词所对应的情感向量,fji表示第j个情感特征在第i篇歌词中出现的次数。中文歌词表达的情感往往存在铺陈、递进、高潮等不同阶段,用“行”作为上下文单位更适合歌词情感分析。

2.3 情感特征提取

本文通过Python爬虫爬取了网易云音乐网站上被收听次数最多的中文歌单中的192首中文歌词,按照严格的实验标准,情感压力类别应该由两位专家人工判定,但由于资源不足,两类情感压力类别“轻松”和“压抑”均是根据网易云音乐歌曲下听众的普遍评论来进行主观判定,会存在部分误差。本文采取哈尔滨工业大学分词工具LTP进行分词,采用的情感词典大部分来自知网的HowNet(包含正面情感词语、负面情感词语、正面评价词语、负面评价词语,6种级别的程度词,以及否定词),为了补充又融合了台湾大学的情感词典(包含积极情感词和消极情感词)。

提取歌词中情感单元的具体过程如下(代码详见mapper.py):由于爬取到的歌词文本每一行表示一句,已经完成分句,直接进行分词;扫描识别情感词,记录积极还是消极,以及出现的位置;往情感词前扫描查找程度词,找到即停止扫描,为程度词设权值,乘以情感值;往情感词前扫描查找否定词,找到全部否定词,若数量为奇数,则乘-1置反,若为偶数,乘1;计算每首歌每一句歌词的积极情感值和消极情感值,用数组记录,得到每首歌的情感单元。去重得到情感特征集合之后,用向量形式表示每首歌。

3.歌词情感分类方法

在将歌曲表示为情感向量后,本文随机选取了154(80%)首歌作为训练集生成分类器,剩下的32(20%)首歌作为测试集,再利用分类器对测试集歌曲进行情感分类。,本文的歌词情感分类属于二元分类,采取了Scikit-Learn库中的朴素贝叶斯和支持向量机两种分类算法,Scikit-Learn包含有完善的文档和丰富的机器学习算法。

3.1朴素贝叶斯

朴素贝叶斯分类器是一个以贝叶斯定理为基础,广泛应用于情感分类领域的分类器。本文采用的朴素贝叶斯分类器类别是多项贝叶斯(Multinomial NB),这个分类器以出现次数作为特征值,某项情感特征([积极情感分值,高级情感分值])在某首歌曲中可能出现多次,符合歌词情感值的分布。其他的朴素贝叶斯分类器如高斯贝叶斯(Gaussian NB)适用于高斯分布的特征,而伯努利贝叶斯(Bernoulli NB)适用于伯努利分布的特征。

多次实验得到的分类准确率均在70%以上,详细实验结果如图1所示:


图1:朴素贝叶斯分类结果

3.2支持向量机

支持向量机(SVM),是把数据映射到多维空间中以点的形式存在,然后找到能够分类的最优超平面,最后根据这个平面来分类。SVM能对训练集之外的数据做很好的预测、泛化错误率低、计算开销小、结果易解释,但其对参数调节和核函数的参数过于敏感。多次实验得到的分类准确率在66%左右,详细实验结果如图2所示:


图2:支持向量机分类结果

4.结语

从F值和分类准确率来看,在本文的歌词情感分类实验中,朴素贝叶斯分类算法优于支持向量机算法。本文还存在很多不足,训练集和测试集的数据偏少,而且情感分类是带有主观色彩的分类准则,个人标注的两类情感压力类别“轻松”和“压抑”存在主观误差,情感特征的提取方法导致向量偏稀疏等,都会导致实验结果存在偏差。

5.参考文献

[1] 夏云庆,杨莹,张鹏洲,刘宇飞. 基于情感向量空间模型的歌词情感分析[J]. 中文信息学报,2010,24(01):99-103.
[2] 郑亚斌,刘知远,孙茂松. 中文歌词的统计特征及其检索应用[J]. 中文信息学报, 2007,(05):61-67.

相关代码和情感词典详见:
https://github.com/leonaxiongxin/lyric-emotional-analysis

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容