1. 程式人生 > >機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供數據、代碼)

機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供數據、代碼)

找到 進行 html learn from 所有 pre 文案 對象存儲

背景

最近互聯網上出現一個熱詞就是“freestyle”,源於一個比拼rap的綜藝節目。在節目中需要大量考驗選手的freestyle能力,freestyle指的是rapper即興的根據一段主題講一串rap。freestyle除了考驗一個人rap的技巧,其實我覺得最難的是如何在短時間內在腦海中浮現出有韻律的歌詞。

技術分享

本文會介紹如何自動生成歌詞,到底什麽工具有這樣的功效呢?答案是PAI。PAI平臺是阿裏雲人工智能平臺,在上面可以通過最簡單的拖拉拽的方式,完成對各種結構化以及非結構化數據的處理。因為有了PAI,這種自動生成歌詞的事情都不再成為難題。我現在不光可以瞬間生成萬首歌詞,我還可以同時融合周傑倫、王力宏、林俊傑、汪峰的歌詞風格在裏面,因為PAI利用深度學習能力可以快速的學習這些歌手的所有歌曲並且實現自己創作歌詞。不信?下面我就來show一下PAI的威力。

執行過程

  • 1.首先進入PAI:https://data.aliyun.com/product/learn
    開通機器學習以及機器學習內的GPU服務。

  • 2.訓練數據說明
    這裏我們的數據是一份txt文件,文件中包含了周傑倫、王力宏、林俊傑、汪峰的歌詞,一共有接近300首歌,歌詞都是去掉標題等幹擾因素的(花了好幾個小時整理)。數據截圖:
    技術分享

  • 3.實驗代碼說明
    本實驗使用的是PAI內置的深度學習框架Tensorflow,使用的了seq2seq以及RNN網絡進行歌詞語義的學習以及建模。使用train.py文件生成模型,使用predict.py文件進行預測。以下是部分網絡結構搭建的截圖,大家可以在下方找到源代碼下載地址進行使用。(PS:實例代碼雖然可以運行,但是數據IO采用的是低效方式,高效方式可以參考此文https://yq.aliyun.com/articles/126918)

技術分享

  • 4.數據上傳
    將實驗數據和代碼文件打包上傳到OSS(之所以打包是本文案例使用的是原生PYTHON的數據IO方式,需要代碼和訓練數據組成同一個tar.gz文件)。OSS是PAI可讀的對象存儲工具,具體方式可以參考此視頻鏈接https://help.aliyun.com/video_detail/54945.html

  • 5.搭建實驗
    在PAI的畫布拖動OSS以及Tensorflow組件搭建如下實驗,兩個Tensorflow節點分別對應著訓練和預測節點,先訓練生成寫歌模型,然後預測節點獲取模型自動生成歌詞。
    技術分享
    配置對應的執行代碼路徑和輸出路徑,跟上面的OSS路徑對應。下圖是負責預測的Tensorflow節點配置。

    技術分享
    點擊運行,PAI就開始學習歌詞並且嘗試自己寫作啦。

寫歌結果

經過差不多20分鐘的學習,PAI已經掌握了幾位歌壇大神的歌詞技巧,下面就看看PAI寫出來的歌詞是怎樣的。(歌詞需要在log中查看,可以參考https://yq.aliyun.com/articles/72841

歌詞來了,
技術分享
看上去寫的歌還算通暢,沒有出現特別多語病。當然,想寫出更好的詞,需要對訓練模型的叠代次數、詞長等參數進行不斷調試,也可以多為PAI輸送更多的歌詞供訓練,因為300多的樣本還是略顯單薄。

以上就是通過PAI自動寫歌詞的教程,希望對各位喜歡音樂和嘗試做文本自動生成的同學有幫助,讓我們一起freestyle起來!!

下載地址

1.PAI用戶釘釘群:11768691
2.數據及代碼下載,關註凡人機器學習,並在會話中輸入“歌詞”

技術分享

機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供數據、代碼)