基于民歌歌词的情感分类研究与实现概述
2018-10-30张婷,曹晖
张 婷,曹 晖
(西北民族大学 中国民族语言文字信息技术重点实验室,甘肃 兰州 730030)
0 引言
我国幅员辽阔、历史悠久,全国56个民族在漫长的岁月中共同创作了光辉灿烂的民间音乐文化,为后人留下了十分丰富和优秀的文化遗产.民歌歌曲代表着一个民族的文化,也代表着一个时代的记忆.随着时代的发展,民歌逐渐淡出人们的视野,因此我们必须记住民歌,传承经典.然而,为了更加有效地搜索民歌,对民歌进行的分类就显得尤为重要.
近些年来,国家对于少数民族语言、汉语方言和相关地域文化的保护措施逐渐加强.十九大报告中指出:“文化是一个国家、一个民族的灵魂.文化兴国运兴,文化强民族强.”“中国语言资源保护工程”是顺应文化大发展的时代潮流.我国是一个多民族、多语种、文化多元的国家,民歌集中体现了一个民族的民族精神、风俗习惯和风土人情等,它是民族文化之魂.中国民歌的情感分类问题,也是民歌研究工作中的一个重要环节.
目前,常见的民歌分类按内容分有:劳动歌、生活歌、情歌、儿歌等.按体裁分有:号子、山歌、小调[1].按民族分有:汉、蒙古、藏、壮、维吾尔等族.但是,按情感分类涉及的不多.所谓情感分析又称作情感计算,它是一个多领域交叉的研究方向[2].其研究方向主要包括:文本情感分析[3]、语音情感分析[4]、情感机器人等.由于地理环境风俗习惯人文风情等差异,民歌的唱法产生了很多不同版本.比如山东的“绣荷包”,旋律舒缓;山西的“绣荷包”,苍劲高亢.本文从民歌歌词着手,对汉语民歌的情感分类进行研究,属于文本情感分析的范畴.
1 主要研究内容
本文研究的内容是对民歌情感进行分类.目前,对于民歌的分类大多是按照地域或者题材等分类,这种分类对人们的帮助和理解是有限的,不足以分析和判断人们对民歌的情感和态度.本文拟采用张晓未在《民歌情感因素探微》的民歌情感分类,进行“热烈欢快”“悲伤忧愁”“童趣天真”“其他类别”的情感分类[5].再结合已有的音乐情感分类标准,通过有效特征融合和情感词极值表,计算其权值大小,然后对民歌情感进行程度判断.本文将从以下几个方面着手研究,其实验技术路线图见图1.
图1 民歌分类实验技术路线图
1.1 语料库的构建及预处理
本文采用语料来源于网上资料和对各个音乐网站爬虫.通过预处理将其存储为文本形式.我们首先将文本进行人工标注和划分.以山西民歌《走西口》为例,其深刻地唱出了农民的苦难和辛酸,这就属于“悲伤忧愁”的情感.当构建出语料库之后,就需要对文本进行预处理操作,其步骤如下[6]:
1)首先要对文档中的无用信息进行处理,去除掉文档中文档格式、标点符号、数字、特殊字符等一些无关信息.
2)对歌词文本进行分词,将文本中的歌词分割成单词.本文实验中拟采用多种分词算法进行对比,选择分词正确率较高的进行分词,并对中文词性进行标注.
3)去除文本中的停止词.在文本中存在着很多无用的没有区分和预测能力的特征词,如冠词、助词、代词、介词、连词,去掉这些无用的特征词,可以减少特征总数,因此只提取文本中的具有情感倾向的特征词.
4)建立文本中词汇的数字映射表,对当中的单词进行统计,用文本空间向量来存储,使得文本表示成特征向量.
1.2 中文分词技术
歌词情感分类的前提是切分出单个的词语,然后再进行其他分析,从而获得有用信息.而分词的准确率在很大程度上对搜索结果会有影响.对于英文,词间都有空格作为间隔标志,实现起来相对容易.对于中文,只有句子间的标点符号,词与词之间没有明确的分隔标记[6].
中文分词就是按照一定规则,把计算机无法理解的字符串切分成计算机可以理解的词序列的过程.四种常用的基于python的中文分词工具有:jieba、SnowNLP(MIT)、pynlpir(大数据搜索挖掘实验室)、thulac(清华大学自然语言处理与社会人文计算实验室).本文将几种分词方法进行实验对比,并进行评价,找出对汉语民歌分词效果最好的分词方法,以降低对最终分类结果的影响.
1.3 情感分析词典
首先将民歌分为“抒情”“热烈欢快”“悲伤忧愁”“童趣天真”等类别.然后对民歌情感再进行细粒度划分.此时就需要建立情感分析词库,通过对歌词中情感词和情感词典进行对比,可以计算出情感值,才能对民歌进行程度判断.本研究根据语料质量和特征选择来决定选用何种情感词典并加以修改.以下将介绍几种典型的情感分析词典.
1.3.1 台湾大学中文情感极性词典
该词典为简体的情感极性词典,共包含2 812个正向情感词和8 278个负向情感词,可以用于二元情感分类任务当中[7].正向情感词如:乞丐、乞求、乞讨、乞得等.负向情感词如:小心、小心的、小心谨慎、小心谨慎的等.中文情感极性词典数据可应用于以下领域:
1)中文情感词典的构建;
2)中文微博、中文网络舆情的情感分析;
3)中文环境下的机器学习.
1.3.2 清华大学李军中文褒贬义词典
该词典共包含两个文件:一个为褒义,一个为贬义.该词典共包含褒义词5 568个和贬义词4 470个[8].褒义情感词如:遂意、得救、稳帖、谦诚等.贬义情感词如:泡影、失足、浮夸、悲剧等.
1.3.3 知网情感词典
该词典主要分为中文和英文两部分,共包含如下数据:中文正面评价词语3 730个,中文负面评价词语3 116个,中文正面情感词语836个,中文负面情感词语1 254个;英文正面评价词语3 594个、英文正面评价词语3 563个、英文正面情感词语769个、英文负面情感词语1 011个[9].
1.3.4 大连理工大学中文情感词汇本体库
中文情感词汇本体库是大连理工大学信息检索研究室在林鸿飞教授的指导下,整理和标注的一个中文本体资源.该资源从不同角度描述一个中文词汇或者短语,包括词语词性种类、情感类别和情感强度等信息[8].
此本体库是在Ekman的基础上构建的,其对褒义情感进行了更细致的划分.最终词汇本体中的情感共分为7大类21小类.
1.4 文本表示方法
向量空间模型(Vector Space Model)是目前被广泛使用的文本度量模型.它是一种基于统计理论的代数模型.此模型通过将文档映射为特征向量的方式将对文本的处理转化为对空间向量进行的向量运算,并通过空间上的相似度对文本间的相似度进行表达,使得对文本的处理变得更简单[10].而文本向量化表示实际上就是对语料的特征提取过程,也就是分类器的输入.如:民歌《茉莉花》中“好一朵茉莉花”.分词之后为“好/一朵/茉莉花”.在这里规定词向量空间为:(好,一朵,茉莉花),对应三维空间中的(x,y,z),结果见图2.
图2 VSM的文本量化演化图
1.5 分类器
文本分类就是通过计算机根据已经建立好的分类器,对未知类别进行划分的过程.文本分类的流程见图3.
图3 文本分类流程
民歌歌词提取情感特征之后,代表歌曲情感的特征向量就要进行情感分类.本项目拟采用SVM实现文本分类[11].SVM最初应用于二分类问题,随后逐渐应用于多分类问题上.对民歌歌词提取情感特征之后,代表歌曲情感的特征向量就要进行情感分类.而本研究将同常用分类方法,如:高斯混合模型、KNN分类算法、神经网络、支持向量机等进行对比评测,找出分类效果最好的分类算法.
1.6 评价指标
准确率(precision)、召回率(recall)和F值(F-measure)是文本情感分类结果的常用评价指标.
1)在情感分类中,准确率即正确情感分类的文本数占总情感分类文本数的比例,其公式为:
2)召回率也称查全率,即与人工情感分类结果相吻合的文本占人工情感分类结果应有文本的比率,其公式为:
3)F值是将准确率和召回率统一到一个尺度中,F值越大,说明分类器的分类效果越好,其公式为:
2 结束语
本文系统地阐述了基于民歌歌词情感分类研究与实现的步骤,其主要包括6部分:①建立语料库;②分词;③情感词典;④文本向量化表示;⑤分类器;⑥评价指标.目前对民歌的情感分类研究的学者很少,而本项目将从了解中文歌词的音乐情感分析出发,在对现有的中文歌词分类方法理解的基础上,结合民歌领域知识,扩充民歌情感词汇表,借助音乐情感分类方法进行研究,最终通过分类实验进行验证.