第八章 简单之美——布尔代数和搜索引擎的索引

做技术要追求“道”,而非“术”

第二,技术分为术和道两种,具体的做事方法是术,做事的原理和原则是道。很多具体的搜索技术很快会从独门绝技到普及,再到落伍,追去术的人一辈子工作很辛苦。只有掌握了搜索的本质和精髓才能永远游刃有余。

建立一个搜索引擎需要三个步骤:

  1. 自动下载尽可能多的网页(网络爬虫);
  2. 建立快速有效的索引
  3. 根据相关性对网页进行公平准确的排序

吴军把腾讯搜搜的搜查产品提炼成下载、索引、排序这三种基本服务,这就是搜索的“道”。所有的搜索服务都可以在这三个基本服务的基础上实现,这就是搜索的“术”。

第三,很多希望我介绍“术”的人是希望走捷径。但是真正做好一件事没有捷径,需要一万小时的专业训练和努力。做好搜索,最基本的要求是每天分析10-20个不好的搜索结果,累积一段时间才有感觉。我在Google做搜索质量的时候每天分析的搜索质量远不止这个,Google的搜索质量第一技术负责人阿米特·辛格(Amit Singhal)今天依然经常分析这些不好的结果。但是,很多做搜索的工程师做不到这一点,总是希望一个算法、一个模型就能毕其功于一役,这是不现实的。

做好一件事需要日复一日踏实不断的积累,钻研问题的本质和精髓,阿米特·辛格能做到Google这个领域的第一技术负责人一定是和他这种精神分不开的。

搜索引擎与布尔代数

不论搜索引擎的索引在工程上如何复杂,原理上依然非常简单,即等价于布尔代数。

在文献检索过程中,搜索引擎会自动把用户的查询语句转换成布尔运算的算式。于是,搜索引擎的索引就变成了一张大表,表的每一行对应一个关键词,而每个关键词后面跟着一组数字,是包含该关键词的文献序号。

布尔代数的发展历程

将二进制作为一个计数系统,是公元2-5世纪由印度学者完成的,但是他们没有用0、1计数;

到了十七世纪,德国伟大的数学家莱布尼茨把它完善,用0、1表示它的两个数字,成为我们今天使用的二进制;

1854年,布尔的《思维规律》一书第一次向人们展示了如何用数学的方法解决逻辑问题,从而让布尔代数成为了解决逻辑问题的系统学科;

布尔是19世纪英国的一位中学数学老师,还创办过一所中学,后来在一所学院当教授。喜欢在工作之余阅读数学论著,思考数学问题。虽然他曾经在剑桥大学数学杂志上发表过论文,但生前没有人认为他是数学家。

1938年,香农(信息论的创始人)在他的硕士论文中指出用布尔代数实现开关电路,才使得布尔代数成为数字电路的基础。

布尔代数的影响

布尔代数非常简单,但是对数学和计算机发展的意义重大,它不仅把逻辑和数学合二为一,而且给了我们一个全新的视角看待世界,开创了今天数字化的时代。布尔代数对于数学的意义等同于量子力学对于物理学的意义,它将我们对世界的认识从给连续状态扩展到离散状态。

"Truth is ever to be found in simplicity, and not in the multiplicity and confusion of things." –Newton

2 Replies to “第八章 简单之美——布尔代数和搜索引擎的索引”

发表评论

电子邮件地址不会被公开。 必填项已用*标注