国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于HBase的實(shí)時(shí)消息推薦系統(tǒng)*

2014-02-16 09:19:14郭若男王晶沈奇威
關(guān)鍵詞:分詞特征向量消息

郭若男,王晶,沈奇威

(1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876; 2 東信北郵信息技術(shù)有限公司,北京 100191)

基于HBase的實(shí)時(shí)消息推薦系統(tǒng)*

郭若男1,2,王晶1,2,沈奇威1,2

(1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876; 2 東信北郵信息技術(shù)有限公司,北京 100191)

在現(xiàn)有的推薦系統(tǒng)中,基于用戶興趣模型都能夠表達(dá)出用戶的興趣,但在用戶興趣發(fā)生變化時(shí)卻不能夠及時(shí)更新模型。提出基于用戶反饋內(nèi)容來(lái)實(shí)時(shí)更新用戶興趣的消息推薦系統(tǒng),通過實(shí)時(shí)更新模型和特征向量進(jìn)而得到用戶當(dāng)前最匹配的推薦結(jié)果。并使用HBase(Hadoop Database)作為存儲(chǔ),能更好地適應(yīng)數(shù)據(jù)規(guī)模的增長(zhǎng)。

用戶興趣; 實(shí)時(shí)推薦系統(tǒng); HBase

1 引言

隨著互聯(lián)網(wǎng)的飛速發(fā)展和計(jì)算機(jī)的日益普及,信息也正在呈爆炸式增長(zhǎng),WWW已經(jīng)發(fā)展成為包含多種信息資源、站點(diǎn)遍布全球的巨大信息服務(wù)網(wǎng)絡(luò)。與此同時(shí),新社交媒體越來(lái)越流行,可以從中獲得大量豐富多彩的信息同時(shí),也帶來(lái)了嚴(yán)重的“信息過載”問題。推薦系統(tǒng)作為緩解信息過載最有效的方法之一,在社交媒體中的作用也日趨重要?,F(xiàn)有的推薦系統(tǒng)雖然能夠給用戶進(jìn)行個(gè)性化的推薦,但是在用戶行為發(fā)生變化時(shí)卻不能很好的更新推薦結(jié)果。

本文針對(duì)實(shí)時(shí)個(gè)性化推薦提出了一種解決方案,其特色主要體現(xiàn)在實(shí)時(shí)消息處理、實(shí)時(shí)用戶反饋處理、推薦結(jié)果實(shí)時(shí)更新等3個(gè)方面。此外,本文融合了多達(dá)20種信息來(lái)源,例如技術(shù)博客、新浪微博、科技網(wǎng)站以及各大BBS等,使用戶不僅可以靈活訂閱不同的消息源,并且能夠通過不同的平臺(tái)入口閱讀個(gè)性化消息并進(jìn)行評(píng)分、收藏等多種反饋。本文提出兩種平臺(tái)入口分別是微信應(yīng)用、網(wǎng)站兩種,能夠更好的適應(yīng)手機(jī)端用戶和PC端用戶的需求。

2 設(shè)計(jì)目標(biāo)

提供實(shí)時(shí)個(gè)性化消息推薦服務(wù),需要解決以下幾個(gè)關(guān)鍵問題:(1)信息有一定時(shí)效性,系統(tǒng)需要獲取較新的優(yōu)質(zhì)消息;(2)系統(tǒng)能夠處理并存儲(chǔ)爬蟲獲取的實(shí)時(shí)消息;(3)不同用戶偏好的消息源不一樣,系統(tǒng)需要提供不同的消息源并允許用戶選擇訂閱;(4)系統(tǒng)能夠檢測(cè)用戶的反饋信息,并據(jù)此在線更新算法模型及推薦結(jié)果;(5)系統(tǒng)應(yīng)能夠支持不同的應(yīng)用入口,并保證同一個(gè)用戶從不同入口閱讀的消息是一致的。

隨著各種社交媒體的興起,用戶隨時(shí)隨地都能獲取到信息。本文有效地整合了不同渠道的消息,包括技術(shù)博客、新浪微博、科技網(wǎng)站和一些大型論壇,并從中給用戶推薦最匹配的消息,具有一定的實(shí)踐意義。

3 系統(tǒng)設(shè)計(jì)

3.1 系統(tǒng)設(shè)計(jì)圖

系統(tǒng)設(shè)計(jì)如圖1所示。系統(tǒng)根據(jù)功能的不同劃分為5層,分別是消息源獲取層、特征工程層、推薦層、服務(wù)層和應(yīng)用層。圖1中的箭頭方向表示數(shù)據(jù)的流向。在消息源獲取層和特征工程層之間的通信是通過操作KeyValue數(shù)據(jù)庫(kù)HBase[1]以及調(diào)用模塊提供的API實(shí)現(xiàn),而在其他層次之間是通過調(diào)用API來(lái)進(jìn)行通信的。本推薦系統(tǒng)有兩個(gè)應(yīng)用入口,分別是微信端公眾號(hào)以及網(wǎng)站應(yīng)用。

3.1.1 消息源獲取層

本文設(shè)計(jì)的推薦系統(tǒng)包含多種數(shù)據(jù)源,如技術(shù)博客、新浪微博、科技網(wǎng)站以及各大BBS論壇等。首先由多個(gè)爬蟲通過爬取不同的網(wǎng)站獲取數(shù)據(jù),其次將獲取的數(shù)據(jù)實(shí)時(shí)地傳送到推薦系統(tǒng)中,并根據(jù)一定的過濾策略最終作為帶推薦的消息存儲(chǔ)到HBase中。

3.1.2 特征工程層

特征工程一直是推薦系統(tǒng)中比較重要的一部分。在推薦系統(tǒng)中,按照種類劃分特征分為用戶特征和推薦的消息特征。本系統(tǒng)是根據(jù)用戶的興趣進(jìn)行消息推薦的,因此用戶特征選擇是采用用戶發(fā)表的所有新浪微博數(shù)據(jù)作為特征集[2~4]。同樣的,消息的特征是基于消息內(nèi)容來(lái)構(gòu)造能夠表達(dá)消息類型的向量。

基于文本內(nèi)容構(gòu)造特征向量的流程是分詞、過濾、通過一定的算法構(gòu)造詞典向量。常用的分詞模型有Lucene開源的IK分詞器以及中科院的Ansj分詞器[5]。之后過濾分詞結(jié)果,忽略不重要的詞及敏感詞,得到干凈的分詞結(jié)果。最后,使用TF-IDF或Google開源的Word2Vec工具訓(xùn)練得到詞典向量[6,7]。由根據(jù)詞典得到詞的向量并累加向量將得到代表文本內(nèi)容的向量。由于新媒體及網(wǎng)絡(luò)熱點(diǎn)的影響,詞典向量需要定時(shí)更新,可以將最近的幾個(gè)月所獲取的所有消息數(shù)據(jù)作為訓(xùn)練集,每個(gè)月離線訓(xùn)練來(lái)更新詞典向量。

3.1.3 推薦層

推薦層提供了不同的推薦算法模型,并根據(jù)不同的向量類型來(lái)選擇具體模型進(jìn)行推薦和在線訓(xùn)練。此外,推薦層為每個(gè)用戶維護(hù)一個(gè)候選消息列表,并且只能從候選消息列表中生成推薦結(jié)果。每當(dāng)系統(tǒng)檢測(cè)到一條新的消息,倘若用戶訂閱了該類型的消息源,則更新該用戶的候選消息列表,并按照相似度從高到低存儲(chǔ)。因此候選消息列表是實(shí)時(shí)更新的并且有序,保證了推薦的速度及質(zhì)量。

圖1 系統(tǒng)設(shè)計(jì)圖

3.1.4 服務(wù)層

服務(wù)層為應(yīng)用層提供統(tǒng)一服務(wù),方便整個(gè)系統(tǒng)的擴(kuò)展與融合,其服務(wù)包括用戶管理服務(wù)和消息管理服務(wù)。用戶管理包括用戶的注冊(cè)、綁定微博、激活與禁用; 消息管理包括接收實(shí)時(shí)爬取的消息、查看新的消息、查看歷史消息、評(píng)分與收藏。

3.1.5 應(yīng)用層

在服務(wù)層和應(yīng)用層之間采用Thrift通信協(xié)議,實(shí)現(xiàn)了C/S模式[8]。應(yīng)用層作為服務(wù)層的客戶端,包含兩個(gè)應(yīng)用分別是微信公眾號(hào)和網(wǎng)站應(yīng)用。本推薦系統(tǒng)具有良好的獨(dú)立性和擴(kuò)展性,能夠非常方便的增添和刪除一個(gè)應(yīng)用而不影響核心的推薦服務(wù)。

3.2 平臺(tái)各功能模塊功能具體分析

3.2.1 消息存儲(chǔ)模塊

本系統(tǒng)融合多種消息源,并支持用戶訂閱??紤]到快速的數(shù)據(jù)增長(zhǎng)速率以及龐大的數(shù)據(jù)規(guī)模,因此采用HBase作為存儲(chǔ)。HBase能夠支持海量數(shù)據(jù)的分布式實(shí)時(shí)存儲(chǔ),查詢速度較快;并且HBase是面向列的KeyValue數(shù)據(jù)庫(kù),可以存儲(chǔ)異構(gòu)數(shù)據(jù)并且方便范圍查詢。這些特性剛好解決了消息存儲(chǔ)模塊存在的問題。

HBase表是根據(jù)key從小到大有序排列的[9]。本文中,所有消息源的數(shù)據(jù)都存儲(chǔ)在同一張HBase表中。表的Rowkey是由3部分組成,分別是消息類型、Long的最大值減去消息創(chuàng)建時(shí)間、消息ID。這樣可以保證納入到系統(tǒng)中的消息ID是唯一的,并使得最新的消息在前面,以及同一個(gè)類型的消息源集中在某一個(gè)區(qū)域塊(即Region),能夠有效的減少掃描數(shù)據(jù)源的時(shí)間,提高效率。

3.2.2 用戶特征模塊

UserFeatureProvider是用戶特征模塊,負(fù)責(zé)維護(hù)所有用戶的特征向量,并對(duì)外部事件提供實(shí)時(shí)響應(yīng)。相關(guān)的外部事件包括新注冊(cè)用戶、查詢用戶的特征向量以及根據(jù)用戶的反饋信息相應(yīng)的更新特征向量。

3.2.3 消息特征模塊

MessageFeatureProvider是消息特征模塊,負(fù)責(zé)過濾、存儲(chǔ)以及查詢實(shí)時(shí)消息的特征向量。采用HBase作為存儲(chǔ)以解決消息的高速增長(zhǎng)速度所帶來(lái)的影響。為了提供高質(zhì)量的消息,將會(huì)對(duì)消息的字長(zhǎng)、敏感詞等多個(gè)維度進(jìn)行限制并過濾。持久化消息的特征向量時(shí),使用批量提交的方式以提高存儲(chǔ)速度。

3.2.4 算法模型

ModelProvider是算法模型模塊,負(fù)責(zé)維護(hù)多個(gè)算法模型。本模塊啟動(dòng)時(shí),將會(huì)讀取對(duì)應(yīng)配置文件進(jìn)行初始化指定的算法模型。不同的模型有不同參數(shù)及計(jì)算方法,并支持在線訓(xùn)練與離線計(jì)算。

3.2.5 候選消息隊(duì)列模塊

MessageCandidateIndex是候選消息隊(duì)列模塊,負(fù)責(zé)維護(hù)每個(gè)用戶對(duì)應(yīng)的候選消息集合。其中候選消息集合是根據(jù)推薦結(jié)果從高到低排序后的結(jié)果。該模塊能夠?qū)崟r(shí)更新并查詢每個(gè)用戶的候選集。

3.2.6 推薦引擎模塊

RecommendationEngine是推薦引擎模塊,作為整個(gè)推薦系統(tǒng)的控制中心,負(fù)責(zé)對(duì)外提供推薦服務(wù)。先獲取用戶的特征向量以及該用戶的候選消息隊(duì)列,其次獲取對(duì)應(yīng)的模型列表并進(jìn)行計(jì)算推薦結(jié)果。最終根據(jù)過濾規(guī)則再次對(duì)等待推薦的消息進(jìn)行過濾。其中過濾規(guī)則包括兩方面,一是已經(jīng)推薦過的消息不再推薦,一是對(duì)內(nèi)容相似度很高的消息去重。最終生成推薦結(jié)果提供給請(qǐng)求方。

3.2.7 服務(wù)與應(yīng)用模塊

服務(wù)層采用Thrift技術(shù)作為通信協(xié)議,實(shí)現(xiàn)了C/ S模式。其中服務(wù)模塊作為Server端向外部應(yīng)用提供服務(wù);應(yīng)用模塊最為Client端來(lái)使用服務(wù)包括用戶的注冊(cè)、綁定微博、激活與禁用、接收實(shí)時(shí)爬取的消息、查看新的消息、查看歷史消息、評(píng)分與收藏。應(yīng)用模塊包含兩個(gè)應(yīng)用,分別是微信公眾號(hào)和網(wǎng)站應(yīng)用。應(yīng)用模塊具有很強(qiáng)的擴(kuò)展性,極大的方便開發(fā)人員增添或移除一個(gè)應(yīng)用。

4 結(jié)束語(yǔ)

本文提出了一個(gè)實(shí)時(shí)消息推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案,使用HBase數(shù)據(jù)庫(kù)作為存儲(chǔ)以便能更好地應(yīng)對(duì)快速增長(zhǎng)的數(shù)據(jù)并保證讀取速度盡量不受影響。為了提高推薦結(jié)果的準(zhǔn)確性,本系統(tǒng)充分利用用戶的反饋數(shù)據(jù),及時(shí)更新推薦模型、特征向量和推薦結(jié)果。基于該實(shí)現(xiàn)方案,用戶能夠從多個(gè)平臺(tái)入口來(lái)閱讀個(gè)性化消息并支持評(píng)分、收藏等功能,具有良好的擴(kuò)展性。然而,本系統(tǒng)中特征向量主要基于內(nèi)容生成,并沒有充分利用用戶的個(gè)人信息及社交網(wǎng)絡(luò)信息,導(dǎo)致特征向量類型單一,從而降低了推薦結(jié)果的新穎度,未來(lái)工作中將對(duì)此加以改進(jìn)。

[1] 羅燕新. 基于HBase的列存儲(chǔ)壓縮算法的研究與實(shí)現(xiàn)[D]. 華南理工大學(xué),2011.

[2] 林霜梅. 個(gè)性化推薦系統(tǒng)中的用戶建模及特征選擇[D]. 上海交通大學(xué),2007.

[3] 趙巖露, 等. 基于特征分析的微博用戶興趣發(fā)現(xiàn)算法[J]. 電信工程技術(shù)與標(biāo)準(zhǔn)化,2012(11).

[4] 李峰. 基于隱式反饋的自適應(yīng)用戶興趣模型[J]. 計(jì)算機(jī)工程與應(yīng)用,2008(9).

[5] 向暉. 基于Lucene的中文字典分詞模塊的設(shè)計(jì)與實(shí)現(xiàn)[J]. 華中科技大學(xué),2006,8.

[6] 修馳. 適應(yīng)與不同領(lǐng)域的中文分詞方法研究與實(shí)現(xiàn)[J]. 北京工業(yè)大學(xué),2013,6.

[7] 鄭文超. 利用word2vec對(duì)中文詞進(jìn)行聚類的研究[J]. 北京郵電大學(xué),2013,12.

[8] 劉書楠. Thrift的入門簡(jiǎn)介[J],上海東華大學(xué),2013,1.

[9] 卓海藝. 基于HBase的海量數(shù)據(jù)實(shí)時(shí)查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].北京郵電大學(xué),2013,2.

Real-time recommendation system based on HBase

GUO Ruo-nan1,2, WANG Jing1,2, SHEN Qi-wei1,2
(1 Beijing University of Posts and Telecommunications Networking and Switching Technology, State Key Laboratory, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd., Beijing 100191, China)

The user interests models in the existing recommendation systems can express the user's interests effectively, but they can't update the user interests models in time while the user interests change. This paper proposes a recommendation system of messages depending on user’s feedback to modify user interests. It can update model and the feature vector in time, and then the most matching recommendation results for every user. In addition, the system can better adapt to the growth of the scale of data by using HBase (Hadoop Database) as storage.

user interests; real-time recommendation system; HBase

TN929.5

A

1008-5599(2014)11-0078-04

2014-10-08

國(guó)家973計(jì)劃項(xiàng)目(編號(hào):2013CB329102);國(guó)家自然科學(xué)基金資助項(xiàng)目(No. 61471063, 61372120, 61271019, 61101119, 61121001);長(zhǎng)江學(xué)者和創(chuàng)新團(tuán)隊(duì)發(fā)展計(jì)劃資助(編號(hào):IRT1049);教育部科學(xué)技術(shù)研究重點(diǎn)(重大)項(xiàng)目資助(編號(hào):MCM20130310);北京高等學(xué)校青年英才計(jì)劃項(xiàng)目(編號(hào):YETP0473)。

猜你喜歡
分詞特征向量消息
二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計(jì)——以特征值和特征向量為例
克羅內(nèi)克積的特征向量
一張圖看5G消息
結(jié)巴分詞在詞云中的應(yīng)用
一類特殊矩陣特征向量的求法
EXCEL表格計(jì)算判斷矩陣近似特征向量在AHP法檢驗(yàn)上的應(yīng)用
值得重視的分詞的特殊用法
消息
消息
消息
广东省| 靖边县| 洛川县| 东港市| 西青区| 内黄县| 白河县| 磐安县| 金门县| 江门市| 昭通市| 石嘴山市| 惠来县| 永德县| 渭南市| 阿合奇县| 偏关县| 科技| 东乌珠穆沁旗| 揭东县| 万安县| 陵川县| 铜梁县| 扶沟县| 翁牛特旗| 肃南| 陆良县| 洮南市| 东光县| 读书| 祁东县| 涿州市| 濮阳市| 景东| 郯城县| 吉木乃县| 嘉善县| 孟津县| 安徽省| 连云港市| 苍南县|