高层每层都有连廊:详述SEO的本质与向量空间模型

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 01:40:42

一些所谓的SEO高手,连什么叫向量空间模型都不知道,完全不了解搜索引擎的检索原理,却到处吹牛,动辄保证能把任意词做到首页。这样的保证,其实是相当苍白可笑的。因为缺乏对搜索引擎检索原理的了解,是永远也无法深入到SEO的本质之中的!

搜索引擎就像是一个神奇的魔方空间,如下图:

 


 

当访客要检索一个叫完好归位的魔方时,搜索引擎就必须将最符合要求的魔方,如下图呈现出来。


 



搜索引擎排名是SEO的一个重要工作。作为SEO要做的工作就是将自己所优化的页面最佳化,通过向量空间模型来使所有的方块颜色一致,玩转魔方,达成搜索引擎的“最符合”,从而占据理想排名。
向量空间的概念
向量空间是线性代数的主体,它是数学中基本又重要的概念,其概念是:设V为n维向量的集合,如果集合V非空,且集合V对于加法及乘数两种运算封闭,那么就称集合V为向量空间。其理论和方法已应用到自然科学、工程技术及社会科学的诸多领域。
向量空间模型(VSM)是近年来应用最多且效果较好的方法之一,在该模型中,文档向量空间被看作是由一组正交词条向量所组成的向量空间。
向量空间模型产生的背景及运用
早期的搜索引擎所使用的技术造成了信息检索的结果查全率高,查准率底。介于此,为了增加词和信息之间的相关性,以求达到和检索者的思维的统一,搜索引擎开发出了向量模型,概率模型,神经网络模型,贝叶斯模型等等。
其中,由Salton,Wong and Yang提出的向量空间模型(vector space model,简称VSM)是比较经典的一个模型。
它的缺点是相似度的计算量大,当有新文档加入时,则必须重新计算词的权值;不适合处理过长的文件,因为近似值不理想;检索词组必须要完全符合文件中出现的词组,不完整词组(子字串)会会生falsepositive;语言敏感度不佳,情境相同但使用不同语汇的文件无法被关联起来,这产生所谓的false negative。
但是瑕不掩瑜,由于具有较强的可计算性和可操作性,已经被广泛地应用于文本检索、自动文摘、关键词自动提取、词义消歧(多义词的词义消歧)、文本分类(包括多主题web文本分类方法)、信息过滤和搜索引擎等信息检索领域的各项应用中,并且取得了较好的效果。还有许多地方也运用到这个模型。比如目前的邮件自动归类,基于统计的邮件分类一般采用向量空间模型来表示邮件。
在数据建模上,现有多种信息检索算法模型,如布尔模型、概率模型、向量空间模型、神经网络模型、遗传算法模型及模糊集合模型等,有其各自的适用范围和优缺点。其中,检索效果较好且较通用的是向量空间模型和概率模型。
现在针对文档频度和Salton(1973)年提出的计算向量权重的TF*IDF 算法有不少的改进,如:Thorsten Joachims提出了概率TF*IDF 算法;Roberto Basili提出了TF*IWF*IWF 算法等等。
训练方法和分类算法是分类系统的核心部分,目前存在多种基于向量空间模型的训练算法和分类算法,例如,支持向量机算法、神经网络方法,最大平均熵方法,KNN(K 最近邻居)算法和贝叶斯方法等等。从测试结果看来,KNN算法在分类效果上是最佳的,同时在训练过程中投入的时间最少,但是在分类过程中花费的时间最多,不利于文本的实时处理;而贝叶斯算法和简单向量距离算法的时间花费近似,其分类效果也近似,简单距离算法的效果略好。Ko与Seo提出一算法TCFP(text categorization usingfeature projection),尝试利用特征投影法(featureprojection)来降低与分类无关的特征对于系统的影响,并借此提升系统效能,其实实验结果显示其分类效果与k最近邻居法相近,但其运算所需时间仅需k最近邻居法运算时间的五十分之一。
百度开发的百度新闻、百度图片、相似网页、相关搜索等等几乎都是基于向量空间模型的!
 

信息检索技术的基本原理
简单介绍一下信息检索技术的基本原理。
信息检索系统流程大致如下图所示:

 


 

总体上,系统可分为数据预处理、索引生成、查询处理、终端检索四个部分。
在搜索引擎的数据预处理阶段,《一种基于锚文本的并行检索策略》(高珊,何婷婷,胡文敏)提出:进行Web信息检索时,页面中的锚文本与正文存在较大相关性,多数检索系统忽视了锚文本对页面正文的贡献。该文提出一种提高检索精度的方法,为文档集建立一个基于页面正文的索引和一个基于锚文本的索引,对其采取并行检索策略。实验结果表明,该方法可以有效处理特定结构的网页集。
该文写到,因为要为正文和锚文本分别建立索引,所以需要获取正文和锚文本。因为很多锚文本是链接到广告等与页面内容无关的信息,所以在获取锚文本时,要根据新闻网页结构的特殊性,抽取相关锚文本。例如,在正文下方通常有相关新闻的字样,只抽取出现在相关新闻下方表格里的锚文本,因为在整个网页中,只有这部分的链接信息与正文内容相关度较大,所以可以有效剔除与正文内容不相关的锚文本,从而提高系统准确率。
 
在获取锚文本时,为该网页建立一个文本文件,用于存放与正文内容相关度较大的所有锚文本。待检索网页集经过预处理后,得到2个文档集合:页面正文集和锚文本集。后续处理将为这2种文档集分别建立索引。
传统上所讨论的文本分类一般面向文本内容的本身。在文本的预处理阶段会将文本中所包含的如HTML标签(tag)、主题以及超级链接等结构信息清除。然后,在面向互联网的信息,特别是web页面的分类中,文本中所包含的这些结构化信息会提供文本归属的丰富信息。通过这篇论文,建网站进行大胆的猜测,目前搜索引擎在数据的预处理阶段的时候,正文、锚文本和链接地址都是要提取出来的。
 

在搜索引擎的索引生成阶段,目前主流的方法是以词为单位构造倒排文档表,大家可以参阅SEO研究院上的其他相关资料,本文不赘述。
在搜索引擎的查询处理阶段,作为SEO要注意各种语言中都会存在的很多同义词现象。掌握这个技能有助于SEO文案的写作,从而推广排名的前进。举个例子,比如你查“SEO”的时候,包含“搜索引擎优化”的结果也应一并返回,这种情况搜索引擎通常会采用查词典的方法解决。
向量空间模型的具体运用
在搜索引擎的最后一个阶段——检索阶段的时候,为了把最符合用户需求的结果显示在前面,还需要利用各种信息对结果进行重排序。
目前有两大主流技术用于分析结果和查询的相关性:链接分析和基于内容的计算。
前者主要以Sergey Brin 和Larry Page 在1998 年提出了PageRank 算法为代表。同时还有同年J.Kleinberg提出的HITS算法,以及其它一些学者也相继提出的链接分析算法,如SALSA,PHITS,Bayesian等算法。这些算法有的已经在实际的系统中实现和使用,并且取得了良好的效果。
后者的计算则沿用传统的文本分类方法,多采用向量空间模型、概率模型等方法来逐一计算用户查询和结果的相似度(相关性)。两者各有优缺点,而且恰好互补。链接分析充分利用了Web上丰富的链接结构信息,但它很少考虑网页本身的内容,而直观上看,基于内容的计算则较为深入地揭示了查询和结果之间的语义关系,但忽略了不同网页之间的指向关系,因此现在很多系统尝试把两者结合起来,以达到更好的性能。
作为想深入到SEO的本质的学习者来说,要想学习检索模型,就必须深入研究向量空间模型、概率模型、语言模型等基本模型或者混合模型,同时掌握PageRank、链入分析等链接分析或者页面分析技术来提高检索效果。中文检索相对英文等其它语种来说,如何正确分词对于检索效果有所影响,尤其是命名实体、缩略语以及新词等未登录词的正确识别对于某些查询来说影响较大。现在的大部分检索系统在索引以及查询分析阶段采用了命名体识别,从结果来看,取得了比较好的效果。
互联网的数据以及资源呈现海量特征。搜索引擎为了有效索引和排序这些分布的海量信息,就必须开发基于内容的信息检索和数据挖掘。其中文本自动分类是信息检索与数据挖掘领域的研究热点与核心技术。向量空间表示模型(VSM)仍是文本表示的主要方法。相关研究仍然集中在以什么语义单元作为项以及计算项的权重两个问题上。大部分工作仍然以关键词作为项,以项的频率为基础计算权重,如tf*idf等。目前的搜索引擎是基于“词项”在进行一系列的排序计算的。
在搜索引擎中,一个词能够概括这篇文章意思的能力越高,权重就越高,反之则降低。很明显,文本经过分词程序分词后,首先去除停用词,合并数字和人名等词汇,然后统计词频,经过提炼的主题词为“标题标签”,全文差不多出现了四十次的“标题标签”这个关键词进行强调。

在检索过程中,向量空间模型根据文档之间的相似度,结合机器学习的一些算法如神经网络算法,K-近邻算法和贝叶斯分类算法等,可以实现文档的自动分类和对查询结果的相似度排序,能够有效提高检索效率。
向量空间模型在查询过程中,可以计算出每个文档与查询的相似度,进而可以根据相似度的大小,将查询的结果进行排序。从SEO的角度上理解,就是当访客在搜索引擎上搜索一个关键词时,向量空间模型会自动计算中哪个文档最符合这个关键词,从而将最符合的结果排在索引前列。真正掌握了向量空间模型,我们就很容易判断出所SEO的页面和关键词的相关性,从而将关键词做到第一页。
在信息检索中常用的关键词权值计算方法在向量空间模型中表现为TF-IDF函数。TF/IDF其实说白了就是关键词权重的量化方法。根据TF-IDF公式,文档集中包含某一关键词的文档越多,说明它区分文档类别属性的能力越低,其权值越小;另一方面,某一文档中某一关键词出现的频率越高,说明它区分文档内容属性的能力越强,其权值越大。
 

通过天诚对搜索引擎的观察,以及参阅搜索引擎对索引网页的描述部分(主要是源代码不输出Description标签的页面,描述是由搜索引擎自动进行提取的文摘),我认为判断一个句子重要度是有效构筑良好向量空间模型的基础,试验表明,很多说明性句子,句子长,分句多,包含有多个主题语义概念使得句子的重要度十分的大。句子在段落中所处位置。一个句子的重要度还与句子本身在段落中所处的位置有关。作为关键句一般在文章的开头、结尾或者在段落的开头、结尾可能比较大。句子的重要度除了与自身的一些因素相关外,还与句子所在段落也有一定的关系。
 

在向量空间模型中,文本泛指各种机器可读的记录。用D(Document)表示,特征项(Term,用t表示)是指出现在文档D中且能够代表该文档内容的基本语言单位,主要是由词或者短语构成,文本可以用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项,1<=k<=N。例如一篇文档中有a、b、c、d四个特征项,那么这篇文档就可以表示为D(a,b,c,d)。对含有n个特征项的文本而言,通常会给每个特征项赋予一定的权重表示其重要程度。即D=D(T1,W1;T2,W2;…,Tn,Wn),简记为D=D(W1,W2,…,Wn),我们把它叫做文本D的向量表示。其中Wk是Tk的权重,1<=k<=N。在上面那个例子中,假设a、b、c、d的权重分别为30,20,20,10,那么该文本的向量表示为D(30,20,20,10)。在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)常用向量之间夹角的余弦值表示,公式为:
 


 

其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N。
在自动归类中,我们可以利用类似的方法来计算待归类文档和某类目的相关度。例如文本D1的特征项为a,b,c,d,权值分别为30,20,20,10,类目C1的特征项为a,c,d,e,权值分别为40,30,20,10,则D1的向量表示为D1(30,20,20,10,0),C1的向量表示为C1(40,0,30,20,10),则根据上式计算出来的文本D1与类目C1相关度是0.86。
实际上,计算夹角向量之间的余弦比直接计算夹角容易:
 


 

余弦为零表示检索词向量垂直于文件向量,即没有符合,也就是说该文件不含此检索词。