在NLP中深度學習模型什麼時候須要樹形結構?

在NLP中深度學習模型什麼時候須要樹形結構? 微信

前段時間閱讀了Jiwei Li等人[1]在EMNLP2015上發表的論文《When Are Tree Structures Necessary for Deep Learning of Representations?》,該文主要對比了基於樹形結構的遞歸神經網絡(Recursive neural network)和基於序列結構的循環神經網絡(Recurrent neural network),在4類NLP任務上進行實驗,來討論深度學習模型什麼時候須要樹形結構。下面我將經過分享這篇論文以及查看的一些相關資料來討論一下咱們什麼時候須要樹形結構知識。網絡

1 句法分析樹

根據不一樣的標註樹庫,句法分析樹主要有兩種形式:1) 短語結構樹(Constituent Tree) 和2) 依存結構樹(Dependency Tree)。下面舉個簡單的例子,"My dog likes eating sausage." 使用Stanford parsing tool進行句法分析能夠獲得以下結果:學習

咱們將其可視化後,短語結構樹和依存樹分別爲:spa

論文[1]中指的樹形結構即爲NLP中句法分析後獲得的句法樹結構。blog

2 對比模型

在論文中,主要分了兩大組模型進行對比實驗,具體的是:遞歸

  • Standard tree models (standard Recursive neural models), standard sequence models (standard Recurrent neural models), standard bi-directional sequence models (bi-directional recurrent neural models).
  • LSTM tree models[2], LSTM sequence models vs LSTM bi-directional sequence models.

每組就是三個模型,樹模型,單向序列模型和雙向序列模型,具體的模型你們能夠查閱文獻,下面我只給出標準模型的結構圖。深度學習

Standard Recursive/Tree Models it

Standard Recurrent/Sequence Models io

Bidirectional Recurrent Models 可視化

3 實驗數據

該文在NLP領域中4種類型5個任務進行了實驗,具體的實驗數據你們能夠從論文中查閱,這裏我主要分析一下每一個任務的特色,以及最後實驗的結果:

  • Sentiment Classification on the Stanford Sentiment Treebank

    這是一個細粒度的情感分類問題,根據Stanford的句法樹庫,在每個節點上都標註了情感類型,因此實驗分爲了句子級別和短語級別,從結果來看,樹形結構對於句子級別有點幫助,對於短語級別並沒什麼做用。

  • Binary Sentiment Classification

    這一樣是一個情感分類問題,與上面不一樣的是,它只有二元分類,而且只有在句子級別上進行了標註,且每一個句子都比較長。實驗結果是樹形結構並無起到什麼做用,可能緣由是句子較長,並且並無豐富的短語級別標註,致使在長距離的學習中丟失了學習到的情感信息。

  • Question-Answer Matching

    這個任務是機智問答,就是給出一段描述通常由4~6句組成,而後根據描述給出一個短語級別的答案,例如地名,人名等。在這個任務上,樹形結構也沒有發揮做用。

  • Semantic Relation Classification

    這個任務是給出兩個句子中的名詞,而後判斷這兩個名詞是什麼語義關係。樹形結構的方法在這個任務上有明顯的提高。

  • Discourse Parsing

    是一個分類任務,特色是其輸入的單元很短,樹形結構也沒有什麼效果。

結論

經過上面的實驗,做者總結出下面的結論。

須要樹形結構:

  1. 須要長距離的語義依存信息的任務(例如上面的語義關係分類任務)Semantic relation extraction
  2. 輸入爲長序列,即複雜任務,且在片斷有足夠的標註信息的任務(例如句子級別的Stanford情感樹庫分類任務),此外,實驗中做者還將這個任務先經過標點符號進行了切分,每一個子片斷使用一個雙向的序列模型,而後總的再使用一個單向的序列模型獲得的結果比樹形結構的效果更好一些。

不須要樹形結構:

  1. 長序列而且沒有足夠的片斷標註任務(例如上面的二元情感分類,Q-A Matching任務)
  2. 簡單任務(例如短語級別的情感分類和Discourse分析任務),每一個輸入片斷都很短,句法分析可能沒有改變輸入的順序。

此外,哈工大的車萬翔在哈工大的微信公衆號也發表了《天然語言處理中的深度學習模型是否依賴於樹結構?》[3],其中提到了"即便面對的是複雜問題,只要咱們可以得到足夠的訓練數據"也能夠無需樹形結構。

經過這篇論文和車老師的博文以及一些相關資料,句法樹形結構是否須要值得咱們關注,咱們應該根據本身作的任務以及句法分析的優缺點進行判斷,我本身總結以下:

句法分析可以帶給咱們什麼?

  • 長距離的語義依賴關係
  • 包含語言學知識的序列片斷
  • 簡化複雜句子提取核心

句法分析的缺點

  • 自身分析存在錯誤,引入噪聲
  • 簡單任務複雜化
  • 句法分析時間長

 

主要參考文獻

[1]     J. Li, M.-T. Luong, D. Jurafsky, E. Hovy, When Are Tree Structures Necessary for Deep Learning of Representations?, EMNLP. (2015) 2304–2314.

[2]     K.S. Tai, R. Socher, C.D. Manning, Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks, Acl-2015. (2015) 1556–1566.

[3] 哈工大車萬翔:天然語言處理中的深度學習模型是否依賴於樹結構?

相關文章
相關標籤/搜索