張一洲
(中共淮安市委黨校,江蘇?淮安 223003)
·理論探索·
基于用戶興趣的個(gè)性化信息檢索方法研究
張一洲
(中共淮安市委黨校,江蘇?淮安 223003)
〔摘要〕在信息檢索中對(duì)基于用戶興趣的檢索結(jié)果進(jìn)行重排得到廣泛關(guān)注。為了構(gòu)建用戶興趣的知識(shí)庫(kù),本文對(duì)用戶的登錄細(xì)節(jié)和點(diǎn)擊數(shù)據(jù)進(jìn)行綜合分析,提出了定制用戶訪問信息的方法,同時(shí)采用開放式目錄項(xiàng)目Dmoz自動(dòng)進(jìn)行用戶興趣主題映射,對(duì)搜索結(jié)果進(jìn)行個(gè)性化分類,并根據(jù)用戶興趣對(duì)檢索結(jié)果重排,比正常的搜索引擎更容易找到相關(guān)的信息。聯(lián)機(jī)實(shí)驗(yàn)結(jié)果表明,本文提出的方法可有效地提高用戶檢索精度。
〔關(guān)鍵詞〕信息檢索;用戶興趣;主題映射;個(gè)性化分類
隨著電子文檔的急劇增加,人們從Internet上獲取所需信息,搜索引擎發(fā)揮著重要作用。在此基礎(chǔ)上,搜索引擎可以進(jìn)行結(jié)構(gòu)化數(shù)據(jù)(例如,作者=“比爾蓋茨”,年份=“1995”)或非結(jié)構(gòu)化數(shù)據(jù)(例如,“數(shù)據(jù)庫(kù)”)的搜索。結(jié)構(gòu)化數(shù)據(jù)包含文檔的元數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)包含不同種類的圖像、視頻、書籍等。信息檢索就是采用信息檢索的技術(shù)或方法、找出滿足用戶需求相關(guān)的信息過程。信息檢索系統(tǒng)是指根據(jù)特定的信息需求而建立起來的一種有關(guān)信息搜集、加工、存儲(chǔ)和檢索的程序化系統(tǒng),為人們提供信息服務(wù)[1]。
由于用戶的興趣愛好復(fù)雜多變、有時(shí)甚至矛盾,加上自然語言查詢本身就模糊,通用搜索引擎模糊查詢獲得的結(jié)果可能與用戶無關(guān),也就是說通用搜索引擎的檢索結(jié)果并不總是根據(jù)用戶興趣進(jìn)行信息檢索。根據(jù)分析,大多數(shù)情況下提交給搜索引擎的查詢關(guān)鍵詞的長(zhǎng)度為3個(gè)或少于3個(gè),短查詢提供給用戶的信息比長(zhǎng)查詢提供的信息少,且短查詢往往模棱兩可。為了檢索到與用戶需求相關(guān)的文檔,根據(jù)用戶的搜索歷史、書簽、社區(qū)行為、網(wǎng)站的點(diǎn)擊率等都可發(fā)現(xiàn)用戶興趣,添加用戶興趣主題可消除查詢的歧義,并使用相關(guān)性反饋進(jìn)行個(gè)性化信息的重排可解決短查詢出現(xiàn)的模棱兩可問題。
個(gè)性化信息檢索是指能夠?yàn)榫哂胁煌畔⑿枨蟮挠脩籼峁﹤€(gè)性化檢索結(jié)果的技術(shù),即對(duì)不同用戶提交的同一種查詢?cè)~語也能按照不同的用戶需求而生成不同的檢索結(jié)果。通過對(duì)用戶信息需求的分析可知,信息源既可包括用戶需求的部分信息,例如E-mail、文本文檔等,也可包括用戶信息搜索、點(diǎn)擊數(shù)據(jù)確定的檢索結(jié)果。李樹青[2]從用戶模式表達(dá)方法、個(gè)性化結(jié)果獲取方法和結(jié)果呈現(xiàn)方法3個(gè)角度,對(duì)個(gè)性化信息檢索技術(shù)的發(fā)展現(xiàn)狀進(jìn)行全面的分析,指出未來個(gè)性化信息檢索技術(shù)需要進(jìn)一步解決的問題。Micarilli[3]等人認(rèn)為根據(jù)文檔的相似性和用戶興趣可自動(dòng)創(chuàng)建用戶興趣模型,在對(duì)提交的文檔進(jìn)行重排時(shí),信息檢索系統(tǒng)不會(huì)增加負(fù)擔(dān)。開發(fā)目錄項(xiàng)目ODP(Open Directory Project,簡(jiǎn)稱ODP)是Internet最大的人工編制分類檢索系統(tǒng),在搜索時(shí)能夠準(zhǔn)確地消除二義性,Paul[4]等人根據(jù)概念相似性的特點(diǎn)將用戶愛好映射成ODP概念層,為用戶提供符合其預(yù)期的搜索結(jié)果。
本文對(duì)用戶的登錄細(xì)節(jié)和點(diǎn)擊數(shù)據(jù)進(jìn)行綜合分析,根據(jù)關(guān)鍵詞的相似性進(jìn)行定義,形成用戶興趣概念網(wǎng),且用ODP類的概念矢量表示[5]。在用戶興趣概念網(wǎng)中定義了涵蓋用戶檢索時(shí)所選擇的文檔集范圍和用戶檢索時(shí)從選定的文檔集中提取關(guān)鍵詞的屬性集目標(biāo),采用開發(fā)目錄項(xiàng)目Dmoz自動(dòng)進(jìn)行用戶興趣主題映射和傳統(tǒng)的TF-IDF加權(quán)方案,定制用戶搜索信息方法,并對(duì)搜索結(jié)果進(jìn)行個(gè)性化分類,且根據(jù)用戶興趣對(duì)檢索結(jié)果重排。該方法比正常的搜索引擎更容易找到相關(guān)的信息。
為了利于搜索引擎的檢索,本文使用Dmoz標(biāo)簽結(jié)構(gòu)進(jìn)行分析[6],統(tǒng)計(jì)相關(guān)數(shù)據(jù),并根據(jù)這些數(shù)據(jù)提出一種創(chuàng)建用戶興趣獨(dú)特方法。該方法只使用現(xiàn)有知識(shí)資源,因而無須開發(fā)新資源。由于不同的概念可映射給不同用戶,且Dmoz可覆蓋大多數(shù)概念領(lǐng)域,因此用戶興趣文檔也可無限制地映射到不同的概念領(lǐng)域。不過需根據(jù)用戶興趣,對(duì)檢索結(jié)果進(jìn)行重排,便可實(shí)現(xiàn)個(gè)性化信息檢索。圖1是本文提出的信息檢索體系結(jié)構(gòu)。
圖1個(gè)性化信息檢索體系結(jié)構(gòu)
圖1的個(gè)性化信息檢索體系結(jié)構(gòu)由脫機(jī)處理和聯(lián)機(jī)處理兩部分組成。脫機(jī)過程中,從語法上進(jìn)行Dmoz解析并創(chuàng)建其主題概念文檔,同時(shí)對(duì)出現(xiàn)的主題進(jìn)行關(guān)鍵詞的向量加權(quán)。聯(lián)機(jī)過程中,使用混合方法收集用戶信息,并使用Google API實(shí)現(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ā)的語法分析器對(duì)記事本文件進(jìn)行停止詞預(yù)處理。
算法1:解析和創(chuàng)建Dmoz算法Step1:dowhilenotatendofDmozRDFfileStep2: Createtextfile(topic:description)Step3: RemovestopwordsStep4: MorphologyanalyzerStep5:enddo
預(yù)處理后,創(chuàng)建單個(gè)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ù)集是一項(xiàng)重要的任務(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ù)庫(kù)中去。JSON(Javascript Object Notation)對(duì)象是返回結(jié)果,從返回的結(jié)果中便獲取關(guān)聯(lián)文檔的標(biāo)題、URL、片段及一些元數(shù)據(jù)[7]。一旦創(chuàng)建用戶興趣概念網(wǎng),排序過的文檔向量也就創(chuàng)建了,并用于重排。對(duì)于新用戶來說,由于之前沒有可用信息,因而最初的排序結(jié)果就是重排結(jié)果。
1.2.3按余弦相似度重新排序
排序時(shí)需計(jì)算學(xué)習(xí)過的用戶興趣向量與檢索過的文檔向量間的余弦相似度,其余弦相似度[9]公式如下:
(1)
其中,D和D′分別表示文檔集和Dmoz主題集的加權(quán)向量。
1.2.4用戶興趣學(xué)習(xí)
無論是老用戶,還是新用戶都需進(jìn)行用戶興趣學(xué)習(xí)。當(dāng)用戶提交文檔時(shí),系統(tǒng)將對(duì)用戶查看過的文檔標(biāo)題或點(diǎn)擊過的片段進(jìn)行相關(guān)標(biāo)記。脫機(jī)處理時(shí),將Dmoz索引主題點(diǎn)擊過的文檔標(biāo)題或片段看作一個(gè)查詢,排在最前面的檢索文檔便是與主題相關(guān)的文檔,并將其添加到用戶興趣概念網(wǎng)中。根據(jù)用戶興趣創(chuàng)建關(guān)鍵詞詞頻向量,假設(shè)關(guān)鍵詞詞率向量是N維,其中N是詞匯表中關(guān)鍵詞的個(gè)數(shù),用戶興趣中每個(gè)關(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)鍵詞的描述、用戶興趣。
對(duì)Dmoz主題D′來說,文檔D和用戶興趣U向量就可產(chǎn)生了,產(chǎn)生的向量V公式如下:
V={w1,w2,w3,…,wN}
(2)
wi是第關(guān)鍵詞i的tf-idf。tf-idf計(jì)算公式如下:
tf-idf(t,d,D)=tf(t,d)×idf(t,D)
(3)
(4)
(5)
為了重排,需計(jì)算用戶興趣向量U和文檔向量D間的余弦相似度。計(jì)算機(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)將會(huì)漸漸地復(fù)雜起來。
本實(shí)驗(yàn)旨在驗(yàn)證用戶使用本文提出的方法對(duì)不同的網(wǎng)站進(jìn)行搜索,系統(tǒng)是否將與用戶興趣關(guān)聯(lián)的鏈接提供給用戶,并添加到用戶興趣的概念網(wǎng)中。實(shí)驗(yàn)結(jié)果表明本文提出的方法能準(zhǔn)確地進(jìn)行用戶興趣學(xué)習(xí)并給出更貼近用戶的結(jié)果。
2.1性能指標(biāo)設(shè)置
實(shí)驗(yàn)時(shí)收集來自10個(gè)不同領(lǐng)域(如經(jīng)濟(jì)學(xué)、電子、生物、自然語言處理、民事、機(jī)械、計(jì)算機(jī)、物理、統(tǒng)計(jì)和化學(xué))的用戶數(shù)據(jù),且每個(gè)用戶在自己的領(lǐng)域內(nèi)執(zhí)行10個(gè)不同的查詢。從用戶的點(diǎn)擊模式中間接獲取用戶反饋,反饋的文檔可能與用戶所在領(lǐng)域相關(guān)或不相關(guān),或部分相關(guān)。用戶不僅要對(duì)排序結(jié)果給出直接的反饋,也要對(duì)重排結(jié)果給出直接的反饋。用精度(P)測(cè)試檢索到最相關(guān)且頂級(jí)文檔的能力。
P=檢索得到的關(guān)聯(lián)文檔數(shù)/需檢索文檔總數(shù)
(7)
由于原排序和重排文檔一樣,因而只使用排在最前面的n個(gè)結(jié)果,n=9,即只考慮排在最前面的9個(gè)結(jié)果。P@9表示排在最前面的9個(gè)的精度:
P@9=包含在最前9中的關(guān)聯(lián)文檔數(shù)/9
(8)
2.2結(jié)果分析
如果考慮每個(gè)查詢的平均精度,那么平均精度比Google API的平均值提高了約17%;如果考慮每個(gè)用戶的平均精度,那么也有大約10%的提高。表1和表2是本文提出的方法與Google搜索引擎的比較結(jié)果,圖3和圖4分別是每個(gè)查詢和每個(gè)用戶的P@9平均精度性能。測(cè)試表明本文提出的方法能準(zhǔn)確地學(xué)習(xí)用戶興趣且給出的結(jié)果更貼近用戶。與現(xiàn)有的Google搜索引擎相比,本文提出的方法具有良好的平均精度。
表1 搜索結(jié)果平均精度值(每個(gè)查詢)
表2 搜索結(jié)果平均精度值(每個(gè)用戶)
圖3本文方法與Google方法的性能(每個(gè)查詢)
圖4本文方法與Google方法的性能(每個(gè)用戶)
表3是使用Google和本文提出的方法示例查詢結(jié)果。本文提出的方法首先確定用戶查詢屬于哪個(gè)學(xué)科,然后對(duì)查詢結(jié)果進(jìn)行相應(yīng)的重排。例如在“計(jì)算機(jī)程序設(shè)計(jì)”、“生物學(xué)”等領(lǐng)域使用混合查詢,可確定每個(gè)用戶來自的領(lǐng)域。Google搜索系統(tǒng)平均精度低的主要原因是“計(jì)算機(jī)程序設(shè)計(jì)”關(guān)鍵詞在Web中具有多樣性,而“生物學(xué)”關(guān)鍵詞在Web中不具有多樣性。
表3 示例查詢結(jié)果
重排后,幾乎不存在性能減少的查詢。可是由于將以前查詢反饋結(jié)果中的許多關(guān)鍵詞添加到用戶興趣文檔中去,又有可能導(dǎo)致主題漂移。例如,進(jìn)行“癌癥”查詢時(shí),性能從1.0減少到0.8,并導(dǎo)致諸如“商業(yè)”、
“學(xué)院”等用戶興趣關(guān)鍵詞主題的漂移。
回顧近年來的相關(guān)研究,本文提出了一種基于用戶興趣的個(gè)性化信息檢索方法。為了學(xué)習(xí)用戶興趣,在提出的方法中使用Dmoz的主題創(chuàng)建Lucene索引,使從點(diǎn)擊文檔到創(chuàng)建索引映射用戶興趣變得很容易。在相似度計(jì)算時(shí),使用輕量級(jí)的余弦相似性給出高精度。選用10個(gè)用戶進(jìn)行測(cè)試,每個(gè)用戶從各自的領(lǐng)域進(jìn)行10個(gè)查詢,選擇的查詢方式在不同的領(lǐng)域有不同的含義。將本文提出的方法與Google API搜索方法進(jìn)行比較時(shí),如果計(jì)算每個(gè)查詢的平均值,本文提出的方法性能提高了約17%;如果計(jì)算每個(gè)用戶的平均值,本文提出的方法提高了約10%。
參考文獻(xiàn)
[1]俞揚(yáng)信.個(gè)性化網(wǎng)絡(luò)學(xué)習(xí)的語義信息檢索研究[J].情報(bào)學(xué)報(bào),2012,31(1):18-22.
[2]李樹青.個(gè)性化信息檢索綜述[J].情報(bào)理論與實(shí)踐,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]俞揚(yáng)信,劉瀛澤.基于概念網(wǎng)的用戶個(gè)性化信息檢索研究[J].情報(bào)雜志,2012,31(2):136-140.
[6]姜冶,管仁初,梁艷春.整合Dmoz和Yahoo標(biāo)簽的BNF文法及其實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(19):4520-4523.
[7]屈展,李嬋.JSON在Ajax數(shù)據(jù)交換中的應(yīng)用研究[J].西安石油大學(xué)學(xué)報(bào):自然科學(xué)版,2011,53(1):95-98,122.
[8]徐建民,王金花,馬偉瑜.利用本體關(guān)聯(lián)度改進(jìn)的TF-IDF特征詞提取方法[J].情報(bào)科學(xué),2011,32(2):279-283.
[9]李巍,孫濤,陳建孝,等.基于加權(quán)余弦相似度的XML文檔聚類研究[J].吉林大學(xué)學(xué)報(bào):信息科學(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
〔中圖分類號(hào)〕G252.7
〔文獻(xiàn)標(biāo)識(shí)碼〕A
〔文章編號(hào)〕1008-0821(2015)06-0025-04
DOI:10.3969/j.issn.1008-0821.2015.06.005
作者簡(jiǎn)介:張一洲(1981-),男,副教授,碩士,研究方向:信息管理與信息系統(tǒng)、智能化信息處理技術(shù)。
基金項(xiàng)目:江蘇省高校社會(huì)科學(xué)基金項(xiàng)目(項(xiàng)目編號(hào):No.2012SJD870001)和淮安市科技支撐(工業(yè))項(xiàng)目(項(xiàng)目編號(hào):No.HAG2012055 )。
收稿日期:2015-03-19