人工智能時代:數據加工廠是如何運作的?

1 評論 8412 瀏覽 33 收藏 20 分鐘

人工智能時代相較于過去的數據處理方式,除了在數據量級上的差別之外,最大的差別是對非結構化數據的處理與運用。本文將介紹:如何通過數據標注工具將非結構化的數據處理為可用于建模的結構化數據?

什么是數據標注

著名雜志《經濟學人》將數據類比為21世紀的石油,但石油是不能直接使用的,需要經過復雜的煉制過程才能成為可以被利用的資源。

同樣,非結構化的數據也是無法直接使用的,需要根據使用者的需要,將其中有用的部分標記出來,轉變為計算機可以理解的結構化數據,才可以被用于AI建模,這個過程就稱之為數據標注。

結構化數據就是常見的二維表結構,excel或sql數據庫都是以二維表的形式存在的。

而非結構化的數據——例如一張圖片,本質上是一堆265色的像素點按一定的順序進行排列組合。如果要知道這張圖片上是否有一只鳥,就得人工用一個框把物體框出來,并做好標記,告訴計算機在這個框里有一只鳥。這樣計算機就可以把框內的像素點當做鳥的特征進行學習,構建出識別鳥的模型。

在2012年,谷歌首席科學家李飛飛教授帶領的團隊在計機器視覺方面取得了重大突破,利用神經網絡算法讓計算機具備了在圖片中識別出貓的能力。

這份成就一方面得益于計算機算力和AI算法的發展,但更為重要的基石是ImageNet圖像數據集提供的一千多萬張帶有拉框標注的圖片,正是這些經過了標注的圖片,讓計算機在視覺方向有了新的發展。

ImageNet官網

機器學習領域有句話:數據和特征決定了機器學習的上限,而模型和算法只是逼近這個上限而已。

可見數據和特征在人工智能領域的重要性——對于同一個目標,將時間和精力花在改良算法上遠不如花在構建更加精確的數據集上更有效,一個具有高質量標注的數據集對于模型的提升效果遠高于優化算法帶來的效果。

這就是數據標注對于人工智能的重要性。

ImageNet這類開源數據集雖然數量非常多,但是標注的精度并不高,且無法滿足所有類型的建模要求。所以,AI團隊需要根據自己的需要構建自己的數據集。根據應用方向的不同,大致可以分為:推薦算法,語音語義和計算機視覺三個方向。

從發展階段來看,推薦算法的發展應該是最為成熟的,一方面是傳統的機器學習算法已經非常成熟,另一方面是因為在這一領域有著大量的結構化數據積累。

例如:淘寶在上傳商品時需要選擇商品的分類;網站上線時也需要設置SEO關鍵詞;在教育行業則有專業的老師給習題打上對應知識點的標簽。

而用戶的人口數據和行為偏好數據只需要進行埋點就可以收集到了,將商品和用戶兩者的數據結合推薦算法即可構建推薦系統。

在語音語義方向,有著例如科大訊飛,海量大數據等公司長達近20年的積累,在中文分詞,語音模型,語言模型等方面都已經較為成熟,可以達到商用的階段。

目前,對于語音語義的數據標注常見的有音頻識別、語義分析、文本分類等。

而計算機視覺方向,目前處于剛剛起步的階段,但發展極為迅速,人臉識別,圖像轉化方向上已經有了大量的商用產品。這一方向對于高質量的標注數據需求非常大,例如上文提到的圖片拉框以及圖片描點,語義分割,視頻跟蹤標注等都是這一方向的數據需求。

數據標注工作流程

數據標注工作流程通常是這樣的:

  1. 先由產品經理確定用戶需求,根據用戶需求準備對應的原始數據。
  2. 產品經理與人工智能訓練師一起細化對于數據標注的需求。
  3. 人工智能訓練師根據標注需求創建標注教程,將教程與原始數據集發放給數據標注員。
  4. 標注員根據教程完成對數據進行標注。
  5. 人工智能訓練師及產品經理對標注后的數據進行驗收,將不合格的數據打回重新進行標注。
  6. 將標注好的數據交付人工智能工程師進行算法建模。

這其中對于數據標注人員來說,最重要的就是標注教程。

什么樣的需要進行標注,標注的精細度要達到多少,什么樣的情況不需要進行標注,很多對于標注的細節都要在教程中對標注員進行說明。

如果未對標注進行嚴謹的細節說明的話,可能會對最終的算法產生極大的影響。

例如:在一個圖片標注任務中,標注需求是要對圖片中的鳥進行框選并進行標注——那么鳥在水中的倒影要不要框選,圖片中畫在油畫中的鳥要不要框選,鳥只有一部分在圖片中要不要框選等等細節問題,都需要在標注教程中進行詳細的說明。

數據標注工具

對于非結構化的數據標注需要使用專門的標注工具進行,這里介紹兩款工具:

1. LabelImg

LabelImg是一款由python編寫的跨平臺標注軟件,由個人開發,是業內有名的一款標注工具,標注之后可以導出pascal-voc格式的數據。

但這個工具門檻有點高,一來是英文版,二來需要使用命令行工具下載python以及對應的pyqt4和lxml等第三方庫來使用。對于不會使用python命令行的來說,這個不是特別友好,就不再過多的介紹了。

人工智能時代:BAT的數據加工廠是如何運作的

2. 精靈標注助手

與LabelImg類似的一款國產工具,但在用戶使用上比前者友好太多,直接在官網即可下載并免費使用。

支持目前市面上所有常見的標注需求,并且除了pascal-voc和CoreNLP之外,還可以導出XML,JSON,MongoDB這些常見的數據格式,操作上也非常方便,基本不需要學習就可以直接上手使用。

如果是自己進行數據標注的話,首選這款工具。

人工智能時代:BAT的數據加工廠是如何運作的

當然,也有一些大公司會自己開發標注工具,但因為數據標注并不需要太高的技術含量,且對于標注的需求大多是項目性質的,所以大多數公司會選擇將數據標注的工作交給眾包團隊來進行。

如何做數據標注

1. 圖像類

框選類:對圖片中指定的物體進行拉框選擇,根據業務的不同,來框選不同的物品。

如果一張圖中有多個指定物品,則需要說明:什么樣的情況下可以一起框選?什么樣的情況下需要分別框選?以及,判斷框選的物品是否被遮擋或截斷?等等。

應用場景:識別圖片中是否存在某種物品,以及識別是什么物品。

例如:自動駕駛中判斷交通標示牌,拍照購物中識別物品,兒童認知類產品等。

人工智能時代:BAT的數據加工廠是如何運作的

2. 描點類

常見的需求有:描繪人體的關節點、手部的關節點,以及嘴唇的關鍵點、臉部的關鍵點,我還見過有對貓和狗的臉部進行打點的需求。

應用場景:描點類的應用場景很多——例如:人臉識別,以及美顏類的產品。還有最近在直播和短視頻應用中比較流行的智能換臉,換發型等,以后應該還可以應用到電商購物領域。對于關節點的識別可以應用在動作識別上,例如:安防領域,課堂教學領域等等。

人工智能時代:BAT的數據加工廠是如何運作的

3. 語義分割類

將一張圖片上不同的物品進行描邊,然后標注為指定的標簽。常見的有將人體的頭發,人臉,身體分割成不同部分,還有自動駕駛中對道路,建筑物,行人等進行的標注。

應用場景:語義分割是圖像識別的一個重要領域,對于計算機理解圖像進而作出決策有重要意義。

例如:自動駕駛場景中,需要判斷看到的物品是什么,進而決定接下來的駕駛行為。

人工智能時代:BAT的數據加工廠是如何運作的

4. 語音語義類

音頻轉寫:目前訊飛,搜狗等做語音方向的公司只能提供通用的語音模型,對于一些特定領域的語音識別,或語音本身不是特別清晰,或少數民族語言例如藏語維語等語言的識別則需要進行人工的語音轉寫。

應用領域:語音轉文本,語音模型構建,語言模型構建。

人工智能時代:BAT的數據加工廠是如何運作的

5. 文本分類

主要是針對文本的內容及性質進行分類,例如:判斷一段文本是積極還是消極,判斷一段文本屬于哪個領域知識等。

應用領域:輿情監控,新聞類別自動分類,垃圾郵件識別,商品評論情感識別等。

人工智能時代:BAT的數據加工廠是如何運作的

6. 實體標注

對于一些專業領域的詞語或者同義詞,近義詞需要進行實體的標注,以幫助計算機理解不同的詞代表的含義是什么。同時,在標注實體的時候,還可以標注實體的屬性,實體與實體之間的關系等。

應用領域:命名實體識別,知識圖譜構建等。

人工智能時代:BAT的數據加工廠是如何運作的

眾包數據平臺

數據眾包是指:公司將數據標注的任務發布到眾包平臺上,然后由個人或團隊來承接任務,并根據任務要求進行標注的一種工作形式。

相較于公司自己組建數據標注團隊,數據眾包的方式在成本和效率上都有著明顯的優勢,目前中國從事數據眾包的標注員近百萬人。

眾包帶來了成本降低的同時,也帶來了標注質量的問題。因為從業人員能力參差不齊,所以眾包進行標注之前,要先對標注人員的能力進行考核,只有考核通過的人員才能進行后續的正式標注。

例如:在提供標注教程之后,會先提供10個左右的標注題作為考核的題目,由系統進行判斷標注員的標注與正確的標注之間是否存在差異。如果存在較大差異的話則考核不通過,需要重新學習標注教程,直到考核通過之后才可以進行正式的標注。

下面的左圖是一個錯誤的人臉標注,與標準的貼合度不夠,正確的標注應該如右圖。

人工智能時代:BAT的數據加工廠是如何運作的

除了在工具上設置自動比對的功能,專門做數據標注眾包公會,通常會設置專門的審核員對所有標注后的數據進行審核,對于不合格標注進行打回,以此確保數據標注的質量。

對于眾包平臺來講,國外首選亞馬遜眾包平臺,ImageNet就是通過這個平臺進行標注的。而國內也有百度眾包、京東眾智、龍貓數據等眾包平臺可供選擇。

人工智能時代:BAT的數據加工廠是如何運作的

在選擇數據眾包平臺上,通常需要考慮以下幾個方面:

標注員專業度:

人工智能雖然是高科技領域,但數據標注卻是一個典型的勞動密集型工作,有經驗的數據標注員在工作的效率和質量上都會比新手要高,是個熟能生巧的工作。

所以,在挑選眾包團隊時,要注意選擇那些經驗豐富的標注團隊,這點跟招聘面試的道理是一樣的。

功能完善度:

眾包平臺都會自己開發一套標注工具供標注員使用,在選擇之前需要看一下平臺提供的功能是否滿足標注的需求,例如:目前有些平臺還不支持三維圖形的標注。還有一些平臺為了提高標注的效率,會提供預標注功能,在人工標注之前先根據過往數據形成的算法對數據進行預標注,人工只需要對預標注進行審核或修改即可。

另外,平臺的審核流程是否完善也是需要考察的重點,有些平臺只提供抽檢或一重審核,但是對于一些較為復雜的標注需求則需要平臺能支持多重的審核流程。

數據安全性:

有一些團隊——例如銀行,對于標注數據的安全性有較高的要求,則需要數據平臺提供API進行對接。

確保標注數據只存在公司內部而不會外泄,標注員只能訪問到當前需要標注的數據,“標后即焚”,保護數據的安全性。

數據整理與留存

在標注工作結束之后,拿到的數據根據業務和模型的需求,不同類型的數據要分開進行存儲。

例如:人臉標識中,戴帽子和不戴帽子,正臉和側臉,光線的明暗對于算法模型都有很大的影響,為了可以隨時調整建模數據,需要用不同的文件夾進行存儲。

除了根據不同的數據特征進行區分之外,還需要根據數據是訓練集。測試集還是驗證集來對文件進行劃分,根據模型訓練的效果可能要對標注好的數據做一些增刪,所以在一開始就做好數據的分類就很有必要了。

對于文件夾的命名方面,可以參考之前提到的駝峰命名法和下劃線命名法——例如“Train_Data”,“Test_Data”等來進行命名。

數據標注是一件費時費力的工作,所以,對于公司所有標注好的數據,最好有一份整合的數據清單文檔進行留存,標明:有一些什么數據?數量是多少?是否已經做了標注?標注了一些什么內容?

這樣如果以后還有類似的需求,或者公司內部其他項目組有類似需求的時候,就可以直接拿來使用而不需要再重新進行標注了。

數據標注的未來

在一個人工智能項目中,數據的準備工作要占到整個項目至少70%的時間,整個產業鏈都在想盡辦法提高數據準備和標注的效率。

例如:眾包平臺除了提供標注服務外,還可以提供數據的采集服務。根據業務方的需求采集特定的圖片,視頻,文本,語音等數據,節省業務方在數據采集上的時間,同時也給自己帶來額外的收費點。在算法的研究上,也希望能用盡可能少的訓練數據來達到建模的效果。

高質量的標注數據是人工智能的基石,現在才處于一個剛剛起步的階段,未來的幾年隨著應用場景的拓展,會有越來越多數據標注的需求,帶來可觀的就業增長。

同時,隨著時間的積累,可通用的高質量標注數據集越來越多,也將極大地降低智能產品落地的門檻,提高人工智能的發展速度。

 

本文由 @黃瀚星 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 人工智能訓練師和人工智能工程師還有區別嗎,應該是產品確定需求,根據當前數據源確定需要標注的場景和標注規則,此時算法人員介入,明確標注規則(避免劃分有誤),然后算法工程師獲取帶label的數據后進行模型訓練,與此同時產品需要準備各類數據來挑戰模型,最后確定模型:上線/修正/無法實現

    來自北京 回復