摘 要: 在Lucene的基礎(chǔ)上設(shè)計(jì)了垂直搜索引擎模型的檢索模塊,以提高檢索的質(zhì)量,改變文檔的排名,改善用戶體驗(yàn)。該模型在檢索模塊中綜合了四個(gè)方面來(lái)計(jì)算文檔得分,即主題相關(guān)度得分、網(wǎng)頁(yè)重要性得分、用戶興趣計(jì)算得分、關(guān)鍵詞位置權(quán)值得分。為了讓檢索結(jié)果更能體現(xiàn)用戶的實(shí)際需要,特別加重了用戶興趣部分的權(quán)重分值,并通過(guò)實(shí)驗(yàn)證明了改進(jìn)的檢索模塊比傳統(tǒng)的檢索更有實(shí)際效果,增強(qiáng)了垂直搜索的個(gè)性化。
關(guān)鍵詞: 用戶興趣; Lucene; 檢索; 個(gè)性化
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2012)12-34-02
Application of user interest model in retrieval module of vertical search engine
Li Xiaohong, Li Maolin
(Center of Computer; Shaoyang Medical College, Shaoyang, Hunan 422200, China)
Abstract: In this paper, retrieval module of vertical search engine model based on Lucene is designed, in order to improve the retrieval quality, change the document rank and improve the user’s experience. Four aspects are combined in this module to calculate the document score, that is, subject correlation score, webpage importance score, user interest score, key words position weight score. In order to make the retrieval results better reflect the actual needs of users, user interest part is especially aggravated. The results prove that the improved retrieval module has more practical effect than the traditional retrieval, and it enhances the vertical search personalization.
Key words: user interest; Lucene; retrieval; individualization
0 引言
搜索引擎作為網(wǎng)絡(luò)信息查詢的主要工具已經(jīng)在人類生活中占據(jù)了主導(dǎo)地位,搜索引擎的搜索質(zhì)量直接影響到用戶體驗(yàn)。垂直搜索在專業(yè)性上略勝與傳統(tǒng)的搜索引擎。本文主要改進(jìn)垂直搜索引擎的檢索模塊,在傳統(tǒng)的Lucene檢索模塊中加入Pagerank得分,關(guān)鍵詞得分,并特別加入了用戶興趣得分,建立了一個(gè)個(gè)性化的垂直搜索檢索模塊模型,從而使垂直搜索在個(gè)性化上更貼近用戶的使用習(xí)慣和興趣。
1 用戶興趣模型的建立
用戶興趣作為垂直搜索引擎當(dāng)中的一項(xiàng)個(gè)性化服務(wù),直接影響到了用戶使用該垂直搜索的體驗(yàn)[1]。用戶興趣模型的建立應(yīng)從兩個(gè)方面分析:一是用戶興趣模型能否反映用戶的真實(shí)興趣愛(ài)好;二是針對(duì)用戶查詢興趣的多變性,該模型是否能滿足變化的用戶興趣。
1.1 常用的用戶建模技術(shù)
現(xiàn)今的用戶建模技術(shù)分為三類:用戶手工定制建模、示例用戶建模和自動(dòng)用戶建模。
⑴ 用戶手工定制建模
用戶自己動(dòng)手在網(wǎng)頁(yè)上選擇或者手動(dòng)輸入自己的興趣愛(ài)好。該方法實(shí)現(xiàn)簡(jiǎn)單,得到的用戶興趣結(jié)果可靠。但是存在不足:①影響用戶體驗(yàn),一般用戶對(duì)頻繁的輸入和選擇缺乏興趣;②更新用戶模型困難,一旦用戶的興趣發(fā)生轉(zhuǎn)移,而又讓用戶重新提交網(wǎng)頁(yè)文檔會(huì)給用戶造成負(fù)擔(dān);③反映用戶興趣不全面,提供給用戶的選擇項(xiàng)本身就帶有主觀性,另外用戶選擇時(shí)也存在不能準(zhǔn)確表達(dá)的情況,這些將直接導(dǎo)致收集的用戶興趣不夠準(zhǔn)確[2]。
⑵ 示例用戶建模
示例用戶模型的建模是用戶自己提供相關(guān)的興趣愛(ài)好示例及其類別屬性。用戶在瀏覽網(wǎng)頁(yè)時(shí)標(biāo)注對(duì)頁(yè)面的感興趣程度即可得到用戶建模的示例。
⑶ 自動(dòng)用戶建模
通過(guò)留意用戶瀏覽網(wǎng)頁(yè)的內(nèi)容和瀏覽網(wǎng)頁(yè)時(shí)的行為自動(dòng)為用戶構(gòu)建一個(gè)用戶模型[5],這種建模無(wú)需用戶主動(dòng)參與,通過(guò)用戶上網(wǎng)時(shí)的行為采用數(shù)據(jù)挖掘技術(shù)自動(dòng)獲取用戶的興趣愛(ài)好。雖然這種方法會(huì)帶來(lái)一定的噪聲,影響用戶瀏覽時(shí)的速度,對(duì)建立高質(zhì)量的用戶模型也有一定的影響,但是該方法無(wú)需用戶主動(dòng)提供信息,不干擾用戶的其他操作,從用戶體驗(yàn)的角度來(lái)說(shuō)是比較好的建模方法。因此,未來(lái)建模技術(shù)的發(fā)展方向都會(huì)采用自動(dòng)建模技術(shù)。
1.2 用戶興趣行為的量化表示
通過(guò)對(duì)自動(dòng)用戶建模的相關(guān)研究發(fā)現(xiàn),用戶的興趣與用戶的行為是緊密相連的。用戶興趣可以通過(guò)用戶瀏覽該頁(yè)面的時(shí)間和拖動(dòng)滾動(dòng)條的時(shí)間來(lái)有效地反映。而通過(guò)用戶閱讀頁(yè)面平均速度能幫助建模時(shí)確定用戶興趣的等級(jí)。另外用戶查詢、標(biāo)記書(shū)簽、瀏覽頁(yè)面、點(diǎn)擊鼠標(biāo)、反饋信息、拖動(dòng)滾動(dòng)條、后退、前進(jìn)等這些行為都可以暗示用戶的愛(ài)好。用戶訪問(wèn)頁(yè)面時(shí)的停留時(shí)間、訪問(wèn)次數(shù)、保存、編輯、修改等動(dòng)作都能夠揭示用戶興趣[3]。
通過(guò)以上分析,將用戶行為用二維表格來(lái)記錄,稱用戶行為數(shù)據(jù)表[3]。數(shù)據(jù)表又分為兩種類型:基于關(guān)鍵詞的用戶行為數(shù)據(jù)表和基于文檔的用戶行為數(shù)據(jù)表。前者描述用戶在關(guān)鍵詞上的行為,其結(jié)構(gòu)如表1所示;后者描述用戶在一篇文檔上的行為,其結(jié)構(gòu)如表2所示。
表1中的數(shù)據(jù)為:用戶id號(hào)(uid)、關(guān)鍵詞(kw)、所屬主題(t)、關(guān)鍵詞因被選中而高亮顯示的次數(shù)(hlt)、關(guān)鍵詞被用戶圈住的次數(shù)(cir)和在該關(guān)鍵詞下畫(huà)下劃線的次數(shù)(udl)。
表2中的數(shù)據(jù)為:文檔id(did)、文檔所屬主題(t)、關(guān)鍵詞的單擊次數(shù)(clk)、瀏覽該文檔時(shí)間(time)、在該文檔中添加書(shū)簽的數(shù)目(bmk)、批注次數(shù)(ant)。
由于瀏覽時(shí)間受一些客觀因素的影響,因此以上時(shí)間是修正后的時(shí)間。
1.3 用戶興趣度的計(jì)算
由于用戶在瀏覽網(wǎng)頁(yè)的過(guò)程中有自己固定的愛(ài)好和使用方法,因此可以針對(duì)不同的用戶用不同的權(quán)重值來(lái)表示用戶的不同行為[4]。
⑴ 基于關(guān)鍵詞的用戶興趣計(jì)算
用戶行為權(quán)重,
,表示用戶對(duì)某主題下n個(gè)關(guān)鍵詞的行為。兩者的乘積定義為:
kw(t)=bkw*bk(t)=(kw1,kw2,…,kwn)T
基于關(guān)鍵詞的用戶興趣度為:
基于文本的用戶興趣度計(jì)算方法類同。
2 檢索模塊設(shè)計(jì)與應(yīng)用
將用戶興趣應(yīng)用到檢索模塊以改善用戶體驗(yàn),同時(shí)考慮了其他一些相關(guān)因素。
⑴ 主題相關(guān)性。
Lucene排序算法:以關(guān)鍵詞在文檔中出現(xiàn)的次數(shù)排序。
⑵ 關(guān)鍵詞在文檔中的位置。
可以通過(guò)關(guān)鍵詞在文檔中出現(xiàn)的位置和頻率得出網(wǎng)頁(yè)或文檔的權(quán)重值。
⑶ 用戶興趣。
⑷ 網(wǎng)頁(yè)的重要性。
網(wǎng)頁(yè)重要性的分值可以通過(guò)PageRank算法得到[4]。
將這四個(gè)因素綜合考慮,可設(shè)計(jì)網(wǎng)頁(yè)的排序算法如下:
Score_f=d1*luceneScore+d2*PagerankScore+
d3*keyScore+d4*yhxqScore
Score_f:文檔f總得分;
luceneScore:主題相關(guān)度得分;
PagerankScore:網(wǎng)頁(yè)重要性得分;
keyScore:關(guān)鍵詞位置權(quán)值得分;
yhxqScore:用戶興趣計(jì)算得分;
d1,d2,d3,d4表示權(quán)重系數(shù),d1+d2+d3+d4=1。
3 實(shí)驗(yàn)
將改進(jìn)的檢索算法與原Lucene檢索算法對(duì)比查全率,查準(zhǔn)率和系統(tǒng)響應(yīng)時(shí)間。其中改進(jìn)算法的權(quán)值設(shè)置為d1=0.35,d2=0.2,d3=0.13,d4=0.32。加大了用戶興趣的得分權(quán)值。我們測(cè)試的數(shù)據(jù)量為20萬(wàn)條,得到如下結(jié)果:
⑴ 查全率
估值計(jì)算,改進(jìn)算法得到的結(jié)果為n1;Lucene算法得到的結(jié)果為n2。
Recall=n1(n2)/(n1+n2)
⑵ 查準(zhǔn)率
查準(zhǔn)率的計(jì)算為:
p=k0/k
k0:正確的數(shù)據(jù);k:全部相似數(shù)據(jù)。
⑶ 系統(tǒng)響應(yīng)時(shí)間
Lucene基礎(chǔ)排序算法平均響應(yīng)時(shí)間在35ms左右,而改進(jìn)的搜索平均響應(yīng)時(shí)間在46ms左右。
兩種檢索在三個(gè)方面得到的結(jié)果對(duì)比如表3所示。
4 結(jié)束語(yǔ)
本文主要改進(jìn)了垂直搜索引擎的檢索模塊,在該模塊中綜合了主題相關(guān)度得分、網(wǎng)頁(yè)重要性得分、用戶興趣計(jì)算得分、關(guān)鍵詞位置權(quán)值得分四個(gè)方面來(lái)計(jì)算網(wǎng)頁(yè)文檔得分。特別將用戶興趣得分部分設(shè)置了較重的權(quán)重值,使得本文的垂直搜索更具有個(gè)性化。通過(guò)實(shí)驗(yàn)證明,該模型從用戶的角度提高了搜索質(zhì)量,改善了用戶體驗(yàn)。該模型還存在一定的局限性,在權(quán)重值的分配上還需要大量的實(shí)驗(yàn)來(lái)驗(yàn)證更合理地分配方案,以達(dá)到更合理的搜索效果。
參考文獻(xiàn):
[1] 黃國(guó)華.基于相對(duì)高度的曲線特征提取算法[J].邵陽(yáng)學(xué)院學(xué)報(bào)(自然科
學(xué)版),2011.1:29-33
[2] 楊永毅.基于Lucene的二手汽車交易信息垂直搜索引擎的研究與實(shí)
現(xiàn)[D].重慶大學(xué),2009:21-24
[3] LEWANDOWSKI D. A three-year study on the freshness of web
search engine databases[J].J.Inf.Sci.,2008.34 (6):817-831
[4] 盛振華,吳羽,江錦華等.InfoSigs:一種面向Web對(duì)象的細(xì)粒度聚類算
法[J].計(jì)算機(jī)研究與發(fā)展,2010.5:796-804
[5] 邱哲,符滔滔.開(kāi)發(fā)自己的搜索引擎一Lueene2.0+Heritrix[M].人民
郵電出版社,2007.