潘東陽
(信陽職業(yè)技術(shù)學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 河南 信陽 464000)
互聯(lián)網(wǎng)中數(shù)據(jù)數(shù)量較多,用戶關(guān)系比較復(fù)雜,并且大部分?jǐn)?shù)據(jù)信息都不夠完整,因此在海量數(shù)據(jù)中提取用戶信息具有較大的難度[1]。國內(nèi)用戶信息提取技術(shù)還不夠成熟與完善,針對海量數(shù)據(jù)中用戶提取問題所采用的方法主要以人工智能技術(shù)為主,利用人工智能技術(shù)對用戶信息特征進(jìn)行提取,并根據(jù)用戶信息特征識(shí)別出海量數(shù)據(jù)中的用戶信息,最后實(shí)現(xiàn)對用戶信息的提取,雖然現(xiàn)有方法提取效率比較高,但是對于用戶信息特征的計(jì)算不夠準(zhǔn)確,導(dǎo)致傳統(tǒng)方法在實(shí)際應(yīng)用中提取到的用戶信息不夠全面,提全率比較低,已經(jīng)無法滿足海量數(shù)據(jù)中用戶信息提取需求,為此提出基于數(shù)學(xué)模型的海量數(shù)據(jù)中用戶信息提取方法研究。
根據(jù)海量數(shù)據(jù)中用戶信息提取需求,采用網(wǎng)絡(luò)爬蟲技術(shù)對互聯(lián)網(wǎng)中海量數(shù)據(jù)進(jìn)行采集。數(shù)據(jù)主要保存在互聯(lián)網(wǎng)各個(gè)網(wǎng)頁或者網(wǎng)站中,因此網(wǎng)絡(luò)爬蟲的爬取對象主要為互聯(lián)網(wǎng)網(wǎng)頁和網(wǎng)站。將用戶數(shù)量較多且信息量較大的網(wǎng)址輸入到網(wǎng)絡(luò)爬蟲上,網(wǎng)絡(luò)爬蟲根據(jù)輸入的網(wǎng)絡(luò)鏈接進(jìn)入到網(wǎng)頁,并且對網(wǎng)頁屬性信息進(jìn)行學(xué)習(xí),獲取到網(wǎng)頁中訪問層數(shù)、數(shù)據(jù)節(jié)點(diǎn)位置、數(shù)據(jù)總量、數(shù)據(jù)類型等信息。根據(jù)信息生成爬取任務(wù),對網(wǎng)頁進(jìn)行逐層訪問和爬取,以用戶信息作為爬取主題,使用ASFHAIG 標(biāo)簽對網(wǎng)絡(luò)網(wǎng)頁中不規(guī)則或者錯(cuò)誤的標(biāo)簽進(jìn)行統(tǒng)一修復(fù),隨機(jī)選取某一網(wǎng)頁作為互聯(lián)網(wǎng)爬取單元,建立網(wǎng)頁信息標(biāo)簽樹,網(wǎng)絡(luò)爬蟲利用網(wǎng)頁的視覺信息對互聯(lián)網(wǎng)網(wǎng)頁進(jìn)行分塊,對網(wǎng)頁信息進(jìn)行逐塊提取,根據(jù)爬取主題找到與其相關(guān)的網(wǎng)頁文本文件,并將網(wǎng)頁文本文件進(jìn)行超文本標(biāo)記,記錄到一個(gè)URL 地址表中,對網(wǎng)絡(luò)網(wǎng)頁信息進(jìn)行存儲(chǔ),當(dāng)爬取到的信息量達(dá)到學(xué)習(xí)到的數(shù)據(jù)總量時(shí)停止該網(wǎng)頁信息爬取,通過HTTP 網(wǎng)絡(luò)協(xié)議將爬取到的數(shù)據(jù)信息自動(dòng)下載,根據(jù)數(shù)據(jù)類型建立相應(yīng)的數(shù)據(jù)文檔[2]。為了方便后續(xù)分析和計(jì)算,對爬取的海量數(shù)據(jù)進(jìn)行預(yù)處理,由于用戶信息主要為文字信息,因此剔除掉海量數(shù)據(jù)中的圖像數(shù)據(jù)、視頻數(shù)據(jù)以及音頻數(shù)據(jù)。然后利用TSIHD 標(biāo)簽對文字?jǐn)?shù)據(jù)中不規(guī)則、格式錯(cuò)誤的數(shù)據(jù)信息進(jìn)行修復(fù)整理,將處理后的數(shù)據(jù)信息存儲(chǔ)到TXXT 文檔中,以此實(shí)現(xiàn)對海量數(shù)據(jù)信息的抓取。
網(wǎng)絡(luò)爬蟲只是獲取到網(wǎng)頁數(shù)據(jù)信息,盡管在網(wǎng)頁信息爬取過程中對海量數(shù)據(jù)進(jìn)行了預(yù)處理,但是數(shù)據(jù)量仍舊比較大,網(wǎng)絡(luò)爬蟲爬取到的海量數(shù)據(jù)中存在沒有任何意義的信息,因此在上述基礎(chǔ)上對提取到的網(wǎng)頁數(shù)據(jù)信息進(jìn)行深度挖掘,分析網(wǎng)頁中用戶訪問記錄的歷史行為。此次以統(tǒng)計(jì)法為理論依據(jù),對網(wǎng)頁的頁面訪問序列劃分成用戶會(huì)話的關(guān)聯(lián)單元,剔除其中與用戶無關(guān)的記錄,得到網(wǎng)頁中用戶重要訪問記錄數(shù)據(jù)信息,比如用戶瀏覽時(shí)間、頁面用戶訪問次數(shù)、頁面用戶查詢關(guān)鍵詞、相關(guān)頁面用戶重復(fù)訪問記錄等,對這一類相關(guān)數(shù)據(jù)進(jìn)行檢測分析,獲取到頁面用戶歷史行為記錄。首先讀取到網(wǎng)絡(luò)爬蟲爬取的用戶行為記錄的文檔內(nèi)容,對網(wǎng)頁文檔信息的HTML 屬性的字串符進(jìn)行加載,根據(jù)網(wǎng)頁用戶行為記錄文檔信息的字串符匹配到用戶的數(shù)字身份,并對網(wǎng)頁頁面用戶行為記錄文檔信息進(jìn)行分詞,讀取到能夠代表用戶行為的關(guān)鍵詞,計(jì)算出不同代表用戶行為的關(guān)鍵詞的出現(xiàn)頻率。假設(shè)爬取到的網(wǎng)頁頁面同一行為數(shù)據(jù)集合中,任意兩個(gè)用戶行為的關(guān)聯(lián)度為K,其計(jì)算公式如下:
公式(1)中,a和b分別表示爬取到的網(wǎng)頁頁面同一行為數(shù)據(jù)集合中的兩個(gè)用戶行為;O(a)表示用戶行為a集合;O(b)表示用戶行為b集合;H(a)表示用戶行為a的權(quán)重;H(b)表示用戶行為b的權(quán)重。假設(shè)網(wǎng)頁頁面中共存在J個(gè)用戶行為,則該網(wǎng)頁頁面中用戶對行為a的興趣度為:
公式(2)中,Ia表示網(wǎng)頁頁面中用戶對行為a的興趣度;Ib表示網(wǎng)頁頁面中用戶對行為b的興趣度。按照作用方向?qū)⒕W(wǎng)頁頁面中用戶對某一種行為的興趣度分為正負(fù)兩種,對網(wǎng)頁頁面用戶行為興趣度進(jìn)行標(biāo)準(zhǔn)化處理,其用公式表示如下:
公式(3)中,+表示網(wǎng)頁頁面中用戶行為對用戶興趣的正向作用;?表示網(wǎng)頁頁面中用戶行為對用戶興趣的負(fù)向作用;ui表示網(wǎng)頁頁面中第i條用戶行為記錄中某一行為的標(biāo)準(zhǔn)化值;Ii表示網(wǎng)頁頁面中第i條用戶行為記錄中某一行為的興趣度值;min(Ii)表示網(wǎng)頁頁面中第i條用戶行為記錄中某一行為的最小興趣度;max(Ii)表示網(wǎng)頁頁面中第i條用戶行為記錄中某一行為的最大興趣度。利用上述公式對網(wǎng)頁頁面中用戶行為興趣度進(jìn)行標(biāo)準(zhǔn)化處理,利用興趣度來表述網(wǎng)頁頁面中用戶行為,從網(wǎng)絡(luò)爬蟲爬取的網(wǎng)頁頁面信息中篩選出具有正向作用的用戶行為信息,以此完成用戶關(guān)聯(lián)海量數(shù)據(jù)的挖掘。
以網(wǎng)絡(luò)爬蟲的歷史數(shù)據(jù)庫作為海量數(shù)據(jù)中用戶信息特征分析數(shù)據(jù)源,假設(shè)待提取的海量數(shù)據(jù)集合為K,將網(wǎng)絡(luò)爬蟲歷史數(shù)據(jù)庫的接口與BP 神經(jīng)網(wǎng)絡(luò)連接[3]。利用OGU 軟件將網(wǎng)絡(luò)爬蟲歷史數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到建立的神經(jīng)網(wǎng)絡(luò)輸入層中,進(jìn)行學(xué)習(xí)和訓(xùn)練,其訓(xùn)練向量的模式表示如下:
公式(4)中,x表示BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練向量。假設(shè)用戶信息特征為s,利用以下公式定義BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練向量特征對數(shù)據(jù)樣本類別判斷的影響程度。
公式(5)中,E表示BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練向量特征對數(shù)據(jù)樣本類別判斷的影響程度;r表示BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)集的類別;p表示實(shí)際數(shù)量的數(shù)量;s表示在學(xué)習(xí)訓(xùn)練過程中出現(xiàn)次數(shù)最多的特征[4]。利用上述公式計(jì)算出BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練向量特征對數(shù)據(jù)樣本類別判斷的影響程度,如果特征s在用戶信息數(shù)據(jù)類別中出現(xiàn)的次數(shù)比較多,并且在非用戶信息數(shù)據(jù)類別中出現(xiàn)的次數(shù)比較少,則判定該特征為用戶信息數(shù)據(jù)特征,以此實(shí)現(xiàn)對海量數(shù)據(jù)中用戶信息特征的提取。
在上文基礎(chǔ)上,利用數(shù)學(xué)模型對海量數(shù)據(jù)中用戶信息進(jìn)行提取,不同類別數(shù)據(jù)之間的特征是不一致的,因此海量數(shù)據(jù)中用戶信息與其他信息在特征表現(xiàn)上存在不一致,利用以下公式計(jì)算出海量數(shù)據(jù)的不一致率:
公式(6)中,P表示海量數(shù)據(jù)的不一致率;z表示用戶信息數(shù)據(jù)特征與其他數(shù)據(jù)特征之間的離散值;m表示引起數(shù)據(jù)類別不同的臨界點(diǎn);d表示任意用戶信息數(shù)據(jù)特征的屬性值的離散區(qū)間對數(shù)據(jù)類別分辨能力;κ表示用戶信息數(shù)據(jù)特征區(qū)間所對應(yīng)的類別概率;ρ表示海量數(shù)據(jù)中用戶信息數(shù)據(jù)特征區(qū)間劃分特征屬性的離散特性[5]。利用上述公式計(jì)算出海量數(shù)據(jù)中用戶信息與其他信息不一致率,結(jié)合數(shù)據(jù)特征淘過濾規(guī)則,建立海量數(shù)據(jù)中用戶信息提取數(shù)學(xué)模型,該模型用公式表示如下:
公式(7)中,N(K)表示海量數(shù)據(jù)集K中的用戶信息;?表示信息特征淘汰過濾規(guī)則;S表示最優(yōu)特征子集;ν表示包含特征類別的數(shù)據(jù)數(shù)量;a表示用戶信息特征區(qū)間的類別頻數(shù)[6]。綜上所述,在對海量數(shù)據(jù)中用戶信息提取數(shù)學(xué)模型建立過程中,以原始數(shù)據(jù)中用戶信息特征作為提取因子,根據(jù)不同類別數(shù)據(jù)不一致率,并結(jié)合信息特征淘汰過濾規(guī)則對海量數(shù)據(jù)中的信息進(jìn)行詳細(xì)分析和計(jì)算,根據(jù)給出用戶信息特征淘汰特性與過濾的內(nèi)在聯(lián)系建立數(shù)學(xué)模型,利用以上數(shù)學(xué)模型對海量數(shù)據(jù)中的用戶信息進(jìn)行提取,以此實(shí)現(xiàn)了基于數(shù)學(xué)模型的海量數(shù)據(jù)中用戶信息提取。
實(shí)驗(yàn)數(shù)據(jù)集選取某網(wǎng)頁消費(fèi)信息數(shù)據(jù),數(shù)據(jù)總量為700 GB,共分為35 類,該數(shù)據(jù)集中包含了用戶個(gè)人信息、消費(fèi)喜好信息、網(wǎng)頁登錄信息以及一些其他信息,將其作為實(shí)驗(yàn)對象,利用此次設(shè)計(jì)方法與傳統(tǒng)方法對該數(shù)據(jù)集中用戶信息進(jìn)行提取。實(shí)驗(yàn)環(huán)境:1 臺(tái)計(jì)算機(jī),操作系統(tǒng)為Windows2010 操作系統(tǒng),CPU 為INTER coer i8,內(nèi)存為16 GB,主頻為8.5 GHz,接入網(wǎng)下載速度為1 000 KB/s,硬盤為SATA 600 G。實(shí)驗(yàn)共選取UserAgent、Host、LAC、URI、用戶手機(jī)號(hào)5 個(gè)相關(guān)字段,其中UserAgent 字段格式為字節(jié)流,實(shí)例為13 664;Host 字段格式為十六進(jìn)制數(shù)字串,實(shí)例為Mozilla/5.62;LAC 字段格式為十進(jìn)制數(shù)字串,實(shí)例為13266566556433;URI 字段格式為點(diǎn)分十進(jìn)制,實(shí)例為12.X.X.2644;用戶手機(jī)號(hào)字段格式為十六進(jìn)制數(shù)字串,實(shí)例為1264xxxxx1365。按照上文對海量數(shù)據(jù)用戶信息特征進(jìn)行計(jì)算,將網(wǎng)絡(luò)爬蟲的網(wǎng)絡(luò)爬取業(yè)務(wù)設(shè)定為百度、騰訊微博、京東、淘寶4 個(gè)業(yè)務(wù),網(wǎng)頁訪問次數(shù)設(shè)定為50 次,爬取深度限制設(shè)定為5.5,下載線程數(shù)設(shè)定為15。以HTML 文件作為根節(jié)點(diǎn),構(gòu)造網(wǎng)頁標(biāo)簽樹,爬取到的網(wǎng)頁文檔共10 個(gè),網(wǎng)絡(luò)爬蟲探索的網(wǎng)頁網(wǎng)址共200 個(gè),建立的網(wǎng)頁數(shù)據(jù)集共200 M,爬取網(wǎng)頁信息條數(shù)共2 萬條。并將數(shù)學(xué)模型的迭代設(shè)置為10,提取到的用戶信息情況見表1。
表1 海量數(shù)據(jù)中用戶信息提取情況
實(shí)驗(yàn)將數(shù)據(jù)集分成7 份,使用兩種方法對數(shù)據(jù)集中海量數(shù)據(jù)中的用戶信息進(jìn)行逐一提取,記錄兩種方法提取用戶信息量大小,并利用UJKD 軟件將其與實(shí)際用戶信息量進(jìn)行分析,計(jì)算出兩種方法的提全率,提全率是檢驗(yàn)信息提取方法有效性的關(guān)鍵指標(biāo),因此實(shí)驗(yàn)將其作為實(shí)驗(yàn)結(jié)果,對比兩種方法提全率,見表2。
表2 兩種方法提全率對比
從上表可以看出:設(shè)計(jì)方法能夠有效提高提全率,該方面優(yōu)于傳統(tǒng)方法,能夠全面提取到海量數(shù)據(jù)中用戶信息。
此次研究以數(shù)學(xué)模型為理論基礎(chǔ),在傳統(tǒng)方法基礎(chǔ)上采用了數(shù)學(xué)模型,設(shè)計(jì)了一套新的海量數(shù)據(jù)中用戶信息提取方法,并通過實(shí)證分析驗(yàn)證了該方法具有良好的適用性和可靠性。此次研究對提高海量數(shù)據(jù)中用戶信息提取精度具有一定的提升作用,同時(shí)還解決了海量數(shù)據(jù)中用戶信息提取不夠全面的問題,在海量數(shù)據(jù)中用戶信息提取方面具有良好的參考價(jià)值和應(yīng)用價(jià)值。由于此次設(shè)計(jì)的方法尚未經(jīng)過大量實(shí)踐應(yīng)用,建立的數(shù)學(xué)模型可能存在一些不足,今后會(huì)對其優(yōu)化和創(chuàng)新進(jìn)行進(jìn)一步研究。