国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用的推薦方法、裝置及計(jì)算機(jī)可讀介質(zhì)與流程

      文檔序號:11199270閱讀:288來源:國知局
      一種應(yīng)用的推薦方法、裝置及計(jì)算機(jī)可讀介質(zhì)與流程

      本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用的推薦方法、裝置及計(jì)算機(jī)可讀介質(zhì)。



      背景技術(shù):

      隨著互聯(lián)網(wǎng)信息量的膨脹以及電子商務(wù)的迅速發(fā)展,信息過載問題卻愈發(fā)嚴(yán)重。無論是信息消費(fèi)者還是信息生產(chǎn)者都遇到了很大的挑戰(zhàn):一方面,對于信息消費(fèi)者來說,他們越來越難從海量的數(shù)據(jù)中快速準(zhǔn)確的找到對自己有價(jià)值的信息;而另一方面,對于信息生產(chǎn)者來說,他們很難讓自己生產(chǎn)的信息在海量數(shù)據(jù)中脫穎而出,讓信息消費(fèi)者關(guān)注到自己。

      如何解決這個(gè)問題?推薦系統(tǒng)由此應(yīng)運(yùn)而生,它是解決這一類問題的重要工具。推薦系統(tǒng)的任務(wù)就是聯(lián)系信息消費(fèi)者和信息生產(chǎn)者,一方面幫助信息消費(fèi)者發(fā)現(xiàn)對自己有用的信息,另一方面幫助信息生產(chǎn)者生產(chǎn)的信息能夠方便快捷的展現(xiàn)在對該信息感興趣的信息消費(fèi)者面前,從而實(shí)現(xiàn)信息消費(fèi)者和信息生產(chǎn)者兩者的雙贏局面。

      slopeone算法兩種常用的實(shí)現(xiàn)方式:weightedslopeone和bi-polarslopeone,其缺點(diǎn)在于算法在計(jì)算過程沒有考慮到相似度問題。且根據(jù)文獻(xiàn)的研究明,相較于傳統(tǒng)的協(xié)同過濾算法,當(dāng)數(shù)據(jù)變得比較稀疏時(shí),slopeone算法并不算優(yōu)秀。

      此外,由于應(yīng)用中心的數(shù)據(jù)量非常大,其包括應(yīng)用名稱,標(biāo)簽,應(yīng)用描述,圖標(biāo),下載量,以及用戶的操作歷史包括,下載,評論,評分以及熱度排行等等。slopeone協(xié)同過濾是要將所有物品屬性以及用戶操作歷史行為數(shù)據(jù)進(jìn)行相應(yīng)的矩陣運(yùn)算,在數(shù)據(jù)不變的情況下,服務(wù)器集群要將所有數(shù)據(jù)計(jì)算出來有一定的困難。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提供了一種應(yīng)用的推薦方法、裝置及計(jì)算機(jī)可讀介質(zhì),旨在無論數(shù)據(jù)稠密或稀疏,都能提高應(yīng)用推薦的精度,提升用戶體驗(yàn)。

      有鑒于此,本發(fā)明實(shí)施例第一方面,提供了一種應(yīng)用的推薦方法,所述應(yīng)用的推薦方法包括以下步驟:

      獲取所有用戶在應(yīng)用中心的操作歷史數(shù)據(jù),并據(jù)此生成主矩陣a;

      計(jì)算所述主矩陣a的近似矩陣ak;

      通過所述近似矩陣ak獲取用戶相似度矩陣;

      結(jié)合所述用戶相似度矩陣和用基于閾值的動態(tài)鄰居選擇方法獲取特定用戶的鄰居用戶合集;

      根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分;

      根據(jù)所述預(yù)測評分生成應(yīng)用推薦列表。

      在一種可能的設(shè)計(jì)中,所述計(jì)算所述主矩陣a的近似矩陣ak包括:

      通過奇異值分解所述主矩陣a,得到第一矩陣u、第二矩陣∑、第三矩陣v;

      計(jì)算維度k,并據(jù)此得到第一子矩陣uk、第二子矩陣∑k、第三子矩陣vk;

      所述近似矩陣ak為所述第一子矩陣uk、第二子矩陣∑k及所述第三子矩陣vk的倒置矩陣的乘積。

      在一種可能的設(shè)計(jì)中,所述計(jì)算維度k包括:若所述主矩陣a是一個(gè)n×m的矩陣,則k與n或m中值較小的一個(gè)相等。

      在一種可能的設(shè)計(jì)中,所述通過所述近似矩陣ak獲取用戶相似度矩陣包括:

      通過以下公式得到用戶相似度矩陣:

      其中,simij表示用戶i和用戶j的相似度。

      在一種可能的設(shè)計(jì)中,所述通過所述近似矩陣ak獲取用戶相似度矩陣包括:

      利用余弦相似度公式獲取應(yīng)用之間的相似度;

      結(jié)合所述應(yīng)用之間的相似度計(jì)算所述用戶相似度矩陣。

      在一種可能的設(shè)計(jì)中,所述根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分包括:

      定義所述特定用戶的已評分應(yīng)用集合為ru,所述主矩陣a中對應(yīng)用itemi的評分為auseri;由以下公式計(jì)算集合ru中每個(gè)應(yīng)用itemj和目標(biāo)應(yīng)用itemi的均差值disij;

      計(jì)算預(yù)測評分reui,其中numij表示所述鄰居用戶合集中應(yīng)用itemi和itemj均有評分的用戶數(shù)目:

      本發(fā)明實(shí)施例第二方面提供了一種應(yīng)用的推薦裝置,所述應(yīng)用的推薦裝置包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的應(yīng)用的推薦程序,所述應(yīng)用的推薦程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至5中任一項(xiàng)所述的應(yīng)用的推薦方法的步驟。

      在一種可能的設(shè)計(jì)中,所述根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行時(shí)以實(shí)現(xiàn)以下步驟:

      定義所述特定用戶的已評分應(yīng)用集合為ru,所述主矩陣a中對應(yīng)用itemi的評分為auseri;由以下公式計(jì)算集合ru中每個(gè)應(yīng)用itemj和目標(biāo)應(yīng)用itemi的均差值disij;

      計(jì)算預(yù)測評分reui,其中numij表示所述鄰居用戶合集中應(yīng)用itemi和itemj均有評分的用戶數(shù)目:

      本發(fā)明實(shí)施例第三方面提供了一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)存儲有應(yīng)用的推薦程序,所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有應(yīng)用的推薦程序,所述應(yīng)用的推薦程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至5中任一項(xiàng)所述的應(yīng)用的推薦方法的步驟。

      在一種可能的設(shè)計(jì)中,所述根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行時(shí)以實(shí)現(xiàn)以下步驟:

      定義所述特定用戶的已評分應(yīng)用集合為ru,所述主矩陣a中對應(yīng)用itemi的評分為auseri;由以下公式計(jì)算集合ru中每個(gè)應(yīng)用itemj和目標(biāo)應(yīng)用itemi的均差值disij;

      計(jì)算預(yù)測評分reui,其中numij表示所述鄰居用戶合集中應(yīng)用itemi和itemj均有評分的用戶數(shù)目:

      本發(fā)明提供的應(yīng)用的推薦方法、裝置及計(jì)算機(jī)可讀介質(zhì)能夠在一定程度上解決大數(shù)據(jù)矩陣計(jì)算量的問題,同時(shí)提高推薦的精確度。

      附圖說明

      圖1為本發(fā)明一種應(yīng)用的推薦方法一個(gè)實(shí)施例的示意圖;

      圖2為本發(fā)明一種應(yīng)用的推薦方法另一個(gè)實(shí)施例的示意圖;

      圖3為本發(fā)明一種應(yīng)用的推薦方法另一個(gè)實(shí)施例的示意圖;

      圖4是本發(fā)明實(shí)施例的對某一特定用戶預(yù)測評分排前十的應(yīng)用的示意圖;

      圖5是本發(fā)明實(shí)施例的對某一應(yīng)用的預(yù)測得分和實(shí)際得分的方差結(jié)果示意圖;

      本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。

      具體實(shí)施方式

      應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身沒有特定的意義。因此,“模塊”、“部件”或“單元”可以混合地使用。

      請參閱圖1,圖1為本發(fā)明一種應(yīng)用的推薦方法,所述應(yīng)用的推薦方法包括以下步驟:

      301、開始;

      302、獲取所有用戶在應(yīng)用中心的操作歷史數(shù)據(jù),并據(jù)此生成主矩陣a;

      一般地,一個(gè)終端對應(yīng)一個(gè)用戶;當(dāng)然若應(yīng)用中心是設(shè)有賬號的,也可以是一個(gè)終端對應(yīng)多個(gè)用戶;終端需要上傳用戶在應(yīng)用中心的操作歷史數(shù)據(jù);用戶的操作歷史數(shù)據(jù)包括對應(yīng)于的下載、評論、評分等;在具體實(shí)施時(shí),將應(yīng)用名稱結(jié)合其對應(yīng)的所有用戶的操作歷史數(shù)據(jù)生成主矩陣a即可;在本發(fā)明的另一實(shí)施例中主矩陣還可以加入應(yīng)用標(biāo)簽、應(yīng)用描述、圖標(biāo)、下載量以及熱度排行等數(shù)據(jù)信息;

      303、計(jì)算所述主矩陣a的近似矩陣ak;

      304、通過所述近似矩陣ak獲取用戶相似度矩陣;

      305、結(jié)合所述用戶相似度矩陣和用基于閾值的動態(tài)鄰居選擇方法獲取特定用戶的鄰居用戶合集;

      306、根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分;

      307、根據(jù)所述預(yù)測評分生成應(yīng)用推薦列表;

      308、結(jié)束。

      可選地,在上述圖1對應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的應(yīng)用的推薦方法另一個(gè)可選實(shí)施例中,在執(zhí)行計(jì)算所述主矩陣a的近似矩陣ak的步驟時(shí),如圖2所示,具體包括:

      401、開始;

      402、通過奇異值分解所述主矩陣a,得到第一矩陣u、第二矩陣∑、第三矩陣v;

      矩陣的特征值分解可以得到特征值與特征向量,特征向量可以用來描述矩陣的特性,但是它只是對方陣而言的,在現(xiàn)實(shí)的世界中,大部分矩陣都不是方陣。而奇異值分解是一個(gè)能適用于任意的矩陣的一種分解的方法。

      奇異值分解可以用如下公式表達(dá):

      a=uσvt

      其中,a是一個(gè)n*m的矩陣,那么得到的u是一個(gè)n*n的方陣(里面的向量是正交的,u里面的向量稱為左奇異向量),σ是一個(gè)n*m的矩陣(除了對角線的元素都是0,對角線上的元素稱為奇異值),vt(v的轉(zhuǎn)置)是一個(gè)n*n的矩陣,里面的向量也是正交的,v里面的向量稱為右奇異向量);

      在具體計(jì)算時(shí),可以先將主矩陣a的進(jìn)行轉(zhuǎn)置得到at,將會得到一個(gè)方陣,我們用這個(gè)方陣求特征值可以得到:

      (ata)vi=λvi

      這里得到的v,就是我們上面的右奇異向量。此外我們還可以得到:

      這里的σ就是上面說的奇異值;u就是左奇異向量;

      403、計(jì)算維度k,并據(jù)此得到第一子矩陣uk、第二子矩陣∑k、第三子矩陣vk;

      一般地,若所述主矩陣a是一個(gè)n×m的矩陣,則k與n或m中值較小的一個(gè)相等;

      404、所述近似矩陣ak為所述第一子矩陣uk、第二子矩陣∑k及所述第三子矩陣vk的倒置矩陣的乘積;

      對于第二矩陣σ,保留其中k個(gè)最大的奇異值,得到一個(gè)新的維度為k×k,k×n的第二子矩陣矩陣σk。相應(yīng)的,通過刪除第一矩陣u以及第三矩陣v相應(yīng)的行或列,得到維度分別為m×k的第一子矩陣uk和第三子矩陣vk,然后對矩陣a重構(gòu);令然后生成了一個(gè)秩等于k的所有矩陣中與矩陣a最近似的矩陣ak;

      405、結(jié)束。

      通過上述分析可以得到,奇異值可以表示一個(gè)給定矩陣與比其秩低的矩陣的接近程度。通過這種矩陣的分解,可以找到矩陣a的一個(gè)近似簡化矩陣。

      可選地,在上述圖1或圖2對應(yīng)的任一實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的應(yīng)用的推薦方法另一個(gè)可選實(shí)施例中,在通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),包括:

      通過以下公式得到用戶相似度矩陣:

      其中,simij表示用戶i和用戶j的相似度。

      可選地,在上述圖1或圖2對應(yīng)的任一實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例提供的應(yīng)用的推薦方法另一個(gè)可選實(shí)施例中,在通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),如圖3所示,包括:

      501、開始;

      502、利用余弦相似度公式獲取應(yīng)用之間的相似度;

      更具體地,可以采取以下公式獲取應(yīng)用之間的相似度:

      503、結(jié)合所述應(yīng)用之間的相似度計(jì)算所述用戶相似度矩陣;

      也就是說,在計(jì)算用戶相似度矩陣時(shí),需要考慮到應(yīng)用之間的相似度;

      504、結(jié)束。

      需要說明的是,若主矩陣a是一個(gè)n*m的矩陣,則近似矩陣ak同樣也是一個(gè)n*m的矩陣,如果將近似矩陣中的每一行作為對應(yīng)用戶的特征,利用余弦相似性,可以得到一個(gè)m*m的用戶相似度矩陣。

      可選地,在上述的任一實(shí)施例提供的應(yīng)用的推薦方法的基礎(chǔ)上,本發(fā)明實(shí)施例提供的應(yīng)用的推薦方法另一個(gè)可選實(shí)施例中,在通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),包括:

      定義所述特定用戶的已評分應(yīng)用集合為ru,所述主矩陣a中對應(yīng)用itemi的評分為auseri;由以下公式計(jì)算集合ru中每個(gè)應(yīng)用itemj和目標(biāo)應(yīng)用itemi的均差值disij;

      計(jì)算預(yù)測評分reui,其中numij表示所述鄰居用戶合集中應(yīng)用itemi和itemj均有評分的用戶數(shù)目:

      本發(fā)明還提供一種應(yīng)用的推薦裝置,所述應(yīng)用的推薦裝置包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的應(yīng)用的推薦程序,所述應(yīng)用的推薦程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任一實(shí)施例提供的應(yīng)用的推薦方法的步驟。

      更具體地,所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      獲取所有用戶在應(yīng)用中心的操作歷史數(shù)據(jù),并據(jù)此生成主矩陣a;

      一般地,一個(gè)終端對應(yīng)一個(gè)用戶;當(dāng)然若應(yīng)用中心是設(shè)有賬號的,也可以是一個(gè)終端對應(yīng)多個(gè)用戶;終端需要上傳用戶在應(yīng)用中心的操作歷史數(shù)據(jù);用戶的操作歷史數(shù)據(jù)包括對應(yīng)于的下載、評論、評分等;在具體實(shí)施時(shí),將應(yīng)用名稱結(jié)合其對應(yīng)的所有用戶的操作歷史數(shù)據(jù)生成主矩陣a即可;在本發(fā)明的另一實(shí)施例中主矩陣還可以加入應(yīng)用標(biāo)簽、應(yīng)用描述、圖標(biāo)、下載量以及熱度排行等數(shù)據(jù)信息;

      計(jì)算所述主矩陣a的近似矩陣ak;

      通過所述近似矩陣ak獲取用戶相似度矩陣;

      結(jié)合所述用戶相似度矩陣和用基于閾值的動態(tài)鄰居選擇方法獲取特定用戶的鄰居用戶合集;

      根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分;

      根據(jù)所述預(yù)測評分生成應(yīng)用推薦列表。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)執(zhí)行計(jì)算所述主矩陣a的近似矩陣ak時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      通過奇異值分解所述主矩陣a,得到第一矩陣u、第二矩陣∑、第三矩陣v;

      矩陣的特征值分解可以得到特征值與特征向量,特征向量可以用來描述矩陣的特性,但是它只是對方陣而言的,在現(xiàn)實(shí)的世界中,大部分矩陣都不是方陣。而奇異值分解是一個(gè)能適用于任意的矩陣的一種分解的方法。

      奇異值分解可以用如下公式表達(dá):

      a=uσvt

      其中,a是一個(gè)n*m的矩陣,那么得到的u是一個(gè)n*n的方陣(里面的向量是正交的,u里面的向量稱為左奇異向量),σ是一個(gè)n*m的矩陣(除了對角線的元素都是0,對角線上的元素稱為奇異值),vt(v的轉(zhuǎn)置)是一個(gè)n*n的矩陣,里面的向量也是正交的,v里面的向量稱為右奇異向量);

      在具體計(jì)算時(shí),可以先將主矩陣a的進(jìn)行轉(zhuǎn)置得到at,將會得到一個(gè)方陣,我們用這個(gè)方陣求特征值可以得到:

      (ata)vi=λvi

      這里得到的v,就是我們上面的右奇異向量。此外我們還可以得到:

      這里的σ就是上面說的奇異值;u就是左奇異向量;

      計(jì)算維度k,并據(jù)此得到第一子矩陣uk、第二子矩陣∑k、第三子矩陣vk;

      一般地,若所述主矩陣a是一個(gè)n×m的矩陣,則k與n或m中值較小的一個(gè)相等;

      所述近似矩陣ak為所述第一子矩陣uk、第二子矩陣∑k及所述第三子矩陣vk的倒置矩陣的乘積;

      對于第二矩陣σ,保留其中k個(gè)最大的奇異值,得到一個(gè)新的維度為k×k,k×n的第二子矩陣矩陣σk。相應(yīng)的,通過刪除第一矩陣u以及第三矩陣v相應(yīng)的行或列,得到維度分別為m×k的第一子矩陣uk和第三子矩陣vk,然后對矩陣a重構(gòu);令然后生成了一個(gè)秩等于k的所有矩陣中與矩陣a最近似的矩陣ak。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      通過以下公式得到用戶相似度矩陣:

      其中,simij表示用戶i和用戶j的相似度。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      利用余弦相似度公式獲取應(yīng)用之間的相似度;

      更具體地,可以采取以下公式獲取應(yīng)用之間的相似度:

      結(jié)合所述應(yīng)用之間的相似度計(jì)算所述用戶相似度矩陣;

      也就是說,在計(jì)算用戶相似度矩陣時(shí),需要考慮到應(yīng)用之間的相似度;

      需要說明的是,若主矩陣a是一個(gè)n*m的矩陣,則近似矩陣ak同樣也是一個(gè)n*m的矩陣,如果將近似矩陣中的每一行作為對應(yīng)用戶的特征,利用余弦相似性,可以得到一個(gè)m*m的用戶相似度矩陣。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      定義所述特定用戶的已評分應(yīng)用集合為ru,所述主矩陣a中對應(yīng)用itemi的評分為auseri;由以下公式計(jì)算集合ru中每個(gè)應(yīng)用itemj和目標(biāo)應(yīng)用itemi的均差值disij;

      計(jì)算預(yù)測評分reui,其中numij表示所述鄰居用戶合集中應(yīng)用itemi和itemj均有評分的用戶數(shù)目:

      本發(fā)明還提供一種計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有應(yīng)用的推薦程序,所述應(yīng)用的推薦程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任一實(shí)施例提供的應(yīng)用的推薦方法的步驟。

      更具體地,所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      獲取所有用戶在應(yīng)用中心的操作歷史數(shù)據(jù),并據(jù)此生成主矩陣a;

      一般地,一個(gè)終端對應(yīng)一個(gè)用戶;當(dāng)然若應(yīng)用中心是設(shè)有賬號的,也可以是一個(gè)終端對應(yīng)多個(gè)用戶;終端需要上傳用戶在應(yīng)用中心的操作歷史數(shù)據(jù);用戶的操作歷史數(shù)據(jù)包括對應(yīng)于的下載、評論、評分等;在具體實(shí)施時(shí),將應(yīng)用名稱結(jié)合其對應(yīng)的所有用戶的操作歷史數(shù)據(jù)生成主矩陣a即可;在本發(fā)明的另一實(shí)施例中主矩陣還可以加入應(yīng)用標(biāo)簽、應(yīng)用描述、圖標(biāo)、下載量以及熱度排行等數(shù)據(jù)信息;

      計(jì)算所述主矩陣a的近似矩陣ak;

      通過所述近似矩陣ak獲取用戶相似度矩陣;

      結(jié)合所述用戶相似度矩陣和用基于閾值的動態(tài)鄰居選擇方法獲取特定用戶的鄰居用戶合集;

      根據(jù)所述特定用戶在應(yīng)用中心的操作歷史數(shù)據(jù)及所述鄰居用戶合集計(jì)算所述特定用戶對目標(biāo)應(yīng)用的預(yù)測評分;

      根據(jù)所述預(yù)測評分生成應(yīng)用推薦列表。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)執(zhí)行計(jì)算所述主矩陣a的近似矩陣ak時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      通過奇異值分解所述主矩陣a,得到第一矩陣u、第二矩陣∑、第三矩陣v;

      矩陣的特征值分解可以得到特征值與特征向量,特征向量可以用來描述矩陣的特性,但是它只是對方陣而言的,在現(xiàn)實(shí)的世界中,大部分矩陣都不是方陣。而奇異值分解是一個(gè)能適用于任意的矩陣的一種分解的方法。

      奇異值分解可以用如下公式表達(dá):

      a=uσvt

      其中,a是一個(gè)n*m的矩陣,那么得到的u是一個(gè)n*n的方陣(里面的向量是正交的,u里面的向量稱為左奇異向量),σ是一個(gè)n*m的矩陣(除了對角線的元素都是0,對角線上的元素稱為奇異值),vt(v的轉(zhuǎn)置)是一個(gè)n*n的矩陣,里面的向量也是正交的,v里面的向量稱為右奇異向量);

      在具體計(jì)算時(shí),可以先將主矩陣a的進(jìn)行轉(zhuǎn)置得到at,將會得到一個(gè)方陣,我們用這個(gè)方陣求特征值可以得到:

      (ata)vi=λvi

      這里得到的v,就是我們上面的右奇異向量。此外我們還可以得到:

      這里的σ就是上面說的奇異值;u就是左奇異向量;

      計(jì)算維度k,并據(jù)此得到第一子矩陣uk、第二子矩陣∑k、第三子矩陣vk;

      一般地,若所述主矩陣a是一個(gè)n×m的矩陣,則k與n或m中值較小的一個(gè)相等;

      所述近似矩陣ak為所述第一子矩陣uk、第二子矩陣∑k及所述第三子矩陣vk的倒置矩陣的乘積;

      對于第二矩陣σ,保留其中k個(gè)最大的奇異值,得到一個(gè)新的維度為k×k,k×n的第二子矩陣矩陣σk。相應(yīng)的,通過刪除第一矩陣u以及第三矩陣v相應(yīng)的行或列,得到維度分別為m×k的第一子矩陣uk和第三子矩陣vk,然后對矩陣a重構(gòu);令然后生成了一個(gè)秩等于k的所有矩陣中與矩陣a最近似的矩陣ak。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      通過以下公式得到用戶相似度矩陣:

      其中,simij表示用戶i和用戶j的相似度。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      利用余弦相似度公式獲取應(yīng)用之間的相似度;

      更具體地,可以采取以下公式獲取應(yīng)用之間的相似度:

      結(jié)合所述應(yīng)用之間的相似度計(jì)算所述用戶相似度矩陣;

      也就是說,在計(jì)算用戶相似度矩陣時(shí),需要考慮到應(yīng)用之間的相似度;

      需要說明的是,若主矩陣a是一個(gè)n*m的矩陣,則近似矩陣ak同樣也是一個(gè)n*m的矩陣,如果將近似矩陣中的每一行作為對應(yīng)用戶的特征,利用余弦相似性,可以得到一個(gè)m*m的用戶相似度矩陣。

      在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)通過所述近似矩陣ak獲取用戶相似度矩陣時(shí),所述應(yīng)用的推薦程序被所述處理器執(zhí)行以實(shí)現(xiàn)以下步驟:

      定義所述特定用戶的已評分應(yīng)用集合為ru,所述主矩陣a中對應(yīng)用itemi的評分為auseri;由以下公式計(jì)算集合ru中每個(gè)應(yīng)用itemj和目標(biāo)應(yīng)用itemi的均差值disij;

      計(jì)算預(yù)測評分reui,其中numij表示所述鄰居用戶合集中應(yīng)用itemi和itemj均有評分的用戶數(shù)目:

      需要說明的是,本發(fā)明中用戶在應(yīng)用中心的操作歷史數(shù)據(jù)可以以評分的形式進(jìn)行表現(xiàn),用戶在應(yīng)用中心的操作歷史數(shù)據(jù)包括用戶停留該應(yīng)用的時(shí)間、一天內(nèi)開啟的次數(shù)、對該應(yīng)用進(jìn)行的操作等。

      下面結(jié)合具體的實(shí)例,進(jìn)一步說明本發(fā)明:

      在具體實(shí)施時(shí),根據(jù)上述任一實(shí)施例提供的步驟構(gòu)建模型,導(dǎo)入用戶、用戶在應(yīng)用中心的操作歷史數(shù)據(jù);得出各應(yīng)用的評分,并將排名在前的應(yīng)用推薦給用戶。請參照圖4,圖4是對某一特定用戶預(yù)測評分排前十的應(yīng)用;更具體地,第一列為用戶編碼,第二列為應(yīng)用軟件編碼,第三列為預(yù)測用戶得分;本實(shí)施例中,用戶編碼為65722,其對應(yīng)的預(yù)測評分排前十的應(yīng)用即為第二列編碼對應(yīng)的應(yīng)用。

      請參照圖5,本發(fā)明將用戶已安裝的其中一個(gè)應(yīng)用進(jìn)行屏蔽后,實(shí)施本發(fā)明提供的技術(shù)方案,將屏蔽的應(yīng)用的預(yù)測得分與根據(jù)用戶歷史操作數(shù)據(jù)得出的實(shí)際得分進(jìn)行方差的計(jì)算,本實(shí)施例中得出的方差為4.10e-6,趨近于零;可見,本發(fā)明得出的預(yù)測得分具有較高的準(zhǔn)確率。

      本發(fā)明實(shí)施例提供的應(yīng)用的推薦方法、裝置及計(jì)算機(jī)可讀介質(zhì),通過奇異值分解對用戶評分矩陣進(jìn)行降維,使得其在計(jì)算應(yīng)用中心推薦超大數(shù)據(jù)量時(shí)能夠占用較少的服務(wù)器資源,能夠在一定程度上解決大數(shù)據(jù)矩陣計(jì)算量的問題,縮短計(jì)算時(shí)間,同時(shí)提高了應(yīng)用推薦精度。

      需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。

      上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。

      通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。

      上面結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實(shí)施方式,上述的具體實(shí)施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1