本發(fā)明涉及信息推薦技術領域,具體涉及一種基于協同過濾的通用物品推薦方法。
背景技術:
如今已經進入了一個數據爆炸的時代,隨著web2.0的發(fā)展,web已經變成數據分享的平臺,那么,如何讓人們在海量的數據中想要找到他們需要的信息將變得越來越難。
在這樣的情形下,搜索引擎(google,bing,百度等等)成為大家快速找到目標信息的最好途徑。在用戶對自己需求相對明確的時候,用搜索引擎很方便的通過關鍵字搜索很快的找到自己需要的信息。但搜索引擎并不能完全滿足用戶對信息發(fā)現的需求,那是因為在很多情況下,用戶其實并不明確自己的需要,或者他們的需求很難用簡單的關鍵字來表述。又或者他們需要更加符合他們個人口味和喜好的結果,因此出現了推薦系統,與搜索引擎對應,大家也習慣稱它為推薦引擎。
隨著推薦引擎的出現,用戶獲取信息的方式從簡單的目標明確的數據的搜索轉換到更高級更符合人們使用習慣的信息發(fā)現。
如今,隨著推薦技術的不斷發(fā)展,推薦引擎已經在電子商務(e-commerce,例如amazon,當當網)和一些基于social的社會化站點(包括音樂,電影和圖書分享,例如豆瓣,mtime等)都取得很大的成功。這也進一步的說明了,web2.0環(huán)境下,在面對海量的數據,用戶需要這種更加智能的,更加了解他們需求,口味和喜好的信息發(fā)現機制。協同過濾推薦算法是誕生最早,并且較為著名的推薦算法。主要的功能是預測和推薦。算法通過對用戶歷史行為數據的挖掘發(fā)現用戶的偏好,基于不同的偏好對用戶進行群組劃分并推薦品味相似的商品。協同過濾推薦算法分為兩類,分別是基于用戶的協同過濾算法(user-basedcollaborativefiltering),和基于物品的協同過濾算法(item-basedcollaborativefiltering)。簡單的說就是:人以類聚,物以群分。
技術實現要素:
本發(fā)明的目的是為了解決現有技術中的上述缺陷,提供一種基于協同過濾的通用物品推薦方法。
本發(fā)明的目的可以通過采取如下技術方案達到:
一種基于協同過濾的通用物品推薦方法,所述通用物品推薦方法包括下列步驟:
s1、業(yè)務方對推薦物品及用戶的屬性及特征值進行初始化定義,將用戶的行為分類并設置初始搜索引擎的條件,完成初始化設定和推薦引擎apk接入后,向推薦引擎apk發(fā)起推薦請求,并將初始化的數據集發(fā)送給推薦引擎apk;
s2、推薦引擎apk首先根據業(yè)務方的初始搜索引擎,將滿足搜索條件的數據,匯總形成可推薦候選集a,對可推薦候選集a通過相似度判定得到相似用戶集,并根據基于用戶的協同過濾思想,進行數據篩選得到可推薦結果集b;
s3、將可推薦結果集b根據物品的屬性,對屬性的特征值進行劃分,根據用戶的感興趣集中各個特征值所占的比例,得到可推薦結果集b的用戶中每個屬性特征值所占的權重,并根據各個最顯著的特征集去得到用戶感知最敏感的屬性,根據感知最敏感的屬性的不同參考權重,將用戶的感興趣集進行排序,得到初步推薦列表c;
s4、將初步推薦結果列表c發(fā)送給業(yè)務方,業(yè)務方根據需求進行重排,最后得到推薦結果列表d。
進一步地,所述步驟s2的具體過程如下:
s201、將用戶的行為分為t1~tk共k類,并對這k類行為分別進行權重賦值w1~wk,根據不同的用戶行為區(qū)分為正面、負面以及高、中、低六個維度,賦值向量w的取值為w=【-2,-1,0,1,2,3】;
s202、獲取用戶對物品的行為操作累加值得到用戶對物品的喜好度h=∑w;當h>3時,則認為用戶對該物品感興趣;
s203、通過不同用戶對各個物品的喜好度h,利用歐幾里得距離
當兩個用戶之間的相似度sim(x,y)>k時,其中k由業(yè)務方決定,即認為兩者相似從而得到相似用戶集,并根據基于用戶的協同過濾思想,得到各個用戶的可推薦結果集b。
進一步地,所述步驟s3的具體過程如下:
s301、根據可推薦結果集b,對物品的屬性和特征值進行劃分,設物品的屬性向量為:
屬性si的特征值向量為:
s302、通過各個屬性的區(qū)分度向量和候選推薦集構造屬性特征矩陣;
對用戶a而言,感興趣物品集qa中某一物品屬性si的特征值vk在
另,當
所以,當給出qa后,可得索性區(qū)分度向量:
得到qt后,可得物品的屬性特征矩陣:
s303、根據屬性特征矩陣和屬性區(qū)分度向量,可以得到候選推薦集qt的各物品推薦分數向量:
s304、根據得到的推薦分數向量對可推薦結果集b的排序,確定初步推薦結果列表c。
進一步地,所述步驟s2中可推薦候選集a的人數如果不滿足最低推薦人數要求,則向業(yè)務方請求擴大搜索條件。
進一步地,所述用戶的屬性及特征值的定義的方式為【屬性-值】鍵值對。
進一步地,用戶的初始屬性由用戶在注冊時填寫,推薦引擎可以根據用戶填寫的屬性值,為初始用戶進行特征劃分。
本發(fā)明相對于現有技術具有如下的優(yōu)點及效果:
相比于傳統的基于人口統計學和基于內容的推薦方法相比,本發(fā)明借鑒協同過濾思想和基于內容的推薦思想,更為注重了用戶之間的個體差異性,通過分析用戶的歷史行為數據,挖掘用戶的興趣進行推薦;因此,推薦結果因人而異,更多的考慮了用戶的個人喜好,也可以針對不同的推薦場景定制不同的方法參數。
附圖說明
圖1是本發(fā)明中公開的基于協同過濾的通用物品推薦方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例
如附圖1所示,本實施例公開了一種基于協調過濾的通用物品推薦方法,該通用物品推薦方法借鑒協同過濾思想和基于內容的推薦思想,設計一套通用物品的推薦引擎。其中,通用物品包括但不限于:書籍、音樂、電影,不同的通用物品的區(qū)別在于,喜好度的衡量標準以及物品的屬性特征差異可根據不同的推薦場景由業(yè)務方調整參數。
該通過物品推薦方法具體包括下列步驟:
s1、業(yè)務方對推薦物品及用戶的屬性及特征值進行初始化定義,定義的方式為【屬性-值】鍵值對,例如【身高-170cm】;將用戶的行為分類并設置初始搜索引擎的條件,完成初始化設定和推薦引擎apk接入后,向推薦引擎apk發(fā)起推薦請求,并將初始化的數據集發(fā)送給推薦引擎apk。
具體應用中,用戶的初始屬性由用戶在注冊時填寫,推薦引擎可以根據用戶填寫的屬性值,為初始用戶進行特征劃分。
s2、推薦引擎apk首先根據業(yè)務方的初始搜索引擎,將滿足搜索條件的數據,匯總形成可推薦候選集a,對可推薦候選集a通過相似度判定得到相似用戶集,并根據基于用戶的協同過濾思想,進行數據篩選得到可推薦結果集b;如果可推薦候選集a的人數不滿足最低推薦人數要求,則向業(yè)務方請求擴大搜索條件。
其中,所述進行數據篩選得到可推薦結果集b的具體過程如下:
s201、將用戶的行為分為t1~tk共k類,并對這k類行為分別進行權重賦值w1~wk,根據不同的用戶行為區(qū)分為正面、負面以及高、中、低六個維度,賦值向量w的取值為w=【-2,-1,0,1,2,3】;
具體應用中,根據用戶在線上的行為數據,定義不同行為的特征。
s202、獲取用戶對物品的行為操作累加值得到用戶對物品的喜好度h=∑w,當h>3時,則認為用戶對該物品感興趣;
s203、通過不同用戶對各個物品的喜好度h,利用歐幾里得距離
計算得到用戶之間的相似度:
當兩個用戶之間的相似度sim(x,y)>k時,其中k由業(yè)務方決定,即認為兩者相似從而得到相似用戶集,并根據基于用戶的協同過濾思想,得到各個用戶的可推薦結果集b。
s3、將可推薦結果集b根據物品的屬性,對屬性的特征值進行劃分,根據用戶的感興趣集中各個特征值所占的比例,得到可推薦結果集b的用戶中每個屬性特征值所占的權重,并根據各個最顯著的特征集去得到用戶感知最敏感的屬性,根據感知最敏感的屬性的不同參考權重,將用戶的感興趣集進行排序,得到初步推薦列表c。
該步驟具體過程如下:
s301、根據可推薦結果集b,對物品的屬性和特征值進行劃分,設物品的屬性向量為:
屬性si的特征值向量為:
s302、通過各個屬性的區(qū)分度向量和候選推薦集構造屬性特征矩陣;
對用戶a而言,候選推薦集qt中某一物品屬性si的特征值vk在
另,當
則認為屬性sx的區(qū)分度最強;各個屬性的區(qū)分度?。?/p>
所以,當給出qa后,可得索性區(qū)分度向量:
得到qt后,可得物品的屬性特征矩陣:
s303、根據屬性特征矩陣和屬性區(qū)分度向量,可以得到候選推薦集qt的各物品推薦分數向量:
s304、根據得到的推薦分數向量對可推薦結果集b的排序,確定初步推薦結果列表c。
s4、將初步推薦結果列表c發(fā)送給業(yè)務方,業(yè)務方根據需求進行適當重排,最后得到推薦結果列表d,即為最終結果。
綜上所述,本發(fā)明借鑒協同過濾思想和基于內容的推薦思想,注重用戶之間的個體差異性,通過分析用戶的歷史行為數據,挖掘用戶的興趣進行推薦;因此,推薦結果因人而異,更多的考慮了用戶的個人喜好,也可以針對不同的推薦場景定制不同的方法參數。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。