視頻搜索太難了!阿里文娛多模態搜索算法實踐

視頻搜索是涉及信息檢索、自然語言處理(NLP)、機器學習、計算機視覺(CV)等多領域的綜合應用場景,隨着深度學習在這些領域的長足進展以及用戶對視頻生產和消費的廣泛需求,視頻搜索技術的發展在學術和工業界都取得了飛速的發展。

阿里文娛高級算法專家若仁在GMIC 2020分享了視頻搜索技術和多模態在視頻搜索領域的應用,本文整理自演講速記,希望能給關注或從事視頻搜索方向的算法同學帶來啓發。

考慮到大家來自不同的業務領域和技術方向,我會先簡單介紹優酷視頻搜索的業務背景,同時快速介紹搜索的基本評估指標、搜索系統的算法框架以及相關性和排序模型,讓大家對視頻搜索有一個更全面的認識,後面重點介紹多模態視頻搜索相關技術。

阿里文娛搜索現狀

搜索團隊爲整個阿里文娛提供一站式的搜索服務,服務範圍包括優酷Phone和OTT端,還包括大麥、淘票票。涉及的檢索內容,從影劇綜漫的長視頻影視庫,到覆蓋社會各領域的UPGC視頻。此外,影人和演出場館也在搜索服務覆蓋範圍內。以優酷爲例,我們有數億視頻資源,不僅包括平臺購買了版權的OGC視頻,更多是用戶上傳的UPGC視頻。 視頻的存儲、計算以及分發,比文字更具挑戰。

搜索技術的用戶價值主要體現在兩個維度:

一是工具屬性。用戶將搜索服務作爲尋找內容的工具,目標是“找準,找全”,即“搜的到,搜的準”。從這個維度去評估搜索效果的好壞,需要一系列的體驗類指標,比如跳出率、相關性,以及時效性和多樣性,這些都是搜索通用的技術指標。所謂可播性指在應用上能播放,這是全網視頻搜索特有的,受內容版權和內容監管多方面的原因限制,有一些內容是平臺無法播放的。 此外,我們還會定期進行人工評測,做橫向和縱向比較。

二是分發屬性。讓用戶消費更多的視頻內容,有更多VV(觀看視頻數)以及TS(消費時長)的引導。這些指標對於垂直搜索非常重要,也是對用戶滿意度最直接的衡量。對於平臺來說,搜索還能支持平臺的宣發和商業價值,實現廣告/會員的商業價值,前提是將用戶體驗做好。

搜索算法框架如上圖所示,由下到上依次是數據層、技術層、內容召回、多媒體相關性、排序、意圖。

1)數據層:視頻內容數據是最基礎的,我們從視頻內容中抽取出對應的知識,包括實體、實體之間的關係以及屬性。通過內容組織的方式,以圖譜知識去指導我們做聚合,從時效性的維度做聚合,從多種維度將內容組織起來;

2)技術層:在數據基礎之上,利用CV和NLP技術,支撐上層內容召回和相關性、排序,以及對Query的意圖理解;

3)召回層:對多媒體內容理解是難點,下文會詳細展開講;

4)相關性:包括基礎相關性/語義匹配技術;

5)排序層:按照體驗和分發等維度,去提升搜索整體體驗。排序利用機器學習排序學習的方式,去提升分發效果,此外還要優化體驗類目標,如時效性、多樣性等,同時也要實驗平臺的宣發等目標,是典型的多目標優化場景;

6)意圖:對Query意圖理解,首先要對Query做成分分析,標明Query各成分是什麼,是節目名還是劇集信息。然後要建立細粒度的意圖體系,對用戶表達的意圖去做深層次的意圖理解,從而更精準地指導召回、相關性和排序。

多媒體內容理解是視頻搜索的重點,視頻內容傳遞的信息是非常豐富的,不可能用標題的短短十幾個文字描述全面。用戶在檢索時,表達需求的差別非常大,這就是天然的語義鴻溝。所以我們不能把視頻當作黑盒子,需要利用NLP能力、CV的能力以及其他技術能力對視頻內容做全面的分析解構。

視頻搜索的相關性和排序模型

1 挑戰

相對通用搜索,視頻搜索存在特殊的挑戰。第一個挑戰是內容相關性匹配,下圖中前兩個Case體現出用戶表達的Query和視頻標題不是那麼相關,需要通過對內容理解分析,豐富其元信息,建立起內容相關性。

如“變形計2017姚金冬”,視頻標題中只有“姚金冬”,實際上通過視頻內容的理解,可以知道“姚金冬”和“變形計”,並且是2017年的。通過內容理解和IP指紋,把IP周邊視頻,如切條或二創視頻,和IP建立起關聯關係,能大大豐富視頻的元信息,提升內容相關性匹配度。

第二個挑戰是實體知識匹配。我們要藉助於視頻標題的結構化去理解,用NER方式抽取出來,同時也需要CV的技術去輔助NER識別的準確率。比如“法不容情國語”,QP端理解出“法不容情”是一個節目名,這就是Query的成分分析。用戶上傳的是“公共用地被佔私用,法不容情”的社會問題,需要對文檔端做結構化的理解,要理解出“法不容情”在上下文中不是節目,而是其他意思,然後在相關性匹配的時候,利用這些先驗知識做更好的相關性判斷,從而決定相關性匹配度。 此外,“中國餐館電視劇”這個Case也類似,用戶找的是《中國餐館》節目,而不是需要檢索出“中國餐館放着抗日神劇”。

第三個層面的挑戰是語義匹配。當然,通用搜索也有語義匹配問題,一些語義類/How to類的知識匹配,要去做語義和更全面的分析,比如利用內容理解和實體知識的輔助補充等,才能做好語義匹配。

2 解法

我們整個視頻搜索相關性是從四個維度去做:

1)基礎特徵:基於基礎文本的特徵匹配,包括Term Weight、匹配矩陣等;

2)知識特徵:通過內容理解以及視頻自身所帶的元信息,例如視頻中的人物所關聯的節目相關的元信息,以及針對視頻標題所做的結構化理解,比如抽取出哪部分是人物、哪些是IP名、哪些是遊戲角色等。標題結構化之後,根據Query成分的理解,支持在知識層面去做匹配;

3)後驗特徵:因爲用戶去搜索Query之後,搜索結果之間會產生交互,形成Query和Doc的交互特徵。Query_Anchor以及通過這些交互特徵能夠指導Query意圖的理解,把他們作爲這種後驗關聯的一些特徵,能夠支持我們這種意圖匹配。

4)語義:文本層面的語義匹配,利用DSSM語義模型和Bert語義模型,做離線和在線的語義匹配模型。除了這種匹配層面之外,還要支持語義召回。通過SMT和點擊行爲分析等技術,進行語義擴展,擴大召回語義內容的範圍,利用它們形成的特徵做更好的語義匹配。

3 相關性數據集構建和特徵體系

全面準確地發現問題是解決問題的基礎。構建相關性數據集的目的是給相關性算法提供Ground Truth,標註是重點。相關性標註數據集的標註規範較複雜,標註樣本量比較大,一般會通過外包進行人工標註,需要重點關注的是標註質量和標註成本。根據標註規範不僅要去標註樣本的等級,對同等級下的樣本還需要標註偏序關係,質量的把控特別關鍵。對於成本來說,需要有高效的樣本挖掘機制和方法。

如圖中左側所示,可以通過Active Learning的思想來加快標註的效率提升,同時也能提升標註質量。 我們可以基於訓練集不斷地迭代線上模型,對於線上模型預測不是那麼準確的樣本,可以提供給外包同學去檢測標註,形成一個快速的迭代閉環,提升訓練的精度。大家用這種方法去做,能夠大大提升整個標註的質量和效率。

右側是相關性的技術特徵,最上層是Query相關的特徵,有常規類的,非常基礎的文本特徵;有意圖理解輸出的特徵,比如說人物、節目、寬泛、How to類意圖等;文檔端的先驗特徵包括從文檔標題解構出來的特徵以及基礎文本特徵,除了先驗特徵還會使用前面說的後驗特徵;最下層是Query和Doc的匹配類特徵,匹配特徵也會分基礎匹配、意圖匹配、語義匹配、知識匹配這幾個維度。

4 排序特徵體系

  1. 搜索詞特徵組:搜索詞以及匹配特徵這些特徵類別,是搜索領域通用的;
  2. 匹配特徵組:有一些特徵是平臺特有的,比如視頻的實時播控、內容宣發特徵;
  3. 視頻內容特徵組:內容質量對於我們的平臺非常重要,因爲每天上傳視頻量非常大,需要做好內容質量的評估,才能更好地指導冷啓動的分發。我們人工智能部有一個CV團隊,負責爲我們提供高質量的特徵,從封面圖、標題、畫質/圖像/聲音各模態去評估視頻質量;
  4. 用戶特徵組:用戶行爲特徵,用戶畫像及用戶行爲的表徵學習特徵主要用在一些寬泛搜索場景。例如頻道頁的搜索排序、 OTT寬泛意圖排序等。

接下來分享2017年,我們和達摩院在搜索上落地的表徵學習排序方案。

第一層是特徵域編碼層,按照用戶、搜索意圖、視頻三元素劃分。在用戶維度,劃分了用戶id域、用戶觀看視頻序列域;搜索意圖維度,劃分了搜索詞id域、搜索詞視頻表達域、文本編碼域;視頻維度,劃分了視頻統計特徵域、視頻文本編碼域、視頻i2i域。

第二層和第三層不同特徵域間網絡結構相互獨立,通過稀疏編碼優化的全連接層對第一層的高維特徵域進行降維,把高維信息投影至低維的向量空間中。

通過第三層全連接層對域內信息進行二次編碼,輸出域內特徵向量。

通過第四層把concat層鏈接起來,對域間的id特徵向量、行爲特徵向量、文本特徵向量和觀看序列特徵向量做多模態的特徵向量融合。

之後經過兩層的全連接網絡實現對給定用戶和搜索意圖下每個視頻的排序分值的預測。這個模型是內容分發的一個排序模型,它同時還會結合相關性模型、時效性,以及視頻質量等從多維度做模型融合,來決定最後的排序。

多模態視頻搜索實踐

基於標題和描述等文本信息的檢索會遇到很多困難。

  • 首先是單模態信息缺失,用戶在上傳UGC視頻的時候,標題是比較簡單,很難將豐富的視頻內容表達清楚,有時這些文字信息還和視頻內容是沒有關聯關係的;
  • 其次是用戶搜索意圖越來越多元化,即使是版權視頻的搜索也不再集中於節目名字的搜索,社交與互動的需求逐漸增長越來越多;
  • 還有To B側的需求,也就是內容二創的用戶,需要去找各種各樣的視頻片段,視頻素材,這部分的需求也需要用多模態技術去支撐。

基於多模態技術的搜索,將語言、語音、文字、圖像的各種模塊集中起來,綜合這些信息來理解,能夠方便用戶更好地找到所需內容,得到更好的搜索體驗。目前在工業界和學術界對多模態搜索的研究熱度都非常高,學術界有很多方案是基於將 Query和視頻映射到一箇中間Concept的空間,然後在中間維度做相似度的匹配排序。此外,也有VQA/GQA等各類基於視頻問答的數據集去推動自然語言和圖像的關係推理,最近Video/Visual Bert的端到端的解決方案也有了很大的突破。

學術界喜歡這種端到端的解決方案,對於短小視頻的理解可能確實是不錯的方案。但針對長視頻,這些方案很難真正做到準確的理解。因爲長視頻包含的內容信息更多維、更寬泛。此外,工業界的搜索引擎需要有可解釋性和可控性,很少採用單一端到端的解決方案。

優酷的多模態搜索採用的技術方案是:

  1. 利用CV算法技術,將其他模塊的信息降維到文本模態;
  2. 通過多模態內容檢索的技術實現召回;
  3. 再從上層通過內容相關性和排序技術,滿足用戶對內容各維度的檢索需求。

例如,基於人臉識別的技術,識別出視頻中出現的明星人物,如《這就是街舞》視頻中識別出易烊千璽、黃子韜等;通過OCR/ASR技術,識別各視頻中的對話內容並轉化成文本,然後基於文本去做結構化理解。

結構化的文本需要有系統性的理解和組織,可以利用關鍵詞抽取技術把它理解好並形成我們的內容主題;同時我們還會利用音樂識別、動作識別、場景識別、情緒識別等CV技術,不斷豐富解構內容,進而做到用戶做各種組合搜索的時候,我們都能夠召回,還能排的比較好。

上圖是用一個案例來介紹我們在多模態視頻搜索時,如何更好地組織內容關鍵詞,視頻內容降維成文本之後,怎麼做好這些文本內容的組織理解。

首先,這個案例中,內容關鍵詞的詞庫是非常非常大的,此外內容和關鍵詞屬於多對多的關係。我們要通過各種關鍵詞抽取技術來抽取候選的內容關鍵詞,並且要擴大候選詞來源的多樣性。比如基於“NER”的方法能確保抽取的內容關鍵詞是百科類實體名稱,有較廣泛的知識內涵; “新詞發現”方法會綜合Ngram以及語言模型(LM)等多種基礎能力擴大對未知知識領域的挖掘。

候選關鍵詞是不斷擴充的,隨着我們在視頻內容理解的維度擴大,候選關鍵詞的來源會越來越豐富。在豐富的內容候選關鍵詞基礎上,根據內容候選關鍵詞和視頻內容相關程度構建分類模型預測不同的等級,最相關的是核心內容關鍵詞,其次是相關內容關鍵詞以及提及內容關鍵詞。然後關鍵詞分級的核心特徵除了文本特徵之外,還會採用音頻/視頻表徵網絡生成的一些多模態特徵來共同訓練,進而提升預測關鍵詞相關度的準確率,把關鍵詞和內容表達的關聯度預測得更精準。

這麼做存在一些問題,以圖中視頻爲例,該視頻主要是講歐洲瓷器的發展史,但是該視頻文本標題是“陶瓷:陶瓷(六)”,非常簡短的描述,對它做內容理解降維成文本後,我們能夠利用上面講到的技術抽取內容關鍵詞“塞夫勒”、“麥森”,但是如何把“塞夫勒”、“麥森”和“歐洲”關聯起來,知道這個視頻講的是歐洲瓷器發展史,而不是中國或者日本?此外對於瓷器領域知識實體,“陶器”、“青花瓷”、“高嶺土”,怎麼把它們和“瓷器”概念關聯起來?

這些都需要有知識圖譜(KG)支撐,這就需要KG實體知識庫涵蓋廣泛的領域,需要有全行業的豐富實體,才能幫助我們提取核心內容主題。另外像抽取的內容關鍵詞“伯特格爾”是個人名,但是要用什麼技術才能使它和內容主題相關程度識別準確?知識庫不一定能收錄,單純通過頻次也不一定能理解準確,但是“伯特格爾” 被“他”指代提及多次,算法需要有這種指代推理能力,才能把這樣的關係理解出來。有了這些關係的理解,才能基於內容關鍵詞去理解整個內容事件、內容主題,以及內容故事線等不同層級的抽象,才能夠更全面地理解視頻,然後更好地支撐上層的召回匹配和排序。

目前,我們做的這些探索都已經在優酷上線了,在線上能看到效果。當用戶搜索“軍情解碼張召忠”時,排前面的這幾個視頻內容都是“張召忠”主講的,但是在標題文本里面其實沒有“張召忠”這個名字,我們的算法通過內容理解的方式把它抽取出來了;像“軍武次位面虎式坦克”,“虎式坦克”是用戶是要找的,但是在視頻標題中都是“榮耀之虎”、“虎P之腿”,這些視頻裏面針對“虎式坦克”有詳細的內容介紹,通過內容理解能夠將用戶的需求和內容關聯起來,做比較好的召回和排序;最右邊的是高曉鬆老師的“曉說以色列”,也是同類型。

作者介紹:阿里文娛高級算法專家 若仁

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章