一 : 浅析搜索引擎对网页文本分词的原理
对于SEO人员来说,自己工作的主要目标就是搜索引擎,所以深刻理解搜索引擎运行机制有助于我们针对搜索引擎进行优化,这就相当于两国交兵,必须要知道对方的虚实,再分析自己的优势,然后才能够一举进兵消灭对方,如果你还不知道对方的虚实,别人以逸待劳,那你失败是肯定的了!而在分析搜索引擎方面,知道其运行机制和分词技术是非常重要的一环!下面就把自己的浅见拿出来和广大站长朋友们分享一下!
搜索引擎工作的第一步:提取页面文字
首先就是抓取页面的文字,一般而言搜索引擎会把相关关键词的对应文字提取出来,还有就是meta标签等等,还有就是关键词和描述以及图片的ATL属性等等,这个ALT属性是需要用户把鼠标对应到图片上才能够看到,另外还有就是网页的相关文本,所以很多FLASH网站在搜索引擎优化方面就会吃很多亏,因为没有很多的文本,而且搜索引擎也不会抓取flash源代码!所以很多做flash网站优化的基本上会再编一套源码程序,让相关的文字和内容对应上,这样才能够被搜索引擎识别!
搜索引擎工作的第二步:中文分词技术
当搜索引擎把文字抓取之后,接下来的工作就是将这些文字进行分词,讲一句话分解成一个一个的短语,比如齐天大圣孙悟空这个短语,就会被分成齐天大圣和孙悟空两个单词,还比如:杨柳如是冷月这个词,我们可以通过图示一下看看这百度和谷歌的分词区别!
这两个搜索结果是不同的,谷歌更倾向于将柳如是当成一个名词,所以在柳如是贴吧变成了第一个匹配的!而对于百度来说,就直接把这个杨柳如是冷月这个词分别变成了杨柳,如是和冷月了,所以有关柳如是贴吧却没有出现在首页上,为什么会出现这么明显的区别呢?关键是谷歌没有一个专有的词典,所以匹配方式会有一些区别,我们要针对不同搜索引擎进行关键词优化,在内容上要尽量的靠近关键词,而不能够让关键词和内容割裂开来,这样关键词的排名就很难上去了!
搜索引擎工作的第二步:匹配技术
一:正向匹配,上面的杨柳如是冷月就是正向匹配,这种匹配方式有助于消除歧义,让搜索出来的结果更加准确,而不会将杨柳如是,变成柳如是了!
二:逆向匹配,这是一种从后往前匹配的方法。
三:最大化匹配,比如把美利坚合众国是自由的,最大匹配就成了美利坚合众国,自由!
四:最小化匹配,依然拿美利坚合众国是自由的,最小匹配就成了美,利坚,合众,国,自由了,而在搜索引擎实际分词过程中,会将这几种匹配方式进行综合的运用,不会只会使用其中的一种,搜索引擎的分词技术最终的目的就只有两点,我们要奔着这两点来进行搜索引擎优化就能够有助于提升网站的排名!其一是通过各种匹配的技巧来消除文本中的歧义,让搜索的词出来的内容更加的准确和完整!其二就是通过各种匹配方式将一些人名,地名和机构名以及一些从没有登陆的词比如口头禅,流行语等等进行统计,然后将统计的结果和用户的想要了解的内容进行不同方式的匹配,从而让用户获得自己想要的内容!
希望上面的介绍能够帮助大家理解搜索引擎运营机制,并且对中文分词有一个初步的了解,其实分词技术还有很多细节,大家可以在优化过程中不断的总结,那么就一定能够获得更好的关键词,并且尽快的把自己的网站优化到前面!来源:www.hhxjt.comusb电视棒 原创A5首发,转载请保留。
二 : 白帽SEO之搜索引擎工作的基础流程与原理
搜索引擎最重要的是什么?有人会说是查询结果的准确性,有人会说是查询结果的丰富性,但其实这些都不是搜索引擎最最致命的地方。对于搜索引擎来说,最最致命的是查询时间。试想一下,如果你在百度界面上查询一个关键词,结果需要5分钟才能将你的查询结果反馈给你,那结果必然是你很快的舍弃掉百度。
搜索引擎为了满足对速度苛刻的要求(现在商业的搜索引擎的查询时间单位都是微秒数量级的),所以采用缓存支持查询需求的方式,也就是说我们在查询搜索时所得到的结果并不是及时的,而是在其服务器已经缓存好了的结果。那么搜索引擎工作的大体流程是什么样子呢?我们可以理解为三段式。本文仅仅是对着三段工作流程进行大体上的讲解与综述,其中一些详细的技术细节将会用其它的文章进行单独的讲解。
一.网页搜集。
网页搜集,其实就是大家常说的蜘蛛抓取网页。那么对于蜘蛛(google称之为机器人)来说,他们感兴趣的页面分为三类:
1.蜘蛛从未抓去过的新页面。
2.蜘蛛抓去过,但页面内容有改动的页面。
3.蜘蛛抓取过,但现在已删除了的页面。
那么如何行之有效的发现这三类页面并进行抓取,就是spider程序设计的初衷与目的。那么这里就涉及到一个问题,蜘蛛抓取的起始点。
每一位站长只要你的网站没有被严重降权,那么通过网站后台的服务器,你都可以发现勤劳的蜘蛛光顾你的站点,但是你们有没有想过从编写程序的角度上来说,蜘蛛是怎么来的呢?针对于此,各方有各方的观点。有一种说法,说蜘蛛的抓取是从种子站(或叫高权重站),依照权重由高至低逐层出发的。另一种说法蜘蛛爬在URL集合中是没有明显先后顺序的,搜索引擎会根据你网站内容更新的规律,自动计算出何时是爬取你网站的最佳时机,然后进行抓取。
其实对于不同的搜索引擎,其抓取出发点定然会有所区别,针对于百度,Mr.Zhao较为倾向于后者。在百度官方博客发布的《索引页链接补全机制的一种办法》(地址:http://stblog.baidu-tech.com/?p=2057)一文中,其明确指出“spider会尽量探测网页的发布周期,以合理的频率来检查网页”,由此我们可以推断,在百度的索引库中,针对每个URL集合,其都计算出适合其的抓取时间以及一系列参数,然后对相应站点进行抓取。
在这里,我要说明一下,就是针对百度来说,site的数值并非是蜘蛛已抓取你页面的数值。比如site:www.***.com,所得出的数值并不是大家常说的百度收录数值,想查询具体的百度收录量应该在百度提供的站长工具里查询索引数量。那么site是什么?这个我会在今后的文章中为大家讲解。
那么蜘蛛如何发现新链接呢?其依靠的就是超链接。我们可以把所有的互联网看成一个有向集合的聚集体,蜘蛛由起始的URL集合A沿着网页中超链接开始不停的发现新页面。在这个过程中,每发现新的URL都会与集合A中已存的进行比对,若是新的URL,则加入集合A中,若是已在集合A中存在,则丢弃掉。蜘蛛对一个站点的遍历抓取策略分为两种,一种是深度优先,另一种就是宽度优先。但是如果是百度这类商业搜索引擎,其遍历策略则可能是某种更加复杂的规则,例如涉及到域名本身的权重系数、涉及到百度本身服务器矩阵分布等。
二.预处理。
预处理是搜索引擎最复杂的部分,基本上大部分排名算法都是在预处理这个环节生效。那么搜索引擎在预处理这个环节,针对数据主要进行以下几步处理:
1.提取关键词。
蜘蛛抓取到的页面与我们在浏览器中查看的源码是一样的,通常代码杂乱无章,而且其中还有很多与页面主要内容是无关的。由此,搜索引擎需要做三件事情:代码去噪。去除掉网页中所有的代码,仅剩下文本文字。②去除非正文关键词。例如页面上的导航栏以及其它不同页面共享的公共区域的关键词。③去除停用词。停用词是指没有具体意义的词汇,例如“的”“在”等。
当搜索引擎得到这篇网页的关键词后,会用自身的分词系统,将此文分成一个分词列表,然后储存在数据库中,并与此文的URL进行一一对应。下面我举例说明。
假如蜘蛛爬取的页面的URL是,而搜索引擎在此页面经过上述操作后提取到的关键词集合为p,且p是由关键词p1,p2,……,pn组成,则在百度数据库中,其相互间的关系是一一对应,如下图。
2.消除重复与转载网页。
每个搜索引擎其识别重复页面的算法均不相同,但是其中Mr.Zhao认为,如果将消重算法理解为由100个元素组成,那么所有的搜索引擎恐怕其80个元素都是完全一样的。而另外20个元素,则是根据不同的搜索引擎针对seo的态度不同,而专门设立的对应策略。本文仅对搜索引擎大体流程进行初步讲解,具体数学模型不多做讲解。
3.重要信息分析。
在进行代码除噪的过程中,搜索引擎并非简单的将其去除掉而已,而是充分利用网页代码(例如H标签、strong标签)、关键词密度、内链锚文本等方式分析出此网页中最重要的词组。
4.网页重要度分析。
通过指向该网页的外链锚文本所传递的权重数值,来为此网页确定一个权重数值,同时结合上述的“重要信息分析”,从而确立此网页的关键词集合p中每一个关键词所具备的排名系数。
5.倒排文件。
正如上文所说,用户在查询时所得到的查询结果并非是及时的,而是在搜索引擎的缓存区已经大体排好的,当然搜索引擎不会未卜先知,他不会知道用户会查询哪些关键词,但是他可以建立一个关键词词库,而当其处理用户查询请求的时候,会将其请求按照词库进行分词。那么这样下来,搜索引擎就可以在用户产生查询行为之前,将词库中的每一个关键词其对应的URL排名先行计算好,这样就大大节省了处理查询的时间了。
简单来说,搜索引擎用控制器来控制蜘蛛爬取,然后将URL集与原始数据库进行保存,保存之后再用索引器控制每个关键词与URL之间的对应关系,并将其保存在索引数据库中。
下面我们来举例说明。
假若页面被切词成p={p1,p2,p3,……,pn},则其在索引数据库中由下图方式体现。
上图是为了方便大家便于理解而做出来的,索引数据库实际上是搜索引擎中对性能要求最高的数据库,因为里面所有因素都会受到算法影响,所以实际上的索引数据库我觉得应该是由多维数组所组成的较为复杂的索引表,但其主要体现的大体作用与上图相同。
三、查询服务。
查询服务顾名思义,就是处理用户在搜索界面的查询请求。搜索引擎构建检索器,然后分三步来处理请求。
1.根据查询方式与关键词进行切词。
首先先把用户搜索的关键词切分为一个关键词序列,我们暂时用q来表示,则用户搜索的关键词q被切分为q={q1,q2,q3,……,qn}。
然后再根据用户查询方式,例如是所有词连在一起,还是中间有空格等,以及根据q中不同关键词的词性,来确定所需查询词中每一个词在查询结果的展示上所占有的重要性。
2.搜索结果排序。
我们有了搜索词集合q,q中每个关键词所对应的URL排序——索引库,同时也根据用户的查询方式与词性计算出每个关键词在查询结果的展示上所占有的重要,那么只需要进行一点综合性的排序算法,搜索结果就出来了。
3.展示搜索结果与文档摘要。
当有了搜索结果后,搜索引擎就会将搜索结果展示在用户阅览的界面上以供用户使用。
在这里,大家可以思考两个个问题。
大家在搜索界面中经常发现百度展示的摘要是用户搜索词周围的,如果我不仅仅只看第一页,多往后翻一些页,会看到有些结果由于其目标页面本身并未完全包含搜索词,而在百度提取的摘要中标红词仅是部分搜索词,那么我们可以这样理解,百度在搜索词不被完全包含的情况下,是不是应该优先展现在分词结果中被百度认为较为重要的词呢?那么从这些搜索结果中我们是不是就可以看出百度分词算法的部分端倪呢?
②有时候页面中会多次出现搜索词,而百度搜索结果页面中在网站摘要部分仅会显示部分,通常这么部分是连续的,那我们是不是可以理解在摘要部分,百度会优先展示页面中它认为与对此搜索词最重要的部分呢?那么由此我们是不是可以揣度出百度针对页面除噪后对不同部分赋予权重的算法呢?
这两个问题仁者见仁智者见智,做SEO的朋友们自己去探索与摸索吧,Mr.Zhao不敢在此无人子弟。
四、现今百度的流程漏洞。
请原谅我用流程漏洞来形容这个模块,但我不得不说,在如今点击器横行的天下,我觉得说是漏洞无可厚非。
那就是除了上面三个大环节外,百度还构建了用户行为模块,来影响原始数据库与索引库。而影响原始数据库的,是百度的快照投诉,主要处理互联网暴利的一些行为,这点无可厚非。而影响索引库的,是用户的点击行为,这个设计本身也无可厚非,但百度算法的不成熟,导致了点击器作弊猖獗。
百度的用户行为分析模块很简单,除了自身投诉的提交入口外,就是搜集用户在搜索界面的点击行为,如果此页面结果被大部分用户阅览,但没有产生点击,用户居然大部分选择点击第二页甚至更后面的页面,则此现象就会被百度工程师们所知道,则会根据这方面来微调算法。如今百度针对不同行业,其算法早已不同了。
如果前两页内某个搜索界面被大量用户选择点击,则通常会在24小时候,这个搜索结果被大幅前提,甚至会被提升至第一名。
五、搜索引擎大体流程图(加上用户行为分析器)
以上就是我所对搜索引擎工作的基础流程与原理的理解。
最后我想说广大的SEO从业者们应该已经发现无论是百度还是谷歌或者其它的商业搜索引擎,他们都会要求seoer们不要去在意算法、不要去在意搜索引擎,而是去多关注用户体验。这里我们可以理解成一个比喻,搜索引擎是买西瓜的人,而SEO们是种西瓜的人,买西瓜的人要求我们这些种西瓜的人不要关心他们挑选西瓜的标准,而是多多在意怎么去种出好西瓜,而对于什么样的西瓜是他们需要的好西瓜,他们又往往用一些模糊的概念掩盖过去。诚然,这样搜索引擎得到的结果将会多样化,他们可以在挑选结果时有更多的选择,能够最大限度的维护这些商业搜索引擎自身的利益,但是请其也不要忘记,我们这些种西瓜的也要有口饭吃。
Mr.Zhao始终坚持白帽SEO,深入研究UE,做对用户有意义的站。但与此同时,我也坚信身为seoer,我们还应该对算法有及时了解,以便我们做出的站在符合用户口味的时候,更能在搜索引擎中得到良好的展现,因为毕竟seoer也是人,也希望过得好一点。今后我将在其它的文章中逐步剖析搜索引擎的各个环节,并发表在我博客“搜索引擎原理”的栏目下,希望对大家有所帮助。
本文首发Mr.Zhao的博客: 转载请注明。
三 : 搜索引擎的工作原理及基本的优化思路
一、搜索引擎的工作原理
Seo,翻译成中文就是搜索引擎优化。做seo之前得先了解一下搜索引擎工作的一些基本原理。我们要做的工作就是将自己网站做成符合搜索引擎搜索习惯,提高搜索引擎对网站的友好性,让引擎为网站带来流量。搜索引擎的算法除了极少数的内部工作人员之外,没有任何人能知道他们的算法,我们能做的就是测试,向搜索引擎输入一些搜索指令,看出来的结果是什么,从而推断出它的一些基本工作原理来,研究搜索引擎优化实际上是对搜索引擎工作过程的逆向推理。因此,学习搜索引擎优化应该从最基本的搜索引擎的工作原理开始。
搜索引擎基本工作原理为:抓取,索引,排序。
抓取,首先搜索引擎设定了一个中文称之为“蜘蛛”(或机器人)的程序,这个“蜘蛛”会沿着链接路径到各个它能去到的网站去抓取一些网页来,存进搜索引擎的数据库,对一些它感觉不错的网页可能还会来看看是否有更新资料等情况。索引,搜索引擎设定了一个分析程序对收集回来的网页进行分析,包括网站的url,网站的标签(标题标签、关键词标签、描述标签)、和内容编码等详细信息,然后根据设定的一个工作程序去计算他们进行分类和分析内容对某些字词的相关性,然后存放到数据库中。排序,当用户在搜索引擎输入搜索指令时,就会对指令进行一个判断然后从数据库中找出相应分类的网页再按他们的相关性重要性进行一个排序。
搜索引擎的基本工作原理就是这样。
二、站内优化
了解了搜索引擎的一些基本工作原理后,就要对其进行一些细化的分析;
1、合理简单的标题和标题和对内容的相关性,很多人会将标题写得非常长,这个其实对搜索引擎来说是很不好的,搜索引擎很难判断出网页对用户的搜索指令的相关度有多高。打个比方,一个顾客想买一副近视眼镜,她到街上去,看到招牌上写的有某某眼镜店的,肯定就会很大方的走进去咨询购买。如果店里的招牌写的是本店有眼镜、香烟、五金、洗发水等商品,价格优惠,欢迎选购。那这个顾客就不一定进去了。
2、广告以及外部信息采取调用,在网站优化的过程中,不可避免的要在自己的网站上引用一些外部的资源或者广告,但是直接添加到代码当中会直接性的导致代码过于繁多,会影响到蜘蛛访问的速度,进而造成一些不必要的影响,所以说我们可以采用JS调用等方法来进行解决。还有就是不要把网站装饰的太花哨,尽量简洁一些,这样不仅仅做好用户体验并且对搜索引擎也是极其友好的。
3、内容为王,外链为皇。seo其实没那么复杂,是我们将它想象的太复杂了。seo最基本最重要的就是两点,一个是内容,一个是外链。这个简单的原理放到一个企业上也是适用的,内容就等于是产品的质量,质量是一个企业存在的根本,不管是有形产品还是无形产品,所以我们做网站的时候还是要将自己的网站内容先做好;外链就相当于是广告,一个企业的产品质量再好,有谁知道呢,得靠宣传,宣传了人家才知道你的产品有多好,那种酒香不怕巷子深的时代早已过去了。我们在每个网站上去发自己的外链,其实说白了就是去做广告,这个广告对引擎有用对用户也有用,所以我们也要建设好网站的一些外部链接。
4、图片属性问题,网站不要放太多的flash等图片,因为搜索引擎目前对图片的属性是无法识别的,引擎对图片属性的识别的唯一方法就是通过alt对图片描述来判断图片。
5、合理有效的做好站内链接,超链接链接分url链接和苗文本链接,站内的一些页面,出现了其他页面相关的关键词时,可以在这个关键词上添加一些超链接指向相关的页面,从而增加指向页面的权重,使该页面在引擎索引时得到一个更好的排名,因为你添加了一个超链接就等于是向该页面投了信任的一票。
好了,seo优化没有别人说得那么神,seo就是将一些简单的事情重复做,坚持做就会成功的,记住:seo没有捷径,贵在执行。
本文首发www.xujirenblog.com 转载请注明出处,谢谢
本文标题:搜索引擎基本工作原理-浅析搜索引擎对网页文本分词的原理61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1