您的位置:首页 > 产品设计 > UI/UE

《searching the web》学习笔记

2010-12-28 16:42 316 查看
第一次读搜索引擎方面的文章,读的似懂非懂,先记录下来,以后再细看。

 

 

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

第一节:介绍
         面对海量的互联网网页和信息,输入关键词(query)得到希望的结果是互联网用户所需要的,这就需要设计网络搜索引擎。一般的搜索引擎使用信息检索(IR, Information Retrieval)技术,但是他是对应于规模小的,连续(coherent)的集合的搜索技术,对于互联网并不完全适用,为此需要引入新的技术。
         互联网的特点:(1) 海量数据、变化快、规模不断增大;(2)分布存储;(3) 网页间有超链接(蝴蝶结结构) 
Crawlers的主要任务是从初始网页集出发遍历全部的网页(理论上的全部),直到资源耗尽。Crawl时根据访问更多的站点,或者是访问特定的站点等目标而有不同的策略。

Indexer 的主要任务是抽取每个页面的全部字(word),并记录字出现的URL和在页面中的位置,还需要根据文档、结构、功能等创建不同的索引(index)。

Query Engine 的主要任务是接收和补全用户的查询(query),它依赖于index和repository。

 
第二节: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可能指向更多authorities的page。交互迭代的过程。
         求authority和hub 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: 启发式的,试探性的.
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息