句法分析或解析或语法分析是 NLP 的第三个阶段。此阶段的目的是提取确切的含义,或者可以说从文本中提取字典含义。语法分析根据正式语法规则检查文本的意义。例如,语义分析器会拒绝“热冰淇淋”之类的句子。
从这个意义上讲,句法分析或解析可以被定义为分析自然语言中的符号串符合形式语法规则的过程。词 ‘parsing’ 来源于拉丁语 ‘pars’ ,意为 ‘part’ 。
Concept of Parser
它用于实现解析任务。它可以定义为专门用于获取输入数据(文本)并根据形式语法检查正确语法后给出输入的结构表示的软件组件。它还构建了一个通常采用解析树、抽象语法树或其他层次结构形式的数据结构。
-
报告任何语法错误。
-
从常发错误中恢复后,可以继续处理程序的余下部分。
-
To create parse tree.
-
To create symbol table.
-
产生中间表示 (IR)。
Types of Parsing
-
Top-down Parsing
-
Bottom-up Parsing
Top-down Parsing
在此类解析中,解析器从开始符号开始构建解析树,然后尝试将开始符号转换为输入。自顶向下解析最常用的形式使用递归过程来处理输入。自顶向下解析的主要缺点是回溯。
Bottom-up Parsing
在此类解析中,解析器从输入符号开始构建解析树,直到开始符号。
Concept of Derivation
为了获取输入字符串,我们需要一系列产生式。导出是一组产生式。在解析过程中,我们需要决定要替换的非终结符,并决定借助其将要替换非终结符的产生式。
Types of Derivation
在本节中,我们将了解两种类型的导出,可用于决定要用产生式替换哪个非终结符 −
Left-most Derivation
在最左导出中,输入的句子形式从左到右进行扫描和替换。这种情况下的句子形式称为左句子形式。
Right-most Derivation
在最左导出中,输入的句子形式从右到左进行扫描和替换。这种情况下的句子形式称为右句子形式。
Concept of Parse Tree
可以将它定义为导出的图形描述。导出的开始符号用作解析树的根。在每个解析树中,叶节点是终结符,内部节点是非终结符。解析树的属性是:中序遍历将产生原始输入字符串。
Concept of Grammar
语法对于描述构造良好的程序的句法结构至关重要。从文学意义上来说,它们表示自然语言对话的语法规则。语言学自英语、印地语等自然语言诞生以来,就尝试定义语法。
形式语言理论也适用于计算机科学领域,主要在编程语言和数据结构中。例如,在“C”语言中,精确的语法规则说明了如何通过列表和语句来创建函数。
Noam Chomsky 在 1956 年给出了语法的数学模型,该模型可有效书写计算机语言。
在数学上,语法 G 可以正式写为一个 4 元组 (N, T, S, P),其中 −
-
N 或 VN = 非终结符符号集合,即变量。
-
T 或 ∑ = 终结符符号集合。
-
S = 开始符号,其中 S ∈ N
-
P 表示终结符和非终结符的产生式。它具有形式 α → β,其中 α 和 β 是 VN ∪ ∑ 上的字符串,并且 α 的至少一个符号属于 VN
Phrase Structure or Constituency Grammar
Noam Chomsky 提出的短语结构语法基于成分关系。这就是它也被称为成分语法的缘故。它与依存语法相反。
Example
在给出语群语法示例之前,我们需要了解语群语法和语群关系的基本点。
-
所有相关的框架都是根据语群关系来查看句子结构的。
-
语群关系是从拉丁语和希腊语语法的主题-谓语划分中得出的。
-
基本从句结构是根据{s0}和{s1}来理解的。
Dependency Grammar
它与语群语法相反,并且基于从属关系。是由吕西安·泰尼埃首次提出的。从属语法 (DG) 与语群语法相反,因为它缺少短语节点。
Example
在给出从属语法示例之前,我们需要了解从属语法和从属关系的基本点。
-
在 DG 中,语言单元(例如单词)通过定向链接相互连接。
-
动词成为从句结构的中心。
-
每个其他句法单元都通过定向链接连接到动词。这些句法单元称为{s3}。
使用语群语法的解析树称为基于语群的解析树;而使用从属语法的解析树称为基于从属的解析树。
Context Free Grammar
无上下文文法,也称为 CFG,是一种用于描述语言的符号以及正则语法的超集。它可以在下图中看到:
Definition of CFG
CFG 由一组具有以下四个部分的有限语法规则组成:
Set of Non-terminals
它由 V 表示。非终结符是表示一组字符串的句法变量,这些字符串进一步帮助定义语法所生成的语言。
Set of Terminals
它也被称为标记并由 Σ 定义。字符串是由终结符的基本符号组成的。
Set of Productions
它由 P 表示。该集合定义了如何组合终结符和非终结符。每个产生式 (P) 由非终结符、箭头和终结符(终结符序列)组成。非终结符称为产生式的左侧,终结符称为产生式的右侧。
Start Symbol
产生式从开始符号开始。它由符号 S 表示。非终结符符号始终被指定为开始符号。