搜索引擎的工作原理
- 格式:docx
- 大小:58.87 KB
- 文档页数:7
搜索引擎工作原理搜索引擎是一种通过收集、存储、索引和呈现互联网上的信息来帮助用户找到所需信息的工具。
它们使用复杂的算法和技术来分析和组织互联网上的海量数据,并根据用户的查询提供相关的搜索结果。
下面将详细介绍搜索引擎的工作原理。
1. 网络爬虫搜索引擎的第一步是使用网络爬虫(也称为蜘蛛或机器人)来浏览互联网上的网页。
网络爬虫从一个初始的网址开始,然后按照链接逐个访问其他网页,并将这些网页的内容下载下来。
爬虫会遵循互联网上的链接,以便尽可能地覆盖更多的网页。
爬虫还会更新已经被索引的网页,以便获取最新的信息。
2. 网页索引一旦爬虫下载了网页的内容,搜索引擎会将这些内容存储在一个被称为索引的数据库中。
索引是搜索引擎的核心组成部分,它包含了关键词、网页的URL、摘要和其他相关信息。
索引使得搜索引擎能够快速地找到相关的网页,并根据用户的查询返回相关的搜索结果。
为了建立索引,搜索引擎会对网页的内容进行分析和处理。
它们会将网页的文本提取出来,并去除HTML标签和其他噪音。
然后,搜索引擎会对文本进行分词,将文本划分为单词或短语。
这些单词或短语被称为关键词,它们是搜索引擎用来匹配用户查询的重要依据。
3. 搜索算法搜索引擎使用复杂的算法来确定哪些网页与用户的查询最相关。
这些算法会考虑多个因素,例如关键词的出现频率、关键词的位置、网页的质量和权威性等。
搜索引擎还会使用一些技术来过滤垃圾信息和欺诈性网页,以提供高质量的搜索结果。
4. 搜索结果排名搜索引擎会根据算法的结果对搜索结果进行排名。
排名决定了搜索结果在搜索引擎页面上的显示顺序。
通常,排名靠前的搜索结果被认为是最相关的。
搜索引擎会根据用户的查询和网页的相关性对搜索结果进行排序,并将最相关的结果显示在前几页。
5. 用户体验和反馈搜索引擎还会考虑用户的体验和反馈来不断改进搜索结果的质量。
它们会收集用户的点击行为、停留时间和搜索历史等信息,并根据这些信息来优化搜索结果的排序和相关性。
搜索引擎工作原理搜索引擎是一种能够通过关键词搜索来帮助用户快速找到相关信息的工具。
它的工作原理可以简单概括为以下几个步骤:网页抓取、网页索引、查询处理和结果呈现。
1. 网页抓取:搜索引擎通过网络爬虫程序(也称为蜘蛛或机器人)自动抓取互联网上的网页内容。
爬虫会从一个初始的种子网址开始,然后通过链接跳转和页面解析,逐渐抓取更多的网页。
爬虫会遵循网页的robots.txt文件,该文件指定了哪些页面可以被抓取和索引。
2. 网页索引:抓取到的网页内容会被存储在搜索引擎的数据库中,形成一个网页索引。
索引是搜索引擎的核心组成部分,它包含了关键词和网页的对应关系,以及网页的其他重要信息,如标题、摘要、URL等。
索引的目的是为了加快搜索速度和提高搜索结果的准确性。
3. 查询处理:当用户输入关键词进行搜索时,搜索引擎会对查询进行处理。
首先,它会对查询进行分词,将查询拆分成多个关键词或短语。
然后,搜索引擎会利用索引中的关键词信息,匹配与查询相关的网页。
匹配的算法通常会考虑关键词的权重、位置和其他相关因素,以确定最相关的网页。
4. 结果呈现:搜索引擎根据匹配度对搜索结果进行排序,并将最相关的网页展示给用户。
搜索结果页面通常包括标题、URL、摘要和其他相关信息。
搜索引擎还会根据用户的搜索历史、地理位置和其他个性化因素,对搜索结果进行个性化排序和推荐。
除了以上的基本工作原理,搜索引擎还会考虑其他因素来提高搜索结果的质量和用户体验。
例如,搜索引擎会对网页的可访问性、网页的质量和权威性进行评估,以过滤掉垃圾信息和低质量内容。
搜索引擎还会定期更新索引,增加新的网页和删除已失效的网页。
总结起来,搜索引擎的工作原理包括网页抓取、网页索引、查询处理和结果呈现。
通过这些步骤,搜索引擎能够快速、准确地为用户提供与关键词相关的网页信息。
搜索引擎的不断优化和改进,使得用户能够更方便地获取所需的信息,提高了互联网的使用效率。
搜索引擎的工作原理搜索引擎是一种用于在互联网上搜索信息的工具。
它通过采集、索引和排序互联网上的网页内容,为用户提供相关的搜索结果。
搜索引擎的工作原理可以简单地分为三个步骤:抓取网页、建立索引和提供搜索结果。
1. 抓取网页搜索引擎通过网络爬虫(也称为蜘蛛或者机器人)来抓取互联网上的网页。
网络爬虫会按照一定的规则从一个网页转到另一个网页,将网页的内容下载下来。
爬虫会根据网页中的链接不断地跳转到其他网页,形成一个爬行路径,以获取尽可能多的网页内容。
2. 建立索引抓取下来的网页内容会被搜索引擎进行处理和分析,以建立一个庞大的网页索引。
索引是一种结构化的数据存储方式,它会记录每一个网页的关键信息,如标题、摘要、URL和关键词等。
搜索引擎会对网页内容进行分词处理,将关键词和对应的网页进行关联。
这样,当用户搜索关键词时,搜索引擎可以快速地找到相关的网页。
3. 提供搜索结果当用户输入关键词进行搜索时,搜索引擎会根据用户的需求从建立的索引中匹配相关的网页。
搜索引擎会根据一系列的算法,对匹配的网页进行排序,并将最相关的网页展示给用户。
排序算法会考虑多个因素,如关键词的浮现频率、网页的权重和链接的质量等。
搜索引擎还会提供一些搜索结果的过滤选项,如时间范围、文件类型和地域等,以满足用户的个性化需求。
搜索引擎的工作原理虽然看似简单,但实际上暗地里涉及了复杂的技术和算法。
为了提高搜索结果的质量和准确性,搜索引擎公司会不断地改进和优化搜索引擎的工作原理。
他们会利用机器学习和人工智能等技术,不断提升搜索引擎的智能化水平,以更好地满足用户的搜索需求。
搜索引擎的工作原理搜索引擎是一种用于匡助用户在互联网上查找信息的工具。
它通过采集、索引和排序互联网上的网页内容,以便用户能够通过关键词搜索来获取相关的信息。
搜索引擎的工作原理可以分为以下几个步骤:1. 网页抓取:搜索引擎通过网络爬虫程序(也称为蜘蛛)自动抓取互联网上的网页内容。
网络爬虫会按照一定的规则遍历网页,并将网页的内容下载到搜索引擎的数据库中。
2. 网页索引:搜索引擎将抓取到的网页内容进行索引处理,以便能够快速地检索和呈现相关的结果。
索引是一个包含关键词和网页地址的数据库,它可以匡助搜索引擎快速找到相关的网页。
3. 关键词分析:当用户输入关键词进行搜索时,搜索引擎会对用户输入的关键词进行分析。
关键词分析的目的是理解用户的意图,并根据用户的意图提供相关的搜索结果。
4. 搜索算法:搜索引擎使用一系列复杂的算法来确定哪些网页与用户的搜索意图最相关。
这些算法会根据网页的内容、关键词的浮现频率、网页的权威性等因素来评估网页的相关性,并将最相关的网页排在搜索结果的前面。
5. 搜索结果呈现:搜索引擎会根据算法的评估结果,将最相关的网页呈现给用户。
搜索结果通常以列表的形式展示,每一个搜索结果都包含了网页的标题、描述和网址等信息,以便用户能够快速浏览和选择合适的结果。
除了以上的基本原理,搜索引擎还会考虑用户的搜索历史、地理位置和其他个性化因素来提供更加精准的搜索结果。
此外,搜索引擎还会不断地更新索引和算法,以适应互联网上不断变化的内容和用户需求。
总结起来,搜索引擎的工作原理包括网页抓取、网页索引、关键词分析、搜索算法和搜索结果呈现等步骤。
通过这些步骤,搜索引擎能够匡助用户快速、准确地找到他们所需的信息。
搜索引擎的工作原理是什么
搜索引擎的工作原理是通过自动化程序(也称为爬虫或蜘蛛)来扫描互联网上的网页,并将这些网页的内容存储在一个巨大的数据库中。
当用户输入关键词进行搜索时,搜索引擎会根据关键词在数据库中的索引进行匹配,并返回与关键词相关的网页列表给用户。
搜索引擎的工作过程可以概括为以下几个步骤:
1. 爬取:搜索引擎的爬虫程序会从互联网上自动爬取网页,并将这些网页的内容下载下来。
2. 索引:搜索引擎会对下载的网页进行处理,并提取其中的主要信息(如标题、正文、链接等),然后将这些信息存储在一个倒排索引的数据库中。
倒排索引根据关键词建立索引,将关键词与对应的网页进行关联。
3. 排名:当用户输入关键词进行搜索时,搜索引擎会根据索引中的关键词进行匹配,找到与关键词相关的网页。
搜索引擎会根据一系列算法对这些相关网页进行排序,以确定搜索结果的排名。
排名的依据通常包括关键词的频率、位置、网页的质量和权威度等因素。
4. 显示结果:搜索引擎会根据排名结果将相关的网页列表展示给用户。
搜索结果通常以页面的标题、摘要和网址的形式呈现,用户可以通过点击链接来访问相关的网页。
以上是搜索引擎的基本工作原理,不同的搜索引擎可能有不同的算法和技术来改进搜索结果的质量和准确性。
搜索引擎工作原理搜索引擎是我们日常生活中时常使用的工具,它可以匡助我们快速找到所需的信息。
但是,不少人并不清晰搜索引擎是如何工作的。
本文将为大家详细介绍搜索引擎的工作原理。
一、爬虫抓取网页1.1 爬虫是搜索引擎的重要组成部份,它会定期抓取互联网上的网页内容。
1.2 爬虫会从一个种子网址开始,然后通过链接不断地向下抓取其他网页。
1.3 爬虫会根据网页的重要性和更新频率来确定抓取的优先级。
二、建立索引2.1 爬虫抓取到的网页内容会被存储在搜索引擎的数据库中,这些内容会被分析并建立索引。
2.2 索引是搜索引擎的核心部份,它包含了网页的关键词、链接、标题等信息。
2.3 索引的建立会根据网页的内容、链接质量等因素来确定网页的排名。
三、检索与排序3.1 当用户输入关键词进行搜索时,搜索引擎会根据索引中的信息进行检索。
3.2 检索过程会根据关键词的匹配程度、网页的质量等因素来确定搜索结果。
3.3 搜索结果会按照像关性进行排序,通常排名靠前的网页质量更高。
四、更新与优化4.1 搜索引擎会定期更新索引,以保证搜索结果的准确性和时效性。
4.2 网站所有者可以通过优化网站结构、内容等方式来提高网站在搜索引擎中的排名。
4.3 搜索引擎也会根据用户的搜索行为和反馈来不断优化搜索算法。
五、隐私与安全5.1 搜索引擎会采集用户的搜索记录和行为数据,以提供更好的搜索结果。
5.2 用户可以通过设置来保护自己的隐私,例如清除搜索记录、使用匿名搜索等方式。
5.3 搜索引擎也会采取一系列措施来保护用户的隐私和数据安全。
总结:搜索引擎的工作原理是一个复杂的系统,包括爬虫抓取、建立索引、检索与排序、更新与优化、隐私与安全等多个环节。
了解搜索引擎的工作原理有助于我们更好地利用搜索引擎,获取更准确、有效的信息。
搜索引擎的工作原理搜索引擎是一种通过自动化程序来匡助用户在互联网上查找相关信息的工具。
它能够从海量的网页中快速检索出用户所需的信息,并按照像关性进行排序,以便用户能够更快地找到自己所需的内容。
搜索引擎的工作原理可以分为三个主要的步骤:抓取、索引和排序。
1. 抓取:搜索引擎通过网络爬虫(也称为蜘蛛或者机器人)来抓取互联网上的网页。
网络爬虫会从一个起始网址开始,然后按照一定的规则跟踪和抓取其他网页上的链接,形成一个网页的网络图。
爬虫会下载这些网页的内容,并提取其中的文本、链接和其他元数据。
2. 索引:在抓取的过程中,搜索引擎会将抓取到的网页内容进行分析和处理,然后将其存储在索引数据库中。
索引是搜索引擎的核心部份,它类似于一本巨大的目录,记录了互联网上的网页和相关的关键词。
索引可以匡助搜索引擎快速找到与用户查询相关的网页。
为了构建索引,搜索引擎会对抓取到的网页进行文本分析,将网页内容中的关键词提取出来,并建立关键词与网页的映射关系。
同时,搜索引擎还会考虑其他因素,如网页的重要性、链接的质量等,来确定网页的排名。
3. 排序:当用户输入查询词后,搜索引擎会根据索引数据库中的信息进行匹配,并找到相关的网页。
搜索引擎会根据一系列算法和规则来对搜索结果进行排序,以便将最相关的网页展示给用户。
排序算法通常会考虑多个因素,如关键词的匹配度、网页的权威性、用户的搜索历史等。
搜索引擎还会根据用户的查询行为和反馈来不断优化排序结果,以提供更加准确和个性化的搜索体验。
除了以上三个主要的步骤,搜索引擎还会提供其他的功能和服务,如搜索建议、语义理解、垂直搜索等,以满足用户不同的需求。
总结起来,搜索引擎的工作原理包括抓取、索引和排序三个主要的步骤。
通过抓取互联网上的网页内容,建立索引数据库,并根据用户的查询词和一系列算法进行排序,搜索引擎能够匡助用户快速找到所需的信息。
不断的优化和改进使得搜索引擎能够提供更加准确和个性化的搜索结果,满足用户的需求。
搜索引擎工作原理搜索引擎是一种通过采集、存储、索引和呈现互联网上的信息来匡助用户找到所需信息的工具。
它们使用复杂的算法和技术来分析和组织互联网上的海量数据,并根据用户的查询提供相关的搜索结果。
下面将详细介绍搜索引擎的工作原理。
1. 网络爬虫搜索引擎的第一步是使用网络爬虫(也称为蜘蛛或者机器人)来浏览互联网上的网页。
网络爬虫从一个初始的网址开始,然后按照链接逐个访问其他网页,并将这些网页的内容下载下来。
爬虫会遵循互联网上的链接,以便尽可能地覆盖更多的网页。
爬虫还会更新已经被索引的网页,以便获取最新的信息。
2. 网页索引一旦爬虫下载了网页的内容,搜索引擎会将这些内容存储在一个被称为索引的数据库中。
索引是搜索引擎的核心组成部份,它包含了关键词、网页的URL、摘要和其他相关信息。
索引使得搜索引擎能够快速地找到相关的网页,并根据用户的查询返回相关的搜索结果。
为了建立索引,搜索引擎会对网页的内容进行分析和处理。
它们会将网页的文本提取出来,并去除HTML标签和其他噪音。
然后,搜索引擎会对文本进行分词,将文本划分为单词或者短语。
这些单词或者短语被称为关键词,它们是搜索引擎用来匹配用户查询的重要依据。
3. 搜索算法搜索引擎使用复杂的算法来确定哪些网页与用户的查询最相关。
这些算法会考虑多个因素,例如关键词的浮现频率、关键词的位置、网页的质量和权威性等。
搜索引擎还会使用一些技术来过滤垃圾信息和欺诈性网页,以提供高质量的搜索结果。
4. 搜索结果排名搜索引擎会根据算法的结果对搜索结果进行排名。
排名决定了搜索结果在搜索引擎页面上的显示顺序。
通常,排名靠前的搜索结果被认为是最相关的。
搜索引擎会根据用户的查询和网页的相关性对搜索结果进行排序,并将最相关的结果显示在前几页。
5. 用户体验和反馈搜索引擎还会考虑用户的体验和反馈来不断改进搜索结果的质量。
它们会采集用户的点击行为、停留时间和搜索历史等信息,并根据这些信息来优化搜索结果的排序和相关性。
搜索引擎工作原理搜索引擎是一种用于在互联网上搜索信息的工具,它能够帮助用户快速找到所需的内容。
搜索引擎工作原理涉及到信息检索、网页抓取、索引构建和搜索排序等多个步骤。
下面将详细介绍搜索引擎的工作原理。
1. 信息检索信息检索是搜索引擎的核心功能之一,它通过用户输入的关键词来匹配相关的网页和文档。
搜索引擎会根据关键词在其索引中进行搜索,并将相关的网页返回给用户。
为了提供更加准确的搜索结果,搜索引擎通常会使用一些算法来评估网页的相关性。
2. 网页抓取网页抓取是搜索引擎获取网页内容的过程。
搜索引擎会使用爬虫程序(也称为蜘蛛或机器人)来自动访问互联网上的网页,并将网页的内容下载到搜索引擎的服务器上。
爬虫程序会按照一定的规则遍历网页,并将发现的新网页添加到待抓取队列中。
3. 索引构建索引是搜索引擎用于快速检索网页的数据结构。
搜索引擎会对抓取到的网页进行处理,提取其中的关键词和其他重要信息,并将这些信息存储到索引中。
索引通常采用倒排索引的方式,即将关键词与包含该关键词的网页进行关联。
这样,当用户搜索某个关键词时,搜索引擎可以快速找到包含该关键词的网页。
4. 搜索排序搜索排序是指根据一定的算法将搜索结果按照相关性进行排序的过程。
搜索引擎会根据用户的搜索关键词和其他因素(如网页的权重、链接数量等)来评估网页的相关性,并将相关性较高的网页排在前面。
常用的排序算法包括PageRank算法和TF-IDF算法等。
除了上述基本的工作原理,搜索引擎还会考虑用户的搜索习惯和地理位置等因素,以提供更加个性化的搜索结果。
搜索引擎还会定期更新索引,以保持搜索结果的时效性。
总结起来,搜索引擎工作原理包括信息检索、网页抓取、索引构建和搜索排序等多个步骤。
通过这些步骤,搜索引擎能够快速、准确地为用户提供所需的信息。
搜索引擎的工作原理不断演进和改进,以满足用户对搜索结果的需求。
搜索引擎的工作原理搜索引擎是一种用于从互联网上获取信息的工具,它通过采集、索引和排序网页来提供用户所需的搜索结果。
搜索引擎的工作原理可以分为以下几个步骤:网页抓取、网页索引和搜索结果排序。
1. 网页抓取:搜索引擎通过网络爬虫程序(也称为蜘蛛、机器人)从互联网上抓取网页。
网络爬虫会按照一定的规则自动遍历互联网上的网页,并将抓取到的网页内容保存在搜索引擎的数据库中。
爬虫程序会从一个初始网页开始,然后通过网页中的链接逐步遍历其他网页,形成一个庞大的网页索引。
2. 网页索引:网页索引是搜索引擎的核心组成部份,它是一个包含大量网页信息的数据库。
搜索引擎会对抓取到的网页进行处理,提取出网页的关键词和其他相关信息,并将这些信息存储在索引中。
索引的目的是为了加快搜索引擎的检索速度和准确性。
当用户输入关键词进行搜索时,搜索引擎会根据索引中的信息进行匹配,找到与关键词相关的网页。
3. 搜索结果排序:当用户输入关键词进行搜索后,搜索引擎会根据一定的算法对索引中的网页进行排序,以便将最相关的网页展示给用户。
搜索引擎的排序算法通常会考虑多个因素,如关键词的匹配程度、网页的权威性和用户的搜索习惯等。
通过不断优化算法,搜索引擎可以提供更准确、相关的搜索结果。
除了以上的基本工作原理,搜索引擎还会根据用户的搜索行为和反馈信息进行改进和优化。
例如,搜索引擎会记录用户的搜索历史和点击行为,以便更好地理解用户的需求,并根据用户的反馈信息对搜索结果进行调整。
总结起来,搜索引擎的工作原理主要包括网页抓取、网页索引和搜索结果排序。
通过不断优化算法和采集用户反馈,搜索引擎可以提供更准确、相关的搜索结果,匡助用户快速获取所需的信息。
搜索引擎到工作原理第一节搜索引擎的定义和功能构成所谓“搜索引擎”,说到底是一个计算机应用软件系统,或者说是一个网络应用软件系统。
从网络用户的角度看,它根据用户提交的类自然语言查询词或者短语,返回一系列很可能与该查询相关的网页信息,供用户进一步判断和选取。
为了有效地做到这一点,它大致上被分成三个功能模块,或者三个子系统:即网页搜集,预处理和查询服务。
应该指出,在实践中这三个部分是相对独立的,它们的工作形成了搜索引擎工作的三个阶段,通常分别由人工启动。
同时我们注意到,在早期的搜索引擎中,系统处理的网页数量少,预处理部分的工作比较简单,只是涉及到汉语的分词(英文还没有这个问题)和建索引,因此也有将分词合并到网页搜集过程中,将建索引归到查询服务子系统中,从而整个系统看起来只有两个模块的安排。
图片一:搜索引擎三段式工作原理模式图第二节、网页搜集搜索引擎这样一个软件系统应该是何种工作方式?如果说软件系统是工作在某还是即时。
我们都有经验,在网络比较畅通的引擎服务的基础应该是一批预先搜集好的网页个数据集合上的程序的话,这个软件系统操作的数据不仅包括内容不可预测的用户查询,还要包括在数量上动态变化的海量网页,并且这些网页不会主动送到系统来,而是需要由系统去抓取。
首先,我们考虑抓取的时机:事先情况下,从网上下载一篇网页大约需要1秒钟左右,因此如果在用户查询的时候即时去网上抓来成千上万的网页,一个个分析处理,和用户的查询匹配,不可能满足搜索引擎的响应时间要求。
不仅如此,这样做的系统效益也不高(会重复抓取太多的网页);面对大量的用户查询,不可能想象每来一个查询,系统就到网上“搜索”一次。
因此我们看到,大规模引擎服务的基础应该是一批预先搜集好的网页(直接或者间接1)。
这一批网页如何维护?可以有两种基本的考虑。
定期搜集,每次搜集替换上一次的内容,我们称之为“批量搜集”。
由于每次都是重新来一次,对于大规模搜索引擎来说,每次搜集的时间通常会花几周。
而由于这样做开销大,较通常两次搜集的间隔时间也不会很短(例如早期天网的版本大约每3个月来一次,Google在一段时间曾是每隔28天来一次)。
这样做的好处是系统实现比较简单,主要缺点“是时新性”(freshness)不高,还有重复搜集所带来的额外带宽的消耗。
增量搜集,开始时搜集一批,往后只是(1)搜集新出现的网页,(2)搜集那些在上次搜集后有过改变的网页,(3)发现自从上次搜集后已经不再存在了的网页,并从库中删除。
由于除新闻网站外,许多网页的内容变化并不是很经常的(有研究指出50%网页的平均生命周期大约为50天,这样做每次搜集的网页量不会很大(例如我们在2003年初估计中国每天有30-50万变化了的网页),于是可以经常启动搜集过程(例如每天)。
30万网页,一台PC机,在一般的网络条件下,半天也就搜集完了。
这样的系统表现出来的信息时新性就会比较高,主要缺点是系统实现比较复杂;这种复杂还不仅在于搜集过程,而是还在于下面要谈到的建索引的过程。
上面讲的是系统网页数据库维护的基本策略。
在这两种极端的情况之间也可能有一些折中的方案,J. Cho博士在这方面做过深入的研究[Cho and Garcia-Molina,2000],[Cho,2002],根据一种网页变化模型和系统所含内容时新性的定义,提出了相应优化的网页搜集策略。
其中一个有趣的结论是:在系统搜集能力一定的情况下,若有两类网页(例如“商业”和“教育”),它们的更新周期差别很大(例如“商业”类网页平均更新周期是“天”,而“教育”类网页平均更新周期是“月”),则系统应该将注意力放在更新慢的网页上[Cho and Garcia-Molina,2000],以使系统整体的时新性达到比较高的取值。
在具体搜集过程中,如何抓取一篇篇的网页,也可以有不同的考虑。
最常见的一种是所谓“爬取”:将Web上的网页集合看成是一个有向图,搜集过程从给定起始URL集合S (或者说“种子”)开始,沿着网页中的链接,按照先深、先宽、或者某种别的策略遍历,不停的从S中移除URL,下载相应的网页,解析出网页中的超链接URL,看是否已经被访问过,将未访问过的那些URL加入集合S。
整个过程可以形象地想象为一个蜘蛛(spider)在蜘蛛网(Web)上爬行(crawl)。
后面我们会看到,真正的系统其实是多“个蜘蛛”同时在爬。
这种方式的好处除了概念很漂亮,一般实现起来也不困难外,还有很重要的一条是容易通过一定的策略,使搜集到的网页相对比较“重要”。
前面提过,任何搜索引擎是不可能将Web 上的网页搜集完全的,通常都是在其他条件的限制下决定搜集过程的结束(例如磁盘满,或者搜集时间已经太长了)。
因此就有一个尽量使搜到的网页比较重要的问题,这对于那些并不追求很大的数量覆盖率的搜索引擎特别重要。
研究表明,按照先宽搜索方式得到的网页集合要比先深搜索得到的集合重要(这里当然有一个重要性的指标问题)。
这种方式的一个困难是要从每一篇网页中提取出所含的URL。
由于HTML的灵活性,其中出现URL的方式各种各样,将这个环节做得彻底不容易(例如我们现在还没有很好的简单办法从JavaScript 脚本中提取URL)。
同时,由于Web 的“蝴蝶结”形状,这种方式搜集到的网页不大会超过所有目标网页数量2的2/3。
另外一种可能的方式是在第一次全面网页搜集后,系统维护相应的URL集合S,往后的搜集直接基于这个集合。
每搜到一个网页,如果它发生变化并含有新的URL,则将它们对应的网页也抓回来,并将这些新URL也放到集合S中;如果S中某个url对应的网页不存在了,则将它从S中删除。
这种方式也可以看成是一种极端的先宽搜索,即第一层是一个很大的集合,往下最多只延伸一层。
还有一种方法是让网站拥有者主动向搜索引擎提交它们的网址(为了宣传自己,通常会有这种积极性),系统在一定时间内2(天到数月不等)定向向那些网站派出“蜘蛛”程序,扫描该网站的所有网页并将有关信息存入数据库中。
大型商业搜索引擎一般都提供这种功能。
第三节、预处理得到海量的原始网页集合,距离面向网络用户的检索服务之间还有相当的距离。
宏观地看,服务子系统是一个程序。
采用Wirth关于“程序=算法+数据结构”的观点来考察个程序,一个合适的数据结构是查询子系统工作的核心和关键。
这里只是指出:现行最有效的数据结构是“倒排文件”(inverted file);倒排文件是用文档中所含关键词作为索引,文档作为索引目标的一种结构(类似于普通书籍中,索引是关键词,书的页面是索引目标。
)我们在第八章中有进一步分析。
下面讨论从网页集合形成这样的倒排文件过程中的几个主要问题,即我们所说的“预处理”。
主要包括四个方面,关键词的提取,“镜像网页”(网页的内容完全相同,未加任何修改)或“转载网页”(near-replicas,主题内容基本相同但可能有一些额外的编辑信息等,转载网页也称为“近似镜像网页”)的消除,链接分析和网页重要程度的计算。
1. 关键词的提取随便取一篇网页的源文件(例如通过浏览器的“查看源文件”功能),我们可以看到其中情况纷乱繁杂。
除了我们从浏览器中能够正常看到的文字内容外,还有大量的HTML标记。
根据天网统计,网页文档源文件的大小(字节量)通常大约是其中内容大小的4倍(例如 就是如此!)。
另外,由于HTML 文档产生来源的多样性,许多网页在内容上比较随意,不仅文字不讲究规范、完整,而且还可能包含许多和主要内容无关的信息(例如广告,导航条,版权说明等)。
这些情况既给有效的信息查询带来了挑战,也带来了一些新的机遇,在后面的章节将会有进一步的论述。
这里我们只是指出,为了支持后面的查询服务,需要从网页源文件中提取出能够代表它的内容的一些特征。
从人们现在的认识和实践来看,所含的关键词即为这种特征最好的代表。
于是,作为预处理阶段的一个基本务,任就是要提取出网页源文件的内容部分所含的关键词。
对于中文来说,就是要根据一个词Σ典,用一个所谓“切词软件”,从网页文字中切出Σ所含的词语来。
在那之后,一篇网页主要就由一组词来近似代表了,p = {t1, t2, …, tn}。
一般来讲,我们可能得到很多词,同一个词可能在一篇网页中多次出现。
从效果(effectiveness)和效率(efficiency)考虑,不应该让所有的词都出现在网页的表示中,要去掉诸如“的”,“在”等没有内容指示意义的词,称为“停用词” (stop word)。
这样,对一篇网页来说,有效的词语数量大约在200个左右。
2. 重复或转载网页的消除与生俱来的数字化和网络化给网页的复制以及转载和修改再发表带来了便利,因此我们看到Web 上的信息存在大量的重复现象。
天网在2003 年的一次大规模统计分析表明,网页的重复率平均大约为4。
也就是说,当你通过一个URL在网上看到一篇网页的时候,平均还有另外3个不同的URL也给出相同或者基本相似的内容。
这种现象对于广大的网民来说是有正面意义的,因为有了更多的信息访问机会。
但对于搜索引擎来说,则主要是负面的;它不仅在搜集网页时要消耗机器时间和网络带宽资源,而且如果在查询结果中出现,无意义地消耗了计算机显示屏资源,也会引来用户的抱怨,“这么多重复的,给我一个就够了”。
因此,消除内容重复或主题内容重复的网页是预处理阶段的一个重要任务。
3. 链接分析前面提到,大量的HTML标记既给网页的预处理造成了一些麻烦,也带来了一些新的机遇。
从信息检索的角度讲,如果系统面对的仅仅是内容的文字,我们能依据的就是“共有词汇假设”(shared bag of words),即内容所包含的关键词集合,最多加上词频(term frequency或tf、TF)和词在文档集合中出现的文档频率(document frequency或df、DF)之类的统计量。
而TF和DF这样的频率信息能在一定程度上指示词语在一篇文档中的相对重要性或者和某些内容的相关性,这是有意义的。
有了HTML标记后,情况还可能进一步改善,例如在同一篇文档中,<H1>和</H1>之间的信息很可能就比在<H4>和</H4>之间的信息更重要。
特别地,HTML文档中所含的指向其他文档的链接信息是人们近几年来特别关注的对象,认为它们不仅给出了网页之间的关系,而且还对判断网页的内容有很重要的作用。
例如“北大学报”这几个字在北京大学学报社会科学版的主页上是没有的,因此一个仅靠内容文字分析的搜索引擎就不可能返回该主页作为结果。
但是北京大学主页上是用“北大学报(社)”作为链接信息指向了北京大学学报社会科学版的主页。
因此在很好利用链接信息的搜索引擎中应该能返回北京大学学报社会科学版的主页。