做算法引擎
Ⅰ 有赞搜索引擎实践(算法篇)
注:转自于 有赞
在上篇文章(工程篇)中, 我们介绍了有赞搜索引擎的基本框架. 搜索引擎主要3个部件构成. 第一, hadoop集群, 用于生成大规模搜索和实时索引; 第二, ElasticSearch集群, 提供分布式搜索方案; 第三, 高级搜索集群, 用于提供商业搜索的特殊功能.
商业电商搜索由于搜索的特殊性, 独立的ElasticSearch集群是无法满足多样的算法需求的, 我们在搜索的各个部件上都有相应的算法插件, 用于构建商业电商搜索引擎的算法体系.
创建索引过程从原始数据创建倒排索引的过程. 这个过程中我们对商品(doc)进行分析, 计算商品静态分, 并对商品进行相似度计算. 商品的静态分对于提升搜索引擎质量起到至关重要的作用, 相当于网页搜索的pagerank, 想象一下如果没有pagerank算法, 网页搜索的质量会有多么差. 在电商搜索中, 最常见的问题是相似商品太多, 必须在建立索引过程中就对商品间的相似度进行预计算, 以便在检索过程中进行有效去重.
创建索引的过程如下.
step 1. 计算每个doc的静态分
step 2. 计算两两doc的相似度
step 3. 根据相似度和其他信息对数据进行分库
step 4. 建立ES索引
检索过程是搜索引擎接收用户的query进行一系列处理并返回相关结果的过程. 商业搜索引擎在检索过程中需要考虑2个因素: 1) 相关性 2) 重要性.
相关性是指返回结果和输入query是否相关, 这是搜索引擎基本问题之一, 目前常用的算法有BM25和空间向量模型. 这个两个算法ElasticSearch都支持, 一般商业搜索引擎都用BM25算法. BM25算法会计算每个doc和query的相关性分, 我们使用Dscore表示.
重要性是指商品被信赖的程度, 我们应该吧最被消费之信赖的商品返回给消费者, 而不是让消费之自己鉴别. 尤其是在商品充分竞争的电商搜索, 我们必须赋予商品合理的重要性分数, 才能保证搜索结果的优质. 重要性分, 又叫做静态分, 使用Tscore表示.
搜索引擎最终的排序依据是:
Score = Dscore * Tscore
即综合考虑静态分和动态分, 给用户相关且重要的商品.
检索的过程大致抽象为如下几个步骤.
step 1. 对原始query进行query分析
step 2. 在as中根据query分析结果进行query重写
step 3. 在as中使用重写后的query检索es
step 4. 在es查询过程中根据静态分和动态分综合排序
step 5. 在as中吧es返回的结果进行重排
step 6. 返回结果
下面几章阐述几个重点技术.
在电商搜索引擎里面商品的静态分是有网页搜索里面的pagerank同等的价值和重要性, 他们都是doc固有的和查询query无关的价值度量. pagerank通过doc之间的投票关系进行运算, 相对而言商品的静态分的因素会更多一些. 商品静态计算过程和pagerank一样需要解决如下2个问题: 1. 稳定性. pagerank可以保证一个网站不会因为简单链接堆砌可以线性提升网站的排名. 同样, 商品静态分的计算不可以让商品可以通过增加单一指标线性增加分值(比如刷单对搜索引擎的质量的影响).
2. 区分度. 在保证稳定性的基础上商品静态分要有足够的区分度可以保证同样搜索的条件下, 排在前面的商品的质量比排在后面的商品的质量高.
我们假设商品的静态分有3个决定性因素, 1.下单数, 2. 好评率 3. 发货速度
静态分我们使用Tsocre表示, Tscore可以写成如下形式:
Tscore = a * f(下单数) + b * g(好评率) + c * h(发货速度)
a,b,c是权重参数, 用于平衡各个指标的影响程度. f,g,h是代表函数用于把原始的指标转化成合理的度量.
首先, 我们需要寻找合理的代表函数.
z-score 标准化方法
这种方法非常不稳定, 假设一个奇异点是第二大的值的1000倍, 会让大部分的值都集中在0~0.01, 同样失去了归一化的目的.
(图三: log-zscore归一化)
最后, 选择合适的权重 经过log-zscore归一化以后, 我们基本上吧f,g,h的表示的代表函数说明清楚. Tscore = a f(下单数) + b g(好评率) + c*h(发货速度), 下一步就是确定a,b,c的参数. 一般有两个方法:
a) 专家法. 根据我们的日常经验动态调整权重参数;
b) 实验法. 首先在专家的帮助下赋一个初始值, 然后改变单一变量的方法根据abtest的结果来动态调整参数.
商品标题去重在电商搜索中起到重要作用, 根据数据, 用户通过搜索页购买商品80%选择搜索的前4页. 商品标题的重复会导致重要的页面没有含金量, 极大降低了搜索的购买率.
举个例子:
Title1:美味/香蕉/包邮/广东/高州/香蕉/banana//无/催熟剂/
Title2:美味/香蕉/广东/高州/香蕉//非/粉蕉/包邮/
首先, 进行特征向量化
这里用到 "bag of word" 技术, 将词汇表作为空间向量的维度, 标题的每个term的词频作为这个feature的值. 以这个例子来说. 这个词汇的维度为: 美味(0), 香蕉(1), 包邮(2), 广东(3), 高州(4), banana(5),无(6), 催熟剂(7),非(8),粉蕉(9) 位置: 0,1,2,3,4,5,6,7,8,9
Title1: 1,2,1,1,1,1,1,1,0,0
Title2: 1,2,1,1,1,0,0,0,1,1
这个每个title都用一个固定长度的向量表示.
再次, 计算两两相似度
相似度一般是通过计算两个向量的距离实现的, 不失一般性, 在这里我们使用1-cosine(x,y)来表示两个向量的距离. 这是一个"All Pair Similarity"的问题, 即需要两两比较, 复杂度在O(n^2). 在商品量巨大的时候单机很难处理. 我们给出两种方法用于实现"All Pair Similarity".
方法一: spark的矩阵运算.
方法二: map-rece 线性方法. 这个方法参考论文"Pairwise Document Similarity in Large Collections with MapRece". 可以实现几乎线性的时间复杂度. 相对于矩阵运算在大规模(10亿以上)pair similarity 运算上面有优势. 这个方法简单的描述如下: 首先, 按照倒排索引的计算方式计算每个term到doc的映射. 比如3个doc:
转化为倒排格式, 这个需要一次mapper rece
然后, 对于value只有一个元素的过滤掉, 对于value大于2个doc的两两组合:
最后, 对于输出进行聚合,value为重复次数和两个doc乘积开根号的比.
对于2个title1, title2, 如果X(title1, title2) > 0.7 则认为title1和title2相似, 对于相似的两个doc, 静态分大的定义为主doc, 静态分小的定义为辅doc. 主doc和辅doc分别建库.
区别于网页搜索(网页搜索直接将辅doc删除), 我们将主doc和辅doc分别建库. 每一次搜索按比例分别搜主库和辅库, 并将结果融合返回. 这样可以保证结果的多样性.
店铺去重和商品标题去重有点不同. 由于电商特定场景的需要, 不希望搜索结果一家独大, 这样会引发强烈的马太效应. 店铺去重不能使用如上的方法进行. 因为上面的方法的主要依据是文本相似, 在结果都相关的前提下, 进行适当的取舍. 但是店铺去重不是这样的特性.
设想一下, 如果我们根据店铺是否相同, 把同一店铺的商品分到主库和从库中, 如下图所示.
A和B代表不同的店铺.
在搜索香蕉的时候, 的确可以控制A店铺结果的数量, 但是在搜索"梨"的时候就错误的吧B店铺的梨排在前面了(假设A:梨比B:梨静态分高).
搜索的过程每个桶平均分摊搜索任务的25%, 并根据静态分合并成一页的结果. 这样同一保证结果的相对顺序, 又达到了店铺去重的目的.
如上图所示, 搜索"香蕉", 虽然A店铺有10个满足需求的结果, 但是每页搜索醉倒只有5个结果可以展示.
上面介绍了几个建立索引过程中几项技术, 检索过程中的关键技术有很多. 其中最着名的是query分析技术. 我们使用的query分析技术主要包括核心词识别, 同义词拓展, 品牌词识别等等. query分析技术大部分都是NLP研究范围, 本文就不详细阐述很多理论知识. 我们重点介绍同义词拓展技术. 这个技术一般都需要根据自己的商品和和用户日志特定训练, 无法像分词技术和品牌词识别一样有标准的库可以适用.
同义词拓展一般是通过分析用户session日志获取. 如果一个用户输入"苹果手机"没有得到想要的结果, 他接着输入"iphone", 我们在"苹果手机"和"iphone"之间创建一个转移关系. 基于统计, 我们可以把用户query创建一个相互联系的权重图.
用户输入query "苹果手机", 根据query分析, "苹果手机"有 "iphone" 0.8, "iphone 6" 0.5 两个同义词. 0.8和0.5分别表示同义的程度. 我们想要"苹果手机", "iphone", "iphone 6" 3个query同时输入, 并且按照同义的程度对不同的query赋予不同的权重. ElasticSearch提供的BoostingQuery可以支持这个需求. 参考: https://www.elastic.co/guide/en/elasticsearch/guide/current/ boosting query_clauses.html
原始query:
改写后的Query
其他比如核心词识别, 歧义词纠正等方法差不多, 本文不做详细阐述.
商业电商搜索算法另外两个重要技术, 一个是类目体系建立和应用,另一个是个性化技术. 这个两项技术我们还处在探索阶段. 类目体系我们主要使用机器学习的方法进行训练, 个性化主要通过用户画像进行Query改写来实现. 等我们上线有效果在与大家分享.
搜索算法是一个非常值得一个电商产品持续投入的技术. 一方面我们技术人员要有良好的技术背景, 可以借鉴很多成熟的技术, 避免重复造轮子; 另一方面, 每个产品的搜索都有自身的特点, 需要深入研究产品的特性给出合理的解决方案. 本文给出的案例都具有代表性, 灵活的运用搜索的各方面的技术. 另外, 商业搜索非常看重投入产出比, 我们也需要在众多方案中寻找捷径. 比如我们在做类目体系时候, 没有投入大量的人力资源用于标注数据, 而是通过爬虫爬取其他电商的数据进行参考, 从而节省了80%的人力资源. 由于笔者能力有限, 文中的方案不保证是问题的最优解, 如果有指正, 请联系笔者( [email protected] ).
Ⅱ 几种搜索引擎算法研究
2.1Google和PageRank算法
搜索引擎Google最初是斯坦福大学的博士研究生Sergey Brin和Lawrence Page实现的一个原型系统[2],现在已经发展成为WWW上最好的搜索引擎之一。Google的体系结构类似于传统的搜索引擎,它与传统的搜索引擎最大的不同处在于对网页进行了基于权威值的排序处理,使最重要的网页出现在结果的最前面。Google通过PageRank元算法计算出网页的PageRank值,从而决定网页在结果集中的出现位置,PageRank值越高的网页,在结果中出现的位置越前。
2.1.1PageRank算法
PageRank算法基于下面2个前提:
前提1:一个网页被多次引用,则它可能是很重要的;一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的;一个网页的重要性被平均的传递到它所引用的网页。这种重要的网页称为权威(Authoritive)网页。
前提2:假定用户一开始随机的访问网页集合中的一个网页,以后跟随网页的向外链接向前浏览网页,不回退浏览,浏览下一个网页的概率就是被浏览网页的PageRank值。
Ⅲ 做SEO优化如何应对搜索引擎算法的更新
做白帽优化
Ⅳ 搜索引擎的排序算法都有哪些是怎么实现的
2.1基于词频统计——词位置加权的搜索引擎
利用关键词在文档中出现的频率和位置排序是搜索引擎最早期排序的主要思想,其技术发展也最为成熟,是第一阶段搜索引擎的主要排序技术,应用非常广泛,至今仍是许多搜索引擎的核心排序技术。其基本原理是:关键词在文档中词频越高,出现的位置越重要,则被认为和检索词的相关性越好。
1)词频统计
文档的词频是指查询关键词在文档中出现的频率。查询关键词词频在文档中出现的频率越高,其相关度越大。但当关键词为常用词时,使其对相关性判断的意义非常小。TF/IDF很好的解决了这个问题。TF/IDF算法被认为是信息检索中最重要的发明。TF(Term Frequency):单文本词汇频率,用关键词的次数除以网页的总字数,其商称为“关键词的频率”。IDF(Inverse Document Frequency):逆文本频率指数,其原理是,一个关键词在N个网页中出现过,那么N越大,此关键词的权重越小,反之亦然。当关键词为常用词时,其权重极小,从而解决词频统计的缺陷。
2)词位置加权
在搜索引擎中,主要针对网页进行词位置加权。所以,页面版式信息的分析至关重要。通过对检索关键词在Web页面中不同位置和版式,给予不同的权值,从而根据权值来确定所搜索结果与检索关键词相关程度。可以考虑的版式信息有:是否是标题,是否为关键词,是否是正文,字体大小,是否加粗等等。同时,锚文本的信息也是非常重要的,它一般能精确的描述所指向的页面的内容。
2.2基于链接分析排序的第二代搜索引擎
链接分析排序的思想起源于文献引文索引机制,即论文被引用的次数越多或被越权威的论文引用,其论文就越有价值。链接分析排序的思路与其相似,网页被别的网页引用的次数越多或被越权威的网页引用,其价值就越大。被别的网页引用的次数越多,说明该网页越受欢迎,被越权威的网页引用,说明该网页质量越高。链接分析排序算法大体可以分为以下几类:基于随机漫游模型的,比如PageRank和Repution算法;基于概率模型的,如SALSA、PHITS;基于Hub和Authority相互加强模型的,如HITS及其变种;基于贝叶斯模型的,如贝叶斯算法及其简化版本。所有的算法在实际应用中都结合传统的内容分析技术进行了优化。本文主要介绍以下几种经典排序算法:
1)PageRank算法
PageRank算法由斯坦福大学博士研究生Sergey Brin和Lwraence Page等提出的。PageRank算法是Google搜索引擎的核心排序算法,是Google成为全球最成功的搜索引擎的重要因素之一,同时开启了链接分析研究的热潮。
PageRank算法的基本思想是:页面的重要程度用PageRank值来衡量,PageRank值主要体现在两个方面:引用该页面的页面个数和引用该页面的页面重要程度。一个页面P(A)被另一个页面P(B)引用,可看成P(B)推荐P(A),P(B)将其重要程度(PageRank值)平均的分配P(B)所引用的所有页面,所以越多页面引用P(A),则越多的页面分配PageRank值给P(A),PageRank值也就越高,P(A)越重要。另外,P(B)越重要,它所引用的页面能分配到的PageRank值就越多,P(A)的PageRank值也就越高,也就越重要。
其计算公式为:
PR(A):页面A的PageRank值;
d:阻尼系数,由于某些页面没有入链接或者出链接,无法计算PageRank值,为避免这个问题(即LinkSink问题),而提出的。阻尼系数常指定为0.85。
R(Pi):页面Pi的PageRank值;
C(Pi):页面链出的链接数量;
PageRank值的计算初始值相同,为了不忽视被重要网页链接的网页也是重要的这一重要因素,需要反复迭代运算,据张映海撰文的计算结果,需要进行10次以上的迭代后链接评价值趋于稳定,如此经过多次迭代,系统的PR值达到收敛。
PageRank是一个与查询无关的静态算法,因此所有网页的PageRank值均可以通过离线计算获得。这样,减少了用户检索时需要的排序时间,极大地降低了查询响应时间。但是PageRank存在两个缺陷:首先PageRank算法严重歧视新加入的网页,因为新的网页的出链接和入链接通常都很少,PageRank值非常低。另外PageRank算法仅仅依靠外部链接数量和重要度来进行排名,而忽略了页面的主题相关性,以至于一些主题不相关的网页(如广告页面)获得较大的PageRank值,从而影响了搜索结果的准确性。为此,各种主题相关算法纷纷涌现,其中以以下几种算法最为典型。
2)Topic-Sensitive PageRank算法
由于最初PageRank算法中是没有考虑主题相关因素的,斯坦福大学计算机科学系Taher Haveli-wala提出了一种主题敏感(Topic-Sensitive)的PageRank算法解决了“主题漂流”问题。该算法考虑到有些页面在某些领域被认为是重要的,但并不表示它在其它领域也是重要的。
网页A链接网页B,可以看作网页A对网页B的评分,如果网页A与网页B属于相同主题,则可认为A对B的评分更可靠。因为A与B可形象的看作是同行,同行对同行的了解往往比不是同行的要多,所以同行的评分往往比不是同行的评分可靠。遗憾的是TSPR并没有利用主题的相关性来提高链接得分的准确性。
3)HillTop算法
HillTop是Google的一个工程师Bharat在2001年获得的专利。HillTop是一种查询相关性链接分析算法,克服了的PageRank的查询无关性的缺点。HillTop算法认为具有相同主题的相关文档链接对于搜索者会有更大的价值。在Hilltop中仅考虑那些用于引导人们浏览资源的专家页面(Export Sources)。Hilltop在收到一个查询请求时,首先根据查询的主题计算出一列相关性最强的专家页面,然后根据指向目标页面的非从属专家页面的数量和相关性来对目标页面进行排序。
HillTop算法确定网页与搜索关键词的匹配程度的基本排序过程取代了过分依靠PageRank的值去寻找那些权威页面的方法,避免了许多想通过增加许多无效链接来提高网页PageRank值的作弊方法。HillTop算法通过不同等级的评分确保了评价结果对关键词的相关性,通过不同位置的评分确保了主题(行业)的相关性,通过可区分短语数防止了关键词的堆砌。
但是,专家页面的搜索和确定对算法起关键作用,专家页面的质量对算法的准确性起着决定性作用,也就忽略了大多数非专家页面的影响。专家页面在互联网中占的比例非常低(1.79%),无法代表互联网全部网页,所以HillTop存在一定的局限性。同时,不同于PageRank算法,HillTop算法的运算是在线运行的,对系统的响应时间产生极大的压力。
4)HITS
HITS(Hyperlink Inced Topic Search)算法是Kleinberg在1998年提出的,是基于超链接分析排序算法中另一个最着名的算法之一。该算法按照超链接的方向,将网页分成两种类型的页面:Authority页面和Hub页面。Authority页面又称权威页面,是指与某个查询关键词和组合最相近的页面,Hub页面又称目录页,该页面的内容主要是大量指向Authority页面的链接,它的主要功能就是把这些Authority页面联合在一起。对于Authority页面P,当指向P的Hub页面越多,质量越高,P的Authority值就越大;而对于Hub页面H,当H指向的Authority的页面越多,Authority页面质量越高,H的Hub值就越大。对整个Web集合而言,Authority和Hub是相互依赖、相互促进,相互加强的关系。Authority和Hub之间相互优化的关系,即为HITS算法的基础。
HITS基本思想是:算法根据一个网页的入度(指向此网页的超链接)和出度(从此网页指向别的网页)来衡量网页的重要性。在限定范围之后根据网页的出度和入度建立一个矩阵,通过矩阵的迭代运算和定义收敛的阈值不断对两个向量Authority和Hub值进行更新直至收敛。
实验数据表明,HITS的排名准确性要比PageRank高,HITS算法的设计符合网络用户评价网络资源质量的普遍标准,因此能够为用户更好的利用网络信息检索工具访问互联网资源带来便利。
但却存在以下缺陷:首先,HITS算法只计算主特征向量,处理不好主题漂移问题;其次,进行窄主题查询时,可能产生主题泛化问题;第三,HITS算法可以说一种实验性质的尝试。它必须在网络信息检索系统进行面向内容的检索操作之后,基于内容检索的结果页面及其直接相连的页面之间的链接关系进行计算。尽管有人尝试通过算法改进和专门设立链接结构计算服务器(Connectivity Server)等操作,可以实现一定程度的在线实时计算,但其计算代价仍然是不可接受的。
2.3基于智能化排序的第三代搜索引擎
排序算法在搜索引擎中具有特别重要的地位,目前许多搜索引擎都在进一步研究新的排序方法,来提升用户的满意度。但目前第二代搜索引擎有着两个不足之处,在此背景下,基于智能化排序的第三代搜索引擎也就应运而生。
1)相关性问题
相关性是指检索词和页面的相关程度。由于语言复杂,仅仅通过链接分析及网页的表面特征来判断检索词与页面的相关性是片面的。例如:检索“稻瘟病”,有网页是介绍水稻病虫害信息的,但文中没有“稻瘟病”这个词,搜索引擎根本无法检索到。正是以上原因,造成大量的搜索引擎作弊现象无法解决。解决相关性的的方法应该是增加语意理解,分析检索关键词与网页的相关程度,相关性分析越精准,用户的搜索效果就会越好。同时,相关性低的网页可以剔除,有效地防止搜索引擎作弊现象。检索关键词和网页的相关性是在线运行的,会给系统相应时间很大的压力,可以采用分布式体系结构可以提高系统规模和性能。
2)搜索结果的单一化问题
在搜索引擎上,任何人搜索同一个词的结果都是一样。这并不能满足用户的需求。不同的用户对检索的结果要求是不一样的。例如:普通的农民检索“稻瘟病”,只是想得到稻瘟病的相关信息以及防治方法,但农业专家或科技工作者可能会想得到稻瘟病相关的论文。
解决搜索结果单一的方法是提供个性化服务,实现智能搜索。通过Web数据挖掘,建立用户模型(如用户背景、兴趣、行为、风格),提供个性化服务。
Ⅳ 大数据运算的三种引擎是什么有什么区别
现在流行的开源引擎可不止三个,先罗列5个给你:
1)Hive,披着SQL外衣的Map-Rece。Hive是为方便用户使用Map-Rece而在外面封装了一层SQL,由于Hive采用了SQL,它的问题域比Map-Rece更窄,因为很多问题,SQL表达不出来,比如一些数据挖掘算法,推荐算法、图像识别算法等,这些仍只能通过编写Map-Rece完成。
2) Impala:Google Dremel的开源实现(Apache Drill类似),因为交互式实时计算需求,Cloudera推出了Impala系统,该系统适用于交互式实时处理场景,要求最后产生的数据量一定要少。
3)Shark/Spark:为了提高Map-Rece的计算效率,Berkeley的AMPLab实验室开发了Spark,Spark可看做基于内存的Map-Rece实现,此外,伯克利还在Spark基础上封装了一层SQL,产生了一个新的类似Hive的系统Shark。
4) Stinger Initiative(Tez optimized Hive):Hortonworks开源了一个DAG计算框架Tez,Tez可以理解为Google Pregel的开源实现,该框架可以像Map-Rece一样,可以用来设计DAG应用程序,但需要注意的是,Tez只能运行在YARN上。Tez的一个重要应用是优化Hive和PIG这种典型的DAG应用场景,它通过减少数据读写IO,优化DAG流程使得Hive速度提供了很多倍。
5)Presto:FaceBook于2013年11月份开源了Presto,一个分布式SQL查询引擎,它被设计为用来专门进行高速、实时的数据分析。它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions)。Presto设计了一个简单的数据存储的抽象层,来满足在不同数据存储系统(包括HBase、HDFS、Scribe等)之上都可以使用SQL进行查询。
Ⅵ 应届生都年薪30w了,做AI工程师到底有哪些要求
1.数学基础,要学习人工智能,最基本的高数、线代、概率论必须掌握,至少也得会高斯函数、矩阵求导,明白梯度下降是怎么回事,否则对于模型的基本原理完全不能理解,模型调参与训练也就无从谈起了。
2. 编程基础,如果是做纯算法研究员,工程能力的要求不会太高,但也需要能写源代码;而对于做算法引擎开发或是应用开发的工程师来说,代码实现的能力高低就直接决定了工作产出的质量与效率了。所以,想做AI工程师的你需要熟练掌握至少一种编程语言,并掌握配套的工具、常用库等。
3.机器学习基础,人工智能的热潮来源于深度学习相关技术与应用的优异表现,所以招聘最热的岗位无疑是机器学习算法工程师。因此,机器/深度学习的经典算法、常见的神经网络模型、模型调参和训练技巧就需要尽可能多和深入地掌握了。
4.专业领域知识基础,人工智能主要应用领域可大致分为图像、语音和NLP(自然语言处理)。无论是其中哪个领域,都有海量的专业知识需要去掌握,比如如果你想从事智能驾驶行业的机器视觉方面的工作,那么你就需要掌握图像相关的知识;而如果你想做一款智能音箱的算法开发,你就需要掌握语音和NLP相关的知识。
5.具体行业的深度认知。任何应用场景都有自己独特的数据结构,而一个能够落地的AI应用自然离不开对于业务本身的深入理解。算法工程师们需要清晰地把握一个AI系统由哪些模块组成,相互关系是什么,都用到哪些技术,解决什么问题,才可能针对具体的问题展开实验研究,从而进行优化。
Ⅶ 百度搜索引擎的算法是怎样的
衡量网页质量的维度
网络搜索引擎在衡量网页质量时,会从以下三个维度综合考虑给出一个质量打分。下面会一一介绍这些影响网页质量判断的维度特征:
• 内容质量
• 浏览体验
• 可访问性
一个访问流畅,内容质量高且浏览体验好的网页具有较高的质量;反之,任何一个维度出现问题,都会影响网页的整体质量。下面我们具体介绍下这三个维度。
衡量网页质量的维度——内容质量
网页主体内容是网页的价值所在,是满足用户需求的前提基础。网络搜索引擎评价网页内容质量主要看其主体内容的好坏,以及主体内容是否可以让用户满意。 不同类型网页的主体内容不同,网络搜索引擎判断不同网页的内容价值时,需要关注的点也有区别,如:
• 首页:导航链接和推荐内容是否清晰、有效。
• 文章页:能否提供清晰完整的内容,图文并茂更佳。
• 商品页:是否提供了完整真实的商品信息和有效的购买入口。
• 问答页:是否提供了有参考价值的答案。
• 下载页:是否提供下载入口,是否有权限限制,资源是否有效。
• 文档页:是否可供用户阅读,是否有权限限制。
• 搜索结果页:搜索出来的结果是否与标题相关。
网络搜索引擎考量网页内容质量的维度非常多,最为重要的是:成本;内容完整;信息真实有效以及安全。下面我们通过举例来感受一下网络搜索引擎是如何对网页的内容质量进行分类的,请站长对比自己站点的页面,站在搜索引擎和用户的角度为自己打分:
1、内容质量好:
网络搜索引擎认为内容质量好的网页,花费了较多时间和精力编辑,倾注了编者的经验和专业知识;内容清晰、完整且丰富;资源有效且优质;信息真实有效;安全无毒;不含任何作弊行为和意图,对用户有较强的正收益。对这部分网页,网络搜索引擎会提高其展现在用户面前的机率。例如:
• 专业医疗机构发布的内容丰富的医疗专题页面;
• 资深工程师发布的完整解决某个技术问题的专业文章;
• 专业视频网站上,播放清晰流畅的正版电影或影视全集页面;
• 知名B2C网站上,一个完整有效的商品购买页;
• 权威新闻站原创或经过编辑整理的热点新闻报道;
• 经过网友认真编辑,内容丰富的词条;
• 问答网站内,回答的内容可以完美解决提问者的问题。
实例参考:
示例
内容质量
说明
case 3.1.1-1
好
专业医疗网站发布的丰富医疗专题页面
case 3.1.1-2
好
资深工程师发布的完整解决某个技术问题的专业文章
case 3.1.1-3
好
专业视频网站上,播放清晰流畅的正版影视全集页面
case 3.1.1-4
好
京东的一个完整有效的商品购买页
case 3.1.1-5
好
权威新闻站原创的热点新闻的报道
case 3.1.1-6
好
经过网友认真编辑,内容丰富的网络词条
case3.1.1-7
好
网络知道上,完美解决用户问题的问答页
2、内容质量中:
内容质量中等的网页往往能满足用户需求,但未花费较多时间和精力进行制作编辑,不能体现出编者的经验和专业知识;内容完整但并不丰富;资源有效但质量欠佳;信息虽真实有效但属采集得来;安全无毒;不含作弊行为和意图。在互联网中,中等质量网页其实是一个比较大的数量集合,种类面貌也繁杂多样,网络搜索引擎在评价这类网页时往往还要考虑其它非常多因素。在这里,我们仅部分举例来让各位感受一下:
• 论坛类网站里一个普通的帖子;
• 一个普通的问答网页;
• 没有进行任何编辑,直接转载其它网站的新闻;
• 无版权信息的普通电影播放页
• 采集知名小说网站的盗版小说页。
实例参考:
示例
内容质量
说明
case 3.1.2-1
中
网易直接转载了中国新闻网的一篇新闻。
case 3.1.2-2
中
文库上网友上传的“国庆放假安排”新闻
case 3.1.2-3
中
采集起点小说网的盗版小说站
case 3.1.2-4
中
网络贴吧里一个普通的帖子
3、内容质量差:
网络搜索引擎认为主体内容信息量较少,或无有效信息、信息失效过期的都属于内容质量差网页,对用户没有什么实质性的帮助,应该减少其展现的机会。同时,如果一个网站内该类网页的占比过大,也会影响网络搜索引擎对站点的评级,尤其是UGC网站、电商网站、黄页网站要尤其重视对过期、失效网页的管理。例如:
• 已下架的商品页,或已过期的团购页;
• 已过有效期的招聘、交易页面;
• 资源已失效,如视频已删除、软件下载后无法使用等。
4、没有内容质量可言:
没有内容质量可言的网页指那些制作成本很低,粗制滥造;从别处采集来的内容未经最起码的编辑整理即放置线上;挂木马等病毒;含有作弊行为或意图;完全不能满足用户需求,甚至含有欺骗内容的网页。例如:
• 内容空短,有很少量的内容,却不能支撑页面的主要意图;
• 问答页有问无答,或回答完全不能解决问题;
• 站内搜索结果页,但没有给出相关信息
除上述网页外,欺骗用户和搜索引擎的网页在无内容质量可言集合里占很高比例。网络搜索引擎对作弊网页的定义是:不以满足用户需求为目的,通过不正当手段欺骗用户和搜索引擎从而获利的网页。目前互联网上这部分网页还属少数,但作弊网页的价值是负向的,对用户的伤害非常大,对这类网页,搜索引擎持坚决打击态度。
衡量网页质量的维度——浏览体验
不同质量的网页带给用户的浏览体验会有很大差距,一个优质的网页给用户的浏览体验应该是正向的。用户希望看到干净、易阅读的网页,排版混乱、广告过多会影响用户对网页主体内容的获取。在网络搜索引擎网页质量体系中,用户对网页主体内容的获取成本与浏览体验呈反比,即获取成本越高,浏览体验越低。面对内容质量相近的网页,浏览体验佳者更容易获得更高的排位,而对于浏览体验差的网页,网络搜索引擎会视情况降低其展现的机率甚至拒绝收录。
影响用户浏览体验好坏的因素很多,目前网络搜索引擎主要从内容排版、广告影响两方面对网页进行考量:
内容排版:用户进入网页第一眼看到的就是内容排版,排版决定了用户对网页的第一印象,也决定了用户对内容获取的成本。
广告影响:网络搜索引擎理解网站的生存发展需要资金支持,对网页上放置正当广告持支持态度。网页应该以满足用户需求为主旨,最佳状态即“主体内容与广告一起满足用户需求,内容为主,广告为辅”,而不应让广告成为网页主体。
下面我们通过举例来感受一下网络搜索引擎是如何对网页的浏览体验进行分类的,站长可以据此对比检验自己站点的浏览体验如何:
1、浏览体验好:
页面布局合理,用户获取主体内容成本低,一般具有以下特征:
• 排版合理,版式美观,易于阅读和浏览;
• 用户需要的内容占据网页最重要位置;
• 能够通过页面标签或页面布局十分清楚地区分出哪些是广告;
• 广告不抢占主体内容位置,不阻碍用户对主要内容的获取;
实例参考:
示例
浏览体验
说明
case 3.2.1-1
好
招聘、房产等网站首页也有很多广告,但都是招聘相关的,浏览体验是ok的。
case 3.2.1-2
好
文章页,页面布局合理,无广告,排版好,结构合理
case 3.2.1-3
好
游戏首页,排版美观,布局合理,无广告,浏览体验优
2、浏览体验差:
页面布局和广告放置影响了用户对主体内容的获取,提高了用户获取信息的成本,令用户反感。包括但不仅限于以下情况:
• 正文内容不换行或不分段,用户阅读困难;
• 字体和背景颜色相近,内容辨别困难;
• 页面布局不合理,网页首屏看不到任何有价值的主体内容;
• 广告遮挡主体内容;或者在通用分辨率下,首屏都是广告,看不到主体内容;
• 弹窗广告过多;
• 影响阅读的浮动广告过多
• 点击链接时,出现预期之外的弹窗;
• 广告与内容混淆,不易区分;
衡量网页质量的维度——可访问性
用户希望快速地从搜索引擎获取到需要的信息,网络搜索引擎尽可能为用户提供能一次性直接获取所有信息的网页结果。网络搜索引擎认为不能直接获取到主体内容的网页对用户是不友好的,会视情况调整其展现机率。
网络搜索引擎会从正常打开、权限限制、有效性三方面判断网页的可访问性,对于可以正常访问的网页,可以参与正常排序;对于有权限限制的网页,再通过其它维度对其进行观察;对于失效网页,会降权其展现机制甚至从数据库中删除。
1、可正常访问的网页
无权限限制,能直接访问所有主体内容的网页。
2、有权限限制的网页
此类网页分为两种:打开权限和资源获取权限
1)打开权限:指打开网页都需要登录权限,没有权限完全无法看到具体内容,普通用户无法获取或获取成本很高,网络搜索引擎会降低其展现机率。不包括以登录为主要功能的网页。
2)资源获取权限:指获取网页主要内容,如文档、软件、视频等,需要权限或者需要安装插件才能获得完整内容。此时会分三种情况:
• 提供优质、正版内容的网站,由于内容建设成本很高,尽管查看全文或下载时需要权限或安装插件,但属于用户预期之内,网络搜索引擎也不认为权限行为对用户造成伤害,给予与正常可访问页面相同的对待。
• 对于一些非优质、非正版的资源,来自于用户转载甚至机器采集,本身成本较低,内容也不独特,用户获取资源还有权限限制——需要用户注册登录或者付费查看,网络搜索引擎会根据具体情况决定是否调整其展现。
• 还有一些视频、下载资源页,也许自身资源质量并不差,但需要安装非常冷门的插件才能正常访问,比如要求安装“xx大片播放器”,网络搜索引擎会怀疑其有恶意倾向。
实例参考:
示例
可访问性
说明
case 3.2-1
好
CNKI上的一篇论文,收费才能下载,但有版权,浏览体验好
case 3.2-2
好
优酷上一部新电影,需要付费才能观看,浏览体验好。
case 3.2-3
中
内容是来,但是需要登录才能看更多
case 3.2-4
差
入党申请书,本身就是转载的,网上到处都是,但这个页面仍然要求收费才能下载。
3、失效网页
往往指死链和主体资源失效的网页。网络搜索引擎认为这部分网页无法提供有价值信息,如果站点中此类网页过多,也会影响网络搜索引擎对其的收录和评级。建议站长对此类网页进行相应设置,并及时登录网络站长平台,使用死链提交工具告知网络搜索引擎。
失效网页包括但不仅限于:
• 404、403、503等网页;
• 程序代码报错网页;
• 打开后提示内容被删除,或因内容已不存在跳转到首页的网页;
• 被删除内容的论坛帖子,被删除的视频页面(多出现在UGC站点)
具体请参阅《网络搜索引擎网页质量白皮书》,望采纳!
Ⅷ 自己搭建一个搜索引擎系统,用来做实验研究,难度大吗该怎么做求指导
难度很大。如果只是简单的搜索,谁都做得到,但是就像你说的那些个算法和改进很难,即使你天马行空的想出一个解决问题的方法,你根本没有办法做压力测试,因为你不可能拥有向网络这样的平台给你测试。还是努力学好基本功,争取加入网络或者有搜索引擎的公司,去公司里去偷积水成长才比较快。网上有些教程,你可以网络一下,把外围的东西先了解一下,但是真正核心的东西,网络是不会放出来的。搜索引擎这东西和硬件有很大的关系。有什么样的硬件基础决定了什么样的算法。
Ⅸ Bai的搜索引擎是怎么做的,有什么算法
现在不必要再花更多的精力去研究网络搜索引擎的算法,注意新的搜索引擎的发展方向。中国医疗搜索引擎回答
Ⅹ 怎么学会搜索引擎的算法啊!做seo会引擎算法很重要吗
学会搜索引擎的算法很重要。seoer了解了搜索引擎的算法之后,就可以根据算法来优化自己的网站,使自己的网站更加符合搜索引擎的规则,让搜索引擎更容易收录自己的网站。至于如何学会搜索引擎的算法,这个需要你自己去研究搜索引擎的算法,搜索引擎的算法是在不断的调整中,要不过大体的一些规则,你可以从一些书籍
论坛中可以学到。希望对你有帮助,想了解跟多的可以很我交流。