潜在语义索引

潜在语义索引是一种搜索方法,也是一种索引。通过奇异值分解来识别非结构化的文本集合中的具有联系关系的模式。一般认为,在同样的语境中使用的词语一般具有相似的含义,LSI就是基于这一规则的搜索方法。LSI的一个重要特征就是,通过建立那些出现在相同语境中的词语之间的联系,它能够提取出一个文本的具体内容是什么,而不像以前的搜索方法只是检索具体的关键词。之所以叫潜在语义索引是因为它能够把一组文档中具有隐含的语义联系的词语联系起来。

LSI通俗解释

所谓隐性语义索引指的是,怎样通过海量文献找出词汇之间的关系。当两个词或一组词大量出现在同一个文档中时,这些词之间就可以被认为是语义相关。机器并不知道某个词究竟代表什么,不知道某个词是什么意思。 比如:

  • 电脑和计算机这两个词在人们写文章时经常混用,这两个词在大量的网页中同时出现,搜索引擎就会认为这两个词是极为语义相关的。
  • SEO和搜索引擎优化(虽然一个是英语,一个是中文)这两个词大量出现在相同的网页中,虽然搜索引擎还不能知道搜索引擎优化或SEO指的是什么,但是却可以从语义上把“SEO”,“搜索引擎优化”,“search engine optimization”,“SEM”等词紧紧的连在一起。可见潜在语义索引并不依赖于语言。
  • 如苹果和橘子这两个词,也是大量出现在相同文档中,不过紧密度低于同义词。所以搜索引擎不会认为它们是语义相关的。

LSI的实现

单纯从理论上看,Latent semantic indexing (隐性语义索引)的实现机制并不复杂,它只不过是在正常的网页收录与索引过程中增添了一个步骤:

  • 先统计、分析网页及链接中的关键词;
  • 将该网页与索引数据库中其他包含相同关键词或部分相同关键词的网页进行比对,以确定不同网页间的语义相关性以及网页与特定关键词间的相关性,
  • 同时将该网页与具有高语义相关性的网页进行比对分析,从中找出特定网页中存在关键词的相关项,即找出特定网页中虽然并不存在但与其内容相关的关键词。

可以看出,虽然搜索引擎本身并不知道某个词究竟代表什么,不知道某个词是什么意思,但通过Latent Semantic Indexing算法,与单纯的关键词匹配相比,搜索引擎能够以一种更准确的方式判断特定网页中内容与搜索项间的相关性,从而给出用户要寻找的内容,甚至从某种角度上看,更接近于“人”分析、查找内容时的判断方式。

LSI的好处

搜索引擎是使用机器算法来替代过去人工搜索的工作。但机器算法和人的工作有一个很不同的地方就是人可以直接理解词的意思,文章的意思,机器和算法却无法理解——人看到苹果这两个字就知道指的是那个圆圆的,有水的挺好吃的东西,搜索引擎却不能从感性上理解。 其原因和自然语言的特点有关。从自然语言的角度,大部分词具有一词多义的特点,机器算法无法确定在何环境下使用何种词义,这就导致了搜索结果与用户的理想值便存在很大的距离:

  • 一词多义将导致基于精确匹配的搜索算法在给出的结果中包含很多并非用户真正要查找的内容;
  • 一义多词则使得基于精确匹配的搜索算法在给出的结果中遗漏很多用户真正要查找的内容。

Latent Semantic Indexing (LSI : 隐性语义索引)便是搜索引擎试图尽可能弱化这一弊端的可行解决方案之一。Latent Semantic Indexing通过绕开自然语言理解,以大样本数量的统计分析找出不同的词(词组、短语)间的相关性,以使搜索结果进一步接近于用户真正要查找的内容,同时,也能够保证搜索的效率。

LSI其他关注点

对Latent Semantic Indexing,可能大多数人注意的是其中的Semantic (语义有关的),但Latent Semantic Indexing方面的技术文档则往往更强调Latent (潜在的、隐含的),而非简单意义的语义相关。比如说对“水”一词而言,与其语义相关的可能是“热水”、“凉水”之类,但潜在相关的则可以是“蒸汽”、“冰”等,这里有很大区别。 需要强调的是,Latent Semantic Indexing(隐性语义索引)只是目前搜索引擎排名算法中关键词匹配技术的补充(排名算法会为不同的影响因素赋予不同的权重,Latent Semantic Indexing的权重值已经慢慢加大),但绝不是取代现有的关键词匹配算法。

参见