這是我研究網頁切片算法的一個匯總想法。
之前我寫過:一種面向搜索引擎的網頁分塊、切片的原理,實現和演示 ,隨著工作的深入,逐漸碰到以下問題:
網頁切片的粒度問題:
網頁切片算法的目的不是精確找到所需要的內容,而是識別劃分網頁的各種功能區域,導航區,鏈接區,內容,頁腳區和廣告區等。
網頁切片的網頁對象:
互連網紗功能的網頁大概有2種類型,目錄型和內容型;隨著搜索引擎的發展,網站結構逐漸向扁平化的方向發展,車東 對此也做出了數據驗證,而且隨著顯示器分辨率的不斷提高,內容和目錄結合型的網頁呈增加趨勢,天極的網頁涉及,可以說是其中的典范。
網頁切片算法的對象應該是針對:內容型和內容目錄混合型。對不同網頁,應該有個識別算法,應該包括哪些標准?
網頁內容區最大范圍識別:
從切片的粒度可以看出,應該把內容區作為一個部分單獨切出來。根據一般的網頁設計規律,一般有2種容納內容區的方式:1、包含型(如blog ) 2、並列型(如bbs帖子)。
如果處理分頁的內容型網頁:
現在大多數網站為了改善用戶體驗和增加頁面展示次數的需要,對網頁做了分頁處理,這部分需要設別出來。
無意間看到了:VIPS:基於視覺的Web頁面分頁算法 ,從理論上證明了這種方法的可行性。可是實現起來有很多障礙,正如這位所說的:
蝸牛 發表於2006-02-21 12:40 AM IP: 220.184.129.*
我那天用浮動的
用絕對位置定位代替 <><>定位,並且在客戶端的JavaScript中動態排列。客戶端的對象用腳本動態生成插入。弄死他。看他怎麼分析。
這樣的算法太依賴於具體實現了,很難有好的解決辦法。
況且,現在依賴客戶端腳本展現動態表現力慢慢開始流行,這個算法很難適應未來的潮流。
就拿最簡單的,我有一個類似於OutLook工具條的頁面風格,都是腳本生成的,我看他怎麼分析!
視覺分析只能落腳到視覺上,只能對頁面的靜態畫面作分析才能得到正確的條塊分割,分割條塊是容易的簡單算法就能做到,但是要把這些內容歸結到分割到的條塊是難的。
好的辦法只有一個,模擬鼠標擊鍵,擊鍵處的對象返回響應,這在IE能夠實現的。這樣才能取得分割好條塊後的對象歸屬。
我怎麼想都覺得我的簡單算法都要比文中的算法強多了。
視覺依靠畫面分割條塊,很簡單,對空白進行膨脹-縮小算法,這樣留白就能逐漸清晰出來,文字就模糊了。然後作模糊處理,然後用一個亮度阈值把圖片轉換成二值圖,然後作一個矢量化處理,留下線條。歸結到90度和0度上去,得到一個條塊分割的矢量圖。
然後,每一塊中按照密度用鼠標點擊模擬獲得對象!這樣就可以完成了條塊歸納了。
干嗎要分析HTML呢?情況多得很,根本分析不過來。
我目前的進展是:可以識別 導航區、鏈接區、頁腳區。
對內容區的分析是個難點,鑒於我自己的需要,只要找到最大的內容區就可以了。
這段時間對算法的一個體會就是,算法就是解決特定問題的方法。教科書上的算法大都是最一般性,常用性的方法的說明。
套句俗話,能解決實際問題的方法就是好方法。但能把我們解決的問題用數學模型表達出來仍是一個不斷提高算法水平的基本要求。
>