網頁內圖片與文本相關性研究
轉載請註明出處 8層會議室-知乎專欄
一:研究背景
現在主流的圖片搜索框架如google,baidu,sogou基本都是以文本檢索為主,圖像內容檢索為輔助的金字塔框架。這些圖片大多都是來源於網路,同過對網頁進行爬取,pa提取,得到圖片以及圖片相關的各種文本信息。在實際中由於網頁圖片本身與描述文本不對應或者是當PA提取不準的時候,就會出現錯誤的召回。比如下面這個例子

在網頁中的文本描述部分顯示是「明德樓圖片」,然而配圖卻是對於明德含義的解釋,這樣的圖片在實際搜索中如果不經過圖像內容過濾就會被錯誤召回。
因此本篇文章主要介紹網頁內圖片和文本的匹配,目的就是在數據端過濾掉提取不好的圖片。
二: 匹配演算法
1.
目前關於圖像與文本匹配的演算法有很多種,這也是深度學習近幾年發展的主要方向之一。從word2vector到sent2Vector,通過優化一個以相似性為目標函數的模型,來學習得到哪些單詞或語句的含義接近,現在將這個概念延伸到image與text的上,這就是dssm的拓展dmsm
還有諸如Multimodal CNN模型,通過在圖片和文本之間建立一個匹配CNN網路來挖掘這兩者之間的匹配關係,這是卷積神經網路在多模態匹配方面的新應用。

2 文本與圖像類別匹配
上面提到的演算法都是基於直接構建doc與image的語義得到匹配分數,也可以通過類別匹配的思路,通過這種方法不僅可以得到兩者的匹配打分,還可以得到各自的類別特徵,可以被用於檢索系統排序效果中,其實這個問題的實現思路也可以用於如何在沒有標註數據的情況下對網路中的文本進行分類。
首先我們有一批圖像和文本匹配的訓練數據,首先我們對這些訓練數據的圖像部分進行分類。圖像分類比較簡單啦,比較流行的VGG,Imagenet等模型,但是會發現我們並沒有圖像的標籤信息,因此嘗試通過聚類的方法獲得圖像的標籤信息,具體的實現是首先將圖片經過公開的VGG模型,得到每一張圖片的m維特徵,將這些特徵輸入到聚類模型中,得到一定數目的聚類簇,聚類簇數目的選擇與圖像分類任務掛鉤,這樣我們就得到了有關圖片的類別信息,然後就是重新組織訓練數據進行訓練啦!此時你會發現用於分類的模型不用太複雜.簡單的三層網路就可以得到比較高的準確度,那是因為我們利用的輸入是VGG模型輸出的特徵。
好啦,圖像分類任務算是告一段落,那麼有了圖像分類之後如何去給文本分類呢。其實並不難想,有了圖像類別的標籤之後,其實也就是有了文本的標籤信息,因為文本圖像對應,所以同屬於一個類別的圖像的文本也一定來自同一個類別。那是不是圖像分成比如1000類,那文本也要分成1000類呢?文本的粒度相對於圖像其實是要粗一點的, 比如有兩個圖像類別一個是民國建築風格,一個是現代建築風格,但是其對應的文本都在描述建築這個大類,那麼他們應該數據同一個文本類別,所以我們需要對文本的類別做合併。
文本合併我們依然可以沿用剛剛圖像的思路,那就是聚類,聚類特徵可以利用word2vector特徵,也可以利用一些比較基本的,比如tf-idf特徵。這樣就最終得到了關於文本的訓練數據,這個思路如果被用來給文本內容做標註也是可以的,因為網路中的文本數據海量,如果通過的標註的方式獲得數據將耗費人力物力,而通過這種方式粗略篩選將節省很多資源。
接下來最終要的就是如何對得到的文本數據進行分類,尤其是短文本分類,傳統的機器學習演算法我們需要自己構造特徵,比如挖掘的tf-idf,bm25等特徵過支持向量機,貝葉斯,邏輯回歸等分類演算法獲得分類結果。現在隨著word2vector的盛行,深度學習的各種模型也被應用到文本分類中去,比如CNN,RNN,LSTM,雙向LSTM等網路。為了對比效果,實現了兩種文本分類演算法進行對比,一種是基於傳統的bag of words,通過svm進行分類。一種是基於rd2vector,通過CNN與LSTM網路進行分類。
兩種分類演算法下:
ACC
Bow+SVM 87.5%
Word2Vector+CNN+LSTM 68%
在我們的數據集上,反而傳統演算法的表現會更好一點,原因在於我們所用到的文本是短文本,來自於網頁標題,一般長度就是6到8個詞,而且數據量也沒有太大,深層次網路不佔優勢,並且word2vector在諸如鮮花和吊蘭在相似度上非常相近,然而我們希望將其分到不同類別,此時BOW特徵更好一點,因此可以看到不一定越深的網路,越複雜的模型越好,還要具體分析當前應用場景以及資源選擇合適的演算法,當然特徵也很重要哦。
這樣我們就可以建議一個關於圖像類別到文本類別的映射關係,從而得到文圖是否匹配的結果。
三 結語
文圖匹配這一個方向的重要應用就是圖文翻譯,智能對話的由文生圖,由圖生文,還有信息檢索任務,是未來一項很有意思的探索。
推薦閱讀:
※構想:中文文本標註工具(內附多個開源文本標註工具)
※Tensorflow的基礎使用與文本分類應用
※[Scikit-learn教程] 文本處理:分類與優化
※清華大學馮珺:基於強化學習的關係抽取和文本分類 | 實錄·PhD Talk
※在文本分類任務中,有哪些論文中很少提及卻對性能有重要影響的tricks?
