搜索引擎优化(seo)的基本工作模块( 通用搜索引擎的一些技术点,你知道几个?(上))

优采云 发布时间: 2022-03-15 02:08

  搜索引擎优化(seo)的基本工作模块(

通用搜索引擎的一些技术点,你知道几个?(上))

  

  # 写在前面

  今天和小伙伴一起学习一下通用搜索引擎的一些技术要点。

  鉴于搜索引擎内容量大,每个部分都够写几篇文章的文章了,所以这篇文章只是一个指南,深挖还得由老手来做。

  通过本文,您将对通用搜索引擎的基本原理和组成部分有一个更清晰的认识。仔细阅读后,你一定会有所收获!

  大家不要废话了,赶紧上车吧!

  

  # 认识搜索引擎 1 搜索引擎分类

  搜索引擎根据使用场景和规模可以简单分为两类:

  通用搜索又称大搜索,如谷歌、百度、搜狗、神马等都属于这一类。

  

  垂直搜索又称垂直搜索,是在特定领域的搜索,比如用QQ音乐搜索周杰伦的歌曲。

  

  两类搜索引擎的数据规模和数据特征虽然不同,但都旨在弥合用户与海量信息之间的鸿沟。

  

  2 搜索和推荐

  搜索和推荐经常被比较,但两者之间存在一些差异和联系。

  

  3 搜索引擎评价标准

  我们每天都在和搜索引擎打交道,评价一个搜索引擎的好坏可以简单概括为:准确性、及时性、响应速度、权威性等。

  换句话说,搜索引擎了解用户真正在寻找什么,并且可以快速准确地显示出来。还可以收录及时展示一些热点和突发信息,从而很好的赢得用户。

  这个目标需要搜索引擎多个模块的协同处理,是一项复杂的系统工程,并非易事。

  # 通用搜索引擎总览 1 搜索引擎的基本流程

  大白试图用简单的语言来表达一般搜索引擎的大致工作原理:

  1.网络蜘蛛爬虫每天孜孜不倦地对收录网页进行工作,然后进行存储,使每个站点的页面都有一个镜像,规模百亿/千亿。

  

  2. 不能直接使用单纯的镜像。需要对其进行处理和切分,建立搜索词与网页的对应关系,这样用户在搜索某物时,就会得到很多相关的网页。

  

  3. 比如“搜索隐藏的角落”可能找到100个相关网页,但网页和搜索词之间的相关性必须强或弱。因此,有必要对网页进行排序。有许多排序策略。将优质网页放在最前面,向用户展示。

  

  用户看到相关结果后,点击或跳过,搜索引擎根据用户的相关动作进行调整,实现整个闭环流程。

  4.为了更好地理解用户的真实目的,需要了解搜索词的意图,分段输入,替换同义词,纠正语法错误,然后根据这些搜索词获取数据并找到它们为用户考虑网页。

  例如,如果搜索词是“Eagle”,它可能是自然界中的老鹰,也可能是 NBA 中的一支球队:

  

  2 搜索引擎的基本组成

  我们先简单看一下各个模块的基本组成和主要功能:

  

  接下来,我们将简要介绍几个模块的基本内容和技术点。

  # 网络爬虫模块介绍

  网络爬虫模块是通用搜索引擎的一个非常基本的组件。一般由分布式爬虫实现。下面我们来看看这个搬运工是如何实现海量网页发现的:

  

  网络爬虫的基本流程:

  爬取过程中有多种遍历策略:深度优先遍历DFS、广度优先遍历BFS、部分PageRank策略、OPIC在线页面重要性计算策略、大站点优先策略等。

  

  在工程实践中,需要根据自身情况和搜索引擎的特点,选择某种策略或策略组合。

  网络爬虫需要遵循Robots协议(网络爬虫排除标准),这是网络爬虫和网站之间的君子协定,网站通过协议告诉网络爬虫什么可以被抓,什么不能。

  同时,网络爬虫需要考虑爬取的频率,防止网站负担过重。简而言之,搜索引擎的网络爬虫需要适度。

  # 网页内容处理模块

  爬虫模块存储网页内容后,网页内存处理模块开始解析网页内容。主要任务包括:数据清洗、网页内容分词、建立正向索引、建立倒排索引等。

  

  数据清洗

  一般来说,除了具体的内容外,网页中还会有很多不相关的东西,比如html标签、推广等,在实际的搜索引擎中是没用的。

  

  内容处理模块会清理无用的数据和标签,为后续的分词做准备。

  2 中文分词

  清洗后的内容是通过分词关键词提取出来的,比如一个网页收录1000个词,分词后大约有50个词,相当于提取了网页的主干,会分析标题,摘要、正文和正文的其他部分。内容以不同的权重处理。

  在分词过程中,会去除停用词、功能词等,如“的、得、地”,从而还原网页的主要内容。

  我们用在线网页分割工具和真实网页模拟这个过程:

  网络分词在线工具:

  爬网:

  

  可以看出,分词后可以标注词频。这些都是后续网页排名的重要来源,但是中文非常复杂,所以分词算法有很多,常见的有:

  

  3 正指数

  假设我们对每个网页的docid进行唯一的编号,经过前面的分词,一个网页会被分成多个不同权重的实体词。

  所谓正排名,是指所有属于该网页的内容都可以根据docid获得。这是一个符合我们思想的积极过程。相对而言,会有倒排索引。

  我们以《隐秘的角落》剧情介绍的一页为例,模拟分词的情况,大致如下(本次分词结果纯属脑补,以实际为准):

  

  4 倒排索引

  假设我们已经分割了10000个网页,其中收录一些公共搜索词:微山湖、智取虎山、三十站立、隐藏的角落等,那么我们将在汇总关系后建立一个搜索词->网页映射。

  

  那么,对于搜索词“隐藏的角落”,有很多网页,倒排索引相当于从一个词中可以拉出多少个文章的过程。

  

  就像我们提到食物一样,我们认为:火锅、烧烤、烤鸭、炒菜等,是一个从点到面的过程,而这个逆向过程在搜索引擎中非常重要。

  

  5 章节总结

  内容处理模块对抓取的网页进行清洗,提前将新的URL提供给爬虫模块,对内容进行分段,建立正向索引和倒排索引,是链接前后的中间链接。

  特别是提到正向索引和倒排索引并不直观,但道理不难理解:

  正指数:一个网页中有多少个关键词,具体是属于网页本身的内容的集合,也就是一个网页。

  倒排索引:一个搜索关键词对应多少个相关网页,即替代网页的集合,是网页的一种。

  # 网页排序和用户模块1 网页排序的必要性

  由于存储的网页数以百亿计,那么一个搜索词可能涉及数万、数十万甚至更多的相关网页。

  网页排名需要综合考虑:相关性、权威性、及时性、丰富性等方面。

  搜索引擎要向用户展示高质量且相关性强的网页,并将其放在首位,否则搜索效果会很差,用户不会购买。

  事实上,情况也是如此。例如,搜索引擎返回 10 页结果,每页 10 个,以及 100 个摘要。一般用户不会点击1-3页之后的页面,所以排序好的header内容对于搜索来说非常重要。结果很重要。

  我们还是以“隐藏角落”的检索为例。百度一共返回了10页,其中1-2页是强相关的,算是比较好的检索结果:

  

  2 网页排序的常用策略

  网页排名策略是一个不断优化和改进的演进过程。我们来看看排名策略:

  这是早期搜索引擎经常采用的方法,相对简单但效果很好。

  简单来说,排名是根据关键词在网页中出现的频率和位置,因为一般认为搜索词出现的次数越多,位置越重要,网页的相关性和排名越高。

  词频不仅仅是次数的计数。它需要一个全局的概念来判断关键词的相对频率。这就是我们要讲的TF-IDF逆文档频率。我们来看看百度百科的解释:

  TF-IDF(词频-逆文档频率)是一种常用的信息检索和数据挖掘加权技术。

  TF 是词频,IDF 是逆文档频率。

  TF-IDF 是一种统计方法,用于评估单词对文档集或语料库中的一个文档的重要性。

  一个词的重要性与它在文档中出现的次数成正比,但与它在语料库中出现的频率成反比。

  举个栗子:

  “吃”这个词在网页上出现了10次,虽然很多,但是“吃”这个词太常见了,因为它出现在很多其他网页中,所以搜索词“吃”的重要性相对降低了。

  链接分析排名认为,一个网页被其他网页引用的次数越多或被引用的权威网页越多,该网页的质量就越高。

  

  基于链接分析的排名算法有很多,其中最著名的PageRank算法被Google广泛使用,是其核心排名算法。

  我们来看看PageRank算法的基本思想:

  网页的重要性由 PageRank 值来衡量。一个网页的PageRank值体现在两个方面:引用该网页的其他网页的数量和引用该页面的其他页面的重要性。

  假设一个网页A被另一个网页B引用,网页B给网页B所引用的网页分配一个PageRank值,所以对网页A的引用越多,其PageRank值就越高。

  另外,网页B越重要,它所引用的页面可以分配的PageRank值越多,网页A的PageRank值越高,越重要。

  其实这个算法说起来很简单:比如写公众号的时候,大V转载就相当于引用。其他公众号转载越多,您的公众号内容质量就越高。

  

  PageRank算法也存在一定的问题。比如对新页面不友好,新页面暂时没有被大量引用,所以PageRank值很低,而PageRank算法强调页面之间的引用关系,可能付出的还不够注意页面本身的主题内容。,也就是所谓的话题漂移问题。

  与PageRank算法类似,还有一些其他算法可以弥补主题关联问题,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文不再展开。

  3 网页反作弊和SEO

  搜索引擎也有28的原则。头部的网页占了很大的点击量,这也意味着巨大的商业价值。

  这里我们会提到SEO,先看看百度百科对SEO的定义:

  搜索引擎优化也称为SEO,即Search Engine Optimization,就是了解各种搜索引擎如何进行搜索,如何爬取互联网页面,如何通过分析网站的排名规则来确定具体的关键词搜索。搜索引擎。结果排名技术。

  搜索引擎利用搜索者容易引用的方法,有针对性地优化网站,提高网站在搜索引擎中的自然排名,吸引更多用户访问网站,提高网站的流量,提高网站的销售能力和宣传能力,从而提升网站的品牌效应。

  道高一尺,魔高十尺,唯有魔能胜魔。

  

  网页反作弊是搜索引擎需要解决的一个重要问题。常见的包括内容反作弊和链接分析反作弊。

  

  比如在网页内容中加入大量重复热词,在标题/摘要等重要位置加入热词,用html标签作弊等,比如在网页内容中加入大量“隐蔽的角落”热词主题不相关的网页,增加等。强调html标签。

  建立大量相互引用的页面,购买高排名的链接等,就是创建大量可以指向自己页面的其他页面,从而形成欺骗引用链。

  4 用户搜索意图理解

  用户模块直接与用户交互,接收用户的搜索词,准确理解用户的搜索意图。

  事实上,用户的输入是多种多样的,口语化的,甚至是拼写错误的,不同背景的用户对同一个搜索词有不同的需求,使用无争议搜索词的目的也不同。

  

  这个搜索词质量比较高,但是还不清楚要不要找一家餐厅吃宫保鸡丁?还在寻找宫保鸡丁的食谱吗?还想了解宫保鸡丁的历史渊源吗?或者宫保鸡丁的相关评论?所以有很多情况。

  口语搜索词有错别字,可能涉及词的纠错、同义词转换等,以便找到准确的搜索词,进而明确搜索意图,召回网页。

  # 全文摘要

  搜索引擎是一个非常复杂的系统工程,涉及到很多算法和工程实现。本文旨在和大家一起简单梳理一下搜索引擎的基本组成和运行原理。这是一门科普文章。

  搜索引擎中的每一个模块都不容易做好,也是互联网产品技术含金量的典型代表。深入研究一个模块将受益匪浅。

  过去推荐

  

  

  点击

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线