馬曉亭(蘭州財經大學信息工程學院)
目前,圖書館界已進入大數據時代。大數據具有數據體量巨大(Volume)、處理速度快(Velocity)、價值密度低(Value)、數據類型繁多(Variety)的4個“V”特性[1]。據統計,大型數據庫中數據的錯誤率約為5%[2],且數據清洗時間約占大數據分析總時間的60%~80%[3]。大量臟數據(Dirty data)的存在,嚴重影響了圖書館數據分析、知識發現和數據決策的正確與實效[4]。因此,如何精準、高效、實時和低成本地完成對圖書館大數據庫中臟數據的清洗,是關系提升圖書館大數據價值密度和可用性,增強智慧服務決策科學性與讀者個性化服務質量的關鍵。
臟數據(Dirty Data)是指源系統中的數據不在給定的范圍內,或對于實際業務毫無意義,或是數據格式非法、過時、不完整、不準確的任何類型的電子數據,或者源系統中存在不規范的編碼或含糊的業務邏輯。圖書館中的臟數據可能是由于數據采集錯誤、人員錄入錯誤、未能定期更新數據或重復采集而產生的。臟數據的存在嚴重降低了圖書館大數據的價值密度、決策科學性和經濟性,以及讀者個性化閱讀服務的智能化、實時性和專屬定制水平[5]。圖書館臟數據的類型與表現種類如表1所示。

表1 圖書館臟數據的類型與表現分類表
臟數據主要由缺失數據、錯誤數據、數據重復、不一致數據、噪聲數據等5部分組成,是關系圖書館大數據決策智慧化水平和讀者個性化服務滿意度的關鍵。因此,圖書館必須加強臟數據的管理與清洗工作。
“摩爾定律”告訴我們,集成電路芯片上所集成電路的數目,每隔18個月就翻一番。同時,微處理器的性能每隔18個月提高一倍,而價格下降一半。因此,數據采集與處理設備性能的提升和采購價格的大幅下降,在提升了圖書館大數據獲取能力的同時,有效降低了數據獲取的成本,支持圖書館全方位、不間斷地采集相關大數據,最終提升了圖書館大數據庫的數據總價值與大數據決策的能力,但也導致圖書館大數據總量呈現指數級增長和價值密度急劇下降的現象[6]。
圖書館主要通過視頻監控設備、傳感器網絡、個人數字閱讀PDA、網絡服務器、視頻監控設備等采集大數據,所采集的數據除包括圖書館企業資源計劃數據、財務管理系統數據、數字文獻管理信息系統數據、讀者信息與服務管理系統數據等結構化數據之外,還包括諸如網頁、文本、圖像、視頻、語音之類的非結構型數據,且非結構化數據占據圖書館數據總量的80%以上,錯綜復雜的數據采集對象、方式和環境是圖書館臟數據大量產生的主要原因。具體原因有以下幾方面。①圖書館通過大量的射頻識別(RFID)設備實現了對讀者身份認證、個人移動路徑、讀者地理位置信息、查閱管理和圖書館安全管控等數據的不間斷采集,物理電磁復雜環境和設備使用人員的不規范操作導致臟數據的產生[7]。②視頻監控設備、傳感器網絡、個人數字閱讀PDA、網絡服務器、視頻監控設備等大數據采集設備的標準化程度、設備故障、人為原因,以及異構系統的系統兼容性、友好性與可操控性也是導致圖書館臟數據產生的原因。③所采集大數據的標準化、科學性、傳輸與存儲方法合理性、異構系統的兼容性等,也是導致臟數據產生的重要因素。
1.3.1 將不規整數據轉化為規整數據
圖書館大數據采集終端設備存在著設備類型多樣、數據采集標準不統一的特點,且設備網絡拓撲結構以分布式結構存在,所采集的數據在數據結構、類型和邏輯上呈現不規整的狀態。因此,必須依據圖書館大數據決策需求和讀者個性化智慧閱讀場景需要,通過科學的數據清洗流程對所采集的大數據在數據格式、標準、邏輯和處理流程上進行統一,并對存在于規整數據中的隨機噪聲數據進行平滑、過濾和刪除,只有這樣才能確保決策大數據高價值、標準化、可應用和無差錯。
1.3.2 對數據進行審查和校驗
圖書館在大數據的采集中,由于數據采集設備和用戶閱讀終端的多樣性,導致大數據庫中部分數據呈現重復疊加的現象,這些重復數據不但增加了大數據庫的存儲負荷,也增加了大數據處理、分析和決策系統的應用負擔,最終導致圖書館大數據決策的準確性、實時性、經濟性和可控性降低。因此,必須有效刪除大數據庫中的重復數據。此外,圖書館不同的大數據決策分析對數據的類型、結構和精確度要求不同,因此必須以圖書館大數據決策需求為依據,在不影響數據一致性、精確性、完整性和有效性的前提下,通過對數據的審查和校驗來消除數據異常,最終實現數據的集成、清洗與標準化。
1.3.3 標準化數據的格式與類型
圖書館大數據決策具有海量、實時、快速和動態的需求,其大數據庫數據格式與類型標準化的程度直接關系大數據處理、挖掘、分析、機器學習、決策、可視化等流程的正確、實時和可用。因此,必須通過對大數據的科學分解、重組和標準化處理,才能得到標準、干凈、實時和連續的大數據資源[7]。
標準化數據所涉及的內容主要包括數據來源統一、格式統一、類型統一、表現形式統一、單位度量統一、存儲與調用方式統一、處理與分析流程統一等方面,而其中最大的挑戰與難點是海量流數據格式與類型的統一。流數據具有海量、動態、多源異構、高維度和強時空相關性的特點,是讀者個性化智慧閱讀實時服務最重要的決策依據,其數據標準化水平的高低直接關系圖書館大數據決策的科學性、準確性、高效性、即時性和個性化的程度,因此必須通過流數據的動態、實時、快速和準確清洗,才能保證讀者具有較高的個性化閱讀滿意度[8]。
圖書館大數據的清洗應堅持從數據的生命周期流程管理出發,以圖書館大數據決策科學性、智慧性、實時性和經濟性為目的,保證清洗后的大數據準確、完整、一致、唯一、合理、適時、可用和高價值,如此才能夠為圖書館大數據決策提供高質量的數據支持。本文設計的基于大數據決策質量反饋控制的圖書館大數據清洗流程如圖1所示。

圖1 基于大數據決策質量反饋控制的圖書館大數據清洗流程圖
從圖書館大數據決策生命周期管理流程劃分,數據清洗的層次結構可分為數據資源庫層、數據評估層、數據清洗層和數據決策質量評估反饋控制層等四個層次。
(1)數據資源庫層是大數據資源的存儲層,依據圖書館大數據的結構模式、價值屬性、決策類型、存儲方式和安全管理需求,分別以分布式存儲于資源計劃數據庫、數字文獻管理信息系統數據庫、讀者閱讀行為相關數據庫、圖書館管理與運行數據庫、相關流數據庫中,同時確保大數據存儲安全、高性能、易擴展和低功耗[9]。
(2)大數據評估層位于系統的第二層,負責完成大數據清洗前的數據質量評估。數據評估層主要依據圖書館大數據應用實際需求,對大數據的準確性、一致性、時效性和完整性等四個方面進行評估。評估內容主要包括數據是否異常與錯誤、格式是否統一、能否實時動態反映當前的系統服務與讀者閱讀情景、數據是否存在缺失值。數據評估標準是隨著圖書館大數據決策的智能化、個性化、實時性、經濟性需求變化而動態變化,數據質量評估標準的高低與圖書館大數據清洗的效果成正比例關系,而與數據清洗系統的資源損耗和經濟性成反比例關系。
(3)第三層是數據清洗層。首先,按照大數據標準化模式要求對缺失的數據內容進行填補,以增強缺失大數據的價值屬性。其次,通過內容清洗、數據邏輯錯誤清洗、非需求數據清洗、數據關聯性驗證、噪聲信號處理等操作,將清洗后的標準大數據傳輸給大數據應用系統,為圖書館大數據決策與讀者個性化智慧閱讀服務提供可靠的數據支持。數據清洗層的清洗規則和程度是隨著圖書館大數據應用要求的不同而動態變化的,復雜的數據清洗規則將會消耗更多的清洗時間和系統資源。因此,圖書館必須制定恰當的數據清洗策略,才能確保清洗流程在效率、質量、時間和成本方面的綜合評估結果最優化[10]。
(4)反饋控制層為系統的第四層。經過清洗的干凈數據傳輸到大數據決策與應用層并進行數據的處理、分析、價值提取、大數據決策后,數據應用質量評估層結合讀者對個性化閱讀服務的滿意度,對大數據決策的科學性、有效性、經濟性和實時性進行評估,并將評估結果傳輸到數據清洗反饋控制模塊。如果評估結果不能滿足圖書館大數據決策需求,數據清洗反饋控制模塊則通過反饋控制來修改、完善大數據的評估標準和數據清洗規則,并通過二次清洗進一步提高決策大數據的數據質量、可用性和安全性。
2.2.1 大數據缺失值的清洗
圖書館大數據的缺失主要是由數據終端采集設備采集過程中的數據丟失、人工錄入數據失誤而發生的缺失,以及數據在傳輸、存儲和調度等過程中發生的缺失等情況造成。終端采集數據的缺失可通過對終端設備完善、升級和軟件優化等措施避免,人工錄入數據缺失可通過錯誤碼校驗、必填項控制及人工補錄等方式完善。
在圖書館大數據應用中,缺失值的存在是不可避免的,特別是當缺失值非隨機出現且變量之間強相關性時,不同的數據清理處理策略會得到不同的數據質量。因此,對于無效缺失值或者低價值、低樣本比重、弱相關性的缺失值可以直接刪除缺失值。如果缺失數據呈現高價值、高相關性和多維度時,可采取人工填補遺漏值、利用均值填補遺漏值、預測值填補遺漏值的方式,確保缺失數據完整、高價值、可應用和可控制。
2.2.2 大數據格式與內容的清洗
圖書館為了提升讀者個性化閱讀服務推送的精準性、時效性,必須大量采集讀者每日的移動路徑信息、閱讀終端信息、閱讀內容信息、閱讀習慣信息、閱讀時間信息、地理位置信息等,通過對每日閱讀大數據的清洗和關聯計算,預測未來某日、某時間段讀者的閱讀需求,進而自動選擇相應的閱讀內容和閱讀模式向讀者實時推薦,來滿足讀者的閱讀需求和提升閱讀滿意度。圖書館采集的讀者個人閱讀數據具有多終端采集、多模式和離散性強的特點。因此,圖書館必須依據讀者個性化閱讀大數據決策的需求,將數據進行標準化統一,并為不同的數據變量分配相應的權重比例,通過每個數據點減去所有數據平均值的方法處理離群點,防止離散數據偏差而導致大數據決策準確性降低[11]。其次,對于多終端、多人員、多對象采集的數據,應通過格式清洗的方式確保數據在時間、日期、數值、全半角等顯示格式上一致,并刪除數據在格式內容上不存在和多余的字符。再次,對于多終端采集或者人員多次錄入的重復數據,可采取相同的關鍵信息匹配方法去重,也可以通過主鍵進行去重。
2.2.3 異常大數據的清洗
在圖書館大數據應用過程中,過度超出數據采集范圍區間、規律、規則,或者與平均數據差異較大的數據稱為異常數據。如,圖書館某日采集的一位讀者閱讀興趣數據,該讀者的閱讀內容、時間、習慣等與平日采集數據均值有較大差異性,這可能是他人利用該讀者的閱讀終端與用戶賬號登錄服務系統而產生的數據,此類數據對判定該讀者的閱讀行為沒有參考價值和統計意義。又如,某日網絡監控設備發現圖書館服務器TCP隊列滿,并且CPU負荷快速升高、內存過載而導致服務器宕機,嚴重影響了服務器的服務性能,而這種遠遠超出日常在線用戶平均數的統計大數據則十分有價值,通過大數據分析可以得出服務器可能正在受到DDoS攻擊,因此可由大數據決策系統構建相應的防御策略進行防御[11]。對于異常大數據的清洗可以通過構建相應的規則庫實現,規則庫必須以常識性規則、業務規則和數據關聯規則等進行科學判定,而不是對大幅度偏離平均值的數據簡單刪除或者修改。此外,異常大數據的清洗規則必須隨著大數據決策系統的智慧自主學習而動態變化,并不斷提升數據清洗的智能和自動化水平。
2.2.4 噪聲大數據的清洗
圖書館大數據采集具有多終端、多用戶、不間斷和全方位的特點,圖書館大數據除具有大數據的4“V”特性外,還具備高維度、多變量數據、大規模和高增長的特性。由于采集設備、方法、對象、時間、流程和軟件程序科學性的缺陷,所采集的大數據存在著錯誤、失真、異常和無關的數據,這些數據大幅度增加了數據存儲、處理、分析和決策的難度,也將大幅度影響決策大數據的收斂速度,降低圖書館大數據決策模型的科學性、準確性和可靠性。因此,圖書館必須加強對噪聲數據的清洗[1]。①對于圖書館數據庫中存在的與大數據決策無關,甚至明顯錯誤的數據,可由圖書館工作人員依據自身的業務知識人工處理即可。②對于正態分布的大數據,可以利用3個標準差原則進行去噪,或使用四分位差進行去噪。③對于偏態分布數據可以采用分箱處理的方法,按照屬性值劃分子區間。如果一個屬性值處于某個子區間范圍內,就把該屬性值放進這個子區間所代表的“箱子”內。把待處理的數據按照一定的規則放進一些箱子中,考察每一個箱子中的數據,采用某種方法分別對各個箱子中的數據進行規則處理,最后再對每個箱子中的數據進行平滑處理。④圖書館員可將類型、結構和決策對象相同的數據,按照數據的內在性質將數據分成一些聚合類,每一聚合類中的元素盡可能具有相同的特性,而不同聚合類之間的特性差別盡可能大。這些聚類集合之外的數據即為噪聲數據,應對這些孤立點進行刪除或替換。⑤對于兩個或者多個相關變量數據,可通過構造回歸函數的方式,確保該函數能夠更大程度地滿足兩個變量之間的關系,并使用這個函數來平滑數據。
為了精準、高效、實時和低成本地完成圖書館大數據的清洗工作,圖書館首先必須認識到數據治理工作的重要性、復雜性和長期性,應構建標準化、動態和持續優化的數據清洗流程,同時根據圖書館大數據決策系統資源配置實際,制定恰當的大數據清洗流程與標準,并依據大數據應用決策需求變化對數據清洗算法、數據清洗對象、清洗精確度進行完善與優化,才能保證圖書館在大數據分析決策需求、系統資源損耗、決策實時性和總體經濟性上最優;其次,圖書館必須堅持人工清洗和設備自動化清洗相結合的原則,利用數理統計、數據挖掘、語義分析或預定義的清理規則,提升對特殊臟數據清洗的效率與準確性;再次,圖書館在數據清洗關系模型的設計中,應堅持簡單、高效和低系統資源損耗的原則,實現數據清洗模型的復雜性、資源損耗率、時效性和數據分析結果準確性之間的最佳平衡。