《searching the web》学习笔记

第一次读搜索引擎方面的文章,读的似懂非懂,先记录下来,以后再细看。


摘要: 本文简要概括当前搜索引擎的设计。介绍一般的网络搜索引擎结构(architecture)后依次详细介绍搜索引擎每个部分的主要技术,包括crawling, 网页存储(local web page storage),indexing,以及如何利用网页间的链接特性。

第一节:介绍

         面对海量的互联网网页和信息,输入关键词(query)得到希望的结果是互联网用户所需要的,这就需要设计网络搜索引擎。一般的搜索引擎使用信息检索(IR, Information Retrieval)技术,但是他是对应于规模小的,连续(coherent)的集合的搜索技术,对于互联网并不完全适用,为此需要引入新的技术。

         互联网的特点:(1) 海量数据、变化快、规模不断增大;(2)分布存储;(3) 网页间有超链接(蝴蝶结结构) 

  • Crawlers的主要任务是从初始网页集出发遍历全部的网页(理论上的全部),直到资源耗尽。Crawl时根据访问更多的站点,或者是访问特定的站点等目标而有不同的策略。
  • Indexer 的主要任务是抽取每个页面的全部字(word),并记录字出现的URL和在页面中的位置,还需要根据文档、结构、功能等创建不同的索引(index)。
  • Query Engine 的主要任务是接收和补全用户的查询(query),它依赖于indexrepository

 

第二节:Crawling web pages 网页爬虫

2.1. Page selection

  •  What is importance of page?   Interest Driven / Popularity Driven / Location Driven
  •  How a crawler operates?    Crawl & Stop / Crawl & Stop with threshold
  •  How a crawler guesses good pages to visit? (choose the next URLs to visit)   Reference to 1.1.

2.2. Page refresh (如何更新页面)

         Uniform refresh policy > Proportional refresh policy

         Should consider freshness and age

  • Fresh strategy: 向下的抛物线模型
  • Open issues: crawlers与网站交互 & 并行crawl & crawl如何获取需要填表单或取得数据

 

第三节:storage

3.1. Challenges: 需要考虑的因素

  •  Scalability: 考虑大信息量
  •  Dual access mode: Random access for end-user, Streaming access for indexer and analysis modules.
  •  Large bulk updates: 顾名思义
  •  Obsolete pages: How to detect and remove obsolete pages.

3.2. Design a distributed web repository: 需要考虑节点的结构,节点间的通信,及更新方式

  •  Page distribution policy: uniform/hash
  •  Physical page organization methods
  •  Update strategy: (Batch mode + shadowing)/ (steady mode + in place)

3.3. Open issues:

  •  Indexer不仅仅通过网址,也考虑含的图片、视频等信息
  •  Streaming order

 

第四节:indexing

         Indexing: link index | text index | utility index | etc.

4.1. Structure of an inverted index

         The inverted list for a term is a sorted list of locations where the term appears in the collections, in which location means page identifier + position + payload field(occurrences+).

4.2. Challenges

         Web scale: 创建和重建过程需要用的资源和时间

         存储结构与结果表现的平衡.

4.3. Index partitioning

         Local inverted file: 每个节点分管一部分互不相交的pages

         Global inverted file: 每个节点分管一部分terms

4.4. WebBase Text-indexing system

         Distributors + indexers + query servers

         两种技巧减少系统开销:

         Avoid explicit I/O for statistics: local to statisticians in memory

         Local aggregation: aggregation in nodes à statisticians

 

第五节: Ranking and Link Analysis

         网页搜索和普通文本搜索的区别: 网页搜索数据量大、 网页间关联。本节中介绍如何利用网页间关系给出更准确的搜索结果。

5.1. PageRank

         Citation ranking: 被指向的次数(越多说明越重要)

         PageRank: citation rank的基础上还要考虑指向该页面的页面本身的重要程度(递归)。求解rank可以归结为求一个矩阵的特征值1的特征向量,也可以迭代求解。

         上面的PageRank是以全部pages组成强连通图为前提的,在海量的pages中这个条件常常不满足,如可能会出现等级沉没(rank sink)和等级泄露(rank leak)发生,此时迭代式要做相应的变化。

         实践中需要解决的问题:迭代要收敛 & 收敛要快。(排序结果会更早的出现)

5.2. HITS  (Hypertext Induced Topic Search)

         计算每个页面的全局等级(global rank,根据查询内容出的等级(query dependent ranking techinique),等级包含authority + hub score.

         Authority表述的是与query相关的程度的page,而hub score可能指向更多authoritiespage。交互迭代的过程。

         authorityhub score可以归结为求一个矩阵和其转置矩阵的特征向量问题,也可以用迭代法。

5.3. Others

         Identifying communities + Finding related pages + Classification and Resource Compilation

5.4. Future Directions

  •  如何利用其他信息,如查询记录,浏览记录等;
  •  开发更健全的文档分析技术,并利用到web中这些有链接的文档查询中

 

第六节:总结

         根据用户的极少的搜索关键词,从海量的网页中,快速准确地返回查询结果。

         执行步骤:Crawlers分析网页,Query Engine返回相关网页,Ranking Module对返回结果排序。

 

 


名词解释:

1.       Crawls:爬虫跟踪pages,返回URLs,并把跟踪到的pages发送到page repository,直到资源耗尽。

有些爬虫可能是访问尽可能多的sites,而不去考虑隐藏很深的pages

有些爬虫可能是集中访问同一个域中的pages,如government

2.       Crawl control model:确定哪些URLs继续跟踪,哪些可以忽略。

3.       Indexer model: 抓取页面中所有文字,并记录每个文字出现的页面,形成lookup table.

还要生成结构索引。

数据量&变化速度&页面的相关links

4.       Collection analysis module

5.       Utility index: collection analysis module 创建,可以由网页包含的图片个数、宽度这些信息检索pages

6.       Query engine:接受和补全用户的query

7.       inverse document frequency(IDF):逆向文件频率,是词语i普遍重要性的度量。某一特定词语的IDF,可以由文件总数除以包含该词语的文件数目,再将得到的商取对数得到。

term frequency(TF): 词频,指一个词语i在文件j中出现的次数。通常被正规化,以防止它偏向长的文件。

IS(P)[ij]: TF[ij]*IDF[i] Interest Driven

参考 http://hi.baidu.com/sowhatliu/blog/item/aa0a8817d701b70fc93d6db6.html

8.       Backlink count: 导入链接数,指向该链接的hyperlink数。

IB(P): Popularity Driven

IL(P): Location Driven

 

 


翻译:

Information Retrieval (IR):信息检索

Coherent: 一致的

Scalable: 可扩展的

Updateable: 可更新的

Discriminating ability: 辨别能力

Poisson process: 泊松过程,一个累积随机事件发生次数的最基本的独立增量过程。

Bow-tie: 蝴蝶结

and vice versa: 反之亦然

schematically: 大致、示意地、粗略地

crawler:爬虫

grist:谷物、有利的武器

retrieve: 检索

repository: 仓库,资源库

coverage: 误差

bias: 误差

be biased to: 偏重于

leave out: 忽略

lookup table: 查找表

pose a difficulty: 构成难题

less common: 更鲜为人知的

scenario: 方案

hierarchy: 层次结构

bibliometrics: 文献计量学

threshold: 阀值,界点

up-to-date:最新的          

obsolete: 陈旧的、过时的

analogous: 相似的

fluctuation: 波动

periodically: 周期性地

scenario: 情景

ad hoc: 特设、为此

scalability: 可测量的

dual: 双重的

bulk: 大容量

advantageous:有好处的

batch-mode: 批处理方式

on the downside: 从不利的方法讲

space compaction:

checksum: 校验和

cyclic redundancy check: 循环冗余度校验

give rise to: 导致、形成

adjacency: 邻接物

retrieve: 检索

accommodate: 适应

lexicon:字典

resilience:恢复力

tradeoff:折中、权衡

facilitate: 协助、促进

disseminate: 扩散、传播

mutually: 互相地

replication: 重复实验、重现

throughput:吞吐量

concurrently:并发地

overhead: 系统开销

adverse: 敌对的,相反的

spamming: 非所要信息,垃圾邮件        /

aperiodic: 非规则的

rank sink: 等级沉没

rank leak: 等级泄露

decay: 衰减

dictate: 规定

gravitate: 倾向于

scarecely: 几乎不

exotic: 奇异的

mundane:平凡的

baipartite: 双向的

trawl:拖网

co-citation:共被引

hustle: 急速活动

heuristic: 启发式的,试探性的.

原文地址:https://www.cnblogs.com/liyuxia713/p/2540721.html