任勝兵,王志健,王 宇
中南大學 軟件學院,長沙 410075
頁面是Web應用的重要組成部分,用戶通過頁面與軟件系統(tǒng)進行交互,完成需要的功能。頁面設計的好壞直接影響用戶體驗[1]。
網(wǎng)站頁面設計涉及到網(wǎng)絡技術、視覺效果和網(wǎng)頁經(jīng)濟學等多個領域。網(wǎng)頁樣式和布局的設計往往參照最新的趨勢、網(wǎng)站用途以及產(chǎn)生的視覺效果各個指標。但設計者很難把握需求和準確定位到Web版面設計的最新趨勢和風格。文獻[2]提出一種自動挖掘同類功能網(wǎng)站頁面結構的方案,幫助開發(fā)者高效設計出網(wǎng)頁。文獻[3]提出一種根據(jù)用戶約束與布局要求自動設計出網(wǎng)頁的技術。
相似功能的頁面設計通常都有著相似的組成、布局、風格等特征,重復性的代碼工作嚴重降低了工作效率,同時也降低了企業(yè)或者組織的快速迭代能力,頁面結構的重用[4]可以有效提高Web應用的開發(fā)效率。
Web頁面代碼重用[5]可以由模板技術與組件技術實現(xiàn)。通過模板[6]生成代碼可以降低Web開發(fā)過程中數(shù)據(jù)與視圖之間的耦合性。模板引擎可以讓(網(wǎng)站)程序實現(xiàn)界面與數(shù)據(jù)分離,業(yè)務代碼與邏輯代碼的分離,解決了把動態(tài)變化的數(shù)據(jù)插入到頁面文件中的問題[7]。文獻[8]提出了一種基于Velocity模板引擎的代碼自動生成技術研究,一定程度上解決了特定業(yè)務領域的信息管理系統(tǒng)的頁面的設計與代碼自動生成[9]。但目前模板方法不夠靈活,改動模板會導致相關聯(lián)的模塊都隨之改動,影響開發(fā)效率,因此既可以實現(xiàn)重用功能又比較靈活的基于組件[10]的Web重用到更多程序員的青睞。文獻[11-12]設計并實現(xiàn)了一套頁面組件庫,面向可復用的組件編寫頁面,實現(xiàn)頁面布局的自動設計與業(yè)務邏輯之間的無縫調用。該方法著重研究頁面布局的統(tǒng)一性與動態(tài)數(shù)據(jù)的綁定,忽略了頁面設計的多元化與用戶體驗。且組件開發(fā)具有局限性,需要特定的開發(fā)人員編寫程序,其效率依然較低。
為了降低頁面模板與代碼之間的耦合性與組件開發(fā)的低效性,本文利用同類功能網(wǎng)站在頁面布局與樣式上存在的相似性,識別并提取具有相似結構的代碼塊并通過組合應用到待開發(fā)頁面中,可以靈活實現(xiàn)頁面的自動化設計。
通過總結同類網(wǎng)站中的頁面結構特點發(fā)現(xiàn):功能相似頁面布局和樣式布局也存在很大相似性。對相同性質頁面的布局進行挖掘,并通過樣式匹配算法可以得到具有相似結構的代碼塊,不同區(qū)域的代碼塊組合起來可以形成完整頁面。由于HTML頁面編寫復雜,且呈半結構化[13-14],對整個頁面的解析就會耗費大量的計算資源,對頁面進行分塊處理[15]可以很好地解決上述問題。在視覺分割線檢測過程中融入相似度計算[16]將分割出的代碼塊中的可復用區(qū)域進一步細分,縮小了頁面處理的范圍,提高了結構抽取的效率。大部分計算網(wǎng)頁相似度的方法都是通過樹路徑匹配模型來計算相似度,通過計算樹之間的轉化距離得出網(wǎng)頁之間的相似性。文獻[17]定義樹路徑的序列相似度(標簽元素)和位置相似度,計算兩相似度的加權和獲取路徑相似度,通過網(wǎng)頁間最佳樹路徑匹配計算結構相似度,在傳統(tǒng)基于樹路徑模型的基礎上補充了路徑相似度,更能體現(xiàn)網(wǎng)頁的差異性。文獻[18]使用數(shù)字向量比較節(jié)點之間的相似度,并設計投影算法來計算位置相似的節(jié)點,降低了比較的時間復雜度。文獻[19]提出了基于節(jié)點統(tǒng)計特征的網(wǎng)頁結構相似度度量方法,通過網(wǎng)頁標記的頻率分布特征得到結構和布局信息并計算網(wǎng)頁之間的相似度。文獻[20]提出一種將DOM樹轉換成其節(jié)點序列的方法,通過尋找在序列化節(jié)點中最大同構的子樹序列來比較兩個網(wǎng)頁的相似性,該方法計算的時間復雜度較低。通過節(jié)點相似度算法[21]可以從代碼塊中提取出重復利用的結構[17]作為模板從而實現(xiàn)頁面的自動化設計。
對代碼塊中的布局結構匹配相應的標簽屬性需要從頁面引入的樣式表中篩選出屬性標識對應的樣式,高效的字符串匹配算法RoSunday[22]可以更加快速地從大量字符中找到目標字符[23]。
將頁面布局的設計分割成多個獨立的代碼塊,可以大大提高開發(fā)效率并降低頁面設計中各個模塊之間的耦合性。本文采用基于布局挖掘和樣式匹配的頁面代碼自動化設計方法,利用頁面設計中的功能相同其頁面結構也存在共性的特點,通過改進的VIPS(Vision-based Page Segmentation)算法挖掘同類網(wǎng)站中的布局結構,通過相似度計算抽取挖掘過程中具有相似結構的代碼塊,通過RoSunday字符串匹配算法匹配其映射的樣式表文件,得到可以重用的代碼塊,從而實現(xiàn)頁面的自動化設計。
由于功能類別相同的網(wǎng)頁在布局結構上存在共性,且通過解析頁面發(fā)現(xiàn)其對應的DOM樹節(jié)點也具有相似的樣式屬性。本文首先采用VIPS算法思想,利用視覺特征對頁面進行分塊,比較相同功能代碼塊之間的相似度,根據(jù)設定的閾值挖掘出滿足要求的代碼塊并對其進行解析,提取出具有相似結構的代碼塊,并結合RoSunday字符串匹配算法從樣式表中取出代碼塊中節(jié)點對應的樣式屬性。通過實例驗證了頁面自動化設計中布局挖掘和樣式匹配算法的有效性。
2.1.1 頁面分塊
對于頁面分塊首先是對塊進行抽取。通過視覺特征將Web頁面按照規(guī)則首先被分割為幾個比較大的代碼塊,同時這幾個代碼塊所組成的層次結構將被記錄下來。對于檢測出來的每一個大的代碼塊分塊過程又可以繼續(xù)進行,直到代碼塊不能進一步分割(達到不可再分的子節(jié)點或者已經(jīng)滿足給定的閾值范圍)。將分塊后的網(wǎng)頁進行比較,具有相似布局的劃分為同一組,對每一個大的代碼塊(按照視覺分割線檢測)進行細分,將每一次分完后的結果比較相似度,對于滿足閾值的每一個節(jié)點塊劃分為同一子集,根據(jù)標簽中的屬性標識符來獲取節(jié)點信息。
VIPS在網(wǎng)頁塊提取時對DOM樹中的每一個節(jié)點進行檢查,網(wǎng)頁塊提取的規(guī)則多達13條,導致網(wǎng)頁塊提取過程非常復雜,且需要計算和保存DOM樹中的所有節(jié)點的視覺信息,這就導致該算法在時間和內存上消耗比較大,使得在處理含有大量節(jié)點的網(wǎng)頁時性能不高。本文是主要是采用節(jié)點之間的層級關系產(chǎn)生分隔條,分塊規(guī)則充分利用CSS樣式中的border屬性、節(jié)點的background-color屬性,margin和padding屬性以及長條圖片等視覺特征,根據(jù)分割出代碼塊的數(shù)量來控制分級的層數(shù),并通過相似度計算可以區(qū)分有效代碼塊和無效代碼塊,提高對相似結構提取的效率。
2.1.2 相似度計算
網(wǎng)站的設計者為了保持其網(wǎng)站外觀的統(tǒng)一,往往在同一網(wǎng)頁內部使用很多的重復的代碼(包括節(jié)點特征序列及所應用的樣式)。相似性表現(xiàn)在以下幾方面:
(1)通常具有相同的父節(jié)點。
(2)節(jié)點內部的HTML標簽排列相同。
(3)節(jié)點內部各HTML標簽的樣式相同。
通過分塊處理,將網(wǎng)頁分割為有效區(qū)域與無效區(qū)域,有效區(qū)域為那些具有相似結構的代碼塊,無效區(qū)域可以去掉,以便提高對頁面進行處理的速度。相似度計算主要分三步進行,第一步遍歷有效區(qū)域的節(jié)點,計算節(jié)點之間的相似度,第二步,根據(jù)計算的相似度值判斷兩兩節(jié)點是否滿足閾值要求,若滿足,根據(jù)當前節(jié)點中的元素標識查找并按照一定規(guī)則存儲它的樣式表,第三步將同一代碼塊中相似度值滿足閾值的節(jié)點進行合并,直到遍歷結束。算法具體實現(xiàn)過程如下所示。
算法1查找并提取代碼塊中具有相似結構的節(jié)點
算法1只是用來提取代碼塊之間的相似結構,通過視覺特征得到具有相似特性的代碼塊,對代碼塊細分才能得到需要的結構信息。
遍歷代碼塊,將其看做是頁面DOM樹結構的一個節(jié)點。步驟3~5:根據(jù)其屬性特征計算節(jié)點之間的相似度,主要是依據(jù)標簽排列和標簽屬性,將得到的結果與事先給定的閾值進行比較,大于閾值說明具有較高的相似度,可以抽取結構。步驟6~8:若相似度小于閾值,則對其位置相似度進行計算,判斷其位置上是否與其他節(jié)點具有共性,由于每一個網(wǎng)站需要比對的節(jié)點數(shù)目很多,所以需要刪除位置相似性也不滿足條件的節(jié)點,不對其子節(jié)點再做處理。
對于遍歷過程中的節(jié)點相似性的計算與比較的詳細過程下面給予闡述。
(1)當前節(jié)點中的結構具有相似性:遍歷當前節(jié)點,根據(jù)相似度計算得出它們具有相同的標簽,相似的屬性值,所以計算結果大于閾值,繼而對代碼塊中的子節(jié)點進行遞歸遍歷。
(2)當前節(jié)點中的結構不具有相似性:當前節(jié)點在布局相似度計算的結果小于閾值,則對節(jié)點的位置進行相似度比較,位置信息主要為節(jié)點所占矩形區(qū)域的高度、寬度以及長寬之間的比例關系,通過計算將得到的值與閾值比較,若小于閾值,則說明該節(jié)點與其他節(jié)點不具有相似性,為了避免不必要的計算,則刪掉該節(jié)點。
因此,需要定義節(jié)點的結構相似度SoL(Similarity of Layout)來度量兩個節(jié)點在結構上的相似程度與位置相似度SoP(Similarity of Position)來度量兩個節(jié)點在樣式上的相似程度。SoL與SoP都是0到1之間的值,越接近1表示兩個節(jié)點的布局結構越相似。設有兩個節(jié)點x,y,則它們的SoL定義為公式(1)所示:
公式(1)中N表示比較的深度,即只比較到第N層節(jié)點,在本文的計算中,N的取值很大程度上取決于節(jié)點所占區(qū)域大小;Mi表示第i層子節(jié)點的個數(shù);ωi為第i層子節(jié)點對整體結構布局的貢獻系數(shù),一般認為越深層次的節(jié)點對宏觀布局的影響越小。首先判斷兩個節(jié)點是否為使用了同樣的HTML標簽,若不同,則Sij為0,若相同,則繼續(xù)比較下一節(jié)點。通過實驗,若SoL值大于0.9[18]則可認為兩個節(jié)點相似,此時可以達到較好的識別效果。如果兩個節(jié)點的SoL值非常小,可通過比較節(jié)點的位置關系來確定它們之間的相似度。
通過視覺觀察,比較直觀的因素為節(jié)點所占矩形框大小、色塊信息等,所以本文將位置信息的計算單獨抽取出來判斷兩個節(jié)點是否具有相似性的依據(jù)。有兩個匹配節(jié)點 xi、yi、i為待比較的第 i個節(jié)點,已有節(jié)點為 x0、y0,則它們的SoP定義為公式(2)所示:
其中xi、yi為i個匹配節(jié)點所屬區(qū)域的長度與高度,i為正整數(shù),x0、y0為已有節(jié)點的長度與高度。通過SoP公式計算出待比較節(jié)點與已有節(jié)點區(qū)域之間各項比值,得出的結果為兩個節(jié)點之間的位置相似度。通過多次實驗可以得出SoP的閾值。若求出的比值大于閾值,則表明兩個節(jié)點相似,可以對節(jié)點進行進一步的解析與布局挖掘,若值小于閾值,則證明該節(jié)點所屬區(qū)域與其他節(jié)點之間不具有共性,應當去除以頁面結構的抽取質量與效率。對于有些節(jié)點的位置信息難以獲取的情況,根據(jù)其父節(jié)點、兄弟節(jié)點、子節(jié)點以及相對位置排版,推算出其位置信息。
根據(jù)相似度計算可以得到具有相似布局的節(jié)點,對于這些節(jié)點,需要根據(jù)其需要從頁面中抽取其樣式特征,并將節(jié)點中的標簽標識符與在代碼塊中的層級關系映射到相應的存儲結構中,本文采用哈希表來存儲標簽與樣式表之間的映射關系,key為每一個標簽節(jié)點的唯一標識,value值代表標簽層級。且每一個節(jié)點集合中的樣式表都會被存儲為一個新的css文件,方便自動構造頁面時樣式表的引用。具體算法如下所示。
算法2對代碼塊中的節(jié)點進行樣式匹配
通過分塊算法得到HTML頁面文件,首先需要對頁面文件進行標準化處理,目的是保證頁面中的標簽文件具有準確的開閉對應關系,減少標簽的書寫不規(guī)范導致的分層錯誤問題。解析文件后根據(jù)頁面分塊算法得到具有可復用結構的代碼塊,解讀代碼塊中的節(jié)點信息,通過遍歷節(jié)點得到它們之間的層級關系以及樣式表信息。利用解析工具可以得到代碼塊,利用正則表達式可以其分為層級清晰的節(jié)點集合。
步驟1、2:利用for循環(huán)遍歷代碼塊中的節(jié)點,根據(jù)正則表達式中的規(guī)則匹配過濾出標簽與樣式表信息。步驟3~9判斷當前標簽是否為自閉和標簽,若為該類標簽,則證明當前節(jié)點不存在子節(jié)點,下一個遍歷節(jié)點為其兄弟節(jié)點,否則判斷該節(jié)點中是否包含子節(jié)點以及閉合標簽標記。步驟11通過compare方法判斷最近的該節(jié)點匹配的“End”標簽。閉合標簽的提取也需要匹配一定的規(guī)則,提取出閉合標簽后,便可以梳理出該節(jié)點的層級關系,以及利用標簽屬性提取該節(jié)點的樣式表信息。標簽中的id、class以及style屬性與樣式表存在一一對應的關系,且容易獲取,可以將其作為節(jié)點中的樣式標識符。
使用樣式信息的方法和位置非常靈活,主要有以下三種情況:(1)使用標簽引用文件,標簽只能位于簽中,數(shù)量可以是多個;(2)使用標簽定義樣式信息,標簽的位置不確定,數(shù)量可以是多個;(3)通過標簽的屬性指定樣式信息,但并不是每個標簽都有屬性。利用RoSunday算法,可以快速地通過標識符與樣式表的映射關系可以抽取每一個節(jié)點的完整信息,并將其作為條有效記錄存入代碼塊的CSS文件中。RoSunday算法是Sunday字符串匹配算法的一種改進,算法在匹配過程中,首先判斷模式串的最后一個字符位置在主串T中對應的位置上的字符有沒有在模式串中出現(xiàn)過。如果出現(xiàn),按照Sunday算法進行匹配,如果沒有出現(xiàn),則直接跳過整個模式串長度,并從該字符的下一位字符開始進行下一輪的匹配首先按從左向右進行逐個匹配。為了方便頁面的自動化設計,將每一個標簽的樣式標識符與其在代碼塊中的層級關系通過哈希表關聯(lián)起來,key為樣式標識符,value中存儲該節(jié)點的層級編號。
根據(jù)調查發(fā)現(xiàn),功能相似或相同的網(wǎng)站在布局結構上大都存在一定的相似性,可以將Web網(wǎng)站分為以下三種形式:門戶網(wǎng)站、企業(yè)網(wǎng)站和個人網(wǎng)站。開發(fā)一個大型網(wǎng)站需要耗費大量的人力物力,特別是在頁面的結構設計上,需要精確每一個節(jié)點元素的布局位置以及呈現(xiàn)效果,如果能夠對已經(jīng)存在的結構進行提取,并應用到相似功能的網(wǎng)站開發(fā)中,會大大減少開發(fā)成本,提高效率,且多次復用的代碼塊可以作為模板或者組件,方便網(wǎng)站的維護與修改。
對于分塊后得到的代碼塊需要進行相似度計算,方法中主要用到的參數(shù)有布局相似度閾值,計算布局相似度時需要比較的層數(shù)以及每一層對整體布局的貢獻系數(shù)。其中比較層數(shù)N選取比較重要,因為其取值會直接影響到計算結果。層數(shù)N的取值需要平衡匹配耗費時間以及抽取的準確度。層數(shù)偏少,比較得過于粗略導致抽取結果的準確度不高;層數(shù)偏多,比較得過于細致耗費過多時間。因此,需要綜合考慮使得抽取的準確率和召回率都比較高,同時運算處理速度又快。貢獻系數(shù)的選取要依據(jù)以下原則:外層的貢獻系數(shù)要大于內層,即要滿足公式(3)的條件:
在實驗中,選擇 N=1,2,3,4,5,6來分別計算處理網(wǎng)頁之間相似代碼塊的抽取的召回率和準確率,而貢獻系數(shù)的選取則根據(jù)式(3),可根據(jù)實際情況作具體調整,這里只給出N=3時的一組參考值(0.5,0.2,0.1),此時布局相似度SoL為0.9時效果較好。具體實驗結果圖1所示。由圖1可知,N的取值會嚴重影響準確率和召回率。綜合考慮,N的取值為3時抽取精度達到最優(yōu)。
圖1 N取不同值時的準確率和召回率
計算樣式相似度時,如果布局相似度的值小于閾值需要計算位置相似度,因為它決定匹配節(jié)點在頁面中的展示效果。如果兩個比較的節(jié)點之間不具備相同的屬性值,可以根據(jù)位置相似性來判斷是否需要進一步解析節(jié)點進行比較。主要需要考慮以下因素:位置相似度相差太大,則說明兩個節(jié)點所占的矩形區(qū)域大小存在較大差異,則代碼塊的子節(jié)點可以提取出相似結構的概率比較??;如果位置相似度差距不大,只要是可以再分的兩個節(jié)點,都有可能存在相同結構的代碼塊,則需要進一步計算來判斷是否可以挖掘出具有相似性的頁面結構。因此需要綜合考慮使得匹配的節(jié)點在頁面中顯示不突兀。本文對來自新浪、騰訊、搜狐、網(wǎng)易、鳳凰網(wǎng)等門戶網(wǎng)站的1 000個代碼塊進行了測試。通過位置相似性劃分的區(qū)域進行節(jié)點相似度計算,結果可以分為:滿意(節(jié)點匹配的正確率達95%以上);有錯誤但錯誤可接受(節(jié)點匹配的正確率為85%~95%);有錯誤且錯誤不可接受(節(jié)點匹配的正確率低于85%)。根據(jù)實驗數(shù)據(jù)表明,由于需要考慮計算節(jié)點位置所耗費時間與節(jié)點抽取的滿意度,SoL的值在0.9以上效果最佳。實驗數(shù)據(jù)如表1所示。
表1 SoP閾值選取
對具有相似結構的代碼塊進行解析,需要將標簽屬性標識符對應的樣式從樣式表中提取出來,本來采用RoSunday算法匹配樣式表中的關鍵字,與其他字符串匹配算法比較具有較好的性能。從800 KB以上的頁面文件中匹配實驗數(shù)據(jù)如圖2所示。
圖2 樣式匹配算法運行時間
上文中的M-KMP,M-Sunday,M-RoSunday為分別結合了KMP、Sunday、RoSunday字符串匹配算法的樣式匹配算法。字符串匹配算法的效率與匹配次數(shù)、匹配的串長度等密切相關,根據(jù)樣式匹配算法中對樣式表文件的處理表明,當子串長度小于8個字符時采用MRoSunday樣式匹配算法可以取得較高效率。
為了評價頁面中提取代碼塊的結果,每一種形式的網(wǎng)站隨機選擇某一主題的網(wǎng)頁來運行本文提出的Web頁面的布局挖掘和樣式匹配算法,通過前面的工作,得到具有相似結構的代碼塊以及在網(wǎng)頁中所占的比重。其中門戶網(wǎng)站與企業(yè)網(wǎng)站中比較高,可以達到37%以上。
在Web應用系統(tǒng)的開發(fā)過程中,頁面代碼的編寫因其數(shù)量大、重復多、出錯率高等特點已經(jīng)成為影響整個項目進度的瓶頸?,F(xiàn)有頁面輔助開發(fā)工具只注重對單一頁面的圖形化操作和生成,開發(fā)效率仍然很低,需要重復設計具有相似結構的頁面。提出一種方法在Web頁面自動化構建過程中挖掘現(xiàn)有頁面功能相似的布局結構。通過上述處理過程得到相似代碼塊,各代碼塊之間相互組合可以實現(xiàn)頁面的自動化設計,且各個代碼塊獨立存在,方便頁面的維護與修改。頁面相似結構的挖掘與樣式匹配算法不僅可以實現(xiàn)頁面的自動化設計,其更重要的意義在于如何充分利用已經(jīng)成熟的頁面結構與布局實現(xiàn)代碼的重用,進而更進一步地提高Web應用的自動化程度。但本文僅針對頁面結構與布局的挖掘做了相關工作,對挖掘后代碼塊之間如何相互組合自動化設計頁面并未做過多研究,約束編程可以很好解決滿足約束的條件之間的組合問題,使用約束方程自動化設計頁面成為下一階段工作的重心。
[1]Zhu S,Liu W,Cai J,et al.The research and design of the Web page information system editor[C]//2015 International Conference on Smart and Sustainable City and Big Data,2015:51-55.
[2]Bajwa I S,Siddique I,Choudhary M A.Web Layout Mining(WLM):A new paradigm for intelligent web layout design[C]//International Conference on Information&Communications Technology,2006:1-2.
[3]Guilherme D,Horta N,Guilherme J.Automatic layout generation of power MOSFET transistors in bulk CMOS[C]//IEEE International Conference on Electronics,Circuits and Systems,2014:606-609.
[4]Budhija N,Ahuja S P.Review of software reusability[C]//Proceedings of the 1st International Conference on Computer Science and Information Technology,2011:113-115.
[5]王博,林中.可重用構件界面框架的研究與實現(xiàn)[J].計算機工程與設計,2011,32(6):2035-2039.
[6]Campos-Rebelo R,Pereira F,Moutinho F,et al.From IOPT Petri nets to C:An automatic code generator tool[C]//2011 9th IEEE International Conference on Industrial Informatics,2011:390-395.
[7]Radjenovic J,Milosavljevic B,Surla D.Modelling and implementation of catalogue cards using FreeMarker[J].Program Electronic Library&Information Systems,2009,43(1):62-76.
[8]孔得雨,羅鋒,林偉波,等.一種基于 Velocity的代碼自動生成技術研究[J].計算機應用與軟件,2014,31(10):20-23.
[9]Han G,Liu H,Zhang Z,et al.Analysis and design of automatic code generation system based on J2EE[C]//2011 Third International Conference on Communications and Mobile Computing,2011:77-80.
[10]覃發(fā)兵,葛玉輝.基于Java Web組件技術的畢業(yè)設計管理系統(tǒng)[J].計算機應用,2010,30(S1):321-323.
[11]樊國柱.基于頁面組件的應用系統(tǒng)快速開發(fā)平臺:CN,CN101178649[P].2008.
[12]任保鋼.久其DNA界面組件庫的設計與實現(xiàn)[D].北京:北京工業(yè)大學,2015.
[13]張乃洲,曹薇,李石君.一種基于節(jié)點密度分割和標簽傳播的Web頁面挖掘方法[J].計算機學報,2015,38(2):349-364.
[14]李文昊,彭紅超,童名文,等.基于視覺特征的網(wǎng)頁最優(yōu)分割算法[J].計算機科學,2015,42(11):284-287.
[15]Zhang X,Zhang Y,He J,et al.Vision-based web page block segmentation and informative block detection[C]//International Joint Conferences on Web Intelligence,2013:265-269.
[16]Hattori G,Hoashi K,Matsumoto K,et al.Robust Web page segmentation for mobile terminal using contentdistances and page layout information[C]//International Conference on World Wide Web,Banff,Alberta,Canada,May 2007:361-370.
[17]廖浩偉,楊燕,賈真,等.一種改進的基于樹路徑匹配的網(wǎng)頁結構相似度算法[J].吉林大學學報:理學版,2012,50(6):1199-1203.
[18]江鴻.基于視覺的相似性算法在信息抽取中的研究與實現(xiàn)[D].長春:吉林大學,2011.
[19]Cruz I F,Borisov S,Marks M A,et al.Measuring structural similarity among web documents:Preliminary results[C]//Proceedings of the 7th International Conference on Electronic Publishing,Held Jointly with the 4th International Conference on Raster Imaging and Digital Typography:Electronic Publishing,Artistic Imaging,and Digital Typography.[S.l.]:Springer-Verlag,1998:513-524.
[20]Hu Z,Sun F.Measuring similarity of web pages on maximum isomorphic subtree[C]//International Conference on Fuzzy Systems and Knowledge Discovery,Yantai,Shandong,China,2010:2469-2473.
[21]王允,李弼程,林琛.基于網(wǎng)頁布局相似度的Web論壇數(shù)據(jù)抽取[J].中文信息學報,2010,24(2):68-76.
[22]Sunday D M.A very fast substring search algorithm[J].Communications of the ACM,1990,33(8):132-142.
[23]徐珊,袁小坊,王東,等.Sunday字符串匹配算法的效率改進[J].計算機工程與應用,2011,47(29):96-98.