在LSI中,一个矩阵是由文档和词语组成的。当我们在该矩阵上应用SVD时,就会构建出多个奇异值。这些奇异值代表了文档中的概念或主题,这一特点可以用于更高效的文档搜索。在词语拼写错误时,只基于词语存在与否的简单搜索方法会遇到问题。简单搜索的另一个问题是同义词的使用。这就是说,当我们查找一个词时,其同义词所在的文档可能并不会匹配上。如果我们从上千篇相似的文档中抽取出概念,那么同义词就会映射为同一概念。文档-词汇矩阵常用的元素加权为tf-idf值,SVD分解后进行相似度的计算。常用的计算相似度的方法有:欧式距离,皮尔逊稀疏,余弦距离。
确定要保留的奇异值的数目有很多启发式策略,其中一个典型的做法是保留矩阵中90%的能量信息。为了计算总能量信息,将所有的奇异值求其平方和,于是可以将奇异值的平方和累加到总值的90%为止。
SVD分解减秩的原因:
- 原始词汇-文档矩阵太大,会浪费过多计算资源;
- 原始矩阵是有噪的;
- 原始矩阵是稀疏的。