一种建立歌词感情分类模型的方法及装置
【技术领域】
本发明涉及自然语言处理技术,特别涉及一种建立歌词感情分类模型的方法及装置。
【背景技术】
随着互联网的发展,音乐网站提供的在线听歌或歌曲下载的服务已经不能满足用户需要,很多用户还希望音乐网站能够根据自己的行为推荐与自己偏好相关的歌曲。
音乐网站想要向用户推荐适宜的歌曲,依赖于对数据库中的歌曲进行准确地分类,目前对歌曲进行感情上的分类,主要依赖人工进行,不仅工作量大,而且带有很强的主观色彩,不同人分类的结果可能是不一样的。
【发明内容】
本发明所要解决的技术问题是提供一种建立歌词感情分类模型的方法及装置,以实现对歌曲进行自动感情分析,向用户准确推荐歌曲的目的。
本发明为解决技术问题而采用的技术方案是提供一种建立歌词感情分类模型的方法,包括:获取标注了感情类型的歌词样本;利用所述歌词样本获取各类型的感情词库;利用各类型的感情词库建立所述歌词样本的特征向量;对所述歌词样本的特征向量进行机器学习,以得到用于对歌词感情进行分类的分类模型。
根据本发明之一优选实施例,利用所述歌词样本获取各类型的感情词库的步骤包括:针对每一类型的歌词样本构成的样本集合,将该样本集合中出现频率超过第一阈值的实词作为该类型的种子感情词;针对每一类型的歌词样本构成的样本集合,将该样本集合中与种子感情词共同出现在相同歌词样本中的频率超过第二阈值的实词作为该类型的第一扩展感情词。
根据本发明之一优选实施例,利用所述歌词样本获取各类型的感情词库的步骤进一步包括:将种子感情词或第一扩展感情词作为搜索引擎的关键词以获取搜索结果,并确定在所述搜索结果中出现频率超过第三阈值的候选实词,当所述候选实词与所述关键词之间的编辑距离不超过第四阈值时,将所述候选实词作为所述关键词所属类型的第二扩展感情词。
根据本发明之一优选实施例,利用各类型的感情词库建立歌词样本X的特征向量的步骤包括:利用所述X对应的歌曲旋律确定所述X的高潮片段;根据所述X的高潮片段中的分句确定所述X的特征向量的分量权重,其中一个分句对应一个分量权重,并且,该分句中词语属于哪个类型的感情词库,就按照与哪个类型的感情词库相对应的第一权重调整规则对该分句对应的分量权重进行调整。
根据本发明之一优选实施例,利用各类型的感情词库建立歌词样本X的特征向量的步骤进一步包括:确定所述X的高潮片段中的分句是否还包含预设类型的辅助词库中的词语,如果是,则按照与该类型的辅助词库相对应的第二权重调整规则对该分句对应的分量权重进行调整。
根据本发明之一优选实施例,所述第一权重调整规则包括:对含有高兴类型的感情词库中词语的分句对应的分量权重进行加权;以及,对含有悲伤类型的感情词库中词语的分句对应的分量权重进行降权。
根据本发明之一优选实施例,所述第二权重调整规则包括:对含有否定类型的辅助词库中词语的分句对应的分量权重进行降权;以及,对含有修饰类型的辅助词库中词语的分句对应的分量权重,若所述第一权重调整规则使得该分量权重增加,则对该分量权重进行加权,否则对该分量权重进行降权。
本发明提供了一种建立歌词感情分类模型的装置,包括:接收单元,用于获取标注了感情类型的歌词样本;词库建立单元,用于利用所述歌词样本获取各类型的感情词库;向量建立单元,用于利用各类型的感情词库建立所述歌词样本的特征向量;训练单元,用于对所述歌词样本的特征向量进行机器学习,以得到用于对歌词感情进行分类的分类模型。
根据本发明之一优选实施例,所述词库建立单元包括:种子词获取单元,用于针对每一类型的歌词样本构成的样本集合,将该样本集合中出现频率超过第一阈值的词语作为该类型的种子感情词;第一扩展词获取单元,用于针对每一类型的歌词样本构成的样本集合,将该样本集合中与种子感情词共同出现在相同歌词样本中的频率超过第二阈值的实词作为该类型的第一扩展感情词。
根据本发明之一优选实施例,所述词库建立单元进一步包括:第二扩展词获取单元,用于将种子感情词或第一扩展感情词作为搜索引擎的关键词以获取搜索结果,并确定在所述搜索结果中出现频率超过第三阈值的候选实词,当所述候选实词与所述关键词之间的编辑距离不超过第四阈值时,将所述候选实词作为所述关键词所属类型的第二扩展感情词。
根据本发明之一优选实施例,所述向量建立单元包括:高潮提取单元,用于建立歌词样本X的特征向量时,利用所述X对应的歌词旋律确定所述X的高潮片段;第一权重单元,用于根据所述X中高潮片段中的分句确定所述X的特征向量的分量权重,其中一个分句对应一个分量权重,并且,该分句中词语属于哪个类型的感情词库,就按照与哪个类型的感情词库相对应的第一权重调整规则对该分句对应的分量权重进行调整。
根据本发明之一优选实施例,所述向量建立单元进一步包括:第二权重单元,用于确定所述X的高潮片段中的分句是否还包含预设类型的辅助词库中的词语,如果是,则按照与该类型的辅助词库相对应的第二权重调整规则对该分句对应的分量权重进行调整。
根据本发明之一优选实施例,所述第一权重调整规则包括:对含有高兴类型的感情词库中词语的分句对应的分量权重进行加权;以及,对含有悲伤类型的感情词库中词语的分句对应的分量权重进行降权。
根据本发明之一优选实施例,所述第二权重调整规则包括:对含有否定类型的辅助词库中词语的分句对应的分量权重进行降权;以及,对含有修饰类型的辅助词库中词语的分句对应的分量权重,若所述第一权重调整规则使得该分量权重增加,则对该分量权重进行加权,否则对该分量权重进行降权。
由以上技术方案可以看出,本发明利用歌词样本,可以获取到感情词库,利用感情词库,可以将歌词样本特征化,从而训练出可用于对歌词感情进行分类的分类模型。本发明采用了文本分析的方法,建立起基于歌词的分类模型,该分类模型可以自动地对未知类型的歌词进行分类,从而确定与歌词相对应的歌曲的感情类型。将本发明应用到歌曲推荐中,能够显著提高歌曲推荐的准确性。
【附图说明】
图1为本发明中建立歌词感情分类模型的方法的实施例的流程示意图;
图2为本发明中建立歌词感情分类模型的装置的实施例的结构示意框图;
图3为本发明中词库建立单元202的一个实施例的结构示意框图;
图4为本发明中词库建立单元202的又一个实施例的结构示意框图;
图5为本发明中向量建立单元203的一个实施例的结构示意框图;
图6为本发明中向量建立单元203的又一个实施例的结构示意框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
请参考图1,图1为本发明中建立歌词感情分类模型的方法的实施例的流程示意图。如图1所示,该实施例包括:
步骤S1:获取标注了感情类型的歌词样本。
步骤S2:利用上述歌词样本获取各类型的感情词库。
步骤S3:利用各类型的感情词库建立上述歌词样本的特征向量。
步骤S4:对上述歌词样本的特征向量进行机器学习,以得到用于对歌词感情进行分类的分类模型。
下面对上述步骤进行详细介绍。
歌词样本是以完整的一首歌词为单位进行划分的,例如歌曲《只对你有感觉》的歌词就是一个歌词样本。本实施例中的歌词样本指的是已经标注了感情类型的歌词。例如《只对你有感觉》的感情类型是高兴类型,《甜甜的》的感情类型是高兴类型,《突然好想你》的感情类型是悲伤类型等等。
在一个实施例中,步骤S2具体包括步骤S21和步骤S22。
步骤S21:针对每一类型的歌词样本构成的样本集合,将该样本集合中出现频率超过第一阈值的实词作为该类型的种子感情词。
样本集合中一个词语的出现频率是该词语的出现次数与所有词语的出现次数之间的比值。歌词样本可分为高兴和悲伤类型,所有属于高兴类型的歌词样本可以构成一个样本集合,例如高兴类型的歌词样本有《只对你有感觉》、《甜甜的》和《穷开心》,在这三首歌词形成的集合中统计各实词的频率,并将频率超过第一阈值的词选取出来就成为了种子感情词。其中,第一阈值可以是一个绝对值,例如为0.1,这时,样本集合中出现频率超过0.1的实词就是种子感情词。此外,第一阈值还可以是一个相对值,例如第一阈值是样本集合中排名第50位的实词的出现频率,则样本集合中排名前49位的实词都是种子感情词。采用上述方式,可以得到高兴类型的种子感情词和悲伤类型的种子感情词。
步骤S22:针对每一类型的歌词样本构成的样本集合,将该样本集合中与种子感情词共同出现在相同歌词样本中的频率超过第二阈值的实词作为该类型的第一扩展感情词。
例如,“喜欢”是高兴类型的种子感情词,在高兴类型的样本集合中,“欣赏”总共出现了20次,而“欣赏”与“喜欢”共同出现在相同歌词样本中的次数为15次,则高兴类型的样本集合中,“欣赏”与种子感情词共同出现在相同歌词样本中的频率是15/20=0.75,如果第二阈值为0.6,则“欣赏”就可以作为第一扩展感情词。
在步骤S22中,利用了步骤S21中得到的种子感情词获取更多同类型的感情词,即第一扩展感情词。每个类型的种子感情词和第一扩展感情词构成了该类型的感情词库。
在另一个实施例中,步骤S2除了包括步骤S21和步骤S22,还包括步骤S23。
步骤S23:将种子感情词或第一扩展感情词作为搜索引擎的关键词以获取搜索结果,并确定在搜索结果中出现频率超过第三阈值的候选实词,当候选实词与关键词之间的编辑距离不超过第四阈值时,将候选实词作为关键词所属类型的第二扩展感情词。第二扩展感情词也是对应类型的感情词库中的词语。
例如高兴类型的种子感情词或第一扩展感情词中有“美丽”,将“美丽”作为关键词输入搜索引擎,并从搜索引擎得到搜索结果。作为一种实施方式,搜索结果既可以是全文,也可以是标题。如果“美好”在搜索结果中出现频率(即“美好”在搜索结果中出现次数与所有词语的次数总数之比)为0.1,而第三阈值是0.05,那么“美好”就是候选实词,考察“美好”与“美丽”之间的编辑距离,该编辑距离为1,假设第四阈值为2,则“美好”就可以作为高兴类型的第二扩展感情词。
通过前面的介绍可以知道,在本发明中,采用了多种方式丰富感情词库中的感情词,感情词库是后续步骤S3和步骤S4的基础,词库中尽可能丰富的感情词,可以保证后续步骤S3中确定歌词样本的特征向量的准确性。
步骤S3中,利用步骤S2得到的各类型的感情词库,就可以建立各个歌词样本的特征向量了。
下面对利用各类型的感情词库,建立一个歌词样本的特征向量的方式进行介绍,建立其他歌词样本的特征向量的方式是类似的,下面将这个歌词样本称为X。
具体地,步骤S3中,建立歌词样本X的特征向量的步骤包括:
步骤S31:利用X对应的歌曲旋律确定X的高潮片段。
步骤S32:根据X的高潮片段中的分句确定X的特征向量的分量权重,其中一个分句对应一个分量权重,并且,该分句中词语属于哪个类型的感情词库,就按照与哪个类型的感情词库相对应的第一权重调整规则对该分句对应的分量权重进行调整。
步骤S31中,X作为一首歌的歌词,对应着一首歌的旋律。一首歌的高潮部分,通常是该首歌旋律中反复出现的部分,提取该段旋律对应的歌词,可以得到X的高潮片段。例如从《因为爱情》的旋律中确定出重复旋律对应的歌词片段,即高潮片段如下:
因为爱情,不会轻易悲伤
所以一切都是幸福的模样
因为爱情,简单的生长
依然随时可以为你疯狂
因为爱情,怎么会有沧桑
所以我们还是年轻的模样
因为爱情,在那个地方
依然还有人在那里游荡人来人往
以上每行均是高潮片段的一个分句,在步骤S32中,需要确定每个分句对应的分量权重,这样利用高潮片段就可以得到X的特征向量,例如X的特征向量为[0,2,3,2,3,0,4,3],其中“0”就是高潮片段中第一分句对应的分量权重,其他数字表示类似的含义。首先,步骤S32中,每个分句可以赋予相同的初始权重,然后再根据每个分句具体包含的词语对初始权重进行调整。以感情词库分为高兴类型和悲伤类型为例,具体地,第一权重调整规则包括:对含有高兴类型的感情词库中词语的分句对应的分量权重进行加权;以及,对含有悲伤类型的感情词库中词语的分句对应的分量权重进行降权。
以分句“因为爱情,不会轻易悲伤”为例,假设初始权重为0,由于“爱情”属于高兴类型的感情词库中词语,进行加权,例如加3,则该分句对应的分量权重变为3,由于“悲伤”属于悲伤类型的感情词库中的词语,进行降权,例如降3,则该分句对应的分量权重变为0。按照类似的方式,高潮片段中的每个分句都可以得到对应权重。
为了让特征向量的各分量的权重更好地反映对应分句的特征,在一个实施例中,对各分量权重进行调整时,还进一步考虑该分量权重对应的分句中是否包含预设类型的辅助词库中的词语。也就是说,在这个实施例中,步骤S3进一步还包括步骤S33。
步骤S33:确定X的高潮片段中的分句是否还包含预设类型的辅助词库中的词语,如果是,则按照与该类型的辅助词库相对应的第二权重调整规则对该分句对应的分量权重进行调整。
这里的辅助词库是预先挖掘得到的,可分为否定类型和修饰类型。否定类型的辅助词语是表示否定含义的词语,修饰类型的辅助词语又可以分为修饰性的虚词和修饰性的实词。修饰性的虚词包括“如果”、“的”之类没有实际含义仅对表达起辅助性作用的词语,修饰性的实词则包括“入迷”、“上好”之类不属于感情词库的形容词和动词。
作为一种实施方式,第二权重调整规则包括:对含有否定类型的辅助词库中词语的分句对应的分量权重进行降权;以及,对含有修饰类型的辅助词库中词语的分句对应的分类权重,若第一权重调整规则使得该分量权重增加,则对该分量权重进行加权,否则对该分量权重进行降权。
仍以“因为爱情,不会轻易悲伤”为例,“不会”属于否定类型的辅助词库中词语,因此根据对应的第二权重调整规则,应该对该分句对应的分量权重进行降权。
以“因为爱情,简单的生长”为例,“爱情”是高兴类型的感情词库中词语,因此根据第一权重调整规则,该分句对应的分量权重增加,这时如果“生长”属于修饰类型的辅助词库中词语,则再对该分句对应的分量权重进行加权,但是,如果“爱情”属于悲伤类型的感情词库中词语,根据第一权重调整规则,该分句对应的分量权重降低,则这时由于含有修饰类型的辅助词语“生长”,则需要再对该分句对应的分量权重进行降权。也就是说,对含有修饰类型的辅助词语的分句,若之前根据第一权重调整规则得到的最终权重降低,则需要再降权,若之前根据第一权重调整规则得到的最终权重增加,则需要再加权。
在一个实施例中,对修饰类型的虚词和修饰类型的实词进行加权或降权时,还可以采用不同的数量策略,例如修饰类型的虚词加1或减1,修饰类型的实词加2或减2。
通过步骤S3,所有的歌词样本均得到了各自的特征向量,在步骤S4中,对各个歌词样本的特征向量进行机器学习,就可以得到分类模型。
具体地,对歌词进行分类可以表示为S=f(xi),其中xi表示歌词的特征向量,S表示类型,f表示分类模型。如果已知f,对任意一个具有特征向量的歌词,就可以确定它的类型。因此,在步骤S4中,实际上就是利用若干对已知的xi和S,通过机器学习得到f。本发明对机器学习的方法不做限定,任何已知的机器学习方法都可以应用在本发明中,例如SVM(support vector machine支持向量机)的机器学习方法就可应用在本实施例的步骤S4中。
在步骤S4后,就可以得到本发明中用于对歌词感情进行分类的分类模型,该模型可应用在自动歌词感情分析中,以对线上用户推荐符合其偏好的歌曲,从而提高歌曲推荐的准确性。
请参考图2,图2为本发明中建立歌词感情分类模型的装置的实施例的结构示意框图。如图2所示,该装置包括:接收单元201、词库建立单元202、向量建立单元203及训练单元204。
其中,接收单元201用于获取标注了感情类型的歌词样本。词库建立单元202,用于利用歌词样本获取各类型的感情词库。向量建立单元203,用于利用各类型的感情词库建立歌词样本的特征向量。训练单元204,用于对歌词样本的特征向量进行机器学习,以得到用于对歌词感情进行分类的分类模型。
请参考图3,图3为本发明中词库建立单元202的一个实施例的结构示意框图。如图3所示,该实施例包括:种子词获取单元2021、第一扩展词获取单元2022。
其中种子词获取单元2021,用于针对每一类型的歌词样本构成的样本集合,将该样本集合中出现频率超过第一阈值的词语作为该类型的种子感情词。第一扩展词获取单元2022,用于针对每一类型的歌词样本构成的样本集合,将该样本集合中与种子感情词共同出现在相同歌词样本中的频率超过第二阈值的实词作为该类型的第一扩展感情词。
请参考图4,图4为本发明中词库建立单元202的又一个实施例的结构示意框图。与图3所示的实施例相比,图4所示的实施例中词库建立单元202进一步包括第二扩展词获取单元2023。第二扩展词获取单元2023,用于将种子感情词或第一扩展感情词作为搜索引擎的关键词以获取搜索结果,并确定在搜索结果中出现频率超过第三阈值的候选实词,当候选实词与关键词之间的编辑距离不超过第四阈值时,将候选实词作为关键词所属类型的第二扩展感情词。
请参考图5,图5为本发明中向量建立单元203的一个实施例的结构示意框图。如图5所示,向量建立单元203包括高潮提取单元2031和第一权重单元2032。
其中高潮提取单元2031,用于建立歌词样本X的特征向量时,利用X对应的歌词旋律确定X的高潮片段。第一权重单元2032,用于根据X中高潮片段中的分句确定X的特征向量的分量权重,其中一个分句对应一个分量权重,并且,该分句中词语属于哪个类型的感情词库,就按照与哪个类型的感情词库相对应的第一权重调整规则对该分句对应的分量权重进行调整。
作为一种实施方式,第一权重调整规则包括:对含有高兴类型的感情词库中词语的分句对应的分量权重进行加权;以及,对含有悲伤类型的感情词库中词语的分句对应的分量权重进行降权。
请参考图6,图6为本发明中向量建立单元203的又一个实施例的结构示意框图。与图5所示的实施例相比,图6所示的实施例中向量建立单元进一步包括第二权重单元2033。第二权重单元2033,用于确定X的高潮片段中的分句是否还包含预设类型的辅助词库中的词语,如果是,则按照与该类型的辅助词库相对应的第二权重调整规则对该分句对应的分量权重进行调整。
作为一种实施方式,第二权重调整规则包括:对含有否定类型的辅助词库中词语的分句对应的分量权重进行降权;以及,对含有修饰类型的辅助词库中词语的分句对应的分量权重,若第一权重调整规则使得该分量权重增加,则对该分量权重进行加权,否则对该分量权重进行降权。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。