資源對象推薦方法和裝置制造方法
【專利摘要】本發明公開了一種資源對象推薦方法和裝置,屬于計算機網絡【技術領域】。所述資源對象推薦方法包括:獲取用戶賬號所對應的歷史資源對象;根據所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到;向所述用戶賬號推薦所述目標資源對象;解決了現有技術中服務器在推薦資源對象時服務器的計算復雜度較高的問題;達到了可以根據歷史資源對象以及關系鏈信息直接為用戶賬號推薦資源對象,進而降低服務器的計算復雜度的效果。
【專利說明】資源對象推薦方法和裝置
【技術領域】
[0001]本發明涉及計算機網絡【技術領域】,特別涉及一種資源對象推薦方法和裝置。
【背景技術】
[0002]隨著網絡技術的發展,服務器可以根據用戶興趣為用戶推薦資源對象。資源對象可以是視頻、音頻、網頁、游戲或者應用程序。
[0003]以服務器為用戶推薦應用程序為例,服務器可以獲取用戶已經安裝的應用程序的類型;從候選應用程序中選擇與獲取到的應用程序的類型匹配的應用程序,為用戶推薦獲取到的應用程序。
[0004]在實現本發明的過程中,發明人發現上述技術至少存在以下問題:服務器需要對用戶自身已安裝的應用程序進行分析,得到對應的應用程序的類型,然后才能根據得到的應用程序的類型為用戶推薦應用程序,服務器的計算復雜度較高。
【發明內容】
[0005]為了解決現有技術中服務器在進行資源對象推薦時,服務器的計算復雜度較高的問題,本發明實施例提供了一種資源對象推薦方法和裝置。所述技術方案如下:
[0006]第一方面,提供了一種資源對象推薦方法,所述方法包括:
[0007]獲取用戶賬號所對應的歷史資源對象;
[0008]根據所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到;
[0009]向所述用戶賬號推薦所述目標資源對象。
[0010]可選地,所述根據所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,包括:
[0011]獲取所述關系鏈信息中向量起點為所述歷史資源對象的訪問向量;
[0012]獲取所述訪問向量的向量終點所對應的資源對象;
[0013]從獲取的所述資源對象中選擇至少一個資源對象;
[0014]將選擇得到的所述資源對象確定為所述目標資源對象。
[0015]可選地,所述訪問向量的向量值是所述歷史訪問記錄中在訪問向量起點所對應的資源對象后又訪問向量終點所對應的資源對象的歷史訪問次數,所述從獲取的所述資源對象中選擇至少一個資源對象,包括:
[0016]按照各個資源對象所對應的訪問向量的向量值由大到小的順序對獲取的各個資源對象進行排名;
[0017]選擇排名在前η位的資源對象,η為正整數。
[0018]可選地,所述方法還包括:
[0019]獲取各個用戶的歷史訪問記錄;
[0020]當所述歷史訪問記錄中存在訪問第一資源對象后又訪問第二資源對象的訪問記錄時,檢測所述關系鏈信息中是否存在從所述第一資源對象指向所述第二資源對象的訪問向量;
[0021]如果所述關系鏈信息中不存在所述訪問向量,則創建所述訪問向量,所述訪問向量的向量值為初始值;將創建的所述訪問向量存儲至所述關系鏈信息;
[0022]如果所述關系鏈信息中存在所述訪問向量,則將所述訪問向量的向量值加上預定值。
[0023]可選地,所述向所述用戶賬號推薦所述目標資源對象之前,所述方法還包括:
[0024]從候選資源對象中隨機選擇m個資源對象;
[0025]所述向用戶賬號推薦所述目標資源對象,包括:
[0026]向所述用戶賬號推薦所述目標資源對象以及隨機選擇的所述m個資源對象。
[0027]可選地,所述獲取用戶賬號所對應的歷史資源對象,包括:
[0028]獲取所述用戶賬號最近一次訪問的歷史資源對象;或,
[0029]獲取所述用戶賬號歷史訪問次數最多的歷史資源對象;或,
[0030]根據所述用戶賬號的歷史訪問記錄隨機選擇一條歷史資源對象。
[0031]第二方面,提供了一種資源對象推薦裝置,所述裝置包括:
[0032]歷史對象獲取模塊,用于獲取用戶賬號所對應的歷史資源對象;
[0033]推薦對象確定模塊,用于根據所述歷史對象獲取模塊獲取到的所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到;
[0034]對象推薦模塊,用于向所述用戶賬號推薦所述推薦對象確定模塊確定的所述目標資源對象。
[0035]可選地,所述推薦對象確定模塊,包括:
[0036]訪問向量獲取單元,用于獲取所述關系鏈信息中向量起點為所述歷史資源對象的訪問向量;
[0037]對象獲取單元,用于獲取所述訪問向量獲取單元獲取到的所述訪問向量的向量終點所對應的資源對象;
[0038]對象選擇單元,用于從所述對象獲取單元獲取的所述資源對象中選擇至少一個資源對象;
[0039]推薦對象確定單元,用于將所述對象選擇單元選擇得到的所述資源對象確定為所述目標資源對象。
[0040]可選地,所述對象選擇單元,包括:
[0041]對象排名子單元,用于在所述訪問向量的向量值是所述歷史訪問記錄中在訪問向量起點所對應的資源對象后又訪問向量終點所對應的資源對象的歷史訪問次數時,按照各個資源對象所對應的訪問向量的向量值由大到小的順序對獲取的各個資源對象進行排名;
[0042]對象選擇子單元,用于選擇排名在前η位的資源對象,η為正整數。
[0043]可選地,所述裝置還包括:
[0044]訪問記錄獲取模塊,用于獲取各個用戶的歷史訪問記錄;
[0045]訪問向量檢測模塊,用于在所述歷史訪問記錄中存在訪問第一資源對象后又訪問第二資源對象的訪問記錄時,檢測所述關系鏈信息中是否存在從所述第一資源對象指向所述第二資源對象的訪問向量;
[0046]訪問向量創建模塊,用于在所述訪問向量檢測模塊的檢測結果為所述關系鏈信息中不存在所述訪問向量時,倉Il建所述訪問向量,所述訪問向量的向量值為初始值;將創建的所述訪問向量存儲至所述關系鏈信息;
[0047]向量值更新模塊,用于在所述訪問向量檢測模塊的檢測結果為所述關系鏈信息中存在所述訪問向量時,將所述訪問向量的向量值加上預定值。
[0048]可選地,所述裝置還包括:
[0049]對象選擇模塊,用于從候選資源對象中隨機選擇m個資源對象;
[0050]所述對象推薦模塊,還用于向所述用戶賬號推薦所述目標資源對象以及隨機選擇的所述m個資源對象。
[0051]可選地,所述歷史對象獲取模塊,用于:
[0052]獲取所述用戶賬號最近一次訪問的歷史資源對象;或,
[0053]獲取所述用戶賬號歷史訪問次數最多的歷史資源對象;或,
[0054]根據所述用戶賬號的歷史訪問記錄隨機選擇一條歷史資源對象。
[0055]本發明實施例提供的技術方案的有益效果是:
[0056]通過獲取用戶賬號所對應的歷史資源對象,根據歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,將目標資源對象推薦給用戶賬號,關系鏈信息包括資源對象與資源對象之間的訪問向量,訪問向量由各個用戶的歷史訪問記錄統計得到;解決了現有技術中服務器在推薦資源對象時服務器的計算復雜度較高的問題;達到了可以根據歷史資源對象以及關系鏈信息直接為用戶賬號推薦資源對象,進而降低服務器的計算復雜度的效果O
【專利附圖】
【附圖說明】
[0057]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0058]圖1是本發明一個實施例提供的資源對象推薦方法的方法流程圖;
[0059]圖2A是本發明另一個實施例提供的資源對象推薦方法的方法流程圖;
[0060]圖2B是本發明另一實施例提供的訪問關系鏈的示意圖;
[0061]圖3是本發明一個實施例提供的資源對象推薦裝置的結構方框圖;
[0062]圖4是本發明另一個實施例提供的資源對象推薦裝置的結構方框圖;
[0063]圖5是本發明一個實施例提供的服務器的結構方框圖。
【具體實施方式】
[0064]為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部份實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
[0065]請參考圖1,其示出了本發明一個實施例提供的資源對象推薦方法的方法流程圖,如圖1所示,該資源對象推薦方法包括:
[0066]步驟101,獲取用戶賬號所對應的歷史資源對象;
[0067]步驟102,根據歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象;
[0068]關系鏈信息包括資源對象與資源對象之間的訪問向量,訪問向量由各個用戶的歷史訪問記錄統計得到。
[0069]步驟103,向用戶賬號推薦目標資源對象。
[0070]綜上所述,本實施例提供的資源對象推薦方法,通過獲取用戶賬號所對應的歷史資源對象,根據歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,將目標資源對象推薦給用戶賬號,關系鏈信息包括資源對象與資源對象之間的訪問向量,訪問向量由各個用戶的歷史訪問記錄統計得到;解決了現有技術中服務器在推薦資源對象時服務器的計算復雜度較高的問題;達到了可以根據歷史資源對象以及關系鏈信息直接為用戶賬號推薦資源對象,進而降低服務器的計算復雜度的效果。
[0071]請參考圖2A,其示出了本發明另一實施例提供的資源對象推薦方法的方法流程圖,如圖2A所示,該資源對象推薦方法可以包括:
[0072]步驟201,獲取各個用戶的歷史訪問記錄;
[0073]為了后續步驟的執行,服務器可以獲取各個用戶的歷史訪問記錄。在實際實現時,服務器可以監控系統中每個用戶訪問資源對象的訪問順序,記錄監控得到的各個訪問順序。資源對象可以包括視頻、音頻、網頁、游戲和應用程序中的至少一種,且在實際應用中,資源對象還可以包括其他類型的對象,本實施例對此并不做限定。
[0074]比如,以資源對象為游戲為例,系統中的用戶A在使用游戲A之后使用的下一個游戲為游戲B,則服務器可以監控并記錄先訪問游戲A后訪問游戲B的訪問記錄。
[0075]步驟202,當歷史訪問記錄中存在訪問第一資源對象后又訪問第二資源對象的訪問記錄時,檢測關系鏈信息中是否存在從第一資源對象指向第二資源對象的訪問向量;
[0076]當服務器獲取的歷史訪問記錄中存在訪問第一資源對象后又訪問第二資源對象的訪問記錄時,服務器可以檢測關系鏈信息中是否存在從第一資源對象指向第二資源對象的訪問向量。
[0077]比如,當服務器獲得使用游戲A后又使用游戲B的訪問記錄時,服務器可以檢測關系鏈信息中是否存在從游戲A指向游戲B的訪問向量。
[0078]步驟203,根據檢測結果確定關系鏈信息;
[0079]如果服務器的檢測結果為關系鏈信息中不存在從第一資源對象指向第二資源對象的訪問向量,則服務器可以創建訪問向量,該訪問向量的向量值為初始值,比如訪問向量的向量值為I。在服務器創建訪問向量之后,服務器可以將創建的訪問向量存儲至關系鏈信肩、O
[0080]而如果服務器的檢測結果為關系鏈信息中存在從第一資源對象指向第二資源對象的訪問向量,則說明之前已經有某一用戶按照先訪問第一資源對象后訪問第二資源對象的順序訪問了這兩個資源對象,此時,服務器可以將該訪問向量的向量值加上預定值。其中,預定值可以為預先設定的任意值比如I。
[0081]在經過步驟201至步驟203之后,服務器可以建立系統中的各個資源對象的訪問關系鏈。比如,仍然以資源對象為游戲為例,服務器可以建立圖2B所示的訪問關系鏈。需要說明的是,本實施例僅以圖2B所示的訪問關系鏈為例,在實際實現時,訪問關系鏈中還可以包括更多的資源對象,本實施例對此并不做限定。
[0082]在實際實現時,服務器可以在redis數據庫中存儲關系鏈信息中的各個訪問向量。具體的:
[0083]服務器可以通過redis數據庫的list數據結構存儲各個資源對象的訪問順序,也即訪問向量的方向。比如,以服務器存儲圖2B所示的訪問關系鏈所對應的關系鏈信息中的起始節點為游戲A的信息為例,服務器統計得到在游戲A之后,有些用戶使用了游戲B,有些用戶使用了游戲E,而有些用戶使用了游戲G,則服務器可以通過list數據結構存儲key為A,值為游戲B、游戲E和游戲G的數據。在實際實現時,服務器可以隨機存儲key對應的各個值,比如,按照游戲B、游戲G和游戲E的順序進行存儲;也可以按照訪問key之后又訪問各個值的訪問次數對各個值進行排序,然后按照排序結果依次存儲,比如按照游戲E、游戲B和游戲G的順序進行存儲。
[0084]同時,服務器可以通過redis數據庫的string數據結構存儲訪問一個資源對象后又訪問另外一個資源對象的訪問次數,也即訪問向量的向量值。比如,從圖2B可知,系統中的各個用戶訪問游戲A后又訪問游戲B的訪問次數為89次,訪問游戲A后又訪問游戲E的訪問次數為123次,訪問游戲A后又訪問游戲G的訪問次數為64次;則服務器可以分別存儲key為A-B,值為123 ;key為A_E,值為89 ;key為A_G,值為64的數據。
[0085]需要補充說明的第一點是,本實施例只是以在redis數據庫中存儲關系鏈信息為例,在實際實現時,還可以在Mysql數據庫或者其它數據庫中存儲該關系鏈信息,本實施例對此并不做限定。
[0086]需要補充說明的第二點是,步驟201至步驟203可以在步驟204之前只執行一次;比如,服務器在需要為用戶賬號推薦資源對象時,服務器執行一次。步驟201至步驟203也可以在步驟204之前循環執行多次;比如,服務器實時獲取各個用戶的歷史訪問記錄,進而根據獲取到的歷史訪問記錄更新關系鏈信息,本實施例對此并不做限定。
[0087]步驟204,獲取用戶賬號所對應的歷史資源對象;
[0088]當服務器需要為某一用戶賬號推薦資源對象時,服務器可以先獲取用戶賬號所對應的歷史資源對象。
[0089]其中,服務器獲取歷史資源對象的獲取方式可以包括如下方式中的任一種:
[0090]第一種,獲取用戶賬號最近一次訪問的歷史資源對象。
[0091]第二種,獲取用戶賬號歷史訪問次數最多的歷史資源對象。
[0092]第三種,根據用戶賬號的歷史訪問記錄隨機選擇一條歷史資源對象。
[0093]本實施例對此并不做限定。
[0094]另外,服務器可以在如下幾種條件時觸發獲取用戶賬號所對應的歷史資源對象:
[0095]第一種,服務器在預定時刻獲取用戶賬號所對應的歷史資源對象;比如服務器在每天24:00時獲取用戶賬號所對應的歷史資源對象。
[0096]第二種,服務器在用戶賬號連接網絡時獲取用戶賬號所對應的歷史資源對象。
[0097]第三種,服務器在接收到用戶賬號訪問資源對象的訪問觸發信號時,獲取用戶賬號所對應的歷史資源對象。
[0098]本實施例對此也不做限定。
[0099]以服務器為用戶賬號推薦游戲,也即資源對象是游戲為例,在每天24:00時,服務器可以獲取用戶賬號最近一次訪問的游戲,比如獲取到的用戶賬號最近一次訪問的游戲為游戲A。
[0100]步驟205,獲取關系鏈信息中向量起點為歷史資源對象的訪問向量;
[0101]在服務器獲取到歷史資源對象之后,服務器可以獲取關系鏈信息,獲取關系鏈信息中向量起點為歷史資源對象的訪問向量。
[0102]步驟206,獲取訪問向量的向量終點所對應的資源對象;
[0103]由于訪問向量的終點所對應的資源對象是其他用戶在訪問向量起點所對應的資源對象之后可能訪問的資源對象,所以在服務器獲取到向量起點為歷史資源對象的訪問向量之后,為了后續步驟的執行服務器可以獲取訪問向量的向量終點所對應的資源對象。
[0104]在實際實現時,服務器可以從redis數據庫中讀取key為歷史資源對象的list數據的數據值,將讀取到的數據值作為訪問向量的向量終點所對應的資源對象。
[0105]比如,當歷史資源對象為游戲A時,服務器可以從redis數據庫中的list數據中讀取key為游戲A的數據,然后讀取該組數據的值,也即服務器可以讀取到游戲B、游戲E和游戲G。
[0106]步驟207,從獲取的資源對象中選擇至少一個資源對象;
[0107]服務器獲取到資源對象之后,服務器可以從獲取的資源對象中選擇至少一個資源對象。在實際實現時,服務器從獲取的資源對象中選擇至少一個資源對象的選擇步驟可以包括:
[0108]第一,按照各個資源對象所對應的訪問向量的向量值由大到小的順序對獲取的各個資源對象進行排名;
[0109]服務器獲取到各個資源對象之后,服務器可以獲取各個資源對象所對應的訪問向量的向量值,然后按照獲取到的各個向量值對各個資源對象進行排名。
[0110]在實際實現時,服務器可以從redis數據庫中的string數據中讀取key為歷史資源對象-獲取的資源對象的數據的值,將讀取到的數據的值作為向量值,然后按照向量值對各個資源對象進行排名。
[0111]比如,服務器讀取到的A-B的值為89,A-E的值為123,A_G的值為64,則服務器可以按照游戲E、游戲B和游戲G的順序對三者進行排名。
[0112]第二,選擇排名在前η位的資源對象,η為正整數。
[0113]由于排名越靠前,說明用戶訪問歷史資源對象后訪問該資源對象的訪問概率越大,所以服務器可以選擇排名在前η位的資源對象。比如,當η為2時,服務器可以選擇排在前兩位的游戲E和游戲B。
[0114]需要說明的是,本實施例只是以采用上述選擇方式從獲取的資源對象中選擇資源對象為例,在實際實現時,服務器還可以從獲取到的資源對象中隨機選擇資源對象,本實施例對此并不做限定。
[0115]步驟208,將選擇得到的資源對象確定為目標資源對象;
[0116]步驟209,向用戶賬號推薦目標資源對象。
[0117]在服務器確定目標資源對象之后,服務器可以將目標資源對象推薦給用戶賬號。用戶賬號相應的接收服務器推薦的目標資源對象,展示接收到的目標資源對象。
[0118]當用戶查看用戶賬號展示的目標資源對象之后,用戶可以依據自己的使用需求選擇訪問目標資源對象,本實施例對此并不做限定。比如,當用戶對游戲E比較感興趣時,用戶可以觸發用戶賬號下載游戲E。
[0119]在本實施例的一個應用場景中,在應用程序下載中心中,服務器可以根據所有用戶在應用程序下載中心中下載應用程序的下載記錄創建兩個應用程序之間的下載向量,下載向量的向量值為所有用戶在下載第一應用程序后下載第二應用程序的下載次數。服務器在redis數據庫中存儲key為下載向量的向量起點所對應的應用程序,值為該應用程序所指向的各個應用程序的list鏈表(比如,存儲key為應用程序A,值為應用程序C、應用程序F、應用程序G以及應用程序H的數據)。同時服務器存儲key為向量起點所對應的應用程序以及向量終點所對應的應用程序,值為先訪問向量起點所對應的應用程序后訪問向量終點所對應的應用程序的訪問次數(比如,存儲key為應用程序A-應用程序C,值為100的數據)。當服務器接收到用戶賬號訪問該應用程序下載中心的觸發信號時,服務器可以獲取用戶賬號最近一次下載的應用程序(如應用程序A),讀取redis數據庫的list鏈表中key為獲取到的應用程序的數據的值(應用程序C、應用程序F、應用程序G以及應用程序H),然后在string數據中讀取各自對應的訪問次數(如100、52、111和87);根據訪問次數對各個應用程序排名,將排名在前兩位的應用程序C和應用程序G推薦給用戶賬號。這樣,用戶賬號接收到服務器推薦的應用程序之后,用戶賬號很可能會請求下載該應用程序,提高了應用程序的下載量,同時,這也方便了用戶的使用,簡便了用戶獲取自己感興趣的應用程序的獲取步驟。
[0120]在本實施例的另一個應用場景中,在某一視頻網站中,網站服務器可以根據所有用戶在網站中播放視頻的播放記錄來創建兩個視頻之間的播放向量,播放向量的向量值為所有用戶在播放第一視頻后播放第二視頻的播放次數。服務器在redis數據庫中存儲key為播放向量的播放起點所對應的視頻,值為該視頻所指向的各個視頻的list鏈表(比如,存儲key為視頻A,值為視頻G以及視頻H的數據)。同時服務器存儲key為向量起點所對應的視頻以及向量終點所對應的視頻,值為先訪問向量起點所對應的視頻后訪問向量終點所對應的視頻的訪問次數(比如,存儲key為視頻A-視頻H,值為100的數據)。當服務器接收到用戶賬號訪問該視頻網站的觸發信號時,服務器可以獲取用戶賬號最近一次播放的視頻(如視頻A),讀取redis數據庫的list鏈表中key為獲取到的視頻的數據的值(視頻G以及視頻H),然后在string數據中讀取各自對應的訪問次數(如86和100);根據訪問次數對各個視頻排名,將排名在首位的視頻H推薦給用戶賬號。這樣,用戶賬號接收到服務器推薦的視頻之后,用戶賬號很可能會請求播放該視頻,提高了視頻的點擊量。
[0121]服務器還可以通過類似方法向用戶賬號推薦網頁或者音頻,本實施例在此不再贅述。
[0122]需要補充說明的一點是,如果服務器獲取到的歷史資源對象是服務器通過其它資源對象如資源對象M推薦給用戶賬號的資源對象,則在服務器根據歷史資源對象給用戶賬號做資源對象推薦時,由于用戶賬號已經獲取過資源對象M,所以此時服務器將不再繼續推薦資源對象M給用戶賬號。
[0123]綜上所述,本實施例提供的資源對象推薦方法,通過獲取用戶賬號所對應的歷史資源對象,根據歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,將目標資源對象推薦給用戶賬號,關系鏈信息包括資源對象與資源對象之間的訪問向量,訪問向量由各個用戶的歷史訪問記錄統計得到;解決了現有技術中服務器在推薦資源對象時服務器的計算復雜度較高的問題;達到了可以根據歷史資源對象以及關系鏈信息直接為用戶賬號推薦資源對象,進而降低服務器的計算復雜度的效果。同時,本實施例通過根據由各個用戶的歷史訪問記錄統計得到的關系鏈信息來為用戶賬號推薦資源對象,提高了為用戶賬號推薦的資源對象的準確率。
[0124]本實施例通過根據訪問歷史資源對象后訪問其它資源對象的訪問次數對各個資源對象進行排名,進而只向用戶賬號推薦排名在前η位的資源對象,提高了推薦的資源對象的準確率。
[0125]本實施例通過將關系鏈信息存儲在redis數據庫中,進而利用redis數據庫的高讀寫速度,提高服務器獲取關系鏈信息的獲取效率,也即提高了服務器為用戶賬號推薦資源對象的推薦效率。
[0126]需要補充說明的一點是,服務器在向用戶賬號推薦目標資源對象之前,服務器還可以從候選資源對象中隨機選擇m個資源對象;進而在向用戶賬號推薦目標資源對象時,向用戶賬號推送目標資源對象以及隨機選擇的m個資源對象。
[0127]在實際實現時,服務器在隨機選擇m個資源對象之后,服務器還可以檢測隨機選擇的m個資源對象中是否存在與目標資源對象重復的資源對象,如果有,則去除重復的資源對象,本實施例對此并不做限定。在服務器去除重復的資源對象時,服務器還可以再隨機選擇一個其它資源對象補上,本實施例對此并不做限定。
[0128]在服務器向用戶賬號推薦資源對象時,服務器向用戶賬號推薦隨機選擇的資源對象,使得服務器中的所有候選資源對象均有可能被推薦給用戶賬號。
[0129]以服務器為用戶賬號推薦視頻,且需要為用戶賬號推薦5個視頻為例,服務器可以通過上述實施例的推薦方法選擇3個視頻,并通過隨機選擇的方式從候選視頻中再選擇2個視頻,進而向用戶賬號推薦最終確定的5個視頻,這樣在服務器保證推薦準確率的同時,也避免了服務器中的某些視頻不被推薦的問題,保證了服務器推薦的視頻的全面性。
[0130]請參考圖3,其示出了本發明一個實施例提供的資源對象推薦裝置的結構方框圖,該資源對象推薦裝置可以包括:歷史對象獲取模塊310、推薦對象確定模塊320和對象推薦模塊330。
[0131]歷史對象獲取模塊310,用于獲取用戶賬號所對應的歷史資源對象;
[0132]推薦對象確定模塊320,用于根據所述歷史對象獲取模塊310獲取到的所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到;
[0133]對象推薦模塊330,用于向所述用戶賬號推薦所述推薦對象確定模塊320確定的所述目標資源對象。
[0134]綜上所述,本實施例提供的資源對象推薦裝置,通過獲取用戶賬號所對應的歷史資源對象,根據歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,將目標資源對象推薦給用戶賬號,關系鏈信息包括資源對象與資源對象之間的訪問向量,訪問向量由各個用戶的歷史訪問記錄統計得到;解決了現有技術中服務器在推薦資源對象時服務器的計算復雜度較高的問題;達到了可以根據歷史資源對象以及關系鏈信息直接為用戶賬號推薦資源對象,進而降低服務器的計算復雜度的效果。
[0135]請參考圖4,其示出了本發明一個實施例提供的資源對象推薦裝置的結構方框圖,該資源對象推薦裝置可以包括:歷史對象獲取模塊410、推薦對象確定模塊420和對象推薦模塊430。
[0136]歷史對象獲取模塊410,用于獲取用戶賬號所對應的歷史資源對象;
[0137]推薦對象確定模塊420,用于根據所述歷史對象獲取模塊410獲取到的所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到;
[0138]對象推薦模塊430,用于向所述用戶賬號推薦所述推薦對象確定模塊420確定的所述目標資源對象。
[0139]可選地,所述推薦對象確定模塊420,包括:
[0140]訪問向量獲取單元421,用于獲取所述關系鏈信息中向量起點為所述歷史資源對象的訪問向量;
[0141]對象獲取單元422,用于獲取所述訪問向量獲取單元421獲取到的所述訪問向量的向量終點所對應的資源對象;
[0142]對象選擇單元423,用于從所述對象獲取單元獲取的所述資源對象中選擇至少一個資源對象;
[0143]推薦對象確定單元424,用于將所述對象選擇單元選擇得到的所述資源對象確定為所述目標資源對象。
[0144]可選地,所述對象選擇單元423,包括:
[0145]對象排名子單元423a,用于在所述訪問向量的向量值是所述歷史訪問記錄中在訪問向量起點所對應的資源對象后又訪問向量終點所對應的資源對象的歷史訪問次數時,按照各個資源對象所對應的訪問向量的向量值由大到小的順序對獲取的各個資源對象進行排名;
[0146]對象選擇子單元423b,用于選擇排名在前η位的資源對象,η為正整數。
[0147]可選地,所述裝置還包括:
[0148]訪問記錄獲取模塊440,用于獲取各個用戶的歷史訪問記錄;
[0149]訪問向量檢測模塊450,用于在所述歷史訪問記錄中存在訪問第一資源對象后跳轉訪問第二資源對象的訪問記錄時,檢測所述關系鏈信息中是否存在從所述第一資源對象指向所述第二資源對象的訪問向量;
[0150]訪問向量創建模塊460,用于在所述訪問向量檢測模塊450的檢測結果為所述關系鏈信息中不存在所述訪問向量時,倉Il建所述訪問向量,所述訪問向量的向量值為初始值;將創建的所述訪問向量存儲至所述關系鏈信息;
[0151]向量值更新模塊470,用于在所述訪問向量檢測模塊450的檢測結果為所述關系鏈信息中存在所述訪問向量時,將所述訪問向量的向量值加上預定值。
[0152]可選地,所述裝置還包括:
[0153]對象選擇模塊480,用于從候選資源對象中隨機選擇m個資源對象;
[0154]所述對象推薦模塊430,還用于向所述用戶賬號推薦所述目標資源對象以及隨機選擇的所述m個資源對象。
[0155]可選地,所述歷史對象獲取模塊410,用于:
[0156]獲取所述用戶賬號最近一次訪問的歷史資源對象;或,
[0157]獲取所述用戶賬號歷史訪問次數最多的歷史資源對象;或,
[0158]根據所述用戶賬號的歷史訪問記錄隨機選擇一條歷史資源對象。
[0159]綜上所述,本實施例提供的資源對象推薦裝置,通過獲取用戶賬號所對應的歷史資源對象,根據歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,將目標資源對象推薦給用戶賬號,關系鏈信息包括資源對象與資源對象之間的訪問向量,訪問向量由各個用戶的歷史訪問記錄統計得到;解決了現有技術中服務器在推薦資源對象時服務器的計算復雜度較高的問題;達到了可以根據歷史資源對象以及關系鏈信息直接為用戶賬號推薦資源對象,進而降低服務器的計算復雜度的效果。同時,本實施例通過根據由各個用戶的歷史訪問記錄統計得到的關系鏈信息來為用戶賬號推薦資源對象,提高了為用戶賬號推薦的資源對象的準確率。
[0160]本實施例通過根據訪問歷史資源對象后訪問其它資源對象的訪問次數對各個資源對象進行排名,進而只向用戶賬號推薦排名在前η位的資源對象,提高了推薦的資源對象的準確率。
[0161]請參考圖5,其示出了本發明一個實施例提供的服務器的結構示意圖。所述服務器500包括中央處理單元(CPU) 501、包括隨機存取存儲器(RAM) 502和只讀存儲器(ROM) 503的系統存儲器504,以及連接系統存儲器504和中央處理單元501的系統總線505。所述服務器500還包括幫助計算機內的各個器件之間傳輸信息的基本輸入/輸出系統(I/O系統)506,和用于存儲操作系統513、應用程序514和其他程序模塊515的大容量存儲設備507。
[0162]所述基本輸入/輸出系統506包括有用于顯不信息的顯不器508和用于用戶輸入信息的諸如鼠標、鍵盤之類的輸入設備509。其中所述顯示器508和輸入設備509都通過連接到系統總線505的輸入輸出控制器510連接到中央處理單元501。所述基本輸入/輸出系統506還可以包括輸入輸出控制器510以用于接收和處理來自鍵盤、鼠標、或電子觸控筆等多個其他設備的輸入。類似地,輸入輸出控制器510還提供輸出到顯示屏、打印機或其他類型的輸出設備。
[0163]所述大容量存儲設備507通過連接到系統總線505的大容量存儲控制器(未示出)連接到中央處理單元501。所述大容量存儲設備507及其相關聯的計算機可讀介質為服務器500提供非易失性存儲。也就是說,所述大容量存儲設備507可以包括諸如硬盤或者CD-ROM驅動器之類的計算機可讀介質(未示出)。
[0164]不失一般性,所述計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其他數據等信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括RAM、ROM、EPROM、EEPR0M、閃存或其他固態存儲其技術,CD-ROM、DVD或其他光學存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設備。當然,本領域技術人員可知所述計算機存儲介質不局限于上述幾種。上述的系統存儲器504和大容量存儲設備507可以統稱為存儲器。
[0165]根據本發明的各種實施例,所述服務器500還可以通過諸如因特網等網絡連接到網絡上的遠程計算機運行。也即服務器500可以通過連接在所述系統總線505上的網絡接口單元511連接到網絡512,或者說,也可以使用網絡接口單元511來連接到其他類型的網絡或遠程計算機系統(未示出)。
[0166]所述存儲器還包括一個或者一個以上的程序,所述一個或者一個以上程序存儲于存儲器中,所述一個或者一個以上程序用于執行上述實施例提供的資源對象推薦方法。
[0167]需要說明的是:上述實施例提供的資源對象推薦裝置在推薦資源對象時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將設備的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的資源推薦對象裝置與資源對象推薦方法的方法實施例屬于同一構思,其具體實現過程詳見方法實施例,這里不再贅述。
[0168]上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0169]本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0170]以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種資源對象推薦方法,其特征在于,所述方法包括: 獲取用戶賬號所對應的歷史資源對象; 根據所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到; 向所述用戶賬號推薦所述目標資源對象。
2.根據權利要求1所述的方法,其特征在于,所述根據所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,包括: 獲取所述關系鏈信息中向量起點為所述歷史資源對象的訪問向量; 獲取所述訪問向量的向量終點所對應的資源對象; 從獲取的所述資源對象中選擇至少一個資源對象; 將選擇得到的所述資源對象確定為所述目標資源對象。
3.根據權利要求2所述的方法,其特征在于,所述訪問向量的向量值是所述歷史訪問記錄中在訪問向量起點所對應的資源對象后又訪問向量終點所對應的資源對象的歷史訪問次數,所述從獲取的所述資源對象中選擇至少一個資源對象,包括: 按照各個資源對象所對應的訪問向量的向量值由大到小的順序對獲取的各個資源對象進行排名; 選擇排名在前η位的資源對象,η為正整數。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括: 獲取各個用戶的歷史訪問記錄; 當所述歷史訪問記錄中存在訪問第一資源對象后又訪問第二資源對象的訪問記錄時,檢測所述關系鏈信息中是否存在從所述第一資源對象指向所述第二資源對象的訪問向量; 如果所述關系鏈信息中不存在所述訪問向量,則創建所述訪問向量,所述訪問向量的向量值為初始值;將創建的所述訪問向量存儲至所述關系鏈信息; 如果所述關系鏈信息中存在所述訪問向量,則將所述訪問向量的向量值加上預定值。
5.根據權利要求1至4任一所述的方法,其特征在于,所述向所述用戶賬號推薦所述目標資源對象之前,所述方法還包括: 從候選資源對象中隨機選擇m個資源對象; 所述向用戶賬號推薦所述目標資源對象,包括: 向所述用戶賬號推薦所述目標資源對象以及隨機選擇的所述m個資源對象。
6.根據權利要求1至4任一所述的方法,其特征在于,所述獲取用戶賬號所對應的歷史資源對象,包括: 獲取所述用戶賬號最近一次訪問的歷史資源對象;或, 獲取所述用戶賬號歷史訪問次數最多的歷史資源對象;或, 根據所述用戶賬號的歷史訪問記錄隨機選擇一條歷史資源對象。
7.一種資源對象推薦裝置,其特征在于,所述裝置包括: 歷史對象獲取模塊,用于獲取用戶賬號所對應的歷史資源對象; 推薦對象確定模塊,用于根據所述歷史對象獲取模塊獲取到的所述歷史資源對象以及關系鏈信息確定需要推薦的目標資源對象,所述關系鏈信息包括資源對象與資源對象之間的訪問向量,所述訪問向量由各個用戶的歷史訪問記錄統計得到; 對象推薦模塊,用于向所述用戶賬號推薦所述推薦對象確定模塊確定的所述目標資源對象。
8.根據權利要求7所述的裝置,其特征在于,所述推薦對象確定模塊,包括: 訪問向量獲取單元,用于獲取所述關系鏈信息中向量起點為所述歷史資源對象的訪問向量; 對象獲取單元,用于獲取所述訪問向量獲取單元獲取到的所述訪問向量的向量終點所對應的資源對象; 對象選擇單元,用于從所述對象獲取單元獲取的所述資源對象中選擇至少一個資源對象; 推薦對象確定單元,用于將所述對象選擇單元選擇得到的所述資源對象確定為所述目標資源對象。
9.根據權利要求8所述的裝置,其特征在于,所述對象選擇單元,包括: 對象排名子單元,用于在所述訪問向量的向量值是所述歷史訪問記錄中在訪問向量起點所對應的資源對象后又訪問向量終點所對應的資源對象的歷史訪問次數時,按照各個資源對象所對應的訪問向量的向量值由大到小的順序對獲取的各個資源對象進行排名; 對象選擇子單元,用于選擇排名在前η位的資源對象,η為正整數。
10.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 訪問記錄獲取模塊,用于獲取各個用戶的歷史訪問記錄; 訪問向量檢測模塊,用于在所述歷史訪問記錄中存在訪問第一資源對象后又訪問第二資源對象的訪問記錄時,檢測所述關系鏈信息中是否存在從所述第一資源對象指向所述第二資源對象的訪問向量; 訪問向量創建模塊,用于在所述訪問向量檢測模塊的檢測結果為所述關系鏈信息中不存在所述訪問向量時,倉Il建所述訪問向量,所述訪問向量的向量值為初始值;將創建的所述訪問向量存儲至所述關系鏈信息; 向量值更新模塊,用于在所述訪問向量檢測模塊的檢測結果為所述關系鏈信息中存在所述訪問向量時,將所述訪問向量的向量值加上預定值。
11.根據權利要求7至10任一所述的裝置,其特征在于,所述裝置還包括: 對象選擇模塊,用于從候選資源對象中隨機選擇m個資源對象; 所述對象推薦模塊,還用于向所述用戶賬號推薦所述目標資源對象以及隨機選擇的所述m個資源對象。
12.根據權利要求7至10任一所述的裝置,其特征在于,所述歷史對象獲取模塊,用于: 獲取所述用戶賬號最近一次訪問的歷史資源對象;或, 獲取所述用戶賬號歷史訪問次數最多的歷史資源對象;或, 根據所述用戶賬號的歷史訪問記錄隨機選擇一條歷史資源對象。
【文檔編號】H04L29/08GK104243590SQ201410484096
【公開日】2014年12月24日 申請日期:2014年9月19日 優先權日:2014年9月19日
【發明者】黃郁財 申請人:廣州華多網絡科技有限公司