2013-12-14 220 views
2

鉴于bigram probabilities对于文本中的单词,如何计算trigram probabilities来自bigrams概率的计算三元概率

例如,如果我们知道P(dog cat) = 0.3P(cat mouse) = 0.2

我们如何找到P(dog cat mouse)的概率是多少?

谢谢!

+0

你为什么要这么做?这不太可能是一个真正的三元组概率的好估计。 “狗猫”之后可能还没有第三个词,根本没有办法从基于“给定两个词,这种组合出现X个Z时间”的概率中分辨出来“ – towr

+0

我知道这不是一个好方法来获得trigram的概率,但是有没有某种方法可以估计给出的两个概率的概率? –

回答

3

在下面我考虑一个三元作为三个随机变量A,B,C。所以dog cat horse将是A=dog, B=cat, C=horse

使用连锁规则:P(A,B,C) = P(A,B) * P(C|A,B)。现在你卡住了,如果你想保持精确。

你可以做的是假设C独立于A给出B。那么它认为,P(C|A,B) = P(C|B)。和P(C|B) = P(C,B)/P(B),你应该能够从你的trigram频率进行计算。请注意,在您的情况下,P(C|B)应该是C后面的概率 a B,因此它是BC除以B*的概率的概率。

所以总结起来,使用条件独立性假设时:

P(ABC) = P(AB) * P(BC)/P(B*) 

并计算P(B*)你要总结的概率为所有的三元组以及B开始。

+0

感谢您的回答。我会标记为最佳答案,我只是有一个问题。所以它是P(B,C)/ P(B),对吧?但为什么A的概率不在那里使用? –

+1

因为它只适用于'P(C | B)'。所有添加到答案。 – ziggystar