NLP 句法結構解析樹

2021-01-10 NLP學習筆記

句法解析是 NLP 中的一種關鍵技術,可以幫助分析句子的成分結構,以及單詞之間的依存關係。句法分析樹主要分兩大類:constituent tree 短語結構樹,dependency tree 依存結構樹。本文主要簡單介紹一下短語結構樹和依存結構樹的概念。

1.短語結構樹

NLP 句法結構解析主要分為兩類:constituent tree 短語結構樹和 dependency tree 依存結構樹。

短語結構樹不斷地將句子的成分 (包括短語和句子) 按照規則組成新的短語,從而得到句子的結構。例如 "我的貓喜歡吃貓糧",首先可以得到短語 [我的貓] 和 [吃貓糧],然後又可以得到短語 [喜歡[吃貓糧]]。形成的短語結構樹如下:

短語結構樹

可以看到短語結構樹的每一個葉子節點都是原始句子中的單詞,而每個非葉子節點都是用於標記短語結構的。其中 NP 表示名詞短語,單詞 "我的" 和 "貓" 組成了名詞短語 "我的貓";VP 表示動詞短語,"吃貓糧" 就是一個動詞短語。

可以通過 Stanford Parser 解析句子得到短語結構樹,一般解析出來的表示如下。

(ROOT

(S

(NP (PRP$ 我的) (NN 貓))

(VP (VBZ 喜歡)

(S

(VP (VBG 吃)

(NP (NN 貓糧)))))

(. .)))

2.依存結構樹

依存結構樹和短語結構樹不同,依存樹主要用於表達句子中單詞之間的相互依存關係。通常可以表示成 (單詞1,關係,單詞2) 三元組,單詞2依賴於單詞1,例如主謂賓結構等。還是剛剛的句子 "我的貓喜歡吃貓糧",對應的依存結構樹如下:

依存結構樹

依存圖中子節點依存於父節點,例如 "我的" 依存於 "貓",nmod,dobj,nsubj 等表示單詞之間的依存關係。

通過 Stanford Parser 解析句子得到依存結構樹通常像下面的形式。

nmod(貓-2, 我的-1)

nsubj(喜歡-3, 貓-2)

root(ROOT-0, 喜歡-3)

xcomp(喜歡-3, 吃-4)

dobj(吃-4, 貓糧-5)

上面括號中的第二個詞依賴於第一個詞,他們的依賴關係寫在括號之前,單詞之後的數字表示單詞在句子中的位置。

相關焦點

  • NLP 句法結構解析樹
    句法解析是 NLP 中的一種關鍵技術,可以幫助分析句子的成分結構,以及單詞之間的依存關係。句法分析樹主要分兩大類:constituent tree 短語結構樹,dependency tree 依存結構樹。本文主要簡單介紹一下短語結構樹和依存結構樹的概念。
  • 一個快要被NLP人遺忘的方向: 句法分析
    ,較為固定和呆板;三是依存句法分析樹標註簡單且parser準確率高。1 成分句法分析WSJ語料庫的短語結構樹,用樹狀結構圖來表示,如下圖所示:如何描述文法,另一種是依存結構,用單詞之間的依存關係來表達語法。如果一個單詞修飾另一個單詞,則稱該單詞依賴於另一個單詞:依存文法存在一個共同的基本假設:文法結構本質上包含詞和詞之間的依存(修飾)關係。一個依存關係連接兩個詞,分別是核心詞( head)和依存詞( dependent)。依存關係可以細分為不同的類型,表示兩個詞之間的具體句法關係。
  • 從零開始學自然語言處理(七)—— 句法結構分析
    進行句法分析。句法分析分為句法結構分析(syntactic structure parsing)和依存關係分析(dependency parsing)。以獲取整個句子的句法結構為目的的稱為完全句法分析,而以獲得局部成分為目的的語法分析稱為局部分析,依存關係分析簡稱依存分析。今天我們看看句法結構分析。
  • 斯坦福發布重磅NLP工具包StanfordNLP,支持中文等53種語言
    編輯:肖琴【新智元導讀】斯坦福團隊最新發布一個NLP任務的軟體包StanfordNLP,通過Python接口為53種語言提供標記、依存句法分析等NLP任務的重要工具。StanfordNLP是一個軟體包組合,包括斯坦福團隊在CoNLL 2018 的通用依存解析(Universal Dependency Parsing)共享任務上使用的軟體包,以及斯坦福CoreNLP軟體的官方Python接口。
  • 上海科技大學屠可偉團隊:小談無監督依存句法解析
    自然語言總有豐富的內部結構信息,而這些信息一般都是通過解析樹(parse tree)來進行表示。一般而言,我們把從一個句子到句法樹的這一過程稱為句法解析(parsing)。句法解析有很多種形式,最為常用的是基於短語的句法解析(constituency parsing)和依存句法解析(dependency parsing)。
  • 詳解Transition-based Dependency parser基於轉移的依存句法解析器
    但是注意,依存句法樹是不允許弧之間有交叉或者迴路!依存句法樹的文本表示格式為conll格式,如表根據該表的父親節點索引和對應的弧上關係就能還原該依存句法樹。其中-1表示根節點。用在生成依存句法樹上,則具體表示為從空狀態開始,通過動作轉移到下一個狀態,一步一步生成依存句法樹,最後的狀態保存了一個完整的依存樹。依存分析就是用來預測詞與詞之間的關係,現在轉為預測動作序列。
  • 斯坦福 Manning 組發現 BERT 可自動學習句法結構
    Treebanks是一個經人類標註的語句數據集,帶有語法、句法和其他語言要素的信息。然而,treebanks的問題是標註成本非常大,也很費人力,同時由此產生的模型仍然不能很好地解決語言的歧義。相同單詞組成的句子可以有完全不同的含義,因為句子結構和上下文可能不同。
  • 支持53種語言預訓練模型,斯坦福發布全新NLP工具包StanfordNLP
    53 種語言預訓練模型的自然語言處理工具包 StanfordNLP,該工具包支持 Python 3.6 及之後版本,並基於 PyTorch,支持多種語言的完整文本分析管道,包括分詞、詞性標註、詞形歸併和依存關係解析,此外它還提供了與 CoreNLP 的 Python 接口。
  • 做好「法語詞性+句法標註」,語言研究不再愁!
    我們對該文本進行句法標註,格式為token_dep_lemma,這裡的dep指的是句法標註。Step 1:準備要進行句法標註的文本把自己想要標註句法結構的法文文本準備好,保存成為txt格式,編碼格式為UTF-8。
  • NLP is fun!
    ,這稱為依存句法分析(Dependency Parsing)。但我們還可以更進一步。如果我們按照完整的解析樹來解析這個句子(超出所示內容),我們甚至會發現:London是英國的首都。就像我們之前使用機器學習模型預測詞性一樣,依存語法分析也可以通過將單詞輸入到機器學習模型中並輸出結果來實現。但是,解析單詞的依存關係是一項特別複雜的任務,需要另起一篇文章來詳細解釋。
  • NLP崗位面試題:了解情感分析中的NLP技術麼?
    文 | 七月在線編 | 小七解析:
  • 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統
    深度學習模型可以將文本中的詞高效地表示為分布式連續向量(word2vec),將詞語、文本由詞空間映射到語義空間,這樣的語義表示可以捕獲重要的句法和語義信息,一定程度上緩解了詞面不匹配、數據稀疏、語義鴻溝等問題。Word2vec 的應用可以使許多自然語言處理任務取得突出的表現。
  • 圖文並茂帶你了解依存句法分析
    而依存句法分析關係的是,兩個詞彙之間的關係(entity relation)。依存解析不關心兩個詞彙是否一定要相鄰。比如 book 和 flight 沒有直接相連,但是 flight 是 book 的賓語,book 是 flight 的主語。我們會用一個從 book 指向 flight 的箭頭來表示這種依存關係。箭頭的起始我們叫作 head。
  • 句法信息:詞義球結構理論
    詞義球結構理論深度描寫並闡釋了詞義蘊涵的認知特性和句法信息,是對詞義本質(什麼是詞義)的結構化、模型化觀照,具備模式識別簡單易學、高效易用的特點,有助於提升以詞義的生成接受能力為基礎的語言能力。詞義結構是個具有顯隱性特徵的三層複合結構。第一層是由「對象、屬性、屬性值」三要素構成的隱性認知結構。第二層是由「對象義、屬性義、屬性值義」三要素構成的隱性語義結構。第三層是由「對象詞、屬性詞、屬性值詞」構成的顯性句法結構。該詞義觀的基本內涵可簡述為:三個結構、三組要素、兩種狀態。詞義球結構理論以隱性狀態的認知結構為基礎,以顯性狀態的句法結構為抓手,旨在深度描寫詞的隱性狀態的語義結構。
  • 句法分析和語義理解專場(視頻+實錄+PPT)AIS預講會全程乾貨分享
    這叫樹庫轉化的問題。大家可以理解機器翻譯問題,就是把一個句子轉化成另外一個句子。我們這個問題實際上是怎麼把一棵樹轉化為另外一棵樹,這個問題更複雜一些。第二個問題,如果把這些不同規範的數據轉換統一規範了以後,是不是真的比目前比較常用的方法能更好地幫助句法模型在目標規範上? 這兩個問題我們的工作都有一個初步的答案,是YES。
  • 句法分析和語義理解專場(視頻+實錄+PPT)| AIS預講會全程乾貨分享
    我們這個問題實際上是怎麼把一棵樹轉化為另外一棵樹,這個問題更複雜一些。第二個問題,如果把這些不同規範的數據轉換統一規範了以後,是不是真的比目前比較常用的方法能更好地幫助句法模型在目標規範上?   這兩個問題我們的工作都有一個初步的答案,是YES。對於樹庫轉化的問題有什麼挑戰呢?最重要的一個挑戰就是,我們目前沒有這樣的數據。
  • 瀏覽器是怎樣工作的二:渲染引擎 HTML解析
    接下來就是渲染引擎的基本工作流程: 圖 2:渲染引擎的基本工作流程(解析HTML構建DOM樹,渲染樹構建,渲染樹布局,繪製渲染樹)。渲染引擎會解析HTML文檔並把標籤轉換成內容樹中的DOM節點。它會解析style元素和外部文件中的樣式數據。樣式數據和HTML中的顯示控制將共同用來創建另一棵樹——渲染樹。
  • 句法分析綜述
    生成式和判別式和機器學習裡面的生成和判別相同,生成式方法採用聯合概率模型生成一系列依存句法樹並賦予其概率分值,然後採用相關算法找到概率打分最高的分析結果作為最後的輸出,說白了就是把概率分布求出來,然後根據概率分布進行下一步的分析和決策,在句法分析中將詞與詞之間的依存關係看作是成分結構,用類似於短語結構句法分析的方法來獲取依存關係,其優點是能夠得到每種決策的概率關係
  • ACL 2018|ELSC:基於語義表示的多任務句法分析
    本文在前人基礎上,提出了一個通用的基於轉換的DAG解析器,能夠解析UCA、AMR、SDP和UD。我們使用MTL對解析器進行訓練,在訓練數據稀少的域內和域外英語設置、德語域內設置、法語域內設置的單任務訓練中,UCCA解析性能獲得了顯著改進。本文的創新之處在於提出了一個通用的解析和學習的體系結構,能夠適應不同廣泛的解析任務,並展示了聯合學習的好處。
  • 【索微探賾】對聯的句法和結構
    對聯除了要做到對仗和諧,平仄合理,節奏有致,詞性相近,還要注意對聯的句法問題。句法問題,實質就是語法的邏輯問題,句法不通,即使聯句意義再好,也難為佳句,這是屬對中不可忽視的一個問題。以上說的是對聯結構的一般要求:即上下聯要對稱、要關聯,這是任何一副對聯都要達到的。但是對聯的內容、句法、體式既各不相同,其結構形式自然也會有多種多樣的不同,這是我們要進一步探究的。