人工智能時(shí)代:數(shù)據(jù)加工廠(chǎng)是如何運(yùn)作的?
人工智能時(shí)代相較于過(guò)去的數(shù)據(jù)處理方式,除了在數(shù)據(jù)量級(jí)上的差別之外,最大的差別是對(duì)非結(jié)構(gòu)化數(shù)據(jù)的處理與運(yùn)用。本文將介紹:如何通過(guò)數(shù)據(jù)標(biāo)注工具將非結(jié)構(gòu)化的數(shù)據(jù)處理為可用于建模的結(jié)構(gòu)化數(shù)據(jù)?
什么是數(shù)據(jù)標(biāo)注
著名雜志《經(jīng)濟(jì)學(xué)人》將數(shù)據(jù)類(lèi)比為21世紀(jì)的石油,但石油是不能直接使用的,需要經(jīng)過(guò)復(fù)雜的煉制過(guò)程才能成為可以被利用的資源。
同樣,非結(jié)構(gòu)化的數(shù)據(jù)也是無(wú)法直接使用的,需要根據(jù)使用者的需要,將其中有用的部分標(biāo)記出來(lái),轉(zhuǎn)變?yōu)橛?jì)算機(jī)可以理解的結(jié)構(gòu)化數(shù)據(jù),才可以被用于A(yíng)I建模,這個(gè)過(guò)程就稱(chēng)之為數(shù)據(jù)標(biāo)注。
結(jié)構(gòu)化數(shù)據(jù)就是常見(jiàn)的二維表結(jié)構(gòu),excel或sql數(shù)據(jù)庫(kù)都是以二維表的形式存在的。
而非結(jié)構(gòu)化的數(shù)據(jù)——例如一張圖片,本質(zhì)上是一堆265色的像素點(diǎn)按一定的順序進(jìn)行排列組合。如果要知道這張圖片上是否有一只鳥(niǎo),就得人工用一個(gè)框把物體框出來(lái),并做好標(biāo)記,告訴計(jì)算機(jī)在這個(gè)框里有一只鳥(niǎo)。這樣計(jì)算機(jī)就可以把框內(nèi)的像素點(diǎn)當(dāng)做鳥(niǎo)的特征進(jìn)行學(xué)習(xí),構(gòu)建出識(shí)別鳥(niǎo)的模型。
在2012年,谷歌首席科學(xué)家李飛飛教授帶領(lǐng)的團(tuán)隊(duì)在計(jì)機(jī)器視覺(jué)方面取得了重大突破,利用神經(jīng)網(wǎng)絡(luò)算法讓計(jì)算機(jī)具備了在圖片中識(shí)別出貓的能力。
這份成就一方面得益于計(jì)算機(jī)算力和AI算法的發(fā)展,但更為重要的基石是ImageNet圖像數(shù)據(jù)集提供的一千多萬(wàn)張帶有拉框標(biāo)注的圖片,正是這些經(jīng)過(guò)了標(biāo)注的圖片,讓計(jì)算機(jī)在視覺(jué)方向有了新的發(fā)展。
ImageNet官網(wǎng)
機(jī)器學(xué)習(xí)領(lǐng)域有句話(huà):數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已。
可見(jiàn)數(shù)據(jù)和特征在人工智能領(lǐng)域的重要性——對(duì)于同一個(gè)目標(biāo),將時(shí)間和精力花在改良算法上遠(yuǎn)不如花在構(gòu)建更加精確的數(shù)據(jù)集上更有效,一個(gè)具有高質(zhì)量標(biāo)注的數(shù)據(jù)集對(duì)于模型的提升效果遠(yuǎn)高于優(yōu)化算法帶來(lái)的效果。
這就是數(shù)據(jù)標(biāo)注對(duì)于人工智能的重要性。
ImageNet這類(lèi)開(kāi)源數(shù)據(jù)集雖然數(shù)量非常多,但是標(biāo)注的精度并不高,且無(wú)法滿(mǎn)足所有類(lèi)型的建模要求。所以,AI團(tuán)隊(duì)需要根據(jù)自己的需要構(gòu)建自己的數(shù)據(jù)集。根據(jù)應(yīng)用方向的不同,大致可以分為:推薦算法,語(yǔ)音語(yǔ)義和計(jì)算機(jī)視覺(jué)三個(gè)方向。
從發(fā)展階段來(lái)看,推薦算法的發(fā)展應(yīng)該是最為成熟的,一方面是傳統(tǒng)的機(jī)器學(xué)習(xí)算法已經(jīng)非常成熟,另一方面是因?yàn)樵谶@一領(lǐng)域有著大量的結(jié)構(gòu)化數(shù)據(jù)積累。
例如:淘寶在上傳商品時(shí)需要選擇商品的分類(lèi);網(wǎng)站上線(xiàn)時(shí)也需要設(shè)置SEO關(guān)鍵詞;在教育行業(yè)則有專(zhuān)業(yè)的老師給習(xí)題打上對(duì)應(yīng)知識(shí)點(diǎn)的標(biāo)簽。
而用戶(hù)的人口數(shù)據(jù)和行為偏好數(shù)據(jù)只需要進(jìn)行埋點(diǎn)就可以收集到了,將商品和用戶(hù)兩者的數(shù)據(jù)結(jié)合推薦算法即可構(gòu)建推薦系統(tǒng)。
在語(yǔ)音語(yǔ)義方向,有著例如科大訊飛,海量大數(shù)據(jù)等公司長(zhǎng)達(dá)近20年的積累,在中文分詞,語(yǔ)音模型,語(yǔ)言模型等方面都已經(jīng)較為成熟,可以達(dá)到商用的階段。
目前,對(duì)于語(yǔ)音語(yǔ)義的數(shù)據(jù)標(biāo)注常見(jiàn)的有音頻識(shí)別、語(yǔ)義分析、文本分類(lèi)等。
而計(jì)算機(jī)視覺(jué)方向,目前處于剛剛起步的階段,但發(fā)展極為迅速,人臉識(shí)別,圖像轉(zhuǎn)化方向上已經(jīng)有了大量的商用產(chǎn)品。這一方向?qū)τ诟哔|(zhì)量的標(biāo)注數(shù)據(jù)需求非常大,例如上文提到的圖片拉框以及圖片描點(diǎn),語(yǔ)義分割,視頻跟蹤標(biāo)注等都是這一方向的數(shù)據(jù)需求。
數(shù)據(jù)標(biāo)注工作流程
數(shù)據(jù)標(biāo)注工作流程通常是這樣的:
- 先由產(chǎn)品經(jīng)理確定用戶(hù)需求,根據(jù)用戶(hù)需求準(zhǔn)備對(duì)應(yīng)的原始數(shù)據(jù)。
- 產(chǎn)品經(jīng)理與人工智能訓(xùn)練師一起細(xì)化對(duì)于數(shù)據(jù)標(biāo)注的需求。
- 人工智能訓(xùn)練師根據(jù)標(biāo)注需求創(chuàng)建標(biāo)注教程,將教程與原始數(shù)據(jù)集發(fā)放給數(shù)據(jù)標(biāo)注員。
- 標(biāo)注員根據(jù)教程完成對(duì)數(shù)據(jù)進(jìn)行標(biāo)注。
- 人工智能訓(xùn)練師及產(chǎn)品經(jīng)理對(duì)標(biāo)注后的數(shù)據(jù)進(jìn)行驗(yàn)收,將不合格的數(shù)據(jù)打回重新進(jìn)行標(biāo)注。
- 將標(biāo)注好的數(shù)據(jù)交付人工智能工程師進(jìn)行算法建模。
這其中對(duì)于數(shù)據(jù)標(biāo)注人員來(lái)說(shuō),最重要的就是標(biāo)注教程。
什么樣的需要進(jìn)行標(biāo)注,標(biāo)注的精細(xì)度要達(dá)到多少,什么樣的情況不需要進(jìn)行標(biāo)注,很多對(duì)于標(biāo)注的細(xì)節(jié)都要在教程中對(duì)標(biāo)注員進(jìn)行說(shuō)明。
如果未對(duì)標(biāo)注進(jìn)行嚴(yán)謹(jǐn)?shù)募?xì)節(jié)說(shuō)明的話(huà),可能會(huì)對(duì)最終的算法產(chǎn)生極大的影響。
例如:在一個(gè)圖片標(biāo)注任務(wù)中,標(biāo)注需求是要對(duì)圖片中的鳥(niǎo)進(jìn)行框選并進(jìn)行標(biāo)注——那么鳥(niǎo)在水中的倒影要不要框選,圖片中畫(huà)在油畫(huà)中的鳥(niǎo)要不要框選,鳥(niǎo)只有一部分在圖片中要不要框選等等細(xì)節(jié)問(wèn)題,都需要在標(biāo)注教程中進(jìn)行詳細(xì)的說(shuō)明。
數(shù)據(jù)標(biāo)注工具
對(duì)于非結(jié)構(gòu)化的數(shù)據(jù)標(biāo)注需要使用專(zhuān)門(mén)的標(biāo)注工具進(jìn)行,這里介紹兩款工具:
1. LabelImg
LabelImg是一款由python編寫(xiě)的跨平臺(tái)標(biāo)注軟件,由個(gè)人開(kāi)發(fā),是業(yè)內(nèi)有名的一款標(biāo)注工具,標(biāo)注之后可以導(dǎo)出pascal-voc格式的數(shù)據(jù)。
但這個(gè)工具門(mén)檻有點(diǎn)高,一來(lái)是英文版,二來(lái)需要使用命令行工具下載python以及對(duì)應(yīng)的pyqt4和lxml等第三方庫(kù)來(lái)使用。對(duì)于不會(huì)使用python命令行的來(lái)說(shuō),這個(gè)不是特別友好,就不再過(guò)多的介紹了。
2. 精靈標(biāo)注助手
與LabelImg類(lèi)似的一款國(guó)產(chǎn)工具,但在用戶(hù)使用上比前者友好太多,直接在官網(wǎng)即可下載并免費(fèi)使用。
支持目前市面上所有常見(jiàn)的標(biāo)注需求,并且除了pascal-voc和CoreNLP之外,還可以導(dǎo)出XML,JSON,MongoDB這些常見(jiàn)的數(shù)據(jù)格式,操作上也非常方便,基本不需要學(xué)習(xí)就可以直接上手使用。
如果是自己進(jìn)行數(shù)據(jù)標(biāo)注的話(huà),首選這款工具。
當(dāng)然,也有一些大公司會(huì)自己開(kāi)發(fā)標(biāo)注工具,但因?yàn)閿?shù)據(jù)標(biāo)注并不需要太高的技術(shù)含量,且對(duì)于標(biāo)注的需求大多是項(xiàng)目性質(zhì)的,所以大多數(shù)公司會(huì)選擇將數(shù)據(jù)標(biāo)注的工作交給眾包團(tuán)隊(duì)來(lái)進(jìn)行。
如何做數(shù)據(jù)標(biāo)注
1. 圖像類(lèi)
框選類(lèi):對(duì)圖片中指定的物體進(jìn)行拉框選擇,根據(jù)業(yè)務(wù)的不同,來(lái)框選不同的物品。
如果一張圖中有多個(gè)指定物品,則需要說(shuō)明:什么樣的情況下可以一起框選?什么樣的情況下需要分別框選?以及,判斷框選的物品是否被遮擋或截?cái)??等等?/p>
應(yīng)用場(chǎng)景:識(shí)別圖片中是否存在某種物品,以及識(shí)別是什么物品。
例如:自動(dòng)駕駛中判斷交通標(biāo)示牌,拍照購(gòu)物中識(shí)別物品,兒童認(rèn)知類(lèi)產(chǎn)品等。
2. 描點(diǎn)類(lèi)
常見(jiàn)的需求有:描繪人體的關(guān)節(jié)點(diǎn)、手部的關(guān)節(jié)點(diǎn),以及嘴唇的關(guān)鍵點(diǎn)、臉部的關(guān)鍵點(diǎn),我還見(jiàn)過(guò)有對(duì)貓和狗的臉部進(jìn)行打點(diǎn)的需求。
應(yīng)用場(chǎng)景:描點(diǎn)類(lèi)的應(yīng)用場(chǎng)景很多——例如:人臉識(shí)別,以及美顏類(lèi)的產(chǎn)品。還有最近在直播和短視頻應(yīng)用中比較流行的智能換臉,換發(fā)型等,以后應(yīng)該還可以應(yīng)用到電商購(gòu)物領(lǐng)域。對(duì)于關(guān)節(jié)點(diǎn)的識(shí)別可以應(yīng)用在動(dòng)作識(shí)別上,例如:安防領(lǐng)域,課堂教學(xué)領(lǐng)域等等。
3. 語(yǔ)義分割類(lèi)
將一張圖片上不同的物品進(jìn)行描邊,然后標(biāo)注為指定的標(biāo)簽。常見(jiàn)的有將人體的頭發(fā),人臉,身體分割成不同部分,還有自動(dòng)駕駛中對(duì)道路,建筑物,行人等進(jìn)行的標(biāo)注。
應(yīng)用場(chǎng)景:語(yǔ)義分割是圖像識(shí)別的一個(gè)重要領(lǐng)域,對(duì)于計(jì)算機(jī)理解圖像進(jìn)而作出決策有重要意義。
例如:自動(dòng)駕駛場(chǎng)景中,需要判斷看到的物品是什么,進(jìn)而決定接下來(lái)的駕駛行為。
4. 語(yǔ)音語(yǔ)義類(lèi)
音頻轉(zhuǎn)寫(xiě):目前訊飛,搜狗等做語(yǔ)音方向的公司只能提供通用的語(yǔ)音模型,對(duì)于一些特定領(lǐng)域的語(yǔ)音識(shí)別,或語(yǔ)音本身不是特別清晰,或少數(shù)民族語(yǔ)言例如藏語(yǔ)維語(yǔ)等語(yǔ)言的識(shí)別則需要進(jìn)行人工的語(yǔ)音轉(zhuǎn)寫(xiě)。
應(yīng)用領(lǐng)域:語(yǔ)音轉(zhuǎn)文本,語(yǔ)音模型構(gòu)建,語(yǔ)言模型構(gòu)建。
5. 文本分類(lèi)
主要是針對(duì)文本的內(nèi)容及性質(zhì)進(jìn)行分類(lèi),例如:判斷一段文本是積極還是消極,判斷一段文本屬于哪個(gè)領(lǐng)域知識(shí)等。
應(yīng)用領(lǐng)域:輿情監(jiān)控,新聞?lì)悇e自動(dòng)分類(lèi),垃圾郵件識(shí)別,商品評(píng)論情感識(shí)別等。
6. 實(shí)體標(biāo)注
對(duì)于一些專(zhuān)業(yè)領(lǐng)域的詞語(yǔ)或者同義詞,近義詞需要進(jìn)行實(shí)體的標(biāo)注,以幫助計(jì)算機(jī)理解不同的詞代表的含義是什么。同時(shí),在標(biāo)注實(shí)體的時(shí)候,還可以標(biāo)注實(shí)體的屬性,實(shí)體與實(shí)體之間的關(guān)系等。
應(yīng)用領(lǐng)域:命名實(shí)體識(shí)別,知識(shí)圖譜構(gòu)建等。
眾包數(shù)據(jù)平臺(tái)
數(shù)據(jù)眾包是指:公司將數(shù)據(jù)標(biāo)注的任務(wù)發(fā)布到眾包平臺(tái)上,然后由個(gè)人或團(tuán)隊(duì)來(lái)承接任務(wù),并根據(jù)任務(wù)要求進(jìn)行標(biāo)注的一種工作形式。
相較于公司自己組建數(shù)據(jù)標(biāo)注團(tuán)隊(duì),數(shù)據(jù)眾包的方式在成本和效率上都有著明顯的優(yōu)勢(shì),目前中國(guó)從事數(shù)據(jù)眾包的標(biāo)注員近百萬(wàn)人。
眾包帶來(lái)了成本降低的同時(shí),也帶來(lái)了標(biāo)注質(zhì)量的問(wèn)題。因?yàn)閺臉I(yè)人員能力參差不齊,所以眾包進(jìn)行標(biāo)注之前,要先對(duì)標(biāo)注人員的能力進(jìn)行考核,只有考核通過(guò)的人員才能進(jìn)行后續(xù)的正式標(biāo)注。
例如:在提供標(biāo)注教程之后,會(huì)先提供10個(gè)左右的標(biāo)注題作為考核的題目,由系統(tǒng)進(jìn)行判斷標(biāo)注員的標(biāo)注與正確的標(biāo)注之間是否存在差異。如果存在較大差異的話(huà)則考核不通過(guò),需要重新學(xué)習(xí)標(biāo)注教程,直到考核通過(guò)之后才可以進(jìn)行正式的標(biāo)注。
下面的左圖是一個(gè)錯(cuò)誤的人臉標(biāo)注,與標(biāo)準(zhǔn)的貼合度不夠,正確的標(biāo)注應(yīng)該如右圖。
除了在工具上設(shè)置自動(dòng)比對(duì)的功能,專(zhuān)門(mén)做數(shù)據(jù)標(biāo)注眾包公會(huì),通常會(huì)設(shè)置專(zhuān)門(mén)的審核員對(duì)所有標(biāo)注后的數(shù)據(jù)進(jìn)行審核,對(duì)于不合格標(biāo)注進(jìn)行打回,以此確保數(shù)據(jù)標(biāo)注的質(zhì)量。
對(duì)于眾包平臺(tái)來(lái)講,國(guó)外首選亞馬遜眾包平臺(tái),ImageNet就是通過(guò)這個(gè)平臺(tái)進(jìn)行標(biāo)注的。而國(guó)內(nèi)也有百度眾包、京東眾智、龍貓數(shù)據(jù)等眾包平臺(tái)可供選擇。
在選擇數(shù)據(jù)眾包平臺(tái)上,通常需要考慮以下幾個(gè)方面:
標(biāo)注員專(zhuān)業(yè)度:
人工智能雖然是高科技領(lǐng)域,但數(shù)據(jù)標(biāo)注卻是一個(gè)典型的勞動(dòng)密集型工作,有經(jīng)驗(yàn)的數(shù)據(jù)標(biāo)注員在工作的效率和質(zhì)量上都會(huì)比新手要高,是個(gè)熟能生巧的工作。
所以,在挑選眾包團(tuán)隊(duì)時(shí),要注意選擇那些經(jīng)驗(yàn)豐富的標(biāo)注團(tuán)隊(duì),這點(diǎn)跟招聘面試的道理是一樣的。
功能完善度:
眾包平臺(tái)都會(huì)自己開(kāi)發(fā)一套標(biāo)注工具供標(biāo)注員使用,在選擇之前需要看一下平臺(tái)提供的功能是否滿(mǎn)足標(biāo)注的需求,例如:目前有些平臺(tái)還不支持三維圖形的標(biāo)注。還有一些平臺(tái)為了提高標(biāo)注的效率,會(huì)提供預(yù)標(biāo)注功能,在人工標(biāo)注之前先根據(jù)過(guò)往數(shù)據(jù)形成的算法對(duì)數(shù)據(jù)進(jìn)行預(yù)標(biāo)注,人工只需要對(duì)預(yù)標(biāo)注進(jìn)行審核或修改即可。
另外,平臺(tái)的審核流程是否完善也是需要考察的重點(diǎn),有些平臺(tái)只提供抽檢或一重審核,但是對(duì)于一些較為復(fù)雜的標(biāo)注需求則需要平臺(tái)能支持多重的審核流程。
數(shù)據(jù)安全性:
有一些團(tuán)隊(duì)——例如銀行,對(duì)于標(biāo)注數(shù)據(jù)的安全性有較高的要求,則需要數(shù)據(jù)平臺(tái)提供API進(jìn)行對(duì)接。
確保標(biāo)注數(shù)據(jù)只存在公司內(nèi)部而不會(huì)外泄,標(biāo)注員只能訪(fǎng)問(wèn)到當(dāng)前需要標(biāo)注的數(shù)據(jù),“標(biāo)后即焚”,保護(hù)數(shù)據(jù)的安全性。
數(shù)據(jù)整理與留存
在標(biāo)注工作結(jié)束之后,拿到的數(shù)據(jù)根據(jù)業(yè)務(wù)和模型的需求,不同類(lèi)型的數(shù)據(jù)要分開(kāi)進(jìn)行存儲(chǔ)。
例如:人臉標(biāo)識(shí)中,戴帽子和不戴帽子,正臉和側(cè)臉,光線(xiàn)的明暗對(duì)于算法模型都有很大的影響,為了可以隨時(shí)調(diào)整建模數(shù)據(jù),需要用不同的文件夾進(jìn)行存儲(chǔ)。
除了根據(jù)不同的數(shù)據(jù)特征進(jìn)行區(qū)分之外,還需要根據(jù)數(shù)據(jù)是訓(xùn)練集。測(cè)試集還是驗(yàn)證集來(lái)對(duì)文件進(jìn)行劃分,根據(jù)模型訓(xùn)練的效果可能要對(duì)標(biāo)注好的數(shù)據(jù)做一些增刪,所以在一開(kāi)始就做好數(shù)據(jù)的分類(lèi)就很有必要了。
對(duì)于文件夾的命名方面,可以參考之前提到的駝峰命名法和下劃線(xiàn)命名法——例如“Train_Data”,“Test_Data”等來(lái)進(jìn)行命名。
數(shù)據(jù)標(biāo)注是一件費(fèi)時(shí)費(fèi)力的工作,所以,對(duì)于公司所有標(biāo)注好的數(shù)據(jù),最好有一份整合的數(shù)據(jù)清單文檔進(jìn)行留存,標(biāo)明:有一些什么數(shù)據(jù)?數(shù)量是多少?是否已經(jīng)做了標(biāo)注?標(biāo)注了一些什么內(nèi)容?
這樣如果以后還有類(lèi)似的需求,或者公司內(nèi)部其他項(xiàng)目組有類(lèi)似需求的時(shí)候,就可以直接拿來(lái)使用而不需要再重新進(jìn)行標(biāo)注了。
數(shù)據(jù)標(biāo)注的未來(lái)
在一個(gè)人工智能項(xiàng)目中,數(shù)據(jù)的準(zhǔn)備工作要占到整個(gè)項(xiàng)目至少70%的時(shí)間,整個(gè)產(chǎn)業(yè)鏈都在想盡辦法提高數(shù)據(jù)準(zhǔn)備和標(biāo)注的效率。
例如:眾包平臺(tái)除了提供標(biāo)注服務(wù)外,還可以提供數(shù)據(jù)的采集服務(wù)。根據(jù)業(yè)務(wù)方的需求采集特定的圖片,視頻,文本,語(yǔ)音等數(shù)據(jù),節(jié)省業(yè)務(wù)方在數(shù)據(jù)采集上的時(shí)間,同時(shí)也給自己帶來(lái)額外的收費(fèi)點(diǎn)。在算法的研究上,也希望能用盡可能少的訓(xùn)練數(shù)據(jù)來(lái)達(dá)到建模的效果。
高質(zhì)量的標(biāo)注數(shù)據(jù)是人工智能的基石,現(xiàn)在才處于一個(gè)剛剛起步的階段,未來(lái)的幾年隨著應(yīng)用場(chǎng)景的拓展,會(huì)有越來(lái)越多數(shù)據(jù)標(biāo)注的需求,帶來(lái)可觀(guān)的就業(yè)增長(zhǎng)。
同時(shí),隨著時(shí)間的積累,可通用的高質(zhì)量標(biāo)注數(shù)據(jù)集越來(lái)越多,也將極大地降低智能產(chǎn)品落地的門(mén)檻,提高人工智能的發(fā)展速度。
本文由 @黃瀚星 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
人工智能訓(xùn)練師和人工智能工程師還有區(qū)別嗎,應(yīng)該是產(chǎn)品確定需求,根據(jù)當(dāng)前數(shù)據(jù)源確定需要標(biāo)注的場(chǎng)景和標(biāo)注規(guī)則,此時(shí)算法人員介入,明確標(biāo)注規(guī)則(避免劃分有誤),然后算法工程師獲取帶label的數(shù)據(jù)后進(jìn)行模型訓(xùn)練,與此同時(shí)產(chǎn)品需要準(zhǔn)備各類(lèi)數(shù)據(jù)來(lái)挑戰(zhàn)模型,最后確定模型:上線(xiàn)/修正/無(wú)法實(shí)現(xiàn)