自然語言處理 - 語法分析



語法分析或解析或句法分析是 NLP 的第三階段。此階段的目的是從文字中提取確切含義,或者您可以將其稱為字典含義。語法分析根據形式語法的規則檢查文字的意義。例如,像“熱冰淇淋”這樣的句子會被語義分析器拒絕。

從這個意義上說,語法分析或解析可以定義為分析自然語言中符合形式語法規則的符號串的過程。單詞‘parsing’的起源來自拉丁語單詞‘pars’,意思是‘部分’

解析器的概念

它用於實現解析任務。可以將其定義為一種軟體元件,旨在獲取輸入資料(文字)並在根據形式語法檢查語法正確性後給出輸入的結構表示。它還會構建一個數據結構,通常以解析樹或抽象語法樹或其他層次結構的形式出現。

Symbol Table

解析器的主要作用包括 -

  • 報告任何語法錯誤。

  • 從常見錯誤中恢復,以便可以繼續處理程式的其餘部分。

  • 建立解析樹。

  • 建立符號表。

  • 生成中間表示 (IR)。

解析型別

推導將解析分為以下兩種型別 -

  • 自頂向下解析

  • 自底向上解析

自頂向下解析

在這種型別的解析中,解析器從開始符號開始構建解析樹,然後嘗試將開始符號轉換為輸入。最常見的自頂向下解析形式使用遞迴過程來處理輸入。遞迴下降解析的主要缺點是回溯。

自底向上解析

在這種型別的解析中,解析器從輸入符號開始,並嘗試構建解析樹直到開始符號。

推導的概念

為了獲得輸入字串,我們需要一系列產生式規則。推導是一組產生式規則。在解析過程中,我們需要確定要替換的非終結符,以及確定用於替換非終結符的產生式規則。

推導型別

在本節中,我們將學習兩種型別的推導,它們可以用來確定用產生式規則替換哪個非終結符 -

最左推導

在最左推導中,掃描輸入的句子形式並從左到右替換。在這種情況下,句子形式稱為左句子形式。

最右推導

在最左推導中,掃描輸入的句子形式並從右到左替換。在這種情況下,句子形式稱為右句子形式。

解析樹的概念

可以將其定義為推導的圖形描述。推導的開始符號充當解析樹的根。在每個解析樹中,葉子節點都是終結符,內部節點是非終結符。解析樹的一個特性是,中序遍歷將產生原始輸入字串。

語法的概念

語法對於描述格式良好的程式的句法結構至關重要。從文學意義上講,它們表示自然語言對話的句法規則。語言學家從英語、印地語等自然語言的誕生之日起就試圖定義語法。

形式語言理論也適用於計算機科學領域,主要是在程式語言和資料結構中。例如,在“C”語言中,精確的語法規則說明了如何從列表和語句中建立函式。

Noam Chomsky在 1956 年給出了語法的數學模型,該模型可有效用於編寫計算機語言。

在數學上,語法 G 可以正式寫成一個 4 元組 (N, T, S, P),其中 -

  • NVN = 非終結符集,即變數。

  • T = 終結符集。

  • S = 開始符號,其中 S ∈ N

  • P 表示終結符和非終結符的產生式規則。它具有形式 α → β,其中 α 和 β 是 VN ∪ ∑ 上的字串,並且 α 中至少有一個符號屬於 VN

短語結構或成分語法

由 Noam Chomsky 引入的短語結構語法基於成分關係。這就是為什麼它也稱為成分語法。它與依存語法相反。

例子

在給出成分語法的示例之前,我們需要了解關於成分語法和成分關係的基本要點。

  • 所有相關的框架都從成分關係的角度看待句子結構。

  • 成分關係源自拉丁語和希臘語語法的主謂劃分。

  • 基本從句結構用名詞短語 NP動詞短語 VP來理解。

我們可以將句子“這棵樹正在說明成分關係”寫成如下 -

Constituency Relation

依存語法

它與成分語法相反,並且基於依存關係。它是由 Lucien Tesniere 引入的。依存語法 (DG) 與成分語法相反,因為它缺少短語節點。

例子

在給出依存語法的示例之前,我們需要了解關於依存語法和依存關係的基本要點。

  • 在 DG 中,語言單位,即單詞透過有向連結相互連線。

  • 動詞成為從句結構的中心。

  • 其他所有句法單元都透過有向連結連線到動詞。這些句法單元稱為依存關係

我們可以將句子“這棵樹正在說明依存關係”寫成如下;

Illustrating The Dependency

使用成分語法的解析樹稱為基於成分的解析樹;使用依存語法的解析樹稱為基於依存的解析樹。

上下文無關文法

上下文無關文法,也稱為 CFG,是一種用於描述語言的表示法,並且是正則語法的超集。它可以在下圖中看到 -

Context Free Grammar

CFG 的定義

CFG 由一組有限的語法規則組成,這些規則具有以下四個組成部分 -

非終結符集

它由 V 表示。非終結符是句法變數,表示字串集,這些字串進一步幫助定義由語法生成的語言。

終結符集

它也稱為標記,由 Σ 定義。字串由終結符的基本符號形成。

產生式集

它由 P 表示。該集合定義瞭如何組合終結符和非終結符。每個產生式 (P) 由非終結符、箭頭和終結符(終結符的序列)組成。非終結符稱為產生式的左側,終結符稱為產生式的右側。

開始符號

產生式從開始符號開始。它由符號 S 表示。非終結符始終被指定為開始符號。

廣告