本發(fā)明涉及互聯(lián)網(wǎng)
技術(shù)領(lǐng)域:
,特別是涉及一種歌曲推薦方法及裝置。
背景技術(shù):
:目前,音樂(lè)平臺(tái)上往往會(huì)存在歌曲推薦,以便用戶從所推薦的歌曲中選擇歌曲?,F(xiàn)有的歌曲推薦方法一般為:在用戶從歌曲庫(kù)中選擇一首歌曲進(jìn)行收聽(tīng)后,參考用戶所收聽(tīng)過(guò)的歌曲信息、使用用戶的社交關(guān)系信息或用戶所處的地理位置信息來(lái)確定用戶的偏好,然后根據(jù)所確定的用戶的偏好從歌曲庫(kù)中選擇一首歌曲,并將所選擇的一首歌曲推薦給用戶。由于歌曲庫(kù)中的歌曲數(shù)量龐大,而現(xiàn)有技術(shù)中直接從歌曲庫(kù)中選取一首歌曲進(jìn)行推薦,使得計(jì)算量較大,這樣會(huì)導(dǎo)致推薦速率較低。因此,如何提高歌曲推薦速率是亟需解決的問(wèn)題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例的目的在于提供一種歌曲推薦方法及裝置,以提高歌曲推薦速率。具體技術(shù)方案如下:一種歌曲推薦方法,所述方法包括:獲取多個(gè)用戶的聽(tīng)歌記錄,其中,所述多個(gè)用戶中包括待推薦用戶,所述聽(tīng)歌記錄中記錄有每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,所述反饋信息為收聽(tīng)、下載和收藏中的至少一個(gè);根據(jù)所述聽(tīng)歌記錄中的所述反饋信息對(duì)所述歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲;從聚類(lèi)獲得的多類(lèi)歌曲中,確定所述待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲;從所述目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至所述待推薦用戶??蛇x的,所述根據(jù)所述聽(tīng)歌記錄中的所述反饋信息對(duì)所述歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲的步驟,包括:根據(jù)所述聽(tīng)歌記錄中的所述反饋信息,確定與所述待推薦用戶偏好相似的第一類(lèi)用戶;根據(jù)所述第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,確定各首歌曲對(duì)應(yīng)的特征向量;根據(jù)各首歌曲的特征向量對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲。可選的,所述根據(jù)所述聽(tīng)歌記錄中的所述反饋信息,確定與所述待推薦用戶偏好相似的第一類(lèi)用戶的步驟,包括:根據(jù)每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,確定每個(gè)用戶對(duì)應(yīng)的偏好特征向量;分別計(jì)算所述待推薦用戶的偏好特征向量與第二類(lèi)用戶的偏好特征向量的相似度,其中,所述第二類(lèi)用戶為所述多個(gè)用戶中除所述待推薦用戶以外的其它用戶;對(duì)所述第二類(lèi)用戶進(jìn)行相似度排序,將排位在前面的預(yù)設(shè)數(shù)量個(gè)第二類(lèi)用戶確定為與所述待推薦用戶偏好相似的第一類(lèi)用戶??蛇x的,所述從聚類(lèi)獲得的多類(lèi)歌曲中,確定所述待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲的步驟,包括:確定所述待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的累積回報(bào)值;針對(duì)聚類(lèi)獲得的每類(lèi)歌曲,將該類(lèi)歌曲中的每首歌曲的累積回報(bào)值之和確定為該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值,并將該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值與第一數(shù)值的比值,確定為推薦該類(lèi)歌曲的類(lèi)別概率值,其中,所述第一數(shù)值為每類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值之和;基于推薦每類(lèi)歌曲的類(lèi)別概率值,通過(guò)第一預(yù)設(shè)選取規(guī)則從聚類(lèi)獲得的多類(lèi)歌曲中選取一類(lèi)歌曲作為目標(biāo)類(lèi)別歌曲。可選的,所述從所述目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至所述待推薦用戶的步驟,包括:根據(jù)所述待推薦用戶針對(duì)所述目標(biāo)類(lèi)別歌曲中的各首歌曲的反饋信息,計(jì)算所述待推薦用戶針對(duì)所述目標(biāo)類(lèi)別歌曲中的各首歌曲的偏好值;針對(duì)所述目標(biāo)類(lèi)別歌曲中的每首歌曲,將該首歌曲的偏好值與第二數(shù)值的比值,確定為推薦該首歌曲的歌曲概率值,其中,所述第二數(shù)值為所述目標(biāo)類(lèi)別歌曲中每首歌曲的偏好值之和;基于推薦每首歌曲的歌曲概率值,通過(guò)第二預(yù)設(shè)選取規(guī)則從所述目標(biāo)類(lèi)別歌曲中選取一首歌曲推薦至所述待推薦用戶。一種歌曲推薦裝置,所述裝置包括:獲取模塊,用于獲取多個(gè)用戶的聽(tīng)歌記錄,其中,所述多個(gè)用戶中包括待推薦用戶,所述聽(tīng)歌記錄中記錄有每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,所述反饋信息為收聽(tīng)、下載和收藏中的至少一個(gè);聚類(lèi)模塊,用于根據(jù)所述聽(tīng)歌記錄中的所述反饋信息對(duì)所述歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲;目標(biāo)類(lèi)別歌曲確定模塊,用于從聚類(lèi)獲得的多類(lèi)歌曲中,確定所述待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲;選取模塊,用于從所述目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至所述待推薦用戶??蛇x的,所述聚類(lèi)模塊,包括:第一類(lèi)用戶確定單元,用于根據(jù)所述聽(tīng)歌記錄中的所述反饋信息,確定與所述待推薦用戶偏好相似的第一類(lèi)用戶;特征向量確定單元,用于根據(jù)所述第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,確定各首歌曲對(duì)應(yīng)的特征向量;聚類(lèi)單元,用于根據(jù)各首歌曲的特征向量對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲。可選的,所述第一類(lèi)用戶確定單元,包括:偏好特征向量確定子單元,用于根據(jù)每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,確定每個(gè)用戶對(duì)應(yīng)的偏好特征向量;相似度計(jì)算子單元,用于分別計(jì)算所述待推薦用戶的偏好特征向量與第二類(lèi)用戶的偏好特征向量的相似度,其中,所述第二類(lèi)用戶為所述多個(gè)用戶中除所述待推薦用戶以外的其它用戶;第一類(lèi)用戶確定子單元,用于對(duì)所述第二類(lèi)用戶進(jìn)行相似度排序,將排位在前面的預(yù)設(shè)數(shù)量個(gè)第二類(lèi)用戶確定為與所述待推薦用戶偏好相似的第一類(lèi)用戶??蛇x的,所述目標(biāo)類(lèi)別歌曲確定模塊,包括:累積回報(bào)值確定單元,用于確定所述待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的累積回報(bào)值;類(lèi)別概率值確定單元,用于針對(duì)聚類(lèi)獲得的每類(lèi)歌曲,將該類(lèi)歌曲中的每首歌曲的累積回報(bào)值之和確定為該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值,并將該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值與第一數(shù)值的比值,確定為推薦該類(lèi)歌曲的類(lèi)別概率值,其中,所述第一數(shù)值為每類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值之和;目標(biāo)類(lèi)別歌曲確定單元,用于基于推薦每類(lèi)歌曲的類(lèi)別概率值,通過(guò)第一預(yù)設(shè)選取規(guī)則從聚類(lèi)獲得的多類(lèi)歌曲中選取一類(lèi)歌曲作為目標(biāo)類(lèi)別歌曲??蛇x的,所述選取模塊,包括:偏好值確定單元,用于根據(jù)所述待推薦用戶針對(duì)所述目標(biāo)類(lèi)別歌曲中的各首歌曲的反饋信息,計(jì)算所述待推薦用戶針對(duì)所述目標(biāo)類(lèi)別歌曲中的各首歌曲的偏好值;歌曲概率值確定單元,用于針對(duì)所述目標(biāo)類(lèi)別歌曲中的每首歌曲,將該首歌曲的偏好值與第二數(shù)值的比值,確定為推薦該首歌曲的歌曲概率值,其中,所述第二數(shù)值為所述目標(biāo)類(lèi)別歌曲中每首歌曲的偏好值之和;選取單元,用于基于推薦每首歌曲的歌曲概率值,通過(guò)第二預(yù)設(shè)選取規(guī)則從所述目標(biāo)類(lèi)別歌曲中選取一首歌曲推薦至所述待推薦用戶。本發(fā)明實(shí)施例中,獲取多個(gè)用戶的聽(tīng)歌記錄,根據(jù)聽(tīng)歌記錄中的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲,從多類(lèi)歌曲中確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶,由此,通過(guò)聚類(lèi)的方式,將歌曲庫(kù)中的歌曲進(jìn)行分類(lèi),從聚類(lèi)得到的多類(lèi)歌曲中確定與待推薦用戶對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,再?gòu)哪繕?biāo)類(lèi)別歌曲中選取一首歌曲推薦至待推薦用戶,相比于直接從歌曲庫(kù)中選取一首歌曲進(jìn)行推薦,大大減少了計(jì)算量,提高了歌曲推薦速率。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例提供的歌曲推薦方法的流程示意圖;圖2為本發(fā)明實(shí)施例對(duì)歌曲進(jìn)行聚類(lèi)的流程示意圖;圖3為本發(fā)明實(shí)施例確定與待推薦用戶偏好相似的第一類(lèi)用戶的流程示意圖;圖4為本發(fā)明實(shí)施例確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲的流程示意圖;圖5為本發(fā)明實(shí)施例從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶的流程示意圖;圖6為本發(fā)明實(shí)施例提供的歌曲推薦裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。隨著信息技術(shù)和互聯(lián)網(wǎng)的快速發(fā)展,人類(lèi)社會(huì)逐漸步入了信息過(guò)載的時(shí)代,即發(fā)現(xiàn)和獲取有用的信息變得越來(lái)越困難。因此,推薦方法應(yīng)運(yùn)而生。推薦方法利用與用戶相關(guān)的信息去預(yù)測(cè)用戶的興趣偏好,并做出符合用戶心意的推薦,使用戶方便的獲取對(duì)自身有用的信息。目前,推薦方法已經(jīng)被廣泛應(yīng)用于各個(gè)領(lǐng)域,其中,歌曲推薦是一項(xiàng)熱門(mén)的推薦。但現(xiàn)有歌曲推薦方法存在一些技術(shù)問(wèn)題,為了解決現(xiàn)有技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種歌曲推薦方法及裝置。下面首先對(duì)本發(fā)明實(shí)施例所提供的一種歌曲推薦方法進(jìn)行介紹。需要說(shuō)明的是,本發(fā)明實(shí)施例所提供的一種歌曲推薦方法應(yīng)用于電子設(shè)備。在實(shí)際應(yīng)用中,該電子設(shè)備可以為智能手機(jī)、平板電腦、筆記本電腦等,這都是合理的。另外,實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的一種歌曲推薦方法的功能軟件可以為獨(dú)立的用于實(shí)現(xiàn)歌曲推薦的客戶端軟件。如圖1所示,本發(fā)明實(shí)施例提供的一種歌曲推薦方法,可以包括:s101:獲取多個(gè)用戶的聽(tīng)歌記錄。每當(dāng)有用戶收聽(tīng)歌曲時(shí),就會(huì)產(chǎn)生聽(tīng)歌記錄,該聽(tīng)歌記錄中記錄有每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,其中,該反饋信息可以為收聽(tīng)、下載和收藏中的至少一個(gè)。由于聽(tīng)歌記錄在一定程度上會(huì)反映用戶的音樂(lè)偏好,例如:收聽(tīng)反映了用戶僅僅是收聽(tīng)了這首歌曲,收藏反映了用戶對(duì)這首歌曲的喜愛(ài),下載表明了用戶想要永久保存這首歌曲,喜愛(ài)程度由高到底排列為:下載,收藏,收聽(tīng),因此,為了推薦一首歌曲給待推薦用戶,可以通過(guò)聽(tīng)歌記錄中所包含的待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,來(lái)確定待推薦用戶的偏好。又由于只根據(jù)聽(tīng)歌記錄中所包含的待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,來(lái)確定待推薦用戶的偏好,將導(dǎo)致重復(fù)推薦符合待推薦用戶的偏好的歌曲,因此,為了增加推薦歌曲的覆蓋面,需要獲取多個(gè)用戶的聽(tīng)歌記錄,其中,該多個(gè)用戶包括待推薦用戶。s102:根據(jù)聽(tīng)歌記錄中的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲。由于歌曲庫(kù)中的歌曲數(shù)量龐大,為了提高歌曲推薦速率,在獲取多個(gè)用戶的聽(tīng)歌記錄后,根據(jù)聽(tīng)歌記錄中的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲。上述根據(jù)聽(tīng)歌記錄中的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲,可以為:根據(jù)聽(tīng)歌記錄中的反饋信息,確定與待推薦用戶相似的第一類(lèi)用戶,并根據(jù)第一類(lèi)用戶的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi)。參考圖2,s102可以包括:s1021:根據(jù)聽(tīng)歌記錄中的反饋信息,確定與待推薦用戶偏好相似的第一類(lèi)用戶。聽(tīng)歌記錄中記錄有每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,由于本發(fā)明實(shí)施例需要推薦歌曲給待推薦用戶,為了增加推薦歌曲的覆蓋面,需要確定與待推薦用戶偏好相似的第一類(lèi)用戶。上述根據(jù)聽(tīng)歌記錄中的反饋信息,確定與待推薦用戶偏好相似的第一類(lèi)用戶,可以為:通過(guò)計(jì)算相似度的方式確定與待推薦用戶偏好相似的第一類(lèi)用戶。參考圖3,s1021可以包括:s10211:根據(jù)每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,確定每個(gè)用戶對(duì)應(yīng)的偏好特征向量;s10212:分別計(jì)算待推薦用戶的偏好特征向量與第二類(lèi)用戶的偏好特征向量的相似度;s10213:對(duì)第二類(lèi)用戶進(jìn)行相似度排序,將排位在前面的預(yù)設(shè)數(shù)量個(gè)第二類(lèi)用戶確定為與待推薦用戶偏好相似的第一類(lèi)用戶。其中,根據(jù)每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,確定每個(gè)用戶對(duì)應(yīng)的偏好特征向量可以為:針對(duì)每個(gè)用戶,將由該用戶對(duì)各首歌曲的反饋信息作為元素的矩陣,確定為該用戶對(duì)應(yīng)的偏好特征向量。例如:假設(shè)用戶h針對(duì)歌曲庫(kù)中存在的三首歌曲a、b和c的反饋信息分別為:下載、收聽(tīng)和收藏,則用戶h對(duì)應(yīng)的偏好特征向量為三維向量(下載,收聽(tīng),收藏)。在確定了每個(gè)用戶的偏好特征向量后,可以通過(guò)以下公式分別計(jì)算待推薦用戶的偏好特征向量與第二類(lèi)用戶的偏好特征向量的相似度:其中,sim(ui)為第二類(lèi)用戶i與待推薦用戶su的偏好特征向量的相似度,su為待推薦用戶的偏好特征向量,ui為第二類(lèi)用戶i的偏好特征向量,|su|為待推薦用戶的偏好特征向量的模,|ui|為第二類(lèi)用戶i的偏好特征向量的模,第二類(lèi)用戶為多個(gè)用戶中除待推薦用戶以外的其它用戶。在計(jì)算出待推薦用戶與每個(gè)第二類(lèi)用戶的偏好特征向量的相似度后,對(duì)第二類(lèi)用戶進(jìn)行相似度排序,由于排位在前面的第二類(lèi)用戶與待推薦用戶較為相似,因此,將排位在前面的預(yù)設(shè)數(shù)量個(gè)第二類(lèi)用戶確定為與待推薦用戶偏好相似的第一類(lèi)用戶,其中,該預(yù)設(shè)數(shù)量個(gè)可以為3個(gè)或5個(gè)等等。為了方便理解,下面通過(guò)一具體例子對(duì)根據(jù)聽(tīng)歌記錄中的反饋信息,確定與待推薦用戶偏好相似的第一類(lèi)用戶進(jìn)行詳細(xì)說(shuō)明:例如:假設(shè)共有5個(gè)用戶,分別為待推薦用戶、第二類(lèi)用戶一、第二類(lèi)用戶二、第二類(lèi)用戶三和第二類(lèi)用戶四,假設(shè)歌曲庫(kù)中存在三首歌曲a、b和c,每個(gè)用戶對(duì)歌曲庫(kù)中的各首歌曲的反饋信息如下表一所示:表一為了方便查看,假設(shè)指定收聽(tīng)為1,下載為2,收藏為3,則將表一簡(jiǎn)化為表二:表二根據(jù)表二中每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,得到三個(gè)用戶的偏好特征向量如下表三所示:表三待推薦用戶(1,2,3)第二類(lèi)用戶一(3,2,1)第二類(lèi)用戶二(2,1,3)第二類(lèi)用戶三(1,2,3)第二類(lèi)用戶四(1,3,2)分別計(jì)算待推薦用戶的偏好特征向量與第二類(lèi)用戶的偏好特征向量的相似度:第二類(lèi)用戶一:第二類(lèi)用戶二:第二類(lèi)用戶三:第二類(lèi)用戶四:對(duì)第二類(lèi)用戶進(jìn)行相似度排序,排序結(jié)果為:第二類(lèi)用戶三,第二類(lèi)用戶四,第二類(lèi)用戶一,第二類(lèi)用戶二,假設(shè)預(yù)設(shè)數(shù)量為2,則將排位在前面的2個(gè)第二類(lèi)用戶:第二類(lèi)用戶三和第二類(lèi)用戶四,確定為與待推薦用戶偏好相似的第一類(lèi)用戶。s1022:根據(jù)第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,確定各首歌曲對(duì)應(yīng)的特征向量。在確定了與待推薦用戶偏好相似的第一類(lèi)用戶后,獲取第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,其中,歌曲的屬性信息包括歌曲所屬的藝人、歌曲的發(fā)行時(shí)間、歌曲的熱度和歌曲所使用的語(yǔ)言等。然后通過(guò)獲取的第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,確定各首歌曲對(duì)應(yīng)的特征向量,其中,通過(guò)第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,確定各首歌曲對(duì)應(yīng)的特征向量可以為:針對(duì)每首歌曲,根據(jù)第一類(lèi)用戶針對(duì)該首歌曲的反饋信息,確定第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量,根據(jù)該首歌曲的屬性信息確定該首歌曲的屬性特征向量,將所確定的第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量與該首歌曲的屬性特征向量之和確定為該首歌曲對(duì)應(yīng)的特征向量。其中,針對(duì)每首歌曲,根據(jù)第一類(lèi)用戶針對(duì)該首歌曲的反饋信息,確定第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量,可以為:針對(duì)每首歌曲,將由各個(gè)第一類(lèi)用戶針對(duì)該首歌曲的反饋信息作為元素的矩陣,確定為第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量。例如:承接上述例子,第一類(lèi)用戶為第二類(lèi)用戶三和第二類(lèi)用戶四;針對(duì)歌曲a,根據(jù)表二,確定第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量為(1,1);針對(duì)歌曲b,根據(jù)表二,確定第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量為(2,3);針對(duì)歌曲c,根據(jù)表二,確定第一類(lèi)用戶針對(duì)該首歌曲的偏好特征向量為(3,2);假設(shè)各個(gè)歌曲的屬性信息如下表四所示,為方便查看,各個(gè)屬性信息均采用數(shù)字表示:表四屬性信息所屬的藝人發(fā)行時(shí)間熱度所使用的語(yǔ)言歌曲a0123歌曲b4567歌曲c8954則歌曲a的屬性特征向量為(0,1,2,3),歌曲b的屬性特征向量為(4,5,6,7),歌曲c的屬性特征向量為(8,9,5,4);則確定歌曲a的特征向量為(1,1,0,1,2,3),確定歌曲b的特征向量為(2,3,4,5,6,7),確定歌曲c的特征向量為(3,2,8,9,5,4)。s1023:根據(jù)各首歌曲的特征向量對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲。在確定了各首歌曲的特征向量后,根據(jù)各首歌曲的特征向量對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲,其中,可以使用現(xiàn)有技術(shù)中的任何一種聚類(lèi)算法對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),例如:使用k-meansk均值聚類(lèi)算法對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),由于通過(guò)聚類(lèi)算法對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi)的方式為現(xiàn)有技術(shù),在此不再詳細(xì)介紹。s103:從聚類(lèi)獲得的多類(lèi)歌曲中,確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲。在將歌曲庫(kù)中的歌曲聚類(lèi)為多類(lèi)歌曲之后,需要從多類(lèi)歌曲中,確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲。上述從聚類(lèi)獲得的多類(lèi)歌曲中,確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,可以為:根據(jù)待推薦用戶針對(duì)各首歌曲的累積回報(bào)值,確定推薦每類(lèi)歌曲的類(lèi)別概率值,根據(jù)類(lèi)別概率值選取目標(biāo)類(lèi)別歌曲。參考圖4,s103可以包括:s1031:確定待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的累積回報(bào)值?;貓?bào)就是智能體在環(huán)境中每走一步所能獲得的即時(shí)反饋,可以衡量智能體每走一步的價(jià)值,即用戶每收聽(tīng)一首歌曲,會(huì)通過(guò)一列的反饋信息來(lái)展示對(duì)這首歌曲的反應(yīng),該反饋信息即為回報(bào)。針對(duì)于各首歌曲,通過(guò)以下公式確定待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的回報(bào)值:f={listen,collect,download}其中,r(f)為用戶對(duì)某一歌曲的回報(bào)函數(shù),f為反饋,f為反饋信息集合,m為反饋信息,wm為反饋信息m的權(quán)重,i(f==fm)為反饋信息m的布爾函數(shù),listen為收聽(tīng),collect為收藏,download為下載。由于用戶收聽(tīng)歌曲是一個(gè)反復(fù)的過(guò)程,即用戶今天收聽(tīng)了歌曲m,明天仍然可以收聽(tīng)歌曲m,因此,針對(duì)歌曲庫(kù)中的各首歌曲,不僅存在即時(shí)回報(bào),還存在累積回報(bào),因此,在聚類(lèi)獲得多類(lèi)歌曲后,通過(guò)以下公式確定待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的累積回報(bào)值:qn(s,a)=(1-αn)qn-1(s,a)+αn[r(s,a)+γmaxa′qn-1(s′,a′)]其中,qn(s,a)為待推薦用戶對(duì)某一首歌曲的累積回報(bào)函數(shù),s為狀態(tài),a為在狀態(tài)s時(shí)所執(zhí)行的動(dòng)作,αn為偏好因子,r(s,a)為在狀態(tài)s執(zhí)行動(dòng)作a的即時(shí)回報(bào),γ為回報(bào)衰減因子,maxa′qn-1(s′,a′)為在狀態(tài)s′執(zhí)行動(dòng)作a′的累積回報(bào)值的最大值,vistcount(s,a)為用戶重復(fù)在狀態(tài)s執(zhí)行動(dòng)作a的次數(shù),s′為狀態(tài)s的下一個(gè)狀態(tài),a′為在狀態(tài)s′時(shí)所執(zhí)行的動(dòng)作,n為次數(shù)。詳細(xì)的,將聽(tīng)歌記錄中某一用戶最近收聽(tīng)的k首歌曲確定為該用戶的狀態(tài)s,將每一首歌曲確定為一個(gè)動(dòng)作a,則用戶收聽(tīng)一首歌曲即為執(zhí)行動(dòng)作。例如:假設(shè)k為3,3首歌曲分別為:歌曲o、歌曲p和歌曲q,則初始狀態(tài)為(歌曲o、歌曲p和歌曲q),當(dāng)用戶收聽(tīng)了另一首歌曲r即執(zhí)行動(dòng)作時(shí),則狀態(tài)變?yōu)?歌曲p、歌曲q和歌曲r)。s1032:針對(duì)聚類(lèi)獲得的每類(lèi)歌曲,將該類(lèi)歌曲中的每首歌曲的累積回報(bào)值之和確定為該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值,并將該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值與第一數(shù)值的比值,確定為推薦該類(lèi)歌曲的類(lèi)別概率值。其中,第一數(shù)值為每類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值之和。例如:聚類(lèi)獲得2類(lèi)歌曲:w類(lèi)和x類(lèi),w類(lèi)歌曲包括j歌曲和k歌曲兩首歌曲,x類(lèi)歌曲包括l歌曲,j歌曲的累積回報(bào)值為30、k歌曲的累積回報(bào)值為40、l歌曲的累積回報(bào)值為50;則w類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值為30+40=70,x類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值為50,第一數(shù)值為70+50=120;推薦w類(lèi)歌曲的類(lèi)別概率值為:70/120=7/12,推薦x類(lèi)歌曲的類(lèi)別概率值為:50/120=5/12。s1033:基于推薦每類(lèi)歌曲的類(lèi)別概率值,通過(guò)第一預(yù)設(shè)選取規(guī)則從聚類(lèi)獲得的多類(lèi)歌曲中選取一類(lèi)歌曲作為目標(biāo)類(lèi)別歌曲。在確定了推薦每類(lèi)歌曲的類(lèi)別概率值后,如果選取類(lèi)別概率值較高的類(lèi)別作為目標(biāo)類(lèi)別歌曲,則從該目標(biāo)類(lèi)別歌曲中選擇出的歌曲符合待推薦用戶的偏好的準(zhǔn)確性較高,同時(shí),也會(huì)造成該類(lèi)歌曲的類(lèi)別概率值越來(lái)越高,使得所推薦的歌曲覆蓋面較窄。因此,為了平衡準(zhǔn)確性與覆蓋面,本發(fā)明實(shí)施例中通過(guò)第一預(yù)設(shè)選取規(guī)則從聚類(lèi)獲得的多類(lèi)歌曲中選取一類(lèi)歌曲作為目標(biāo)類(lèi)別歌曲,該第一預(yù)設(shè)選取規(guī)則可以為選取類(lèi)別概率值最高的類(lèi)別,也可以為選取類(lèi)別概率值在預(yù)設(shè)范圍內(nèi)的類(lèi)別。s104:從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶。在確定目標(biāo)類(lèi)別歌曲后,即可從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶。上述從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶,可以為:根據(jù)待推薦用戶針對(duì)目標(biāo)類(lèi)別歌曲中的各首歌曲的反饋信息,確定推薦每首歌曲的歌曲概率值,根據(jù)歌曲概率值選取一首歌曲推薦至待推薦用戶。參考圖5,s104可以包括:s1041:根據(jù)待推薦用戶針對(duì)目標(biāo)類(lèi)別歌曲中的各首歌曲的反饋信息,計(jì)算待推薦用戶針對(duì)目標(biāo)類(lèi)別歌曲中的各首歌曲的偏好值。通過(guò)以下公式計(jì)算待推薦用戶針對(duì)目標(biāo)類(lèi)別歌曲中的各首歌曲的偏好值:preference(h)=∑f∈fcountf*wff={listen,collect,download}其中,preference(h)為歌曲h的偏好值,countf為用戶對(duì)歌曲h產(chǎn)生反饋f的次數(shù),wf為用戶對(duì)歌曲h產(chǎn)生反饋f時(shí)的偏好權(quán)重。由于用戶收聽(tīng)歌曲是一個(gè)反復(fù)的過(guò)程,即用戶今天收聽(tīng)了歌曲m,明天仍然可以收聽(tīng)歌曲m,因此,針對(duì)歌曲庫(kù)中的每首歌曲,用戶針對(duì)該首歌曲每產(chǎn)生一次反饋,即可通過(guò)以下公式對(duì)該用戶對(duì)該首歌曲的偏好值進(jìn)行更新:preferencen(h)=preferencen-1(h)+wf其中,preferencen(h)為用戶對(duì)歌曲h的第n次反饋所得到的偏好值,preferencen-1(h)為用戶對(duì)歌曲h的第n-1次反饋所得到的偏好值。s1042:針對(duì)目標(biāo)類(lèi)別歌曲中的每首歌曲,將該首歌曲的偏好值與第二數(shù)值的比值,確定為推薦該首歌曲的歌曲概率值。其中,第二數(shù)值為目標(biāo)類(lèi)別歌曲中每首歌曲的偏好值之和。例如:假設(shè)目標(biāo)類(lèi)別為w類(lèi)歌曲,w類(lèi)歌曲包括j歌曲和k歌曲兩首歌曲,j歌曲的偏好值為30和k歌曲的偏好值為50;則第二數(shù)值為30+50=80;則推薦j歌曲的歌曲概率值為:30/80=3/8,推薦k歌曲的歌曲概率值為:50/80=5/8。s1043:基于推薦每首歌曲的歌曲概率值,通過(guò)第二預(yù)設(shè)選取規(guī)則從目標(biāo)類(lèi)別歌曲中選取一首歌曲推薦至待推薦用戶。在確定了推薦每首歌曲的歌曲概率值后,如果選取歌曲概率值最高的一首歌曲推薦至待推薦用戶,則符合待推薦用戶的偏好的準(zhǔn)確性較高,同時(shí),也會(huì)造成該首歌曲的歌曲概率值越來(lái)越高,最終可能導(dǎo)致重復(fù)推薦該首歌曲。因此,為了平衡準(zhǔn)確性與覆蓋面,本發(fā)明實(shí)施例中通過(guò)第二預(yù)設(shè)選取規(guī)則從目標(biāo)類(lèi)別歌曲中選取一首歌曲推薦至待推薦用戶,該第二預(yù)設(shè)選取規(guī)則可以為選取歌曲概率值最高的一首歌,也可以為選取歌曲概率值在預(yù)設(shè)范圍內(nèi)的一首歌。本發(fā)明實(shí)施例中,獲取多個(gè)用戶的聽(tīng)歌記錄,根據(jù)聽(tīng)歌記錄中的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲,從多類(lèi)歌曲中確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶,由此,通過(guò)聚類(lèi)的方式,將歌曲庫(kù)中的歌曲進(jìn)行分類(lèi),從聚類(lèi)得到的多類(lèi)歌曲中確定與待推薦用戶對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,再?gòu)哪繕?biāo)類(lèi)別歌曲中選取一首歌曲推薦至待推薦用戶,相比于直接從歌曲庫(kù)中選取一首歌曲進(jìn)行推薦,大大減少了計(jì)算量,提高了歌曲推薦速率。相對(duì)于上述方法實(shí)施例,如圖6所示,本發(fā)明實(shí)施例還提供了一種歌曲推薦裝置,所述裝置包括:獲取模塊201,用于獲取多個(gè)用戶的聽(tīng)歌記錄,其中,所述多個(gè)用戶中包括待推薦用戶,所述聽(tīng)歌記錄中記錄有每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,所述反饋信息為收聽(tīng)、下載和收藏中的至少一個(gè);聚類(lèi)模塊202,用于根據(jù)所述聽(tīng)歌記錄中的所述反饋信息對(duì)所述歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲;目標(biāo)類(lèi)別歌曲確定模塊203,用于從聚類(lèi)獲得的多類(lèi)歌曲中,確定所述待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲;選取模塊204,用于從所述目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至所述待推薦用戶。本發(fā)明實(shí)施例中,獲取多個(gè)用戶的聽(tīng)歌記錄,根據(jù)聽(tīng)歌記錄中的反饋信息對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲,從多類(lèi)歌曲中確定待推薦用戶所對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,從目標(biāo)類(lèi)別歌曲中,選取一首歌曲推薦至待推薦用戶,由此,通過(guò)聚類(lèi)的方式,將歌曲庫(kù)中的歌曲進(jìn)行分類(lèi),從聚類(lèi)得到的多類(lèi)歌曲中確定與待推薦用戶對(duì)應(yīng)的目標(biāo)類(lèi)別歌曲,再?gòu)哪繕?biāo)類(lèi)別歌曲中選取一首歌曲推薦至待推薦用戶,相比于直接從歌曲庫(kù)中選取一首歌曲進(jìn)行推薦,大大減少了計(jì)算量,提高了歌曲推薦速率。在一種實(shí)現(xiàn)方式中,所述聚類(lèi)模塊202,可以包括:第一類(lèi)用戶確定單元,用于根據(jù)所述聽(tīng)歌記錄中的所述反饋信息,確定與所述待推薦用戶偏好相似的第一類(lèi)用戶;特征向量確定單元,用于根據(jù)所述第一類(lèi)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息以及各首歌曲的屬性信息,確定各首歌曲對(duì)應(yīng)的特征向量;聚類(lèi)單元,用于根據(jù)各首歌曲的特征向量對(duì)歌曲庫(kù)中的歌曲進(jìn)行聚類(lèi),得到多類(lèi)歌曲。在一種實(shí)現(xiàn)方式中,所述第一類(lèi)用戶確定單元,可以包括:偏好特征向量確定子單元,用于根據(jù)每個(gè)用戶針對(duì)歌曲庫(kù)中的各首歌曲的反饋信息,確定每個(gè)用戶對(duì)應(yīng)的偏好特征向量;相似度計(jì)算子單元,用于分別計(jì)算所述待推薦用戶的偏好特征向量與第二類(lèi)用戶的偏好特征向量的相似度,其中,所述第二類(lèi)用戶為所述多個(gè)用戶中除所述待推薦用戶以外的其它用戶;第一類(lèi)用戶確定子單元,用于對(duì)所述第二類(lèi)用戶進(jìn)行相似度排序,將排位在前面的預(yù)設(shè)數(shù)量個(gè)第二類(lèi)用戶確定為與所述待推薦用戶偏好相似的第一類(lèi)用戶。在一種實(shí)現(xiàn)方式中,所述目標(biāo)類(lèi)別歌曲確定模塊203,可以包括:累積回報(bào)值確定單元,用于確定所述待推薦用戶針對(duì)歌曲庫(kù)中的各首歌曲的累積回報(bào)值;類(lèi)別概率值確定單元,用于針對(duì)聚類(lèi)獲得的每類(lèi)歌曲,將該類(lèi)歌曲中的每首歌曲的累積回報(bào)值之和確定為該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值,并將該類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值與第一數(shù)值的比值,確定為推薦該類(lèi)歌曲的類(lèi)別概率值,其中,所述第一數(shù)值為每類(lèi)歌曲對(duì)應(yīng)的總累積回報(bào)值之和;目標(biāo)類(lèi)別歌曲確定單元,用于基于推薦每類(lèi)歌曲的類(lèi)別概率值,通過(guò)第一預(yù)設(shè)選取規(guī)則從聚類(lèi)獲得的多類(lèi)歌曲中選取一類(lèi)歌曲作為目標(biāo)類(lèi)別歌曲。在一種實(shí)現(xiàn)方式中,所述選取模塊204,可以包括:偏好值確定單元,用于根據(jù)所述待推薦用戶針對(duì)所述目標(biāo)類(lèi)別歌曲中的各首歌曲的反饋信息,計(jì)算所述待推薦用戶針對(duì)所述目標(biāo)類(lèi)別歌曲中的各首歌曲的偏好值;歌曲概率值確定單元,用于針對(duì)所述目標(biāo)類(lèi)別歌曲中的每首歌曲,將該首歌曲的偏好值與第二數(shù)值的比值,確定為推薦該首歌曲的歌曲概率值,其中,所述第二數(shù)值為所述目標(biāo)類(lèi)別歌曲中每首歌曲的偏好值之和;選取單元,用于基于推薦每首歌曲的歌曲概率值,通過(guò)第二預(yù)設(shè)選取規(guī)則從所述目標(biāo)類(lèi)別歌曲中選取一首歌曲推薦至所述待推薦用戶。需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)12