搜索引擎判定相似文章网页的原理大解析

合集下载

谷歌搜索引擎的工作原理

谷歌搜索引擎的工作原理

谷歌搜索引擎的工作原理作为目前最流行的搜索引擎之一,谷歌搜索引擎拥有丰富的性能和可靠的搜索结果。

海量的信息数量和复杂的分类结构给搜索引擎的研发部门带来了极大的挑战,他们开发了一套高效的算法来解决这些问题。

本文将详细介绍谷歌搜索引擎的工作原理。

一、基本概念搜索引擎是一种可以帮助人们在网络中查找信息的工具,其可根据关键词快速找到相关文档、图片、视频、音频以及其他信息。

谷歌搜索引擎的工作原理是把互联网上的网页收集起来,并根据用户提供的查询条件来搜索这些网页,然后返回最相关的结果。

二、谷歌搜索引擎的工作流程1. 网页内容的索引谷歌搜索引擎的第一步是对互联网上所有网页内容进行索引,索引是搜索引擎的一个非常重要的模块。

在此模块中,谷歌会将互联网上的所有网页抓取下来,并将这些网页中的内容记录到一个数据库中。

记录的内容包括网页的标题、关键词、正文和其他元信息等。

索引系统的目的是让用户能方便地找到自己需要的信息,因此关键词的选择和匹配非常重要。

谷歌需要了解用户的搜索意图,比如用户可能正在寻找一个特定的人物、产品或服务,谷歌的搜索引擎就需要找到与之相关的网页并作为搜索结果返回给用户。

谷歌会在每个网页的标题、描述以及内容中检索出可能的关键词,并建立一个索引,使用户可以更快地查找到自己需要的网页。

2. 数据库管理之后,谷歌的搜索引擎会对这些网页进行过滤处理,抛弃那些无关紧要的网页内容,并将这些网页分门别类放入其数据库中。

这个数据库不断更新,每天谷歌会有新的网页被添加进去,旧的网页会被删除或更新。

如果有网站管理员对网站进行更新、更改等操作,则谷歌的索引数据库也必须及时更新,以保证搜索结果的最新以及相关性。

谷歌采用了分布式技术和负载均衡技术,将网页分散到不同的数据中心,使其搜索时不会造成瓶颈效应。

谷歌的数据中心数量有几十个,分别分布在不同的地理位置上,包括美国、加拿大、欧洲和亚洲等地。

3. 搜索请求当用户提交搜索请求时,谷歌的搜索引擎会将这个请求发送到谷歌的负载均衡服务器中。

搜索引擎的基本原理

搜索引擎的基本原理

搜索引擎的基本原理
搜索引擎是一种能够帮助用户在互联网上查找信息的工具,它的基本原理是通过自动化程序(爬虫)收集互联网上的信息并建立索引,然后通过算法对这些索引进行排序,最终呈现给用户相关的搜索结果。

搜索引擎的基本原理包括爬虫抓取、索引建立和搜索算法三个方面。

首先,爬虫是搜索引擎的基础,它是一种自动化程序,能够按照一定规则在互联网上抓取网页信息。

爬虫会从一个初始的网页开始,然后根据网页上的链接逐步抓取其他网页,形成一个网页的网络。

在抓取网页的过程中,爬虫会解析网页的内容,提取出其中的文本信息、链接和其他相关数据,然后将这些数据传输给搜索引擎的服务器。

其次,索引建立是搜索引擎的核心工作之一。

搜索引擎会将爬虫抓取到的网页内容进行处理,提取出其中的关键词和相关信息,并建立相应的索引。

这个索引包含了大量网页的关键词和其在网页中的位置,这样当用户输入搜索关键词时,搜索引擎就可以通过索引快速地找到相关的网页。

最后,搜索算法是搜索引擎的关键。

搜索引擎会根据用户输入的搜索关键词,通过搜索算法对建立好的索引进行排序,将最相关的网页展示给用户。

搜索算法会考虑多种因素,如关键词的匹配程度、网页的权重、用户的搜索历史等,来确定网页的排名顺序,以此提供用户最符合需求的搜索结果。

总的来说,搜索引擎的基本原理是通过爬虫抓取网页信息,建立索引,再通过搜索算法对索引进行排序,最终呈现给用户相关的搜索结果。

这一过程需要涉及到大量的计算和数据处理,而搜索引擎的不断优化和改进也是一个持续的过程,以满足用户不断变化的搜索需求。

搜索引擎的原理

搜索引擎的原理

Spider眼中的网页分类
1
已经抓取页面
等待抓取页面
可以抓取页面
暗网页面
Spider的抓取特点
• Spider对于常规网页的抓取,是从一个入口开始抓取的时候,就会获 取这个网页上的所有导出链接,因此当Spider随机抓取其中的一个链接的时 候,同样又会收集到很多新的链接。此时Spider面临一个抓取方式的选择。 • 1、沿着一条链接一层一层的抓取下去,直到这个链接的尽头,然后返回按 照这样的办法继续抓取另一个链接。这就叫深度优化抓取。 • 2、先把入口处的链接全部抓取一遍,把新发现的URL一次入库排列,对同 一层级的页面进行一次横向抓取,然后再进入下一层,这叫做广度优先抓取。
页面。
• 再好的搜索引擎也无法与人相比,这就是为什么网站要进行搜索引擎优化。没有SEO的 帮助,搜索引擎常常并不能正确的返回最相关、最权威、最有用的信息。
搜索引擎抓取详解
Spider
• 他是搜索引擎最开始的一个功能模块,同时,只有它抓取回来的页面或者地 址才可以被索引并参与进排名里面。只要被Spider抓取的URL地址都可能会 参与排名,但是参与排名的网页不一定被抓取了内容。例如现在的天猫商城, 只会被抓去地址,但是正文内容不会抓取。(他是搜索引擎用来抓取网站页 面的一个程序。他抓取页面需要有一个入口,这个入口一般先期可以由我们 人工提交。例如搜索引擎提交我们的网站。)
Spider抓取
• 1、尽可能多的抓取页面 • 2、避免重复的页面抓取 • 因此在实际的抓取过程中, Spider会建立两个列表组,一个是已经抓取的 URL列表,一个是等待抓取的URL列表。每抓取一个新页面的时候,提取出 来的页面链接,都会去和已经抓取的URL列表中的链接去一一比对,如果发 现该链接已经抓取过,就会直接丢弃,如果发现该链接还没有抓取,就会把 它放在等待抓取的列表末尾排队等候。

搜索引擎工作原理

搜索引擎工作原理

• Java 由sun公司开发的常用于计算机web 平台开发的程序设计语言,应用于网页动 态开发的文件后缀名是xxx.jsp。Java SE允 许开发和部署在桌面、服务器、嵌入式环 境和实时环境中使用 java语言。所以我们 经常会看到java用语手机等嵌入式平台。
• 优化网站,让搜索引擎蜘蛛(spider)更好的阅 读和抓取,这是SEO的本质。如果你的网站导航 或文字内容是框架(Frames),图片, JavaScript或Flash,则搜索引擎蜘蛛将不能全部 或部分抓取你的站点内容。 所以说我们说框架 网页,图片,JS,flash都是不利于SEO的因素。
垂直搜索
• 垂直搜索是针对某一个行业的专业搜索引 擎,是搜索引擎的细分和延伸,是对网页 库中的某类专门的信息进行一次整合,定 向分字段抽取出需要的数据进行处理后再 以某种形式返回给用户。如 “新浪爱问”, “有道博客搜索”,“MP3搜索”, “搜搜新闻搜索”等
搜索引擎的组成部分
• 搜索引擎一般由搜索器、索引器、检索pter)其功能是在互
目标索引
• 目录索引虽然有搜索功能,但在严格意义 上算不上是真正的搜索引擎,仅仅是按目 录分类的网站链接列表而已。用户完全可 以不用进行关键词(Keywords)查询,仅 靠分类目录也可找到需要的信息。目录索 引中最具代表性的莫过于大名鼎鼎的Yahoo 雅虎。其他著名的还有Open Directory Project(DMOZ)、LookSmart、About等。 国内的搜狐、新浪、网易搜索也都属于这 一类。
• Html 超文本标记语言 是最原始的网页语言也 是构成网页文档的最主要的语言,也是相对搜索 引擎最友好的语言。 • ASP 动态服务器页面 这是微软公司开发的常 用与网站动态程序开发的语言,也是最早的动态 网页语言。对搜索引擎是比较友好的。 • PHP HTML 内嵌式的语言,是一种在服务器端 执行的嵌入HTML文档的脚本语言,相对于其他动 态网页程序语言,php由于是将程序嵌入到html 里面执行,所以运行更快速。 • 微软公司开发的服务器端应用程序的 语言,开发源于ASP语言,可以理解为ASP语言 的升级版本 ,发展的时间并不长,但是搜索引擎 已经习惯了对网页文件的抓取。

搜索引擎的技术原理与优化

搜索引擎的技术原理与优化

搜索引擎的技术原理与优化搜索引擎已经成为我们日常生活中无法或缺的一部分,我们可以通过搜索引擎获取大量信息,也可以通过搜索引擎找到我们感兴趣的内容。

但是,很少人真正了解搜索引擎的原理和背后复杂的技术。

本文将深入探讨搜索引擎的技术原理与优化。

一、搜索引擎的技术原理1. 抓取和索引搜索引擎的第一个步骤是抓取网页,搜索引擎使用被称为“爬虫”的程序抓取网页。

当爬虫程序访问网站时,它会查看网站的导航链接,跟踪所有链接,并抓取所有网页。

一旦这些网页被抓取到搜索引擎中,它们就会被索引,这意味着它们被解析并保存在数据库中,以便用户可以通过搜索引擎查找它们。

2. 排名和算法排名是搜索引擎中最重要的部分。

当用户输入关键词时,搜索引擎会使用算法来查找最相关的结果,并将其排名在前面。

搜索引擎使用多种算法来确定网页的排名,包括关键字重复度,页面中的链接数量和质量,页面更新频率等多种因素。

3. 用户查询语言和分词搜索引擎还需要理解用户的查询语言。

许多搜索引擎使用分词算法解析用户的输入。

分词算法会将用户的输入分解成单个词语,并分析它们之间的关系。

二、搜索引擎的技术优化1. 页面优化页面优化是搜索引擎优化的核心,因为它与搜索引擎的排名有直接的关系。

页面优化包括以下方面:(1)标题标签和描述标签:这些标签告诉搜索引擎页面的主题和内容。

(2)关键词:页面中应包含与相关查询相关的关键词。

(3)页面加载速度:搜索引擎优化不仅影响用户的体验,还影响搜索引擎的排名。

(4)内部链接和外部链接:具有良好链接结构的网站更易于搜索引擎查找。

2. 内容优化与页面优化类似,内容优化与搜索引擎的排名也有直接关系。

内容优化的主要目标是:(1)使用关键词:网站必须包含与用户查询相关的关键词。

(2)内容相关性:关键词必须与页面内容相关。

(3)页面更新:搜索引擎更喜欢更新的页面。

3. 链接优化优化链接可以提高搜索引擎的排名。

以下是链接优化的主要方面:(1)外部链接:这是其他网站链接到您的网站。

搜索引擎工作原理

搜索引擎工作原理

搜索引擎工作原理搜索引擎是一种通过采集、存储、索引和呈现互联网上的信息来匡助用户找到所需信息的工具。

它们使用复杂的算法和技术来分析和组织互联网上的海量数据,并根据用户的查询提供相关的搜索结果。

下面将详细介绍搜索引擎的工作原理。

1. 网络爬虫搜索引擎的第一步是使用网络爬虫(也称为蜘蛛或者机器人)来浏览互联网上的网页。

网络爬虫从一个初始的网址开始,然后按照链接逐个访问其他网页,并将这些网页的内容下载下来。

爬虫会遵循互联网上的链接,以便尽可能地覆盖更多的网页。

爬虫还会更新已经被索引的网页,以便获取最新的信息。

2. 网页索引一旦爬虫下载了网页的内容,搜索引擎会将这些内容存储在一个被称为索引的数据库中。

索引是搜索引擎的核心组成部份,它包含了关键词、网页的URL、摘要和其他相关信息。

索引使得搜索引擎能够快速地找到相关的网页,并根据用户的查询返回相关的搜索结果。

为了建立索引,搜索引擎会对网页的内容进行分析和处理。

它们会将网页的文本提取出来,并去除HTML标签和其他噪音。

然后,搜索引擎会对文本进行分词,将文本划分为单词或者短语。

这些单词或者短语被称为关键词,它们是搜索引擎用来匹配用户查询的重要依据。

3. 搜索算法搜索引擎使用复杂的算法来确定哪些网页与用户的查询最相关。

这些算法会考虑多个因素,例如关键词的浮现频率、关键词的位置、网页的质量和权威性等。

搜索引擎还会使用一些技术来过滤垃圾信息和欺诈性网页,以提供高质量的搜索结果。

4. 搜索结果排名搜索引擎会根据算法的结果对搜索结果进行排名。

排名决定了搜索结果在搜索引擎页面上的显示顺序。

通常,排名靠前的搜索结果被认为是最相关的。

搜索引擎会根据用户的查询和网页的相关性对搜索结果进行排序,并将最相关的结果显示在前几页。

5. 用户体验和反馈搜索引擎还会考虑用户的体验和反馈来不断改进搜索结果的质量。

它们会采集用户的点击行为、停留时间和搜索历史等信息,并根据这些信息来优化搜索结果的排序和相关性。

搜索引擎的工作原理

搜索引擎的工作原理搜索引擎是一种用于在互联网上查找信息的工具。

它通过自动化的方式,从互联网上收集、组织和索引信息,并根据用户的搜索关键词,提供相关的网页链接和内容摘要。

搜索引擎的工作原理可以分为四个主要步骤:抓取、索引、排序和展示。

1. 抓取搜索引擎通过网络爬虫(也称为蜘蛛或机器人)来抓取互联网上的网页。

网络爬虫是一种自动化程序,它按照一定的规则和策略,从一个网页跳转到另一个网页,抓取网页的内容并将其存储在搜索引擎的数据库中。

爬虫可以通过网页的链接、站点地图或者其他方式发现和抓取新的网页。

2. 索引一旦网页被抓取,搜索引擎会对其进行索引。

索引是一个包含关键词和对应网页的数据库。

搜索引擎会分析网页的内容,提取其中的关键词,并将这些关键词与网页的URL、标题、摘要等信息关联起来。

索引的目的是为了能够快速地找到包含特定关键词的网页。

为了提高搜索结果的质量和准确性,搜索引擎会使用一些算法和技术来对网页进行分析和评估。

例如,它可以检查网页的质量、权威性和可信度,以确定其在搜索结果中的排名。

3. 排序排序是搜索引擎的核心功能之一。

当用户输入搜索关键词时,搜索引擎会根据索引中的信息,找到与关键词相关的网页,并按照一定的算法和规则对这些网页进行排序。

排序的目的是为了将最相关和最有用的网页排在前面,使用户能够尽快找到他们需要的信息。

搜索引擎的排序算法通常是保密的商业机密,因此具体的细节很少被公开。

然而,一些常见的排序因素包括关键词的出现频率和位置、网页的质量和权威性、网页的链接数量和质量等。

4. 展示最后,搜索引擎会将排序后的搜索结果展示给用户。

搜索结果通常以列表的形式呈现,每个结果包含一个标题、一个网页链接和一个摘要。

用户可以点击链接来访问网页,并获取更详细的信息。

为了提供更好的用户体验,搜索引擎还会提供一些额外的功能和服务,如相关搜索、图像搜索、新闻搜索、地图搜索等。

这些功能可以帮助用户更准确地找到他们需要的信息。

搜索引擎的工作原理

搜索引擎的工作原理搜索引擎是一种用于从互联网上获取信息的工具,它通过采集、索引和排序网页来提供用户所需的搜索结果。

搜索引擎的工作原理可以分为以下几个步骤:网页抓取、网页索引和搜索结果排序。

1. 网页抓取:搜索引擎通过网络爬虫程序(也称为蜘蛛、机器人)从互联网上抓取网页。

网络爬虫会按照一定的规则自动遍历互联网上的网页,并将抓取到的网页内容保存在搜索引擎的数据库中。

爬虫程序会从一个初始网页开始,然后通过网页中的链接逐步遍历其他网页,形成一个庞大的网页索引。

2. 网页索引:网页索引是搜索引擎的核心组成部份,它是一个包含大量网页信息的数据库。

搜索引擎会对抓取到的网页进行处理,提取出网页的关键词和其他相关信息,并将这些信息存储在索引中。

索引的目的是为了加快搜索引擎的检索速度和准确性。

当用户输入关键词进行搜索时,搜索引擎会根据索引中的信息进行匹配,找到与关键词相关的网页。

3. 搜索结果排序:当用户输入关键词进行搜索后,搜索引擎会根据一定的算法对索引中的网页进行排序,以便将最相关的网页展示给用户。

搜索引擎的排序算法通常会考虑多个因素,如关键词的匹配程度、网页的权威性和用户的搜索习惯等。

通过不断优化算法,搜索引擎可以提供更准确、相关的搜索结果。

除了以上的基本工作原理,搜索引擎还会根据用户的搜索行为和反馈信息进行改进和优化。

例如,搜索引擎会记录用户的搜索历史和点击行为,以便更好地理解用户的需求,并根据用户的反馈信息对搜索结果进行调整。

总结起来,搜索引擎的工作原理主要包括网页抓取、网页索引和搜索结果排序。

通过不断优化算法和采集用户反馈,搜索引擎可以提供更准确、相关的搜索结果,匡助用户快速获取所需的信息。

搜索引擎工作原理

搜索引擎工作原理搜索引擎是一种用于帮助用户在互联网上查找信息的工具,通过收集、索引和展示网页内容,为用户提供相关的搜索结果。

搜索引擎的工作原理可以分为以下几个步骤:网页抓取、索引建立和搜索结果展示。

1. 网页抓取搜索引擎通过网络爬虫(也称为蜘蛛、机器人)自动访问互联网上的网页,并将网页内容下载到搜索引擎的服务器上。

爬虫按照一定的规则遍历网页,通过链接跳转和网页分析等方式获取更多的网页。

爬虫会定期访问已抓取的网页,以便更新搜索引擎的索引。

2. 索引建立在网页抓取后,搜索引擎会对网页内容进行处理和分析,提取出网页中的关键词、标题、摘要等信息,并将这些信息存储在索引数据库中。

索引数据库是搜索引擎的核心组成部分,它包含了大量的网页信息和相关的索引信息。

索引数据库会根据关键词的频率、位置和其他相关度因素对网页进行排序和分类。

3. 搜索结果展示当用户在搜索引擎中输入关键词进行搜索时,搜索引擎会根据用户的搜索词在索引数据库中进行匹配和排序。

搜索引擎会根据网页的相关度对搜索结果进行排序,并将最相关的网页展示给用户。

搜索引擎还会根据用户的搜索历史、地理位置和其他个性化因素对搜索结果进行调整和个性化推荐。

搜索引擎的工作原理涉及到多个技术和算法,以下是一些常用的技术和算法:1. 爬虫技术爬虫技术是搜索引擎获取网页内容的基础。

爬虫会按照一定的规则和策略遍历网页,通过链接跳转和网页分析等方式获取更多的网页。

爬虫还会处理网页中的链接,将新的网页添加到待抓取队列中。

爬虫的设计和实现需要考虑到网页的数量、抓取速度和网络资源的限制等因素。

2. 关键词匹配算法关键词匹配算法是搜索引擎对用户搜索词和网页内容进行匹配的核心算法。

关键词匹配算法会根据关键词的频率、位置和其他相关度因素对网页进行排序和分类。

常见的关键词匹配算法包括向量空间模型(VSM)、BM25和TF-IDF等。

3. 网页排名算法网页排名算法是搜索引擎对搜索结果进行排序的算法。

搜索引擎复制网页的算法

搜索引擎复制网页的算法首先,搜索引擎对所索引的所有网页进行页面净化和内部消重。

任何一家搜索引擎在尚未进行复制网页判断这一操作之前都定然会有个网页净化和内部消重的过程。

搜索引擎首先要清除噪音内容,对网页内部的广告、版权信息、共同的页眉页脚部分等进行净化,然后提取出该页面的主题以及和主题相关的内容,用以排名工作,噪音内容是不计入排名权重之中的。

消重也差不多是这个意思,搜索引擎对其所收集的网页集里面主题相同或极端相似的,比如同一模板之中多次出现的共同代码,将其作为冗余内容,进行消除。

我们可以这样理解,最理想的状态之下,一篇原创文章,搜索引擎仅将标题和内容计入排名之中,其他全部都消除。

DocView模型就是一个自动分类和消重的模型,当然,不是非常准确。

大家可以简单了解一下,DocView模型包括网页表识、网页类型、内容类别、标题、关键词、摘要、正文、相关链接等要素,它通过提取DocView模型要素的方法应用在网页自动分类和网页消重之中。

通过了解以上内容,我们就能大致明白,同一篇文章,为什么放到两个完全不同模板的站点之上,搜索引擎仍然能够正确识别出这是一个复制页面的原因了吧。

其次,搜索引擎对净化的页面进行重复内容的判断。

那么搜索引擎具体是如何判断复制页面的呢?以下内容是北大天网搜索引擎的去重算法,大部分来自对《搜索引擎——原理、技术与系统》相关知识的整理,大家可以自行参考相关文档。

现有方法大致可以分为以下三类:1、利用内容计算相似2、结合内容和链接关系计算相似3、结合内容,链接关系以及url文字进行相似计算现有绝大部分方法还是利用文本内容进行相似识别,其它两种利用链接关系以及URL文字的方法还不是很成熟,而且从效果看引入其它特征收效并不明显,所以从实际出发还是选择利用内容进行相似计算的算法。

搜索引擎判断复制网页一般都基于这么一个思想:为每个网页计算出一组信息指纹(信息指纹,英文是Fingerprint,就是把网页里面正文信息,提取一定的信息,可以是关键字、词、句子或者段落及其在网页里面的权重等,对它进行加密,如MD5加密,从而形成的一个字符串。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在上一篇文章中已经详细的介绍了利用TF-IDF算法自动提取文章关键词的原理。
接下来,我们再来研究一下另一个相关的问题。这个问题也是我们做SEO的最关心的,有
些时候,我们除了要明白如何找到并提取文章关键词,我们还需要找到与原文章相似的其他
文章。比如,我们平时在搜索引擎的新闻栏目下搜索某条新闻的时候,在主新闻下方,还提
供了多条相似的新闻。如下图所示:

223052OD-0为了找出相似的文章,我们就需要用到另外一个公式原理了,那就是
“余弦相似性(cosine similiarity)”。

一、什么是"余弦相似性"?
余弦相似性是指通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相
似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而
两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指
向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向
完全相反的方向时,余弦相似度的值为-1。在比较过程中,向量的规模大小不予考虑,仅仅
考虑到向量的指向方向。余弦相似度通常用于两个向量的夹角小于90°之内,因此余弦相
似度的值为0到1之间。

值得注意的是余弦相似度可以用在任何维度的向量比较中,它尤其在高维正空间中
的利用尤为频繁。例如在信息检索中,每个词条拥有不同的度,一个文档是由一个由有权值
的特征向量表示的,权值的计算取决于词条在该文档中出现的频率。余弦相似度因此可以给
出两篇文档其主题方面的相似度。

二、搜索引擎是如何判定相似文章的?
下面,马海祥还是以举例子的方式来说明如何才能找出相似文章?
为了简单起见,我们先从句子着手。
句子A:我喜欢看电视,不喜欢看电影。
句子B:我不喜欢看电视,也不喜欢看电影。
那么我们怎样才能计算出上面两句话的相似程度呢?
马海祥建议的基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。
因此,可以从词频入手,计算它们的相似程度。

第1步:分词句子A:我/喜欢/看/电视,不/喜欢/看/电影。
句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。
第2步:列出所有的词我,喜欢,看,电视,电影,不,也。
第3步:计算词频句子A:我 1,喜欢 2,看 2,电视 1,电影 1,不 1,也 0。
句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。
第4步:写出词频向量句子A:[1, 2, 2, 1, 1, 1, 0]
句子B:[1, 2, 2, 1, 1, 2, 1]
到这里,问题就变成了如何计算这两个向量的相似程度。
我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不
同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合;如
果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好
相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似,
如下图所示:
以二维空间为例,上图的a和b是两个向量,我们要计算它们的夹角θ。余弦定理
告诉我们,可以用下面的公式求得:

34假定a向量是[x1, y1],b向量是[x2, y2],那么马海祥觉得就可以将余弦定理改
写成下面的形式:
56数学家也已经证明,余弦的这种计算方法对n维向量也成立。假定A和B是两
个n维向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,则A与B的夹角θ的余弦等
于:

7使用这个公式,我们就可以得到,句子A与句子B的夹角的余弦,如下图所示:
8余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫“余
弦相似性”。所以,上面的句子A和句子B是很相似的,事实上它们的夹角大约为20.3度。

由此,我们就得到了“找出相似文章”的一种算法:
(1)使用TF-IDF算法,找出两篇文章的关键词;(2)每篇文章各取出若干个关
键词(比如20个),合并成一个集合,计算每篇文章对于这个集合中的词的词频(为了避免
文章长度的差异,可以使用相对词频);(3)生成两篇文章各自的词频向量;(4)计算两个
向量的余弦相似度,值越大就表示越相似。

马海祥觉得“余弦相似度”也可能只是搜索引擎在文章相识度其中的一方面的算法,
但的确也是一种非常有用的算法,而且就是在其他领域的,只要是计算两个向量的相似程度,
都可以利用这个原理。

相关文档
最新文档