本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種相似歌曲推薦方法及裝置。
背景技術(shù):
在互聯(lián)網(wǎng)應(yīng)用中,音樂(lè)類(lèi)型的網(wǎng)站給人們的生活帶來(lái)了很多的便利。用戶(hù)在音樂(lè)網(wǎng)站上可以選擇在線(xiàn)收聽(tīng)他們喜歡的歌曲,甚至還可以在音樂(lè)網(wǎng)站上結(jié)交相同音樂(lè)偏好的朋友。
現(xiàn)有的音樂(lè)網(wǎng)站可以向用戶(hù)進(jìn)行歌曲推薦,例如當(dāng)用戶(hù)收聽(tīng)歌手汪峰的歌曲《北京北京》時(shí),向其推薦專(zhuān)輯《勇敢的心》中的其他歌曲。但是現(xiàn)有的歌曲推薦方法,存在推薦歌曲與用戶(hù)之間的匹配度不夠高的問(wèn)題,這導(dǎo)致了用戶(hù)對(duì)推薦歌曲的滿(mǎn)意度較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種相似歌曲推薦方法及裝置,用以解決現(xiàn)有技術(shù)中存在推薦歌曲與用戶(hù)之間的匹配度不高、用戶(hù)滿(mǎn)意度低的缺陷。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種相似歌曲推薦方法,包括:
獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容;
計(jì)算所述多首歌曲中每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值;
根據(jù)所述每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值,確定所述多首歌曲對(duì)應(yīng)的第一預(yù)設(shè)維度的第一向量模型;
對(duì)所述第一向量模型進(jìn)行降維處理,得到第二預(yù)設(shè)維度的第二向量模型;
根據(jù)所述第二向量模型確定與所述多首歌曲中的目標(biāo)歌曲相似的相似歌曲。
在該實(shí)施例中,根據(jù)歌曲內(nèi)容為目標(biāo)歌曲確定與其相似的相似歌曲,其中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等,這樣,根據(jù)歌曲內(nèi)容為目標(biāo)歌曲確定相似歌曲,可以使相似歌曲與目標(biāo)歌曲的相似程度更高。
在一個(gè)實(shí)施例中,所述計(jì)算所述多首歌曲中每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值,包括:
對(duì)每首歌曲的歌曲內(nèi)容進(jìn)行分詞操作,得到多個(gè)詞;
計(jì)算所述多個(gè)詞中的每個(gè)詞在所述每首歌曲中的權(quán)重值。
在該實(shí)施例中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等,這樣,對(duì)歌曲內(nèi)容進(jìn)行分詞操作,進(jìn)而計(jì)算每個(gè)詞在歌曲中的權(quán)重值,即可得到每個(gè)詞對(duì)應(yīng)的統(tǒng)計(jì)值。
其中,統(tǒng)計(jì)值包括tf值和idf值。tf-某個(gè)詞在該歌曲中出現(xiàn)的頻率,idf-逆文檔頻率(頻率不高但很重要)。歌手、作詞、作曲、專(zhuān)輯、年代等詞語(yǔ),這些詞語(yǔ)的idf值比較高。
在一個(gè)實(shí)施例中,所述根據(jù)所述每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值,確定所述多首歌曲對(duì)應(yīng)的第一預(yù)設(shè)維度的第一向量模型,包括:
將所述多首歌曲中的所有詞的權(quán)重值組合,得到第一預(yù)設(shè)維度的第一向量模型,其中,所述第一向量模型表示為:
其中,xc,n表示第c個(gè)詞在第n首歌曲中的權(quán)重值,所述第一預(yù)設(shè)維度為n維。
在該實(shí)施例中,假設(shè)n首歌曲中一共包含c個(gè)詞,根據(jù)每個(gè)詞的權(quán)重值,則組合成上述第一向量模型,其中,每一行代表一個(gè)詞的向量該向量描述了該詞和所有歌曲的關(guān)系,每一列代表一個(gè)歌曲向量該向量描述了該歌曲與所有詞的關(guān)系。
在一個(gè)實(shí)施例中,對(duì)所述第一向量模型進(jìn)行降維處理,得到第二預(yù)設(shè)維度的第二向量模型,包括:
獲取所述第二預(yù)設(shè)維度的預(yù)設(shè)訓(xùn)練模型,其中,所述第二預(yù)設(shè)維度為m維,m<n;
根據(jù)所述預(yù)設(shè)訓(xùn)練模型,對(duì)所述第一向量模型進(jìn)行降維處理,得到所述第二向量模型。
在該實(shí)施例中,預(yù)設(shè)訓(xùn)練模型可以是m維的向量空間,m可能是100,遠(yuǎn)小于n。m維的向量空間是經(jīng)過(guò)大量歌曲訓(xùn)練得到的,M維就是m個(gè)分類(lèi)。將n維向量做空間變換,變換到m維的向量空間,相當(dāng)于做降維處理,也是特征聚合處理,同時(shí)減少計(jì)算量。其中,可以采用LSA(Latent Semantic Analysis,潛在語(yǔ)義分析)算法進(jìn)行降維處理。
在一個(gè)實(shí)施例中,所述根據(jù)所述第二向量模型確定與所述多首歌曲中的目標(biāo)歌曲相似的相似歌曲,包括:
根據(jù)所述第二向量模型和預(yù)設(shè)的計(jì)算公式,計(jì)算所述目標(biāo)歌曲與所述多首歌曲中其他歌曲的相似度,其中,所述預(yù)設(shè)的計(jì)算公式為:
其中,Sim(di,dj)表示第i首歌曲與第j首歌曲的相似度,xm,i表示第m個(gè)詞在第i首歌曲中的權(quán)重值,xm,j表示第m個(gè)詞在第j首歌曲中的權(quán)重值;
將相似度大于或者等于預(yù)設(shè)相似度的歌曲確定為與所述目標(biāo)歌曲相似的相似歌曲。
在該實(shí)施例中,在確定了第二向量模型后,根據(jù)第二向量模型和預(yù)設(shè)的計(jì)算公式分別計(jì)算目標(biāo)歌曲與歌曲庫(kù)中其他歌曲的相似度。從而將與目標(biāo)歌曲之間的相似度大于或者等于預(yù)設(shè)相似度的歌曲確定為相似歌曲。例如,預(yù)設(shè)相似度為80%,則計(jì)算目標(biāo)歌曲與預(yù)設(shè)歌曲庫(kù)中其他歌曲之間的相似度,從而將所有相似度大于或者等于80%的歌曲確定為相似歌曲。
在一個(gè)實(shí)施例中,在獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容之前,所述方法還包括:
根據(jù)目標(biāo)終端對(duì)所述預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定所述目標(biāo)終端的使用者喜好的所述目標(biāo)歌曲;
在確定與所述目標(biāo)歌曲相似的相似歌曲之后,所述方法還包括:
推送所述相似歌曲至所述目標(biāo)終端。
在該實(shí)施例中,可以根據(jù)目標(biāo)終端的使用者對(duì)預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定用戶(hù)喜好的目標(biāo)歌曲,進(jìn)而根據(jù)歌曲內(nèi)容,如歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等確定與目標(biāo)歌曲相似的相似歌曲,從而將相似歌曲推薦給目標(biāo)終端的使用者,這樣,可以使得推薦歌曲與用戶(hù)之間的匹配度更高,推薦歌曲更符合用戶(hù)的喜好,提高用戶(hù)的滿(mǎn)意度。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種相似歌曲推薦裝置,包括:
獲取模塊,用于獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容;
計(jì)算模塊,用于計(jì)算所述多首歌曲中每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值;
第一確定模塊,用于根據(jù)所述每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值,確定所述多首歌曲對(duì)應(yīng)的第一預(yù)設(shè)維度的第一向量模型;
降維模塊,用于對(duì)所述第一向量模型進(jìn)行降維處理,得到第二預(yù)設(shè)維度的第二向量模型;
第二確定模塊,用于根據(jù)所述第二向量模型確定與所述多首歌曲中的目標(biāo)歌曲相似的相似歌曲。
在一個(gè)實(shí)施例中,所述計(jì)算模塊包括:
分詞子模塊,用于對(duì)每首歌曲的歌曲內(nèi)容進(jìn)行分詞操作,得到多個(gè)詞;
第一計(jì)算子模塊,用于計(jì)算所述多個(gè)詞中的每個(gè)詞在所述每首歌曲中的權(quán)重值。
在一個(gè)實(shí)施例中,所述第一確定模塊用于:
將所述多首歌曲中的所有詞的權(quán)重值組合,得到第一預(yù)設(shè)維度的第一向量模型,其中,所述第一向量模型表示為:
其中,xc,n表示第c個(gè)詞在第n首歌曲中的權(quán)重值,所述第一預(yù)設(shè)維度為n維。
在一個(gè)實(shí)施例中,所述降維模塊包括:
獲取子模塊,用于獲取所述第二預(yù)設(shè)維度的預(yù)設(shè)訓(xùn)練模型,其中,所述第二預(yù)設(shè)維度為m維,m<n;
降維子模塊,用于根據(jù)所述預(yù)設(shè)訓(xùn)練模型,對(duì)所述第一向量模型進(jìn)行降維處理,得到所述第二向量模型。
在一個(gè)實(shí)施例中,所述第二確定模塊包括:
第二計(jì)算子模塊,用于根據(jù)所述第二向量模型和預(yù)設(shè)的計(jì)算公式,計(jì)算所述目標(biāo)歌曲與所述多首歌曲中其他歌曲的相似度,其中,所述預(yù)設(shè)的計(jì)算公式為:
其中,Sim(di,dj)表示第i首歌曲與第j首歌曲的相似度,xm,i表示第m個(gè)詞在第i首歌曲中的權(quán)重值,xm,j表示第m個(gè)詞在第j首歌曲中的權(quán)重值;
確定子模塊,用于將相似度大于或者等于預(yù)設(shè)相似度的歌曲確定為與所述目標(biāo)歌曲相似的相似歌曲。
在一個(gè)實(shí)施例中,所述裝置還包括:
第三確定模塊,用于在獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容之前,根據(jù)目標(biāo)終端對(duì)所述預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定所述目標(biāo)終端的使用者喜好的所述目標(biāo)歌曲;
推送模塊,用于在確定與所述目標(biāo)歌曲相似的相似歌曲之后,推送所述相似歌曲至所述目標(biāo)終端。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫(xiě)的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法的流程圖。
圖2是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S102的流程圖。
圖3是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S103的流程圖。
圖4是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S104的流程圖。
圖5是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S105的流程圖。
圖6是根據(jù)一示例性實(shí)施例示出的另一種相似歌曲推薦方法的流程圖。
圖7是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置的框圖。
圖8是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置中計(jì)算模塊的框圖。
圖9是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置中降維模塊的框圖。
圖10是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置中第二確定模塊的框圖。
圖11是根據(jù)一示例性實(shí)施例示出的另一種相似歌曲推薦裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法的流程圖。該相似歌曲推薦方法應(yīng)用于終端設(shè)備中,該終端設(shè)備可以是移動(dòng)電話(huà),計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等任一具有語(yǔ)音控制功能的設(shè)備。如圖1所示,該方法包括步驟S101-S105:
在步驟S101中,獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容;其中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等。
在步驟S102中,計(jì)算多首歌曲中每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值;
在步驟S103中,根據(jù)每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值,確定多首歌曲對(duì)應(yīng)的第一預(yù)設(shè)維度的第一向量模型;
在步驟S104中,對(duì)第一向量模型進(jìn)行降維處理,得到第二預(yù)設(shè)維度的第二向量模型;
在步驟S105中,根據(jù)第二向量模型確定與多首歌曲中的目標(biāo)歌曲相似的相似歌曲。
在該實(shí)施例中,根據(jù)歌曲內(nèi)容為目標(biāo)歌曲確定與其相似的相似歌曲,其中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等,這樣,根據(jù)歌曲內(nèi)容為目標(biāo)歌曲確定相似歌曲,可以使相似歌曲與目標(biāo)歌曲的相似程度更高。
圖2是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S102的流程圖。
在一個(gè)實(shí)施例中,上述步驟S102包括步驟S201-S202:
在步驟S201中,對(duì)每首歌曲的歌曲內(nèi)容進(jìn)行分詞操作,得到多個(gè)詞;
在步驟S202中,計(jì)算多個(gè)詞中的每個(gè)詞在每首歌曲中的權(quán)重值。
在該實(shí)施例中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等,這樣,對(duì)歌曲內(nèi)容進(jìn)行分詞操作,進(jìn)而計(jì)算每個(gè)詞在歌曲中的權(quán)重值,即可得到每個(gè)詞對(duì)應(yīng)的統(tǒng)計(jì)值。
其中,統(tǒng)計(jì)值包括tf值和idf值。tf-某個(gè)詞在該歌曲中出現(xiàn)的頻率,idf-逆文檔頻率(頻率不高但很重要)。歌手、作詞、作曲、專(zhuān)輯、年代等詞語(yǔ),這些詞語(yǔ)的idf值比較高。
圖3是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S103的流程圖。
如圖3所示,在一個(gè)實(shí)施例中,上述步驟S103包括步驟S301:
在步驟S301中,將多首歌曲中的所有詞的權(quán)重值組合,得到第一預(yù)設(shè)維度的第一向量模型,其中,第一向量模型表示為:
其中,xc,n表示第c個(gè)詞在第n首歌曲中的權(quán)重值,第一預(yù)設(shè)維度為n維。
在該實(shí)施例中,假設(shè)n首歌曲中一共包含c個(gè)詞,根據(jù)每個(gè)詞的權(quán)重值,則組合成上述第一向量模型,其中,每一行代表一個(gè)詞的向量該向量描述了該詞和所有歌曲的關(guān)系,每一列代表一個(gè)歌曲向量該向量描述了該歌曲與所有詞的關(guān)系。
圖4是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S104的流程圖。
如圖4所示,在一個(gè)實(shí)施例中,上述步驟S104包括步驟S401-S402:
在步驟S401中,獲取第二預(yù)設(shè)維度的預(yù)設(shè)訓(xùn)練模型,其中,第二預(yù)設(shè)維度為m維,m<n;
在步驟S402中,根據(jù)預(yù)設(shè)訓(xùn)練模型,對(duì)第一向量模型進(jìn)行降維處理,得到第二向量模型。
在該實(shí)施例中,預(yù)設(shè)訓(xùn)練模型可以是m維的向量空間,m可能是100,遠(yuǎn)小于n。m維的向量空間是經(jīng)過(guò)大量歌曲訓(xùn)練得到的,M維就是m個(gè)分類(lèi)。將n維向量做空間變換,變換到m維的向量空間,相當(dāng)于做降維處理,也是特征聚合處理,同時(shí)減少計(jì)算量。其中,可以采用LSA(Latent Semantic Analysis,潛在語(yǔ)義分析)算法進(jìn)行降維處理。
圖5是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦方法中步驟S105的流程圖。
如圖5所示,在一個(gè)實(shí)施例中,上述步驟105包括步驟S501-502:
在步驟S501中,根據(jù)第二向量模型和預(yù)設(shè)的計(jì)算公式,計(jì)算目標(biāo)歌曲與多首歌曲中其他歌曲的相似度,其中,預(yù)設(shè)的計(jì)算公式為:
其中,Sim(di,dj)表示第i首歌曲與第j首歌曲的相似度,xm,i表示第m個(gè)詞在第i首歌曲中的權(quán)重值,xm,j表示第m個(gè)詞在第j首歌曲中的權(quán)重值;
在步驟S502中,將相似度大于或者等于預(yù)設(shè)相似度的歌曲確定為與目標(biāo)歌曲相似的相似歌曲。
在該實(shí)施例中,在確定了第二向量模型后,根據(jù)第二向量模型和預(yù)設(shè)的計(jì)算公式分別計(jì)算目標(biāo)歌曲與歌曲庫(kù)中其他歌曲的相似度。從而將與目標(biāo)歌曲之間的相似度大于或者等于預(yù)設(shè)相似度的歌曲確定為相似歌曲。例如,預(yù)設(shè)相似度為80%,則計(jì)算目標(biāo)歌曲與預(yù)設(shè)歌曲庫(kù)中其他歌曲之間的相似度,從而將所有相似度大于或者等于80%的歌曲確定為相似歌曲。
圖6是根據(jù)一示例性實(shí)施例示出的另一種相似歌曲推薦方法的流程圖。
如圖6所示,在一個(gè)實(shí)施例中,在步驟S101之前,上述方法還包括步驟S601:
在步驟S601中,根據(jù)目標(biāo)終端對(duì)預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定目標(biāo)終端的使用者喜好的目標(biāo)歌曲;
在步驟S105之后,上述方法還包括步驟S602:
在步驟S602中,推送相似歌曲至目標(biāo)終端。
在該實(shí)施例中,可以根據(jù)目標(biāo)終端的使用者對(duì)預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定用戶(hù)喜好的目標(biāo)歌曲,進(jìn)而根據(jù)歌曲內(nèi)容,如歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等確定與目標(biāo)歌曲相似的相似歌曲,從而將相似歌曲推薦給目標(biāo)終端的使用者,這樣,可以使得推薦歌曲與用戶(hù)之間的匹配度更高,推薦歌曲更符合用戶(hù)的喜好,提高用戶(hù)的滿(mǎn)意度。
下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。
圖7是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置的框圖,該裝置可以通過(guò)軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為終端設(shè)備的部分或者全部。如圖7所示,該相似歌曲推薦裝置包括:
獲取模塊71,用于獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容;
計(jì)算模塊72,用于計(jì)算所述多首歌曲中每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值;
第一確定模塊73,用于根據(jù)所述每首歌曲的歌曲內(nèi)容的統(tǒng)計(jì)值,確定所述多首歌曲對(duì)應(yīng)的第一預(yù)設(shè)維度的第一向量模型;
降維模塊74,用于對(duì)所述第一向量模型進(jìn)行降維處理,得到第二預(yù)設(shè)維度的第二向量模型;
第二確定模塊75,用于根據(jù)所述第二向量模型確定與所述多首歌曲中的目標(biāo)歌曲相似的相似歌曲。
在該實(shí)施例中,根據(jù)歌曲內(nèi)容為目標(biāo)歌曲確定與其相似的相似歌曲,其中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等,這樣,根據(jù)歌曲內(nèi)容為目標(biāo)歌曲確定相似歌曲,可以使相似歌曲與目標(biāo)歌曲的相似程度更高。
圖8是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置中計(jì)算模塊的框圖。
如圖8所示,在一個(gè)實(shí)施例中,上述圖7所示的相似歌曲推薦裝置中計(jì)算模塊72包括:
分詞子模塊81,用于對(duì)每首歌曲的歌曲內(nèi)容進(jìn)行分詞操作,得到多個(gè)詞;
第一計(jì)算子模塊82,用于計(jì)算所述多個(gè)詞中的每個(gè)詞在所述每首歌曲中的權(quán)重值。
在該實(shí)施例中,歌曲內(nèi)容可以是歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等,這樣,對(duì)歌曲內(nèi)容進(jìn)行分詞操作,進(jìn)而計(jì)算每個(gè)詞在歌曲中的權(quán)重值,即可得到每個(gè)詞對(duì)應(yīng)的統(tǒng)計(jì)值。
其中,統(tǒng)計(jì)值包括tf值和idf值。tf-某個(gè)詞在該歌曲中出現(xiàn)的頻率,idf-逆文檔頻率(頻率不高但很重要)。歌手、作詞、作曲、專(zhuān)輯、年代等詞語(yǔ),這些詞語(yǔ)的idf值比較高。
在一個(gè)實(shí)施例中,所述第一確定模塊用于:
將所述多首歌曲中的所有詞的權(quán)重值組合,得到第一預(yù)設(shè)維度的第一向量模型,其中,所述第一向量模型表示為:
其中,xc,n表示第c個(gè)詞在第n首歌曲中的權(quán)重值,所述第一預(yù)設(shè)維度為n維。
在該實(shí)施例中,假設(shè)n首歌曲中一共包含c個(gè)詞,根據(jù)每個(gè)詞的權(quán)重值,則組合成上述第一向量模型,其中,每一行代表一個(gè)詞的向量該向量描述了該詞和所有歌曲的關(guān)系,每一列代表一個(gè)歌曲向量該向量描述了該歌曲與所有詞的關(guān)系。
圖9是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置中降維模塊的框圖。
如圖9所示,在一個(gè)實(shí)施例中,所述降維模塊74包括:
獲取子模塊91,用于獲取所述第二預(yù)設(shè)維度的預(yù)設(shè)訓(xùn)練模型,其中,所述第二預(yù)設(shè)維度為m維,m<n;
降維子模塊92,用于根據(jù)所述預(yù)設(shè)訓(xùn)練模型,對(duì)所述第一向量模型進(jìn)行降維處理,得到所述第二向量模型。
在該實(shí)施例中,預(yù)設(shè)訓(xùn)練模型可以是m維的向量空間,m可能是100,遠(yuǎn)小于n。m維的向量空間是經(jīng)過(guò)大量歌曲訓(xùn)練得到的,M維就是m個(gè)分類(lèi)。將n維向量做空間變換,變換到m維的向量空間,相當(dāng)于做降維處理,也是特征聚合處理,同時(shí)減少計(jì)算量。其中,可以采用LSA(Latent Semantic Analysis,潛在語(yǔ)義分析)算法進(jìn)行降維處理。
圖10是根據(jù)一示例性實(shí)施例示出的一種相似歌曲推薦裝置中第二確定模塊的框圖。
如圖10所示,在一個(gè)實(shí)施例中,所述第二確定模塊75包括:
第二計(jì)算子模塊1001,用于根據(jù)所述第二向量模型和預(yù)設(shè)的計(jì)算公式,計(jì)算所述目標(biāo)歌曲與所述多首歌曲中其他歌曲的相似度,其中,所述預(yù)設(shè)的計(jì)算公式為:
其中,Sim(di,dj)表示第i首歌曲與第j首歌曲的相似度,xm,i表示第m個(gè)詞在第i首歌曲中的權(quán)重值,xm,j表示第m個(gè)詞在第j首歌曲中的權(quán)重值;
確定子模塊1002,用于將相似度大于或者等于預(yù)設(shè)相似度的歌曲確定為與所述目標(biāo)歌曲相似的相似歌曲。
圖11是根據(jù)一示例性實(shí)施例示出的另一種相似歌曲推薦裝置的框圖。
如圖11所示,在一個(gè)實(shí)施例中,上述裝置還包括:
第三確定模塊1101,用于在獲取預(yù)設(shè)歌曲庫(kù)中多首歌曲的歌曲內(nèi)容之前,根據(jù)目標(biāo)終端對(duì)所述預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定所述目標(biāo)終端的使用者喜好的所述目標(biāo)歌曲;
推送模塊1102,用于在確定與所述目標(biāo)歌曲相似的相似歌曲之后,推送所述相似歌曲至所述目標(biāo)終端。
在該實(shí)施例中,可以根據(jù)目標(biāo)終端的使用者對(duì)預(yù)設(shè)歌曲庫(kù)中歌曲的歷史操作確定用戶(hù)喜好的目標(biāo)歌曲,進(jìn)而根據(jù)歌曲內(nèi)容,如歌詞、歌手、作詞、作曲、專(zhuān)輯、年代等確定與目標(biāo)歌曲相似的相似歌曲,從而將相似歌曲推薦給目標(biāo)終端的使用者,這樣,可以使得推薦歌曲與用戶(hù)之間的匹配度更高,推薦歌曲更符合用戶(hù)的喜好,提高用戶(hù)的滿(mǎn)意度。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。