一種推薦系統(tǒng)的線下評(píng)價(jià)方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種推薦系統(tǒng)的評(píng)價(jià)方法。
【背景技術(shù)】
[0002]個(gè)性化推薦是根據(jù)用戶的興趣特點(diǎn)和購買行為,向用戶推薦用戶感興趣的信息和商品。隨著電子商務(wù)規(guī)模的不斷擴(kuò)大,商品個(gè)數(shù)和種類快速增長(zhǎng),顧客需要花費(fèi)大量的時(shí)間才能找到自己想買的商品。這種瀏覽大量無關(guān)的信息和產(chǎn)品過程無疑會(huì)使淹沒在信息過載問題中的消費(fèi)者不斷流失。為了解決這些問題,個(gè)性化推薦系統(tǒng)應(yīng)運(yùn)而生。個(gè)性化推薦系統(tǒng)是建立在海量數(shù)據(jù)挖掘基礎(chǔ)上的一種高級(jí)商務(wù)智能平臺(tái),以幫助電子商務(wù)網(wǎng)站為其顧客購物提供完全個(gè)性化的決策支持和信息服務(wù)。
[0003]目前,推薦系統(tǒng)有著非常廣泛的應(yīng)用,除了亞馬遜,淘寶等電商網(wǎng)站,如今日頭條的新聞推薦,云OS的手機(jī)app推薦,以及其他很多應(yīng)用場(chǎng)景中,都使用到了推薦系統(tǒng)。常用的推薦算法包括:基于內(nèi)容的推薦,基于協(xié)同過濾的推薦,基于關(guān)聯(lián)規(guī)則的推薦,基于效用的推薦,基于知識(shí)的推薦等。
[0004]推薦系統(tǒng)的任務(wù)一般是這樣的:給定一批商品,通過推薦算法的計(jì)算,得到每個(gè)商品的潛在用戶,最后再通過各種推薦手段,將該商品推薦給它的潛在用戶。
[0005]在構(gòu)建推薦系統(tǒng)的時(shí)候,一個(gè)難點(diǎn)就是推薦算法的線下評(píng)價(jià)方法。一般來講,對(duì)于有監(jiān)督的算法,當(dāng)構(gòu)建這個(gè)算法的時(shí)候,為了驗(yàn)證算法的有效性,往往會(huì)用歷史數(shù)據(jù)中的正負(fù)樣本來先測(cè)試算法并且調(diào)整參數(shù),最后待參數(shù)調(diào)整到最優(yōu)的時(shí)候,才會(huì)將算法上線,投入到實(shí)際應(yīng)用中。但是,對(duì)于推薦算法,正樣本是將一件物品推薦給一個(gè)用戶,這個(gè)用戶接受了推薦,購買了該商品,而負(fù)樣本是將意見物品推薦給一個(gè)用戶后,該用戶不接受推薦,沒有購買該商品。而在歷史數(shù)據(jù)中,由于并沒有真正發(fā)生推薦行為,所以也就沒有真實(shí)的正負(fù)樣本,給推薦的線下評(píng)價(jià)帶來麻煩,使得算法的設(shè)計(jì)者們難以調(diào)節(jié)算法的參數(shù)。盲目將沒有經(jīng)過驗(yàn)證的算法發(fā)布上線,用于實(shí)際應(yīng)用也存在很大風(fēng)險(xiǎn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明針對(duì)上述問題,提出一種推薦系統(tǒng)的線下評(píng)價(jià)方法,利用該方法可以有效的利用歷史數(shù)據(jù)對(duì)新建立的推薦算法進(jìn)行評(píng)價(jià),以方便算法的建立者調(diào)節(jié)算法參數(shù)及進(jìn)行算法上線之前的效果預(yù)估。本發(fā)明的技術(shù)方案如下:
[0007]—種推薦系統(tǒng)的線下評(píng)價(jià)方法,包括下面步驟:
[0008]I)選取測(cè)試樣本
[0009]對(duì)于一個(gè)推薦系統(tǒng),先將歷史數(shù)據(jù)進(jìn)行劃分,將歷史數(shù)據(jù)按照時(shí)間的先后分為訓(xùn)練集和測(cè)試集。對(duì)所有訓(xùn)練集中的商品按照其在一段時(shí)期內(nèi)購買用戶的數(shù)量進(jìn)行排名,之后在該排名序列中均勻抽取η個(gè)商品,并用待評(píng)價(jià)的推薦算法計(jì)算出這η個(gè)商品的潛在用戶,作為評(píng)價(jià)該推薦算法的測(cè)試樣本。
[0010]2)構(gòu)造近似正樣本
[0011]對(duì)于選取出的這η個(gè)商品的潛在用戶,再看看在測(cè)試集數(shù)據(jù)中,到底有沒有購買通過推薦算法計(jì)算出來的要給他們推薦的商品,即使在測(cè)試集中,并沒有真正發(fā)生推薦行為,但是這些用戶可能通過其他方式接觸到要給他們推薦的商品,接觸到并且購買,說明這個(gè)用戶對(duì)這個(gè)商品是非常感興趣的,那么如果推薦算法給他推薦,他也會(huì)購買,把這部分用戶當(dāng)作近似正樣本。
[0012]3)構(gòu)造近似負(fù)樣本
[0013]在構(gòu)造近似負(fù)樣本的時(shí)候,對(duì)于選取出的這η個(gè)商品的潛在用戶,對(duì)其在訓(xùn)練集中的行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)出一些非常不活躍的用戶,即這些用戶購買商品的意愿非常低,對(duì)于這類不活躍用戶,如果推薦算法給他們推薦新的商品,他們購買的可能性也非常低,因此,很可能產(chǎn)生無效推薦,將這些用戶就定義為近似負(fù)樣本。
[0014]4)計(jì)算近似正負(fù)樣本在推薦結(jié)果中的分布并評(píng)價(jià)推薦算法
[0015]對(duì)于推薦算法,在計(jì)算一個(gè)商品的潛在用戶的時(shí)候,會(huì)同時(shí)計(jì)算出一個(gè)用戶購買意愿分?jǐn)?shù),最后會(huì)根據(jù)這個(gè)分?jǐn)?shù)對(duì)待推薦的用戶進(jìn)行排名,并依照業(yè)務(wù)需求,截取排名靠前的用戶進(jìn)行推薦;在評(píng)價(jià)推薦算法的時(shí)候,看近似正樣本和近似負(fù)樣本在用訓(xùn)練集計(jì)算出的那批潛在用戶中的排名分布,如果大部分的近似正樣本在推薦算法算出的潛客中排名靠前,大部分近似負(fù)樣本在推薦算法算出的潛客中排名靠后,則證明推薦算法有效,相反,如果近似正樣本和近似負(fù)樣本的排名分布比較均勻,則證明算法無效;根據(jù)上述原理,在評(píng)價(jià)推薦算法的時(shí)候,用排在潛在用戶的前20%的近似正樣本數(shù)加上排在潛在用戶的后20%的近似負(fù)樣本數(shù)目作為評(píng)價(jià)算法的最終分?jǐn)?shù),根據(jù)這個(gè)分?jǐn)?shù)變化,在線下比較某兩個(gè)推薦算法的好壞,分?jǐn)?shù)較高的推薦算法被認(rèn)為是較好的算法;或者根據(jù)分?jǐn)?shù)調(diào)節(jié)某推薦算法的參數(shù),使推薦算法達(dá)到最優(yōu)。
[0016]本發(fā)明的有益效果如下:
[0017]1.本發(fā)明提出一種用歷史數(shù)據(jù)對(duì)推薦系統(tǒng)進(jìn)行線下評(píng)價(jià)的方法,能夠利用歷史數(shù)據(jù)對(duì)新構(gòu)造的推薦系統(tǒng)進(jìn)行評(píng)價(jià),降低了盲目將算法上線的風(fēng)險(xiǎn)。
[0018]2.推薦系統(tǒng)算法的構(gòu)造者在構(gòu)造算法的時(shí)候,可以根據(jù)本發(fā)明提出的線下評(píng)價(jià)方法來調(diào)節(jié)算法參數(shù),提升準(zhǔn)確率。
【附圖說明】
[0019]圖1本發(fā)明的技術(shù)方案的流程圖。
【具體實(shí)施方式】
[0020]對(duì)于推薦問題來講,雖然歷史數(shù)據(jù)中沒有真正的正負(fù)樣本,但是本發(fā)明提出一種方法,能夠通過統(tǒng)計(jì)用戶歷史數(shù)據(jù),找到近似的正負(fù)樣本,然后看這些正負(fù)樣本在算法結(jié)果中的分布狀況,以完成算法的評(píng)價(jià)。方案整體示意圖如圖(I),具體步驟如下:
[0021]I選取測(cè)試樣本
[0022]—個(gè)好的推薦系統(tǒng)對(duì)于不同的商品,都能夠表現(xiàn)出好的推薦結(jié)果,因此,在評(píng)價(jià)推薦系統(tǒng)的時(shí)候,需要看其在多種不同商品上的整體效果。
[0023]在本發(fā)明中,我們首先將歷史數(shù)據(jù)進(jìn)行劃分,假如我們有某個(gè)電商平臺(tái)4個(gè)月的歷史數(shù)據(jù),則用前三個(gè)月的數(shù)