CS224d-Day 10:
Recursive neural networks -- for parsing
課程鏈接
視頻鏈接
課件鏈接
本文結構:
- Recursive NN 是什么
- Recursive Neural Networks 和 Recurrent Neural Networks
- Recursive NN 可以用來做什么
- 怎樣做到的
- 算法代碼
- Recursive NN 是什么
Recursive Neural Networks 可以用來表達長句子,將一個句子映射到向量空間。
通過分析出句子的 parsing tree 的結構,把一個句子拆分成幾個小組成單元,然后可以替換其中的一些部分,進而得到一些相似的句子,比如把這個 NP 名詞短語,換成另一個 NP 名詞短語。
這些句子由不同的短語組成,但是表達的意思卻是一樣的,在向量空間中,它們的距離也會很近。例如 ‘the country of my birth’ 和 ‘the place where I was born’ 意思一樣,向量空間上的表達也就很近。
- Recursive Neural Networks 和 Recurrent Neural Networks
想要分析數據的 hiearchical structure 的時候,Recursive NN 要比 Recurrent NN 更有效一些。
Recurrent NN 是 Recursive NN 的一種特殊形式,一個 鏈 可以寫成一棵 樹 的形式。
Recursive NN 可以返回樹上每個節點的向量表達,Recurrent NN 在任何時候返回一句話的向量。
- Recursive NN 可以用來做什么
Recursive NN 可以用一個很好的方式來描述句子。
可以識別句子中的成分,可以通過替換組件來形成同樣合理的句子,可以處理歧義問題,分析句子的語法結構,語義結構,理解一段話的指代詞的含義。
可以學習到一個句子里哪個組成成分更重要,比如VP比NP更重要。可以學習到哪幾個句子意思相近。
- 當我們需要學習句子的結構的時候,會用 Recursive Neural Networks 來的到 parsing tree。
- 也可以用來做 sentiment analysis,因為這個情感喜好的結果,不僅僅和單詞本身有關,還和句子組成和順序有關。
- 還可以用來分析圖片的組成,比如它可以分析出房頂,二層樓,一層樓,并組成一個房子。
- 怎樣做到的
RNN 的輸入是句子,輸出是一個 parse 樹結構。
下圖是一個最標準的神經層,W 在整個網絡中是一樣的。
有個拓展模型 Syntactically-United RNN,是根據不同的組成成分使用不同的 W
RNN由三部分組成,根,左葉子,右葉子,也就是一個 Binary Tree。
它的每個節點上由一些神經元組成,神經元的個數由句子的復雜程度決定。
葉子是接收數據的,也就是向量,根是分類和評分的。
第一步,會先把句子的結構學習出來。
單詞兩兩組合,進行評分,再作為一個整體,和后面的一個單詞組合,再評分。
兩個單詞如果應該放在一起,就會得到高分,否則分數較低。
一個句子會得到多個結構,用 Greedy 選擇其中分數最高的,作為最終的樹結構。
用 Max Margin 來學習最優的樹結構。每個 i 代表一個句子,A(x_i) 是包含 x_i 的所有可能的樹,當 y 與 y_i 一樣時,delta=0.
模型訓練時,通過比較 labeled 數據,比較合適的結構和預測的結構,用 BTS 使誤差達到最小。
第二步,再為結構中的每個小部分找到合適的語法標簽,判斷是什么成分的短語,是NP名詞短語,VP動詞短語,還是PP介詞短語等。
- 算法代碼
定義線性的神經元,做內積 W(left + right) + b
用 softmax 對每個點做 classify
node.probs -= np.max(node.probs) 這個技巧可以保證stable
下面的代碼就是計算紅色框里的式子
[cs224d]
Day 1. 深度學習與自然語言處理 主要概念一覽
Day 2. TensorFlow 入門
Day 3. word2vec 模型思想和代碼實現
Day 4. 怎樣做情感分析
Day 5. CS224d-Day 5: RNN快速入門
Day 6. 一文學會用 Tensorflow 搭建神經網絡
Day 7. 用深度神經網絡處理NER命名實體識別問題
Day 8. 用 RNN 訓練語言模型生成文本
Day 9. RNN與機器翻譯
Day 10. 用 Recursive Neural Networks 得到分析樹
Day 11. RNN的高級應用
我是 不會停的蝸牛 Alice
85后全職主婦
喜歡人工智能,行動派
創造力,思考力,學習力提升修煉進行中
歡迎您的喜歡,關注和評論!