天天看點

大資料遭遇資料淨化難題

拼寫錯誤、以及各種不準确和過時的資訊就好比米堆裡的砂子,如果不挑出來,企業和研究人員就很難利用大資料技術做出一鍋好飯,而資料淨化要做的工作就是去蕪存菁。

卡裡姆•科夏瓦傑是多倫多的一名醫生和網絡健康顧問,他要從500名醫生那裡回報的海量資料中總結出怎樣才能更好地治療病人。但是衆所周知,醫生的“書法”本來就堪比天書,要想讓電腦識别出其中的拼寫錯誤和縮寫更是難于登天。

比如科夏瓦傑指出:“患者是否吸煙是個很重要的資訊。如果你直接閱讀病曆,你馬上就能明白醫生是什麼意思。但是要想讓電腦去了解它,那就隻能祝你好運了。雖然你也可以在電腦上設定‘從不吸煙’或‘吸煙=0’的選項。但是一個患者每天吸多少支煙?這幾乎是電腦不可能搞明白的問題。

由于宣傳報道把大資料吹得神乎其神,是以很多人可能覺得大資料用起來特别簡單:隻要把相當于一整個圖書館的資訊插到電腦上,然後就可以坐在一邊,等着電腦給出精辟見解,告訴你如何提高自動生産線的生産效率,如何讓網購者在網上購買更多的運動鞋,或是如何治療癌症。但事實遠遠比想象複雜得多。由于資訊會過時、不準确和缺失,是以資料不可避免地也有“不幹淨”的時候。如何把資料變“幹淨”是一個越來越重要但又經常被人忽略的工作,但它可以防止你犯下代價高昂的錯誤。

雖然科技一直都在進步,但是人們在淨化資料上能想到的法子并不多。即便是處理一些相對較“幹淨”的資料,要想獲得有用的結果往往也是件費時費力的事情。

博思艾倫咨詢公司(booz allen)副總裁約什•沙利文說:“我對我的客戶說,這是個混亂肮髒的世界,沒有完全幹淨的資料集。”

資料分析師一般喜歡先尋找非常态的資訊。由于資料量太巨大,他們一般都會把篩選資料的工作交給軟體來完成,來尋找是否有些反常的東西需要進一步檢查。随着時間的推移,電腦篩選資料的精确性也會提高。通過對類似案例進行分類,它們也會更好地了解一些詞語和句子的含義,然後提高篩選的精确性。

沙利文說:“這種方法簡單直接,但‘訓練’你的模型可以需要一周又一周的時間。”

有些公司也提供了用來淨化資料的軟體和服務,其中既包括像ibm和sap一樣的科技巨頭,也包括cloudera和talend開放工作室從事等大資料和分析的專門機構。一大批創業公司也想争當大資料的看門人,其中有代表性的包括trifacta、tamr和paxata等。

由于“不幹淨”的資料太多,醫療業被認為是大資料技術最難搞定的行業之一。雖然随着電子病曆的普及,将醫療資訊輸入電腦的難度已經變得越來越低,但是研究人員、制藥公司和醫療業分析人士要想把他們需要的資料盡情地拿來分析,在資料上要提高的地方還有很多。

健康資料咨詢公司infoclin的醫生兼ceo科夏瓦傑花了很多時間,希望數以萬計的電子醫療病曆中篩選有用的資料,以提高對病人的診療水準。但他們在篩選的過程中卻不斷遇到阻礙。

很多醫生在病曆中沒有記錄病人的血壓,這個問題是無論哪種資料淨化方法都修複不了的。光憑借現有病曆的資訊去判斷病人得了什麼病對電腦來說就已經是一項極其困難的任務。醫生在輸入糖尿病編号的時候,可能忘了清楚地标注究竟是患者本人得了糖尿病,還是他的某個家人得了糖尿病。又或許他們光是輸入了“胰島素”三個字,而沒有提到患者得了什麼病,因為這對他們來說是再明顯不過的事情。

醫生用來診斷、開藥和填寫病人基本資訊時會大量用到一套獨特的速記字型。即使讓人類來破解它也要大為頭痛,而對于電腦基本上是不可能完成的任務。比如科夏瓦傑提到有個醫生在病曆中寫下“gpa”三個字母,讓他百思不得其解。好在他發現後面不遠處又寫着“gma”三字,他才恍然大悟——原來它們是爺爺(grandpa)和奶奶(grandma)的縮寫。

科夏瓦傑說:“我花了好半天才明白它們到底是什麼意思。”

科夏瓦傑認為,解決資料“不幹淨”的終極方法之一是要給病曆制定一套“資料紀律”。要訓練醫生養成正确錄入資訊的習慣,這樣事後淨化資料時才不至于亂得一團糟。科夏瓦傑表示,谷歌有一個很有用的工具,可以在使用者進行輸入時告訴他們如何拼寫生僻字,這樣的工具完全可以添加到電子病曆工具中。電腦雖然可以挑出拼寫錯誤,但是讓醫生摒棄不良習慣才是朝着正确的方向邁出了一步。

科夏瓦傑的另一個建議是,在電子病曆中設定更多标準化的域。這樣電腦就會知道到哪裡去找特定的資訊,進而減少出錯率。當然,實際操作起來并沒有這麼簡單,因為很多病人同時身患好幾種疾病。是以,一個标準的表格必須擁有足夠的靈活性,把這些複雜情況全部考慮進去。

但是出于診療的需要,醫生有時需要在病曆上記下一些自由行文的東西,這些内容肯定不是一個小格子能裝得下的。比如一個患者為什麼會摔倒,如果不是受傷導緻的,那麼原因就非常重要。但是在沒有上下文的條件下,軟體對于自由行文的了解隻能用撞大運來形容。篩選資料的時候,如果人們用關鍵詞搜尋的話可能會做得更好些,但這樣也難免會漏掉很多有關的記錄。

當然,在有些案例中,有些看起來不幹淨的數并不是真的不幹淨。博思艾倫咨詢公司副總裁沙利文舉例說,有一次他的團隊為一家豪華連鎖酒店分析顧客的人口統計資料,突然發現,資料顯示一個富有的中東國家的青少年群體是這家酒店的常客。

沙利文回憶道:“有一大群17歲的青少年在世界各地都住這家酒店,我們以為:‘這肯定不是真的。’”

但做了一些挖掘工作後,他們發現這個資訊其實是正确的。這家酒店有大量的青少年顧客,甚至連酒店自己也沒有意識到,而且酒店也沒有針對這部分顧客做過任何促銷和宣傳。所有22歲以下的顧客都被這家公司的電腦自動列入“低收入”群體,酒店的高管們也從來沒有考慮過這些孩子的腰包有多鼓。

沙利文說:“我認為如果沒有離群值的話,構模組化型會更難。”

即便有時資料明顯不幹淨,它有時依然能派上大用場。比如上文提到的谷歌(google)的拼寫糾正技術。它可以自動識别拼寫錯誤的單詞,然後提供替代拼寫。這個工具之是以有這樣神奇的功用,是因為谷歌在過去幾年中已經收集了幾億甚至幾十億個拼寫錯誤的詞條。是以不幹淨的資料也可以變廢為寶。

最終,從大資料中獲得結論的是人而不是機器。電腦雖然可以整理幾百萬份檔案,但它并不能真的解讀它。資料淨化就是為了友善人們從資料中擷取結論而反複試錯的過程。盡管大資料已被奉為能提高商業利潤、能造福全人類的神器,但它也是個很讓人頭痛的東西。

沙利文指出:“失敗的概念在資料科學中完全是另一回事。如果我們每天不失敗10次或12次來試錯,它們就不會給出正确的結果。”

原文釋出時間為:2014-07-18

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀