Home
avatar

ychhh

数据获取

02 数据获取(综述 §2.3.1)

定位:与经典 ML 的两点不同

经典 ML 靠「收集领域内标注数据做监督训练」(情感分析、句子相似度这类);LLM 数据获取是:

  1. 大规模爬虫拿跨域无监督数据(保证覆盖面和泛化);
  2. 用版面解析、实体链接从已有内容里再榨出数据。

核心挑战:从网页里抽出高质量正文(辅助手段 = 版面分析 + 实体链接),以及在规模下管好时间和资源效率。

0 一图看懂:获取的三条路

数据从哪来?
  ├─ 路1:网站爬取(公开网页/代码/书籍)
  │     HTML → 分离正文与模板 → 抽关键元素 → 存结构化格式
  │     方法:规则式(Trafilatura/BET) 或 ML式(Dragnet)
  ├─ 路2:版面解析(扫描件/PDF/手写体)
  │     流水线式(OCR/MinerU) 或 端到端式(GOT2.0/Fox)
  └─ 路3:已有内容再榨取(实体识别链接 + 新样本派生)
        ReFinED / WEBIE / AACTRANS / UMIE

1 数据源先分两堆(决定后面所有合规约束)

类型内容规模锚点
公开数据网页、书籍、公开代码仓库C4 1.56T 英文文本;mC4 66 亿多语言页面;CulturaX 6.3T token 多语言页面;Project Gutenberg 7.5 万+ 电子书;Open Library 百万级免费电子书;BookCorpus 书籍简介;GitHub/GitLab/Bitbucket;CodeSearchNet 200 万(注释, 代码)对
私有数据内部文档、客服日志、应用事件日志、订阅内容(付费新闻、授权科学数据库)必须处理 GDPR/CCPA 等法律约束:匿名化/假名化去敏感信息、加密、基于角色的访问控制、CI/CD 安全管道

2 网站爬取(三大步 + 两类方法)

标准流程(综述):

  1. 解析原始 HTML,把有意义的正文和模板元素分离;
  2. 用脚本(CSS 选择器/XPath)识别并抽取关键元素——正文、标题、日期、作者署名;导航栏、页脚、广告、侧栏对训练价值低,直接剔除;
  3. 存成结构化格式(JSON/CSV/数据库)供后续处理。
  • 图片:记录 image source URL,抽 <img> 的 alt 属性当 caption。

Trafilatura(规则式)

一句话:手写规则启发式抽正文——比如 class=navbar 的 DOM 节点直接当导航栏剔除。

BET(规则式)

一句话:统计累积 HTML 标签分布,找「标签最少、文本最大」的区域当正文。

Dragnet(ML 式)

一句话:训一个 HTML 标签分类器判断 DOM 节点是否含正文——解决「规则盖不住的网页区域」。

细节:输入文本密度特征 + id/class 属性里的词频,用 L2 正则逻辑回归输出概率。

动态页面辅助工具(绕不开 JS 渲染时):

工具机制
Beautiful SoupPython HTML 解析
Selenium控制浏览器 web driver,处理动态渲染页
Playwright高层 API 自动化
Puppeteer直连 DevTools 协议,headless 交互(JS 重的网站)

3 版面解析(扫描件/手写体/非文本)

PaddleOCR(流水线式)

一句话:多个小模型串成流水线——版面分析切块 → 表格/文本/公式各走各的识别模块 → 按相对位置恢复版面。

细节:图像 → 版面分析模型切成文本/表格/公式区域 → 表格区送表单识别模块做结构化识别,文本和公式区送 OCR 引擎 → 版面恢复模块按相对位置用启发式规则重建成文本格式。

MinerU(流水线式,OpenDataLab)

一句话:同样的流水线架构,但把版面检测换成微调过的 LayoutLMv3、公式检测换成 YOLOv8——泛化到更多文档类型,输出 Markdown/JSON。

GOT2.0(端到端式,580M)

一句话:多模态 LLM 直接「看图吐文」——高压缩视觉编码器 + 长上下文解码器,一个模型端到端完成解析。

细节:高压缩编码器(图 → token)+ 长上下文解码器(输出 OCR 结果)+ 线性层连接视觉与语言编码器。能识别复杂元素(图表、乐谱)并输出 LaTeX/Markdown 这类高可读格式。

Fox(端到端式,1.8B)

一句话:双视觉编码器(自然内容 CLIP-ViT + 人工内容 Vary)+ 细粒度交互,支持多页文档理解。

取舍(综述明确点出):参数量 PaddleOCR <20M vs GOT2.0 580M vs Fox 1.8B——流水线式 vs 端到端式就是「维护成本 vs 推理成本」的取舍。

4 实体识别与链接 + 新样本派生

方法一句话 + 机制
ReFinED(Bi-Transformer)一句话:把文本挂接到知识库实体。机制:Bi-Transformer 做实体识别与链接
WEBIE一句话:大规模实体链接信息抽取数据集。机制:Common Crawl 160 万句,用 ReFinED 链接实体,远程监督(distant supervision)标注
AACTRANS一句话:借翻译的拐杖派生新样本。机制:翻译一致性从平行语料派生新样本(seq2seq + 引用框架)
UMIE一句话:多模态抽取。机制:多模态 LLM 做文本-图像整合抽取

5 原则与连接点

  • 顺序原则在获取阶段就生效:URL 过滤这种廉价操作必须放在一切计算之前(RefinedWeb 管道第一条工序就是 URL filter,见 08 端到端管道)。
  • 爬取是全管道的第一道质量阀门:这里的提取质量决定后面所有工序的工作量——FineWeb 实测文本提取一步就砍掉全量数据的 50.8%。
  • PDF/扫描件解析是中文语料建设的独特痛点:MinerU 模型流水线路线 vs 传统 OCR 流水线 vs 端到端多模态 LLM,三条路线的取舍值得单独跟踪。
  • 私有数据获取的合规栈(GDPR/CCPA → 匿名化 → 加密 → 访问控制)在数据合规越来越严的 2026 年会越来越像预训练管道的标配。

6 与其他笔记的连接

数据 综述 爬虫 版面解析 实体链接