我正在编写一个用于计算 ngram 概率的小型库。
我有一个由 arpa 文件描述的 LM(它的格式非常简单:probability ngram backoff_weight):
...
-5.1090264 Hello -0.05108307
-5.1090264 Bob -0.05108307
-3.748848 we -0.38330063
...
-2.5558481 Hello Bob -0.012590006
...
-1.953679 Hello Bob how -0.0022290824
...
-0.58411354 Hello Bob how are -0.0007929117
...
-1.4516809 Hello Bob how are you
...
但是我该如何P(we|Hello Bob how are)
正确计算呢?
P(we|Hello Bob how are) = P(we) * BWt(Hello Bob how are) ?
或者这是正确的方法:
P(we|Hello Bob how are) = P(are we) * BWt(Hello Bob how) ?
如果我没有 4-gram 的回退权重怎么办(Hello Bob how are)
?
请指出一些用于计算概率的通用公式,或者我在哪里可以阅读它,我真的找不到任何好的东西......