两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于興趣圖譜的推薦引擎的制作方法

文檔序號:6400799閱讀:575來源:國知局
專利名稱:一種基于興趣圖譜的推薦引擎的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種基于興趣圖譜的推薦引擎。
背景技術(shù)
機器學(xué)習(xí)是人工智能的一個分支,它涉及通過一些技術(shù)來允許計算機根據(jù)之前的經(jīng)驗改善其輸出。此領(lǐng)域與數(shù)據(jù)挖掘密切相關(guān),并且經(jīng)常需要使用各種技巧,包括統(tǒng)計學(xué)、概率論和模式識別等。雖然機器學(xué)習(xí)并不是一個新興領(lǐng)域,但它的發(fā)展速度是毋庸置疑的。許多大型公司,包括IBM、Google、Amazon、Yahoo!和Facebook,都在自己的應(yīng)用程序中實現(xiàn)了機器學(xué)習(xí)算法。此外,還有許多公司在自己的應(yīng)用程序中應(yīng)用了機器學(xué)習(xí),以便學(xué)習(xí)用戶以及過去的經(jīng)驗,從而獲得收益。在信息時代,公司和個人的成功越來越依賴于迅速有效地將大量數(shù)據(jù)轉(zhuǎn)化為可操作的信息。無論是每天處理數(shù)以千計的個人電子郵件消息,還是從海量博客文章中推測用戶的意圖,都需要使用一些工具來組織和增強數(shù)據(jù)。隨著國外Quora、Stack Overflow以及國內(nèi)知乎等問答類網(wǎng)站的崛起,大型SNS、問答類網(wǎng)站在人工智能及智能推薦類應(yīng)用上的需求越來越強烈。在沒有推薦系統(tǒng)的情況下,通常在給用戶推薦的時候都是統(tǒng)一管理,再加上一些復(fù)雜的數(shù)據(jù)表管理來得到結(jié)果,并實時的反饋給用戶,這樣會造成用戶加載推薦內(nèi)容的時候,系統(tǒng)加載緩慢,并且推薦的內(nèi)容缺少指向性,造成用戶體驗下降。

發(fā)明內(nèi)容
本發(fā)明使得系統(tǒng)性能加載效能最大化,并根據(jù)用戶的興趣愛好為用戶智能推薦話題、任務(wù)、問題,以達到更好的用戶體驗。本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:一種基于興趣圖譜的推薦引擎,利用開源項目Mahout結(jié)合興 趣圖譜中多維度按權(quán)重因子分配推薦算法,通過數(shù)據(jù)挖掘計算得出對象與用戶的相關(guān)性,實現(xiàn)對用戶的智能推薦,所述基于興趣圖譜的推薦引擎包括推薦模塊和推薦內(nèi)容整合模塊,其中:
所述推薦模塊包括Mahout用戶偏好推薦模塊、基于用戶屬性推薦知識模塊、系統(tǒng)配置內(nèi)容推薦模塊;其中,所述Mahout用戶偏好推薦模塊用于存儲用戶偏好數(shù)據(jù),所述基于用戶屬性推薦知識模塊用于存儲知識庫數(shù)據(jù),所述系統(tǒng)配置內(nèi)容推薦模塊用于存儲系統(tǒng)指向性配置;其中,用戶偏好數(shù)據(jù)和知識庫數(shù)據(jù)來源于網(wǎng)站的用戶行為數(shù)據(jù)庫和UCG,系統(tǒng)指向性配置為具有時效性的人為設(shè)置;
所述推薦內(nèi)容整合模塊包括根據(jù)權(quán)重因子整合內(nèi)容模塊、Pylons Controller用戶推薦Api接口、用戶登錄并查詢接口、Pylons View層;其中,所述權(quán)重因子整合內(nèi)容模塊以推薦模塊中整合產(chǎn)生的數(shù)據(jù)為錄入?yún)?shù),采用多維度按權(quán)重因子分配推薦算法,通過數(shù)據(jù)挖掘計算得出對象與用戶的相關(guān)性;所述Pylons Controller用戶推薦Api接口用于建立所述推薦引擎與其它計算機軟件之間的相互通信;所述用戶登錄并查詢接口和Pylons View層將推薦引擎產(chǎn)生的數(shù)據(jù)顯示到網(wǎng)站的查詢頁面上。
進一步的,所述興趣圖譜中多維度包括用戶屬性維度、用戶興趣維度、好友關(guān)系維度、系統(tǒng)配置的熱點問題和話題;權(quán)重因子用來表示用戶對多維度中具體對象的偏好程度。進一步的,所述興趣圖譜中多維度按權(quán)重因子分配推薦算法包括User CF算法、Item CF算法和Slope One算法,其中:
User CF算法用來推薦與用戶有著相同愛好的其他用戶喜歡的數(shù)據(jù)信息;
Item CF算法用來推薦與用戶以前表示喜歡的數(shù)據(jù)信息相類似的數(shù)據(jù)信息;
Slope One算法用來在出現(xiàn)大量數(shù)據(jù)時,按分配的權(quán)重因子的不同,經(jīng)過計算實現(xiàn)數(shù)據(jù)信息的快速推薦。進一步的,通過用戶活躍度算法對活躍用戶進行預(yù)加載處理,對非活躍用戶在其登錄之后進行實時查詢,所述預(yù)加載處理具體過程如下:通過后臺加載、數(shù)據(jù),通提前生成分析結(jié)果,在用戶登錄的時候直接將分析結(jié)果所對應(yīng)的數(shù)據(jù)推送給用戶。本發(fā)明實現(xiàn)智能推薦時,通過用戶活躍度算法,只對活躍用戶進行處理,小部分非活躍用戶登錄之后進行實時查詢,通過預(yù)加載和實時查詢,實現(xiàn)系統(tǒng)性能加載效能最大化,減少用戶的等待。


圖1:推薦引擎所涉及的多維度說明及用戶中心知識庫的組織架構(gòu)。圖2:推薦引擎為用戶生成推薦數(shù)據(jù)結(jié)合權(quán)重因子分配并推薦到用戶具體工作流程。圖3:推薦引擎在整個處理流程中的功能模塊說明。
具體實施例方式本發(fā)明使用Mahout (—種機器學(xué)習(xí)算法庫)實現(xiàn)基于興趣圖譜的推薦引擎。基于興趣圖譜的推薦引擎是依據(jù)機器學(xué)習(xí)的概念,利用Mahout結(jié)合分層多權(quán)重因子推薦算法實現(xiàn)用戶推薦,其主要特征是使用多維度按權(quán)重因子分配,通過數(shù)據(jù)挖掘計算得出對象與用戶的相關(guān)性,通過這些因素的權(quán)重動態(tài)調(diào)整和微調(diào)數(shù)據(jù)反饋,最終實現(xiàn)對用戶推薦平衡。本發(fā)明具體使用一個開放源代碼的Web應(yīng)用框架Pylons,采用python語言編寫對應(yīng)程序。下面以一款基于興趣圖譜的母嬰問答推薦引擎一問貝系統(tǒng)為具體實施例,結(jié)合附圖對本發(fā)明的構(gòu)思和實施方案進行描述。推薦引擎所涉及的多維度說明及用戶中心知識庫的組織架構(gòu)如圖1所示,主要包括兩大部分:用戶推薦維度和興趣圖譜部分以及用戶行為數(shù)據(jù)庫和問貝知識庫部分。其中用戶推薦維度和興趣圖譜部分包括:用戶屬性維度、用戶興趣維度、好友關(guān)系維度、系統(tǒng)配置的熱點問題和話題。推薦引擎基于用戶的基本屬性維度中的時間維度、地理位置維度、行業(yè)屬性等維度,結(jié)合問貝系統(tǒng)多年累積的知識庫系統(tǒng),可以推薦用戶所關(guān)心小孩時間階段的知識,用戶同城的一些活動等;基于用戶的興趣圖譜維度,結(jié)合Mahout興趣偏好算法將用戶關(guān)注的話題、發(fā)表過的話題、回答過的話題等行為信息進行篩選置頂,進行推薦;基于用戶好友關(guān)系,根據(jù)社區(qū)中用戶好友列表的數(shù)據(jù)源獲取用戶好友關(guān)系,并從數(shù)據(jù)庫中獲取用戶好友的行為記錄,推薦出用戶可能感興趣的好友,根據(jù)推薦引擎發(fā)送好友列表信息。系統(tǒng)配置管理的內(nèi)容,根據(jù)興趣圖譜推薦出更有針對性的,當前時間段社會的熱點話題、并根據(jù)用戶所發(fā)布的信息和屬性推薦其相關(guān)的用戶感興趣的內(nèi)容,使得推薦信息更有針對性、增強用戶體驗。用戶行為數(shù)據(jù)庫和問貝知識庫部分包括:用戶行為數(shù)據(jù)、內(nèi)容關(guān)系圖譜、母嬰分階段知識庫、根據(jù)用戶的多維度興趣圖譜推送給用戶的資訊。推薦引擎基于龐大的內(nèi)容知識庫和UGG (用戶產(chǎn)生內(nèi)容),結(jié)合計算機智能分析,根據(jù)權(quán)重因子分配用戶界面顯示內(nèi)容,數(shù)據(jù)庫將用戶相關(guān)的話題和行為存儲在數(shù)據(jù)庫中,并形成問貝系統(tǒng)知識庫,以便于推薦引擎的快速匹配、篩選,以便于為用戶推薦出更完善的信
肩、O推薦引擎為用戶生成推薦數(shù)據(jù)結(jié)合權(quán)重因子分配并推薦到用戶具體工作流程如圖2所示,該工作流程圖詳細的描述了推薦引擎為用戶推薦工作的流程。推薦引擎在整個處理流程中的功能模塊說明如圖3所示,推薦引擎分為推薦模塊和推薦內(nèi)容整合模塊兩部分,其中推薦模塊的錄入?yún)?shù)為用戶偏好數(shù)據(jù)、問貝知識庫、系統(tǒng)指向性配置,其對應(yīng)的模塊為Mahout用戶偏好模塊、基于用戶屬性推薦知識模塊、系統(tǒng)配置內(nèi)容推薦模塊;推薦內(nèi)容整合模塊是以推薦模塊為錄入?yún)?shù),依次訪問權(quán)重因子整合內(nèi)容模塊、Pylons Controller用戶推薦Api接口、用戶登錄并查詢接口、Pylons View層展示用戶推薦內(nèi)容,Pylons是一個開放源代碼的Web應(yīng)用框架,使用python語言編寫。引擎的開發(fā)和創(chuàng)建過程描述如下:
初始化,收集用戶興趣偏好基于協(xié)同過濾的推薦引擎的輸入是用戶的歷史偏好信息,在Mahout里它被建模為Preference (接口),一個Preference就是一個簡單的三元組<用戶ID,興趣ID,用戶偏好 >,它的實現(xiàn)類是GenericPreference,可以通過以下語句創(chuàng)建一個 GenericPref erence0GenericPreference preference = new GenericPreference(123, 456, 3.0f); 這其中,123是用戶ID,long型;456是興趣ID,long型;3.0f是用戶偏好,float
型。Mahout創(chuàng)建了 PreferenceArray(接口)保存一組用戶偏好數(shù)據(jù),為了優(yōu)化性能,Mahout給出了兩個實現(xiàn)類,GenericUserPreferenceArray 和 GenericItemPreferenceArray,分別按照用戶和興趣本身對用戶偏好進行組裝,這樣就可以壓縮用戶ID或者興趣ID的空間。1.創(chuàng)建和使用 PreferenceArray
為了提高性能 Mahout 構(gòu)建了自己的 HashMap 和 Set:FastByIDMap 和 FastIDSet0DataModelMahout的推薦引擎實際接受的輸入是DataModel,它是對用戶偏好數(shù)據(jù)的壓縮表示,通過創(chuàng)建內(nèi)存版DataModel的語句我們可以看出:
DataModel model =newGenericDataModeI(FastByIDMap<PreferenceArray> map);DataModel保存在一個按照用戶ID或者興趣ID進行散列的PreferenceArray,而PreferenceArray中對應(yīng)保存著這個用戶ID或者興趣ID的所有用戶偏好信息。DataModel是用戶喜好信息的抽象接口,它的具體實現(xiàn)支持從任意類型的數(shù)據(jù)源抽取用戶喜好信息,具體實現(xiàn)包括內(nèi)存版的GenericDataModel,支持文件讀取的FileDataModel和支持數(shù)據(jù)庫讀取的JDBCDataModel。2.創(chuàng)建數(shù)據(jù)模型
支持文件讀取的FileDataModel, Mahout沒有對文件的格式做過多的要求,只要文件的內(nèi)容滿足以下格式:
(201)每一行包括用戶ID,興趣ID,用戶偏好;
(202)逗號隔開或者Tab隔開;
(203)*.zip和*.gz文件會自動解壓縮(Mahout建議在數(shù)據(jù)量過大時采用壓縮的數(shù)據(jù)存儲)。3.Mahout提供的協(xié)同過濾的推薦策略:User CF、Item CF和Slope One。(301)基于 Mahout 實現(xiàn) User CF
從文件建立DataModel,米用FileDataModel,用戶的喜好信息存放在preferences,dat文件中?;谟脩羝脭?shù)據(jù)計算用戶的相似度,Mahout中提供了基本的相似度的計算,它們都UserSimilarity這個接口,實現(xiàn)用戶相似度的計算,包括下面這些常用的:
PearsonCorrelationSimilarity:基于皮爾遜相關(guān)系數(shù)計算相似度; EuclideanDistanceSimilarity:基于歐幾里德距離計算相似度; TanimotoCoefficientSimilarity:基于 Tanimoto 系數(shù)計算相似度; UncerteredCosineSimilarity:計算 Cosine 相似度;
ItemSimilarity也是類似的:根據(jù)建立的相似度計算方法,找到鄰居用戶。這里找鄰居用戶的方法包括兩種,固定數(shù)量的鄰居和相似度門檻鄰居,Mahout提供對應(yīng)的實現(xiàn):NearestNUserNeighborhood:對每個用戶取固定數(shù)量N的最近鄰居;ThresholdUserNeighborhood:對每個用戶基于一定的限制,取落在相似度門限內(nèi)的所有用戶為鄰居?;贒ataModel, UserNeighborhood 和 UserSimilarity 構(gòu)建GenericUserBasedRecommender,實現(xiàn) User CF 推薦策略。(302)基于 Mahout 實現(xiàn) Item CF
Mahout Item CF 的實現(xiàn)與 User CF 類似,是基于 ItemSimilarity,它比 User CF 更簡單,因為Item CF中并不需要引入鄰居的概念。(3O3)基于 Mahout 實現(xiàn) Slope One
User CF和Item CF是最常用最容易理解的兩種CF的推薦策略,但在大數(shù)據(jù)量時,它們的計算量會很大,從而導(dǎo)致推薦效率較差。因此Mahout還提供了一種更加輕量級的CF推薦策略:Slope One0 Slope One的核心優(yōu)勢是在大規(guī)模的數(shù)據(jù)上,它依然能保證良好的計算速度和推薦效果。Slope One 是由 Daniel Lemire 和 Anna Maclachlan 在 2005 年提出的一種對基于評分的協(xié)同過濾推薦引擎的改進方法,它的基本思想如下:
假設(shè)系統(tǒng)對于興趣A,興趣B和興趣C的平均評分分別是3,4和4?;赟lopeOne的方法會得到以下規(guī)律:
用戶對興趣B的評分=用戶對興趣A的評分+ I ;
用戶對興趣B的評分=用戶對興趣C的評分。基于以上的規(guī)律,我們可以對用戶A和用戶B的打分進行預(yù)測:
對用戶A,他給興趣A打分4,那么我們可以推測他對興趣B的評分是5,對興趣C的打分也是5。
對用戶B,他給興趣A打分2,給興趣C打分4,根據(jù)第一條規(guī)律,我們可以推斷他對興趣B的評分是3;而根據(jù)第二條規(guī)律,推斷出評分是4。當出現(xiàn)沖突時,我們可以對各種規(guī)則得到的推斷進行就平均,所以給出的推斷是3.5。這就是Slope One推薦的基本原理,它將用戶的評分之間的關(guān)系看作簡單的線性關(guān)系:
丫 = 111)( + 13;當111=1 時就是 Slope One。根據(jù)Data Model創(chuàng)建數(shù)據(jù)之間線性關(guān)系的模型DiffStorage?;贒ata Model 和 DiffStorage 創(chuàng)建 SlopeOneRecommender,實現(xiàn) Slope One推薦策略。
權(quán)利要求
1.一種基于興趣圖譜的推薦引擎,其特征在于:利用開源項目MahOUt結(jié)合興趣圖譜中多維度按權(quán)重因子分配推薦算法,通過數(shù)據(jù)挖掘計算得出對象與用戶的相關(guān)性,實現(xiàn)對用戶的智能推薦,所述基于興趣圖譜的推薦引擎包括推薦模塊和推薦內(nèi)容整合模塊,其中: 所述推薦模塊包括Mahout用戶偏好推薦模塊、基于用戶屬性推薦知識模塊、系統(tǒng)配置內(nèi)容推薦模塊;其中,所述Mahout用戶偏好推薦模塊用于存儲用戶偏好數(shù)據(jù),所述基于用戶屬性推薦知識模塊用于存儲知識庫數(shù)據(jù),所述系統(tǒng)配置內(nèi)容推薦模塊用于存儲系統(tǒng)指向性配置;其中,用戶偏好數(shù)據(jù)和知識庫數(shù)據(jù)來源于網(wǎng)站的用戶行為數(shù)據(jù)庫和UCG,系統(tǒng)指向性配置為具有時效性的人為設(shè)置; 所述推薦內(nèi)容整合模塊包括根據(jù)權(quán)重因子整合內(nèi)容模塊、Pylons Controller用戶推薦Api接口、用戶登錄并查詢接口、Pylons View層;其中,所述權(quán)重因子整合內(nèi)容模塊以推薦模塊中整合產(chǎn)生的數(shù)據(jù)為錄入?yún)?shù),采用多維度按權(quán)重因子分配推薦算法,通過數(shù)據(jù)挖掘計算得出對象與用戶的相關(guān)性;所述Pylons Controller用戶推薦Api接口用于建立所述推薦引擎與其它計算機軟件之間的相互通信;所述用戶登錄并查詢接口和Pylons View層將推薦引擎產(chǎn)生的數(shù)據(jù)顯示到網(wǎng)站的查詢頁面上。
2.如權(quán)利要求1所述的一種基于興趣圖譜的推薦引擎,其特征在于:所述興趣圖譜中多維度包括用戶屬性維度、用戶興趣維度、好友關(guān)系維度、系統(tǒng)配置的熱點問題和話題;采用權(quán)重因子來表示用戶對多維度中具體對象的偏好程度。
3.如權(quán)利要求1所述的一種基于興趣圖譜的推薦引擎,其特征在于,所述興趣圖譜中多維度按權(quán)重因子分配推薦算法包括User CF算法、Item CF算法和Slope One算法,其中: User CF算法用來推薦與用戶有著相同愛好的其他用戶喜歡的數(shù)據(jù)信息; Item CF算法用來 推薦與用戶以前表示喜歡的數(shù)據(jù)信息相類似的數(shù)據(jù)信息; Slope One算法用來在出現(xiàn)大量數(shù)據(jù)時,按分配的權(quán)重因子的不同,經(jīng)過計算實現(xiàn)數(shù)據(jù)信息的快速推薦。
4.如權(quán)利要求1或2所述的一種基于興趣圖譜的推薦引擎,其特征在于,通過用戶活躍度算法對活躍用戶進行預(yù)加載處理,對非活躍用戶在其登錄之后進行實時查詢,所述預(yù)加載處理具體過程如下:通過后臺加載、數(shù)據(jù),通提前生成分析結(jié)果,在用戶登錄的時候直接將分析結(jié)果所對應(yīng)的數(shù)據(jù)推送給用戶。
全文摘要
本發(fā)明公開了一種基于興趣圖譜的推薦引擎,所述推薦引擎利用開源項目Mahout結(jié)合多維度按權(quán)重因子分配推薦算法,通過數(shù)據(jù)挖掘計算得出對象與用戶的相關(guān)性,經(jīng)過權(quán)重動態(tài)調(diào)整和微調(diào)數(shù)據(jù)反饋,實現(xiàn)對用戶的智能推薦,推薦引擎包括推薦模塊和推薦內(nèi)容整合模塊,推薦模塊包括Mahout用戶偏好推薦模塊、基于用戶屬性推薦知識模塊、系統(tǒng)配置內(nèi)容推薦模塊,推薦內(nèi)容整合模塊包括根據(jù)權(quán)重因子整合內(nèi)容模塊、Pylons Controller用戶推薦Api接口、用戶登錄并查詢接口、Pylons View層。本發(fā)明使系統(tǒng)性能加載效能最大化,并根據(jù)用戶的興趣愛好為用戶智能推薦話題、任務(wù)、問題,以達到更好的用戶體驗。
文檔編號G06F17/30GK103218407SQ20131009432
公開日2013年7月24日 申請日期2013年3月22日 優(yōu)先權(quán)日2013年3月22日
發(fā)明者劉本中, 司震, 鄭國松, 胡明慧, 劉坤, 宋煒偉 申請人:南京信通科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
建昌县| 隆安县| 镇远县| 法库县| 三门峡市| 当阳市| 定南县| 云梦县| 肥乡县| 哈尔滨市| 巴彦淖尔市| 射洪县| 平南县| 天峨县| 方城县| 孟津县| 获嘉县| 翁源县| 高安市| 青神县| 武宁县| 高台县| 四会市| 平乡县| 隆回县| 金湖县| 陕西省| 阿拉善右旗| 呼图壁县| 商河县| 图片| 宣恩县| 安多县| 政和县| 金堂县| 视频| 恩施市| 屯留县| 磐安县| 湘乡市| 万盛区|