文章目录

  • 形式语言
  • 1 形式语言
  • 1.1 语言的定义
  • 1.2 语言描述的三种途径
  • 1.3 形式语言的直观意义
  • 1.4 形式语法(文法)的定义
  • 1.5 推导的定义
  • 1.6 最左、最右、规范推导
  • 1.7 句型与句子
  • 1.8 形式语法的类型
  • 1.8.1 正则文法
  • 1.8.2 上下文无关文法
  • 1.8.3 上下文有关文法
  • 1.8.4 无约束文法
  • 1.9 CFG产生的语言句子的派生树表示
  • 1.10 上下文无关文法的二义性


形式语言

1 形式语言

1.1 语言的定义

  《现代汉语词典》1996,对语言的定义为:人类所特有的用来表达意思、交流思想的工具、是一种特殊的社会现象,由语音、词汇和语法构成一定的系统
  乔姆斯基(Noam Chomsky),对语言的定义为:按照一定规律构成的句子和符号串的有限或无限的集合。根据这个定义,无论哪一种语言都是句子和符号串的集合。
  我国学者吴蔚天认为:可以把语言看成一个抽象的数学系统
  无论把语言看作集合还是数学系统,我们都可以用数学的方法来进行刻画和描述。万物皆数嘛。

1.2 语言描述的三种途径

  一般地,描述一种语言可以有三种途径:

  1. 穷举法:把语言中的所有句子都枚举出来。显然,这种方法只适合句子数目有限的语言,假设现在让你把汉语中的所有句子都举出来,这得花上几辈子吧。
  2. 语法(文法)描述:语言中的每个句子用严格定义的规则来构造,利用规则生成语言中合法的句子。
  3. 自动机法:通过对输入的句子进行合法性检验,区别哪些是语言中的句子,哪些不是语言中的句子。

  第一种描述语言的方法想想就好了,现在也没人会去做。语法(文法)用来精确地描述语言及其结构,自动机则是用来机械地刻画对输入字符串的识别过程。这两种描述语言的方法各有所长,语法(文法)给予语言中的句子以结构,各成分之间的结构关系清楚明了;自动机用来识别一个字符串是否属于该语言则相对简单。自然语言处理中的识别和分析算法,大多兼取两者之长。

1.3 形式语言的直观意义

  形式语言是用来精确地描述语言(包括人工语言和自然语言)及其结构的手段。形式语言学也称代数语言学。
  以重写规则meson 语言_重写规则的形式表示,其中meson 语言_重写规则_02均为字符串。意思就是,字符串meson 语言_形式语言_03可以被改写成meson 语言_重写规则_04。一个初步的字符串通过不断地运用重写规则,就可以得到另一个字符串。通过选择不同的规则并以不同的顺序来运用这些规则就可以得到不同的新字符串。

1.4 形式语法(文法)的定义

meson 语言_形式语言_05,以下是每个字符的含义:

  • N是非终结符(non-terminal symbol)的有限集合(有时也叫变量集或句法种类集);
  • meson 语言_形式语言_06是终结符号(terminal symbol)的有限集合,meson 语言_重写规则_07meson 语言_meson 语言_08称为总词汇表;
  • meson 语言_自然语言处理_09是一组重写规则的有限集合,meson 语言_形式语言_10,其中meson 语言_重写规则_11是由meson 语言_meson 语言_12中元素构成的串,但是meson 语言_meson 语言_13中至少应含有一个非终结符号;
  • meson 语言_字符串_14,称为句子符或初始符。

1.5 推导的定义

meson 语言_形式语言_05是一个语法,在meson 语言_自然语言处理_16上定义关系meson 语言_自然语言处理_17(直接派生或推导)为:如果meson 语言_meson 语言_18meson 语言_字符串_19中的字符串,且meson 语言_自然语言处理_20meson 语言_自然语言处理_09的产生式,那么meson 语言_重写规则_22
  一般地,用meson 语言_重写规则_23(按非平凡方式派生)表示meson 语言_自然语言处理_17的传递闭包,也就是meson 语言_自然语言处理_16上的符号串meson 语言_字符串_26meson 语言_字符串_27meson 语言_自然语言处理_28步推导或派生;用meson 语言_形式语言_29(派生)表示meson 语言_自然语言处理_17的自反和传递闭包,即由meson 语言_自然语言处理_16上的符号串meson 语言_字符串_26meson 语言_字符串_27meson 语言_形式语言_34步推导或派生。如果清楚某个推导是语法(文法)meson 语言_自然语言处理_35所产生的,则上面两个符号中的meson 语言_自然语言处理_35可以省略不写。

1.6 最左、最右、规范推导

  最左推导:约定每步推导中只改写最左边的那个非终结符
  最右推导:约定每步推导中只改写最右边的那个非终结符
  最右推导也称规范推导。
  示例:设meson 语言_meson 语言_37,其中meson 语言_meson 语言_38,字符串meson 语言_字符串_39的两种推导过程如下:
最左推导:meson 语言_重写规则_40
最右推导:meson 语言_形式语言_41

1.7 句型与句子

meson 语言_形式语言_05句子形式(句型),通过如下递归方式定义:

  1. meson 语言_字符串_43是一个句子形式;
  2. 如果meson 语言_meson 语言_18是一个句子形式,且meson 语言_自然语言处理_20meson 语言_自然语言处理_09的产生式,则meson 语言_形式语言_47也是一个句子形式。

meson 语言_自然语言处理_35的不含非终结符的句子形式成为meson 语言_自然语言处理_35生成的句子。由文法meson 语言_自然语言处理_35生成的语言,记作meson 语言_字符串_51,指生成的所有句子的集合。即:meson 语言_重写规则_52

1.8 形式语法的类型

  在乔姆斯基的语法理论中,语法(文法)被划分为4种类型,分别是3型语法(文法)、2型语法(文法)、1型语法(文法)和0型语法(文法),分别称为正则文法,上下文无关文法,上下文相关文法和无约束文法。

1.8.1 正则文法

meson 语言_形式语言_05meson 语言_字符串_54中的规则满足如下形式:meson 语言_字符串_55meson 语言_重写规则_56,其中meson 语言_重写规则_57,则称该文法为正则文法或3型文法。
  在这种书写格式中,由于规则右部的非终结符号(如果有的话)出现在最左边,所以这种形式的正则文法又叫左线性正则文法。类似地,如果一正则文法所有含非终结符号的形式规则位meson 语言_自然语言处理_58,则该文法称为右线性正则文法

1.8.2 上下文无关文法

meson 语言_自然语言处理_35的规则集meson 语言_字符串_54中所有规则均满足如下形式:meson 语言_meson 语言_61,则称文法meson 语言_自然语言处理_35为上下文无关文法(context-free grammar,CFG),或称2型文法。
  从定义中可以看出,2型文法比3型文法少了一层限制,其规则右端的格式没有约束。也就是说,规则左部的非终结符可以被改写成任何形式。

1.8.3 上下文有关文法

meson 语言_字符串_54中的规则满足如下形式:meson 语言_重写规则_64,其中,meson 语言_字符串_65meson 语言_meson 语言_66,且meson 语言_形式语言_67至少包含一个字符,则称该文法为上下文有关文法(context-sensitive grammar,CSG),或称1型文法。
  另一种定义:meson 语言_meson 语言_68,并且meson 语言_meson 语言_69

1.8.4 无约束文法

meson 语言_字符串_54中的规则满足如下形式:meson 语言_重写规则其中meson 语言_meson 语言_72是字符串,则称meson 语言_自然语言处理_35为无约束文法或无限制重写系统,也称0型文法。
  显然,每一个正则文法都是上下文无关文法,每一个上下文无关文法都是上下文有关文法,而每一个上下文有关文法都是无约束文法,即:
meson 语言_重写规则_74
如果一种语言能够由几种文法所产生,则把这种语言称为在这几种文法中受限制最多的那种文法所产生的语言。

1.9 CFG产生的语言句子的派生树表示

meson 语言_形式语言_05产生句子的过程可以由派生树表示。派生树又称语法树、分析树、推导树等。具体步骤如下:

  1. 对于meson 语言_自然语言处理_76,给一个标记作为节点,令文法的初始符号meson 语言_字符串_43作为数的根节点;
  2. 如果一个节点的标记为meson 语言_重写规则_78,并且它至少有一个除它自身以外的后裔,则meson 语言_重写规则_79;
  3. 如果一个节点的标记为meson 语言_重写规则_78,它的meson 语言_形式语言_81个直接后裔节点按从左到右的词序一次标记为meson 语言_meson 语言_82,则meson 语言_自然语言处理_83一定是meson 语言_自然语言处理_09中的一个产生式。

meson 语言_形式语言_85meson 语言_字符串_86,则meson 语言_自然语言处理_35所产生的句子可以由下面的生成树表示:
meson 语言_字符串_88




meson 语言_自然语言处理_89


1.10 上下文无关文法的二义性

meson 语言_自然语言处理_35,如果存在某个句子有不止一棵派生树与之对应,那么称这个文法是二义的。
  示例:给定文法meson 语言_形式语言_91:

  1. meson 语言_字符串_92
  2. meson 语言_重写规则_93
  3. meson 语言_自然语言处理_94
  4. meson 语言_自然语言处理_95
  5. meson 语言_自然语言处理_96
  6. meson 语言_meson 语言_97

短语”关于鲁迅的文章“的推导:
(1)meson 语言_形式语言_98
(2)meson 语言_形式语言_99
  上面两种推导的方法对应的派生树如下:



meson 语言_重写规则_100


参考资料:《统计自然语言处理》宗成庆