本發明涉及對社交引薦方法進行改進以提高其效率的推薦系統研究領域,具體地說是通過在目標用戶的好友中,尋找心理特征上(指性格)更愿意向別人推薦商品的人作為引薦人,來提高商品到達目標用戶的可能性,從而提高社交引薦的效率。
背景技術:在有關社會化推薦的研究中,研究者往往集中于如何利用用戶的社會關系為推薦結果提供解釋(如商品m出現在系統推薦列表中,會附加說明m是某些好友喜歡的),以增加用戶的信任度。現階段,有些研究人員開始研究系統直接推薦與利用好友推薦這兩種方式間的差異。大量研究表明,與系統推薦的商品相比,用戶更偏愛來自好友的推薦。也就是說,即使是同一個商品,來源渠道不同,分別是系統推薦和好友引薦的,用戶對后者的好感顯著高于前者。因此,一些系統額外增加了這種好友引薦的推薦方式,以獲得更高的商品接受率。然而,目前這種好友引薦的方式效率還很低,主要原因在于忽略了好友自身(以下統稱引薦人)的引薦意愿,即選取的引薦人并不是很愿意把相關商品傳遞給社交網絡,導致引薦方式下的效率要遠低于系統直接推薦的方式。另一方面,根據心理學研究領域有關性格會影響行為的理論,目前很多推薦系統中已將性格因素納入其中,有效提高了推薦性能。因此或許可以采用類似的方式來緩解因引薦人不愿意推薦而導致的社交引薦效率低下這一問題。
技術實現要素:本發明的目的是針對現有技術中忽略了引薦人引薦意愿的技術缺陷而提供的一種基于用戶性格提高社交引薦效率的方法,該方法通過在目標用戶的所有好友中尋找性格上更愿意參與商品傳遞的引薦人,通知這些引薦人把相關商品推薦給目標用戶,以更少的傳遞損失來提高社交引薦的效率。一種基于用戶性格提高社交引薦效率的方法,該方法包括以下步驟:a、確定要推薦給目標用戶的k個商品,具體包括:ⅰ)找到目標用戶沒有消費行為的商品集合A;ⅱ)對于商品集合A中的每個商品,用基于用戶的協同過濾算法,預測出目標用戶對該商品的喜好得分;ⅲ)將商品集合A中的所有商品按預測喜好得分從大到小排序,選取得分最高的k個商品,即為待推薦給目標用戶的商品;b、對于每一個待推薦的商品m,分別計算目標用戶各好友基于性格和商品喜好的綜合引薦得分,選取得分最高的作為商品m相應的引薦人,具體包括:ⅰ)從基于“大五人格”模型(big-fivemodel)的用戶性格數據庫中,查找目標用戶各好友在“宜人性”(相關英文文獻中為agreeableness)這一性格維度的得分s_p;ⅱ)根據用戶-商品評分數據庫,獲取每個好友對商品m的喜好評分s_r(實際的或預測的);ⅲ)根據步驟ⅰ)和ⅱ),計算每個好友的綜合引薦得分:綜合引薦得分;ⅳ)將各好友按照綜合引薦得分從大到小排序,排在第一個的作為商品m相應的引薦人;c、通知各引薦人將相應的商品引薦給目標用戶,具體包括:ⅰ)發送消息給引薦人,消息內容包括要引薦的相關商品及對應的目標用戶;ⅱ)由引薦人決定是否進行引薦。所述步驟b的ⅱ)具體包括:①、若用戶-商品評分數據庫中有該好友對商品m的評分記錄,則該評分記錄即為好友對商品m的喜好評分s_r,否則進行步驟②計算;②、用基于用戶的協同過濾算法計算出該好友對商品m的預測評分作為s_r。與背景技術相比,本發明有以下優點:本發明在進行社交引薦時,主要從引薦人的角度出發,綜合考慮了引薦人的性格特征和對商品的喜好情況。之所以考慮性格特征,主要是基于之前所做的相關用戶實驗。實驗發現“宜人性”性格維度(基于“大五人格”模型)得分越高的用戶,越愿意向他人推薦商品。根據心理學領域已有的研究成果,“宜人性”維度得分越高,表示用戶越喜歡與人合作,為人坦白,樂于助人;反之則代表越自私自利,喜歡懷疑他人。因此實驗發現與已有的研究成果相吻合,可以考慮用性格特征來篩選出合適的引薦人,減少因引薦人不愿意引薦而造成的傳遞損失。本發明考慮了引薦人自身對待引薦商品的喜好情況。通常用戶更愿意推薦自己覺得質量好的商品。因此考慮引薦人自身的喜好能進一步提高引薦意愿,從而提高社交引薦的效率。此外,推薦給目標用戶的商品是用基于用戶的協同過濾算法選取出來的,符合目標用戶的喜好,推薦的是目標用戶最可能感興趣的商品,也利于目標用戶接受,推薦更有效。對于沒有好友的目標用戶,將不采取社交引薦方法,可以采用直接推薦或權威專家推薦的方式。附圖說明圖1為本發明的流程示意圖。圖2為本發明實施例中的好友性格特征及商品喜好示意圖。具體實施方式參閱圖1,本發明適用于所有商品的社交引薦中。首先用相關算法確定要推薦給目標用戶的k個商品,然后對于要推薦的每個商品,根據綜合引薦得分,在目標用戶的好友中選取最合適的引薦人,最后通知各引薦人將相應的商品推薦給目標用戶,其具體步驟如下:(1):找到目標用戶沒有消費行為的商品集合A,對于A中的每個商品,用基于用戶的協同過濾算法,預測出目標用戶對該商品的喜好得分,選出得分最高的k個,作為待推薦給目標用戶的商品;(2):從步驟(1)中的k個待推薦的商品中每次選取一個商品m;(3):獲取目標用戶的所有好友集合F;(4):判斷好友數|F|是否大于0,若|F|>0,則轉入步驟(5),否則轉入結束;(5):i.根據用戶-商品評分數據庫,獲取每個好友對商品m的喜好評分s_r(實際的或預測的),ii.從基于“大五人格”模型的用戶性格數據庫中,查找每個好友在性格維度“宜人性”的得分s_p;(6):通過以下公式,計算每個好友對商品m的綜合引薦得分:然后將所有好友按得分從高到低排序;(7):選取綜合引薦得分最高的好友作為商品m對應的引薦人;(8):通知該引薦人將商品m推薦給目標用戶;(9):判斷是否完成了對所有商品(已選出的k個)的引薦工作,“是”則轉入結束,“否”則轉入步驟(2)。實施例通過以下電影推薦的實施例來更好地理解本發明。假設現在要用社交引薦的方式(即通過好友)向某目標用戶推薦電影,其具體步驟如下:(1)通過基于用戶的協同過濾算法,在目標用戶未看過的電影集中選出要推薦的k(此處為2)部電影分別為《泰囧》、《科學怪狗》;(2)選擇其中一部電影(如《泰囧》)作為待引薦電影;(3)獲取目標用戶在該系統中的所有好友集合F={f1,f2,f3};(4)由于好友數|F|>0,轉入步驟(5);(5)獲取各好友在性格維度“宜人性”的得分s_p及對該電影的喜好評分s_r(實際的或預測的),見圖2;(6)通過公式計算各好友對該電影的綜合引薦得分:s(f1,《泰囧》)=1.597;s(f2,《泰囧》)=1.766;s(f3,《泰囧》)=1.771;各好友按得分從高到低排序為f3,f2,f1(7)綜合引薦得分最高的好友f3即電影《泰囧》對應的引薦人;(8)發消息通知f3將電影《泰囧》推薦給該目標用戶;(9)通過判斷,還未完成對這k部電影的引薦工作,需轉入步驟(2),用類似的方法向目標用戶引薦電影《科學怪狗》。