搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第1张

作者 | 后端控制技术罗盘

头图 | 图虫

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第2张

写在后面

那时预备和盆友们一同自学下有关通用型浏览器的许多控制技术点。

有鉴于浏览器文本十分多,每一小部分都够写好几篇该文的因此责任编辑而已Jaunpur,深入细致发掘还得老铁们事无巨细。

透过责任编辑你将对通用型浏览器的基本概念和共同组成有两个极为明晰的重新认识,踏实念完,的确略有斩获!

专业术语不说,诸位加紧下车,冲鸭!

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第3张

贝唐浏览器

2.1 浏览器进行分类

浏览器依照其采用情景和体量,能单纯分成两类:

  • 通用型浏览器

通用型搜寻又称作大搜,譬如Google、百度、搜狗、呵呵之类都归属于这两类。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第4张
  • 垂直浏览器

垂直搜寻又称作垂搜,是特定领域的搜寻,比如用QQ音乐搜周杰伦的歌等。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第5张

两类浏览器虽然数据体量和数据特征不一样,但都是为了填平用户和海量信息之间的鸿沟。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第6张

2.2 搜寻和推荐

搜寻和推荐经常被相提并论,但是二者存在许多区别和联系。

  • 共同点

    宏观上来说,搜寻和推荐都是为了解决用户和信息之间的隔离问题,给用户有用的/需要的/喜欢的信息。

  • 区别点

    搜寻一般是用户主动触发,按照自己的意图进行检索,推荐一般是系统主动推送,让用户看到可能感兴趣的信息。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第7张

2.3 浏览器评价标准

我们每天都和浏览器打交道,评价两个浏览器的好坏可单纯概括为:精准性、时效性、响应速度、权威性等。

换句话说,浏览器懂得用户真正想要找什么,能快速准确地展示出来,对于许多热点突发信息也能及时收录展示,就能很好地博得用户。

这个目标需要浏览器多个模块协作处理,是个复杂的系统工程,并非易事。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第8张

通用型浏览器的整体概览

3.1 浏览器的基本流程

大白尝试用朴实的语言来整体表达下,通用型浏览器大致是怎么工作的:

1. 网络蜘蛛爬虫每天不辞辛苦地收录网页,然后存储起来,这样各个站点的页面就有了一份份镜像,这个体量是百亿/千亿级的。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第9张

2. 单纯地镜像也不能直接用,需要加工处理,把两个个网页进行分词,建立搜寻词和网页的对应关系,这样用户搜寻某个东西时,才会拿到很多相关的网页。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第10张

3. 比如"搜寻隐秘的角落"可能会有100个相关网页被找到,但是网页和检索词的关联性的确有强有弱,因此还需要进行网页的排序,排序策略有很多,最终把优质的网页排在后面展示给用户。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第11张

用户看到相关结果之后,进行点击或者跳过,浏览器依照用户的相关动作进行调整,实现整个闭环过程。

4. 为了能更好地理解用户的真实用途,需要进行检索词的意图理解、词条切分、同义词替换、语法纠错等处理,再依照这些检索词去获取数据,为用户找到心中所想的网页。

比如检索词为"老鹰",可能是自然界的老鹰,也可能是NBA的一只球队:

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第12张

3.2 浏览器的基本共同组成

我们从整体单纯看下基本共同组成以及各个模块的主要功能:

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第13张
  • 网络爬虫模块

    浏览器中的网络爬虫就是网页的搬运工,负责将互联网上允许被抓取的网页进行下载,如果把浏览器看作一家餐厅,网络爬虫模块就是餐厅的采购员。

  • 文本处理模块

    负责将网络爬虫下载的页面进行文本解析、文本清洗、主体抽取、建立索引、链接分析、反作弊等环节。

  • 文本存储模块

    存储模块是浏览器的坚强后盾,将抓取的原始网页、处理后的中间结果之类进行存储,这个存储体量也是十分大的,可能需要几万台机器。

  • 用户解析模块

    用户模块负责接收用户的查询词、分词、同义词转换、语义理解之类,去揣摩用户的真实意图、查询重点才能返回正确的结果。

  • 文本排序模块

    结合用户模块解析的查询词和文本索引生成用户查询结果,并对页面进行排序,是浏览器比较核心的部分。

接下来,我们将粗浅地介绍几个模块的基本文本和控制技术点。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第14张

网络爬虫模块简介

网络爬虫模块是通用型浏览器十分的基础组件,一般都会采用分布式爬虫来实现,我们来看看这个搬运工是怎样实现海量网页发掘的:

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第15张

网络爬虫的基本流程:

  • 将热门站点的优质URL作为种子,放到待抓取的URL队列中

  • 读取待抓取URL获取地址进行下载

  • 将下载的网页文本进行解析,将网页存储到hbase/hdfs等,并提取网页中存在的其他URL

  • 发掘到新的URL进行去重,如果是未抓取的则放到抓取队列中

  • 直到待抓取URL队列为空,完成本轮抓取

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

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第16张

在工程实践中需要依照自身情况和浏览器特征进行选择某种策略或者多种策略组合。

网络爬虫需要遵循Robots协议(网络爬虫排除标准),这是网络爬虫和站点之间的君子协定,站点透过协议告诉网络爬虫哪些能抓哪些不能。

网络爬虫同时需要考虑抓取频率,防止给站点造成过重负担,总之,浏览器的网络爬虫需要是个谦谦君子。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第17张

网页文本处理模块

爬虫模块将网页文本存储之后,网页内存处理模块开始解析网页文本,主要工作包括:数据清洗、网页文本分词、建立正排索引、建立倒排索引等。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第18张

5.1 数据清洗

一般来说,网页中除了具体文本还会有很多无关的东西,比如html标签、推广等,这些在实际浏览器中都是无用的。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第19张

文本处理模块会将无用数据、标签清洗掉,为后续的分词做预备。

5.2 中文分词

将清洗完成的文本进行分词提取关键词,比如两个网页文本有1000字,分词之后大约有50个词,相当于提取了网页的主干,并且会对标题、摘要、正文等不同部分的文本做不同权重处理。

分词过程中会剔除停用词、虚词等,比如"的、得、地"等,从而极力还原网页的主干文本。

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

网页分词在线工具:http://www.78901.net/fenci/

抓取网页:https://tech.huanqiu.com/article/3zMq4KbdTAA

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第20张

能看到分词后能标注词频,这些都是后续作为网页排序的重要作者,但是中文是很复杂的,因此分词算法会有很多种,常见的包括:

  • 基于字符串匹配的分词算法

  • 基于概率统计的分词算法

  • 基于语义规则的分词算法

  • 其他算法

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第21张

5.3 正排索引

假定我们将每个网页进行唯一编号docid,经过后面的分词两个网页将被分成不同权重的多个实体词。

所谓正排就是依照docid能拿到归属于该网页的所有文本,是两个符合我们思维的正向过程,相对而言会有倒排索引。

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

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第22张

5.4 倒排索引

假如我们对10000个网页进行了分词,其中包含了许多公共检索词:微山湖、智取威虎山、三十而立、隐秘的角落等,因此我们汇总之后将建立检索词->网页的映射关系。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第23张

那么对于检索词"隐秘的角落"出现很多个网页,倒排索引就相当于从两个词能拉取到多少该文的过程。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第24张

就如同我们提到美食就想到:火锅、烧烤、烤鸭、炒菜之类,是两个从点到面的过程,这种逆向过程在浏览器中十分重要。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第25张

5.5 本章小结

文本处理模块将抓取到的网页进行清洗、提前新URL给爬虫模块、文本分词、建立正排索引和倒排索引,是个承上启下的中间环节。

特别地,提一下正排索引和倒排索引,字面上并不直观,其实道理并不难理解:

正排索引:具体到一篇网页有多少关键词,特指归属于该网页本身的文本集合,是两个网页。

倒排索引:两个检索关键词对应多少相关联的网页,也就是可备选网页集合,是两类网页。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第26张

网页排序和用户模块

6.1 网页排序的必要性

由于存储的网页是百千亿级的,那么两个检索词可能对于几万、几十万甚至更多相关的网页。

网页排序需要综合考虑:相关性、权威性、时效性、丰富度等多个方面。

浏览器要展示优质的强关联网页给用户,并且放在靠前的位置,否则搜寻效果将会很差,用户并不买账。

事实上也是如此,比如浏览器返回了10页结果,每页10条,总结100条,一般用户点击到1-3页之后的网页大概率就不再点击了,因此排序的头部文本对于搜寻结果至关重要。

我们仍然以检索"隐秘的角落"为例,百度共计返回了10页,其中1-2页的文本是强关联的,是个比较不错的检索结果了:

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第27张

6.2 网页排序的常见策略

网页排序策略是个不断优化和提升的演进过程,我们来一同看下都有哪些排序策略:

  • 基于词频和位置权重的排序

这是早期浏览器常采取的方法,相对单纯但是效果还不错。

单纯来说就是依照网页中关键词的出现频率以及出现位置作为排序依据,因为普遍认为:检索词出现次数越多、位置越重要,网页的关联性越好,排名越靠前。

词频并不是单纯的统计次数,需要有全局观念来判断关键词的相对次数,这就是我们要说的TF-IDF逆文档频率,来看下百度百科的解释:

TF-IDF (term frequency–inverse document frequency)是一种用于信息检索与数据发掘的常用加权控制技术。

TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。

TF-IDF是一种统计方法,用以评估一字词对于两个文件集或两个语料库中的其中一份文件的重要程度。

字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

举个栗子:

网页中"吃饭"这个词出现了10次,虽然次数很多,但是"吃饭"这个词过于普通,因为在很多其他网页都出现了,因此"吃饭"这个检索词的重要性就相对下降了。

  • 基于链接分析的排序

链接分析排序认为:网页被别的网页引用的次数越多或者越权威的网页引用,说明该网页质量越高。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第28张

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

来看下PageRank算法的基本思想:

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

假定两个网页A被另两个网页B引用,网页B就将PageRank值分配给网页B所引用的网页,因此越多引用网页A则其PageRank值也就越高。

另外网页B越重要,它所引用的页面能分配到的PageRank值就越多,网页A的PageRank值也就越高越重要。

其实这个算法说起来十分单纯:比如写公众号,有大V转载就相当于引用了,越多其他公众号转载,说明你的公众号文本质量越高。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第29张

PageRank算法也存在一定的问题,比如对新页面不友好,新页面暂时没有被大量引用,因此PageRank值很低,并且PageRank算法强调网页之间的引用关系,对网页本身的主题文本可能重视程度不够,也就是所谓的主题漂流问题。

与PageRank算法类似于的还有许多其他算法来弥补主题关联问题,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,责任编辑就不再展开了。

6.3 网页反作弊和SEO

浏览器也存在二八原则,头部的网页占据了大量的点击流量,也意味着巨大的商业价值。

这里就要提到SEO,先看下百度百科对SEO的定义:

浏览器优化又称作SEO,即Search Engine Optimization,它是一种透过分析浏览器的排名规律,了解各种浏览器怎样进行搜寻、怎样抓取互联网页面、怎样确定特定关键词的搜寻结果排名的控制技术。

浏览器采用易于被搜寻引用的手段,对网站进行有针对性的优化,提高网站在浏览器中的自然排名,吸引更多的用户访问网站,提高网站的访问量,提高网站的销售能力和宣传能力,从而提升网站的品牌效应。

道高一尺魔高一丈,只有魔法能打败魔法。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第30张

网页反作弊是浏览器需要解决的重要问题,常见的有文本反作弊、链接分析反作弊等。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第31张
  • 网页文本作弊

    比如在网页文本中增加大量重复热词、在标题/摘要等重要位置增加热度词、html标签作弊之类,比如在一篇主题无联系的网页中增加大量"隐秘的角落"热度词、增加 等强调性html标签。

  • 链接分析作弊

    构建大量相互引用的页面集合、购买高排名友链之类,就是搞很多能指向自己网页的其他网页,从而构成两个作弊引用链条。

6.4 用户搜寻意图理解

用户模块直接和用户交互,接收用户的搜寻词,准确理解用户的搜寻意图十分重要。

实际上用户的输入是五花八门的,偏口语化,甚至有拼写错误、并且不同背景的用户对同两个检索词的需求不一样、无争议检索词的采用目的也不一样。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第32张
  • 检索词为:美食宫保鸡丁

    这个检索词算是比较优质了,但是仍然不明确是想找饭店去吃宫保鸡丁?还是想找宫保鸡丁的菜谱?还是想查宫保鸡丁的历史起源?还是宫保鸡丁的相关评价?因此会出现很多情况。

  • 检索词为:你说我中午迟点啥呢?

    口语化检索词并且存在错别字,其中可能涉及词语纠错、同义词转换之类,才能找到准确的检索词,进而明确检索意图,召回网页。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第33张

全文总结

浏览器是个十分复杂的系统工程,涉及十分多的算法和工程实现,责任编辑旨在和大家一同单纯梳理浏览器的基本共同组成和运行原理,算是科普该文了。

浏览器中每两个模块做好都不容易,也是互联网产品中控制技术含金量的典型代表,深挖两个模块都受益匪浅。

搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第34张搜索引擎技术(搜索引擎技术是如何决定其营销特点的)-第35张