在依存句法分析中,句子中詞與詞之間存在一種二元不等價關係:主從關係
。在句子中,如果乙個詞修飾另乙個詞,則稱修飾詞為從屬詞(dependent)
,被修飾詞成為支配詞(head)
,兩者之間的語法關係就是依存關係(dependency relation)
。
如句子「小目標」中的形容詞「小」與名次「夢想」之間的關係如下圖所示:
在圖中,箭頭的方向由支配詞指向從屬詞。將句子中所有的詞語的依存關係以有向邊的形式表示出來,就會得到一顆樹,該樹即是依存句法樹(dependency parse tree)
。
現代依存語法中,語言學家robinson對依存句法樹提出了一下4條約束性公理:
有且只有乙個詞語(root,虛擬根節點,簡稱虛根)不依存於其他詞語;
除此之外所有詞語必須依存於其他詞語;
每個詞語不能依存於多個詞語;
如果詞語a依存於b,那麼位置處於a和b之間的詞語c只能依存於a、b或ab之間的詞語;
這四條公理分別約束了依存句法樹的根節點的唯一性
、連通
、無環
、投射性
。
依存句法分析
是一種中高階nlp任務,用來分析句子的依存語法。通常根據句子的詞語和詞性,生成一顆依存句法樹。
目前常用的依存句法分析方法是:基於轉移的依存句法分析
。基於轉移的依存句法分析屬於監督學習的範疇,其涉及許多元件。我們先定義一台虛擬的機器,這台機器會根據自身的狀態和輸入的詞語**下一步要執行的轉移動作,然後根據轉移動作拼裝句法樹。該類演算法中比較經典的是:arc-eager
。
乙個轉移系統(transition system)
s由4個部件構成:s=(
c,t,
cs,c
t)s = (c,t,c_,c_)
s=(c,t
,cs
,ct
)其中:
系統狀態由3元組組成:c = (s, b, a),其中:
arc-eager轉移系統的轉移動作集合和響應的執行條件如下表所示:
動作名稱
動作條件
備註shift
(s, i|b,a) => (s|i, b, a)
佇列b非空
將隊首單詞i壓棧
leftarc
(s|i, j|b, a) => (b, j|b, au)
棧頂單詞i沒有支配詞
將棧頂單詞i的支配詞設定為隊首單詞j,即i作為j的子節點;
rightarc
(s|i, j|b, a) => (s|i|j, b, au )
隊首單詞就沒有支配詞
將隊首單詞j的支配詞設定為棧頂單詞i,集j作為i的子節點;
reduce
(s|i, b, a) => (s, b, a)
棧頂單詞i已有支配詞
將棧頂單詞i出棧;
備註:轉移系統的終止狀態為:棧為空,且佇列僅剩下虛根(root)時的狀態。
以「我愛自然語言處理」為例,使用arc-eager
轉移系統進行依存分析時系統狀態如下:
編號轉移動作sb
a0init
[我,愛,自然語言處理,root]{}1
shift
[我][愛,自然語言處理,root]{}2
leftarc(主謂)
[愛,自然語言處理,root]
3shift
[愛][自然語言處理,root]
4rightarc(動賓)
[愛,自然語言處理]
[root]
5reduce
[愛][root]
6leftarc(核心)
常用的依存句法分析工具如下:
hanlp;
ltp;
句法分析 依存句法分析
句法分析是自然語言處理中的關鍵技術之一,其基本任務是確定句子的句法結構或者句子中詞彙之間的依存關係。主要包括兩方面的內容,一是確定語言的語法體系,即對語言中合法的句子的語法結構給與形式化的定義 另一方面是句法分析技術,即根據給定的語法體系,自動推導出句子的句法結構,分析句子所包含的句法單位和這些句法...
依存句法分析 Dependency Parsing
句子的依存結構表達了詞與詞之間的依賴關係,這種關係稱依存關係。它是一種二元的非對稱關係 binary asymmetric relation 從依存關係的支配者head指向從屬者dependent。依存句法分析旨在將輸入的句子轉化成依存分析樹 或圖 依存樹中自上而下任意父子結點之間用依存關係連線。在...
百度NLP依存句法分析工具DDParser開源啦
圖1ddparser能做什麼 通過依存句法分析可直接獲取輸入文字中的關聯詞對 長距離依賴詞對等,其對事件抽取 情感分析 問答等任務均有幫助。在事件抽取任務中,我們通過依存分析結果可提取句子中所包含的各種粒度的事件,如 納達爾擊敗梅德韋傑夫 納達爾奪得冠軍 納達爾奪得2019年美網男單冠軍 相應的,在...