上下无关语法-NLP公开课week3笔记

来源:互联网 发布:图灵机思想 知乎 编辑:程序博客网 时间:2024/06/06 18:31

基础知识

无论是自然语言还是编程语言, 我们站在语言学家的角度如何来描述一种语言呢? 比较常用的方法有三种:
1. 穷举法, 就是列出该语言中所有的句子。
2. 文法描述: 语言中的每个句子都是通过严格的规则构造出来的。
3. 自动机: 随便给个句子,判断该句子是否是该语言中的句子。
这三种方法都能描述一种语言, 显然第一种仅仅使用规模比较小的语言,自然语言,无论是英语还是汉语都没法穷举。 实际在自然语言处理中都是结合了文法描述和自动机两者的长处。

形式语言

用来精确的描述语言及其结构的手段。那么如何来描述特定的语言(包括自然语言和人工语言)呢 , 就引出了下面的形式语言, 又叫形式文法;

形式语法的定义

形式语法是个四元组:G = (N,Σ,R,S) , 其中N 为非终结符的有限集合,Σ是终结符号的有限集合。还有一个词汇表的概念, 我们表示成V,有V = N ∪ Σ ,R = {α->β} 其中α, β ∪ V , 并且α 中至少含有一个非终结符。

形式语法的类型

Chomsky的语法理论中, 文法分为4中类型, 分别是:3型文法-正则文法, 2型文法-上下文无关文法,1型文法-上下文相关文法和0型文法-无约束文法。 下面就该说上下文无关语法了:

上下文无关语法(CFG)

定义:
G = (N,Σ,R,S) where:
N is a set of non-terminal symbols
Σ is a set of terminal symbols I
R is a set of rules of the form X → Y1Y2 …Yn for n ≥ 0, X ∈ N, Yi ∈ (N ∪Σ)
S ∈ N is a distinguished start symbol
上下文无关语法要求,规则R中所有规则要求满足如下形式:A->α ,A∪N , α∪(N ∪ Σ);
什么意思呢, 就是在CFG中,所有的替换,仅仅依赖于规则,而跟规则所处的上下文环境无关。 相应的肯定有上下文相关语法。

上下文相关文法:(content-sensitive grammar)

如果文法G的规则R中所有规则满足如下形式:αAβ->αγβ,其中A∪N , α,γ,β∪(N ∪ Σ);并且γ中至少包含一个终端字符。这样的是上下文相关文法(CSG);
什么意思呢, 就是所有的替换, 不仅仅要依赖于规则,还要参考规则所在的上下文环境。

1 0
原创粉丝点击