當前位置:
首頁 > 知識 > 用Python做了百萬字的分析,告訴你Rapper都在唱些啥

用Python做了百萬字的分析,告訴你Rapper都在唱些啥

《中國有嘻哈》火了,作為一名對中國HipHop毫無了解的吃瓜群眾,我開始好奇以下三個問題:

HipHop到底在唱些什麼?

各個國家和地區的 Rapper 們想要說的唱的都有哪些特色?

如果想當一個Rapper,我應該怎樣寫詞才能緊跟潮流又不會離題太遠?

為了解答這個疑問,我用Python抓取了美英、台灣、香港、中國大陸四個地區,總共六千萬的歌詞,其中包括大陸600萬的歌詞,做了一些數據分析的工作,目的就是給我以及像我一樣的吃瓜群眾們一個有理有據的答案。

我的數據源選了X米音樂,寫了好一會代碼,抓取歌詞的爬蟲開始蹭蹭工作了

GIF/523K

想要系統學習python和免費學習資料的 可以加裙 四七四五三四九五一

爬蟲一般會面對兩個問題——

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也能看出來。

接著,我們來看看與其他幾個地區的關鍵詞對比

看起來rapper的生活差不多,無論大陸還是台灣,都喜歡喊「baby」,身邊都有一群「兄弟」和「朋友」,有「夢想」,平時都在唱「hip hop」,有「煩惱」了就罵罵街。

亮點是美國的關鍵字top1是「nigga」,這個和帶有種族歧視意味的「nigger」還不是一個詞。關於這個Tupac有過一個有意思的定義。

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

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

美國rapper fetty wap

接下來,為了了解rapper的生活狀況,我開始分析一些常見辭彙在歌詞中出現的頻率。饒舌歌手們的生活想必少不了豪車,出門騎摩拜可能有被開除rap籍的風險。

感謝維基提供汽車品牌頁面,並且很貼心的分了英語名稱、中國大陸譯名,於是我又寫了個爬蟲把品牌名稱抓下來,然後統計資料庫中每個品牌出現的頻率。

這是各汽車品牌在國內16284首嘻哈歌曲中出現的情況,在一首歌的歌詞中出現算一次,總共約有400多首歌中出現至少一次汽車的品牌名字。可以看出,饒舌歌手喜歡寶馬和賓士的很多,特點只有一個,就是貴!其實夏利、桑塔納等車也有不少歌提到,但一般表達的是消極情緒。

然後我又統計了一下rapper們都喝什麼

*紅色是國內饒舌歌手的數據,黃色是總數據

看來饒舌歌手不那麼喜歡喝威士忌,排在威士忌前面的還分別有龍舌蘭、白蘭地、朗姆酒,限於圖表大小我沒將這幾個列入圖表。香檳作為富有的象徵,遙遙領先,不過國內的饒舌歌手似乎處於消費尚未升級的水平,啤酒排在首位。外國人比較喜歡金酒,國內的饒舌歌手幾乎沒提到,雖然金酒一般用來調雞尾酒,但是雞尾酒提到的次數也是少得可憐。

饒舌歌手喜歡互相diss(懟),所以他們diss時會罵些啥?讓我們來看看他們都罵了什麼髒話。

這個統計有個小插曲,第一次統計發現一個中文髒話都沒有,還以為凈網運動成功了,結果發現分詞的詞庫里壓根就沒髒話的辭彙,重新手動加入詞庫後就好了。

(左邊是所有數據的出現次數,右邊是大陸說唱的出現次數)

大陸16284首歌有2496首出現髒話,髒話率約為15%,而非大陸的數據中,33134首歌有13217首出現髒話,髒話率約為40%。

總的來看,我國歌手比較符合社會主義核心價值觀。我試著把「damn」和「shit」這兩個不那麼「臟」並且口語常見的詞在國外的統計中去掉,最後髒話率還有33%,比例遠遠高於大陸。一個推測是,英文髒話辭彙在歌詞中更容易押韻,或者唱起來flow更好把握。另一個可能是審查原因,早有「in3」這樣的樂隊因為歌詞原因被禁,國內的rapper創作起來可不能太奔放。

最後我們來探討一下rap里的押韻。

在《中國有嘻哈》中我們看到有單押、雙押、三押,各種層出不窮的押韻。旋律、押韻、節奏是說唱歌曲三個很重要的評判標準,一個好的押韻,能讓歌曲的flow更加流暢。

那麼我們怎麼才能唱出酷酷的押韻呢?我從歌詞庫中取出所有歌詞,分詞,然後根據韻母、聲調分類,然後得到了一個押韻辭彙文件。

韻腳的分布挺有趣的,我統計了一下出現前十的兩字詞語韻腳

可以看出,i i這個韻腳是最容易押韻的。下圖的這個韻腳的部分辭彙。「勢利」,「世紀」,「日誌」,「秘密」……

看著這些辭彙,我就情不自禁rap起來了,drop the beat!

雙押x9 達成!

以上應該能告訴你中國到底有什麼樣的嘻哈了。

想要系統學習python和免費學習資料的 可以加裙 四七四五三四九五一


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT技術java交流 的精彩文章:

高級程序員最愛逛的10大編程網站,你知道幾個?
谷歌也發布了Web前端機器學習庫,叫deeplearn.js
那些有趣又有用的 Python 庫
C語言新案例-跑馬遊戲

TAG:IT技術java交流 |

您可能感興趣

兩則消息告訴您:iPhone X和iphone8plus買哪個更合算?
來greenevery[day]走個心吧 | 十分鐘告訴你,為什麼這裡值得去?
iPhone8Plus告訴你為什麼不要選擇iPhone7Plus,它已經落後了
從研究數字告訴你 iPhone/iPad/Mac 究竟可以用多少年?
Tyler,The Creator告訴了我們在格萊美搶鏡的秘訣:髮型
Portugal. The Man 告訴你努力的意義
Portugal. The Man 告訴你努力的意義
在這裡Supreme、Gucci、Yezzy 隨意買,侃爺告訴你潮人們都這麼玩大富翁!
華為p20 pro到底能不能吊打iPhone x?這幾項對比告訴你!
Gucci和Balenciaga告訴你,2018流行這類包……你能猜到嗎?
John Singer Sargent 他告訴我們什麼是現實主義
這段 Higher Brothers 的採訪告訴你為什麼要學好英語
TensorFlow可以做什麼?讓Google Brain首席工程師告訴你
Supreme x The North Face雪山外套再出新款!入手方式一併告訴你!
Sean O pry 告訴你什麼叫除了帥,就不會別的了
fragment design x Saturdays NYC 官方型錄正式公布!發售日期一併告訴你!
為什麼明星都愛用面膜,beautyrest來告訴你!
七個理由告訴你:現在買蘋果的HomePod不划算
這十個理由,告訴你為什麼要買iPhone X!
《魅影縫匠》告訴你,50年代的貴婦都是這麼shopping的!