AnnoBench
收藏资源简介:
AnnoBench是由犹他大学研究团队构建的可视化标注生成基准数据集,包含约342个专业图表样本和650多个标注任务。该数据集涵盖六种表示格式和五种描述条件,数据来源于专业数据新闻和可视化图库,通过多维度设计支持对标注质量的系统评估。数据集创建过程整合了视觉、语义和任务规范等多个维度,旨在评估大语言模型和视觉语言模型在图表标注任务中的表现,解决自动化标注系统中目标定位、数据准确性和空间可行性等核心问题。
AnnoBench is a benchmark dataset for visual annotation generation developed by a research team from the University of Utah. It contains approximately 342 professional chart samples and over 650 annotation tasks. Covering six representation formats and five description conditions, the dataset sources its data from professional data journalism and visualization galleries, and its multi-dimensional design enables systematic evaluation of annotation quality. The dataset creation process integrates multiple dimensions including visual, semantic and task specifications, aiming to evaluate the performance of Large Language Models (LLMs) and Vision-Language Models on chart annotation tasks, and address core issues in automated annotation systems such as target localization, data accuracy and spatial feasibility.
AnnoBench - LLM Chart Understanding Benchmark
概述
AnnoBench 是一个用于评估大语言模型(LLM)对图表和数据可视化理解能力的综合性基准数据集。
主要特点
- 多图表类型:涵盖从简单图表(柱状图、散点图、折线图)到复杂图表(桑基图、树图、网络图)的多种类型。
- 多输入格式:支持光栅图像(PNG)、矢量图形(SVG)、源代码(Vega-Lite、D3)等多种输入格式。
- 多样化任务类型:
- 图表类型识别
- 数值提取
- 比较与排名
- 趋势分析
- 数据推理
- 灵活评估:支持多种评估方法,包括精确匹配、数值匹配、模糊匹配、语义匹配。
- 模型支持:兼容纯文本模型、视觉模型、多模态模型、思维模型。
- 可扩展架构:易于添加新的图表、任务、评估器和模型适配器。
目录结构
annobench.py:主 CLI 脚本annobench/:主代码包,包含评估器(evaluators/)和模型适配器(runners/)datasets/:数据集(仅数据,不含代码)simple-charts/:简单图表数据集complex-charts/:复杂图表数据集advanced-charts/:高级图表数据集docs/:文档leaderboards/:模型对比
tests/:测试套件results/:基准测试结果
如何添加新组件
添加新图表
- 创建目录:
datasets/simple-charts/charts/mychart-1/ - 添加必要文件:
data.csv(图表数据)、metadata.json(图表元数据)、render.png(视觉渲染)、spec.vegalite.json(规范,可选)、render.svg(SVG渲染,可选)、code.d3.js(D3代码,可选)、code.ggplot2.r(ggplot2代码,可选) - 创建任务:
datasets/simple-charts/tasks/mychart-1/目录下定义多个任务 JSON 文件
添加新评估器
继承 BaseEvaluator 类,实现 evaluate 方法,并通过 EvaluatorFactory.register_evaluator 注册。
添加新运行器
继承 BaseRunner 类,实现 generate 和 is_available 方法,并通过 RunnerFactory.register_runner 注册。
添加新模型提供者
- 在
annobench/models/下创建新模块 - 实现适配器,继承
LLMModel,实现generate_text、is_available等必要方法 - 使用
ModelFactory.register和ProviderRegistry.register注册 - 在
annobench/models/__init__.py中导入该模块




