貴州泛亞信通網(wǎng)絡(luò)科技有限公司 尹國(guó)麗
人工智能在數(shù)據(jù)清洗中的應(yīng)用
貴州泛亞信通網(wǎng)絡(luò)科技有限公司尹國(guó)麗
數(shù)據(jù)質(zhì)量關(guān)系到信息系統(tǒng)的運(yùn)行與建立,以及運(yùn)用有效性,為保證數(shù)據(jù)質(zhì)量,需采取數(shù)據(jù)清洗的方法進(jìn)行處理,以去除不良信息。融入了現(xiàn)代人工智能科技的數(shù)據(jù)清洗,不僅能夠更加有效地整理數(shù)據(jù),還大大提高了工作效率,因而得到重視。本文探討了該技術(shù)在數(shù)據(jù)清洗中的實(shí)際應(yīng)用,以供參考。
人工智能;數(shù)據(jù)清洗;應(yīng)用
在采集數(shù)據(jù)后,由于所采集的原始數(shù)據(jù)中,往往會(huì)包含大量的無(wú)效數(shù)據(jù),因此需要在將數(shù)據(jù)投入實(shí)際運(yùn)用之前進(jìn)行過(guò)濾和清洗。由于新獲取數(shù)據(jù)需要進(jìn)行合法性檢查、通過(guò)數(shù)據(jù)分析格式轉(zhuǎn)換,采取人工智能的方式,不僅能夠獲得實(shí)用有效的數(shù)據(jù)信息,還提高了數(shù)據(jù)清洗的效率,是值得推廣的現(xiàn)代科技。
所謂數(shù)據(jù)清洗,指的是及時(shí)發(fā)現(xiàn)并糾正存在于數(shù)據(jù)文件中可識(shí)別錯(cuò)誤的方法,以維持?jǐn)?shù)據(jù)的一致性,從而對(duì)數(shù)據(jù)錄入后的缺失值、無(wú)效值等進(jìn)行處理,去除其中不符合需求的信息。
2.1數(shù)據(jù)一致性檢查
數(shù)據(jù)的一致性檢查,指的是依據(jù)每個(gè)變量之間的相互關(guān)系、取值范圍等,對(duì)數(shù)據(jù)的合理性進(jìn)行檢查,進(jìn)而去除其中超出正常范圍或邏輯不符合要求的數(shù)據(jù)信息。而邏輯不一致的情況下,數(shù)據(jù)信息仍然可以多種方式存在,例如:人員基本信息中的出生日期、身份證號(hào)碼等,一旦發(fā)現(xiàn)不同,就需要及時(shí)記錄并糾正。
2.2無(wú)效值與缺失值處理
無(wú)效值與缺失值處理方法如下:(1)估計(jì),利用其他變量值,代替無(wú)效值或缺失值,操作簡(jiǎn)單,但容易產(chǎn)生較大誤差;或依據(jù)該對(duì)象的其他數(shù)據(jù),通過(guò)邏輯推論實(shí)現(xiàn)估計(jì)。(2)整列刪除,即是將含有缺失值或無(wú)效值的數(shù)據(jù)直接刪除,但是容易導(dǎo)致數(shù)據(jù)樣本大量丟失,造成該部分的數(shù)據(jù)都無(wú)法利用。(3)變量刪除,如果某一變量存在的缺失值較多,但是該變量并不是特別重要的,因此可考慮將其直接刪除。
3.1數(shù)據(jù)清洗的原理
通常進(jìn)行數(shù)據(jù)清洗時(shí),依據(jù)的原理在于運(yùn)用相關(guān)技術(shù),嚴(yán)格按照預(yù)先定義的清理規(guī)則,將原始采集的,尚未經(jīng)過(guò)清洗的臟數(shù)據(jù),轉(zhuǎn)化成為能夠滿足數(shù)據(jù)質(zhì)量要求的數(shù)據(jù),其原理如圖1所示。
圖1 數(shù)據(jù)清洗原理
3.2數(shù)據(jù)清洗的方法
正常情況下,數(shù)據(jù)清洗方法通常是首先將數(shù)據(jù)庫(kù)中的重復(fù)數(shù)據(jù)進(jìn)行刪除,然后轉(zhuǎn)換余下的數(shù)據(jù),經(jīng)過(guò)一系列清洗步驟,將數(shù)據(jù)整理為所需要的格式,最終輸出使用。數(shù)據(jù)清洗要點(diǎn)在于保證期準(zhǔn)確性、完整性、一致性與有效性。而在針對(duì)具體應(yīng)用時(shí),由于很難將其歸納為統(tǒng)一的方法或程序,因此需要依據(jù)實(shí)際情況和數(shù)據(jù)差異,采取相應(yīng)的處理方法。(1)對(duì)于一些存在缺失問(wèn)題的數(shù)據(jù),則需要首先從其他數(shù)據(jù)源為依據(jù)進(jìn)行推導(dǎo),然后運(yùn)用一定的推導(dǎo)方法,將數(shù)據(jù)導(dǎo)入;而對(duì)于可以直接采用手工方式填入的數(shù)據(jù),即可采取手工填入。(2)針對(duì)錯(cuò)誤值,則可以運(yùn)用統(tǒng)計(jì)分析的方法,識(shí)別其中存在的錯(cuò)誤值、異常值等,或者采用常識(shí)性的規(guī)則,對(duì)其進(jìn)行檢測(cè)與清理。(3)被判定為重復(fù)記錄的,通常是記錄為屬性值完全相同的數(shù)據(jù),因此在消除此類數(shù)據(jù)時(shí),同樣需要通過(guò)判斷其屬性值,從而得到重復(fù)數(shù)據(jù),進(jìn)而采取合并或清除措施。(4)不一致性的檢測(cè)及解決方法,可以通過(guò)定義數(shù)據(jù)的完整性約束來(lái)檢測(cè)數(shù)據(jù)的不一致性,也可以通過(guò)分析數(shù)據(jù)發(fā)現(xiàn)聯(lián)系,從而使數(shù)據(jù)保持一致。
4.1人工智能
人工智能即機(jī)器智能,即對(duì)人的意識(shí)、行為、思維信息過(guò)程等進(jìn)行模擬,使其具有人工智能功能,進(jìn)而代替人完成危險(xiǎn)性、復(fù)雜性或機(jī)械性突出的任務(wù),提升工作的效率和質(zhì)量,將人工智能應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)中與人工智能自身的優(yōu)勢(shì)具有密切的關(guān)系。
4.2CATT數(shù)據(jù)清洗方案的整體實(shí)現(xiàn)
4.2.1文本識(shí)別方法的實(shí)現(xiàn)
在使用C語(yǔ)言進(jìn)行文本識(shí)別貝葉斯學(xué)習(xí)算法的開發(fā)時(shí),能夠?yàn)閷?lái)的數(shù)據(jù)使用和移植,提供重要的操作平臺(tái),而其中需要重視的要點(diǎn)就在于移植后的重新編譯環(huán)節(jié)。讀取csv文件的部分,最后采用了Per15來(lái)進(jìn)行編寫,其原因有以下方面:(1)Per15屬于一種腳本語(yǔ)言,其開發(fā)的難度相較于其他模式而言較低;(2)Per15便于跨平臺(tái)實(shí)施,只要預(yù)先在最終平臺(tái)上,設(shè)置Active Perl以及相應(yīng)的庫(kù),即可運(yùn)行;(3)Perl能夠利用數(shù)據(jù)庫(kù)的DBI接口,從而直接與操作數(shù)據(jù)表一樣,進(jìn)行csv文件的相關(guān)操作,從而便于開發(fā)。
在perl程序中讀取csv文件,并通過(guò)文本識(shí)別程序naive少yes,判斷目標(biāo)值是否正確,其具體方法如圖2所示。
圖2 人工智能清洗代碼片斷
一般情況下,在項(xiàng)目進(jìn)行試運(yùn)行的初期階段,約12個(gè)星期的時(shí)間內(nèi),可以將閥值定為95%,即控制$result值大于或等于95%時(shí),被認(rèn)為是正確的數(shù)據(jù),此時(shí)就會(huì)通過(guò)DBI將其寫入IAPP013 APPL EMAIL. csv文件中;而如果$result值小于95%時(shí),則會(huì)將其寫入IAPP013-PPLMAIL_suspicion.csv文件中,以待采取進(jìn)一步的處理措施。
4.2.2清洗工作流程方案(見(jiàn)圖3)
圖3 清洗工作流程
在通過(guò)元數(shù)據(jù)管理清洗方式,依據(jù)CATT主題的特殊需求,首先需要對(duì)IAPP013 APPL EMAIL.csv文件進(jìn)行清洗,即通過(guò)人工智能的方式,將desired location字段進(jìn)行清洗,然后針對(duì)其中所有的
數(shù)據(jù)文件等,采取同樣的清洗過(guò)程。在實(shí)施清洗的初始階段,需要引入相應(yīng)的數(shù)據(jù)清洗模塊,以此解決該數(shù)據(jù)主題以及該字段所存在的特殊需求。在經(jīng)過(guò)該模塊對(duì)源文件的清洗之后,將會(huì)產(chǎn)生兩個(gè)文件,其中一個(gè)文件所包含的,是所有符合正確條件的數(shù)據(jù),因此可以用這些數(shù)據(jù)替換數(shù)據(jù)池中的IAPPO 13 APPL EMAIL.csv文件;而另外一個(gè)文件,則包含的是所有未能通過(guò)清洗認(rèn)證的,存在問(wèn)題的可疑數(shù)據(jù)。此時(shí),維護(hù)人員將會(huì)收到E-mail的通知,要求將這些可疑數(shù)據(jù)文件,采取人工識(shí)別的方式進(jìn)行整理檢查,并且將其中的正確數(shù)據(jù)、錯(cuò)誤數(shù)據(jù)等,分別添加到之前分好的正確和錯(cuò)誤的數(shù)據(jù)樣本庫(kù)中。該過(guò)程的必要性,主要是由于人工智能模塊實(shí)際運(yùn)行處于試驗(yàn)階段,而隨著人工智能的運(yùn)用能夠日漸熟練并適應(yīng)之后,維護(hù)人員所需要采取的人工干涉將會(huì)越來(lái)越少,最終達(dá)在能夠達(dá)到數(shù)據(jù)處理特殊需求的同時(shí),提高工作效率。
圖4 系統(tǒng)運(yùn)行環(huán)境結(jié)構(gòu)
就整體框架而言,清洗過(guò)程本身及其所包括的表、視圖、存儲(chǔ)過(guò)程等,均被儲(chǔ)存于元數(shù)據(jù)庫(kù)中,運(yùn)用SQL Server2000管理界面,用戶可以瀏覽并更新相關(guān)數(shù)據(jù),進(jìn)而更新代碼并編輯各對(duì)象的元數(shù)據(jù),為元數(shù)據(jù)庫(kù)定制相應(yīng)的界面,實(shí)現(xiàn)用戶管理。
清洗邏輯則需要依據(jù)字典中的相關(guān)記錄,針對(duì)其中的臟數(shù)據(jù)采取清洗措施。所對(duì)應(yīng)的元數(shù)據(jù)模型主要由存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn),而元數(shù)據(jù)中所儲(chǔ)存的,對(duì)于何種記錄的清洗與被清洗成何種值等,其中的儲(chǔ)存信息通常用表或視圖的形式實(shí)現(xiàn)。
項(xiàng)目小組需要將清洗模塊安置于一臺(tái)開發(fā)用的服務(wù)器上,即Linux服務(wù)器,所使用的操作系統(tǒng)為Suse Linux 10,而后期進(jìn)行清洗的部分,則與其他的數(shù)據(jù)主題一樣,放置于一臺(tái)開發(fā)用SQL Server服務(wù)器上,而將數(shù)據(jù)池放置于Folsom的服務(wù)器上,這整個(gè)系統(tǒng)的運(yùn)行環(huán)境如圖4所示。
在生產(chǎn)業(yè)務(wù)不斷拓展,生產(chǎn)管理、技術(shù)質(zhì)量以及財(cái)務(wù)成本等各個(gè)方面相關(guān)數(shù)據(jù)隨之產(chǎn)生,為了得到準(zhǔn)確明晰的參考數(shù)據(jù),進(jìn)行數(shù)據(jù)清洗至關(guān)重要。通過(guò)將人工智能的清洗方法融入其中,智能去除其中的錯(cuò)誤數(shù)據(jù)或重復(fù)數(shù)據(jù),有效保證了數(shù)據(jù)質(zhì)量,為數(shù)據(jù)在后期的使用中提供可靠的依據(jù)。
[1]趙姝穎.人工智能技術(shù)在科技傳播中的應(yīng)用探索[J].機(jī)器人技術(shù)與應(yīng)用,2014(1):37-41.
[2]楊東華,李寧寧,王宏志,等.基于任務(wù)合并的并行大數(shù)據(jù)清洗過(guò)程優(yōu)化[J].計(jì)算機(jī)學(xué)報(bào),2016(01):97-108.
[3]羅強(qiáng),何利力,王曉菲.數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)清洗技術(shù)分析[J].電腦編程技巧與維護(hù),2015(2):61-61.