亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于url的不良網(wǎng)頁識別方法

文檔序號:6481458閱讀:179來源:國知局

專利名稱::一種基于url的不良網(wǎng)頁識別方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種互聯(lián)網(wǎng)不良信息過濾方法,特別是涉及一種基于URL的不良網(wǎng)頁識別方法。該方法涉及到機(jī)器學(xué)習(xí)領(lǐng)域,應(yīng)用機(jī)器學(xué)習(xí)領(lǐng)域的特征抽取及分類技術(shù)完成最終的判別。
背景技術(shù)
:隨著互聯(lián)網(wǎng)的飛速發(fā)展,不良網(wǎng)絡(luò)文化也充斥其中,色情網(wǎng)頁的大量出現(xiàn)更是嚴(yán)重影響了青少年的健康發(fā)展。近年來關(guān)于色情內(nèi)容的自動識別研究取得了顯著的成就。申請人經(jīng)過查新,檢索得到兩篇與本發(fā)明相關(guān)的關(guān)于色情內(nèi)容自動識別的專利,它們分別是1.網(wǎng)絡(luò)色情圖像和不良信息檢測多功能管理系統(tǒng)2.色情內(nèi)容攔截方法在上述專利1中,發(fā)明人提出了一套基于客戶機(jī)/服務(wù)器模式的色情圖像和不良信息檢測多功能管理系統(tǒng),該系統(tǒng)有以下特點(diǎn)1)該系統(tǒng)是基于客戶機(jī)/服務(wù)器模式的,在客戶機(jī)端主要進(jìn)行數(shù)據(jù)過濾和解協(xié)議等數(shù)據(jù)獲取工作,在服務(wù)器端對客戶機(jī)端的數(shù)據(jù)進(jìn)行監(jiān)聽,并對數(shù)據(jù)內(nèi)容進(jìn)行不良信息檢測;2)該系統(tǒng)中的數(shù)據(jù)檢測模塊包括URL檢測、關(guān)鍵字檢測和圖像檢測,所有的檢測請求服務(wù)器進(jìn)行。其中URL檢測模塊通過已知URL建立可信URL及不良URL列表從而進(jìn)行過濾。在上述專利2中,發(fā)明人提出了一種使用散列值的色情內(nèi)容攔截方法,該方法有以下特點(diǎn)l)首先,從整個或部分不同的色情內(nèi)容中提取散列值,構(gòu)建數(shù)據(jù)庫;2)檢測過程中,對網(wǎng)絡(luò)傳送或存儲在計算機(jī)中的文件采取以下步驟①提取提取部分文件的散列值,②比較與數(shù)據(jù)庫中存儲的散列值進(jìn)行比較,③阻斷對于判別為不良內(nèi)容的信息加以阻斷;3)該方法主要適用于視頻等流媒體文件。根據(jù)上述查新,現(xiàn)有系統(tǒng)在不良網(wǎng)頁識別方面存在以下四方面的不足l.基于關(guān)鍵字匹配和文本分析的不良網(wǎng)頁識別方法適用于包含大量文本內(nèi)容的網(wǎng)頁,對于純圖片和視頻的網(wǎng)頁則會失效;2.基于圖像及流媒體識別的方法適用范圍廣泛,但該方法處理數(shù)據(jù)量大,方法復(fù)雜性高,延遲較大,需要耗費(fèi)大量帶寬資源,還不適用于網(wǎng)絡(luò)環(huán)境下實(shí)時的識別與處理工作;3.現(xiàn)有的基于URL的不良網(wǎng)頁識別方法是基于維護(hù)可信URL及不良URL名單,將待判別URL與名單中的URL進(jìn)行比對來進(jìn)行過濾判別的。該方法的缺陷是靈活性差,無法應(yīng)對新增站點(diǎn);4.當(dāng)前還沒有通過對URL的分析和語義理解來進(jìn)行不良網(wǎng)頁識別的文獻(xiàn),因此該發(fā)明彌補(bǔ)了這方面的空缺,提供了快速識別不良網(wǎng)頁的新思路。
發(fā)明內(nèi)容發(fā)明目的在互聯(lián)網(wǎng)高速發(fā)展的過程中,不良網(wǎng)頁充斥其中并快速增長。采用人工阻塞不良網(wǎng)頁的方法實(shí)時性查,而現(xiàn)有自動識別不良網(wǎng)頁的方法復(fù)雜性高,效率較低,難以在互聯(lián)網(wǎng)中廣泛采用。該發(fā)明提出的基于URL的不良網(wǎng)頁識別方法具有實(shí)時性、高效性的特點(diǎn),為不良網(wǎng)頁識別提供了一種高效的新思路。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的通過網(wǎng)頁的URL來判別其是否為色情頁面。該方法的效果為可以識別出URL域名具有色情語義信息及特殊結(jié)構(gòu)特征的色情網(wǎng)頁;該方法包含URL預(yù)處理模塊、主域名自動分串模塊、敏感串特征提取與判別模塊、結(jié)構(gòu)特征提取模塊與綜合判別模塊,其中,敏感串特征提取與判別模塊用于提取并判別不良URL域名中包含的具有不良語義的關(guān)鍵詞;結(jié)構(gòu)特征提取是指提取出不良URL為了保持其隱蔽性采取的一些特殊構(gòu)成方式;具體的判別過程如下Stepl:建立URL敏感串特征詞典l)在由正常網(wǎng)頁URL及色情網(wǎng)頁URL記錄組成的訓(xùn)練集上進(jìn)行人工標(biāo)注,標(biāo)注的過程中將URL主域名中具有獨(dú)立語義的單詞、拼音、數(shù)字串之間用空格分開;2)統(tǒng)計出標(biāo)注后的各個字符串以及各個串出現(xiàn)的次數(shù),進(jìn)而用出現(xiàn)次數(shù)除以所有字符串的出現(xiàn)總數(shù)計算出各個串出現(xiàn)的頻率;3)剔除長度小于3的短字符串以及數(shù)字串;4)將長度大于4的正常串頻率設(shè)置為1;最終生成的敏感詞特征詞典表示為下述形式(t1:f"t2:f2,…t力其中ti代表該詞典中的第i個串,g代表第i個串出現(xiàn)的頻率,該符號表示在以下內(nèi)容中同樣適用;Step2:通過URL預(yù)處理模塊提取出URL的主機(jī)名、主域名和后綴名,將URL后綴名為.edu.gov的網(wǎng)頁直接判定為正常網(wǎng)頁;Step3:對URL主域名部分進(jìn)行自動分串,將其分割為具有獨(dú)立語義的單詞、拼音和數(shù)字串;對于分串結(jié)果,根據(jù)敏感串特征詞典對其進(jìn)行二值量化,表示成下述形式卿,E(t2),…E(g)其中Eft)的取值為"1"或者"0",若ti為該URL主域名分串后的一部分,則取"1";否則取"0"。對于該向量,采取采用NaSVeBayes算法進(jìn)行分類,得到URL屬于不良URL的概率,記為"T/';同時對于URL的主機(jī)名部分,將其作為一個單獨(dú)的串,用同樣的方法進(jìn)行量化計算,得到主機(jī)名屬于不良URL的概率,記為"T2";Step4:提取出URL在結(jié)構(gòu)方面的七維特征(S"S2,…S7),其中九維向:Sis2s3s4s5s6s7主機(jī)名是否為單字母加序號,是則S工取"1",否則取主機(jī)名是否為單字符,是則&取"1",否則取"0";主機(jī)名的長度;主域名中連續(xù)字符最多出現(xiàn)次數(shù);主域名中字母與數(shù)字交雜出現(xiàn)次數(shù);主域名分串后的子串個數(shù);主域名中數(shù)字字符出現(xiàn)的次數(shù);"0,,Step5:將基于敏感串特征的分類判別結(jié)果與結(jié)構(gòu)特征取值聯(lián)合起來,組成以下T2,S2,...S7)將該向量通過SVM算法進(jìn)行二分類判別,得到URL的最終判別結(jié)果,即該URL對應(yīng)的網(wǎng)頁是否為不良網(wǎng)頁。在主域名自動分串模塊中,針對不良URL主域名的特點(diǎn)提出一種遞歸的主域名自動分串方法;該方法將一個字符串U^從中間某一位置劃分為兩個子串tpt2,使得劃分后子串的熵值小于原字符串的熵值,即H(t"t2)<H(tletters)找出一種熵減最大的劃分方式作為第一步的劃分,即臓卿J-H(t"t2》對劃分后的兩個子串t"t2采用同樣的方法進(jìn)行進(jìn)一步的劃分,直到熵值不能再減小,即不能再劃分為止;其中某一字符串tt的熵值定義為1Jfft)=l0g2y將—其中g(shù)為tt在敏感詞詞典中對應(yīng)的頻率;-個串劃分為n個子串后熵值的計算公式如下在敏感串特征提取與判別模塊、結(jié)構(gòu)特征提取模塊與綜合判別模塊中,提出一種基于NarwBayes算法及SVM算法的綜合分類器進(jìn)行最終分類判別。該方法為敏感詞特征以敏感詞詞典中的一個詞作為一維特征,以該詞是否在主域名中出現(xiàn)對該維特征進(jìn)行賦值,最終,對于敏感串特征向量運(yùn)用NaiveBayes算法對該敏感串特征向量進(jìn)行判別,得到該URL屬于不良URL的概率;然后將該結(jié)果與不良URL在結(jié)構(gòu)上的7維特征取值聯(lián)合起來,采用SVM算法進(jìn)行判別,得出最終結(jié)果。技術(shù)效果本發(fā)明可以協(xié)助其它識別方法快速地識別不良網(wǎng)頁,以便提供健康的互聯(lián)網(wǎng)環(huán)境。該方法克服了傳統(tǒng)基于URL"黑名單"、"白名單"方法靈活性差、難以維護(hù)的缺點(diǎn),同時也克服了基于文本、圖像、視頻的不良內(nèi)容識別算法復(fù)雜性高,大量消耗網(wǎng)絡(luò)帶寬的缺點(diǎn),在不需獲取網(wǎng)頁內(nèi)容的情況下進(jìn)行判別,為色情網(wǎng)頁的識別提供了一種高效的新思路。圖1、URL識別流程圖;圖2、不良URL特征學(xué)習(xí)模塊結(jié)構(gòu)圖;圖3、不良URL判別模塊結(jié)構(gòu)圖;圖4、系統(tǒng)實(shí)現(xiàn)流程;圖5、詞頻統(tǒng)計算法流程圖;圖6、分串程序各函數(shù)間遞歸調(diào)用關(guān)系;具體實(shí)施例方式為了更清楚地理解本發(fā)明,以下結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述。參照圖1所示,在對URL的判別過程中,首先通過預(yù)處理模塊過濾掉特殊字符,提取出后綴名、主域名、主機(jī)名等對判別有實(shí)際作用的部分;真正的判別流程中首先判別URL后綴是否屬于專屬后綴(.gov.edu):若屬于,則直接將其判別為正常URL,否則進(jìn)行下一步的判別;主要判別流程中對域名部分進(jìn)行分串并進(jìn)行特征抽取,同時對主機(jī)名部分進(jìn)行特征抽??;將抽取的結(jié)果用組合分類器進(jìn)行分類判別,若判別結(jié)果為正常URL,則通過后續(xù)的工具進(jìn)一步確認(rèn),若屬于不良,則直接禁止用戶對該網(wǎng)頁的訪問。該方法又可以具體分為圖2所示的不良URL特征學(xué)習(xí)模塊以及圖3所示的不良URL判別模塊。參照圖2所示,首先需要通過不良URL特征學(xué)習(xí)模塊對不良URL特征進(jìn)行統(tǒng)計學(xué)習(xí)。圖2中各個子模塊的作用為1)敏感串頻率統(tǒng)計模塊用于統(tǒng)計在標(biāo)注URL中出現(xiàn)的串以及各個串出現(xiàn)的頻率;2)URL敏感串向量化模塊將URL根據(jù)統(tǒng)計出的敏感串進(jìn)行特征表示,即向量化;3)NB分類器判別模塊對于量化的URL利用Nai'veBayes算法進(jìn)行分類,得出每個URL屬于不良URL的概率;4)生成NB參數(shù)列表模塊通過訓(xùn)練集的分類結(jié)果得到NalveBayes分類時所需各參數(shù)取值;5)URL結(jié)構(gòu)特征提取模塊提取出錯誤!未找到引用源。小節(jié)中提出的七類URL結(jié)構(gòu)特征;6)生成SVM參數(shù)列表模塊:將訓(xùn)練集的NalveBayes分類結(jié)果與URL結(jié)構(gòu)特征綜合起來利用SVM方法進(jìn)行判別學(xué)習(xí),得出用SVM進(jìn)行判別所需參數(shù)。參照圖3所示,不良URL判別的判別過程中各個子模塊的作用為l)URL預(yù)處理模塊提取出URL的主機(jī)名、主域名以及后綴名三部分,去除多余信息;2)URL自動分串模塊利用基于遞歸的最大熵減模型對URL主域名部分進(jìn)行自動分串;3)URL敏感串向量化模塊利用URL敏感串表對分串后的URL進(jìn)行特征表示;4)NB分類器判別模塊根據(jù)學(xué)習(xí)模塊中生成的NafveBayes參數(shù)列表,利用NaiveBayes分類器對URL向量進(jìn)行分類判別,得到其屬于不良URL的概率;5)URL結(jié)構(gòu)特征提取模塊提取出URL中的七維結(jié)構(gòu)特征;6)SVM分類器判別模塊根據(jù)學(xué)習(xí)模塊生成的SVM判別所需參數(shù),對URL的綜合特征進(jìn)行分類判別,得出判別結(jié)果。參照圖4所示,在整個系統(tǒng)的實(shí)現(xiàn)過程中按照以下模塊依次進(jìn)行URL預(yù)處理模塊,URL敏感串統(tǒng)計模塊,URL分串模塊,敏感串特征量化模塊,Na'fveBayes分類模塊,結(jié)構(gòu)特征提取與量化模塊以及SVM判別模塊。以下對整個實(shí)現(xiàn)流程中的關(guān)鍵技術(shù)及其實(shí)現(xiàn)方法進(jìn)行詳細(xì)地介紹URL預(yù)處理該發(fā)明中提出的判別方法是針對URL的主機(jī)名、主域名和后綴名三部分進(jìn)行的。所以對URL處理的第一步就是要過濾掉無用信息,準(zhǔn)確地提取以上三部分的信息。每個URL雖然都遵從URL命題規(guī)范,但具體的URL可能省略掉除主域名外的任意一部分信息,也可能具有多個后綴名,因此預(yù)處理過程要考慮到各種可能性。URL包含如下四種類型1.包含協(xié)議名的URL(http:〃www.domain.com);2.不包含協(xié)議名的URL(www.domain.com);3.省略主機(jī)名的URL(domain.com);4.有多個后綴名的URL(domain.com.cn)。要準(zhǔn)確地提取出URL的主機(jī)名、主域名和后綴名,首先設(shè)計了如下算法來區(qū)分URL的類型<table>tableseeoriginaldocumentpage9</column></row><table>通過以上流程,就可以準(zhǔn)確的判斷URL的類型,并針對不同的類型獲取URL的主機(jī)名、主域名和后綴名,以便下一步的判別。敏感串特征詞典生成方法敏感詞特征詞典用于主域名分串及敏感詞特征量化過程,其生成過程包含三個階段,即詞頻統(tǒng)計、特征篩選、關(guān)鍵詞處理。以下分別介紹每一個過程參詞頻統(tǒng)計詞頻統(tǒng)計以人工分串標(biāo)注的URL串為輸入,首先用URL預(yù)處理程序?qū)χ鳈C(jī)名和主域名部分進(jìn)行提取,并對出現(xiàn)的字符串進(jìn)行詞頻統(tǒng)計。統(tǒng)計過程中,一個主機(jī)名作為一個詞,一個主域名經(jīng)標(biāo)注分串后的各個子串各作為一個詞。詞頻統(tǒng)計模塊的算法流程如圖5所示。經(jīng)過以上流程,可以統(tǒng)計出不良URL以及正常URL中出現(xiàn)的串頻率,初步生成串頻率詞典。參特征篩選在人工分串標(biāo)注的過程中,由于截取主要語義單詞后,剩余的串可能為無意義的短字符串、數(shù)字串等,這將對基于熵減的分串模型產(chǎn)生很大的不良影響,因此我們需要對敏感串特征詞典進(jìn)行以下兩個方面的篩選-去掉長度《3且沒有語義的短字符串;-去掉數(shù)字串。以上兩個方面的處理既保證了對URL進(jìn)行基于敏感串的語義分析時的準(zhǔn)確性,同時短字符串以及數(shù)字串特征實(shí)質(zhì)上在對URL進(jìn)行結(jié)構(gòu)分析時已經(jīng)進(jìn)行了考慮。這樣的考慮是因為例如URL中出現(xiàn)數(shù)字串"2008"和"2009"對分類的影響應(yīng)該是相同的,因此從結(jié)構(gòu)方面考慮更有利于準(zhǔn)確的分類。參關(guān)鍵詞處理為了減少對正常URL的誤判,因此需要對敏感串詞典中的關(guān)鍵詞做了以下四方面的處理1.將具有明顯語義的不良串詞頻乘以一個常數(shù)a;其中a為訓(xùn)練樣本中正常URL的數(shù)量除以不良URL數(shù)量的倍數(shù)值,這樣做可以消除數(shù)據(jù)的不平衡性帶來的誤差。2.將長度24的正常單詞串詞頻設(shè)為1.0;這是為了避免對正常URL進(jìn)行"斷章取義"式的截取,保證了優(yōu)先匹配正常串。3.將相關(guān)的字符串頻率進(jìn)行調(diào)整,使得長字符頻率大于短字符串。這種做法是通過詞典的調(diào)整達(dá)到長字符串優(yōu)先匹配的目的,由于不良敏感串中的短字符串較多,這一做法也進(jìn)一步地避免了將正常URL判別為不良URL。4.對于多個單詞組成的詞組,同時將詞組與單個單詞加入詞典中。這是由于通過敏感串詞典建立起的特征向量,采用了N爐veBayes分類器進(jìn)行分類判別,而NafveBayes算法是基于各維屬性獨(dú)立的假設(shè)的,因此就可能造成只考慮單個詞,忽略組合在一起的詞組,這種做法使得可以通過詞典避免這一問題。URL自動分串方法URL分串模塊在整個識別方法中起著基礎(chǔ)性的作用,因此程序中設(shè)計一個名為segmentation的類來完成分串的工作,該類的成員變量與成員函數(shù)如下所示classsegmentationprivate:structToker^head;public:segmentation();structToken*BuildTokenList();〃建立敏感串頻率列表doubleentropy(doubleinput);〃計算某一頻率對應(yīng)的熵值doubleToken_entropy(charinput[]);〃計算某一個串對應(yīng)的熵值intDivide(charinput[],inta,intb);〃計算對某一個字符串最佳的分串方式voidseg(charinput[],inta,intb);〃遞歸計算對一個串的分類}:在進(jìn)行分串的過程中,需要首先通過BuildTokenList函數(shù)將敏感串特征詞典從文件讀入內(nèi)存,將其轉(zhuǎn)化為鏈表的形式,并將鏈表的頭指針賦給該類的私有成員變量head,該鏈表每一項的結(jié)構(gòu)體Token定義如下所示10stractTokencharstr[URLJength];〃存放表項中的敏感串doublefrequency;〃存放敏感串的頻率信息stractToken*next;〃指向下一個表項的指針然后開始通過前面提出的分串方法進(jìn)行分串,該分串方法是基于熵減的遞歸分串方法,因此實(shí)現(xiàn)該方法的四個主要函數(shù)entropy(),Token_entropy(),Divide()和seg()之間是相互調(diào)用的關(guān)系,同時seg()函數(shù)對自身進(jìn)行遞歸的調(diào)用。函數(shù)調(diào)用關(guān)系如圖6所示。該分串方法的基本思想是首先從字符串中間某一位置找到一個最佳的劃分位置將其劃分為兩個字串,再對兩個字段進(jìn)行同樣的操作,直到不能劃分為止。seg()函數(shù)就實(shí)現(xiàn)了這一功能首先seg()函數(shù)調(diào)用divide()函數(shù)尋求一種最佳的分串方式將字符串分為兩個子串,然后對兩個子串,seg()函數(shù)遞歸地對自身進(jìn)行調(diào)用從而進(jìn)行進(jìn)一步的劃分,直到不能劃分為止。divideO函數(shù)在尋求最佳分串方式的過程中,首先嘗試各種可能的劃分,對于每種劃分的方式求其熵值的減少量。最后,求得熵減最大的劃分方式,即最佳分串方式。如果所有的劃分方式熵減均為O,則表示該字符串已經(jīng)不能進(jìn)行進(jìn)一步的分解。計算熵減的過程中調(diào)用Token_entropyG函數(shù),該函數(shù)通過查找敏感串詞典,找到當(dāng)前串對應(yīng)的頻率,再通過entropy()函數(shù)計算該頻率對應(yīng)的熵值。若該串沒有在敏感串詞典中出現(xiàn),則認(rèn)為其熵值無窮大,在程序中設(shè)定為一個大的正整數(shù)。通過以上的函數(shù)調(diào)用過程,就可以實(shí)現(xiàn)對一個字符串基于熵減的遞歸分串過程。敏感串特征提取及量化在前面的章節(jié)中說明了敏感串特征需要通過敏感串詞典進(jìn)行二值量化表示,然后通過NaiVeBayes算法進(jìn)行分類得出一個概率結(jié)果。在實(shí)現(xiàn)的過程中,量化與分類的過程是可以同時進(jìn)行的。這是因為量化的過程中需要對敏感串詞典中每一維敏感串屬性進(jìn)行掃描,而NafveBayes算法本身的計算過程中也需要對每一維屬性進(jìn)行掃描。這兩個過程可以合并進(jìn)行,既可以提高效率,又可以使得程序代碼更加簡潔。因此在實(shí)現(xiàn)過程中,敏感串特征向量化與分類過程都通過NaiveBayes類實(shí)現(xiàn),該類的成員變量與成員函數(shù)如下所示11classNaiveBayesprivate:stractAttribute*AttriHead;public:NaiveBayes();voidBuildAttributeListO;〃將樸素貝葉斯參數(shù)從文件讀入內(nèi)存voidbuild—vector(char*url—string,floatvector—n[URL—token],floatvector—p[URL—token]);〃將單個串進(jìn)行量化floatcalculate(char*url);〃將整個URL進(jìn)行量化并計算最終結(jié)果在向量化及分類判別的過程中,需要首先通過BuildAttributeList函數(shù)將通過特征學(xué)習(xí)模塊得到的NalveBayes參數(shù)列表從文件中讀入內(nèi)存,轉(zhuǎn)化為鏈表的形式,并將鏈表的頭指針賦給該類的私有成員變量AttriHead,該鏈表每一項的結(jié)構(gòu)體Attribute定義如下所示<table>tableseeoriginaldocumentpage12</column></row><table>建立好屬性鏈表之后,buikLvectorO函數(shù)將通過該鏈表對某一單個字符串進(jìn)行向量化,該函數(shù)具有兩個數(shù)組參數(shù)vector—n和vector—p。這是由于為了簡化后續(xù)的計算,并沒有將字符串直接量化為二值向量形式。以veCtOT_p的構(gòu)建為例,如果該字符串在屬性列表中的某一項出現(xiàn),則vector_p數(shù)組的對應(yīng)維就賦為alp的值,即在所有不良URL中這維向量為1的概率;若不出現(xiàn),就賦為a0p的值。vector—n數(shù)組也采用同樣的方法進(jìn)行構(gòu)建。這樣賦值之后,在利用NaiVeBayes算法進(jìn)行計算的過程中,只需要將vector—n以及veCtor_p數(shù)組中的每一維連乘即可,大大降低了算法實(shí)現(xiàn)的復(fù)雜度。calculate()函數(shù)最終實(shí)現(xiàn)Nai'veBayes分類器的判別算法并返回分類結(jié)果。calculated函數(shù)針對URL分串后的各個串分別調(diào)用builcLvector()函數(shù),URL完成向量化之后計算其屬于正常URL以及屬于不良URL的概率。以計算其屬于正常URL的概率而言,首先將vector—n中的各維向量連乘起來,再乘以正常URL占全部URL的百分比即可。計算其屬于不良URL概率的過程與之相類似。但是,vector_n以及vector—p向量分別具有上千維屬性,因此連乘的過程使得結(jié)果為很小的小數(shù)。為了其在后續(xù)判別過程中的應(yīng)用,對于結(jié)果采用了歸一化的處理方式。假設(shè)計算出URL屬于不良URL的概率為p,屬于正常URL的概率為n。則最終該URL屬于不良URL的概率為<formula>formulaseeoriginaldocumentpage13</formula>該計算結(jié)果即為通過敏感串特征判別后,URL屬于不良URL的概率。綜合分類器判決模塊綜合分類器模塊在敏感串特征判別結(jié)果的基礎(chǔ)上加入結(jié)構(gòu)特征,利用SVM算法進(jìn)行綜合判別。在程序中設(shè)置OtherAttri類用于提取URL的結(jié)構(gòu)特征,類定義如下classOtherAttri{private:charURL[URLJength];〃保存待判別的URLpublic:OtherAttri(char*str);〃通過構(gòu)造函數(shù)傳入待判別URLintnumber_count();〃主域名中數(shù)字字符個數(shù)intcontinuous_char();〃主域名中最多連續(xù)字符出現(xiàn)個數(shù)intprefixjength();〃主機(jī)名長度intprefix—cpx();〃主機(jī)名是否為單字母加數(shù)字序號intsingle_prefix();〃主機(jī)名是否為單字符intchar_num_count();〃主域名中字母與數(shù)字交錯出現(xiàn)的次數(shù)intseg_numO;〃主域名分串后的分段數(shù)經(jīng)過特征提取后,需要把這7維結(jié)構(gòu)特征同主機(jī)名、主域名的敏感詞特征判別結(jié)構(gòu)結(jié)合起來組成九維向量,量化后的屬性形式如下所示<table>tableseeoriginaldocumentpage14</column></row><table>進(jìn)行量化后的屬性值可以調(diào)用SVMlight工具包,便可以得到最終的判別結(jié)果。權(quán)利要求一種基于URL的不良網(wǎng)頁識別方法,其特征在于通過網(wǎng)頁的URL來判別其是否為色情頁面,該方法的效果為可以識別出URL域名具有色情語義信息及特殊結(jié)構(gòu)特征的色情網(wǎng)頁;該方法包含URL預(yù)處理模塊、主域名自動分串模塊、敏感串特征提取與判別模塊、結(jié)構(gòu)特征提取模塊與綜合判別模塊,其中,敏感串特征提取與判別模塊用于提取并判別不良URL域名中包含的具有不良語義的關(guān)鍵詞;結(jié)構(gòu)特征提取是指提取出不良URL為了保持其隱蔽性采取的一些特殊構(gòu)成方式;具體的判別過程如下Step1建立URL敏感串特征詞典1)在由正常網(wǎng)頁URL及色情網(wǎng)頁URL記錄組成的訓(xùn)練集上進(jìn)行人工標(biāo)注,標(biāo)注的過程中將URL主域名中具有獨(dú)立語義的單詞、拼音、數(shù)字串之間用空格分開;2)統(tǒng)計出標(biāo)注后的各個字符串以及各個串出現(xiàn)的次數(shù),進(jìn)而用出現(xiàn)次數(shù)除以所有字符串的出現(xiàn)總數(shù)計算出各個串出現(xiàn)的頻率;3)剔除長度小于3的短字符串以及數(shù)字串;4)將長度大于4的正常串頻率設(shè)置為1;最終生成的敏感詞特征詞典表示為下述形式(t1∶f1,t2∶f2,…tn∶fn)其中ti代表該詞典中的第i個串,fi代表第i個串出現(xiàn)的頻率,該符號表示在以下內(nèi)容中同樣適用;Step2通過URL預(yù)處理模塊提取出URL的主機(jī)名、主域名和后綴名,將URL后綴名為.edu.gov的網(wǎng)頁直接判定為正常網(wǎng)頁;Step3對URL主域名部分進(jìn)行自動分串,將其分割為具有獨(dú)立語義的單詞、拼音和數(shù)字串;對于分串結(jié)果,根據(jù)敏感串特征詞典對其進(jìn)行二值量化,表示成下述形式(E(t1),E(t2),…E(tn))其中E(ti)的取值為“1”或者“0”,若ti為該URL主域名分串后的一部分,則取“1”;否則取“0”。對于該向量,采取采用Bayes算法進(jìn)行分類,得到URL屬于不良URL的概率,記為“T1”;同時對于URL的主機(jī)名部分,將其作為一個單獨(dú)的串,用同樣的方法進(jìn)行量化計算,得到主機(jī)名屬于不良URL的概率,記為“T2”;Step4提取出URL在結(jié)構(gòu)方面的七維特征(S1,S2,…S7),其中S1主機(jī)名是否為單字母加序號,是則S1取“1”,否則取“0”;S2主機(jī)名是否為單字符,是則S2取“1”,否則取“0”;S3主機(jī)名的長度;S4主域名中連續(xù)字符最多出現(xiàn)次數(shù);S5主域名中字母與數(shù)字交雜出現(xiàn)次數(shù);S6主域名分串后的子串個數(shù);S7主域名中數(shù)字字符出現(xiàn)的次數(shù);Step5將基于敏感串特征的分類判別結(jié)果與結(jié)構(gòu)特征取值聯(lián)合起來,組成以下九維向量(T1,T2,S1,S2,…S7)將該向量通過SVM算法進(jìn)行二分類判別,得到URL的最終判別結(jié)果,即該URL對應(yīng)的網(wǎng)頁是否為不良網(wǎng)頁。2.根據(jù)權(quán)利要求1所述的基于URL的不良網(wǎng)頁識別方法,其特征在于在主域名自動分串模塊中,針對不良URL主域名的特點(diǎn)提出一種遞歸的主域名自動分串方法;該方法將一個字符串Ub從中間某一位置劃分為兩個子串t"t2,使得劃分后子串的熵值小于原字符串的熵值,即H(tpt2)<H(tlettere)找出一種熵減最大的劃分方式作為第一步的劃分,即max(H(D鄰i,t2))對劃分后的兩個子串t"^采用同樣的方法進(jìn)行進(jìn)一步的劃分,直到熵值不能再減小,即不能再劃分為止;其中某一字符串tt的熵值定義為其中S為tt在敏感詞詞典中對應(yīng)的頻率;將一個串劃分為n個子串后熵值的計算公式如下叫,^.^蹄)+卯f3.根據(jù)權(quán)利要求1所述的基于URL的不良網(wǎng)頁識別方法,其特征在于在敏感串特征提取與判別模塊、結(jié)構(gòu)特征提取模塊與綜合判別模塊中,提出一種基于NafveBayes算法及SVM算法的綜合分類器進(jìn)行最終分類判別。該方法為敏感詞特征以敏感詞詞典中的一個詞作為一維特征,以該詞是否在主域名中出現(xiàn)對該維特征進(jìn)行賦值,最終,對于敏感串特征向量運(yùn)用NaiveBayes算法對該敏感串特征向量進(jìn)行判別,得到該URL屬于不良URL的概率;然后將該結(jié)果與不良URL在結(jié)構(gòu)上的7維特征取值聯(lián)合起來,采用SVM算法進(jìn)行判別,得出最終結(jié)果。全文摘要本發(fā)明公開了一種基于URL的不良網(wǎng)頁識別方法。該方法通過URL主域名部分的語義分析和整個URL的結(jié)構(gòu)分析來判別其是否為色情站點(diǎn)URL。判別時,提取了URL所包含的敏感串特征與結(jié)構(gòu)特征兩類特征作為判別的依據(jù),并采用將和SVM算法綜合起來的判別器最終綜合特征進(jìn)行二分類得到判別結(jié)果。本發(fā)明可以協(xié)助其它識別方法快速地識別不良網(wǎng)頁,以便提供健康的互聯(lián)網(wǎng)環(huán)境,在不需獲取網(wǎng)頁內(nèi)容的情況下進(jìn)行判別,為色情網(wǎng)頁的識別提供了一種高效的新思路。文檔編號G06F17/30GK101692639SQ20091002392公開日2010年4月7日申請日期2009年9月15日優(yōu)先權(quán)日2009年9月15日發(fā)明者劉均,吳朝暉,常曉,蔣路,鄭慶華,騫雅楠申請人:西安交通大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1