拼寫錯誤、以及各種不準確和過時的信息就好比米堆里的砂子,如果不挑出來,企業和研究人員就很難利用大數據技術做出一鍋好飯,而數據凈化要做的工作就是去蕪存菁。
卡里姆·科夏瓦杰是多倫多的一名醫生和網絡健康顧問,他要從500名醫生那里反饋的海量數據中總結出怎樣才能更好地治療病人。但是眾所周知,醫生的“書法”本來就堪比天書,要想讓電腦識別出其中的拼寫錯誤和縮寫更是難于登天。
比如科夏瓦杰指出:“患者是否吸煙是個很重要的信息。如果你直接閱讀病歷,你馬上就能明白醫生是什么意思。但是要想讓電腦去理解它,那就只能祝你好運了。雖然你也可以在電腦上設置‘從不吸煙’或‘吸煙=0’的選項。但是一個患者每天吸多少支煙?這幾乎是電腦不可能搞明白的問題。
由于宣傳報道把大數據吹得神乎其神,因此很多人可能覺得大數據用起來特別簡單:只要把相當于一整個圖書館的信息插到電腦上,然后就可以坐在一邊,等著電腦給出精辟見解,告訴你如何提高自動生產線的生產效率,如何讓網購者在網上購買更多的運動鞋,或是如何治療癌癥。但事實遠遠比想象復雜得多。由于信息會過時、不準確和缺失,因此數據不可避免地也有“不干凈”的時候。如何把數據變“干凈”是一個越來越重要但又經常被人忽略的工作,但它可以防止你犯下代價高昂的錯誤。
雖然科技一直都在進步,但是人們在凈化數據上能想到的法子并不多。即便是處理一些相對較“干凈”的數據,要想獲得有用的結果往往也是件費時費力的事情。
博思艾倫咨詢公司(Booz Allen)副總裁約什·沙利文說:“我對我的客戶說,這是個混亂骯臟的世界,沒有完全干凈的數據集。”
數據分析師一般喜歡先尋找非常態的信息。由于數據量太巨大,他們一般都會把篩選數據的工作交給軟件來完成,來尋找是否有些反常的東西需要進一步檢查。隨著時間的推移,電腦篩選數據的精確性也會提高。通過對類似案例進行分類,它們也會更好地了解一些詞語和句子的含義,然后提高篩選的精確性。
沙利文說:“這種方法簡單直接,但‘訓練’你的模型可以需要一周又一周的時間。”
有些公司也提供了用來凈化數據的軟件和服務,其中既包括像IBM和SAP一樣的科技巨頭,也包括Cloudera和Talend開放工作室從事等大數據和分析的專門機構。一大批創業公司也想爭當大數據的看門人,其中有代表性的包括Trifacta、Tamr和Paxata等。
由于“不干凈”的數據太多,醫療業被認為是大數據技術最難搞定的行業之一。雖然隨著電子病歷的普及,將醫療信息輸入電腦的難度已經變得越來越低,但是研究人員、制藥公司和醫療業分析人士要想把他們需要的數據盡情地拿來分析,在數據上要提高的地方還有很多。
健康數據咨詢公司InfoClin的醫生兼CEO科夏瓦杰花了很多時間,希望數以萬計的電子醫療病歷中篩選有用的數據,以提高對病人的診療水平。但他們在篩選的過程中卻不斷遇到阻礙。
很多醫生在病歷中沒有記錄病人的血壓,這個問題是無論哪種數據凈化方法都修復不了的。光憑借現有病歷的信息去判斷病人得了什么病對電腦來說就已經是一項極其困難的任務。醫生在輸入糖尿病編號的時候,可能忘了清楚地標注究竟是患者本人得了糖尿病,還是他的某個家人得了糖尿病。又或許他們光是輸入了“胰島素”三個字,而沒有提到患者得了什么病,因為這對他們來說是再明顯不過的事情。
醫生用來診斷、開藥和填寫病人基本信息時會大量用到一套獨特的速記字體。即使讓人類來破解它也要大為頭痛,而對于電腦基本上是不可能完成的任務。比如科夏瓦杰提到有個醫生在病歷中寫下“gpa”三個字母,讓他百思不得其解。好在他發現后面不遠處又寫著“gma”三字,他才恍然大悟——原來它們是爺爺(grandpa)和奶奶(grandma)的縮寫。
科夏瓦杰說:“我花了好半天才明白它們到底是什么意思。”
科夏瓦杰認為,解決數據“不干凈”的終極方法之一是要給病歷制定一套“數據紀律”。要訓練醫生養成正確錄入信息的習慣,這樣事后凈化數據時才不至于亂得一團糟。科夏瓦杰表示,谷歌有一個很有用的工具,可以在用戶進行輸入時告訴他們如何拼寫生僻字,這樣的工具完全可以添加到電子病歷工具中。電腦雖然可以挑出拼寫錯誤,但是讓醫生摒棄不良習慣才是朝著正確的方向邁出了一步。
科夏瓦杰的另一個建議是,在電子病歷中設置更多標準化的域。這樣電腦就會知道到哪里去找特定的信息,從而減少出錯率。當然,實際操作起來并沒有這么簡單,因為很多病人同時身患好幾種疾病。因此,一個標準的表格必須擁有足夠的靈活性,把這些復雜情況全部考慮進去。
但是出于診療的需要,醫生有時需要在病歷上記下一些自由行文的東西,這些內容肯定不是一個小格子能裝得下的。比如一個患者為什么會摔倒,如果不是受傷導致的,那么原因就非常重要。但是在沒有上下文的條件下,軟件對于自由行文的理解只能用撞大運來形容。篩選數據的時候,如果人們用關鍵詞搜索的話可能會做得更好些,但這樣也難免會漏掉很多有關的記錄。
當然,在有些案例中,有些看起來不干凈的數并不是真的不干凈。博思艾倫咨詢公司副總裁沙利文舉例說,有一次他的團隊為一家豪華連鎖酒店分析顧客的人口統計數據,突然發現,數據顯示一個富有的中東國家的青少年群體是這家酒店的常客。
沙利文回憶道:“有一大群17歲的青少年在世界各地都住這家酒店,我們以為:‘這肯定不是真的。’”
但做了一些挖掘工作后,他們發現這個信息其實是正確的。這家酒店有大量的青少年顧客,甚至連酒店自己也沒有意識到,而且酒店也沒有針對這部分顧客做過任何促銷和宣傳。所有22歲以下的顧客都被這家公司的電腦自動列入“低收入”群體,酒店的高管們也從來沒有考慮過這些孩子的腰包有多鼓。
沙利文說:“我認為如果沒有離群值的話,構建模型會更難。”
即便有時數據明顯不干凈,它有時依然能派上大用場。比如上文提到的谷歌(Google)的拼寫糾正技術。它可以自動識別拼寫錯誤的單詞,然后提供替代拼寫。這個工具之所以有這樣神奇的功用,是因為谷歌在過去幾年中已經收集了幾億甚至幾十億個拼寫錯誤的詞條。因此不干凈的數據也可以變廢為寶。
最終,從大數據中獲得結論的是人而不是機器。電腦雖然可以整理幾百萬份文件,但它并不能真的解讀它。數據凈化就是為了方便人們從數據中獲取結論而反復試錯的過程。盡管大數據已被奉為能提高商業利潤、能造福全人類的神器,但它也是個很讓人頭痛的東西。
沙利文指出:“失敗的概念在數據科學中完全是另一回事。如果我們每天不失敗10次或12次來試錯,它們就不會給出正確的結果。”