<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>标点符 &#187; 搜索优化</title>
	<atom:link href="http://www.biaodianfu.com/category/sem/seo/feed" rel="self" type="application/rss+xml" />
	<link>http://www.biaodianfu.com</link>
	<description>编译自己的互联网生活</description>
	<lastBuildDate>Wed, 08 Feb 2012 08:42:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WEB超链分析算法研究</title>
		<link>http://www.biaodianfu.com/research-on-algorithms-analyzing-hyperlinks.html</link>
		<comments>http://www.biaodianfu.com/research-on-algorithms-analyzing-hyperlinks.html#comments</comments>
		<pubDate>Wed, 03 Aug 2011 08:15:17 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=4129</guid>
		<description><![CDATA[万维网WWW（World Wide Web）是一个巨大的，分布全球的信息服务中心，正在以飞快的速度扩展。1998年WWW上拥有约3.5亿个文档[14]，每天增加约1百万的文档[6]，不到9个月的时间文档总数就会翻一番[14]。WEB上的文档和传统的文档比较，有很多新的特点，它们是分布的，异构的，无结构或者半结构的，这就对传统信息检索技术提出了新的挑战。 传统的WEB搜索引擎大多数是基于关键字匹配的，返回的结果是包含查询项的文档，也有基于目录分类的搜索引擎。这些搜索引擎的结果并不令人满意。有些站点有意提高关键字出现的频率来提高自身在搜索引擎中的重要性，破坏搜索引擎结果的客观性和准确性。另外，有些重要的网页并不包含查询项。搜索引擎的分类目录也不可能把所有的分类考虑全面，并且目录大多靠人工维护，主观性强，费用高，更新速度慢[2]。 最近几年，许多研究者发现，WWW上超链结构是个非常丰富和重要的资源，如果能够充分利用的话，可以极大的提高检索结果的质量。基于这种超链分析的思想，Sergey Brin和Lawrence Page在1998年提出了PageRank算法[1] ，同年J. Kleinberg提出了HITS算法[5]，其它一些学者也相继提出了另外的链接分析算法，如SALSA，PHITS，Bayesian等算法。这些算法有的已经在实际的系统中实现和使用，并且取得了良好的效果。 文章的第2部分按照时间顺序详细剖析了各种链接分析算法，对不同的算法进行了比较。第3部分对这些算法做了评价和总结，指出了存在的问题和改进方向。 一、WEB超链分析算法 1 Google和PageRank算法 搜索引擎Google最初是斯坦福大学的博士研究生Sergey Brin和Lawrence Page实现的一个原型系统[2]，现在已经发展成为WWW上最好的搜索引擎之一。Google的体系结构类似于传统的搜索引擎，它与传统的搜索引擎最大的不同处在于对网页进行了基于权威值的排序处理，使最重要的网页出现在结果的最前面。Google通过PageRank元算法计算出网页的PageRank值，从而决定网页在结果集中的出现位置，PageRank值越高的网页，在结果中出现的位置越前。 1 .1 PageRank算法 PageRank算法基于下面2个前提： 前提1：一个网页被多次引用，则它可能是很重要的；一个网页虽然没有被多次引用，但是被重要的网页引用，则它也可能是很重要的；一个网页的重要性被平均的传递到它所引用的网页。这种重要的网页称为权威（Authoritive）网页。 前提2：假定用户一开始随机的访问网页集合中的一个网页，以后跟随网页的向外链接向前浏览网页，不回退浏览，浏览下一个网页的概率就是被浏览网页的PageRank值。 简单PageRank算法描述如下：u是一个网页，F(u)是u指向的网页集合， B(u)是指向u的网页集合， N(u)是u指向外的链接数，显然N(u) =&#124; F(u) &#124; ，c是一个用于规范化的因子（Google通常取0.85），（这种表示法也适用于以后介绍的算法）则u的Rank值计算如下： 这就是算法的形式化描述，也可以用矩阵来描述此算法，设A为一个方阵，行和列对应网页集的网页。如果网页i有指向网页j的一个链接，则Ai,j=1/Ni，否则Ai,j＝0。设V是对应网页集的一个向量，有V=cAV，V为A的特征根为c的特征向量。实际上，只需要求出最大特征根的特征向量，就是网页集对应的最终PageRank值，这可以用迭代方法计算。 如果有2个相互指向的网页a，b,他们不指向其它任何网页，另外有某个网页c，指向a，b中的某一个，比如a，那么在迭代计算中，a，b的rank值不分布出去而不断的累计。如下图： 为了解决这个问题，Sergey Brin和Lawrence Page改进了算法，引入了衰退因子E(u)，E(U)是对应网页集的某一向量，对应rank的初始值，算法改进如下： 其中，对应的矩阵形式为V’=c(AV’+E)。 另外还有一些特殊的链接，指向的网页没有向外的链接。PageRank计算时，把这种链接首先除去，等计算完以后再加入，这对原来计算出的网页的rank值影响是很小的。 Pagerank算法除了对搜索结果进行排序外，还可以应用到其它方面，如估算网络流量，向后链接的预测器，为用户导航等[2]。 1.2 算法的一些问题 Google是结合文本的方法来实现PageRank算法的[2]，所以只返回包含查询项的网页，然后根据网页的rank值对搜索到的结果进行排序，把rank值最高的网页放置到最前面，但是如果最重要的网页不在结果网页集中，PageRank算法就无能为力了，比如在 Google中查询search engines，像Google，Yahoo，Altivisa等都是很重要的，但是Google返回的结果中这些网页并没有出现。 同样的查询例子也可以说明另外一个问题，Google，Yahoo是WWW上最受欢迎的网页，如果出现在查询项car的结果集中，一定会有很多网页指向它们，就会得到较高的rank值， 事实上他们与car不太相关。 在PageRank算法的基础上，其它的研究者提出了改进的PageRank算法。华盛顿大学计算机科学与工程系的Matthew Richardson和Pedro Dominggos提出了结合链接和内容信息的PageRank算法，去除了PageRank算法需要的前提2，增加考虑了用户从一个网页直接跳转到非直接相邻的但是内容相关的另外一个网页的情况[3]。斯坦福大学计算机科学系Taher Haveliwala提出了主题敏感（Topic-sensitive）PageRank算法[4]。斯坦福大学计算机科学系Arvind Arasu等经过试验表明，PageRank算法计算效率还可以得到很大的提高[22]。 2  HITS算法及其变种 PageRank算法中对于向外链接的权值贡献是平均的，也就是不考虑不同链接的重要性。而WEB的链接具有以下特征： 有些链接具有注释性，也有些链接是起导航或广告作用。有注释性的链接才用于权威判断。 基于商业或竞争因素考虑，很少有WEB网页指向其竞争领域的权威网页。 权威网页很少具有显式的描述，比如Google主页不会明确给出WEB搜索引擎之类的描述信息。 可见平均的分布权值不符合链接的实际情况[17]。J. [...]]]></description>
			<content:encoded><![CDATA[<p>万维网WWW（World Wide Web）是一个巨大的，分布全球的信息服务中心，正在以飞快的速度扩展。1998年WWW上拥有约3.5亿个文档<sup>[14]</sup>，每天增加约1百万的文档<sup>[6]</sup>，不到9个月的时间文档总数就会翻一番<sup>[14]</sup>。WEB上的文档和传统的文档比较，有很多新的特点，它们是分布的，异构的，无结构或者半结构的，这就对传统信息检索技术提出了新的挑战。</p>
<p>传统的WEB搜索引擎大多数是基于关键字匹配的，返回的结果是包含查询项的文档，也有基于目录分类的搜索引擎。这些搜索引擎的结果并不令人满意。有些站点有意提高关键字出现的频率来提高自身在搜索引擎中的重要性，破坏搜索引擎结果的客观性和准确性。另外，有些重要的网页并不包含查询项。搜索引擎的分类目录也不可能把所有的分类考虑全面，并且目录大多靠人工维护，主观性强，费用高，更新速度慢<sup>[2]</sup>。</p>
<p>最近几年，许多研究者发现，WWW上超链结构是个非常丰富和重要的资源，如果能够充分利用的话，可以极大的提高检索结果的质量。基于这种超链分析的思想，Sergey Brin和Lawrence Page在1998年提出了PageRank算法<sup>[1] </sup>，同年J. Kleinberg提出了HITS算法<sup>[5]</sup>，其它一些学者也相继提出了另外的链接分析算法，如SALSA，PHITS，Bayesian等算法。这些算法有的已经在实际的系统中实现和使用，并且取得了良好的效果。</p>
<p>文章的第2部分按照时间顺序详细剖析了各种链接分析算法，对不同的算法进行了比较。第3部分对这些算法做了评价和总结，指出了存在的问题和改进方向。</p>
<p><strong>一、WEB超链分析算法</strong></p>
<p><strong>1 Google和PageRank算法</strong></p>
<p>搜索引擎Google最初是斯坦福大学的博士研究生Sergey Brin和Lawrence Page实现的一个原型系统<sup>[2]</sup>，现在已经发展成为WWW上最好的搜索引擎之一。Google的体系结构类似于传统的搜索引擎，它与传统的搜索引擎最大的不同处在于对网页进行了基于权威值的排序处理，使最重要的网页出现在结果的最前面。Google通过PageRank元算法计算出网页的PageRank值，从而决定网页在结果集中的出现位置，PageRank值越高的网页，在结果中出现的位置越前。</p>
<p><strong>1 .1 PageRank算法</strong></p>
<p>PageRank算法基于下面2个前提：</p>
<ul>
<li>前提1：一个网页被多次引用，则它可能是很重要的；一个网页虽然没有被多次引用，但是被重要的网页引用，则它也可能是很重要的；一个网页的重要性被平均的传递到它所引用的网页。这种重要的网页称为权威（Authoritive）网页。</li>
<li>前提2：假定用户一开始随机的访问网页集合中的一个网页，以后跟随网页的向外链接向前浏览网页，不回退浏览，浏览下一个网页的概率就是被浏览网页的PageRank值。</li>
</ul>
<p>简单PageRank算法描述如下：u是一个网页，F(u)是u指向的网页集合， B(u)是指向u的网页集合， N(u)是u指向外的链接数，显然N(u) =| F(u) | ，c是一个用于规范化的因子（Google通常取0.85），（这种表示法也适用于以后介绍的算法）则u的Rank值计算如下：</p>
<p><img class="alignnone size-full wp-image-4130" title="rank" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/rank.png" alt="" width="164" height="35" /></p>
<p>这就是算法的形式化描述，也可以用矩阵来描述此算法，设A为一个方阵，行和列对应网页集的网页。如果网页i有指向网页j的一个链接，则Ai,j=1/Ni，否则Ai,j＝0。设V是对应网页集的一个向量，有V=cAV，V为A的特征根为c的特征向量。实际上，只需要求出最大特征根的特征向量，就是网页集对应的最终PageRank值，这可以用迭代方法计算。</p>
<p>如果有2个相互指向的网页a，b,他们不指向其它任何网页，另外有某个网页c，指向a，b中的某一个，比如a，那么在迭代计算中，a，b的rank值不分布出去而不断的累计。如下图：</p>
<p><img class="alignnone size-full wp-image-4131" title="xunhuan" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/xunhuan.png" alt="" width="437" height="39" /></p>
<p>为了解决这个问题，Sergey Brin和Lawrence Page改进了算法，引入了衰退因子E(u)，E(U)是对应网页集的某一向量，对应rank的初始值，算法改进如下：</p>
<p><img class="alignnone size-full wp-image-4138" title="ru" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/ru.png" alt="" width="204" height="34" /></p>
<p>其中<img class="alignnone size-full wp-image-4139" title="r" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/r.png" alt="" width="80" height="17" />，对应的矩阵形式为V’=c(AV’+E)。</p>
<p>另外还有一些特殊的链接，指向的网页没有向外的链接。PageRank计算时，把这种链接首先除去，等计算完以后再加入，这对原来计算出的网页的rank值影响是很小的。</p>
<p>Pagerank算法除了对搜索结果进行排序外，还可以应用到其它方面，如估算网络流量，向后链接的预测器，为用户导航等<sup>[2]</sup>。</p>
<p><strong>1.</strong><strong>2 </strong><strong>算法的一些问题</strong></p>
<p>Google是结合文本的方法来实现PageRank算法的<sup>[2]</sup>，所以只返回包含查询项的网页，然后根据网页的rank值对搜索到的结果进行排序，把rank值最高的网页放置到最前面，但是如果最重要的网页不在结果网页集中，PageRank算法就无能为力了，比如在 Google中查询search engines，像Google，Yahoo，Altivisa等都是很重要的，但是Google返回的结果中这些网页并没有出现。 同样的查询例子也可以说明另外一个问题，Google，Yahoo是WWW上最受欢迎的网页，如果出现在查询项car的结果集中，一定会有很多网页指向它们，就会得到较高的rank值， 事实上他们与car不太相关。</p>
<p>在PageRank算法的基础上，其它的研究者提出了改进的PageRank算法。华盛顿大学计算机科学与工程系的Matthew Richardson和Pedro Dominggos提出了结合链接和内容信息的PageRank算法，去除了PageRank算法需要的前提2，增加考虑了用户从一个网页直接跳转到非直接相邻的但是内容相关的另外一个网页的情况<sup>[3]</sup>。斯坦福大学计算机科学系<strong>Taher Haveliwala</strong><strong>提出了主题敏感（</strong><strong>Topic-sensitive</strong><strong>）</strong><strong>PageRank</strong><strong>算法</strong><strong><sup>[4]</sup></strong><strong>。</strong>斯坦福大学计算机科学系Arvind Arasu等经过试验表明，PageRank算法计算效率还可以得到很大的提高<sup>[22]</sup>。</p>
<p><strong>2  HITS算法及其变种</strong></p>
<p>PageRank算法中对于向外链接的权值贡献是平均的，也就是不考虑不同链接的重要性。而WEB的链接具有以下特征：</p>
<ol>
<li>有些链接具有注释性，也有些链接是起导航或广告作用。有注释性的链接才用于权威判断。</li>
<li>基于商业或竞争因素考虑，很少有WEB网页指向其竞争领域的权威网页。</li>
<li>权威网页很少具有显式的描述，比如Google主页不会明确给出WEB搜索引擎之类的描述信息。</li>
</ol>
<p>可见平均的分布权值不符合链接的实际情况<sup>[17]</sup>。J. Kleinberg<sup>[5]</sup>提出的HITS算法中引入了另外一种网页，称为Hub网页，Hub网页是提供指向权威网页链接集合的WEB网页，它本身可能并不重要，或者说没有几个网页指向它，但是Hub网页确提供了指向就某个主题而言最为重要的站点的链接集合，比一个课程主页上的推荐参考文献列表。一般来说，好的Hub网页指向许多好的权威网页；好的权威网页是有许多好的Hub网页指向的WEB网页。这种Hub与Authoritive网页之间的相互加强关系，可用于权威网页的发现和WEB结构和资源的自动发现，这就是Hub/Authority方法的基本思想。</p>
<p><strong>2</strong><strong>.1 HITS</strong><strong>算法</strong></p>
<p>HITS（Hyperlink－Induced Topic Search）算法是利用Hub/Authority方法的搜索方法，算法如下：将查询q提交给传统的基于关键字匹配的搜索引擎．搜索引擎返回很多网页，从中取前n个网页作为根集(root set)，用S表示。S满足如下3个条件：</p>
<ol>
<li>S中网页数量相对较小</li>
<li>S中网页大多数是与查询q相关的网页</li>
<li>S中网页包含较多的权威网页。</li>
</ol>
<p>通过向S中加入被S引用的网页和引用S的网页将S扩展成一个更大的集合T．</p>
<p>以T中的Hub网页为顶点集Vl，以权威网页为顶点集V2，Vl中的网页到V2中的网页的超链接为边集E，形成一个二分有向图SG＝(V1，V2，E)。对V1中的任一个顶点v，用h(v)表示网页v的Hub值，对V2中的顶点u，用a(u)表示网页的Authority值。开始时h(v)＝a(u)＝1，对u执行I操作修改它的a(u)，对v执行O操作修改它的h(v)，然后规范化a（u），h（v），如此不断的重复计算下面的操作I，O，直到a（u），h（v）收敛。（证明此算法收敛可见 ）</p>
<p><img class="alignnone size-full wp-image-4140" title="io" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/io.png" alt="" width="204" height="75" /></p>
<p>每次迭代后需要对a(u),h(v)进行规范化处理：</p>
<p><img class="alignnone size-full wp-image-4141" title="ah" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/ah.png" alt="" width="166" height="105" /></p>
<p>式(1)反映了若一个网页由很多好的Hub指向，则其权威值会相应增加(即权威值增加为所有指向它的网页的现有Hub值之和)。式(2)反映了若一个网页指向许多好的权威页，则Hub值也会相应增加(即Hub值增加为该网页链接的所有网页的权威值之和)。</p>
<p>和PageRank算法一样，可以用矩阵形式来描述算法，这里省略不写。</p>
<p>HITS算法输出一组具有较大Hub值的网页和具有较大权威值的网页。</p>
<p><strong>2.2 HITS的问题</strong></p>
<p>HITS算法有以下几个问题：</p>
<p>实际应用中，由S生成T的时间开销是很昂贵的，需要下载和分析S中每个网页包含的所有链接，并且排除重复的链接。一般T比S大很多，由T生成有向图也很耗时。需要分别计算网页的A/H值，计算量比PageRank算法大。</p>
<p>有些时候，一主机A上的很多文档可能指向另外一台主机B上的某个文档，这就增加了A上文档的Hub值和B上文档的Authority，相反的情况也如此。HITS是假定某一文档的权威值是由不同的单个组织或者个人决定的，上述情况影响了A和B上文档的Hub和Authority值<sup>[7]</sup>。</p>
<p>网页中一些无关的链接影响A，H值的计算。在制作网页的时候，有些开发工具会自动的在网页上加入一些链接，这些链接大多是与查询主题无关的。同一个站点内的链接目的是为用户提供导航帮助，也与查询主题不甚无关，还有一些商业广告，赞助商和用于友情交换的链接，也会降低HITS算法的精度<sup>[8]</sup>。</p>
<p>HITS算法只计算主特征向量，也就是只能发现T集合中的主社区（Community），忽略了其它重要的社区<sup>[12]</sup>。事实上，其它社区可能也非常重要。</p>
<p>HITS算法最大的弱点是处理不好主题漂移问题（topic drift）<sup>[7,8]</sup>，也就是紧密链接TKC（Tightly-Knit Community Effect）现象<sup>[8]</sup>。如果在集合T中有少数与查询主题无关的网页，但是他们是紧密链接的，HITS算法的结果可能就是这些网页，因为HITS只能发现主社区，从而偏离了原来的查询主题。下面讨论的SALSA算法中解决了TKC问题。</p>
<p>用HITS进行窄主题查询时，可能产生主题泛化问题<sup>[5,9]</sup>，即扩展以后引入了比原来主题更重要的新的主题，新的主题可能与原始查询无关。泛化的原因是因为网页中包含不同主题的向外链接，而且新主题的链接具有更加的重要性。</p>
<p><strong>2.3  HITS的变种</strong></p>
<p>HITS算法遇到的问题，大多是因为HITS是纯粹的基于链接分析的算法，没有考虑文本内容，继J. Kleinberg提出HITS算法以后，很多研究者对HITS进行了改进，提出了许多HITS的变种算法，主要有：</p>
<p><strong>2.3.1  Monika R. Henzinger和Krishna Bharat对HITS的改进</strong></p>
<p>对于上述提到的HITS遇到的第2个问题，Monika R. Henzinger和Krishna Bharat在<sup>[7]</sup>中进行了改进。假定主机A上有k个网页指向主机B上的某个文档d，则A上的k个文档对B的Authority贡献值总共为1,每个文档贡献1/k，而不是HITS中的每个文档贡献1，总共贡献k。类似的，对于Hub值，假定主机A上某个文档t指向主机B上的m个文档，则B上m个文档对t的Hub值总共贡献1，每个文档贡献1/m。I，O操作改为如下</p>
<p><img class="alignnone size-full wp-image-4142" title="new_io" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/new_io.png" alt="" width="268" height="77" /></p>
<p>调整后的算法有效的解决了问题2，称之为imp算法。</p>
<p>在这基础上，Monika R. Henzinger和Krishna Bharat还引入了传统信息检索的内容分析技术来解决4和5，实际上也同时解决了问题3。具体方法如下，提取根集S中的每个文档的前1000个词语，串连起来作为查询主题Q，文档Dj和主题Q的相似度按如下公式计算：</p>
<p><img class="alignnone size-medium wp-image-4143" title="similarity" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/similarity-300x180.png" alt="" width="300" height="180" /></p>
<p>在S扩展到T后，计算每个文档的主题相似度，根据不同的阈值（threshold）进行刷选，可以选择所有文档相似度的中值，根集文档相似度的中值，最大文档相似度的分数，如1/10，作为阈值。根据不同阈值进行处理，删除不满足条件的文档，再运行imp算法计算文档的A/H值，这些算法分别称为med，startmed，maxby10。</p>
<p>在此改进的算法中，计算文档的相似度时间开销会很大。</p>
<p><strong>2</strong><strong>.3</strong><strong>.2  ARC</strong><strong>算法</strong></p>
<p>IBM Almaden研究中心的Clever工程组提出了ARC（Automatic Resource Compilation）算法，对原始的HITS做了改进，赋予网页集对应的连结矩阵初值时结合了链接的锚（anchor）文本，适应了不同的链接具有不同的权值的情况。</p>
<p>ARC算法与HITS的不同主要有以下3点：</p>
<ol>
<li>由根集S扩展为T时，HITS只扩展与根集中网页链接路径长度为1的网页，也就是只扩展直接与S相邻的网页，而ARC中把扩展的链接长度增加到2，扩展后的网页集称为增集（Augment Set）。</li>
<li>HITS算法中，每个链接对应的矩阵值设为1，实际上每个链接的重要性是不同的，ARC算法考虑了链接周围的文本来确定链接的重要性。考虑链接p－&gt;q，p中有若干链接标记，文本1&lt;a href=”q”&gt;锚文本&lt;/a&gt;文本2，设查询项t在文本1，锚文本，文本2，出现的次数为n（t），则w（p，q）＝1+n（t）。文本1和文本2的长度经过试验设为50字节<sup>[10]</sup>。构造矩阵W，如果有网页i－&gt;j ，Wi,j＝w（i，j），否则Wi,j＝0，H值设为1，Z为W的转置矩阵，迭代执行下面3个的操作：（1）A＝WH ;（2）H＝ZA ;3）规范化A，H。</li>
<li>ARC算法的目标是找到前15个最重要的网页，只需要A/H的前15个值相对大小保持稳定即可，不需要A/H整个收敛，这样2中迭代次数很小就能满足，<sup>[10]</sup>中指出迭代5次就可以，所以ARC算法有很高的计算效率，开销主要是在扩展根集上。</li>
</ol>
<p><strong>2.</strong><strong>3</strong><strong>.3 Hub</strong><strong>平均（Hub</strong><strong>－Averaging</strong><strong>－Kleinberg</strong><strong>）算法</strong></p>
<p>Allan Borodin等在<sup>[11]</sup>指出了一种现象，设有M＋1个Hub网页，M＋1个权威网页，前M个Hub指向第一个权威网页，第M＋1个Hub网页指向了所有M＋1个权威网页。显然根据HITS算法，第一个权威网页最重要，有最高的Authority值，这是我们希望的。但是，根据HITS，第M＋1个Hub网页有最高的Hub值，事实上，第M＋1个Hub网页既指向了权威值很高的第一个权威网页，同时也指向了其它权威值不高的网页，它的Hub值不应该比前M个网页的Hub值高。因此，Allan Borodin修改了HITS的O操作：</p>
<p><img class="alignnone size-full wp-image-4144" title="o" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/o.png" alt="" width="291" height="32" /></p>
<p>调整以后，仅指向权威值高的网页的Hub值比既指向权威值高又指向权威值低的网页的Hub值高，此算法称为Hub平均（Hub－Averaging－Kleinberg）算法。</p>
<p><strong>2</strong><strong>.3</strong><strong>.4 </strong><strong>阈值（Threshhold</strong><strong>—Kleinberg</strong><strong>）算法</strong></p>
<p>Allan Borodin等在<sup>[11]</sup>中同时提出了3种阈值控制的算法，分别是Hub阈值算法，Authority阈值算法，以及结合2者的全阈值算法。</p>
<p>计算网页p的Authority时候，不考虑指向它的所有网页Hub值对它的贡献，只考虑Hub值超过平均值的网页的贡献，这就是Hub阈值方法。</p>
<p>Authority阈值算法和Hub阈值方法类似，不考虑所有p指向的网页的Authority对p的Hub值贡献，只计算前K个权威网页对它Hub值的贡献，这是基于算法的目标是查找最重要的K个权威网页的前提。</p>
<p>同时使用Authority阈值算法和Hub阈值方法的算法，就是全阈值算法。</p>
<p><strong>3  SALSA</strong><strong>算法</strong></p>
<p>PageRank算法是基于用户随机的向前浏览网页的直觉知识，HITS算法考虑的是Authoritive网页和Hub网页之间的加强关系。实际应用中，用户大多数情况下是向前浏览网页，但是很多时候也会回退浏览网页。基于上述直觉知识，R. Lempel和S. Moran提出了SALSA（Stochastic Approach for Link-Structure Analysis）算法<sup>[8]</sup>，考虑了用户回退浏览网页的情况，保留了PageRank的随机漫游和HITS中把网页分为Authoritive和Hub的思想，取消了Authoritive和Hub之间的相互加强关系。</p>
<p>具体算法如下：</p>
<p>1．  和HITS算法的第一步一样，得到根集并且扩展为网页集合T，并除去孤立节点。</p>
<p>2．  从集合T构造无向图G’＝（Vh，Va，E）</p>
<p>V<sub>h</sub> = { s<sub>h</sub> |   s∈C and out-degree(s) &gt; 0 } ( G’的Hub边).</p>
<p>V<sub>a</sub> = { s<sub>a</sub> |   s∈C and in-degree(s) &gt; 0 } (G’的Authority边).</p>
<p>E= { (s<sub>h</sub> , r<sub>a</sub>) |  s－&gt;r   in T }</p>
<p>这就定义了2条链，Authority链和Hub链。</p>
<p>3．  定义2条马尔可夫链的变化矩阵，也是随机矩阵，分别是Hub矩阵H，Authority 矩阵A。</p>
<p><img class="alignnone size-full wp-image-4145" title="HA" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/HA.png" alt="" width="210" height="77" /></p>
<p>4．  求出矩阵H，A的主特征向量，就是对应的马尔可夫链的静态分布。</p>
<p>5．  A中值大的对应的网页就是所要找的重要网页。</p>
<p>SALSA算法没有HITS中相互加强的迭代过程，计算量远小于HITS。SALSA算法只考虑直接相邻的网页对自身A/H的影响，而HITS是计算整个网页集合T对自身AH的影响。</p>
<p>实际应用中，SALSA在扩展根集时忽略了很多无关的链接，比如</p>
<ol>
<li>同一站点内的链接，因为这些链接大多只起导航作用。</li>
<li>CGI 脚本链接。</li>
<li>广告和赞助商链接。</li>
</ol>
<p>试验结果表明，对于单主题查询java，SALSA有比HITS更精确的结果，对于多主题查询abortion，HITS的结果集中于主题的某个方面，而SALSA算法的结果覆盖了多个方面，也就是说，对于TKC现象，SALSA算法比HITS算法有更高的健壮性。</p>
<p><strong>3</strong><strong>.1  BFS</strong><strong>（Backword Forward Step</strong><strong>）算法</strong></p>
<p>SALSA算法计算网页的Authority值时，只考虑网页在直接相邻网页集中的受欢迎程度，忽略其它网页对它的影响。HITS算法考虑的是整个图的结构，特别的，经过n步以后，网页i的Authority的权重是 ， 为离开网页i的 的路径的数目，也就是说网页j&lt;&gt;i，对i的权值贡献等于从i到j的 路径的数量。如果从i到j包含有一个回路，那么j对i的贡献将会呈指数级增加，这并不是算法所希望的，因为回路可能不是与查询相关的。</p>
<p>因此，Allan Borodin等<sup>[11]</sup>提出了BFS（Backward Forward Step）算法，既是SALSA的扩展情况，也是HITS的限制情况。基本思想是，SALSA只考虑直接相邻网页的影响，BFS扩展到考虑路径长度为n的相邻网页的影响。在BFS中， 被指定表示能通过 路径到达i的结点的集合，这样j对i的贡献依赖就与j到i的距离。BFS采用指数级降低权值的方式，结点i的权值计算公式如下：</p>
<p><img class="alignnone size-medium wp-image-4146" title="ai" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/ai-300x20.png" alt="" width="300" height="20" /></p>
<p>算法从结点i开始，第一步向后访问，然后继续向前或者向后访问邻居，每一步遇到新的结点加入权值计算，结点只有在第一次被访问时加入进去计算。</p>
<p><strong>4  PHITS</strong></p>
<p>D. Cohn and H. Chang提出了计算Hub和Authority的统计算法PHITS（Probabilistic analogue of the HITS）<sup>[12]</sup>。他们提出了一个概率模型，在这个模型里面一个潜在的因子或者主题z影响了文档d到文档c的一个链接，他们进一步假定，给定因子z，文档c的条件分布P(c|z)存在，并且给定文档d，因子z的条件分布P（z|d）也存在。</p>
<p><img class="alignnone size-medium wp-image-4147" title="pdc" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/pdc-300x54.png" alt="" width="300" height="54" /></p>
<p>根据这些条件分布，提出了一个可能性函数（likelihood function）L,</p>
<p><img class="alignnone size-full wp-image-4148" title="l" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/l.png" alt="" width="104" height="42" /></p>
<p>M是对应的连结矩阵</p>
<p>然后，PHITS算法使用Dempster等提出的EM算法<sup>[20]</sup>分配未知的条件概率使得L最大化，也就是最好的解释了网页之间的链接关系。算法要求因子z的数目事先给定。Allan Borodin指出，PHITS中使用的EM算法可能会收敛于局部的最大化，而不是真正的全局最大化<sup>[11]</sup>。D. Cohn和T. Hofmann还提出了结合文档内容和超链接的概率模型<sup>[13]</sup>。</p>
<p><strong>5   </strong><strong>贝叶斯算法</strong></p>
<p>Allan Borodin等提出了完全的贝叶斯统计方法来确定Hub和Authoritive网页<sup>[11]</sup>。假定有M个Hub网页和N个Authority网页，可以是相同的集合。每个Hub网页有一个未知的实数参数ei，表示拥有超链的一般趋势，一个未知的非负参数hi，表示拥有指向Authority网页的链接的趋势。每个Authoritive网页j，有一个未知的非负参数aj，表示j的Authority的级别。</p>
<p>统计模型如下，Hub网页i到Authority网页j的链接的先验概率如下给定：</p>
<p>P（i，j）＝Exp（iajhi＋iei）/（1＋Exp（ajhii＋ei））</p>
<p>Hub网页i到Authority网页j没有链接时，P（i，j）＝1/（1＋Exp（ajhi＋ei））</p>
<p>从以上公式可以看出，如果ei很大（表示Hub网页i有很高的趋势指向任何一个网页），或者hi和aj都很大（表示i是个高质量Hub，j是个高质量的Authority网页），那么i－&gt;j的链接的概率就比较大。</p>
<p>为了符合贝叶斯统计模型的规范，要给2M＋N个未知参数（ei，hi，aj）指定先验分布，这些分布应该是一般化的，不提供信息的，不依赖于被观察数据的，对结果只能产生很小影响的。Allan Borodin等在中指定ei满足正太分布N（μ，δ2 ）,均值μ＝0，标准方差δ＝10，指定hi和aj满足Exp（1）分布，即x&gt;=0，P(hi &gt;=x)＝P( aj&gt;=x)＝Exp（－x）。</p>
<p>接下来就是标准的贝叶斯方法处理和HITS中求矩阵特征根的运算。</p>
<p><strong>5.</strong><strong>1 </strong><strong>简化的贝叶斯算法</strong></p>
<p>Allan Borodin同时提出了简化的上述贝叶斯算法，完全除去了参数 ，也就不再需要正太分布的参数μ，δ了。计算公式变为：P（i，j）＝ ajhi/（1＋ ajhi），Hub网页到Authority网页j没有链接时，P（i，j）＝1/(1＋ajhi )。</p>
<p>Allan Borodin 指出简化的贝叶斯产生的效果与SALSA算法的结果非常类似。</p>
<p><strong>6 Reputation</strong></p>
<p>上面的所有算法，都是从查询项或者主题出发，经过算法处理，得到结果网页。多伦多大学计算机系Alberto Mendelzon, Davood Rafiei提出了一种反向的算法，输入为某个网页的URL地址，输出为一组主题，网页在这些主题上有声望（repution）<sup>[16]</sup>。比如输入，www.gamelan.com，可能的输出结果是“java”，具体的系统可以访问htpp://www.cs.toronto.edu/db/topic。</p>
<p>给定一个网页p，计算在主题t上的声望，首先定义2个参数，渗透率P(t)和聚焦率F(t)，简单起见，网页p包含主题项t，就认为p在主题t上。</p>
<p><img class="alignnone size-full wp-image-4149" title="pf" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/pf.png" alt="" width="253" height="185" /></p>
<p><img class="alignnone size-full wp-image-4151" title="rm" src="http://www.biaodianfu.com/wp-content/uploads/2011/08/rm1.png" alt="" width="561" height="296" /></p>
<p>给定网页p和主题t，RM可以如上计算，但是多数的情况的只给定网页p，需要提取主题后计算。算法的目标是找到一组t，使得RM（p，t）有较大的值。TOPIC系统中是抽取指向p的网页中的锚文本的单词作为主题（上面已经讨论过锚文本能很好描述目标网页，精度很高），避免了下载所有指向p的网页，而且RM（p，t）的计算很简单，算法的效率较高。主题抽取时，还忽略了用于导航、重复的链接的文本，同时也过滤了停止字（stop word），如“a”，“the”，“for”，“in”等。</p>
<p>Reputation算法也是基于随机漫游模型的（random walk），可以说是PageRank和SALSA算法的结合体。</p>
<p><strong>二、链接算法的分类及其评价</strong></p>
<p>链接分析算法可以用来提高搜索引擎的查询效果，可以发现WWW上的重要的社区，可以分析某个网站的拓扑结构，声望，分类等，可以用来实现文档的自动分类等。归根结底，能够帮助用户在WWW海量的信息里面准确找到需要的信息。这是一个正在迅速发展的研究领域。<strong></strong></p>
<p>上面我们从历史的角度总结了链接分析算法的发展历程，较为详细的介绍了算法的基本</p>
<p>思想和具体实现，对算法的存在的问题也做了讨论。这些算法有的处于研究阶段，有的已经在具体的系统实现了。这些算法大体可以分为3类，基于随机漫游模型的，比如PageRank，Repution算法，基于Hub和Authority相互加强模型的，如HITS及其变种，基于概率模型的，如SALSA，PHITS，基于贝叶斯模型的，如贝叶斯算法及其简化版本。所有的算法在实际应用中都结合传统的内容分析技术进行了优化。一些实际的系统实现了某些算法，并且获得了很好的效果，Google实现了PageRank算法，IBM Almaden Research Center 的Clever Project实现了ARC算法，多伦多大学计算机系实现了一个原型系统TOPIC，来计算指定网页有声望的主题。</p>
<p>AT&amp;T香农实验室的Brian Amento在指出，用权威性来评价网页的质量和人类专家评价的结果是一致的，并且各种链接分析算法的结果在大多数的情况下差别很小<sup>[15]</sup>。但是，Allan Borodin也指出没有一种算法是完美的，在某些查询下，结果可能很好，在另外的查询下，结果可能很差<sup>[11]</sup>。所以应该根据不同查询的情况，选择不同的合适的算法。</p>
<p>基于链接分析的算法，提供了一种衡量网页质量的客观方法，独立于语言，独立于内容，不需人工干预就能自动发现WEB上重要的资源，挖掘出WEB上重要的社区，自动实现文档分类。但是也有一些共同的问题影响着算法的精度。</p>
<ol>
<li>根集的质量。根集质量应该是很高的，否则，扩展后的网页集会增加很多无关的网页，产生主题漂移，主题泛化等一系列的问题，计算量也增加很多。算法再好，也无法在低质量网页集找出很多高质量的网页。</li>
<li>噪音链接。WEB上不是每个链接都包含了有用的信息，比如广告，站点导航，赞助商，用于友情交换的链接，对于链接分析不仅没有帮助，而且还影响结果。如何有效的去除这些无关链接，也是算法的一个关键点。</li>
<li>锚文本的利用。锚文本有很高的精度，对链接和目标网页的描述比较精确。上述算法在具体的实现中利用了锚文本来优化算法。如何准确充分的利用锚文本，对算法的精度影响很大。</li>
<li>查询的分类。每种算法都有自身的适用情况，对于不同的查询，应该采用不同的算法，以求获得最好的结果。因此，对于查询的分类也显得非常重要。</li>
</ol>
<p>当然，这些问题带有很大的主观性，比如，质量不能精确的定义，链接是否包含重要的信息也没有有效的方法能准确的判定，分析锚文本又涉及到语义问题，查询的分类也没有明确界限。如果算法要取得更好的效果，在这几个方面需要继续做深入的研究，相信在不久的将来会有更多的有趣和有用的成果出现。</p>
<p><strong>三、</strong><strong>参考文献</strong></p>
<ol>
<li>L.Page , S.Brin , R.Motwani,and T.Winograd , ”The pageRank Citation Ranking : Bringing Order to the WEB ” , January 1998. and July 2001 at http://www.db.stanford.edu/~backub/PageRanksub.ps</li>
<li>Sergey Brin and Larry Page.The anatomy of a large-scale hypertextual WEB search engine. In <em>Proceedings of the Seventh International World Wide WEB Conference</em>, 1998</li>
<li>Matthew Richardson ，Pedro Domingos.<em>The Intelligent Surfer: Probabilistic Combination of Link and Content Information in PageRank</em>, volume 14.MIT Press, Cambridge, MA, 2002.</li>
<li>Taher H. Haveliwala. Topic-Sensitive PageRank, in Proceedings of the Eleventh International World Wide WEB Conference, 2002</li>
<li>J. Kleinberg. Authoritative sources in a hyperlinked environment. Proc. 9th ACM-SIAM Symposium on Discrete Algorithms, 1998. Extended version in Journal of the ACM 46(1999). Also appears as IBM Research Report RJ 10076, May 1997</li>
<li>S. Chakrabarti, B. Dom, D. Gibson, J. Kleinberg, S.R. Kumar, P. Raghavan, S. Rajagopalan, A. Tomkins, Hypersearching the WEB. Scientific American, June 1999</li>
<li>Monika R. Henzinger and Krishna Bharat. Improved algorithms for topic distillation in a hyperlinked environment. Proceedings of the 21&#8242;st International ACM SIGIR Conference on Research and Development in IR, August 1998</li>
<li>R. Lempel，S. Moran，The Stochastic Approach for Link-Structure Analysis (SALSA) and the TKC Effect，Porc. 9th International World Wide WEB Conferrence,2000</li>
<li>S. Chakrabarti, B. Dom, D. Gibson, J. Kleinberg, S.R. Kumar, P. Raghavan, S. Rajagopalan, and A. Tomkins. Mining the WEB&#8217;s link structure. IEEE Computer, August 1999</li>
<li>Soumen Chakrabarti, Byron Dom, David Gibson, Jon M. Kleinberg, Prabhakar Raghavan, and Sridhar Rajagopalan. Automatic resource compilation by analyzing hyperlink structure and associated text. Proc. 7th International WWW Conference, 1998</li>
<li>Allan Borodin，Gareth O. Roberts ，Jeffrey S. Rosenthal ，Panayiotis Tsaparas ，Finding Authorities and Hubs From Link Structures on the World Wide WEB，Proc. 10th International WWW Conference, 2001</li>
<li>D. Cohn and H. Chang. Learning to probabilistically identify authoritative documents, Proc 17 th International Conference on Machine Learning,2000</li>
<li>D. Cohn, T. Hofmann, The Missing Link－A Probabilistic Model of Document Content and Hypertext Connectivity. Advances in Neural Information Processing Systems (NIPS)13, 2000</li>
<li>R.Baeza-Yates and B.Ribeiro-Neto，Moderm Information Retrieval，Addison Wesley，New York,NY,USA,1999</li>
<li>Brian Amento, Loren Terveen, and Will Hill. Does “Authority” Mean Quality? Predicting Expert Quality Ratings of WEB Documents. 23rd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, 2000.</li>
<li>Alberto Mendelzon, Davood Rafiei， What do the Neighbours Think? Computing WEB Page Reputations IEEE Data Engineering Bulletin, 23(3): 9-16, September 2000</li>
<li>韩家炜，孟小峰，王静，李盛思，WEB挖掘研究，计算机研究与发展，Vol 38，No4，2001年4月</li>
<li>Google Inc. Google search engine. http://www.Google.com</li>
<li>Topic system，htpp://www.cs.toronto.edu/db/topic</li>
<li>A.Dempster,N.Laird,and D.Rubin, Maximun likelihood from incomplete data via the EM algotithm，Journal of the Royal Statistical Society ,Series B,39:1-38,1977</li>
<li>IBM Almaden Research Center Clever Project http://www.almaden.ibm.com/cs/k53/clever.html</li>
<li>Arvind Arasu, Jasmine Novak, Andrew Tomkins, John Tomlin ，PageRank Computation and the Structure of the WEB: Experiments and Algorithms， 11th International World Wide WEB Conference, 2002.</li>
</ol>
<p><strong>本文作者：朱炜 王超 李俊 潘金贵 (南京大学计算机软件新技术国家重点实验室 南京 210093) (南京大学多媒体技术研究所 南京 210093)</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/seo-basics-improved-large-scale-search-marketing-site.html' rel='bookmark' title='SEO基础: 改进大型站点的搜索营销'>SEO基础: 改进大型站点的搜索营销</a></li>
<li><a href='http://www.biaodianfu.com/web-data-mining.html' rel='bookmark' title='WEB数据挖掘相关术语整理'>WEB数据挖掘相关术语整理</a></li>
<li><a href='http://www.biaodianfu.com/wordpress-2-7-complete.html' rel='bookmark' title='《WordPress 2.7 Complete》PDF下载'>《WordPress 2.7 Complete》PDF下载</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/research-on-algorithms-analyzing-hyperlinks.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>简析搜索引擎中网络爬虫的搜索策略</title>
		<link>http://www.biaodianfu.com/analysis-on-web-crawler-searching-strategies.html</link>
		<comments>http://www.biaodianfu.com/analysis-on-web-crawler-searching-strategies.html#comments</comments>
		<pubDate>Thu, 28 Jul 2011 15:38:52 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[原理]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=4117</guid>
		<description><![CDATA[随着互联网的兴起及发展，人们获取信息的途径由传统方式逐渐被网络替代。 起初人们主要通过浏览网页来获取所需信息， 但随着Web不断庞大用这种方式来寻找自己所需的信息变得越来越困难。现在大多数的人很大程度上依赖于搜索引擎来帮助自己获取有用信息，因此搜索引擎技术作为最典型的Web信息获取技术 其发展直接影响人们获取信息的质量。 自从1994 年4 月世界上第一个Web 检索工具Web Crawler 问世以来， 目前较流行的搜索引擎已有Google、Yahoo、AltaVista、Infoseek、InfoMarket等。出于商业机密的考虑， 目前各个搜索引擎使用的Crawler 系统的技术内幕一般都不公开，现有的文献也仅限于概要性介绍。随着Web 信息资源呈指数级增长及Web 信息资源动态变化， 传统的搜索引擎提供的信息检索服务已不能满足人们日益增长的对个性化服务的需要，它们正面临着巨大的挑战。以何种策略访问Web提高搜索效率 成为近年来专业搜索引擎网络爬虫研究的主要问题之一。 1　网络爬虫的工作原理 网络爬虫出自Sp ider 的意译，具有相同词义的词语还有Crawler、robots、bots、wanderer等等。网络爬虫定义有广义和狭义之分，狭义上的定义为利用标准的http协议根据超链和Web文档检索的方法遍历万维网信息空间的软件程序；而广义则是所有能利用http协议检索Web文档的软件都称之为网络爬虫。 网络爬虫是一个功能很强的自动提取网页的程序, 它为搜索引擎从万维网上下载网页，是搜索引擎的重要组成。 它通过请求站点上的HTML 文档访问某一站点。它遍历Web 空间，不断从一个站点移动到另一个站点，自动建立索引并加入到网页数据库中。网络爬虫进入某个超级文本时, 它利用HTML语言的标记结构来搜索信息及获取指向其他超级文本的URL 地址，可以完全不依赖用户干预实现网络上的自动“爬行”和搜索。 网络爬虫在搜索时往往采用一定的搜索策略。 2　宽度或深度优先搜索策略 搜索引擎所用的第一代网络爬虫主要是基于传统的图算法，如宽度优先或深度优先算法来索引整个Web，一个核心的URL 集被用来作为一个种子集合，这种算法递归的跟踪超链接到其它页面，而通常不管页面的内容，因为最终的目标是这种跟踪能覆盖整个Web。这种策略通常用在通用搜索引擎中，因为通用搜索引擎获得的网页越多越好，没有特定的要求. 如图1 所示： 2. 1　宽度优先搜索算法 宽度优先搜索算法(又称广度优先搜索) 是最简便的图的搜索算法之一， 这一算法也是很多重要的图的算法的原型. Dijktra 单源最短路径算法和Prim 最小生成树算法都采用了和宽度优先搜索类似的思想.宽度优先搜索算法是沿着树的宽度遍历树的节点，如果发现目标则算法中止。该算法的设计和实现相对简单属于盲目搜索。 在目前为覆盖尽可能多的网页，一般使用宽度优先搜索方法。也有很多研究将宽度优先搜索策略应用于聚焦爬虫中。其基本思想是认为与初始U RL 在一定链接距离内的网页具有主题相关性的概率很大。 另外一种方法是将宽度优先搜索与网页过滤技术结合使用， 先用广度优先策略抓取网页，再将其中无关的网页过滤掉. 这些方法的缺点在于， 随着抓取网页的增多大量的无关网页将被下载并过滤,算法的效率将变低。 2. 2　深度优先搜索 深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。在深度优先搜索中，对于最新发现的顶点，如果它还有以此为起点而未探测到的边 就沿此边继续汉下去。当结点v 的所有边都己被探寻过，搜索将回溯到发现结点v 有那条边的始结点。这一过程一直进行到已发现从源结点可达的所有结点为止。如果还存在未被发现的结点，则选择其中一个作为源结点并重复以上过程，整个进程反复进行直到所有结点都被发现为止. [...]]]></description>
			<content:encoded><![CDATA[<p>随着互联网的兴起及发展，人们获取信息的途径由传统方式逐渐被网络替代。 起初人们主要通过浏览网页来获取所需信息， 但随着Web不断庞大用这种方式来寻找自己所需的信息变得越来越困难。现在大多数的人很大程度上依赖于搜索引擎来帮助自己获取有用信息，因此搜索引擎技术作为最典型的Web信息获取技术 其发展直接影响人们获取信息的质量。</p>
<p>自从1994 年4 月世界上第一个Web 检索工具Web Crawler 问世以来， 目前较流行的搜索引擎已有Google、Yahoo、AltaVista、Infoseek、InfoMarket等。出于商业机密的考虑， 目前各个搜索引擎使用的Crawler 系统的技术内幕一般都不公开，现有的文献也仅限于概要性介绍。随着Web 信息资源呈指数级增长及Web 信息资源动态变化， 传统的搜索引擎提供的信息检索服务已不能满足人们日益增长的对个性化服务的需要，它们正面临着巨大的挑战。以何种策略访问Web提高搜索效率 成为近年来专业搜索引擎网络爬虫研究的主要问题之一。</p>
<p><strong>1　网络爬虫的工作原理</strong></p>
<p>网络爬虫出自Sp ider 的意译，具有相同词义的词语还有Crawler、robots、bots、wanderer等等。网络爬虫定义有广义和狭义之分，狭义上的定义为利用标准的http协议根据超链和Web文档检索的方法遍历万维网信息空间的软件程序；而广义则是所有能利用http协议检索Web文档的软件都称之为网络爬虫。</p>
<p>网络爬虫是一个功能很强的自动提取网页的程序, 它为搜索引擎从万维网上下载网页，是搜索引擎的重要组成。 它通过请求站点上的HTML 文档访问某一站点。它遍历Web 空间，不断从一个站点移动到另一个站点，自动建立索引并加入到网页数据库中。网络爬虫进入某个超级文本时, 它利用HTML语言的标记结构来搜索信息及获取指向其他超级文本的URL 地址，可以完全不依赖用户干预实现网络上的自动“爬行”和搜索。 网络爬虫在搜索时往往采用一定的搜索策略。</p>
<p><strong>2　宽度或深度优先搜索策略</strong></p>
<p>搜索引擎所用的第一代网络爬虫主要是基于传统的图算法，如宽度优先或深度优先算法来索引整个Web，一个核心的URL 集被用来作为一个种子集合，这种算法递归的跟踪超链接到其它页面，而通常不管页面的内容，因为最终的目标是这种跟踪能覆盖整个Web。这种策略通常用在通用搜索引擎中，因为通用搜索引擎获得的网页越多越好，没有特定的要求. 如图1 所示：</p>
<p><img class="alignnone size-full wp-image-4118" title="guangdu" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/guangdu.png" alt="" width="523" height="303" /></p>
<p><strong>2. 1　宽度优先搜索算法</strong></p>
<p>宽度优先搜索算法(又称广度优先搜索) 是最简便的图的搜索算法之一， 这一算法也是很多重要的图的算法的原型. Dijktra 单源最短路径算法和Prim 最小生成树算法都采用了和宽度优先搜索类似的思想.宽度优先搜索算法是沿着树的宽度遍历树的节点，如果发现目标则算法中止。该算法的设计和实现相对简单属于盲目搜索。 在目前为覆盖尽可能多的网页，一般使用宽度优先搜索方法。也有很多研究将宽度优先搜索策略应用于聚焦爬虫中。其基本思想是认为与初始U RL 在一定链接距离内的网页具有主题相关性的概率很大。 另外一种方法是将宽度优先搜索与网页过滤技术结合使用， 先用广度优先策略抓取网页，再将其中无关的网页过滤掉. 这些方法的缺点在于， 随着抓取网页的增多大量的无关网页将被下载并过滤,算法的效率将变低。</p>
<p><strong>2. 2　深度优先搜索</strong></p>
<p>深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。在深度优先搜索中，对于最新发现的顶点，如果它还有以此为起点而未探测到的边 就沿此边继续汉下去。当结点v 的所有边都己被探寻过，搜索将回溯到发现结点v 有那条边的始结点。这一过程一直进行到已发现从源结点可达的所有结点为止。如果还存在未被发现的结点，则选择其中一个作为源结点并重复以上过程，整个进程反复进行直到所有结点都被发现为止. 深度优先在很多情况下会导致爬虫的陷入( t rapped) 问题, 所以它既不是完备的，也不是最优的。</p>
<p><strong>3　聚焦搜索策略</strong></p>
<p>基于第一代网络爬虫的搜索引擎抓取的网页一般少于1 000 000 个网页, 极少重新搜集网页并去刷新索引。而且其检索速度非常慢，一般都要等待10s甚至更长的时间. 随着网页页信息的指数级增长及动态变化， 这些通用搜索引擎的局限性越来越大，随着科学技术的发展, 定向抓取相关网页资源的聚焦爬虫便应运而生。</p>
<p>聚焦爬虫的爬行策略只挑出某一个特定主题的页面，根据“最好优先原则”进行访问，快速、有效地获得更多的与主题相关的页面，主要通过内容和Web 的链接结构来指导进一步的页面抓取。图2表明了典型的应用聚焦策略爬虫的爬行规则。</p>
<p><img class="alignnone size-full wp-image-4119" title="jujiao" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/jujiao.png" alt="" width="508" height="270" /></p>
<p>聚焦爬虫会给它所下载下来的页面分配一个评价分，然后根据得分排序。最后插入到一个队列中. 最好的下一个搜索将通过对弹出队列中的第一个页面进行分析而执行，这种策略保证爬虫能优先跟踪那些最有可能链接到目标页面的页面。决定网络爬虫搜索策略的关键是如何评价链接价值，即链接价值的计算方法， 不同的价值评价方法计算出的链接的价值不同, 表现出的链接的“重要程度”也不同， 从而决定了不同的搜索策略。由于链接包含于页面之中，而通常具有较高价值的页面包含的链接也具有较高的价值，因而对链接价值的评价有时也转换为对页面价值的评价. 这种策略通常运用在专业搜索引擎中，因为这种搜索引擎只关心某一特定主题的页面。</p>
<p><strong>3. 1　基于内容评价的搜索策略</strong></p>
<p>基于内容评价的搜索策略主要是根据主题(如关键词、主题相关文档) 与链接文本的相似度来评价链接价值的高低，并以此决定其搜索策略： 链接文本是指链接周围的说明文字和链接URL 上的文字信息， 相似度的评价通常采用以下公式：</p>
<p><img class="alignnone size-full wp-image-4120" title="sim" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/sim.png" alt="" width="543" height="218" /></p>
<p>其中di为新文本的特征向量，dj为第j类的中心向量，m为特征向量的维数，wk为向量的第K维。</p>
<p>由于Web页面不同于传统的文本，它是一种半结构化的文档，包含许多结构信息Web页面不是单独存在的，页面中的链接指示了页面之间的相互关系，因而有些学者提出了基于链接结构评价链接价值的方法。</p>
<p><strong>3. 2　基于链接结构评价的搜索策略</strong></p>
<p>基于链接结构评价的搜索策略，是通过对Web页面之间相互引用关系的分析来确定链接的重要性，进而决定链接访问顺序的方法。通常认为有较多入链或出链的页面具有较高的价值。PageRank和Hits是其中具有代表性的算法。</p>
<p><strong>3. 2. 1 　PageRank 算法</strong></p>
<p>基于链接评价的搜索引擎的优秀代表是Google，它独创的“链接评价体系”(PageRank 算法) 是基于这样一种认识，一个网页的重要性取决于它被其它网页链接的数量，特别是一些已经被认定是“重要”的网页的链接数量。PageRank 算法最初用于Google 搜索引擎信息检索中对查询结果的排序过程，近年来被应用于网络爬虫对链接重要性的评价，PageRank 算法中页面的价值通常用页面的PageRank值表示，若<br />
设页面p 的PageRank 值为PR (p ) ，则PR (p ) 采用如下迭代公式计算：</p>
<p><img class="alignnone size-full wp-image-4121" title="pr" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/pr.png" alt="" width="579" height="74" /></p>
<p>其中T 为计算中的页面总量，C&lt; 1 是阻尼常数因子，in (p ) 为所有指向p 的页面的集合，ou t (C) 为页面C出链的集合. 基于PageRank 算法的网络爬虫在搜索过程中通过计算每个已访问页面的PageRank 值来确定页面的价值，并优先选择PageRank 值大的页面中的链接进行访问。</p>
<p><strong>3. 2. 2　H ITS 算法</strong></p>
<p>HITS 方法定义了两个重要概念：Authority和Hub. Authority 表示一个权威页面被其它页面引用的数量，即该权威页面的入度值。网页被引用的数量越大, 则该网页的Authority值越大； Hub 表示一个Web页面指向其它页面的数量，即该页面的出度值。网页的出度值越大其Hub 值越高。由于Hub 值高的页面通常都提供了指向权威页面的链接，因而起到了隐含说明某主题页面权威性的作用。</p>
<p>HITS (Hyperlink- Induced Topic Search) 算法是利用Hub.Authority方法的搜索方法，Authority表示一个页面被其它页面引用的数量， 即该页面的入度值。Hub 表示一个W eb 页面指向其它页面的数量，即该页面的出度值。算法如下：将查询q 提交给传统的基于关键字匹配的搜索引擎。搜索引擎返回很多网页，从中取前n 个网页作为根集用S 表示。通过向S 中加入被S 引用的网页和引用S 的网页将S 扩展成一个更大的集合T。以T 中的Hub 网页为顶点集V l，以权威网页顶点集V 2，V 1 中的网页到V 2 中的网页的超链接为边集E , 形成一个二分有向图S G = (V 1,V 2, E )。对V 1 中的任一个顶点v，用H (v ) 表示网页v 的Hub值，对V 2 中的顶点u, 用A (u) 表示网页的Authority值。开始时H (v ) = A (u) = 1，对u 执行公式(1) 来修改它的A (u) ，对v 执行公式(2) 来修改它的H (v ) ，然后规范化A (u) ，H (v ) ，如此不断的重复计算上述运算，直到A (u)，H (v ) 收敛。</p>
<p><img class="alignnone size-full wp-image-4122" title="ah" src="http://www.biaodianfu.com/wp-content/uploads/2011/07/ah.png" alt="" width="600" height="151" /></p>
<p>式(1) 反映了若一个网页由很多好的Hub 指向，则其权威值会相应增加(即权威值增加为所有指向它的网页的现有Hub值之和)。式(2) 反映了若一个网页指向许多好的权威页，则Hub 值也会相应增加(即Hub 值增加为该网页链接的所有网页的权威值之和)。虽然基于链接结构评价的搜索考虑了链接的结构和页面之间的引用关系，但忽略了页面与主题的相关性，在某些情况下会出现搜索偏离主题的问题。另外搜索过程中需要重复计算PageRank值或Authority以及Hub权重，计算复杂度随页面和链接数量的增长呈指数级增长。</p>
<p><strong>3. 3　基于巩固学习的聚焦搜索</strong></p>
<p>近年来对W eb 信息资源分布的研究表明很多类型相同的网站在构建方式上，主题相同的网页在组织方式上都存在着一定的相似性，有的学者就考虑将巩固学习引入网络爬虫的训练过程中，从这些相似性获取一些“经验”，而这些经验信息在搜索距相关页面集较远的地方往往能获得较好的回报，而前两种策略在这种情况下容易迷失方向。在巩固学习模型中，把网络爬虫经过若干无关页面的访问之后才能获得的主题相关页面称为未来回报，对未来回报的预测值称为未来回报价值，用Q价值表示。这种方法的核心就是学习如何计算链接的Q 价值，根未来回报价值确定正确的搜索方向。目前这类搜索策略不足之处在于学习效率低的问题，而且在训练过程中增加了用户的负担。</p>
<p><strong>3. 4　基于语境图的聚焦搜索</strong></p>
<p>基于巩固学习的网络爬虫通过计算链接的Q价值可以确定搜索方向，但它却无法估计距离目标页面的远近。为此 Diligen t 等提出了基于“语境图”的搜索策略，它通过构建典型页面的web“语境图”来估计离目标页面的距离，距离较近的页面较早得到访问。基于“语境图”的搜索策略需要借助已有的通用搜索引擎构建“语境图”，而搜索引擎的检索结果并非一定代表真实的web 结构，因而这种方式也具有局限性。</p>
<p><strong>4　小结</strong></p>
<p>通过以的分析，各类搜索策略各有的优缺点，网络爬虫搜索策略的研究对搜索引擎的应用与发展有着重要意义。一种好的策略就是要在合理的时间限度内，以较少的网络资源、存储资源和计算资源的消耗获得更多的与主题相关页面。因而未来网络爬虫所使用的策略应该在提高链接价值预测的准确性、降低计算的时空复杂度，以及增加网络爬虫的自适应性等方面有所发展，有所突破。</p>
<p><strong>本文作者：刘世涛(江苏联合职业技术学院连云港财经分院, 江苏连云港　222003)</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/keywords-efficacy.html' rel='bookmark' title='关键词效能计算之规格化搜索结果数'>关键词效能计算之规格化搜索结果数</a></li>
<li><a href='http://www.biaodianfu.com/sitemap-xml.html' rel='bookmark' title='SEO之sitemap.xml'>SEO之sitemap.xml</a></li>
<li><a href='http://www.biaodianfu.com/research-on-algorithms-analyzing-hyperlinks.html' rel='bookmark' title='WEB超链分析算法研究'>WEB超链分析算法研究</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/analysis-on-web-crawler-searching-strategies.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Panda 更新那点事</title>
		<link>http://www.biaodianfu.com/google-panda-update.html</link>
		<comments>http://www.biaodianfu.com/google-panda-update.html#comments</comments>
		<pubDate>Wed, 29 Jun 2011 09:40:24 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3906</guid>
		<description><![CDATA[在开始阅读这篇文章之前，您需要知道的是，任何针对英文Google 的算法调整最终会迁移至中文Google，类似的算法调整在不久的时间内百度也会跟进，所有提升搜索引擎用户体验的工作不管哪个搜索引擎都会去做。 在开始将Google Panda 之前，我们先来了解下Google Panda 的来历。09年的时候Google进行了咖啡因（Google Caffeine）的更新，主要解决了谷歌的抓取和索引速度。让谷歌可以获取的更加新鲜的内容（比如我的博客，一般会在3分钟内被谷歌抓取和索引）。但是快速的抓取和索引使网页质量判断明显下降，很多无用或者重复性质的内容被索引进去。也就是Google所称的shallow-content site 肤浅内容的网站，在这些内容里面大多是伪原创的文章，也可能是一些没有参考价值的原创的内容。 针对搜索结果页的页面质量，谷歌先前推出的Google +1 也是为了解决这方面的问题。但是这对于判断一个网页的内容质量肯定不是一个完整的解决方案，于是Google Panda出现了，并且它将不断的进行算法更新。Google panda的主要目的就是剔除那些低质量的页面。即一个有效的页面过滤机制（类似百度的页面价值判断）。需要说明的是Google Panda不是针对站点的惩罚，而是通过算法进行排名的调整。与此同时，原创内容和信息将获得更好的排名，如研究、深度报道和周到详见的分析等。 Google Panda的设计原理会是哪些？ 进行定性研究（这是讲的个人，而不是一个很大的问卷），找出它们认为质量差得原因。通过算法将此部分页面排除掉。 使用结果来定义因素，将谷歌测量出来的低质量的页面进行分析建模。来匹配哪些质量差的页面。 从大量的Google Panda的讨论文章来看，Google Panda主要的判断依据是点击流(Clickstream)、页面内容(page content)和链接概况(link profiles)，只要在这三者当中表现优异，就不会被列为肤浅的网站。从大量的分析看，目前Google Panda的适用级别为网页级别，并没有细化到关键词级别。同时大量低质量页面也会在无形中给整个站点带来影响。 点击流 准确的说应该是考察的是用户参与度，或者是用户针对页面的反馈信息。主要考察指标可能是： 1、页面跳出率与页面停留时间或者回访率 数据来源：Google Analytics,Google Toolbar和搜索结果页不同链接的点击时间间隔。 单纯的跳出率不能反映页面的质量，比如说我的博客文章，用户可能看了一篇文章就达到了预期的效果，如果停留时间可可以作为参考依据。只有当两个条件（跳出率高且停留时间短）同时满足时，Google才会判定这个是个肤浅的网站。 2、被大量用户屏蔽的网站 数据来源：Google Chrome插件：Personal Blocklist (by Google) Personal Blocklist官方介绍：Personal Blocklist 扩展会将您希望阻止显示的网址样式提交给Google。当您阻止或者允许一个网址样式显示时，该扩展同时也会将展示此被阻止或者被允许的网址的搜索结果网页提交给Google。您同意Google可以自由使用此信息来改进我们的产品和服务。 3、社会化网络当中的链接流行度 数据来源：Google自己抓取主流的社会化网络中的链接，如Twitter、Facebook、delicious等。 页面内容 Google肯定会针对页面进行分析，主要考察的是页面中信息量。可能考察的信息为： 网站或页面是否存在大量的重复内容 网站或网页内包含的原创内容的占比 是否有大量的实质内容很少的页面存在 页面是否充斥大量无关广告，影响信息的接收 页面内是否有明显的SEO痕迹，有填充内容存在 如果是模板页面，模板页面的共有部分的数据量 链接情况 社会化网络中链接的流行度（前面已经提及） [...]]]></description>
			<content:encoded><![CDATA[<p>在开始阅读这篇文章之前，您需要知道的是，任何针对英文Google 的算法调整最终会迁移至中文Google，类似的算法调整在不久的时间内百度也会跟进，所有提升搜索引擎用户体验的工作不管哪个搜索引擎都会去做。</p>
<p>在开始将Google Panda 之前，我们先来了解下Google Panda 的来历。09年的时候Google进行了咖啡因（Google Caffeine）的更新，主要解决了谷歌的抓取和索引速度。让谷歌可以获取的更加新鲜的内容（比如我的博客，一般会在3分钟内被谷歌抓取和索引）。但是快速的抓取和索引使网页质量判断明显下降，很多无用或者重复性质的内容被索引进去。也就是Google所称的shallow-content site 肤浅内容的网站，在这些内容里面大多是伪原创的文章，也可能是一些没有参考价值的原创的内容。</p>
<p><img class="alignnone size-full wp-image-3907" title="google-panda-update" src="http://www.biaodianfu.com/wp-content/uploads/2011/06/google-panda-update.png" alt="" width="364" height="126" /></p>
<p>针对搜索结果页的页面质量，谷歌先前推出的Google +1 也是为了解决这方面的问题。但是这对于判断一个网页的内容质量肯定不是一个完整的解决方案，于是Google Panda出现了，并且它将不断的进行算法更新。Google panda的主要目的就是剔除那些低质量的页面。即一个有效的页面过滤机制（类似<a title="百度搜索研发部：页面价值" href="http://www.biaodianfu.com/page-value.html">百度的页面价值判断</a>）。需要说明的是Google Panda不是针对站点的惩罚，而是通过算法进行排名的调整。与此同时，原创内容和信息将获得更好的排名，如研究、深度报道和周到详见的分析等。</p>
<p><strong>Google Panda的设计原理会是哪些？</strong></p>
<ol>
<li>进行定性研究（这是讲的个人，而不是一个很大的问卷），找出它们认为质量差得原因。通过算法将此部分页面排除掉。</li>
<li>使用结果来定义因素，将谷歌测量出来的低质量的页面进行分析建模。来匹配哪些质量差的页面。</li>
</ol>
<p>从大量的Google Panda的讨论文章来看，Google Panda主要的判断依据是<strong>点击流(Clickstream)、页面内容(page content)和链接概况(link profiles)</strong>，只要在这三者当中表现优异，就不会被列为肤浅的网站。从大量的分析看，目前Google Panda的适用级别为网页级别，并没有细化到关键词级别。同时大量低质量页面也会在无形中给整个站点带来影响。</p>
<p>点击流</p>
<p>准确的说应该是考察的是用户参与度，或者是用户针对页面的反馈信息。主要考察指标可能是：</p>
<p>1、页面跳出率与页面停留时间或者回访率</p>
<p>数据来源：Google Analytics,Google Toolbar和搜索结果页不同链接的点击时间间隔。</p>
<p>单纯的跳出率不能反映页面的质量，比如说我的博客文章，用户可能看了一篇文章就达到了预期的效果，如果停留时间可可以作为参考依据。只有当两个条件（跳出率高且停留时间短）同时满足时，Google才会判定这个是个肤浅的网站。</p>
<p>2、被大量用户屏蔽的网站</p>
<p>数据来源：Google Chrome插件：<strong><a href="https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef?hl=zh-CN">Personal Blocklist (by Google)</a></strong></p>
<p>Personal Blocklist官方介绍：Personal Blocklist 扩展会将您希望阻止显示的网址样式提交给Google。当您阻止或者允许一个网址样式显示时，该扩展同时也会将展示此被阻止或者被允许的网址的搜索结果网页提交给Google。您同意Google可以自由使用此信息来改进我们的产品和服务。</p>
<p>3、社会化网络当中的链接流行度</p>
<p>数据来源：Google自己抓取主流的社会化网络中的链接，如Twitter、Facebook、delicious等。</p>
<p>页面内容</p>
<p>Google肯定会针对页面进行分析，主要考察的是页面中信息量。可能考察的信息为：</p>
<ol>
<li>网站或页面是否存在大量的重复内容</li>
<li>网站或网页内包含的原创内容的占比</li>
<li>是否有大量的实质内容很少的页面存在</li>
<li>页面是否充斥大量无关广告，影响信息的接收</li>
<li>页面内是否有明显的SEO痕迹，有填充内容存在</li>
<li>如果是模板页面，模板页面的共有部分的数据量</li>
</ol>
<p>链接情况</p>
<ol>
<li>社会化网络中链接的流行度（前面已经提及）</li>
<li>是否存在大量的SPAM链接</li>
</ol>
<p><strong>如何应对Google Panda的更新？</strong> </p>
<ol>
<li>查找网站内流量质量最差的页面，并将这些页面区隔开来。设法修改你的低质量页面，但是不要太过，如果太过了容易招来惩罚。</li>
<li>给你网站的页面分类，按类别去查看数据，比如说广告数量、低质量内容百分比。按照情况进行修改会对搜索引擎屏蔽。（对于Wordpress的站点，可以参考下我的网站的Robots.txt文件哈 <a href="http://www.biaodianfu.com/robots.txt">http://www.biaodianfu.com/robots.txt</a>）</li>
<li>如果您的站点是采集过来的内容，尝试移除他们或使用robots.txt来禁止Google 爬取，并停止采集，手动添加原创内容。</li>
<li>修改网站内的链接，保证每个页面只有一个唯一的链接。保证链接的唯一型。</li>
<li>修改那些过度优化的页面。去除重复堆积的文字等。</li>
<li>做一些提高用户体验的修改， 让页面具有更好的可读性，如修改字体大小，字体样式，字体颜色等</li>
<li>在页面上添加用户可能感兴趣的内容，提供提供相关内容的链接。</li>
<li>到社交网站上推广你的站点，或在网页内添加社会化按钮便于用户分享。</li>
<li>检查网站广告的覆盖率，减少页面中广告的数量，去除弹出广告。</li>
<li>停止SPAM行为吧，SPAM伤身！</li>
</ol>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-chrome-frame.html' rel='bookmark' title='Google Chrome Frame 谷歌浏览器框架'>Google Chrome Frame 谷歌浏览器框架</a></li>
<li><a href='http://www.biaodianfu.com/google-search-appliance.html' rel='bookmark' title='Google Search Appliance'>Google Search Appliance</a></li>
<li><a href='http://www.biaodianfu.com/google-index-dababase.html' rel='bookmark' title='Google索引库到底有多大的猜想'>Google索引库到底有多大的猜想</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/google-panda-update.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Google Analytics跟踪搜索引擎的抓取记录</title>
		<link>http://www.biaodianfu.com/tracking-robots-with-google-analytics.html</link>
		<comments>http://www.biaodianfu.com/tracking-robots-with-google-analytics.html#comments</comments>
		<pubDate>Mon, 13 Jun 2011 11:15:28 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[网站推广]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[蜘蛛]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3866</guid>
		<description><![CDATA[由于Google Analytics是基于javascript创建的，所以在正常情况下Google Analytics是无法跟踪到搜索引擎蜘蛛的爬行轨迹的。但是通过对google analytics原理的学习，你就可以自己动手去实现跟踪爬虫轨迹。方法和前面的使用Google Analytics跟踪手机站流量类似。很早以前也发表了一篇使用PHP跟踪爬虫轨迹的文章，很简单的代码实现，大家也可以做参考。同样这里的方法也使用PHP实现： &#60;?php /*  * Name:Tracking Robots With Google Analytics  * Author:biaodianfu  * URI;http://www.biaodianfu.com/tracking-robots-with-google-analytics.html  */ $utmac = 'UA-16811947-5'; //输入Goolgle Analytics配置生成的跟踪ID $domain = 'biaodianfu.com'; //输入要统计的网站的域名 $utmGifLocation = "http://www.google-analytics.com/__utm.gif"; //请求URL地址 $utmv = "4.8.9"; //Google Analytics统计版本 $title = ""; //网站标题，wp_title() ; /* Robots  * Google  http://www.google.com/support/webmasters/bin/answer.py?hl=cn&#38;answer=1061943  * Baidu  http://tieba.baidu.com/club/9374916/p/10669831  * Yahoo  http://en.wikipedia.org/wiki/Yahoo!_Slurp  * Bing  http://www.bing.com/community/site_blogs/b/webmaster/archive/2009/07/17/new-bot-work-continues-at-bing.aspx [...]]]></description>
			<content:encoded><![CDATA[<p>由于Google Analytics是基于javascript创建的，所以在正常情况下Google Analytics是无法跟踪到搜索引擎蜘蛛的爬行轨迹的。但是通过对google analytics原理的学习，你就可以自己动手去实现跟踪爬虫轨迹。方法和前面的<a title="使用Google Analytics来统计手机网站的流量" href="http://www.biaodianfu.com/google-analytics-no-javascript.html">使用Google Analytics跟踪手机站流量</a>类似。很早以前也发表了一篇使用<a title="PHP版记录蜘蛛爬行历史" href="http://www.biaodianfu.com/php-spider-log.html">PHP跟踪爬虫轨迹</a>的文章，很简单的代码实现，大家也可以做参考。同样这里的方法也使用PHP实现：</p>
<pre lang="php" line="0" escaped="true">&lt;?php
/*
 * Name:Tracking Robots With Google Analytics
 * Author:biaodianfu
 * URI;http://www.biaodianfu.com/tracking-robots-with-google-analytics.html
 */
$utmac = 'UA-16811947-5'; //输入Goolgle Analytics配置生成的跟踪ID
$domain = 'biaodianfu.com'; //输入要统计的网站的域名
$utmGifLocation = "http://www.google-analytics.com/__utm.gif"; //请求URL地址
$utmv = "4.8.9"; //Google Analytics统计版本
$title = ""; //网站标题，wp_title() ;

/* Robots
 * Google  http://www.google.com/support/webmasters/bin/answer.py?hl=cn&amp;answer=1061943
 * Baidu  http://tieba.baidu.com/club/9374916/p/10669831
 * Yahoo  http://en.wikipedia.org/wiki/Yahoo!_Slurp
 * Bing  http://www.bing.com/community/site_blogs/b/webmaster/archive/2009/07/17/new-bot-work-continues-at-bing.aspx
 * SOSO  http://help.soso.com/webspider.htm
 */
$bots = array( 'compatible; Googlebot/([0-9.]{1,10})?' =&gt; 'Google',
                'Googlebot/([0-9.]{1,10})?'=&gt;'Google',
                'Googl(e|ebot)(-News)/([0-9.]{1,10})' =&gt; 'Google News',
                'Googl(e|ebot)(-News)/' =&gt; 'Google News',
                'Googl(e|ebot)(-Image)/([0-9.]{1,10})' =&gt; 'Google Image',
                'Googl(e|ebot)(-Image)/' =&gt; 'Google Image',
                'Googl(e|ebot)(-Video)/([0-9.]{1,10})' =&gt; 'Google Video',
                'Googl(e|ebot)(-Video)/' =&gt; 'Google Video',
                'Googl(e|ebot)(-Sitemaps)/([0-9.]{1,10})?' =&gt; 'Google-Sitemaps',
                'Googl(e|ebot)(-Sitemaps)' =&gt; 'Google-Sitemaps',
                'compatible; Googlebot-Mobile/([0-9.]{1,10})?' =&gt; 'Google Mobile',
                'Googl(e|ebot)(-Mobile)/([0-9.]{1,10})?' =&gt; 'Google Mobile',
                'compatible; Mediapartners-Google/([0-9.]{1,10})?' =&gt; 'Google Mediapartners',
                'Mediapartners-Google[ /]([0-9.]{1,10})' =&gt; 'Google Mediapartners',
                'Mediapartners-Google' =&gt; 'Google Mediapartners',
                '^AdsBot-Google' =&gt; 'Google-AdsBot',
                '^Feedfetcher-Google' =&gt; 'Google-Feedfetcher',
                'compatible; Baiduspider/([0-9.]{1,10})?' =&gt; 'Baidu',
                'Baiduspider' =&gt; 'Baidu',
                'BaiduCustomer' =&gt; 'Baidu Customer',
                'Baidu-Thumbnail' =&gt; 'Baidu Thumbnail',
                'Baidu-Transcoder' =&gt; 'Baidu Mobile',
                'baiduspider-mobile-gate' =&gt; 'Baidu Mobile',
                'Yahoo(! ([a-z]{1,3} )?Slurp|-)' =&gt; 'Yahoo',
                'Yahoo! Slurp China' =&gt; 'Yahoo China',
                'YahooFeedSeeker' =&gt; 'Yahoo Feed',
                'Yahoo-Blogs' =&gt; 'Yahoo Blog',
                'Yahoo ContentMatch Crawler' =&gt; 'Yahoo Ads',
                'Yahoo-MMCrawler ' =&gt; 'Yahoo Image',
                'MSN(BOT|PTC)[ /]([0-9.]{1,10})' =&gt; 'MSN',
                'MS Search ([0-9.]{1,10}) Robot' =&gt; 'MSN',
                'MSNBOT_Mobile' =&gt; 'MSN Mobile',
                'MSMOBOT' =&gt; 'MSN Mobile',
                'MSNBOT-(MEDIA|PRODUCTS|ACADEMIC|NEWSBLOGS)[ /]([0-9.]{1,10})' =&gt; 'MS Live Search',
                'Sosospider' =&gt; 'SoSo',
                'Sosoblogspider' =&gt; 'SoSo Blog',
                'Sosoimagespider' =&gt; 'SoSo IMAGE',
                'Sogou web spider[ /]([0-9.]{1,10})' =&gt; 'Sogou',
                'Sogou-Test-Spider[ /]([0-9.]{1,10})' =&gt; 'Sogou',
                'Sogou web robot' =&gt; 'Sogou',
                'Sogou orion spider[ /]([0-9.]{1,10})' =&gt; 'Sogou',
                'YodaoBot[ /]([0-9.]{1,10})' =&gt; 'Youdao',
                'YodaoBot-Image[ /]([0-9.]{1,10})' =&gt; 'Youdao Image',
                'YodaoBot-Reader[ /]([0-9.]{1,10})' =&gt; 'Youdao Reader',
                'QihooBot[ /]([0-9.]{1,10})' =&gt; 'Qihoo',
                'gougou' =&gt; 'GouGou',
                '(robot|spider|harvest|bot|(?&lt;!msie)crawler)' =&gt; 'Unknown Robot'
                );

$os = array ( 'wi(n|ndows)?' =&gt; 'windows',
              'linux[ /\-]([a-z0-9._]{1,10})' =&gt; 'linux',
              'linux' =&gt; 'linux',
              'Mac[ _]?OS[ _]?X[ /]([0-9.]{1,10})' =&gt; 'macosx',
              'Mac[ _]?OS[ _]?X' =&gt; 'macosx',
              'Mac 10.([0-9.]{1,10})' =&gt; 'macosx',
              'Mac(_Power|intosh.+P)PC' =&gt; 'macppc',
              'beos[ a-z]*([0-9.]{1,10})' =&gt; 'beos',
              'beos' =&gt; 'beos',
              'fedora' =&gt; 'fedora',
              'free[ \-]?bsd[ /]([a-z0-9._]{1,10})' =&gt; 'freebsd',
              'free[ \-]?bsd' =&gt; 'freebsd',
              'open[ \-]?bsd[ /]([a-z0-9._]{1,10})' =&gt; 'openbsd',
              'open[ \-]?bsd' =&gt; 'openbsd',
              'PCLinuxOS[ /]?([0-9.]{1,10})' =&gt; 'pclinux',
              'ubuntu' =&gt; 'ubuntu'
              );

function domainHash($domain) {
 if(!$domain || $domain=="") return 1;
 $h=0; $g=0;
 for($i=strlen($domain)-1;$i&gt;=0;$i--) {
  $c = (int)(ord($domain[$i]));
  $h = (($h &lt;&lt; 6) &amp; 0xfffffff) + $c + ($c &lt;&lt; 14);
  $g = ($h &amp; 0xfe00000);
  if($g!=0) $h = ($h ^ ($g &gt;&gt; 21));
 }
 return $h;
}

function httpRequest($utmUrl){
    if(function_exists('curl_exec')){
    $ch = curl_init();
        curl_setopt($ch, CURLOPT_HEADER, 1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_URL, $utmUrl);
  $data = curl_exec($ch);
  curl_close($ch);
    }
    elseif(function_exists('file_get_contents')){
        $options = array(
            "http" =&gt; array(
                "method" =&gt; "GET",
                "user_agent" =&gt; $_SERVER["HTTP_USER_AGENT"],
                "header" =&gt; ("Accepts-Language: " . $_SERVER["HTTP_ACCEPT_LANGUAGE"]))
        );
        $data = file_get_contents( $utmUrl, false, stream_context_create($options));
    }
}

if ( empty( $_SERVER['HTTP_REFERER'] ) &amp;&amp; $_SERVER["HTTP_USER_AGENT"] ){
    foreach ( $os as $patternos =&gt; $o ){
        if ( preg_match('#'.$patternos.'#msi', $_SERVER["HTTP_USER_AGENT"] ) == 0){
            foreach( $bots as $patternbots =&gt; $bot ){
                if (preg_match( '#'.$patternbots.'#i' , $_SERVER['HTTP_USER_AGENT'] ) == 1){
                    $botname = preg_replace ( "/\\s{1,}/i" , '-' , $bot );
                    $utmUrl = $utmGifLocation . "?" .
                              "utmwv=" . $utmv .
                              "&amp;utmn=" . rand(0, 0x7fffffff) .
                              "&amp;utmhn=" . urlencode($_SERVER["SERVER_NAME"]) .
                              "&amp;utmdt=" . urlencode($title).
                              "&amp;utmr=-" .
                              "&amp;utmp=" . urlencode($_SERVER["REQUEST_URI"]) .
                              "&amp;utmac=" . $utmac .
                              "&amp;utmcc=" .
                                '__utma%3D'.domainHash($domain).'.'.rand(0, 0x7fffffff).'.'.time().'.'.time

().'.'.time().'.1%3B%2B'.
                                '__utmb%3D'.domainHash($domain).'%3B%2B'.
                                '__utmc%3D'.domainHash($domain).'%3B%2B'.
                                '__utmz%3D'.domainHash($domain).'.'.time().'.1.1.utmccn%3D(organic)%7Cutmcsr%

3D'.$botname.'%7Cutmctr%3D'.$_SERVER["REQUEST_URI"].'%7Cutmcmd%3Dorganic%3B%2B'.
                                '__utmv%3D'.domainHash($domain).'.Robot%20hostname%3A%20'.gethostbyaddr( $_SERVER

['REMOTE_ADDR'] ).'%3B';
                    httpRequest($utmUrl);
                }
            }
        }
    }
}
?&gt;</pre>
<p>本方法适合使用虚拟主机的朋友，如果您自己有服务器的话建议还是开启服务器日志使用awstats进行分析，英文这样你才能真正的了解蜘蛛，特别是对服务器状态码分析统计。</p>
<p>以上代码参考了一个法文网站，由于代码比较老（2008年的），同时中间的搜索引擎的User-Agent和不太适合中国网站，百度也在近期修改了User-Agent。自己修改了下代码。本代码还未测试，如果发现问题请及时联系。</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/spamreport.html' rel='bookmark' title='向搜索引擎举报作弊网站地址'>向搜索引擎举报作弊网站地址</a></li>
<li><a href='http://www.biaodianfu.com/php-spider-log.html' rel='bookmark' title='PHP版记录蜘蛛爬行历史'>PHP版记录蜘蛛爬行历史</a></li>
<li><a href='http://www.biaodianfu.com/webmaster-tools.html' rel='bookmark' title='网站管理员工具及站长帮助'>网站管理员工具及站长帮助</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/tracking-robots-with-google-analytics.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>百度搜索研发部：页面价值</title>
		<link>http://www.biaodianfu.com/page-value.html</link>
		<comments>http://www.biaodianfu.com/page-value.html#comments</comments>
		<pubDate>Tue, 07 Jun 2011 16:40:17 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[百度]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3822</guid>
		<description><![CDATA[搜索引擎每天处理着数以亿计的查询请求，每个查询请求都代表了一个用户对于某种资源的特定需求。多数时候，通过查询返回的网页结果，这些需求被满足了，我们可以认为结果中的某些页面对特定用户的特定需求产生了价值。那么对于搜索引擎而言，页面的价值是指什么，我们为什么要研究页面价值，技术上怎样判断页面的价值呢？本文将逐一回答这些问题。 一、 什么页面价值。 前面我们说了，某个页面满足了某一用户的特定需求，就体现了这个页面对用户的价值。那么对搜索引擎而言，价值体现在哪些方面呢？一个简单的推论，所有可能会对用户产生价值的页面都是对搜索引擎有价值的，将这些页面建入搜索引擎的索引中能够满足最终检索到它们用户的需求，我们称这种价值为检索价值。只要是能解决某个用户信息需求的，并且是可以通过某些正常检索需求到达的，那么就是有检索价值的。 小学生张三喜欢在qzone上写日记，写他前天吃了什么，今天玩了什么。这些内容，是有价值的。它们对张三的家长、同学、老师，以及其他小学生，和对小学生日记感兴趣的人来说，都是有价值的。对于这个信息体来说，“张三”这个名字是检索的“key”。 有一些信息单元，只有“浏览”价值，而没有到达该信息的检索途径，那么该资源可能是有价值的，但检索价值就很低。比如一张百度大厦附近的地图，从浏览角度，是有价值的；但是如果没有任何周边文字说明（或者link的anchor text），只有一张光秃秃的地图，就没有检索价值。当然，如果图片的内容识别技术，有朝一日能自动识别出这个是“百度大厦附近地图”，或者能够自动分析出地图内的各种大厦、街道、餐馆等的名称，那么这张图一样变得有检索价值了。所以一个页面是否有检索价值，应该取决于两点： 信息解读：检索价值通过页面文本进行判断（包括文字说明、链接锚文字、图片Alt属性等），当文字满足一定的条件（简单的判断方法是单页面的文字数量-重复无效文字数量或可以抽取出内容的关键词）才算是有检索价值。 1） 是否能解决某个特定的需求（价值） 2） 是否可以通过某个常规的搜索方式获得该信息（检索） 那么，没有检索价值的页面，是否对搜索引擎就没有价值了呢？仔细想想，答案是否定的。索引只是搜索引擎的一个环节，对于其他环节而言，没有检索价值的页面有可能对我们更好的收录那些检索价值高的页面有帮助。比如对负责抓取互联网资源的spider而言，有一些页面，本身没有检索价值，但通过这些页面的抓取和分析，能够更快的帮助我们掌握这一类页面没有检索价值这一重要信息，从而节省更多的流量进行更加有效的抓取。 考虑到这种价值可以算作一种“间接的”检索价值，最终还是立足于索引价值的，在本文中就不再展开论述，我们只关注“检索价值”这一根本问题。下文中提到的“页面价值”特指页面的“检索价值”。 信息解读：无检索价值页面会被作为中介被搜索引擎利用。 二、 为什么要研究页面价值 首先，互联网上的页面是无穷尽的，而搜索引擎的硬件资源是有限的，想用有限的资源去覆盖无穷尽的互联网，我们就需要对页面价值做出判断，不收录那些无检索价值的页面，少收录那些检索价值低的页面。这是页面价值在收录控制方面的应用。 信息解读：无检索价值页面或低无检索价值页面不收录。 第二，搜索引擎spider的抓取能力是有限的，出于访问友好性的考虑，对于一个网站或一个IP抓取速率需要有一个抓取速率的上限。在这一限制下，抓取或页面更新就需要有一个先后顺序，而这一排序的主要参考依据就是页面价值，或者说对页面价值的预测（未抓取时）。这是页面价值在spider调度方面的应用。 信息解读：抓取的顺序会按页面价值进行排序（这方面可以对照着服务器日志比对下），同事百度会对一些页面进行价值预测。价值预测的方法我们这边也来预测下：1、由高页面价值链向 2、在同一个网站域名下或频道目录下。 第三，对于某些页面，页面内容发生变化，导致它的检索价值从有到无，典型的就是变为“死链”，或者“被 黑”。对于这些页面，好的搜索引擎会在第一时间将其排除出索引，或在检索时对其进行屏蔽，以保证返回给用户的结果是更多检索价值高的“好页面”。对于另一些页面，它不仅具有很高的检索价值，而且有很强的“时效性”，能够第一时间让用户检索到这些页面对搜索体验有很大的提升。对搜索引擎而言，越快的收录和索引页面意味着越多的额外资源开销，以多快的速度收录和以多短的周期更新索引，需要通过页面价值的分析来指导。这两方面是页面价值在死链率和时效性两大搜索引擎指标提升上的应用。 信息解读：百度对内容更改很敏感，当检索价值从有到无时，会被K。造成检索价值从有到无的主要原因：1、页面被删除或弃用 2、蜘蛛不能正常抓取页面。为了保证时效性，百度的抓取频道很可能受百度搜索结果页面的点击量的影响。 最后，普遍意义上的页面价值高低对搜索引擎返回给用户的结果排序上也存在着指导意义。理想情况下搜索引擎的结果是按照与查询请求的相关性进行排序的，在相关性大体相当的情况下，用户更倾向与浏览普遍意义上页面价值高的网页。这是页面价值在ranking方面的应用。 信息解读：百度排名优先判断页面的相关性，其实每个页面的相关性差距不大。相关性的主要目的是建立索引。排名的主要影响因素还是在页面价值上。 可以说，页面检索价值的研究是搜索引擎中的一项较为基础的工作，对页面价值的认识和判断的准确程度直接影响着搜索引擎的覆盖率、死链率、时效性等几大主要指标。 三、 如何判断页面价值 前文中提到过一个小学生张三qzone日记的例子。我们认为这个页面是有价值的，对张三的同学，朋友，家人都有价值。与此类似的，百度CEO李彦宏在i贴吧上发表一条十几个字的i贴，也是有价值的，对李彦宏的上千万粉丝都有价值。虽然李彦宏的i贴长度可能远小于张三的日记，但就这两个页面的价值来说，我们都会有一个共同的认识，即从普遍意义上讲，李彦宏的i贴价值远大于张三的日记。（当然，对于张三的妈妈来说很可能这个价值的关系是相反的） 信息解读：页面价值与受欢迎程度相关，或是潜在关注群体相关。判断条件可能为1、用户搜索结果页点击 2、查询词的搜索量 再举个例子，搜索某个人的手机号码，搜索引擎返回了一个结果，是这个人在某个论坛上的一个回复。虽然这个手机号码关心的人不多，但因为资源是绝对稀缺的，对于关心这个手机号码的查询需求，这个页面是完全不可替代的，因此具有极高的价值。 信息解读：页面价值与资源的稀缺性相关，稀缺的资源具有较高的价值。判断的条件可能是关键词索引量的多少。 另外，页面检索价值，还受到页面质量的影响。相似的页面，对于满足用户需求来说，往往会有很大差异，比如资源下载速度，页面的布局，广告的多寡。这类差异，姑且称之为页面质量。 信息解读：下载速度，页面的布局，广告的多寡这些可作为页面价值判断的标准，其中广告的多寡很容易进行判断、页面的布局页较好判断，但是下载速度受不同运营商的影响可能比较难判断。 最后，有些页面具有明显的公众话题性质，且这些资源往往在刚刚产生时有非常高的关注度，随着时间的推移热度显著下降，有着“新闻”的特征。典型的像各种“门”事件，地震、火灾等大型的自然灾害。我们认为这类资源具有“时效性”特征。 信息解读：页面质量的实效性判断相对比较简单，主要判断的是最近一段时间的搜索量的变化，对于急剧上升的关键词肯那个对用户的价值在近期会很大。 所以，一个页面的检索价值，大致受以下四个要素的影响： 感兴趣的受众群大小 该页面的稀缺程度（可替代性） 该页面的质量高低 该页面的时效性特征强弱 这四种要素，简称受众，稀缺，质量和时效性。 1. 受众 受众群体的大小，即代表了用户检索需求的大小。评价受众的大小主要依据信息发布源的受众和信息内容本身受众两大方面。具体因素包括且不限于： 网站忠实用户群大小 一般来说，拥有自己忠实用户群的知名网站，他们的成功，在于他们的内容和服务，比别人更能吸引和满足用户。从这个角度来说，我们可以推论，拥有更多忠实用户群的网站上的内容，会比忠实用户群较少的网站上的内容，有更多的既有和潜在受众群。这样的话，忠实用户群大小，就可以变成对站点内资源检索价值的一种衡量指标。忠实用户群的好处在于，它是变动的。如果一个网站变差了，那么用户就会用脚投票。超链有过期问题，作弊问题，而虚假用户群作弊很难。一般所谓的网站知名度，会和忠实用户群数量密切相关。 信息解读：网站流量变化会影响网站的页面价值（考虑到很多网站没有百度统计、百度带给网站的流量页不能考察用户的忠实度，可以考察用户忠实度的应该是二次搜索点击率。） 资源分布规律 我们再考虑一个网站内部的资源分布所体现的受众群大小问题。比如新浪新闻首页的那些推介内容。新浪编辑为什么要推这些内容？因为他们认为这些是用户最感兴趣的。那么从索引价值角度而言，相当于有一个庞大的编辑团队，已经对这些内容打上了“符合大众口味”的标签。搜索引擎只需要乐享其成就行了。这样的话，资源相对于某些结构性关键页面（首页、频道页等）的链接深度，也可以成为衡量一个资源受众群大小的指标了。 信息解读：资源的链接深度会影响到受众群体，简单的讲就是页面相对权重，即站内权重。 [...]]]></description>
			<content:encoded><![CDATA[<p>搜索引擎每天处理着数以亿计的查询请求，每个查询请求都代表了一个用户对于某种资源的特定需求。多数时候，通过查询返回的网页结果，这些<strong>需求被满足</strong>了，我们可以认为结果中的某些页面对特定用户的特定需求产生了价值。那么对于搜索引擎而言，页面的价值是指什么，我们为什么要研究页面价值，技术上怎样判断页面的价值呢？本文将逐一回答这些问题。</p>
<p><strong>一、 </strong><strong>什么页面价值。</strong></p>
<p>前面我们说了，某个页面满足了某一用户的特定需求，就体现了这个页面对用户的价值。那么对搜索引擎而言，价值体现在哪些方面呢？一个简单的推论，所有可能会对用户产生价值的页面都是对搜索引擎有价值的，将这些页面建入搜索引擎的索引中能够满足最终检索到它们用户的需求，我们称这种价值为<strong>检索价值</strong>。只要是能解决某个用户信息需求的，并且是可以通过某些正常检索需求到达的，那么就是有检索价值的。</p>
<p>小学生张三喜欢在qzone上写日记，写他前天吃了什么，今天玩了什么。这些内容，是有价值的。它们对张三的家长、同学、老师，以及其他小学生，和对小学生日记感兴趣的人来说，都是有价值的。对于这个信息体来说，“张三”这个名字是检索的“<strong>key</strong>”。</p>
<p>有一些信息单元，只有“浏览”价值，而没有到达该信息的检索途径，那么该资源可能是有<strong>价值</strong>的，但<strong>检索价值</strong>就很低。比如一张百度大厦附近的地图，从浏览角度，是有价值的；但是如果<strong>没有任何周边文字说明（或者link的anchor text），</strong>只有一张光秃秃的地图，就没有检索价值。当然，如果图片的内容识别技术，有朝一日能自动识别出这个是“百度大厦附近地图”，或者能够自动分析出地图内的各种大厦、街道、餐馆等的名称，那么这张图一样变得有检索价值了。所以一个页面是否有检索价值，应该取决于两点：</p>
<p><strong><span style="color: #ff0000;">信息解读：检索价值通过页面文本进行判断（包括文字说明、链接锚文字、图片Alt属性等），当文字满足一定的条件（简单的判断方法是单页面的文字数量-重复无效文字数量或可以抽取出内容的关键词）才算是有检索价值。</span></strong></p>
<p><strong>1） </strong><strong>是否能解决某个特定的需求（价值）</strong></p>
<p><strong>2） </strong><strong>是否可以通过某个常规的搜索方式获得该信息（检索）</strong></p>
<p>那么，没有检索价值的页面，是否对搜索引擎就没有价值了呢？仔细想想，答案是否定的。索引只是搜索引擎的一个环节，对于其他环节而言，没有检索价值的页面有可能对我们更好的收录那些检索价值高的页面有帮助。比如对负责抓取互联网资源的spider而言，有一些页面，本身没有检索价值，但通过这些页面的抓取和分析，能够更快的帮助我们掌握这一类页面没有检索价值这一重要信息，从而节省更多的流量进行更加有效的抓取。</p>
<p>考虑到这种价值可以算作一种“间接的”检索价值，最终还是立足于索引价值的，在本文中就不再展开论述，我们只关注“检索价值”这一根本问题。下文中提到的“页面价值”特指页面的“检索价值”。</p>
<p><span style="color: #ff0000;"><strong>信息解读：无检索价值页面会被作为中介被搜索引擎利用。</strong></span></p>
<p><strong>二、 </strong><strong>为什么要研究页面价值</strong></p>
<p>首先，互联网上的页面是无穷尽的，而搜索引擎的硬件资源是有限的，想用有限的资源去覆盖无穷尽的互联网，我们就需要对页面价值做出判断，<strong><span style="color: #000000;">不收录那些无检索价值的页面，少收录那些检索价值低的页面。</span></strong>这是页面价值在收录控制方面的应用。</p>
<p><strong><span style="color: #ff0000;">信息解读：无检索价值页面或低无检索价值页面不收录。</span></strong></p>
<p>第二，搜索引擎spider的抓取能力是有限的，出于访问友好性的考虑，对于一个网站或一个IP抓取速率需要有一个<strong>抓取速率的上限</strong>。在这一限制下，<span style="color: #000000;">抓取或页面更新就需要有一个先后顺序，而这一排序的主要参考依据就是页面价值，或者说对页面价值的预测（未抓取时）</span>。这是页面价值在spider调度方面的应用。</p>
<p><strong><span style="color: #ff0000;">信息解读：抓取的顺序会按页面价值进行排序（这方面可以对照着服务器日志比对下），同事百度会对一些页面进行价值预测。价值预测的方法我们这边也来预测下：1、由高页面价值链向 2、在同一个网站域名下或频道目录下。</span></strong></p>
<p>第三，对于某些页面，<span style="color: #000000;"><strong>页面内容发生变化，导致它的检索价值从有到无</strong></span>，典型的就是变为“死链”，或者“被 黑”。对于这些页面，好的搜索引擎会在<span style="color: #000000;"><strong>第一时间</strong></span>将其排除出索引，或在检索时对其进行屏蔽，以保证返回给用户的结果是更多检索价值高的“好页面”。对于另一些页面，它不仅具有很高的检索价值，而且有很强的“时效性”，能够第一时间让用户检索到这些页面对搜索体验有很大的提升。对搜索引擎而言，越快的收录和索引页面意味着越多的额外资源开销，以多快的速度收录和以多短的周期更新索引，需要通过页面价值的分析来指导。这两方面是页面价值在死链率和时效性两大搜索引擎指标提升上的应用。</p>
<p><strong><span style="color: #ff0000;">信息解读：百度对内容更改很敏感，当检索价值从有到无时，会被K。造成检索价值从有到无的主要原因：1、页面被删除或弃用 2、蜘蛛不能正常抓取页面。为了保证时效性，百度的抓取频道很可能受百度搜索结果页面的点击量的影响。</span></strong></p>
<p>最后，普遍意义上的页面价值高低对搜索引擎返回给用户的结果排序上也存在着指导意义。理想情况下搜索引擎的结果是按照与查询请求的相关性进行排序的，在<strong><span style="color: #ff0000;">相关性</span></strong>大体相当的情况下，用户更倾向与浏览普遍意义上页面价值高的网页。这是页面价值在<strong><span style="color: #ff0000;">ranking</span></strong>方面的应用。</p>
<p><span style="color: #ff0000;"><strong>信息解读：百度排名优先判断页面的相关性，其实每个页面的相关性差距不大。相关性的主要目的是建立索引。排名的主要影响因素还是在页面价值上。</strong></span></p>
<p>可以说，页面检索价值的研究是搜索引擎中的一项较为基础的工作，对页面价值的认识和判断的准确程度直接影响着搜索引擎的<span style="color: #000000;"><strong>覆盖率、死链率、时效性</strong></span>等几大主要指标。</p>
<p><strong>三、 </strong><strong>如何判断页面价值</strong></p>
<p>前文中提到过一个小学生张三qzone日记的例子。我们认为这个页面是有价值的，对张三的同学，朋友，家人都有价值。与此类似的，百度CEO李彦宏在i贴吧上发表一条十几个字的i贴，也是有价值的，对李彦宏的上千万粉丝都有价值。虽然李彦宏的i贴长度可能远小于张三的日记，但就这两个页面的价值来说，我们都会有一个共同的认识，即从普遍意义上讲，李彦宏的i贴价值远大于张三的日记。（当然，对于张三的妈妈来说很可能这个价值的关系是相反的）</p>
<p><strong><span style="color: #ff0000;">信息解读：页面价值与受欢迎程度相关，或是潜在关注群体相关。判断条件可能为1、用户搜索结果页点击 2、查询词的搜索量</span></strong></p>
<p>再举个例子，搜索某个人的手机号码，搜索引擎返回了一个结果，是这个人在某个论坛上的一个回复。虽然这个手机号码关心的人不多，但因为资源是绝对稀缺的，对于关心这个手机号码的查询需求，这个页面是完全不可替代的，因此具有极高的价值。</p>
<p><strong><span style="color: #ff0000;">信息解读：页面价值与资源的稀缺性相关，稀缺的资源具有较高的价值。判断的条件可能是关键词索引量的多少。</span></strong></p>
<p>另外，页面检索价值，还受到页面质量的影响。相似的页面，对于满足用户需求来说，往往会有很大差异，比如资源下载速度，页面的布局，广告的多寡。这类差异，姑且称之为页面质量。</p>
<p><strong><span style="color: #ff0000;">信息解读：下载速度，页面的布局，广告的多寡这些可作为页面价值判断的标准，其中广告的多寡很容易进行判断、页面的布局页较好判断，但是下载速度受不同运营商的影响可能比较难判断。</span></strong></p>
<p>最后，有些页面具有明显的公众话题性质，且这些资源往往在刚刚产生时有非常高的关注度，随着时间的推移热度显著下降，有着“新闻”的特征。典型的像各种“门”事件，地震、火灾等大型的自然灾害。我们认为这类资源具有“时效性”特征。</p>
<p><strong><span style="color: #ff0000;">信息解读：页面质量的实效性判断相对比较简单，主要判断的是最近一段时间的搜索量的变化，对于急剧上升的关键词肯那个对用户的价值在近期会很大。</span></strong></p>
<p>所以，一个页面的检索价值，大致受以下四个要素的影响：</p>
<ul>
<li>感兴趣的受众群大小</li>
<li>该页面的稀缺程度（可替代性）</li>
<li>该页面的质量高低</li>
<li>该页面的时效性特征强弱</li>
</ul>
<p>这四种要素，简称<strong>受众，稀缺，质量和时效性。</strong></p>
<p><strong>1. </strong><strong>受众</strong></p>
<p>受众群体的大小，即代表了用户检索需求的大小。评价受众的大小主要依据信息<strong>发布源的受众</strong>和<strong>信息内容本身受众</strong>两大方面。具体因素包括且不限于：</p>
<p><strong>网站忠实用户群大小</strong></p>
<p>一般来说，拥有自己忠实用户群的知名网站，他们的成功，在于他们的内容和服务，比别人更能吸引和满足用户。从这个角度来说，我们可以推论，拥有更多忠实用户群的网站上的内容，会比忠实用户群较少的网站上的内容，有更多的既有和潜在受众群。这样的话，忠实用户群大小，就可以变成对站点内资源检索价值的一种衡量指标。忠实用户群的好处在于，它是变动的。如果一个网站变差了，那么用户就会用脚投票。超链有过期问题，作弊问题，<strong>而虚假用户群作弊很难</strong>。一般所谓的网站知名度，会和忠实用户群数量密切相关。</p>
<p><strong><span style="color: #ff0000;">信息解读：网站流量变化会影响网站的页面价值（考虑到很多网站没有百度统计、百度带给网站的流量页不能考察用户的忠实度，可以考察用户忠实度的应该是二次搜索点击率。）</span></strong></p>
<p><strong>资源分布规律</strong></p>
<p>我们再考虑一个网站内部的资源分布所体现的受众群大小问题。比如新浪新闻首页的那些推介内容。新浪编辑为什么要推这些内容？因为他们认为这些是用户最感兴趣的。那么从索引价值角度而言，相当于有一个庞大的编辑团队，已经对这些内容打上了“符合大众口味”的标签。搜索引擎只需要乐享其成就行了。这样的话，资源相对于某些结构性关键页面（首页、频道页等）的链接深度，也可以成为衡量一个资源受众群大小的指标了。</p>
<p><span style="color: #ff0000;"><strong>信息解读：资源的链接深度会影响到受众群体，简单的讲就是页面相对权重，即站内权重。</strong></span></p>
<p><strong>访问热门度</strong></p>
<p>我们再从访问热门度角度来考虑受众群大小问题。这个是最直接的，当然，它需要第三方的工具来获取关键数据。通过这个途径，获取的不应仅仅是需要入库的页面，还有用户访问一个网站的访问模式。</p>
<p><strong><span style="color: #ff0000;">信息解读：百度统计的目的还有马上要上线的百度分享或是百度工具条都可以作为获取此方面数据的来源。</span></strong></p>
<p><strong>超链</strong></p>
<p>超链某种程度上也是受众群大小的反映。某个资源的质量越高，接触的受众群越大，那么获得正常链接的数量往往也越大。</p>
<p><strong><span style="color: #ff0000;">信息解读：相对于上面的内部权重，这里主要是页面的流行度，可以说是外部权重。</span></strong></p>
<p><strong>内容特征</strong></p>
<p>A：我写博客：“传言郭德纲要上春晚了。”</p>
<p>B：我写博客：“我今天吃早饭了。”</p>
<p>同样的来源，前者的受众必然高于后者。即：当在发布源相同的情况下，具有公众属性的内容分值会更高。</p>
<p><strong><span style="color: #ff0000;">信息解读：包含公众内容的页面价值相对于不包含公众内容的价值要高。</span></strong></p>
<p><strong>2. </strong><strong>稀缺</strong></p>
<p>稀缺主要是描述页面在互联网中的独特性。说到稀缺往往会想到重复，稀缺是否等同于无重复，我们应该怎样解读这一概念呢？可以看一个例子：</p>
<p>某人发表了一篇针对某新闻事件的原创博客，随后被新浪转载到了新闻频道。从描述的内容上讲，这是一种重复。但这种重复仅仅是主体内容上的重复，一方面它的转载带来了访问速度、稳定性等方面的增益，并且之后的检索用户还有可能用“新闻事件+新浪”来检索此新闻。这可以被称之为<strong>站点增益</strong>。另一方面，它在转载过程中可能会改变页面的标题，而且依托其受众，在转载页面上，还有可能出现更多的有价值评论和回复等，还有可能存在指向其它相关事件的新闻链接。这些可以被称之为<strong>内容增益</strong>。因此即使主题内容没有任何变化，新浪的这次转载也是有价值的，其稀缺度也是较高的。</p>
<p><span style="color: #ff0000;"><strong>信息解读：内容的价值判断不是按照发布的时间或者版权方来衡量的，百度的衡量标准主要是通过站点增益（网站的权重越高越有优势）和内容增益（相关内容或其他相关链接）来度量的。</strong></span></p>
<p>同样，反过来说，如果转载的网站相当不知名，则其无法带来站点名/稳定性/速度的增益。更有甚者，转载之后在页面上加入大量广告妨碍阅读，或者只转载了内容中不完整的一部分，这样的转载，或者说采集，就是纯重复的，与采集源相比，就是没有检索价值的了。</p>
<p><strong><span style="color: #ff0000;">信息解读：百度是对广告有做判断的呃，页面上存在大量的广告肯定影响用户体验，这也是百度不愿看到的。</span></strong></p>
<p>综上所述，对于主体内容重复的页面，我们应该评价其是否存在站点增益和内容增益，只有对于大量完全无增益的重复页面，我们才应该认为其稀缺度较低。</p>
<p><strong>3. </strong><strong>质量</strong></p>
<p>页面的质量是它对需求的满足程度的一种体现。判断页面质量的高低，应该是从最基础的需求依次递进的。</p>
<p>首先，不能是<span style="color: #000000;">死链</span>、网站要有一定的稳定性、访问速度要令人满意。</p>
<p>其次，主体内容是否完整、版式和字体是否易读、各类广告会不会太多。</p>
<p>最后，信息是否丰富、延伸出的次级需求是否满足。</p>
<p>典型的低质量页面存在以下一些特征：</p>
<ul>
<li>主需求无效/未满足（过期分类广告/软件下载页面，<strong>下载链接无效</strong>等）</li>
<li>死链</li>
<li><strong>虚假信息/诈骗等</strong></li>
<li>空页面</li>
<li>站点不稳定</li>
<li>影响主需求的权限问题（下载/浏览需要<span style="color: #000000;"><strong>注册会员/积分</strong></span>等）</li>
<li>信息不完整（<strong>转载不全</strong>等）</li>
<li>浏览体验差（广告/<strong>字体</strong>/页面布局等）</li>
</ul>
<p>典型的高质量页面存在以下一些特征：</p>
<p>访问速度快（页面加载快/资源下载速度快）</p>
<ul>
<li>页面整洁干净，主体内容在显著位置。</li>
<li>页面信息完整。</li>
<li>页面元素丰富（<strong>文字、图片、评论、相关推荐等</strong>）</li>
</ul>
<p><span style="color: #ff0000;"><strong>信息解读：对图文并或相关推荐等增加页面的价值。</strong></span></p>
<p><strong>4. </strong><strong>时效性</strong></p>
<p>“时效性”是页面价值的一个属性，它一般体现在两个方面：一是页面所描述的事物本身有着较强的公众话题性，容易被传播。这其实是受众的一个体现。二是页面所描述的事物仅在第一时间有较高热度，随着时间推移热度显著下降。这是一种“新闻”性。对于具有上述两种属性的页面，如果搜索引擎spider发现页面的时间正处于该事物的“爆发期”或“爆发期”之前，我们认为该页面具有时效性。</p>
<p>需要说明的是，搜索引擎的广义“时效性”是指对所有有价值新资源的及时收录提供检索，而所有的有价值新资源中，有一大部分其收录速度的提升对用户的搜索体验改善意义是不大的，比如介绍如何瘦身的知识性文章，张三的日记。页面价值中的“时效性”指得是一种突发时效性，也就是所有有价值页面中最需要及时收录的那些。对页面时效性的判断是为了指导我们将搜索引擎有限的资源投入到最关键的地方，产生最好的性价比。</p>
<p>判断页面的时效性价值，主要通过下面一些途径：</p>
<ul>
<li>页面本身受众是否有短时间的突增，比如超链爆发。妈妈喊你吃饭的帖子就是一个典型的例子。</li>
<li>描述相同事物的互联网页面是否有段时间的突增。妈妈喊你吃饭事件短时间内爆发出大量相关讨论、报道，和这一事件相关的所有内容都具有了时效性属性。</li>
<li>根据一个集合内的页面是否具有上述两种特征，推测该集合的时效性价值。比如魔兽 世界 吧经常爆出一些热门帖子，公 众 话题，我们推测出自魔兽 世界 吧的帖子其时效性“<strong>潜在价值</strong>”比较高。</li>
</ul>
<p><strong>四、 </strong><strong>页面价值的研究重点</strong></p>
<p>前文已经介绍了页面价值的含义，研究的意义与价值判断的方法。最后我们再看一下，从技术角度上，这一方向的研究中的重点方向。对页面价值的研究工作主要致力于三方面：</p>
<ol>
<li>对页面价值体系的认识。我们目前对页面价值的认识是来源于前文所述的四个维度，这个认识是否全面，对于不断变化的互联网环境与用户需求，这些维度应该如何扩展与变化才能更好的服务于整体的搜索体验提升，是一个很重要问题。</li>
<li>对于反映页面价值的页面特征提取。巧妇难为无米之炊，挖掘更多的页面特征，更准确合理的特征提取是页面价值判定准确率提升的基础。</li>
<li>对各种页面特征的组合策略（机器学习）。针对不用的应用方向，需要利用相应的特征通过合理且高效的策略拟合出页面价值的最终评价结果。</li>
</ol>
<p><span style="color: #ff0000;"><strong>看完这篇文章后应该对百度大致的排名影响因素有了了解，其中上述讲到的很多东西可以去实践，去优化。对于百度官方的每一篇网站真的应该好好的去学习研究。</strong></span></p>
<p>原文链接：<a href="http://stblog.baidu-tech.com/?p=392">http://stblog.baidu-tech.com/?p=392</a></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/baidu-seo-index-questions.html' rel='bookmark' title='百度站长俱乐部收录相关问题'>百度站长俱乐部收录相关问题</a></li>
<li><a href='http://www.biaodianfu.com/baidu-seo-link-questions.html' rel='bookmark' title='百度站长俱乐部权重传递相关问题'>百度站长俱乐部权重传递相关问题</a></li>
<li><a href='http://www.biaodianfu.com/the-improvement-for-sorting-algorithm-of-search-engine.html' rel='bookmark' title='基于网页分块的搜索引擎排序算法改进'>基于网页分块的搜索引擎排序算法改进</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/page-value.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一种基于用户兴趣的搜索引擎输入信息处理方法</title>
		<link>http://www.biaodianfu.com/a-new-importation-of-information-processing-methods-based-on-user-interested.html</link>
		<comments>http://www.biaodianfu.com/a-new-importation-of-information-processing-methods-based-on-user-interested.html#comments</comments>
		<pubDate>Mon, 30 May 2011 14:09:40 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[兴趣]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3773</guid>
		<description><![CDATA[0 引言 随着网民使用互联网熟练程度的不断增加以及互联网技术的不断发展，搜索引擎技术两个主要的发展方向是实现个性化和智能化搜索[1]。个性化搜索主要是通过跟踪分析用户的搜索行为，充分地利用这些信息来提高用户的搜索效率；智能化搜索主要体现在以下两方面，一是对搜索需求信息的理解，二是系统具有自适应、自调节的能力。 目前的搜索引擎主要是采用以关键字输入为基础的检索[2，3]，用户输入检索关键字向搜索引擎提出查询请求,搜擎根据关键字对网页索引库进行检索,对检索结果按照一算法排序后返回。这种方式具有一定的局限性： 用户难以清楚的表达实际需求信息； 搜索引擎不能较好的理解自然语言输入信息。 实际上，输入方式往往决定了整个搜索引擎系统的索引方式、检索方式，甚至体系结构。抛弃自然语言理解技术不发达、用户对搜索引擎不熟悉等客观因素，依然可以在挖掘用户认知能力、设置个性化环节等方面改进输入方式，从而提高检索质量。本文通过对搜索引擎系统的改进，提出了一种新的输入信息处理方法，可以有效地提高搜索结果的查全率和有效率。 1 系统模块及其功能 本文的个性化搜索引擎系统主要包括用户代理模块、查询扩展和分析模块、独立搜索引擎接口模块、信息过滤模块、结果反馈模块、数据库模块等部分。 各个模块所要实现的功能如下： （1）用户代理模块主要是向系统发出请求和接受系统的查询结果，给用户提供一个友好的交互界面。根据用户的输入检索信息，结合搜索引擎的检索器的接受输入格式，对复杂的搜索引擎的语法进行研究并作相应的转换，从而使独立搜索引擎可以更好的理解用户的需求信息，更好的发挥独立搜索引擎的检索优势，这样就提高了搜索引擎的关键词语法转化能力，从而减少因语法转化造成的信息丢失。 （2）查询扩展模块主要是根据用户兴趣库内容和信息反馈模块来对输入信息进一步进行归纳和综合整理，从而可以全面的理解和识别用户的实际需求信息，可以进一步提高搜索引擎的查全率和准确率。 （3）独立搜索引擎接口模块根据用户查询的信息内容不同以及各个搜索引擎的查询优势不同，合理的选择独立搜索引擎进行搜索查询。 （4）信息过滤模块实现信息过滤，根据信息过滤算法和用户兴趣库对独立搜索引擎返回的信息检索结果做进一步处理，去掉重复文档并按相关度排序后提交给用户，过滤掉与用户背景知识无关或用户不感兴趣的信息，提高查准率。 （5）结果反馈模块主要是根据用户对查询结果的查看以及评价信息，对查询结果进行分析和归纳，并把分析结果作出相应的处理，将用户输入感兴趣的内容信息传递到用户兴趣库中，并把语义相关的关键词保存到关键词库中，根据相应的算法作相关度处理。搜索引擎可据此信息过滤下次搜索的不相关或相关度不大的检索结果，精简检索结果，并且从用户反馈和检索结果中提取用户偏好信息，动态地修改用户兴趣库和语义相关库。 （6）数据库模块主要包括两部分： 用户兴趣库为了提供面向用户的检索，系统必须维护用户的相关特征。一般地，用户信息应该包括用户感兴趣的主题、浏览方式、用户的领域知识、用户目标、背景、使用经验以及相应爱好等。 语义相关库建立语义相关信息库，主要是通过各种反馈技术与数据挖掘技术相结合来对同一关键词作进一步分析，从而得到更多的相关语义信息，进而准确理解用户的需求信息，提高搜索引擎的查全率。 2 系统结构图及信息处理流程 本文所研究的个性化智能搜索引擎系统结构图如图1 所示。 其工作流程如下： 用户输入查询信息。 根据输入信息进行关键词拆分，调整查询表达式。 结合用户兴趣库和语义相关库更改关键词内容，调整用户查询表达式。 通过检索器（独立搜索引擎）来搜索相关信息。 依照用户兴趣来分析过滤检索结果。 将检索结果返回给用户。 根据用户的查询行为反馈去更新用户兴趣库及相关语义库。 其中输入信息处理部分的流程图如图2 所示： 3 应用技术的研究及实现 3.1 用户兴趣模型的建立 此部分的主要目的是建立用户兴趣库[4]，主要又可分为以下几部分： 兴趣匹配模块。 兴趣初始化模块（包括角色兴趣初始化模块和用户兴趣初始化模块）。 兴趣管理模块（包括角色兴趣管理模块和用户兴趣管理模块）。 兴趣优化模块（包括角色兴趣优化模块和用户兴趣优化模块）。 用户兴趣模型图如图3 所示： 3.1.1 兴趣初始化模块 3.1.1.1 角色兴趣初始化 在系统初始化的时候, 我们通过给每个角色提供一系列的兴趣文档RD={D1，D2，…Dn}，然后对该角色的兴趣模型进行初始化。初始化的过程就是根据这些兴趣文档, 采用下面的算法产生角色的兴趣集RV={V1，V2，…Vm}。 在上面的算法中，对于每个兴趣文档Di，我们采用VSM的相似度计算兴趣文档Di 和角色的每个兴趣Vj 的匹配度，如果匹配度大于阈值λ，则将文档Vj 的词向量（乘以一个权重P（Di，Vj））增加到兴趣Vj [...]]]></description>
			<content:encoded><![CDATA[<p><strong>0 引言</strong></p>
<p>随着网民使用互联网熟练程度的不断增加以及互联网技术的不断发展，搜索引擎技术两个主要的发展方向是实现个性化和智能化搜索[1]。个性化搜索主要是通过跟踪分析用户的搜索行为，充分地利用这些信息来提高用户的搜索效率；智能化搜索主要体现在以下两方面，一是对搜索需求信息的理解，二是系统具有自适应、自调节的能力。</p>
<p>目前的搜索引擎主要是采用以关键字输入为基础的检索[2，3]，用户输入检索关键字向搜索引擎提出查询请求,搜擎根据关键字对网页索引库进行检索,对检索结果按照一算法排序后返回。这种方式具有一定的局限性：</p>
<ol>
<li>用户难以清楚的表达实际需求信息；</li>
<li>搜索引擎不能较好的理解自然语言输入信息。</li>
</ol>
<p>实际上，输入方式往往决定了整个搜索引擎系统的索引方式、检索方式，甚至体系结构。抛弃自然语言理解技术不发达、用户对搜索引擎不熟悉等客观因素，依然可以在挖掘用户认知能力、设置个性化环节等方面改进输入方式，从而提高检索质量。本文通过对搜索引擎系统的改进，提出了一种新的输入信息处理方法，可以有效地提高搜索结果的查全率和有效率。</p>
<p><strong>1 系统模块及其功能</strong></p>
<p>本文的个性化搜索引擎系统主要包括用户代理模块、查询扩展和分析模块、独立搜索引擎接口模块、信息过滤模块、结果反馈模块、数据库模块等部分。</p>
<p>各个模块所要实现的功能如下：</p>
<p>（1）用户代理模块主要是向系统发出请求和接受系统的查询结果，给用户提供一个友好的交互界面。根据用户的输入检索信息，结合搜索引擎的检索器的接受输入格式，对复杂的搜索引擎的语法进行研究并作相应的转换，从而使独立搜索引擎可以更好的理解用户的需求信息，更好的发挥独立搜索引擎的检索优势，这样就提高了搜索引擎的关键词语法转化能力，从而减少因语法转化造成的信息丢失。</p>
<p>（2）查询扩展模块主要是根据用户兴趣库内容和信息反馈模块来对输入信息进一步进行归纳和综合整理，从而可以全面的理解和识别用户的实际需求信息，可以进一步提高搜索引擎的查全率和准确率。</p>
<p>（3）独立搜索引擎接口模块根据用户查询的信息内容不同以及各个搜索引擎的查询优势不同，合理的选择独立搜索引擎进行搜索查询。</p>
<p>（4）信息过滤模块实现信息过滤，根据信息过滤算法和用户兴趣库对独立搜索引擎返回的信息检索结果做进一步处理，去掉重复文档并按相关度排序后提交给用户，过滤掉与用户背景知识无关或用户不感兴趣的信息，提高查准率。</p>
<p>（5）结果反馈模块主要是根据用户对查询结果的查看以及评价信息，对查询结果进行分析和归纳，并把分析结果作出相应的处理，将用户输入感兴趣的内容信息传递到用户兴趣库中，并把语义相关的关键词保存到关键词库中，根据相应的算法作相关度处理。搜索引擎可据此信息过滤下次搜索的不相关或相关度不大的检索结果，精简检索结果，并且从用户反馈和检索结果中提取用户偏好信息，动态地修改用户兴趣库和语义相关库。</p>
<p>（6）数据库模块主要包括两部分：</p>
<ol>
<li>用户兴趣库为了提供面向用户的检索，系统必须维护用户的相关特征。一般地，用户信息应该包括用户感兴趣的主题、浏览方式、用户的领域知识、用户目标、背景、使用经验以及相应爱好等。</li>
<li>语义相关库建立语义相关信息库，主要是通过各种反馈技术与数据挖掘技术相结合来对同一关键词作进一步分析，从而得到更多的相关语义信息，进而准确理解用户的需求信息，提高搜索引擎的查全率。</li>
</ol>
<p><strong>2 系统结构图及信息处理流程</strong></p>
<p>本文所研究的个性化智能搜索引擎系统结构图如图1 所示。</p>
<p><strong><img title="jiegoutu" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/jiegoutu.png" alt="" width="396" height="272" /></strong></p>
<p>其工作流程如下：</p>
<ol>
<li>用户输入查询信息。</li>
<li>根据输入信息进行关键词拆分，调整查询表达式。</li>
<li>结合用户兴趣库和语义相关库更改关键词内容，调整用户查询表达式。</li>
<li>通过检索器（独立搜索引擎）来搜索相关信息。</li>
<li>依照用户兴趣来分析过滤检索结果。</li>
<li>将检索结果返回给用户。</li>
<li>根据用户的查询行为反馈去更新用户兴趣库及相关语义库。</li>
</ol>
<p>其中输入信息处理部分的流程图如图2 所示：</p>
<p><img class="alignnone size-full wp-image-3775" title="liuchengtu" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/liuchengtu.png" alt="" width="387" height="335" /></p>
<p><strong>3 应用技术的研究及实现</strong></p>
<p><strong>3.1 用户兴趣模型的建立</strong></p>
<p>此部分的主要目的是建立用户兴趣库[4]，主要又可分为以下几部分：</p>
<ol>
<li>兴趣匹配模块。</li>
<li>兴趣初始化模块（包括角色兴趣初始化模块和用户兴趣初始化模块）。</li>
<li>兴趣管理模块（包括角色兴趣管理模块和用户兴趣管理模块）。</li>
<li>兴趣优化模块（包括角色兴趣优化模块和用户兴趣优化模块）。</li>
</ol>
<p>用户兴趣模型图如图3 所示：</p>
<p><img class="alignnone size-full wp-image-3776" title="xingqu" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/xingqu.png" alt="" width="358" height="249" /></p>
<p>3.1.1 兴趣初始化模块</p>
<p>3.1.1.1 角色兴趣初始化</p>
<p>在系统初始化的时候, 我们通过给每个角色提供一系列的兴趣文档RD={D1，D2，…Dn}，然后对该角色的兴趣模型进行初始化。初始化的过程就是根据这些兴趣文档, 采用下面的算法产生角色的兴趣集RV={V1，V2，…Vm}。</p>
<p><strong><img title="suanfa" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/suanfa.png" alt="" width="361" height="182" /></strong></p>
<p>在上面的算法中，对于每个兴趣文档Di，我们采用VSM的相似度计算兴趣文档Di 和角色的每个兴趣Vj 的匹配度，如果匹配度大于阈值λ，则将文档Vj 的词向量（乘以一个权重P（Di，Vj））增加到兴趣Vj 的向量中。如果兴趣文档和角色的所有兴趣的匹配度都低于阈值，则从该兴趣文档产生一个新的用户兴趣，并将该用户兴趣增加到用户兴趣集RV 中。</p>
<p>在这个算法中，对阈值λ 的设置尤为关键。阈值设置得太小,则产生的兴趣太少。阈值设置得过大，则产生的兴趣过多。可以看到,随着阈值的减小，用户的每个兴趣覆盖的兴趣文档也越多，更能反映用户的兴趣,因此能有效地提高查询的查全率。但同时，由于覆盖的兴趣文档越多，引入的噪声也越大，将会导致查准率降低。只有选择恰当的阈值，才能够做到有效地对用户的兴趣进行表示和基于用户兴趣进行有效的查询。</p>
<p>3.1.1.2 用户兴趣初始化</p>
<p>在系统中，用户兴趣初始化通过用户注册服务来实现。当用户注册系统时，需要设置自己所属的角色的类型，以便初始化该用户的兴趣。用户的初始兴趣集是用户所设置的所有角色的兴趣集的并集。设用户所设置的角色为R1，R2，…Rn， 则用户初始兴趣集为UV=R1V∪R2V∪…∪RnV。</p>
<p>3.1.2 用户兴趣管理模块</p>
<p>提供了用户兴趣管理模块，用户可以查看自己当前的兴趣，以及每个兴趣词向量信息，可以手工地增加、修改和删除某个兴趣的词向量或者某个兴趣。通过这种途径，高级用户能够有效地调整自己的兴趣模型,从而使自己的兴趣模型尽量地符合自己的需求。同样设置一个角色兴趣管理模块，管理员可以手工地调整每个角色的兴趣及兴趣的词向量，从而提高角色兴趣模型的准确性。</p>
<p>3.1.3 用户兴趣优化模块在系统中,通过运行一个后台程序，定期扫描用户角色兴趣集中的兴趣，将那些相似的兴趣（相似度大于某个阈值）合并为一个大的兴趣，从而减少用户兴趣的数量，提高用户兴趣的质量，优化算法如下:</p>
<p><img class="alignnone size-full wp-image-3778" title="youhuasuanfa" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/youhuasuanfa.png" alt="" width="196" height="72" /></p>
<p><strong>3.2 相关反馈技术的研究</strong></p>
<p>兴趣相似的用户也会有不同的侧重点，并且用户的兴趣随着时间会渐进变化，因此使用静态的用户兴趣模型往往不能完全反映用户的兴趣。反馈模块的作用就是让用户通过自己的检索行为或其他方法对自己的兴趣模型和相关语义进行有效的修正，使自己的用户兴趣模型越来越接近自己的实际兴趣，并且使系统语义库信息更加完善。系统获得反馈的途径可以有多种方式[5]，本文主要对以下两种方法进行研究。</p>
<p>3.2.1 点击反馈技术</p>
<p>用户对检索结果的点击是一种正向的反馈，表示用户认为这条检索结果切合他这次的查询意向，因此我们采用被点击的检索结果的向量更新用户的兴趣模型，其算法类似于角色兴趣模型的初始化算法，即如果被点击的检索结果Di 和用户的某个兴趣Vj 比较相似，则将该检索结果的向量（乘以相似度作为权重）增加到兴趣Vj 中；如果检索结果Di 和用户的所有兴趣都不相似，则采用Di 初始化一个新的兴趣V，并加入到用户的兴趣集中。</p>
<p>对于用户所属的角色R，我们采用类似的方法，用Di 的向量更新角色R 的兴趣模型。</p>
<p>同样类似利用网页的深层连接去挖掘相关信息，从而进一步结合查询相关语义库信息去更新相关语义库信息。</p>
<p>3.2.2 评分反馈</p>
<p>用户在点击某条结果后，可以对该结果进行评分，用好、中、差来表示。我们采用和点击反馈类似的方法将文档Di 的向量更新用户的兴趣模型，即将该被评分的文档Di 的向量，乘以评分的值作为权重，增加到用户的相似的兴趣Vj 中。可以看到，采用这种方法，用户能够对由于点击而造成的错误反馈进行反悔，并对点击造成的正确反馈进行鼓励，从而进一步提高用户兴趣模型的准确性。如果用户不对点击结果进行评分反馈，则我们认为用户的评分反馈是中。对于用户所属的角色R，我们采用类似的方法，用Di 的向量更新角色R 的兴趣模型。</p>
<p>通过类似的评价方法去修改语义相关词的相关度，根据每次点击信息去增加或减少相关度，从而使系统更好地理解用户的实际需求。</p>
<p><strong>4 实验设计</strong></p>
<p>实验平台的搭建主要分为以下几部分：</p>
<ol>
<li>独立搜索引擎的部分采用百度搜索引擎进行信息检索实验；</li>
<li>输入信息分词部分使用中国科学院计算技术研究所的中文分词系统ICT- CLAS 对输入信息分词处理；</li>
<li>关键词处理扩展算法部分采用c# 语言、.net开发功能模块；</li>
<li>用户兴趣库以及相关信息采用xml 文档格式进行存储；</li>
<li>反馈技术部分采用点击反馈和评分反馈相结合进行试验；</li>
</ol>
<p>实验数据部分主要分为：</p>
<ol>
<li>取5 种不同兴趣的用户进行实验；</li>
<li>对每一用户，选取不同的输入信息内容进行输入检索实验，内容如下：</li>
</ol>
<p><strong><img title="shiyan" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/shiyan.png" alt="" width="403" height="175" /></strong></p>
<p>实验结果数据的比较分为：</p>
<ol>
<li>同一检索内容，不同用户角色检索结果的比较；</li>
<li>同一用户，同一检索信息在百度上检索与在此实验系统运行下检索结果的数据比较；</li>
</ol>
<p>在系统初始运行时，各种数据比较差距不大，随着系统的逐渐训练的运行一段时间后，多次实验结果比较表明，经过关键词处理后的检索结果较原始输入检索结果查准率和用户满意度有明显的提高。</p>
<p><strong>5 总结</strong></p>
<p>本文提出了一种基于用户兴趣和相关语义库信息,并结合各种相关反馈技术的搜索引擎系统模型，主要对个性化搜索引擎的输入信息处理上进行了改进。基于这种输入处理机制，在一定程度上可以实现智能输入识别功能，从而更加有效的提高关键词查询的准确率和查全率。</p>
<p><strong>参考文献：</strong></p>
<p>[1] 陈金阳,蒋建中,郭军利，等.一种带反馈自适应的搜索引擎系统结构的研究[J].计算机与网络. 2003(23):54- 58.<br />
[2] E.M.Voorhees,D.K.Harman,editors. Proceedings of 5th Text Retrieval Conference, Gaithersburg, Maryland,USA,November,1996.<br />
[3] S.Wu,F.Crestani.Data Fusion with Estimated Weights.In Proceedings of the Eleventh International Conference on Information and Knowledge Management, McLean,USA,November 2001.<br />
[4] 肖卓程,荆金华. 基于用户兴趣的搜索引擎[J].计算机应用与软件.2007,24（09）:134- 136.<br />
[5] 殷亚玲,张蕾. 搜索引擎中语义相关反馈技术的研究[J]. 计算机技术与发展.2006,16（02）:167- 170.<br />
[6] 韩坤,王剑锋,崔忠强. Internet 的个性化搜索引擎的分析与研究[J].现代计算机.2005.10（221）:31- 34.<br />
[7] 朱素媛，马溪俊，梁昌勇.人工智能技术在搜索引擎中的应用[J].合肥工业大学学报.2003(26):657- 661.<br />
[8] 徐宝文，张卫峰.搜索引攀与信息获取技术[M].北京:清华大学出版社，2003.<br />
[9] Shen Xuehua,Tan Bin,Zhai ChengXiang.Implicit user modeling for personalized search [C].Bremen,Germany:Proceedings of the 14th ACMInternational Conference on Information and Knowle- dge Management (CIKM&#8217;05),2005.824- 831.<br />
[10] 印鉴,陈忆群,张钢.搜索引擎技术研究与发展[J].计算机工程, 2005 (14):54- 56, 104.</p>
<p><strong>本文作者：丁伟，谢彦峰，张忠林 （兰州交通大学电子与信息工程学院，甘肃兰州730070）</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-news-model-and-techmeme-model-in-scientific-news-feeds.html' rel='bookmark' title='新闻聚合之Google news模式与 Techmeme模式'>新闻聚合之Google news模式与 Techmeme模式</a></li>
<li><a href='http://www.biaodianfu.com/ctrip-reports-third-quarter-2010-financial-results.html' rel='bookmark' title='Ctrip Reports Third Quarter 2010 Financial Results'>Ctrip Reports Third Quarter 2010 Financial Results</a></li>
<li><a href='http://www.biaodianfu.com/coreamp.html' rel='bookmark' title='PHP集成运行环境推荐:CoreAMP'>PHP集成运行环境推荐:CoreAMP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/a-new-importation-of-information-processing-methods-based-on-user-interested.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>基于PageRank算法的搜索引擎优化策略</title>
		<link>http://www.biaodianfu.com/optimizing-strategies-for-search-engines-based-on-pagerank-algorithm.html</link>
		<comments>http://www.biaodianfu.com/optimizing-strategies-for-search-engines-based-on-pagerank-algorithm.html#comments</comments>
		<pubDate>Mon, 30 May 2011 13:23:09 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PageRank]]></category>
		<category><![CDATA[链接]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3769</guid>
		<description><![CDATA[在介绍Google等搜索引擎最常用的PageRank搜索结果排名算法的基础上,详细阐述了各种网页链接结构对基于PageRank算法的网站搜索引擎排名结果可能产生的影响,并分析了实际应用中网站针对PageRank算法的各种优化策略,讨论了各自的优点。]]></description>
			<content:encoded><![CDATA[<p>　最近几年来, Google已经成为世界范围内使用最为广泛的搜索引擎之一。Google的优点不仅仅在于去除无用的(广告)标语构成单一页面的功能、独自的Cache 系统、动态制成摘要信息、为实现高速检索而设置的分散系统(数千台规模的L inux群集器)等[ ,而最大的优点正是其检索结果的正确性,与其他搜索引擎相比更优的搜索结果排名,有利于用户尽可能快地找到所需的信息。而研究目前国内互联网网站,可以发现我们在处理网页间的链接结构时,往往存在很大的随意性。殊不知网页间的链接结构正是决定网站在搜索结果中排名的重要因素之一。这种搜索结果排名技术建立在一种针对Web文档的复杂算法上,称之为PageRank算法。</p>
<p>本文的目的是在对PageRank算法分析的基础上,分析各类网络链接结构对搜索结果( PageRank值)的影响,以及由此产生的搜索引擎优化策略。</p>
<p><strong>1　PageRank算法</strong></p>
<p>简单的说, PageRank是代表互联网上某个页面重要性的一个数值。</p>
<p>一般搜索引擎将PageRank值与网页搜索结果相似度共同作为搜索结果的排序依据。就像后边即将阐述的一样,检索语句不会呈现在PageRank 自己的计算式上。不管得到多少检索语句, PageRank也是一定的、文件固有的评分量,该值仅仅依赖于网络的链接结构。</p>
<p>PageRank算法的具体思路是,将某个页面的PageRank除以存在于这个页面的正向链接,由此得到的值分别和正向链接所指向的页面的PageRank相加,即得到了被链接的页面的PageRank。算法基于“从许多优质的网页链接过来的网页,必定还是优质网页”的回归关系,来判定所有网页的重要性。一个网页的得票越多,则认为它的重要性也就越高。进一步说,投票网页的重要性也决定着票本身的重要程度。</p>
<p>计算某个网页PageRank值时所有的入链接都要考虑在内,页面A的PageRank值计算公式如下:</p>
<p>PR (A ) = (1 - d) + d ( PR ( t1) /C ( t1)+ ⋯ + PR ( tn) /C ( tn) )</p>
<p>公式中的PR代表页面的PageRank数值, t1 ～ tn 代表有链接指向页面A的网页, C是网页出链接的数量, d是阻尼系数(常数, Google通常取值0. 85) 。由于用户在互联网浏览时可能不按当前页面中的链接前进, 而随机跳跃到完全无关页面,所以d实际上代表的是用户跟随网页链接浏览,而不产生随机跳跃的概率值。</p>
<p>(1)式是在计算网页PageRank值的最初公式。由于至今Google都没有对外公布它所采用的算法,所以可能Google在使用时采取了该公式的一些变形。但这也几乎不影响下面的分析。</p>
<p>由(1)式可知,计算某个网页的PageRank值总是依赖于其他的相关页面,所以计算PageRank值实际上是一个迭代的过程,计算结果的精确程度依赖于初值的选取和迭代的次数。对于初值一般取1,而为了保证实际应用中这个结果总是收敛的,则加入了阻尼系数d 。</p>
<p>另外需要说明的是PR值与PageRank值的区别。安装了Google工具栏的用户也许看到工具栏上的PageRank显示条,这个工具可以即时地反映出浏览器当前访问的网页在Google中的PageRank值的标记,该值在0至10范围内变化。之所以称之为“标记”是因为它并非网页的真实PageRank值,而是真实值的一个对数指标,对数基应该是5～6范围内的某个数值。</p>
<p>网页对它的所有出链接的页面进行PageRank“投票”。由于随机跳转的可能性,投出的PageRank总值比网页本身的PageRank值稍小(本身值3 d ) 。这个值在所有出链接中平均分配。因而指向你的网页的页面的PageRank值固然重要,但该页面的出链接数量也同样不可忽略:出链接越多,你的网页得到的PageRank值就越少。另外由于PR 值是PageRank真实值的对数指标,这意味着一个网页从某个较高的PR值得到提升要比从较低的PR值上升过来需要更多的PageRank值。在这种情况下,一个较多出度的PR8网页和另一个只有较少出链接的PR4页面相比,哪个更有效些? 这可能依赖于PR值的对数基和具体的链接情况了。</p>
<p>需要注意的是当一个网页以“投票“方式影响其他页面的PageRank值时, 不会减少自身的PageRank 值。这并非PageRank的转移过程。</p>
<p><strong>2　基于PageRank的优化策略</strong></p>
<p>假设我们有一个网站,很显然将网站的PageRank平均分配到各个网页(如果可能的话)是非常不明智的,因为我们不可能、也没有必要使网站的所有网页搜索排名都做到很高。如果能将网站的大部分PageRank值以某种方式导向其中的一个或少数网页,使得它(们)的排名大大提高,其效果当然要好于平均分配的结果。所以下边讨论的重点不在单个网页的权值,而是考虑整个网站或者说网站中的重要页面的PageRank值,这些页面可能是索引页、中心页或是专门为某些搜索术语优化的页面。</p>
<p><strong>2. 1　考虑内部链接的影响</strong></p>
<p>网站PageRank值即为网站内部所有页面PageRank值的和。一个网站的PageRank最大值等于它的页面数量。入站链接可以增加这个最大值,而出站链接则能减少之。网站内部链接组织不好,网站可能会达不到最大的PageRank值,但是却不可能超过该值。需要注意,虽然增加页面可以增加网站的PageRank值,但不是随便增加什么页面都能达到效果。那些完全相同或几乎相同的页面称为cookie2cutter, Google认为是垃圾信息并会引发相应的警报机制使得页面甚至是整个网站受到处罚。所以从根本上来说网页要有一定的质量。</p>
<p>下面分析一下网站内部链接如何影响PageRank值。在这里我们考虑的是一个相对独立的网站,入站链接和出站链接的影响暂不考虑在内。</p>
<p><img class="alignnone size-full wp-image-3770" title="pagerank" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/pagerank.png" alt="" width="489" height="164" /></p>
<p>假设一个包含三个网页的网站,没有外部链接(图1) 。在( a) , ( b) , ( c)的情况下,我们为每个网页分配初值1,阻尼系数保持与Google一致(0. 85) ,经过迭代收敛后,得到三种情况的PageRank值如下:</p>
<ul>
<li>( a ) : PageRank A = 0. 15, PageRank B = 0. 15, PageRank C = 0. 15;</li>
<li>( b ) : PageRank A = 0. 15, PageRank B = 0. 277 5, PageRank C = 0. 15;</li>
<li>( c ) : PageRank A = 1, PageRank B = 1, PageRank C = 1;</li>
</ul>
<p>网站( a ) 的PageRank 值为0. 45, 严重浪费了潜在的PageRank值。( b)的情况稍好一些,总值0. 577 5比上一个例子有所增加,但仍然只是最大值的一小部分(对于该结构存在的摇摆页情况,在这里不作讨论) 。在( c)的链接结构下,网站达到了PageRank最大值,也可以通过环形结果获得: A到B,B到C, C再到A。同样的情况也可以将页面增加到3个以上。</p>
<p>可见链接的不好,完全可能浪费潜在的PageRank值。根据试验的规律,得出针对内部链接结构的第一个优化策略:一般来说,环形链接或者任意两个页面都有相互链接时能达到网站PageRank大值。</p>
<p><img class="alignnone size-full wp-image-3771" title="index-pagerank" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/index-pagerank.png" alt="" width="423" height="227" /></p>
<p>假设把A作为索引页,有( a) , ( b)两种链接结构,省略计算过程后迭代结果如下:</p>
<p>( a) : Page A = 1. 459 459, Page B = 0. 770 270 3, Page C =0. 770 270 3;</p>
<p>( b) : Page A = 1. 298 245, Page B = 0. 999 999 9, Page C =0. 701 754 3;</p>
<p>两种结构的总值仍然是3 (最大值) ,所以没有浪费。但( b)的情况下,A明显损失了PageRank,页面C也损失了一部分PageRank,因为A、B分享方式替代了A独享,A通过A→C链接反馈回C的值也就减小。</p>
<p>所以得出第二条优化策略: 为了获得索引页的最大PageRank值,其他页面应该尽可能减少相互链接。如果某个页面链接到的页面有回路链接,那么在这个页面上增加一个新的出链接会导致间接损失一部分的PageRank值。如果没有这样的回路,则不会减少PageRank值。这在内部链接中并不十分重要,但对发生到网站外的链接时就不一样了。可见,通过组织内部链接,可以将网站的PageRank值导向某个选定的页面。内部链接可以根据网站的PageRank需要来组织,但必须是Google认可的页面。</p>
<p><strong>2. 2　入站链接和出站链接</strong></p>
<p>入站链接(由网站外部进入的链接) 是增加网站PageRank值的方式之一。入站链接来自何处并不重要,Google认为只要网站管理员没有对链入网站的其他网站产生控制,就不会因为这种链接做出处罚。</p>
<p>链接页的PageRank值很重要,但同时出链接的数量也相当关键。例如:如果是一个PageRank值为2的网页的唯一出链接,将得到0. 15 + 0. 85 (2 /1) = 1. 85的值;而一个100个出链接的PageRank 8 网页,得到的是0. 15 + 0. 85 (7 /100) =0. 209 5。很明显, PR2链接更有效。一旦有PageRank值注入到网站中,计算将需要重新进行。某些页面的值增加,某些保持不变,这依赖于内部链接结构,但肯定不会有页面会损失PageRank值。</p>
<p>入站链接指向你试图导向的重要页面更有好处,如果PageRank注入到其他页,则会因为内部链接分散到网站中。索引页也会得到提升,但不如直接链接提升得多。直接得到入站链接的页面得到的值最大。</p>
<p>第三条优化策略:将网站索引页作为引入入站链接的最佳目标。</p>
<p>出站链接会导致网站PageRank值的消耗。为了抵消这种消耗,需要确保链接是互给的。互惠链接可能得到也可能损失PageRank值,所以交换链接时需要特别小心。</p>
<p>当PageRank值随着指向另一个网站的链接而引出时,内部链接的所有页面都将受到影响。虽然具体的PageRank值变化情况依赖于链接结构,但一般来说给出链接的网页往往是损失PageRank值最大的,因此得出第四条优化策略:出站链接放在PageRank较低的页面,造成的PageRank损失较小。</p>
<p>任何一个网站都几乎不可能没有出站链接,但不巧的是,所有的“正常”链接都会泄漏PageRank值。但还有些“特别”的链接方式不用泄漏。PageRank泄漏与否依赖于Google能否识别出链接,这样可以使用Google不能识别或是不考虑的链接,包括表单处理(form action)和包含JavaScript代码的链接。</p>
<p>表单的action属性不一定是处理表单脚本的url,它可以指向任何网站的任何一个页面。例子:&lt; form name = "myform" action ="http: / / cs. scu. edu. cn / somepage. html" &gt;&lt; a href = " javascrip t: document. myform. submit () " &gt;四川大学计算机学院&lt; / a &gt;</p>
<p>此外, action 属性甚至可以不必位于form 表单而在JavaScrip t代码中,而JavaScrip t代码可以位于存储路径的js目录下,而该目录一般Google的sp ider程序都不访问。</p>
<p><strong>3　总结及PageRank改进</strong></p>
<p>PageRank值由网络链接结构决定,与具体的检索内容无关,因而检索期间消耗很小,优于早期的H ITS算法。在不考虑网页内容具体需要的情况下,提出的优化策略有利于提高网站在基于PageRank算法排名的搜索引擎搜索结果中的排名。这种效应也许短时间内尚不明显,但随着页面的增加和网站间链接的逐渐增多,最终的效果还是可观的。</p>
<p>同时,由于PageRank算法的检索无关性,也可能导致一些不利的结果,例如对一些词汇在特定的上下文中有特定的含义,或是一些专业词汇,仅仅依靠PageRank排名的结果可能不太令人满意,比如同样是查找“结构”这个词,在建筑学的上下文中,和芯片制造的上下文中,用户希望得到的检索结果必然不尽相同。但由于PageRank是网页的固定属性,可能就达不到期望的效果了。如果将整个互联网看成一个维度,那么PageRank则是该维度上的一个矢量,针对以上的缺陷,可以考虑建立这类矢量的一个矢量集。换句话说,可以针对某些指定的主题词计算出多个PageRank值,然后根据检索内容匹配相应主题词的网页PageRank值[ 4 ]。当然,在结果排序时用到的PageRank值仍然是唯一的。这种改进在检索期间的消耗上有所增加,但在结果排序上却有大大提高。</p>
<p>参考文献:<br />
[1 ]　BR IN S, PAGE L. The anatomy of a large2scale hypertextual websearch engine[A ]. Proceedings of the Seventh International World WideWeb Conference[C ], 1998.<br />
[2 ]　BABA H, 馬場肇. Google の秘密- PageRank 底解説[ EB /OL ]. http: / /www. kusastro. kyoto2u. ac. jp /～ baba /wais/pagerank. html, 2003.<br />
[3 ]　JEH G, W IDOM J. Scaling personalized web search [R ]. StanfordUniversity, 2002.<br />
[4 ]　HAVEL IWALA TH. Top ic2Sensitive PageRank[A ]. Proceedings ofthe Eleventh InternationalWorldWideWeb Conference[C ], 2002.</p>
<p><strong>本文作者：张　巍,李志蜀 （四川大学计算机学院,四川成都610065）</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/google-pr.html' rel='bookmark' title='Google PR值是什么'>Google PR值是什么</a></li>
<li><a href='http://www.biaodianfu.com/link-consolidation.html' rel='bookmark' title='塑造PR的方法之链接整合'>塑造PR的方法之链接整合</a></li>
<li><a href='http://www.biaodianfu.com/toolbar.html' rel='bookmark' title='搜索引擎工具栏到底有什么用'>搜索引擎工具栏到底有什么用</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/optimizing-strategies-for-search-engines-based-on-pagerank-algorithm.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>影响百度区域性搜索结果的因素有哪些？</title>
		<link>http://www.biaodianfu.com/baidu-search-results-affect-the-regional-factors.html</link>
		<comments>http://www.biaodianfu.com/baidu-search-results-affect-the-regional-factors.html#comments</comments>
		<pubDate>Mon, 30 May 2011 12:38:56 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[SERP]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3754</guid>
		<description><![CDATA[在SEOWHY的老大夫唯的引导下，最近对关键词地域性的研究貌似挺热的。于是我也来凑个热闹，说一下我的观点，本文不是为了得出某种结论或观点，而是和大家一起从另一种角度去思考SEO问题。以下为百度站长俱乐部中先前网友的提问： 网友提问：百度是不是针对地区性的搜索提高了地方性网站的权重？（竞价存在这样的问题，我这里问的是自然搜索）。这种情况也是偶尔见到，想问下，这个现象是不是随着发展 会逐渐显现明显？ 百度工程师回答：如果你在中关村，搜“银行”，然后结果全是中关村周围的银行网点，按距离你的远近排序，这听上去不是一件很美妙的事情吗？呵呵。我也希望那一天尽早到来。 从对话中，可以看到百度的工程师很想实现地域性搜索结果，但是在技术上目前还不是很成熟。 很多朋友说到百度地域性搜索结果是想到的是，百度首先获取搜索这的IP地址，然后给他推荐搜索者IP地址所在的城市的网站，那么怎样才能判别一个网站是属于哪个城市呢？有哪些因素可以供参考。 一、网站信息 服务器IP地址信息。 域名Whois信息 备案信息 二、页面信息 标题、描述中是否包含城市关键词 内面内容的分析中是否可以抽取城市关键词 外链或者内链的锚文字是否包好城市关键词 三、 访客信息 网站访客的IP地址信息。  四、其他因素 竞价投放选择的城市 网站页面上存在的联系方式（地址或者电话） 接下来我们就对上面罗列的参考条件从程序可信度和程序复杂度两个方面进行分析。 1、网站IP所在城市，以我的个人博客为例，很容易找到服务器所在的城市。 从程序可行性来说获取一个网站的服务器IP地址是件很容易的事情，但是从可信度的角度，很大部分站长把服务器托管在IDC手中，很多IDC都不是当前城市的。对于大一些的网站，如果有CDN的话，一个网站的服务器可能遍布全国，所以这个信息存在的很多的不确定因素。 可信度：低  复杂度：易 2、域名Whois信息 还是以我的域名为例： Whois中的 省市、邮编、手机号归属地、固定电话区号等都可以用来做参考。考虑到很多域名有Agent和域名的拥有者所在的城市并不一定是网站内容的所在城市，所以此部分信息对于搜索引擎来说不是很有用。 可信度：低 复杂的：易 3、域名备案信息 刚上备案网查了下我的博客的备案，发现现在查询不到网站备案者的详细信息了，也就作罢，这个因素不考虑。 4、页面中含有城市关键词 这个因素很多人会想到，不管是标题、描述或者正文内容，肯定会给地域性的判定加分，但是是不是有这个条件就够了？其中最重要的就是标题了，这应该是个重要因素比如“名城苏州”肯定是苏州的地方站了，但是如果标题中不出现城市名如何判断呢，那就要看词频了，如果某个城市词出现的频率很高也可以判断，但是最好一个页面有多个城市多次的出现。这个是百度不期望看到的。同样的外链中如果含有城市关键词的话应该和标题一样的原理。 可信度：高 复杂度：低 5、访客信息 百度收集用户在百度的点击行为大加都应该知道，同样这些数据可以运用到百度地域性搜索结果中，设想一下，如果从百度进入一个网站的用户80%的用户IP来源于一个城市，是不是可以确定这个网站是个城市站呢？通过用户行为去提升百度的搜索结果是百度一直在做的，比如很多人通过刷点击来提高百度的排名。对访客行为进行分析对百度来说。 可信度：高 复杂度：中 6、其他方面 考虑到有些信息获取起来不是很全，比如很多网站没有此类信息，所以不做参考。 以上为关于百度可能会做参考的因素，暂时只想到这么多，还需要大家一起思考和补充。接下来就要谈一下此地域性的触发规则了，有N多网站都满足这些规则，到底哪个要排在前面呢？原因在排名中靠前的排在前面或是其他？比如说进入这个网站的访客的浏览量比较大？这个还需大家一起来思考。 No related posts.]]></description>
			<content:encoded><![CDATA[<p>在SEOWHY的老大夫唯的引导下，最近对关键词地域性的研究貌似挺热的。于是我也来凑个热闹，说一下我的观点，本文不是为了得出某种结论或观点，而是和大家一起从另一种角度去思考SEO问题。以下为百度站长俱乐部中先前网友的提问：</p>
<p><strong>网友提问：</strong>百度是不是针对地区性的搜索提高了地方性网站的权重？（竞价存在这样的问题，我这里问的是自然搜索）。这种情况也是偶尔见到，想问下，这个现象是不是随着发展 会逐渐显现明显？</p>
<p><strong>百度工程师回答：</strong>如果你在中关村，搜“银行”，然后结果全是中关村周围的银行网点，按距离你的远近排序，这听上去不是一件很美妙的事情吗？呵呵。我也希望那一天尽早到来。</p>
<p>从对话中，可以看到百度的工程师很想实现地域性搜索结果，但是在技术上目前还不是很成熟。</p>
<p>很多朋友说到百度地域性搜索结果是想到的是，百度首先获取搜索这的IP地址，然后给他推荐搜索者IP地址所在的城市的网站，那么怎样才能判别一个网站是属于哪个城市呢？有哪些因素可以供参考。</p>
<p>一、网站信息</p>
<ol>
<li>服务器IP地址信息。</li>
<li>域名Whois信息</li>
<li>备案信息</li>
</ol>
<p>二、页面信息</p>
<ol>
<li>标题、描述中是否包含城市关键词</li>
<li>内面内容的分析中是否可以抽取城市关键词</li>
<li>外链或者内链的锚文字是否包好城市关键词</li>
</ol>
<p>三、 访客信息</p>
<ol>
<li>网站访客的IP地址信息。 </li>
</ol>
<p>四、其他因素</p>
<ol>
<li>竞价投放选择的城市</li>
<li>网站页面上存在的联系方式（地址或者电话）</li>
</ol>
<p><strong>接下来我们就对上面罗列的参考条件从程序可信度和程序复杂度两个方面进行分析。</strong></p>
<p><strong>1、网站IP所在城市</strong>，以我的个人博客为例，很容易找到服务器所在的城市。</p>
<p><img title="ip" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/ip.png" alt="" width="371" height="87" /></p>
<p>从程序可行性来说获取一个网站的服务器IP地址是件很容易的事情，但是从可信度的角度，很大部分站长把服务器托管在IDC手中，很多IDC都不是当前城市的。对于大一些的网站，如果有CDN的话，一个网站的服务器可能遍布全国，所以这个信息存在的很多的不确定因素。</p>
<p><strong>可信度：低  复杂度：易</strong></p>
<p><strong>2、域名Whois信息</strong></p>
<p>还是以我的域名为例：</p>
<p><img title="whois" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/whois.png" alt="" width="388" height="295" /></p>
<p>Whois中的 省市、邮编、手机号归属地、固定电话区号等都可以用来做参考。考虑到很多域名有Agent和域名的拥有者所在的城市并不一定是网站内容的所在城市，所以此部分信息对于搜索引擎来说不是很有用。</p>
<p><strong>可信度：低 复杂的：易</strong></p>
<p><strong>3、域名备案信息</strong></p>
<p>刚上备案网查了下我的博客的备案，发现现在查询不到网站备案者的详细信息了，也就作罢，这个因素不考虑。</p>
<p><strong>4、页面中含有城市关键词</strong></p>
<p>这个因素很多人会想到，不管是标题、描述或者正文内容，肯定会给地域性的判定加分，但是是不是有这个条件就够了？其中最重要的就是标题了，这应该是个重要因素比如“名城苏州”肯定是苏州的地方站了，但是如果标题中不出现城市名如何判断呢，那就要看词频了，如果某个城市词出现的频率很高也可以判断，但是最好一个页面有多个城市多次的出现。这个是百度不期望看到的。同样的外链中如果含有城市关键词的话应该和标题一样的原理。</p>
<p><strong>可信度：高 复杂度：低</strong></p>
<p><strong>5、访客信息</strong></p>
<p>百度收集用户在百度的点击行为大加都应该知道，同样这些数据可以运用到百度地域性搜索结果中，设想一下，如果从百度进入一个网站的用户80%的用户IP来源于一个城市，是不是可以确定这个网站是个城市站呢？通过用户行为去提升百度的搜索结果是百度一直在做的，比如很多人通过刷点击来提高百度的排名。对访客行为进行分析对百度来说。</p>
<p><strong>可信度：高 复杂度：中</strong></p>
<p><strong>6、其他方面</strong></p>
<p>考虑到有些信息获取起来不是很全，比如很多网站没有此类信息，所以不做参考。</p>
<p>以上为关于百度可能会做参考的因素，暂时只想到这么多，还需要大家一起思考和补充。接下来就要谈一下此地域性的触发规则了，有N多网站都满足这些规则，到底哪个要排在前面呢？原因在排名中靠前的排在前面或是其他？比如说进入这个网站的访客的浏览量比较大？这个还需大家一起来思考。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/baidu-search-results-affect-the-regional-factors.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>怎样抓取关键词查询量：百度指数的分析</title>
		<link>http://www.biaodianfu.com/baidu-index-theory.html</link>
		<comments>http://www.biaodianfu.com/baidu-index-theory.html#comments</comments>
		<pubDate>Mon, 30 May 2011 04:25:48 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>
		<category><![CDATA[百度]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3758</guid>
		<description><![CDATA[获取百度指数中每个关键词的查询量，可能是很多做SEO或PPC的朋友们一直想做的事，但是百度指数并不是那么容易的被抓取，主要是他的查询并不是走的一般的HTTP协议，而是AMF协议，导致给数据抓取造成了一些麻烦。下面就一起来分析到底百度是如何进行查询数据的。 百度指数的趋势分析Flash（http://index.baidu.com/fla/TrendAnalyser.swf）采用了一种股市（stock）类的Flash报表作为原型，并在其基础上结合了自身的特色进行重新开发。 百度指数Flash的完整运行流程如下： 页面加载Flash。 Flash解析HTML中设定的flashvars参数，设定通信网关（http://index.baidu.com/gateway.php，返回数据的url地址）、显示数据时间段，生成图片的网页地址以及调用数据的key（没有注册key将不能获得数据）。 Flash根据参数向服务器（http://index.baidu.com/gateway.php）以POST方式发送请求，参数进行了加密处理。 Gateway返回加密过的数据。 Flash对数据解密，并进过内部运算后显示。 捕捉用户拖拽类型动作，重复3~5。 若用户鼠标悬停在某时间点上，则以GET方式（JSONP调用）。 返回的数据触发页面js脚本(不是直接给flash)的newsReturnCallback函数，参数为返回的json类型数据。数据经过处理后生成新的json数据，再通过js传递给Flash。 Flash解析传入的json数据，显示冒泡窗口，将url地址和标题数据显示出来。 捕捉用户鼠标悬停类型动作，重复7~9。 百度指数的查询请求参数： 如上图所示，百度指数是AMF协议进行通讯。 [0] 为要查询的关键词 [1] 是地区ID，用来限定查询的城市的 [2] 未知 [3] 参数3是时间，通过网页源文件里的eval(DEC()) [4] 5位随机数+md5(参数3+utf8(关键字)+ZZg&#60;XWe7SZcBJ^aH)+5位随机数) 参数4的算法来自于网络，可能不准确，具体可以查看附件中的Flash源代码。大家可以自己分析，分析出来后记得把结果告诉我~ 百度指数的查询返回数据： userIndexes为每天的查询量 mediaIndexes为媒体关注度 相关资料： AMF简介：http://en.wikipedia.org/wiki/Action_Message_Format 开源PHP AMF 程序：http://sourceforge.net/projects/amfphp/ 百度指数flash程序代码：http://t.cn/hDN9UV Related posts: 百度索引库有多大 百度框计算，框的是寂寞 关键词工具整理]]></description>
			<content:encoded><![CDATA[<p>获取百度指数中每个关键词的查询量，可能是很多做SEO或PPC的朋友们一直想做的事，但是百度指数并不是那么容易的被抓取，主要是他的查询并不是走的一般的HTTP协议，而是AMF协议，导致给数据抓取造成了一些麻烦。下面就一起来分析到底百度是如何进行查询数据的。</p>
<p>百度指数的趋势分析Flash（<a href="http://index.baidu.com/fla/TrendAnalyser.swf">http://index.baidu.com/fla/TrendAnalyser.swf</a>）采用了一种股市（stock）类的Flash报表作为原型，并在其基础上结合了自身的特色进行重新开发。</p>
<p><strong>百度指数Flash的完整运行流程如下：</strong></p>
<ol>
<li>页面加载Flash。</li>
<li>Flash解析HTML中设定的flashvars参数，设定通信网关（<a href="http://index.baidu.com/gateway.php">http://index.baidu.com/gateway.php</a>，返回数据的url地址）、显示数据时间段，生成图片的网页地址以及调用数据的key（没有注册key将不能获得数据）。</li>
<li>Flash根据参数向服务器（http://index.baidu.com/gateway.php）以POST方式发送请求，参数进行了加密处理。</li>
<li>Gateway返回加密过的数据。</li>
<li>Flash对数据解密，并进过内部运算后显示。</li>
<li>捕捉用户拖拽类型动作，重复3~5。</li>
<li>若用户鼠标悬停在某时间点上，则以GET方式（JSONP调用）。</li>
<li>返回的数据触发页面js脚本(不是直接给flash)的newsReturnCallback函数，参数为返回的json类型数据。数据经过处理后生成新的json数据，再通过js传递给Flash。</li>
<li>Flash解析传入的json数据，显示冒泡窗口，将url地址和标题数据显示出来。</li>
<li>捕捉用户鼠标悬停类型动作，重复7~9。</li>
</ol>
<p><strong>百度指数的查询请求参数：</strong></p>
<p><img class="alignnone size-full wp-image-3759" title="baidu-index-request" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/baidu-index-request.png" alt="" width="462" height="265" /></p>
<p>如上图所示，百度指数是AMF协议进行通讯。</p>
<ul>
<li>[0] 为要查询的关键词</li>
<li>[1] 是地区ID，用来限定查询的城市的</li>
<li>[2] 未知</li>
<li>[3] 参数3是时间，通过网页源文件里的eval(DEC())</li>
<li>[4] 5位随机数+md5(参数3+utf8(关键字)+ZZg&lt;XWe7SZcBJ^aH)+5位随机数)</li>
</ul>
<p>参数4的算法来自于网络，可能不准确，具体可以查看附件中的Flash源代码。大家可以自己分析，分析出来后记得把结果告诉我~</p>
<p><strong>百度指数的查询返回数据：</strong></p>
<p><img class="alignnone size-full wp-image-3760" title="baidu-index-response" src="http://www.biaodianfu.com/wp-content/uploads/2011/05/baidu-index-response.png" alt="" width="518" height="304" /></p>
<ul>
<li>userIndexes为每天的查询量</li>
<li>mediaIndexes为媒体关注度</li>
</ul>
<p><strong>相关资料：</strong></p>
<ul>
<li>AMF简介：<a href="http://en.wikipedia.org/wiki/Action_Message_Format">http://en.wikipedia.org/wiki/Action_Message_Format</a></li>
<li>开源PHP AMF 程序：<a href="http://sourceforge.net/projects/amfphp/">http://sourceforge.net/projects/amfphp/</a></li>
<li>百度指数flash程序代码：<a title="http://vdisk.me/?m=t&amp;a=get_share_file&amp;ss=60fefUHApDhr2NrZ8srg0--2BsDt39rkNh0P3Yj1jP1goY--2FVa54MzX03bpZMlHwcm88XXM" href="http://t.cn/hDN9UV?u=1622094042" target="_blank">http://t.cn/hDN9UV</a></li>
</ul>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/baidu-index-database.html' rel='bookmark' title='百度索引库有多大'>百度索引库有多大</a></li>
<li><a href='http://www.biaodianfu.com/baidu-box-computing.html' rel='bookmark' title='百度框计算，框的是寂寞'>百度框计算，框的是寂寞</a></li>
<li><a href='http://www.biaodianfu.com/keyword-tools.html' rel='bookmark' title='关键词工具整理'>关键词工具整理</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/baidu-index-theory.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>SEO基础: 改进大型站点的搜索营销</title>
		<link>http://www.biaodianfu.com/seo-basics-improved-large-scale-search-marketing-site.html</link>
		<comments>http://www.biaodianfu.com/seo-basics-improved-large-scale-search-marketing-site.html#comments</comments>
		<pubDate>Sun, 08 May 2011 09:52:33 +0000</pubDate>
		<dc:creator>标点符</dc:creator>
				<category><![CDATA[搜索优化]]></category>

		<guid isPermaLink="false">http://www.biaodianfu.com/?p=3696</guid>
		<description><![CDATA[您的 Web 站点有多大？数千个页面？数百万个页面？如果页面数量超过几千个，那么在搜索引擎优化方面就会遇到在小型站点中没有的特殊问题。我们来谈谈如何对大型站点进行成功的 SEO。 大型 Web 站点对 SEO 提出了一些新挑战。如果您能够将整个 Web 团队集合在一间会议室中，那么您的站点还不算大。您或许拥有一家非常成功的企业，但是您的问题不同于我们这个四部分的 SEO 系列所探讨的问题。 在 第 1 部分 和 第 2 部分 中，Jennette Banks 概述了搜索营销以及关键词规划和优化的基础知识。在 第 3 部分 中，我们集中介绍了如何让页面进入搜索索引。在这三篇文章中，您看到了所有 Web 站点（无论规模如何）必须如何做才能吸引 Google 等互联网搜索引擎的关注。但是，大型 Web 站点确实有所不同。如果您的 Web 站点由数千甚至数百万页面组成，就会遇到这些特殊的 SEO 挑战。 在第 4 部分中，我们要解决大型 Web 站点特有的问题。我们将讨论维护大型 Web 站点的大型 Web 团队为什么会给搜索营销造成问题，还将探讨全球化 Web 站点和具有许多动态 Web 页面的站点的技术挑战。 说服大型组织关注搜索问题 大型站点的 SEO 之所以问题多多，是因为需要许多不同的小组都采取适当的措施，SEO [...]]]></description>
			<content:encoded><![CDATA[<p>您的 Web 站点有多大？数千个页面？数百万个页面？如果页面数量超过几千个，那么在搜索引擎优化方面就会遇到在小型站点中没有的特殊问题。我们来谈谈如何对大型站点进行成功的 SEO。</p>
<p>大型 Web 站点对 SEO 提出了一些新挑战。如果您能够将整个 Web 团队集合在一间会议室中，那么您的站点还不算大。您或许拥有一家非常成功的企业，但是您的问题不同于我们这个四部分的 SEO 系列所探讨的问题。</p>
<p>在 <a title="SEO基础: 提高站点在搜索引擎中的排名" href="http://www.biaodianfu.com/seo-basics-improving-site-rankings-in-search-engines.html">第 1 部分</a> 和 <a title="SEO基础: 关键词和其他优化策略" href="http://www.biaodianfu.com/seo-basics-keywords-and-other-optimization-strategies.html">第 2 部分</a> 中，Jennette Banks 概述了搜索营销以及关键词规划和优化的基础知识。在 <a title="SEO基础: 让 Web 页面进入搜索引擎索引" href="http://www.biaodianfu.com/seo-basics-let-web-pages-into-the-search-engine-index.html">第 3 部分</a> 中，我们集中介绍了如何让页面进入搜索索引。在这三篇文章中，您看到了所有 Web 站点（无论规模如何）必须如何做才能吸引 Google 等互联网搜索引擎的关注。但是，大型 Web 站点确实有所不同。如果您的 Web 站点由数千甚至数百万页面组成，就会遇到这些特殊的 SEO 挑战。</p>
<p>在第 4 部分中，我们要解决<em>大型</em> Web 站点特有的问题。我们将讨论维护大型 Web 站点的大型 Web 团队为什么会给搜索营销造成问题，还将探讨全球化 Web 站点和具有许多动态 Web 页面的站点的技术挑战。</p>
<p><strong>说服大型组织关注搜索问题</strong></p>
<p>大型站点的 SEO 之所以问题多多，是因为需要许多不同的小组都采取适当的措施，SEO 才能获得成功。无论怎样对 Web 站点和 Web 团队进行组织，它们都会被划分为小组，这些小组就会造成问题。根据站点的不同，您可能会遇到下面这些问题或其中一部分问题：</p>
<ul>
<li><strong>多个专家团队</strong>。开发人员和信息架构师之间没有交流，营销人员和 Web 管理员之间也缺乏协作。</li>
<li><strong>多个产品站点</strong>。您销售的每种产品都由单独的团队负责，他们都会从头开始设计站点的 Web 体验。</li>
<li><strong>多种受众</strong>。每个营销团队都针对一个或多个目标市场对单独的 Web 站点进行设计。</li>
<li><strong>多个国家和多种语言</strong>。玻利维亚站点和巴西站点由不同的团队负责。</li>
<li><strong>多种技术</strong>。营销页面使用门户服务器，产品目录使用电子商务服务器 —— 而且这些技术来自不同的厂商。</li>
</ul>
<p>尽管看似令人畏缩，但可以将整个 Web 站点上的多个 Web 小组组织起来，让他们表现得就像一个搜索营销团队一样。可以让各个小组采取一致的行动，这样就不会分散力量。正如在本系列前面的文章中所介绍的，每个 Web 站点的所有者都必须采取一些重要的措施，以确保搜索营销能够获得成功，但是大型站点需要采用更有组织的方式：</p>
<ul>
<li><strong>对 Web 团队进行培训。</strong>程序员必须恰当地使用 JavaScript 代码。文字编写人员必须在文本中使用目标关键词。如果不进行培训，Web 团队就不知道应该做什么。对于大型 Web 站点，这些低层任务在本质上没有特殊之处，但是在大型组织中需要掌握这种技能的人很多。全面的有组织的培训计划对于大型站点的成功非常重要。</li>
<li><strong>设置标准。</strong>为编写 robots.txt 文件的方式建立一个标准。修改现有的内容标准以确保每个页面都有页面标题。简单地说，要确保所有标准都反映 SEO 最佳实践。提供了标准之后，每位专家都要完成搜索营销所需的任务，因为服从这些标准已经成了他们的工作。小型站点和大型站点之间的差异是，大型站点是过程驱动的。将适当的 SEO 实践添加进标准中之后，就可以使用这些过程来实现 SEO。</li>
<li><strong>实施标准。</strong>尽可能检查完成的工作是否符合现有的过程（比如页面和代码复查）和其他项目规则。还可能需要实现一些新的检查方法。如果 Web 管理员忽视了关于重定向的标准，那么使用一个爬行器来检查重定向并标出不适当的重定向。如果文字编写人员忽视了在页面标题中包含关键词的要求，那么让您的爬行器检查站点上的每个页面，并报告没有适当页面标题的页面。要尽可能强制要求所有人遵守现有过程或刚建立的新过程。</li>
<li><strong>衡量站点的进展。</strong>要不断关注针对重要关键词的搜索排名。度量 Web 站点的每个部分的流量并观察其变化趋势。统计符合重定向和内容标准的页面数量。然后，定期与 Web 站点每个部分的负责人分享这些结果。对每个业务单位的表现进行评分，这会督促各位负责人，他们进而会督促其下属完成所需的任务。</li>
</ul>
<p>当然，这种组织性的变化会给人造成一定的压力。但是，如果将整个 Web 团队组织在一起并采用正确的实践，那么您的大型站点会由于好名声（使搜索者愿意点击您的页面）、高质量的内容（使其他站点愿意链接您的站点）和更高的营销预算（允许投资于更好的设计和技术）而获益。关于将团队组织在一起的更多信息。</p>
<p>成功的关键是<em>说服</em>。计算增加的站点流量会带来多大的好处，从而说明搜索改进的价值。告诉大家竞争对手在搜索结果中的排名比您的公司高多少，让他们有急迫感。要求团队作为搜索者亲自体验一下，从而让他们理解为什么搜索改进那么重要。请记住，没有人存心破坏您的搜索改进计划 —— 他们只是没有意识到这些工作的意义。越充分地向他们解释这些工作的作用，让他们融入其中，就会越快地看到成果。</p>
<p><strong>说服团队</strong></p>
<p>在这个方面要多加努力。您知道什么方式最适合在公司中推广新思想吗？您的组织可以发布电子邮件新闻通告吗？召开会议？Blog？Podcast？Web 研究会？还是需要更个性化的接触方式？如果需要，可以为每个地区办公室制作 PowerPoint 幻灯片。要确保消息被可靠地发出和接收，从而改变团队的工作方式。</p>
<p>得到了团队成员的理解，他们在工作时已经考虑到了 SEO 原则，在此之后还可能要面对两个大挑战：如何跨全球范围进行搜索营销以及如何处理动态 Web 站点。</p>
<p><strong>接触全球的受众</strong></p>
<p>在一个国家用一种语言进行搜索营销有一定难度，随着 Web 站点涉及的国家和语言的增加，问题会成倍增加。我们先讨论国家问题，然后讨论语言问题。</p>
<p>搜索者常常希望将搜索结果限制于某一国家，尤其是在打算进行网上购物时：他们希望在自己的国家中找到一家使用本国货币进行交易的厂商。这很简单，不是吗？不完全是。为了进行有机搜索，判断每个页面的正确国家不能仅仅依靠搜索引擎的猜测。</p>
<p>那么，Google 和其他搜索引擎如何猜测页面的国家呢？它们使用站点域名（“mydomain.com”）的 IP 地址来判断站点的 Web 服务器所在的国家。如果泰国页面实际上就在泰国，那么没问题。如果为了节约经费，针对东南亚的所有页面都放在中国，搜索引擎就会误认为这些泰国页面是属于中国的。</p>
<p>实际上，搜索引擎比这要聪明一点儿，但只是一点儿。除了查看服务器所在的国家之外，它们还会查看顶级域名（.com、.de 等等）来判断国家。无论页面驻留在哪里，在 URL 中使用国家顶级域名（比如 “de” 表示德国）的页面（比如 “www.deutschefirma.de”）会被认为是属于那个国家的页面。</p>
<p>遗憾的是，大多数全球化 Web 站点对每个页面都使用 “.com” 顶级域名。例如，IBM 的德国主页是 “www.ibm.com/de”，除非这个页面放在德国，否则搜索引擎不会意识到这个页面来自德国。这个问题很重要，因为如果搜索者将结果限制为来自德国的页面，他们就找不到这个来自 IBM 的页面。</p>
<p>幸运的是，有经验的搜索者已经习惯了搜索引擎的这一缺陷，所以他们常常会搜索用<em>德语</em> 编写（而不是来自<em>德国</em>）的页面，从而找到想要的页面。从长远来看，搜索引擎可能会变得更聪明，可以认出 IBM 的德国主页属于德国，到那时，搜索者就不需要这么有经验了。</p>
<p><strong>语言问题</strong></p>
<p>Google 和 Yahoo!™ 都是美国的大型搜索引擎，但是对于世界的其他地方，怎么样呢？Google 实际上在许多国家都占据第一位，但是也要注意在一两个国家市场上占优势的本地搜索引擎（参见 参考资料）。一定要参阅 Search Engine Watch 报告（参见 参考资料），了解各国市场上搜索引擎的份额分布，这样就可以针对适当的搜索引擎进行 SEO 工作，并度量来自适当搜索引擎的流量。</p>
<p>搜索引擎不容易判断出页面的国家，但是它们在探测页面的语言方面要出色得多。搜索引擎一般会通过三方面的迹象来判断页面的语言：它的语言元标记，比如 <code>&lt;meta http-equiv="content-language" content="ja"&gt;</code> 表示日语；它的字符编码，比如 <code>&lt;meta http-equiv="content-type" content= "text/html; charset=shift-jis"&gt;</code>；以及<em>对内容进行分析</em>。因为页面上编写的语言和字符编码常常不正确，所以只有在搜索引擎无法通过分析页面上的单词模式识别出语言的情况下，才会使用这些信息（参见 参考资料）。</p>
<p>在大多数情况下，搜索引擎会正确地探测出页面的语言，而不需要您采取任何措施。但是，对于单词非常少的页面，在页面上正确地编写语言和字符集元标记就很重要了；否则的话，当搜索者寻找用特定语言编写的页面时，搜索引擎就不会包含您的页面。</p>
<p>但是，让搜索引擎正确地探测出页面的语言只是个开始。如果您用英语执行所有 SEO 任务，并简单地将结果翻译成其他语言，就会遇到问题。假设您为产品选择了最流行的英语关键词，然后将它们翻译成德语：这不能保证您选择了最流行的德语单词。翻译出的单词在语言学上是正确的，但对于搜索不一定是最优的。如果在德国 SEO 工作中选择了意思正确但不常用的关键词，效果就会大打折扣（参见 参考资料）。</p>
<p>即使对页面的英语版本进行了精心的处理，使其包含正确的关键词，而且在每个页面上都使用适当数量的关键词，也不要指望标准的翻译过程会保持英语优化的成果。必须按照与英语页面相同的方式对德语页面进行优化，以求获得相似的 SEO 效果。</p>
<p>在进行全球化搜索营销活动时，要记住这些关于语言和国家的提示，这样才能在竞争中领先。</p>
<p><strong>如何处理动态站点？</strong></p>
<p>大型 Web 站点通常用动态页面进行装载 —— 它们使大型站点更容易保持新颖的内容和设计。但是，对于动态页面进行优化更困难。</p>
<p>Google 用同样的方式对待动态页面和静态页面的内容，所以本系列前面的文章中讨论的所有内容优化技术也适用于动态页面。</p>
<p>对于静态页面，文字编写人员只需编辑包含页面内容的 HTML 文件 —— 例如，在页面标题中添加关键词。动态页面就没这么简单了。因为动态页面是由程序动态地生成的，所以页面的内容来自两种不同类型的来源：</p>
<ul>
<li><strong>数据库。</strong>页面上变化的信息（动态部分）常常来自某种关系数据库或其他数据库。例如，产品描述页面可能会从电子商务目录数据库中提取信息。实际上，动态页面可以从许多来源提取信息，甚至是那些不称为数据库的来源，比如内容管理系统。</li>
<li><strong>模板。</strong>页面上保持不变的信息（比如每个产品页面上都有的公司名称和 “添加到购物车” 按钮）常常保存在一个模板文件中，这个文件还指定使用哪些 HTML 标记来生成页面。</li>
</ul>
<p>为了对动态页面上的内容进行优化，首先必须查明内容来自哪里，然后才能修改它。内容由负责更新数据库的小组来管理 —— 可能是内容管理系统的文字编写人员，或者是产品目录的数据输入员。</p>
<p>另一方面，模板常常由 Web 开发人员控制。在某些情况下，模板是一个容易更新的单独的文件 —— 大多数内容管理系统就采用这种方式。在其他时候，HTML 存储在软件本身中，所以程序员必须修改软件才能改变 HTML。</p>
<p>与修改静态页面相比，修改动态页面往往要花费更多精力和时间来说服团队。这是坏消息。好消息是，如果说服了团队修改一个动态页面，他们常常会修改所有动态页面。对于静态页面，修改一个页面时仅影响这一个页面。使用来自数据库的内容通常还会简化质量控制，因为与用 HTML 编辑器检查静态页面相比，数据输入程序可以更容易地检查输入。</p>
<p><strong>结束语</strong></p>
<p>SEO 很有挑战性，而在大型站点上挑战会成倍增加。有许多团队同时参与站点的管理，很难让他们向着同一方向努力。而且，多个国家和动态页面也会增加复杂性。</p>
<p>但是，如果您以前认为 SEO 在大型站点上是不可行的，现在应该知道，这是可行的，也应该知道该怎么去做了。</p>
<p><!-- CMA ID: 175871 --><!-- Site ID: 10 --><!-- XSLT stylesheet used to transform this file:  dw-article-6.0-beta.xsl --><strong>参考资料 </strong></p>
<p><strong>学习</strong></p>
<ul>
<li>您可以参阅本文在 developerWorks 全球站点上的 <a href="http://www.ibm.com/developerworks/library/wa-seo4.html?S_TACT=105AGX52&amp;S_CMP=cn-a-wa" target="_blank">英文原文</a> 。</li>
<li><a href="http://www.mikemoran.com/biznology/Aug2005.htm">Search marketing for large sites</a>：阅读 Mike Moran 在 2005 年 8 月 Biznology Newsletter 中的文章。</li>
<li><a href="http://www.mikemoran.com/search/workingtogether.htm">Working Together</a>：Mike Moran 的这篇文章讨论了团队协作的重要性。（这里的概念在 2005 年 3 月的 Search Engine Strategies 会议中的 “Big Company and Big Site Search Marketing” 研讨会上得到了进一步发展）。</li>
<li><a href="http://www.linuxjournal.com/article/7856">Geolocation by IP Address</a>：通过 <em>Linux Journal</em> 中 Andrew Turner 的文章了解地理定位的好处和应用它的技术。</li>
<li><a href="http://www.philb.com/countryse.htm">Country-based search engines</a>：这个站点列出了本地和区域性搜索引擎，当前包含超过 2,600 个搜索引擎和 200 多个国家和地区。</li>
<li><a href="http://searchenginewatch.com/reports/">Search Engine Watch</a>：这里有大量的 SEO 参考资料，包括在各国市场上搜索引擎的份额分布，可以帮助您针对适当的搜索引擎进行 SEO。</li>
<li><a href="http://www.submitcorner.com/Guide/Meta/language.shtml">语言元标记</a> 和 <a href="http://www.w3.org/International/O-charset.html">字符编码</a>：用元标记和字符集确保搜索引擎能够正确地识别页面的语言。</li>
<li><a href="http://www.webworldindex.com/articles/Multilingual-SEO-for-world-markets-Part-1.html">Multilingual SEO for world markets, Part 1</a>：阅读 David Leonhardt 关于多语种关键词研究的文章。</li>
<li><a href="http://www.mikemoran.com/searchmarketinginc/index.htm">Search Engine Marketing Inc.</a>：关于提高站点的搜索流量的步骤，请参阅本文作者所写的 IBM Press 新书。</li>
<li><a href="http://secure.safaribooksonline.com/">Safari</a>书店：寻找关于相关主题的图书。</li>
<li><a href="http://www.ibm.com/developerworks/cn/web/">Web development 专区的技术库</a>：寻找关于各种基于 Web 的解决方案的文章和教程。</li>
</ul>
<p><strong>讨论</strong></p>
<ul>
<li><a href="http://www.ibm.com/developerworks/blogs/?S_TACT=105AGX52&amp;S_CMP=cn-a-wa">developerWorks blog</a>：加入 developerWorks 社区。</li>
</ul>
<p><strong>作者简介</strong></p>
<p><a name="author1"></a><em>Search Engine Marketing, Inc.</em> 一书的合作作者 Mike Moran 是一位 IBM Distinguished Engineer，他在 IBM Research、Lotus 和其他 IBM 软件方面从事搜索技术研究已经超过了 20 年。他在 1989 年领导了开发第一个商业语言学搜索引擎的产品团队，并获得了搜索和检索技术方面的四项专利。他领导过 ibm.com 最初的搜索引擎营销策略的开发，以及与 ibm.com 的站点搜索技术的集成。除了搜索技术之外，他还在内容管理、个性化和 Web 尺度方面的 ibm.com 项目中发挥先锋作用。Mike 当前是 ibm.com Web Experience 的经理，负责站点的设计、信息架构、技术架构和运作。</p>
<p><a name="author2"></a>Bill 负责一个 Search Engine Marketing Strategists 团队，他们帮助财富二百强公司用全球化视角管理企业的 SEM 规划。Bill 当前被认为是企业和国际 SEM 策略方面最出色的专家，他是受到高度好评的 <em>Search Engine Marketing, Inc.</em>（由 IBM Press 出版）一书的合作作者。Bill 获得了马里兰大学（东京校区）的亚洲研究和日语 B.A. 学位，以及加利福尼亚州立大学（洛杉矶）的国际商务学士学位。他还是海军陆战队的退伍兵。</p>
<p>Related posts:<ol>
<li><a href='http://www.biaodianfu.com/seo-basics-improving-site-rankings-in-search-engines.html' rel='bookmark' title='SEO基础: 提高站点在搜索引擎中的排名'>SEO基础: 提高站点在搜索引擎中的排名</a></li>
<li><a href='http://www.biaodianfu.com/seo-basics-let-web-pages-into-the-search-engine-index.html' rel='bookmark' title='SEO基础: 让 Web 页面进入搜索引擎索引'>SEO基础: 让 Web 页面进入搜索引擎索引</a></li>
<li><a href='http://www.biaodianfu.com/seo-basics-keywords-and-other-optimization-strategies.html' rel='bookmark' title='SEO基础: 关键词和其他优化策略'>SEO基础: 关键词和其他优化策略</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.biaodianfu.com/seo-basics-improved-large-scale-search-marketing-site.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

