導(dǎo)讀:麻省理工學(xué)院的研究人員最近帶來了一種全新的系統(tǒng)PClean,能夠自動地清洗臟數(shù)據(jù),如錯誤、值缺失、拼寫錯誤和值不一致。
臟數(shù)據(jù)可以說是所有AI從業(yè)者、數(shù)據(jù)分析師、數(shù)據(jù)科學(xué)家的噩夢。所謂臟數(shù)據(jù)是指從目標(biāo)中取出的數(shù)據(jù)已經(jīng)過期、錯誤或者沒有意義的數(shù)據(jù)。
好消息來了!
麻省理工學(xué)院的研究人員最近帶來了一種全新的系統(tǒng)PClean,能夠自動地清洗臟數(shù)據(jù),如錯誤、值缺失、拼寫錯誤和值不一致。
并且還能夠根據(jù)概率統(tǒng)計(jì)出常識知識來推斷信息。
這個名為 PClean 的系統(tǒng)是概率計(jì)算項(xiàng)目(Probabilistic Computing Project)研究人員編寫的針對特定領(lǐng)域的概率編程語言,旨在簡化人工智能應(yīng)用程序的開發(fā)并實(shí)現(xiàn)自動化,例如時間序列和數(shù)據(jù)庫進(jìn)行建模)。
根據(jù)Anaconda和Figure Eight所做的調(diào)查,清洗數(shù)據(jù)可能會占用數(shù)據(jù)科學(xué)家四分之一的時間。如何將這個任務(wù)自動化,一直以來都是一個具有挑戰(zhàn)性的任務(wù)。因?yàn)椴煌臄?shù)據(jù)集需要不同類型、不同層次的清理,而且清晰過程經(jīng)常需要依賴常識來對世界上的物體進(jìn)行判斷,例如一個城市表中,需要判斷哪些值不屬于這列。
PClean 為這類判斷提供了一個通用的常識模型,可以根據(jù)特定的數(shù)據(jù)庫和錯誤類型進(jìn)行定制化操作。
PClean 使用基于知識的方法來自動化數(shù)據(jù)清洗的過程: 即用戶在定義數(shù)據(jù)的時候,已經(jīng)隱含包括了數(shù)據(jù)庫的背景知識以及可能出現(xiàn)的各種問題。
例如,有一個場景,當(dāng)清理公寓列表數(shù)據(jù)庫中的國家名稱的時候,如果有人說他們住在比佛利山莊,但是沒有留下任何其他信息怎么辦?雖然在加州有著名的比弗利山莊,但在佛羅里達(dá)州、密蘇里州和德克薩斯州也有一個,而且在巴爾的摩有一個被稱為比弗利山莊的社區(qū)。你怎么知道這個人住在哪里?這就是 PClean 這門腳本語言創(chuàng)造的初衷。
用戶可以向 PClean 提供有關(guān)域以及數(shù)據(jù)可能如何損壞的背景知識。PClean 通過常識性概率推理將這些知識結(jié)合起來得出答案。
例如,如果對租金類的常識有更多的了解,PClean 就能推斷正確的比弗利山是在加利福尼亞,因?yàn)楸徽{(diào)查者居住的地方的租金成本很高。
PClean 拉近人機(jī)之間距離
這篇論文的第一作者是MIT電子工程和計(jì)算機(jī)科學(xué)系(EECS)的博士生Alex Lew,合著者還包括 EECS 的博士生 Monica Agrawal、 EECS 的副教授 David Sontag 和腦與認(rèn)知科學(xué)系的首席研究科學(xué)家 Vikash k. Mansinghka。
他們認(rèn)為PClean 提供了一種從計(jì)算機(jī)中檢索常識的一種方法,就像人們尋求彼此幫助的方式一樣。
當(dāng)你向朋友尋求幫助時通常比向電腦尋求幫助要容易。這是因?yàn)樵诖蠖鄶?shù)編程語言中,程序員必須給出一步一步的明確指令,這種指令不能假定計(jì)算機(jī)具有任何關(guān)于世界或任務(wù)的上下文,甚至不能假定計(jì)算機(jī)具有常識推理能力。
但對于人類,可以假設(shè)所有聊天的雙方有共同的常識。
PClean可以讓我告訴計(jì)算機(jī)我所知道的問題,編碼的背景知識就像我向一個幫助我清理數(shù)據(jù)的人解釋的那樣。我還可以給出 PClean 我已經(jīng)發(fā)現(xiàn)的快速解決問題的技巧。
Hanna Pasula和其他來自加州大學(xué)伯克利分校Stuart Russell實(shí)驗(yàn)室的研究人員在2003年的一篇論文中提出,基于陳述性、生成性知識的概率性數(shù)據(jù)清洗可能比機(jī)器學(xué)習(xí)提供更高的準(zhǔn)確性。
加州大學(xué)伯克利分校(UC Berkeley)計(jì)算機(jī)科學(xué)教授Russell表示,在現(xiàn)實(shí)世界中,確保數(shù)據(jù)質(zhì)量是一個巨大的問題,幾乎所有現(xiàn)有的解決方案都是臨時性的、昂貴的,而且容易出錯。
共同作者 Agrawal也自吹自擂,PClean 是第一個可擴(kuò)展的、經(jīng)過良好設(shè)計(jì)的、基于生成式數(shù)據(jù)建模的通用解決方案,這肯定是正確的方向,結(jié)果不言自明?,F(xiàn)有的數(shù)據(jù)清理方法在表達(dá)能力方面受到更多的限制,這可能更加用戶友好,但是代價是限制性太強(qiáng)。此外,我們發(fā)現(xiàn) PClean 可以擴(kuò)展到非常大的數(shù)據(jù)集。
基于概率編程的最新進(jìn)展,麻省理工學(xué)院概率計(jì)算項(xiàng)目建立的一個新的人工智能編程模型,使得應(yīng)用人類知識的現(xiàn)實(shí)模型來解釋數(shù)據(jù)變得更加容易。
PClean對于數(shù)據(jù)的修復(fù)基于貝葉斯推理,這種方法結(jié)合了先驗(yàn)概率(給定的手頭數(shù)據(jù))和后驗(yàn)概率,能夠?qū)μ钛a(bǔ)的數(shù)據(jù)給出一個概率值。
做出這種不確定的決策的能力是概率編程的核心——由數(shù)據(jù)集告訴計(jì)算機(jī)它可能會看到什么樣的東西,并讓計(jì)算機(jī)自動使用這種能力以便找出可能正確的答案。
PClean 是第一個貝葉斯數(shù)據(jù)清洗系統(tǒng),它可以結(jié)合領(lǐng)域?qū)I(yè)知識和常識推理,自動清洗數(shù)百萬條記錄的數(shù)據(jù)庫,主要包括了三個創(chuàng)新:
首先,PClean 的腳本語言可以讓用戶對他們所了解的常識信息的進(jìn)行編碼。這就產(chǎn)生了更準(zhǔn)確的模型,即使對于復(fù)雜的數(shù)據(jù)庫也是如此。
其次,PClean 的推斷算法使用了一種兩階段的方法,基于一次處理一條記錄的方式來對如何清理記錄做出明智的猜測,然后再次調(diào)用其判斷函數(shù)來修復(fù)錯誤。這將產(chǎn)生穩(wěn)健、準(zhǔn)確的推斷結(jié)果。
第三,PClean 提供了一個自定義編譯器,用于生成快速推理代碼。這使得 PClean 能夠以比多種相似方法更快的速度在萬條記錄的數(shù)據(jù)庫上運(yùn)行。
PClean 用戶可以向 PClean 提示如何更有效地推理他們的數(shù)據(jù)庫,并調(diào)整其性能ーー這與以前的數(shù)據(jù)清理概率編程方法不同,后者主要依賴于通用推理算法,而這些算法往往過于緩慢或不準(zhǔn)確。
與所有概率程序一樣,該工具工作所需的代碼行數(shù)比其他最先進(jìn)的選項(xiàng)少得多: PClean 程序只需要大約50行代碼就可以在準(zhǔn)確性和運(yùn)行時間方面超過基準(zhǔn)測試。相比之下,一個簡單的貪吃蛇游戲需要100行代碼,而《我的世界》則需要超過100萬行的代碼。
在他們剛剛在2021年Society for Artificial Intelligence and Statistics上發(fā)表的論文中,作者們展示了 PClean 通過使用 PClean 來檢測錯誤和估算220萬行醫(yī)療保險醫(yī)生比較國家數(shù)據(jù)集中的缺失值來擴(kuò)展包含數(shù)百萬記錄的數(shù)據(jù)集的能力。運(yùn)行了7個半小時后,PClean 發(fā)現(xiàn)了8000多個錯誤。然后,作者通過手工驗(yàn)證(通過在醫(yī)院網(wǎng)站和醫(yī)生 LinkedIn 頁面上的搜索) ,他們中超過96% 的人認(rèn)為,PClean 提出的修正方法是正確的。
因?yàn)?PClean 是基于貝葉斯概率的,它也可以給出校準(zhǔn)的不確定性的估計(jì)?!八梢跃S持多種假設(shè)ーー給你分級判斷,而不僅僅是是/否的回答。這可以建立信任,并幫助用戶在必要時覆蓋 PClean。例如,你可以看到一個判斷,其中 PClean 是不確定的,并告訴它正確的答案。然后,它可以根據(jù)你的反饋更新其余的判斷。
這種將人類判斷與機(jī)器判斷相互交織的互動過程具有很多潛在價值。我們認(rèn)為,PClean 是一種新型人工智能系統(tǒng)的早期例子,它可以告訴人們更多的人們所知道的信息,在不確定的時候報告,以更有用的、類似人類的方式推理和與人交流。
DeepMind 的資深研究科學(xué)家David Pfau在一條推文中指出,PClean 滿足了一種商業(yè)需求: 考慮到絕大多數(shù)商業(yè)數(shù)據(jù)不是狗的圖片,而是關(guān)系數(shù)據(jù)庫和電子表格中的條目,像這樣的事情還沒有像深度學(xué)習(xí)那樣成功,真是個奇跡。
利益、風(fēng)險和監(jiān)管
PClean 使得將混亂、不一致的數(shù)據(jù)庫連接到干凈的記錄中變得更容易,而不需要像目前以數(shù)據(jù)為中心的公司那樣,在人力和軟件系統(tǒng)上進(jìn)行大規(guī)模投資。
這有潛在的社會利益,但也有風(fēng)險,其中包括,通過將來自多個公共來源的不完整信息聯(lián)合起來,PClean 可能會讓侵犯人們隱私的成本更低、更容易,甚至可能去匿名化。
我們最終需要更細(xì)致的數(shù)據(jù)、更強(qiáng)大的人工智能和隱私監(jiān)管,以減輕這些危害,與機(jī)器學(xué)習(xí)方法相比,PClean 可能允許更細(xì)粒度的監(jiān)管控制。
例如,PClean 不僅可以告訴我們它合并了兩個指向同一個人的記錄,還可以告訴我們它為什么這樣做,我可以自己判斷我是否同意。我甚至可以告訴 PClean 只考慮合并兩個條目的某些原因。
不幸的是,無論數(shù)據(jù)集被如何公平地清理,隱私問題依然存在。
有些人希望利用 PClean 改進(jìn)新聞和人道主義應(yīng)用的數(shù)據(jù)質(zhì)量,例如反腐敗監(jiān)測和整理提交給州選舉委員會的捐助者記錄。阿格拉瓦爾說,她希望 PClean 能騰出數(shù)據(jù)科學(xué)家的時間,專注于他們關(guān)心的問題,而不是清洗數(shù)據(jù)。