Учитывая следующее основание:значения Расчет PMI с использованием заданного контекста окна
basis = "Each word of the text is converted as follows: move any consonant (or consonant cluster) that appears at the start of the word to the end, then append ay."
и следующие слова:
words = "word, text, bank, tree"
Как можно вычислить PMI-значения каждого слова в «слова» по сравнению с каждым словом в «базе», где я могу использовать размер окна контекста 5 (это две позиции до и два после целевого слова)?
Я знаю, как вычислить PMI, но я не знаю, как обрабатывать факт контекстного окна.
рассчитать «нормальные» PMI-значения следующим образом:
def PMI(ContingencyTable):
(a,b,c,d,N) = ContingencyTable
# avoid log(0)
a += 1
b += 1
c += 1
d += 1
N += 4
R_1 = a + b
C_1 = a + c
return log(float(a)/(float(R_1)*float(C_1))*float(N),2)