Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

E.3 学习 PCFG 规则概率的方法

PCFG 的规则概率从何而来?学习语法规则概率有两种办法。最简单的是使用树库,即已经过句法分析的句子语料库。附录 F 介绍了树库以及常用的 Penn Treebank;后者由 Linguistic Data Consortium 发布,包含英语、汉语及其他语言的分析树。给定树库后,可以统计一个非终结符的每种展开出现多少次,再归一化计算概率:

P(αβα)=Count(αβ)γCount(αγ)=Count(αβ)Count(α)(E.17)P(\alpha\to\beta\mid\alpha)=\frac{\operatorname{Count}(\alpha\to\beta)}{\sum_\gamma\operatorname{Count}(\alpha\to\gamma)}=\frac{\operatorname{Count}(\alpha\to\beta)}{\operatorname{Count}(\alpha)}\tag{E.17}

如果没有树库,但有一个非概率句法分析器,可以先用它分析句子语料库,以产生计算 PCFG 规则概率所需的计数。如果句子都没有歧义,过程会很简单:分析语料库,对分析中每条规则增加计数,再归一化得到概率。

但是,大多数句子都有多个分析,我们不知道应当在哪棵分析树中统计规则。必须为一句话的每种分析分别保存计数,并用该分析的概率对其局部计数加权;可是,要得到用于加权规则计数的这些分析概率,又必须已经拥有概率句法分析器。

解决这一“鸡生蛋还是蛋生鸡”问题的直觉,是从规则等概率的句法分析器开始,逐步改进估计:先分析句子,计算每种分析的概率,用这些概率对计数加权,重新估计规则概率,如此反复,直到概率收敛。计算该解的标准算法称为 inside–outside 算法。Baker(1979)把它作为 HMM 前向—后向算法的推广提出。与前向—后向算法一样,inside–outside 是期望最大化(EM)算法的特例,因而包含期望步和最大化步。更多内容参见 Lari and Young(1990)或 Manning and Schütze(1999)。