机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...
摘要: 最近互聯(lián)網(wǎng)上出現(xiàn)一個(gè)熱詞就是“freestyle”,源于一個(gè)比拼rap的綜藝節(jié)目。在節(jié)目中需要大量考驗(yàn)選手的freestyle能力,freestyle指的是rapper即興的根據(jù)一段主題講一串rap。
背景
? ? ? ?最近互聯(lián)網(wǎng)上出現(xiàn)一個(gè)熱詞就是“freestyle”,源于一個(gè)比拼rap的綜藝節(jié)目。在節(jié)目中需要大量考驗(yàn)選手的freestyle能力,freestyle指的是rapper即興的根據(jù)一段主題講一串rap。freestyle除了考驗(yàn)一個(gè)人rap的技巧,其實(shí)我覺(jué)得最難的是如何在短時(shí)間內(nèi)在腦海中浮現(xiàn)出有韻律的歌詞。
? ? ? ?本文會(huì)介紹如何自動(dòng)生成歌詞,到底什么工具有這樣的功效呢?答案是PAI。PAI平臺(tái)是阿里云人工智能平臺(tái),在上面可以通過(guò)最簡(jiǎn)單的拖拉拽的方式,完成對(duì)各種結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù)的處理。因?yàn)橛辛薖AI,這種自動(dòng)生成歌詞的事情都不再成為難題。我現(xiàn)在不光可以瞬間生成萬(wàn)首歌詞,我還可以同時(shí)融合周杰倫、王力宏、林俊杰、汪峰的歌詞風(fēng)格在里面,因?yàn)镻AI利用深度學(xué)習(xí)能力可以快速的學(xué)習(xí)這些歌手的所有歌曲并且實(shí)現(xiàn)自己創(chuàng)作歌詞。不信?下面我就來(lái)show一下PAI的威力。
執(zhí)行過(guò)程
? ? ? ?1. 首先進(jìn)入PAI:https://data.aliyun.com/product/learn
? 開(kāi)通機(jī)器學(xué)習(xí)以及機(jī)器學(xué)習(xí)內(nèi)的GPU服務(wù)。
? ? ? ?2. 訓(xùn)練數(shù)據(jù)說(shuō)明
? ? ? ?這里我們的數(shù)據(jù)是一份txt文件,文件中包含了周杰倫、王力宏、林俊杰、汪峰的歌詞,一共有接近300首歌,歌詞都是去掉標(biāo)題等干擾因素的(花了好幾個(gè)小時(shí)整理)。數(shù)據(jù)截圖:
? ?3. 實(shí)驗(yàn)代碼說(shuō)明
? ? ? ?本實(shí)驗(yàn)使用的是PAI內(nèi)置的深度學(xué)習(xí)框架Tensorflow,使用的了seq2seq以及RNN網(wǎng)絡(luò)進(jìn)行歌詞語(yǔ)義的學(xué)習(xí)以及建模。使用train.py文件生成模型,使用predict.py文件進(jìn)行預(yù)測(cè)。以下是部分網(wǎng)絡(luò)結(jié)構(gòu)搭建的截圖,大家可以在下方找到源代碼下載地址進(jìn)行使用。(PS:實(shí)例代碼雖然可以運(yùn)行,但是數(shù)據(jù)IO采用的是低效方式,高效方式可以參考此文(https://yq.aliyun.com/articles/126918)
? ?4. 數(shù)據(jù)上傳
? ? ? ?將實(shí)驗(yàn)數(shù)據(jù)和代碼文件打包上傳到OSS(之所以打包是本文案例使用的是原生PYTHON的數(shù)據(jù)IO方式,需要代碼和訓(xùn)練數(shù)據(jù)組成同一個(gè)tar.gz文件)。OSS是PAI可讀的對(duì)象存儲(chǔ)工具,具體方式可以參考此視頻鏈接(https://help.aliyun.com/video_detail/54945.html)
? ?5. 搭建實(shí)驗(yàn)
? ? ? ?在PAI的畫(huà)布拖動(dòng)OSS以及Tensorflow組件搭建如下實(shí)驗(yàn),兩個(gè)Tensorflow節(jié)點(diǎn)分別對(duì)應(yīng)著訓(xùn)練和預(yù)測(cè)節(jié)點(diǎn),先訓(xùn)練生成寫(xiě)歌模型,然后預(yù)測(cè)節(jié)點(diǎn)獲取模型自動(dòng)生成歌詞。
? ? ? ?配置對(duì)應(yīng)的執(zhí)行代碼路徑和輸出路徑,跟上面的OSS路徑對(duì)應(yīng)。下圖是負(fù)責(zé)預(yù)測(cè)的Tensorflow節(jié)點(diǎn)配置。
? ? ? ?點(diǎn)擊運(yùn)行,PAI就開(kāi)始學(xué)習(xí)歌詞并且嘗試自己寫(xiě)作啦。
寫(xiě)歌結(jié)果
? ? ? ?經(jīng)過(guò)差不多20分鐘的學(xué)習(xí),PAI已經(jīng)掌握了幾位歌壇大神的歌詞技巧,下面就看看PAI寫(xiě)出來(lái)的歌詞是怎樣的。(歌詞需要在log中查看,可以參考https://yq.aliyun.com/articles/72841
?歌詞來(lái)了,
? ? ? ?看上去寫(xiě)的歌還算通暢,沒(méi)有出現(xiàn)特別多語(yǔ)病。當(dāng)然,想寫(xiě)出更好的詞,需要對(duì)訓(xùn)練模型的迭代次 數(shù)、詞長(zhǎng)等參數(shù)進(jìn)行不斷調(diào)試,也可以多為PAI輸送更多的歌詞供訓(xùn)練,因?yàn)?00多的樣本還是略顯單薄。
? ? ? ?以上就是通過(guò)PAI自動(dòng)寫(xiě)歌詞的教程,希望對(duì)各位喜歡音樂(lè)和嘗試做文本自動(dòng)生成的同學(xué)有幫助,讓我們一起freestyle起來(lái)!!
下載地址
? ? ? ?數(shù)據(jù)以及代碼已經(jīng)打包,直接上傳PAI配置路徑即可使用:下載地址
更多技術(shù)干貨敬請(qǐng)關(guān)注阿里云云棲社區(qū):阿里云云棲社區(qū)
轉(zhuǎn)載于:https://my.oschina.net/u/3579120/blog/1532879
總結(jié)
以上是生活随笔為你收集整理的机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如果你认为高端红酒与普通红酒成份是一样的
- 下一篇: ⑴配置1-5_Telnet_Isolat