Latent Semantic Analysis 笔记

传统向量空间模型的缺陷

向量空间模型是信息检索中最常用的检索方法,其检索过程是,将文档集D中的所有文档和查询都表示成以单词为特征的向量,特征值为每个单词的TF-IDF值,然后使用向量空间模型(亦即计算查询q的向量和每个文档di的向量之间的相似度)来衡量文档和查询之间的相似度,从而得到和给定查询最相关的文档。

向量空间模型简单的基于单词的出现与否以及TF-IDF等信息来进行检索,但是“说了或者写了哪些单词”和“真正想表达的意思”之间有很大的区别,其中两个重要的阻碍是单词的多义性(polysems)和同义性(synonymys)。多义性指的是一个单词可能有多个意思,比如Apple,既可以指水果苹果,也可以指苹果公司;而同义性指的是多个不同的词可能表示同样的意思,比如search和find。

我们希望找到一种模型,能够捕获到单词之间的相关性。如果两个单词之间有很强的相关性,那么当一个单词出现时,往往意味着另一个单词也应该出现(同义词);反之,如果查询语句或者文档中的某个单词和其他单词的相关性都不大,那么这个词很可能表示的是另外一个意思(比如在讨论互联网的文章中,Apple更可能指的是Apple公司,而不是水果)。


基于 SVD + 降维(低阶近似) 构造出一个新的Term-Document矩阵,使得新矩阵和原有矩阵的F范数之差很小(降噪,降维的过程)

降维之后,将term和document映射到同一个低维空间,聚类可以发现良好的效果;

物理意义的解释:期待看到《数学之美》里的解释;

Update

这里我看了《数学之美》中,吴军对SVD的描述,虽然我觉得他把词和文章的矩阵搞反了。。。。也可能是我理解有误,但是这样的解释还是很清晰的;

此处输入图片的描述

上述图片中:
(按照我的理解)
第一个矩阵X,每行代表一片文章,每列代表一个主题;每个元素代表,文章和主题的相关程度;
第三个矩阵Y,每列代表一个词,每行代表一个词类;每个元素代表某个词属于某个词类的概率;
中间的矩阵B,是文章主题和词类的相关程度;
这样解释,倒是十分清楚;


在新的矩阵中,潜层语义信息被表现出来;
即按照新的矩阵去索引文档,能够找到更准确的相近的文档

所以
LSI 输入:Term-Document矩阵
LSI 输出:新的(包含潜层语义信息的)Term-Document矩阵

Update 5.28

那么这两个矩阵有什么区别呢?
https://blog.csdn.net/cang_sheng_ta_ge/article/details/46708515
这里讲到了一个 low-rank approximation
那么原来的高rank的矩阵是输入
新产生的低rank的矩阵就是输出
中间的变化就是可以选择特征值最大的前k个,作为topic
那么新的矩阵中,每个term对应的那一列也可以作为一个词向量

中间的问题:

  • 如何选中间的 Σ Σ 矩阵的前n个奇异值,换句话说,n如何确定?

    n就是主题个数,这个问题在第一个参考链接里有回答。

  • 特征值怎么保证从大到小排列,对应的特征向量的顺序改不改变?

参考:

  1. 文本主题模型之潜在语义索引(LSI)
  2. Latent semantic analysis note
  3. latent semantic analysis via the singular value decomposition
  4. 奇异值分解SVD应用——LSI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值