当前位置: 首页 > news >正文

AUTOCRAWLER : A Progressive Understanding Web Agent for WebCrawler Generation

AUTOCRAWLER:用于生成 WebCrawler 的渐进式理解 Web 代理

Fudan University;Alibaba Holding-Aicheng Technology-Enterprise

Abstract

网络自动化是一项重要技术,它通过自动化常见的网络操作来完成复杂的网络任务,提高效率并减少手动干预。传统的网络自动化方法如wrappers,在适应性和可扩展性上有局限性,而基于大型语言模型(LLMs)的生成式代理在开放世界的环境中表现不佳。本文提出了一种针对垂直信息网页的爬虫生成任务,介绍了一种结合LLMs与爬虫的新范式,以提高爬虫应对多样化和不断变化的网络环境的效率。作者提出了AUTOCRAWLER,这是一种利用HTML的层次结构进行逐步理解的两阶段框架。通过自顶向下和后退操作,AUTOCRAWLER可以从错误的操作中学习并不断修剪HTML,以更好地生成操作。作者通过多种LLMs进行了全面实验,证明了框架的有效性。

1 Introduction

  • 网络自动化通过编程与基于Web的应用程序或网站交互,以执行通常需要人工干预的任务。传统的网络自动化方法主要依赖于wrappers,这些wrappers对网站或网页具有特定的适应性。大型语言模型(LLMs)为生成式代理提供了计划、推理和反思等高级功能,但在处理开放世界任务时,仍存在性能差和可重用性低的问题。
  • 主要贡献
    1. 提出了一种新的web爬虫生成任务,并对其进行分析。
    2. 引入了AUTOCRAWLER,这是一种具有渐进理解能力的两阶段框架。
    3. 实验结果表明,AUTOCRAWLER在爬虫生成任务中表现出色。

2 Preliminaries预备知识

  • 2.1 Task Formulation:爬虫生成任务是生成执行动作序列A的过程,目标是在给定的网页集合中提取目标信息。
  • 2.2 Datasets:使用SWDE、EXTENDED SWDE和DS1三个数据集来测试该任务。
  • 2.3 Evaluation Metrics:提出了可执行性评估来评估动作序列的效果,并采用传统的精确度、召回率和F1分数作为指标。

3 AUTOCRAWLER

  • 3.1 Modeling:将爬虫生成任务建模为动作序列生成任务。
  • 3.2 Progressive Generation:通过自顶向下和后退操作逐步生成动作序列。
  • 3.3 Synthesis:通过在种子网页上执行多个不同的动作序列来选择最终的动作序列。

4 Experiment

  • 4.1 Experimental Settings & Evaluation Metrics:进行了广泛的实验设置,包括使用不同的LLMs、数据集和评估指标。
  • 4.2 Main Results on SWDE:AUTOCRAWLER在执行任务时表现优于其他框架。
  • 4.3 Generate with Golden Label:在提供金标签的情况下,AUTOCRAWLER仍能有效提升模型性能。
  • 4.4 Further Study with AUTOCRAWLER:不同LLMs在生成动作序列的步数上存在差异,性能更强的LLMs生成的步数较少。
  • 4.5 Error Analysis:分析了AUTOCRAWLER在执行任务时的常见错误,包括网页结构缺乏通用性和多值信息丢失。

Conclusion: 文章提出了一个新的网络爬虫生成任务,并介绍了AUTOCRAWLER框架,这是一种结合LLMs和爬虫的新范式。AUTOCRAWLER利用HTML的层次结构进行逐步理解,通过自顶向下和后退操作生成操作序列。通过广泛的实验证明了该框架在网络爬虫生成任务中的有效性。

http://www.lryc.cn/news/343428.html

相关文章:

  • php使用服务器端和客户端加密狗环境部署及使用记录(服务器端windows环境下部署、linux环境宝塔面板部署、客户端部署加密狗)
  • Android selinux权限
  • Flutter笔记:Widgets Easier组件库(9)使用弹窗
  • 【解决Android Studio】cmake报错找不到vulkan包
  • 手动卸载32 位office
  • python selenium 滑动后获取动态追加的元素
  • 【idea-sprongboot项目】在linux服务器上纯远程开发方式
  • ADC模-数转换原理与实现
  • Android 文件传输
  • 一起深度学习
  • servlet-会话(cookie与session)
  • windows11忘记登录密码怎么办?
  • C#里如何设置输出路径,不要net7.0-windows
  • 知名员工上网行为管理系统推荐榜单
  • 第12章 软件测试基础(第三部分)测试类型、测试工具
  • open-vm-tools使用虚机的拷贝/粘切
  • CKEditor编辑器的简单使用方法,取值,赋值
  • 创建一个线程对象需要花费多少内存空间
  • Java -- (part23)
  • 1. C++入门:命名空间及输入输出
  • 【Kotlin】Java三目运算转成 kotlin 表达
  • 如何安全可控地进行内外网跨网络传输文件?
  • Python Json数据解析
  • pyinstaller打包pytorch和transformers程序
  • 西门子数控网络IP设定配置
  • [Unity]备份许可文件
  • 第十五届蓝桥杯省赛大学B组(c++)
  • Python Flask框架(一)初识Flask
  • VS2022 .Net6.0 无法打开窗体设计器
  • Linux学习之高级IO