有几个软件包可以计算对数似然比LLR
,但我发布这个问题的目的是为了理解底层的内容。我试图理解如何表示Log-Likelihood Ratio
测试的参数,用于从文本语料库中提取搭配和复合词。为了论证,请说语料库如下:
>>> corpus = "Tom bougt hod dog. Jimmy ate hot dog. They like hot dog.".split()
现在,我想了解如何计算语料库中单词的LLR并找到可能的复合词,在本例中为hot dog
。我找到了LLR
的等式,并在Python3.x中编写了该函数,但我不知道a, b, c, d
是什么。这是我到目前为止所尝试的:
import math
def loglikelihoodratio(a, b, c, d):
result = 2 * (a * math.log(a) + b * math.log(b) + c * math.log(c)
+ d * math.log(d)
- (a + b) * math.log(a + b) - (a + c) * math.log(a + c)
- (b + d) * math.log(b + d) - (c + d) * math.log(c + d)
+ (a + b + c + d) * math.log(a + b + c + d))
return result
什么是a, b, c, d
以及我如何为它们建模?非常感谢您的帮助。