如何让这个世界变得美好?
把你自己变得更美好。
书接上文。
上章提到了给搜索的网页建立索引和质量衡量的方法。对于搭建一个小型的搜索引擎来说,还缺一道菜。
这道菜就是确定一个网页和某个查询的相关性的方法。
《数学之美》中对这块说得比较绕。其实很简单,就是分两步走。
第一步是确定搜索词中每个词对网页相关度;
第二步是把搜索词中每个词与网页的相关程度进行求和。
先来说说第一步,重要程度怎么划分?
以“原子能的应用”为例。
可以想象,“的”对搜索主题几乎没有任何作用,其被称为“停止词”。对于搜索来说,权重可以设为0。中文中这些词还有“是”、“和”、“中”、“地”、“得”等几十个。
对于非停止词来说,对预测主题的能力越强,其权重应该越大。
信息检索中,使用最多的确定权重的方法是“逆文本频率指数 ”(Inverse Document Frequency,IDF),公式为log(所有网页个数/出现关键词的网页个数)。这个概念也被认为是信息检索界最重要的发明。
为了防止内容越长的文本越占优势,计算权重的时候还需要将关键词出现的次数除以网页的总词数。
经过这两个系数相乘,可以得到单个关键词与网页的相关程度。
那第二步,就是把搜索中每个关键词的权重进行加和。就得到了相关性的值。
最后,结合网页排名(PageRank)算法,给定一个查询,有关网页的综合排名大致由相关性和网页排名的乘积决定。
搜索引擎就这样搞定了。