王 歡,宋麗娟,2,杜 方,2
(1.寧夏大學 信息工程學院,銀川 750021;2.寧夏大數據與人工智能省部共建協同創新中心,銀川 750021)
隨著知識工程與多模態學習的交叉研究開展,知識圖譜作為輔助計算機理解實體背景知識的重要方式發展迅速,但大部分知識圖譜仍采用純符號的方式進行表達。為了進一步豐富和完善知識的表達方式,人們開始探索使用多種數據模態來構建知識圖譜[1]。因此,多模態化成為知識圖譜發展的主流趨勢之一。當知識圖譜中的知識表示包含一種以上模態的數據時,稱為多模態知識圖譜。多模態知識圖譜在進行模態知識互補、多模態知識實體消歧、跨模態語義搜索等任務中具有重要作用。以圖文表示為主的多模態知識圖譜構建是當前該領域的研究熱點[2-4],圖像等視覺信息主要通過鏈接或者以具有數據類型的二進制字符串形式包含在知識圖譜中。在此過程中,圖像實體與文本實體是否指代同一對象尤為重要,這要求對跨模態實體進行實體對齊。跨模態實體對齊是用于判斷兩個不同模態知識庫中的實體是否指代同一個對象的技術,也稱為跨模態實體匹配或實體解析。
目前,實體對齊方法主要存在以下三方面的問題:1)現有實體對齊方法更關注傳統文本知識圖譜的實體對齊,一些研究工作將不同來源的知識圖譜(例如YAGO[5]、DBpedia[6])嵌入低維空間,通過計算實體之間的相似性實現實體對齊,并取得了較好的效果,但該類方法只利用單一模態數據(例如文本),忽略了其他模態數據(例如圖像),從而無法充分利用其他模態數據中的實體特征信息;2)傳統跨模態實體對齊方法通常需要大量人工對數據進行標注或精心設計對齊特征,例如ZHANG 等[7]提出的CAN選擇推特作為數據源,爬取并標注了包含配圖的數據集,利用門控機制與過濾器機制來控制每個詞對圖片和文本的偏好程度,這類傳統的實體對齊方法可以獲得較高的對齊效果,但需要進行大量的人工標注,不僅浪費時間,還會增加勞動力成本,并且這類方法設計的實體特征通常缺乏擴展性和普適性;3)基于多模態預訓練語言模型的實體對齊方法通過大量無標注數據對模型進行預訓練,實現跨模態實體對齊,但該方法多數只關注全局圖像和文本特征,且針對英文圖文對設計,例如CLIP 預訓練語言模型沒有對圖文對間的細粒度關系進行建模,而這種關系在領域多模態知識圖譜跨模態實體對齊任務中是非常有用的[8],此外在實踐過程中圖像-文本對通常包含噪聲,例如在紡織品銷售網站上,由于目錄錯誤,一些圖像或文本可能與產品無關,而多數方法沒有考慮到這一點。
本文提出一種基于多模態知識圖譜的中文跨模態實體對齊方法。將圖像模態引入紡織業領域知識圖譜中,基于多模態學習方法,利用大規模中文無標簽數據對單雙流交互預訓練語言模型(CCMEA)進行預訓練,使其能夠盡可能多地學習通用先驗知識,然后在下游任務中進行微調,以實現領域多模態知識圖譜的跨模態實體對齊任務,用于多模態知識圖譜的構建。
目前,多模態預訓練語言模型主要涉及特征提取、特征融合和預訓練模型。對于特征提取,文本端早期常用LSTM 及其變種來提取特征,現今基本使用BERT 的Tokenizer 處理,圖像端使用較為經典的卷積網絡,按提取的形式主要有Rol、Pixel、Patch 3 種形式。對于特征融合,目前主流的做法是使用單流和雙流架構網絡,單流使用一個Transformer 編碼器處理圖像和文本嵌入,雙流采用獨立的圖像編碼器和文本編碼器提取圖像和文本嵌入,然后學習圖像文本間的跨模態關系。對于預訓練模型:MLM 為傳統的文本屏蔽語言模型,針對文本流;MRM 為區域屏蔽語言模型,針對圖像流;ITM 用于圖文匹配任務,針對圖文交互流,即判斷圖文對是否匹配和對齊。
在特征融合階段,B2T2、VisualBERT[9]、Unicoder-VL[10]、VL-BERT[11]、UNITER[12]、ERNIE-ViL、OSCAR[13]等單流方法連接圖像的感興趣區域(ROI)和文本令牌作為BERT[14]的輸入令牌,通常將MLM、MRM、ITM作為預訓練模型。另外,UNITER 使用最優傳輸(OT)來建模圖像補丁和文本標記之間的關系[15],OSCAR 使用Faster-RCNN 檢測對象類別[16],并將類別文本編碼為BERT 的額外輸入令牌,ICMLM[17]、Pixel-BERT[18]、SOHO[19]等使用CNN 來提取 圖像特征,將特征圖中的深度向量作為圖像標記,能夠捕捉到圖像像素和文本標記之間的語義連接,若使用Faster-RCNN 則一些基于區域的圖像特征將會被忽略。KaleidoBERT[20]、ViLT[21]和FashionBERT[22]等單流方法將圖像切割成補丁,將每個補丁作為圖像標記,其中,Kaleido BERT 采用SAT[23]網絡生成顯著圖像補丁的描述,從而找到圖像補丁和文本令牌之間的相關性,ViLT 僅在圖像補丁上應用線性投影,大大減少了模型的參數量及運行時間,FashionBERT 使用InceptionV3[24]或ResNeXt-101[25]等預訓練模型來提取圖像特征。
雙流方法主要由自監督學習驅動,并通過對比損失將輸出的圖文對特征進行比較。ConVIRT[26]在圖文對匹配任務上,分別使用獨立的圖文編碼器來提取圖像特征和文本特征,通過對比學習對齊特征相似的圖像文本對。CLIP 是ConVIRT 的簡化版本,對于一個包含N個圖像-文本對的訓練batch,模型會將N個文本特征和N個圖像特征兩兩組合,預測出N2個可能的圖像-文本對的余弦相似度,其中,矩陣中的對角線元素屬于一對,即N個正樣本,剩余的N2-N個圖像-文本對為負樣本。CLIP 的訓練目標是最大化成對圖像和文本嵌入的余弦相似度,同時最小化未配對圖像的余弦相似度,利用更多的負樣本,在GPU 內存有限情況下訓練網絡。
然而,單雙流方法都有不足之處。單流方法模態間的信息是深度交互的,可以得到細粒度跨模態對齊關系,但由于模型龐大,需要同時輸入所有模態信息到模型才可以進行推理,不便于各種下游任務的部署。雙流方法由于各個模態的信息提取都是獨立的,計算效率較高,在下游任務中方便部署,但由于該方法只關注全局圖像和文本特征,不能捕捉圖像補丁和文本標記之間的細粒度關系。為了克服上述缺點,本文基于CLIP 方法思想和下游任務,融合單流和雙流方法構建CCMEA 模型,對齊領域細粒度圖像實體和中文文本實體。
將圖像與文本實體的對齊視為文本-圖像匹配問題。多模態知識圖譜構建工作的核心在于為其中的實體匹配合適的圖像,即將跨模態實體進行對齊。給定實體e,本文目標是為其獲取合適的圖像集Ve=[v1,v2,…,vn],使得每張圖像v與對應文本實體在語義上是匹配的,具體示例如圖1 所示(彩色效果見《計算機工程》HTML 版)。
CCMEA 是一種基于對比學習的多模態模型,訓練數據是圖像-文本對,通過對比學習學習到圖像-文本的匹配關系,對比學習原理如圖2 所示,給定圖像文本對,其中,I1、I2是第1、2 張圖片表征,T1、T2是第1、2 個文本表征,I1、I2和T1、T2是一一對應的,即Ti是Ii的文本實體,因此對比學習的目標是使矩陣對角線的對距離越來越近,非對角線的對距離越來越遠,CCMEA 模型的訓練目標是最大化成對圖像和文本嵌入的余弦相似度,同時最小化未配對圖像的余弦相似度。

圖2 對比學習原理Fig.2 Principle of comparative learning
CCMEA 模型架構如圖3 所示,主要包括3 個堆疊模塊:1)Visual Transformer,底層視覺編碼器,負責從輸入的圖像補丁中捕獲基本的視覺特征;2)Chinese RoBERTa,底層文本編碼器,負責從輸入令牌中捕獲基本的語法和詞匯信息;3)Text-Visual Transformer,上層交叉編碼器,負責將Visual Transformer和Chinese RoBERTa 提取到的粗粒度特征進行細粒度建模,并基于注意力機制過濾噪聲信息。最后利用跨模態對比學習方法學習過濾后的細粒度信息,得到模態間的有效特征表示。

圖3 CCMEA 模型架構Fig.3 CCMEA model architecture
CCMEA 模型的中文跨模態實體對齊算法的偽代碼具體如下:
2.2.1 Transformer
Transformer 是CV 及NLP 中多數SOTA 模型的主力架構,由L個堆疊的塊組成。每個塊主要包括兩類子層:多頭注意力(MHA)和全連接前饋網絡(FFN)。在每一層中都使用了歸一化和殘差連接。給定輸入序列向量x?Rn×d,其中n為序列長度。注意力函數將x映射到查詢Q?Rn×d及鍵值 對K?Rn×d、V?Rn×d中,如式(1)所示:
MHA 在頭部執行注意力功能,其中每個頭分別由Wq,i、Wk,i、Wv,i?Rd×dh參數化,以此將輸入投影到K、Q、V。多頭注意力的作用是計算每個頭部的加權隱藏狀態,然后將它們進行連接,如式(2)所示:
其中:Wo?Rd×d,d表示隱藏嵌入的維數,dh=d/Nh通常在MHA 中設置。
FFN 通常由兩層線性變換組成,如式(3)所示:
2.2.2 Visual Encoder
Visual Encoder 使用預訓練的ViT-B/16 模型作為視覺編碼器來提取圖像特征。ViT-B/16 模型是在CLIP 模型的基礎上進行預訓練得到的,采用Visual Transformer 架構,在圖像處理和視覺編碼任務中都表現出色,同時已在大規模數據集上進行了預訓練,因此可直接利用其權重參數,從而大大減少了在視覺編碼器訓練方面的工作量。具體而言:首先給定實體e所對應的o張圖像Ie,o,將每張圖像重新調整為統一的H×W像素,并把第i個輸入圖像Ii?RC×H×W(1≤i<0)重塑為u=HW/P2的扁平 二維補丁,其中,輸入圖像的分辨率為H×W,C為通道數;然后合并投影為,其中,dV表示ViT 隱藏狀態的維數;接著將o張圖像的補丁嵌入拼接起來,得到視覺序列補丁嵌入,其中,m=u×o。
2.2.3 Text Encoder
采用Chinese RoBERTa 的第LT層作為文本編碼器提取文本特征,它也由MHA 和FFN 塊的LT層組成,與Visual Encoder 類似,不同點在于其中的LN 層出現在MHA 和FFN 層之后。將標記序列{w1,w2,…,wn}嵌入到一個單詞嵌入矩陣中,文本表示計算如下:
2.2.4 Text-Visual Transformer
雙流方法采用獨立的分支學習全局圖像和文本特征,通過數億級別的圖像-文本對進行訓練,將消耗大量算力及資源,這對領域多模態知識圖譜的實體對齊而言是非常困難的。目前,雙流方法并沒有考慮領域多模態知識的細粒度特征,本文旨在通過Text-Visual Transformer 來實現這一點,由自注意力建模圖像和文本分支的關系完成信息交互。將Visual Transformer 和Chinese RoBERTa 的輸出XV,l、XT,l連接得到XM,l,然后通過Text-Visual Transformer將XM,l作為輸入充分學習圖文之間的關系,輸出XVT,l、XTV,l,最終將XVT,l、XTV,l的類別 令牌取 出得到oV、oT,并計算其余弦相似度。
其中:f(i·)將令牌從一個分支投射到另一個分支。輸出的XVT,l、XTV,l可以看作不同模態融合后的結果。例如,文本令牌已經在自身分支中獲知全局文本信息,與圖像分支的令牌交互后,文本令牌從圖像分支中獲取圖像模態信息,并傳遞給自身。這不僅建立了不同模態之間的聯系,還極大地豐富了不同模態中的令牌表示。這種單雙流交互方法可以有效地彌補單流方法及雙流方法的缺點,同時捕獲不同粒度圖文對間的低級和高級語義特征,并過濾噪聲信息。
在網絡訓練過程中,基于自監督學習,使用跨模態對比損失來約束網絡。對比學習的主要思想是縮小與正樣本的距離,擴大與負樣本的距離。通過損失函數InfoNCE 來計算圖像與文本間的特征相似度,有效權衡不同的實例。
其中:τ為溫度系數,作用是調節對負樣本的關注程度;分子是正例對的相似度;分母是正例對和所有負例對相似度的總和。在訓練過程中通過最小化InfoNCE 損失來學習不同模態編碼器的參數。
數據集選取如下:
1)MUGE 數據集
為了衡量跨模態實體對齊的性能,使用中文大規模多模態評測基準數據集MUGE 進行預訓練,MUGE 數據集中涵蓋了服裝、家居、電子、紡織等多個領域數據,由26 萬個商品實體-圖像對構成,共劃分為訓練集、驗證集和測試集,數據集詞云如圖4 所示。訓練集包含25 萬個實體-圖像對,其中有12.9 萬張商品圖片,驗證集和測試集各自包含5 000 個實體query,要求模型從各自的3 萬張商品圖片候選池中進行檢索。

圖4 MUGE 數據集詞云Fig.4 Word cloud of MUGE dataset
2)Flickr30k-CN 數據集
Flickr30k-CN 是一個用于圖像標注、圖像檢索等任務的數據集,包含31 783 張來自Flickr 的圖片及其對應的中文描述。該數據集是Flickr30k 數據集的擴展,中文描述是通過人工注釋獲得的,覆蓋了運動、食品、風景和人物等多種主題和場景。利用該數據集進行測試,進一步驗證模型的性能和準確度。
3)TEXTILE 數據集
在下游任務中,基于預訓練與微調思想,在自建的紡織品多模態數據集TEXTILE 上進行微調,該數據集由紡織實體-圖像對構成,與上述兩個公共數據集形式統一,均由原始圖文對構成,沒有進行人工標注。
實驗首先通過足量數據訓練來驗證模型無需進行復雜的多模態數據標注工作,即可在下游小樣本數據集上具有良好的泛化能力,從而提高基于多模態知識圖譜的跨模態實體對齊能力。
3.2.1 評價指標
因為跨模態實體對齊與跨模態檢索任務相近,所以實驗參考MSCOCO、Flickr30k 等英文多模態檢索任務數據集,利用Recall@1/5/10(簡稱為R@1/5/10)作為跨模態實體對齊評測指標,用于評估模型跨模態實體對齊效果,如式(8)所示:
其中:R@是一個評估指標的命名前綴,后面需要加上具體的k值才能表示完整的指標名稱,R@1、R@5、R@10 分別表示模型將查詢實體與排名第1、第5、第10 的候選實體進行正確匹配的比例;TP表示檢索結果中與查詢相關的正確答案數;FN表示查詢相關的正確答案數。最終以平均召回率(Mean Recall,MR)作為該任務的主要指標,取值范圍為[0,1],值越高代表模型性能越好。
3.2.2 實驗參數設置
在實驗過程中,Visual Encoder 參數基于預訓練的ViT-B/16,Text Encoder 參數基于RoBERTa-wwm-Base。在訓練過程中,使用Adam 優化器進行參數更新,權重衰減系數為0.01,其他參數隨機初始化。CCMEA 模型使用PyTorch 用于代碼實現,在2 個Nvidia V100 GPU 上進行訓練。
3.2.3 實驗結果
實驗主要包括零樣本、少樣本和消融實驗三部分。
零樣本實驗結果如表1 所示,在公共數據集MUGE 與Flickr30k-CN 上 將CCMEA 與FILIP[28]、WukongViT-B(baseline)[29]、WukongSwin[29]進行對比測試。WukongViT-B[29]依 據CLIP 模型思想進行改進,從實驗結果可以看出,WukongViT-B(baseline)[29]在MUGE 數據集上MR 為54.10%,而CCMEA 在MUGE 數據集上MR 達到了57.30%,整體提升了3.20 個百分點。另外,WukongViT-B(baseline)[29]在Flickr30k-CN 數據集上MR 只有67.23%,而CCMAE 的MR 達到了79.19%,提升了11.96 個百分點,主要原因為CCMAE的文本編碼器使用了RoBERTa-wwm-Base 參數,RoBERTa-wwm-Base 是一個基于預訓練語言模型RoBERTa 的中文版本,預訓練過程采用中文維基百科、百度百科、新聞語料等海量中文文本數據,以獲得更好的中文語言理解能力,相較于WukongViT-B(baseline)[29]使用的Transformer 能更好地適用于中文自然語言處理任務,進而提升了模型性能。

表1 零樣本實驗結果Table 1 Zero-shot experimental results %
少樣本實驗結果如表2 所示,將CCMEA 應用在自建的紡織品數據集TEXTILE 上,MR 達到94.3%,Recall@10 達到100.0%,因此CCMEA 能較好地提升跨模態實體對齊的性能,可以更好地輔助文本匹配到語義一致的圖像。另外,為了驗證少樣本場景對CCMEA 性能的影響,將TEXTILE 數據集的數據量依次降低到75%、50%、25%進行實驗,對于每種數據量得到的結果取平均召回率。實驗結果表明,在數據量較小時,CCMEA 的性能提升顯著(例如,當訓練數據量為25%時,MR 相比于原始數據量提升約4.4 個百分點),說明該模型在少樣本數據集上具有良好的泛化能力,可以有效地將領域圖譜中的細粒度跨模態實體進行語義關聯及對齊,摒棄了傳統監督及半監督方法依賴大量標注數據的弊端,只需將未標注的圖像-文本實體對輸入模型即可實現語義對齊,為多模態知識圖譜的實體對齊工作提供了新的思路。

表2 少樣本實驗結果Table 2 Few-shot experimental results %
消融實驗結果如表3 所示,在Flickr30k-CN 數據集上,通過移除Text-Visual Transformer 來驗證不同分支信息交互的有效性。當移除Text-Visual Transformer 后,MR 為74.87%,下降了4.32 個百分點。這證明了Text-Visual Transformer 可以建模不同分支(文本和圖像分支)之間的關系,彌補雙流模型的缺點,并豐富不同模態之間的特征表達。此外,使用單流架構(即使用一個Transformer 編碼器)處理圖像和文本嵌入來驗證單雙流交互架構的重要性。實驗結果表明,當使用單流架構對圖像和文本進行編碼時,MR 為51.21%,有大幅度下降。這說明了多模態架構可以有效獨立地編碼文本和圖像信息,而單流架構受到不同模態信息的影響,難以保證不同模態中的語義特征提取。
針對下游任務,將對齊后的跨模態實體用于紡織行業多模態知識圖譜構建。目前,在紡織領域,相關知識關聯研究還未涉及多模態及下游紡織纖維原料領域,本文將針對現階段存在的問題構建紡織行業多模態知識圖譜,如圖5 所示。

圖5 紡織行業多模態知識圖譜構建流程Fig.5 Construction process of multi-modal knowledge graph in the textile industry
步驟1參考七步法構建紡織行業多模態知識本體自頂向下的構建模式層,確定紡織行業范圍及構建目的。構建各產業鏈的概念層次及關系,最終根據產業鏈階段的大致分類,在此基礎上延伸8 類紡織本體,包括天然纖維、化學纖維、纖維復合材料、紡紗及制線、針織及針織物、非織造及非織造布、染整和服裝,形成了由多產業本體融合的紡織行業知識本體。
步驟2自底向上構建紡織行業多模態知識圖譜數據層。由于領域知識圖譜數據較難獲取,因此將領域書籍以及行業網站中的半結構化數據抽取并進行清洗構成三元組。對于非結構化文本,通過文獻對比分析選取BERT-BiLSTM-CRF 模型進行命名實體識別[30]。爬取搜索引擎中與文本實體標題一致的圖像模態數據,形成TEXTILE 紡織品多模態數據集。該數據集經過在跨模態實體對齊預訓練語言模型CCMEA 上進行微調,將語義匹配的圖文對用于多模態知識圖譜構建任務,紡織行業多模態知識圖譜數據統計如表4 所示。

表4 多模態知識圖譜數據統計Table 4 Multi-modal knowledge graph data statistics
步驟3將經過跨模態對齊得到的紡織行業多模態知識存儲到Neo4j 中,并開發MMKGBuilder 工具完成紡織行業多模態知識圖譜的可視化及下游知識檢索功能。
在下游應用中,基于紡織行業多模態知識圖譜進行實體檢索,實例如圖6 所示(彩色效果見《計算機工程》官網HTML 版)。相較于傳統方法構建的多模態知識圖譜,該圖譜具有可視化程度高、多模態實體語義關聯程度強、用戶體驗效果好等優勢。

圖6 多模態知識圖譜檢索實例Fig.6 Example of multi-modal knowledge graph retrieval
實驗結果表明:經過中文跨模態實體對齊后構建領域多模態知識圖譜是可行的,創建的多模態圖譜可將各種碎片化知識有效地連接在一起,為紡織企業及相關用戶提供層次結構清晰、邏輯關系明確、可檢索的領域多模態知識庫。
本文提出一種基于多模態知識圖譜的中文跨模態實體對齊方法,將圖像信息引入實體對齊任務,針對領域細粒度圖像和中文文本,設計CCMEA 單雙流交互網絡模型,基于自監督與對比學習,利用大量無標簽數據對模型進行預訓練,摒棄了傳統監督及半監督方法依賴大量標注數據的弊端。實驗結果表明:在MUGE 數據集的零樣本實驗中,CCMEA 模型在相同精度水平上的平均召回率比WukongViT-B基線模型高出3.2 個百分點;在Flickr30k-CN 數據集上,CCMEA 模型更是獲得了優異的結果,MR 達到79.19%,比WukongViT-B基線模型高出11.96 個百分點;在自建的TEXTILE 數據集上,MR 達到94.3%,隨著數據量的逐漸減少,召回率得到進一步提升,說明CCMEA 模型不需要進行復雜的多模態數據標注工作,即可在下游小樣本數據集上具有良好的泛化性能。
此外,簡要闡述了紡織行業多模態知識圖譜構建流程與方法,將對齊后的紡織行業跨模態實體用于領域多模態知識圖譜構建工作中,并給出基于紡織行業多模態知識圖譜的檢索實例,系統地完成了領域多模態知識圖譜的構建及應用工作,為紡織行業智能決策和優化提升提供了數據支持。但與其他經過數億規模數據訓練的模型相比,CCMEA 模型數據規模相對較小,因此學習到的圖文對特征相對較少。在后續工作中將進一步擴充數據量,使模型能夠更好地學習領域細粒度圖像-中文文本特征,并將其應用于更多基于領域多模態知識圖譜的跨模態實體對齊工作。