新四季網

好友及應用個性化推薦方法及系統的製作方法

2023-09-17 18:34:55

好友及應用個性化推薦方法及系統的製作方法
【專利摘要】本發明提供了一種好友及應用個性化推薦方法及系統,包括步驟:步驟A:計算推薦得分S;步驟B:根據推薦得分顯示推薦內容;步驟C:根據用戶對推薦內容的反饋信息調整推薦權值向量;步驟D:根據調整後的用戶推薦權值向量更新推薦內容。本發明適用場景更加廣泛、推薦結果更加準確、計算速度更快,並且具有閒時計算以及黑名單機制等優點,能夠有效提高信息推薦的準確率,並且節省了計算開銷,具有良好的推薦效果。
【專利說明】好友及應用個性化推薦方法及系統

【技術領域】
[0001] 本發明涉及網絡通信【技術領域】,具體地說,是社交網絡中的一種基於Hadoop的好 友和應用推薦方法及系統。

【背景技術】
[0002] 諸如人人網、臉書、朋友網等社交網絡已成為當下不可缺少的社交方式。活躍用戶 數量對於社交網站來說非常重要,而幫助用戶建立和擴大穩定的關係網絡是維持和增加活 躍用戶數量的最有效方法。這就需要為用戶推薦潛在好友和能與好友產生互動的應用。
[0003] 而現有的好友及應用推薦方法大多比較單一。目前的好友推薦方法可分為幾類: 1、根據非好友用戶間共同好友數量。2、根據個人資料相似度(畢業學校、工作地點、共同興 趣等)。3、要求用戶自己設定好友分組,並設定好友分組等級。這樣些推薦方法存在以下弊 端:1)應用場景有限。如基於非好友用戶間共同好友數量的推薦方法,若一個新註冊用戶 未添加任何好友,此推薦方法將不會有任何推薦結果。2)未考慮用戶間的互動信息。互動 是社交網絡的基本屬性,不考慮用戶間的互動,就無法得到準確合理的推薦結果。3)容易造 成用戶信息洩露。如基於個人資料相似度的好友推薦方法,用戶根據推薦的排名,很容易可 推測出排名靠前的用戶的個人信息,造成用戶信息洩露。
[0004] 對於應用推薦,目前的推薦方法主要基於用戶歷史行為進行推薦,如根據用戶已 添加的應用的標籤,推薦相似應用。這種根據用戶歷史行為的應用推薦方法存在如下弊端: 1)在用戶未添加任何應用時,此方法失去作用,不會有任何推薦結果。2)會產生較多的與 用戶已添加應用功能重複的推薦結果。3)未考慮好友的應用使用情況,無法得到準確合理 的推薦結果。
[0005] 經檢索,發現如下相關專利文獻。
[0006] 相關檢索結果1 :
[0007] 申請(專利)號:201210125050. 3,名稱:一種在SNS網絡中好友推薦的系統和方 法
[0008] 摘要:本發明屬於計算機網絡【技術領域】,具體涉及一種在SNS網絡中好友推薦的 系統與方法。該系統包括客戶端和伺服器端。該方法由用戶提前設定用戶的好友分組,並 且自定好友分組的等級,伺服器端根據某一好友分組的等級和某一好友分組內的相同好友 個數的百分比,獲得所有用戶的好友推薦值,並根據好友推薦值的大小,將推薦值最高的用 戶作為臨時好友推薦給用戶。該方法是用客戶端和伺服器端的協作,以及用戶的參與,使得 好友推薦系統的好友推薦能夠降低好友門檻,方便用戶添加好友,並且可以較準確的推薦 用戶所需要或所認識的好友,提高好友推薦的準確度和有效性。
[0009] 技術要點比較:
[0010] 1.好友推薦考慮緯度:此方法本質上還是從共同好友數量一個緯度進行好友推 薦,這樣做有幾個弊端:1、太片面,看重共同好友數量,對於好友與用戶的緊密程度不做區 分,與"和共同好友緊密度較高的用戶之間比共同好友多的用戶之間更容易成為好友"這一 事實不符。2、對於新註冊,填寫過個人資料但是未添加過好友的用戶,該方法無法使用。而 本發明從多個緯度進行綜合評分,考慮更加全面,更加符合事實情況,也能應對新註冊用戶 沒有好友的情況。並且可以根據用戶反饋動態調整,更加智能。
[0011] 2.黑名單和滾動顯示機制:上述方法未使用黑名單機制,這就導致排名靠前但是 用戶不想添加的推薦好友長期佔據推薦板塊,使推薦機制失去意義。而本發明引入黑名單 機制,用戶可以手動將不想添加的好友加入黑名單,以後不會再次顯示。而且,本方法還將 排名靠前的推薦好友分組滾動顯示,在好友推薦顯示模塊大小相同的情況下,可以顯示更 多的推薦好友,提高用戶接受推薦的概率。
[0012] 3.是否需要用戶主動介入:上述方法需要用戶主動設置分組並設定分組等級,對 於不習慣為好友分組或者分組不準確的用戶,此方法效果很差甚至不能使用。而本發明基 於數據挖掘和分析,不要求用戶主觀為好友推薦方法提供過多輔助,更加人性化。
[0013] 相關檢索結果2:
[0014] 申請(專利)號:201310336664. 0,名稱:一種基於用戶籤到相似度的好友推薦系 統
[0015] 摘要:本發明公開了一種基於用戶籤到相似度的好友推薦系統,該系統包括興趣 推薦模塊、相似度計算模塊和主題提取模塊。首先經主題提取模塊從LBSN資料庫中取得以 往用戶的籤到記錄,並採用主題提取算法獲得提取用戶籤到記錄中潛在的主題;然後利用 主題提取模塊提取的潛在主題,調用相似度計算模塊的計算方法分別計算候選用戶集中每 個用戶在每個主題下與請求用戶的相似度;然後每個用戶將每個主題下的相似度求和得到 最終的相似度。最後由興趣推薦模塊根據請求用戶的請求參數設置確定最終的推薦好友, 並返回給請求用戶。
[0016] 技術要點比較:
[0017] 1.好友推薦考慮緯度:該專利文獻使用單一緯度進行好友推薦,考慮方面過於單 一,且使用的是用戶的籤到信息,這就會有以下問題:(1)、方法適合情況有限:只有少數社 交網站提供籤到功能。(2)、造成用戶信息洩露:籤到信息中通常包含用戶位置信息,這樣 用戶推薦好友模塊顯示靠前的用戶和此用戶的籤到位置信息相似度可能很高,造成信息洩 露。使用本發明,不僅適合大多數社交網站,而且從多個緯度進行綜合考慮,返回綜合結果, 不會對單一維度的信息造成洩露,安全性較高。
[0018] 2.黑名單機制:見相關檢索結果2中的第2條。
[0019] 相關檢索結果3:
[0020] 申請(專利)號:201310566824. 0,名稱:應用推薦方法和系統
[0021] 摘要:本發明公開了一種應用推薦方法和系統,所述方法包括:針對當前應用的 每個標籤,根據預先存儲的標籤之間的相似值,確定出與該標籤之間的相似值大於第一閾 值的標籤作為相似標籤;針對確定出的每個相似標籤,將計算出的該相似標籤與當前應用 的各標籤之間的相似值之和,作為該相似標籤的相似值;並針對每個相似標籤,查找出具有 該相似標籤的其它應用作為待推薦應用;針對每個待推薦應用,計算該待推薦應用的各標 籤中含有的相似標籤的相似值之和作為該待推薦應用的相似值;選取相似值大於第二閾值 的待推薦應用進行推薦。本發明的技術方案中,改善了評分數據的稀疏性,有助於提高推薦 的精確度;建立待推薦應用與當前應用的聯繫,提高了推薦的精確度。
[0022] 技術要點比較:
[0023] 1.推薦緯度:此方法使用應用標籤這個單一緯度進行推薦,考慮過於片面,且可 能造成推薦過多相似應用的情況。而本發明使用應用熱度和好友使用情況兩個緯度進行推 薦,且接受用戶的反饋和黑名單機制,不會出現單個方面的應用推薦過多。
[0024] 2.適用場景:此方法的適用場景有限,當用戶尚未添加任何應用的時候,此方法 就失去了作用。而本方法可以從熱門應用和好友應用角度進行推薦,適用於大多數場景。
[0025] 3.黑名單機制:此方法還是會造成用戶不想添加的排名靠前的應用始終佔據應 用推薦顯示模塊,而排名靠後的用戶更可能添加的應用無法顯示,導致應用推薦失去意義。 而本發明引入黑名單機制,用戶可以手動將不想添加的應用加入黑名單,以後不會再次顯 示。而且,本方法還將排名靠前的推薦應用分組滾動顯示,在好友推薦顯示模塊大小相同的 情況下,可以顯示更多的推薦應用,提高用戶接受推薦的概率。
[0026] 4.更符合社交特性:當下社交網絡中的好多應用(尤其是遊戲)可以在好友之間 產生互動,所以好友喜歡使用的應用更可能被用戶接受。本發明正好符合這一社交特性,所 以更適合進行應用推薦。而此發明只是基於當個用戶的信息進行推薦,不符合社交特性。


【發明內容】

[0027] 針對現有技術中的缺陷,本發明的目的是提供一種基於Hadoop的好友及應用個 性化推薦方法及系統。本發明要解決的技術問題體現在以下幾點:
[0028] 1)引入評分機制,對於好友和應用推薦從多個緯度進行評分,最後得到一個綜合 評分,根據綜合評分由高到低進行排序對用戶進行推薦,避免的單一緯度好友和應用推薦 方法對推薦效果的影響,也就是說,本發明建立並利用了傳統推薦方法中沒有用到的信息 以及信息之間的映射關聯,從而使得信息篩選推薦效果更為精確。
[0029] 2)引入動態顯示機制,對於推薦排名靠前的前幾名用戶動態循環顯示,合理利用 顯示界面的空間,提高了用戶採納的可能性。
[0030] 3)引入動態調整機制:對要評分的緯度定義權值,為每個用戶維護一個權值序 列,起始權值都為1,根據用戶對推薦的接受情況和對推薦的取消顯示情況對權值進行動態 調整,然後根據新的權值重新進行計算綜合評分,從而達到個性化推薦的效果,提高推薦準 確率。
[0031] 4)使用Hadoop中的MapReduce計算框架:為了提高推薦算法的準確性,提高推薦 系統的推薦效果,以上推薦方法對比傳統的推薦算法複雜度高,而採用MapReduce程序來 進行分布式計算,可以提高計算效率,降低對單點的負載壓力,在不影響伺服器整體性能的 前提下,提高推薦準確性。
[0032] 5)應用推薦引入社交特性:用戶的好友普通喜歡的應用此用戶喜歡的可能性很 大。所以在進行應用推薦的時候,考慮用戶好友的應用使用情況,給用戶的好友們普通使用 的應用以更高的推薦分,更加符合社交網絡的特性,也即是本發明充分利用了傳統推薦方 法中沒有用到的好友之間互動所建立的信息之間的關聯信息。
[0033] 根據本發明提供的一種好友及應用個性化推薦方法,包括如下步驟:
[0034] 步驟A :計算推薦得分S ;
[0035] 步驟B :根據推薦得分顯示推薦內容;
[0036] 步驟C :根據用戶對推薦內容的反饋信息調整推薦權值向量(推薦權值向量包括 用戶推薦權值向量、應用推薦權值向量);
[0037] 步驟D :根據調整後的用戶推薦權值向量更新推薦內容。
[0038] 優選地,所述步驟A包括如下步驟:
[0039] 步驟A1 :計算潛在好友推薦得分;
[0040] 步驟A1包括如下步驟:
[0041] 步驟Al. 1 :為每個用戶維護一個潛在好友組,並將有如下一個或多個特徵的非好 友用戶加入到該用戶的潛在好友組中:
[0042] 特徵1)--與該用戶畢業學校相同或工作公司名稱相同;
[0043] 特徵2)-與該用戶有共同好友;
[0044] 特徵3)-與該用戶有過互動;
[0045] 步驟A1. 2 :為每個用戶維護一張評分表,該評分表中每一行包含對一個在其潛在 好友組中的非好友用戶的評分信息,所述評分信息包括校友相關度評分、同事相關度評分、 共同好友評分、潛在好友互動評分;步驟A1. 3 :對用戶潛在好友組中的所有非好友用戶進 行步驟A1. 4到步驟A1. 8中的計算;
[0046] 步驟A1. 4 :計算校友相關度評分:對於某個用戶A,若其潛在好友組中的某個非好 友用戶B的評分表中包含用戶A的校友相關度評分T1,則直接將校友相關度評分T1設為用 戶A對用戶B的校友相關度評分;若沒有,則執行以下操作:
[0047] 步驟Al. 4. 1 :初始化評分值為0,設置校友關係基礎分、同學關係基礎分、年級差 基礎分;
[0048] 步驟A1. 4. 2 :若用戶A、用戶B是校友,每構成一次校友關係則評分值加上一個校 友關係基礎分;
[0049] 步驟A1. 4. 3:對於大學校友,若用戶A、用戶B同一個學院,則評分值加上同學關係 基礎分;
[0050] 步驟A1. 4. 4 :對於非大學校友,若用戶A、用戶B同年同班,每成立一次,則評分值 加上一個同學關係基礎分;
[0051] 步驟A1. 4. 5 :根據如下公式得到最終評分值:
[0052] 最終評分值=當前評分值-Σ |用戶A、用戶B在同一學校的入學年份差I*年級 差基礎分;
[0053] 若最終評分值小於0,則將最終評分值設為0 ;
[0054] 步驟A1. 5 :計算同事相關度評分:設置同事關係基礎分;對於用戶A,若其潛在好 友中的某用戶B的評分表中包含用戶A的同事相關度評分T2,則直接將同事相關度評分T2 設為用戶A對用戶B的同事相關度評分;若沒有,則進行判斷:若用戶A、用戶B就職於同一 家公司且在統一城市,則同事相關度評分設為同事關係基礎分,否則設為〇 ;
[0055] 步驟A1. 6 :計算好友緊密度評分:為用戶A維護一張好友互動數表,好友互動數表 中包含用戶A最近一段時間與其每個好友的互動數;對於用戶A,若其好友列表中的某用戶 B的好友互動表中包含與用戶A的互動數T3,則直接將互動數T3設為用戶A的好友互動數 表中與用戶B的互動數,若沒有,則統計互動數;
[0056] 其中,根據如下公式得到好友緊密度評分:
[0057] 用戶B對於用戶A的好友緊密度評分=用戶B與用戶A的互動數/用戶A與好友 互動總數;
[0058] 步驟A1. 7 :計算共同好友評分:對於用戶A潛在好友組中的用戶B,按下式計算其 與用戶A的共同好友評分共同好友評分(B|A):
[0059] 共同好友評分(Β|Α) =Σ用戶B與用戶A共同好友對於用戶A的好友緊密度評分
[0060] 步驟A1. 8 :計算潛在好友互動評分:設置互動基礎分和一段時間間隔;對於用戶 A,若其潛在好友中的某用戶B的評分表中包含用戶A的潛在好友互動評分T4,則直接將潛 在好友互動評分T4設為用戶A對用戶B的潛在好友互動評分;若沒有,則統計用戶A、用戶 B在所給時間間隔內的互動數;其中,根據如下公式計算潛在好友互動評分:
[0061] 潛在好友互動評分=潛在好友互動數*互動基礎分;
[0062] 步驟A1. 9:計算潛在好友推薦總分:為每個用戶維護一個用戶推薦四維權值向 量,該四維權值向量的每個維度初始值都為1,具體為:將用戶A潛在好友組中的某用戶B 的校友相關度評分、同事相關度評分、共同好友評分和潛在好友互動評分組成一個四維向 量作為用戶推薦四維權值向量,並將該四維向量與用戶A的用戶推薦權值向量做點積運 算,運算結果作為該用戶B對於用戶A的潛在好友推薦總分,將潛在好友推薦總分作為步驟 A中的所述推薦得分S。
[0063] 優選地,所述步驟A包括如下步驟:
[0064] 步驟A2 :計算應用推薦得分;
[0065] 其中,步驟A2包括以下步驟:
[0066] 步驟A2. 1 :為每個用戶維護一個未添加應用組,將用戶的未添加應用添加到未添 加應用組中;
[0067] 步驟A2. 2 :為每個用戶維護一張應用推薦評分表,每一行包含一個未添加應用組 中的未添加應用的評分信息,所述評分信息,包含應用相對熱度評分和應用好友相關評分; 並對未添加應用組中的所有未添加應用進行步驟A2. 3到步驟A2. 4中的計算;
[0068] 步驟A2. 3 :計算應用相對熱度評分:對於某個用戶A,伺服器端統計每個應用使用 人數,然後根據使用人數計算每個用戶未添加應用組中的每個應用的相對熱度,添加到應 用推薦評分表中;對於用戶A的未添加應用組中的某個應用B,其相對熱度按下式計算:
[0069] 5相對熱度=5應用的使用人數/ 用戶未添加應用組中應用庇]使用人數
[0070] 步驟A2. 4 :計算應用好友相關評分:對於用戶A的未添加應用組中的某個應用B, 查找用戶A的好友中所有添加過應用B的好友,將添加過應用B的好友對用戶A的好友緊 密度評分相加,作為應用好友相關評分添加到用戶A的應用推薦評分表中;
[0071] 步驟A2. 5:計算應用推薦總分:為每個用戶維護一個應用推薦二維權值向量,該 二維權值向量的每個維度初始值都為1,具體為:將用戶A應用推薦評分表中的某應用的應 用相對熱度評分和應用好友相關評分組成二維向量作為應用推薦二維權值向量,並將該二 維向量與用戶A的應用推薦權值向量做點積運算,運算結果作為此應用對於用戶A的應用 推薦總分,將應用推薦總分作為步驟A中的所述推薦得分S。
[0072] 優選地,所述步驟B包括如下任一個或任多個步驟:
[0073] 步驟B1 :好友推薦顯示:根據潛在好友推薦總分對用戶A潛在好友組的中的非好 友用戶進行降序排序,然後根據排名由前到後對用戶A進行好友推薦;推薦時,將前九位非 好友用戶分為三組,每三位為一組,每次顯示一組,每10秒換一組,滾動顯示;
[0074] 步驟B2 :應用推薦顯示:根據應用推薦總分對用戶未添加應用組中的應用進行降 序排序,然後根據排名由前到後對用戶A進行應用推薦;推薦時,將前九位應用分為三組, 每三個為一組,每次顯示一組,每10秒換一組,滾動顯示。
[0075] 優選地,所述步驟C包括如下任一個或任多個步驟:
[0076] 步驟C1 :調整用戶推薦權值向量:設定用戶推薦權值向量遞增值和遞減值,並創 建一個用戶推薦黑名單;用戶推薦權值向量初始值都為1,若用戶A接受一個步驟B中推薦 的用戶C,則將該用戶C從用戶A的潛在好友組和好友推薦評分表中刪除,並檢查用戶A好 友推薦評分表中此用戶C的各項評分(校友相關度評分、同事相關度評分、共同好友評分、 潛在好友互動評分),查找用戶C評分中最高的一項評分,將用戶推薦權值向量中與該項評 分相應的緯度加上一個遞增值:若用戶A取消了一個步驟B中推薦的用戶D,則將該用戶D 加入到用戶推薦黑名單中,將用戶推薦黑名單中的用戶D從潛在好友組中刪除,並檢查用 戶A好友推薦評分表中此用戶D的評分(校友相關度評分、同事相關度評分、共同好友評 分、潛在好友互動評分),查找用戶D的各項評分中最高的一項,將用戶推薦權值向量中相 應的緯度減去一個遞減值;
[0077] 步驟C2 :調整應用推薦權值向量:設定應用推薦權值向量遞增值和遞減值,並創 建一個應用推薦黑名單;應用推薦權值向量初始值都為1,若用戶A接受一個步驟B中推薦 的應用C,則將該應用C從未添加應用組和應用推薦評分表中刪除,並檢查用戶A應用推薦 評分表中此應用C的評分(應用相對熱度評分、應用好友相關評分),查找應用C各項評分 中最高的一項評分,將應用推薦權值向量中與該項評分相應的緯度加上一個遞增值:若用 戶A取消了一個步驟B中推薦的應用D,則將該應用D加入到應用推薦黑名單中,將應用推 薦黑名單中的應用D從未添加應用組中刪除,並檢查用戶A應用推薦評分表中此應用D的 評分(應用相對熱度評分、應用好友相關評分),查找應用D評分中最高的一項評分,將應用 推薦權值向量中與該項評分相應的緯度減去一個遞減值。
[0078] 優選地,所述步驟D包括如下步驟:
[0079] 步驟D1 :若用戶A對畢業學校和工作公司信息進行了修改,則按步驟Dl. 1到D1. 3 進行更新潛在好友組;
[0080] 步驟Dl. 1 :刪除信息:以用戶A刪除的信息建立索引,查找用戶信息中包含用戶A 刪除前信息的用戶E,將用戶A從這些用戶E的潛在好友組中刪除,並從用戶A的潛在好友 組中刪除這些用戶E ;
[0081] 步驟D1. 2 :添加信息:以用戶A添加的信息建立索引,查找用戶信息中包含用戶A 添加信息的用戶F,若用戶A不是這些用戶F的好友,將用戶A添加到這些用戶F的潛在好 友組中,並將這些用戶F添加到A用戶的潛在好友組中;
[0082] 步驟D1. 3 :更改信息:視為將信息先刪除,後添加;分別執行步驟Dl. 1和D1. 2 ;
[0083] 步驟D2 :若用戶A添加或刪除了好友,則按步驟D2. 1到D2. 2更新潛在好友組。
[0084] 步驟D2. 1 :刪除好友:若用戶A刪除了好友用戶B,則將用戶A的潛在好友組中,與 用戶A只有用戶B -個共同好友的用戶刪除,並將用戶B的潛在好友組中,與用戶B只有用 戶A -個共同好友的用戶刪除;然後更新用戶A和用戶B所有好友的潛在好友組;
[0085] 步驟D2. 2 :添加好友:若用戶A添加了好友用戶B,則互相將對方的好友列表中不 是自己好友也不在自己潛在好友組中的用戶添加到自己的潛在好友組中,並更新用戶A和 用戶B所有好友的潛在好友組;
[0086] 優選地,所述步驟D包括如下步驟:
[0087] 步驟D3 :若用戶A添加了應用,則將此應用從用戶A的未添加應用組中刪除;若用 戶刪除了應用,則將此應用添加到用戶的未添加應用組中;
[0088] 步驟D4 :更新推薦信息:按照步驟D4. 1到D4. 3對好友和應用推薦內容進行更新;
[0089] 步驟D4. 1 :設定一個負載閾值、一個或多個時間點,一個時間間隔和最大等待次 數;當執行所述好友及應用個性化推薦方法的系統的系統時間到達時間點時,檢查所述系 統負載是否在設定的負載閾值以下,若否,則等待一個時間間隔後再次檢查,直到負載到達 負載閾值以下時進行更新,或者等待次數大於最大等待次數,則取消本次更新;若是,則執 行步驟D4. 2 ;
[0090] 步驟D4. 2 :將更新過的記錄所有用戶的潛在好友組和未添加應用組的文件,從系 統資料庫中導入到在系統伺服器集群中搭建的Hadoop集群的文件系統HDFS中,然後執行 編寫好的MapReduce程序來對步驟A進行分布式計算,並將計算結果導回到系統資料庫中。
[0091] 根據本發明提供的一種好友及應用個性化推薦系統,所述好友及應用個性化推薦 系統用於執行上述的好友及應用個性化推薦方法。
[0092] 優選地,在更新推薦內容時,設定一個負載閾值、一個或多個時間點,一個時間間 隔和最大等待次數;當所述系統的系統時間到達時間點時,檢查所述系統的系統負載是否 在設定的負載閾值以下:
[0093] 若否,則等待一個時間間隔後再次檢查,直到負載到達負載閾值以下時進行更新, 或者等待次數大於最大等待次數,則取消本次更新;
[0094] 若是,則將更新過的記錄所有用戶的潛在好友組和未添加應用組的文件,從所述 系統的系統資料庫中導入到在所述系統的系統伺服器集群中搭建的Hadoop集群的文件系 統HDFS中,然後執行編寫好的MapReduce程序來對步驟A進行分布式計算,並將計算結果 導回到系統資料庫中。
[0095] 與現有技術相比,本發明具有如下的有益效果:
[0096] 由於採用了上述技術方案,本發明的有益效果是:
[0097] 1)適用場景更加廣泛:在用戶未添加過好友或未填寫個人資料時,本發明仍可給 出較好的推薦結果。
[0098] 2)推薦結果更加準確:從多個緯度進行評分,尤其是加入好友互動信息緯度,可 計算出更加準確的推薦結果。並且引入動態調整機制,可以根據用戶反饋信息進行個性化 推薦。
[0099] 3)計算速度更快:採用MapReduce計算框架,可在多臺伺服器上進行分布式計算, 充分利用伺服器集群的計算能力,雖然算法複雜度有所增加,但是可以很快得到計算結果。 並且因為採用分布式計算,計算量分配到多臺伺服器進行,減輕了單臺伺服器進行計算的 計算壓力。
[0100] 4)閒時計算:只在伺服器集群負載低於設定閾值時進行計算,不會給伺服器集群 造成負載壓力,保證伺服器集群的可用性。
[0101] 5)黑名單機制:對於用戶不想添加的好友,不會重複進行計算和顯示,節省了計 算開銷,並提高了推薦效果。

【專利附圖】

【附圖說明】
[0102] 通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發明的其它特徵、 目的和優點將會變得更明顯:
[0103] 圖1為好友推薦方法流程圖。
[0104] 圖2為應用推薦方法流程圖。
[0105] 圖3為潛在好友組和未添加用戶組更新流程圖。
[0106] 圖4為好友及應用推薦更新流程圖。

【具體實施方式】
[0107] 下面結合具體實施例對本發明進行詳細說明。以下實施例將有助於本領域的技術 人員進一步理解本發明,但不以任何形式限制本發明。應當指出的是,對本領域的普通技術 人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進。這些都屬於本發明 的保護範圍。
[0108] 本方法包括如下步驟:
[0109] 步驟1 :計算潛在好友推薦得分
[0110] 步驟2 :計算應用推薦得分
[0111] 步驟3 :顯示推薦好友和應用
[0112] 步驟4 :根據用戶反饋調整推薦。
[0113] 步驟5 :推薦信息更新。其中,步驟1包括如下步驟:
[0114] 步驟1. 1 :為每個用戶維護一個潛在好友組,並將有如下一個或多個特徵的非好 友用戶加入到某用戶的潛在好友組中:1)與該用戶畢業學校相同或工作公司名稱相同。2) 與該用戶有共同好友。3)與該用戶有過互動。
[0115] 步驟1.2 :為每個用戶維護一張評分表,表中每一行包含對一個在其潛在好友組 中的非好友用戶的評分信息,具體來說是1. 4到1. 8中各項評分的信息,包括校友相關度評 分、同事相關度評分、共同好友評分和潛在好友互動評分。
[0116] 步驟1. 3 :對用戶潛在好友組中的所有非好友用戶進行步驟1. 4到1. 8中的計算。
[0117] 步驟1. 4 :計算校友相關度評分:對於某個用戶A,若其潛在好友組中的某非好友 用戶B的評分表中包含用戶A的校友相關度評分T1,則直接將校友相關度評分T1設為用戶 A對用戶B的校友相關度評分。若沒有,則執行以下操作:
[0118] 步驟1.4. 1 :初始化評分值為0,根據網站實際情況設置校友關係基礎分、同學關 系基礎分、年級差基礎分。
[0119] 步驟1.4. 2 :若用戶A、用戶B是校友,每構成一次校友關係則評分值加上一個校友 關係基礎分;
[0120] 步驟1. 4. 3 :對於大學校友,若用戶A、用戶B同一個學院,則評分值加上同學關係 基礎分;
[0121] 步驟1.4. 4:對於非大學校友,若用戶A、用戶B同年同班,每成立一次,則評分值加 同學關係基礎分;
[0122] 步驟1.4. 5:最終評分值=當前評分值-Σ |用戶A、用戶B在同一學校的入學年 份差I*年級差基礎分。若最終評分值小於〇,則將最終評分值設為〇。
[0123] 步驟1.5 :計算同事相關度評分:由管理員設置同事關係基礎分。對於用戶A,若其 潛在好友中的某用戶B的評分表中包含用戶A的同事相關度評分T2,則直接將同事相關度 評分T2設為用戶A對用戶B的同事相關度評分。若沒有,則進行判斷:若用戶A、B就職於 同一家公司且在統一城市,則同事相關度評分設為同事關係基礎分,否則設為0.
[0124] 步驟1. 6 :計算好友緊密度評分:為用戶維護一張好友互動數表,表中包含用戶A 最近一段時間(時間長度由管理員設定)與其每個好友的互動數。對於用戶A,若其好友列 表中的某用戶B的好友互動表中包含與用戶A的互動數T3,則直接將互動數T3設為用戶A 的好友互動數表中與用戶B的互動數,若沒有,則統計互動數。若時間跨度改變,則所有用 戶重新統計互動數。用戶B對於用戶A的緊密度=用戶B與用戶A的互動數/用戶A與好 友互動總數。
[0125] 步驟1. 7 :計算共同好友評分:對於用戶A潛在好友組中的用戶B,按下式計算其 與用戶A的共同好友評分:
[0126] 共同好友評分(Β|Α) =Σ用戶B與用戶A共同好友對於用戶A的好友緊密度評分
[0127] 步驟1. 8 :計算潛在好友互動評分:由管理員設置互動基礎分和一段時間間隔。對 於用戶A,若其潛在好友中的某用戶B的評分表中包含用戶A的潛在好友互動評分T4,則直 接將潛在好友互動評分T4設為用戶A對用戶B的潛在好友互動評分。若沒有,則統計用戶 A、用戶B在所給時間間隔內的互動數。潛在好友互動評分=潛在好友互動數*互動基礎分。
[0128] 步驟1. 9 :計算潛在好友推薦總分:為每個用戶維護一個用戶推薦四維權值向量, 每個維度初始值都為1,調整方式見步驟4。將用戶A潛在好友組中的某用戶B的校友相關 度評分、同事相關度評分、共同好友評分和潛在好友互動評分組成一個四維向量,並將其與 用戶A的用戶推薦權值向量做點積運算,運算結果作為該用戶B對於用戶A的潛在好友推 薦總分。
[0129] 步驟2包括以下步驟:
[0130] 步驟2. 1 :為每個用戶維護一個未添加應用組,將用戶的未添加應用(包含遊戲) 添加到未添加應用組中。
[0131] 步驟2.2 :為每個用戶維護一張應用推薦評分表,每一行包含一個未添加應用組 中的未添加應用的評分信息。具體來說,是步驟2. 3至2. 4中的評分,包含應用相對熱度和 應用好友相關評分。
[0132] 步驟2. 3 :計算應用相對熱度評分:伺服器端統計每個應用使用人數,然後計算每 個用戶未添加應用組中的每個應用的相對熱度,添加到應用推薦評分表中。對於用戶A的 未添加應用組中的某個應用B,其相對熱度按下式計算:
[0133] 5相對熱度=5應用的使用人數/ 用戶未添加應用組中應用嵌I使用人數 i
[0134] 步驟2. 4 :計算應用好友相關評分:對於用戶A的未添加應用組中的某個應用B, 查找A的好友中所有添加過應用B的好友,將添加過的好友對用戶A的好友緊密度相加(好 友緊密度見步驟1. 6),作為應用好友相關評分添加到應用推薦評分表中。
[0135] 步驟2. 5 :計算應用推薦總分:為每個用戶維護一個應用推薦二維權值向量,每個 維度初始值都為1,調整方式見步驟4。將用戶A應用推薦評分表中的某應用的應用相對熱 度評分和應用好友相關評分組成二維向量,並將其與用戶A的應用推薦權值向量做點積運 算,運算結果作為此應用對於用戶A的應用推薦總分。
[0136] 步驟3包括以下步驟:
[0137] 步驟3. 1 :好友推薦顯示:根據潛在好友推薦總分對用戶潛在好友組的中的用戶 進行降序排序,然後根據排名由前到後對用戶進行好友推薦。推薦時,將前九位分為三組, 每三個為一組,每次顯示一組,每10秒換一組,滾動顯示。
[0138] 步驟3. 2 :應用推薦顯示:根據應用推薦總分對用戶未添加應用組中的應用進行 降序排序,然後根據排名由前到後對用戶進行應用推薦;推薦時,將前九位分為三組,每三 個為一組,每次顯示一組,每10秒換一組,滾動顯示。
[0139] 步驟4包括以下步驟:
[0140] 步驟4. 1 :調整用戶推薦權值向量:由管理員設定用戶推薦權值向量遞增值和遞 減值,並創建一個用戶推薦黑名單。用戶推薦權值向量初始值都為1,若用戶A接受一個推 薦系統中推薦的用戶,則將該用戶從用戶A的潛在好友組和好友推薦評分表中刪除,並檢 查用戶A好友推薦表中此用戶的評分,查找用戶評分中最高的一項,將用戶推薦權值向量 中相應的緯度加上一個遞增值:若用戶A取消了一個推薦系統中推薦的用戶的顯示,則將 該用戶加入到用戶推薦黑名單中,將黑名單中的用戶從潛在好友組中刪除,並檢查用戶A 好友推薦表中此用戶的評分,查找用戶評分中最高的一項,將用戶推薦權值向量中相應的 緯度減去一個遞減值。
[0141] 步驟4. 2 :調整應用推薦權值向量:由管理員設定應用推薦權值向量遞增值和遞 減值,並創建一個應用推薦黑名單。應用推薦權值向量初始值都為1,若用戶A接受一個推 薦系統中推薦的應用,則將該應用從未添加應用組和應用推薦評分表中刪除,並檢查用戶A 應用推薦表中此應用的評分,查找應用評分中最高的一項,將應用推薦權值向量中相應的 緯度加上一個遞增值:若用戶A取消了一個推薦系統中推薦的應用的顯示,則將該應用加 入到應用推薦黑名單中,將黑名單中的應用從未添加應用組中刪除,並檢查用戶A應用推 薦評分表中此應用的評分,查找應用評分中最高的一項,將應用推薦權值向量中相應的緯 度減去一個遞減值。
[0142] 步驟5包括以下步驟:
[0143] 步驟5. 1 :若用戶A對學校和工作單位信息進行了修改,則按步驟5. 1. 1到5. 1.3 進行更新潛在好友組。
[0144] 步驟5. 1. 1 :刪除信息:以刪除的信息建立索弓丨,查找用戶信息中包含用戶A刪除 前信息的用戶,將用戶A從他們的潛在好友組中刪除,並從用戶A的潛在好友組中刪除這些 用戶。
[0145] 步驟5. 1. 2 :添加信息:以添加的信息建立索引,查找用戶信息中包含用戶A添加 信息的用戶,若用戶A不是他的好友,將用戶A添加到他的潛在好友組中,並將這些用戶添 加到A用戶的潛在好友組中。
[0146] 步驟5. 1.3 :更改信息:視為將信息先刪除,後添加。分別執行步驟5. 1. 1和 5. 1. 2〇
[0147] 步驟5. 2 :若用戶A添加或刪除了好友,則按步驟5. 2. 1到5. 2. 2更新潛在好友組。
[0148] 步驟5. 2. 1 :刪除好友:若用戶A刪除了好友用戶B,則將用戶A的潛在好友組中, 與用戶A只有用戶B -個共同好友的用戶刪除,並將用戶B的潛在好友組中,與用戶B只有 用戶A -個共同好友的用戶刪除。然後更新用戶A和用戶B所有好友的潛在好友組。
[0149] 步驟5. 2. 2 :添加好友:若用戶A添加了好友用戶B,則互相將對方的好友列表中 不是自己好友也不在自己潛在好友列表中的用戶添加到自己的潛在好友列表中,並更新用 戶A和用戶B所有好友的潛在好友組。,
[0150] 步驟5. 3 :若用戶A添加了應用,則將此應用從用戶A的未添加應用組中刪除。若 用戶刪除了應用,則將此應用添加到用戶的未添加應用組中。
[0151] 步驟5. 4 :更新推薦信息:按照步驟5. 4. 1到5. 4. 3對好友和應用推薦內容進行更 新;
[0152] 步驟5.4. 1 :由管理員設定一個負載閾值、一個或多個時間點,一個時間間隔和最 大等待次數。當系統時間到達時間點時,檢查系統負載是否在設定的閾值以下,若否,則等 待一個時間間隔後再次檢查,直到負載到達閾值以下時進行計算,或者等待次數大於最大 等待次數,則取消本次更新;若是,則執行步驟5. 4. 2。本步驟可以保證,只在系統伺服器相 對空閒的時候進行推薦更新的計算,而在伺服器忙時進行等待,保證了系統對外服務的可 用性。
[0153] 步驟5. 4. 2 :將更新過的記錄所有用戶的潛在好友組和未添加應用組的文件及其 他相關數據文件,從系統資料庫中導入到在系統伺服器集群中搭建的Hadoop集群的文件 系統HDFS中,然後執行編寫好的MapReduce程序安裝步驟1和步驟2所述的方法進行分布 式計算,並將計算結果導回到系統資料庫中。MapReduce為大數據領域的一種分布式計算框 架,特點是可以將一個大的計算任務拆分多個子任務,並分配到多臺計算機中同時進行計 算,再將子任務的計算結果綜合起來,得到原計算任務的結果。因為多臺伺服器同時進行子 任務的計算,所以可以縮短計算時間,並且因為計算量分布到多臺伺服器上,所以不會給單 臺伺服器造成很大的計算壓力。
[0154] 步驟5. 4. 3 :按照步驟3所述方法對更新後的推薦內容進行顯示。
[0155] 實施舉例1 :圖1為本發明的好友推薦方法流程圖。當第一次運行好友推薦方法 時,需要為每個用戶按步驟1. 1生成一個潛在好友組,以後運行時不需要再生成。對於用戶 潛在好友組中的每個用戶,分別按照步驟1. 4、1. 5、1. 7、1. 8計算其與此用戶的校友相關度 評分、同事相關度評分、共同好友評分和潛在好友互動評分。將計算得到的評分寫入到步驟 1. 2所描述的此用戶的好友推薦評分表中。然後按照步驟1. 9計算好友推薦總分,按照推薦 總分對潛在好友組裡的用戶進行由高到低排序。取排名前幾名的用戶按照步驟1. 10進行 好友推薦顯示。當用戶添加一個推薦用戶為好友或者取消一個推薦用戶在好友推薦模塊的 顯示時,根據步驟4. 1調整好友推薦權值向量。
[0156] 實施舉例2 :圖2為應用推薦方法流程圖。當第一次運行應用推薦方法時,需要為 每個用戶按照步驟2. 1生成一個未添加應用組,以後運行時不需要再此生成。對於未添加 應用組中的中的每個應用,按照步驟2. 3和2. 4分別計算其相對熱度評分和好友相關評分。 然後按照步驟2. 2的描述將計算後的得分寫入到應用推薦評分表中。然後按照步驟2. 5計 算應用推薦總分,並按照推薦總分對未添加應用組中的應用進行用高到低排序。取排名前 幾名的應用按照步驟2. 6進行應用推薦顯示。當用戶添加一個推薦應用或取消了一個推薦 應用在應用推薦模塊的顯示時,根據步驟4. 2調整應用推薦權值向量。
[0157] 實施舉例3 :圖3為潛在好友組和未添加用戶組更新流程圖,當用戶修改了學校或 工作單位信息時,則按步驟5. 1更新相關用戶的潛在好友組。當用戶添加或刪除好友的時 候,則按步驟5. 2更新相關用戶的潛在好友組。若用戶添加或刪除了應用,則根據步驟5. 3 更新用戶的未添加應用組。
[0158] 實施舉例4:圖4為好友及應用推薦更新流程圖。更新前,由管理員設定一個負 載閾值、一個或多個更新時間點,一個時間間隔和最大等待次數。當到達更新時間點時,檢 查系統負載是否在閾值以下,若不是,則判斷等待次數是否超過設定的最大等待次數,若沒 有,則等待設定的一段時間,再次檢查系統負載;若超過最大等待次數,則程序退出。若負載 在設定閾值以下,則重新計算未添加應用組中的應用推薦總分,更新應用推薦顯示。然後判 斷潛在好友組是否有更新,若有,則重新計算潛在好友組中用戶的好友推薦總分,並更新好 友推薦顯示;若沒有,程序直接結束。
[0159] 以上對本發明的具體實施例進行了描述。需要理解的是,本發明並不局限於上述 特定實施方式,本領域技術人員可以在權利要求的範圍內做出各種變形或修改,這並不影 響本發明的實質內容。
【權利要求】
1. 一種好友及應用個性化推薦方法,其特徵在於,包括如下步驟: 步驟A :計算推薦得分S; 步驟B :根據推薦得分顯示推薦內容; 步驟C :根據用戶對推薦內容的反饋信息調整推薦權值向量; 步驟D :根據調整後的用戶推薦權值向量更新推薦內容。
2. 根據權利要求1所述的好友及應用個性化推薦方法,其特徵在於,所述步驟A包括如 下步驟: 步驟A1 :計算潛在好友推薦得分; 步驟A1包括如下步驟: 步驟Al. 1 :為每個用戶維護一個潛在好友組,並將有如下一個或多個特徵的非好友用 戶加入到該用戶的潛在好友組中: 特徵1)一與該用戶畢業學校相同或工作公司名稱相同; 特徵2)-與該用戶有共同好友; 特徵3)-與該用戶有過互動; 步驟A1. 2 :為每個用戶維護一張評分表,該評分表中每一行包含對一個在其潛在好友 組中的非好友用戶的評分信息,所述評分信息包括校友相關度評分、同事相關度評分、共同 好友評分、潛在好友互動評分; 步驟A1. 3 :對用戶潛在好友組中的所有非好友用戶進行步驟A1. 4到步驟A1. 8中的計 算; 步驟A1. 4 :計算校友相關度評分:對於某個用戶A,若其潛在好友組中的某個非好友用 戶B的評分表中包含用戶A的校友相關度評分T1,則直接將校友相關度評分T1設為用戶A 對用戶B的校友相關度評分;若沒有,則執行以下操作: 步驟Al. 4. 1 :初始化評分值為0,設置校友關係基礎分、同學關係基礎分、年級差基礎 分; 步驟A1. 4. 2 :若用戶A、用戶B是校友,每構成一次校友關係則評分值加上一個校友關 系基礎分; 步驟A1. 4. 3 :對於大學校友,若用戶A、用戶B同一個學院,則評分值加上同學關係基礎 分; 步驟A1. 4. 4 :對於非大學校友,若用戶A、用戶B同年同班,每成立一次,則評分值加上 一個同學關係基礎分; 步驟A1. 4. 5 :根據如下公式得到最終評分值: 最終評分值=當前評分值-Σ |用戶A、用戶B在同一學校的入學年份差I*年級差基 礎分; 若最終評分值小於〇,則將最終評分值設為〇 ; 步驟A1. 5 :計算同事相關度評分:設置同事關係基礎分;對於用戶A,若其潛在好友中 的某用戶B的評分表中包含用戶A的同事相關度評分T2,則直接將同事相關度評分T2設為 用戶A對用戶B的同事相關度評分;若沒有,則進行判斷:若用戶A、用戶B就職於同一家公 司且在統一城市,則同事相關度評分設為同事關係基礎分,否則設為0 ; 步驟A1. 6 :計算好友緊密度評分:為用戶A維護一張好友互動數表,好友互動數表中包 含用戶A最近一段時間與其每個好友的互動數;對於用戶A,若其好友列表中的某用戶B的 好友互動表中包含與用戶A的互動數T3,則直接將互動數T3設為用戶A的好友互動數表中 與用戶B的互動數,若沒有,則統計互動數; 其中,根據如下公式得到好友緊密度評分: 用戶B對於用戶A的好友緊密度評分=用戶B與用戶A的互動數/用戶A與好友互動 總數; 步驟A1. 7 :計算共同好友評分:對於用戶A潛在好友組中的用戶B,按下式計算其與用 戶A的共同好友評分共同好友評分(B|A): 共同好友評分(Β|Α) =Σ用戶B與用戶A共同好友對於用戶A的好友緊密度評分 步驟A1. 8 :計算潛在好友互動評分:設置互動基礎分和一段時間間隔;對於用戶A,若 其潛在好友中的某用戶B的評分表中包含用戶A的潛在好友互動評分T4,則直接將潛在好 友互動評分T4設為用戶A對用戶B的潛在好友互動評分;若沒有,則統計用戶A、用戶B在 所給時間間隔內的互動數;其中,根據如下公式計算潛在好友互動評分: 潛在好友互動評分=潛在好友互動數*互動基礎分; 步驟A1. 9 :計算潛在好友推薦總分:為每個用戶維護一個用戶推薦四維權值向量,該 四維權值向量的每個維度初始值都為1,具體為:將用戶A潛在好友組中的某用戶B的校友 相關度評分、同事相關度評分、共同好友評分和潛在好友互動評分組成一個四維向量作為 用戶推薦四維權值向量,並將該四維向量與用戶A的用戶推薦權值向量做點積運算,運算 結果作為該用戶B對於用戶A的潛在好友推薦總分,將潛在好友推薦總分作為步驟A中的 所述推薦得分S。
3.根據權利要求1所述的好友及應用個性化推薦方法,其特徵在於,所述步驟A包括如 下步驟: 步驟A2:計算應用推薦得分; 其中,步驟A2包括以下步驟: 步驟A2. 1 :為每個用戶維護一個未添加應用組,將用戶的未添加應用添加到未添加應 用組中; 步驟A2. 2 :為每個用戶維護一張應用推薦評分表,每一行包含一個未添加應用組中的 未添加應用的評分信息,所述評分信息,包含應用相對熱度評分和應用好友相關評分;並對 未添加應用組中的所有未添加應用進行步驟A2. 3到步驟A2. 4中的計算; 步驟A2. 3 :計算應用相對熱度評分:對於某個用戶A,伺服器端統計每個應用使用人 數,然後根據使用人數計算每個用戶未添加應用組中的每個應用的相對熱度,添加到應用 推薦評分表中;對於用戶A的未添加應用組中的某個應用B,其相對熱度按下式計算: 5相對熱度=5應用的使用人數/ 用戶未添加應用組中應用〖的使用人數 i 步驟A2. 4 :計算應用好友相關評分:對於用戶A的未添加應用組中的某個應用B,查找 用戶A的好友中所有添加過應用B的好友,將添加過應用B的好友對用戶A的好友緊密度 評分相加,作為應用好友相關評分添加到用戶A的應用推薦評分表中; 步驟A2. 5 :計算應用推薦總分:為每個用戶維護一個應用推薦二維權值向量,該二維 權值向量的每個維度初始值都為1,具體為:將用戶A應用推薦評分表中的某應用的應用相 對熱度評分和應用好友相關評分組成二維向量作為應用推薦二維權值向量,並將該二維向 量與用戶A的應用推薦權值向量做點積運算,運算結果作為此應用對於用戶A的應用推薦 總分,將應用推薦總分作為步驟A中的所述推薦得分S。
4. 根據權利要求2或3所述的好友及應用個性化推薦方法,其特徵在於,所述步驟B包 括如下任一個或任多個步驟: 步驟B1 :好友推薦顯示:根據潛在好友推薦總分對用戶A潛在好友組的中的非好友用 戶進行降序排序,然後根據排名由前到後對用戶A進行好友推薦;推薦時,將前九位非好友 用戶分為三組,每三位為一組,每次顯示一組,每10秒換一組,滾動顯示; 步驟B2 :應用推薦顯示:根據應用推薦總分對用戶未添加應用組中的應用進行降序排 序,然後根據排名由前到後對用戶A進行應用推薦;推薦時,將前九位應用分為三組,每三 個為一組,每次顯示一組,每10秒換一組,滾動顯示。
5. 根據權利要求2或3所述的好友及應用個性化推薦方法,其特徵在於,所述步驟C包 括如下任一個或任多個步驟: 步驟C1 :調整用戶推薦權值向量:設定用戶推薦權值向量遞增值和遞減值,並創建一 個用戶推薦黑名單;用戶推薦權值向量初始值都為1,若用戶A接受一個步驟B中推薦的用 戶C,則將該用戶C從用戶A的潛在好友組和好友推薦評分表中刪除,並檢查用戶A好友推 薦評分表中此用戶C的各項評分,查找用戶C評分中最高的一項評分,將用戶推薦權值向量 中與該項評分相應的緯度加上一個遞增值:若用戶A取消了一個步驟B中推薦的用戶D,則 將該用戶D加入到用戶推薦黑名單中,將用戶推薦黑名單中的用戶D從潛在好友組中刪除, 並檢查用戶A好友推薦評分表中此用戶D的評分,查找用戶D的各項評分中最高的一項,將 用戶推薦權值向量中相應的緯度減去一個遞減值; 步驟C2 :調整應用推薦權值向量:設定應用推薦權值向量遞增值和遞減值,並創建一 個應用推薦黑名單;應用推薦權值向量初始值都為1,若用戶A接受一個步驟B中推薦的應 用C,則將該應用C從未添加應用組和應用推薦評分表中刪除,並檢查用戶A應用推薦評分 表中此應用C的評分,查找應用C各項評分中最高的一項評分,將應用推薦權值向量中與該 項評分相應的緯度加上一個遞增值:若用戶A取消了一個步驟B中推薦的應用D,則將該應 用D加入到應用推薦黑名單中,將應用推薦黑名單中的應用D從未添加應用組中刪除,並檢 查用戶A應用推薦評分表中此應用D的評分,查找應用D評分中最高的一項評分,將應用推 薦權值向量中與該項評分相應的緯度減去一個遞減值。
6. 根據權利要求2所述的好友及應用個性化推薦方法,其特徵在於,所述步驟D包括如 下步驟: 步驟D1 :若用戶A對畢業學校和工作公司信息進行了修改,則按步驟Dl. 1到D1. 3進 行更新潛在好友組; 步驟Dl. 1 :刪除信息:以用戶A刪除的信息建立索引,查找用戶信息中包含用戶A刪除 前信息的用戶E,將用戶A從這些用戶E的潛在好友組中刪除,並從用戶A的潛在好友組中 刪除這些用戶E ; 步驟D1. 2 :添加信息:以用戶A添加的信息建立索引,查找用戶信息中包含用戶A添加 信息的用戶F,若用戶A不是這些用戶F的好友,將用戶A添加到這些用戶F的潛在好友組 中,並將這些用戶F添加到A用戶的潛在好友組中; 步驟Dl. 3 :更改信息:視為將信息先刪除,後添加;分別執行步驟Dl. 1和Dl. 2 ; 步驟D2 :若用戶A添加或刪除了好友,則按步驟D2. 1到D2. 2更新潛在好友組; 步驟D2. 1 :刪除好友:若用戶A刪除了好友用戶B,則將用戶A的潛在好友組中,與用戶 A只有用戶B -個共同好友的用戶刪除,並將用戶B的潛在好友組中,與用戶B只有用戶A 一個共同好友的用戶刪除;然後更新用戶A和用戶B所有好友的潛在好友組; 步驟D2. 2 :添加好友:若用戶A添加了好友用戶B,則互相將對方的好友列表中不是自 己好友也不在自己潛在好友組中的用戶添加到自己的潛在好友組中,並更新用戶A和用戶 B所有好友的潛在好友組。
7. 根據權利要求5所述的好友及應用個性化推薦方法,其特徵在於,所述步驟D包括如 下步驟: 步驟D3 :若用戶A添加了應用,則將此應用從用戶A的未添加應用組中刪除;若用戶刪 除了應用,則將此應用添加到用戶的未添加應用組中; 步驟D4 :更新推薦信息:按照步驟D4. 1到D4. 3對好友和應用推薦內容進行更新; 步驟D4. 1 :設定一個負載閾值、一個或多個時間點,一個時間間隔和最大等待次數;當 執行所述好友及應用個性化推薦方法的系統的系統時間到達時間點時,檢查所述系統負載 是否在設定的負載閾值以下,若否,則等待一個時間間隔後再次檢查,直到負載到達負載閾 值以下時進行更新,或者等待次數大於最大等待次數,則取消本次更新;若是,則執行步驟 D4. 2 ; 步驟D4. 2 :將更新過的記錄所有用戶的潛在好友組和未添加應用組的文件,從系統數 據庫中導入到在系統伺服器集群中搭建的Hadoop集群的文件系統HDFS中,然後以執行 MapReduce程序來對步驟A進行分布式計算,並將計算結果導回到系統資料庫中。
8. -種好友及應用個性化推薦系統,其特徵在於,所述好友及應用個性化推薦系統用 於執行權利要求1至6中任一項所述的好友及應用個性化推薦方法。
9. 根據權利要求8所述的好友及應用個性化推薦系統,其特徵在於, 在更新推薦內容時,設定一個負載閾值、一個或多個時間點,一個時間間隔和最大等待 次數;當所述系統的系統時間到達時間點時,檢查所述系統的系統負載是否在設定的負載 閾值以下: 若否,則等待一個時間間隔後再次檢查,直到負載到達負載閾值以下時進行更新,或者 等待次數大於最大等待次數,則取消本次更新; 若是,則將更新過的記錄所有用戶的潛在好友組和未添加應用組的文件,從所述系統 的系統資料庫中導入到在所述系統的系統伺服器集群中搭建的Hadoop集群的文件系統 HDFS中,然後以執行MapReduce程序的方式來對步驟A進行分布式計算,並將計算結果導回 到系統資料庫中。
【文檔編號】G06F17/30GK104156392SQ201410326035
【公開日】2014年11月19日 申請日期:2014年7月9日 優先權日:2014年7月9日
【發明者】黃潔琛, 謝朝陽, 童曉渝, 丁星, 武靜 申請人:中電科華雲信息技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀