余向前
(國網(wǎng)甘肅省電力公司,甘肅 蘭州 730030)
電力信息化發(fā)展推動(dòng)了電力事業(yè)的蓬勃發(fā)展。在電力信息系統(tǒng)中包含大量的子系統(tǒng)。作為其主體部分的營銷業(yè)務(wù)子系統(tǒng)[1-2],擁有大量的電力用戶信息以及電力交易信息。營銷業(yè)務(wù)系統(tǒng)的信息種類較為復(fù)雜。因此,為保證其信息存儲的有效性與安全性,常采用電力營銷數(shù)據(jù)倉庫的形式提升信息存儲的可靠性。
電力營銷數(shù)據(jù)倉庫是集數(shù)據(jù)采集、信息發(fā)布、統(tǒng)計(jì)分析、預(yù)警和決策支持于一體的現(xiàn)代信息管理決策體系[3]。在電力營銷數(shù)據(jù)倉庫的使用過程中,電力營銷數(shù)據(jù)的抽取作為數(shù)據(jù)倉庫的入口,控制著數(shù)據(jù)倉庫的安全。在抽取的過程中,需要讀取與分解源數(shù)據(jù),而后再復(fù)制所需的部分?jǐn)?shù)據(jù),以方便進(jìn)一步處理。
在目前的電力營銷數(shù)據(jù)的提取過程中,常采用基于興趣點(diǎn)(point of interest,POI)優(yōu)化的數(shù)據(jù)抽取方法[4]或基于可變時(shí)間窗口的數(shù)據(jù)抽取方法[5]。但應(yīng)用這兩種方法時(shí)會出現(xiàn)抽取數(shù)據(jù)召回率偏高的問題。
可擴(kuò)展標(biāo)記語言(extensible markup language,XML)是1種用于標(biāo)記電子文件以使其具有結(jié)構(gòu)性的標(biāo)記語言,具有較強(qiáng)的數(shù)據(jù)轉(zhuǎn)換能力。因此,本研究采用XML技術(shù),設(shè)計(jì)了1種新的電力營銷數(shù)據(jù)智能抽取方法,以彌補(bǔ)傳統(tǒng)數(shù)據(jù)抽取方法的不足,提升電力營銷數(shù)據(jù)抽取的精度與可靠性。
XML是1種網(wǎng)絡(luò)信息語言,具有相應(yīng)的信息結(jié)構(gòu)性。為將其更好地應(yīng)用于電力營銷數(shù)據(jù)智能抽取過程,需對數(shù)據(jù)抽取流程展開優(yōu)化?;赬ML的電力營銷數(shù)據(jù)抽取流程如圖1所示。
圖1 基于XML的電力營銷數(shù)據(jù)抽取流程圖
將圖1所示流程作為電力營銷數(shù)據(jù)抽取方法的設(shè)計(jì)基礎(chǔ),針對傳統(tǒng)數(shù)據(jù)抽取方法在使用中出現(xiàn)的問題,采用設(shè)定數(shù)據(jù)轉(zhuǎn)化算法的形式對其展開優(yōu)化。
在抽取電力營銷系統(tǒng)數(shù)據(jù)的過程中,獲取電力營銷數(shù)據(jù)源是數(shù)據(jù)抽取的第一個(gè)環(huán)節(jié)[6]。只有獲取可用、穩(wěn)定、可靠的數(shù)據(jù)源,才能使數(shù)據(jù)抽取工作變得簡單。
一般來說,電力營銷數(shù)據(jù)的穩(wěn)定性較差,時(shí)常出現(xiàn)結(jié)構(gòu)變化的問題。因此,在數(shù)據(jù)源獲取的過程中,采用電力營銷系統(tǒng)數(shù)據(jù)庫作為數(shù)據(jù)來源。
此次設(shè)計(jì)在廣域數(shù)據(jù)獲取的基礎(chǔ)上,設(shè)定1種適用于小范圍電力營銷數(shù)據(jù)的獲取方法,并將其應(yīng)用于數(shù)據(jù)提取。為保證電力營銷信息可展開小范圍獲取工作,將原有的數(shù)據(jù)獲取鏈接方式更改為小范圍數(shù)據(jù)鏈接。小范圍數(shù)據(jù)鏈接如圖2所示。
圖2 小范圍數(shù)據(jù)鏈接示意圖
圖2中:圓形為信息數(shù)據(jù);箭頭表示信息之間的鏈接。將數(shù)據(jù)鏈接設(shè)定為小范圍數(shù)據(jù)鏈接的形式后,通常會使用超文本敏感標(biāo)題搜索(hyperlink-induced topic search,HITS)算法完成數(shù)據(jù)鏈接。但該算法難以適用于小范圍數(shù)據(jù)鏈接,因而需對HITS算法展開優(yōu)化[7]。將電力營銷系統(tǒng)中的網(wǎng)頁視作有向圖G(A,B)。其中:A為電力營銷系統(tǒng)中的數(shù)據(jù)存儲有效頁面,A={ai|1≤i≤n};B為A中不同信息元素的有序?qū)?,將其視為存儲頁面之間的連接,則B={bj|1≤j≤n}。在使用小范圍數(shù)據(jù)鏈接后,對原有的有向圖展開加權(quán),形成新的有向圖G′(A′,B′)。在A不變的條件下,B′采用原有的設(shè)定,包含信息存儲網(wǎng)頁的間接鏈接[8]。在此基礎(chǔ)上,采用HITS算法中的加權(quán)數(shù)據(jù)矩陣P對網(wǎng)頁中的信息展開處理。在初始化過程中設(shè)定B′的權(quán)值為0,則信息對應(yīng)模式為(m,n),在信息中存在的鏈接為P(m,n)=sup(i,j);反之,P(m,n)=0。將信息數(shù)據(jù)權(quán)威向量設(shè)定為D、中心向量設(shè)定為O,更新后的權(quán)威向量可以表示為D=PG′O。將上述設(shè)定部分進(jìn)行整合,則可獲得電力營銷數(shù)據(jù)源,為:
(1)
式中:r為特征干擾項(xiàng)。
上述過程對電力營銷系統(tǒng)中的數(shù)據(jù)進(jìn)行處理,通過向量控制數(shù)據(jù)抽取的有效性。
對上述獲取到的電力營銷數(shù)據(jù)源進(jìn)行數(shù)據(jù)轉(zhuǎn)換。在此次設(shè)計(jì)中,設(shè)計(jì)基于XML的轉(zhuǎn)換工具,完成數(shù)據(jù)轉(zhuǎn)換過程?,F(xiàn)將此模型設(shè)定為3層,分別為源數(shù)據(jù)層、數(shù)據(jù)庫層以及目標(biāo)數(shù)據(jù)庫層。數(shù)據(jù)轉(zhuǎn)換工具模型如圖3所示。
圖3 數(shù)據(jù)轉(zhuǎn)換工具模型
電力營銷數(shù)據(jù)轉(zhuǎn)換的過程分為2個(gè)部分,分別為遷移式數(shù)據(jù)轉(zhuǎn)換與合并式數(shù)據(jù)轉(zhuǎn)換。采用上述方法設(shè)計(jì)的數(shù)據(jù)轉(zhuǎn)換工具將源數(shù)據(jù)庫內(nèi)數(shù)據(jù)轉(zhuǎn)移至目標(biāo)數(shù)據(jù)庫內(nèi),并根據(jù)源數(shù)據(jù)庫設(shè)定目標(biāo)數(shù)據(jù)庫。
在數(shù)據(jù)轉(zhuǎn)換過程中,啟動(dòng)數(shù)據(jù)轉(zhuǎn)換工具中的數(shù)據(jù)調(diào)用部分,再采用息屏顯示(always on display,AOD)技術(shù)[9]連接源數(shù)據(jù)并獲取數(shù)據(jù)來源信息,根據(jù)事先設(shè)定好的數(shù)據(jù)轉(zhuǎn)換需求完成數(shù)據(jù)轉(zhuǎn)換。在此部分中,采用C語言編程的形式,控制XML數(shù)據(jù)轉(zhuǎn)換工具對數(shù)據(jù)的轉(zhuǎn)換過程。部分編程如下所示。
if(this.dgvconfig.Rows.Count>1)
//采用一對多或多對一復(fù)雜條件轉(zhuǎn)換
if(this.dgvconfig.Rows[0].Cells[0].Value.ToString()
//采用一對一數(shù)據(jù)轉(zhuǎn)換
for(inti=1;i 采用上述編程控制數(shù)據(jù)轉(zhuǎn)換過程,并將轉(zhuǎn)換數(shù)據(jù)設(shè)定為數(shù)據(jù)庫形式進(jìn)行存儲,以便后續(xù)數(shù)據(jù)處理。 在數(shù)據(jù)區(qū)域定位中,需要解決的核心問題是將XML定位描述符導(dǎo)入處理后的數(shù)據(jù)中,并通過此定位描述符確定需要抽取數(shù)據(jù)的位置。 在電力營銷數(shù)據(jù)轉(zhuǎn)換結(jié)果中,其數(shù)據(jù)多為文檔對象模型(document object model,DOM)樹結(jié)構(gòu)。這是1種數(shù)據(jù)嵌套式結(jié)構(gòu)。對此結(jié)構(gòu)進(jìn)行分析,可獲取數(shù)據(jù)轉(zhuǎn)換結(jié)果的分布特征。根據(jù)數(shù)據(jù)分布特征,將設(shè)定的XML定位描述符分為2個(gè)部分。具體內(nèi)容如下。 ①信息數(shù)據(jù)布局標(biāo)簽[10]用于劃分電力營銷數(shù)據(jù)存儲的區(qū)域,是1種容器標(biāo)簽。 ②數(shù)據(jù)內(nèi)容特征標(biāo)簽用于描述數(shù)據(jù)信息特征。通過此標(biāo)簽,可以完成數(shù)據(jù)抽取。 由于數(shù)據(jù)庫內(nèi)的數(shù)據(jù)區(qū)域是所有電力營銷信息記錄中的最小區(qū)域,因而采用自上而下的方式對數(shù)據(jù)標(biāo)簽展開檢測。范圍計(jì)算過程為: (2) 式中:L為布局標(biāo)簽的最大直徑;y為子節(jié)點(diǎn)與中心點(diǎn)的距離;v為子節(jié)點(diǎn)擴(kuò)展速度;t為完成信息數(shù)據(jù)布局所需的時(shí)間。 設(shè)定信息數(shù)據(jù)布局標(biāo)簽為z,其子節(jié)點(diǎn)中最大面積為zi,則zi滿足式(3)。 (3) 式中:area(z)為節(jié)點(diǎn)中的數(shù)據(jù)規(guī)模;α為閾值。 當(dāng)出現(xiàn)滿足上述條件的數(shù)據(jù)標(biāo)簽時(shí),采用特殊標(biāo)志對此數(shù)據(jù)進(jìn)行定位。 通過上述設(shè)計(jì),完成電力營銷數(shù)據(jù)智能抽取方法的基礎(chǔ)設(shè)計(jì)部分,并在此基礎(chǔ)上實(shí)現(xiàn)對數(shù)據(jù)抽取過程的設(shè)計(jì)。為保證數(shù)據(jù)抽取過程的可控性,對抽取過程中出現(xiàn)的字段進(jìn)行設(shè)定。數(shù)據(jù)抽取過程設(shè)定情況統(tǒng)計(jì)如表1所示。 表1 數(shù)據(jù)抽取過程設(shè)定情況統(tǒng)計(jì)表 通過表1的設(shè)定,對數(shù)據(jù)抽取過程進(jìn)行控制,并設(shè)計(jì)相應(yīng)的數(shù)據(jù)抽取規(guī)則。采用抽取規(guī)則產(chǎn)生器設(shè)定數(shù)據(jù)抽取規(guī)則。數(shù)據(jù)抽取規(guī)則生成流程如圖4所示。 圖4 數(shù)據(jù)抽取規(guī)則生成流程 將抽取規(guī)則與數(shù)據(jù)抽取過程設(shè)定相結(jié)合,引用至原有的數(shù)據(jù)抽取方法設(shè)定中,并在原有的數(shù)據(jù)抽取方法中增加相應(yīng)的數(shù)據(jù)映射[11-12]部分,以實(shí)現(xiàn)數(shù)據(jù)抽取。至此,基于XML的電力營銷數(shù)據(jù)智能抽取方法設(shè)計(jì)完成。 為驗(yàn)證基于XML的電力營銷數(shù)據(jù)智能抽取方法的有效性,設(shè)計(jì)以下仿真試驗(yàn)加以檢驗(yàn)。 為保證測試過程的有效性,設(shè)定測試中使用的設(shè)備與軟件的運(yùn)行環(huán)境如下所示。 開發(fā)環(huán)境為Visual Basic.NET。 運(yùn)行環(huán)境為Win 10.0系統(tǒng)。 近年來,電力營銷系統(tǒng)受到信息入侵的情況比比皆是。為了提升電力營銷系統(tǒng)的數(shù)據(jù)抽取安全性,在測試過程中,將測試環(huán)境分為平穩(wěn)運(yùn)行環(huán)境與存在入侵?jǐn)?shù)據(jù)環(huán)境這2種狀態(tài),以觀察在安全程度不同的環(huán)境下的電力營銷數(shù)據(jù)抽取有效性。 為進(jìn)一步對比基于XML的電力營銷數(shù)據(jù)智能抽取方法的使用性能,將其與傳統(tǒng)的基于POI優(yōu)化的數(shù)據(jù)抽取方法、基于可變時(shí)間窗口的數(shù)據(jù)抽取方法作對比。 在測試的過程中,采用某地級市電力營銷系統(tǒng)中的數(shù)據(jù)作為測試數(shù)據(jù)來源。設(shè)定此次測試數(shù)據(jù)訓(xùn)練集中共包含數(shù)據(jù)20 000條,采用上述3種方法對其中的電力交易數(shù)據(jù)進(jìn)行抽取,并對比3種方法的抽取效果。 在此次測試中,將數(shù)據(jù)抽取結(jié)果的召回率以及數(shù)據(jù)抽取過程的耗時(shí)作為測試指標(biāo)。其中,召回率是反映數(shù)據(jù)抽取效果的重要指標(biāo),可以反映數(shù)據(jù)抽取方法的抽取精度。召回率越低,說明抽取精度越高。根據(jù)數(shù)據(jù)抽取過程的耗時(shí),可以判斷不同方法的運(yùn)行效率。耗時(shí)越短,則表明數(shù)據(jù)抽取方法的效率越高。 平穩(wěn)運(yùn)行狀態(tài)下召回率測試結(jié)果如圖5所示。 圖5 平穩(wěn)運(yùn)行狀態(tài)下召回率測試結(jié)果 分析圖5可知,在平穩(wěn)運(yùn)行狀態(tài)下,隨著待抽取數(shù)據(jù)總量的不斷增加,不同方法抽取結(jié)果的召回率也在不斷變化。基于XML的數(shù)據(jù)抽取方法的召回率在4%上下。基于POI優(yōu)化的數(shù)據(jù)抽取方法的召回率介于9%~13%之間?;诳勺儠r(shí)間窗口的數(shù)據(jù)抽取方法的召回率介于8%~11%之間。相比之下,本文設(shè)計(jì)的基于XML的數(shù)據(jù)抽取方法的召回率更低,說明該方法對電力營銷數(shù)據(jù)抽取的精度更高。 數(shù)據(jù)入侵狀態(tài)下召回率測試結(jié)果如圖6所示。 圖6 數(shù)據(jù)入侵狀態(tài)下召回率測試結(jié)果 由圖6可知,在數(shù)據(jù)入侵狀態(tài)下,隨著待抽取數(shù)據(jù)總量的不斷增加,不同方法抽取結(jié)果的召回率也在不斷變化。相比于平穩(wěn)運(yùn)行狀態(tài),此時(shí)基于XML的數(shù)據(jù)抽取方法的召回率有所增加,但也始終保持在7%之下。基于POI優(yōu)化的數(shù)據(jù)抽取方法的召回率基本在12%~15%之間?;诳勺儠r(shí)間窗口的數(shù)據(jù)抽取方法的召回率在8%~11%之間。相比之下,本文設(shè)計(jì)的基于XML的數(shù)據(jù)抽取方法的召回率依舊較低,說明該方法對電力營銷數(shù)據(jù)抽取的精度也更高。 在上述檢驗(yàn)不同方法抽取結(jié)果召回率的基礎(chǔ)上,將數(shù)據(jù)抽取過程耗時(shí)作為檢驗(yàn)指標(biāo)進(jìn)行測試。數(shù)據(jù)抽取過程耗時(shí)測試結(jié)果如圖7所示。 圖7 數(shù)據(jù)抽取過程耗時(shí)測試結(jié)果 由圖7可知,隨著待抽取數(shù)據(jù)總量的不斷增加,不同方法的抽取過程耗時(shí)也在不斷變化?;赬ML的數(shù)據(jù)抽取方法的抽取過程耗時(shí)始終保持在800 ms以下?;赑OI優(yōu)化的數(shù)據(jù)抽取方法的抽取過程耗時(shí)先增加后下降,最大耗時(shí)達(dá)到1 200 ms?;诳勺儠r(shí)間窗口的數(shù)據(jù)抽取方法的抽取過程耗時(shí)呈不斷增加態(tài)勢,最大超過1 400 ms。相比之下,本文設(shè)計(jì)的基于XML的數(shù)據(jù)抽取方法的抽取過程耗時(shí)更少,說明該方法對電力營銷數(shù)據(jù)的抽取效率更高。 針對傳統(tǒng)的數(shù)據(jù)抽取方法在使用中存在的抽取結(jié)果召回率偏高的問題,本文引用XML技術(shù)優(yōu)化電力營銷數(shù)據(jù)抽取過程。在此次研究中,主要完成了以下工作:首先,對電力營銷源數(shù)據(jù)采用小規(guī)模鏈接的形式,并獲取數(shù)據(jù)源信息,從根本上提升數(shù)據(jù)抽取的精度;然后,通過XML技術(shù),控制數(shù)據(jù)的區(qū)域定位;最后,通過測試確定了基于XML的電力營銷數(shù)據(jù)智能抽取方法的可靠性。1.3 數(shù)據(jù)區(qū)域定位
1.4 數(shù)據(jù)抽取
2 試驗(yàn)測試與結(jié)果分析
2.1 測試環(huán)境與內(nèi)容
2.2 測試指標(biāo)設(shè)定
2.3 平穩(wěn)運(yùn)行狀態(tài)下的測試結(jié)果
2.4 數(shù)據(jù)入侵狀態(tài)下召回率測試結(jié)果
2.5 數(shù)據(jù)抽取過程耗時(shí)測試結(jié)果
3 結(jié)論