1. 程式人生 > >基線系統需要受到更多關註:基於詞向量的簡單模型

基線系統需要受到更多關註:基於詞向量的簡單模型

stop times BE conf OS 額外 探索 測試 glob

基線系統需要受到更多關註:基於詞向量的簡單模型

最近閱讀了《Baseline Needs More Love: On Simple Word-Embedding-Based Models and Associated Pooling Mechanisms這篇論文[1]該工作來自杜克大學,發表在ACL 2018上。論文詳細比較了直接在詞向量上進行池化的簡單模型和主流神經網絡模型(例如CNNRNN)在NLP多個任務上的效果。實驗結果表明,在很多任務上簡單的詞向量模型和神經網絡模型CNNLSTM)的效果相當,有些任務甚至簡單模型更好。下面是我對這篇論文的閱讀筆記。

1 引言

NLP

領域,詞向量(word embedding)已經受到了研究者們的廣泛關註和應用。它通過大量的無標簽數據將每個詞表示成一個固定維度的向量。相比傳統的獨熱(one-hot)表示,詞向量具有低維緊密的特點,並能學習到豐富的語義和句法信息。目前代表性的詞向量工作有word2vec [2]GloVe [3]。在NLP領域,使用詞向量將一個變長文本表示成一個固定向量的常用方法有:1)以詞向量為輸入,使用一個復雜的神經網絡(CNNRNN等)來進行文本表示學習;2)在詞向量的基礎上,直接簡單的使用按元素求均值或者相加的簡單方法來表示。對於復雜神經網絡方法,模型復雜計算量大耗時。該論文通過大量實驗發現,基於詞向量的簡單池化模型對於大多數的
NLP問題,已經表現得足夠好,有時甚至效果超過了復雜的神經網絡模型。

2. 方法

該文對比的主流神經網絡模型為:LSTMCNN。對於LSTM特點在於使用門機制來學習長距離依賴信息,可以認為考慮了詞序信息。對於CNN特點是利用滑動窗口卷積連續的詞特征,然後通過池化操作學習到最顯著的語義特征。

對於簡單的詞向量模型(Simple word-embedding modelSWEM),作者提出了下面幾種方法。

技術分享圖片

  • SWEM-aver:就是平均池化,對詞向量的按元素求均值。這種方法相當於考慮了每個詞的信息。
  • SWEM-max:最大池化,對詞向量每一維取最大值。這種方法相當於考慮最顯著特征信息,其他無關或者不重要的信息被忽略。
  • SWEM-concat:考慮到上面兩種池化方法信息是互補的,這種變體是對上面兩種池化方法得到的結果進行拼接。
  • SWEM-hier:上面的方法並沒有考慮詞序和空間信息,提出的層次池化先使用大小為n局部窗口進行平均池化,然後再使用全局最大池化。該方法其實類似我們常用的n-grams特征。

接下來對比一下SWEM和神經網絡模型結構。可以看到SWEM僅對詞向量使用池化操作,並沒有額外的參數,且可以高度並行化。

技術分享圖片

3. 實驗結果與分析

實驗中,使用了300維的GloVe詞向量,對於未登錄詞按照均勻分布進行初始化。最終的分類器使用了多層感知機MLP進行分類。在文檔分類,文本序列匹配和句子分類三大任務,共17個數據集上進行了實驗並進行了詳細的分析。

3.1 文檔分類

實驗中的文檔分類任務能被分為三種類型:主題分類,情感分析和本體分類。實驗結果如下:

技術分享圖片

令人驚奇的是在主題分類任務上,SWEM模型獲得了比LSTMCNN更好的結果,特別是SWEM-concat模型的效果甚至優於29層的Deep CNN在本體分類任務上也有類似的趨勢。有趣的是對於情感分析任務,CNNLSTM效果要好於不考慮詞序信息的SWEM模型。對於考慮了詞序和空間信息的SWEM-hier取得了和CNN/LSTM相當的結果。這可能是情感分析任務需要詞序信息。例如"not really good""really not good"的情感等級是不一樣的。

在大多數任務上SWEM-max的方法略差於SWEM-aver,但是它提供了互補的信息,所以SWEM-concat獲得了更好的結果。更重要的是,SWEM-max具有很強的模型解釋性。論文在Yahoo數據集上訓練了SWEM-max模型(詞向量隨機初始化)。然後根據訓練學習後的詞向量中的每一維的值畫了直方圖,如下圖1

技術分享圖片

可以看到相比與GloVeSWEM-max學習出來的詞向量是十分稀疏的,這說明在預測文本時,模型只依靠一些關鍵詞,這就增加了模型的解釋性。論文在整個詞匯表中根據詞向量維度挑選出了一個維度中值最大的5個詞展示在表3中。可以看到每個維度選出的詞是同一個主題相關的。甚至模型可以學到沒有標簽信息的結構,例如表3中的"Chemistry",在數據集中是沒有chemistry標簽的,它屬於science主題。

在模型時間上,SWEM模型要比CNNLSTM都高效。

技術分享圖片

3.2 文本序列匹配

在句子匹配問題的實驗室中,主要包括自然語言推理,問答中答案句選擇和復述識別任務。實驗結果如下:

技術分享圖片

可以看到除了WikiQA數據集,其他數據集上,SWEM模型獲得了比CNNLSTM更好的結果。這可能是因為在當匹配自然語言句子時,在大多數情況下,只需要使用簡單模型對兩個序列之間在單詞級別上進行對比就足夠了。從這方面也可以看出,詞序信息對於句子匹配的作用比較小。此外簡單模型比LSTMCNN更容易優化。

3.3 句子分類

相比與前面的文檔分類,句子分類任務平均只有20個詞的長度。實驗結果如下:

技術分享圖片

在情感分類任務上,和前面文檔分類的實驗結果一樣,SWEM效果差於LSTMCNN,在其他兩個任務上,效果只是略差於NN模型。相比與前面的文檔分類,在短句子分類上SWEM的效果要比長文檔的分類效果要差。這也可能是由於短句中詞序信息更重要。此外,論文還在附加材料中補充了對序列標註任務的實驗,實驗結果如下:

技術分享圖片

可以看到對於詞序敏感的序列標註任務,SWEM的效果明顯要差於CNNRNN

3.4 詞序信息的重要性

從上面可以看到,SWEM模型的一個缺點在於忽略了詞序信息,而CNNLSTM模型能夠一定程度的學習詞序信息。那麽在上述的這些任務中,詞序信息到底有多重要?為了探索這個問題,該文將訓練數據集的詞序打亂,並保持測試集的詞序不變,就是為了去掉詞序信息。然後使用了能夠學習詞序信息LSTM模型進行了實驗,實驗結果如下:

技術分享圖片

令人驚奇地發現,YahooSNLI數據集(也就是主題分類和文本蘊涵任務)上,在亂序訓練集上訓練的LSTM取得了和原始詞序相當的結果。這說明詞序信息對這兩個問題並沒有明顯的幫助。但是在情感分析任務上,亂序的LSTM結果還是有所下降,說明詞序對於情感分析任務還是比較重要。

在來看看SWEM-hier在情感分析上的效果,相比與SWEM其他模型,SWEM-hier相當於學習了n-gram特征,保留了一定的局部詞序信息。在兩個情感任務上效果也是由於其他SWEM模型,這也證明了SWEM-hier能夠學習一定的詞序信息。

3.5. 其他實驗

除了上述實驗,該文還設置了一些實驗在說明SWEM的性能。對於之前的使用非線性的MLP作為分類器,替換成了線性分類器進行了實驗。在Yahoo(從73.53%73.18%)和Yelp P93.76%93.66%)數據集上SWEM的效果並未明顯下降。這也說明了SWEM模型能夠抽取魯棒、有信息的句子表示。該文還在中文數據集上進行了實驗,實驗結果表明層次池化比最大和平均池化更適合中文文本分類,這樣暗示了中文可能比英文對詞序更加敏感

在附加材料中,該文還用SWEM-concat模型在Yahoo數據集上對詞向量維度(從3維到1000維)進行了實驗,這裏詞向量使用隨機初始化。

技術分享圖片

可以看到高的維度一般效果會更好一些,因為能夠表示更豐富的語義信息。但是,可以看到詞向量在10維的時候已經可以達到和1000維相當的效果。其實這也和論文[4]的結果比較一致,在一些任務上小維度的詞向量效果也已經足夠好了。

此外,論文還對訓練集規模對模型效果影響進行了實驗。在YahooSNLI數據集上分別取不同比例的訓練集對模型進行訓練測試,結果如下圖:

技術分享圖片

可以看到當標註訓練集規模比較小時,簡單的SWEM模型的效果更好,這可能也是CNNLSTM復雜模型在小規模訓練數據上容易過擬合導致的。

4. 總結

該論文展示了在詞向量上僅使用池化操作的簡單模型SWEM的性能,在多個NLP任務數據集上進行了實驗,比較了SWEM和目前主流的NN模型(CNNLSTM)性能。實驗發現,SWEM這樣簡單的基線系統在很多任務上取得了與NN相當的結果,實驗中的一些總結如下:

  • 簡單的池化操作對於長文檔(上百個詞)表示具有不錯的表現,而循環和卷積操作對於短文本更有效。
  • 情感分析任務相比主題文本分類任務對詞序特征更敏感,但是該文提出的一種簡單的層次池化也能夠學習一定的詞序信息,和LSTM/CNN在情感分析任務上取得了相當的結果。
  • 對於句子匹配問題,簡單的池化操作已經展現出了與LSTM/CNN相當甚至更好的性能。
  • 對於SWEM-max模型,可以通過對詞向量維度的分析得到較好的模型解釋。
  • 在一些任務上,詞向量的維度有時在低維已經足夠好。
  • 在標註訓練集規模小的時候,簡單的SWEM模型可能更加魯棒、獲得更好的表現。

總的來說,我們在進行研究時,有時為了讓模型學習到更為豐富的信息,會把模型設計得十分復雜,但是這篇論文通過實驗告訴了我們,簡單的基線系統也能夠獲得很不錯的表現。當我們做具體任務時,應該根據具體需求來選擇設計模型(模型效果,模型復雜度,模型運行時間等的權衡),簡單有效的系統也應該受到關註。

參考文獻:

[1] Shen, Dinghan, et al. "Baseline needs more love: On simple word-embedding-based models and associated pooling mechanisms." arXiv preprint arXiv:1805.09843 (2018).

[2] Mikolov, Tomas, et al. "Distributed representations of words and phrases and their compositionality." Advances in neural information processing systems. 2013.

[3] Pennington, Jeffrey, Richard Socher, and Christopher Manning. "Glove: Global vectors for word representation." Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014.

[4] Lai, Siwei, et al. "How to generate a good word embedding." IEEE Intelligent Systems 31.6 (2016): 5-14.

基線系統需要受到更多關註:基於詞向量的簡單模型