隐含语义索引——快速教程(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为:

    此时重新计算这个示例。



文章中有翻译不当之处,还请海涵并指正。
还可参考网址进行学习:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值