專利名稱:基于并行編程模式的相似網(wǎng)頁去重系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機互聯(lián)網(wǎng)信息檢索和分析技術(shù),具體涉及一種基于并 行編程模式的相似網(wǎng)頁去重系統(tǒng),該系統(tǒng)是對現(xiàn)有的相似網(wǎng)頁去重系統(tǒng)的 改進(jìn),結(jié)合現(xiàn)有的網(wǎng)頁結(jié)構(gòu)與主題內(nèi)容分析技術(shù),提取網(wǎng)頁的特征向量, 使用基于并行模式的網(wǎng)頁指紋去重算法,在分布式系統(tǒng)環(huán)境中完成相似網(wǎng) 頁的去重功能,提高搜索引擎索引模塊和檢索模塊的效率。
背景技術(shù):
隨著近年來互聯(lián)網(wǎng)技術(shù)和規(guī)模的空前發(fā)展,越來越多的傳統(tǒng)資源正在
向Internet上遷移,搜索引擎因其強大而不失方便的檢索功能成為當(dāng)今用戶 進(jìn)行信息檢索的主要工具。但是由于互聯(lián)網(wǎng)規(guī)模龐大和地域訪問限制等特 征,較多網(wǎng)站使用服務(wù)器鏡像來加速訪問,此外在互聯(lián)網(wǎng)環(huán)境下進(jìn)行信息 轉(zhuǎn)載非常容易,致使大量的重復(fù)網(wǎng)頁充斥著互聯(lián)網(wǎng),搜索引擎的返回結(jié)果 中往往包含了許多重復(fù)的網(wǎng)頁。統(tǒng)計結(jié)果表明,近似鏡像網(wǎng)頁數(shù)占總網(wǎng)頁 數(shù)的比例高到全部頁面的29%,而完全相同的頁面大約占全部頁面的22%, 這些網(wǎng)頁要么內(nèi)容完全相同,要么只在細(xì)微部分不同,比如廣告信息、頁 面布局等其他無關(guān)信息。相似網(wǎng)頁可以分為以下幾個類別
(1) 網(wǎng)頁內(nèi)容和格式上沒有任何區(qū)別;
(2) 網(wǎng)頁內(nèi)容相同,但是格式不同;
(3) 網(wǎng)頁有部分重要的內(nèi)容相同,而且格式相同;
(4) 網(wǎng)頁有部分重要的內(nèi)容相同,但是格式不同; 而這些網(wǎng)頁最終會被搜索引擎反復(fù)的收錄。而相似網(wǎng)頁探測就是利用
某些算法準(zhǔn)確、快速的發(fā)現(xiàn)這些重復(fù)網(wǎng)頁,這對于提高搜索引擎的性能和 服務(wù)質(zhì)量有諸多好處去除大量重復(fù)網(wǎng)頁不僅可以給搜索引擎的爬行程序減輕很大的負(fù)擔(dān),在給網(wǎng)站服務(wù)器減輕壓力的同時還可以減少網(wǎng)絡(luò)通信量;
去除大量重復(fù)網(wǎng)頁,也就減少了大量的重復(fù)索引,從而大大提高了檢索質(zhì) 量和用戶體驗。
對于相似文檔或者是網(wǎng)頁文檔相似內(nèi)容的去重問題在國內(nèi)外信息提取 領(lǐng)域已經(jīng)得到了一系列的研究,其相關(guān)的技術(shù)理論基礎(chǔ)是對于兩篇文本文 檔使用MD5或者是Rabin指紋算法等文本摘要算法計算文檔的信息指紋 (通常指紋大小固定,且為2的整數(shù)次冪大小,如64 bit和128 bit),然后 比較指紋,如果相同則為內(nèi)容相同。目前比較流行的網(wǎng)頁去重方法有基于 向量空間模型(Vector Space Model, VSM)的網(wǎng)頁去重方法,它通常以網(wǎng) 頁中的字或詞為統(tǒng)計對象,即以所有的字或詞來組成一個多維向量的各個 維,然后統(tǒng)計各個詞項出現(xiàn)的頻率,并以各個詞項的頻率作為相應(yīng)維的值, 該向量成為網(wǎng)頁的特征向量,或者以文檔中的全部詞來組成特征向量的各 個維。相似網(wǎng)頁的特征向量之間夾角的余弦值接近于1??梢栽O(shè)定某個閾值, 如果余弦值超過該值,判定兩個特征向量代表的網(wǎng)頁相似。該方法思想簡 單,實現(xiàn)容易。缺點是對于網(wǎng)頁的相似,需要進(jìn)行所有的兩兩判定,因此 只利于小規(guī)模數(shù)據(jù)上的運用,對于大規(guī)模的相似網(wǎng)頁探測則缺乏靈活,速 度太慢,而且特征向量也可能需要大量存儲空間。第二種方法是基于網(wǎng)頁 關(guān)鍵詞的方法,該方法首先通過對網(wǎng)頁的解析,提取出網(wǎng)頁標(biāo)題的關(guān)鍵詞, 然后在網(wǎng)頁正文中獲取和標(biāo)題關(guān)鍵詞相關(guān)度高的其他關(guān)鍵詞形成該網(wǎng)頁的 關(guān)鍵詞集,并以倒排表的結(jié)構(gòu)進(jìn)行組織,當(dāng)需要對一個網(wǎng)頁判定是否存在 重復(fù)網(wǎng)頁時,可以在倒排表中査詢包含該網(wǎng)頁關(guān)鍵詞集中的全部或部分關(guān) 鍵詞的網(wǎng)頁,然后計算兩個網(wǎng)頁的關(guān)鍵詞集的重疊率作為網(wǎng)頁的相似度。 然后通過閾值判斷兩個網(wǎng)頁是否相似。該方法也有不足之處,如有關(guān)相同 主題的不同網(wǎng)頁,可能它們的關(guān)鍵詞集本身就具有很大的重疊率,但網(wǎng)頁 內(nèi)容并不重復(fù),而對于這類網(wǎng)頁判斷可能會產(chǎn)生大量的誤判,即非相似的
網(wǎng)頁被認(rèn)為相似,因此準(zhǔn)確度不高。第三種方法是采用Simhash算法, Simhash算法指采用特征向量代表文本,對于特征向量的每個成員計算指 紋,然后基于權(quán)重進(jìn)行疊加,得到文本的指紋,基于這種做法可以使得內(nèi)容接近的文本,其指紋值也比較接近。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于并行編程模式的相似網(wǎng)頁去重系統(tǒng), 該系統(tǒng)具有較高的準(zhǔn)確度。
本發(fā)明提供的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其特征在于 該系統(tǒng)包括網(wǎng)頁內(nèi)容預(yù)處理模塊、網(wǎng)頁特征向量提取模塊、網(wǎng)頁特征指紋 計算模塊、網(wǎng)頁指紋在線去重模塊和網(wǎng)頁指紋分布式批處理去重模塊;
網(wǎng)頁內(nèi)容預(yù)處理模塊用于處理原始的HTML網(wǎng)頁文本數(shù)據(jù),包括對網(wǎng) 頁文本內(nèi)容和語法結(jié)構(gòu)的規(guī)范化,處理后的結(jié)果仍然為HTML網(wǎng)頁文本數(shù) 據(jù),并提供給網(wǎng)頁特征向量提取模塊;
網(wǎng)頁特征向量提取模塊對預(yù)處理后的網(wǎng)頁文本數(shù)據(jù)進(jìn)行網(wǎng)頁特征向量 提取操作;它首先識別單張網(wǎng)頁中的網(wǎng)頁語義塊,對識別出來的網(wǎng)頁語義 塊中的文本內(nèi)容進(jìn)行分詞,提取網(wǎng)頁主題內(nèi)容,得到網(wǎng)頁特征向量,并發(fā) 送給網(wǎng)頁特征指紋計算模塊;
網(wǎng)頁特征指紋計算模塊根據(jù)接收到的網(wǎng)頁特征向量,計算代表單個網(wǎng) 頁特征的網(wǎng)頁指紋,根據(jù)不同的工作模式,選擇發(fā)送給網(wǎng)頁指紋在線去重 模塊或網(wǎng)頁指紋分布式批處理去重模塊;
網(wǎng)頁指紋在線去重模塊在系統(tǒng)處于在線處理模式時,處理判斷單個網(wǎng) 頁指紋是否在己有的原始海量網(wǎng)頁指紋中存在近似重復(fù)的指紋,如果存在 完全重復(fù)或者近似重復(fù)的網(wǎng)頁指紋,即可從網(wǎng)頁庫中刪除該網(wǎng)頁的內(nèi)容;
網(wǎng)頁指紋分布式批處理去重模塊在系統(tǒng)處于分布式批處理模式下,對 原始海量網(wǎng)頁指紋和輸入的批量指紋進(jìn)行比對,識別出近似重復(fù)的網(wǎng)頁指 紋對,如果存在完全重復(fù)或者近似重復(fù)的網(wǎng)頁指紋,即從網(wǎng)頁庫中刪除該 網(wǎng)頁的內(nèi)容。
上述結(jié)構(gòu)的系統(tǒng)對爬行器獲取的大量網(wǎng)頁文本數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換和網(wǎng) 頁結(jié)構(gòu)規(guī)范化,然后對基于對象文檔模型(Document Object Model, DOM)的網(wǎng)頁結(jié)構(gòu)進(jìn)行語義分塊,對于各網(wǎng)頁塊的文本內(nèi)容進(jìn)行分詞,識別提取 網(wǎng)頁的主題內(nèi)容和相關(guān)元數(shù)據(jù)信息,形成代表網(wǎng)頁的特征向量集,針對向 量集中的每一部分計算指紋,將各部分指紋疊加后得到網(wǎng)頁的最終指紋進(jìn) 行存儲,在分布式批處理模式和在線模式下進(jìn)行網(wǎng)頁去重。 具體而言,本發(fā)明具有如下優(yōu)點
(1) 統(tǒng)一規(guī)范的網(wǎng)頁結(jié)構(gòu)化信息存儲網(wǎng)頁分析處理后,相關(guān)網(wǎng)頁的 內(nèi)容將按照統(tǒng)一的格式存放,包括標(biāo)題、時間戳、主題內(nèi)容、關(guān)鍵詞、錨 文本等內(nèi)容。
(2) 網(wǎng)頁信息處理的魯棒性互聯(lián)網(wǎng)上的網(wǎng)頁常常存在不符合規(guī)范的 內(nèi)容,例如不閉合的標(biāo)簽、錯誤的標(biāo)簽等,本發(fā)明提供的系統(tǒng)使用相關(guān)開 源軟件處理網(wǎng)頁文檔,清除錯誤,使得網(wǎng)頁的內(nèi)容可以被標(biāo)準(zhǔn)的DOM解 析器處理。
(3) 相似網(wǎng)頁判斷較高的準(zhǔn)確率本發(fā)明使用特征向量指紋根據(jù)權(quán)重 進(jìn)行疊加的算法,能夠避免單純使用關(guān)鍵詞重合率判斷網(wǎng)頁相似程度帶來 的判斷偏差。
(4) 海量數(shù)據(jù)規(guī)模下較高的效率本發(fā)明使用的指紋算法具有較高的 效率,在指紋比對方面犧牲空間換取時間做了優(yōu)化,同時使用分布式計算 平臺并行處理,提高了效率,適合互聯(lián)網(wǎng)海量數(shù)據(jù)的特定環(huán)境。
圖1是本發(fā)明系統(tǒng)的結(jié)構(gòu)示意圖。
圖2是本發(fā)明網(wǎng)頁預(yù)處理模塊100和網(wǎng)頁特征向量提取模塊200示意圖。
圖3是本發(fā)明系統(tǒng)HTML標(biāo)簽分類示意圖。 圖4是本發(fā)明系統(tǒng)網(wǎng)頁分塊算法的示意圖。 圖5是本發(fā)明網(wǎng)頁特征指紋計算流程示意圖。 圖6是本發(fā)明在線模式相似網(wǎng)頁去重流程示意圖。 圖7是本發(fā)明64 bit指紋置換示意圖。圖8是本發(fā)明分布式批處理模式相似網(wǎng)頁去重流程示意圖。
具體實施例方式
下面結(jié)合附圖和實例對本發(fā)明作進(jìn)一步詳細(xì)的說明。
通常而言,相似網(wǎng)頁探測去重包括如下幾個步驟(1)首先提取網(wǎng)頁 的某些特征;(2)然后對該特征進(jìn)行編碼或量化,以便進(jìn)行快速的計算;(3) 接著以編碼后的特征值計算網(wǎng)頁之間的相似度以判定網(wǎng)頁是否相似;(4) 最后,如需要進(jìn)行大規(guī)模的計算,則必須基于較高性能的計算平臺采用某 種高性能算法以實現(xiàn)大規(guī)模計算時的高速度要求。
如圖1所示,本發(fā)明提供的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng)包 括網(wǎng)頁內(nèi)容預(yù)處理模塊100、網(wǎng)頁特征向量提取模塊200、網(wǎng)頁特征指紋計 算模塊300、網(wǎng)頁指紋在線去重模塊400和網(wǎng)頁指紋分布式批處理去重模塊 500。
網(wǎng)頁內(nèi)容預(yù)處理模塊100用于處理原始的HTML網(wǎng)頁文本數(shù)據(jù),包括 對網(wǎng)頁文本內(nèi)容和語法結(jié)構(gòu)的規(guī)范化,處理后的結(jié)果仍然為HTML網(wǎng)頁文 本數(shù)據(jù)。目前針對XML數(shù)據(jù)的DOM模型是公認(rèn)的國際標(biāo)準(zhǔn),針對DOM 模型有不同的DOM語法樹解析器,規(guī)范化處理后的HTML網(wǎng)頁文本數(shù)據(jù) 本質(zhì)上即為XML格式,即可被不同的DOM語法樹解析器進(jìn)行解析。
網(wǎng)頁特征向量提取模塊200對模塊100處理完后的網(wǎng)頁數(shù)據(jù)進(jìn)行網(wǎng)頁 特征向量提取操作。它首先識別單張網(wǎng)頁中的網(wǎng)頁語義塊,對識別出來的 網(wǎng)頁語義塊中的文本內(nèi)容進(jìn)行分詞,提取網(wǎng)頁主題內(nèi)容,得到網(wǎng)頁特征向 量,并發(fā)送給網(wǎng)頁特征指紋計算模塊300。
網(wǎng)頁特征指紋計算模塊300根據(jù)接受到的網(wǎng)頁特征向量,計算代表單 個網(wǎng)頁特征的網(wǎng)頁指紋,根據(jù)不同的工作模式,選擇發(fā)送給網(wǎng)頁指紋在線 去重模塊400或網(wǎng)頁指紋分布式批處理去重模塊500。
網(wǎng)頁指紋在線去重模塊400在系統(tǒng)處于在線處理模式時,處理判斷單 個網(wǎng)頁指紋是否在已有的原始海量網(wǎng)頁指紋中存在近似重復(fù)的指紋人,如 果存在完全重復(fù)或者近似重復(fù)的網(wǎng)頁指紋,即可從網(wǎng)頁庫中刪除該網(wǎng)頁的內(nèi)容。完全重復(fù)通常出現(xiàn)在網(wǎng)站服務(wù)器進(jìn)行鏡像轉(zhuǎn)載的情況下,近似重復(fù) 指兩張網(wǎng)頁的主題內(nèi)容一致,但在非主題內(nèi)容包括時間戳、頁面廣告,標(biāo) 題欄、內(nèi)容版式等非主題內(nèi)容出現(xiàn)不一致。
網(wǎng)頁指紋分布式批處理去重模塊500在系統(tǒng)處于分布式批處理模式下,
對原始海量網(wǎng)頁指紋和輸入的批量的指紋進(jìn)行比對,識別出近似重復(fù)的網(wǎng) 頁指紋對,如果存在完全重復(fù)或者近似重復(fù)的網(wǎng)頁指紋,即可從網(wǎng)頁庫中 刪除該網(wǎng)頁的內(nèi)容。
如圖2所示,網(wǎng)頁預(yù)處理模塊100包括網(wǎng)頁編碼預(yù)處理模塊110和網(wǎng) 頁結(jié)構(gòu)規(guī)范化模塊120。
網(wǎng)頁編碼預(yù)處理模塊110負(fù)責(zé)完成網(wǎng)頁編碼的統(tǒng)一轉(zhuǎn)換。如果所接收 到的原始網(wǎng)頁文本數(shù)據(jù)所使用的編碼不同于系統(tǒng)選定的編碼標(biāo)準(zhǔn),則按照 選定的編碼標(biāo)準(zhǔn)對其進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換后的文本數(shù)據(jù)傳送給網(wǎng)頁結(jié)構(gòu)規(guī) 范化模塊120。為了使得系統(tǒng)能夠適應(yīng)國際化的需求,通常選定的編碼標(biāo)準(zhǔn) 為UTF-8。
網(wǎng)頁結(jié)構(gòu)規(guī)范化模塊120負(fù)責(zé)完成網(wǎng)頁結(jié)構(gòu)的規(guī)范化。模塊120主要 針對HTML可能存在的標(biāo)簽不規(guī)范導(dǎo)致標(biāo)準(zhǔn)DOM語法樹解析器無法解析 的情況,對網(wǎng)頁文檔進(jìn)行相應(yīng)的規(guī)范處理,包括修正DOM語法樹中節(jié)點 (Node)的不規(guī)范屬性(Attribute)、修正非正常閉合的標(biāo)簽、去除錯誤的 標(biāo)簽等。所謂標(biāo)簽指的是HTML網(wǎng)頁標(biāo)準(zhǔn)范圍內(nèi)的HTML標(biāo)簽。
如圖2所示,網(wǎng)頁特征向量提取模塊200主要包括網(wǎng)頁分塊模塊210、 網(wǎng)頁文本內(nèi)容分詞模塊220、網(wǎng)頁主題內(nèi)容提取模塊230。
網(wǎng)頁分塊模塊210用于識別單張網(wǎng)頁中的網(wǎng)頁語義塊。在本模塊中將 HTML標(biāo)簽進(jìn)行了分類,具體分為塊標(biāo)簽、標(biāo)題標(biāo)簽、層次標(biāo)簽、忽略標(biāo) 簽、其它標(biāo)簽。該模塊的處理流程如圖4所示
(1)預(yù)處理,將經(jīng)過模塊120處理后的規(guī)范化網(wǎng)頁文本數(shù)據(jù)加載到內(nèi) 存,形成DOM語法樹。從DOM語法樹去除其中的忽略標(biāo)簽,去除的過程中可以對文本內(nèi)容進(jìn)行清理,去除首尾的空白字符、去除僅包含空白字 符的文本段,同時提取關(guān)鍵詞、描述、時間戳等元數(shù)據(jù),這類數(shù)據(jù)通常出
現(xiàn)在HTML內(nèi)容的〈meta〉標(biāo)簽中;
(2) 將DOM語法樹的葉子節(jié)點依次加入到先進(jìn)先出的隊列中;
(3) 取隊列中的一個節(jié)點,判斷該節(jié)點的標(biāo)簽類別如果該標(biāo)簽屬于 標(biāo)題標(biāo)簽,則提取文本內(nèi)容,并標(biāo)識該節(jié)點代表的文本塊為標(biāo)題內(nèi)容塊,
轉(zhuǎn)入步驟(4);如果該標(biāo)簽屬于塊標(biāo)簽,則判斷其中的文本信息或者層次
標(biāo)簽的數(shù)目是否超過閾值,本實施例中,閾值設(shè)定為文本信息閾值為100 個字符,層次標(biāo)簽5個,如果超過,就加入到網(wǎng)頁塊池中,如果沒有則傳 遞自身節(jié)點信息和節(jié)點文本長度信息到父節(jié)點,父節(jié)點加入到隊列中,轉(zhuǎn)
入步驟(4);如果該標(biāo)簽屬于層次標(biāo)簽,則將自身節(jié)點信息和節(jié)點文本長 度信息傳遞至父節(jié)點,父節(jié)點加入到隊列中,轉(zhuǎn)入步驟(4);如果該標(biāo)簽
屬于其它標(biāo)簽,則將節(jié)點文本長度信息傳遞至父節(jié)點,父節(jié)點加入到隊列
中,轉(zhuǎn)入步驟(4);
(4) 判斷隊列是否為空,如果為空,結(jié)束,否則轉(zhuǎn)入步驟(3)。 經(jīng)過模塊210的處理,網(wǎng)頁的內(nèi)容被處理成為文本塊的隊列,每個文
本塊記錄了相應(yīng)的文本內(nèi)容、帶HTML標(biāo)簽的內(nèi)容、鏈接錨文本內(nèi)容、鏈 接數(shù)目等信息。
網(wǎng)頁文本內(nèi)容分詞模塊220用于對識別出來的網(wǎng)頁語義塊中的文本內(nèi) 容進(jìn)行分詞,
在本發(fā)明中,模塊220的處理過程為對于模塊210處理完后形成的文 本塊隊列中單個文本塊的文本內(nèi)容進(jìn)行基于詞典的分詞,并根據(jù)預(yù)設(shè)的詞 典去除中英文中常見的停用詞和虛詞等與主題無關(guān)的詞項。
網(wǎng)頁主題內(nèi)容提取模塊230對模塊220處理完后的網(wǎng)頁內(nèi)容進(jìn)行網(wǎng)頁 主題內(nèi)容提取,然后形成代表網(wǎng)頁特征的特征向量。主題內(nèi)容應(yīng)該包括標(biāo) 題內(nèi)容、跟網(wǎng)頁相關(guān)的關(guān)鍵詞描述、正文主題內(nèi)容、和主題一致的錨文本 內(nèi)容等。形成的特征向量中的每一維就應(yīng)該對應(yīng)于上面的某一項。
在本發(fā)明中,模塊230經(jīng)歷的基本流程為所有模塊220處理的分塊中選擇文本長度最大的那個網(wǎng)頁塊判定為主 題內(nèi)容塊。余下網(wǎng)頁塊逐個與最大的網(wǎng)頁塊比較文本相似度,文本相似度 的比較方法為,使用模塊220進(jìn)行切詞,去除停用詞后,存儲成詞項(Word) 流,對Word進(jìn)行排序,取得兩網(wǎng)頁塊的公共Word流的數(shù)目,它除于較小 網(wǎng)頁塊的Word流的結(jié)果即為兩者的文本相似度若文本相似度大于某個特 定閾值,本實施例中,該閾值設(shè)定為0.3,該網(wǎng)頁塊也判定為主題內(nèi)容塊; 若在主題內(nèi)容塊中,錨文本(Anchor Text)的比率大于特定閾值,本實施 例中,該閾值設(shè)定為0.7,該網(wǎng)頁塊被判定為主題錨文本塊;若文本塊未被 判斷為任何類型的文本塊,即為噪音文本塊。
經(jīng)過模塊230的處理,各個網(wǎng)頁文本塊被標(biāo)識為特定的類型,包括主 題內(nèi)容塊、標(biāo)題內(nèi)容塊(在模塊210處理過程中即被標(biāo)識)、主題錨文本塊、 噪音文本塊等。在去掉噪音文本塊后,剩下的幾類文本塊結(jié)合預(yù)先設(shè)定的 權(quán)重,便組成了代表網(wǎng)頁特征的特征向量。
網(wǎng)頁特征指紋計算模塊300接收模塊200提供的單個網(wǎng)頁的特征向量, 基于文檔子序列Shingle特征對Simhash算法進(jìn)行改進(jìn)增強來計算代表網(wǎng)頁 特征指紋。
Shingle是指文檔中連續(xù)的一個子序列,本發(fā)明下文使用文檔子序列代 替Shingle的概念,Shingle的長度是指該連續(xù)的子序列所包含的詞的個數(shù)。 對于一個文檔D,本申請定義S(Aw)為文檔D中所有長度為w的Shingle 所組成的集合。例如文檔D為下列詞序列
(we, love, our, great, country) wf直為3的S(Aw):
{( we, love, our), (love, our, great), (our, great, country)}.
在本發(fā)明中選取指紋大小為64 bit作為實施例,計算網(wǎng)頁特征指紋的 流程為(如圖6所示)
(1)首先針對每個網(wǎng)頁,初始化維度為k的整型數(shù)組,k的取值應(yīng)該與 指紋bit長度保持一致,本實施例中取1^=64;(2)將模塊200處理后的各個網(wǎng)頁特征向量按照文檔子序列進(jìn)行切分, 特征向量中的每一維可以看作為詞項的序列,針對文檔子序列中的每一詞 項,計算詞頻,得到詞項詞頻權(quán)重,將文檔子序列中的所有詞頻權(quán)重與文 檔子序列所在網(wǎng)頁特征權(quán)重疊加即可得到該文檔子序列的權(quán)重;
(3) 針對單個文檔子序列使用Rabin指紋算法,得到64 bit的指紋, 考慮每一比特位,如果該比特位為1,則在初始化的整型數(shù)組中加上該文檔 子序列的權(quán)重,如果為0,則在數(shù)組中減去該文檔子序列的權(quán)重;
(4) 依照(3)中的方法,處理所有特征向量的文檔子序列;
(5) 考慮處理完所有文檔子序列的整型數(shù)組,由于多次的疊加,對于 數(shù)組中值為正的元素進(jìn)行歸1操作,對于數(shù)組中值為負(fù)的元素進(jìn)行歸0操 作,這樣的話,64位的數(shù)組即可看作為k bit的二進(jìn)制向量,將64位的數(shù) 組轉(zhuǎn)化為長整型數(shù),即得到代表網(wǎng)頁特征的指紋。
通過模塊300的處理,得到代表網(wǎng)頁特征的指紋,以下模塊在進(jìn)行去 重的過程中也是基于指紋進(jìn)行操作的。
網(wǎng)頁指紋在線去重模塊400主要基于在線模式,例如網(wǎng)絡(luò)爬蟲在獲取 一個網(wǎng)頁后,經(jīng)過模塊100、模塊200、模塊300處理后得到kbit的指紋, 此時該指紋需要與己經(jīng)存在的海量網(wǎng)絡(luò)文檔的指紋進(jìn)行比對,以確定相似 的內(nèi)容是否已經(jīng)被獲取過,如果之前已經(jīng)獲取過完全重復(fù)或者是近似重復(fù) 的網(wǎng)頁,那么改網(wǎng)頁將不被添加到網(wǎng)頁庫中去。
本發(fā)明假定指紋大小為64bit,可以設(shè)定系統(tǒng)原始積累了指紋庫,其中 指紋庫中的每條指紋對應(yīng)于某張網(wǎng)頁,對于原始指紋庫,并不確保其中不 存在重復(fù)或者近似重復(fù)的指紋,對于某條需要加入到指紋庫中的單條指紋, 其判斷原始指紋庫中是否己存在與該條指紋近似重復(fù)的指紋的實施具體流 程如圖7所示
(1)對待匹配的一條指紋,進(jìn)行四等分,將第二、第三、第四部分的 16 bit的數(shù)據(jù)分別與第一部分的16 bit分別進(jìn)行置換,得到三條置換后的指 紋;(2) 依次從指紋庫中讀取一批指紋到內(nèi)存中;
(3) 對于讀入到內(nèi)存中的這批指紋,根據(jù)特定的規(guī)則擴展成四組指紋,
擴展的規(guī)則為對于其中的單條指紋將64 bit均分為4等分,將第二、第 三、第四部分的16bit的數(shù)據(jù)與第一部分的16bit分別進(jìn)行置換,如圖7所 示。這樣處理之后,這批指紋擴展成為四組指紋,每組指紋的規(guī)模與讀入 到內(nèi)存的這批指紋一致,然后對這四組指紋排序,排序的規(guī)則為只比較64 bit指紋數(shù)據(jù)的前16 bit數(shù)值的大??;
(4) 將(1)得到的4條指紋分別同(3)得到的對應(yīng)四組指紋進(jìn)行4 次二分法査找比對,判斷待匹配的指紋及其置換后的指紋與(3)得到的四 組指紋的前k/4 bit是否對應(yīng)相同,如果4次比對發(fā)現(xiàn)符合要求的指紋,進(jìn) 入步驟第(5)步,否則進(jìn)入(6);
(5) 對于4次比對找到的4組結(jié)果,使用每組對應(yīng)的待匹配指紋同組 內(nèi)每條指紋進(jìn)行漢明距離計算,如果其漢明距離小于指定的閾值,即可認(rèn) 為原系統(tǒng)中存在與該指紋所代表網(wǎng)頁內(nèi)容相似的網(wǎng)頁,原指紋庫中的那條 指紋將被標(biāo)識為刪除,由于該條指紋可能經(jīng)過置換操作,所以在從原指紋 庫中找到待刪除指紋之前,可能需要進(jìn)行反置換操作。該指紋對應(yīng)的網(wǎng)頁 將被從網(wǎng)頁庫中刪除,轉(zhuǎn)入(6);沒有發(fā)現(xiàn)與待匹配指紋漢明距離小于指
定閾值的指紋,轉(zhuǎn)入(6);
(6) 判斷指紋庫中的全部指紋是否讀取完畢,如果是,那么可以認(rèn)為 該指紋所代表的網(wǎng)頁沒有相似網(wǎng)頁存在,該指紋所代表的網(wǎng)頁將添加到網(wǎng) 頁庫中去,否則轉(zhuǎn)入(2)。
網(wǎng)頁指紋分布式批處理去重模塊500主要基于分布式計算平臺實現(xiàn)對 批量指紋和原始海量指紋的比對,識別出近似重復(fù)的指紋對,并從網(wǎng)頁庫 中去除重復(fù)的網(wǎng)頁。分布式計算平臺可以構(gòu)建計算節(jié)點集群,在各臺主機 計算平臺相關(guān)服務(wù)啟動后,即可以向該分布式計算平臺提交計算任務(wù),計 算平臺負(fù)責(zé)任務(wù)調(diào)度、數(shù)據(jù)分布、同步、進(jìn)程間通信(IPC)、魯棒和容錯 性等分布式系統(tǒng)核心問題。計算平臺附帶的文件系統(tǒng)負(fù)責(zé)數(shù)據(jù)文件的存儲、切分、傳輸。分布式處理的過程主要基于映射/規(guī)約(Map/Reduce)編程模 式,它是與處理海量數(shù)據(jù)集的實現(xiàn)相關(guān)的,用戶指定一個映射函數(shù),通過 這個映射函數(shù)處理鍵/值對,并且產(chǎn)生一系列的中間鍵/值對,并且使用規(guī)約 函數(shù)來合并所有的具有相同鍵的中間鍵/值對中的值部分。使用分布式計算 平臺和映射/規(guī)約編程模式使得程序員可以不需要有什么并發(fā)處理或者分 布式系統(tǒng)的經(jīng)驗,就可以處理超大的分布式系統(tǒng)資源。
本發(fā)明中,可以假設(shè)系統(tǒng)原來由網(wǎng)頁特征指紋計算模塊300處理得到 的指紋歷史數(shù)據(jù),規(guī)模大小達(dá)到數(shù)十GB以上,每條指紋占空間。需要說 明的是,原始指紋數(shù)據(jù)可以從無開始積累,添加新數(shù)據(jù)并去重的過程總體 來說是更新和擴充的過程。指紋文件存放于分布式計算平臺后,按照64MB 的大小進(jìn)行數(shù)據(jù)分割,以冗余的形式存放于文件系統(tǒng)中,即同一份數(shù)據(jù), 在集群中多臺機器中存在備份,保證在分布式計算環(huán)境下單點失效之后數(shù) 據(jù)依然能夠被正確處理。這部分?jǐn)?shù)據(jù)在下述部分被稱為原始指紋庫,單臺 機器可能會處理多個原始指紋塊。根據(jù)實際需求,可能有一批新的指紋需 要被添加到指紋庫,同時原始指紋庫中與新的指紋相似的指紋就會被刪除, 然后這批新的指紋將被完整地添加到指紋庫中。這批新的指紋在下述部分 中被稱為待匹配指紋,待匹配指紋數(shù)量為數(shù)十MB。整個處理流程如圖9 所示
(1) 移動待匹配的指紋集到分布式計算平臺中;
(2) 根據(jù)網(wǎng)頁指紋在線去重模塊400中建立64 bit指紋冗余置換指紋 庫的方法,針對待匹配的指紋建立冗余置換指紋庫;
(3) 進(jìn)行映射過程調(diào)用映射的過程輸入的鍵為原始指紋中單條指紋 在該原始指紋塊中的文件偏移位置;輸入的值為單條原始指紋,映射過程 為將單條原始指紋擴張為4條指紋在冗余表格中比對,具體比對的流程與 模塊400提到的算法類似,比對后的結(jié)果輸出鍵/值對,輸出的鍵為待匹配 單條指紋,輸出的值為原始指紋中的單條指紋;
(4) 分布式計算平臺自動對映射模塊的輸出數(shù)據(jù)進(jìn)行排序合并,合并 的規(guī)則是具有相同鍵的鍵/值對合并在一起,以便規(guī)約模塊進(jìn)行規(guī)約過程調(diào)用;
(5)進(jìn)行規(guī)約過程調(diào)用規(guī)約的過程為收集歸并映射模塊輸出的指紋 對,以待匹配單條指紋為鍵,原始指紋中與該待匹配指紋漢明距離小于指 定閾值的指紋列表為值輸出到指定文件中。該指定閾值通常與網(wǎng)頁指紋在 線去重模塊400中的指定閾值相同。
經(jīng)過該模塊計算處理后,系統(tǒng)生成相應(yīng)的鍵/值對文件,鍵為待匹配的 指紋集中的單個指紋,值為系統(tǒng)原始指紋中與鍵漢明距離小于特定閾值的 指紋集合,系統(tǒng)可以對原始指紋中與被比對指紋中近似重復(fù)的指紋標(biāo)識為 刪除,并從網(wǎng)頁庫中刪除特定的網(wǎng)頁文件,然后將待匹配的指紋完整添加 到原始指紋庫中,完成更新,同時將待匹配的指紋對應(yīng)的網(wǎng)頁添加到原有 的網(wǎng)頁庫中,完成更新。
本發(fā)明提出的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng)在被指定為網(wǎng)頁 在線去重模式的情況下,可以和網(wǎng)絡(luò)爬蟲配合工作,在網(wǎng)絡(luò)爬蟲獲取到網(wǎng) 頁內(nèi)容的情況下,通過本發(fā)明的相關(guān)模塊提取特征向量,并計算代表網(wǎng)頁 特征的指紋,在與已有的海量指紋比對后,確定是否該指紋代表的網(wǎng)頁與 已獲取的網(wǎng)頁存在近似重復(fù)。在被指定為分布式批處理模式下,該發(fā)明系 統(tǒng)可以在特定分布式計算環(huán)境下完成批量指紋的比對去重,并具備較高的 時間效率和較高的準(zhǔn)確率。
以上所述為本發(fā)明的較佳實施例而已,但本發(fā)明不局限于該實例和附 圖所公開的內(nèi)容。所以凡是不脫離本發(fā)明所公開的精神下完成的等效或修 改,都在本發(fā)明保護(hù)的范圍內(nèi)。
權(quán)利要求
1、一種基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其特征在于該系統(tǒng)包括網(wǎng)頁內(nèi)容預(yù)處理模塊(100)、網(wǎng)頁特征向量提取模塊(200)、網(wǎng)頁特征指紋計算模塊(300)、網(wǎng)頁指紋在線去重模塊(400)和網(wǎng)頁指紋分布式批處理去重模塊(500);網(wǎng)頁內(nèi)容預(yù)處理模塊(100)用于處理原始的HTML網(wǎng)頁文本數(shù)據(jù),包括對網(wǎng)頁文本內(nèi)容和語法結(jié)構(gòu)的規(guī)范化,處理后的結(jié)果仍然為HTML網(wǎng)頁文本數(shù)據(jù),并提供給網(wǎng)頁特征向量提取模塊(200);網(wǎng)頁特征向量提取模塊(200)對預(yù)處理后的網(wǎng)頁文本數(shù)據(jù)進(jìn)行網(wǎng)頁特征向量提取操作;它首先識別單張網(wǎng)頁中的網(wǎng)頁語義塊,對識別出來的網(wǎng)頁語義塊中的文本內(nèi)容進(jìn)行分詞,提取網(wǎng)頁主題內(nèi)容,得到網(wǎng)頁特征向量,并發(fā)送給網(wǎng)頁特征指紋計算模塊(300);網(wǎng)頁特征指紋計算模塊(300)根據(jù)接收到的網(wǎng)頁特征向量,計算代表單個網(wǎng)頁特征的網(wǎng)頁指紋,根據(jù)不同的工作模式,選擇發(fā)送給網(wǎng)頁指紋在線去重模塊(400)或網(wǎng)頁指紋分布式批處理去重模塊(500);網(wǎng)頁指紋在線去重模塊(400)在系統(tǒng)處于在線處理模式時,處理判斷單個網(wǎng)頁指紋是否在已有的原始海量網(wǎng)頁指紋中存在近似重復(fù)的指紋人,如果存在完全重復(fù)或者近似重復(fù)的網(wǎng)頁指紋,即可從網(wǎng)頁庫中刪除該網(wǎng)頁的內(nèi)容;網(wǎng)頁指紋分布式批處理去重模塊(500)在系統(tǒng)處于分布式批處理模式下,對原始海量網(wǎng)頁指紋和輸入的批量的指紋進(jìn)行比對,識別出近似重復(fù)的網(wǎng)頁指紋對,如果存在完全重復(fù)或者近似重復(fù)的網(wǎng)頁指紋,即從網(wǎng)頁庫中刪除該網(wǎng)頁的內(nèi)容。
2、 根據(jù)權(quán)利要求1所述的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其 特征在于網(wǎng)頁預(yù)處理模塊(100)包括網(wǎng)頁編碼預(yù)處理模塊(110)和網(wǎng)頁結(jié)構(gòu) 規(guī)范化模塊(120);網(wǎng)頁編碼預(yù)處理模塊(110)負(fù)責(zé)完成網(wǎng)頁編碼的統(tǒng)一轉(zhuǎn)換;如果所接收 到的原始網(wǎng)頁文本數(shù)據(jù)所使用的編碼不同于系統(tǒng)選定的編碼標(biāo)準(zhǔn),則按照 選定的編碼標(biāo)準(zhǔn)對其進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換后的文本數(shù)據(jù)傳送給網(wǎng)頁結(jié)構(gòu)規(guī) 范化模塊(120);網(wǎng)頁結(jié)構(gòu)規(guī)范化模塊(120)負(fù)責(zé)針對HTML存在的標(biāo)簽不規(guī)范導(dǎo)致標(biāo)準(zhǔn) DOM語法樹解析器無法解析的情況,對轉(zhuǎn)換后的文本數(shù)據(jù)進(jìn)行相應(yīng)的規(guī)范 處理。
3、 根據(jù)權(quán)利要求1或2所述的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng), 其特征在于網(wǎng)頁特征向量提取模塊(200)包括網(wǎng)頁分塊模塊(210)、網(wǎng)頁文 本內(nèi)容分詞模塊(220)和網(wǎng)頁主題內(nèi)容提取模塊(230);網(wǎng)頁分塊模塊(210)將HTML標(biāo)簽分為塊標(biāo)簽、標(biāo)題標(biāo)簽、層次標(biāo)簽、 忽略標(biāo)簽、其它標(biāo)簽,識別單張網(wǎng)頁中的網(wǎng)頁語義塊,將網(wǎng)頁的內(nèi)容處理 成為文本塊的隊列,每個文本塊記錄有相應(yīng)的文本內(nèi)容、帶HTML標(biāo)簽的 內(nèi)容、鏈接錨文本內(nèi)容和鏈接數(shù)目信息,再將識別出來的網(wǎng)頁語義塊傳送 給網(wǎng)頁文本內(nèi)容分詞模塊(220);網(wǎng)頁文本內(nèi)容分詞模塊(220)用于對識別出來的網(wǎng)頁語義塊中的文本內(nèi) 容進(jìn)行分詞,并傳送給網(wǎng)頁主題內(nèi)容提取模塊(230);網(wǎng)頁主題內(nèi)容提取模塊(230)對分詞后的網(wǎng)頁內(nèi)容進(jìn)行網(wǎng)頁主題內(nèi)容提 取,然后形成代表網(wǎng)頁特征的特征向量;主題內(nèi)容包括標(biāo)題內(nèi)容、跟網(wǎng)頁 相關(guān)的關(guān)鍵詞描述、正文主題內(nèi)容、和主題一致的錨文本內(nèi)容;形成的特 征向量中的每一維對應(yīng)于上面的某一項。 ,
4、 根據(jù)權(quán)利要求3所述的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其 特征在于網(wǎng)頁分塊模塊(210)的具體處理過程為(Al) 將網(wǎng)頁結(jié)構(gòu)規(guī)范化模塊(120)處理后的規(guī)范化網(wǎng)頁文本數(shù)據(jù)加 載到內(nèi)存,形成DOM語法樹;從DOM語法樹去除其中的忽略標(biāo)簽,去 除的過程中對文本內(nèi)容進(jìn)行清理,同時提取元數(shù)據(jù);(A2)將DOM語法樹的葉子節(jié)點依次加入到先進(jìn)先出的隊列中; (A3)取隊列中的一個節(jié)點,判斷該節(jié)點的標(biāo)簽類別如果該標(biāo)簽屬于 標(biāo)題標(biāo)簽,則提取文本內(nèi)容,并標(biāo)識該節(jié)點代表的文本塊為標(biāo)題內(nèi)容塊,轉(zhuǎn)入步驟(A4);如果該標(biāo)簽屬于塊標(biāo)簽,則判斷其中的文本信息或者層次標(biāo)簽的數(shù)目是否超過設(shè)定的閾值,如果超過,加入到網(wǎng)頁塊池中,如果沒 有則傳遞自身節(jié)點信息和節(jié)點文本長度信息到父節(jié)點,父節(jié)點加入到隊列中,轉(zhuǎn)入步驟(A4);如果該標(biāo)簽屬于層次標(biāo)簽,則將自身節(jié)點信息和節(jié)點 文本長度信息傳遞至父節(jié)點,父節(jié)點加入到隊列中,轉(zhuǎn)入步驟(A4);如果該標(biāo)簽屬于其它標(biāo)簽,則將節(jié)點文本長度信息傳遞至父節(jié)點,父節(jié)點加入到隊列中,轉(zhuǎn)入步驟(A4);(A4)判斷隊列是否為空,如果為空,結(jié)束,否則轉(zhuǎn)入步驟(A3)。
5、根據(jù)權(quán)利要求4所述的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其特征在于網(wǎng)頁特征指紋計算模塊(300:)按照下述過程計算網(wǎng)頁特征指紋第Al步針對每個網(wǎng)頁,初始化維度為k的整型數(shù)組,k的取值與指 紋bit長度一致;第A2步將網(wǎng)頁特征向量提取模塊(200)處理后的各個網(wǎng)頁特征向量按 照文檔子序列進(jìn)行切分,特征向量中的每一維看作為詞項的序列,針對文 檔子序列中的每一詞項,計算詞頻,得到詞項詞頻權(quán)重,將文檔子序列中 的所有詞頻權(quán)重與文檔子序列所在網(wǎng)頁特征權(quán)重疊加,得到該文檔子序列 的權(quán)重;第A3步針對單個文檔子序列使用Rabin指紋算法,得到k bit的指紋, 對于每一比特位,如果該比特位為1,則在初始化的整型數(shù)組中加上該文檔 子序列的權(quán)重,如果為O,則在數(shù)組中減去該文檔子序列的權(quán)重;第A4步依照第A3步中的方法,處理所有特征向量的文檔子序列; 第A5步對于第A4步得到的文檔子序列的整型數(shù)組,對該整型數(shù)組 中值為正的元素進(jìn)行歸1操作,值為負(fù)的元素進(jìn)行歸O操作,k位的數(shù)組視 為kbit的二進(jìn)制向量,將k位的數(shù)組轉(zhuǎn)化為k/64個長整型數(shù),即得到代表網(wǎng)頁特征的指紋。
6、 根據(jù)權(quán)利要求5所述的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其 特征在于網(wǎng)頁指紋在線去重模塊(400)按照下述流程進(jìn)行處理第B1步對待匹配的一條指紋,進(jìn)行四等分,將第二、第三、第四部 分的k/4 bit的數(shù)據(jù)分別與第一部分的k/4 bit分別進(jìn)行置換,得到三條置換 后的指紋;第B2步依次從指紋庫中讀取一批指紋到內(nèi)存中; 第B3步對于讀入到內(nèi)存中的這批指紋,根據(jù)下述規(guī)則擴展成四組指 紋,擴展的規(guī)則為對于其中的單條指紋將kbit均分為4等分,將第二、 第三、第四部分的k/4bit的數(shù)據(jù)與第一部分的k/4bit分別進(jìn)行置換,擴展 成為四組指紋,然后對這四組指紋排序,排序的規(guī)則為只比較kbit指紋數(shù) 據(jù)的前k/4bit數(shù)值的大??;第B4步將第Bl步得到的4條指紋分別同第B3步得到的對應(yīng)四組指 紋進(jìn)行4次二分法査找比對,判斷待匹配的指紋及其置換后的指紋與第B3 步得到的四組指紋的前k/4 bit是否對應(yīng)相同,如果4次比對發(fā)現(xiàn)符合要求 的指紋,進(jìn)入步驟第B5步,否則進(jìn)入第B6步;第B5步對于4次比對找到的4組結(jié)果,使用每組對應(yīng)的待匹配指紋 同組內(nèi)每條指紋進(jìn)行漢明距離計算,如果其漢明距離小于指定的閾值,即 可認(rèn)為原系統(tǒng)中存在與該指紋所代表網(wǎng)頁內(nèi)容相似的網(wǎng)頁,原指紋庫中的 那條指紋將被標(biāo)識為刪除,對于經(jīng)過置換操作的指紋,在從原指紋庫中找 到待刪除指紋之前,先進(jìn)行反置換操作;該指紋對應(yīng)的網(wǎng)頁將被從網(wǎng)頁庫 中刪除,轉(zhuǎn)入第B6歩;沒有發(fā)現(xiàn)與待匹配指紋漢明距離小于指定閾值的指 紋,轉(zhuǎn)入第B6步;第B6步判斷指紋庫中的全部指紋是否讀取完畢,如果是,該指紋所 代表的網(wǎng)頁將添加到網(wǎng)頁庫中去,否則轉(zhuǎn)入第B2步。
7、 根據(jù)權(quán)利要求6所述的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),其特征在于網(wǎng)頁指紋分布式批處理去重模塊(500)的具體處理流程為 第C1步移動待匹配的指紋集到分布式計算平臺中;第C2步根據(jù)網(wǎng)頁指紋在線去重模塊(400)中建立k bit指紋冗余置換指 紋庫的方法,針對待匹配的指紋建立冗余置換指紋表格;第C3步進(jìn)行映射過程調(diào)用輸入的鍵為原始指紋中單條指紋在該原 始指紋塊中的文件偏移位置,輸入的值為單條原始指紋,映射過程為將單 條原始指紋擴張為4條指紋在冗余置換指紋表格中比對,比對的規(guī)則依據(jù) 每組指紋的前k/4的大小,每組比對的結(jié)果應(yīng)該是一段前k/4 bit完全相同 的指紋;比對后的結(jié)果輸出鍵/值對,輸出的鍵為待匹配單條指紋,輸出的 值為原始指紋中的單條指紋;第C4步對輸出數(shù)據(jù)進(jìn)行排序合并,合并的規(guī)則是具有相同鍵的鍵/ 值對合并在一起,以便規(guī)約過程調(diào)用;第C5步進(jìn)入規(guī)約過程調(diào)用,規(guī)約的過程為收集歸并映射過程輸出的 指紋對,以待匹配單條指紋為鍵,原始指紋中與該待匹配指紋漢明距離小 于指定閾值的指紋列表為值輸出到指定文件中。
全文摘要
本發(fā)明提出的基于并行編程模式的相似網(wǎng)頁去重系統(tǒng),包括網(wǎng)頁內(nèi)容預(yù)處理模塊、網(wǎng)頁特征向量提取模塊、網(wǎng)頁特征指紋計算模塊、網(wǎng)頁指紋在線去重模塊、網(wǎng)頁指紋分布式批處理去重模塊、基于特定分布式計算平臺。該系統(tǒng)能夠完成對網(wǎng)絡(luò)爬蟲爬行獲得的網(wǎng)頁進(jìn)行文本內(nèi)容編碼的統(tǒng)一轉(zhuǎn)換、文檔結(jié)構(gòu)的規(guī)范化、舍棄網(wǎng)頁噪聲內(nèi)容和分析識別網(wǎng)頁的主題內(nèi)容、連續(xù)文本內(nèi)容的詞項切分等環(huán)節(jié)、形成能夠代表網(wǎng)頁的特征向量。針對該向量可以使用相關(guān)的算法得到代表網(wǎng)頁特征的網(wǎng)頁指紋。本發(fā)明設(shè)計提出的系統(tǒng)在互聯(lián)網(wǎng)海量數(shù)據(jù)量的情況下,準(zhǔn)確、快速地探測由于網(wǎng)站鏡像和網(wǎng)絡(luò)文檔轉(zhuǎn)載等因素造成的網(wǎng)頁內(nèi)容完全重復(fù)或近似重復(fù),并完成相應(yīng)的去重工作,從無提高搜索引擎的存儲效率,給搜索引擎帶來更好的用戶體驗。
文檔編號G06F17/30GK101645082SQ20091006169
公開日2010年2月10日 申請日期2009年4月17日 優(yōu)先權(quán)日2009年4月17日
發(fā)明者丁益斌, 盧正鼎, 文坤梅, 李瑞軒, 勇 趙, 辜希武, 鵬 鄭, 陳珊珊, 靳延安 申請人:華中科技大學(xué)