在NLP中深度學習模型什麼時候須要樹形結構? 微信
前段時間閱讀了Jiwei Li等人[1]在EMNLP2015上發表的論文《When Are Tree Structures Necessary for Deep Learning of Representations?》,該文主要對比了基於樹形結構的遞歸神經網絡(Recursive neural network)和基於序列結構的循環神經網絡(Recurrent neural network),在4類NLP任務上進行實驗,來討論深度學習模型什麼時候須要樹形結構。下面我將經過分享這篇論文以及查看的一些相關資料來討論一下咱們什麼時候須要樹形結構知識。網絡
根據不一樣的標註樹庫,句法分析樹主要有兩種形式:1) 短語結構樹(Constituent Tree) 和2) 依存結構樹(Dependency Tree)。下面舉個簡單的例子,"My dog likes eating sausage." 使用Stanford parsing tool進行句法分析能夠獲得以下結果:學習
咱們將其可視化後,短語結構樹和依存樹分別爲:spa
論文[1]中指的樹形結構即爲NLP中句法分析後獲得的句法樹結構。blog
在論文中,主要分了兩大組模型進行對比實驗,具體的是:遞歸
每組就是三個模型,樹模型,單向序列模型和雙向序列模型,具體的模型你們能夠查閱文獻,下面我只給出標準模型的結構圖。深度學習
Standard Recursive/Tree Models it
Standard Recurrent/Sequence Models io
Bidirectional Recurrent Models 可視化
該文在NLP領域中4種類型5個任務進行了實驗,具體的實驗數據你們能夠從論文中查閱,這裏我主要分析一下每一個任務的特色,以及最後實驗的結果:
這是一個細粒度的情感分類問題,根據Stanford的句法樹庫,在每個節點上都標註了情感類型,因此實驗分爲了句子級別和短語級別,從結果來看,樹形結構對於句子級別有點幫助,對於短語級別並沒什麼做用。
這一樣是一個情感分類問題,與上面不一樣的是,它只有二元分類,而且只有在句子級別上進行了標註,且每一個句子都比較長。實驗結果是樹形結構並無起到什麼做用,可能緣由是句子較長,並且並無豐富的短語級別標註,致使在長距離的學習中丟失了學習到的情感信息。
這個任務是機智問答,就是給出一段描述通常由4~6句組成,而後根據描述給出一個短語級別的答案,例如地名,人名等。在這個任務上,樹形結構也沒有發揮做用。
這個任務是給出兩個句子中的名詞,而後判斷這兩個名詞是什麼語義關係。樹形結構的方法在這個任務上有明顯的提高。
是一個分類任務,特色是其輸入的單元很短,樹形結構也沒有什麼效果。
經過上面的實驗,做者總結出下面的結論。
須要樹形結構:
不須要樹形結構:
此外,哈工大的車萬翔在哈工大的微信公衆號也發表了《天然語言處理中的深度學習模型是否依賴於樹結構?》[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] 哈工大車萬翔:天然語言處理中的深度學習模型是否依賴於樹結構?