4

如何确定句子“what is a cat”的概率?与相关的 PCFG :

Rule , Probability
S -> NP VB
NN -> CAT , 1
DT -> what , 1
VB->is , .5
VB->be , .5

这个带有句子的 pcfg 如何表示为隐藏马尔可夫模型?

模型中的每个节点是 "what" 、 "is" 、 "a" 、 "cat" ?,如何从 PCFG 建模节点之间的概率连接?

4

1 回答 1

4

PCFG 定义 (i) 解析树上的分布和 (ii) 句子上的分布。

PCFG 给出的解析树的概率为:

其中,解析树t被描述为规则r的多重集(它是多重集,因为一个规则可以多次使用来导出一棵树)。

要计算一个句子的概率,你必须考虑所有可能的推导句子的方法,并对它们的概率求和。

其中 意味着t的终端字符串(产量)是句子s

在您的示例中,“什么是猫”的概率为 0,因为您无法使用语法生成它。这是另一个玩具语法的例子:

Rule            Probability
S -> NP VP      1
NP -> they      0.5
NP -> fish      0.5
VP -> VBP NP    0.5
VP -> MD VB     0.5
VBP -> can      1
MD -> can       1
VB -> fish      1

“他们可以钓鱼”这句话有两种可能的解析树:

(S (NP they) (VP (MD can) (VB fish)))
(S (NP they) (VP (VBP can) (NP fish)))

概率:

S   NP    VP     MD   VB
1 * 0.5 * 0.5 *  1  * 1 = 1 / 4

S   NP    VP     VBP   NP
1 * 0.5 * 0.5 *  1  *  0.5  = 1 /8

所以它的概率是两个解析树的总和或概率(3/8)。

事实证明,在一般情况下,为一个句子枚举每个可能的解析树在计算上过于昂贵。但是,有一个 O(n^3) 算法可以有效地计算总和:inside-outside algorithm(参见第 17-18 页),Michael Collins 的 pdf。

编辑:纠正树木。

于 2018-05-11T10:27:47.167 回答