隐含语义索引——快速教程(Latent Semantic Indexing(LSI)---A Fast Track Turorial)

摘要:

 

    这个快速教程提供了为查询和文档打分与使用SVD(奇异值分解)和term count model来对结果排名的说明。这个教程可以用作一个SVD的快速引用。LSI教程系列在下面的网址下描述: http://www.miislita.com/information-retrieval-tutorial/svd-lsi-tutorial-1-understanding.html

 

关键字:

 

    latent semantic indexing, LSI, singular value decomposition, SVD, eigenvectors, documents, queries, cosine similarity, term count model

背景:下文中使用的LSI示例来源于Information Retrieval, Algorithms and Heuristics (1) 

 

     一个collection由下面的documents组成:

d1: Shipment of gold damaged in a fire.

d2: Delivery of silver arrived in a silver truck.

d3: Shipment of gold arrived in a truck.

 

     作者使用Term Count Model 去定义term weights和query weights,所以local weights被定义为词汇出现的频率。下面的文档索引规则被用到:

         1、停用词不会被忽略

         2、文本是已经分词的并且都是小写的

         3、词干化没有被用到

         4、词语按照字母顺序排列

    在这个教程当中我们想要使用这个示例去解释LSI是怎么工作的。现在我们已经知道大部分的LSI模型不再是仅仅的基于local weights,而是把local,global和document normalization weights结合计算。其他的还有entropy weights和link weights。我们知道现代模型都忽略了停用词和在文档中出现次数为1的词。词干化和以字母顺序排序是可选的。对于这个快速教程来说,这样的示例已经做够好了。
 

问题描述:

 

当我们查询“gold silver truck”的时候,使用LSI去为这些documents进行排名。
 

步骤1:计算term weights并且生成term-document矩阵A和query矩阵

 


 

步骤2:分解矩阵A,得到U,S,V矩阵,公式是

 


 

你可以使用 Bluebit Matrix Calculator,或者 JavaScript SVD Calculator,或者 MathLab,或者 Scilab来分解这个矩阵。需要注意的是这些工具都有他们自己的学习曲线和鼓号规约。使用你喜欢的工具来计算A。举例来说,从Bluebit的输出我们能够看到:


 

步骤3:通过获得矩阵U和V的前两列与矩阵S的前两排和前两列来获得一个Rank 2 Approximation:

 


 

步骤4:在这个降维的二维空间当中找到新的文档向量坐标:其中矩阵V的行是文档的特征向量。这是一些单独文档向量的坐标,因此得到:

 

  
 

步骤5:通过降维的二维空间来得到新的query向量坐标,公式为:

 

    
 

注意:这些是query向量在二维空间的新的坐标。现在这个q矩阵已经和步骤1当中的q矩阵不同了:


 

步骤6:计算query-document的余弦相似度,然后以降序排名documents。公式是:

 


 

计算结果为:

我们可以看到文档d2得分高于d3和d1,因为它的向量更接近于query向量。同时注意的是Term Vector Theroy也被用在LSI的开始和结束。


 

问题:

 

1、在创建A之前去掉所有的停用词,并定义term weights为:

    此时重新计算这个示例。

2、 在创建A之前去掉所有的停用词,并定义term weights为:

    此时重新计算这个示例。

3、 在创建A之前去掉所有的停用词,并定义term weights为:

    此时重新计算这个示例。

 

 

 

文章原文: https://www.ce.yildiz.edu.tr/personal/banud/file/1201/latent-semantic-indexing-fast-track-tutorial.pdf

文章中有翻译不当之处,还请海涵并指正。

还可参考网址进行学习:

1、 http://www.52nlp.cn/%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%96%87%E6%A1%A3%E7%9A%84%E7%9B%B8%E4%BC%BC%E5%BA%A6%E4%B8%80

2、 http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值