搜索引擎按功能分目錄式搜索和全文檢索,按檢索范圍分綜合性搜索和專業性搜索(也可以叫垂直搜索),按組合方式可以分成獨立搜索引擎和元搜索引擎[1].目前擺在搜索引擎面前的兩大問題是機器人信息收集的全面性和關鍵詞查詢返回信息的準確度,近些年個性化搜索研究成為熱門發展方向,它正是為了解決針對不同用戶群體返回更精確的相關結果。本篇文章主要研究內容是如何合理利用搜索引擎在返回結果前,通過附加上個性化因素的算術因子從而改變文檔結果得分,讓搜索引擎排序更加符合個體化的搜索需求。
1個性化搜索問題現狀
目前個性化搜索都離不開用戶的興趣庫,而興趣庫的建立需要搜索引擎針對用戶經過一段時間的跟蹤學習和數據采集。對于用戶的興趣提取技術主要可以通過服務器端挖掘用戶搜索記錄;用戶主動提供相關信息,比如問卷調查,用戶注冊信息等;用戶針對搜索結果進行評價打分來反饋用戶信息[2].而在用戶興趣庫模型的具體設計上大致都是通過興趣向量和特征值來表示和構建,計算過程中根據用戶的偏好設置不同的權重[3].但是就算個體用戶興趣庫搭建的足夠完善,用戶并不是每次的搜索都是根據興趣來的。特別是是學習型的用戶,經常搜索未知的內容,甚至某些時候搜索時需要的結果完全背離興趣的。事物總是在不斷的變化發展,興趣也是,太依賴歷史信息來構建興趣庫,可能無法反映用戶興趣的變化。在這些情況下,興趣庫的價值便不能很好體現,這里并不是排斥興趣庫,而是討論如何更好的利用興趣庫。
根據權威統計顯示,對于搜索引擎的返回結果,用戶一般最多只會查看2~3頁內容,如圖"14000000"條結果,每頁顯示20條記錄,將有700000頁的內容,根據"二八法則"80%的搜索工作只有20%的才是用戶真正需求的,而這個結果與二八法則更是相去甚遠,這不得引起思考,搜索引擎是否作了太多的無用功。
最后,現代化搜索引擎的智能化水平偏低,特別是中文搜索,除了在中文分詞上精確的問題,也有近義詞上的處理,還有同詞不同義的詞在中文中也很常見,這些都加大了搜索引擎智能化的難度。搜索引擎需要更加智能化,必須花費更多的時間和資源去分析和計算,這就影響搜索響應延長等待結果時間,從而留下不好的用戶體驗。
2個性化排序因子分析
2.1搜索引擎技術架構
搜索引擎在技術架構上大致由三部分組成如圖2所示,主要包括信息獲取模塊,索引建立模塊和檢索模塊,各自有各自的功能,組成一個完善的整體架構[4].
搜索引擎的信息來自互聯網,這需要網絡爬蟲根據不同的爬行策略盡可能全面的獲取互聯網上的文檔信息。然而互聯網發展到現在,諸多的垃圾信息,無效信息和重復頁面充斥,這就需要在文檔建立索引前做進一步的處理,例如網頁去重,反作弊等。
在建立索引前還需要對頁面進行解析,抽取網頁主體內容以及包含的指向其他頁面的信息。抽取頁面主體是為了更好的建立"倒排索引",倒排索引是一種高效的查詢數據結構,以便更快的對用戶查詢內容做出回應。頁面的鏈接指向關系主要用于"鏈接分析",用來計算網頁的重要性,鏈接分析技術只根據頁面間的指向關系計算其重要性,通過計算的權重值來影響返回結果頁面的排序。該技術并沒有把用戶的輸入內容考慮在內,而是讓互聯網上的頁面有信用額一樣,只有權重值高的網頁才有機會在結果中排的更靠前,該技術最早的應用是Google的PageRank技術。
最后在用戶輸入關鍵詞后,搜索引擎對查詢內容進行解析分詞,然后先到緩存中查找是否有相關歷史搜索記錄,如果有直接返回排序結果,如果沒有,搜索引擎就會到倒排索引找查找,然后根據關鍵詞內容相似性和鏈接分析對結果頁面進行排序,并返回給用戶。
從查詢模塊來看,不同的用戶在輸入相同的關鍵詞后,只要倒排索引和頁面權重沒有變化,搜索將返回同樣的結果頁面。
2.2個性化排序計算因子個性化排序計算因子的主要目的是在搜索引擎從索引中找到符合條件的內容后,計算文檔得分返回排序結果給用戶前,結合用戶的相關信息(即用戶個性化因子)對排序結果進行再一次計算調整,以達到返回結果能更貼合不同用戶查詢需求。個性化因子是在用戶興趣庫分析基礎上的進一步細化分析計算,以下就是本篇提出的個性化因子。
2.2.1交互式搜索
為更好地體現用戶實時搜索取向,不能只是單純的依靠用戶歷史數據作為個性化排序的唯一標準。而是結合用戶操作,對用戶本次搜索內容取向作進一步的分析確認。交互式模塊功能是在采集用戶實時操作數據并作出分析,當達到原先設定的標準觸發事件,提示用戶是否返回二次排序結果。例如:用戶某次搜索"蘋果",這時搜索引擎返回的結果中有蘋果手機和水果蘋果的相關內容,就百度搜索的結果來看,大部分信息是關于蘋果手機的。但是用戶本次卻是想找水果蘋果的相關內容,所以用戶會點擊水果蘋果相關的頁面查看,要是仍沒有滿意結果,這時交互式功能模塊將被觸發,搜索引擎結合用戶的本次操作,由交互式模塊提供計算因子,提升有關水果蘋果文檔頁面的得分,讓返回結果重新排序,讓蘋果手機頁面靠后,甚至是屏蔽蘋果手機的相關內容。過程如圖3所示。
這個過程中,關鍵問題在于如何采集用戶實時數據以反映用戶本次需求和交互式模塊功能觸發標準的制定。
對于數據采集,用戶在返回頁面中往往根據標題和內容摘要判斷該內容是否符合自己需求,從而進行第一次點擊查看,所以前幾次用戶點擊頁面內容對于用戶需求分析很重要。另外,如果用戶在某個頁面上停留了足夠長的時候,同時又在頁面上進行一些"有效"操作,從而判定該頁面內容是否可以用來采集數據。這里的"有效"操作可以是復制粘貼內容,拉動滾動條,甚至是保存鏈接到收藏夾等[5].所以對于是否用于數據采集的具體公式可以是Ci=aXi+bYi+cZi(1)其中,Ci表示頁面參考價值,Xi表示前幾次點擊,如果用戶前三次點擊則該值為1,否則為0;Yi表示用戶是在頁面上是否停留足夠長時間,如果大于時間t則為1,否則為0;Zi表示用戶在頁面上的有效操作,如果用戶進行了"有效″操作則為1,否則為0;a、b、c是三個系數,令三個系數a=1,b=c=1/2,當滿Ci等于1時,表示該頁面符合數據采集。
對于觸發條件,同樣采用公式1,當Yi=0表示用戶在頁面停留時間過短,Zi=0時表示用戶所打開頁面都沒有進行"有效″操作,即不符合用戶查詢需求,稱為"失效頁″。P(l)=L/T(2)其中,P(l)表示無效頁面率,L表示失效頁面總數,T表示用戶打開頁面總數。假設P(l)>50%時,表示此次搜索符合二次返回標準。在用戶再次將鼠標移至關鍵詞輸入框的時候提示用戶是否進行二次搜索返回,否則跳過該功能由用戶自己進行關鍵詞輸入。
2.2.2近垂直檢索
垂直檢索是針對性更強的行業搜索方式,是搜索引擎的細分和延伸,是對網頁內容庫中分類別搜索的一次整合。就像百度和谷歌搜索引擎一樣都提供新聞、音樂、圖片,視頻等垂直檢索方式,選中對應的搜索方式查詢,結果頁面的內容會集中某一限定范圍內的。如在百度中對關鍵詞"蘋果"使用音樂搜索,返回的結果只是與蘋果相關的音樂,而不會有蘋果手機或者是水果蘋果的內容。
在個性化因子的計算中,結合用戶興趣庫信息和本次搜索需求縮小信息檢索范圍,提高搜索精確度的同時也提高了搜索效率,提高用戶的個性化體驗。這種類似于垂直檢索的返回結果,這里稱為近垂直檢索分析[6].一旦確認用戶結果取向,便可以通過對應專業范圍內的頁面得分計算因子,用來提高該行業方向結果頁面排名。
2.2.3截斷計算
根據BerrierAssociates的調查結果顯示:60%~65%的人會點擊名列搜索結果前10名的網站;20%~25%的人會考慮點擊名列11到20的網站;還有3%~4%會點擊名列搜索結果中列第21到第30名的網站[7].而搜索引擎的返回結果中往往動則幾千萬條相關內容,成千上萬頁的內容,這種做法實在是沒有必要。所以在計算個性化得分前,通過適當提取結果的前n條記錄,每經過1次個性化因子因素計算就進行一次結果數量抽取用作下一步計算,這種滾雪球的效應隨著考慮因子增加結果條數反而減少,這就減輕了隨著考慮個性化因子的增多計算量加大的負擔。當結果數到一定數量的時候就不需要再截取計算,因為用作計算頁面數的減少就意味著搜索結果的全面性降低,搜索結果數量還需要保持在一定的數量范圍內的。搜索引擎的效率和全面性就像算法的空間和時間的關系一樣此消彼長,能做的就是盡量的權衡利弊來決定兩者的權重。
3結束語
本篇的個性化因子是基于用戶興趣庫的,是對興趣庫個性化搜索的改進建議。本著更多的交流才能挖掘用戶更多的需求,提出交互式二次返回結果,因為增加了個性化因子的計算,加大搜索引擎的負荷,所以在計算過程中去除相關性不大文檔,以減輕搜索引擎的計算負擔。
參考文獻:
[1]蘇坤,夏旭。搜索引擎分類研究的現狀與發[J].圖書館論壇,25(1):69-71.
[2]胡吉明。個性化搜索引擎中的用戶興趣提取技術[J].圖書館學刊,2006(4):118-119.