摘要:提出了一種基于Web服務的智能網頁推薦系統,該系統使用了基于ItemtoItem的協同過濾算法,并通過對一個實例的研究驗證了所提出的算法以及推薦系統的有效性。
關鍵詞:推薦系統;Web服務;協同過濾;電子商務
中圖法分類號:TP393文獻標識碼:A
文章編號:1001-3695(2006)09-0046-03
目前推薦系統已經被廣泛地使用在各大網站之中[1],尤其在諸如Amazon等大型電子商務平臺中,應用就更加廣泛。對于商家,推薦系統能夠顯著提高商品的銷量;對于買家來說,系統能提供根據買家信息智能生成的推薦商品名單。
WebService則是一種新的Web應用程序分支,它們是自包含、自描述、模塊化的應用,可以在網絡(通常為Web)中被描述、發布、查找以及通過Web來調用。因為WebService的各種優勢,特別是在網絡上它能跨平臺完成各種任務,所以使得它受到越來越多的關注和應用。將網頁推薦功能與WebService相結合,勢必會同時給商家和客戶帶來更多的利益。
1智能關聯介紹
一般來說,推薦系統通常可以劃分為三個種類[2]:
①基于內容的推薦系統。系統根據用戶過去的購買或者偏好的信息為其提供推薦。
②關聯推薦系統。系統根據與用戶有類似偏好的客戶的購買記錄進行推薦。
③混合系統。系統結合了以上兩種推薦方法為客戶進行推薦。
推薦系統已經經歷了多年的發展和研究,并在很多電子商務網站上有了成功的應用,最成功的例子應該屬于Amazon網站向用戶提供的個性化服務,它能根據不同用戶以及其購買瀏覽記錄推薦其網站的書籍、CD以及其他產品。但是隨著互聯網用戶的不斷增加,客戶和商家均對推薦服務提出了更高的要求,然而互聯網上各種推薦服務的質量仍然不能令人滿意,還有待于開發更加高效、智能的推薦系統來完善現有的電子商務平臺。這些改進包括提供更好地表示客戶行為已經推薦對象信息的表達方法、更加先進的推薦模型建模方法以及更加有效的推薦性能。基于以上考慮,本文對如何構建智能推薦系統進行了研究。
關聯推薦能夠大大提高網頁的瀏覽量,在短時間內將更多的信息暴露給客戶,以吸引更多潛在客戶,它特別在電子商務網站中得到了廣泛的應用。如果用戶在搜索需要的商品時輸入“個人PC”,傳統的搜索功能將準確返回帶有關鍵字的相關產品的鏈接或者介紹,客戶可以通過點擊鏈接了解物品詳情。但是設想在得到網站有關“個人PC”的查詢結果的同時,如果也能通過一些智能的關聯或者聯想推薦功能,如同時出現帶有“筆記本電腦”、“個人商務助理(PDA)”等鏈接地址,客戶就可以在短時間內了解更多的相關信息,同時也給商家帶來了無盡的商機。
本文提出的方法通過分析用戶的查詢請求,從中提取關鍵詞,利用智能關聯向用戶推薦與查詢有密切關聯的網頁鏈接,從而在短時間內向用戶推薦更多的有用信息。
2智能關聯的分類
(1)橫向關聯
橫向關聯又可以細分為兩種:
①同類關聯推薦。
該關聯是指從關鍵字智能關聯到它的同種類別。例如可以從某個服裝品牌,如“Nike”聯想到其他運動品牌如“Adidas”,“Reebok”,或者由“Nike”的服裝系列聯想到“Nike”旗下的其他商品,如運動鞋、背包、手表等。
②同義或近義關聯推薦。
該關聯是指由關鍵字聯想到同義或者近似的關鍵字。現今大部分的搜索功能只能對某個指定關鍵字進行查找、檢索,在數據庫輸入不規范或者關鍵字不明確的情況下,將無法檢索到這類信息。例如輸入“Intel”或者“英特爾”應該達到相同的效果;又如,輸入“電腦”應該聯想到“PC”,“Computer”等關鍵字。
(2)縱向關聯
與橫向關聯類似,縱向關聯也細分為兩種類型:
①歷史關聯推薦。
所謂的歷史關聯是通過對該物品購買者的其他瀏覽歷史記錄進行分析從而進行物品推薦。例如在瀏覽某品牌打印機頁面的客戶中,有客戶也瀏覽了打印紙、硒鼓的耗材頁面,通過關聯算法發現這些物品并一起推薦給客戶。
②熱點關聯推薦。
它是指從關鍵字聯想到當前熱門商品從而進行推薦。例如客戶瀏覽某品牌MP3,可以將最近熱銷的5~10種MP3品牌向客戶進行推薦,同時將最熱門的1~5種數碼產品進行推薦。
3智能關聯的實現
3.1產品信息知識庫的設計
實現智能關聯從而進行推薦的關鍵是維護一個可擴展的產品信息知識庫。為了產生橫向以及縱向的關聯,可以設計一個多知識、可擴展的產品知識庫,使其包含多方面、多層次的產品信息以及產品知識。該知識庫與一般的產品數據庫的區別在于:
(1)在包含每個商品的同時,還包括其生產廠家、生產年份等常用商品屬性的關鍵字,同時也應該包括常用的英語表示。
(2)每個商品還包括同義/近義的關鍵字、同類別的關鍵字。
(3)由于同類的概念又分為超類和子類,因此對應每個類別來說最多可能有一個父類、多個子類,并與其他類別形成多種語義關系。
(4)根據應用的不同可以將知識庫劃分為若干子知識庫,每個子知識庫對應一個較大的應用領域或類別。
目前已經實現了一個面向電器的可應用于電子商務平臺的產品信息庫;如圖1所示。
在實際應用中,信息庫中的類別、同義/近義概念、同類概念等主要通過自動歸類算法和手工修改相結合的方法而產生。其主要思想是從開放的大型語義字典中抽取名詞/動名詞產生類別信息,同時可以根據幾大權威電子商務網站的歸類信息進行補充和修改。關于歷史推薦和熱點推薦可以通過機器學習算法與一部分手工添加的方式相結合,各種聯系所對應推薦的網頁鏈接則是通過檢索方式產生的。利用這個產品信息知識庫向客戶進行智能推薦將不再困難。在客戶檢索某一關鍵字時,同時檢索相關推薦信息并得到對應的網頁地址向顧客進行推薦。通過WebService將推薦服務算法抽象成網絡接口[3],可以非常方便地在網站內部甚至不同網站之間進行相關關鍵字的推薦。
3.2產品信息知識庫的實現
關于知識庫體系結構、隸屬關系、同義/近義關系的構建,依靠手工添加是無法實現大規模擴建和維護的,理想的方法是利用已有的、以概念為組織方式、不斷擴充的大型語義詞典。其中知網[4]是比較著名的大型語義詞典,其優勢在于:
(1)它是大型的中英文雙語知識庫,適合進行中英文同義關系的信息檢索和推薦。
(2)它以概念為組織對象,適合構建帶有隸屬關系的產品知識庫。
通過分析詞典的程序文件和已經存在的詞典詞庫文件,構建工作可以通過以下幾個步驟進行:
(1)形成概念條目
由于產品數據庫中是以產品信息為主,因而從知網中只提取名詞/動名詞性概念。在具體的應用中可以根據相應的應用范圍進一步縮小提取的范圍。
(2)形成同義概念
知網使用了特殊符號來表示不同的關系,其中也包括同義關系。對此,我們可以根據步驟(1)提取的各個概念再抽取相應的同義概念,同時提取相應的英語以及英語同義概念,從而為實現同義/近義推薦提供幫助。
(3)形成隸屬關系
知網中許多關系隱含在概念詞典描述中,通過一些特殊的結構和位置信息體現,特別是隸屬關系可以通過特征文件中的縮進層次結構體現出來。通過定義一些特殊的關系符,然后對不同特征文件和概念詞典進行特殊處理,將它們提取出來。在實際應用中,特別是在電子商務網站的應用過程中,可能需要更多的專業知識在其中,因而在形成隸屬關系后,可以參考大型的電子商務網站的類別信息對生成的隸屬關系進行相應的修改。
3.3熱點推薦和歷史推薦算法
3.3.1熱點推薦算法
在熱點推薦中,我們根據生成隸屬關系可以得到用戶搜索物品的種類,從而可以對該種類中銷售最佳的物品進行推薦形成熱點推薦。同時由于熱點推薦需要依靠較多的人類知識,特別是領域專家的知識,所以可以結合人工維護和種類銷售最佳物品推薦形成熱點推薦列表。
3.3.2歷史推薦算法
在歷史推薦中,采用的是被廣泛使用的協同過濾(CollaborativeFilter)[5]技術。給定用戶記錄,協同過濾技術通過將客戶記錄與其他用戶的記錄進行比較發現有類似興趣的客戶,從而將類似客戶的購買物品也推薦給正在瀏覽的客戶。
在實際應用中,考慮到將用戶記錄與所有客戶記錄相比從而得出推薦算法,在數據庫變得龐大時計算量會變得非常大。所以我們研究了一種基于物品的協同推薦算法,并在此基礎上產生了我們自己的算法。基于物品的算法根據每個用戶的購買記錄和用戶評分記錄,組合出相似的物品組成推薦列表。
其具體算法描述如下:
Algorithm:Automaticgenerationoftheassociationinformationbyusingitemtoitemcollaborativefilter
Input:catalogi
Output:associationrecommendationinformationofcatalogi
searchitemsetKingivencatalogi
while(K≠)do
{
searchcustomersetJwhopurchasedi;
while(J≠)do
{
searchpurchasesetMofeachcustomerinJ
while(M≠)do
{
foreachitemjinM
returnsim(i,j)
}
}}
其中,sim(i,j)是返回兩個向量相似程度的函數;itemi對應M維向量,而M對應于購買或者對itemi進行評分的顧客。
3.3.3歷史算法分析
計算這樣的相似物品的表是相當費時間的,在最壞的情況下復雜度達到O(NM)。但是在實際應用中,由于大多數顧客只會購買很少的物品,所以形成的是一個稀疏矩陣,因此其復雜度可以近似為O(NM)。一般對這個相似物品表進行離線計算,一旦給定物品之間的相似表,當用戶搜索指定的物品時,通過查找表格就能找出最相似的若干推薦物品。這樣的計算速度是相當迅速的,它只取決于用戶瀏覽或評分的物品數量。
4基于WebService的智能網頁推薦
我們將推薦算法通過WebService形式整合在網頁之中,其優勢在于它不僅將核心的算法模塊化,便于以后的修改和維護,更加主要的優勢在于它提供了調用算法的接口,我們可以在任何地點調用這個接口,實現對商品的推薦功能。在電子商務領域,隨著電子商務網站的不斷擴大,基于WebService的推薦服務有更多的應用空間。其他網站在提供電子商務網站的某些商品的廣告時,還伴有相關產品的推薦,這對電子商務網站的發展是非常有益的。在具體應用中,當用戶在提供的搜索引擎上輸入關鍵字進行查詢時,利用智能的網頁推薦方法我們不僅可以提供與關鍵字匹配的常規檢索結果,而且還可以推薦與在該關鍵字基礎上進行智能推薦物品的網頁鏈接。產生智能推薦的流程如下:
①從客戶的查詢中提取關鍵字(名詞或動名詞);
②根據提取的關鍵字返回常規檢索結果;
③利用抽取的關鍵字查詢建立的產品知識庫,分別查詢相關的橫向以及縱向推薦,將其返回的鏈接組成“向您推薦”項,高亮顯示在常規檢索的頁面下方,成為推薦備選的“相關鏈接”;
④如果用戶選擇一個推薦的物品網頁,則搜索引擎根據與該物品對應的關鍵字再產生相應的推薦網頁的“向您推薦”項。
5實例研究
為了測試算法,在測試系統中輸入“MP3”說明智能網頁推薦的效果。
利用前面所述的智能推薦方法,我們將在產品信息數據庫中查找相關關鍵字的信息,同時查找同義/近義的推薦條目,并利用熱點推薦算法和歷史推薦算法產生相應的推薦條目。最終得到的推薦鏈接列表如圖2所示。其中,前兩條是更加同義/近義的產品子表中查詢的,第三條~第七條是根據歷史推薦自動形成的鏈接,最后一項是根據熱點推薦的算法尋找相應種類后自動形成的。
6結束語
基于WebService的智能推薦是一種可為用戶提供更多推薦的主動式信息服務,在電子商務網站中有著廣泛的應用前景,從圖3的訪問量的對比中可以清晰地看到這一點。同時由于智能推薦的引入能夠大大提高網頁的瀏覽量,在較短的時間內將更多的信息暴露給客戶,因此能吸引更多潛在的客戶。
參考文獻:
[1]劉同明.數據挖掘技術與應用[M].北京:國防工業出版社,200l.
[2]韓家煒,孟小峰.Web挖掘研究[J].計算機研究與發展,200l,38(4):405414.
[3]AndreaP,ShonaliK.ExtendingUDDIwithRecommendations:AnAssociationAnalysisApproach[C].NewportBeach:The19thInternationalConferenceonAdvancedInformationNetworkingandApplications,1997.558567.
[4]HowNet[EB/OL].http://www.keenage.com.
[5]TMitchell.MachineLearning[M].McGrawHill,1997.
作者簡介:
周祥(1980),男,上海人,碩士研究生,主要研究方向為數據挖掘、Web數據挖掘;
鄭應平(1941),男,福建人,研究員,博導,主要研究方向為智能控制及網絡;
王令群(1979),女,山東人,博士研究生,主要研究方向為調度。