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

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

什麼是數據標註

著名雜誌《經濟學人》將數據類比爲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命令行的來說,這個不是特別友好,就不再過多的介紹了。

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

2. 精靈標註助手

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

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

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

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

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

如何做數據標註

1. 圖像類

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

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

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

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

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

2. 描點類

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

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

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

3. 語義分割類

將一張圖片上不同的物品進行描邊,然後標註爲指定的標籤。常見的有將人體的頭髮,人臉,身體分割成不同部分,還有自動駕駛中對道路,建築物,行人等進行的標註。

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

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

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

4. 語音語義類

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

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

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

5. 文本分類

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

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

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

6. 實體標註

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

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

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

衆包數據平臺

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

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

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

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

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

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

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

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

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

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

標註員專業度:

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

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

功能完善度:

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

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

數據安全性:

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

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

數據整理與留存

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

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

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

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

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

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

數據標註的未來

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

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

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

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

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

題圖來自Unsplash,基於CC0協議

相關文章