话说到,前段时间给某省移动公司做无线音乐交叉推荐项目,做的事不亦乐乎。且不说涉及的数据挖掘的算法,单说歌曲这玩意儿有关的一些有趣的话题,就挺让人兴奋,比如:

  • 什么歌曲好听?能不能按照既定规则作曲,就能得到好歌?
  • 歌曲有风格的,且风格是有限的。这个风格如何定义?
  • 歌曲是对应歌手的,一个歌手的所有歌曲是不是对于单个听众来说都是好的?
  • 歌手的风格有类似,那些比较相近?

这么多问题,假如有相关数据,其实都是可以通过数据挖掘的算法来给出答案的。最后一个歌手风格问题,假如能穷尽所有歌手之间的关系,没准能得到一些提示?于是乎,开始着手找数据,琢磨如何搞定这个事情。

问题有很多:

  • 歌手的范围如何界定?是中文、英文、日文、韩文、法文等一起考虑,还是一个语种一个语种的考虑?
  • 歌手列表如何获得?
  • 歌手间的关系如何获得?如何衡量歌手的关系?

网上搜了一下,发现百度可以给答案,它说:

  • 列表:http://list.mp3.baidu.com/top/top200.html
  • 关系:搜索两两歌手的网页数即可,即可代表二者的关系强弱(假设网页数多,即关系紧密)

于是乎,就这么办了(请新建标签页浏览图片):

很有意思的结果,有几点提示:

  1. 歌手后面的颜色点是歌手的分群(同群的风格相似?)
  2. 歌手间的线代表了两者间关系强弱
  3. 前200的歌手剔除掉了《信》和《黎明》二位(这俩哥们的搜索干扰太大了)

解释的话,我这儿就省了。仁者见仁,智者见智。反正这198位歌手,我还有几十个不认识,像什么格格、小雪、大嘴巴之类的,还有什么飞轮海啥的,我的偶像集中在上个世纪,呵呵。

http://bjt.cos.name/2011/05/baidu-singers-relationships/