큰 데이터 집합에서 얻은 단어 - 빈도를 사용하여 단어가 공존하는 빈도를 계산하기 위해 점 상호 정보 (PMI) 연관 측정을 사용합니다. 내가상호 정보 : 우발 치 테이블 형식의 계산 예 (Java)
log(P(X,Y)/(P(X)*P(Y))
의 고전적인 공식을 통해 PMI를 계산하고 내가 http://collocations.de/AM/index.html
내가 얻는 결과에 발견 joint-와 한계 주파수와 비상 테이블 표기법을 사용하고
은 매우 유사하지만,하지 똑같다. 내가 이해 한 한 두 가지 방법 모두 정확히 동일한 결과 값을 가져야합니다. I는 두 식을 이용하여 코퍼스에서 단어의 주파수를 사용하는 자바 programm에 작은 (최소 동작 예)를 만들었다. 나는 두 가지 방법에 대해 다른 결과를 얻는다. 누군가 왜 그 이유를 알고 있습니까?
public class MutualInformation
{
public static void main(String[] args)
{
long N = 1024908267229L;
// mutual information = log(P(X,Y)/P(X) * P(Y))
double XandY = (double) 1210738/N;
double X = (double) 67360790/N;
double Y = (double) 1871676/N;
System.out.println(Math.log(XandY/(X * Y))/Math.log(10));
System.out.println("------");
// contingency table notation as on www.collocations.de
long o11 = 1210738;
long o12 = 67360790;
long o21 = 1871676;
long c1 = o11 + o21;
long r1 = o11 + o12;
double e11 = ((double) r1 * c1/N);
double frac = (double) o11/e11;
System.out.println(Math.log(frac)/Math.log(10));
}
}
'비슷하지만 비슷하지 않다'라는게 무슨 뜻이야? 'e11 = r1 * c1/(double) N; ; FRAC = O11/E11'와'Y = 1871676.0/N' –
나는 이러한 결과를 얻을 : 3.9930973261888347 ------ 비슷하지만 3.768700373995412 동일하지 – toobee