已知文本中单词的bigram probabilities
,如何计算trigram probabilities
?
例如,如果我们知道P(dog cat) = 0.3
和P(cat mouse) = 0.2
我们如何找到P(dog cat mouse)
的概率?
谢谢!
回答:
在下文中,我将trigram视为三个随机变量A,B,C
。因此,dog cat horse
将是A=dog, B=cat, C=horse
。
使用链式法则:P(A,B,C) = P(A,B) * P(C|A,B)
。如果你想保持精确,你会卡在这里。
你可以做的是假设C
在给定B
的情况下与A
独立。那么P(C|A,B) = P(C|B)
成立。并且P(C|B) = P(C,B) / P(B)
,你应该能够从你的trigram频率中计算出来。请注意,在你的情况下,P(C|B)
实际上应该是C
在B
之后的概率,所以它是BC
的概率除以B*
的概率。
总结一下,当使用条件独立假设时:
P(ABC) = P(AB) * P(BC) / P(B*)
要计算P(B*)
,你需要将所有以B
开头的trigram的概率相加。