具体实施方式
图1为本发明音乐视频(Music Video,MV)服务器的应用示意图,包括客户端设备10,例如:机顶盒(set-top box,STB),便携式手持装置等、两个媒体服务器21、22以及音乐视频服务器30。其中,媒体服务器21、22用于存放运营商或服务提供商所提供歌曲的内容。客户端设备10分别与所述媒体服务器21、22以及音乐视频服务器30相连,用于播放所述歌曲。音乐视频服务器30也同时与媒体服务器21、22相连,用于根据产生用户个性化音乐视频播放清单。当用户想要收听歌曲时,音乐视频服务器30产生音乐视频播放清单,客户端设备10根据清单所列歌曲从媒体服务器21、22中下载对应的歌曲进行播放。本实施方式中,媒体服务器21、22的数量为两个,其他实施方式中并不局限于此。
图2为本发明图1中媒体服务器30内部的模块图。其中,媒体服务器30包括接收模块301、记录模块302、储存模块303、判断模块304、计算模块305、音乐视频播放清单产生模块306以及读取模块307。
接收模块301用于从客户端设备10接收身份识别信息以及用户投票信息。
记录模块302用于记录用户的投票信息。本实施方式中,记录模块302中的用户投票信息是可覆盖的,一首歌曲从播放到结束过程中的用户投票可定义为一轮投票,对于同一首歌曲,记录模块302记录该首歌曲的最后一轮投票的信息,也就是说,当用户对某一首歌曲进行第二轮投票时,第二轮投票的信息就会覆盖第一轮的投票信息。
储存模块303用于存储歌曲的属性及其权重值。其中,歌曲属性有曲名、主唱、音乐类型(流行、古典等)、音乐节奏(慢、快)、音乐情绪(悲伤、快乐)、剧情(走唱、舞蹈等)、语言、作词、作曲等。本实施方式中,上述属性可以分别可量化属性与不可量化属性。例如:音乐情绪与音乐节奏属于可量化的属性,其可以用数字1~5表示音乐情绪从悲伤到快乐或者音乐节奏从慢到快的渐变程度,这里,将数字1~5称之为量化值。上述列举的属性除音乐情绪与音乐节奏以外都属于不可量化的属性。同时,本实施方式中,每个歌曲的属性都有自己的权重值,其可分为预设权重值与计算权重值,其中,预设权重值是音乐视频服务器30为每一属性预先设定的数值,例如:曲名的预设权重为2、主唱的预设权重为20、音乐类型的预设权重为20、音乐情绪的预设权重为15、音乐节奏的预设权重为15、剧情的预设权重为15、语言的预设权重为5、作词的预设权重为3、作曲的预设权重为5,所述预设权重可根据据体情况做调整。计算权重值为未播放歌曲属性相对于已播放歌曲属性计算而得到的数值。本实施方式中,所有属性的权重值相加不超过100。
判断模块304用于根据用户投票信息确定每首歌曲的用户喜好度,即,确定每首歌曲是否属于用户喜欢的歌曲。同时,也会根据客户端设备10的身份识别信息判断用户是否第一次登录。
计算模块305用于根据储存模块303中的歌曲属性计算歌曲的相似度。其中,相似度是表示播放歌曲相对于已播放歌曲的相似程度,其仅是针对未播放歌曲而言的,计算方式是将未播放歌曲所有属性计算权重值相加而得到的,具体计算方法下面图6中会具体介绍。
音乐视频播放清单产生模块306用于根据歌曲的用户喜好度以及相似度产生新的音乐视频播放清单。
图3所示为本发明个性化音乐视频个性化设置方法的流程图。首先,步骤S310中,接收模块301接收用户登录信息。步骤S320中,判断模块304用于根据客户端设备10的身份识别码来判断该用户是否第一次登录,即,判断该用户是否第一次使用本音乐视频个性化设置服务。本发明其他实施方式中,音乐视频服务器30可以通过其他方式进行认证。如果该用户是第一次登录,则执行步骤S321,音乐视频播放清单产生模块306随机产生一个系统音乐视频播放清单。
如果该用户并不是第一次登录,执行步骤S330,计算模块305计算未播放歌曲的相似度。这种情况下,计算的是用户上次离开本服务时未播放的歌曲的相似度。本实施方式中未播放歌曲的相似度是以已播放歌曲的属性权重值做为基准来计算的,举例而言,如果运营商或服务提供商总共提供100首歌曲,每个音乐视频播放清单中只有10首,在收听完第一轮后只剩下90首,假设第一轮音乐视频播放清单中的歌曲是第1首至第10首,那么剩下90首歌曲就是第11首至第100首。当第一个音乐视频播放清单中的歌曲完全播放完后,计算模块306就会针对第11首至第100首歌曲相对于第1首至第10首歌曲分别做相似度计算。也就是说,第11首歌曲会分别与第1首至第10首歌曲做相似度计算,即,计算出10个相似度值,然后再在这10个相似度值中取最大值作为第11首歌曲的相似度,以此类推计算出未播放的所有歌曲的相似度值。
具体计算方式请同时参照图6,步骤S610,读取模块307依次读取存储模块303中的未播放歌曲的属性。步骤S620,判断模块304判断读取的歌曲属性是否为可量化属性。如果是可量化的属性,执行步骤S621,计算模块305依照可量化属性权重计算公式:(1-(被比较歌曲的量化值-比较歌曲的量化值)/量化值间隔)*此项属性预设权重值,对此可量化的属性进行权重值计算。这里,被比较歌曲为已播放的歌曲,比较歌曲为未播放的歌曲,量化值间隔为最小量化值与最大量化值之间的最小整数间隔数,例如:音乐情绪与音乐节奏系统默认的量化值是1~5,由于其最小整数间隔为1,共有4个间隔,则其量化间隔为4。
如果此属性是不可量化的属性,则执行步骤S630,判断模块304判断此未播放歌曲的属性与被比较歌曲对应属性的内容是否一致。如果二者一致,步骤S640,则计算模块305得到该属性的预设权重值。如果二者不一致,步骤S631,计算模块305得到此属性的权重值为0。接着执行步骤S650,计算模块305将上述每个歌曲所有属性的权重计算值相加而得到该歌曲的相似度。
举例而言,如果第1首歌曲为已经播放的歌曲,其属性及其内容分别是:曲名-马德里不思议、主唱-蔡依林、音乐类型-流行、音乐情绪-5、音乐节奏-4、剧情-走唱、语言-中文、做词-黄俊郎、作曲-陈孟启;如果第11首歌曲为未播放歌曲,其属性及其内容分别是:曲名-看我七十二变、主唱-蔡依林、音乐类型-流行、音乐情绪-3、音乐节奏-5、剧情-舞蹈、语言-中文、做词-陈镇川、作曲-Edward Chan/Charles Lee。其中,第1首歌曲的属性权重值为预设权重值,前面已经提到,第11首歌曲的属性权重值为计算权重值。也就是说,第11首歌曲属性权重值是要相对于第1首歌曲做计算而得到。
首先,判断模块304先会判断这两首歌曲对应不可量化属性的内容是否一致,也就是说,判断二者的曲名、主唱、音乐类型、剧情、语言、做词、作曲内容是否相同,其次,计算模块305依照可量化属性权重计算公式计算第11首歌曲可量化属性的权重值。例如:第11首歌曲的曲名、剧情、作词以及作曲与第1首歌曲的均不相同,则所述这些属性的权重值均为0;第11首歌曲的主唱、音乐类型、语言均与第1首相同,则所述这些属性的计算权重值与第1首对应属性的权重值,即为所述属性的预设权重值,分别为:20、20、5。对于音乐情绪的量化值来说,第1首为5,第11首为3,那么第11首音乐情绪的计算权重值为:(1-(5-3)/4)*15=7.5。相应地,第11首歌曲音乐节奏的计算权重值为:(1-(5-4)/4)=11.25。最后,将第11首歌曲所有的计算权重值相加即可得到其相似度值,即,第11首歌曲的相似度=曲名(0)+主唱(0)+音乐类型(20)+音乐情绪(7.5)+音乐节奏(11.25)+剧情(0)+语言(0)+作词(0)+作曲(0)=63.75。
计算完相似度,在返回图3,执行步骤S340,根据歌曲相似度与用户喜好度(具体参照图5)产生新的音乐视频播放清单。所述音乐视频播放清单是从两类歌曲集合中产生的:一是用户喜好度高的歌曲(喜欢的歌曲)以及相似度大于系统默认值60的歌曲集合,二是相似度低于默认值60的歌曲集合,音乐视频播放清单产生模块306则会在这两个集合中依照设定好的比例(例如:第一个集合选择8首,第二个集合中选择2首)随机挑选出10首歌曲作为新的音乐视频播放清单。需要说明的是,之所以在相似度低的歌曲中选择的目的在于:由于某些用户仅限于听某一类歌曲,其主观的排除其他歌曲收听的可能性,这样做可以让用户更多接触其喜好类以外的歌曲,增加其对于其他歌曲的喜好度。本实施方式中,在二个集合中各选歌曲的数目可以改变,不局限于此。
步骤S350中,客户端设备10就会下载步骤S321或者步骤S340中所产生的音乐视频播放清单。步骤S360中,客户端设备10根据下载的音乐视频播放清单从媒体服务器21或22中获得相关音乐视频内容进行逐一播放。
步骤S370,接收模组301于不同时刻接收用户投票信息。也就是说,每首歌曲在播放过程中,用户都可以随时投票,例如:在播放过程中投票、在播放结束后投票等。本实施方式中,投票信息分为两种,一种是赞成票,一种是反对票。其中,赞成票表示用户比较喜欢某首歌曲。反对票表示用户不喜欢某首歌曲。
步骤S380,判断模块304根据用户对于每首歌曲的投票信息确定用户喜好度。
步骤S390,判断模块304判断所述音乐视频播放清单中的歌曲是否都已播放。如果没有播完,返回步骤S360,客户端设备10继续逐一播放该清单中的歌曲。如果已经播完,执行步骤S330,计算模块305计算本次未播放歌曲的相似度。
图4所示为本发明图1中步骤S360的细化流程图。当用户在收听某首歌曲时,步骤S410中,判断模组304判断用户是否要中途离开。如果用户要中途离开,整个流程结束。如果用户没有中途离开,执行步骤S420,判断模组304根据接收模组301是否接收到投票信息从而判断用户是否投票。如果用户有投票,执行步骤S421,投票后返回图3中步骤S360。本实施方式中,此时的用户投票系统默认为用户投的是赞成票。
如果用户没有投票,执行步骤S430,判断模组403判断目前播放的歌曲是否播放完。如果已经播放完,执行步骤S440,用户进行投票,即,接收模组401接收到用户投票信息。本实施方式中,系统默认此时用户投的票是赞成票,也就是说,只有当用户喜欢某收歌曲是,其才会将此歌曲完整收听。
如果没有播放完,执行步骤S431,判断模组304则会继续判断用户是否在歌曲播放过程中切断播放。如果没有切断某首歌曲的播放,则返回图3步骤S360。如果切断某首歌曲的播放,执行步骤S440,用户进行投票。此时,系统默认用户投的是反对票,也就是说,用户不喜欢目前这首歌曲,所以才中途切断。
本实施方式中,用户在某首歌曲播放完后可能不会选择投票,此时,系统则会默认用户投的是赞成票,即,用户喜欢这首歌曲。同样,用户也可能在某首歌曲被中途切断时不会选择投票,此时,系统则会默认用户投的是反对票,即,用户不喜欢这首歌曲。
由图4可知,本实施方式中,用户通常在三种情况下进行投票:一是听歌中途投票,二是听歌过程中切歌投票,三是歌曲播放完后投票。
图5为本发明图3中步骤S380的细化流程图。步骤S510,判断模块304判断接收到的投票信息是属于赞成票还是反对票。如果该投票信息是赞成票,表示用户喜欢这首歌曲,则执行步骤S511,记录模块302将赞成票的数量加1,该赞成票的数量为正值,在歌曲收听整个过程,用户不止一次投赞成票,故其对应的赞成票数累计增加。
如果该投票信息是反对票,表示用户不喜欢这首歌曲,则执行步骤S512,记录模块302将反对票数加1,该反对票数为负值。值得注意的是,由于用户不喜欢某首歌曲时即会切断该歌曲的播放,所以反对票只会出现一次,但喜欢票可以为多次。
在步骤S520中,判断模组306根据某首歌曲的赞成票数与反对票数来确定用户对于这首歌曲的喜好度,即,用户是喜欢的这首歌曲还是不喜欢的这首歌曲。具体如下:本实施方式中,当用户在收听过程中切断歌曲时,记录模组302中则记录用户对于此首歌曲的投票为一票负值,0票正值,由此可见,用户是不喜欢此首歌曲;当用户在收听过程中已经投了赞成票,可是没有听完就切换至下一首歌曲时,记录模组302中则记录用户对于此首歌曲的投票为一票赞成票,一票反对票,此种情况下,系统默认用户是喜欢这首歌曲,则将此歌曲归类为用户喜欢的这类歌曲中;当用户在收听过程中无数次投了赞成票时,无疑这首歌即为用户喜欢的歌曲。
值得注意的是,本实施方式中,在计算相似度的过程中,有可能出现以下这种情况:由于每首未播放的歌曲是相对于已播放的歌曲做相似度计算,由图5可知,已播放的歌曲中包括用户喜欢的歌曲也包括用户不喜欢的歌曲,也就是说这个已播放歌曲的投票可能是正也可能是负,那么,对应于相似度来说,某个未播放歌曲的相似度也可能是正值,也可能是负值,所以对于其相似度的选择应该遵循以下规则:将相似度正值的最大值与负值绝对值的最大值做比较,二者哪一个大,则此未播放的歌曲的用户喜好度就与最大者保持一致;如果二者一样大,则默认此未播放歌曲是用户喜欢的歌曲。举例而言,假如第11首歌曲相对于第1首至第10首歌曲的相似度分别有10个值,其中可能有6个正值,4个负值,首先选取6个正值中的最大值,例如:78,其次选择4个负值绝对值中的最大的是-70,显然,78大于-70的绝对值,则第11首歌曲属于用户喜欢的那一类的歌曲。假如4个负值绝对值中的最大的为-80,显然,78小于-80的绝对值,则第11首歌属于用户不喜欢的那一类歌曲。假如4个负值绝对值中最大的是-78,显然,78等于-78绝对值,则第11首歌系统默认为是用户喜欢的那一类的歌曲。这样,系统中所有的歌曲在每个音乐视频播放清单听完后都会有各自的用户喜好度,而且每次的用户喜好度可以相同也可以不同。
图7为本发明图3中的变化例,其与图3大致相同,区别在于:图7更包括步骤S322,当用户不是第一次登录的情况下,判断模块304判断是否需要改变歌曲的属性权重。如果需要改变,执行步骤S323,音乐视频服务器30更改歌曲属性权重值并存储于存储模块302中,覆盖原有的歌曲属性权重值。当更改完后,返回步骤S322。如果不需要改变,执行步骤S330,计算模块305计算未播放歌曲的相似度。这里,需要改变歌曲属性权重的原因有很多,例如:经过一段时间的用户反馈信息发现,用户对于某首歌的喜好度区分不是很明显,或者某些用户更希望只听某些特定的主唱、作词、作曲等人的歌曲,抑或是其他原因,这样修改歌曲属性权重,使得音乐视频播放清单产生模块306产生的音乐视频播放清单更能够符合用户的喜好度。
本发明的音乐视频服务器及音乐视频个性化设置方法利用用户投票的机制反馈用户对于歌曲喜好的信息,同时,音乐视频服务器30根据歌曲的属性计算出其相似度,并根据计算出的相似度与用户喜好度来产生符合用户喜好的个性化音乐视频播放清单,节约用户选择节目的时间,方便用户使用。