潜在语义分析LSA

潜在语义分析通过矢量语义空间来分析文档和词的关系。

基本假设:如果两个词多次出现在同个文档中,则两个词在语义上具有相似性。

LSA使用大量文本构成矩阵,每行表示一个词,一列表示一个文档,矩阵元素可以是词频或TF-IDF,然后使奇异值分解SVD进行矩阵降维,得到原矩阵的近似,此时两个词的相似性可通过其向量cos值。

降维原因:

- 原始矩阵太大,降维后新矩阵是原矩阵的近似。

- 原始矩阵有噪音,降维也是去噪过程。

- 原始矩阵过于稀疏

- 降维可以解决一部分同义词与二义性的问题。

推导:

对于文档集可以表示成矩阵X,行为词,列为文档

词向量的点乘可以表示这两个单词在文档集合中的相似性。矩阵 包含所有词向量点乘的结果

降维的过程其实是奇异值分解,矩阵X可分解成正交矩阵U、V,和一个对角矩阵的乘积

因此,词与文本的相关性矩阵可表示为:

因为是对角矩阵,因此 肯定是由的特征向量组成的矩阵,同理特征向量组成的矩阵。

这些特征向量对应的特征值即为中的元素。综上所述,这个分解看起来是如下的样子:

 被称作是奇异值,而  和则叫做左奇异向量和右奇异向量。

通过矩阵分解可以看出,原始矩阵中的 只与U矩阵的第i行有关,我们则称第i行为 

同理,原始矩阵中的只与中的第j列有关,我们称这一列为并非特征值,但是其由矩阵所有的特征值所决定。

当我们选择k个最大的奇异值(这里就进行了特征提取),和它们对应的U与V中的向量相乘,则能得到一个X矩阵的k阶近似,此时该矩阵和X矩阵相比有着最小误差(即残差矩阵的Frobenius范数)。

但更有意义的是这么做可以将词向量和文档向量映射到语义空间。向量与含有k个奇异值的矩阵相乘,实质是从高维空间到低维空间的一个变换,可以理解为是一个高维空间到低维空间的近似。

同理,向量 也存在这样一个从高维空间到低维空间的变化。这种变换用公式总结出来就是这个样子:

有了这个变换,则可以做以下事情:

  • 判断文档  与  在低维空间的相似度。比较向量  与向量 (比如使用余弦夹角)即可得出。
  • 通过比较 与 可以判断词和词的相似度。
  • 有了相似度则可以对文本和文档进行聚类。
  • 给定一个查询字符串,算其在语义空间内和已有文档的相似性。

要比较查询字符串与已有文档的相似性,需要把文档和查询字符串都映射到语义空间,对于原始文档,由以下公式可以进行映射:

其中对角矩阵 的逆矩阵可以通过求其中非零元素的倒数来简单的得到。

同理,对于查询字符串,得到其对应词的向量后,根据公式 将其映射到语义空间,再与文档进行比较。

低维的语义空间可以用于以下几个方面:

  • 在低维语义空间可对文档进行比较,进而可用于文档聚类和文档分类。
  • 在翻译好的文档上进行训练,可以发现不同语言的相似文档,可用于跨语言检索。
  • 发现词与词之间的关系,可用于同义词、歧义词检测。.
  • 通过查询映射到语义空间,可进行信息检索。
  • 从语义的角度发现词语的相关性,可用于“选择题回答模型”(multi choice qustions answering model)。

LSA的一些缺点如下:

  • 新生成的矩阵的解释性比较差.比如
{(car), (truck), (flower)} ? {(1.3452 * car + 0.2828 * truck), (flower)}
 (1.3452 * car + 0.2828 * truck) 可以解释成 "vehicle"。同时,也有如下的变换

{(car), (bottle), (flower)} ? {(1.3452 * car + 0.2828 * bottle), (flower)}
造成这种难以解释的结果是因为SVD只是一种数学变换,并无法对应成现实中的概念。
  • LSA无法扑捉一词多以的现象。在原始词-向量矩阵中,每个文档的每个词只能有一个含义。比如同一篇文章中的“The Chair of Board"和"the chair maker"的chair会被认为一样。在语义空间中,含有一词多意现象的词其向量会呈现多个语义的平均。相应的,如果有其中一个含义出现的特别频繁,则语义向量会向其倾斜。
  • LSA具有词袋模型的缺点,即在一篇文章,或者一个句子中忽略词语的先后顺序。
  • LSA的概率模型假设文档和词的分布是服从联合正态分布的,但从观测数据来看是服从泊松分布的。因此LSA算法的一个改进PLSA使用了多项分布,其效果要好于LSA

摘自:http://blog.csdn.net/roger__wong/article/details/41175967

时间: 2024-10-30 05:04:47

潜在语义分析LSA的相关文章

备注词条:潜在语义分析(lsa)

潜在语义分析Latent Semantic Analysis (LSA)也被叫做Latent Semantic Indexing(LSI),是通过分析文档去发现这些文档中潜在的意思和概念,即建立语义(词汇族)与文档潜在含义的关系判别,它把词和文档都映射到一个'概念'空间并在这个空间内进行比较(注:也就是一种降维技术). 潜在语义分析(Latent Semantic Analysis),是语义学的一个新的分支.传统的语义学通常研究字.词的含义以及词与词之间的关系,如同义,近义,反义等等.潜在语义分

潜在语义分析 LSA

简单介绍 LSA和传统向量空间模型(vector space model)一样使用向量来表示词(terms)和文档(documents),并通过向量间的关系(如夹角)来判断词及文档间的关系:不同的是,LSA 将词和文档映射到潜在语义空间,从而去除了原始向量空间中的一些“噪音”,提高了信息检索的精确度. 文本挖掘的两个方面应用 (1)分类:a.将词汇表中的字词按意思归类(比如将各种体育运动的名称都归成一类)b.将文本按主题归类(比如将所有介绍足球的新闻归到体育类)(2)检索:用户提出提问式(通常由

潜在语义分析Latent semantic analysis note(LSA)原理及代码实现

文章参考:http://blog.sina.com.cn/s/blog_62a9902f0101cjl3.html Latent Semantic Analysis (LSA)也被叫做Latent Semantic Indexing(LSI),从字面上的意思理解就是通过分析文档去发现这些文档中潜在的意思和概念.假设每个词仅表示一个概念,并且每个概念仅仅被一个词所描述,LSA将非常简单(从词到概念存在一个简单的映射关系) 不幸的是,这个问题并没有如此简单,因为存在不同的词表示同一个意思(同义词),

主题模型之潜在语义分析(Latent Semantic Analysis)

主题模型(Topic Models)是一套试图在大量文档中发现潜在主题结构的机器学习模型,主题模型通过分析文本中的词来发现文档中的主题.主题之间的联系方式和主题的发展.通过主题模型可以使我们组织和总结无法人工标注的海量电子文档.较早的主题模型有混合语言模型(Mixture of Unigram),潜在语义索引(Lantent Semantic Index,LSI),概率潜在语义索引(Probabilistic Latent Semantic Indexing,PLSI).主题模型中文档是由主题组

主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis)

上一篇总结了潜在语义分析(Latent Semantic Analysis, LSA),LSA主要使用了线性代数中奇异值分解的方法,但是并没有严格的概率推导,由于文本文档的维度往往很高,如果在主题聚类中单纯的使用奇异值分解计算复杂度会很高,使用概率推导可以使用一些优化迭代算法来求解. Thomas Hofmann 于1998年根据似然原理定义了生成模型并由此提出了概率潜在语义分析模型(Probabilistic Latent Semantic Analysis),简称PLSA. PLSA属于概率

用Python做SVD文档聚类---奇异值分解----文档相似性----LSI(潜在语义分析)

转载请注明出处:电子科技大学EClab——落叶花开http://www.cnblogs.com/nlp-yekai/p/3848528.html SVD,即奇异值分解,在自然语言处理中,用来做潜在语义分析即LSI,或者LSA.最早见文章 An introduction to latent semantic analysis SVD的有关资料,从很多大牛的博客中整理了一下,然后自己写了个python版本,放上来,跟大家分享- 关于SVD的讲解,参考博客 本文由LeftNotEasy发布于http:

LSA潜在语义分析

在Wiki上看到的LSA的详细介绍,感觉挺好的,遂翻译过来,有翻译不对之处还望指教. 原文地址:http://en.wikipedia.org/wiki/Latent_semantic_analysis 前言 浅层语义分析(LSA)是一种自然语言处理中用到的方法,其通过"矢量语义空间"来提取文档与词中的"概念",进而分析文档与词之间的关系.LSA的基本假设是,如果两个词多次出现在同一文档中,则这两个词在语义上具有相似性.LSA使用大量的文本上构建一个矩阵,这个矩阵的

潜在语义分析Latent semantic analysis note(LSA)原理及代码

文章引用:http://blog.sina.com.cn/s/blog_62a9902f0101cjl3.html Latent Semantic Analysis (LSA)也被称为Latent Semantic Indexing(LSI),理解就是通过分析文档去发现这些文档中潜在的意思和概念. 如果每一个词仅表示一个概念.而且每一个概念只被一个词所描写叙述.LSA将很easy(从词到概念存在一个简单的映射关系) 不幸的是,这个问题并没有如此简单.由于存在不同的词表示同一个意思(同义词).一个

Latent semantic analysis note(LSA)

1 LSA Introduction LSA(latent semantic analysis)潜在语义分析,也被称为LSI(latent semantic index),是Scott Deerwester, Susan T. Dumais等人在1990年提出来的一种新的索引和检索方法.该方法和传统向量空间模型(vector space model)一样使用向量来表示词(terms)和文档(documents),并通过向量间的关系(如夹角)来判断词及文档间的关系:而不同的是,LSA将词和文档映射