一種基于多Agent的個性化推薦引擎實現(xiàn)方法
【專利摘要】一種基于多Agent的個性化推薦引擎實現(xiàn)方法,推薦引擎通過數(shù)據(jù)挖掘實現(xiàn)個性化推薦,采用分布式人工智能領域的多Agent技術實現(xiàn)個性化推薦引擎,所述推薦引擎基于多Agent建模,基于Agent進行擬人化建模,讓推薦系統(tǒng)更加個性化。本發(fā)明致力于結合分布式人工智能和電子商務中的數(shù)據(jù)挖掘這兩個【技術領域】,提出一種基于多Agent的個性化推薦建模方法,通過多Agent技術的智能性,社會性,學習性和自主性給電子商務推薦系統(tǒng)帶來更加個性化的推薦效果。
【專利說明】—種基于多Agent的個性化推薦引擎實現(xiàn)方法
【技術領域】
[0001]本發(fā)明屬于計算機數(shù)據(jù)挖掘【技術領域】,涉及分布式人工智能技術,用于個性化推薦,為一種基于多Agent的個性化推薦引擎實現(xiàn)方法。
【背景技術】
[0002]多Agent技術屬于分布式人工智能領域,采用分布式的Agent協(xié)同合作完成系統(tǒng)目標。Agent是一個計算實體或程序,可以感知外界環(huán)境的變化,根據(jù)自己的目標做出反應。Agent具有智能,自主性,自治性,反應性,社會能力和推理能力。目前構建的多Agent系統(tǒng)多數(shù)處于實驗和學術研究階段,在電子商務個性化推薦領域的相關成果還很少。
[0003]Jadex是一個基于Java的分布式多Agent開發(fā)平臺,采用基于組件的架構(Service Component Architecture,簡稱 SCA)。 Jadex 提供BDI (Belief-Desire-1ntent1n,信念-愿望-意圖模型)推薦引擎框架,讓用戶方便的設計和開發(fā)多Agent應用。其BDI Vl版本基于Java和XML實現(xiàn)了 goal-oriented(面向目標)的推理引擎,BDI V2版本和Vl版本基本相同,改進在于基于RETE規(guī)則引擎重新實現(xiàn)了 BDI的規(guī)則推理,Jadex BDI V3 Kernel是Jadex BDI推理引擎的最新版本,最新版的V3引入了全新的編程方法,隱藏了 Jadex框架更多的內部細節(jié),提供透明的編程接口,不再采用XML的方式配置BDI,而是采用Java注解的方式來實現(xiàn),依賴注入和反射機制的應用是一大特點。同時BDI V3中集成了更多的面向對象的方法和理念,讓實現(xiàn)變得更加簡單,支持繼承、P0J0編程和依賴注入。
[0004]協(xié)同過濾(Collaborative Filtering, CF)推薦算法是基于群體的行為和集體智慧來進行個性化推薦的算法,在電子商務網(wǎng)站個性化推薦系統(tǒng)中廣泛采用,可以用于商品、圖書、電影、博客和新聞等的推薦。該算法主要包括兩個算法:
[0005]第一,基于用戶的推薦(User CF),簡言之即推薦相似用戶喜歡的商品給用戶,相似用戶的計算通常采用皮爾遜相關系數(shù),相似鄰居的選取一般采用Κ-Neighborhoods (固定數(shù)量的鄰居)或者Threshold-based Neighborhoods (基于相似度門濫的鄰居)。
[0006]第二,基于物品相似度(Item CF)的推薦,根據(jù)所有用戶對某一物品的偏好計算物品的相似度,也可采用皮爾遜相關系數(shù),推薦相似的物品給用戶。
[0007]兩種算法各有優(yōu)缺,對于單個用戶而言,User CF算法推薦的多樣性優(yōu)于Item CF,而User CF多推薦相似用戶喜歡的物品,一般是熱門的商品給用戶,Item CF會推薦很多相似但非熱門的物品給用戶。協(xié)同過濾算法并沒有指出如何綜合利用User CF和Item CF算法。
[0008]協(xié)同過濾算法的實現(xiàn)在開源社區(qū)有Mahout,是由Apache Software Foundat1n(Apache軟件基金會)開發(fā)的機器學習庫,它是Hadoop生態(tài)系統(tǒng)的項目之一,基于Hadoop實現(xiàn)大數(shù)據(jù)的Machine Learning的處理,實現(xiàn)了 User CF和Item CF算法、聚類分析算法和分類分析算法等。Mahout同時也提供了很多線性代數(shù)和統(tǒng)計的Java實現(xiàn)。Mahout的大部分應用基于Hadoop的Map Reduce框架來實現(xiàn),同時Mahout的Taste Library也提供非 Hadoop的實現(xiàn)。
【發(fā)明內容】
[0009]本發(fā)明所要解決的技術問題是:現(xiàn)有電子商務系統(tǒng)使用的推薦方法都是基于Web日志,而未見使用人工智能技術的報道,目前分布式人工智能領域的多Agent技術的實際應用并不廣泛,尤其在電子商務領域的個性化推薦中尚無很好的成果。同時,目前的大數(shù)據(jù)挖掘分析,特別是個性化推薦的分析,采用多Agent技術的應用很少。
[0010]本發(fā)明的技術方案為:一種基于多Agent的個性化推薦引擎實現(xiàn)方法,推薦引擎通過數(shù)據(jù)挖掘實現(xiàn)個性化推薦,采用分布式人工智能領域的多Agent技術實現(xiàn)個性化推薦引擎,所述推薦引擎基于多Agent建模,設計多個Agent,包括Agent如下:
[0011].User Agent:接收用戶的輸入,以及展示最終的推薦結果;
[0012].Recommendat1n Agent:根據(jù)用戶的輸入啟動數(shù)據(jù)挖掘,控制整個數(shù)據(jù)挖掘的過程,針對用戶的不同輸入給出個性化推薦的數(shù)據(jù);
[0013].Data Mining Agent:執(zhí)行數(shù)據(jù)挖掘;
[0014].Strategy Agent:執(zhí)行算法決策,決定采用何種數(shù)據(jù)挖掘算法;
[0015]# User CF Agent:執(zhí)行 User CF 算法;
[0016]# Item CF Agent:執(zhí)行 Item CF 算法;
[0017].Search Agent:根據(jù)數(shù)據(jù)挖掘的結果,在數(shù)據(jù)存儲中搜索挖掘結果對應物品的詳細信息;
[0018].Recommendat1n Build Agent:將數(shù)據(jù)挖掘的最終結果格式化為可展示的結果;
[0019]個性化推薦引擎中采用分層架構,最上層應用層包括上述Agent ;中間層為數(shù)據(jù)模型層,用于封裝對數(shù)據(jù)庫的操作,提供透明的數(shù)據(jù)庫訪問操作;最底層為數(shù)據(jù)存儲層,存儲數(shù)據(jù)挖掘所需的數(shù)據(jù)。
[0020]本發(fā)明采用Jadex多Agent開發(fā)平臺設計并建模Agent,結合Mahout機器學習庫實現(xiàn)協(xié)同過濾推薦,由多Agent并發(fā)協(xié)作給出推薦內容。
[0021]進一步的,在數(shù)據(jù)挖掘過程中,Strategy Agent分析當前用戶的偏好,根據(jù)當前用戶偏好的自相似度決策采用User CF算法或者Item CF算法,所述數(shù)據(jù)挖掘過程如下:
[0022]I) Data Mining Agent 收到 Recommendat1n Agent 的數(shù)據(jù)挖掘請求;
[0023]2) Data Mining Agent請求Strategy Agent進行算法決策,計算當前用戶所有偏好物品的自相似度,自相似度表現(xiàn)為當前用戶所有偏好的標準差σ,設定決策閥值,σ小于決策閥值,則自相似度較大,即認為當前用戶的偏好比較為集中,采用Item CF算法;當σ大于決策閥值,則自相似度較小,認為當前用戶的偏好不集中,采用User CF算法;決策閥值根據(jù)所推薦的場景和數(shù)據(jù)集的不同來選取設定;
[0024]3)當米用 Item CF 算法,DataMining Agent 請求 ItemCF Agent 米用 Item CF 算法進行數(shù)據(jù)挖掘,采用Log LikeliHood計算待推薦物品與當前用戶偏好的相似度,并給出推薦集;
[0025]4)當米用 User CF 算法,Data Mining Agent 請求 User CF Agent 米用 User CF算法挖掘,選擇與當前用戶偏好最相似的K個鄰居用戶,K默認為10,以這K個鄰居用戶的偏好物品為推薦物品基礎,采用皮爾遜相關系數(shù)計算推薦物品與當前用戶偏好的相似度,向當前用戶給出推薦集;
[0026]5)所得推薦集結果再經(jīng)由 Data Mining Agent 返回給 Recommender Agent ;
[0027]6) Recommendat1n Agent 觸發(fā) Search Agent 調用數(shù)據(jù)模型層,將 Data MiningAgent產生的推薦集的物品編號轉化為更詳細的物品信息;
[0028]7)Recommender Agent將推薦集和Search Agent返回的物品的詳細信息整合成用于展示的最終結果集。
[0029]本發(fā)明推薦引擎適用的推薦數(shù)據(jù)包括任何可以采用協(xié)同過濾進行推薦的數(shù)據(jù),要求數(shù)據(jù)已經(jīng)經(jīng)過清洗,每一個數(shù)據(jù)元組要求至少有三項:用戶編號,物品編號和偏好值,偏好值經(jīng)過歸一化處理。
[0030]在當今電子商務領域的推薦系統(tǒng)中,經(jīng)典方法是采用基于Web日志的數(shù)據(jù)挖掘方法進行商品推薦,而還沒有基于人工智能的多Agent技術的推薦,主要原因是:
[0031]首先,個性化推薦算法,例如協(xié)同過濾推薦、基于關聯(lián)規(guī)則推薦等都是屬于信息論的數(shù)學算法,在21世紀初才開始在電子商務領域中得到大規(guī)模應用,其中,個性化推薦相關的數(shù)據(jù)挖掘技術更是新興領域,基本采用成熟的面向對象建模,還沒有考慮到采用多Agent技術建模。相對應的,多Agent技術作為分布式人工智能(DAI)領域最新發(fā)展技術之一,它的主要目前應用集中在人工智能領域,也還沒有大規(guī)模應用到現(xiàn)有的電子商務系統(tǒng)中的豐富經(jīng)驗。如何合理設計Agent是多Agent技術有效運行的關鍵。
[0032]其次,現(xiàn)有的電子商務推薦系統(tǒng)也需要更加智能的架構來克服現(xiàn)有的一些局限性:第一,缺乏智能性,離線的數(shù)據(jù)挖掘系統(tǒng)往往對所有用戶選擇采取單一的推薦算法,比如協(xié)同過濾推薦,基于內容推薦或者基于關聯(lián)規(guī)則推薦等,不會根據(jù)不同用戶的偏好選取不同的推薦算法,這難以滿足用戶的個性化推薦需求。第二,缺乏適應性,用戶的偏好是在不斷變化的,而不能動態(tài)調整推薦策略的推薦系統(tǒng)顯示出缺乏對環(huán)境變化的適應性。
[0033]本發(fā)明正是致力于結合分布式人工智能和電子商務中的數(shù)據(jù)挖掘這兩個【技術領域】,提出一種基于多Agent的個性化推薦建模方法,通過多Agent技術的智能性,社會性,學習性和自主性給電子商務推薦系統(tǒng)帶來更加個性化的推薦效果。
[0034]本發(fā)明推薦引擎通過多Agent的方式來實現(xiàn)個性化推薦,其優(yōu)勢在于:
[0035](I)各部分具有自主性。將推薦引擎的各個功能模塊,如交互模塊、數(shù)據(jù)挖掘模塊、算法決策模塊等設計為具有智能的Agent,這種擬人化的建模和設計使得各個Agent具有各自的信念、愿望和計劃,可以自主完成各自的任務。
[0036](2)具有更好的適應性。Strategy Agent可以根據(jù)用戶偏好的特征動態(tài)地選取推薦算法,當用戶的偏好發(fā)生了變化,也能自適應地的調整算法。相比傳統(tǒng)的推薦引擎采用單一的推薦策略并且不能動態(tài)的調整算法,這是本發(fā)明的進步之處。
[0037](3)具有很好的可擴展性。本發(fā)明推薦引擎設計了 User CF Agent和Item CFAgent,各自持有不同的推薦算法,相互獨立完成。后期還可以擴展出更多的算法?;诙郃gent的建模,相比采用面向對象方式建模的推薦引擎,耦合度更低,帶來更好的可擴展性。
[0038](4)具有分布式特性。多Agent協(xié)作推薦可以實現(xiàn)分布式并發(fā),提高推薦引擎的性能,可以提供線上實時推薦。
【專利附圖】
【附圖說明】
[0039]圖1為本發(fā)明推薦引擎的分層架構示意圖。
[0040]圖2為本發(fā)明推薦引擎的詳細設計類圖。
[0041]圖3為本發(fā)明推薦引擎進行協(xié)同過濾推薦計算的順序圖。
[0042]圖4為本發(fā)明推薦引擎的數(shù)據(jù)挖掘過程狀態(tài)圖。
【具體實施方式】
[0043]本發(fā)明的目標是將分布式人工智能中的多Agent技術應用到電子商務的個性化推薦中。傳統(tǒng)的電子商務中的推薦系統(tǒng)存在一定的局限性,本發(fā)明米用多Agent技術,基于Agent進行擬人化建模,讓推薦系統(tǒng)更加個性化。采用多Agent技術來開發(fā)個性化推薦引擎,是一種創(chuàng)新。
[0044]協(xié)同過濾推薦算法是一種利用用戶群體行為和智慧來進行推薦的算法,該算法被廣泛應用于電子商務網(wǎng)站,包括User CF和Item CF兩種算法,實踐發(fā)現(xiàn)結合User CF和Item CF來進行推薦的效果最佳。本發(fā)明結合多Agent技術和協(xié)同過濾算法,實現(xiàn)一種新的個性化推薦引擎。
[0045]下面來說明本發(fā)明的具體實施。如圖1所示,本發(fā)明推薦引擎主要了采用分層架構:
[0046](I)Data Storage Layer 數(shù)據(jù)存儲層
[0047]數(shù)據(jù)存儲層用于存儲物品信息,用戶信息和用戶偏好信息,這里物品信息對應的數(shù)據(jù)可以是任何能夠采用協(xié)同過濾進行推薦的數(shù)據(jù),例如商品數(shù)據(jù)、電影數(shù)據(jù)、新聞數(shù)據(jù)、圖書數(shù)據(jù)等,這里要求數(shù)據(jù)已經(jīng)經(jīng)過清洗,每一個數(shù)據(jù)元組要求至少有三項:用戶編號,物品編號和偏好值。偏好要經(jīng)過歸一化處理,以保證推薦結果的準確性。在本推薦引擎中,采用MySQL數(shù)據(jù)來存儲,并采用了 MySQL數(shù)據(jù)庫提供的索引機制,提高數(shù)據(jù)的查詢性能。
[0048](2) Data Model Layer 數(shù)據(jù)模型層
[0049]數(shù)據(jù)模型層基于數(shù)據(jù)存儲層,數(shù)據(jù)模型層提供封裝了底層數(shù)據(jù)庫操作的數(shù)據(jù)模型(Model),為Applicat1n Layer提供透明的操作接口,同時對數(shù)據(jù)的查詢進行優(yōu)化。該層主要包括三個Model:
[0050]a) Commodity Data Model:物品數(shù)據(jù)模型,提供對物品數(shù)據(jù)進行檢索,增加,刪除和修改的接口。
[0051]b)User Data Model:用戶數(shù)據(jù)模型,提供對用戶信息進行檢索的接口。
[0052]c) Preference Data Model:偏好數(shù)據(jù)模型,提供對用戶偏好進行檢索的接口。
[0053](3) Applicat1n Layer 應用層
[0054]應用層包括8個Agent:
[0055]a) User Agent (用戶Agent):接收用戶的輸入,監(jiān)聽用戶的行為,并展示最終的推薦結果。
[0056]b) Recommendat1n Agent (推薦Agent):控制整個數(shù)據(jù)挖掘的過程,針對用戶的不同輸入給出個性化推薦的數(shù)據(jù)Recommendat1n Agent是協(xié)調與控制者,獲取用戶的行為,請求Data Mining Agent采用協(xié)同過濾算法計算出原始推薦集,再請求Search Agent搜索出推薦的詳細信息,再請求Recommendat1n Build Agent構建出可以展示的結果集,并將最終的結果集返回給User Agent。
[0057]c)Data Mining Agent (數(shù)據(jù)挖據(jù) Agent):執(zhí)行數(shù)據(jù)挖掘。Data Mining Agent 請求Strategy Agent進行算法決策,并觸發(fā)User CF Agent或Item CF Agent進行協(xié)同過濾計算。
[0058]d) Strategy Agent (策略 Agent):執(zhí)行算法決策;Strategy Agent 計算當前用戶偏好的自相似度,如果自相似度大則采用ItemCF,默認采用UserCF算法。
[0059]e)User CF Agent (基于用戶的協(xié)同過濾Agent):執(zhí)行基于用戶的協(xié)同過濾(UserCF, User Collaborative Filtering)算法;
[0060]f) Item CF Agent (基于物品的協(xié)同過濾Agent):執(zhí)行基于物品的協(xié)同過濾(ItemCF, Item Collaborative Filtering)算法;
[0061]g) Search Agent (搜索Agent):根據(jù)數(shù)據(jù)挖掘的結果,一般為推薦的物品編號集合,按編號在數(shù)據(jù)存儲中搜索物品的詳細信息;
[0062]h) Recommendat1n Build Agent (推薦展示Agent):將數(shù)據(jù)挖掘的最終結果格式化為可展示的結果。
[0063]推薦引擎的類詳細設計如圖2,基于Java的應用,主要有8個包,包間的關系如圖2所示,除了 Common包和Model包,其他6個包每個包就是一個基于BDI的Agent結構。多Agent的交互是通過Jadex BDI V3提供的基于Service的Goal觸發(fā)機制,每個Goal是Java P0J0,采用Goal作為代理是一種松耦合的設計,基于依賴注入和反射機制綁定不同的Goal到不同的Service。
[0064](I) Common包:提供Applicat1n, xml,為推薦引擎的啟動入口。
[0065](2)Model 包:定義了 Data Model (數(shù)據(jù)模型),包括 Item Data Model (物品數(shù)據(jù)模型),User Data Model (用戶數(shù)據(jù)模型),Rating Data Model (評分數(shù)據(jù)模型),同時還有Data Source Factory (數(shù)據(jù)源倉庫),創(chuàng)建MySQL的鏈接。
[0066](3) Recommender 包:定義了 Recommender BDI (推薦者 BDI), RecommendServiceInterface (推薦服務接口)和 Recommendat1n Goal (推薦目標),RecommendServiceInterface 即為圖 2 中的 TRecommend Service, Recommender 包作為 Controller,提供透明的推薦接口,同時會請求Recommendat1n Build BDI (推薦展示BDI), DataMiningBDI (數(shù)據(jù)挖掘BDI)和Search BDI (搜索BDI)來完成推薦計算。
[0067](4)User 包:定義了 User BDI (用戶 BDI), User BDI 啟動時會創(chuàng)建 User Input⑶I (用戶輸入圖形用戶界面)獲取用戶的輸入,請求Recommender BDI給出推薦結果。
[0068](5) DataMining 包:該包中包括 DataMining BDI (數(shù)據(jù)挖掘 BDI), ItemCF BDI (基于物品的協(xié)同過濾BDI),UserCF BDI (基于用戶的協(xié)同過濾BDI),三者提供DataMiningService (數(shù)據(jù)挖掘服務),DataMining BDI會請求Strategy BDI (策略BDI)給出推薦算法決策,按照決策請求ItemCF BDI,或者UserCF BDI,計算并返回結果。
[0069](6) Search 包:該包中定義了 ISearch Service (搜索服務接口 ), SearchBDI (搜索BDI)和SearchGoal (搜索目標),該BDI Agent會搜索數(shù)據(jù)庫中推薦的物品的詳細信息。
[0070](7)Build 包:該包中定義了 IRecommendat1n Build Service (推薦展不服務接口),Reco_endat1n Build BDI (推薦展不 BDI)和 Reco_endat1n Build Goal (推薦展示目標),該BDI匯總所有的計算結果,并給出可以用于展示的推薦結果集。
[0071]推薦引擎進行協(xié)同過濾推薦計算的順序圖如圖3,圖中每個對象代表一個BDI Agent, UserBDI 對應 User Agent, RecommenderBDI 對應 Recommendat1n Agent,DataMiningBDI 對應 DataMining Agent, SearchBDI 對應 Search Agent, RecommBuildBDI對應Recommendat1nBuild Agent。各個Agent之間的交互順序如下:
[0072](I)UserBDI 通過Dispatch Goal (調用目標)的方式請求Reco_enderBDI 進行協(xié)同過濾推薦。
[0073](2) RecommenderBDI 收到請求后,觸發(fā) RecommendPlan, RecommendPlan 即 BDI 中的 Intent1n(意圖)。
[0074](3) RecommenderBDI 通過 DispatchSubGoal (調用子目標)的方式請求DataMiningBDI,進行數(shù)據(jù)挖掘。
[0075](4)待返回挖掘的原始結果集之后,再請求SearchBDI根據(jù)原始結果集,給出所推薦物品的詳細信息。
[0076](5)請求RecommBuildBDI將計算得到的各個結果集進行整合成可以展示的推薦項目并返回結果集。
[0077](6)最后Reco_enderBDI將得到的結果集返回給UserBDI。
[0078]RecommenderBDI是系統(tǒng)中的控制者和協(xié)調者,通過Goal的方式觸發(fā)其他Agent的行為。
[0079]數(shù)據(jù)挖掘過程是本發(fā)明推薦引擎的核心,挖掘的方式是結合協(xié)同過濾的User CF算法和Item CF算法來挖掘。挖掘的決策是計算用戶當前偏好的自相似度,如果自相似度大就采用Item CF,自相似度小就默認采用User CF。自相似度通過計算當前用戶的所有評分偏好的標準差。
[0080]如圖4是本發(fā)明推薦引擎的數(shù)據(jù)挖掘過程狀態(tài)圖:
[0081]I) Data Mining Agent 收到 Recommendat1n Agent 的數(shù)據(jù)挖掘請求;
[0082]2) Data Mining Agent請求Strategy Agent進行算法決策,計算當前用戶所有偏好物品的自相似度。對物品偏好的度量一般是一個歸一化的評分,如O?5分,自相似度在本推薦引擎中采用計算用戶所有偏好的標準差,用σ表示。設定決策閥值,當σ小于決策閥值,則自相似度較大,即認為用戶的偏好比較為集中,采用Item CF算法會有更好的推薦效果。當σ大于決策閥值,則自相似度較小,用戶的偏好不集中,則采用User CF算法會獲得更好的推薦效果。
[0083]決策閥值需要根據(jù)所推薦的場景和數(shù)據(jù)集的不同來選取,不能太大,這樣會導致很多需要用Item CF算法進行推薦的用戶,采用了 User CF ;同理,也不能太小,這樣會導致很多需要用User CF算法進行推薦的用戶采用了 Item CF算法。總之,決策閥值的選取需要在對數(shù)據(jù)集進行清洗后,定出一個合理的值。在本推薦引擎的實施例中,我們以電影推薦進行試驗為例,選用了 MovieLens網(wǎng)站提供的百萬電影評分數(shù)據(jù),最后將σ的決策閥值定為0.8能產生較為合理的推薦結果集;
[0084]3)當米用 Item CF 算法,DataMining Agent 請求 ItemCF Agent 米用 Item CF 算法進行數(shù)據(jù)挖掘,采用LogLikeliHood計算所推薦物品的相似度,并給出推薦集;
[0085]4)當米用 User CF 算法,Data Mining Agent 請求 User CF Agent 米用 User CF算法挖掘,采用皮爾遜相關系數(shù)計算所推薦物品相似度,并選擇與當前用戶偏好最相似的K個鄰居(K默認為10),以這K個鄰居的偏好物品為基礎,給出推薦集;
[0086]5)所得推薦集結果再經(jīng)由 Data Mining Agent 返回給 Recommender Agent ;
[0087]6) Recommendat1n Agent 觸發(fā) Search Agent 調用數(shù)據(jù)模型層,將 Data MiningAgent產生的推薦物品編號轉化為更詳細的物品信息;
[0088]7) Recommender Agent將推薦集和Search Agent返回的詳細信息整合成用于展示的最終結果集。
【權利要求】
1.一種基于多Agent的個性化推薦引擎實現(xiàn)方法,推薦引擎通過數(shù)據(jù)挖掘實現(xiàn)個性化推薦,其特征是采用分布式人工智能領域的多Agent技術實現(xiàn)個性化推薦引擎,所述推薦引擎基于多Agent建模,設計多個Agent,包括Agent如下: ?User Agent:接收用戶的輸入,以及展示最終的推薦結果; ?Recommendat1n Agent:根據(jù)用戶的輸入啟動數(shù)據(jù)挖掘,控制整個數(shù)據(jù)挖掘的過程,針對用戶的不同輸入給出個性化推薦的數(shù)據(jù); ?Data Mining Agent:執(zhí)行數(shù)據(jù)挖掘; ?Strategy Agent:執(zhí)行算法決策,決定采用何種數(shù)據(jù)挖掘算法;
?User CF Agent:執(zhí)行 User CF 算法;
?Item CF Agent:執(zhí)行 Item CF 算法; ?Search Agent:根據(jù)數(shù)據(jù)挖掘的結果,在數(shù)據(jù)存儲中搜索挖掘結果對應物品的詳細信息; ?Recommendat1n Build Agent:將數(shù)據(jù)挖掘的最終結果格式化為可展示的結果; 個性化推薦引擎中采用分層架構,最上層應用層包括上述Agent ;中間層為數(shù)據(jù)模型層,用于封裝對數(shù)據(jù)庫的操作,提供透明的數(shù)據(jù)庫訪問操作;最底層為數(shù)據(jù)存儲層,存儲數(shù)據(jù)挖掘所需的數(shù)據(jù)。
2.根據(jù)權利要求1所述的一種基于多Agent的個性化推薦引擎實現(xiàn)方法,其特征是采用Jadex多Agent開發(fā)平臺設計并建模Agent,結合Mahout機器學習庫實現(xiàn)協(xié)同過濾推薦,由多Agent并發(fā)協(xié)作給出推薦內容。
3.根據(jù)權利要求1所述的一種基于多Agent的個性化推薦引擎實現(xiàn)方法,其特征是在數(shù)據(jù)挖掘過程中,Strategy Agent分析當前用戶的偏好,根據(jù)當前用戶偏好的自相似度決策采用User CF算法或者Item CF算法,所述數(shù)據(jù)挖掘過程如下: 1)Data Mining Agent 收到 Recommendat1n Agent 的數(shù)據(jù)挖掘請求; 2)DataMining Agent請求Strategy Agent進行算法決策,計算當前用戶所有偏好物品的自相似度,自相似度表現(xiàn)為當前用戶所有偏好的標準差σ,設定決策閥值,σ小于決策閥值,則自相似度較大,即認為當前用戶的偏好比較為集中,采用Item CF算法;當σ大于決策閥值,則自相似度較小,認為當前用戶的偏好不集中,采用User CF算法;決策閥值根據(jù)所推薦的場景和數(shù)據(jù)集的不同來選取設定; 3)當米用Item CF 算法,DataMining Agent 請求 ItemCF Agent 米用 Item CF 算法進行數(shù)據(jù)挖掘,采用Log LikeliHood計算待推薦物品與當前用戶偏好的相似度,并給出推薦集; 4)當米用User CF 算法,Data Mining Agent 請求 User CF Agent 米用 User CF 算法挖掘,選擇與當前用戶偏好最相似的K個鄰居用戶,K默認為10,以這K個鄰居用戶的偏好物品為推薦物品基礎,采用皮爾遜相關系數(shù)計算推薦物品與當前用戶偏好的相似度,向當前用戶給出推薦集; 5)所得推薦集結果再經(jīng)由DataMining Agent返回給Reco_ender Agent ; 6)Recommendat1n Agent 觸發(fā) Search Agent 調用數(shù)據(jù)模型層,將 Data Mining Agent產生的推薦集的物品編號轉化為更詳細的物品信息; 7)Recommender Agent將推薦集和Search Agent返回的物品的詳細信息整合成用于展示的最終結果集。
4.根據(jù)權利要求3所述的一種基于多Agent的個性化推薦引擎實現(xiàn)方法,其特征是推薦引擎適用的推薦數(shù)據(jù)包括任何可以采用協(xié)同過濾進行推薦的數(shù)據(jù),要求數(shù)據(jù)已經(jīng)經(jīng)過清洗,每一個數(shù)據(jù)元組要求至少有三項:用戶編號,物品編號和偏好值,偏好值經(jīng)過歸一化處理。
5.根據(jù)權利要求1或2或3所述的一種基于多Agent的個性化推薦引擎實現(xiàn)方法,其特征是Search Agent所依據(jù)的數(shù)據(jù)挖掘的結果為推薦集中物品的物品編號集合,按物品編號在數(shù)據(jù)存儲中搜索對應物品的詳細信息。
【文檔編號】G06F17/30GK104462373SQ201410749221
【公開日】2015年3月25日 申請日期:2014年12月9日 優(yōu)先權日:2014年12月9日
【發(fā)明者】張瑾玉, 梁國蓉 申請人:南京大學