基于兴趣情感算法的音乐推荐系统设计

2022-02-21 10:42宋倩雯
微型电脑应用 2022年1期
关键词:归类语料库特性

宋倩雯

(咸阳师范学院,音乐学院,陕西,咸阳 712000)

0 引言

当下,互联网上的音乐资源异常丰富,各种音乐平台的用户们在享受音乐带来的休闲时光的同时也面临着音乐种类过多、难以抒发情绪的困扰,音乐平台的开发者们逐渐注意到了用户们的心理需求,大多数平台都添加了个性化音乐推荐功能。但是,大多数的推荐都是根据用户的点播历史来总结用户感兴趣的音乐种类,推荐的作品往往是在曲风、作者、歌词内容等方面具有较高的相似度,并没有考虑到当用户因多种因素影响而产生情绪变化时,所需要的音乐在节奏、风格上也会发生变化。本文基于双向情感分析设计了一种音乐推荐平台,既能够根据音乐的梅尔倒谱特征开发分类器进行情感音乐分类,也能够通过捕捉用户发布的网络信息来分析用户的实时情绪状态,最终推荐可以响应其情感需求的音乐,以此来提升平台用户的使用体验。

1 音乐推荐平台整体结构

基于双向情感分析的音乐推荐平台主要包括用户音乐情感识别、用户社交情感实时识别以及推荐音乐显示界面3个模块,其总体结构如图1所示。

图1 英语信息共享平台总体架构

用户和音乐的情感通过悲伤、躁动、励志和喜悦4个情绪状态表达。平台进行音乐推荐的流程为分析用户在线收听的音乐历史列表,通过计算得到这些音乐的频域梅尔倒谱系数,基于结果对这些音乐进行情感归类,这是一个音乐情感离线识别的过程。在用户社交情感实时识别中,利用网络爬虫的信息捕捉功能获取用户在网络社交活动中所发布的有关情感的文字信息,通过自然语言处理分析用户当时的情绪状态,即音乐情感的实时在线识别。为分析得到的用户心情匹配与之对应的音乐类别,详细选取出能够响应心情的音乐,通过平台界面向用户进行推荐。

2 音乐情感识别归类

首先需要对音乐的数据内容进行预处理,分别基于音乐的频域特性和梅尔倒谱特性各设计一种归类器,通过实验获得的结果显示,梅尔倒谱系数特性准确度更高,因此本文所设计的推荐平台将其选定为音乐归类的依据。

2.1 实现过程

(1)预处理音乐数据内容。鉴于目前尚没有根据不同音乐情感类别建立的音乐数据库,所以本平台创建了一个包含1 600首特选音乐的数据库,通过SoX软件将mp3格式的音乐文件转换为220 V/50 Hz音轨、单声道WAV文件。

(2)音乐情感归类结果人工标定。由20名具有本科学历的音乐爱好者组成测评团队,分悲伤、躁动、励志、喜悦4个情绪状态对音乐数据库中的音乐进行归类。鉴于个人主观判断的差异化,对于同一段音乐,其最终归类结果按照选择人数较多的类别确定。

(3)创建测试集和训练集。将音乐数据库中的WAV文件按7∶3的比例划分为2个音乐集,占70%的部分作为训练集,依据该集中音乐的特性设计归类器,其余部分作为测试集,用以测评归类器的功能可靠性。

(4)提取音乐特性。音乐信号的分析方式有很多种,最常用的是时域分析和频域分析两种。时域分析的优势是计算量相对较少,提取过程简单易行,但其鲁棒性明显较差。相比之下音乐信号功率谱对音乐所表达情感的感知更全面、更深入,因此本平台设计过程中选取频域分析作为音乐情感特性的提取对象,提取的内容是频谱特性和梅尔倒谱特性。

(5)训练归类器的选择。鉴于音乐情感分类是一种多分类行为,因此音乐情感归类由逻辑回归分类器执行。

(6)测试归类器性能,分析归类结果。由设计的归类器对测试集中的音乐进行情感归类,得到的结果与人工标定结果对比以评估归类器性能。

2.2 音频信号提取流程

基于频域特性参数分别提取每一段音乐的频谱特性和梅尔倒谱特性。通常情况下通过离散傅里叶变换来进行数字信号处理,因此本平台基于快速傅里叶变换来计算每一段音乐的频谱特性。

MFCC(梅尔频率倒谱系数),能够表达频域中音频信号的非线性特性,同时具有识别性高、抗干扰能力强的特征,与人耳听觉特性接近。MFCC的参数提取过程如图2所示。

图2 MFCC的参数提取过程

(1)连续音乐信号集s(n)通过加重渲染、分帧、加窗处理后转换为到一帧音乐信号集x(n)。

(2)通过快速傅里叶变换将x(n)转换为线性频域信号X(k),

(1)

其中,x(n)为输入信号集,N为傅里叶变换中点的数量。

(3)将X(k)代入三角滤波器组Hm(k),设M为滤波器组的数量,0≤m≤M。对于三角滤波器组,其中心频率f(m)在梅尔频率域内具有相同间隔。在此基础上相邻三角带通滤波器的中心频率间距为ΔMel=f(max)/(k+1),则可计算出每个带通滤波器组所传递的参数如式(2)。

(2)

(4)滤波器组处理后的Mel坐标系上的能量谱s(m)

(3)

(5)通过离散余弦反变换可计算出频率域Mel频率倒谱C(n)

(4)

其中,n=0,1,2,…,L,L为MFCC阶数。

鉴于MCFF前端及末端取值对音频识别性较强,因此本文取前12维MFCC系数及一阶差分系数作为MFCC特性参数。

2.3 音乐情感分类结果的评估与比较

获取了每一段音乐的频谱特性和梅尔倒谱特性后,就可以分别基于这2种特性进行归类器的训练,再通过测试集中的音乐对归类结果进行分析。

平台设计过程中利用混淆矩阵对归类结果进行可视化分析。混淆矩阵能够以直观的方式对分类结果的正确性进行可视化表达,矩阵中显示了测试目标的预想位置与实际位置,以颜色的深浅度来表示两者的重叠情况,进而表明分类结果的正确性。图3中的混淆矩阵对比图显示了分别基于频谱特性和梅尔倒谱特性设计的归类器运行结果。图中横轴代表音乐的归类器预测类别,纵轴代表人工标定判定类别。按照混淆矩阵的对比规则,主对角线上的方格颜色越深,横轴与纵轴的一致性越高。由图3可见,图3(a)基于频谱特性设计的归类器喜悦、躁动两项对应的方格颜色较深,励志、悲伤两项对应的方格颜色较浅,非对角区域大多为灰色方格,并未呈现预想的白色对角线,可见分类结果大多不准确,没有达到理想状态;图3(b)基于梅尔倒谱特性设计的归类器主对角线上的方格颜色普遍较深,尤其是躁动对应的方格,同时,非对角线区域方格颜色较浅且多是白色方格,说明分类错误的音乐数量较少,相对于左面的矩阵图形在分类结果上具有明显的优势。相比之下基于梅尔倒谱特性设计的归类器运行效果明显更好,因此本平台采用梅尔倒谱特性归类器进行音乐情感归类。

图3 分别基于频谱特性和梅尔倒谱特性设计的归类器运行结果

3 用户实时情绪捕捉

通过归类器对音乐情感进行归类后,需要对用户的实时情绪状态进行识别,以实现两者的匹配。

3.1 情感分析实现过程

(1)情感信息的筛选和预处理。从新浪微博的7 500条热门话题中筛选出2 500条信息内容色彩较浓的微博作为用户情感文字信息集。

(2)文字信息情感归类人工标定。由25名具有本科学历的人员组成测评团队,分悲伤、躁动、励志、喜悦4个情绪状态对上述微博中文字信息所透露的情绪进行归类。

(3)创建测试语料库和训练语料库。具体过程为:第一步,从2 500条微博的用户情感文字信息集中筛选出中文词句,利用分词工具进行分词,作为情感文本集,将“给力”“杯具”等表明情绪的网络热门词汇合并到基本情感字典中,形成新的情感字典;第二步,基于新情感字典降维情感文本集矩阵,提取出其中用于明显情感释放的词汇,判定其情感特性;第三步,计算情感特性权值,将降维的情感文本集矩阵按7∶3的比例划分为两个语料库,占70%的部分作为训练语料库,通过它对归类器进行训练。用于本次研究的训练集与测试集的测评团人工分类结果如表1所示。

表1 训练集与测试集人工分类结果

(4)归类器训练。语料库归类器基于朴素贝叶斯设计,用户的4个情绪状态出现几率计算方法为P(Ci)=si/s,不同特性对不同归类的条件概率为P(X|Ci),通过这两个值能够生成情感归类器。

(5)归类测试及结果分析。通过训练过的归类器对测试语料库进行情感归类。具体流程:从训练语料库中提取出每条文本信息的向量矩阵d={w1,w2,…,wn},通过n维特性向量X={x1,x2,…,xn}来描述,其中xk为特性Ak的值,样本按情感类别分成4类,即C={C1,C2,C3,C4},为4个类别分配一个无类别文本数据,仅在P(Ci|X)>P(Cj|X)的条件下,将其归入到Ci类中。

3.2 用户情感分类结果分析

本文基于精确率、召回率两种评价方法对文本信息的情感归类结果进行分析。精确率是指被正确判定为正确文档的数量占比;召回率是指实际的正确文档被判定为正确的数量占比。通过归类器对测试语料库中的文本信息进行情感归类,由测评团对归类器的分类结果进行人工鉴别,从而验证本系统的音乐情感分类准确性。通过本系统所进行的音乐情感分类实验结果如表2所示。

表2 本系统情感分析实验结果

由表2中的数据可见,系统判定为喜悦情感的文本信息为144条,占测试数据集相应分类数量的85.03%,即系统判定精确率为85.03%,通过人工判定,选取的信息中有124条属于喜悦类文本信息,占测试数据集相应分类数量的73.22%,即系统召回率为73.22%。同理计算可得励志、悲伤、躁动情感的系统判定精确率及召回率分别为78.69%和70.24%、73.23%和69.37%、86.37%和75.03%,分类效果如图4所示。

图4 测试语料库文本信息归类结果

可见,贝叶斯分类器的文本信息情感归类效果显著。推荐平台将音乐情感归类结果与用户文本信息情感归类结果进行匹配,即可实现依据用户实时情绪进行音乐推荐的功能。

3.3 系统稳定性测试

(1)硬件环境

系统运行计算机硬件配置如表3所示。

表3 系统测试用计算机硬件配置

(2)软件环境

计算机操作系统为Windows 10 64位专业版,安装网络爬虫、SoX音频处理、结巴中文分词工具、WAV音乐播放器等软件。

(3)测试结果及分析

在系统持续在线运行24 h的条件下,逐渐增加系统的同时访问用户数量,检查相应状态下的CPU占用率、内存使用率等参数变化情况。测试数据如图5所示。在24 h运行时间内,系统一直保持稳定,未出现宕机现象,分类及推荐功能正常实现。

图5 系统稳定性测试数据

4 总结

本文在多数在线音乐平台无法根据用户心情的变化进行音乐推荐的背景下,提出并设计了一种基于双向情感分析的音乐推荐平台,它根据音乐的梅尔倒谱特征开发分类器进行情感音乐分类,通过捕捉用户发布的网络信息来分析用户的实时情绪状态,最终向其推荐可以响应其情感需求的音乐。通过实验证明,本平台能够实现根据用户实时情绪进行音乐推荐的功能,并以此提升了平台用户的使用体验。

猜你喜欢
归类语料库特性
数列易错点归类剖析
基于语料库的清末民初日源外来词汉化研究
谷稗的生物学特性和栽培技术
色彩特性
《语料库翻译文体学》评介
Happiness through honorable actions
进一步凸显定制安装特性的优势 Integra DRX-5.2
Quick Charge 4:什么是新的?
语篇元功能的语料库支撑范式介入