基于爬蟲的貼音樂標(biāo)簽方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)獲取和可信度計(jì)算技術(shù)領(lǐng)域,更具體涉及一種基于爬蟲的貼音樂標(biāo)簽方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著數(shù)字音樂市場的不斷擴(kuò)大,數(shù)字音樂的特征化標(biāo)注成為現(xiàn)階段研究的一個(gè)熱點(diǎn),而音樂標(biāo)簽則是最重要的特征化標(biāo)注。音樂標(biāo)簽具有豐富的語義,但是這種標(biāo)注方式的前提是有一個(gè)活躍的音樂社區(qū),擁有大量較高黏性的用戶;另一方面,音樂標(biāo)簽具有隨意性和離散性,容易形成“冷啟動”(Cold Start),新推出的音樂因缺乏標(biāo)簽將很難被用戶檢索至IJ,導(dǎo)致“流行偏見”(Popularity Bias),受先標(biāo)注用戶的影響,后來用戶的選擇將追隨之前的流行趨勢,從而使得大多數(shù)用戶只聽了極少數(shù)熱門音樂,而大部分音樂將處于長尾區(qū)而被忽略掉;大眾的早期評價(jià)并不一定都符合后來者的感知,少數(shù)“灰色綿羊”的獨(dú)特用戶無法從這種大眾潮流中獲取滿意的信息,且標(biāo)簽的隨意性也帶來了標(biāo)簽預(yù)處理的困難。
[0003]目前,國外主要的音樂社區(qū)包括lastfm、pandora,國內(nèi)主要的音樂社區(qū)包括網(wǎng)易云音樂,QQ音樂,百度音樂,酷狗音樂,酷我音樂,蝦米音樂等,這些音樂社區(qū)擁有大量的用戶,同時(shí)擁有豐富的歌單標(biāo)簽以及歌曲標(biāo)簽。對于目前帶有歌曲標(biāo)簽的音樂網(wǎng)站來說,基本上有兩種貼標(biāo)簽的方法,一種是通過人工的方法為每首歌曲貼上標(biāo)簽,另一種是列出盡可能多的歌曲標(biāo)簽,然后讓用戶自己為自己的歌單選擇合適的標(biāo)簽。這兩種方法都有自己的優(yōu)缺點(diǎn),人工貼標(biāo)簽的方法準(zhǔn)確度顯然會比較高,但是工作量很大,消耗的成本很高,對于曲庫來說一般歌曲數(shù)量比較大,顯然無法采用這種方法;第二種方法的優(yōu)點(diǎn)是成本非常低,但是缺點(diǎn)也很明顯,就是準(zhǔn)確度不高。
[0004]另外一種具有探究意義的貼標(biāo)簽的方法,是通過分類算法學(xué)習(xí)音樂的音頻特征,音頻特征是從歌曲本身提取的諸如音高、節(jié)拍、節(jié)奏等信息,能夠客觀反映歌曲要素。目前支持向量機(jī)分類算法比較好地?cái)M合音樂特征的相似度,但是標(biāo)簽的質(zhì)量也不是很高。
[0005]綜上,音樂標(biāo)簽具有豐富的語義,具有很大的研究價(jià)值。國內(nèi)外音樂社區(qū)擁有大量的黏性用戶,同時(shí)擁有豐富的歌單標(biāo)簽或者歌曲標(biāo)簽,這些豐富的標(biāo)簽可以高效、高質(zhì)量給未貼標(biāo)簽的曲庫貼上標(biāo)簽。然而,在貼音樂標(biāo)簽中,現(xiàn)在還沒有一種全面、高效、高質(zhì)量地給曲庫貼音樂標(biāo)簽的技術(shù)方案。
【發(fā)明內(nèi)容】
[0006](一)要解決的技術(shù)問題
[0007]本發(fā)明要解決的技術(shù)問題是如何全面、高效、高質(zhì)量地給曲庫貼音樂標(biāo)簽。
[0008](二)技術(shù)方案
[0009]為了解決上述技術(shù)問題,本發(fā)明第一方面提供一種基于爬蟲的貼音樂標(biāo)簽方法,所述方法包括以下步驟:
[0010]S1、針對來自不同音樂網(wǎng)站的爬蟲音樂標(biāo)簽記錄進(jìn)行預(yù)處理使其具有統(tǒng)一的格式;
[0011 ] S2、通過歌單標(biāo)簽可信值計(jì)算,將歌單標(biāo)簽轉(zhuǎn)化為歌曲標(biāo)簽;
[0012]S3、利用編輯距離算法,將爬蟲音樂標(biāo)簽記錄與曲庫音樂記錄進(jìn)行模糊匹配建立對應(yīng)關(guān)系;
[0013]S4、以音樂標(biāo)簽體系的標(biāo)簽為基準(zhǔn),構(gòu)建標(biāo)簽融合規(guī)則對曲庫音樂記錄進(jìn)行標(biāo)簽融合。
[0014]優(yōu)選的,所述步驟S2通過歌單標(biāo)簽可信值計(jì)算,將歌單標(biāo)簽轉(zhuǎn)化為歌曲標(biāo)簽具體包括:
[0015]S21、針對每一小類標(biāo)簽,統(tǒng)計(jì)其在全部歌單標(biāo)簽記錄中的出現(xiàn)頻次;
[0016]S22、針對每一歌曲,統(tǒng)計(jì)其包含的小類標(biāo)簽以及對應(yīng)的頻次;
[0017]S23、針對每一歌曲,算出其每個(gè)歌單標(biāo)簽的可信值;
[0018]S24、篩選出該歌曲可信值較高的歌單標(biāo)簽;
[0019]S25、判斷是否還有其他歌曲,若是執(zhí)行步驟S23,否則結(jié)束。
[0020]優(yōu)選的,所述步驟S3利用編輯距離算法,將爬蟲音樂標(biāo)簽記錄與曲庫音樂記錄進(jìn)行模糊匹配建立對應(yīng)關(guān)系具體包括:
[0021]S31、根據(jù)所述爬蟲音樂標(biāo)簽記錄中的歌手名搜索曲庫;
[0022]S32、判斷搜索結(jié)果是否為空,若是執(zhí)行步驟S37,否則執(zhí)行步驟S33;
[0023]S33、將該爬蟲音樂標(biāo)簽記錄中的歌曲名與搜索結(jié)果中的歌曲名進(jìn)行模糊匹配,計(jì)算匹配相似值;
[0024]S34、判斷匹配相似值是否大于門限閥值,若是執(zhí)行步驟S35,否則執(zhí)行步驟S36;
[0025]S35、構(gòu)建該爬蟲音樂標(biāo)簽記錄與曲庫該匹配上的音樂記錄的對應(yīng)關(guān)系;
[0026]S36、判斷是否有下一條搜索結(jié)果,若是執(zhí)行步驟S33,否則執(zhí)行步驟S37;
[0027]S37、判斷是否有下一條爬蟲音樂標(biāo)簽記錄,若是執(zhí)行步驟S33,否則執(zhí)行結(jié)束。
[0028]優(yōu)選的,所述步驟S4以音樂標(biāo)簽體系的標(biāo)簽為基準(zhǔn),構(gòu)建標(biāo)簽融合規(guī)則對曲庫音樂記錄進(jìn)行標(biāo)簽融合具體包括:
[0029]S41、根據(jù)音樂標(biāo)簽體系構(gòu)建標(biāo)簽融合規(guī)則;
[0030]S42、根據(jù)模糊匹配對應(yīng)關(guān)系,找到曲庫音樂對應(yīng)的音樂標(biāo)簽;
[0031]S43、判斷該對應(yīng)標(biāo)簽是否需要融合,若是執(zhí)行步驟S44,否則執(zhí)行步驟S45;
[0032]S44、根據(jù)標(biāo)簽融合規(guī)則進(jìn)行標(biāo)簽融合;
[0033]S45、給曲庫音樂貼上標(biāo)簽;
[0034]S46、判斷是否有下一條對應(yīng)關(guān)系,若是執(zhí)行步驟S42,否則執(zhí)行步驟S47;
[0035]S47、根據(jù)標(biāo)簽篩選規(guī)則,對全部貼上標(biāo)簽的曲庫音樂進(jìn)行標(biāo)簽篩選。
[0036]優(yōu)選的,所述爬蟲音樂標(biāo)簽記錄是指通過爬蟲爬取到的音樂記錄,所述音樂記錄的內(nèi)容包括歌手名、歌曲名、大類標(biāo)簽、小類標(biāo)簽、歌單名稱和網(wǎng)站來源,其中,所述大類標(biāo)簽包括語種、風(fēng)格、心情、場景、主題,所述小類標(biāo)簽為隸屬于所述大類標(biāo)簽的標(biāo)簽,包括英語、流行、傷感、學(xué)習(xí)、歌曲標(biāo)簽和歌單標(biāo)簽。
[0037]優(yōu)選的,所述步驟S23中某一歌曲關(guān)于歌單標(biāo)簽的可信值的計(jì)算過程具體為:
[0038]設(shè)歌單標(biāo)簽記錄包含η個(gè)小類標(biāo)簽,小類標(biāo)簽ti(i= 1,2,3,...,η)在全部歌單標(biāo)簽記錄中的頻次為F1,某一歌曲包含歌單標(biāo)簽tk,該歌曲被貼上該歌單標(biāo)簽的頻次為fk,利用公式fk*(0.4+0.6*(F1-Fmin)/(Fmax-Fmin)),其中Fmax是指Fi,F(xiàn)2,...Fn的最大值,F(xiàn)min是指F1,F2,...最小值,計(jì)算該歌曲包含的歌單標(biāo)簽tk的可信值。
[0039]優(yōu)選的,所述步驟S33、將該爬蟲音樂標(biāo)簽記錄中的歌曲名與搜索結(jié)果中的歌曲名進(jìn)行模糊匹配,計(jì)算匹配相似值的具體過程為:
[0040]設(shè)爬蟲音樂標(biāo)簽記錄的歌曲名字符串為S1,曲庫搜索結(jié)果的歌曲名字符串為S2,通過編輯距離算法計(jì)算出51與&的編輯距離L,通過(S1-L)/S1計(jì)算出51與&匹配相似值。
[0041]優(yōu)選的,所述步驟S41根據(jù)音樂標(biāo)簽體系構(gòu)建標(biāo)簽融合規(guī)則的具體過程為:
[0042]統(tǒng)計(jì)爬蟲音樂標(biāo)簽記錄中的全部小類標(biāo)簽的頻次,剔除頻次低的小眾標(biāo)簽,根據(jù)篩選后的小類標(biāo)簽,通過人工的方式構(gòu)建音樂標(biāo)簽體系,對表述不同但是意義相同的標(biāo)簽構(gòu)建映射規(guī)則,生成音樂標(biāo)簽體系的小類標(biāo)簽。
[0043]優(yōu)選的,所述標(biāo)簽篩選規(guī)則是指在每個(gè)所述大類標(biāo)簽下選擇所述小類標(biāo)簽的規(guī)則。
[0044]為了解決上述技術(shù)問題,本發(fā)明第二方面提供一種基于爬蟲的貼音樂標(biāo)簽系統(tǒng),所述系統(tǒng)包括:
[0045]數(shù)據(jù)預(yù)處理模塊,用于針對來自不同音樂網(wǎng)站的爬蟲音樂標(biāo)簽記錄進(jìn)行預(yù)處理使其具有統(tǒng)一的格式;
[0046]標(biāo)簽轉(zhuǎn)化模塊,用于通過歌單標(biāo)簽可信值計(jì)算,將歌單標(biāo)簽轉(zhuǎn)化為歌曲標(biāo)簽;
[0047]標(biāo)簽?zāi):ヅ淠K,用于利用編輯距離算法,將爬蟲音樂標(biāo)簽記錄與曲庫音樂記錄進(jìn)行模糊匹配建立對應(yīng)關(guān)系;
[0048]標(biāo)簽融合模塊,用于以音樂標(biāo)簽體系的標(biāo)簽為基準(zhǔn),構(gòu)建標(biāo)簽融合規(guī)則對曲庫音樂記錄進(jìn)行標(biāo)簽融合。
[0049](三)有益效果
[0050]1、本發(fā)明在爬蟲爬取多個(gè)音樂網(wǎng)站的音樂標(biāo)簽記錄的基礎(chǔ)上,對音樂標(biāo)簽記錄進(jìn)行預(yù)處理,提高了音樂標(biāo)簽記錄的可用性,同時(shí)保證了來自不同音樂網(wǎng)站的音樂標(biāo)簽記錄具有統(tǒng)一的格式。
[0051]2、另外通過歌單標(biāo)簽可信值計(jì)算,將歌單標(biāo)簽轉(zhuǎn)化為歌曲標(biāo)簽,提高了標(biāo)簽的可信度。
[0052]3、利用編輯距離算法,將爬蟲爬取到的音樂標(biāo)簽記錄中的歌曲名與未貼標(biāo)簽的曲庫中的歌曲名進(jìn)行模糊匹配,建立對應(yīng)關(guān)系,提高了爬蟲音樂標(biāo)簽記錄的利用率,在保證標(biāo)簽準(zhǔn)確性的前提下,最大限度地給曲庫貼上更多的音樂標(biāo)簽。
[0053]4、冋時(shí)根據(jù)多個(gè)首樂網(wǎng)站的首樂標(biāo)簽構(gòu)建一套完整的首樂標(biāo)簽體系,以首樂標(biāo)簽體系的標(biāo)簽為基準(zhǔn),構(gòu)建標(biāo)簽融合規(guī)則進(jìn)行標(biāo)簽融合,解決了來源不同的