2012-04-10 5 views
0

에서 볼 수 있듯이 LSA 워드 점수를 계산하는 방법 .그들은 내가이 요약을 계산하는 방법을 찾을 수 없어 25</p> <p>슬라이드의 각 단어에 대한 계산 된 점수를 보여 <a href="http://www.cs.nmsu.edu/~mmartin/LSA_Intro_AI_Seminar.ppt" rel="nofollow">http://www.cs.nmsu.edu/~mmartin/LSA_Intro_AI_Seminar.ppt</a> 당신이 선택하면 "LSA 소개 AI 세미나"

최근에, 나는 LSA 구현을 완료하고 다른 모든이 PPT 결과,하지만를 생성 할 수 없습니다 Slive 25

내가 나타 내기 위해이 사용하고자하기 때문이다 질문 왜 이유 ' 최고의 이유 '문서가 높은 점수를받은 이유.

답변

1

Ok; 필자는 파워 포인트의 저자 (Melanie J Martin 박사)를 쓰기로 결심했으며 그녀는 Deerwester et al의 논문에서 406 페이지를 썼다. "X hat"섹션.

테스트하려면, 내가 같은 값을 얻을 수 있는지 확인하기 위해 예를 서면으로 작성했습니다, 그리고 :)

테스트 코드 일 :

static void XHatTest() 
{ 
    double[,] testT = new double[12, 2], testD = new double[2, 9], testS = new double[2, 2]; 
    testT[0, 0] = 0.22; 
    testT[0, 1] = -0.11; 
    testT[1, 0] = 0.20; 
    testT[1, 1] = -0.07; 
    testT[2, 0] = 0.24; 
    testT[2, 1] = 0.04; 
    testT[3, 0] = 0.40; 
    testT[3, 1] = 0.06; 
    testT[4, 0] = 0.64; 
    testT[4, 1] = -0.17; 
    testT[5, 0] = 0.27; 
    testT[5, 1] = 0.11; 
    testT[6, 0] = 0.27; 
    testT[6, 1] = 0.11; 
    testT[7, 0] = 0.30; 
    testT[7, 1] = -0.14; 
    testT[8, 0] = 0.21; 
    testT[8, 1] = 0.27; 
    testT[9, 0] = 0.01; 
    testT[9, 1] = 0.49; 
    testT[10, 0] = 0.04; 
    testT[10, 1] = 0.62; 
    testT[11, 0] = 0.03; 
    testT[11, 1] = 0.45; 

    testD[0, 0] = 0.20; 
    testD[0, 1] = 0.61; 
    testD[0, 2] = 0.46; 
    testD[0, 3] = 0.54; 
    testD[0, 4] = 0.28; 
    testD[0, 5] = 0.00; 
    testD[0, 6] = 0.02; 
    testD[0, 7] = 0.02; 
    testD[0, 8] = 0.08; 
    testD[1, 0] = -0.06; 
    testD[1, 1] = 0.17; 
    testD[1, 2] = -0.13; 
    testD[1, 3] = -0.23; 
    testD[1, 4] = 0.11; 
    testD[1, 5] = 0.19; 
    testD[1, 6] = 0.44; 
    testD[1, 7] = 0.62; 
    testD[1, 8] = 0.53; 

    testS[0, 0] = 3.34; 
    testS[0, 1] = 0; 
    testS[1, 0] = 0; 
    testS[1, 1] = 2.54; 

    Matrix A = new Matrix(testT), B = new Matrix(testD), C = new Matrix(testS); 
    Matrix Result = A * C * B; 
    for (int row = 0; row < Result.NoRows; row++) 
    { 
     for (int col = 0; col < Result.NoCols; col++) 
     { 
      Console.Write(Math.Round(Result[row, col], 2) + " "); 
     } 
     Console.WriteLine(); 
    } 
}