隐性语义索引(LSI)原理与实现

隐性语义索引(Latent Semantic Idexing, LSI),也叫Latent Semantic Analysis(LSA),是信息检索领域一类非常重要的技术思想。它通过对词项-文档矩阵的奇异值分解,在理论上成功地解决了潜在语义(或者叫隐性语义)的检索问题。本文将介绍关于LSI的原理和实现方法。

隐含语义问题

基于关键词的文档检索是IR中最简单,也是最普遍的技术手段。一般来说,基本做法是:当查询的词(一个或多个)与文档中的词相匹配时,该文档被“命中”,如果是多关键词查询,则遵循匹配的词项越多文档的检索排名越靠前的原则。这种思路非常经典,Salton等人在70年代就据此提出了至今仍非常有效的向量空间模型(VSM),即将文档和查询解析为由词项的存在性构成的二进制的特征向量,计算向量的内积(或者是计算cos相似度等等)即可得到用于检索排序的得分。更进一步地,为了使检索排名更加准确,随后又在二进制向量的基础上构建了词项的权重算法 t f ⋅ i d f tf \cdot idf tfidf和其各种变形。

总的来说,依赖关键词匹配与否的做法是有效而实用的。但是随着信息量的爆炸式增长,信息的结构越发复杂,完全靠匹配判断就显得有所不足了。举个例子,我查找一个词“加密”,那你说假如一个文档中存在“密码”,“信息安全”,“隐私保护”,“解密”这些词,那么即便它没有“加密”这个词,是不是也应该被检索出?而且应该排名还不会太差。不难发现,这里面的关键是存在“隐性语义”的问题,具体地:

  1. 词a和词b在形式上可能完全不同,但在语义上是相近的,甚至是几乎一样的。比如“中国”和“China”,“电脑”和“计算机”,“北邮”和“北京邮电大学”等等);
  2. 词a和词b在形式上完全相同,但在语义上是几乎无关的。比如“苹果”和"Mac", "ios"在一起时的含义与“苹果”和“农药”,“梨”, 在一起时的含义几乎是完全无关的。

关于隐含语义,有一个最基本的原则:在大型的文档集中,两个词的语义越相近,它们共现的概率也就越大。这样,我们可以利用对于词项和文档之间关系的分析,得到概念与词项之间的关系。这里的概念其实也叫主题,比如上面说的“中国”和“China”,“电脑”和“计算机”等等虽然形式上不同,却是属于同一主题的。

以上就是LSI的动机了,接下来,我们一步步推导,如何利用词项和文档之间关系的分析,得到概念与词项之间的关系。

奇异值分解的作用

从词项到概念,很容易想到降维的方法,即把表达同一个概念的多个词项通过降维的方式映射到一个维度上。这一点和PCA(主成分分析)的基本思想是一致的:PCA能实现降维是因为不同的数据维度之间存在相关关系,比如 x x x越大, y y y也越大这种情况,这种相关关系在坐标系上的直观体现就是可以先转换坐标系,再将这些点映射到低维的超平面上;而词项的检索也是一样,不同词项之间也可能存在着相关关系,比如,如果词 a a a出现,则词 b b b以极大的概率出现,相应的,我们自然想到可以用类似于PCA的降维方式对词项-文档矩阵降维,使得每个文档对应的词向量的维度降低。而维度降低之后的元素则不是词项了,我们把它叫做“概念”(或者叫“主题”)。降维是LSI的核心思想,只不过他的出发点不是要加速计算,而是解决如何将一个个的词,映射为统一的语义(概念、主题)。实际上,LSI的处理方法与PCA在最后一步是有所不同的,看完本文你会发现,对于搜索算法的复杂度来说,LSI并未真正降维,而是将每个维度的词变换为一个词义。换句话说,LSI实现的是一种概念匹配,而不是VSM所依据的词项匹配。

注1:关于主成分分析(PCA)的详细介绍可以参照我的博客:主成分分析(PCA)原理与实现

注2:关于奇异值分解(SVD)的详细介绍可以参照我的博客:矩阵的分解:满秩分解和奇异值分解

如果不是非常熟悉,建议可以先理解一下PCA和SVD,再看LSI.

假设现在有词项-文档矩阵(记为 A A A),它由 m m m个词项, n n n个文档构成,为形象起见,我画出下表:

  ~  </
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值