一種基于局部敏感Hash函數的網頁分類方法
【專利摘要】本發明涉及一種基于局部敏感Hash函數實現網頁分類的方法,其特征在于:首先是訓練分類器,其輸入是所有類的訓練集,輸出是能夠代表特定類的64位的指紋;然后用測試集測試該分類器,在測試通過之后,利用該分類器對待定網頁進行分類,分類過程的輸入是待分類網頁的正文,經過處理將正文內容映射成一個64位的指紋,同所有類的指紋進行對比,計算海明距離;同哪個類的海明距離最小,則判定該網頁屬于哪個類。本發明通過利用局部敏感hash函數實現對文本的分類,保證準確率的情況下可以大幅度提高分類效率。
【專利說明】—種基于局部敏感Hash函數的網頁分類方法
【技術領域】
[0001]本發明屬于互聯網信息檢索【技術領域】。
【背景技術】
[0002]面對互聯網海量規模的信息資源,搜索引擎已經成為人們生活和工作中必不可少的信息獲取工具。一方面,人們希望獲得越來越多的信息;另一方面,在大量信息中快速有效地檢索所需的內容越來越困難,因此,迫切需要對大規模文本信息進行有效處理,文本分類就是在這一要求下誕生的。常用的中文文本分類方法有:κ最近鄰分類法、決策樹分類法、樸素貝葉斯分類算法等。
【發明內容】
[0003]本發明公開了一種利用局部敏感hash函數實現對文本的分類方法。
[0004]局部敏感哈希算法(LocalitySensitive Hashing,簡稱 LSH)是 1999 年 PiotrIndyk和Rajeev Motwani為了解決主存儲器中最近鄰搜索問題而提出的。本發明將局部敏感哈希算法應用文本分類中,以期在較低時間復雜度的情況下獲得較好的分類性能。
[0005]本發明給出的技術方案為:
概括的說,一種基于局部敏感Hash函數實現網頁分類的方法,其特征在于:首先是訓練分類器,其輸入是所有類的訓練集,輸出是能夠代表特定類的64位的指紋。然后用測試集測試該分類器,在測試通過之后,利用該分類器對待定網頁進行分類,分類過程的輸入是待分類網頁的正文,經過處理將正文內容映射成一個64位的指紋,同所有類的指紋進行對t匕,計算海明距離。同哪個類的海明距離最小,則判定該網頁屬于哪個類。
[0006]具體的說,所述的基于局部敏感Hash函數實現網頁分類的方法,其特征在于: 在預處理時,根據項目中具體需要獲得類名,然后根據類名和搜索引擎利用網絡爬蟲
獲取到相應類名的樣本集。
[0007]第一步,將所有類的樣本集進行去除網頁標簽、廣告等噪音信息提取正文,利用分詞器分詞去除停用詞操作。
[0008]第二步,利用樸素貝葉斯分類算法訓練分類器的方法,計算每個類每個特征詞的權重。
[0009]第三步,利用局部敏感hash函數將類的特征向量映射成為一個64位的指紋,具體映射步驟為:
輸入一個N位的文本特征向量V,每個特征具有一定權重。輸出是一個64位的二進制簽名f。
[0010](I)初始化一個64維向量F為0,64位的二進制簽名S為O。
[0011](2)對向量V中的每一個特征,使用傳統的Hash算法計算出一個64位的散列值H0 對于 l<=i<=64,
如果H的第i位為I,則F的第i個元素加上該特征的權重; 否則,F的第i個元素減去該特征的權重。
[0012](3)如果F的第i個元素大于0,則f的第i位為I ;否則為O ;
(4)返回簽名f。
[0013]第四步,提取待分類的網頁的特征詞及其權重值,用相同的局部敏感hash函數映射成網頁的二進制簽名S。
[0014]第五步,將s同所有類的指紋信息進行海明碼比較,則s所對應的網頁就屬于海明距離最小的那個類。
[0015]第六步,測試分類器通過后,將分類器用于對網頁進行分類。
[0016]與現有技術相比,本發明首次在將文本去重領域中使用的局部敏感hash函數應用到文本分類中,使得在較低時間復雜度的情況下獲得較好的分類性能。本發明在網頁類目較細并且類的個數較多的情況下,效果尤為突出,本發明能更好的為網頁分類提供服務,為網絡信息服務系統實現奠定基礎。本發明通過利用局部敏感hash函數實現對文本的分類,保證準確率的情況下可以大幅度提高分類效率。
【專利附圖】
【附圖說明】
[0017]下面結合附圖和實施方式對本發明作進一步的詳細說明:
圖1為分類具體工作流程。
[0018]圖2為基于局部敏感hash函數文本分類工作流程圖。
【具體實施方式】
[0019]首先根據DMOZ的人工分類目錄,提取出類,然后將類名作為搜索引擎的關鍵詞利用網絡爬蟲爬取搜索結果前200條網頁內容作為該類的樣本集。在此樣本集的基礎之上利用局部敏感hash函數訓練分類器,然后,對抓取的網頁按照提取到的類標準對網頁進行分類。其中對網頁分類具體工作流程如圖1所示:
1、將類名作為現有搜索引擎的關鍵詞,利用網絡爬蟲爬取搜索結果的前200條信息及網頁內容。
[0020]2、排除網頁標簽,廣告等噪音信息,提取出網頁正文作為該類的樣本集。
[0021]3、提取類的特征詞及其權重。
[0022]4、利用局部敏感hash函數將映射成一個64位的指紋。
[0023]5、測試該分類器的準確率。
[0024]基于局部敏感hash函數實現文本分類的具體工作流程如圖2所示:
1、對訓練集用分詞器進行處理去除停用詞,利用樸素貝葉斯分本分類中訓練分類器的方法獲取特定類的特征向量及特征詞的權重。
[0025]2、輸入類的特征向量及其權重值,利用局部敏感hash函數獲得該類的64位的指紋。
[0026]3、分類器訓練成功之后,將待分類的文本進行相同的處理生成能夠代表該網頁的64位的指紋。
[0027]4、對待分類的網頁的指紋同所有類的指紋進行比較,判定該網頁屬于海明距離最小的那個類。[0028]具體的說,本發明基于局部敏感Hash函數實現網頁分類的方法,其特征在于: 在預處理時,根據項目中具體需要獲得類名,然后根據類名和搜索引擎利用網絡爬蟲
獲取到相應類名的樣本集。
[0029]第一步,將所有類的樣本集進行去除網頁標簽、廣告等噪音信息提取正文,利用分詞器分詞去除停用詞操作。
[0030]第二步,利用樸素貝葉斯分類算法訓練分類器的方法,計算每個類每個特征詞的權重。
[0031]第三步,利用局部敏感hash函數將類的特征向量映射成為一個64位的指紋,具體映射步驟為:
輸入一個N位的文本特征向量V,每個特征具有一定權重。輸出是一個64位的二進制簽名f。
[0032](I)初始化一個64維向量F為0,64位的二進制簽名S為O。
[0033](2)對向量V中的每一個特征,使用傳統的Hash算法計算出一個64位的散列值H0 對于 l<=i<=64,
如果H的第i位為I,則F的第i個元素加上該特征的權重;
否則,F的第i個元素減去該特征的權重。
[0034](3)如果F的第i個元素大于0,則f的第i位為I ;否則為O ;
(4)返回簽名f。
[0035]第四步,提取待分類的網頁的特征詞及其權重值,用相同的局部敏感hash函數映射成網頁的二進制簽名S。
[0036]第五步,將s同所有類的指紋信息進行海明碼比較,則s所對應的網頁就屬于海明距離最小的那個類。
[0037]第六步,測試分類器通過后,將分類器用于對網頁進行分類。
【權利要求】
1.一種基于局部敏感Hash函數實現網頁分類的方法,其特征在于:首先是訓練分類器,其輸入是所有類的訓練集,輸出是能夠代表特定類的64位的指紋;然后用測試集測試該分類器,在測試通過之后,利用該分類器對待定網頁進行分類,分類過程的輸入是待分類網頁的正文,經過處理將正文內容映射成一個64位的指紋,同所有類的指紋進行對比,計算海明距離;同哪個類的海明距離最小,則判定該網頁屬于哪個類。
2.根據權利要求1所述的基于局部敏感Hash函數實現網頁分類的方法,其特征在于: 在預處理時,根據項目中具體需要獲得類名,然后根據類名和搜索引擎利用網絡爬蟲獲取到相應類名的樣本集; 第一步,將所有類的樣本集進行去除網頁標簽、廣告等噪音信息提取正文,利用分詞器分詞去除停用詞操作; 第二步,利用樸素貝葉斯分類算法訓練分類器的方法,計算每個類每個特征詞的權重; 第三步,利用局部敏感hash函數將類的特征向量映射成為一個64位的指紋,具體映射步驟為: 輸入一個N位的文本特征向量V,每個特征具有一定權重;輸出是一個64位的二進制簽名f; (1)初始化一個64維向量F為O,64位的二進制簽名S為O; (2)對向量V中的每一個特征,使用傳統的Hash算法計算出一個64位的散列值H;對于 l<=i<=64, 如果H的第i位為I,則F的第i個元素加上該特征的權重; 否則,F的第i個元素減去該特征的權重; (3)如果F的第i個元素大于O,則f的第i位為I;否則為O ; (4)返回簽名f; 第四步,提取待分類的網頁的特征詞及其權重值,用相同的局部敏感hash函數映射成網頁的二進制簽名s ; 第五步,將s同所有類的指紋信息進行海明碼比較,則s所對應的網頁就屬于海明距離最小的那個類; 第六步,測試分類器通過后,將分類器用于對網頁進行分類。
【文檔編號】G06F17/30GK103744964SQ201410005868
【公開日】2014年4月23日 申請日期:2014年1月6日 優先權日:2014年1月6日
【發明者】蔣昌俊, 陳閎中, 閆春鋼, 丁志軍, 王鵬偉, 孫海春, 鄧曉棟, 劉俊俊 申請人:同濟大學