根据文法画出语法树_基于文法的语言模型和自动机

一,定义语言模型

什么是语言模型,简单讲就是描述语言规律的数学模型。

语言模型的任务就是寻找困惑度最小的模型,使其最接近于真实的语言。

在形式语言学中,我们一般将语言形式化定义为:给定一组符号,称为字母表,以Σ表示,又以Σ∗表示由Σ中字母组成的所有字符串的集合,则Σ∗的每个子集都是Σ上的一个语言。

二,Chomsky形式文法

对语言形式定义后,还需要对语言进行形式化描述,形式语言学中,采用形式文法对语言进行描述。

形式文法被严格定义为四元组G=(N,Σ,P,S),其中,N是非终结符的有穷集合;Σ是终结符的有限集合;N∩Σ= ∅;V=N∪Σ称总词汇表;P是一组重写规则的有限集合:P={α→β},其中α,β是V中元素构成的串,但α中至少应含有一个非终结符号;S∈N,称为句子符或初始符。在形式文法的定义中,重写规则P={α→β}最为重要,重写规则P={α→β}表示字符串α可以被改写成β。一个初始字符串通过不断运用重写规则,就可以得到另一个字符串,通过选择不同的规则并以不同的顺序来运用这些规则,就可以得到不同的新字符串。

三,乔姆斯基形式文法分类

文法是一种足够强大的语言描述工具,理论上可以描述语法规则非常复杂的语言,因此需要对其加以限制才能简单充分地描述常见的语言。针对重写规则P加以不同的约束,乔姆斯基将形式文法分为以下四类

  • 0型文法,对重写规则P不施加任何限制,因此0型文法又称作无约束文法。由0型文法产生的语言记为L(G0)。
  • 1型文法,如果P中的规则满足如下形式:αA β→αγβ,其中A∈N,α,β,γ∈(N∪Σ),且γ至少包含一个字符,则称该文法为1型文法,观察重写规则P可以发现,字符串A只有在上下文分别是α和β的情况下才能被改写成γ,因此1型文法又称为上下文有关文法(context-sensitive grammar,CSG)。由1型文法产生的语言记为L(G1)。
  • 2型文法,如果P中的规则满足如下形式:A→α,其中A∈N,α∈(N∪Σ),则称该文法为2型文法,因为对A改写成α的规则没有上下文约束,2型文法又称为上下文无关文法(context-free grammar,CFG)。由2型文法产生的语言记为L(G2)。
  • 3型文法,如果P中的规则满足如下形式:A→Bx,或A→x,其中A,B∈N,x∈Σ,则称该文法为正则文法或3型文法。由3型文法产生的语言记为L(G3)。

显然,每一个正则文法都是上下文无关文法,每一个上下文无关文法都是上下文有关文法,而每一个上下文有关文法都是0型文法,即L(G3)⊆L(G2)⊆L(G1)⊆L(G0)。从0型文法到3型文法,限制越来越多,但性质也越来越好。如果一种语言能由几种文法所产生,则把这种语言称为在这几种文法中受限制最多的那种文法所产生的语言。在计算机科学中最常见的是上下文无关语言和正则语言,上下文无关语言根据其转换规则可以表示成树的形式,因而可以使用图论的方法进行搜索。

四,有限状态自动机

自动机是一种抽象的计算装置,给定输入符号,自动机将依据转移函数从当前状态跳转到下一状态,逐个读取输入中的符号,直到输入被耗尽,自动机也将停止下来。依据自动机停止时的状态,可以判定这个输入是被自动机“接受”还是“拒绝”。如果自动机停止于“接受状态”,则这个输入被自动机接受,反过来,如果自动机停止于“拒绝状态”,则这个输入被自动机“拒绝”。自动机接受的所有输入的集合称为这个自动机接受的语言。

基于乔姆斯基建立的形式文法与自动机之间的联系,我们也可以将自动机分成四种类型:有限自动机,下推自动机,线性有界自动机和图灵机,并与形式文法一一对应。

65f50f7c1d87aa754bdd31f45c923905.png
Fig.1, Chomsky形式文法和自动即对应图。

我们可以构造一个确定的有限状态自动机 R=(Q,A,δ,q0,F),其中,

  • Q表示状态集。
  • A表示输入字符集,即26个字母。
  • δ:Q×A→Q是状态转移函数。
  • q0表示初始状态。
  • F⊆Q表示终止状态。

五,确定和非确定有穷状态自动机

自动机可分为确定的有穷自动机(Deterministic Finite Automation,DFA),非确定的有穷自动机(Nondeterministic Finite Automata,NFA)。它们的主要区别是状态转移函数,非确定意味着在某个状态的相同输入下可能会有不同的转移状态。

二维的NFA转换函数

  • 每行对应一个状态,每列对应一个输入符号或者
  • 每个条目对应的后继状态集合

状态转移函数的二维表示如下图:

cbb1f138cb8f294cd700d76ac11ff17a.png
Fig.2, 非确定有穷状态自动机二维表示。非确定体现在,在0状态可以通过a触发,到达0和1状态。

bf6a663d379b5efaa545d5820cdf1b81.png
Fig.3, 非确定有穷状态机的图形表示。

总结:

本节主要介绍了乔姆斯基Chomsky的四类形式文法,其中有限状态自动机,可以解决生活中的大部分问题,并介绍了其定义和自动机的实现。有限状态机自动机又分为确定和非确定,主要体现在转换函数的不同。

有限状态自动机有很多典型的应用,在word,输入法和搜索引擎中,单词拼写检查就是几个典型的应用场景,在之后的文章中我们会继续的介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值