陳小娥,陳德濤
(福建船政交通職業學院信息與智慧交通學院,福建福州 350001)
近年來,短視頻廣泛出現在各種社交平臺上,其熱度呈爆炸式增長。短視頻具有時間短、表現形式多樣、信息承載量高等特點,用戶可以輕松地利用碎片時間進行獲取和分享,深受用戶歡迎。通過對短視頻進行分類,識別用戶特征,了解用戶興趣和需求,從而進行定向推薦或營銷具有巨大的商業價值。
常見的短視頻通常具有文本、語音、視頻三種模態的信息,在不同語義分類體系中發揮著相互促進、相互補充的作用,合理利用好多模態的信息進行多角度的理解才能準確地對短視頻進行分類。
本文通過對短視頻標題、音頻轉文本識別結果以及視頻OCR識別結果進行模態融合。同時,由于考慮到真實場景數據集中模態缺失的問題,考慮采用jieba分詞填充空缺進行實驗,并對無關信息進行清洗,降低臟數據對模型訓練效果的影響。通過對基線模型進行改進,包括在權重共享的Embedding 和非權重共享的Embedding 上使用Early-Fusion 等方式,同時結合文本特征和視頻特征進行提升,并進行驗證試驗來驗證改進的有效性。
2018 年,Devlin 等人[1]提出了BERT 模型,并在11個自然語言處理任務中獲得了顯著的提升。BERT模型的目標是利用大規模無標注語料訓練獲得文本的語義表示,然后再將文本的語義表示在特定NLP任務中作微調,最終應用于該NLP任務。
Devlin提出的BERT模型原文是在英文數據集上訓練的,2019 年,哈工大訊飛聯合研究院采用WWM(Whole Word Masking) 技術針對中文環境進行優化,實現了中文的全詞Mask[2],更符合中文語境;并于2020年提出MacBERT[3],使用糾錯型掩碼MLM as correction(Mac)的方法對中文數據進行預訓練,緩解了預訓練與下游任務不一致的問題。
SE 模塊來自SENet(Squeeze-and-Excitation Networks)[4],SE模塊是一個簡單的網絡子結構,可以方便地插入其他網絡增強網絡表達能力。文中將SE block加入ResNext 中,在ILSVRC 2017 獲得top-1,SE 模塊結構如圖1所示。

圖1 SE模塊結構
將輸入特征使用線性函數壓縮成channel/SE_ratio 大小的特征,經過ReLU 激活函數后再將特征傳入用于特征激發的線性層,將特征擴張成channel大小,最后經過Sigmoid 函數后與原始輸入相乘,得到模塊輸出結果。
精確率指的是被認為正的樣本中,實際上有多少是正樣本,用于衡量模型正確預測的概率,精確率的公式如下:
召回率指的是有多少正樣本被找出來,召回率的公式如下:
所有類別的精確率和召回率可以表示為:
微觀F1分數可以表示為:
微觀F1 分數考慮了各種類別,適用于數據分布不平衡的情況,類別數量較多對F1的影響會較大。
第i類的精確率和召回率公式可以表示為:
各個類別的精確度和召回率均值為:
宏觀F1分數可以表示為:
宏觀F1 分數對各類別的Precision和Recall求平均,Precision和Recall較高的類別對F1的影響會較大。
基線模型對兩個特征分別做處理,將視頻標題傳入BERT模塊得到文本特征bert_embedding,將視頻幀特征傳入NextVLAD[5]模塊融合視頻幀特征,然后將融合的視頻幀特征傳入SENet模塊以增強融合的視頻幀特征,得到vision_embedding,將bert_embedding 和vision_embedding 一起傳入ConcatDenseSE 模塊融合兩種模態的特征,最后將融合的特征通過一個線性層作為分類頭得到多模態的分類結果,模型結構如圖2所示。
本文將視頻標題、視頻幀OCR、語音轉文本數據進行拼接,構成文本模態信息,然后對文本模態信息進行Mask,將經過Mask 的文本模態信息和視頻幀模態信息在BERT Embedding 進行Early Fusion,和合并的文本mask 和視頻mask 一起傳入BERT 網絡。由于視頻幀特征和文本特征存在空間異質化問題,在視頻幀特征和Embedding層之間添加一個線性層來緩解空間異質化問題。將BERT Encoder 的最后一個隱藏層參數分別傳給MLM Head和Mean Pooling,得到預測結果和MLM損失。模型結構如圖3所示。
數據集采用2022中國高校計算機大賽的數據集,該數據集采集來自微信視頻號的短視頻數據,包含了十萬量級的標注數據。具體數據格式描述如表1所示。

表1 多模態數據集描述
其中,frames_feature 是包含float list 類型的視頻幀特征,如:[[0.89,1.86,-4.67,-4.38,…],[0.13,1.11,-2.12,-3.24,…],],視頻幀特征是使用預訓練模型每秒抽取一幀提取,每個視頻最多提供前32幀的特征,超出的部分直接舍棄。ocr是包含dict list類型的視頻OCR 識別,如:[“{time”:0,“text”:“蘇炳添創造新紀錄榮獲小組第一”},…],該字段為一個列表,記錄了不同時刻的OCR 識別結果,相鄰幀的重復識別已被去除,最多提供前32秒的OCR結果,可能存在空值。
實驗基于PyTorch1.11 實現,所有實現均采用CPU:Intel(R)Xeon(R)Gold 5118 CPU@2.30GHz(4核)和一塊GPU:Tesla V100-32G Specs 進行計算加速,在移動云上進行實驗。
本文通過對短視頻標題、音頻轉文本識別結果以及視頻OCR識別結果進行模態融合,采用了多種拼接和截斷方式進行多次實驗,取最優的截斷方式作為拼接方案。
本文使用F1macro和F1micro作為評價指標,由于涉及兩級分類,最終評價指標取一級分類的F1macrol1分數和F1microl1分數以及二級分類的F1macrol2分數和F1microl2分數的平均值[7]。具體公式如下:
在ernie-1.0[6]預訓練權重下,單獨對文本部分進行訓練,實驗結果如表2 所示。表2 中,title 表示短視頻標題,asr 表示音頻轉文本識別結果,ocr 表示視頻OCR 識別結果,表2 中列出了僅title、title 與asr 拼接、title與ocr拼接,以及title、asr與ocr拼接四種方式訓練后得到的評分結果。
原始數據存在一些臟數據,比如無意義文本、裝飾性字符等,因此設計了一個刪除特殊符號的模塊,在傳入網絡前進行數據清洗。具體實現如下:
實驗結果如表3 所示。實驗表明,該數據清洗模塊對網絡評估結果有一定提升。
對基線模型和本文提出改進的模型結構分別采用相同的預訓練權重進行實驗。實驗得到基線模型的評分結果為0.581,改進的模型結構的評分為0.656。實驗表明,采用改進的模型結構對評估結果有顯著提升。
本文通過在真實場景的大數據集上對改進網絡的多個方案進行消融實驗,發現在采用ERNIE預訓練權重的改進網絡上采用MLM和指數平均移動技術并加以對抗訓練,通過共享Embedding 層的權重并加以參數微調,使得網絡評估結果達到最優分數,獲得了接近SOTA的效果。