依存句法分析 Dependency Parsing

2022-03-30 02:42:44 字數 2925 閱讀 5772

句子的依存結構表達了詞與詞之間的依賴關係,這種關係稱依存關係。它是一種二元的非對稱關係(binary asymmetric relation),從依存關係的支配者head指向從屬者dependent。

依存句法分析旨在將輸入的句子轉化成依存分析樹(或圖),依存樹中自上而下任意父子結點之間用依存關係連線。在自然語言處理中,依存句法分析屬於句法層次的任務,它一般需要詞法層次的詞性標註(pos)的結果作為輔助資訊。

有趣的是,詞性標註這個任務又需要分詞結果作為輔助資訊,可通過分詞和詞性標註聯合任務來規避分詞帶來錯誤傳播,當然這是題外話。

以ltp為例,依存句法分析中的依存關係包括:

關係型別

標籤描述

樣例主謂關係

sbvsubject-verb

我送她一束花 (我

動賓關係

vob直接賓語,verb-object

我送她一束花 (送 --> 花)

間賓關係

iob間接賓語,indirect-object

我送她一束花 (送 --> 她)

前置賓語

fob前置賓語,fronting-object

他什麼書都讀 (書

兼語dbl

double

他請我吃飯 (請 --> 我)

定中關係

attattribute

紅蘋果 (紅

狀中結構

advadverbial

非常美麗 (非常

動補結構

cmpcomplement

做完了作業 (做 --> 完)

並列關係

coocoordinate

大山和大海 (大山 --> 大海)

介賓關係

pobpreposition-object

在**區內 (在 --> 內)

左附加關係

ladleft adjunct

大山和大海 (和

右附加關係

radright adjunct

孩子們 (孩子 --> 們)

獨立結構

isindependent structure

兩個單句在結構上彼此獨立

標點wp

punctuation

。核心關係

hedhead

指整個句子的核心

實際上,也不必嚴格遵守這個**,最終還是得按照語料的來,畢竟tag都是標註規範說了算。

以「他叫湯姆去拿外衣。」為例,得到如下的依存句法分析結果:

一般句子的核心都是謂詞。

依存句法分析可以幫助理解文字語義,並且具有可解釋性。

將依存句法分析的分析過程看成狀態機的狀態轉移過程。給定乙個初始狀態(init state)和乙個終止狀態(terminate state),狀態機從初始狀態出發,在每個時刻都貪心地選擇乙個轉移方式,從而實現狀態的轉移。到達終止狀態後,可根據整個過程中的轉移序列可以還原出依存分析樹。

用三元組(\(\sigma\), \(\beta\), a)表示狀態,其中\(\sigma\)是乙個棧(root位於棧底),\(\beta\)是快取(buffer),a表示解析的結果。對於句子\(s=(w_1, w_2, ..., w_n)\),起始狀態為([root], [\(w_0\)

\(w_1\)

\(w_2\) ... \(w_n\)], \(\emptyset\)),終止狀態為([root], , a)

每個時刻的轉移方式有三種,shift、left_arc和right_arc。

以「he has good control.」為例,整個轉移過程為:

最終可根據a得到如下解析樹:

於是每個時刻如何選擇轉移方式成為方法的關鍵。考慮到狀態機在每個時刻的轉移方式有\(2*n_l+1\)種[2]

,其中\(n_l\)是依存關係的數量。而狀態機在每個時刻都只貪心地做出選擇,所以簡單構建乙個分類器即可實現整個系統。當然,在解碼過程中也可以換成beam search。

a fast and accurate dependency parser using neural networks中使用的是dnn模型,從stack和buffer中抽取出一些詞,然後將這些詞的詞嵌入、pos標籤嵌入、依存關係標籤嵌入作為輸入,輸出則是**狀態轉移的方式。考慮到2023年的模型拿到現在肯定不中用,無論是網路結構還是優化器,都過時了,所以這裡不打算介紹了。

度量包括兩種,uas(unlabeled attachment scores)和las(labeled attachment scores),其中las可參考conll 2017 shared task: multilingual parsing from raw text to universal dependencies.

相比於傳統的語義理解,如今大資料+大算力直接訓練端到端的模型成為主流,語義依存分析漸漸變得不再那麼重要了。

a fast and accurate dependency parser using neural networks. danqi chen, christopher d. manning. emnlp 2014. ↩︎

left-arc和right-arc各有\(n_l\)個轉移方式,再加shift就是\(2*n_l+1\)了。 ↩︎

句法分析 依存句法分析

句法分析是自然語言處理中的關鍵技術之一,其基本任務是確定句子的句法結構或者句子中詞彙之間的依存關係。主要包括兩方面的內容,一是確定語言的語法體系,即對語言中合法的句子的語法結構給與形式化的定義 另一方面是句法分析技術,即根據給定的語法體系,自動推導出句子的句法結構,分析句子所包含的句法單位和這些句法...

白話NLP 依存句法分析

在依存句法分析中,句子中詞與詞之間存在一種二元不等價關係 主從關係。在句子中,如果乙個詞修飾另乙個詞,則稱修飾詞為從屬詞 dependent 被修飾詞成為支配詞 head 兩者之間的語法關係就是依存關係 dependency relation 如句子 小目標 中的形容詞 小 與名次 夢想 之間的關係...

使用opennlp進行依存句法分析

本文主要研究下如何使用opennlp進行依存句法分析 opennlp主要使用parser來進行依存句法分析,其模型為parsermodel test public void testparsertool throws ioexception catch ioexception ex 複製 這裡使用e...