本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:我用Python做了六百万字的歌词分析,告诉你中国

时间:2017-08-07 04:42来源:报码现场 作者:www.wzatv.cc 点击:
我用Python做了六百万字的歌词分析,告诉你中国Rapper都在唱些啥 2017-08-06 17:46 来源:CSDN 数据分析 原标题:我用Python做了六百万字的歌词分析,告诉你中国Rapper都在唱些啥 本文转载自公

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

2017-08-06 17:46 来源:CSDN 数据分析

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

本文转载自公众号摩登天空杂志(ModernskyMag),作者:猫弟Azz

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

HipHop到底在唱些什么?

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

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

码报:我用Python做了六百万字的歌词分析,告诉你中国

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

码报:我用Python做了六百万字的歌词分析,<a href=atv,告诉你中国" src="http://www.wzatv.cc/atv/uploads/allimg/170807/0450061148_0.jpg" />

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

码报:我用Python做了六百万字的歌词分析,告诉你中国

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

1.代理问题

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

2.效率问题

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

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

……

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

码报:我用Python做了六百万字的歌词分析,告诉你中国

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

码报:我用Python做了六百万字的歌词分析,告诉你中国

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

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

码报:我用Python做了六百万字的歌词分析,告诉你中国

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

接着,我们来看看与其他几个地区的关键词对比↓

码报:我用Python做了六百万字的歌词分析,告诉你中国

看起来rapper的生活差不多,无论大陆还是台湾,都喜欢喊“baby”,身边都有一群“兄弟”和“朋友”,有“梦想”,平时都在唱“hip hop”,有“烦恼”了就骂骂街。

亮点是美国的关键字top1是“nigga”,这个和带有种族歧视意味的“nigger”还不是一个词。关于这个Tupac有过一个有意思的定义。

nigger : a black man with a slavery chain around his neck.(黑奴)

码报:我用Python做了六百万字的歌词分析,告诉你中国

nigga: a black man with a gold chain on his neck.(金链黑汉子)

码报:我用Python做了六百万字的歌词分析,告诉你中国

美国rapper fetty wap

码报:我用Python做了六百万字的歌词分析,告诉你中国

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容