基于内容和上下文的音乐推荐
文章作者:弗朗西斯科·里奇 等
内容来源:《推荐系统:技术、评估及高效算法》& DataFunTalk
导读: 随着在线音乐商城及流媒体音乐服务的出现,数字音乐分发已经使得音乐触手可及。然而,面对突然出现的海量可收听内容,听众很容易面临信息过载的问题。因此,本次分享的主题音乐推荐系统,将为那些面临海量内容的用户提供一些引导。本文将重点介绍其中的两种音乐推荐系统:基于内容和上下文的音乐推荐。
01基于内容的音乐推荐
内容信息涵盖了任何可以用于描述音乐内容的信息,包括从音频信号中抽取的信息和外部信息源 ( 网络文档、音乐作品目录和标签 ) 提供的元数据。在本节中,我们将概述基于内容的音乐推荐算法,并根据采用的信息源对现有的算法进行分类。
1. 元数据信息
音乐元数据一般有以下几种形式:专家的人工标注 ( manual annotation )、来自协同标记服务的社会化标签 ( social tag )、应用文本检索技术从网络上自动化挖掘的标注 ( automatically mined from the Web )。尽管有研究显示这些元数据并不能比协同过滤技术取得更好的效果,但面对冷启动场景下,这些元数据可以作为协同过滤的补充或替代。
① 人工标注
人工标注包括可编辑的元数据 ( editorial metadata ),例如音乐曲风和子曲风、发行公司、发行的时间和地区、艺术家间关系、曲目、专辑以及任何相关的发行信息。此外,例如像节奏、情绪和乐器这样音乐属性的标注可以对音乐内容提供更详尽的描绘。
音乐专家或者成熟的爱好者社区提供了一些可编辑的元数据的在线数据库。这些数据库保证了数据的质量,但也因自身结构存在缺陷,比如坚持曲风分类 ( genretaxonomies )。MusicBrainz和Discogs提供大量免费的由社区整理的艺术家,唱片公司和发行信息。这些信息包括音乐的文化背景但不包括除流派和音乐年代之外的详细的音乐属性标注。尽管存在这些限制,但可编辑的元数据已经被用于构建简单的基于流派的推荐系统、改善基于音频内容的推荐方法及混合推荐系统。
Bogdanov等人仅仅利用从Discogs数据库获取的元数据构建了一个艺术家推荐系统。对于每个在数据库中的艺术家,会根据所有跟该艺术家相关的发行物所属曲风、风格、唱片公司、国家和年份信息生成一个带权向量。同时考虑了艺术家间的关系 ( 昵称、团队资格 ) 和艺术家在发行物中的角色 ( 例如,主唱,混音/伴奏 )。艺术家间的相似度一般通过比较稀疏带权标签向量,同时带权向量可以被隐含语义分析 ( Latent Semantic Analysis,LSA ) 压缩。
其他不仅限于曲风和年代的人工标注的属性也可以获取,只是一般来说更加昂贵并且比较难覆盖到大规模数据上。Pandora是一个在大规模商业推荐系统中使用专家标注的例子。类似的,AllMusic是一个在一般可编辑的元数据的基础上提供情绪标注的商业数据库的例子。然而,因为所有权的问题而没有这样的公开数据集,在学术研究中罕有使用这些人工标注。因此,现有的研究中均采用独立的手工标注,例如曲风、节奏、情绪、年份和情感。
② 社会化标签
与结构化分类驱动的专家标注相比,音乐项目的信息可以从社会化标签服务收集。社会化标签服务允许任一用户给任一内容提供非结构化的文本标注。尽管本身存在噪声,但社会化标签可以从更大的标注群中抽取。此外,标注噪声可以用于构建结构化的标签分类系统。通过提供可公开获取的大规模音乐标签集合,Last.fm的音乐标签服务在学术研究中已经逐渐流行。这不仅包含描述流派、情绪、乐器和地点的非分类标签,也包含由音乐引发的用户联想,如最喜欢的、现场直播的。单个艺术家或曲目的标签很容易被获取,通过比较对应标签带权向量,可以估计内容之间的相似度。通过隐含语义分析技术增强的相似度比较可以解决稀疏向量的问题。
③ 通过网络内容挖掘的标注
作为社会化标签的替代,利用文本处理技术可以从音乐相关的网页中挖掘关键词标注。关键词可以从与音乐内容相关的网页、博客、RSS消息或者歌词数据库抽取。Schedl等提供了利用文本挖掘技术衡量艺术家相似度的概述,并且创建了一个基于艺术家个人信息 ( artist term profile ) 索引的大规模音乐搜索系统。Barrington等人提出一个类似的方法,通过限制关键词挖掘指向特定拥有高质量音乐信息的网站,例如AllMusic、Wikipedia、Amazon、BBC、Billboard或Pitch-fork。在Pazzani和Billsus的早期研究中,描述了一种通过从网页中抽取的艺术家关键词并利用朴素贝叶斯分类器预测用户偏好的推荐方法。Green等人从维基百科艺术家词条和Last.fm的社会化标签中检索关键词。他们提出了基于艺术家之间或者艺术家与用户所喜爱的艺术家构造的关键词权重向量之间的相似度生成推荐。类似地,McFee和Lanckriet结合在Last.fm上的社会化标签和从艺术家简介中抽取的关键词预测艺术家相似度。Celma等人从与音乐艺术家相关的RSS消息中抽取关键词,并通过与一系列艺术家的相似度生成艺术家推荐排名。最后,Lim等人通过基于词袋表示的由musiXmatch.com提供歌词的主题模型学习歌曲层面的相似度函数。
2. 音频内容
音频内容分析是由音乐信息检索 ( MIR ) 研究者提倡的元数据和协同过滤方法的替代或补充。基于音频内容的推荐系统对流行偏差并不敏感,因此推荐系统被期望揭示音乐消费中的长尾。通过音频信号分析获取的音乐描述符让新颖的音乐集合查询和交互方法成为可能,从而增强音乐搜索。
音频内容分析可以提供丰富的信息类型并且应用到推荐系统中。这些信息广义上可以被分为两类:直接从音频中计算的声学和音乐特征和通过机器学习技术从声学特征中预测的语义标注。
① 声学特征:音色、时间和音调
- 音色特征,例如梅尔倒谱系数 ( Mel-MFCCs ) 和其他与频谱形状相关的特征。
- 时间与时域特征,特征化响度和音色的时间演进、韵律特性例如节拍 ( 节奏 ) 直方图特征、声突发率和平均响度和动态变化。
- 音调特征,例如调和节距 ( HPCP ) ( 饱和度 ) 或类似的基于间距的特征、调 ( key )、音阶 ( scale )、和弦分布和失谐度。
音色、时间和音调信息代表了音乐的不同方面,可以结合起来为音乐算法提供更坚实的基础。然而,迄今为止,这些不同的方法在当前的学术研究中并没有集成在一起。
通过音轨的频谱形状得到的音色相似度应该是最基础和常见的相似度,可以用于基于音频的音乐推荐。音色信息可以通过帧 ( MFCC ) 的概率分布或者距离度量表示。在这种情况下,Logan等人考虑到从在目标音乐集合中曲目到偏好曲目的平均、中位、最小的基于MFCCC的距离,和总结了所有偏好曲目的MFCC分布的距离。然而,这些基于MFCC距离的方法的主观评估显示了一般或者偏低的用户满意度,与其他有着更大特征集 ( 包含曲风、时间、音调的组合 ) 的方法相比较,也显示出一些不足。
一些研究使用了更多种类的声学特征包括音乐的时间和音调,这可以作为元数据的补充。通过结合包含波动模式的时间信息,特定频率上获取的波动的独特描述符 ( 整体被当作曲风 ),Pampalk等人扩展了基于MFCC的音色相似度。Su等人提出了一个音乐推荐系统,这个系统对将音色信息的时间演进作为音色簇的时间序列进行编码。这个系统基于用户以前曲目的评分推断偏好和不喜欢的序列,并根据用户资料与推荐曲目的特征分布进行匹配。
Celma和Herrera提出了一种基于欧式距离的方法,其中使用了音色、动态、节奏、拍子、节奏模式、声调强度、调式信息。在大规模评估实施后,与使用来自Last.fm收听统计数据的基于物品的协同过滤距离相比,结果显示协同过滤的方法表现优于其他方法,不但能推荐用户可能喜欢的曲目,而且会推荐用户更熟悉的内容。更重要的是,这项研究证实了基于内容的方法可以更有效地结合,而且提升推荐的新颖性同时不会对推荐质量造成很大影响。有趣的是,对于协同过滤和基于内容的方法,在五分制评分下,平均的评分仅仅是令人满意:约等于3.39和约等于2.87。
没有选择计算音乐内容和用户资料之间的相似度,一些作者提出使用音频特征将音乐内容归为喜欢或不喜欢两类或者进行评分预测。例如,Grimaldi和Cunningham提出一种基于分类的方法,将被用户评过分的曲目当作好或坏样本。作者针对源于节拍直方图的特征集合和描述和声的音调特征,应用k近邻和特征子空间的组合分类器。他们得出了结论:除了当用户的偏好受到特定曲风影响时,选定的音频特征对于任务不够充足。Moh等人提出通过不同的音色信息,包括MFCC、频谱的重心、滚降通量和跨零率,将音乐分为喜欢的和不喜欢两类。他们评估了一些基于不同支持向量机 ( SVM ) 的分类算法和概率高斯模型去预测用户偏好。
作为二元分类的替代,Reed和Lee提出有序回归 ( ordinal regression ) 根据每个曲目描述MFCC时间演化的音频特征来预测评分。Bogdanov研究了不同的音色、时间、音调和语义特征对预测音乐偏好的重要性。最后,对每个用户使用这些特征建立的回归模型以预测该用户的评分。
② 自动化语义标注
现今,协同过滤技术往往比纯粹基于音频的技术能取得更好的效果。基于音频的方法不能直接利用超出纯信号之外的信息。因此,低层次的声学描述符获取的信息与用户偏好并不存在较多直接联系。所以使用利用曲风、情绪和乐器这样的高层次抽象或者语义概念是十分可取的。当人工标注者没有提供这些标注时,机器学习技术可以用于从音频内容中预测标注。
众所周知,跨越语义鸿沟,或者说构建音乐方面的人类概念与基于音频信息特征的弱连接是十分困难的。为此,Barrington等人提出了用于音乐推荐的语义音乐相似度。他们通过MFCC的高斯混合模型 ( GMM ) 训练一些语义概念,例如曲风、情绪、乐器、嗓音和韵律。之后,在帧的基础上,通过计算每个概念的概率得到高层次描述符。音轨的语义标注通过标签的分布表示,并可以通过比较计算相似度。接下来的工作表明,将自动标注方法与从MFCC分布中直接获取的相似度度量相比较,后者在预测音轨间协同过滤相似度中更为高效。作者将这一发现归咎于使用固定的语义概念集合的影响,因为尽管这可以提供可解释的表示,但可能贸然地舍弃了决定用户相似度的有效信息。Bogdanov等人通过概率支持向量机 ( probabilistic SVM ),利用超过60种可扩展的音色、时间和音调特征集合,并结合曲风、情绪、乐器和韵律的自动化语义标注,构建了一种基于相似度的推荐方法。
02基于上下文的音乐推荐
近些年,上下文感知在推荐系统研究中逐渐流行。然而,上下文信息在计算应用中的利用可以追溯到20世纪90年代。一个早期在这个领域的研究定义上下文为"描述你在哪,与谁在一起,周围有什么资源信息"。换句话说,上下文可以是任何影响用户与系统交互的信息。举个例子,在音乐推荐领域,情景可以是用户正在收听被推荐歌曲时的上下文 ( 例如时间、情绪、当前活动和在场的其他人 )。很明显,当在进行推荐时,这些信息应该被加以考虑因为这会影响到用户对音乐的评价,尤其是对用户长期偏好的习惯。
文献中已经提出了不同的上下文信息分类方法。Adomavicius等人对完全可观察、部分可观察和不可观察的上下文做出了区分,其中不可观察的上下文可以通过影响用户短期偏好变化的隐含特征建模。Dey和Abowd提出首要和次要上下文的区别。首要上下文被定义为用户的地点、身份、活动和时间。作者认为这是特征化用户场景最重要的四个因素。次要上下文是指可以从首要语境因素中推导出的信息。例如,当前的天气状况可以从用户的时间地点中推断而出。
在这一节中,我们将上下文信息归为两大类:环境相关的上下文,其中包括了所有可以被用户移动设备上传感器感知或者从外部信息服务获取的特征,例如用户地点、当前时间、天气、温度等;用户相关的上下文,表示更高层次的用户信息例如用户活动、情绪状态或者社交环境,但是这些信息很难被直接衡量。与Dey和Abowd定义的首要与次要上下文的关系类似,环境相关的上下文可以用于用户相关的上下文推导。
1. 环境相关的上下文
用户所在的环境,例如季节、温度、当天的时间、噪声大小、天气状况等,会对用户的心情造成影响,进而直接影响到对音乐的偏好。研究表明,收听情景的特征与强化了这些特征的音乐偏好之间存在关联。举个例子,在夏天和冬天时,用户倾向于选择不同类型的音乐。因此,考虑环境相关的内容属性有助于音乐内容的推荐。这些用于音乐推荐研究中的属性可以被分为以下几个类别:
- 用户地点,可以用邮编、地理坐标、景观类型 ( 例如城市、自然 )、附近遗迹、大厦、地标等。这些用户的周边环境对其感知和音乐偏好有着强烈的影响。美国的Bluebrain是首支录制地点位置感知专辑的乐队。在2011年,乐队发行了两张此类专辑,一张录制于华盛顿国家广场公园,另一张录制于纽约中央公园。两张专辑都以iPhone应用的形式发行,包括在公园特定区域预先录制的音乐曲目。当收听者在不同环境间移动时,曲目通过平滑的过度变化,为步行者提供了一种背景音。尽管位置感知的音乐服务有着巨大的潜力,但迄今为止,只有少量探索音乐推荐中的位置相关上下文信息的研究。
- 时间信息是指当天时间 ( 一般分为早上、下午、晚上与凌晨 ) 或者星期 ( 一般通过具体的一天或者分为工作日和周末去表示 )。这类信息是潜在有用的,因为有研究表明用户的音乐偏好会随着星期或者一天内的不同时段而变化。
- 天气信息是指天气状况 ( 一般分为晴天、阴天、阴雨等 )、温度 ( 例如冷、适中、热 ) 和季节。此类信息与音乐推荐紧密相关是因为对用户的音乐偏好有强烈的影响,例如在阴雨连绵的秋天或者骄阳似火的仲夏。
- 其他因素的信息,例如交通状况、噪声大小及环境光强度,这些都可以影响用户心情进而直接影响其的音乐偏好。
Reddy和Mascia提出了首个利用环境相关上下文的音乐推荐系统。作者使用了用户位置 ( 邮编表示 )、当天时间 ( 早上、下午、晚上、凌晨 )、星期、噪声大小 ( 安静、适中、嘈杂 )、温度 ( 寒、冷、适中、温、热 ) 和天气 ( 雨、雪、雾、多云、晴、晴朗 )。这个系统可以根据被限定标签标记的音乐库推荐歌曲,其中标签直接代表了上下文属性的值。举个例子,当向特定地点推荐一首歌时,这首歌必须被合适的邮编标记。
Ankolekar和Sandholm展示了一款移动音频应用Foxtrot,这款应用允许用户显式地将音频内容赋予特定地点。作者强调音乐和地点之间情绪关联的重要性。据作者描述,这个系统的首要目标是通过建立情绪氛围进而"增强环境的代入感"。Foxtrot依赖于众包—Foxtrot的用户可以将音频片段 ( 音乐曲目或者音乐片段 ) 赋予特定地点 ( 通过用户当前位置的坐标表示 ),此外可以指定音频曲目的可见范围—与曲目相关的半径范围内。这个系统可以向用户提供一连串位置感知音乐内容。
Braunhofer等人探索了将音乐与用户当前游览的景点 ( POI ) 匹配的可能性。这个想法基于合适的音乐曲目可以提高用户的观光体验这一假设。例如,当用户游览巴洛克式大教堂时,用户可能会享受巴赫的作品,与此同时,威尼斯的狭窄街道提供了一种维瓦尔第协奏曲的氛围。受到音乐感知研究的启发,音乐和景点的匹配是通过展示拥有共同情绪标签的音乐曲目和景点实现。在相关的研究中,Fernndez-Tobías等人提出了一种利用从DBpedia中抽取的音乐和景点的显式知识,来推荐与景点相关的音乐内容的技术。在基于网络的用户研究中,结合并评估了基于标签和基于知识的技术。
Okada等人描述了一种移动音乐推荐系统,其将情景定义为"从移动设备上收集的感知状态的有限集合",换句话说,作者专注于环境相关的上下文信息:环境噪声、地点 ( 由地理坐标表示 )、当天时间、星期。作者并没有提供推荐算法的具体描述 ( 例如情景具体如何用于选择音乐 ),但专注于上下文感知的移动推荐系统的架构设计和适用原则。作者阐述了一项展示了整体上对系统持积极态度的用户调研。但是,用户反馈反映了对推荐的解释和更多播放音乐的自主权的需求。由此可见一个重要的研究问题——如何结合普通音乐播放器和上下文感知推荐的不同特性。
2. 用户相关的上下文
在推荐音乐时,任何与用户相关的上下文信息都十分重要,因为音乐的偏好与人的活动、情绪和社会背景息息相关。Schafer和Sedlmeier注意到不同的音乐功效满足了收听者各种需求,例如其中一些与认知、情绪、社会文化、生理功能相关。在音乐推荐系统研究中的用户相关的上下文可以被分为以下几类:
- 活动信息,包括行为,通常用可能行为集合的一个元素表示 ( 例如步行、跑、驾驶 ),或者数值属性定义用户状态 ( 例如步行速度、心率 )。这类上下文已经证明对用户的音乐偏好有一定影响。Foley证明了不同职业人群偏好不同的音乐节奏。North和Hargreaves将不同的人格特质和社会社会生活方式与音乐偏好建立了联系。
- 情绪状态信息或心情,这对用户的音乐偏好有直接的影响。例如,当用户开心或伤心时,期望听到不同类型的音乐。研究表明音乐不但可以缓和用户的情绪状态,还可以增强收听者的情绪感知。
- 社会上下文信息,例如在场的其他人,也会影响用户的音乐偏好。举个例子,人们选择音乐的时候会将同伴的偏好考虑进去。一些研究提出了为一组用户生成音乐播放列表的问题。Mesnage利用社交网络中的用户关系用于音乐发现。
- 文化上下文,与环境相关的上下文 ( 位置 ) 有着紧密的联系。不过文化上下文定义了更高层次的信息,例如用户的文化背景或种族归属。Koenigstein等人利用在P2P网络中美国用户的活动去预测美国歌曲排行榜中的音乐曲目的流行度。Schedl等人使用带地理标签的推特抽取基于位置的音乐收听趋势,再反过来建立了一个位置感知推荐系统。
与环境相关的上下文相比较,用户相关的上下文很难直接利用移动传感器或者外部信息服务衡量。但是,用户相关的上下文可以部分从环境相关的上下文属性中推导出。举个例子,可以利用当天时间,环境噪声大小,温度,天气等构造贝叶斯分类器去预测用户的情绪状态或者活动。
情绪状态是一类特别流行的情景信息,可以被用于创建基于情绪的音乐推荐系统,例如Musicovery。此外,为了使音乐与用户心情适配,情绪 ( 这里的情绪是内心情绪 ) 被应用于将不同类型的可以引发用户情绪反应的内容 ( 例如文本或图片 ) 与音乐进行匹配。基于情绪的音乐推荐正在成为日益流行的研究点,很大程度上受益于自动化音乐情绪识别。
3. 在音乐推荐系统中结合上下文信息
前面我们阐述了主要的上下文类别在音乐推荐系统中的应用,现在我们转向设计上下文感知的推荐系统所面临的主要挑战——在推荐算法中结合上下文信息。
众所周知,上下文对用户偏好和信息需求有一定影响。为了在推荐音乐时利用这一信息,需要建立音乐曲目与上下文之间的关联度。这类信息可以在单个用户层次上获取,例如让用户在上下文属性定义的特定场景下评分,或者通过获取音乐曲目与上下文属性之间的相关分数,在全局范围内建立。在推荐算法中可以应用音乐曲目与特定上下文属性的相关性。
图1 建立音乐与上下文相关性的不同方法
我们定义了四种不同的方法来建立音乐片段与上下文信息之间的相关度,如 ( 图1 ) 所示:
① 在上下文中对音乐评分,可以作为传统 ( 图1 ) 建立音乐与上下文相关性的不同方法协同过滤算法的扩展。尽管面临冷启动的问题,但在设计上下文感知的推荐系统时,这仍是效果最好的方法。
② 将低层次音乐特征映射到上下文属性,这是一种基于机器学习技术的方法。此外由于包含了音频信号分析,这一方法与音乐信息检索有紧密的联系。
③直接根据上下文属性标记音乐,这是最直接的方法。这种方法的主要缺点是需要较大投入去标记音乐曲目,类似于在上下文中对音乐评分。
④ 预测中间上下文,例如用户活动或者情绪状态。这类方法可以结合上述技术——上下文中评分,映射低层次音乐信息到上下文或者人工给音乐标记上下文属性。
总的来说,上下文代表了一种可以结合其他信息源的信息来源,例如音乐内容特征或用户评分,并进一步提供高度个性化和普遍适用的音乐服务。结合了这些多种信息源的推荐系统被称为混合系统,我们将在以后的文章进行分享。
本次的分享就到这里,谢谢大家。
文章作者:
弗朗西斯科·里奇 ( Francesco Ricci ) 利奥·罗卡奇 ( Lior Rokach ) 布拉哈·夏皮拉 ( Bracha Shapira ) 著