閆興龍,劉奕群,馬少平,張敏,茹立云
(1.清華大學計算機科學與技術系,北京100084;2.清華大學智能技術與系統國家重點實驗室,北京100084;3.清華大學清華信息科學與技術國家實驗室(籌),北京100084)
自21世紀以來,隨著互聯網的不斷發展,我國網民人數穩定增加.據中國互聯網信息中心測算,截至2011年12月,中國網民規模達到5.13億,全年新增網民5 580萬,互聯網普及率較2010年提升4個百分點,達到38.3%.越來越多的人通過互聯網獲取各種信息,網絡資源正逐漸成為人們獲得知識的主要渠道,截至2011年12月底,中國網頁數量為866億個,比2010年同期增長44.3%.從網民數和網頁數來看,現在網民從互聯網獲取信息存在信息過載的問題.過量的信息呈現在用戶面前,用戶很難快速地獲取自己需要的信息,這樣就降低了用戶的信息使用效率.現在用戶提高信息使用效率,過濾無用信息的主要方法是通過門戶網站和搜索引擎.門戶網站和搜索引擎在一定程度上滿足了用戶信息過濾的需求,但是門戶網站和搜索引擎都有其存在的問題,門戶網站的主要問題就是網頁的過濾是通過人工的方法進行,這樣會費時費力,而且并不能滿足每個人的信息需求.搜索引擎是當前非常重要的用戶獲取信息的途徑[1],其主要的問題有2個方面:1)無法提供用戶的個性化需求;2)用戶需要較為繁瑣地提供需求來獲取信息.為了給用戶提供更好、便捷和個性化的服務,推薦系統應運而生.推薦系統和搜索引擎的主要區別在于:1)搜索引擎面向的是所有的用戶,提供主流的結果,推薦系統更重要地是研究用戶模型,利用用戶的歷史記錄或者社交網絡提供用戶的個性化服務;2)搜索引擎是用戶主導的,需要用戶主動提供和修改查詢詞,推薦系統是由系統主導用戶瀏覽,能夠提供更好的推薦結果.高質量的推薦系統能夠使用戶更加依賴該系統,提高用戶的忠誠度.
當前網頁推薦系統基本上可以分為3種方法:基于日志挖掘的推薦方法、基于知識的推薦方法和基于內容的推薦方法.
1)基于日志挖掘的推薦方法.基于日志挖掘的推薦方法[2-6]主要是根據用戶的Web訪問日志信息,劃分出用戶的會話,通過模式匹配以及關聯規則等數據挖掘的方法,推薦出用戶需要的網頁.這種方法很好地利用了用戶行為,能夠更好地實現個性化需求,但是由于互聯網的擴散性和數據的稀疏性,這種方法只能應用于小規模的封閉集合.
2)基于知識的推薦方法.該方法更多的是利用知識工程的方法對網頁進行分析,在某種程度上可以看成是一種推理技術.它主要是通過語義Web的分析[7-11],得到各個網頁之間的關系,從而由系統推薦出網頁.
3)基于內容的推薦方法.該方法[2,12]是當前網頁推薦系統最主要的方法,它首先提取網頁中用戶的信息需求,然后通過一系列的數據挖掘方法得到推薦的對象.所提取的用戶信息需求特征主要通過關鍵詞來表示,關鍵詞的質量是影響這種方法最主要的因素.當前基于內容的關鍵詞提取主要通過以下2種方法實現:①基于已有的分詞程序中的詞語集合[2];②基于已有的詞語詞典[9].但是上述 2 種方法同樣存在各自的問題,在第1種方法中,分詞程序中的詞語往往很短,無法得到更能反映用戶需求的長關鍵詞;第2種方法并不針對網頁文本,網頁文本和書面文本存在一定的差異,并不一定能表征用戶的信息需求.本文對這2種方法得到的關鍵詞候選集進行對比實驗,結果表明,基于用戶行為信息的領域關鍵詞提取技術有更好的效果.
領域關鍵詞抽取方法的流程如圖1所示.

圖1 基于Web資源領域關鍵詞提取方法框架Fig.1 Framework of domain-specific term extraction based on Web resource
本文主要通過4步運算,可以得到最終領域關鍵詞的集合.
1)網頁標注.網頁標注主要通過歸納總結找到某個領域的網頁url的規律和特點,最終總結出基于url的網頁篩選方法.通過該方法可以得到某領域相關的Web資源.大型新聞門戶網站中某領域網頁的url均是在某個子域名下,而某領域專業網站下的網頁一般為該領域的相關文本.
2)預處理.預處理為新詞發現算法處理語料庫,對原有的網絡文本進行整理,如對網頁正文進行抽取,以及對原有文本不規則內容進行整理,然后對句子進行切分,得到多字集合,用于新詞發現算法處理.
3)新詞發現.新詞發現基于上一步得到的候選多字集合.該方法首先統計候選多字集合中每個候選多字出現的頻率,將低于某頻率閾值的多字濾除出候選集合;然后分別計算每個候選多字的左右信息熵,將低于某熵值的多字濾除.
假設詞語w屬于候選集,另外,A={a1,a2,…,am}和 B={b1,b2,…,bk}分別為該詞語對應的左右單字集合,則左右熵的定義為:

式中:C(w,ai)和C(w,bi)分別是詞語w的左單字ai和右單字bi出現的次數.
對于一個實際存在的詞而言,如果它的出現頻率較高且左右單字集的頻率也很高,則可以通過其左信息熵和右信息熵的方法進行過濾.
通過上一步的過濾,仍然有部分非詞語無法過濾,如“化股份”這個詞,從語義的角度來講,該候選詞中的“股份”應該和“化”分開,之前沒有分開的原因是由于該詞的左信息熵過大,這樣依據上一步的規則無法被濾除.根據已有的信息熵和候選詞的出現頻率,提出基于遞推的耦合度過濾算法,具體算法如下.
①對于字長為3的w,如果存在w1∈T2(T2為長度為2的候選詞集合),w可分解為p+w1,p為單字.計算p和w1的耦合度為

如果存在w1∈T2(T2為長度為2的候選詞集合),w可分解為w1+p,p為單字.計算p和w1的耦合度公式為

式中:γ和λ為參數閾值.如果耦合度的值等于1,則認為w不應該為詞.
②對于字長為4的w,如果存在w1∈T3(T3為長度為3的候選詞集合),w可分解為p+w1,p為單字.計算p和w1的耦合度公式為

如果存在w1∈T3(T3為長度為3的候選詞集合),w可分解為w1+p,p為單字.計算p和w1的耦合度公式為

式中:γ和λ為參數閾值.在耦合度計算中,如果交集中的每個不等式都成立,則耦合度的值等于1,否則耦合度為0.如果耦合度的值為1,則認為w不應該為詞,將w濾除.
對于參數的估計,采用最小二乘法實現,首先抽取已過濾候選集中的1 000個樣本,對樣本進行標注,根據抽取出樣本的數據,計算出值和ER(w)或者EL(w)值,對已得到的數據進行組合,得到候選參數集合,通過計算每對候選參數所對應的樣本正確率,將最高正確率的參數對作為估計出的參數.實驗表明,該算法可以有效地濾除候選集合中的非詞語,并保留實際存在的詞語.
以此類推,可以得到更長長度的詞.進行耦合度過濾之后,將得到的結果放入搜索引擎進一步過濾,最后得到候選關鍵詞集合.
4)TF/IDF篩選.TF/IDF是一種常用的計算某個詞在某篇文檔或部分文檔集合中重要程度的方法.基于TF/IDF篩選是為了更好地得到與領域相關的關鍵詞,通過計算每個候選關鍵詞在文本語料庫中的TF/IDF值,得到每個候選關鍵詞在領域文本語料庫的重要程度.TF/IDF值的定義如下.
對于文檔d,候選關鍵詞w對應的詞頻及文檔頻度倒數特征的計算公式為:

式中:f(w)為詞w在文檔d中出現的次數,Σ f(w)為一篇文檔的總詞數,|D|為語料庫中的文件總數,|Σ f(w)|為包含詞語w的文件數目.使用類別的TF/IDF作為候選詞的評價函數,其公式為

以上述領域關鍵詞提取技術得到的領域關鍵詞為候選集合,對于每個候選詞,提取其在網頁中的以下特征:標題中出現的次數、標題中第一次出現的位置、正文中出現的次數和在正文中第一次出現的位置,并且結合關鍵詞本身的一些特征,如關鍵詞的長度、其在領域關鍵詞提取時的頻率以及TF/IDF值.依據這7個特征,利用線性擬合的方法得到各個特征的參數,根據這些特征的特征值,得到排序較高的前3位結果作為推薦的關鍵詞,即用戶的興趣點所在.
當前用戶在瀏覽網頁時獲取所需信息的重要方式便是通過搜索引擎提交查詢詞,所以用戶提交的查詢詞是反應用戶興趣的重要信息,以查詢詞為候選集合,對用戶進行關鍵詞推薦,能夠很好地表征用戶的信息需求.
基于用戶查詢詞集合的關鍵詞推薦方法,首先需要對查詢詞的候選集合進行選取,采用的查詢詞選取方法的步驟分為以下3步(如圖2所示).

圖2 用戶查詢詞候選集合選取方法Fig.2 Framework of selecting query candidate
1)預處理.因為查詢詞中有部分噪音的存在,比如標點符號、不成詞的查詢.首先去除存在的標點符號,因為一般正常的查詢都不存在符號.接下來去除查詢頻率過低和過高的查詢詞,頻率過低的查詢詞一般不是真實存在的詞語,而頻率過高的查詢詞又沒有真正的區分度,用戶往往只是為了利用搜索引擎引導到某個網站,如“新浪”、“搜狐”等.
2)利用領域關鍵詞提取技術中的新詞發現算法,主要針對查詢中小于等于4個字的結果,去除查詢詞中非詞語,從而提高檢索的速度,該算法能很好地濾除非詞語.
3)建立基于長查詢詞和短查詢詞的映射關系.一方面,由于查詢詞的集合過于龐大,為了提高查詢詞匹配的速度,所以采用2級索引的方法.另一方面,短查詢詞反映的含義簡單扼要,但是有部分查詢詞無法全面反映用戶的意圖,所以采用2級索引,能更加全面地反映用戶的信息需求.
利用上述方法得到的短查詢詞集合為候選集合,對于每個候選詞,提取其在網頁中的以下特征:標題中出現的次數、標題中第一次出現的位置、正文中出現的次數和在正文中第一次出現的位置,并且結合查詢詞本身的一些特征,如查詢詞的長度、其查詢的頻率以及TF/IDF值.根據這些特征,利用線性擬合的方法,得到各個特征的參數值,通過計算得到排序靠前的查詢候選詞.
將得到的排序靠前的短查詢詞索引下的長查詢詞作為長查詢詞候選集合,對于這個候選集合中的候選詞,以對應的短查詢詞的得分為基礎,加入長查詢詞的查詢頻率這個特征.最后根據上述2個特征值,排序得到推薦的長查詢詞.從實驗的結果可以看出,長查詢詞往往是與文本內容相關的信息內容.
關鍵詞的質量是影響基于內容的網頁推薦系統效果的重要因素,使用計算不同準確率的方法評價關鍵詞的推薦方法,準確率P的定義為

由于領域關鍵詞提取技術只能提取出單個領域的關鍵詞,因此本文主要針對單個領域的網頁進行推薦,下面以財經領域的網頁為例進行實驗.
利用用戶瀏覽行為信息,抽取用戶在瀏覽過程中點擊的錨文本信息,以該信息作為提取關鍵詞的背景語料庫.錨文本是指由網頁制作者編寫的,用于描述對應的超鏈接網頁內容的文本樣式.數據是在“用戶體驗改進計劃”中抽取的,數據收集經過了用戶的同意,并刪除了用戶的IP、用戶名等個人信息.查詢集合采用某商業搜索引擎18 d(2010-10-08—10-25)的查詢日志,對于錨文本,采用同一時期的用戶瀏覽日志信息.
隨機選取10 000個網頁url,從中提取出財經領域的網頁,并且篩選出不合格的網頁,共提取出134個與財經相關的網頁,利用領域關鍵詞提取方法對相關網頁進行推薦,然后通過人工標注,計算出該方法的前1位和前3位的準確率.
基于用戶查詢集合的關鍵詞推薦方法的實驗則是從10 000個url中隨機抽取1 000個進行推薦,并計算相應的前1位和前3位的準確率.
通過標注,得到基于領域關鍵詞提取技術和基于查詢詞集合的關鍵詞推薦方法在不同網頁下的實驗結果,如表1所示.從實驗結果可以看出,這2種方法得到的關鍵詞推薦都能得到較好的推薦效果,但是基于領域關鍵詞提取技術的關鍵詞推薦效果更為顯著,具有更高的準確率.

表1 2種方法的實驗結果Table 1 Results of two methods %
對實驗的結果進行具體的分析,造成基于領域關鍵詞提取技術推薦錯誤的主要原因在于不存在相對應的候選關鍵詞.例如:網頁標題為“主力研究”,正文為“滬深兩市依舊是小盤股全面活躍,大盤股不漲反跌.雖然不少投資者……”,基于領域關鍵詞提取技術的推薦方法得到的結果為“主力”.通過分析,候選集合中沒有“主力研究”這個詞,但在該網頁中,只有“主力研究”能夠很好地反映該網頁的內容.對于基于查詢集合的關鍵詞推薦方法而言,導致推薦結果不對的原因主要是某些關鍵詞在查詢
詞中并沒有出現,導致候選集合中并沒有這些關鍵詞.有如下的例子:網頁標題為“Q友樂園”,網頁正文為“Q友樂園,專注分享精品頭像與個性素材的專業性網……”,查詢詞候選集合中,并沒有“Q友樂園”這個候選詞,所以最終的推薦結果中,只推薦了“樂園”這個詞.由于領域關鍵詞提取技術主要針對單個領域的詞
進行相應的過濾和提取,所以能夠更好地獲取某個領域的關鍵詞.而基于用戶查詢集合的關鍵詞推薦方法則主要依據用戶提交的查詢詞,造成查詢詞候選集合詞匯不足的主要原因有:1)用戶提交的查詢詞無法涵蓋所有關鍵
詞;2)由于查詢詞集合過大,對長尾查詢詞進行過濾,導致丟失了部分有用的查詢詞數據.
基于領域關鍵詞提取技術的關鍵詞推薦方法可以更好地把握用戶的信息需求,但是其有一定的局限性,只能在單個領域中發揮較好的作用.而基于查詢詞集合的關鍵詞推薦方法可以在各個領域推薦出用戶需求的信息,雖然在準確率和召回率方面有一定的缺陷,但是其普適性對于推廣該方法有很大的幫助.接下來的工作中,將結合這2種方法的優缺點,得到更高效、準確的關鍵詞推薦方法.
[1]許海玲,吳瀟,李曉東,等.互聯網推薦系統比較研究[J].軟件學報,2009,20(2):350-362.XU Hailing,WU Xiao,LI Xiaodong,et al.Comparison study of internet recommendation system[J].Journal of Software,2009,20(2):350-362.
[2]張培穎.基于Web內容和日志挖掘的個性化網頁推薦系統[J].計算機系統應用,2008,17(9):9-12.ZHANG Peiying.Personalized web page recommendation system based on web content and log mining[J].Computer System and Applications,2008,17(9):9-12.
[3]YANG Qingyan,FAN Ju,WANG Jianyong,et al.Personalizing web page recommendation via collaborative filtering and topic-aware Markov model[C]//IEEE International Conference on Data Mining.Sydeny, Australia,2010:1145-1150.
[4]SUMATHI C P,VALLI R P,SANTHANAM T.Automatic recommendation of web pages in web usage mining[J].International Journal of Computer Science and Engineering,2010,2(9):3046-3052.
[5]劉強,郭景峰.基于用戶訪問路徑分析的頁面推薦模型[J].計算機技術與發展,2007,17(1):151-154.LIU Qiang,GUO Jingfeng.A web page recommendation model based on analyzing user access pattern[J].Computer Technology and Development,2007,17(1):151-154.
[6]WU Y H,CHEN Y C,CHEN A L P.Enabling personalized recommendation on the web based on user interests and behaviors[C]//Proceedings of the 11th International Workshop on Research Issues in Data Engineering.Washington,DC,USA:IEEE Computer Society,2001:17-24.
[7]邵華,高鳳榮,邢春曉,等.基于VSM的分層網頁推薦算法[J].計算機科學,2006,33(11):85-88,105.SHAO Hua,GAO Fengrong,XING Chunxiao,et al.A hi-erarchical webpage recommendation algorithm based on vector space model[J].Computer Science,2006,33(11):85-88,105.
[8]楊學明,蔣云良.基于語義的自適應個性化網頁推薦[J].情報理論與實踐,2009,32(3):93-96.YANG Xueming,JIANG Yunliang.Based on semantic adaptive personalized pages recommendation[J].Information Studies:Theory and Application,2009,32(3):93-96.
[9]梁邦勇,李涓子,王克宏.基于語義Web的網頁推薦模型[J].清華大學學報:自然科學版,2004,44(9):1272-1276,1281.LIANG Bangyong,LI Juanzi,WANG Kehong.Web page recommendation model for the semantic web[J].Journal of Tsinghua University:Science and Technology,2004,44(9):1272-1276,1281.
[10]袁燚,張璟,李軍懷.基于網頁關鍵詞的個性化Web推薦算法[J].西安理工大學學報,2007,23(1):59-61.YUAN Yan,ZHANG Jing,LI Junhuai.A personal web recommendation algorithm based on web page key words[J].Journal of Xi'an University of Technology,2007,23(1):59-61.
[11]楊學明.基于本體學習的個性化網頁推薦[J].情報雜志,2009,28(3):171-174,198.YANG Xueming.Personalized web recommending based on ontology learning[J].Journal of Intelligence,2009,28(3):171-174,198.
[12]趙銀春,付關友,朱征宇.基于Web瀏覽內容和行為相結合的用戶興趣挖掘[J].計算機工程,2005,31(12):93-94,198.ZHAO Yinchun,FU Guanyou,ZHU Zhengyu.User interest mining of combining web content and behavior analysis[J].Computer Engineering,2005,31(12):93-94,198.