CN105975496A - 一种基于上下文感知的音乐推荐方法及装置 - Google Patents

一种基于上下文感知的音乐推荐方法及装置 Download PDF

Info

Publication number
CN105975496A
CN105975496A CN201610267056.2A CN201610267056A CN105975496A CN 105975496 A CN105975496 A CN 105975496A CN 201610267056 A CN201610267056 A CN 201610267056A CN 105975496 A CN105975496 A CN 105975496A
Authority
CN
China
Prior art keywords
music
information
context
user
musical features
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610267056.2A
Other languages
English (en)
Inventor
何源
蒋成堃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201610267056.2A priority Critical patent/CN105975496A/zh
Publication of CN105975496A publication Critical patent/CN105975496A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本发明公开了一种基于上下文感知的音乐推荐方法及装置,所述方法包括:获取当前设备的上下文信息;根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。所述装置包括:信息获取模块、特征获取模块和音乐获取模块。本发明通过将设备的上下文信息与音乐特征进行关联,并根据当前设备的上下文信息来确定推荐音乐的音乐特征,脱离了人工经验,不依赖于个人用户,适用于普遍的个性化服务。

Description

一种基于上下文感知的音乐推荐方法及装置
技术领域
本发明涉及多媒体技术领域,具体涉及一种基于上下文感知的音乐推荐方法及装置。
背景技术
随着交互技术的快速发展以及移动应用的普及,智能手机正在逐渐代替桌面型计算机,作为用户访问互联网内容的主要媒介。方便以及无处不在的网络连接使得用户可以在任何时间任何地点享受各种各样的网络资源。这些用户感兴趣的资源可能是娱乐,休闲,社交,学习之类的,然而在这些众多资源之中,音乐是一种典型的能吸引无数用户兴趣的资源。
用移动设备听音乐相比于传统的听音乐方式带了便捷的同时,也存在着很多挑战。比如说在手机上选择一首歌曲播放需要用户注意力以及很多操作,这在用户静止的时候当然没问题,但是使用手机听音乐的用户基本都处在运动状态,像是走路、运动或者开车,这样就带来了很多不方便以及安全隐患。同时,用户会经常对自己预先设置的歌单产生疲劳,希望播放器能够根据自己的喜好自动推荐喜欢的歌曲。然而,用户的喜好会随着用户所处的上下文而改变,比如当用户在休息的时候,他可能喜欢放松的音乐,而在运动的时候,可能更倾向于激烈有节奏感的歌曲。更重要的是,不同的用户在相同上下文状态会喜欢不同种类的音乐,因此一种泛化的统计决策模型就并不适合了。基于上述情况,一种能够感知用户所处上下文,并且做出符合当前用户喜好的个性化音乐推荐的系统就变得非常吸引人。
目前,研究人员提出了各种各样的方法来解决音乐推荐的问题,包括早期的一些针对桌面应用的音乐推荐方法。其中一种类别的方法叫做协同过滤,这种方法假设了具有相似习惯或者处于相似状态的用户会拥有相似的喜好,然后推荐给对应用户广泛受该类人群欢饮的歌曲,然而这类方法却不能根据每个用户实际喜好来个性化推荐音乐。另一种广泛应用的方法叫做基于内容的推荐方法。这种方法希望发掘音乐本质特征,确定什么样的音乐是类似的音乐,从而推荐用户喜欢的歌曲的类似歌曲。然而这种方法需要一些已知的用户喜欢的音乐,并且用户音乐喜好也不是一成不变的,这种方法对用户喜好改变的反馈往往并不及时。比如用户上一次在运动时听了音乐,这一次却是在睡前听音乐,基于内容的方法推荐的还是运动时听的歌曲。
基于以上的事实,如果能利用移动设备对用户上下文感知的优势来个性化用户音乐的推荐将会是一种很有前景的解决方法,当然这种方法也有很多关键性挑战。首先,建立个性化推荐需要大量的上下文感知信息以及用户音乐收听历史信息,这对于资源受限的手机不是一个容易的工作。第二点,推荐的决策需要快速,不能影响用户的体验。第三点,用户听音乐过程其实包含用户交互的过程,用户会对音乐有显式的反馈(用户评分),或者是隐式的反馈,因此如何利用用户的反馈是一个具有挑战性的工作。
已有的基于上下文感知的音乐推荐系统基本都利用了协同过滤的方法或者是基于内容相似的方法。Lee等提出了基于案例推理的音乐推荐系统,该系统收集所有用户听音乐的时间、天气、地点以及温度这些上下文信息,然而根据当前用户上下文,推荐其他用户在这些上下文听的歌曲。SuperMusic系统利用听歌的地点来推荐歌曲。Wang等提出了使用概率模型来计算一首歌适合当前用户活动的概率,该模型首先使用autotagging技术对数据库所有音乐打上适合的场景的标签,然后计算每首音乐适合于某一场景的概率。在用户交互过程中,考虑用户的隐式反馈,如果用户在这个场景下喜欢这首歌,模型会更新增加这首歌在这个场景下的概率,反之这个概率会下降。然而该模型每次记录一次歌曲收听或者一首新歌曲加入数据库,整个歌单的排序需要重新计算,非常耗时以及低效率。这些基于上下文感知的音乐推荐系统对音乐的标记都采用了人工经验的方式,然而这种方式是依赖于个人用户的,不一定适用于个性化服务,因此如何通过上下文感知的信息来映射某些歌曲也是十分有挑战的。
现有方法主要根据大众人群的共同喜好来推荐音乐,缺少对独立个人用户行为的考虑,即使考虑了个人用户行为,也是推荐大部分人在该行为下喜欢听的歌,没有考虑个体用户自己独特的音乐喜好。
发明内容
由于现有的基于上下文感知的音乐推荐方法主要根据大众人群的共同喜好来推荐音乐,缺少对独立个人用户行为的考虑,本发明提出一种基于上下文感知的音乐推荐方法及装置。
第一方面,本发明提出一种基于上下文感知的音乐推荐方法,包括:
获取当前设备的上下文信息;
根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;
根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。
优选地,所述获取当前设备的上下文信息之前,还包括:
根据上下文信息、音乐特征和用户反馈数据,建立增量决策树模型;
所述根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征,进一步包括:
在所述增量决策树模型中查找所述上下文信息对应的音乐特征。
优选地,所述根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放之后,还包括:
接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中。
优选地,所述上下文信息包括设备的加速度信息、噪声信息、时间信息和社交联系信息。
优选地,所述接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中之后,还包括:
根据所述增量决策树模型中每个节点的音乐记录,计算所述增量决策树模型中每个节点的信息熵,其中,所述音乐记录包括所述上下文信息、所述音乐特征和所述用户反馈数据;
当所述信息熵大于等于预设值时,获取信息增益最大时对应的上下文,根据所述信息增益最大时对应的上下文,得到新的分支节点。第二方面,本发明还提出一种基于上下文感知的音乐推荐装置,包括:
信息获取模块,用于获取当前设备的上下文信息;
特征获取模块,用于根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;
音乐获取模块,用于根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。
优选地,还包括:
模型建立模块,用于根据上下文信息、音乐特征和用户反馈数据,建立增量决策树模型;
所述特征获取模块进一步用于在所述增量决策树模型中查找所述上下文信息对应的音乐特征。
优选地,还包括:
反馈接收模块,用于接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中。
优选地,所述上下文信息包括设备的加速度信息、噪声信息、时间信息和社交联系信息。
优选地,还包括:
信息熵计算模块,用于根据所述增量决策树模型中每个节点的音乐记录,计算所述增量决策树模型中每个节点的信息熵,其中,所述音乐记录包括所述上下文信息、所述音乐特征和所述用户反馈数据;并判断当所述信息熵大于等于预设值时,获取信息增益最大时对应的上下文,根据所述信息增益最大时对应的上下文,得到新的分支节点。
由上述技术方案可知,本发明通过将设备的上下文信息与音乐特征进行关联,并根据当前设备的上下文信息来确定推荐音乐的音乐特征,脱离了人工经验,不依赖于个人用户,适用于普遍的个性化服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种基于上下文感知的音乐推荐方法的流程示意图;
图2为本发明一实施例提供的一种基于上下文感知的音乐推荐方法的数据交互示意图;
图3为本发明一实施例提供的一种基于上下文感知的音乐推荐方法的增量决策树示意图;
图4为本发明一实施例提供的一种基于上下文感知的音乐推荐方法的上下文选择过程示意图;
图5为本发明一实施例提供的一种基于上下文感知的音乐推荐装置。
具体实施方式
下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本发明一实施例提供的一种基于上下文感知的音乐推荐方法的流程示意图,包括:
S1、获取当前设备的上下文信息;
S2、根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;
S3、根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。
本实施例通过将设备的上下文信息与音乐特征进行关联,并根据当前设备的上下文信息来确定推荐音乐的音乐特征,脱离了人工经验,不依赖于个人用户,适用于普遍的个性化服务。
作为本实施例的可选方案,S1之前,还包括:
S01、根据上下文信息、音乐特征和用户反馈数据,建立增量决策树模型;
S02、所述根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征,进一步包括:
S03、在所述增量决策树模型中查找所述上下文信息对应的音乐特征。
通过建立增量决策树,能够在消耗极少内存空间,计算资源的情况下,实现对用户音乐喜好的建模。进一步地通过设备的上下文感知能力,建立用户上下文与喜欢音乐特征的对应映射,最终通过音乐特征匹配用户可能喜欢的音乐,达到个性化音乐推荐的目的,系统平台可以是智能手机,本实施例使用的音乐推荐方法快速方便,而且占用极少的资源。
进一步地,S3之后,还包括:
S4、接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中。
通过用户反馈数据信息来更精确的进行音乐特征计算,也达到了用户听音乐喜好改变的时候能够通过这些反馈信息快速适应用户新的音乐习惯。
具体地,所述上下文信息包括设备的加速度信息、噪声信息、时间信息和社交联系信息。
通过加速度传感器收集的加速度信息,一定程度上能反映出用户当前的活动强度;通过手机麦克风收集到的周围环境的噪声,可以反映出用户所处环境的信息;通过时间信息反映用户听音乐的习惯的时间差异,比如夜晚比较喜欢放松,舒缓的音乐;社交联系信息,包含短信使用频率,电话使用频率,这些信息一定程度上能反映出用户心情状态。
更进一步地,S4之后,还包括:
S5、根据所述增量决策树模型中每个节点的音乐记录,计算所述增量决策树模型中每个节点的信息熵,其中,所述音乐记录包括所述上下文信息、所述音乐特征和所述用户反馈数据;
S6、当所述信息熵大于等于预设值时,获取信息增益最大时对应的上下文,根据所述信息增益最大时对应的上下文,得到新的分支节点。
每增加一个音乐记录(包括收听上下文,音乐特征,用户反馈),增量式更新该音乐记录插入的增量决策树节点的信息熵。如果该节点信息熵大于设置好的阈值,则计算按不同上下文对音乐记录分类得到的信息增益,找到获得最大信息增益的上下文,根据该上下文将当前结点音乐记录分类形成新的分支节点,然后递归计算新节点信息熵,如果大于阈值,则按照上述方法继续分支,知道所有新分支节点信息熵小于阈值。
由于音乐的音频特征是连续值并且我们想得到的是在每一个叶子节点中所有的音乐记录的音频特征值处于一个特点的范围中,因此,我们使用方差来表示当前音乐记录集合的信息熵,一个音乐记录集合的信息熵越小,那么这个音乐记录集合中的音频特征越具有一个特定的值。
为了更详细描述本实施例提供的基于上下文感知的音乐推荐方法,以下举例对各个步骤进行描述:
A1、对智能手机进行上下文感知;
具体定义了一些影响用户状态的上下文类别,上下文包括a)通过加速度传感器收集的加速度信息,一定程度上能反映出用户当前的活动强度,对公式(1)进行离散化,对应出不同等级的活动强度;b)通过手机麦克风收集到的周围环境的噪声,可以反映出用户所处环境的信息;c)时间信息,用户听音乐的习惯会表现出时间差异,比如夜晚比较喜欢放松,舒缓的音乐;d)社交联系信息,包含短信使用频率,电话使用频率,这些信息一定程度上能反映出用户心情状态。我们对所有的这些上下文信息按照事先定义好的范围进行离散化,从而对应到不同的级别上。同时,考虑到智能手机上资源受限的问题,传感器、麦克风这些十分耗能的设备不能长期处于工作状态,我们将这些设备对应的上下文的以事件驱动的方式收集——当用户即将听下一首音乐的时候触发这些设备收集听下一首歌时用户对应的上下文信息。注意到,我们的每次上下文收集都对应到用户正在听的音乐,这样我们可以记录下用户听到每首音乐的上下文信息,从而对用户音乐的喜好进行建模。
a = a c c e l _ x 2 + a c c e l _ y 2 + a c c e l _ z 2 - G ( G r a v i t y ) - - - ( 1 )
A2、提取音乐特征;
当每首音乐加入服务器上的音乐数据库的时候,服务器对音乐进行处理,提取出音乐的相应特征,这些特征能够细力度、量化表现一首音乐。我们选择的音乐特征包括音乐节奏,音调以及音乐的梅尔频率倒谱系数(MFCC).音乐的节奏一般用每分钟节拍数(BPM),BPM越大,音乐的节奏越快。音调与音乐的频率相关,一般用高低来描述,我们考虑音乐主体部分的平均音调。MFCC通常是用于语音识别的特征,现在正广泛用于音乐特征表示。MFCC是音乐在梅尔频率谱上的分布,它的优势是相比于通常的频谱,梅尔频谱更能精确的表示人类声音系统的反应,能更好的刻画声音属性。这些信息既有精细描绘音乐在不同频率域上表现的梅尔频率倒谱系数(MFCC),又有整体刻画音乐的平均节拍数,平均音调,所以这整体加起来特征可以很好的代表一首音乐。
A3、训练推荐模型;
智能手机端采用一种增量决策树模型(IRT),能够在消耗极少内存空间,计算资源的情况下,实现对用户音乐喜好的建模,我们将用户的音乐喜好表现成用户对音乐特征的选择,即我们的模型建立了用户当前上下文信息到用户所喜欢音乐特征的对应关系,然后通过得到的音乐特征去服务器端的音乐数据库中匹配相应的合适的音乐。智能手机端收集了每首音乐的上下文信息以及对应的音乐特征信息,增量决策树模型就是利用上下文对这些收集的音乐特征进行层次化的适合于特定用户的自动分类,形成一种树形结构。这样,当我们需要对用户进行推荐的时候,只需要收集到用户当前的上下文,然后根据增量决策树上的决策节点一步一步查询得到用户在这样上下文下喜欢的音乐特征的集合,然后计算出代表的各种特征用来去服务器端匹配需要推荐的音乐。
增量决策树随着新的音乐信息的加入(包括上下文以及音乐特征),增量式地更新树形结构来满足用户实际喜好。当每首音乐信息加入的时候,增量决策树希望找到一个合理的上下文类别,使得利用该上下文将所有音乐信息分类后,每一类音乐信息的音乐特征表现出相似性,所以对增量回归树的训练过程就是需找到最合理的上下文判断顺序使得经过这些上下文分类之后的每一个用户音乐记录集合(叶子节点)在该增量回归树匹配的特征上具有很小的特征偏差。一个很重要的概念关于如何选择合理的上下文类型就是信息增益(IG),信息增益就是当我们选用某一个上下文来划分现在的音乐记录集合的时候所能获得的关于这个音乐集合的信息,也就是说我们通过用该上下文划分音乐记录集合是否可以得到相应的在这个上下文值下的音乐喜好情况。在增量回归树中,每当有新的音乐记录加入的时候,我们计算利用不同的上下文作为决策上下文得到的信息增益,然后选择能带来最大信息增益的上下文类型作为该内部节点的决策上下文,然后在划分的每一个分支递归的进行这样的操作来更新整个增量回归树。
为了计算信息增益,我们需要测量当前状态的信息量——信息熵(IE)。由于音乐的音频特征是连续值并且我们想得到的是在每一个叶子节点中所有的音乐记录的音频特征值处于一个特点的范围中,因此,我们使用方差来表示当前音乐记录集合的信息熵,一个音乐记录集合的信息熵越小,那么这个音乐记录集合中的音频特征越具有一个特定的值。计算信息熵的公式如下(2)所示:
E ( f k ) = Σ i n ( m i 2 ( f k ) - m e a n ( f k ) ) / n - - - ( 2 )
m e a n ( f k ) = Σ i n m i ( f k ) / n - - - ( 3 )
mi(fk)表示音乐记录i的fk特征值,E(fk)表示当前的信息熵,mean(fk)是当前音乐记录集合中fk特征的平均值,具体计算如公式(3)。为了保证整个训练过程能够增量进行,不用每次新加入一个音乐记录就要整体重新计算,我们可以改变这两个公式让它们能够支持新得到的信息熵只依赖于以前的信息熵以及新加入音乐记录的特征值。
假设拥有n-1个记录的信息熵En-1(fk)以及fk的平均值meann-1(fk),这样当新的记录加入的时候并且音乐特征是mn(fk),可以更新En(fk)如下公式(4)所示,其中meann(fk)如公式(5)所示:
E n ( f k ) = n - 1 n ( E n - 1 ( f k ) - mean n - 1 ( f k ) ) + m n 2 ( f k ) - m n ( f k ) n - - - ( 4 )
mean n ( f k ) = mean n - 1 ( f k ) · ( n - 1 ) + m n ( f k ) n - - - ( 5 )
这样就可以根据信息熵来计算关于某一类上下文划分得到的信息增益如下公式(6)所示:
I c ( f k ) = E p a r e n t ( f k ) - Σ i n N ( v i ) N E v i ( f k ) - - - ( 6 )
其中,Eparent表示未划分音乐记录集合关于fk的信息熵,n代表上下文类型c可取值的数量,N(vi)表示将该音乐记录中c上下文取值为vi的记录个数,N是记录总数,表示音乐记录中c取值为vi的记录关于fk信息熵。可以通过公式(6)看出信息增益越大,划分之后的每个音乐记录集合的信息熵越小,也就是说用上下文c来划分音乐记录结合能更好的让类似的音乐记录聚类到一起。上下文选择的算法如下所示:
其中3、4行的更新方式对应地使用公式(4)和(5),第9行计算信息增益则根据公式(6),每当有新的音乐记录加入的时候,训练过程都会调用这个算法选择当前最合适的划分上下文来划分音乐记录结合。当得到的值为空的时候,说明当前集合就是一个叶子几点,本身的音乐特征就拥有一定的特征,因此不用选择上下文划分。如果得到的是一个上下文会出现两种情况:1)该上下文与当前节点的决策上下文相同,我们则根据新加入音乐的该上下文值将该记录传入对应分支中递归该算法;2)该上下文与当前节点的决策上下文不同,则说明最合理的上下文已经不是原来的上下文,因此我们重新更新树的结构,用新得到的上下文作为当前上下文,然后在每个分支都递归该算法达到整个树结构的更新。通过更新使得增量回归树可以对应用户的上下文组合和用户在该组合下喜欢的音乐特征,就可以利用用户当前上下文来预测用户所喜欢的音乐。
A4、音乐推荐;
利用A3中训练的到的增量决策树,通过得到的当前用户上下文在增量决策树中查找,从而得到用户当前状态下感兴趣的音乐各种特征值,然后该特征值会被通过网络传送到服务器端,由服务器返回相应的歌曲以及歌曲的特征值,既满足了用户音乐收听的需求,也为模型训练模块提供了新的数据。
用户喜好的音乐特征的计算还涉及到用户历史数据对听过音乐的反馈信息,我们利用这些信息来更精确的进行音乐特征计算,也达到了用户听音乐喜好改变的时候能够通过这些反馈信息快速适应用户新的音乐习惯。在我们系统中,实际考虑了两种用户反馈数据信息:显式用户反馈数据以及隐式用户反馈数据。
显式用户反馈数据:设置了三个方向用于用户表达对系统推荐音乐的满意程度,每一个方向都采用了典型的李克特5级量表,也就是说用户可以给推荐音乐从1分到5分的5个等级的评分,1分代表十分的不满意,5分表示非常满意。我们评估的三个方面包括用户对音乐类别,音乐节奏,音乐旋律的满意程度,这样能得到一个比采用单一用户满意度的评估方案更准确的结果。最终,利用求平均的方法整合三个方面用户的评分作为用户显式的对该推荐音乐的打分结果。另一个需要考虑的方面是用户在实际打分过程中倾向于不会对大多数推荐打低分,除非十分讨厌的情况,因此基于这点考虑以及用户很多时候不会去评分的特点,设置了默认的评价得分是3分而不是0分来更客观表示用户的满意程度。
隐式用户反馈数据:很多时候用户不喜欢很麻烦的要对每首音乐手动操作去打分,这时候除了默认的打分信息外,用户隐式的反馈显得十分重要。利用用户听一首歌的时长来作为用户对这首歌满意程度的一个推测,当用户不喜欢听这首推荐的歌曲的时候,他会很快的切换歌曲,相反当他很喜欢这首歌的时候,他可能会一直听完整首歌。基于用户听一首歌的时长来计算用户隐式的对歌曲的满意程度,并且将该满意程度调整至李克特的5级评分规模,如下公式(7)所示:
Rateimplicit=topRate·Tlistening/Tsong (7)
其中topRate就是现实打分中最高得分,Thistening就是用户听歌的时长,Tsong代表这首歌总的时长,这可以在播放音乐的初始化解码得到该数据。
所以最终得到的音乐记录r的Rate部分实际是显式反馈与隐式反馈得分的最终整合:
Rate=αRateimplicit+(1-α)Rateimplicit (8)
其中α是控制显式反馈与隐式反馈所占比例的因子,这样可以更客观,更准备的反应用户实际对这首推荐音乐的满意程度。
这样对每首用户听过的歌曲,除了当时上下文,音乐特征,还又一个用户评价的属性,这样当得到用户当前上下文的时候,就可以根据这个属性的到更加精确的音乐特征的推测。
当得到用户的当前上下文向量c的时候,最基本的根据增量回归树去预测用户喜好的音乐特征的方法就是在树中依次根据内部节点中的上下文类型,对比c中该上下文的值,找到符合的节点分支,然后再根据分支根节点的上下文类型对比c中该类型值继续找到对应分支,直到分支的节点是叶子节点。这样通过c得到了一个代表音乐记录集合的叶子节点,然后利用叶子节点中的音乐特征值以及用户的评分加权得到最终符合用户当前期望的音乐特征值f,如下公式(9)所示:
f = Σ i n Rate i · f i / Σ i n Rate i - - - ( 9 )
然后实际情况下会出现某个内部节点的分支数目小于预处理时设置的总的该上下文可取的值,也就是用户之前的训练数据中该上下文的值都没有取到一些值,这个时候如果一个新的音乐记录包括这些没取到的上下文的值的时候就无法按照常规的方法选择该内部节点对应的分支。为了解决这个问题,尝试通过与其相似的其他叶子节点来推测该上下文所对应的音乐特征。假设用户所处的上下文差异越小,那么用户所喜欢的音乐特征的差异越小同时决定用户音乐分类的上下文的重要性越小,那么音乐特征的喜好差异越小,对应到增量回归树中就是,越靠近叶子节点出现差异,则用户的喜好差异越小,因此选择无对应分支的该上下文的其他分支来推测用户可能的音乐特征偏好,选择与该音乐记录这个上下文取值相邻的分支传递该音乐记录继续基本预测过程,再将得到的可能多个音乐记录集合得到的音乐特征按照每个音乐集合所包含记录的数量来加权平均得到当前上下文所希望的音乐特征,因为音乐集合数目越多代表用户可能倾向于在那种集合的上下文去听歌,所以它们能代表用户音乐特征的比例更大。
另一个关于预测部分的方面是初始状态下增量回归树还没有建立,我们无法根据增量回归树得到当前上下文希望的音乐特征。典型的做法是在云端收集大量用户的收听信息来建立一个泛型的用户上下文与音乐特征的对应关系,也就是大部分人在当前上下文下喜好听那种特征的音乐,然后去推荐具有这些特征的音乐。然而这种方法需要收集其他用户的个人信息到云端来做这种模型,用户可能会由于隐私原因不愿意这样做,而且最初无用户的情况下也无法做这种模型。我们的做法是根据音乐集的聚类方法,得到10个代表性音乐特征集合,然后随机选择一种代表特征匹配音乐推荐,为了保证初期增量回归树的稳定性,我们仅在初期选择用户评分高的音乐记录来训练。
通过预测,我们得到了一个用户当前上下文下所希望的音乐特征向量f,并将其传输到云端。
A5、云端音乐匹配;
云端音乐匹配的目的是为了精确地、快速地根据移动客户端传递的音乐特征信息在云端的音乐数据库中找到与其特征最接近的音乐。整个云端音乐数据库其实是一个关于音乐特征的空间,其中具有相似的音乐特征的音乐聚集在一起,因此匹配程序需要能够精确的根据得到的音乐特征指定出一个特定的音乐聚集区域,也就意味着首先我们的匹配算法要能够合理的将这个特征空间根据音乐的特征距离划分出不同的聚集。
采用数据结构VP树来组织音乐。VP树是一种空间二分树——在每一个中间点都包括了两个分支,VP树在每一个中间点根据其他音乐到一个选定的音乐——Vantage Point的距离将所有音乐分成两个分支,离该音乐远的和离该音乐近的,然后在每个分支继续按照分支中音乐到分支的选定音乐的距离划分,直到分支所包含的音乐数量小于一个预先设定的阈值。在VP树的每一个中间节点仅仅保存了选定的点Vantage Point,划分分支的距离以及以该节点为跟的子树包含的音乐,小于该距离的所有音乐都在左子树,大于该距离的音乐都在右子树。为了搜索对应特征的音乐,我们只需要计算该特征与每一个中间节点的Vantage Point的距离,如果大于节点保存的距离,则该节点右子树的音乐与其相似,否则左子树的音乐与其相似,然后选择一个子树继续计算直到该子树中包含的音乐数目小于需要的与该特征相似的音乐的数目。
为了精确的衡量音乐之间的相似度,我们定义了基于我们提取的音乐的特征的音乐之间的距离。当我们得到两个音乐的特征向量,我们按照以下步骤计算两者之间的距离:
1)正规化每一个特征向量{Fi}的特征到-1与1之间,我们收集了所有音乐中关于每个特征的最大绝对值向量{Mi},然后利用{Fi/Mi}得到正规化的特征向量{fi}。
2)我们计算两个正规化之后的特征向量{f1i}和{f2i}的余弦相似度,如下公式(10):
d i s t = Σ i n f 1 i f 2 i Σ i n f 1 i Σ i n f 2 i - - - ( 10 )
因此,当得到用户端传来的当前上下文用户喜好的音乐特征的时候,就可以计算该特征与每个节点的Vantage Point的距离然后选择搜索左子树还是右子树直到子树包含的音乐数目达到我们要求的数目。
举例来说,图2展示了本实施例提供的数据交互示意图,每当用户要听歌的时候,收集当前用户的上下文,然后该上下文被用于特征预测计算出该用户在当前状态下希望听的音乐特征,该特征被传输到云端,然后云端匹配服务用该特征作为种子匹配数据库中的音乐,得到相似的音乐。这音乐以及预先处理好的该音乐的特征一起被传到客户端,播放器播放对应音乐,音乐特征提取模块得到该音乐的特征。当用户听这首歌的时候,用户反馈数据部分得到用户的反馈。这时,当前上下文,音乐特征,以及对该音乐的用户反馈数据三部分输入到音乐推荐系统的模型训练模块增量式的训练个性化模型。这是整个音乐推荐以及模型更新的过程。
图3示出了本实施例提供的一棵增量决策树的示意图。圆形节点表示中间节点,每个中间节点都会关联一个上下文类型,这个上下文类型是通过计算信息增益选择出来的最优分割上下文,而这些中间节点的选择是递归的,先选择根节点,然后递归选择下面节点。方形节点是叶子节点,它们每一个都代表了一类具有相似音乐特征音乐纪录的集合,它们内部是一条一条纪录,如右上方方框展示的一样。这些都是用户历史听过的歌曲。可以看出,没一个叶子节点中的音乐纪录都在某些上下文的取值相同,比如叶子极点A,它们的时间上下文都是下午,加速度上下文都是激烈。
图4示出了通过计算信息增益选择最优分割的上下文。图4(a)展示了4条音乐纪录的内容,以及由纪录1,纪录2,纪录3形成的一个叶子节点——音乐纪录集合。图4(b)表示一条新的纪录——纪录4通过查找对应上下文找到了这个叶子节点并加入了这个叶子节点,这时发现当前集合的音乐特征的变化过大,即纪录1、2节拍数大于100,纪录3、4小于50,这时模型训练算法计算按照各个上下文划分集合得到的信息增益,这时发现选择加速度作为划分上下文,信息增益最大,因此得到图4(c)的更新后的新的树状结构。
图5示出了本发明一实施例提供的一种基于上下文感知的音乐推荐装置的结构示意图,包括:
信息获取模块11,用于获取当前设备的上下文信息;
特征获取模块12,用于根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;
音乐获取模块13,用于根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。
可选地,还包括:
模型建立模块,用于根据上下文信息、音乐特征和用户反馈数据,建立增量决策树模型;
所述特征获取模块进一步用于在所述增量决策树模型中查找所述上下文信息对应的音乐特征。
进一步地,还包括:
反馈接收模块,用于接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中。
具体地,所述上下文信息包括设备的加速度信息、噪声信息、时间信息和社交联系信息。
更进一步地,还包括:
信息熵计算模块,用于根据所述增量决策树模型中每个节点的音乐记录,计算所述增量决策树模型中每个节点的信息熵,其中,所述音乐记录包括所述上下文信息、所述音乐特征和所述用户反馈数据;并判断当所述信息熵大于等于预设值时,获取信息增益最大时对应的上下文,根据所述信息增益最大时对应的上下文,得到新的分支节点。
本实施例所述的基于上下文感知的音乐推荐装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

Claims (10)

1.一种基于上下文感知的音乐推荐方法,其特征在于,包括:
获取当前设备的上下文信息;
根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;
根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。
2.根据权利要求1所述的方法,其特征在于,
所述获取当前设备的上下文信息之前,还包括:
根据上下文信息、音乐特征和用户反馈数据,建立增量决策树模型;
所述根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征,进一步包括:
在所述增量决策树模型中查找所述上下文信息对应的音乐特征。
3.根据权利要求2所述的方法,其特征在于,所述根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放之后,还包括:
接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中。
4.根据权利要求3所述的方法,其特征在于,所述上下文信息包括设备的加速度信息、噪声信息、时间信息和社交联系信息。
5.根据权利要求4所述的方法,其特征在于,所述接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中之后,还包括:
根据所述增量决策树模型中每个节点的音乐记录,计算所述增量决策树模型中每个节点的信息熵,其中,所述音乐记录包括所述上下文信息、所述音乐特征和所述用户反馈数据;
当所述信息熵大于等于预设值时,获取信息增益最大时对应的上下文,根据所述信息增益最大时对应的上下文,得到新的分支节点。
6.一种基于上下文感知的音乐推荐装置,其特征在于,包括:
信息获取模块,用于获取当前设备的上下文信息;
特征获取模块,用于根据上下文信息与音乐特征的对应关系,得到所述上下文信息对应的音乐特征;
音乐获取模块,用于根据所述音乐特征,获取服务器端与所述音乐特征匹配的音乐,并将所述音乐推荐至当前设备的音乐播放器进行播放。
7.根据权利要求6所述的装置,其特征在于,还包括:
模型建立模块,用于根据上下文信息、音乐特征和用户反馈数据,建立增量决策树模型;
所述特征获取模块进一步用于在所述增量决策树模型中查找所述上下文信息对应的音乐特征。
8.根据权利要求7所述的装置,其特征在于,还包括:
反馈接收模块,用于接收用户反馈数据,并将所述用户反馈数据存入所述增量决策树模型中。
9.根据权利要求8所述的装置,其特征在于,所述上下文信息包括设备的加速度信息、噪声信息、时间信息和社交联系信息。
10.根据权利要求9所述的装置,其特征在于,还包括:
信息熵计算模块,用于根据所述增量决策树模型中每个节点的音乐记录,计算所述增量决策树模型中每个节点的信息熵,其中,所述音乐记录包括所述上下文信息、所述音乐特征和所述用户反馈数据;并判断当所述信息熵大于等于预设值时,获取信息增益最大时对应的上下文,根据所述信息增益最大时对应的上下文,得到新的分支节点。
CN201610267056.2A 2016-04-26 2016-04-26 一种基于上下文感知的音乐推荐方法及装置 Pending CN105975496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610267056.2A CN105975496A (zh) 2016-04-26 2016-04-26 一种基于上下文感知的音乐推荐方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610267056.2A CN105975496A (zh) 2016-04-26 2016-04-26 一种基于上下文感知的音乐推荐方法及装置

Publications (1)

Publication Number Publication Date
CN105975496A true CN105975496A (zh) 2016-09-28

Family

ID=56994345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610267056.2A Pending CN105975496A (zh) 2016-04-26 2016-04-26 一种基于上下文感知的音乐推荐方法及装置

Country Status (1)

Country Link
CN (1) CN105975496A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528653A (zh) * 2016-10-17 2017-03-22 浙江大学 一种基于图嵌入模型的上下文感知音乐推荐方法
CN106844639A (zh) * 2017-02-23 2017-06-13 跑悦乐(上海)网络技术有限公司 音乐匹配运动的方法及系统
CN107766561A (zh) * 2017-11-06 2018-03-06 广东欧珀移动通信有限公司 音乐推荐的方法、装置、存储介质及终端设备
CN107885816A (zh) * 2017-11-06 2018-04-06 广东欧珀移动通信有限公司 音乐推荐的方法、装置、存储介质及终端设备
CN107908701A (zh) * 2017-11-06 2018-04-13 广东欧珀移动通信有限公司 音乐推荐的方法、装置、存储介质及终端设备
CN108399197A (zh) * 2018-01-30 2018-08-14 重庆邮电大学 基于用户置信度和时间上下文的协同过滤推荐方法
CN108932336A (zh) * 2018-07-11 2018-12-04 Oppo(重庆)智能科技有限公司 信息推荐方法、电子终端及计算机可读存储介质消息
CN109271550A (zh) * 2018-07-27 2019-01-25 华南理工大学 一种基于深度学习的音乐个性化分类推荐方法
CN110209933A (zh) * 2019-05-20 2019-09-06 山东科技大学 一种基于回归树上下文特征自动编码的偏置张量分解方法
CN112052453A (zh) * 2020-09-04 2020-12-08 四川长虹电器股份有限公司 基于Relief算法的webshell检测方法及装置
CN109146541B (zh) * 2018-07-05 2021-04-27 北京三快在线科技有限公司 一种兴趣点的质量评分获取方法、装置、计算机设备及存储介质
CN112784097A (zh) * 2021-01-21 2021-05-11 百果园技术(新加坡)有限公司 一种音频特征的生成方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890713A (zh) * 2012-09-20 2013-01-23 浙江大学 一种基于用户当前地理位置和物理环境的音乐推荐方法
CN103970873A (zh) * 2014-05-14 2014-08-06 中国联合网络通信集团有限公司 一种音乐推荐方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890713A (zh) * 2012-09-20 2013-01-23 浙江大学 一种基于用户当前地理位置和物理环境的音乐推荐方法
CN103970873A (zh) * 2014-05-14 2014-08-06 中国联合网络通信集团有限公司 一种音乐推荐方法和系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528653A (zh) * 2016-10-17 2017-03-22 浙江大学 一种基于图嵌入模型的上下文感知音乐推荐方法
CN106528653B (zh) * 2016-10-17 2019-04-23 浙江大学 一种基于图嵌入模型的上下文感知音乐推荐方法
CN106844639A (zh) * 2017-02-23 2017-06-13 跑悦乐(上海)网络技术有限公司 音乐匹配运动的方法及系统
CN106844639B (zh) * 2017-02-23 2020-07-21 跑悦乐(上海)网络技术有限公司 音乐匹配运动的方法及系统
CN107908701A (zh) * 2017-11-06 2018-04-13 广东欧珀移动通信有限公司 音乐推荐的方法、装置、存储介质及终端设备
CN107885816A (zh) * 2017-11-06 2018-04-06 广东欧珀移动通信有限公司 音乐推荐的方法、装置、存储介质及终端设备
CN107766561A (zh) * 2017-11-06 2018-03-06 广东欧珀移动通信有限公司 音乐推荐的方法、装置、存储介质及终端设备
CN108399197A (zh) * 2018-01-30 2018-08-14 重庆邮电大学 基于用户置信度和时间上下文的协同过滤推荐方法
CN109146541B (zh) * 2018-07-05 2021-04-27 北京三快在线科技有限公司 一种兴趣点的质量评分获取方法、装置、计算机设备及存储介质
CN108932336A (zh) * 2018-07-11 2018-12-04 Oppo(重庆)智能科技有限公司 信息推荐方法、电子终端及计算机可读存储介质消息
CN109271550A (zh) * 2018-07-27 2019-01-25 华南理工大学 一种基于深度学习的音乐个性化分类推荐方法
CN109271550B (zh) * 2018-07-27 2022-05-24 华南理工大学 一种基于深度学习的音乐个性化分类推荐方法
CN110209933A (zh) * 2019-05-20 2019-09-06 山东科技大学 一种基于回归树上下文特征自动编码的偏置张量分解方法
CN112052453A (zh) * 2020-09-04 2020-12-08 四川长虹电器股份有限公司 基于Relief算法的webshell检测方法及装置
CN112784097A (zh) * 2021-01-21 2021-05-11 百果园技术(新加坡)有限公司 一种音频特征的生成方法、装置、计算机设备和存储介质
CN112784097B (zh) * 2021-01-21 2024-03-26 百果园技术(新加坡)有限公司 一种音频特征的生成方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN105975496A (zh) 一种基于上下文感知的音乐推荐方法及装置
CN104731954B (zh) 基于群透视音乐推荐方法与系统
CN102654859B (zh) 一种歌曲推荐方法及系统
US7788279B2 (en) System and method for storing and retrieving non-text-based information
CN105068661A (zh) 基于人工智能的人机交互方法和系统
US20120143907A1 (en) Generating audio annotations for search and retrieval
CN105575393A (zh) 一种基于人声音色的个性化点唱歌曲推荐方法
CN109147807A (zh) 一种基于深度学习的音域平衡方法、装置及系统
CN106062730A (zh) 用于主动构成内容以便在连续社交通信中使用的系统和方法
CN103455538B (zh) 信息处理装置、信息处理方法和程序
US20220122147A1 (en) Emotion calculation device, emotion calculation method, and program
US9747927B2 (en) System and method for multifaceted singing analysis
CN108549675B (zh) 一种基于大数据及神经网络的钢琴教学方法
CN106302987A (zh) 一种音频推荐方法及设备
CN109391829A (zh) 视频打点位置分析系统、分析方法及储存媒体
Sarin et al. SentiSpotMusic: a music recommendation system based on sentiment analysis
KR102623431B1 (ko) 사용자 보컬 평가 기반 트레이너 매칭 방법
JP6350325B2 (ja) 音声解析装置およびプログラム
JP2017157130A (ja) 楽曲推薦システム、コンピュータプログラム、及び方法
US20230401254A1 (en) Generation of personality profiles
CN115129900A (zh) 一种多媒体推荐方法、装置、设备及存储介质
CN112836138A (zh) 用户推荐方法及装置
CN116745761A (zh) 用于目标组的媒体项的标识
KR102623459B1 (ko) 사용자의 보컬 평가에 기반한 오디션 이벤트 서비스 제공 방법, 장치 및 시스템
CN110659362A (zh) 一种自动调节候选范围的推荐方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160928