【自然語言處理 - 概念篇】 拆解語句組成的規則, 何謂依存句法分析(Dependency Parsing)?

更新於 發佈於 閱讀時間約 5 分鐘
我們有想過嗎? 一句簡單的話語, 竟然隱含著豐富的句法結構與規則, 而句法就是依著這樣的規則組合而成, 形成一個完整的句子, 隨著資料量越大, 透過規則與關聯性, 機器就能夠根據我們的話語進行拆解, 並試圖理解我們的意圖進行更貼心的服務, 隨著Chatgpt的興起, 我們也見證到AI的新里程碑, 資訊領域的我們也不得不跟上潮流學習這些AI相關的技術才不至於成為被取代的對象。
一個句子最基本的組成單位是「詞」這在我們之前幾個篇章都有談過,如果還不熟悉的朋友可以複習一下:
而這些「詞」除了距離以外還可以組成詞組(Phrase), 例如動詞、名詞、形容詞..., 這些詞組又可以再組成一句話, 非常神奇吧! 看到這邊應該非常困惑, 沒關係, 等等會實際以案例來加以說明, 並搭配程式碼進行實作。
我們只要大概記得一個「樹」是由不同的「節點」所組成, 而這些節點我們就想像為詞組(Phrase), 這些詞組之間具有著上下層關係, 從根結點開始透過樹狀結構的分叉更能夠追蹤片語的組成過程, 我們可以更好的理解句子組成的角色與關係。
在進入主題之前, 我們必須先來了解一下「【自然語言處理 - spaCy】 詞性標注POS在NLP的世界扮演什麼樣的角色呢?」每個詞都被賦予一個詞性, 而這些詞性也奠定了「語法分析」、「語意理解」、「文本分類」、「上下文分析」...的基礎, 讓機器更理解我們人類的語言。
!pip install spacy

# 下載Transfromer技術的中文語言模型
!python -m spacy download zh_core_web_trf

載入模型

import spacy

# 載入模型
nlp_zh = spacy.load('zh_core_web_trf')

定義片語解析函式並進行解析

text = '我昨天看了一本有趣的書'

doc = nlp_zh(text)

以視覺化進行語法結構分析

我 昨天 看 了 一 本 有趣 的 書

「我」是名詞,代表主語, 並與「看」之間依賴。
「昨天」是時間副詞,修飾「看」,表示動作發生的時間點。
「看」是動詞,表示動作。
「了」是助動詞,用於表示動作的完成, 因此與「看」依賴。
「一」是數詞,修飾「本」,表示書的數量。
「本」是量詞,用於量詞和名詞之間,表示書的量詞。
「有趣」是形容詞,修飾「書」,表示書的特性。
「的」是助詞,用於連接形容詞和名詞之間,表示形容詞修飾的對象。
from spacy import displacy

options = {
'color': 'blue',
'bg': 'white'
}

displacy.render(doc, style="dep", jupyter=True, options=options)
「看」是整個句子的根節點, 「我」 是它的主語,「書」 是它的賓語,「昨天」 是它的修飾詞,「有趣」 是 「書」 的修飾詞,觀察句法樹讓我們可以理解詞彙之間的關係, 。
這張圖時有幾個關聯標籤需要知道一下, 這邊使用的是「universaldependencies(用於對句子的語法結構進行標註)」, 由左到右逐一解析:
  • nsubj: 用來表示主語, 通常標記在動詞的依存邊上。「我」是名詞, 而「看」是動詞, 被標記在連接動詞「看」和主語「我」的邊上。
    我 <nsubj> 看。
  • nmod:tmod: 通常是動詞或名詞, 標示在時間的修飾語之間,「看」是動詞, 而「昨天」是時間修飾語, 因此他們之間的關係為nmod:tmod。
  • aux:asp: 輔助動詞:體裁。「體裁(aspect)」是一個用於描述動詞的語法特徵的術語。
    「看(動詞)」、「了(體裁)」。
  • dboj: direct object, 表示動詞的直接賓語。看 <dobj> 書, 「看」的直接賓語為「書」。
  • mark:clf: 冠詞通常用於限定名詞,並在句子中起到指示數量、確定性或泛指性質的作用。一 <mark:clf> 本
    「一」是數量詞,修飾「本」, 表示書的數量。
  • case: 詞彙的格標記(case marking),有趣 <case> 的
    表示形容詞「有趣」修飾名詞「的」,形成一個形容詞詞組
  • unmmod: 數詞修飾名詞的關係書 <nummod> 一。
  • amod: 表示形容詞修飾名詞的關係。書 <amod> 有趣。
    表示這本書是有趣的。
透過分析圖的繪製, 我們可以分析一個句子的組成可能包含動詞、名詞..., 而這些詞類之間又有相斥相吸的特性, 最終組成一句話。
為什麼會看到廣告
avatar-img
118會員
266內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
上一篇「【Hugging Face】Ep.2 初探新手村, 打造專屬的翻譯官」我們學習到如何架設起Hugging Face的環境了,接下來我們就介紹一下重要的Datasets吧! AI模型訓練最重要的燃料就是「資料」了, 而HuggingFace的Dataset也公開了不少的資料集, 非常適合我們進
我們已經介紹過關於Transformer模型的平台「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」,而這次就來實際動手進行開發,讓我們自己的AI自己做。 由於AI模型的訓練往往都會比較耗時, 因此建議需要有GPU環境會比較有效率一些, 否則訓練模行動輒好幾個小時才能看到結果, 一
它到底是什麼? 簡單說Hugging Face是人工智慧開源平台,開發者發表和共享預訓練模型、資料庫和示範檔案等。Hugging Face共享超過10萬個預訓練模型,上萬資料庫,包括微軟、Google、彭博、英特爾等各行業上萬機構都有使用Hugging Face。 理念與目標 我們都知道最近火紅的O
正常來說這種大型LLM公司都會有內容審查功能, 照理說不應該讓AI回答有害的、暴力的…等負面回應, 以Chatgpt來說經實驗後確實是如此, 但仍可以透過欺騙的方式讓它間接的回答, 有一點挖坑給AI跳的概念…。 好人形象的ChatGPT 非常聰明的閃避掉違法的問題, 看來內部已經經過嚴格的審查過程,
雖然ChatGPT這種基於大型語言模型(LLM)的助手, 在大部分的場景都能滿足我們的需求, 但也並非完美, 在使用時仍需注意一些隱患。 以下是LLM的一些缺陷及需要注意的點。 弱弱的數學造成明顯錯誤 過份樂觀帶來錯誤資訊 相信常常使用ChatGPT的朋友應該都有發現到, 不論我們怎麼提問, Cha
前一篇我們有提到「【Generative AI - Prompt篇】Ep.3 讓AI身歷其境的角色提示法」如何催眠AI成為專家,藉著該提示技巧讓AI可以針對該領域進行專業的回答,但…這還不夠,我們還希望AI可以更強大,可以根據我們設計的範本,進行相同規格的輸入與輸出。 我們在前面幾個篇章也玩過一些P
上一篇「【Hugging Face】Ep.2 初探新手村, 打造專屬的翻譯官」我們學習到如何架設起Hugging Face的環境了,接下來我們就介紹一下重要的Datasets吧! AI模型訓練最重要的燃料就是「資料」了, 而HuggingFace的Dataset也公開了不少的資料集, 非常適合我們進
我們已經介紹過關於Transformer模型的平台「【Hugging Face】Ep.1 平凡人也能玩的起的AI平台」,而這次就來實際動手進行開發,讓我們自己的AI自己做。 由於AI模型的訓練往往都會比較耗時, 因此建議需要有GPU環境會比較有效率一些, 否則訓練模行動輒好幾個小時才能看到結果, 一
它到底是什麼? 簡單說Hugging Face是人工智慧開源平台,開發者發表和共享預訓練模型、資料庫和示範檔案等。Hugging Face共享超過10萬個預訓練模型,上萬資料庫,包括微軟、Google、彭博、英特爾等各行業上萬機構都有使用Hugging Face。 理念與目標 我們都知道最近火紅的O
正常來說這種大型LLM公司都會有內容審查功能, 照理說不應該讓AI回答有害的、暴力的…等負面回應, 以Chatgpt來說經實驗後確實是如此, 但仍可以透過欺騙的方式讓它間接的回答, 有一點挖坑給AI跳的概念…。 好人形象的ChatGPT 非常聰明的閃避掉違法的問題, 看來內部已經經過嚴格的審查過程,
雖然ChatGPT這種基於大型語言模型(LLM)的助手, 在大部分的場景都能滿足我們的需求, 但也並非完美, 在使用時仍需注意一些隱患。 以下是LLM的一些缺陷及需要注意的點。 弱弱的數學造成明顯錯誤 過份樂觀帶來錯誤資訊 相信常常使用ChatGPT的朋友應該都有發現到, 不論我們怎麼提問, Cha
前一篇我們有提到「【Generative AI - Prompt篇】Ep.3 讓AI身歷其境的角色提示法」如何催眠AI成為專家,藉著該提示技巧讓AI可以針對該領域進行專業的回答,但…這還不夠,我們還希望AI可以更強大,可以根據我們設計的範本,進行相同規格的輸入與輸出。 我們在前面幾個篇章也玩過一些P
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章討論了自然語言處理技術的發展歷程,從語言模型的引入到深度學習的應用。作者觀察到現今GPT在產出中文國學內容時的深度不足,並提出了自然語言處理領域的倫理使用和版權問題,以及對大眾的影響。最後,作者探討了個人在自然語言領域的發展可能性。
Thumbnail
1.0 從函數到函算語法 1.1 句子成份 十 按《文通》的意見,句必有起﹑語兩詞,這是最基本的句子結構。「字之為語詞,動字居多」。動字又分外動字和內動字。如是外動字,必有止詞,位於其後。22 如是內動字則不可以有止詞。如語詞非動字,而是靜字,用作語詞的靜字則稱為「表詞」。如表詞不用靜
Thumbnail
1.0 從函數到函算語法 1.1 句子成份 本書關注的是句子成份的分析。 如前述,詞類和句子成份是兩個很不一樣的概念。 詞類的劃分屬歸類性的描述。我們先有一個給定的詞彙,然後劃分若干詞類,比如名詞﹑動詞﹑形容詞等,再進而對詞彙中的每一個詞進行分類,即說某詞屬名詞﹑某詞屬動詞﹑某詞可以是名
Thumbnail
1.0 從函數到函算語法 1.1 句子成份 一 語言學的一個分支是對語法的研究,語法的一個分支是對語構 (syntax) 的研究。研究語法的一個方法始於對一個語言的詞彙集裡的成員進行分類,也就是以詞類或詞彙範疇為研究的對象。9 因此如何分類或應該按什麼原則分類似乎是一個重要議題,但傳統語法學
Thumbnail
大語言模型(如GPT-3和GPT-4)的出現改變了我們與機器互動的方式。這些模型能夠理解和生成自然語言,實現許多以前無法想像的應用。然而,你可能會好奇,這些模型究竟是如何理解語言的?這裡,我們來探討一個關鍵的概念:「一切語義都是關係」。
大語言模型能夠生成文本,因此被認為是生成式人工智慧的一種形式。 人工智慧的學科任務,是製作機器,使其能執行需要人類智慧才能執行的任務,例如理解語言,便是模式,做出決策。 除了大語言模型,人工智慧也包含了深度學習以及機器學習。 機器學習的學科任務,是透過演算法來實踐AI。 特別
大語言模型,例如OpenAI提供的ChatGPT,是過去幾年發展的深度神經網路模型,開啟自然語言處理的新紀元。
Thumbnail
語言模型與文字表示以不同的方式來分析自然語言的詞語分佈及語意關係。本文章簡要介紹了語言模型、Word2vec、FastText、GloVe和Transformer等技術,並提供了實際的應用參考點,幫助讀者深入理解自然語言處理的技術。
Thumbnail
想看懂文言文,就得先看懂文言文的句子。想看懂文言文的句子,就得先看懂句子裡的詞。 「但我就是看不懂那些詞啊!」 放心!這回將告訴你如何用「猜詞義」讀懂文言文的句子!
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章討論了自然語言處理技術的發展歷程,從語言模型的引入到深度學習的應用。作者觀察到現今GPT在產出中文國學內容時的深度不足,並提出了自然語言處理領域的倫理使用和版權問題,以及對大眾的影響。最後,作者探討了個人在自然語言領域的發展可能性。
Thumbnail
1.0 從函數到函算語法 1.1 句子成份 十 按《文通》的意見,句必有起﹑語兩詞,這是最基本的句子結構。「字之為語詞,動字居多」。動字又分外動字和內動字。如是外動字,必有止詞,位於其後。22 如是內動字則不可以有止詞。如語詞非動字,而是靜字,用作語詞的靜字則稱為「表詞」。如表詞不用靜
Thumbnail
1.0 從函數到函算語法 1.1 句子成份 本書關注的是句子成份的分析。 如前述,詞類和句子成份是兩個很不一樣的概念。 詞類的劃分屬歸類性的描述。我們先有一個給定的詞彙,然後劃分若干詞類,比如名詞﹑動詞﹑形容詞等,再進而對詞彙中的每一個詞進行分類,即說某詞屬名詞﹑某詞屬動詞﹑某詞可以是名
Thumbnail
1.0 從函數到函算語法 1.1 句子成份 一 語言學的一個分支是對語法的研究,語法的一個分支是對語構 (syntax) 的研究。研究語法的一個方法始於對一個語言的詞彙集裡的成員進行分類,也就是以詞類或詞彙範疇為研究的對象。9 因此如何分類或應該按什麼原則分類似乎是一個重要議題,但傳統語法學
Thumbnail
大語言模型(如GPT-3和GPT-4)的出現改變了我們與機器互動的方式。這些模型能夠理解和生成自然語言,實現許多以前無法想像的應用。然而,你可能會好奇,這些模型究竟是如何理解語言的?這裡,我們來探討一個關鍵的概念:「一切語義都是關係」。
大語言模型能夠生成文本,因此被認為是生成式人工智慧的一種形式。 人工智慧的學科任務,是製作機器,使其能執行需要人類智慧才能執行的任務,例如理解語言,便是模式,做出決策。 除了大語言模型,人工智慧也包含了深度學習以及機器學習。 機器學習的學科任務,是透過演算法來實踐AI。 特別
大語言模型,例如OpenAI提供的ChatGPT,是過去幾年發展的深度神經網路模型,開啟自然語言處理的新紀元。
Thumbnail
語言模型與文字表示以不同的方式來分析自然語言的詞語分佈及語意關係。本文章簡要介紹了語言模型、Word2vec、FastText、GloVe和Transformer等技術,並提供了實際的應用參考點,幫助讀者深入理解自然語言處理的技術。
Thumbnail
想看懂文言文,就得先看懂文言文的句子。想看懂文言文的句子,就得先看懂句子裡的詞。 「但我就是看不懂那些詞啊!」 放心!這回將告訴你如何用「猜詞義」讀懂文言文的句子!
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大