Web 检索. 信息检索研究室 秦兵. 提纲. Web 检索历史 Web 检索系统结构 信息采集系统 网页与处理系统 链接分析算法. The World Wide Web. 1989 年,伯纳斯 · 李在日内瓦欧洲离子物理研究所( CERN )开发计算机远程控制时首次提出了 Web 概念,并在 1990 年圣诞节前推出了第一个浏览器。 接下来的几年中,他设计出 HTTP 、 URL 和 HTML 的规范,使网络能够为普通大众所应用 Ted Nelson 在 1965 年提出了超文本的概念 .
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
The World Wide Web • 1989年,伯纳斯·李在日内瓦欧洲离子物理研究所(CERN)开发计算机远程控制时首次提出了Web概念,并在1990年圣诞节前推出了第一个浏览器。 • 接下来的几年中,他设计出HTTP、URL和HTML的规范,使网络能够为普通大众所应用 • Ted Nelson 在1965年提出了超文本的概念. • 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议 • 超文本标注语言(HTML)
Web Search 历史 • 1993, 早期的 web robots (spiders) 用于收集 URL: • Wanderer • ALIWEB (Archie-Like Index of the WEB) • WWW Worm (indexed URL’s and titles for regex search) • 1994, Stanford 博士生 David Filo and Jerry Yang 开发手工划分主题层次的雅虎网站.
Web Search 历史(cont) • 1994年初,WebCrawler是互联网上第一个支持搜索文件全部文字的全文搜索引擎,在它之前,用户只能通过URL和摘要搜索,摘要一般来自人工评论或程序自动取正文的前100个字 • Lycos(Carnegie Mellon University Center for Machine Translation Announces Lycos )是搜索引擎史上又一个重要的进步。除了相关性排序外,Lycos还提供了前缀匹配和字符相近限制,Lycos第一个在搜索结果中使用了网页自动摘要,而最大的优势还是它远胜过其它搜索引擎的数据量 • DEC的AltaVista 是一个迟到者,1995年12月才登场亮相.AltaVista是第一个支持自然语言搜索的搜索引擎,AltaVista是第一个实现高级搜索语法的搜索引擎(如AND, OR, NOT等)
Web Search 近期历史 • 1995年博士生Larry Page开始学习搜索引擎设计,于1997年9月15日注册了google.com的域名,1997年底,开始提供Demo。1999年2月,Google完成了从Alpha版到Beta版的蜕变。Google公司则把1998年9月27日认作自己的生日 • Google在Pagerank、动态摘要、网页快照、多文档格式支持、地图股票词典寻人等集成搜索、多语言支持、用户界面等功能上的革新,象Altavista一样,再一次永远改变了搜索引擎的定义 • 主要的进步在于应用链接分析根据权威性对部分结果排序
Web信息采集当前研究方向 • 基于整个Web的信息采集(Scalable Web Crawling) • 增量式Web信息采集 (Incremental Web Crawling ) • 基于主题的Web信息采集(Focused Web Crawling ) • 基于用户个性化的Web信息采集(Customized Web Crawling ) • 基于Agent的信息采集(Agent Based Web Crawling ) • 迁移的信息采集(Relocatable Web Crawling ) • 基于元搜索的信息采集(Metasearch Web Crawling) 实际的采集器往往是几种采集技术的结合
先广搜索算法 The basic crawling algorithm is as follows: Create an empty URL queue Add user-supplied seed URLs to the tail of the queue Using the HTTP HEAD request, retrieve the HTTP headers for the resource at the head of the queue If the resource is found, hasn’t been visited previously, and meets all crawling criteria, then: Retrieve the resource using an HTTP GET request Extract URLs from the resource. For each URL: Decide if the URL should be added to the URL queue. If so, add the URL to the tail of the URL queue Store the headers and resource in the collection store Record the URL in the visited URL list Repeat from Step 2 until the queue is empty, then stop.
算法1:Web Graph-Search PROCEDURE SPIDER1(G) Let ROOT := any URL from G Initialize STACK <stack data structure> Let STACK := push(ROOT, STACK) Initialize COLLECTION <big file of URL-page pairs> While STACK is not empty, URLcurr := pop(STACK) PAGE := look-up(URLcurr) STORE(<URLcurr, PAGE>, COLLECTION) For every URLiin PAGE, push(URLi, STACK) Return COLLECTION
A Correct Spidering Algorithm PROCEDURE SPIDER2(G) Let ROOT := any URL from G Initialize STACK <stack data structure> Let STACK := push(ROOT, STACK) Initialize COLLECTION <big file of URL-page pairs> While STACK is not empty, | Do URLcurr := pop(STACK) | Until URLcurr is not in COLLECTION PAGE := look-up(URLcurr) STORE(<URLcurr, PAGE>, COLLECTION) For every URLiin PAGE, push(URLi, STACK) Return COLLECTION
A More Efficient Correct Algorithm PROCEDURE SPIDER3(G) Let ROOT := any URL from G Initialize STACK <stack data structure> Let STACK := push(ROOT, STACK) Initialize COLLECTION <big file of URL-page pairs> | Initialize VISITED <big hash-table> While STACK is not empty, | Do URLcurr := pop(STACK) | Until URLcurr is not in VISITED | insert-hash(URLcurr, VISITED) PAGE := look-up(URLcurr) STORE(<URLcurr, PAGE>, COLLECTION) For every URLiin PAGE, push(URLi, STACK) Return COLLECTION
A More Complete Correct Algorithm PROCEDURE SPIDER4(G, {SEEDS}) | Initialize COLLECTION <big file of URL-page pairs> | Initialize VISITED <big hash-table> | For every ROOT in SEEDS | Initialize STACK <stack data structure> | Let STACK := push(ROOT, STACK) While STACK is not empty, Do URLcurr := pop(STACK) Until URLcurr is not in VISITED insert-hash(URLcurr, VISITED) PAGE := look-up(URLcurr) STORE(<URLcurr, PAGE>, COLLECTION) For every URLiin PAGE, push(URLi, STACK) Return COLLECTION