一種漢語(yǔ)新聞推薦系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種漢語(yǔ)新聞推薦系統(tǒng),所述系統(tǒng)包括用于收集數(shù)據(jù)、記錄用戶偏好并更新推薦模塊的學(xué)習(xí)層、用于存儲(chǔ)系統(tǒng)數(shù)據(jù)的數(shù)據(jù)層及用于生成新聞推薦列表的推薦層;所述推薦層包括根據(jù)用戶請(qǐng)求返回推薦新聞列表的候選生成器及調(diào)用偏好模塊對(duì)所述推薦新聞列表進(jìn)行排序的聚集器。該系統(tǒng)可行的融合了基于內(nèi)容、基于記憶和基于模型三類推薦方法的漢語(yǔ)新聞推薦系統(tǒng),在避免了上述三種模型的缺陷的基礎(chǔ)上,發(fā)揚(yáng)了各自的優(yōu)點(diǎn),且并沒有增加系統(tǒng)負(fù)擔(dān)。
【專利說(shuō)明】
一種漢語(yǔ)新聞推薦系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種互聯(lián)網(wǎng)領(lǐng)域的系統(tǒng),具體講涉及一種漢語(yǔ)新聞推薦系統(tǒng)。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)及移動(dòng)互聯(lián)網(wǎng)的普及,信息量的爆炸式增長(zhǎng)和人們?cè)讷@取有用的和感興趣的信息上的及時(shí)性和準(zhǔn)確性間的矛盾,需要構(gòu)建一種個(gè)性化的內(nèi)容(新聞)推薦系統(tǒng)來(lái)滿足人們有針對(duì)性地獲取日常需求的信息。個(gè)性化的內(nèi)容推薦系統(tǒng)目前主要分為兩類:基于內(nèi)容的推薦(content-based recommendat1n,或稱為信息過(guò)濾,informat1n filter)方法,協(xié)同推薦(或稱為協(xié)同過(guò)濾,collaborative filter)方法,而協(xié)同推薦方法又包括基于記憶(memory based)的和基于模型(model based)的兩類方法。
[0003]基于內(nèi)容的推薦:主要針對(duì)信息過(guò)濾,以用戶的閱讀/未閱讀歷史為語(yǔ)料,訓(xùn)練文本分類器,并使用訓(xùn)練所得到的分類器來(lái)預(yù)測(cè)用戶對(duì)新的文檔(新聞)的喜好程度,并據(jù)此做出是否將該文檔推薦給用戶的決策。
[0004]基于記憶的推薦:記錄用戶的偏好信息(某個(gè)用戶閱讀了某篇新聞),用這些偏好來(lái)刻畫用戶,即一個(gè)用戶被表示為其所閱讀過(guò)的新聞所構(gòu)成的向量(u =[wl, w2,..., wi,..., wn], i為文檔的編號(hào),wi為用戶對(duì)每篇文檔的偏好值-如看過(guò)為1,沒看過(guò)為0),對(duì)一篇新的文檔d (并未向當(dāng)前用戶推薦過(guò)),使用最近鄰方法預(yù)測(cè)該文檔是否應(yīng)該推薦給當(dāng)前用戶(具有與當(dāng)前用戶的向量最接近的向量的其他用戶,用他們對(duì)文檔d的偏好程度來(lái)預(yù)測(cè)當(dāng)前用戶對(duì)文檔d的偏好程度)。
[0005]基于模型的推薦:同基于記憶的推薦方法不同的是,根據(jù)偏好,將所有用戶劃分到若干個(gè)組中,用戶對(duì)新的文檔的偏好程度是通過(guò)其所在的用戶組對(duì)該文檔的偏好程度來(lái)計(jì)算得到的。
[0006]協(xié)同推薦廣泛應(yīng)用于電子商務(wù)領(lǐng)域。由于新聞的更新速度和數(shù)量都很大,使用協(xié)同推薦方法會(huì)造成大量存儲(chǔ)空間消耗,且每天都有大量新數(shù)據(jù)引入,按偏好計(jì)算文檔間的相關(guān)度或?qū)τ脩舻钠媒6夹枰罅康挠?jì)算,通常的系統(tǒng)很難提供如此大的計(jì)算和存儲(chǔ)資源,因此,針對(duì)新聞?lì)悆?nèi)容的個(gè)性化推薦被廣泛使用的是基于內(nèi)容的推薦方法。大數(shù)據(jù)平臺(tái)的廣泛應(yīng)用使得利用協(xié)同推薦來(lái)完成新聞的個(gè)性化推送成為可能,但此類系統(tǒng)因適用范圍較廣(除新聞外,如視頻、音頻推薦等)而通常完全忽略了新聞的內(nèi)容。
[0007]基于內(nèi)容的推薦的實(shí)現(xiàn)難度最小,對(duì)每個(gè)用戶僅使用一個(gè)訓(xùn)練好的分類模型即可刻畫其偏好,因此所占用的存儲(chǔ)空間也較少。但其缺點(diǎn)也很明顯,對(duì)用戶偏好的把握完全依賴于用戶歷史閱讀文章的內(nèi)容,而用戶的偏好,尤其是短時(shí)期內(nèi)的興趣偏好,往往具有很強(qiáng)的不確定性,因此基于內(nèi)容的推薦很容易讓用戶有千篇一律的感覺,也容易漏掉與用戶歷史并不相似但卻可能令用戶感興趣的文檔。
[0008]基于記憶的推薦因需要記錄每條用戶偏好信息,因此對(duì)存儲(chǔ)空間的消耗比較大,所以通常會(huì)只保留最鄰近的數(shù)據(jù)(如使用閾值來(lái)控制),這會(huì)導(dǎo)致該方法僅對(duì)用戶的短期興趣具有較好的刻畫效果,但對(duì)于用戶長(zhǎng)期的興趣偏好卻不能給出很好的反映,從而影響推薦效果。
[0009]與基于記憶的推薦相反,基于模型的推薦由于用戶的偏好是以用戶過(guò)去行為的模型來(lái)刻畫,所以通常可以較好的反映用戶的長(zhǎng)期興趣偏好,但由于模型對(duì)數(shù)據(jù)的反應(yīng)具有一定的滯后性,對(duì)用戶短期興趣的把握效果不好,也影響最終推薦的效果。
[0010]同時(shí),協(xié)同推薦方法的共同缺點(diǎn)首選是:
[0011]對(duì)于用戶量很少的應(yīng)用而言,尚無(wú)任何用戶對(duì)其進(jìn)行評(píng)價(jià)/閱讀的新文檔無(wú)法得到正確推薦;
[0012]其次是,針對(duì)新聞一類的文本類信息,根本不使用可以被方便處理的內(nèi)容信息,對(duì)于用戶興趣偏好的把握而言,是一個(gè)不小的損失。
[0013]因此,需要提供一種搜索更高效、結(jié)果更準(zhǔn)確的漢語(yǔ)新聞推薦系統(tǒng)。
【發(fā)明內(nèi)容】
[0014]為克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種輕量級(jí)圖片搜索方法。
[0015]實(shí)現(xiàn)上述目的所采用的解決方案為:
[0016]—種漢語(yǔ)新聞推薦系統(tǒng),其改進(jìn)之處在于:所述系統(tǒng)包括用于收集數(shù)據(jù)、記錄用戶偏好并更新推薦模塊的學(xué)習(xí)層、用于存儲(chǔ)系統(tǒng)數(shù)據(jù)的數(shù)據(jù)層及用于生成新聞推薦列表的推薦層;
[0017]所述推薦層包括根據(jù)用戶請(qǐng)求返回推薦新聞列表的候選生成器及調(diào)用偏好模塊對(duì)所述推薦新聞列表進(jìn)行排序的聚集器。
[0018]進(jìn)一步的,所述學(xué)習(xí)層包括記錄器、注冊(cè)器、更新器和學(xué)習(xí)器。
[0019]進(jìn)一步的,所述記錄器用于在數(shù)據(jù)層中寫入新聞信息;所述注冊(cè)器用于在數(shù)據(jù)層中維護(hù)用戶信息;
[0020]所述更新器用于獲取用戶偏好數(shù)據(jù),將所述用戶偏好數(shù)據(jù)存入所述數(shù)據(jù)層的用戶偏好及根據(jù)獲取的用戶偏好數(shù)據(jù)計(jì)算出新聞間的物品相關(guān)度;
[0021]用于訓(xùn)練偏好模型的學(xué)習(xí)器包括用于訓(xùn)練基于模型的推薦模型的聚類器和用于訓(xùn)練基于內(nèi)容的推薦模型的分類器。
[0022]進(jìn)一步的,所述聚類器讀取所述用戶偏好和所述用戶信息,根據(jù)所述用戶偏好周期性的對(duì)用戶進(jìn)行聚類學(xué)習(xí),將聚類結(jié)果和每個(gè)類對(duì)各文章的偏好信息分別更新到用戶組和組偏好;
[0023]所述分類器,周期性讀取用戶信息和推薦歷史,學(xué)習(xí)形成分類模型,并將所述分類模型更新到用戶屬性。
[0024]進(jìn)一步的,所述數(shù)據(jù)層包括存儲(chǔ)所述推薦系統(tǒng)的數(shù)據(jù)的分布式數(shù)據(jù)庫(kù);
[0025]所述分布式數(shù)據(jù)庫(kù)的字段包括物品信息、用戶信息、用戶偏好信息、物品相關(guān)度信息、用戶組、組偏好、用戶屬性和推薦歷史。
[0026]進(jìn)一步的,所述物品信息,用于記錄每篇新聞的包括編號(hào)、分類、來(lái)源、時(shí)間、重復(fù)次數(shù)和內(nèi)容的信息;
[0027]所述用戶信息,用于記錄用戶的包括編號(hào)的信息;
[0028]所述用戶偏好,用于記錄每個(gè)用戶對(duì)每篇文章的偏好信息;
[0029]所述物品相關(guān)度,用于存放根據(jù)用戶偏好計(jì)算出來(lái)的新聞兩兩之間的相關(guān)度值;
[0030]所述用戶組和所述組偏好,分別用于存放聚類算法處理用戶偏好數(shù)據(jù)后得到的用戶分組信息和每個(gè)組對(duì)各篇文章的偏好程度;
[0031]所述用戶屬性,用于存放基于內(nèi)容的每個(gè)用戶的推薦模型;
[0032]所述推薦歷史,用于記錄推薦給每個(gè)用戶的文檔歷史。
[0033]進(jìn)一步的,收到所述聚集器的請(qǐng)求后,所述候選生成器從系統(tǒng)的新聞中選取一個(gè)區(qū)分新聞質(zhì)量的候選新聞列表;
[0034]收到所述候選新聞列表后,所述聚集器通過(guò)調(diào)用基于記憶的協(xié)同過(guò)濾器、基于模型的協(xié)同過(guò)濾器和基于內(nèi)容的信息過(guò)濾器分別對(duì)所述候選新聞列表進(jìn)行用戶偏好分值預(yù)測(cè),綜合后獲得用戶偏好分值預(yù)測(cè)值,將按所述用戶偏好分值預(yù)測(cè)值排序后的所述候選新聞列表輸出給前端展示;
[0035]進(jìn)一步的,所述基于記憶的協(xié)同過(guò)濾器用于捕獲用戶的短期興趣,根據(jù)用戶偏好數(shù)據(jù)和所述新聞間的相關(guān)度預(yù)測(cè)用戶對(duì)每篇候選文章的偏好。
[0036]進(jìn)一步的,所述基于模型的協(xié)同過(guò)濾器用于捕獲用戶的長(zhǎng)期興趣,根據(jù)所述用戶組和組偏好對(duì)候選文章的偏好來(lái)預(yù)測(cè)用戶對(duì)候選文章的偏好。
[0037]進(jìn)一步的,所述基于內(nèi)容的信息過(guò)濾器根據(jù)分類器所學(xué)到的分類模型和新聞內(nèi)容,將候選新聞分類為用戶偏好新聞和非用戶偏好新聞。
[0038]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
[0039]1、本發(fā)明的系統(tǒng)可行的融合了基于內(nèi)容、基于記憶和基于模型等3類推薦方法的漢語(yǔ)新聞推薦系統(tǒng),在避免了上述三種模型的缺陷的基礎(chǔ)上,發(fā)揚(yáng)了各自的優(yōu)點(diǎn),且并沒有增加系統(tǒng)負(fù)擔(dān)。
[0040]2、本發(fā)明的系統(tǒng)既保證對(duì)用戶短期興趣和長(zhǎng)期興趣的準(zhǔn)確刻畫,也要能夠充分利用新聞的內(nèi)容來(lái)提高推薦的準(zhǔn)確性并減小新文檔不能被準(zhǔn)確推薦的風(fēng)險(xiǎn),且保證在用戶量較小的情況下,能夠有效地完成新聞的個(gè)性化推薦。
[0041]3、與僅使用基于內(nèi)容的新聞推薦系統(tǒng)相比,本發(fā)明的系統(tǒng)可以有效地把握用戶的短期興趣,且使得推薦的內(nèi)容更為豐富多樣。
[0042]4、與僅使用協(xié)同推薦方法的新聞推薦系統(tǒng)相比,本發(fā)明的系統(tǒng)可有效解決因用戶量較少導(dǎo)致推薦不準(zhǔn)確以及新文檔不能被有效推薦的問題,同時(shí)還很好地利用了新聞本身的信息,讓推薦結(jié)果具有更好的可解釋性。
[0043]5、本發(fā)明的系統(tǒng)可同時(shí)把握了用戶的長(zhǎng)、短期興趣;且能很好地解決在用戶量較小情況下的個(gè)性化推薦問題和新文檔的準(zhǔn)確推薦問題。
[0044]6、本發(fā)明的系統(tǒng)具有很高的可擴(kuò)展性,可通過(guò)增加機(jī)器的方法應(yīng)對(duì)用戶量及數(shù)據(jù)量激增的情況。
[0045]7、本發(fā)明的系統(tǒng)具有很強(qiáng)的通用性,可以方便得應(yīng)用于其他內(nèi)容(如博文、小說(shuō)等)的個(gè)性化推薦。
【附圖說(shuō)明】
[0046]圖1為本實(shí)施例中新聞推薦基本流程圖;
[0047]圖2為本實(shí)施例中學(xué)習(xí)器的數(shù)據(jù)處理流程圖;
[0048]圖3為本實(shí)施例中聚集器的數(shù)據(jù)處理流程圖
[0049]圖4為本實(shí)施中基于記憶、模型、內(nèi)容推薦模塊的推薦系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0050]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】做進(jìn)一步的詳細(xì)說(shuō)明。
[0051]本發(fā)明提供一種基于內(nèi)容、基于記憶和基于模型三種推薦方法的漢語(yǔ)新聞內(nèi)容推薦系統(tǒng)。該系統(tǒng)主要包括聚集器和學(xué)習(xí)器。
[0052]如圖1所示,圖1為本實(shí)施例中新聞推薦基本流程圖;該漢語(yǔ)新聞推薦系統(tǒng)主要包括聚集器和學(xué)習(xí)器。
[0053]聚集器,用于處理用戶發(fā)送的請(qǐng)求。
[0054]聚集器根據(jù)用戶的興趣模型從候選新聞列表中篩選出一個(gè)考慮用戶偏好的新聞列表,將其推薦給用戶。
[0055]學(xué)習(xí)器,用于生成用戶的興趣模型。
[0056]學(xué)習(xí)器從用戶的閱讀記錄中提取出相應(yīng)的能夠預(yù)測(cè)用戶對(duì)新文檔的喜好程度的模型,即用戶偏好模型。
[0057]學(xué)習(xí)器根據(jù)用戶偏好數(shù)據(jù),即用戶在新聞閱讀過(guò)程中產(chǎn)生的一條或多條點(diǎn)擊事件的記錄,訓(xùn)練生成新的偏好模型,偏好模型的訓(xùn)練周期性進(jìn)行。
[0058]上述用戶偏好數(shù)據(jù),具體包括評(píng)分或點(diǎn)擊的數(shù)據(jù);系統(tǒng)對(duì)用戶偏好的評(píng)分包括以下情況:
[0059]①、顯式評(píng)分:若有評(píng)分系統(tǒng),可根據(jù)實(shí)際情況給用戶評(píng)分,如根據(jù)各情況給定的分值分別為I?5 ;
[0060]②、隱式評(píng)分:若沒有評(píng)分系統(tǒng),則可以把用戶點(diǎn)擊/訪問作為I分,用戶未點(diǎn)擊/訪問作為O分。上述評(píng)分具體分值可根據(jù)各系統(tǒng)設(shè)定。
[0061 ] 如圖2所示,圖2為本實(shí)施例中學(xué)習(xí)器的數(shù)據(jù)處理流程圖;學(xué)習(xí)器包括聚類器和分類器。
[0062]聚類器,讀取用戶偏好信息和用戶信息,周期性發(fā)起按用戶偏好對(duì)用戶進(jìn)行聚類分組的學(xué)習(xí)過(guò)程,并用聚類結(jié)果和每個(gè)類對(duì)各文章的偏好信息分別更新用戶組和組偏好。
[0063]為處理大規(guī)模的用戶偏好信息,聚類算法采用分布式編程模型(如MapReduce)來(lái)實(shí)現(xiàn),可直接使用hadoop生態(tài)圈中已有的基于MapReduce的機(jī)器學(xué)習(xí)包Mahout來(lái)完成。
[0064]分類器,周期性地讀取每個(gè)用戶的用戶信息和閱讀歷史,閱讀歷史包括用戶偏好、推薦歷史及文檔信息,啟動(dòng)學(xué)習(xí)分類器的過(guò)程,將學(xué)習(xí)好的分類器更新到用戶屬性。
[0065]與聚類類似,也使用分布式模型(如基于MapReduce的機(jī)器學(xué)習(xí)包Mahout)來(lái)實(shí)現(xiàn)。
[0066]學(xué)習(xí)過(guò)程包括:
[0067](I)、前端獲取用戶每次閱讀事件,即點(diǎn)擊的新聞,作為新的用戶偏好數(shù)據(jù)發(fā)送給更新t吳塊。
[0068](2)、更新模塊將新的用戶點(diǎn)擊的新聞(一條或多條點(diǎn)擊事件記錄,即為偏好數(shù)據(jù))填入數(shù)據(jù)庫(kù)中的用戶偏好;
[0069]存入用戶偏好后,根據(jù)更新的數(shù)據(jù)計(jì)算出基于記憶的推薦模型存入數(shù)據(jù)庫(kù)的物品相關(guān)度中,該模型形式為文檔與文檔間相關(guān)性的矩陣,該模型用于捕獲用戶的短期興趣。
[0070]本實(shí)施例中,提供一種最簡(jiǎn)單的模型計(jì)算方法,該方法包括:
[0071]假設(shè)用戶A閱讀了新聞B,則將用戶A閱讀的所有新聞Cl,C2,...,Cn,與B分別組成對(duì)(Cl,B),(C2,B),...,(Cn,B),然后在模型(該模型為所有新聞與新聞構(gòu)成的一個(gè)矩陣)中將這些對(duì)所對(duì)應(yīng)的位置處的權(quán)重加I。
[0072]根據(jù)系統(tǒng)需求,可有其他策略,包括減小矩陣規(guī)模,按時(shí)間對(duì)權(quán)值進(jìn)行衰減等。
[0073](3)、學(xué)習(xí)器定期獲取用戶偏好數(shù)據(jù),訓(xùn)練生成新的偏好模型,分別為:
[0074]學(xué)習(xí)器的聚類器,用于訓(xùn)練基于模型的推薦模型;
[0075]學(xué)習(xí)器的分類器,用于訓(xùn)練基于內(nèi)容的推薦模型,該推薦模型為一個(gè)分類模型。
[0076]聚類器運(yùn)用聚類算法,如k-means、圖聚類、譜聚類、fuzzy k_means、層次聚類、主題模型聚類等,將一堆數(shù)據(jù)按照數(shù)據(jù)間的距離分成若干堆。
[0077]分類器運(yùn)用分類算法,如最近鄰、樸素貝葉斯、svm、決策樹等,根據(jù)事先準(zhǔn)備好的數(shù)據(jù)學(xué)習(xí)出分類模型(這一步應(yīng)該屬于學(xué)習(xí)層),然后使用分類模型對(duì)新的數(shù)據(jù)進(jìn)行分類(這一步應(yīng)該屬于推薦層),即分類器負(fù)責(zé)學(xué)習(xí)出分類模型,推薦層中的基于內(nèi)容的信息過(guò)濾器使用分類模型對(duì)新數(shù)據(jù)進(jìn)行分類。
[0078](4)、學(xué)習(xí)器將新訓(xùn)練好的偏好模型,即基于模型的推薦模型和基于內(nèi)容的推薦模型,存入對(duì)應(yīng)的數(shù)據(jù)庫(kù),基于模型的推薦模型存入用戶組和組偏好,基于內(nèi)容的推薦模型存入用戶屬性。
[0079]如圖3所示,圖3本實(shí)施例中聚集器的數(shù)據(jù)處理流程圖,推薦過(guò)程主要包括:
[0080](I)、前端接收到用戶請(qǐng)求后,將其發(fā)從給聚集器。
[0081](2)、聚集器將請(qǐng)求發(fā)送給候選生成器。
[0082](3)、候選生成器根據(jù)用戶信息(如用戶id)及其他信息(如新聞質(zhì)量、網(wǎng)站權(quán)重等)為該用戶生成一個(gè)候選新聞的列表。
[0083](4)、聚集器分別調(diào)用基于記憶的協(xié)同過(guò)濾器、基于模型的協(xié)同過(guò)濾器和基于內(nèi)容的信息過(guò)濾器,預(yù)測(cè)用戶對(duì)候選新聞列表中新聞的偏好程度,聚集器對(duì)獲得的三個(gè)偏好值進(jìn)行綜合后按降序排序候選新聞,將其發(fā)送給前端。
[0084]本實(shí)施例中還提供了融合協(xié)同推薦方法的推薦系統(tǒng)。融合協(xié)同推薦方法提高系統(tǒng)的可擴(kuò)展性,實(shí)例系統(tǒng)采用分布式計(jì)算平臺(tái)作為其基本的存儲(chǔ)和計(jì)算平臺(tái)。
[0085]如圖4所示,圖4為本實(shí)施中基于記憶、模型、內(nèi)容的推薦模型的推薦系統(tǒng)結(jié)構(gòu)示意圖;該推薦系統(tǒng)具體包括:學(xué)習(xí)層、數(shù)據(jù)層和推薦層。
[0086]—、數(shù)據(jù)(data)層
[0087]數(shù)據(jù)層,用于存儲(chǔ)推薦系統(tǒng)中所需的各類數(shù)據(jù),通過(guò)分布式存儲(chǔ)系統(tǒng)實(shí)現(xiàn)。數(shù)據(jù)存儲(chǔ)的字段主要包括:
[0088]①、物品信息(item informat1n),用于記錄每篇新聞的相關(guān)信息,包括新聞編號(hào)ID、分類、數(shù)據(jù)來(lái)源、時(shí)間、重復(fù)次數(shù)、內(nèi)容等。
[0089]②、用戶信息(user informat1n),用于記錄用戶的相關(guān)信息,包括用戶編號(hào)UID等。
[0090]③、用戶偏好(user preference),用于記錄每個(gè)用戶對(duì)每篇文章的偏好(評(píng)分或點(diǎn)擊)信息,包括點(diǎn)擊時(shí)間、評(píng)價(jià)時(shí)間等,實(shí)現(xiàn)上可采用稀疏矩陣。
[0091]④、物品相關(guān)度(item similarity),作為支持基于記憶的協(xié)同過(guò)濾器的核心數(shù)據(jù),該字段用于存放根據(jù)用戶偏好計(jì)算出來(lái)的新聞兩兩之間的相關(guān)度值。
[0092]⑤、用戶組(user group),用于存儲(chǔ)存放聚類算法處理用戶偏好數(shù)據(jù)后得到的用戶分組信息,包括組編號(hào)GID等;
[0093]⑥、組偏好(group preference),用于存放聚類算法處理用戶偏好數(shù)據(jù)后得到的用戶分組信息和每個(gè)組對(duì)各篇文章的偏好程度;
[0094]上述用戶組和組偏好是支持基于模型的協(xié)同過(guò)濾器的核心數(shù)據(jù)。
[0095]⑦、用戶屬性(user profile),作為支持基于內(nèi)容的信息過(guò)濾器的核心數(shù)據(jù),用于存放基于內(nèi)容的每個(gè)用戶的推薦模型(通常為文本分類器)。
[0096]⑧、推薦歷史(recommend history),用于記錄推薦給每個(gè)用戶的文檔的歷史,具體包括用戶喜歡/點(diǎn)擊的、不喜歡/未點(diǎn)擊的新聞。
[0097]二、學(xué)習(xí)(Iearn)層
[0098]學(xué)習(xí)層,用于收集各類數(shù)據(jù)、記錄用戶偏好及更新推薦模塊,通過(guò)采用分布式存儲(chǔ)系統(tǒng)及MapReduce程序?qū)崿F(xiàn)。學(xué)習(xí)層主要包括以下模塊:
[0099]①、記錄器(recorder),將每篇新聞的相關(guān)信息寫入物品信息中。
[0100]②、注冊(cè)器(register),負(fù)責(zé)維護(hù)(增刪等)用戶信息,將其存入用戶信息。
[0101]③、更新器(updater),負(fù)責(zé)數(shù)據(jù)層獲取用戶偏好信息,并將偏好信息存入用戶偏好,同時(shí)要負(fù)責(zé)按照新的用戶偏好計(jì)算并更新(實(shí)時(shí)或半實(shí)時(shí))新聞間的物品相關(guān)度。
[0102]④、聚類器(clusterer),周期性(如按半天或天為間隔)發(fā)起按偏好對(duì)用戶進(jìn)行聚類(分組)的學(xué)習(xí)過(guò)程,并用聚類結(jié)果和每個(gè)類對(duì)各文章的偏好信息分別更新用戶組和組偏好,需要讀取用戶偏好信息和用戶信息。
[0103]為處理大規(guī)模的用戶偏好信息,聚類算法應(yīng)采用分布式編程模型(如MapReduce)來(lái)實(shí)現(xiàn),這里可直接使用hadoop生態(tài)圈中已有的基于MapReduce的機(jī)器學(xué)習(xí)包Mahout來(lái)完成。
[0104]⑤、分類器(classifier),周期性地讀取每個(gè)用戶的閱讀歷史(需讀取用戶偏好、推薦歷史、用戶信息以及文檔信息),啟動(dòng)學(xué)習(xí)分類器的過(guò)程,并用學(xué)習(xí)好的分類器更新用戶屬性。
[0105]與聚類類似,也應(yīng)使用分布式模型(MapReduce)實(shí)現(xiàn)(利用Mahout包)。
[0106]三、推薦(reco_end)層
[0107]推薦層,用于根據(jù)用于請(qǐng)求為每個(gè)用戶的每次閱讀請(qǐng)求輸出最符合其偏好的質(zhì)量最好的新聞。推薦層通過(guò)采用分布式存儲(chǔ)系統(tǒng)的客戶端構(gòu)建。推薦層主要包括模塊:
[0108]①、候選生成器(candidates generator),負(fù)責(zé)在接收到聚集器發(fā)出的請(qǐng)求后,從系統(tǒng)的新聞中選取一個(gè)候選列表。該候選列表不具有個(gè)性化特點(diǎn),主要的目的是區(qū)分新聞的質(zhì)量(按時(shí)間、來(lái)源、長(zhǎng)度、重復(fù)次數(shù)、網(wǎng)站權(quán)重等)。
[0109]②、聚集器(ensembler),負(fù)責(zé)響應(yīng)用戶的請(qǐng)求。在收到用戶閱讀新聞的請(qǐng)求后,從候選生成器獲得候選新聞列表,然后使用基于記憶的協(xié)同過(guò)濾器、基于模型的協(xié)同過(guò)濾器和基于內(nèi)容的信息過(guò)濾器分別對(duì)推薦列表中的每篇文章進(jìn)行用戶偏好分值預(yù)測(cè),將獲得的三個(gè)分值進(jìn)行加權(quán)求和后作為每篇文章最終的偏好預(yù)測(cè)值,并將按預(yù)測(cè)值排序后的候選新聞列表輸出給前端,由前端展示個(gè)性化推薦結(jié)果。
[0110]聚集器還負(fù)責(zé)將推薦列表記錄到推薦歷史,以便分類器學(xué)習(xí)基于內(nèi)容的推薦模型。
[0111]聚集器所調(diào)用的三個(gè)推薦模塊均以分布式數(shù)據(jù)庫(kù)客戶端程序的形式建立,分別為:
[0112]基于記憶的協(xié)同過(guò)濾器(memory-based cf):根據(jù)用戶偏好數(shù)據(jù)和新聞間的相關(guān)度預(yù)測(cè)用戶對(duì)每篇候選文章的偏好。
[0113]該過(guò)濾器主要用于捕獲用戶的短期興趣,實(shí)時(shí)性要求較高,因此可對(duì)新聞間相關(guān)度進(jìn)行緩存,緩存實(shí)現(xiàn)方案可采用redis等內(nèi)存數(shù)據(jù)庫(kù)。
[0114]基于模型的協(xié)同過(guò)濾器(model-based cf):根據(jù)用戶的分組信息和分組對(duì)候選文章的偏好來(lái)預(yù)測(cè)用戶對(duì)候選文章的偏好,該推薦模塊用于捕獲用戶的長(zhǎng)期興趣。
[0115]基于內(nèi)容的信息過(guò)濾器(content-based if):根據(jù)分類器所學(xué)到的該用戶的興趣分類模型和新聞的內(nèi)容,對(duì)候選新聞進(jìn)行分類,是否為用戶偏好的新聞。
[0116]最后應(yīng)當(dāng)說(shuō)明的是:以上實(shí)施例僅用于說(shuō)明本申請(qǐng)的技術(shù)方案而非對(duì)其保護(hù)范圍的限制,盡管參照上述實(shí)施例對(duì)本申請(qǐng)進(jìn)行了詳細(xì)的說(shuō)明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:本領(lǐng)域技術(shù)人員閱讀本申請(qǐng)后依然可對(duì)申請(qǐng)的【具體實(shí)施方式】進(jìn)行種種變更、修改或者等同替換,但這些變更、修改或者等同替換,均在申請(qǐng)待批的權(quán)利要求保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述系統(tǒng)包括用于收集數(shù)據(jù)、記錄用戶偏好并更新推薦模塊的學(xué)習(xí)層、用于存儲(chǔ)系統(tǒng)數(shù)據(jù)的數(shù)據(jù)層及用于生成新聞推薦列表的推薦層; 所述推薦層包括根據(jù)用戶請(qǐng)求返回推薦新聞列表的候選生成器及調(diào)用偏好模塊對(duì)所述推薦新聞列表進(jìn)行排序的聚集器。2.如權(quán)利要求1所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述學(xué)習(xí)層包括記錄器、注冊(cè)器、更新器和學(xué)習(xí)器。3.如權(quán)利要求1所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述記錄器用于在數(shù)據(jù)層中寫入新聞信息;所述注冊(cè)器用于在數(shù)據(jù)層中維護(hù)用戶信息; 所述更新器用于獲取用戶偏好數(shù)據(jù),將所述用戶偏好數(shù)據(jù)存入所述數(shù)據(jù)層的用戶偏好及根據(jù)獲取的用戶偏好數(shù)據(jù)計(jì)算出新聞間的物品相關(guān)度; 用于訓(xùn)練偏好模型的學(xué)習(xí)器包括用于訓(xùn)練基于模型的推薦模型的聚類器和用于訓(xùn)練基于內(nèi)容的推薦模型的分類器。4.如權(quán)利要求3所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述聚類器讀取所述用戶偏好和所述用戶信息,根據(jù)所述用戶偏好周期性的對(duì)用戶進(jìn)行聚類學(xué)習(xí),將聚類結(jié)果和每個(gè)類對(duì)各文章的偏好信息分別更新到用戶組和組偏好; 所述分類器,周期性讀取用戶信息和推薦歷史,學(xué)習(xí)形成分類模型,并將所述分類模型更新到用戶屬性。5.如權(quán)利要求1所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述數(shù)據(jù)層包括存儲(chǔ)所述推薦系統(tǒng)的數(shù)據(jù)的分布式數(shù)據(jù)庫(kù); 所述分布式數(shù)據(jù)庫(kù)的字段包括物品信息、用戶信息、用戶偏好信息、物品相關(guān)度信息、用戶組、組偏好、用戶屬性和推薦歷史。6.如權(quán)利要求5所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述物品信息,用于記錄每篇新聞的包括編號(hào)、分類、來(lái)源、時(shí)間、重復(fù)次數(shù)和內(nèi)容的信息; 所述用戶信息,用于記錄用戶的包括編號(hào)的信息; 所述用戶偏好,用于記錄每個(gè)用戶對(duì)每篇文章的偏好信息; 所述物品相關(guān)度,用于存放根據(jù)用戶偏好計(jì)算出來(lái)的新聞兩兩之間的相關(guān)度值; 所述用戶組和所述組偏好,分別用于存放聚類算法處理用戶偏好數(shù)據(jù)后得到的用戶分組信息和每個(gè)組對(duì)各篇文章的偏好程度; 所述用戶屬性,用于存放基于內(nèi)容的每個(gè)用戶的推薦模型; 所述推薦歷史,用于記錄推薦給每個(gè)用戶的文檔歷史。7.如權(quán)利要求1所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:收到所述聚集器的請(qǐng)求后,所述候選生成器從系統(tǒng)的新聞中選取一個(gè)區(qū)分新聞質(zhì)量的候選新聞列表; 收到所述候選新聞列表后,所述聚集器通過(guò)調(diào)用基于記憶的協(xié)同過(guò)濾器、基于模型的協(xié)同過(guò)濾器和基于內(nèi)容的信息過(guò)濾器分別對(duì)所述候選新聞列表進(jìn)行用戶偏好分值預(yù)測(cè),綜合后獲得用戶偏好分值預(yù)測(cè)值,將按所述用戶偏好分值預(yù)測(cè)值排序后的所述候選新聞列表輸出給前端展示。8.如權(quán)利要求7所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述基于記憶的協(xié)同過(guò)濾器用于捕獲用戶的短期興趣,根據(jù)用戶偏好數(shù)據(jù)和所述新聞間的相關(guān)度預(yù)測(cè)用戶對(duì)每篇候選文章的偏好。9.如權(quán)利要求7所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述基于模型的協(xié)同過(guò)濾器用于捕獲用戶的長(zhǎng)期興趣,根據(jù)所述用戶組和組偏好對(duì)候選文章的偏好來(lái)預(yù)測(cè)用戶對(duì)候選文章的偏好。10.如權(quán)利要求7所述的一種漢語(yǔ)新聞推薦系統(tǒng),其特征在于:所述基于內(nèi)容的信息過(guò)濾器根據(jù)分類器所學(xué)到的分類模型和新聞內(nèi)容,將候選新聞分類為用戶偏好新聞和非用戶偏好新聞。
【文檔編號(hào)】G06F17/30GK105989056SQ201510063902
【公開日】2016年10月5日
【申請(qǐng)日】2015年2月6日
【發(fā)明人】趙毅強(qiáng), 許歡慶, 郭永福, 陳沛
【申請(qǐng)人】北京中搜網(wǎng)絡(luò)技術(shù)股份有限公司