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