張一洲
(中共淮安市委黨校,江蘇?淮安 223003)
·理論探索·
基于用戶興趣的個性化信息檢索方法研究
張一洲
(中共淮安市委黨校,江蘇?淮安 223003)
〔摘要〕在信息檢索中對基于用戶興趣的檢索結(jié)果進(jìn)行重排得到廣泛關(guān)注。為了構(gòu)建用戶興趣的知識庫,本文對用戶的登錄細(xì)節(jié)和點擊數(shù)據(jù)進(jìn)行綜合分析,提出了定制用戶訪問信息的方法,同時采用開放式目錄項目Dmoz自動進(jìn)行用戶興趣主題映射,對搜索結(jié)果進(jìn)行個性化分類,并根據(jù)用戶興趣對檢索結(jié)果重排,比正常的搜索引擎更容易找到相關(guān)的信息。聯(lián)機(jī)實驗結(jié)果表明,本文提出的方法可有效地提高用戶檢索精度。
〔關(guān)鍵詞〕信息檢索;用戶興趣;主題映射;個性化分類
隨著電子文檔的急劇增加,人們從Internet上獲取所需信息,搜索引擎發(fā)揮著重要作用。在此基礎(chǔ)上,搜索引擎可以進(jìn)行結(jié)構(gòu)化數(shù)據(jù)(例如,作者=“比爾蓋茨”,年份=“1995”)或非結(jié)構(gòu)化數(shù)據(jù)(例如,“數(shù)據(jù)庫”)的搜索。結(jié)構(gòu)化數(shù)據(jù)包含文檔的元數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)包含不同種類的圖像、視頻、書籍等。信息檢索就是采用信息檢索的技術(shù)或方法、找出滿足用戶需求相關(guān)的信息過程。信息檢索系統(tǒng)是指根據(jù)特定的信息需求而建立起來的一種有關(guān)信息搜集、加工、存儲和檢索的程序化系統(tǒng),為人們提供信息服務(wù)[1]。
由于用戶的興趣愛好復(fù)雜多變、有時甚至矛盾,加上自然語言查詢本身就模糊,通用搜索引擎模糊查詢獲得的結(jié)果可能與用戶無關(guān),也就是說通用搜索引擎的檢索結(jié)果并不總是根據(jù)用戶興趣進(jìn)行信息檢索。根據(jù)分析,大多數(shù)情況下提交給搜索引擎的查詢關(guān)鍵詞的長度為3個或少于3個,短查詢提供給用戶的信息比長查詢提供的信息少,且短查詢往往模棱兩可。為了檢索到與用戶需求相關(guān)的文檔,根據(jù)用戶的搜索歷史、書簽、社區(qū)行為、網(wǎng)站的點擊率等都可發(fā)現(xiàn)用戶興趣,添加用戶興趣主題可消除查詢的歧義,并使用相關(guān)性反饋進(jìn)行個性化信息的重排可解決短查詢出現(xiàn)的模棱兩可問題。
個性化信息檢索是指能夠為具有不同信息需求的用戶提供個性化檢索結(jié)果的技術(shù),即對不同用戶提交的同一種查詢詞語也能按照不同的用戶需求而生成不同的檢索結(jié)果。通過對用戶信息需求的分析可知,信息源既可包括用戶需求的部分信息,例如E-mail、文本文檔等,也可包括用戶信息搜索、點擊數(shù)據(jù)確定的檢索結(jié)果。李樹青[2]從用戶模式表達(dá)方法、個性化結(jié)果獲取方法和結(jié)果呈現(xiàn)方法3個角度,對個性化信息檢索技術(shù)的發(fā)展現(xiàn)狀進(jìn)行全面的分析,指出未來個性化信息檢索技術(shù)需要進(jìn)一步解決的問題。Micarilli[3]等人認(rèn)為根據(jù)文檔的相似性和用戶興趣可自動創(chuàng)建用戶興趣模型,在對提交的文檔進(jìn)行重排時,信息檢索系統(tǒng)不會增加負(fù)擔(dān)。開發(fā)目錄項目ODP(Open Directory Project,簡稱ODP)是Internet最大的人工編制分類檢索系統(tǒng),在搜索時能夠準(zhǔn)確地消除二義性,Paul[4]等人根據(jù)概念相似性的特點將用戶愛好映射成ODP概念層,為用戶提供符合其預(yù)期的搜索結(jié)果。
本文對用戶的登錄細(xì)節(jié)和點擊數(shù)據(jù)進(jìn)行綜合分析,根據(jù)關(guān)鍵詞的相似性進(jìn)行定義,形成用戶興趣概念網(wǎng),且用ODP類的概念矢量表示[5]。在用戶興趣概念網(wǎng)中定義了涵蓋用戶檢索時所選擇的文檔集范圍和用戶檢索時從選定的文檔集中提取關(guān)鍵詞的屬性集目標(biāo),采用開發(fā)目錄項目Dmoz自動進(jìn)行用戶興趣主題映射和傳統(tǒng)的TF-IDF加權(quán)方案,定制用戶搜索信息方法,并對搜索結(jié)果進(jìn)行個性化分類,且根據(jù)用戶興趣對檢索結(jié)果重排。該方法比正常的搜索引擎更容易找到相關(guān)的信息。
為了利于搜索引擎的檢索,本文使用Dmoz標(biāo)簽結(jié)構(gòu)進(jìn)行分析[6],統(tǒng)計相關(guān)數(shù)據(jù),并根據(jù)這些數(shù)據(jù)提出一種創(chuàng)建用戶興趣獨特方法。該方法只使用現(xiàn)有知識資源,因而無須開發(fā)新資源。由于不同的概念可映射給不同用戶,且Dmoz可覆蓋大多數(shù)概念領(lǐng)域,因此用戶興趣文檔也可無限制地映射到不同的概念領(lǐng)域。不過需根據(jù)用戶興趣,對檢索結(jié)果進(jìn)行重排,便可實現(xiàn)個性化信息檢索。圖1是本文提出的信息檢索體系結(jié)構(gòu)。
圖1個性化信息檢索體系結(jié)構(gòu)
圖1的個性化信息檢索體系結(jié)構(gòu)由脫機(jī)處理和聯(lián)機(jī)處理兩部分組成。脫機(jī)過程中,從語法上進(jìn)行Dmoz解析并創(chuàng)建其主題概念文檔,同時對出現(xiàn)的主題進(jìn)行關(guān)鍵詞的向量加權(quán)。聯(lián)機(jī)過程中,使用混合方法收集用戶信息,并使用Google API實現(xiàn)排序功能。通過查找與用戶Dmoz主題相關(guān)且被用戶訪問過的文檔間的相似度學(xué)習(xí)用戶興趣,并根據(jù)用戶興趣文檔向量和初始排序文檔向量間的余弦相似度進(jìn)行重排,圖2是本文提出的信息檢索流程圖。
圖2信息檢索流程圖
1.1脫機(jī)處理
首先解析Dmoz以便創(chuàng)建與主題標(biāo)題和相應(yīng)描述的主題記事本文件,以RDF格式表示含有主題及其相關(guān)描述的Dmoz,并使用Stanford Core NLP開發(fā)的語法分析器對記事本文件進(jìn)行停止詞預(yù)處理。
算法1:解析和創(chuàng)建Dmoz算法Step1:dowhilenotatendofDmozRDFfileStep2: Createtextfile(topic:description)Step3: RemovestopwordsStep4: MorphologyanalyzerStep5:enddo
預(yù)處理后,創(chuàng)建單個Dmoz主題索引,接著使用算法2按Dmoz主題創(chuàng)建Lucene索引。
算法2:按Dmoz主題創(chuàng)建Lucene索引算法Step1:N=NumberofDmoztopicsStep2:fori=1toNdoStep3: Readfile(i)Step4: Analyzefile(i)Step5: Indexfile(i)Step6: i=i+1Step7:endfor
1.2聯(lián)機(jī)處理
1.2.1收集用戶數(shù)據(jù)
由于收集和更新用戶的信息非常重要,因此獲取有效的用戶數(shù)據(jù)集是一項重要的任務(wù)。本文綜合使用間接和直接相結(jié)合方法,通過用戶訪問過的文檔收集用戶數(shù)據(jù)。用戶選擇的文檔標(biāo)題或片段可作為相關(guān)性的間接判斷依據(jù)。使用余弦相似度將文檔標(biāo)題或片段映射成Dmoz主題。文檔的關(guān)聯(lián)性也可從用戶處直接獲取,如名稱、用戶名、密碼、電子郵件等初始登錄細(xì)節(jié)都可作為創(chuàng)建用戶興趣愛好的直接數(shù)據(jù)。
1.2.2使用Google API排序
使用Google提供的自定義API獲取最初的文檔排序,使用該API用戶還可以搜索指定的網(wǎng)站,并將其添加到用戶興趣數(shù)據(jù)庫中去。JSON(Javascript Object Notation)對象是返回結(jié)果,從返回的結(jié)果中便獲取關(guān)聯(lián)文檔的標(biāo)題、URL、片段及一些元數(shù)據(jù)[7]。一旦創(chuàng)建用戶興趣概念網(wǎng),排序過的文檔向量也就創(chuàng)建了,并用于重排。對于新用戶來說,由于之前沒有可用信息,因而最初的排序結(jié)果就是重排結(jié)果。
1.2.3按余弦相似度重新排序
排序時需計算學(xué)習(xí)過的用戶興趣向量與檢索過的文檔向量間的余弦相似度,其余弦相似度[9]公式如下:
(1)
其中,D和D′分別表示文檔集和Dmoz主題集的加權(quán)向量。
1.2.4用戶興趣學(xué)習(xí)
無論是老用戶,還是新用戶都需進(jìn)行用戶興趣學(xué)習(xí)。當(dāng)用戶提交文檔時,系統(tǒng)將對用戶查看過的文檔標(biāo)題或點擊過的片段進(jìn)行相關(guān)標(biāo)記。脫機(jī)處理時,將Dmoz索引主題點擊過的文檔標(biāo)題或片段看作一個查詢,排在最前面的檢索文檔便是與主題相關(guān)的文檔,并將其添加到用戶興趣概念網(wǎng)中。根據(jù)用戶興趣創(chuàng)建關(guān)鍵詞詞頻向量,假設(shè)關(guān)鍵詞詞率向量是N維,其中N是詞匯表中關(guān)鍵詞的個數(shù),用戶興趣中每個關(guān)鍵詞的權(quán)重用tf-idf表示[8]。
◆Dmoz主題D′=主題∪描述。
◆主題標(biāo)題Td={t1,t2,t3,…,tx}。
◆描述Dd={d1,d2,d3,…,dy}。
◆用戶興趣U={u1,u2,u3,…,um}。
其中,ti、di、ui分別表示關(guān)鍵詞的標(biāo)題、關(guān)鍵詞的描述、用戶興趣。
對Dmoz主題D′來說,文檔D和用戶興趣U向量就可產(chǎn)生了,產(chǎn)生的向量V公式如下:
V={w1,w2,w3,…,wN}
(2)
wi是第關(guān)鍵詞i的tf-idf。tf-idf計算公式如下:
tf-idf(t,d,D)=tf(t,d)×idf(t,D)
(3)
(4)
(5)
為了重排,需計算用戶興趣向量U和文檔向量D間的余弦相似度。計算機(jī)余弦相似度而不是遍歷所有詞匯表,而是只考慮出現(xiàn)在U∪D中的關(guān)鍵詞。余弦公式變成如下:
(6)
其中,w是關(guān)鍵詞出現(xiàn)在U∪D中的集合。聯(lián)機(jī)處理算法如下:
算法3:聯(lián)機(jī)處理算法 Step1:QueryQ=q1,q2,q3,…,qa Step2:SnippetS=s1,s2,s3,…,sb Step3:UserProfileU=u1,u2,u3,…,uc Step4:DmozTopicT=t1,t2,t3,…,td Step5:Initializations:numberofresultsn=10 Step6:rankedGoogleAPI(Q) Step7:ifOlduserthen Step8: fori=1tondo Step9: sim[i]=similarity(S,U) Step10: ?re-rankedsort(sim) Step11: endfor Step12: printre-ranked Step13: relevantDocRelevanceFeedback Step14: relevantTopicLucenesearchresultsforrel-evantDocasquery Step15: UpdateProfile(relevantTopic) Step16:else Step17: printranked Step18:endif
由于用戶不斷地執(zhí)行信息檢索,并在檢索結(jié)果中選擇相應(yīng)的文檔,因而用戶興趣概念網(wǎng)將會漸漸地復(fù)雜起來。
本實驗旨在驗證用戶使用本文提出的方法對不同的網(wǎng)站進(jìn)行搜索,系統(tǒng)是否將與用戶興趣關(guān)聯(lián)的鏈接提供給用戶,并添加到用戶興趣的概念網(wǎng)中。實驗結(jié)果表明本文提出的方法能準(zhǔn)確地進(jìn)行用戶興趣學(xué)習(xí)并給出更貼近用戶的結(jié)果。
2.1性能指標(biāo)設(shè)置
實驗時收集來自10個不同領(lǐng)域(如經(jīng)濟(jì)學(xué)、電子、生物、自然語言處理、民事、機(jī)械、計算機(jī)、物理、統(tǒng)計和化學(xué))的用戶數(shù)據(jù),且每個用戶在自己的領(lǐng)域內(nèi)執(zhí)行10個不同的查詢。從用戶的點擊模式中間接獲取用戶反饋,反饋的文檔可能與用戶所在領(lǐng)域相關(guān)或不相關(guān),或部分相關(guān)。用戶不僅要對排序結(jié)果給出直接的反饋,也要對重排結(jié)果給出直接的反饋。用精度(P)測試檢索到最相關(guān)且頂級文檔的能力。
P=檢索得到的關(guān)聯(lián)文檔數(shù)/需檢索文檔總數(shù)
(7)
由于原排序和重排文檔一樣,因而只使用排在最前面的n個結(jié)果,n=9,即只考慮排在最前面的9個結(jié)果。P@9表示排在最前面的9個的精度:
P@9=包含在最前9中的關(guān)聯(lián)文檔數(shù)/9
(8)
2.2結(jié)果分析
如果考慮每個查詢的平均精度,那么平均精度比Google API的平均值提高了約17%;如果考慮每個用戶的平均精度,那么也有大約10%的提高。表1和表2是本文提出的方法與Google搜索引擎的比較結(jié)果,圖3和圖4分別是每個查詢和每個用戶的P@9平均精度性能。測試表明本文提出的方法能準(zhǔn)確地學(xué)習(xí)用戶興趣且給出的結(jié)果更貼近用戶。與現(xiàn)有的Google搜索引擎相比,本文提出的方法具有良好的平均精度。
表1 搜索結(jié)果平均精度值(每個查詢)
表2 搜索結(jié)果平均精度值(每個用戶)
圖3本文方法與Google方法的性能(每個查詢)
圖4本文方法與Google方法的性能(每個用戶)
表3是使用Google和本文提出的方法示例查詢結(jié)果。本文提出的方法首先確定用戶查詢屬于哪個學(xué)科,然后對查詢結(jié)果進(jìn)行相應(yīng)的重排。例如在“計算機(jī)程序設(shè)計”、“生物學(xué)”等領(lǐng)域使用混合查詢,可確定每個用戶來自的領(lǐng)域。Google搜索系統(tǒng)平均精度低的主要原因是“計算機(jī)程序設(shè)計”關(guān)鍵詞在Web中具有多樣性,而“生物學(xué)”關(guān)鍵詞在Web中不具有多樣性。
表3 示例查詢結(jié)果
重排后,幾乎不存在性能減少的查詢。可是由于將以前查詢反饋結(jié)果中的許多關(guān)鍵詞添加到用戶興趣文檔中去,又有可能導(dǎo)致主題漂移。例如,進(jìn)行“癌癥”查詢時,性能從1.0減少到0.8,并導(dǎo)致諸如“商業(yè)”、
“學(xué)院”等用戶興趣關(guān)鍵詞主題的漂移。
回顧近年來的相關(guān)研究,本文提出了一種基于用戶興趣的個性化信息檢索方法。為了學(xué)習(xí)用戶興趣,在提出的方法中使用Dmoz的主題創(chuàng)建Lucene索引,使從點擊文檔到創(chuàng)建索引映射用戶興趣變得很容易。在相似度計算時,使用輕量級的余弦相似性給出高精度。選用10個用戶進(jìn)行測試,每個用戶從各自的領(lǐng)域進(jìn)行10個查詢,選擇的查詢方式在不同的領(lǐng)域有不同的含義。將本文提出的方法與Google API搜索方法進(jìn)行比較時,如果計算每個查詢的平均值,本文提出的方法性能提高了約17%;如果計算每個用戶的平均值,本文提出的方法提高了約10%。
參考文獻(xiàn)
[1]俞揚信.個性化網(wǎng)絡(luò)學(xué)習(xí)的語義信息檢索研究[J].情報學(xué)報,2012,31(1):18-22.
[2]李樹青.個性化信息檢索綜述[J].情報理論與實踐,2009,32(5):107-113.
[3]A.Micarilli,F.Gaspaetti,F.Sciarrone,et al.Personalized Search on the World Wide Web[C].Lecture Notes in Computer Science,2007:225-230.
[4]F.Paul M.Speretta and S.Gauch.Personalized search based on user search histories[C].Proceedings of the IEEE/WIC/ACM International Conference on Web Intelligence,2005:622-628.
[5]俞揚信,劉瀛澤.基于概念網(wǎng)的用戶個性化信息檢索研究[J].情報雜志,2012,31(2):136-140.
[6]姜冶,管仁初,梁艷春.整合Dmoz和Yahoo標(biāo)簽的BNF文法及其實現(xiàn)[J].計算機(jī)工程與設(shè)計,2009,30(19):4520-4523.
[7]屈展,李嬋.JSON在Ajax數(shù)據(jù)交換中的應(yīng)用研究[J].西安石油大學(xué)學(xué)報:自然科學(xué)版,2011,53(1):95-98,122.
[8]徐建民,王金花,馬偉瑜.利用本體關(guān)聯(lián)度改進(jìn)的TF-IDF特征詞提取方法[J].情報科學(xué),2011,32(2):279-283.
[9]李巍,孫濤,陳建孝,等.基于加權(quán)余弦相似度的XML文檔聚類研究[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2010,28(1):68-76.
(本文責(zé)任編輯:馬卓)
Personalized Information Retrieval Approach Based on User Interest
Zhang Yizhou
(Party School of Chinese Communist Party Huai’an City State,Huai’an 223003,China)
〔Abstract〕Re-ranking of the retrieval results based on the user’s interests has received wide attention in information retrieval.In order to build the knowledge base about user’s interests,the proposed approach to access information was taken into consideration login details and click-through data.This paper automatically mapped Dmoz Open Directory Project topics to users’ interests,categorized and personalized retrieval results according to user interests and re-ranking of the results was done based on user interests.This made it easy to find relevant document faster than normal search engines.Online experimental results showed that the proposed approach could be effectively used for improving the precision of user retrieval.
〔Key words〕information retreival;user interest;topic map;personalized taxonomy
〔中圖分類號〕G252.7
〔文獻(xiàn)標(biāo)識碼〕A
〔文章編號〕1008-0821(2015)06-0025-04
DOI:10.3969/j.issn.1008-0821.2015.06.005
作者簡介:張一洲(1981-),男,副教授,碩士,研究方向:信息管理與信息系統(tǒng)、智能化信息處理技術(shù)。
基金項目:江蘇省高校社會科學(xué)基金項目(項目編號:No.2012SJD870001)和淮安市科技支撐(工業(yè))項目(項目編號:No.HAG2012055 )。
收稿日期:2015-03-19