部分上下文无关语言的分布学习
1. Lccfg 包含的语言类型
Lccfg 包含了多种类型的语言:
- 正则语言 :正则语言只有有限个同余类。对于正则语言 L,我们可以为其每个同余类构造一个非终结符,再加上产生式 [a] → a、[uv] → [u][v] 和 [λ] → λ,就能得到一个属于 Lccfg 的文法来定义该语言。
- NTS 语言 :NTS 文法满足特定条件,即对于任意非终结符 N、M 和字符串 l、w、r,如果 N ⇒∗ w 且 M ⇒∗ lwr,那么 M ⇒∗ lNr。NTS 文法是同余的,我们可以将 NTS 文法规则的右侧进行二值化,得到的文法虽可能不再是 NTS 文法,但仍是同余的。
不过,并非所有上下文无关语言都属于 Lccfg。例如,由无限多个同余类的并集构成的语言,像 {anbm|n > m > 0} 和 {anbn} ∪ {anb2n} 就不属于 Lccfg。此外,a、b 上的回文语言和 a、b 上的偶回文语言也不在 Lccfg 中,因此 Lccfg 不包含偶线性语言类。但 Lccfg 包含可替换的上下文无关语言和 k - l - 可替换语言,还包含 Dyck 语言,该语言既不是可替换的,也不是线性或正则的。
我们推测 NTS 语言、预 NTS 语言和同余语言的类别是重合的,但对应的文法类别显然不同,具体关系尚未完全明确。
2. 观察表
我们使用的基本数据结构是对 Gold 和 Angluin 所用观察表的改进。观察表由非空有限字符串集 K、非空有限上下文集 F 以及一个将 F ⊙ KK 映射到 {0
部分上下文无关语言的学习算法
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



