如何从文本语料库中表示对数似然比的参数

时间:2016-01-04 16:55:09

标签: python-3.x nlp

有几个软件包可以计算对数似然比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以及我如何为它们建模?非常感谢您的帮助。

编辑:我从下面的评论中提到的一本书中得到了等式。这是等式的快照。 Equation of LLR

0 个答案:

没有答案