在看到语义处理——降维处理环节时,有用到LSA(潜语义分析)通过对大量的文本集进行统计分析,从中提取出词语的上下文使用含义。
LSA和传统向量空间模型(vector space model)一样使用向量来表示词(terms)和文档(documents),并通过向量间的关系(如夹角)来判断词及文档间的关系;不同的是,LSA 将词和文档映射到潜在语义空间,从而去除了原始向量空间中的一些“噪音”,提高了信息检索的精确度。
LSA处理过程中需要用到SVD算法,将多维向量进行 拆解 M x N = M x B · …B x N
SVD分解,即奇异值分解,听起来很高大上,其实就是将一个矩阵用其他几个矩阵的乘积来表示。假设有 m×n 的矩阵 A,那么 SVD 就是要找到如下式的这么一个分解,将 A分解为 3 个矩阵的乘积:
A m x n = Um x k X ∑ k x k X Vk x nT
流程:
(1)分析文档集合,建立词汇-文本矩阵A。(相比PCA最大的区别)
(2)对词汇-文本矩阵进行奇异值分解。
(3)对SVD分解后的矩阵进行降维。
(4)使用降维后的矩阵构建潜在语义空间。(潜在语义空间仅针对所用的文档中的词,对文档中的词进行聚类)
疑问1:什么是潜在语义空间?(个人理解为仅在文档范围类的“词-词”对应关系)
主成分分析(PCA):调出数据集中 最具“代表”的几个数据(多维,即向量定义)
也可以用SVD算法进行降维处理。 (用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵)
疑问2:如何将SVD用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐? (个人理解为 空余-空间向量补充)
区分 传统向量空间模型 与 潜在语义空间模型:
传统向量空间模型:有什么匹配什么
潜在语义空间模型:有什么匹配什么 + 关联什么匹配什么
网友评论