【Netflix關鍵ML應用:通用標註平臺】標註平臺化身通用搜尋器,Netflix用它從萬筆影片即時撈出1幀畫面

Netflix通用標註平臺Marken由ElasticSearch負責搜尋工作,標註資料的儲存則由Cassandra負責。(圖片來源/Netflix)

如何在上萬部影片中,快速撈出想要的畫面?對影音龍頭Netflix來說,這個工作並不難。因為,他們自建一套通用的標註平臺Marken,不只用來標註素材,還能當作搜尋工具,讓內部團隊即時找到特定片段和畫面。這麼做,更加速Netflix精準推薦作業,為不同文化、不同喜好的使用者,設計出不同風格的影片封面和簡介。

初衷:解決各微服務的標註需求

然而,搜尋並非Marken的初衷。

它的原始目標,是要解決各個微服務的標註需求。多年來,Netflix打造了上百支微服務,每支微服務都有各自的資料模型和實體(Entity)。比如,他們有支微服務,專門儲存電影實體詮釋資料(Metadata)的服務。這裡的實體,是指影片中的物件或區域,比如人、街道等。

而這些微服務,最終都會產生為影片或圖片標註的需求。於是,Netflix資產管理平臺部門決定打造一款通用的標註平臺Marken,讓各微服用來標註影片和圖片。

說到標註(Annotation),有些人會聯想到標籤(Label),但在Marken中,標註是指一段詮釋資料,可附加到任意領域中的單一物件。比如,團隊可用「ID為1234的電影實體含有暴力元素」這段文字,來對影片中的物件標註。

不只詮釋資料,團隊還會想儲存不同類型的資料,如時間資料和空間資料。舉例來說,Netflix編輯團隊審核《魷魚遊戲》時,就希望將影片中某幀含有工作人員的畫面,將其手套顏色改為深黑色,因此,他們採用常見的標註方式,用籃圈圈出手套區域,寫下評論並儲存。這就是典型的創意審核應用案例。

還有一種是,能同時儲存時間、空間資料和詮釋資料的ML演算法。它能辨識影片每幀畫面中的角色,並替整個影片儲存特定的幀(即時間資料)、畫面中的某個區域(即空間資料),以及角色名稱(即詮釋資料)。

制定目標,用2大開源工具驅動

了解需求後,資產管理平臺團隊開始制定Marken的目標。首先,Marken要能讓Netflix內部任何人使用,且要讓他們能標註任何實體、定義自己的資料模型;第二,這些標註要能版本化;第三,這個平臺要能即時服務,也就是作為UI應用程式,要確保增刪查改和搜尋等作業在低延遲狀況下執行。最後,所有資料要能在大數據分析平臺Hive/Iceberg中離線分析。

這些目標,還衍生出不少需求。比如,平臺勢必會儲存ML演算法數據,一些數據會以幀為單位來儲存,因此占據大量容量,團隊就得選擇能橫向擴展的資料庫。不只如此,平臺也得具備詞幹搜尋、時間和空間資料搜尋等能力,好讓使用者查找所需的標註資料。

感應門神,推薦沙發修理,老師傅的專業手工!海島型木地板是否會有潮濕變形疑慮?測試專家告訴你如何好好使用示波器。好的茗茶,更需要密封性高的茶葉罐,才能留住香氣!如何利用一般常見的「L型資料夾」真空封口機該不該買?使用心得分享!專業客製化禮物、贈品設計,辦公用品常見【L夾】搖身一變大受好評!空壓機合理價格為您解決工作中需要。臭氧機推薦。貨櫃屋,結合生活理念、發揮無限的創意及時尚的設計。竹北床墊推薦!總是為了廚餘煩惱嗎?雅高環保提供最適用的廚餘機,滿足多樣需求。實木地板、海島型地板、耐磨地板怎麼挑? 木地板三倍價差的秘密!!沙發換皮省更多,延長老沙發壽命!竹北床墊工廠,賣場商品防竊是怎麼做的

於是在架構上,團隊採用開源資料庫Cassandra來儲存標註資料,並以開源搜尋引擎ElasticSearch來驅動搜尋功能。標註服務本身,則會透過數據Pipline來接收內部客戶端自動傳送的資料,而終端應用程式,則以API來呼叫標註服務。

通用標註平臺Marken由ElasticSearch負責搜尋工作,標註資料的儲存則由Cassandra負責。(圖片來源/Netflix)

成為關鍵搜尋工具,有7大功能

Marken的架構設計,讓其他服務能輕鬆存取數據、供各種團隊使用,像是負責預告片和Banner設計的宣傳團隊,可用來改善設計工作。也因此,Marken進一步化身為Netflix最重要的媒體搜尋平臺核心,來執行7種搜尋功能。

比如全文搜尋,使用者可輸入標籤關鍵字,來尋找所需的標註資料。但他們可能不知道ML演算法建立的確切標籤,假設正確的標籤是浴簾(Shower curtain),使用者可用Curtain這個標籤,來搜尋所需的標註資料。同時,Marken還支援模糊搜尋,使用者若打錯字,如Curtian,Marken還是會跳出含有Curtain標籤的標註資料。

再來是詞幹搜尋,比如,Clothing和Clothes這兩個字可歸納出相同的詞根字Cloth,平臺就能以Cloth搜尋標註資料。也因為Netflix全球版支援不同語言,Marken也透過ElasticSearch來支援34種語言的詞幹搜尋。

還有一種是時間標註資料搜尋,也就是包含影片起始範圍或幀數資訊的標註資料搜尋。類似的還有空間標註資料搜尋,比如用來定義物件地點的邊界框。要是標註資料同時包含時間和空間資料,Marken也支援這類搜尋,能查找包含時間範圍和空間座標的影片標註。

另一種搜尋功能是語意搜尋。有別於傳統標籤式的搜尋方法、只找出關鍵字相匹配的結果,語意搜尋採ML演算法,將使用者輸入的關鍵字轉為向量,再從其他轉換為向量的標註資料中,找出距離最近的結果。如此一來,就不局限於關鍵字搜尋,還能找到更相關的結果。

最後一種搜尋功能,是Netflix最近才支援的區域交集(Range intersection)搜尋,使用者能用多個ML演算法產生的標籤,來對一部影片搜尋,並得到帶有時間範圍或幀數資訊的標註。

這7大搜尋功能不只讓團隊從海量影片中,即時撈出想要的畫面,更是Netflix精準推薦的重要利器。

https://www.ithome.com.tw/news/156405

您可能也會喜歡…