貴州泛亞信通網絡科技有限公司 尹國麗
人工智能在數據清洗中的應用
貴州泛亞信通網絡科技有限公司尹國麗
數據質量關系到信息系統的運行與建立,以及運用有效性,為保證數據質量,需采取數據清洗的方法進行處理,以去除不良信息。融入了現代人工智能科技的數據清洗,不僅能夠更加有效地整理數據,還大大提高了工作效率,因而得到重視。本文探討了該技術在數據清洗中的實際應用,以供參考。
人工智能;數據清洗;應用
在采集數據后,由于所采集的原始數據中,往往會包含大量的無效數據,因此需要在將數據投入實際運用之前進行過濾和清洗。由于新獲取數據需要進行合法性檢查、通過數據分析格式轉換,采取人工智能的方式,不僅能夠獲得實用有效的數據信息,還提高了數據清洗的效率,是值得推廣的現代科技。
所謂數據清洗,指的是及時發現并糾正存在于數據文件中可識別錯誤的方法,以維持數據的一致性,從而對數據錄入后的缺失值、無效值等進行處理,去除其中不符合需求的信息。
2.1數據一致性檢查
數據的一致性檢查,指的是依據每個變量之間的相互關系、取值范圍等,對數據的合理性進行檢查,進而去除其中超出正常范圍或邏輯不符合要求的數據信息。而邏輯不一致的情況下,數據信息仍然可以多種方式存在,例如:人員基本信息中的出生日期、身份證號碼等,一旦發現不同,就需要及時記錄并糾正。
2.2無效值與缺失值處理
無效值與缺失值處理方法如下:(1)估計,利用其他變量值,代替無效值或缺失值,操作簡單,但容易產生較大誤差;或依據該對象的其他數據,通過邏輯推論實現估計。(2)整列刪除,即是將含有缺失值或無效值的數據直接刪除,但是容易導致數據樣本大量丟失,造成該部分的數據都無法利用。(3)變量刪除,如果某一變量存在的缺失值較多,但是該變量并不是特別重要的,因此可考慮將其直接刪除。
3.1數據清洗的原理
通常進行數據清洗時,依據的原理在于運用相關技術,嚴格按照預先定義的清理規則,將原始采集的,尚未經過清洗的臟數據,轉化成為能夠滿足數據質量要求的數據,其原理如圖1所示。

圖1 數據清洗原理
3.2數據清洗的方法
正常情況下,數據清洗方法通常是首先將數據庫中的重復數據進行刪除,然后轉換余下的數據,經過一系列清洗步驟,將數據整理為所需要的格式,最終輸出使用。數據清洗要點在于保證期準確性、完整性、一致性與有效性。而在針對具體應用時,由于很難將其歸納為統一的方法或程序,因此需要依據實際情況和數據差異,采取相應的處理方法。(1)對于一些存在缺失問題的數據,則需要首先從其他數據源為依據進行推導,然后運用一定的推導方法,將數據導入;而對于可以直接采用手工方式填入的數據,即可采取手工填入。(2)針對錯誤值,則可以運用統計分析的方法,識別其中存在的錯誤值、異常值等,或者采用常識性的規則,對其進行檢測與清理。(3)被判定為重復記錄的,通常是記錄為屬性值完全相同的數據,因此在消除此類數據時,同樣需要通過判斷其屬性值,從而得到重復數據,進而采取合并或清除措施。(4)不一致性的檢測及解決方法,可以通過定義數據的完整性約束來檢測數據的不一致性,也可以通過分析數據發現聯系,從而使數據保持一致。
4.1人工智能
人工智能即機器智能,即對人的意識、行為、思維信息過程等進行模擬,使其具有人工智能功能,進而代替人完成危險性、復雜性或機械性突出的任務,提升工作的效率和質量,將人工智能應用于計算機網絡技術中與人工智能自身的優勢具有密切的關系。
4.2CATT數據清洗方案的整體實現
4.2.1文本識別方法的實現
在使用C語言進行文本識別貝葉斯學習算法的開發時,能夠為將來的數據使用和移植,提供重要的操作平臺,而其中需要重視的要點就在于移植后的重新編譯環節。讀取csv文件的部分,最后采用了Per15來進行編寫,其原因有以下方面:(1)Per15屬于一種腳本語言,其開發的難度相較于其他模式而言較低;(2)Per15便于跨平臺實施,只要預先在最終平臺上,設置Active Perl以及相應的庫,即可運行;(3)Perl能夠利用數據庫的DBI接口,從而直接與操作數據表一樣,進行csv文件的相關操作,從而便于開發。
在perl程序中讀取csv文件,并通過文本識別程序naive少yes,判斷目標值是否正確,其具體方法如圖2所示。

圖2 人工智能清洗代碼片斷
一般情況下,在項目進行試運行的初期階段,約12個星期的時間內,可以將閥值定為95%,即控制$result值大于或等于95%時,被認為是正確的數據,此時就會通過DBI將其寫入IAPP013 APPL EMAIL. csv文件中;而如果$result值小于95%時,則會將其寫入IAPP013-PPLMAIL_suspicion.csv文件中,以待采取進一步的處理措施。
4.2.2清洗工作流程方案(見圖3)

圖3 清洗工作流程
在通過元數據管理清洗方式,依據CATT主題的特殊需求,首先需要對IAPP013 APPL EMAIL.csv文件進行清洗,即通過人工智能的方式,將desired location字段進行清洗,然后針對其中所有的
數據文件等,采取同樣的清洗過程。在實施清洗的初始階段,需要引入相應的數據清洗模塊,以此解決該數據主題以及該字段所存在的特殊需求。在經過該模塊對源文件的清洗之后,將會產生兩個文件,其中一個文件所包含的,是所有符合正確條件的數據,因此可以用這些數據替換數據池中的IAPPO 13 APPL EMAIL.csv文件;而另外一個文件,則包含的是所有未能通過清洗認證的,存在問題的可疑數據。此時,維護人員將會收到E-mail的通知,要求將這些可疑數據文件,采取人工識別的方式進行整理檢查,并且將其中的正確數據、錯誤數據等,分別添加到之前分好的正確和錯誤的數據樣本庫中。該過程的必要性,主要是由于人工智能模塊實際運行處于試驗階段,而隨著人工智能的運用能夠日漸熟練并適應之后,維護人員所需要采取的人工干涉將會越來越少,最終達在能夠達到數據處理特殊需求的同時,提高工作效率。

圖4 系統運行環境結構
就整體框架而言,清洗過程本身及其所包括的表、視圖、存儲過程等,均被儲存于元數據庫中,運用SQL Server2000管理界面,用戶可以瀏覽并更新相關數據,進而更新代碼并編輯各對象的元數據,為元數據庫定制相應的界面,實現用戶管理。
清洗邏輯則需要依據字典中的相關記錄,針對其中的臟數據采取清洗措施。所對應的元數據模型主要由存儲過程來實現,而元數據中所儲存的,對于何種記錄的清洗與被清洗成何種值等,其中的儲存信息通常用表或視圖的形式實現。
項目小組需要將清洗模塊安置于一臺開發用的服務器上,即Linux服務器,所使用的操作系統為Suse Linux 10,而后期進行清洗的部分,則與其他的數據主題一樣,放置于一臺開發用SQL Server服務器上,而將數據池放置于Folsom的服務器上,這整個系統的運行環境如圖4所示。
在生產業務不斷拓展,生產管理、技術質量以及財務成本等各個方面相關數據隨之產生,為了得到準確明晰的參考數據,進行數據清洗至關重要。通過將人工智能的清洗方法融入其中,智能去除其中的錯誤數據或重復數據,有效保證了數據質量,為數據在后期的使用中提供可靠的依據。
[1]趙姝穎.人工智能技術在科技傳播中的應用探索[J].機器人技術與應用,2014(1):37-41.
[2]楊東華,李寧寧,王宏志,等.基于任務合并的并行大數據清洗過程優化[J].計算機學報,2016(01):97-108.
[3]羅強,何利力,王曉菲.數據倉庫中數據清洗技術分析[J].電腦編程技巧與維護,2015(2):61-61.