lsi潜在语义空间基本原理与代码实现

lsi潜在语义空间基本原理与代码实现

ID:13893247

大小:601.50 KB

页数:16页

时间:2018-07-24

lsi潜在语义空间基本原理与代码实现_第1页
lsi潜在语义空间基本原理与代码实现_第2页
lsi潜在语义空间基本原理与代码实现_第3页
lsi潜在语义空间基本原理与代码实现_第4页
lsi潜在语义空间基本原理与代码实现_第5页
资源描述:

《lsi潜在语义空间基本原理与代码实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、窗体底端潜在语义分析 1LSAIntroductionLSA(latentsemanticanalysis)潜在语义分析,也被称为LSI(latentsemanticindex),是ScottDeerwester,SusanT.Dumais等人在1990年提出来的一种新的索引和检索方法。该方法和传统向量空间模型(vectorspacemodel)一样使用向量来表示词(terms)和文档(documents),并通过向量间的关系(如夹角)来判断词及文档间的关系;而不同的是,LSA将词和文档映射到潜在语义空间,从而去除了原始向量空间中的一些“噪音”,

2、提高了信息检索的精确度。2传统方法的缺点传统向量空间模型使用精确的词匹配,即精确匹配用户输入的词与向量空间中存在的词。由于一词多义(polysemy)和一义多词(synonymy)的存在,使得该模型无法提供给用户语义层面的检索。比如用户搜索”automobile”,即汽车,传统向量空间模型仅仅会返回包含”automobile”单词的页面,而实际上包含”car”单词的页面也可能是用户所需要的。 下面是LDA原始Paper[1]里举的一个例子:上图是一个Term-Document矩阵,X代表该单词出现在对应的文件里,星号表示该词出现在查询(Query

3、)中,当用户输入查询”IDFincomputer-basedinformationlookup”时,用户是希望查找与信息检索中IDF(文档频率)相关的网页,按照精确词匹配的话,文档2和3分别包含查询中的两个词,因此应该被返回,而文档1不包含任何查询中的词,因此不会被返回。但我们仔细看看会发现,文档1中的access,retrieval,indexing,database这些词都是和查询相似度十分高的,其中retrieval和lookup是同义词。显然,从用户的角度看,文档1应该是相关文档,应该被返回。再来看文档2:computerinformat

4、iontheory,虽然包含查询中的一次词information,但文档2和IDF或信息检索无关,不是用户需要的文档,不应该被返回。从以上分析可以看出,在本次检索中,和查询相关的文档1并未返回给用户,而无查询无关的文档2却返回给了用户。这就是同义词和多义词如何导致传统向量空间模型检索精确度的下降。3LSA如何解决这些问题LSA潜在语义分析的目的,就是要找出词(terms)在文档和查询中真正的含义,也就是潜在语义,从而解决上节所描述的问题。具体说来就是对一个大型的文档集合使用一个合理的维度建模,并将词和文档都表示到该空间,比如有2000个文档,包含

5、7000个索引词,LSA使用一个维度为100的向量空间将文档和词表示到该空间,进而在该空间进行信息检索。而将文档表示到此空间的过程就是SVD奇异值分解和降维的过程。降维是LSA分析中最重要的一步,通过降维,去除了文档中的“噪音”,也就是无关信息(比如词的误用或不相关的词偶尔出现在一起),语义结构逐渐呈现。相比传统向量空间,潜在语义空间的维度更小,语义关系更明确。4 SVD分解[2]SVD分解作为掌握LSA的基础知识,我单独把它作为一篇文章,可以在这里找到。5LSA技术细节[1][3]本节主要讨论LSA技术细节的理论部分,具体代码层面分析和实践在第

6、7节讨论。LSA的步骤如下:1.分析文档集合,建立Term-Document矩阵。2.对Term-Document矩阵进行奇异值分解。3.对SVD分解后的矩阵进行降维,也就是奇异值分解一节所提到的低阶近似。4.使用降维后的矩阵构建潜在语义空间,或重建Term-Document矩阵。下面是IntroductiontoLatentSemanticAnalysis里面的一个例子,描述了完整的LSA步骤,例子后面有我的补充:假设文档集合如下:原始的Term-Document矩阵如下:对其进行奇异值分解:然后对分解后的矩阵降维,这里保留{S}的最大两个奇异

7、值,相应的{W}{P}矩阵如图,注意{P}在公式中需要转置。到了这一步后,我们有两种处理方法,论文IntroductiontoLatentSemanticAnalysis是将降维后的三个矩阵再乘起来,重新构建了{X}矩阵如下:观察{X}矩阵和{X^}矩阵可以发现:{X}中human-C2值为0,因为C2中并不包含human单词,但是{X^}中human-C2为0.40,表明human和C2有一定的关系,为什么呢?因为C2:”Asurveyofuseropinionofcomputersystemresponsetime”中包含user单词,和hu

8、man是近似词,因此human-C2的值被提高了。同理还可以分析其他在{X^}中数值改变了的词。以上分析方法清晰的把LSA的效果显示出来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。