专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
宝玉xp  ·  推荐没用过的用用 ... ·  4 天前  
爱可可-爱生活  ·  【Figure人形机器人在宝马汽车工厂自主工 ... ·  5 天前  
爱可可-爱生活  ·  【ai-rd-tasks:一套评估大语言模型 ... ·  5 天前  
51好读  ›  专栏  ›  机器学习研究会

我用Python做了六百万字的歌词分析,告诉你中国Rapper都在唱些啥

机器学习研究会  · 公众号  · AI  · 2017-08-06 23:38

正文

《中国有嘻哈》火了,作为一名对中国HipHop毫无了解的吃瓜群众,我开始好奇以下三个问题:


HipHop到底在唱些什么?


各个国家和地区的 Rapper 们想要说的唱的都有哪些特色?


如果想当一个Rapper,我应该怎样写词才能紧跟潮流又不会离题太远?

为了解答这个疑问,我用Python抓取了美英、台湾、香港、中国大陆四个地区,总共六千万的歌词,其中包括大陆600万的歌词,做了一些数据分析的工作,目的就是给我以及像我一样的吃瓜群众们一个有理有据的答案。

我的数据源选了X米音乐,写了好一会代码,抓取歌词的爬虫开始蹭蹭工作了⇣


爬虫一般会面对两个问题——


1.代理问题


频繁地抓取网站的页面,IP很容易被封。于是写了个抓免费代理的爬虫,抓了八百多个代理IP,够用了。


2.效率问题


10万首歌,即使是1秒一个请求,那得27个小时,我可等不了27个小时。


于是我决定开10个线程,三小时程序就能跑完。

……


然后在三小时之后,我收获一个约100M,49419首歌的数据库。


接下来,就是一些数据清洗、处理、分析的工作。


虾米的歌词都是用户编辑上传的,格式不适用数据分析,所以我得把无用的符号、编曲、作词之类的信息除去(格式统一有多么重要啊朋友们),然后中英文各自分词。英文需要去停词(对数据分析无用的词,一般没有实际含义,如is、on、at、which),大小写变换,以及词形变换。英语中词汇有单复数、各种时态,为了易于分析,需要还原为词干。另外不管是中文还是英文都需要词性标注,一般来说分析也就分析名词和形容词,这些现成的开源库使用(此处省去1000万字)。


总之,我都搞定了,以下就是分析结果。我们先看看大陆地区的rapper歌词里有都写啥关键词⇣

“世界”和“时间”占据首位,“老子”、“兄弟”、“baby”、“money”、“bitch”、“real”等词倒是让rapper的形象呼之欲出。rapper的词里频繁提到“音乐”、“歌词”、“旋律”、“歌曲”,可见他们对自己的音乐非常在乎。嘻哈音乐由于有freestyle的文化,对亲自写词有要求,否则就不“ real ”,从节目中他们对偶像rapper的diss也能看出来。



转自:CSDN