本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種推薦方法及裝置。
背景技術(shù):
在信息過(guò)載的時(shí)代,用戶很難從海量的信息中選擇出他們感興趣的內(nèi)容來(lái),促使很多學(xué)者投入到推薦技術(shù)的研究中來(lái)。推薦技術(shù)是一種基于統(tǒng)計(jì)學(xué)和知識(shí)發(fā)現(xiàn)來(lái)向用戶推薦他們感興趣內(nèi)容的技術(shù),旨在幫助用戶找到自己感興趣的信息,減少用戶定位搜索信息所使用的時(shí)間。例如,電子商務(wù)網(wǎng)站根據(jù)用戶的購(gòu)買記錄向用戶推薦商品,社交網(wǎng)站分析我們的通訊目錄來(lái)幫助我們認(rèn)識(shí)新的朋友,電子教育機(jī)構(gòu)幫助學(xué)習(xí)者選擇他們感興趣的課程、課題或?qū)W習(xí)材料等。
目前,現(xiàn)有的推薦技術(shù)都是盡可能地提高推薦的準(zhǔn)確度,但是不能保證較好的多樣性和新穎性,這已經(jīng)無(wú)法滿足用戶的當(dāng)前需求。例如,如果向用戶推薦多樣性較好的物品給用戶,就會(huì)導(dǎo)致推薦準(zhǔn)確度的下降,也就是說(shuō),多樣性的提升會(huì)導(dǎo)致推薦準(zhǔn)確度的下降,同理,如果推薦較新穎的物品,則新穎性自然就會(huì)提升,但是會(huì)導(dǎo)致推薦準(zhǔn)確度和多樣性的下降。因此,很有必要研究同時(shí)考慮推薦準(zhǔn)確度、多樣性和新穎性的個(gè)性化推薦技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種推薦方法及裝置,旨在解決現(xiàn)有技術(shù)難以進(jìn)行即準(zhǔn)確又新穎又全面地個(gè)性化推薦,導(dǎo)致推薦的采納率不高的問(wèn)題。
一方面,本發(fā)明提供了一種推薦方法,所述方法包括下述步驟:
接收歷史推薦偏好數(shù)據(jù),根據(jù)所述歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn),所述推薦目標(biāo)包括準(zhǔn)確度、覆蓋面和多樣性;
根據(jù)所述歷史推薦偏好數(shù)據(jù)和所述推薦目標(biāo)的極值點(diǎn),生成對(duì)應(yīng)的當(dāng)前種群,并將所述當(dāng)前種群的當(dāng)前進(jìn)化代數(shù)設(shè)置為第一代;
計(jì)算所述當(dāng)前種群的目標(biāo)函數(shù)值;
根據(jù)所述目標(biāo)函數(shù)值從所述當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群,對(duì)所述父代種群執(zhí)行進(jìn)化操作,生成子代種群;
當(dāng)所述當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值時(shí),合并所述父代種群和所述子代種群,生成下一代進(jìn)化種群,將所述下一代進(jìn)化種群設(shè)置為所述當(dāng)前種群,對(duì)所述當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,跳轉(zhuǎn)至計(jì)算所述當(dāng)前種群的目標(biāo)函數(shù)值的操作;
當(dāng)所述當(dāng)前進(jìn)化代數(shù)達(dá)到所述進(jìn)化代數(shù)閾值時(shí),將所述父代種群設(shè)置為推薦結(jié)果。
另一方面,本發(fā)明提供了一種推薦裝置,所述裝置包括:
極值點(diǎn)獲取單元,用于接收歷史推薦偏好數(shù)據(jù),根據(jù)所述歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn),所述推薦目標(biāo)包括準(zhǔn)確度、覆蓋面和多樣性;
種群生成單元,用于根據(jù)所述歷史推薦偏好數(shù)據(jù)和所述推薦目標(biāo)的極值點(diǎn),生成對(duì)應(yīng)的當(dāng)前種群,并將所述當(dāng)前種群的當(dāng)前進(jìn)化代數(shù)設(shè)置為第一代;
目標(biāo)計(jì)算單元,用于計(jì)算所述當(dāng)前種群的目標(biāo)函數(shù)值;
種群進(jìn)化單元,用于根據(jù)所述目標(biāo)函數(shù)值從所述當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群,對(duì)所述父代種群執(zhí)行進(jìn)化操作,生成子代種群;
循環(huán)進(jìn)化單元,用于當(dāng)所述當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值時(shí),合并所述父代種群和所述子代種群,生成下一代進(jìn)化種群,將所述下一代進(jìn)化種群設(shè)置為所述當(dāng)前種群,對(duì)所述當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,再次計(jì)算所述當(dāng)前種群的目標(biāo)函數(shù)值,對(duì)所述當(dāng)前種群進(jìn)行進(jìn)化,直至所述當(dāng)前進(jìn)化代數(shù)達(dá)到所述進(jìn)化代數(shù)閾值;以及
結(jié)果推薦單元,用于當(dāng)所述當(dāng)前進(jìn)化代數(shù)達(dá)到所述進(jìn)化代數(shù)閾值時(shí),將所述父代種群設(shè)置為推薦結(jié)果。
本發(fā)明接收歷史推薦偏好數(shù)據(jù),根據(jù)歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn),推薦目標(biāo)包括準(zhǔn)確度、覆蓋面和多樣性,根據(jù)歷史推薦偏好數(shù)據(jù)和推薦目標(biāo)的極值點(diǎn),生成對(duì)應(yīng)的當(dāng)前種群,并將當(dāng)前種群的當(dāng)前進(jìn)化代數(shù)設(shè)置為第一代,計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值,根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群,對(duì)父代種群執(zhí)行進(jìn)化操作,生成子代種群,當(dāng)當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值時(shí),合并父代種群和子代種群,生成下一代進(jìn)化種群,將下一代進(jìn)化種群設(shè)置為當(dāng)前種群,對(duì)當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,再次計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值,如此循環(huán)直至當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值,當(dāng)當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值時(shí),將父代種群設(shè)置為推薦結(jié)果,從而實(shí)現(xiàn)即準(zhǔn)確又新穎又全面地個(gè)性化推薦,提高了推薦的采納率。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例一提供的推薦方法的實(shí)現(xiàn)流程圖;
圖2是本發(fā)明實(shí)施例二提供的推薦裝置的結(jié)構(gòu)示意圖;以及
圖3是本發(fā)明實(shí)施例三提供的推薦裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
實(shí)施例一:
圖1示出了本發(fā)明實(shí)施例一提供的推薦方法的實(shí)現(xiàn)流程,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,詳述如下:
在步驟s101中,接收歷史推薦偏好數(shù)據(jù),根據(jù)歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn),其中,推薦目標(biāo)包括準(zhǔn)確度、覆蓋面和多樣性。
在本發(fā)明實(shí)施例中,推薦目標(biāo)指的是獲取向用戶推薦的商品時(shí)需要達(dá)到的要求,這些要求包括準(zhǔn)確度、覆蓋面和多樣性,即給用戶推薦的商品需要滿足準(zhǔn)確度、覆蓋面和多樣性的要求。預(yù)先提供所有用戶對(duì)物品(例如,商品)的歷史偏好數(shù)據(jù),即歷史推薦偏好數(shù)據(jù),在接收到歷史推薦偏好數(shù)據(jù)之后,根據(jù)歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn)。優(yōu)選地,將所有用戶對(duì)商品的歷史偏好數(shù)據(jù)中的偏好程度轉(zhuǎn)化為數(shù)字評(píng)分,從而降低接收的歷史推薦偏好數(shù)據(jù)的數(shù)據(jù)量,便于后續(xù)的計(jì)算或處理。具體地,評(píng)分可以采用1到5分之間的整數(shù)評(píng)分制度,若用戶對(duì)某個(gè)商品沒(méi)有偏好數(shù)據(jù),則評(píng)分為0,若用戶對(duì)某個(gè)商品的偏好達(dá)到最大程度,則評(píng)分為5,其他偏好程度的評(píng)分可以依次類推。
優(yōu)選地,接收到歷史推薦偏好數(shù)據(jù)后,對(duì)推薦參數(shù)進(jìn)行初始化操作,對(duì)歷史推薦偏好數(shù)據(jù)進(jìn)行預(yù)處理,得到一個(gè)二進(jìn)制矩陣r,r中的元素表示用戶對(duì)推薦項(xiàng)的偏好情況,根據(jù)用戶對(duì)推薦項(xiàng)的偏好情況對(duì)歷史推薦偏好數(shù)據(jù)中的所有用戶進(jìn)行聚類分簇,以用于按照用戶簇對(duì)用戶進(jìn)行推薦,然后依次獲取只具有最優(yōu)準(zhǔn)確度、覆蓋面或多樣性時(shí)的推薦集,將這三個(gè)推薦集分別設(shè)置為準(zhǔn)確度的極值點(diǎn)、覆蓋面的極值點(diǎn)和多樣性的極值點(diǎn),以得到只考慮單個(gè)推薦目標(biāo)時(shí)的最好推薦集。
在步驟s102中,根據(jù)歷史推薦偏好數(shù)據(jù)和推薦目標(biāo)的極值點(diǎn),生成對(duì)應(yīng)的當(dāng)前種群,并將當(dāng)前種群的當(dāng)前進(jìn)化代數(shù)設(shè)置為第一代。
在本發(fā)明實(shí)施例中,將推薦目標(biāo)的極值點(diǎn)(即只考慮單個(gè)推薦目標(biāo)時(shí)的最好推薦集)引入到多目標(biāo)進(jìn)化的第一代進(jìn)化種群,從而有效地引導(dǎo)進(jìn)化方向往需要的方向進(jìn)化,以在一定程度上同時(shí)提高推薦的準(zhǔn)確度、多樣性和新穎性,提高推薦的速率。
在步驟s103中,計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值。
在本發(fā)明實(shí)施例中,得到當(dāng)前種群之后,計(jì)算當(dāng)前種群的準(zhǔn)確度、覆蓋面和多樣性這三個(gè)目標(biāo)函數(shù)值。
優(yōu)選地,在計(jì)算當(dāng)前種群的準(zhǔn)確度目標(biāo)函數(shù)值時(shí),根據(jù)公式
優(yōu)選地,根據(jù)公式
優(yōu)選地,根據(jù)公式
在步驟s104中,根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群,對(duì)父代種群執(zhí)行進(jìn)化操作,生成子代種群。
在本發(fā)明實(shí)施例中,計(jì)算得到當(dāng)前種群的準(zhǔn)確度、覆蓋面和多樣性這三個(gè)目標(biāo)函數(shù)值之后,首先根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)優(yōu)秀個(gè)體,將這些優(yōu)秀個(gè)體組成父代種群,然后對(duì)父代種群進(jìn)行進(jìn)化,進(jìn)化得到的種群為子代種群。
優(yōu)選地,在根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)優(yōu)秀個(gè)體,將這些優(yōu)秀個(gè)體組成父代種群時(shí),首先根據(jù)目標(biāo)函數(shù)值對(duì)當(dāng)前種群進(jìn)行非支配排序,根據(jù)非支配排序的先后順序當(dāng)前種群中的個(gè)體被分為多個(gè)等級(jí),然后根據(jù)非支配排序的先后順序從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)優(yōu)秀的非支配個(gè)體,最后將這些被選中的預(yù)設(shè)數(shù)量個(gè)優(yōu)秀的非支配個(gè)體組成父代種群。優(yōu)選地,在得到父代種群之后,對(duì)父代種群進(jìn)行交叉和變異,以生成新的個(gè)體,將新的個(gè)體設(shè)置為子代種群的個(gè)體,從而得到子代種群。
在步驟s105中,判斷當(dāng)前進(jìn)化代數(shù)是否超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值。
在步驟s106中,當(dāng)當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值時(shí),合并父代種群和子代種群,生成下一代進(jìn)化種群,將下一代進(jìn)化種群設(shè)置為當(dāng)前種群,對(duì)當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,跳轉(zhuǎn)至計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值的操作。
在本發(fā)明實(shí)施例中,若當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值(即最大進(jìn)化代數(shù)),則合并父代種群和子代種群,生成下一代進(jìn)化種群,然后將下一代進(jìn)化種群設(shè)置為下一代進(jìn)化時(shí)的當(dāng)前種群,對(duì)當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,跳轉(zhuǎn)至步驟s103計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值的操作,如此循環(huán)直至當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值。
在步驟s107中,當(dāng)當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值時(shí),將父代種群設(shè)置為推薦結(jié)果。
在本發(fā)明實(shí)施例中,接收歷史推薦偏好數(shù)據(jù),根據(jù)歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn),根據(jù)歷史推薦偏好數(shù)據(jù)和推薦目標(biāo)的極值點(diǎn),生成對(duì)應(yīng)的當(dāng)前種群,并將當(dāng)前種群的當(dāng)前進(jìn)化代數(shù)設(shè)置為第一代,從而通過(guò)在當(dāng)前種群中引入推薦目標(biāo)的極值點(diǎn)提高推薦的速率,然后計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值,根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群,對(duì)父代種群執(zhí)行進(jìn)化操作,生成子代種群,當(dāng)當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值時(shí),合并父代種群和子代種群,生成下一代進(jìn)化種群,將下一代進(jìn)化種群設(shè)置為當(dāng)前種群,對(duì)當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,再次計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值,從而不斷對(duì)當(dāng)前種群進(jìn)行進(jìn)化,直至獲得準(zhǔn)確度高、且兼具新穎性和寬覆蓋面的推薦結(jié)果,提高了推薦的采納率。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如rom/ram、磁盤、光盤等。
實(shí)施例二:
圖2示出了本發(fā)明實(shí)施例二提供的推薦裝置的結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括:
極值點(diǎn)獲取單元21,用于接收歷史推薦偏好數(shù)據(jù),根據(jù)歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn),其中,推薦目標(biāo)包括準(zhǔn)確度、覆蓋面和多樣性。
在本發(fā)明實(shí)施例中,預(yù)先提供所有用戶對(duì)物品(例如,商品)的歷史偏好數(shù)據(jù),即歷史推薦偏好數(shù)據(jù),在接收到歷史推薦偏好數(shù)據(jù)之后,極值點(diǎn)獲取單元根據(jù)歷史推薦偏好數(shù)據(jù)獲取推薦目標(biāo)的極值點(diǎn)。優(yōu)選地,將所有用戶對(duì)商品的歷史偏好數(shù)據(jù)中的偏好程度轉(zhuǎn)化為數(shù)字評(píng)分,從而降低接收的歷史推薦偏好數(shù)據(jù)的數(shù)據(jù)量,便于后續(xù)的計(jì)算或處理。具體地,評(píng)分可以采用1到5分之間的整數(shù)評(píng)分制度,若用戶對(duì)某個(gè)商品沒(méi)有偏好數(shù)據(jù),則評(píng)分為0,若用戶對(duì)某個(gè)商品的偏好達(dá)到最大程度,則評(píng)分為5,其他偏好程度的評(píng)分可以依次類推。
優(yōu)選地,在接收到歷史推薦偏好數(shù)據(jù)后,對(duì)推薦參數(shù)進(jìn)行初始化操作,對(duì)歷史推薦偏好數(shù)據(jù)進(jìn)行預(yù)處理,得到一個(gè)二進(jìn)制矩陣r,r中的元素表示用戶對(duì)待推薦項(xiàng)的偏好情況,根據(jù)用戶對(duì)推薦項(xiàng)的偏好情況對(duì)歷史推薦偏好數(shù)據(jù)中的所有用戶進(jìn)行聚類分簇,以用于按照用戶簇對(duì)用戶進(jìn)行推薦,然后依次獲取只具有最優(yōu)準(zhǔn)確度、覆蓋面或多樣性時(shí)的推薦集,將這三個(gè)推薦集分別設(shè)置為準(zhǔn)確度的極值點(diǎn)、覆蓋面的極值點(diǎn)和多樣性的極值點(diǎn),以得到只考慮單個(gè)推薦目標(biāo)時(shí)的最好推薦集。
種群生成單元22,用于根據(jù)歷史推薦偏好數(shù)據(jù)和推薦目標(biāo)的極值點(diǎn),生成對(duì)應(yīng)的當(dāng)前種群,并將當(dāng)前種群的當(dāng)前進(jìn)化代數(shù)設(shè)置為第一代。
在本發(fā)明實(shí)施例中,種群生成單元將推薦目標(biāo)的極值點(diǎn)(即只考慮單個(gè)推薦目標(biāo)時(shí)的最好推薦集)引入到多目標(biāo)進(jìn)化的第一代進(jìn)化種群,從而有效地引導(dǎo)進(jìn)化方向往需要的方向進(jìn)化,以在一定程度上同時(shí)提高推薦的準(zhǔn)確度、多樣性和新穎性,提高推薦的速率。
目標(biāo)計(jì)算單元23,用于計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值。
在本發(fā)明實(shí)施例中,得到當(dāng)前種群之后,目標(biāo)計(jì)算單元計(jì)算當(dāng)前種群的準(zhǔn)確度、覆蓋面和多樣性這三個(gè)目標(biāo)函數(shù)值。
優(yōu)選地,在計(jì)算當(dāng)前種群的準(zhǔn)確度目標(biāo)函數(shù)值時(shí),根據(jù)公式
優(yōu)選地,根據(jù)公式
優(yōu)選地,根據(jù)公式
種群進(jìn)化單元24,用于根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群,對(duì)父代種群執(zhí)行進(jìn)化操作,生成子代種群。
在本發(fā)明實(shí)施例中,計(jì)算得到當(dāng)前種群的準(zhǔn)確度、覆蓋面和多樣性這三個(gè)目標(biāo)函數(shù)值之后,首先根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)優(yōu)秀個(gè)體,將這些優(yōu)秀個(gè)體組成父代種群,然后種群進(jìn)化單元對(duì)父代種群進(jìn)行進(jìn)化,進(jìn)化得到的種群為子代種群。
優(yōu)選地,在根據(jù)目標(biāo)函數(shù)值從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)優(yōu)秀個(gè)體,將這些優(yōu)秀個(gè)體組成父代種群時(shí),首先根據(jù)目標(biāo)函數(shù)值對(duì)當(dāng)前種群進(jìn)行非支配排序,根據(jù)非支配排序的先后順序當(dāng)前種群中的個(gè)體被分為多個(gè)等級(jí),然后根據(jù)非支配排序的先后順序從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)優(yōu)秀的非支配個(gè)體,最后將這些被選中的預(yù)設(shè)數(shù)量個(gè)優(yōu)秀的非支配個(gè)體組成父代種群。優(yōu)選地,在得到父代種群之后,對(duì)父代種群進(jìn)行交叉和變異,以生成新的個(gè)體,將新的個(gè)體設(shè)置為子代種群的個(gè)體,從而得到子代種群。
循環(huán)進(jìn)化單元25,用于當(dāng)當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值時(shí),合并父代種群和子代種群,生成下一代進(jìn)化種群,將下一代進(jìn)化種群設(shè)置為當(dāng)前種群,對(duì)當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,再次計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值,對(duì)當(dāng)前種群進(jìn)行進(jìn)化,直至當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值。
在本發(fā)明實(shí)施例中,若當(dāng)前進(jìn)化代數(shù)未超過(guò)預(yù)設(shè)的進(jìn)化代數(shù)閾值(即最大進(jìn)化代數(shù)),則循環(huán)進(jìn)化單元合并父代種群和子代種群,生成下一代進(jìn)化種群,然后將下一代進(jìn)化種群設(shè)置為下一代進(jìn)化時(shí)的當(dāng)前種群,對(duì)當(dāng)前進(jìn)化代數(shù)進(jìn)行加1操作,再次計(jì)算當(dāng)前種群的目標(biāo)函數(shù)值,然后對(duì)當(dāng)前種群進(jìn)行進(jìn)化,如此循環(huán)直至當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值。
結(jié)果推薦單元26,用于當(dāng)當(dāng)前進(jìn)化代數(shù)達(dá)到進(jìn)化代數(shù)閾值時(shí),將父代種群設(shè)置為推薦結(jié)果。
因此,優(yōu)選地,如圖3所示,極值點(diǎn)獲取單元21包括:
初始化單元311,用于接收歷史推薦偏好數(shù)據(jù),對(duì)推薦參數(shù)進(jìn)行初始化操作,對(duì)歷史推薦偏好數(shù)據(jù)進(jìn)行預(yù)處理,對(duì)歷史推薦偏好數(shù)據(jù)中的所有用戶進(jìn)行聚類分簇;以及
極值點(diǎn)設(shè)置單元312,用于依次獲取只具有最優(yōu)準(zhǔn)確度、覆蓋面或多樣性時(shí)的推薦集,將推薦集分別設(shè)置為準(zhǔn)確度的極值點(diǎn)、覆蓋面的極值點(diǎn)和多樣性的極值點(diǎn);
優(yōu)選地,目標(biāo)計(jì)算單元23包括:
第一計(jì)算單元331,用于根據(jù)公式
第二計(jì)算單元332,用于根據(jù)公式
第三計(jì)算單元333,用于根據(jù)公式
優(yōu)選地,種群進(jìn)化單元24包括:
父代組成單元341,用于根據(jù)目標(biāo)函數(shù)值對(duì)當(dāng)前種群進(jìn)行非支配排序,根據(jù)非支配排序從當(dāng)前種群中選擇預(yù)設(shè)數(shù)量個(gè)個(gè)體,組成父代種群;以及
子代生成單元342,用于對(duì)父代種群執(zhí)行交叉和變異操作,生成新的個(gè)體,將新的個(gè)體設(shè)置為子代種群的個(gè)體。
在本發(fā)明實(shí)施例中,推薦裝置的各單元可由相應(yīng)的硬件或軟件單元實(shí)現(xiàn),各單元可以為獨(dú)立的軟、硬件單元,也可以集成為一個(gè)軟、硬件單元,在此不用以限制本發(fā)明。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。