如何在上万部影片中,快速捞出想要的画面?对影音龙头Netflix来说,这个工作并不难。因为,他们自建一套通用的标注平台Marken,不只用来标注素材,还能当作搜寻工具,让内部团队即时找到特定片段和画面。这麽做,更加速Netflix精准推荐作业,为不同文化、不同喜好的使用者,设计出不同风格的影片封面和简介。
初衷:解决各微服务的标注需求
然而,搜寻并非Marken的初衷。
它的原始目标,是要解决各个微服务的标注需求。多年来,Netflix打造了上百支微服务,每支微服务都有各自的资料模型和实体(Entity)。比如,他们有支微服务,专门储存电影实体诠释资料(Metadata)的服务。这里的实体,是指影片中的物件或区域,比如人、街道等。
而这些微服务,最终都会产生为影片或图片标注的需求。於是,Netflix资产管理平台部门决定打造一款通用的标注平台Marken,让各微服用来标注影片和图片。
说到标注(Annotation),有些人会联想到标签(Label),但在Marken中,标注是指一段诠释资料,可附加到任意领域中的单一物件。比如,团队可用「ID为1234的电影实体含有暴力元素」这段文字,来对影片中的物件标注。
不只诠释资料,团队还会想储存不同类型的资料,如时间资料和空间资料。举例来说,Netflix编辑团队审核《鱿鱼游戏》时,就希望将影片中某帧含有工作人员的画面,将其手套颜色改为深黑色,因此,他们采用常见的标注方式,用篮圈圈出手套区域,写下评论并储存。这就是典型的创意审核应用案例。
还有一种是,能同时储存时间、空间资料和诠释资料的ML演算法。它能辨识影片每帧画面中的角色,并替整个影片储存特定的帧(即时间资料)、画面中的某个区域(即空间资料),以及角色名称(即诠释资料)。
制定目标,用2大开源工具驱动
了解需求後,资产管理平台团队开始制定Marken的目标。首先,Marken要能让Netflix内部任何人使用,且要让他们能标注任何实体、定义自己的资料模型;第二,这些标注要能版本化;第三,这个平台要能即时服务,也就是作为UI应用程式,要确保增删查改和搜寻等作业在低延迟状况下执行。最後,所有资料要能在大数据分析平台Hive/Iceberg中离线分析。
这些目标,还衍生出不少需求。比如,平台势必会储存ML演算法数据,一些数据会以帧为单位来储存,因此占据大量容量,团队就得选择能横向扩展的资料库。不只如此,平台也得具备词干搜寻、时间和空间资料搜寻等能力,好让使用者查找所需的标注资料。
於是在架构上,团队采用开源资料库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精准推荐的重要利器。
相关报导 …