Chapter7-9_Deep Learning for Dependency Parsing
文章目錄
- 1 什么是Dependency Parsing
- 2 模型結構
本文為李弘毅老師【Deep Learning for Dependency Parsing】的課程筆記,課程視頻youtube地址,點這里👈(需翻墻)。
下文中用到的圖片均來自于李宏毅老師的PPT,若有侵權,必定刪除。
文章索引:
上篇 - 7-8 Deep Learning for Constituency Parsing
下篇 - 7-10 Deep Learning for Question Answering (1/2)
總目錄
1 什么是Dependency Parsing
上一節中,學習了Constituency Parsing,Constituency Parsing要討論的是兩個相鄰的單詞或是constituents之間能否構成一個新的constituent。而Dependency Parsing則是要討論任意兩個單詞之間能否構成dependency,比如下圖中下半部分的"book"和"flight"雖然不相鄰,但是"book"的目標就是"flight",所以兩者之間構成了一個dependency。在這個dependency中,"book"是出發點,"flight"是箭頭的終點,所以"book"被叫做head,“flight"被叫做"dependent”。
有關聯的兩個單詞才可以構成一個dependency,單詞和單詞間的關系可參見下表。
我們最終的目的是把一個句子變成一個樹結構的有向圖。有向圖的每個節點就是一個單詞,每條邊就是相連的兩個節點之間的關系,比如下圖就是把"I want to study a PhD"解析成了一個有向圖。這里有兩個規則,其一是所有的詞都有一條指向它的邊,沒有邊指向的詞,我們會用一個額外的"ROOT"節點去指向它,“ROOT"是不需要箭頭指向它的;其二是每個詞都有唯一的路徑可以回到"ROOT”。
2 模型結構
訓練Dependency Parsing模型的方法,出乎意料地簡單,它和訓練Consitituency Parsing模型的方法非常相似。Consitituency Parsing就是輸入一個span,然后有兩個classifiers,一個判斷這兩個是不是consitituent,另一個判斷這兩個是何種consitituent。而Dependency Parsing則是輸入兩個單詞,然后有兩個classifiers,一個判斷這兩個單詞是不是dependency,另一個判斷dependency的relation是什么。
實際的操作中也是如此的,真的就是把需要比較的兩個單詞,都放進classifiers當中的跑一跑就可以了。但是這樣會面臨一個問題,就是如果產生矛盾的結果該怎么辦?比如下圖中,w1w_1w1?指向了w2w_2w2?,同時w3w_3w3?也指向了w2w_2w2?,但我們有一條規則是一個節點只能有一個箭頭指向它,這樣一來就矛盾了。
解決這個問題的辦法很簡單,就是把模型預測的概率記錄下來,然后用最大生成樹的演算法去找最優路徑即可。
除此之外,也有Transition-based Approach,和Constituency Parsing中介紹過的Transition-based Approach大同小異,最有名的就是2016谷歌提出的SyntaxNet,這里就不細講了。
總結
以上是生活随笔為你收集整理的Chapter7-9_Deep Learning for Dependency Parsing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React中的受控组件和非受控组件
- 下一篇: jQuery实现PC端商城购物车模块基本