根据关键词文章采集系统( 第八章页面分析(一)()页面的分析)
优采云 发布时间: 2021-11-27 03:14第八章页面分析(一)()页面的分析)
基于主题的网络信息 采集 技术研究 (七)
第八章页面分析
在过滤和判断这些信息采集的URL和页面的过程中,主要是处理HTML页面。因此,我们在页面分析方面所做的工作主要包括对HTML页面进行语法分析,提取文本、链接、链接的扩展元数据等相关内容;然后对这些内容进行简单的处理和一致的处理;最后将处理结果存入中间信息记录数据库,进行URL过滤处理和页面过滤处理。
8.1 HTML 语法分析
因为采集对页面的语法分析是基于HTML(超文本标记语言)协议[RFC 1866]。整个语法分析过程可以看成两个层次,即SGML(Markup Grammar)层和HTML标记层。语法层将页面分解为文本、标签、注释等不同的语法成分,然后调用标签层对文本和标签进行处理。同时,标记层维护当前文本的各种状态,包括字体、字体等,这些状态是由特定的标记产生或改变的。
系统中使用的标记语法分析器的基本原理是:通过标记语法构造状态转换表,根据输入流中的当前字符(无前向)进行状态切换,相应的语义操作为达到特定状态时执行。这里先介绍几个概念,然后讨论主要语法成分的处理:
文字。文本是页面的初始状态。此状态下的所有字符(除了导致切换到其他状态的字符)构成页面主体的一部分,并根据当前主体状态交给标记层进行处理和保存。
l 标记。标签是出现在文本中并以字符“”结尾的字符串。当解析器遇到“”时,表示标签结束,将分析的标签结构传递给标签层。标签层根据标签名称和参数做相应的动作,包括修改文本的状态。如果计算“”开头的标记,并计算“--”模式的数量来标识页面上的注释,则该注释将被忽略,不做任何处理。
l 转义字符。如果文本以“nnn”或“&xxx”的形式出现(末尾可能有附加字符“;”),分析器会将其视为转义字符,查找后将相应字符添加到文本中上对应的对照表。
8.2 从页面中提取正文
虽然已经预测出该网址与主题相关,但该网址所指向的实际页面可能与预测结果相差甚远。这导致采集到达的页面中有很大一部分是与主题无关的,所以,我们需要判断页面的主题相关性,通过判断结果过滤掉不相关的页面,从而提高平均页面与主题在整个数据集中的相似度值,或提高基于主题的Web信息的准确性采集。
为此,我们需要在页面分析时提取页面主体。提取页面正文的方法比较简单。文本和标记都作为独立的语法组件传递给标记层,标记层根据标记区分页面标题和内容,并根据系统需要合并页面主体。目前还没有考虑不同字体或字体的文字差异。也就是说,在阅读页面的时候,找到标签总和,去掉两个标签之间的内容中的所有标签。
8.3 提取页面中的链接
需要对抓取到的页面中的链接进行分析,并对链接中的网址进行必要的转换。首先,确定页面类型。显然,只有“text/html”类型的页面需要分析链接。页面的类型可以通过分析响应头来获得。部分 WWW 站点返回的响应信息格式不完整。在这种情况下,必须分析页面 URL 中的文件扩展名以确定页面类型。当遇到带有链接的标签时,从标签结构的属性中找到目标URL,从标签对中提取文本作为链接的描述性文本(扩展元数据)。这两个数据代表链接。
提取页面链接的工作流程如下:
1) 从页面文件队列中取出一个页面文件。如果响应标头中未指定文件类型,请使用 URL 中的文件扩展名填写。如果页面文件队列为空,则跳转到7)。
2) 判断页面是否为text/html/htm/shtml文件。如果不是,则丢弃该文件并转移到1),否则转移到3)。
3) 从文件头开始依次读取文件,遇到如下标记
依此类推,记录URL连接。如果遇到文件尾,跳转到7)
4) 按照预定义的统一格式完成提取的URL链接。(页面链接中给出的URL可以是多种格式,可以是完整的,包括协议、站点、路径,也可以省略部分内容,也可以是相对路径)
5) 记录
等后面这个链接的说明吧。在确定 URL 和主题的相关性的章节中,我们将使用此信息并将其定义为扩展元数据。
6) 存储此 URL 及其扩展元数据,并跳转到 2)。
7) 提取页面 URL。
在该算法中,不仅提取了采集页面中的URL,还提取了每个URL的扩展元数据信息。在下一章中,我们将看到扩展元数据的应用。
8.4 从页面中提取标题
如图8.1,页面标题的提取分为三个步骤:1)。确定文本开头的位置,从文章的开头开始,逐段扫描直到一定长度,如果不小于设置的文本最小长度,则假设该段为文本中的一个段落。2)。从文本位置向前搜索可能是标题的段落,根据字体大小、居中、颜色变化等特点,找到最适合的段落作为标题。3)。通过给定的参数调整标题的部分,使标题提取更准确。句法、语义、并对标题段stTitlePara前后各段进行统计分析,准确判断标题段的真实位置;向前或向后调整几段,并添加上一段或下一段。
确定文本的开始位置
从文本位置向前搜索可能是标题的一段
通过给定的参数调整标题的部分,使标题提取更准确
标题
图8.1 提取页面中的标题
第九章URL、页面、主题的相关性判断
在基于主题的Web信息采集系统中,核心问题是确定页面分析得到的URL与这些页面的主题相关性。
来自采集的页面的URL有很多,其中相当一部分与采集的主题无关。为了能够有效地修剪采集,我们需要分析现有信息,预测该URL指向的页面的主题相关性,剔除不相关的URL。因此,我们也将确定 URL 和主题的相关性称为 URL 过滤或 URL 预测。根据Web上主题页面的Sibling/Linkage Locality的分布特征,直观的想法是利用已经采集到页面的主题来预测这个链接指向的页面的主题页。换句话说,如果这个页面与主题相关,那么页面中的链接(不包括噪声链接)都被预测为与主题相关,这显然是一个相当大的错误预测。进一步研究发现,每个链接附近的说明文字(如锚点信息)对链接指向的页面主题具有非常高的预测能力,对预测链接的准确率也很高。但问题在于,由于说明文字的信息有限,很多与主题相关的链接经常被省略,或者在提高URL预测准确率的同时,降低了URL预测的召回率(资源发现率)。为了缓解这个问题,我们在预测算法中加入了由链接关系决定的链接重要性的概念。通过发现重要的链接,在降低相关性判定阈值的同时,我们选择了一些相关性不高的链接。具有高重要性的链接被用作预测以提高召回率,同时减少准确率(重要的 URL 通常会导致更高的召回率)。为此,我们在扩展元数据判断和链接分析判断的基础上,提出了自己的判断算法IPageRank方法。
为了进一步提高采集页面的准确率,我们对采集到达的页面进行了主题相关性判定,计算该页面与主题的相关性值是否小于阈值确定为相关的值。页面被裁剪。我们也将确定页面和主题的相关性称为页面过滤。基于主题的 Web 信息 采集 的一个目标是找到 采集 的准确率和召回率的最佳组合。但是采集的准确率和召回率(或资源发现率)是一对矛盾的问题。也就是说,在提高准确率的同时,召回率会降低;会降低精度。解决这个矛盾的一个有效方法是先提高采集页面的召回率,即降低URL过滤的门槛(增加无关误判,减少相关误判),让更多的URL进入采集@采集队列为采集;然后采集到达后,比较页面和主题的相似度,去掉不相关的页面。这样就得到了更高的最终采集准确率和采集召回率。最后,我们选择了经典的向量空间模型来计算页面和主题之间的相关性。获得更高的最终采集准确率和采集召回率。最后,我们选择了经典的向量空间模型来计算页面和主题之间的相关性。获得更高的最终采集准确率和采集召回率。最后,我们选择了经典的向量空间模型来计算页面和主题之间的相关性。
下面,我们分别讨论我们系统中使用的URL和主题的相关性确定算法以及页面内容和主题的相关性确定算法。
9?? 1 URL与主题相关性判断-IPageRank算法
在权衡性能和效率之后,我们选择了使用扩展元数据加权的 IPageRank 算法来确定 URL 和主题的相关性。
9.1.1 IPageRank算法的目标
通过观察,我们发现PageRank方法虽然具有很强的寻找重要页面的能力,但它所找到的重要页面是针对广泛的主题,而不是基于一个特定的主题。因此,与主题无关的大量页面组指向的页面的PageRank值高于与主题相关的少量页面组指向的页面的PageRank值。这种现象对于基于话题的采集来说是不合理的。但是,我们要利用大量主题相关页面组所指向页面的PageRank值高于少数主题相关页面组所指向页面的PageRank值的现象. 为此,我们改进了PageRank方法:在链接关系的基础上,
9.1.2 IPageRank算法的生成过程
改进的方法有两个主要方面。一是改进算法中的公式;二是改进PageRank算法的启发式步骤。
9.1.2.1 PageRank 公式的改进
首先我们来看一下PageRank算法的公式:
公式9.1
其中 A 是给定的网页,假设指向它的网页有 T1、T2、...、Tn。设 C(A) 为 A 到其他网页的链接数(将 Web 视为有向图时,C(A) 指节点 A 的出度),PR(A) 为 PageRank 值A的,d为衰减因子(通常设置为0.85)。
那我们再来回顾一下RW算法公式9.2和RWB算法公式9.3:
公式9.2
公式9.2中,M(url)是指与该URL相关的所有扩展元数据的集合,指的是扩展元数据中的词与主题的相关程度。c 是用户设置的相关性阈值。
公式9.3
公式9.3中,T(url)表示收录这个URL的文本,t指的是文本中的每个词,c和之前一样,是用户设置的相关性阈值,d是用户设置提高阈值。P1 和 P2 是随机变量,它们在 0 和 1 之间变化。
我们发现公式9.1中每一个指向页面A的页面Ti,其重要性均等地传递到该页面中每个链接所指向的页面,即只有1/的页面C(Ti) 重要性传递到A页。我们认为这对于主题的重要性是不合理的。页面的重要性值,IPageRank,在通过链接时不应相等,而应与链接所连接的页面主题的相关性水平成正比。因此,我们像这样修改公式9.1:
公式9.4
其中,A为给定的网页,假设指向它的网页有T1、T2、...、Tn。urlT1, urlT2,..., urlTn 是网页 T1, T2,..., Tn 到 A 的链接,k1, k2,..., kn 是网页 T1, T2,... 收录的链接数., Tn 分别。IPR(A)为A的IPageRank值,d为衰减因子(同样设置为0.85)。
通过实验发现,基于扩展元数据的RW算法,虽然判断相关页面的准确率较高,但相关页面缺失的数量也非常高。这个结果使得判断相关页面太少,参与评价IageRank值的页面数量少,会大大影响IageRank值的准确性;同时,也会导致相关主题页面的召回率(或资源发现)。率)太低。基于扩展元数据的RWB算法提高了主题页面的召回率,同时由于提取的URL数量增加了IPPageRank值的准确性。为此,我们在下面的公式中将 RW 算法替换为基于扩展元数据的 RWB 算法。
公式9.5
为了区分这两种方法,我们分别称它们为IPageRank-RW算法和IPageRank-RWB算法。如果没有区别,我们称它们为 IPageRank 算法。
9.1.2.2 改进PageRank算法的启发式步骤
在公式9.1中计算每个页面的PageRank值时,在启发式步骤中将每个页面的PageRank值初始化为相同(1),这是因为PageRank方法反映了一个完整的链接关系不带有任何语义含义,每个页面只能被视为平等的权利,在初始条件下,没有说某个页面比另一个页面好,某个主题比另一个主题好。对于基于主题的IPageRank算法,在初始条件下,可以根据与主题的相关性来区分每个页面,这种差异总比没有差异要好。另外,这些初始页面已经采集,它们与主题的相关性可以通过向量空间模型 VSM 或扩展元数据算法来计算。因此,我们将每个页面的 IPageRank 值初始化为该页面与主题的相关性。
9.1.3 如何使用IPPageRank算法以及URL预测的可行性
PageRank算法主要通过迭代计算封闭集中每个页面的PageRank值,并对搜索引擎检索到的结果页面进行重新排序。PageRank 值的作用是先对重要页面进行排名。IPageRank 的使用是不同的。首先,IPageRank值的计算也是在一个封闭的集合中进行的。这个封闭集是已经采集的相关主题页面的集合;算法也会在大约 5 次迭代后停止;并且为了更准确地获取IPageRank值,一般每增加100页重新计算IPageRank值。但是,IPageRank 值用于预测从 采集 页面集中提取的 URL 的主题相关性。预测方法直接通过公式9.4或公式9.5。
这种用法上的差异带来了PageRank和IPageRank的两个不同:一是每个页面的PageRank值一般在5次迭代内收敛(已经证明),而IageRank的迭代值是由于公式的变化。不能证明这种收敛特性是遗传的,所以是否收敛目前还不能完全确定,虽然直觉上是收敛的。显然,这是一个严重的问题。如果不收敛,IPageRank 值就不能准确反映页面的重要性,这就使得预测 URL 变得毫无意义。其次,PageRank的计算环境是封闭的,应用环境也是封闭的。IPageRank 方法使用现有页面的 IPageRank 值来计算新 URL 的 IPageRank 值。这个环境不是完全封闭的。问题是这不是完全封闭,不会体现出网址的重要性,失去方法的意义。
我们做出如下解释,以证明IPageRank算法仍然有效。对于第一个问题,即使IPageRank未能收敛,我们认为经过5次迭代后的值非常接近真实值,可以对采集页面的处理起到预测作用;对于第二个问题,尽管IPPageRank的计算环境并不是完全封闭的,但是采集的页面比较多,这个环境的变化可以忽略不计,和PageRank环境非常相似。因此,我们认为IPageRank算法是可行的,可以用来预测URL队列为采集。
9.1.4 直观解释IPageRank算法
假设Web上有一个主题浏览者,IPageRank(即函数IPR(A))是它访问页面A的概率。它从初始页面集开始,跟随页面链接,从不执行“返回” “ *敏*感*词*。在每个页面上,查看者对该页面中的每个链接感兴趣的概率与该链接与主题的相关性成正比。当然,浏览者可能不再对这个页面上的链接感兴趣,从而随机选择一个新页面开始新的浏览。这个离开的概率设置为d。
从直观上看,如果有很多页面指向一个页面,那么这个页面的PageRank会比较高,但IPPageRank值不一定高,除非很多页面中的大部分都与主题相关;如果有一个IPPageRank 如果一个很高的页面指向它,这个页面的IPageRank也会很高。这样,从“基于主题的查看器”模型出发的IPageRank功能直观地对应了WEB上的实际情况。如果有很多话题页面指向一个页面,那么这个页面值得一看;如果一个重要的话题资源中心引用了一个页面,这个页面也很重要,值得关注。
事实上,IPageRank算法不仅可以使用基于主题的信息采集,我们相信在域搜索引擎中,它对基于关键词的搜索排名也有很好的效果。
9.2 page和topic-vector空间模型算法的相关性判断
我们使用在检索领域非常常用的向量空间模型作为确定系统页面和主题之间相关性的方法。事实上,向量空间模型具有很强的处理能力,处理方法也比较简单。
我们的算法如下:
0)。预处理:在采集之前,我们首先对描述主题关键词的多个页面进行提取和加权,学习特征向量和属于该主题的向量的权重。
1)。我们对页面主体进行分割,去除停用词,并留下关键词。并根据关键词出现在文章中的频率,权重关键词。
2)。这个页面的标题被分词,将得到的关键词与文章中的关键词合并,给这个关键词加上权重。
3)。根据主题中的特征向量,对页面中的关键词进行剪裁和展开。
4)。根据公式9.3计算页面与主题的相似度,其中D1为主题,D2为要比较的页面。
公式9.6
5)。将Sim(D1,D2)的值与阈值d进行比较,如果Sim(D1,D2)大于等于d,则该页面与主题相关,保留给主题页面库;否则,不相关,删除该页面。
发表于 2006-03-26 02:56 Akun Reading (680)评论(0)编辑