网页采集器的自动识别算法(网页增量式采集研究中,网页识别方法识别哪些)

优采云 发布时间: 2021-10-11 04:12

  网页采集器的自动识别算法(网页增量式采集研究中,网页识别方法识别哪些)

  1 简介

  随着互联网的发展,Web 上的网页数量迅速增长。即使采用*敏*感*词*分布式网页采集系统,全网最重要的网页都需要很长时间。研究结果表明,只有8.52%的中国网页在一个月内发生了变化[],因此采用完整的采集方式是对资源的巨大浪费。另外,由于两次采集的周期较长,这段时间内网页变化频率较高的网页已经发生多次变化,采集系统无法及时捕捉到变化的网页,这将导致搜索引擎系统无法为这些网页提供检索服务。为了解决这个问题,创建了一个网页增量采集系统。

  网页增量采集 系统不是采集获取的所有网址,而是只估计网页的变化采集新网页、变更网页、消失网页,不关心网页的变化未更改的网页。这大大减少了采集的使用量,可以快速将Web上的网页与搜索引擎中的网页同步,从而为用户提供更加实时的检索服务。

  在增量的采集研究中,网页通常分为目录网页(Hub pages)和主题网页(Topic pages)[],Hub网页在网站中的作用是引导用户寻找相关主题网页,相当于目录索引,没有具体内容,提供主题网页的入口[]。基于主题的网页专门针对某个主题。实验证明,很多新的网页都是从Hub网页[]链接而来的。因此增量采集系统只需要找到Hub网页并执行采集就可以发现新出现的URL。如上所述,识别哪些网页是Hub网页成为首先要解决的问题。

  针对这个问题,本文提出了一种基于URL特征识别Hub网页的方法。首次将 URL 特征用作 Hub 网页识别的整个基础。这将弥补传统Hub网页识别的巨大成本。最后通过对比实验进行验证。方法的有效性。

  2 相关工作

  目前主要的Hub网页识别方法包括基于简单规则的识别方法[]、基于多特征启发式规则的分类方法[-]和基于网页内容的机器学习方法[-]。

  基于简单规则的识别方法是分析Hub网页URL的特征,总结规则,制定简单规则。Hub 网页满足条件。孟等人。建议选择网站的主页,网站中文件名收录index、class、default等词的网页作为Hub网页[],采集对应的网页Hub 网页中的链接。这种方法可以采集到达大量新网页,但是新网页采集的召回率不是很高。存在以下问题:

  (1)Hub网页选择不准确。由于网页的文件名是人名,没有固定模式,所以不可能找到一个规则来正确找到所有Hub网页;

  (2)无法自动识别Hub网页,由于在采集过程中无法及时发现新的Hub网页,无法找到新的Hub网页中的链接信息。

  为了解决简单的基于规则的方法的局限性,Ail 等人。提出了一种基于多特征启发式规则的网页分类方法,基于非链接字符数、标点符号数、文本链接比例构建启发式规则[]。研究发现,Hub 网页和主题网页在这些特征值上存在广泛差异,这种差异证明了网页通过这些特征值进行分类的可行性。该方法通过根据贝叶斯公式统计网页中每个特征的具体值,计算每个特征值对Hub网页的概率支持度,根据每个特征值的概率支持度得到综合支持度,并设置阈值。比较并确定网页属于哪个类别。这种方法的缺点是过于依赖阈值的设置。阈值的设置将直接影响分类的准确性。但是对于不同类型的网站,阈值设置也不同,增加了算法的复杂度。.

  为了解决阈值依赖问题,文献[9]提出了一种基于网页内容的机器学习方法,通过HTML分析和网页特征分析,建立训练集和测试集,从而获得机器学习用于识别 Hub 网页的学习模型。这种方法精度高,但效率低,增加了系统的额外成本。由于这种方法是基于网页的内容,需要解析所有的HTML网页,并提取其特征进行存储,会在一定程度上占用系统资源,给采集系统带来额外的负担. 影响采集系统的性能。

  以上方法从不同层面分析了Hub网页的识别。基于前人的研究,本文提出的基于URL特征的识别方法将在很大程度上解决上述问题。该方法使用 URL 特征作为样本,SVM 作为机器学习方法进行识别。与基于规则和基于网络内容的方法相比,它提供了一种更有价值的方法。一方面,特征提取简单、高效、易于实现,同时兼顾识别的准确性。另一方面,在采集系统中,从网页中提取URL是必不可少的一部分。因此,选择URL作为识别依据,可以减少对系统效率的影响,并且不会给采集系统增加过多的额外开销。

  3 基于URL特征的Hub网页识别方法3.1 SVM介绍

  支持向量机(SVM)是由 Vapnik 等人开发的一种机器学习方法。支持向量机基于统计理论-VC维数理论和最小结构风险原则。特别是在样本数量较少的情况下,SVM的性能明显优于其他算法[-]。

  基本思想是:定义最优线性超平面,将寻找最优超平面的算法简化为求解最优(凸规划)问题。然后基于Mercer核展开定理,通过非线性映射,将样本空间映射到一个高维甚至无限维的特征空间,从而可以在特征空间中使用线性学习机的方法来求解高度非线性样本空间中的分类和回归。问题。它还包括以下优点:

  (1) 基于结构风险最小化原则,这样可以避免过拟合问题,泛化能力强。

  (2) SVM是一种理论基础扎实的小样本学习方法,基本不涉及概率测度和大数定律,本质上避免了传统的归纳到演绎的过程,实现了高效的从训练样本到预测样本的“转导推理”大大简化了通常的分类和回归问题。

  (3) SVM的最终决策函数仅由少量支持向量决定。计算复杂度取决于支持向量的数量,而不是样本空间的维数。这样就避免了“维数”某种意义上的灾难”。

  (4)少量的支持向量决定了最终的结果,有助于捕捉关键样本,“拒绝”大量冗余样本,注定算法简单,“鲁棒性”好。

  3.2 方法概述

  Hub网页识别可以理解为二分类问题,正类是Hub网页,负类是主题网页。Hub网页识别的关键是如何正确划分Hub网页和主题网页。

  基于URL特征识别Hub网页的方法主要是根据URL中与Hub网页相关的特征对网页进行分类。具体过程如下:分析获取的URL,提取其中收录的特征信息,找出与Hub网页相关的特征;将得到的特征整合到训练集和测试集,用训练集训练SVM机器学习模型,同时评估效果:根据效果调整SVM模型参数,从而确定最优参数,并得到最终的 SVM 学习模型。

  3.3 实现过程

  它展示了基于 URL 特征的 Hub 网页识别方法的架构。从整体来看,该方法主要包括预处理、特征提取和训练分类三个模块。

  

  图1 Hub网页识别架构

  (1) 预处理

  预处理主要包括 URL 分析。URL收录大量信息,其中一些信息可以作为网页分类的依据。URL分析的目的是找出对分类有用的特征信息。URL中的信息包括URL的长度、URL是否收录某些字符串等。URL对应的锚文本也可以在一定程度上反映网页类型。因此,需要在预处理阶段提取URL对应的锚文本。

  本实验基础数据预先整理自网络采集器采集。在采集的过程中,URL及其对应的标题以及采集等其他信息将被记录为日志文件。因此,本实验通过提取日志文件的内容来分析日志文件的内容,获取URL相关信息。包括URL标题长度、URL长度、URL是否收录日期、网页文件名、文件类型、参数名、参数号、目录名、目录深度、URL大小、采集深度。

  (2) 特征提取

  特征提取主要包括特征选择和特征量化。特征选择的任务是从特征项空间中删除信息量小的特征和不重要的特征,从而降低特征项空间的维数。特征量化是对选中的特征进行量化,以表示特征与Hub页面的关联程度。

  经过URL解析,可以得到URL中收录的信息。通过查阅相关文献和观察统计,可以发现Hub网页与主题网页不同的特点如下:

  ①URL标题长度:锚文本的长度。锚文本的长度一般较短,因为Hub网页没有描述具体的内容。

  ②URL 长度:由于Hub 网页基本位于主题网页的上层,因此Hub 网页的URL 比主题网页要短。

  ③网址是否收录日期:主题网页主要描述某个内容,网址大部分收录发布日期,但Hub网页基本没有。

  ④网页文件名:Hub网页URL一般有两种可能:只是一个目录,没有文件名;文件名大多收录诸如“索引”和“类”之类的词。

  ⑤文件类型:文件类型与网页文件名结合在一起,具有网页文件名的Hub网页大部分为ASP、JSP、ASPX和PHP类型。

  ⑥参数名称:在带参数的网址中,主题网页的网址大多收录ID参数,而Hub网页的网址一般没有。

  ⑦参数数量:大部分Hub网页网址都没有参数。

  ⑧ 目录深度:Hub 网页基本位于网站的上层。

  ⑨网址大小:网页对应的网址大小。Hub网页上有大量的链接,对应的网页也比较大。

  ⑩采集深度:采集到URL的级别。中心网页提供主题网页的链接条目。因此,Hub 网页采集 一般先于主题网页。

  机器学习模型只能对数字类型进行分类,因此需要将文本类型数字化。数字化的基础是汇总不同类型网址的文本值,找到具有代表性的文本值进行赋值。分配是通过统计计算的。文本值出现的频率,然后计算其出现的概率并归一化。在统计中,选取500个Hub网页,统计每个文本值的个数并计算概率,将概率乘以100进行赋值(只是为了让最终的特征值在一个合理的范围内)。具体流程如下:

  ①网页文件名“空”的个数为302个,概率为0.604,取值为60.4;那些带有“class”、“index”、“default”和“list”的数字为153,概率为0.306,赋值为30.6;收录“文章”和“内容”的个数为0,概率为0,赋值为0;其他情况下为45,概率为0.09,值为9。

  ②文件类型“空”的个数为302个,概率为0.604,取值为60.4;收录“asp”、“jsp”、“aspx”和“php”的文件个数为123,概率为0.246,取值为24.6;收录“shtml”、“html”和“htm”的数字为75,概率为0.15,值为15;否则数字为0,概率为0,值为0。

  ③参数名称为“空”的数为412,概率为0.824,赋值为82.4;带有“id”的数字为52,概率为0.104,值为10.4;其他情况数为36,概率为0.072,取值为7.2。

  (3) 训练分类

  ①~cjlin/libsvm/.

  通过以上步骤,将URL表示为向量空间,使用LibSVM[]对URL进行分类。LibSVM 是一个快速有效的 SVM 模式识别和回归集成包。还提供了源代码,可以根据需求修改源代码。本实验使用LibSVM-3.20版本①中的Java源代码。源代码在参数设置和训练模型方面进行了修改,增加了自动参数优化和模型文件返回和保存功能。

  ①按照LibSVM要求的格式准备数据集。

  该算法使用的训练数据和测试数据文件格式如下:

  [标签] [索引 1]:[值 1] [索引 2]:[值 2]...

  [标签] [索引 1]:[值 1] [索引 2]:[值 2]...

  其中,label(或class)就是这个数据的类别,通常是一些整数;index表示特征的序号,通常是1开头的整数;value 是特征值,通常是一些实数。当特征值为0时,特征号和特征值可以省略,因此索引可以是一个不连续的自然数。

  ② 对数据进行简单的缩放操作。

  扫描数据,因为原创数据可能太大或太小,svmscale可以先将数据重新缩放到合适的范围,默认范围是[-1,1],可以使用参数lower和upper来调整upper和upper分别为缩放的下限。这也避免了训练时为了计算核函数而计算内积时数值计算的困难。

  ③选择RBF核函数。

  SVM 的类型选择 C-SVC,即 C 型支持向量分类机,它允许不完全分类,带有异常值惩罚因子 c。c越大,误分类样本越少,分类间距越小,泛化能力越弱;c越小,误分类样本越大,分类间距越大,泛化能力越强。

  核函数的类型选择RBF有三个原因:RBF核函数可以将一个样本映射到更高维的空间,而线性核函数是RBF的一个特例,也就是说如果考虑使用RBF,那么无需考虑线性核函数;需要确定的参数较少,核函数参数的多少直接影响函数的复杂度;对于某些参数,RBF 和其他核函数具有相似的性能。RBF核函数自带一个gamma参数,代表核函数的半径,隐含决定了数据映射到新特征空间后的分布。

  SVMtrain 训练训练数据集以获得 SVM 模型。模型内容如下:

  svm_type c_svc% 用于训练的 SVM 类型,这里是 C-SVC

  kernel_type rbf% 训练使用的核函数类型,这里是RBF核

  gamma 0.0769231% 设置核函数中的gamma参数,默认值为1/k

  nr_class 2% 分类中的类别数,这里是二分类问题

  total_sv 支持向量总数的 132%

  rho 0.424462% 决策函数中的常数项

  标签 1 0% 类别标签

  nr_sv 64 68% 每个类别标签对应的支持向量数

  SV% 及以下是支持向量

  1 1:0.166667 2:1 3:-0.333333 4:-0.433962 5:-0.383562 6:-1 7:-1

  8:0.0687023 9:-1 10:-0.903226 11:-1 12:-1 13:1

  0.55164 1:0.125 2:1 3:0.333333 4:-0.320755

  5:-0.406393 6:1 7:1 8:0.0839695 9:1 10:-0.806452 12:-0.333333 13:0.@ >5

  ④十折交叉验证用于选择最佳参数c和g(c为惩罚系数,g为核函数中的gamma参数)。

  交叉验证就是将训练样本平均分成10份,每次9份作为训练集,剩下的一份作为测试集,重复10次,得到平均交叉验证准确率rate 10 次寻找最佳参数使准确率最高。在 LibSVM 源代码中,一次只能验证一组参数。要找到最佳参数,您只能手动多次设置参数。

  本实验修改源代码,采用网格搜索方法自动寻找最优参数并返回。具体操作是自动获取一组参数,进行十倍交叉验证,得到平均准确率,如此反复,最终找到准确率最高的一组参数。为了确定合适的训练集大小,分别选取三个训练集进行训练。实验结果表明,当训练集为1000时,平均分类准确率为80%;当训练集为 2000 和 3000 时,平均分类准确率约为 91%。因此,为了保证训练集的简化,选择训练集的大小为2000。

  ⑤使用最佳参数c和g对训练集进行训练,得到SVM模型。

  使用SVMtrain函数训练模型,训练模型不会保存在LibSVM中,每次预测都需要重新训练。本实验对源代码进行了改进,将训练好的模型保存在本地,方便下次使用。

  ⑥ 使用获得的模型进行预测。

  使用经过训练的模型进行测试。输入新的 X 值并给出 SVM 预测的 Y 值。

  4 可行性验证4.1 验证方法

  分别用两种方法进行对比实验,验证基于URL特征的Hub网页识别方法的可行性: 与基于多特征启发式规则的传统网页分类方法对比;对比传统的基于内容特征的机器学习方法。这一阶段没有选择与传统的基于URL的简单规则识别方法进行比较,因为在曹桂峰[]的研究中,已经清楚地证明了基于URL的简单规则的识别效果明显不如基于URL的分类方法。关于多特征启发式规则。

  其可行性主要从效率和效果两个方面来验证。现有研究提出传统方法时,只给出了其效果数据,没有效率数据。因此,本文按照原步骤重新实现了两种验证方法。在达到原创实验效果的同时获得效率数据。

  4.2 验证方法的实现

  (1)基于多特征启发式规则的网页分类方法

  ①预处理操作。通过一组正则表达式去除注释信息、Script 脚本和 CSS 样式信息。

  ②计算网页的特征值。这个过程是网页分类的关键,主要是计算归一化后的非链接字符数、标点符号数、文本链接比例。

  ③计算支持度。根据得到的特征值计算网页作为话题网页的综合支持度。

  ④ 将计算的支持度与阈值进行比较。如果支持度小于阈值,则输出网页的类型为Hub网页,否则输出网页的类型为主题类型。

  在该验证方法的实现中,阈值是通过实验获得的。实验中选取500个Hub网页,计算每个网页作为话题网页的综合支持度,发现值集中在0.6以下,大部分集中在以下-0.2,所以确定了阈值的大概范围,最后在这个范围内进行了一项一项的测试实验,寻找最优的阈值,使得实验准确率最高。

  (2) 基于内容特征的机器学习方法

  ① HTML 解析。通过构建 DOM 树,去除与网页分类无关的 HTML 源代码。HTML解析步骤如下:

  1)标准化 HTML 标签

  由于部分网页中的HTML标签错误或缺失,为了方便后续处理,需要对错误的标签进行更正,完成缺失的标签。

  2)构建DOM树

  从 HTML 中的标签构建一个 DOM 树。

  3)网络去噪

  消除,

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线