如何预测一个句子的概率?
How to predict probability of a sentence?
如何判断一个句子出现的概率"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 中对节点之间的概率连接进行建模?
PCFG 定义 (i) 分析树上的分布和 (ii) 句子上的分布。
PCFG给出的解析树的概率是:
其中解析树 t 被描述为规则的多重集 r (这是一个多重集,因为一个规则可以用于多个次导出一棵树)。
要计算 句子 的概率,您必须考虑推导句子的所有可能方法并对它们的概率求和。
其中表示t的终端串(yield)就是句子s.
在你的例子中,"what is a cat" 的概率是 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
句子"they can fish"有两种可能的解析树:
(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。
编辑:更正树。
如何判断一个句子出现的概率"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 中对节点之间的概率连接进行建模?
PCFG 定义 (i) 分析树上的分布和 (ii) 句子上的分布。
PCFG给出的解析树的概率是:
其中解析树 t 被描述为规则的多重集 r (这是一个多重集,因为一个规则可以用于多个次导出一棵树)。
要计算 句子 的概率,您必须考虑推导句子的所有可能方法并对它们的概率求和。
其中
在你的例子中,"what is a cat" 的概率是 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
句子"they can fish"有两种可能的解析树:
(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。
编辑:更正树。