一、潜在语义索引的提出
潜在语义索引(LSI),又称为潜在语义分析(LSA),是在信息检索领域提出来的一个概念。主要是在解决两类问题,一类是一词多义,如“bank”一词,可以指银行,也可以指河岸;另一类是一义多词,即同义词问题,如“car”和“automobile”具有相同的含义,如果在检索的过程中,在计算这两类问题的相似性时,依靠余弦相似性的方法将不能很好的处理这样的问题。所以提出了潜在语义索引的方法,利用SVD降维的方法将词项和文本映射到一个新的空间。二、潜在语义索引的含义
潜在语义索引依靠SVD,具体SVD的操作过程可以参见《简单易学的机器学习算法——SVD奇异值分解》。 SVD的操作过程是将词项-文本矩阵进行分解,分解为:其中,为左奇异矩阵,是对角矩阵,对角线上是奇异值,称为右奇异矩阵。 我们取前个奇异值,构成新的矩阵,这样就可以重构矩阵:
这样,我们便将原来的空间映射到了新的维空间。 我们对一个具体的问题进行处理:
横坐标表示词“ship”,“boat”,“ocean”,“wood”和“tree”,纵坐标为文章“d1”,“d2”,“d3”,“d4”,“d5”和“d6”。我们对其进行奇异值分解,得到的矩阵为:
我们取的值为2,的值即为我们要隐射的空间,此时左奇异向量为:
这表第一个词与第一维空间更接近,依次类推,同样,我们可以得到右奇异矩阵:
这表第一列表示文章“d1”与第一位空间更接近。 中间矩阵
表示的是词和文章的相关关系。
三、实验的仿真
对于“《数学之美》拾遗——TF-IDF”中的数据:进行奇异值分解,分解完的三个矩阵分别为:
这里可以看到9个奇异值的条状图:
我们可以看到不同奇异值的重要性程度,选取前3个奇异值。 此时得到三个修改后的矩阵:
依据不同的值,我们便可以将词和文章分到不同的维中。