二、LSA
- 潜在语义分析
latent semantic analysis:LSA
的基本假设是:如果两个词多次出现在同一篇文档中,则这两个词具有语义上的相似性。
2.1 原理
给定
文档-单词
矩阵其中 表示单词 在文档 中的权重,可以为:单词 在文档 中是否出现的
0/1
值、单词 在文档 中出现的频次、或者单词 在文档 中的TF-IDF
值。定义 , 它为矩阵 的第 列,代表单词 的
单词-文档向量
,描述了该单词和所有文档的关系。- 向量内积 描述了单词 和单词 在文档集合中的相似性。
- 矩阵乘积 包含了所有词向量内积的结果。
定义 ,它为矩阵 的第 行,代表文档 的
文档-单词
向量,描述了该文档和所有单词的关系。- 向量内积 描述了文档 和文档 在文档集合中的相似性。
- 矩阵乘积 包含了所有文档向量内积的结果。
对矩阵 进行
SVD
分解。假设矩阵 可以分解为: 。其中:为单位正交矩阵。
为广义对角矩阵。
其中 称作奇异值。
SVD
分解的物理意义为:将文档按照主题分解。所有的文档一共有 个主题,每个主题的强度 (主题强度就是主题在数据集中出现的次数)分别为: 。第 篇文档 由这 个主题组成,文档的主题概率分布(称作
文档-主题向量
)为:第 个主题由 个单词组成,主题的单词概率分布(称作
主题-单词向量
)为:第 个单词由 个主题组成,单词的主题概率分布(称作
单词-主题
向量)为:根据 有:
则该分解的物理意义为:
文档-单词
矩阵 =文档-主题
矩阵 x主题强度
x主题-单词
矩阵。
2.2 应用
得到了文档的主题分布、单词的主题分布之后,可以获取文档的相似度和单词的相似度。
文档 和文档 的相似度:
单词 和单词 的相似度:
虽然获得了文档的单词分布,但是并不能获得主题的相似度。因为 是正交矩阵,因此有:
则有:
因此,任意两个主题之间的相似度为 0 。
文档-主题向量
由 决定。根据: ,而文档-主题向量
为 的行向量,也就是 的列向量。文档-单词向量
为 的行向量,也就是 的列向量。因此对于一篇新的文档 ,假设其
文档-单词向量
为 ,则其文档-主题向量
为:LSA
可以应用在以下几个方面:- 通过对文档的
文档-主题向量
进行比较,从而进行基于主题的文档聚类或者分类。 - 通过对单词的
单词-主题向量
进行比较,从而用于同义词、多义词进行检测。 - 通过将
query
映射到主题空间,进而进行信息检索。
- 通过对文档的
2.3 性质
LSA
的本质是将矩阵 通过SVD
进行降维,降维主要是由于以下原因:- 原始的
文档-单词
矩阵 太大计算机无法处理,通过降维得到原始矩阵的一个近似。 - 原始的
文档-单词
矩阵 含有噪音,通过降维去掉原始矩阵的噪音。 - 原始的
文档-单词
矩阵 过于稀疏,通过降维得到一个稠密的矩阵。
- 原始的
LSA
的降维可以解决一部分同义词的问题,也可以解决一部分二义性的问题。- 经过降维,意义相同的同义词的维度会因降维被合并。
- 经过降维,拥有多个意义的词,其不同的含义会叠加到对应的同义词所在的维度上。
LSA
的缺点:产生的主题维度可能存在某些主题可解释性差。即:它们并不代表一个人类理解上的主题。
由于
Bag of words:BOW
模型的局限性,它无法捕捉单词的前后顺序关系。一个解决方案是:采用二元词组或者多元词组。
LSA
假设单词和文档形成联合高斯分布。实际观察发现,它们是一个联合泊松分布。这种情况下,用pLSA
模型效果会更好。