Categories
程式開發

阿里文娛搜索算法實踐與思考


導讀:視頻搜索是涉及信息檢索,自然語言處理( NLP ),機器學習以及計算機視覺( CV ) 等多領域的綜合應用場景,隨著深度學習在這些領域的長足進展以及用戶對視頻生產和消費的廣泛需求,視頻搜索技術的發展在學術和工業界都取得了飛速的發展,本文將以優酷為例,分享視頻搜索的算法實踐,首先介紹優酷搜索的相關業務和搜索算法體系,從搜索相關性和排序算法的特點和挑戰到技術實踐方案的落地,最後會深入介紹優酷在多模態視頻搜索上的探索和實踐。

本次分享主要包括

  • 視頻搜索簡介
  • 基礎相關性和排序模型
  • 多模態視頻搜索實踐

視頻搜索簡介

1. 業務背景

阿里文娛搜索算法實踐與思考 1

優酷搜索為整個阿里大文娛提供了一站式搜索服務,範圍包括優酷所有搜索入口,如 APP 和 OTT 等,還包括大麥和淘票票。搜索的內容包括有版權的 影、劇、綜、漫 影視庫,用戶上傳的 UPGC 視頻內容,影人庫,演出,小說資訊等,這些都是文娛搜索業務需求,優酷搜索為其提供統一的搜索服務。

2. 評估指標

阿里文娛搜索算法實踐與思考 2

搜索排序業務多目標的評估指標,如圖所示,可以拆分成4個大類。搜索的用戶價值主要體現在2個維度:

第一個維度為工具屬性,指的是用戶將搜索服務作為一個搜索工具,目標是找​​准找全。這是用戶價值的基礎,也是搜索的基礎屬性。從這個維度去評估搜索效果的好壞,主要從體驗指標去衡量:跳出率、相關性、時效性、多樣性等通用指標。視頻搜索可播性是指由於受版權影響,有些視頻在平台是不能播放的,能給用戶提供更大價值的是那些可播的視頻。此外,會用人工評測的方式對搜索的效果做橫向縱向的對比,來衡量搜索的滿意度。

第二個維度為分發屬性,能讓用戶消費更多的內容,主要是視頻觀看的 VV 和消費時長,這些指標對搜索是非常重要的,是用戶滿意度的直接體現。搜索能夠支持平台的宣發價值和廣告會員的商業化價值,前提是服務好用戶,用戶體驗好。

3. 搜索系統框架

阿里文娛搜索算法實踐與思考 3

上圖是搜索系統的整體框架,在2017年初步完成了搜索引擎相關中間件服務的升級,實現和集團搜索技術的戰略拉通。從一個query 搜索過程來理解各個模塊的功能,比如說用戶搜”大明風華”,用戶在手機上發起這一次請求,接入搜索網關之後,search planer 把這個請求發送到QP 服務,即query 理解的一個服務,對query 做意圖判定,成分分析,把這些信息傳遞到中間的引擎模塊去做相應的檢索,如粗排和精排的邏輯,將結果返回回來,再到一個RankService 排序服務。

整個框架中間層是引擎,下面是離線的索引服務,左邊是機器學習平台,包括特徵的流式計算,模型的在線學習,後面主要介紹排序服務模塊。

4. 搜索算法框架

阿里文娛搜索算法實踐與思考 4

在引擎端,相關性主要是在 searcher 的精排下實現的,排序模型的介紹主要是預測模型這一層。整個排序服務包括預測模型、模型融合、業務策略,整體上保證了搜索體驗和效率。

右圖是整個搜索算法的大圖,通過這裡的介紹希望大家對視頻搜索技術有一個全貌的理解,方便大家對後面內容的理解。

  • QP 服務在排序中的作用:首先在意圖層面,會把用戶意圖細粒度的切分出來,對query 的各個意圖做成分分析,比如說query 是”鄉村愛情趙四跳舞”,經過QP 服務的成分分析後,判斷鄉村愛情屬於一個節目名,趙四屬於角色,跳舞是一個動作。
  • 意圖識別後是排序和多媒體相關性,這兩個內容後面再詳細介紹。
  • 內容召回:主要是多媒體內容的理解,為什麼要做多媒體內容理解,因為視頻內容傳遞的信息非常豐富,不可能用文本標題全面表述,用戶在搜索時表達需求差異非常大,存在語義鴻溝,各個業務的搜索都存在語義鴻溝,視頻搜索中的鴻溝更大,所以不能把視頻當成黑盒直接用標題概述。我們的問題是從什麼維度去理解視頻?得益於深度學習在各個領域的全面發展,現在有能力做相關技術,包括OCR/ASR,對話的理解,通過CV 的技術對人物、動作、物體的元素級的結構識別,視頻的指紋,實體關聯,比如某個視頻是屬於哪個ip ( 電視劇/電影等)。基於這些相關技術,不僅僅只是做標題的文本匹配,與相關性匹配密切的關聯起來,能更好的幫助理解視頻和視頻間的關聯關係。
  • 數據層:有實體的關係數據,能夠通過技術挖掘這種關係;內容組織,通過圖譜聚合、時效聚合、內容聚合,把內容聚合成更方便用戶瀏覽的聚合形態。

相關性和排序內容

1. 搜索相關性

阿里文娛搜索算法實踐與思考 5

這部分定義到一些具體的 query 和 doc 上,理解能夠更全面一些。如上圖:

  • 第一類 query,”佟麗婭主演的電視劇遠大前程”和 doc 在文本上沒有直接關係。只有通過內容理解的方式才能把這個 query 和 doc 關聯上。
  • 第二類 query,”法不容情國語”和對應的 doc 沒有關係,要結合 NER 和內容理解的方式才能更準確,對 doc 的意圖理解更好。
  • 第三類是語義層面的匹配,相關性這一塊是需要多個層次的匹配的。

下面分為4個層次詳細分析:

阿里文娛搜索算法實踐與思考 6

  • 基礎特徵。比較通用的是 term weight 和匹配矩陣,通過基礎特徵能夠把文本匹配做的比較好。
  • 知識特徵。對於知識特徵的匹配需要其他輔助信息的補充才能做好的,首先通過內容理解的方式把 UPGC 視頻中的一些元數據補充上去,利用 NER 等技術把視頻的標題等成分識別準確。在這些基礎之上,我們做 query 和 doc 之間的結構化的知識匹配,這塊體驗能夠做的更好。
  • 後驗特徵。包括基於query 點擊的應用判斷,知識結合做意圖判斷,意圖和doc 的匹配,Query_Anchor 是從doc 維度統計的,哪些query 是和doc 是有關係的,能做一些文本的補充和意圖補充,這種補充不是純粹的統計,而是基於瀏覽模型,比如UBM 和DBN 等一些點擊瀏覽的模型,去消除文本、吸引度的偏差,提高滿意度,後面在相關性特徵還會詳細的去講一下。
  • 語義。主要解決語義匹配,視頻搜索存在很大的語義鴻溝,DSSM 表徵形的 sentence 級別的語義向量去做匹配,這塊是會在相關性層面去做。 BERT 這一塊是做知識蒸餾的方式,這塊計算太複雜了,在排序層做的。 SMT 不是在相關性和排序層面去使用的,是語義的擴展和 query 的改寫,能豐富語義內容的召回。點擊行為也是做一些語義層面的改寫擴展。

結合這4個層次的匹配,是能夠把搜索基礎相關性的匹配做到一個比較好的狀態。

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

阿里文娛搜索算法實踐與思考 7

左圖是相關數據集的構建流程,為了衡量相關性的效果,需要標註數據集。首先要有一個標註規範,主要結合實際業務和用戶需求來設定,並沒有通用的標準。數據集我們標註了2、3年,有幾十萬的數據,通過外包同學去標註,不僅標註相關性的等級,還會對同等級的樣本做偏序級的標註。我們對標註的質量和效率比較關注,左邊的方式是採用 active learning 的思想去提升標註效率和質量,降低標註的成本。數據集也分為驗證集和訓練集,驗證集主要針對特定問題去構建,具有一定的針對性,對不同驗證集解決完問題之後,不一定對線上體驗有正向的效果,因為它會帶來對其他維度變差的情況,所以我們需要訓練集和回歸集的驗證。右圖是我們相關性算法的主要特徵,大家可以參考下。

3. 語義匹配

阿里文娛搜索算法實踐與思考 8

我們在2017年上線了一個 sentence 級別的語義匹配模型,模型結構比較通用簡單,我們嘗試迭代的過程比較多,具體參數是和語料相關的,不同業務參數差別比較大。需要特別指出,語料樣本的選擇,對語義模型特別關鍵。在日誌處理過程中,沒有點擊的日誌不能當作語義的負樣本,垂直搜索引擎語義類query 相對還是比較少的,需要藉助外部的預料做訓練,這和我們集團的一些搜索比如神馬搜索,搜索日誌對語義搜索效果的提升是非常大的。

表徵形的語義模型,有一個好處是,doc 端的特徵是可以離線計算的,可以在相關性層面快速高效的去做語義上的計算,確保基本的語義內容能夠被召回,能夠排到前面去,能夠送到上層的重排序服務上,ranking service 上還有比較多的語義內容,能夠做一些精細化的語義計算。

4. 排序特徵體系

阿里文娛搜索算法實踐與思考 9

排序特徵體系,包括各個業務領域類的,基礎匹配類的,query 統計類的。有一些是視頻平台特有的,比如說實時的動態的處於宣發週期的一些特徵,對控制節目的排序,可播性,宣發的效果是特別有幫助的;另外,內容質量的評估對視頻平台是非常重要的,優酷的人工智能部有一個非常給力的CV 團隊,提供基於視頻這種無參考質量的評價框架,能夠對低層次的一些特徵,比如對比度,亮度,中等的模糊塊效應的失真,並綜合各種畫面質量去解決UPGC 視頻失真,模糊質量評價的難點,能夠從視覺層面去理解視頻,還有封面圖/標題的質量去評判,可以很好的區分好視頻和差視頻。

在用戶層面,用戶行為的表徵在很多寬泛搜索里都會應用,比如用戶在頻道頁的搜索排序,OGC 節目寬泛意圖的檢索場面,用的會比較多。因為在很多通用的搜索中,這種寬泛意圖的比率比較大。

5. 表徵學習

阿里文娛搜索算法實踐與思考 10

再介紹一個我們17、18年和達摩院一起把表徵學習在視頻搜索落地的方案。

上圖是表徵學習的模型,第一層是特徵預編碼的編碼層,用視頻元素、搜索意圖、用戶,這3類特徵去分析。在用戶維度,又劃分了用戶 id 和用戶觀看視頻的序列;在搜索意圖維度,有搜索的 id,搜索詞的視頻表達和文本編碼的表達。在視頻層,包括視頻統計特徵、視頻播放點擊量、視頻文本編碼、視頻在整個 session 期間和其他視頻的關係數據,來構建這些不同的特徵域。

在第2層和第3層,這2個不同特徵域之間的網絡結構是相互獨立的,通過稀疏的編碼優化能夠全鏈接到第1層。可以對高維特徵進行降維,把高維特徵信息投影到低維的向量空間中。第4層把不同域的表徵信息,內部的編碼,綜合到一起,形成一個綜合的多模態的向量融合,再經過上面的2層的全鏈接實現搜索用戶意圖和搜索視頻維度的排序。

整個模型在性能優化後再計算層面是沒有什麼性能問題的,上線後分發效率提高明顯,分發 ts 觀看時長增加。

我們在上線後同樣看到了一些問題:這種單一目標的排序模型,它的優化目標是 ts,就會忽略一些基本體驗。比如,相關性約束對整個體驗來說不一定在提高用戶體驗,可能在頭部的一些效果上,我們行為比較多的一些搜索query 上體驗是提升了,但是中長尾的一些效果上其實是比較難以保證的,所以後面我們也是做了不同的嘗試,把表徵學習和其它的一些維度的排序效果相融合。

6. 多目標 Deep LTR

阿里文娛搜索算法實踐與思考 11

上圖為19年在排序方面的一些實踐,多目標的深度排序學習。這裡的多目標包括:相關性目標,rank 的 loss,entity loss。為什麼有這些目標呢?我們其實是做一個整體的目標學習,我們要確保涵蓋相關性技術體驗的 loss,分發效率的排序 loss,實體匹配上的 loss。相對於表徵學習的單一目標,我們這裡要實現一個端對端的多目標的。

樣本標註方面要綜合時長和播放完成比,如果我們按照存點擊數據,很多情況是和 ts 目標不一致的。如果只考慮視頻時長,那麼長視頻就會被放在前面,如果只考慮播放完成比,那麼短視頻就會被放在前面,因為短視頻就幾十秒,很快就能播放完,長視頻幾十分鐘,有的幾個小時,不容易看完。所以我們會綜合時長和播放完成比,對時長做分段的處理,在相同時長下作橫向比較,形成一個不同時長視頻的 label 分級,引導目標去學習。

這裡正負樣本採樣比例1:8,是通過我們不斷迭代調整的結果,並沒有一個通用的方法。

多模態視頻搜索

1. 多模態視頻搜索

多模態搜索就是將語音,文字,圖像等各種模態集中起來一起搜索。學術上也有很多和多模態搜索關聯的,比如實例搜索,給定一個實例圖像,搜索相關的視頻片斷,將視頻轉成文本,VTT 任務;AVS 視頻搜索,輸入一個文本,在視頻中搜索相關的視頻。這和我們今天的主題多模態視頻搜索是非常契合的,學術界的方法也是比較多的,如把query 和視頻都映射到中間的一個維度,一個概念空間裡面,再做相似度的匹配排序;最近也有一種思想是video bert,採用transformer 的思想把video 通過端對端的解決方法,基於多模態視頻搜索技術可以有很多新的搜索體驗,下面講一些優酷的實踐。

剛剛講的學術界方法對短小視頻搜索效果是比較好的,但對長視頻很難做到準確,視頻很長,覆蓋的範圍很廣,用這種表徵的方式不容易覆蓋那麼多豐富的內容的,所以對工業界的視頻搜索,不是端對端的解決方案,現在的做法是將視頻模態信息通過降維的方式,都轉換成文本的模態,對視頻內容做細粒度的內容拆解,將圖像,動作,人物,聲音這些背景信息,通過CV 檢測方法識別出來,去做標籤化,去完成降維。另外一種降維的方式是通過OCR 和ASR,光學文本的識別和語音識別的技術將視頻中的對話信息轉化成文字,關鍵字和主題的抽取,再去形成事件的分析和概念主題的理解。

阿里文娛搜索算法實踐與思考 12

一個完整的視頻可以分出不同的片段,然後形成 shot,關鍵幀,關鍵元素,通過對關鍵元素的分析,可以把動作場景人物做一些識別。舉個例子,如上圖,通過人臉識別可以識別出這個片段中出現了哪些人,”週六夜現場”能檢測出岳雲鵬,陳赫;”曉說”能檢測出高曉松,通過OCR/ASR 可以把視頻中的對話結構化出來,然後做一些關鍵詞的抽取。

阿里文娛搜索算法實踐與思考 13

接下來將作更深次的討論,如上圖,從視頻標題看是陶瓷,如果不做內容結構的分析,根本不知道裡面在說什麼。所以要對文本進行分析理解,在分析理解時,會有一個難點:這麼多文字,需要一個完整的實體知識庫,視頻內容涉及的領域非常廣,包含全行業的豐富的實體。輔助我們抽取核心內容的元素,比如”伯特格爾”是誰,是個人物,“塞夫勒”,“麥森”這些地名需要理解,以及實體鏈接和實體之間的關係的推理。這個視頻是介紹歐洲陶瓷發展歷史的,歐洲陶瓷是從哪裡開始的,是從”塞夫勒”開始,是由”伯特格爾”這個煉金師發現出來的,很多對話內容是通過主體引用,要理解指代的實體,上下文引用的主體是需要識別出來的;另外一個就是實體之間的關係,比如”塞夫勒”、”麥森”是歐洲的城市,和中國,日本是什麼關係,這種實體之間的關係是需要有的,否則對講的什麼事情是很難理解的,需要知識圖譜輔助。在實體知識庫的支撐下,候選的關鍵字通過分類模型得到關鍵字分級,分成核心關鍵詞,相關關鍵詞,提及的關鍵詞,分完級之後,在相關性匹配上做的更有針對性。

2. 視頻元素級知識圖譜

阿里文娛搜索算法實踐與思考 14

前面是視頻理解的方式,如右圖視頻標題是李健-《風吹麥浪》( 春晚歌曲),但是他是和孫儷一起唱的,標題裡沒有孫儷,用戶經常搜索的內容是”孫儷李健合唱的風吹麥浪”, 我們需要通過人物識別的方式把視頻中的關鍵人物識別出來。在視頻搜索中,需要多模態信息的輔助的,才能提高搜索準確率。左邊是”甄繯傳”,通過視頻元素級識別,可以把關鍵人物識別出來,並且可以把人物和角色,人物和ip 之間的關係獲取出來,檢索時可以將具體人物出現的關鍵位置檢索出來,以及台詞,歌詞,內容關鍵的一個場景的起止時間,如果用戶在搜索”甄子丹的打鬥視頻”,我們有相應的內容視頻的聚合數據,用戶可以搜到開始打鬥的起始時間的。

3. 效果案例

阿里文娛搜索算法實踐與思考 15

再舉幾個內容關鍵詞在多模態視頻搜索中的應用,如上圖,搜索”軍情解碼張召忠”,搜索結果中標藍的這些是通過內容理解,人臉識別,多模態搜索召回的。搜索”軍武次位面虎式坦克”,通過對話理解提取出來的關鍵詞,搜索”曉說以色列”也是類似的。這部分在搜索所佔的比率不是很大,但是觸發的效果還是非常明顯的,效果提升100%。

多模態視頻搜索的應用場景是非常廣泛,目前還沒有做到故事級別的理解,這塊是需要繼續努力的方向。

今天的分享就到這裡,謝謝大家。

作者介紹

若仁,阿里文娛高級算法專家

優酷人工智能平台部搜索相關性和排序算法負責人,負責搜索相關性等基礎體驗優化和排序分發效率的提升。

本文來自 DataFunTalk

原文鏈接

https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247499175&idx=1&sn=1c398e92f0712e4e5f545759d0a85692&chksm=fbd74fcbcca0c6dd11a04b493827ffdda06c69f6013b95c74c54c14f596cab0f303751f9e14d&scene=27#wechat_redirect