摘 要: 對搜索引擎個性化服務技術中的用戶描述文檔、資源描述文檔、個性化推薦技術、個性化服務體系結構以及該領域的主要研究成果進行了綜述。通過比較現有原型系統的實現方式,詳細討論了實現個性化服務的關鍵技術。
關鍵詞: 數據挖掘;搜索引擎;個性化;網絡資源
隨著網絡的迅猛發展,互聯網已成為人們獲得信息的重要手段[1]。海量信息在給人們帶來方便的同時也帶來了許多問題。人們經常要耗費大量寶貴的時間在大量組織松散的信息中尋找有用信息,因此搜索引擎網上檢索信息的重要工具[2-3]越來越流行。如何準確高效地為用戶提供需要的信息,是搜索引擎信息推薦研究的核心[4]。在搜索引擎中提供個性化服務技術就是針對這個問題而提出的,它為不同用戶提供不同的服務,以滿足不同的需求。個性化服務通過收集和分析用戶信息來學習用戶的興趣和行為,達到主動推薦的目的。個性化服務技術能充分提高站點的服務質量和訪問效率,從而吸引更多的訪問者[5]。個性化服務系統根據其所采用的推薦技術可以分為2種:基于規則的系統和信息過濾系統。信息過濾系統又可分為基于內容過濾的系統和協同過濾系統[6]。
基于規則的系統,如IBM的WebSphere,其優點是簡單、直接,缺點是規則質量很難保證,而且不能動態更新。此外,系統隨著規則的數量增多,變得越來越難以管理。基于內容過濾的系統有:PersonalWebWatcher,Letizia等[7],其優點是簡單、有效,缺點是難以區分資源內容的品質和風格,而且不能為用戶發現新的感興趣的資源,只能發現與用戶已有興趣相似的資源[8]。協同過濾系統如WebWatcher、GroupLens等,其優點是能為用戶發現新的感興趣的信息,缺點是存在2個很難解決的問題:一個是稀疏性,亦即在系統使用初期,由于系統資源還未獲得足夠多的評價,很難利用這些評價來發現類似的用戶;另一個是可擴展性,隨著用戶和資源的增多,系統的性能會越來越低[9]。還有一些個性化服務系統如WebSIFT、FAB等,結合了基于內容過濾和協同過濾2種技術。為了克服協同過濾的稀疏性問題,可以利用用戶瀏覽過的資源內容預期用戶對其他資源的評價,這樣可以增加資源評價的密度。利用這些評價再進行協同過濾,從而提高協同過濾的性能[10]。
1 國內外的研究現狀
為了實現個性化服務,首先需要跟蹤和學習用戶的行為和興趣,并設計一種合適的表達方式。必須組織好資源,選取資源特征,采用合適的推薦方式。此外還必須考慮系統的體系結構,以及在服務器端、客戶端和代理端實現的利弊。
1.1 用戶描述文檔
在個性化服務系統來說,最重要的是用戶的參與,有必要為每個用戶建立一個用戶描述文檔(user profile)。用戶描述文檔用來刻畫用戶特征,在制定用戶描述文檔之前,需考慮下面幾個問題[11]:
(1)描述文檔有沒有現成的標準?
(2)收集什么數據?收集數據的目的?
(3)如何收集數據?根據什么信息源來收集?
(4)收集的數據如何組織?
(5)可自適應用戶信息進行更新?
在收集用戶的信息之前,首先需分析用戶愿意提供什么信息。用戶一般都很注意個人信息的保密性,調查顯示,83%的用戶愿意向Web站點提供自己的姓名、性別、年齡、教育背景和興趣,但大多數用戶不愿意提供私有、敏感的信息,如個人收入和信用卡號等。另一項調查顯示,39%的用戶愿意Web站點向其他Web站點共享自己的信息。
1.2 資源描述文檔
個性化服務系統處理的資源是由其應用范圍確定的[12]。Anatagonomy、SmartPush應用的范圍是報紙;GroupLens應用的范圍是Usenet新聞;CiteSeer應用的范圍是科技文檔;FireFly應用的范圍是音樂和電影;Amazon.com、eBay應用的范圍是電子商務。還有一些個性化服務系統用于導航、推薦、幫助或搜索,但它們所處理的資源不太相同,如Personal WebWatcher、WebWatcher、Letizia處理Web頁與鏈接;WebSIFT處理Web訪問日志;SiteSeer、PowerBookmark處理BookMark和相關文檔;Syskill & Webert、ProFusion處理從其他搜索引擎返回的查詢結果等。目前,個性化服務系統所處理的資源都是文本資源,FireFly面向音樂和電影,其通過用戶評價喜歡的音樂家和電影來進行協同過濾,所以仍然屬于文本處理。資源的描述與用戶的描述密切相關,通常是用同樣的機制來表達用戶和資源。資源描述文檔可以用基于內容的方法和基于分類的方法來表示[13]。
(1)基于內容的方法
基于內容的方法是從資源本身抽取信息來表示資源,使用最廣泛的方法是用加權關鍵詞矢量。這種方法的關鍵的問題是特征選取,特征選取要達到2個目標:一是選取最好的詞;二是選取最少的詞。要抽取特征詞條,需要利用停用詞列表對文檔進行詞的切分,在完成詞切分后,接著除去文檔集中出現次數過少和過多的詞。經過這些處理后,還需對特征進行進一步的選取,以降低特征的維數。常用的特征選擇方法有:信息熵(entropy)、信息增益(IG)、互信息(MI)、X2統計方法(CHI)、TF-IDF方法等。比較簡單的做法就是計算每個特征的熵值,選取具有最大熵值的若干個特征,即信息量最大的若干個特征;也可以計算每個特征的信息增量,即每個特征在文檔中出現前后的信息熵之差;還可以計算每個特征的互信息即每個特征和文檔的相關性;還可使用X2統計方法。以上的計算方法中,信息增量方法和X2統計方法表現較好,但這兩種方法的計算量比較大。在完成文檔特征的選取后,還要計算每個特征的權值,使用最廣泛的是TFIDF方法,其思想是出現次數越多且罕見的詞匯越能代表文檔內容,具有很好的類別區分能力,適合用來分類。對某一特征,TF表示該特征在文檔中出現的次數,某一特定詞語的IDF,可以由總文檔數目除以包含該詞語之文檔的數目,再將得到的商取對數。矢量模型的代價是比較大的,有時為了加快處理速度,可以只考慮TF一項,矢量模型在只考慮TF,IDF以及沒有考慮TF和IDF時都使效果顯著下降。在資源描述中特征選擇非常重要,一個合理、有效的特征選擇方法可以在信息處理階段去掉數據中的冗余,降低特征空間的維數,提高效率。
(2)基于分類的方法
基于分類的方法是利用類別來表示資源,在給定的分類體系下,根據內容確定所屬類別的過程。對文檔資源進行分類有利于將文檔推薦給對該類文檔感興趣的用戶。文本分類方法有多種,常用的有K近鄰法(kNN),樸素貝葉斯(Na?觙ve-Bayes)和支持向量機(Support Vector Machines)等。K近鄰法是一種簡單而常用的文本分類方法。該方法的思想是給定一個經過分類的訓練文檔集合,在對新文檔進行分類時,首先從訓練文檔集合中找出與測試文檔最相關的k篇文檔,然后按照這k篇文檔所屬的類別來對該測試文檔進行分類處理。樸素貝葉斯方法將概率模型應用于自動分類,是種簡單而有效的分類方法。它的分類思想是使用貝葉斯公式通過先驗概率和類別的條件概率來估計文檔對類別的后驗概率。支持向量機的理論基礎是統計學習理論,作為一種相對較新的通用機器學習方法,最近十年來成為自動分類領域的研究和應用熱點。資源的類別可以預先定義,也可以利用聚類技術自動產生。許多研究表明:聚類在精度上非常依賴于文檔的數量,而且由聚類產生的類型可能對用戶來說是毫無意義的,因此可以先使用手工選定的類型來分類文檔,在沒有對應的候選類型或需要進一步劃分某類型時,才使用聚類產生的類型。
1.3 個性化推薦
個性化推薦目前大多采用基于規則的技術、基于內容過濾的技術和協同過濾技術。
(1)基于規則的技術
規則可以由用戶定制,也可以使用基于關聯規則的挖掘技術來發現,基于規則的推薦信息依賴于規則的質量和數量,其缺點是隨著規則的數量增多,系統將變得越來越難以管理。規則本質上是一個If-Then語句,它可以利用用戶靜態屬性或動態信息來建立。為了能夠使用規則來推薦資源,用戶描述文檔和資源描述文檔需用相同的關鍵詞集合進行描述。信息推薦時的工作過程為:首先根據當前用戶閱讀過的感興趣的內容,通過規則推算出用戶還沒有閱讀過的感興趣的內容,然后根據規則的支持度,對這些內容排序并展現給用戶。基于規則的系統組成如圖1所示。
關鍵詞層提供上層描述所需的關鍵詞,并定義關鍵詞間的依賴關系,該層可以定義靜態屬性的個性化規則。描述層定義用戶描述和資源描述,由于描述層是針對具體的用戶和資源,所以描述層的個性化規則是動態變化的。用戶接口層提供個性化服務,根據下面2層定義的個性化規則將滿足規則的資源推薦給用戶。
(2)信息過濾技術
信息過濾技術可分為基于內容過濾的技術和協同過濾技術[15-16]。基于內容過濾的系統,如PersonalWebWatcher、Letizia等,它們利用資源與用戶興趣的相似性來過濾信息。其優點是簡單、有效,缺點是難以區分資源內容的品質和風格,而且不能為用戶發現新的感興趣的資源,只能發現和用戶已有興趣相似的資源。協同過濾系統,如WebWatcher、GroupLens等,它們利用用戶之間的相似性來過濾信息,優點是能為用戶發現新的感興趣的信息,缺點是存在2個很難解決的問題。一個是稀疏性,即在系統使用初期由于系統資源還未獲得足夠多的評價,系統很難利用這些評價來發現相似的用戶;另一個是可擴展性,即隨著系統用戶和資源的增多,系統的性能會越來越低。還有一些個性化服務系統,如WebSIFT、FAB等,同時采用了基于內容過濾和協同過濾這2種技術。這2種過濾技術結合可以克服各自的一些缺點,利用用戶瀏覽預期用戶對其他資源的評價,增加資源評價的密度克服協同過濾的稀疏性問題,利用這些評價再進行協同過濾,從而提高協同過濾的性能。用戶與資源的關系數據可以用m×n階矩陣來表示,m代表用戶數量,n代表項目數量,Rij代表第i個用戶對項目j的評分。用戶資源信息建模如表1。
1.4 個性化服務體系結構
基于Web的個性化服務體系結構與用戶描述文檔分布的位置有很大關系。用戶描述文檔可以存儲在服務器端、客戶端、代理端[17-18]。大部分個性化服務系統的用戶描述文檔都存放在服務器端,如Syskill&Webert、Letizia、GroupLens、Anatagonomy等。優點是可以避免用戶描述文檔的傳輸,除了支持基于內容的過濾,還可以支持協同過濾;缺點是用戶描述文檔不能在不同的Web應用之間共享。也有一些系統的用戶描述文檔是存儲在客戶端的,如PointCast Network,這種體系的個性化服務可以在服務器端實現,也可以在客戶端實現。它的優點是用戶描述文檔可以在不同的應用之間共享,缺點是只能進行基于內容的過濾。還有一些系統的用戶描述文檔是存儲在代理上的,如Personal WebWatcher、PVA等,這種體系的個性化服務可以在服務器端實現,也可以在代理上實現。其優點是不僅可以支持基于內容的過濾和協同過濾,還支持用戶描述文檔在不同Web應用之間的共享;缺點是可能需要傳輸用戶描述文檔。
2 關鍵問題
(1)綜合各系統優點
基于規則的系統其優點是簡單、直接,缺點是規則質量很難保證,不能動態更新。此外,隨著規則的數量增多,系統將變得越來越難以管理。基于內容過濾的系統其優點是簡單、有效,缺點是難以區分資源內容的品質和風格,而且不能為用戶發現新的感興趣的資源,只能發現和用戶已有興趣相似的資源。基于協同過濾系統的優點是能為用戶發現新的感興趣的信息,缺點是它的稀疏性和可擴展性,結合基于內容的過濾和協同過濾這兩種技術可以克服各自的缺點,可以利用用戶的瀏覽記錄推測用戶對其他資源的評價,增加資源評價的密度,來克服協同過濾的稀疏性問題。利用這些評價進行協同過濾,從而提高協同過濾的性能。
(2)用戶描述文檔的存放
用戶描述文檔可以存放在服務器端、客戶端、代理端,大部分個性化服務系統的用戶描述文檔都存放在服務器端。其優點是可以避免用戶描述文檔的傳輸,支持基于內容的過濾和協同過濾;缺點是用戶描述文檔不能在不同的Web應用之間共享。用戶描述文檔存儲在客戶端,優點是用戶描述文檔可以在不同的Web應用之間共享,缺點是只能進行基于內容的過濾。用戶描述文檔存儲在代理上,優點是不僅可以支持基于內容的過濾和協同過濾,還支持用戶描述文檔在不同的Web應用之間共享,缺點是需要傳輸用戶描述文檔。
(3)為推薦文檔評分和排名
個性化服務技術是目前非常流行的一種技術,本文分析了各種具有代表性的個性化服務系統,并在此基礎上詳細描述了建立個性化服務的關鍵技術。要將個性化服務引入搜索引擎中,面對日益增長的Web信息,要滿足不同背景、不同目的和不同時期的查詢請求,必須針對不同用戶提供不同的服務才能真正解決這個問題。個性化服務技術在搜索引擎上仍有很多值得研究和探討的問題。
參考文獻
[1] PRETSCHNER A. Ontology based personalized search[MS. Thesis]. Lawrence, KS: University of Kansas, 1999.
[2] LEE D L, CHUANG H, SEAMONS K. Document ranking and the vector-space model. IEEE Softwar, 1997,14(2).
[3] XUE Gui Rong, LIN Chen Xi. Scalable collaborative filtering using cluster-based. In: Hong Kong University of Science and Technology, ACM, 2005.
[4] Jun Wang, Arjen P. de Vries, Marce J. T. Reinders1: unifying user-based and item-based collaborative filtering approaches by similarity fusion. Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, ACM, 2006.
[5] 曾春,邢春曉,周立柱.基于內容過濾的個性化搜索算法[J].軟件學報,2003,14(5):999-1004.
[6] 曾春,邢春曉,周立柱.個性化服務技術綜述[J].軟件學報,2002,13(10):1952-1961.
[7] 劉均,李人厚.一種面向個性化協同學習的任務生成方法[J].軟件學報,2006,17(1).
[8] 陳健,印鑒.基于影響集的協同過濾推薦算法.軟件學報[J],2007,18(7).
[9] 韓立新,陳貴海,謝立.一個面向Internet的個性化信息檢索系統模型[J].電子學報,2002,30(2).
[10] 邢春曉,高鳳榮,戰思南,等.適應用戶興趣變化的協同過濾推薦算法[J].計算機研究與發展,2007,44(2).
[11] 張鋒.使用BP神經網絡緩解協同過濾推薦算法的稀疏性問題[J].計算機研究與發展,2006,43(4).
[12] SRIVASTAVA J, COOLEY R, DESHPANDE M, et al. Web usage mining: discovery and applications of usage patterns from Web data. In:Fayyad, U., ed. Proceedings of the ACM SIGKDD Explorations. New York: ACM Press, 2000,1(2):12-23.
[13] 趙亮,胡乃靜,張守志.個性化推薦算法設計[J].計算機研究與發展,2002,39(8):986-991.
[14] 汪曉巖,胡慶生.面向Internet的個性化智能信息檢索[J].計算機研究與發展,1999,36(9):1039-1046.
[15] VOLOKH E. Personalization and privacy[J]. Communications of the ACM, 2000,43(8):84-88.
[16] WU Y H, CHEN Y C, CHEN A L P. Enabling personalized recommendation on the web based on user interests and behaviors. In:Klas, W., ed. Proceedings of the 11th International Workshop on Research Issues in Data Engineering. Los Alamitos, CA: IEEE CS Press, 2001.
[17] 沈云斐,沈國強,蔣麗華,等.基于時效性的Web頁面個性化推薦模型的研究[J].計算機工程,2006,32(13):80-81,99.
[18] 秦國,杜小勇.基于用戶層次信息的協同推薦算法[J].計算機科學,2004,31(10):138-140.