摘要:該文在綜合分析了現有個性化檢索系統中用戶興趣模型表示方法以及建立與更新機制的優缺點的基礎上,設計了一種基于分類知識庫的,結合關鍵詞與主題概念的用戶興趣表示方法。模型中將用戶的興趣分成短期興趣和長期興趣,并且對兩種興趣采用不同的建立與更新機制。通過不斷的更新與優化模型,使模型能準確反映用戶的興趣特征。
關鍵詞:個性化檢索;用戶興趣模型;分類知識庫;關鍵詞;主題概念;短期興趣;長期興趣
中圖分類號:TP309文獻標識碼:A文章編號:1009-3044(2008)26-1788-04
Research on the User Interest Modeling in the Personalized Learning Resource Retrieval System
XU Lin-jun1, WU Fei2, LI Fa1
(1.Dept. of Computer Science and Engineering, TongJi University, Shanghai 201804, China; 2.Shanghai Distance Education Group, Shanghai 200433, China)
Abstract: Based on the analysis of the user interest model expressing、establishing and updating methods in existing personalized retrieval systems, this paper designed a user interest modeling method based on the category knowledge base, combining the keywords and the theme concepts. In the model the user’s interest was divided into long-term interest and short-term interest, and two different mechanisms of establishing and updating were adopted for these two kinds of interest. Through constantly updated and optimized,the model can accurately reflect the characteristics of the user's interest.
Key words: Personalized retrieval;User interest model;Category Knowledge Base;keyword;Theme concept;Long-term interest;Short-term interest
1 個性化檢索和用戶興趣模型
隨著網站資源內容數量的快速增長,傳統網站資源檢索系統中單純使用用戶輸入的關鍵字進行搜索、一個搜索適合所有用戶的模式已經無法滿足用戶的搜索需求。事實上,不同的用戶由于知識背景、興趣愛好等因素的不同而具有鮮明的個性,希望檢索系統能夠提供個性化服務,使得查詢結果符合用戶的個性需求。因此,如何提高搜索服務的搜索精度并向用戶提供個性化服務已成為搜索技術的一個新的發展方向和研究熱點。Google公司在2005年推出了個性化搜索服務,能夠根據以前的搜索向用戶提供更符合需求的搜索結果。用戶進行的搜索越多,搜索歷史記錄越多,就會獲得越好的搜索結果。同年新浪推出搜索“愛問”,它需要用戶先進行注冊,然后才能提交問題,帶有某些條件限制,并且不會自動搜索符合問題的內容,只能由其他用戶來進行答復,更側重用戶間的互動。
在各種類別的個性化檢索系統構建中,最重要的基礎性的任務是用戶興趣模型的建模設計,因為只有通過提取學習者的興趣信息,建立合理的模型來描述、管理用戶的興趣,并通過不斷更新與維護,逐漸優化模型,以精確反應用戶的興趣需求,才能為個性化資源檢索系統提供個性化分析的依據。
本文將從以下兩個方面對學習者興趣信息模型進行研究:
(1)興趣模型的表示方法。
(2)興趣模型的建立和更新的機制。
2 興趣模型的表示方法
興趣模型的表示方法決定了模型反映學習者真實信息的能力和可計算能力,也在一定程度上限制了建模方法和模型更新算法的選取。興趣模型的表示目前還沒有一個統一的標準,常見的表示方法有以下幾種:
1)關鍵詞表示法:關鍵詞表示法就是用一組關鍵詞列表來表示用戶的興趣,這組關鍵詞由用戶一開始就提供,因此更像是用戶的目標而不是興趣。
2)加權關鍵詞表示法:加權關鍵詞表示法是指將用戶感興趣的信息以關鍵詞的形式表示,并通過賦予權重表示用戶對該關鍵詞表征的信息感興趣的程度。該表示方法和文檔向量空間表示方法[1]相同。
假設T={t1,t2,t3,…tn}為構成n維興趣向量空間的關鍵詞,則Ij={(t1,p1j),(t2,p2j),(t3,p3j),…(tn,pnj)}表示用戶基于關鍵詞權重的興趣模型,pij為用戶j對關鍵詞ti的興趣權重。對權重的計算方法有多種,最常用的有布爾值表示和頻率統計方式。
①布爾值向量表示
Pij=0,學習者對關鍵詞ti不感興趣1,學習者對關鍵詞ti感興趣
②關鍵詞詞頻表示
Pij=fij,關鍵詞ti在學習者j興趣中的頻率0,學習者j對關鍵詞ti不感興趣
(3)主題表示法
主題表示法是指以用戶感興趣的信息的主題來表示用戶模型的方法。如用戶對體育和財經感興趣,則可將用戶模型表示為{體育,財經},這種方法往往與具體的應用領域相結合。Yahoo的個性化入口My Yahoo就是以用戶選擇的網站欄目來表示。
以上3種方法中,前兩種方法都需要對用戶感興趣的關鍵詞進行統計;而主題表示法則是對更高層次的、概括性的知識主題進行分析和表示。目前對用戶興趣的分析大都基于關鍵詞,但是由于關鍵詞在語義上的多義性,一定程度上影響了用戶模型的準確度;基于主題的興趣表示更加穩定、直觀,并且易于管理,但是主題信息一般很難從用戶的學習歷史信息中直接得到。
本文當中,我們采取關鍵詞和主題概念相結合的方法來表示學習者的興趣特征。通過對學習者感興趣的關鍵詞進行提取和詞頻統計,然后依靠一個已有的知識分類系統,將用戶的細節信息進行匯總,從而歸納出相應的主題信息,并采用適當的算法計算出學習者對主題的興趣度。知識分類系統即分類知識庫,它是一個樹形的層次化知識結構,位于上層的節點表示概括性的領域和主題類別,下層的節點則表示具體的知識點和關鍵詞,下面對分類知識庫進行介紹。
分類知識庫建立的理論來源是概念語義網絡。它的目的是對領域知識點及知識之間的關系進行精確的描述和存儲。圖1顯示了一個簡單的語義網絡實例。
概念語義網絡是一個分類樹。第1層是最高層,是最具概括性的概念,表明了一個獨立的領域或者主題,以下各層逐步細化。例如:“計算機”可分為“軟件”和“硬件”等。除層次關系外,概念之間又具有各種聯系。為了表示概念之間的相互關系,在樹型結構的基礎上添加橫向關系,把各個獨立的概念聯系起來,如“計算機”和“電腦”為同義關系。這些橫向關系所聯接的概念節點可以是任意層上的任意節點,從而構成一個語義網絡。
一個科學的學習者興趣模型,除了考慮學習者感興趣的內容外,還應當對興趣的有效時間周期進行考慮。心理學研究認為[2],人的記憶分為長時記憶和短時記憶,對于短時記憶,由于容量非常有限,因此當信息不能很快重現時,也很快被遺忘;對于長時記憶,當環境或場合的改變使得長時記憶中某些信息長期不被利用時,這些信息才會逐漸被遺忘。根據這種思想,將學習者的興趣分為長期的興趣和短期的興趣。短期興趣以學習者當前的興趣為主,每個關鍵詞都添加了時間屬性,用以來區分新舊興趣。當短期興趣中的信息積累到一定的程度,構成穩定興趣時,可以將其轉化為長期興趣,因此長期興趣中存儲了長期以來學習者的主要興趣,這樣可以更好地描述學習者的興趣特征。
基于以上的設計,本個性化檢索系統的學習者興趣模型如圖2所示:
短期興趣的結構如表1、2所示,長期興趣結構與此類似,不再贅述。
3 興趣模型的建立與更新
3.1 興趣模型的建立
根據建模過程中用戶的參與程度,用戶建模技術可以分為:用戶手工定制建模、示例建模和自動用戶建模。
用戶手工定制建模是指用戶模型依靠用戶自己手工輸入或選擇的用戶建模方法。這種方法實現簡單,但也存在一定的問題,即它完全依賴于用戶,容易降低用戶使用系統的積極性。
示例建模是指由用戶提供與自己興趣相關的示例及其類別屬性來建立用戶模型的建模方法。這種方法對用戶的依賴較少,構建的模型也能更全面地反映用戶的興趣愛好,但需要用戶在系統使用的過程中進行不斷的標注和評價以得到示例,這就嚴重干擾了用戶的正常瀏覽。
自動用戶建模是指根據用戶的檢索內容和使用行為構建用戶模型,建模過程無需用戶主動提供信息的建模方法。這種方法實際上是改進了示例建模方法中的示例獲取途徑,將其轉化為無需用戶標注的自動示例獲取方法。
本文選擇自動化的方法對用戶興趣模型進行建模。
1)長期興趣模型的建立:在系統建立的初期,可以對上海電視大學網絡教育平臺的后端數據庫進行挖掘,從中得到每個學習者的歷史信息,系統經過關鍵詞提取和詞頻統計,建立學習者興趣模型,并將該模型作為學習者的初始長期興趣模型。
長期興趣模型的建立算法如下:①從電大網絡教育平臺數據庫中獲取與學習者相關的資料;②對資料進行分詞,并統計每個關鍵詞Ti出現的頻率Fi;③將關鍵詞,及關鍵詞頻率逐一加入到Interest_Term_Long表中,用頻率作為學習者興趣度TermInterestRate,并將TermCreatedTime設定為當前時間;④參考分類知識庫中的知識樹,自下而上,計算每個主題結點Node(B)的興趣度V,,K為隸屬于該主題的關鍵詞結點的個數,Fi為關鍵詞結點的興趣度。⑤將計算出的主題興趣度,主題所屬的領域,及當前時間記錄到Interest_Category_Long表中。
2)短期興趣模型的建立:短期興趣模型建立的算法與長期興趣模型類似,不同之處在于它們的信息來源不同。短期興趣在學習者使用個性化檢索系統的過程中建立,通過對搜索條件以及用戶感興趣文檔進行分詞,并統計關鍵詞頻率,將關鍵詞頻率作為學習者對該關鍵詞的短期興趣度,然后參考分類知識庫,計算得到短期的主題興趣。
3.2 興趣模型的更新
學習者興趣模型是一種動態的模型,它必須在用戶使用系統的過程中隨著用戶的興趣變化進行不斷的更新。根據本文設計的模型,學習者興趣更新可以分為三個部分:短期興趣模型更新;長期興趣模型更新;以及短期興趣向長期興趣轉化。
1)短期興趣模型更新:短期興趣以用戶的當前興趣為主,對短期興趣的更新可以采用興趣合集歸并的方法。這種方法將興趣模型中的興趣詞條與當前興趣向量中的詞條作對比,若相同,則把該詞條在兩向量中的權值相加后得到的新權值賦予用戶興趣模型中的相同詞條;若不同,就將新的詞條加入到興趣模型中。待詞條對比操作完畢后,根據詞條權值的大小對詞條排序,形成新的用戶短期興趣模型。具體算法如下:
①分析學習者在最近一段時間的檢索條件以及閱讀文檔,提取興趣詞條(關鍵詞),并統計每個關鍵詞的詞頻;
②將新的興趣關鍵詞與用戶短期興趣模型對比,如果是新的興趣關鍵詞,則轉(4),否則轉(3);
③將興趣模型中的關鍵詞權重與本次獲得的關鍵詞詞頻相加,作為該關鍵詞的新的權重,即TermInterestRate(New)= TermInterestRate(Old)+F(New),后轉(5);
④直接用新的興趣關鍵詞作為學習者對該關鍵詞的興趣度,即TermInterestRate= F(New);
⑤參考分類知識庫中的知識樹,自下而上,對新關鍵詞對應的主題結點的興趣度V進行更新:;V(Old)為原始的主題興趣度;m為該主題中新調整的關鍵詞的個數,Fi為新調整的關鍵詞結點的詞頻。
2)長期興趣模型更新:長期興趣模型主要考慮時間對學習者興趣的影響。現有的相關研究大多采用了時間窗機制,這種機制僅依賴于時間控制,而且對任何興趣的遺忘都平等。例如:Maloof[3]等人采用一種遺忘機制來衰減樣本(關鍵詞),每個樣本賦予一個年齡,年齡隨著時間的推移而增長,當年齡超過某一閥值時,樣本被完全遺忘,只有未被遺忘的樣本才用來訓練用戶模型,這種對樣本的時間遺忘機制可以使訓練出來的用戶模型能夠反映用戶興趣的漂移。Koychev和Schwab[4]對用戶興趣的漂移進行了分析,改進了Maloof的遺忘機制,提出用戶模型的漸進遺忘法,以適應用戶興趣的漂移。
在興趣模型的更新過程中,應能自動地對用戶興趣的變化做出判斷,適當地調整模型中用戶興趣的權值,在減少用戶臨時興趣受歷史干擾的同時,盡量保持原有興趣的穩定,防止用戶興趣反復變化,引起學習方向的頻繁振蕩。
本文采用漸進遺忘的方法對學習者興趣模型進行更新。假設用戶興趣的遺忘遵循人類大腦的遺忘規律,即用戶的興趣隨著時間的流逝逐漸減弱,而且遺忘的速度也是先快后慢。用戶最近多次訪問的詞條往往最能代表用戶最近的興趣,而長時間沒有更新的詞條,不再代表用戶的當前興趣,可以通過讓其不斷“衰老”達到過濾的目的。
為此,本文引入遺忘因子的概念對用戶的長期興趣逐漸遺忘,以適應用戶興趣的轉移,在對模型進行更新時要對模型中己有特征詞的權值進行調整,即對詞條的權值乘以遺忘因子F(x)進行修正,逐步淘汰不再使用的興趣詞條。
在遺忘因子F(x)的計算上,本文采用了蘇州大學崔志明教授[5]等人的研究成果,用如下的公式1對遺忘因子進行計算:
其中,cur表示當前日期,est表示興趣特征詞第一次在模型中出現的日期,hl表示半衰期,即經過hl天后用戶的興趣遺忘一半,但并不是線形遺忘,遺忘速度先快后慢。
基于以上的思想,本文對學習者的長期興趣模型更新算法如下:
①系統周期性的對長期興趣關鍵詞表進行更新,根據公式1分別計算各詞條的遺忘因子,并調整關鍵詞權重,使Wi'=Wi*F(X);同時更新興趣關鍵詞的創建時間TermCreatedTime為當前日期;
K為隸屬于該主題的關鍵詞結點的個數,Fi為關鍵詞結點的興趣度。
③淘汰興趣度小于某一閥值Th的興趣關鍵詞;
④更新長期主題興趣表Interest_Category_Long。
3)短期興趣到長期興趣的轉化:隨著時間的積累,如果用戶經常訪問某主題及關鍵詞的話,短期興趣模型中的主題興趣度和關鍵詞權值都會慢慢增大。積累到一定程度后,可以將興趣度大于某閥值th的關鍵詞轉為長期興趣。由短期興趣向長期興趣轉化的算法設計如下:
①系統周期性的對短期興趣關鍵詞表進行檢查,當某個關鍵詞的興趣度大于某一閥值th,則將該關鍵詞定為備選的轉化關鍵詞;
②逐一將備選關鍵詞插入到長期關鍵詞興趣模型中,如果該關鍵詞在長期興趣模型中存在,則轉(3),否則轉(4);
③將短期興趣模型中該關鍵詞的權重與長期興趣模型中的權重相加,作為新的長期關鍵詞興趣權重,即TermInterestRatelong(New)= TermInterestRatelong(Old)+ TermInterestRateshort,轉(5);
④將短期興趣模型中關鍵詞直接加入到長期興趣模型中,并將權重設置為:TermInterestRatelong=TermInterestRateshort;
⑤將短期興趣模型中相應的關鍵詞刪除;
⑦更新長期主題興趣表Interest_Category_Long。
4 結論
本文在分析比較現有資源個性化檢索系統中各種用戶興趣建模方法的基礎上,提出了一種基于分類知識庫的,結合關鍵詞與主題概念的用戶興趣表示方法,并詳細論述了用戶興趣模型的建立與更新過程。模型將用戶興趣分成長期興趣和短期興趣,在系統建立的初期,可以對上海電大網絡教育平臺的后端數據庫進行挖掘,從中得到每個學習者的歷史信息,作為學習者的初始長期興趣模型,在系統使用過程中通過模擬人類記憶遺忘規律對長期興趣進行更新;短期興趣在學習者使用個性化檢索系統的過程中通過對搜索條件以及用戶感興趣文檔進行分詞,并統計關鍵詞詞頻建立并不斷更新。通過以上的建立與更新機制,使模型能準確反映用戶的興趣特征。
參考文獻:
[1] Salton G,Wong A,Yang C S.A vector space model for automatic indexing[J].Communications of the ACM,1975,18(11):613-620.
[2] 黃希庭.認知心理學[M].北京:中國輕工業出版社,2000.
[3] Maloof M,Michalski S.Learning Evolving Concepts Using a Partial Memory Approach[C].Working Notes of the AAAI Fall Symposium on Active Learning,Boston,M A,1995:10-12.
[4] Koychev I, Schwab I. Adaptation to Drifting User's Interests[C].Proceeding of ECML2000 Workshop: Machine Learning in New Information Age,Barcelona,Spain,2000:39-45.
[5] 蔣萍,崔志明.智能搜索引擎中用戶興趣模型分析與研究[J].微電子學與計算機,2004,21(11):24-26.