本發明涉及信息推薦的技術領域,具體涉及一種基于協同過濾的社交網絡推薦裝置及方法。
背景技術:
概述互聯網信息的迅速增長產生了海量的數據,用戶往往要耗費大量的時間和精力,才能找到自己感興趣的信息。低效率的互聯網信息檢索技術已經成為阻礙用戶有效利用信息的瓶頸,推薦技術就是在這樣的背景下產生的。推薦技術可以有效解決信息過載的問題,從海量數據中檢索到對用戶有所幫助的內容。目前的推薦技術在同一時刻一般都是為單個用戶進行推薦,但現實應用中可能經常需要為某一群體進行推薦,比如一個旅游團要旅游的目的地、一次聚會的用餐地點以及一個家庭的觀影計劃等。群體成員間的興趣愛好具有很大的差異性,所以傳統的推薦技術已經難以適用于群體推薦的要求,研究基于社交網絡的群體推薦技術就具有重要的現實意義。
推薦裝置及社交網絡群體推薦裝置的研究涉及到個人推薦裝置、社交網絡以及群體決策等技術領域。現存的推薦裝置多數為個人推薦裝置,即推薦行為旨在為單個用戶提供服務,其最常用的推薦算法為協同過濾推薦算法和基于內容的推薦算法;協同過濾算法借鑒與被推薦用戶具有相似興趣的用戶的行為進行推薦,基于內容的推薦算法分析被推薦用戶訪問的歷史內容,并利用不同內容的相似程度來進行推薦。
技術實現要素:
本發明的第一個目的是為了解決現有技術中的上述缺陷,提供一種基于協同過濾的社交網絡推薦裝置。
本發明的另一個目的是為了解決現有技術中的上述缺陷,提供一種基于協同過濾的社交網絡推薦方法。
本發明的第一個目的可以通過采取如下技術方案達到:
一種基于協同過濾的社交網絡推薦裝置,所述推薦裝置包括依次連接的啟動模塊、過濾模塊、推薦模塊和排序模塊,
其中,所述啟動模塊用于對推薦社交網絡用戶的行為數據和個人屬性進行初始化定義,將用戶的行為分類并設置初始搜索引擎的條件,向推薦引擎發起推薦請求,并將初始化的數據集發送給推薦引擎;
所述過濾模塊通過社交網絡中設置的基礎搜索條件,由基礎搜索引擎過濾掉不符合要求的用戶,形成可推薦候選集A;
所述推薦模塊將可推薦候選集A根據用戶歷史行為和數據進行篩選,得出基本的用戶感興趣集,并基于用戶的協同過濾思想,得到各個用戶的可推薦結果集B;
所述排序模塊根據可推薦結果集B,對社交網絡用戶的行為數據和個人屬性進行劃分,將社交網絡用戶感興趣集進行排序,得到初步推薦列表C。
進一步地,用戶的初始個人屬性由用戶在注冊時填寫,推薦引擎可以根據用戶填寫的個人屬性值,為初始用戶進行特征劃分。
進一步地,當過濾篩選后的可推薦候選集A中人數不足最低計算人數時,所述啟動模塊中推薦引擎將發送指令,由社交網絡擴大篩選范圍或者增加篩選人數。
本發明的另一個目的可以通過采取如下技術方案達到:
一種基于協同過濾的社交網絡推薦方法,所述推薦方法包括下列步驟:
S1、啟動模塊通過業務方對推薦社交網絡用戶的行為數據和個人屬性進行初始化定義,將用戶的行為數據分類并設置初始搜索引擎的條件,完成初始化設定和推薦引擎接入后,向推薦引擎發起推薦請求,并將初始化的數據集發送給推薦引擎;
S2、過濾模塊通過推薦引擎根據業務方的初始搜索引擎的條件,將滿足搜索條件的數據,匯總形成初步可推薦候選集,對初步可推薦候選集通過相似度判定得到相似用戶集,并基于用戶的協同過濾思想,進行數據篩選得到可推薦候選集A;
S3、推薦模塊將可推薦候選集A根據推薦社交網絡用戶歷史行為和數據進行篩選,得出基本的用戶感興趣集,并基于用戶的協同過濾思想,得到各個推薦社交網絡用戶的可推薦結果集B;
S4、排序模塊根據推薦社交網絡用戶的個人屬性,對個人屬性的特征值進行劃分,根據用戶的感興趣集中各個特征值所占的比例,得到可推薦結果集B的用戶中每個屬性特征值所占的權重,并根據各個最顯著的特征集去得到用戶感知最敏感的屬性,根據感知最敏感的屬性的不同參考權重,將用戶的感興趣集進行排序,得到初步推薦列表C。
進一步地,所述步驟S2具體過程如下:
S201、社交網絡給用戶設定一個初始篩選條件,由用戶進行選擇或直接根據用戶的歷史行為進行設定。
S202、社交網絡將初始篩選條件和初始化數據集發送給推薦引擎,推薦引擎根據這些條件進行篩選,形成可推薦候選集A。
進一步地,所述步驟S3具體過程如下:
S301、將用戶的行為分為T1~TK共K類,并對這K類行為分別進行權重賦值w1~wk,根據不同的用戶行為區分為正面、負面以及高、中、低六個維度,賦值向量w的取值為w=【-2,-1,0,1,2,3】;
S302、獲取用戶對社交網絡用戶的行為操作累加值得到用戶對社交網絡用戶的喜好度H=∑w;
S303、通過不同用戶對各個社交網絡用戶的喜好度H,利用歐幾里得距離
計算得到用戶之間的相似度:
當兩個用戶之間的相似度sim(x,y)>k時,其中k由業務方決定,即認為兩者相似從而得到相似用戶集,并基于用戶的協同過濾思想,得到各個用戶的可推薦結果集B。
進一步地,所述步驟S4具體過程如下:
S401、根據可推薦結果集B,對推薦社交網絡用戶的個人屬性和特征值進行劃分,設推薦社交網絡用戶的個人屬性向量為:
屬性Si的特征值向量為:
S402、通過各個個人屬性的區分度向量和候選推薦集構造屬性特征矩陣;
對用戶A而言,候選推薦集QT中某一社交網絡用戶的個人屬性Si的特征值vk在所占的比例為則在候選推薦集QT中,設該社交網絡用戶的個人屬性的特征值vk所占的權重:
另,當(i,k取任意可取值)
則認為個人屬性Sx的區分度最強;各個屬性的區分度取:
所以,當給出QA后,可得索性區分度向量:
得到QT后,可得社交網絡用戶的屬性特征矩陣:
S403、根據屬性特征矩陣和屬性區分度向量,可以得到候選推薦集QT的各社交網絡用戶的推薦分數向量:
S404、根據得到的推薦分數向量對可推薦結果集B的排序,確定初步推薦列表C。
進一步地,所述推薦社交網絡用戶的個人屬性及特征值的定義的方式為【屬性-值】鍵值對。
進一步地,當用戶對社交網絡用戶的喜好度H>3時,則認為用戶對該物品感興趣。
本發明相對于現有技術具有如下的優點及效果:
本發明公開了一種基于協同過濾的社交網絡推薦裝置及方法,相較于傳統的基于人口統計學和基于內容的推薦裝置相比,該社交網絡推薦裝置強調了用戶之間的差異性,可針對用戶的歷史數據不斷學習并革新推薦引擎,具有更強的魯棒性。并且,利用協同過濾思想,更符合用戶在真實社交場景中的交友情景,推薦的結果也會趨向于精確化。
附圖說明
圖1是本發明公開的基于協同過濾的社交網絡推薦裝置的組成框圖;
圖2是本發明公開的基于協同過濾的社交網絡推薦方法的流程圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例
如附圖1所示,本實施例公開了一種基于協調過濾的社交網絡推薦裝置,該社交網絡推薦裝置借鑒協同過濾思想和基于內容的推薦思想,設計一套社交網絡交友的推薦引擎。
該社交網絡推薦裝置具體包括依次連接的啟動模塊、過濾模塊、推薦模塊和排序模塊,
其中,所述啟動模塊用于對推薦社交網絡用戶的行為數據和個人屬性進行初始化定義,將用戶的行為分類并設置初始搜索引擎的條件,向推薦引擎發起推薦請求,并將初始化的數據集發送給推薦引擎;
具體實施方式中,所述啟動模塊的工作過程如下:
業務方對推薦社交網絡用戶的行為數據和個人屬性進行初始化定義,將用戶的行為分類并設置初始搜索引擎的條件,完成初始化設定和推薦引擎接入后,向推薦引擎發起推薦請求,并將初始化的數據集發送給推薦引擎。
具體應用中,用戶的初始個人屬性由用戶在注冊時填寫,推薦引擎可以根據用戶填寫的個人屬性值,為初始用戶進行特征劃分。
其中,所述過濾模塊通過社交網絡中設置的基礎搜索條件,由基礎搜索引擎過濾掉不符合要求的用戶,形成可推薦候選集A,實現精簡推薦裝置計算量的目的。
主要工作原理如下:
1)社交網絡給用戶設定一個初始篩選條件,由用戶進行選擇或直接根據用戶的歷史行為進行設定。
2)社交網絡將初始篩選條件和初始化數據集發送給推薦引擎,推薦引擎根據這些條件進行篩選,形成可推薦候選集A。
3)當篩選后的人數不足最低計算人數時,推薦引擎將發送指令,由社交網絡擴大篩選范圍或者增加篩選人數。
其中,所述推薦模塊將可推薦候選集A根據用戶歷史行為和數據進行篩選,得出基本的用戶感興趣集,并基于用戶的協同過濾思想,得到各個用戶的可推薦結果集B。
該模塊為推薦裝置的核心模塊,主要目的是將篩選后的用戶根據用戶歷史行為和數據進一步進行篩選,得出基本的用戶感興趣集。
主要工作原理如下:
1)將用戶的行為進行分類,并對分類后的行為分別進行權重賦值。
2)推薦模塊獲取用戶對交友的行為操作累加值得到用戶對社交網絡用戶的喜好度大于一定值時,則認為用戶對該社交網絡用戶感興趣;
3)計算不同用戶對各個其他社交網絡用戶感的喜好度,并通過不同用戶的喜好度,利用歐幾里得距離計算得到用戶之間的相似度,當兩個用戶之間的相似度大于一定值時,既認為兩者相似從而得到相似用戶集,并基于用戶的協同過濾思想,得到各個用戶的可推薦結果集B。
其中,所述排序模塊根據可推薦結果集B,對社交網絡用戶的行為數據和個人屬性進行劃分,將社交網絡用戶感興趣集進行排序,得到初步推薦列表C。
主要工作原理如下:
1)根據社交網絡用戶的個人屬性,對個人屬性的特征值進行劃分,根據社交網絡用戶感興趣集中各個特征值所占的比例,得到可推薦候選集A中用戶的每個屬性特征值所占的權重,并根據各個最顯著的特征集去得到用戶感知最敏感的屬性,以此得出各個屬性的不同參考權重。
2)通過各個屬性的區分度向量和候選推薦集的屬性特征矩陣,得到候選推薦集的得分向量,根據得分向量對可推薦結果集B的排序,得到初步推薦列表C,即為最終的推薦結果。
實施例二
如附圖2所示,本實施例公開了一種基于協調過濾的社交網絡推薦方法,該社交網絡推薦方法借鑒協同過濾思想和基于內容的推薦思想,設計一套社交網絡交友的推薦引擎。
該社交網絡推薦方法具體包括下列步驟:
S1、啟動模塊通過業務方對推薦社交網絡用戶的行為數據和個人屬性進行初始化定義,定義的方式為【屬性-值】鍵值對,例如【身高-170CM】;將用戶的行為數據分類并設置初始搜索引擎的條件,完成初始化設定和推薦引擎接入后,向推薦引擎發起推薦請求,并將初始化的數據集發送給推薦引擎。
具體應用中,用戶的初始屬性由用戶在注冊時填寫,推薦引擎可以根據用戶填寫的屬性值,為初始用戶進行特征劃分。
S2、過濾模塊通過推薦引擎根據業務方的初始搜索引擎的條件,將滿足搜索條件的數據,匯總形成初步可推薦候選集,對初步可推薦候選集通過相似度判定得到相似用戶集,并基于用戶的協同過濾思想,進行數據篩選得到可推薦候選集A;如果可推薦候選集A的人數不滿足最低推薦人數要求,則向業務方請求擴大搜索條件。
該步驟具體過程如下:
S201、社交網絡給用戶設定一個初始篩選條件,由用戶進行選擇或直接根據用戶的歷史行為進行設定。
S202、社交網絡將初始篩選條件和初始化數據集發送給推薦引擎,推薦引擎根據這些條件進行篩選,形成可推薦候選集A。
S3、推薦模塊將可推薦候選集A根據推薦社交網絡用戶歷史行為和數據進行篩選,得出基本的用戶感興趣集,并基于用戶的協同過濾思想,得到各個用戶的可推薦結果集B。
該步驟S3的具體過程如下:
S301、將用戶的行為分為T1~TK共K類,并對這K類行為分別進行權重賦值w1~wk,根據不同的用戶行為區分為正面、負面以及高、中、低六個維度,賦值向量w的取值為w=【-2,-1,0,1,2,3】;
具體應用中,根據用戶在線上的行為數據,定義不同行為的特征。
S302、獲取用戶對社交網絡用戶的行為操作累加值得到用戶對社交網絡用戶的喜好度H=∑w,當H>3時,則認為用戶對該社交網絡用戶感興趣;
S303、通過不同用戶對各個社交網絡用戶的喜好度H,利用歐幾里得距離
計算得到用戶之間的相似度:
當兩個用戶之間的相似度sim(x,y)>k時,其中k由業務方決定,即認為兩者相似從而得到相似用戶集,并基于用戶的協同過濾思想,得到各個用戶的可推薦結果集B。
S4、排序模塊根據推薦社交網絡用戶的個人屬性,對個人屬性的特征值進行劃分,根據用戶的感興趣集中各個特征值所占的比例,得到可推薦結果集B的用戶中每個屬性特征值所占的權重,并根據各個最顯著的特征集去得到用戶感知最敏感的屬性,根據感知最敏感的屬性的不同參考權重,將用戶的感興趣集進行排序,得到初步推薦列表C。
該步驟具體過程如下:
S401、根據可推薦結果集B,對推薦社交網絡用戶的個人屬性和特征值進行劃分,設推薦社交網絡用戶的個人屬性向量為:
屬性Si的特征值向量為:
S402、通過各個個人屬性的區分度向量和候選推薦集構造屬性特征矩陣;
對用戶A而言,候選推薦集QT中某一社交網絡用戶的個人屬性Si的特征值vk在所占的比例為則在候選推薦集QT中,設該社交網絡用戶的個人屬性的特征值vk所占的權重:
另,當(i,k取任意可取值)
則認為個人屬性Sx的區分度最強;各個屬性的區分度取:
所以,當給出QA后,可得索性區分度向量:
得到QT后,可得社交網絡用戶的屬性特征矩陣:
S403、根據屬性特征矩陣和屬性區分度向量,可以得到候選推薦集QT的各社交網絡用戶的推薦分數向量:
S404、根據得到的推薦分數向量對可推薦結果集B的排序,確定初步推薦列表C。
上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受上述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護范圍之內。