问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

将爬虫与大语言模型结合:AUTOCRAWLER框架详解

创作时间:
作者:
@小白创作中心

将爬虫与大语言模型结合:AUTOCRAWLER框架详解

引用
1
来源
1.
https://www.cnblogs.com/mingupupu/p/18358217

随着人工智能技术的快速发展,大型语言模型(LLM)在各个领域的应用越来越广泛。在Web自动化领域,如何将LLM与传统的网络爬虫技术相结合,以提高自动化效率和适应性,成为了一个重要的研究方向。本文介绍了一篇来自arXiv的论文,该论文提出了一种名为AUTOCRAWLER的两阶段框架,通过利用HTML的层次结构进行渐进式理解,实现了更高效、更稳定的Web爬虫生成。

研究背景与挑战

Web自动化是一种重要技术,通过自动化常见的Web操作来完成复杂的Web任务,可以提高运营效率并减少手动操作的需要。传统的实现方式,比如包装器,当面对新的网站时,面临着适应性和可扩展性的限制。另一方面,由大型语言模型(LLM)赋能的生成型代理在开放世界场景中表现出较差的表现和可重用性。

在这项工作中,研究者们提出了一个面向垂直信息网页的爬虫生成任务,以及将自然语言模型(LLMs)与爬虫结合的范式,这有助于爬虫更高效地应对多变的网络环境。他们提出了一种名为AUTOCRAWLER的两阶段框架,利用HTML的层次结构进行逐步理解。

AUTOCRAWLER框架详解

研究者们将爬虫生成任务建模为行动序列生成任务。具体来说,他们生成一个行动序列Aseq,它由一组种子网页(即测试案例中生成序列的小部分网页)中的一系列XPath表达式组成。n 代表动作序列的长度。他们在顺序使用解析器的方式执行XPath。在序列中,除了最后一个XPath表达式之外的所有 XPath 表达式都用于筛选网页,最后的表达式用于从筛选后的网页中提取相应的元素值。

然而,HTML内容组织为DOM树结构,这使得可以剔除无关的页面组件,因而限制DOM树的长度和高度,从而改善LLM生成的性能。具体来说,他们执行的遍历策略由自顶向下和步回操作。自上而下指的是从当前DOM树的根节点开始,逐步细化以找到包含目标信息的特定节点。反向推进指的是通过向上遍历DOM树,重新评估并调整选择标准,从而选择一个更可靠、更具有普遍适用性的节点作为定位目标信息更加一致、准确的定位基础。在每一步中,首先执行自上而下的操作,指导LLMs直接写出通向包含目标信息节点的XPath,并判断使用XPath提取出的值是否与其识别的值一致。如果执行失败,则采取反向推进操作,从中失败的节点后退,同时确保网页中包含目标信息,这一过程也是基于LLMs的导向。

尽管在递增生成过程中他们能够获取执行动作序列,但不同网页的目标信息具体位置和结构的差异仍然存在。这一过程可能在单个HTML页面中收集具有特定特征的XPath,但这种做法降低了动作序列的通用性。为了提高动作序列的重用性,研究者们提出引入综合阶段。具体实施如下:

  1. 随机选择ns个测试页面作为种子页面。
  2. 为每一个种子页面生成一个动作序列。
  3. 利用多个不同的动作序列从这些种子页面中提取信息。收集所有动作序列及其相应的结果,并从中挑选一个能够从所有种子页面中提取出全部目标信息的动作序列,作为最终的动作序列。

动作序列的长度依赖于大型语言模型(LLMs)的能力。为了全面探讨不同模型在理解网页结构方面的性能,研究者们研究了模型对步骤数量分布的影响。具体来说,他们收集了所有动作序列,并计算了不同LLMs与AUTOCRAWLER之间的平均步骤数。实验结果报告在表格3中。

他们注意到,具有更强LLMs的AUTOCRAWLER产生更短的动作序列。使用GPT4的AUTOCRAWLER平均需要1.57步,而使用Mistral 7B的AUTOCRAWLER平均需要3.82步。这一现象可以解释为更强大的模型具有更好的了解网页层次结构的能力,因此能够准确地输出更长、更深网页中的适当XPath,从而减少步骤的数量。

将HTML的长度定义为其HTML中词条的数量,其高度定义为表示HTML的DOM树的高。他们定义长度和高度的压缩比为原始网页的长度和高度与网页被AUTOCRAWLER精简后的长度和高度比值。他们计算了在正确情况下,各个LLM的长度和高度压缩比,并据此对它们的性能进行了排名。图3显示了结果。令人感兴趣的观察是,长度和高度的压缩比都呈现出一个U形曲线。这种现象可以从两个方面进行解读:一方面,当LLM的性能强大时,它能在不返回并重新访问子DOM树的情况下生成正确的XPath;另一方面,当模型较弱时,它无法有效理解网页的层次结构,因此无法为网页生成可靠且有效的XPath。

自动爬虫中XPath的脆弱性 关于XPath的脆弱性,主要指的是XPath表达式在面对新的网页时,往往因为依赖特定信息的预测(如文本、@class等)变得无效或不准确地匹配目标元素。这种脆弱性在很大程度上依赖于XPath通过使用如文本信息这样的预测来指定具体信息。

研究者们主要关注基于文本特征生成XPath的重复使用性,因为这些文本信息来自于同一个网站(如@class就是一个生成稳定操作序列的好特性)。表4列出了依赖于文本的XPath表达式。他们旨在探索通过文本特征来生成XPath的具体情况再利用性。他们人工计算了不同类型预测(包含和等于)两种情况下的失效案例的比例。表5中的结果显示,较强的大型语言模型(LLM)的能力与使用自动爬虫时的失效案例比例呈下降趋势。然而,目前的前沿LLM GPT-4仍面临着XPath的脆弱性问题,这表明完全依赖LLM来生成可靠的XPath仍存在一定的差距。

相关工作

许多研究探索了在网页模拟环境中开放世界的概念(Shi等人,2017;Yao等人,2023;Deng等人,2023;Zhou等人,2023),包涵了一系列涵盖现实生活场景的任务,比如在线购物、航班预订和软件开发等。当前的网页自动化框架主要致力于简化网络环境(Sridhar等人,2023;Gur等人,2023;Zheng等人,2024),并为计划和与网络交互制定策略(Sodhi等人,2023;Ma等人,2023)。然而,这些框架在重用性方面存在局限,代理在执行类似任务时对LLMs的依赖性过强,导致了效率低下。

这些方法利用了网页的层次结构。此类方法包括基于规则的方法(Zheng等,2008),学习封装器(即,一个DOM特定解析器,可以提取内容)(Gulhane等,2011;Kushmerick,1997;Dalvi等,2011)。现代策略采用了远距离监督,通过将现有知识库与web源进行匹配,以自动创建训练样本从而降低注释所需的努力(Lockard等,2018, 2019)。这种方法虽然大大减少了标注工作,但不可避免地会导致误删(即负样本)问题,因为是由于知识库的不完整性导致的(Xie等,2021)。

结论

在这篇论文中,研究者们提出了一种名为“爬虫生成任务”的概念,该任务融合了LLM(Large Language Model)和爬虫的范例,以提升当前网络自动化框架的有效复用性。随后,他们提出了一个称为AUTOCRAWLER的两阶段渐进理解框架,旨在生成一个更加稳定和可执行的行动序列。全面的实验结果表明,AUTOCRAWLER在爬虫生成任务中能显著超越最佳基准。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号