《数学之美》1 搜索引擎

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

《数学之美》1 搜索引擎_第1张图片
搜索引擎

搜索引擎

下载

自动下载尽可能多的网页

  • 网络爬虫
    • BFS or DFS
      理想:不考虑时间因素,二者能在大致相同时间下O(V+E)爬下整个静态互联网内容。
      现实:在有限时间内最多地爬下最重要网页。
      BFS明显优于DFS,实际的爬虫虽不是简单使用BFS但基本是BFS
      DFS优点在于不需要多次耗费和服务器建立通信的“握手时间”。下载同一网站(或其子网站)时需要使用DFS

    • 页面分析与URL提取
      HTML语言书写的URL易于提取
      脚本语言(JavaScript等)生成URL需模拟浏览器运行网页,解析困难,需要浏览器内核工程师的技能,加之部分网页脚本书写不规范,故导致此类网页搜索引擎无法收录。

    • URL表
      使用散列表(Hash Table)记录,但由于规模过于庞大,可以考虑明确服务器分工,每次大批量向散列表(一组独立服务器)发送询问或更新操作,大大减少通信次数,消除爬虫系统通信瓶颈。

索引

建立快速有效索引

  • 布尔运算

索引采用很长的二进制数表示关键字是否出现在该文献内如010001001,表示第二、第六、第九篇文献包含该关键字。计算机作布尔运算非常快,具有很大优势。

  • 分布式存储

由于索引总量大,故根据网页序号分成很多份(Shards)分别存储在许多服务器中。也可对索引建立常用与不常用的分级结构等。

排序

根据相关性对网页进行公平准确排序

  • 网页质量(PageRank)
    • 核心原理
      网页被链接量的权重和。,为指向该网页的其他网页权重。
    • 初始状态(最初状态下网页权重如何确定?)
      假定所有网页权重相同,根据一初始值迭代,可证明无论初值如何选取都不需人工干预即可在少量迭代次数下使网页排名估计值收敛到真实值
    • 平滑处理
      网页间链接数量较于互联网规模极其稀疏,计算网页排名时需要对零概率或小概率事件平滑处理。加入一非常小常数α。
  • 网页相关性(TF-IDF)
    • 单文本词频(Term Frequency)
      关键词次数除以网页总字数,加和后成为整个搜索关键词的词频。
    • 逆文本频率指数(Inverse Document Frequency)
      TF方法不足在于对关键词一视同仁,实际不同关键词对信息量贡献的权重并不相同。,D为全部网页数,为关键词w在个网页中出现过。

综上。

  • 用户偏好(概率模型)
    由于今天商业搜索引擎已具有大量用户点击数据,故对当前搜索相关性贡献最大的是用户对常见搜索点击网页结果得到的概率模型。搜索引擎可根据不同用户的不同喜好对相同搜索给出不同排名。

离散数学

数理逻辑

  • 布尔代数
    • 数学和逻辑的桥梁
      19世纪一位英国中学数学教师布尔创立。0(FALSE,假)、1(TRUE,真)
    • 数字电路基础
      1938年香农在硕士论文中使用布尔代数实现开关电路。
    • 现代搜索引擎基本运算方式
      查找有关原子能应用的文献,但不包含原子弹,表示为:
      原子能AND应用AND(NOT原子弹)
      现代搜索引擎虽不要求如此输入但基本运算原理相同。

PS:Google公司名称源于古高尔(googol,),表示索引量大。

图论

  • 七桥问题

《数学之美》1 搜索引擎_第2张图片
七桥抽象图

对于图中每一顶点,将与之相连的边的数量定义为它的度(degree)。
若一个图能够从一个顶点出发,每条边不重复地遍历一遍回到这个顶点 (一笔画),那么每一顶点的度必须为 偶数

  • 图的遍历
    • BFS(广度优先搜索)
      "一圈又一圈"
    • DFS(深度优先搜索)
      "一条路走到黑"

集合论

近世代数

你可能感兴趣的:(《数学之美》1 搜索引擎)