彭文良,虞燕花
(1.池州職業(yè)技術(shù)學(xué)院 電子信息與傳媒系,安徽 池州 247000;2.安徽黃梅戲藝術(shù)職業(yè)學(xué)院 圖文信息中心,安徽 安慶 246011)
隨著移動網(wǎng)絡(luò)技術(shù)與智能手機(jī)的普及,網(wǎng)絡(luò)逐漸成為大多數(shù)人們生活中不可或缺的一部分,人們開始通過網(wǎng)絡(luò)觀察整個世界,發(fā)表自己的言論與觀點(diǎn)[1-2].大部分的網(wǎng)絡(luò)用戶會在網(wǎng)絡(luò)中產(chǎn)生各種各樣的數(shù)據(jù),如視頻、動畫、文本等,其中文本數(shù)據(jù)是網(wǎng)絡(luò)上最常用的數(shù)據(jù)格式.文獻(xiàn)[3]提出了包括元組標(biāo)記算法和最優(yōu)參數(shù)估計(jì)算法的自適應(yīng)重傳策略,集群的元組失敗率、CPU占用率和集群吞吐量均得到了改善.文獻(xiàn)[4]將概念漂移探測器設(shè)置在集成學(xué)習(xí)器端,改進(jìn)后的算法對較平衡的數(shù)據(jù)流進(jìn)行分類,使多棵背景樹同步訓(xùn)練,在每個基礎(chǔ)分類器上分別設(shè)置了警告探測器和漂移探測器,更快適應(yīng)數(shù)據(jù)流中出現(xiàn)的概念漂移.
在社交軟件以及購物平臺中,每秒都會產(chǎn)生海量的文本數(shù)據(jù),由于這些數(shù)據(jù)長度較短、信息不足、內(nèi)容短小,且具有傳輸速度快和數(shù)量大的特點(diǎn).大量數(shù)據(jù)匯聚而成的數(shù)據(jù)流具有很多有價值的信息,對此部分信息進(jìn)行數(shù)據(jù)挖掘可幫助企業(yè)與政府做出正確的決策.以淘寶網(wǎng)為例,淘寶網(wǎng)作為我國最大的購物網(wǎng)站,每天都會產(chǎn)生大量的購物評價信息,這些信息可以為消費(fèi)者提供參考,商家也可以通過此部分?jǐn)?shù)據(jù)了解消費(fèi)者的喜好,為商家創(chuàng)造更高的收益.
為此,合理地分析與利用文本數(shù)據(jù),對于經(jīng)濟(jì)發(fā)展具有推動作用.通過文獻(xiàn)分析可知,文本數(shù)據(jù)流具有不平衡與高維稀疏的特征.這造成了大量的文本流分類問題,傳統(tǒng)的靜態(tài)分類方法無法較好地解決這些問題.因此,在現(xiàn)有研究的基礎(chǔ)上,本文使用Python語言以及多類標(biāo)簽學(xué)習(xí)技術(shù),提出基于Python語言的文本數(shù)據(jù)流自適應(yīng)分類方法.此方法可有效解決目前文本流分類過程中的困境,為文本數(shù)據(jù)的利用提供技術(shù)支持.
使用Python語言作為處理依據(jù),對原有的數(shù)據(jù)流分類方法進(jìn)行優(yōu)化.與此同時,選擇合適的技術(shù)完成數(shù)據(jù)流的處理,將原有的關(guān)系型數(shù)據(jù)庫轉(zhuǎn)化為非關(guān)系型數(shù)據(jù)庫,提升分類方法的使用效果.根據(jù)預(yù)先設(shè)定的設(shè)計(jì)流程,完成設(shè)計(jì)過程,并構(gòu)建相應(yīng)的測試環(huán)節(jié)對其使用效果進(jìn)行測定,以證實(shí)文中提出方法具有使用價值.
網(wǎng)絡(luò)中的數(shù)據(jù)復(fù)雜多變且種類相差較大.在選取目標(biāo)數(shù)據(jù)時,需要進(jìn)行仔細(xì)地過濾與篩選.針對文本數(shù)據(jù)流的特征將數(shù)據(jù)的采集過程通過公式進(jìn)行控制,具體內(nèi)容如下.
yχ=argmin{dis(x,yg),dis(x,yn)},
(1)
式中,dis(x,yg)表示無標(biāo)簽數(shù)據(jù)塊在正類數(shù)據(jù)塊中心點(diǎn)的距離,即
(2)
式中,yg1表示正類數(shù)據(jù)塊的中心點(diǎn),則
(3)
通過上述公式可得到dis(x,yn)表示無標(biāo)簽數(shù)據(jù)塊在負(fù)類數(shù)據(jù)塊中心點(diǎn)的距離
(4)
使用上述公式,對采集到的數(shù)據(jù)進(jìn)行分類處理,并將其作為后續(xù)分類過程中的數(shù)據(jù)基礎(chǔ).
為對文本數(shù)據(jù)進(jìn)行更好地處理,將Python語言與網(wǎng)絡(luò)爬蟲技術(shù)應(yīng)用到數(shù)據(jù)挖掘過程中[6].通過網(wǎng)絡(luò)爬蟲技術(shù)對關(guān)鍵詞進(jìn)行檢索,得到相應(yīng)的數(shù)據(jù)后,整合為數(shù)據(jù)庫的形式,并對其展開預(yù)處理與挖掘.由于Python語言只能在Python開發(fā)平臺運(yùn)行,將SQL數(shù)據(jù)庫轉(zhuǎn)化為Python專用pymongo數(shù)據(jù)庫[7-8].此數(shù)據(jù)庫非關(guān)系型數(shù)據(jù)庫.不同于目前使用中的數(shù)據(jù)庫,pymongo庫可以存儲各種來源和各種形式的文本數(shù)據(jù).同時,提升數(shù)據(jù)模型的靈活度,使數(shù)據(jù)的讀寫更加簡易,方便數(shù)據(jù)進(jìn)行二次拓展.
將文本數(shù)據(jù)轉(zhuǎn)化為機(jī)器可識別文本,并將其存放于向量空間中,完成數(shù)據(jù)流預(yù)處理過程.設(shè)定采集到的文本集A為n維空間中的向量,即此文本數(shù)據(jù)具有n個特征,在此數(shù)據(jù)集中的每一條信息都可映射為空間模型中的一點(diǎn)[9],用其中的一個向量表示,則ai=(bi1,bi1,…,bij,…,bin),i=1,2,…,|A|,bij表示數(shù)據(jù)特征j在i文檔中的權(quán)重.同時,特征詞的權(quán)重TFIDF衡量,計(jì)算規(guī)則設(shè)定如下.
(5)
上式中,特征值l在文本a中出現(xiàn)的次數(shù)可表示為fl,{l∈a}是含有特征值l的文本數(shù)據(jù),|A|表示集合中文本總數(shù).
在對數(shù)據(jù)流進(jìn)行清洗的過程中,對數(shù)據(jù)采集中的異常項(xiàng)進(jìn)行處理,對于屬性值缺失以及其他原因造成的數(shù)據(jù)值與數(shù)據(jù)流不相關(guān)的數(shù)據(jù)展開校正,糾正數(shù)據(jù)采集中的錯誤.由于網(wǎng)絡(luò)數(shù)據(jù)種類較為繁雜.因此需要對數(shù)據(jù)流中的離群點(diǎn)進(jìn)行處理,為數(shù)據(jù)分類的精準(zhǔn)度提供保障.在數(shù)據(jù)清洗中,將數(shù)據(jù)流中平均值相差較大的數(shù)據(jù)剔除,避免數(shù)據(jù)污染[10-11].同時,設(shè)定相應(yīng)的數(shù)據(jù)規(guī)則,對數(shù)據(jù)預(yù)處理結(jié)果與數(shù)據(jù)挖掘結(jié)果進(jìn)行約束.對于像網(wǎng)絡(luò)數(shù)據(jù)這樣的多維數(shù)據(jù),數(shù)據(jù)預(yù)處理會相對降低數(shù)據(jù)維度,導(dǎo)致數(shù)據(jù)在進(jìn)行分析的過程中無法對數(shù)據(jù)進(jìn)行精確的定義,當(dāng)這種數(shù)據(jù)達(dá)到一定的數(shù)量后,數(shù)據(jù)的高緯度會增加數(shù)據(jù)分析的困難性,使數(shù)據(jù)整體比例失調(diào),因此,在數(shù)據(jù)挖掘的過程中選用多分類方法提升數(shù)據(jù)處理的精度.
傳統(tǒng)的監(jiān)督學(xué)習(xí)算法對于數(shù)據(jù)的數(shù)據(jù)能力較差,容易造成信息資源的巨大浪費(fèi),使用此種方法構(gòu)建的分類器具有較低的泛化能力,為提升數(shù)據(jù)流處理后的有效性,使用半監(jiān)督學(xué)習(xí)半聚類分析的方法構(gòu)建相應(yīng)的分類器[12-13].半監(jiān)督學(xué)習(xí)是機(jī)械學(xué)習(xí)領(lǐng)域中的一種新型方法,對于給定的數(shù)據(jù)預(yù)處理結(jié)果集合J而言,其可表示為
J={(x1,y2),…,(x|g|,y|g|),x|g|+1,…,x|g|+|h|},
(6)
上述公式中,|g|表示有標(biāo)識樣本的數(shù)目,|h|表示無標(biāo)識樣本的數(shù)目,且|h|+|g|=n.半監(jiān)督學(xué)習(xí)就是對樣本中標(biāo)識缺失的數(shù)據(jù)進(jìn)行分類處理,如圖1所示.
圖1 數(shù)據(jù)流分類超平面
根據(jù)圖1,假設(shè)數(shù)據(jù)中的有標(biāo)識數(shù)據(jù)與無標(biāo)識數(shù)據(jù)均按照高斯分布混合分布[14-15],則
(7)
(8)
通過上述公式,對數(shù)據(jù)流中的無標(biāo)識數(shù)據(jù)進(jìn)行估計(jì),并通過有標(biāo)識數(shù)據(jù),得到對應(yīng)的無標(biāo)識數(shù)據(jù),以此提升準(zhǔn)確度,保證分類器的使用效果.
對上述內(nèi)容展開整合,并將其與目前使用中的數(shù)據(jù)流自適應(yīng)分類方法相融合,至此,完成基于Python語言的文本數(shù)據(jù)流自適應(yīng)分類方法設(shè)計(jì).
為驗(yàn)證此方法的使用效果,構(gòu)建相應(yīng)的實(shí)驗(yàn)環(huán)節(jié)完成本文中方法與文獻(xiàn)[3]和文獻(xiàn)[4]中方法的對比.在實(shí)驗(yàn)中,通過數(shù)值模擬的方式,設(shè)定獨(dú)立的數(shù)據(jù)庫作為測試數(shù)據(jù)庫,通過對此數(shù)據(jù)庫的處理,完成驗(yàn)證過程.使用的數(shù)據(jù)庫中包含3組以上靜態(tài)數(shù)據(jù)集用于模擬多種類數(shù)據(jù)流.設(shè)定每個數(shù)據(jù)流中包含多個不同數(shù)目的樣本數(shù)據(jù)塊,具體數(shù)據(jù)信息如表1所示.
表1 測試數(shù)據(jù)集設(shè)定
共對上述數(shù)據(jù)庫進(jìn)行10次實(shí)驗(yàn),取實(shí)驗(yàn)結(jié)果均值作為最終實(shí)驗(yàn)結(jié)果.使用本文方法與文獻(xiàn)[3]和文獻(xiàn)[4]中方法對上述測試數(shù)據(jù)庫展開處理,并設(shè)定相應(yīng)的對比指標(biāo),實(shí)現(xiàn)實(shí)驗(yàn)對比過程.
在使用效果對比過程中,將不同分類方法的測定指標(biāo)設(shè)定為加速比、規(guī)模增長性以及文本數(shù)據(jù)流點(diǎn)處理精度.加速比的公式為
(9)
上述公式中,R表示分類方法加速比,Ti表示i個數(shù)據(jù)流的處理耗時,TM表示M個數(shù)據(jù)流的處理耗時.
規(guī)模增長性的公式為
(10)
其中,V表示分類方法的規(guī)模增長性,ti表示一個數(shù)據(jù)流中i個數(shù)據(jù)的處理耗時,tm表示一個數(shù)據(jù)流中m個數(shù)據(jù)的處理耗時.
用上述指標(biāo)對本文方法與文獻(xiàn)[3]和文獻(xiàn)[4]中方法進(jìn)行對比分析,得到相應(yīng)的使用情況分析結(jié)果.
三種分類方法的加速比實(shí)驗(yàn)結(jié)果如圖2所示.
圖2 分類方法加速比實(shí)驗(yàn)結(jié)果
通過圖2可知,在對不同測試數(shù)據(jù)集進(jìn)行處理時,本文方法的分類加速情況較好,在數(shù)據(jù)量不斷變化的過程中,本文設(shè)計(jì)方法的處理速度不斷提升并逐漸趨于平穩(wěn).文獻(xiàn)[3]和文獻(xiàn)[4]中方法在對不同的數(shù)據(jù)集進(jìn)行處理時,所得結(jié)果也有所不同.對于數(shù)據(jù)量較大的數(shù)據(jù)集進(jìn)行處理時,其速度提升過慢,可見其數(shù)據(jù)處理能力不佳,對于數(shù)據(jù)流的處理造成了一定的約束.本文方法中使用了Python語言,在一定程度上從數(shù)據(jù)源頭提升了分類方法的處理效率.文獻(xiàn)[3]和文獻(xiàn)[4]中方法應(yīng)用的數(shù)據(jù)處理技術(shù)較為落后,造成了其使用效果不佳的問題.綜上可知,本文設(shè)計(jì)方法的使用效果較好.
三種分類方法的規(guī)模增長性實(shí)驗(yàn)結(jié)果如圖3所示.
圖3 分類方法規(guī)模增長性實(shí)驗(yàn)結(jié)果
由于分類方法規(guī)模增長性是一種較為虛擬的對比指標(biāo),計(jì)算規(guī)模增長性得到相應(yīng)的具體數(shù)值,完成此指標(biāo)的對比過程.由圖(3)可知,在此指標(biāo)的對比過程中,本文方法得到的實(shí)驗(yàn)結(jié)果明顯優(yōu)于文獻(xiàn)[3]和文獻(xiàn)[4]中方法.本文方法在對數(shù)據(jù)進(jìn)行處理時,其規(guī)模增長性呈直線上升趨勢,同時其增長上升趨勢較為穩(wěn)定,波動較小.與文中分類方法相比,文獻(xiàn)[3]和文獻(xiàn)[4]中方法的增長幅度較慢,且增長數(shù)據(jù)波動較大,對于多種測試數(shù)據(jù)集的適用性較差.使用此種分類方法無法對互聯(lián)網(wǎng)中的大量數(shù)據(jù)進(jìn)行處理,不利于文本數(shù)據(jù)流中信息的使用.因此,在日后的研究中應(yīng)對文中設(shè)計(jì)方法的部分技術(shù)展開優(yōu)化,以此保證數(shù)據(jù)流的分類結(jié)果符合互聯(lián)網(wǎng)數(shù)據(jù)的使用要求.
三種方法對文本數(shù)據(jù)流點(diǎn)處理精度的實(shí)驗(yàn)結(jié)果如表2所示.
表2 文本數(shù)據(jù)流點(diǎn)處理精度實(shí)驗(yàn)結(jié)果
通過表2中的數(shù)據(jù)對比可以看出,本文方法對文本數(shù)據(jù)流點(diǎn)處理精度最高,在多次使用的過程中,波動較小且誤差可控性較高.同時,由數(shù)據(jù)分析也可以發(fā)現(xiàn),文獻(xiàn)[3]和文獻(xiàn)[4]中方法的使用效果較差,無法達(dá)到文中設(shè)計(jì)方法的使用效果,此兩種方法對于數(shù)據(jù)的處理精度較低,在使用過程中還存在大量的波動情況,可控性不及文中設(shè)計(jì)方法穩(wěn)定.綜上所述,在文本數(shù)據(jù)流點(diǎn)處理精度對比過程中,本文設(shè)計(jì)方法的數(shù)據(jù)處理精度高于現(xiàn)有方法.
通過分類方法加速比、分類方法規(guī)模增長性以及文本數(shù)據(jù)流點(diǎn)處理精度三種指標(biāo)對本文設(shè)計(jì)方法與文獻(xiàn)[3]和文獻(xiàn)[4]中方法的使用效果進(jìn)行分析,通過數(shù)據(jù)可知,文中方法的數(shù)據(jù)流分類能力優(yōu)于目前使用中方法,在日后的研究過程中,可使用文中設(shè)計(jì)方法為互聯(lián)網(wǎng)數(shù)據(jù)分析提供技術(shù)支持.
目前,互聯(lián)網(wǎng)數(shù)據(jù)得到了廣泛的應(yīng)用,面對海量的網(wǎng)絡(luò)數(shù)據(jù),人們可以通過技術(shù)從此部分?jǐn)?shù)據(jù)中提取出有用的信息.文本數(shù)據(jù)流的極速發(fā)展,使人們設(shè)計(jì)出了更多更先進(jìn)的數(shù)據(jù)流分類方法.實(shí)驗(yàn)結(jié)果證實(shí)了提出方法的使用效果更加優(yōu)秀,但該方法還存在相應(yīng)的不足,因此,在日后的研究中將通過實(shí)際應(yīng)用,開發(fā)出更加有效的數(shù)據(jù)流分類方法.