如果您选中http://www.cs.nmsu.edu/~mmartin/LSA_Intro_AI_Seminar.ppt,则会在幻灯片25中显示每个单词的计算得分。
我无法找到如何计算此摘要。
最近,我已经完成了一个LSA实现,可以在这个PPT中产生所有其他结果,但不能生成Slive 25.
我之所以这样问是因为我想用这个来表明文件得分高的“最主要原因”。
答案 0 :(得分:1)
确定;我决定写一下powerpoint的作者(Melanie J Martin博士),她指出了她所依据的Deerwester等论文的第406页; “X帽子”部分。
为了测试它,我已经写出了示例,看看我是否可以获得相同的值,并且它有效:)
测试代码:
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();
}
}