本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體涉及一種廣告頁面的預(yù)測方法和裝置。
背景技術(shù):
近年來,隨著互聯(lián)網(wǎng)的發(fā)展,電子政務(wù)、無紙化辦公的實現(xiàn),單位上網(wǎng)數(shù)據(jù)審計、上網(wǎng)行為管控產(chǎn)品得到了廣泛應(yīng)用。這些產(chǎn)品中都面臨著正確區(qū)分正常網(wǎng)頁和網(wǎng)頁上附帶的大量廣告頁面的問題,具體的,廣告頁面可以包括:廣告、彈窗、推送頁面。廣告頁面的問題已經(jīng)成為制約產(chǎn)品可用性的關(guān)鍵。現(xiàn)有技術(shù)中,通常使用企業(yè)防火墻來攔截可疑頁面,通常建立域名數(shù)據(jù)庫和統(tǒng)一資源定位符(Uniform Resource Locator,URL)數(shù)據(jù)庫的方式來控制白名單頁面的訪問,但是這種方式無法滿足對廣告頁面的有效識別,仍無法阻止廣告頁面對用戶的干擾。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種廣告頁面的預(yù)測方法和裝置,用于對網(wǎng)頁是否為廣告頁面進(jìn)行預(yù)測。
為了達(dá)到上述目的,本發(fā)明采用這樣的如下技術(shù)方案:
一方面,本發(fā)明提供一種廣告頁面的預(yù)測方法,包括:
獲取頁面數(shù)據(jù)集,所述頁面數(shù)據(jù)集包括:多個正常頁面和多個廣告頁面,所述正常頁面包括:非廣告頁面;
使用頁面解析器從所述頁面數(shù)據(jù)集中的每個頁面對應(yīng)的頁面源代碼中提取到頁面特征,根據(jù)提取到的頁面特征確定輸入層神經(jīng)元,確定待測頁面為廣告頁面的預(yù)測值作為輸出層神經(jīng)元,所述輸入層神經(jīng)元的個數(shù)和提取到的頁面特征的個數(shù)相同;
根據(jù)所述輸入層神經(jīng)元和所述輸出層神經(jīng)元構(gòu)造用于廣告頁面預(yù)測的誤差反向傳播BP神經(jīng)網(wǎng)絡(luò)模型,并根據(jù)預(yù)置的預(yù)測精度確定所述BP神經(jīng)網(wǎng)絡(luò)模型的期望誤差、學(xué)習(xí)率和最大步長參數(shù),所述BP神經(jīng)網(wǎng)絡(luò)模型包括:輸入層神經(jīng)元、隱藏層神經(jīng)元和輸出層神經(jīng)元;
對所述頁面數(shù)據(jù)集中的每個頁面分別進(jìn)行歸一化處理得到頁面數(shù)據(jù)歸一 化樣本,從所述頁面數(shù)據(jù)歸一化樣本中選擇包括頁面特征的頁面數(shù)據(jù)作為所述BP神經(jīng)網(wǎng)絡(luò)模型的輸入層向量,將從所述頁面數(shù)據(jù)歸一化樣本中選擇出的頁面數(shù)據(jù)對應(yīng)于正常頁面或廣告頁面作為所述BP神經(jīng)網(wǎng)絡(luò)模型的期望輸出層向量;
將所述輸入層向量輸入到所述BP神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,得到所述BP神經(jīng)網(wǎng)絡(luò)模型輸出的實際輸出向量,計算所述實際輸出向量和所述期望輸出向量中處于相同位置的實際輸出預(yù)測值和期望輸出值之間的誤差,并將所述誤差作為誤差反向傳播算法的輸入數(shù)據(jù)對所述BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行循環(huán)往復(fù)訓(xùn)練,直至所述實際輸出預(yù)測值與所述期望輸出值之間的誤差小于所述期望誤差時,輸出訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型;
使用所述頁面解析器對待測頁面的頁面源代碼進(jìn)行解析,得到所述待測頁面的網(wǎng)頁特征,將所述待測頁面的網(wǎng)頁特征作為輸入層向量輸入到所述訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型,通過所述訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型輸出對所述待測頁面為廣告頁面的實際預(yù)測值。
另一方面,本發(fā)明提供一種廣告頁面的預(yù)測裝置,包括:
樣本頁面獲取模塊,用于獲取頁面數(shù)據(jù)集,所述頁面數(shù)據(jù)集包括:多個正常頁面和多個廣告頁面,所述正常頁面包括:非廣告頁面;
輸入輸出層構(gòu)建模塊,用于使用頁面解析器從所述頁面數(shù)據(jù)集中的每個頁面對應(yīng)的頁面源代碼中提取到頁面特征,根據(jù)提取到的頁面特征確定輸入層神經(jīng)元,確定待測頁面為廣告頁面的預(yù)測值作為輸出層神經(jīng)元,所述輸入層神經(jīng)元的個數(shù)和提取到的頁面特征的個數(shù)相同;
模型構(gòu)造模塊,用于根據(jù)所述輸入層神經(jīng)元和所述輸出層神經(jīng)元構(gòu)造用于廣告頁面預(yù)測的誤差反向傳播BP神經(jīng)網(wǎng)絡(luò)模型,并根據(jù)預(yù)置的預(yù)測精度確定所述BP神經(jīng)網(wǎng)絡(luò)模型的期望誤差、學(xué)習(xí)率和最大步長參數(shù),所述BP神經(jīng)網(wǎng)絡(luò)模型包括:輸入層神經(jīng)元、隱藏層神經(jīng)元和輸出層神經(jīng)元;
訓(xùn)練數(shù)據(jù)配置模塊,用于對所述頁面數(shù)據(jù)集中的每個頁面分別進(jìn)行歸一化處理得到頁面數(shù)據(jù)歸一化樣本,從所述頁面數(shù)據(jù)歸一化樣本中選擇包括頁面特征的頁面數(shù)據(jù)作為所述BP神經(jīng)網(wǎng)絡(luò)模型的輸入層向量,將從所述頁面數(shù)據(jù)歸一化樣本中選擇出的頁面數(shù)據(jù)對應(yīng)于正常頁面或廣告頁面作為所述BP 神經(jīng)網(wǎng)絡(luò)模型的期望輸出層向量;
模型訓(xùn)練模塊,用于將所述輸入層向量輸入到所述BP神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,得到所述BP神經(jīng)網(wǎng)絡(luò)模型輸出的實際輸出向量,計算所述實際輸出向量和所述期望輸出向量中處于相同位置的實際輸出預(yù)測值和期望輸出值之間的誤差,并將所述誤差作為誤差反向傳播算法的輸入數(shù)據(jù)對所述BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行循環(huán)往復(fù)訓(xùn)練,直至所述實際輸出預(yù)測值與所述期望輸出值之間的誤差小于所述期望誤差時,輸出訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型;
頁面預(yù)測模塊,用于使用所述頁面解析器對待測頁面的頁面源代碼進(jìn)行解析,得到所述待測頁面的網(wǎng)頁特征,將所述待測頁面的網(wǎng)頁特征作為輸入層向量輸入到所述訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型,通過所述訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型輸出對所述待測頁面為廣告頁面的實際預(yù)測值。
采用上述技術(shù)方案后,本發(fā)明提供的技術(shù)方案將有如下優(yōu)點:
本發(fā)明的方法能夠更準(zhǔn)確出待測頁面是否為廣告頁面,能夠為用戶過濾掉廣告頁面,從而使得用戶的上網(wǎng)體驗極速提高。由于利用了頁面源代碼提取到頁面特征參數(shù),使得廣告頁面的預(yù)測可以充分考慮這些頁面特征對待測頁面是否為廣告頁面的影響,因此預(yù)測結(jié)果更加準(zhǔn)確。由于BP神經(jīng)網(wǎng)絡(luò)模型本身具有的自學(xué)習(xí)和自適應(yīng)能力,使得預(yù)測的結(jié)果相對準(zhǔn)確。本發(fā)明基于BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行廣告頁面的預(yù)測,利用目前已知的正常頁面和廣告頁面作為輸入層變量,以便能提供盡可能多的樣本數(shù)據(jù),通過具有機(jī)器學(xué)習(xí)能力的BP神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)廣告頁面的頁面特征學(xué)習(xí),這種具有機(jī)器學(xué)習(xí)能力的基于BP神經(jīng)網(wǎng)絡(luò)模型的廣告頁面的預(yù)測方法,具有預(yù)測效率高,預(yù)測結(jié)果準(zhǔn)確的特點。
附圖說明
圖1為本發(fā)明實施例提供一種廣告頁面的預(yù)測方法的算法流程示意圖;
圖2-a為本發(fā)明實施例提供的訓(xùn)練集的數(shù)據(jù)選擇示意圖;
圖2-b為本發(fā)明實施例提供的錯誤集的數(shù)據(jù)選擇示意圖;
圖2-c為本發(fā)明實施例提供的識別正確率的結(jié)果示意圖;
圖3為本發(fā)明實施例提供的廣告頁面的預(yù)測裝置的組成結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例提供了一種廣告頁面的預(yù)測方法和裝置,用于對網(wǎng)頁是否為廣告頁面進(jìn)行預(yù)測。
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域的技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。
以下分別進(jìn)行詳細(xì)說明。隨著大數(shù)據(jù)處理技術(shù)的快速發(fā)展,機(jī)器學(xué)習(xí)、人工智能等技術(shù)得到了廣泛應(yīng)用。本發(fā)明實施例中,BP神經(jīng)網(wǎng)絡(luò)模型作為一種可以解決分類問題的機(jī)器學(xué)習(xí)算法在解決廣告頁面識別這個問題上,從而解決目前在廣告頁面識別上存在的極大難題。
本發(fā)明實施例可以采用神經(jīng)網(wǎng)絡(luò)作為廣告頁面的預(yù)測模型,其中,神經(jīng)網(wǎng)絡(luò)具體為本發(fā)明實施例描述的BP神經(jīng)網(wǎng)絡(luò)。首先建立用于廣告頁面預(yù)測的BP神經(jīng)網(wǎng)絡(luò)模型,在初始化時對BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)設(shè)置,采集計算過程中使用的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),通過網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練得到BP神經(jīng)網(wǎng)絡(luò)模型,訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型可以用于對網(wǎng)頁是否為廣告頁面的預(yù)測,
首先本發(fā)明實施例提供的一種廣告頁面的預(yù)測方法,具體可以包括如下步驟:
步驟(1)、獲取頁面數(shù)據(jù)集,頁面數(shù)據(jù)集包括:多個正常頁面和多個廣告頁面,正常頁面包括:非廣告頁面。
其中,頁面數(shù)據(jù)集是已知的頁面集合,可以從網(wǎng)頁歷史數(shù)據(jù)庫中提取出用于訓(xùn)練模型和測試模型的樣本數(shù)據(jù),其中,頁面數(shù)據(jù)集中包括有大量的正常頁面和大量的廣告頁面,其中,正常頁面也稱為正常網(wǎng)頁,為非廣告頁面,正常網(wǎng)頁指上網(wǎng)時瀏覽的主頁面。廣告頁面指的是用戶看到的主頁面中嵌入 的一些“彈出窗口廣告”、“頁面上的浮動窗口”,還有頁面中嵌入的如“百度推薦、淘寶推薦”等子頁面,從在技術(shù)上,廣告頁面也作為一個獨立的網(wǎng)頁請求。
步驟(2)、使用頁面解析器從頁面數(shù)據(jù)集中的每個頁面對應(yīng)的頁面源代碼中提取到頁面特征,根據(jù)提取到的頁面特征確定輸入層神經(jīng)元,確定待測頁面為廣告頁面的預(yù)測值作為輸出層神經(jīng)元,輸入層神經(jīng)元的個數(shù)和提取到的頁面特征的個數(shù)相同。
在本發(fā)明實施例中,頁面解析器也稱為網(wǎng)頁解析器,也可以稱為“網(wǎng)頁特征分析器”,它通過對網(wǎng)頁代碼內(nèi)容的處理,獲取如:頁面總長度、頁面中JS代碼的長度、頁面中包含圖片數(shù)、頁面中包含鏈接數(shù)等頁面特征信息。需要說明的是,在實際應(yīng)用中頁面特征包括的維度和類型是多種多樣的,具體可以結(jié)合應(yīng)用場景來判斷,例如頁面是否包括標(biāo)題(title)也可以是通過頁面解析器從頁面源代碼中解析出的頁面特征。
在本發(fā)明的一些實施例中,該頁面特征包括:頁面是否包括標(biāo)題、頁面標(biāo)題長度、頁面中關(guān)鍵詞個數(shù)、頁面數(shù)據(jù)長度、頁面中JS腳本長度、頁面中圖片數(shù)、頁面中鏈接數(shù)。不限定的,頁面特征可以只包括上述幾種特征中的一些特征而不需要使用全部的特征,另外還可以結(jié)合場景來選擇其它的特征。
步驟(3)、根據(jù)輸入層神經(jīng)元和輸出層神經(jīng)元構(gòu)造用于廣告頁面預(yù)測的誤差反向傳播BP神經(jīng)網(wǎng)絡(luò)模型,并根據(jù)預(yù)置的預(yù)測精度確定BP神經(jīng)網(wǎng)絡(luò)模型的期望誤差、學(xué)習(xí)率和最大步長參數(shù),BP神經(jīng)網(wǎng)絡(luò)模型包括:輸入層神經(jīng)元、隱藏層神經(jīng)元和輸出層神經(jīng)元。
在本發(fā)明實施例中,BP神經(jīng)網(wǎng)絡(luò)模型在初始化時,還可以預(yù)先配置連接權(quán)值和閾值,其中,初始連接權(quán)值可以為權(quán)重為[-1,1]之間的較小的接近于0的隨機(jī)值,設(shè)置BP神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)速率、期望誤差、最大步數(shù)參數(shù),其他參數(shù)根據(jù)計算精度和速度的需要進(jìn)行設(shè)置。學(xué)習(xí)率決定著權(quán)重閾值的調(diào)整量,學(xué)習(xí)率選取過小,則每次權(quán)值的調(diào)整量就小,網(wǎng)絡(luò)收斂速度慢。學(xué)習(xí)率選取過大,則每次權(quán)值的調(diào)整量就大,在實際應(yīng)用中,學(xué)習(xí)率可以設(shè)置為0.1。
其中,BP神經(jīng)網(wǎng)絡(luò)模型的拓?fù)浣Y(jié)構(gòu)具體可以為輸入層、隱藏層和輸出層的前饋型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),層與層之間采用全互連方式連接,同一層結(jié)點之間 無連接,隱藏層的神經(jīng)元個數(shù)可以根據(jù)計算的需要確定,在實際應(yīng)用中,用于計算待測頁面為廣告頁面的預(yù)測值的BP神經(jīng)網(wǎng)絡(luò)模型具有自動網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練能力,通過網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練得出可用的BP神經(jīng)網(wǎng)絡(luò)模型來對頁面進(jìn)行預(yù)測。
在本發(fā)明的一些實施例中,BP神經(jīng)網(wǎng)絡(luò)模型中神經(jīng)元的激活函數(shù)包括:S型函數(shù)sigmod()。
在本發(fā)明的一些實施例中,根據(jù)輸入層神經(jīng)元和輸出層神經(jīng)元構(gòu)造用于廣告頁面預(yù)測的誤差反向傳播BP神經(jīng)網(wǎng)絡(luò)模型,包括:
根據(jù)提取到的網(wǎng)頁特征的個數(shù)確定BP神經(jīng)網(wǎng)絡(luò)模型的輸入層神經(jīng)元的個數(shù);
根據(jù)BP神經(jīng)網(wǎng)絡(luò)模型的輸出層向量的維數(shù)確定BP神經(jīng)網(wǎng)絡(luò)模型的輸出層神經(jīng)元的個數(shù)為1;
根據(jù)輸入層神經(jīng)元的個數(shù)和輸出層神經(jīng)元的個數(shù)確定BP神經(jīng)網(wǎng)絡(luò)模型的隱藏層神經(jīng)元的個數(shù)。
其中,從頁面源代碼中提取到的頁面特征的個數(shù)為8個,BP神經(jīng)網(wǎng)絡(luò)模型的輸入層神經(jīng)元的個數(shù)為8個,如圖1所示,該頁面特征包括:頁面是否包括標(biāo)題、頁面標(biāo)題長度、頁面中關(guān)鍵詞個數(shù)、頁面數(shù)據(jù)長度、頁面中JS腳本長度、頁面中圖片數(shù)、頁面中鏈接數(shù)。本發(fā)明實施例輸出層神經(jīng)元的個數(shù)為1,即通過BP神經(jīng)網(wǎng)絡(luò)模型對待測頁面進(jìn)行計算后輸出待測頁面是為廣告頁面的預(yù)測值,因此只需要輸出層神經(jīng)元為1個,其中預(yù)測值可以為0到1的一個值,若該值取值越大則為廣告頁面的可能性越大。
在本發(fā)明的上述實施例中,根據(jù)輸入層和輸出層的神經(jīng)元個數(shù)確定BP神經(jīng)網(wǎng)絡(luò)模型的隱藏層神經(jīng)元個數(shù),根據(jù)BP神經(jīng)網(wǎng)絡(luò)模型的應(yīng)用經(jīng)驗,將隱藏神經(jīng)元的數(shù)量設(shè)置為3至15個,隱藏神經(jīng)元的具體數(shù)量需要根據(jù)實際的預(yù)測過程來確定,例如可以根據(jù)非線性函數(shù)的不同復(fù)雜程度和不同的預(yù)測精度,可以通過反復(fù)試驗法和經(jīng)驗來確定中間神經(jīng)元的數(shù)量,增加中間層神經(jīng)元數(shù)量可以提高預(yù)測精度,但會使訓(xùn)練時間變長。
在本發(fā)明的一些實施例中,具體的,根據(jù)輸入層神經(jīng)元的個數(shù)和輸出層神經(jīng)元的個數(shù)確定BP神經(jīng)網(wǎng)絡(luò)模型的隱藏層神經(jīng)元的個數(shù),包括:
通過如下計算公式確定隱藏層神經(jīng)元的個數(shù):
其中,P1是隱藏層神經(jīng)元的個數(shù),P2是輸入層神經(jīng)元的個數(shù),P3為輸出層神經(jīng)元的個數(shù),n是取值大于或等于1的調(diào)整參數(shù)。
在本發(fā)明的上述實施例中,n是取值大于或等于1的調(diào)整參數(shù),例如n是取值為大于1且小于15的常數(shù),以待測頁面為廣告頁面的預(yù)測為示例,隱藏層神經(jīng)元的個數(shù)可以取9。另外,隱藏層神經(jīng)元的傳遞函數(shù)可以采用S型正切函數(shù),根據(jù)輸出元素個數(shù)確定輸出神經(jīng)元數(shù)量,這里輸出元素有1個預(yù)測值,輸出
步驟(4)、對頁面數(shù)據(jù)集中的每個頁面分別進(jìn)行歸一化處理得到頁面數(shù)據(jù)歸一化樣本,從頁面數(shù)據(jù)歸一化樣本中選擇包括頁面特征的頁面數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)模型的輸入層向量,將從頁面數(shù)據(jù)歸一化樣本中選擇出的頁面數(shù)據(jù)對應(yīng)于正常頁面或廣告頁面作為BP神經(jīng)網(wǎng)絡(luò)模型的期望輸出層向量。
其中,歸一化處理是將頁面特征數(shù)據(jù)的值轉(zhuǎn)換到從0至1的區(qū)間內(nèi),得到頁面數(shù)據(jù)歸一化樣本,從頁面數(shù)據(jù)歸一化樣本中選擇包括頁面特征的頁面數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)模型的輸入層向量,將從頁面數(shù)據(jù)歸一化樣本中選擇出的頁面數(shù)據(jù)對應(yīng)于正常頁面或廣告頁面作為BP神經(jīng)網(wǎng)絡(luò)模型的期望輸出層向量。
在本發(fā)明的一些實施例中,對頁面數(shù)據(jù)集中的每個頁面分別進(jìn)行歸一化處理得到頁面數(shù)據(jù)歸一化樣本,包括:
通過如下計算公式對頁面數(shù)據(jù)集中的每個頁面進(jìn)行歸一化處理,將每個頁面的頁面特征映射到從0至1的區(qū)間,該計算公式包括:
其中,max表示網(wǎng)頁特征的最大值,min表示網(wǎng)頁特征的最小值,x表示網(wǎng)頁特征的實際值,f(x)表示網(wǎng)頁特征的歸一化值。
步驟(5)、將輸入層向量輸入到BP神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,得到BP神經(jīng)網(wǎng)絡(luò)模型輸出的實際輸出向量,計算實際輸出向量和期望輸出向量中處于相同位置的實際輸出預(yù)測值和期望輸出值之間的誤差,并將誤差作為誤差反向傳播算法的輸入數(shù)據(jù)對BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行循環(huán)往復(fù)訓(xùn)練,直至 實際輸出預(yù)測值與期望輸出值之間的誤差小于期望誤差時,輸出訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型。
在本發(fā)明實施例中,BP神經(jīng)網(wǎng)絡(luò)模型以輸入層變量為訓(xùn)練樣本進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練由正向傳播和反向傳播兩部分組成,其中,首先對正向傳播進(jìn)行說明,首先由輸入層神經(jīng)元傳到隱含層神經(jīng)元,經(jīng)隱含層神經(jīng)元處理后再傳送到輸出層,最后由輸出層神經(jīng)元處理并產(chǎn)生一個輸出模式的值,作為本發(fā)明的輸出變量集合。如果在輸出層得不到期望的輸出,則轉(zhuǎn)入反向傳播。接下來對反向傳播進(jìn)行說明,將誤差信號沿原來的連接通路返回,更新連接權(quán)重及各層神經(jīng)元的權(quán)重,從而減小誤差信號。通過網(wǎng)絡(luò)訓(xùn)練,使預(yù)測值和期望輸出值的誤差不斷減小,直至小于期望誤差。即可得到用于計算待測頁面是否為廣告頁面的BP神經(jīng)網(wǎng)絡(luò)模型。
步驟(6)、使用頁面解析器對待測頁面的頁面源代碼進(jìn)行解析,得到待測頁面的網(wǎng)頁特征,將待測頁面的網(wǎng)頁特征作為輸入層向量輸入到訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型,通過訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型輸出對待測頁面為廣告頁面的實際預(yù)測值。
本發(fā)明實施例中,利用BP神經(jīng)網(wǎng)絡(luò)模型良好的非線性逼近能力,實現(xiàn)對待測頁面是否為廣告頁面的精確預(yù)測,應(yīng)用本發(fā)明所述的方法能夠提高廣告頁面的識別準(zhǔn)確度。
通過前述實施例對本發(fā)明的舉例說明可知,本發(fā)明的方法能夠更準(zhǔn)確出待測頁面是否為廣告頁面,能夠為用戶過濾掉廣告頁面,從而使得用戶的上網(wǎng)體驗極速提高。由于利用了頁面源代碼提取到頁面特征參數(shù),使得廣告頁面的預(yù)測可以充分考慮這些頁面特征對待測頁面是否為廣告頁面的影響,因此預(yù)測結(jié)果更加準(zhǔn)確。由于BP神經(jīng)網(wǎng)絡(luò)模型本身具有的自學(xué)習(xí)和自適應(yīng)能力,使得預(yù)測的結(jié)果相對準(zhǔn)確。本發(fā)明基于BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行廣告頁面的預(yù)測,利用目前已知的正常頁面和廣告頁面作為輸入層變量,以便能提供盡可能多的樣本數(shù)據(jù),通過具有機(jī)器學(xué)習(xí)能力的BP神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)廣告頁面的頁面特征學(xué)習(xí),這種具有機(jī)器學(xué)習(xí)能力的基于BP神經(jīng)網(wǎng)絡(luò)模型的廣告頁面的預(yù)測方法,具有預(yù)測效率高,預(yù)測結(jié)果準(zhǔn)確的特點。
為便于更好的理解和實施本發(fā)明實施例的上述方案,下面舉例相應(yīng)的應(yīng) 用場景來進(jìn)行具體說明。廣告頁面都是獨立的嵌入在正常網(wǎng)頁中的獨立子頁面,而這些廣告頁面與正常網(wǎng)頁相比,在網(wǎng)頁正文的結(jié)構(gòu)、內(nèi)容、特征上有著非統(tǒng)一但相對明顯的區(qū)別。本發(fā)明依據(jù)這個特點,使用大量廣告頁面和正常頁面作為BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)集,進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,在應(yīng)用環(huán)境中,對每一個網(wǎng)頁使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行廣告頁面、正常網(wǎng)頁的識別。
在模型訓(xùn)練階段,首先獲取大量的正常網(wǎng)頁和廣告頁面,對每一個頁面通過網(wǎng)頁解析器進(jìn)行特征獲取,網(wǎng)頁解析器,也可以成為網(wǎng)頁特征分析器,它通過對網(wǎng)頁代碼內(nèi)容的處理,獲取如:頁面總長度、頁面中JS代碼長度、頁面中包含圖片數(shù)、頁面中包含鏈接數(shù)等頁面特征信息,又如:網(wǎng)頁title長度、title中包含的“推廣、廣告、推薦、合作、彈窗”等關(guān)鍵詞的個數(shù)、網(wǎng)頁數(shù)據(jù)長度、網(wǎng)頁中js腳本長度、網(wǎng)頁中圖片數(shù)、網(wǎng)頁中鏈接數(shù)等,將已知的頁面作為單獨的訓(xùn)練數(shù)據(jù),并進(jìn)行歸一化處理歸一化,也可以叫標(biāo)準(zhǔn)化,因為網(wǎng)頁有不同特征,如網(wǎng)頁文檔的總字符長度、網(wǎng)頁中是否包含某個關(guān)鍵詞這些特征的取值,屬于不同的參考系。在這里歸一化可以實現(xiàn)不同的值統(tǒng)一到[0,1]之間的值,例如采用線性歸一化函數(shù)f(x)=x-min/max–min,最終獲得訓(xùn)練數(shù)據(jù)集。其次,BP神經(jīng)網(wǎng)絡(luò)模型的輸入層神經(jīng)元數(shù)由網(wǎng)頁特征數(shù)確定,輸出層神經(jīng)元數(shù)為1個,隱藏層數(shù)和每層隱藏層神經(jīng)元個數(shù),可以采用多次學(xué)習(xí),選擇最優(yōu)的方式來確定,因為神經(jīng)網(wǎng)絡(luò)中隱藏層中的神經(jīng)元個數(shù),對于不同的隱藏層數(shù)、神經(jīng)元個數(shù),確實會對網(wǎng)絡(luò)最終的識別成功率有不小的影響??梢远鄧L試不同的值,找出最終識別成功率最高的作為最終網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)。輸出層、隱藏層神經(jīng)元都附加包含一個權(quán)值為1的偏置值。向前傳播時,激活函數(shù)使用S型函數(shù)sigmod()。反向傳播時,先計算出輸出層神經(jīng)元的誤差,再計算其他隱藏層神經(jīng)元的誤差,權(quán)值修正時使用值為0.1的學(xué)習(xí)率。網(wǎng)絡(luò)開始訓(xùn)練前,初始化所有權(quán)重為[-1,1]之間的較小的接近于0的隨機(jī)值,利用訓(xùn)練數(shù)據(jù)集,使用每一條訓(xùn)練數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行前向傳播、反向傳播訓(xùn)練。直到網(wǎng)絡(luò)的錯誤輸出率達(dá)到可以接受的范圍。在應(yīng)用階段,對每一個要識別的頁面進(jìn)行特征獲取、歸一化處理,然后作為BP神經(jīng)網(wǎng)絡(luò)的輸入進(jìn)行計算,網(wǎng)絡(luò)的輸出確定此頁面是否為廣告頁面。
本發(fā)明實施例采用BP神經(jīng)網(wǎng)絡(luò)模型能夠達(dá)到良好的廣告頁面識別效果, 為廣告頁面的識別提供了新途徑;極大減輕開發(fā)人員維護(hù)“域名、URL”數(shù)據(jù)庫的工作。整體上達(dá)到良好的識別效果。請參閱圖2-a所示,是訓(xùn)練集網(wǎng)頁數(shù),包括正常網(wǎng)頁1760個,廣告頁面1800個。正常網(wǎng)頁指上網(wǎng)時瀏覽的主頁面。廣告頁面指的是用戶看到的主頁面中嵌入的一些“彈出窗口廣告”、“頁面上的浮動窗口”,還有頁面中嵌入的如“百度推薦、淘寶推薦”等子頁面。圖2-b所示是錯誤集,訓(xùn)練完畢后正常網(wǎng)頁識別的錯誤數(shù)和廣告頁面識別的錯誤數(shù),經(jīng)過實測表明,本發(fā)明實施例訓(xùn)練完成后輸出的BP神經(jīng)網(wǎng)絡(luò)模型對正常網(wǎng)頁識別的錯誤數(shù)為32,對廣告頁面識別的錯誤數(shù)為46,如圖2-c所示,是正常網(wǎng)頁正確識別率和廣告頁面正確識別率,經(jīng)過實測表明,本發(fā)明實施例訓(xùn)練完成后輸出的BP神經(jīng)網(wǎng)絡(luò)模型對正常網(wǎng)頁正確識別率為98.2%,本發(fā)明實施例訓(xùn)練完成后輸出的BP神經(jīng)網(wǎng)絡(luò)模型對廣告頁面正確識別率為97.4%
在本發(fā)明實施例中,首先要獲取一組網(wǎng)頁并獲取每個網(wǎng)頁的頁面特征,形成訓(xùn)練集,然后建立BP神經(jīng)網(wǎng)絡(luò)模型,對該網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,達(dá)到一個可以接受的誤差率。應(yīng)用到產(chǎn)品中時,對頁面獲取特征,作為網(wǎng)絡(luò)的輸入,網(wǎng)絡(luò)的輸出就是識別結(jié)果。基于BP神經(jīng)網(wǎng)絡(luò)作為機(jī)器學(xué)習(xí)算法,針對網(wǎng)頁源碼特征進(jìn)行模式識別,可有效識別廣告頁面、“彈窗”等非主動請求的垃圾頁面數(shù)據(jù)。
前述實施例介紹了本發(fā)明實施例提供的一種廣告頁面的識別方法,接下來介紹該廣告頁面的識別方法對應(yīng)的廣告頁面的預(yù)測裝置,如圖3所示,廣告頁面的預(yù)測裝置包括:
樣本頁面獲取模塊,用于獲取頁面數(shù)據(jù)集,所述頁面數(shù)據(jù)集包括:多個正常頁面和多個廣告頁面,所述正常頁面包括:非廣告頁面;
輸入輸出層構(gòu)建模塊,用于使用頁面解析器從所述頁面數(shù)據(jù)集中的每個頁面對應(yīng)的頁面源代碼中提取到頁面特征,根據(jù)提取到的頁面特征確定輸入層神經(jīng)元,確定待測頁面為廣告頁面的預(yù)測值作為輸出層神經(jīng)元,所述輸入層神經(jīng)元的個數(shù)和提取到的頁面特征的個數(shù)相同;
模型構(gòu)造模塊,用于根據(jù)所述輸入層神經(jīng)元和所述輸出層神經(jīng)元構(gòu)造用于廣告頁面預(yù)測的誤差反向傳播BP神經(jīng)網(wǎng)絡(luò)模型,并根據(jù)預(yù)置的預(yù)測精度確定所述BP神經(jīng)網(wǎng)絡(luò)模型的期望誤差、學(xué)習(xí)率和最大步長參數(shù),所述BP神經(jīng) 網(wǎng)絡(luò)模型包括:輸入層神經(jīng)元、隱藏層神經(jīng)元和輸出層神經(jīng)元;
訓(xùn)練數(shù)據(jù)配置模塊,用于對所述頁面數(shù)據(jù)集中的每個頁面分別進(jìn)行歸一化處理得到頁面數(shù)據(jù)歸一化樣本,從所述頁面數(shù)據(jù)歸一化樣本中選擇包括頁面特征的頁面數(shù)據(jù)作為所述BP神經(jīng)網(wǎng)絡(luò)模型的輸入層向量,將從所述頁面數(shù)據(jù)歸一化樣本中選擇出的頁面數(shù)據(jù)對應(yīng)于正常頁面或廣告頁面作為所述BP神經(jīng)網(wǎng)絡(luò)模型的期望輸出層向量;
模型訓(xùn)練模塊,用于將所述輸入層向量輸入到所述BP神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練,得到所述BP神經(jīng)網(wǎng)絡(luò)模型輸出的實際輸出向量,計算所述實際輸出向量和所述期望輸出向量中處于相同位置的實際輸出預(yù)測值和期望輸出值之間的誤差,并將所述誤差作為誤差反向傳播算法的輸入數(shù)據(jù)對所述BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行循環(huán)往復(fù)訓(xùn)練,直至所述實際輸出預(yù)測值與所述期望輸出值之間的誤差小于所述期望誤差時,輸出訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型;
頁面預(yù)測模塊,用于使用所述頁面解析器對待測頁面的頁面源代碼進(jìn)行解析,得到所述待測頁面的網(wǎng)頁特征,將所述待測頁面的網(wǎng)頁特征作為輸入層向量輸入到所述訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型,通過所述訓(xùn)練完成后的BP神經(jīng)網(wǎng)絡(luò)模型輸出對所述待測頁面為廣告頁面的實際預(yù)測值。
在本發(fā)明的一些實施例中,所述模型構(gòu)造模塊,具體用于根據(jù)提取到的網(wǎng)頁特征的個數(shù)確定BP神經(jīng)網(wǎng)絡(luò)模型的輸入層神經(jīng)元的個數(shù);根據(jù)所述BP神經(jīng)網(wǎng)絡(luò)模型的輸出層向量的維數(shù)確定所述BP神經(jīng)網(wǎng)絡(luò)模型的輸出層神經(jīng)元的個數(shù)為1;根據(jù)輸入層神經(jīng)元的個數(shù)和輸出層神經(jīng)元的個數(shù)確定所述BP神經(jīng)網(wǎng)絡(luò)模型的隱藏層神經(jīng)元的個數(shù)。
在本發(fā)明的一些實施例中,從頁面源代碼中提取到的頁面特征的個數(shù)為8個,所述BP神經(jīng)網(wǎng)絡(luò)模型的輸入層神經(jīng)元的個數(shù)為8個;
所述頁面特征包括:頁面是否包括標(biāo)題、頁面標(biāo)題長度、頁面中關(guān)鍵詞個數(shù)、頁面數(shù)據(jù)長度、頁面中JS腳本長度、頁面中圖片數(shù)、頁面中鏈接數(shù)。
在本發(fā)明的一些實施例中,所述模型構(gòu)造模塊,具體用于通過如下計算公式確定所述隱藏層神經(jīng)元的個數(shù):
其中,P1是隱藏層神經(jīng)元的個數(shù),P2是輸入層神經(jīng)元的個數(shù),P3為輸出 層神經(jīng)元的個數(shù),n是取值大于或等于1的調(diào)整參數(shù)。
在本發(fā)明的一些實施例中,所述訓(xùn)練數(shù)據(jù)配置模塊,具體用于通過如下計算公式對所述頁面數(shù)據(jù)集中的每個頁面進(jìn)行歸一化處理,將每個頁面的頁面特征映射到從0至1的區(qū)間,該計算公式包括:
其中,max表示網(wǎng)頁特征的最大值,min表示網(wǎng)頁特征的最小值,x表示網(wǎng)頁特征的實際值,f(x)表示網(wǎng)頁特征的歸一化值。
通過前述實施例對本發(fā)明的舉例說明可知,本發(fā)明的方法能夠更準(zhǔn)確出待測頁面是否為廣告頁面,能夠為用戶過濾掉廣告頁面,從而使得用戶的上網(wǎng)體驗極速提高。由于利用了頁面源代碼提取到頁面特征參數(shù),使得廣告頁面的預(yù)測可以充分考慮這些頁面特征對待測頁面是否為廣告頁面的影響,因此預(yù)測結(jié)果更加準(zhǔn)確。由于BP神經(jīng)網(wǎng)絡(luò)模型本身具有的自學(xué)習(xí)和自適應(yīng)能力,使得預(yù)測的結(jié)果相對準(zhǔn)確。本發(fā)明基于BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行廣告頁面的預(yù)測,利用目前已知的正常頁面和廣告頁面作為輸入層變量,以便能提供盡可能多的樣本數(shù)據(jù),通過具有機(jī)器學(xué)習(xí)能力的BP神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)廣告頁面的頁面特征學(xué)習(xí),這種具有機(jī)器學(xué)習(xí)能力的基于BP神經(jīng)網(wǎng)絡(luò)模型的廣告頁面的預(yù)測方法,具有預(yù)測效率高,預(yù)測結(jié)果準(zhǔn)確的特點。
另外需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的裝置實施例附圖中,模塊之間的連接關(guān)系表示它們之間具有通信連接,具體可以實現(xiàn)為一條或多條通信總線或信號線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過專用硬件包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現(xiàn)。一般情況下,凡由計算機(jī)程序完成的功能都可以很容易地用相應(yīng)的硬件來實現(xiàn),而 且,用來實現(xiàn)同一功能的具體硬件結(jié)構(gòu)也可以是多種多樣的,例如模擬電路、數(shù)字電路或?qū)S秒娐返取5?,對本發(fā)明而言更多情況下軟件程序?qū)崿F(xiàn)是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機(jī)的軟盤、U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
綜上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照上述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對上述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。