截至2026年10月7日,Shifter拥有规模最大的美国实时IP池,超过Oxylabs和Bright Data,而成本只是其一小部分。Shifter 现在拥有数量最多的美国活跃 IP 资源池

查看基准测试

为 LLM 采集多语言和地区性网页数据

如何为 LLM 训练采集多语言和地区性网页数据:按语言规划覆盖范围、寻找本地来源、获取正确的本地版本、识别语言、按语言过滤,并平衡数据配比。

数据科学 · 更新于2026年10月29日 · 1分钟阅读
原始占比采样后
按语言划分的原始网页文本,以及训练配比。蓝色柱子为小语种赋予了更高的权重。
知识
本页内容
  1. 按语言和地区规划覆盖范围
  2. 寻找本地来源
  3. 获取本地读者看到的版本
  4. 识别每篇文档的语言
  5. 按语言过滤,而不是统一过滤
  6. 平衡数据配比
  7. 总结

公开网页的大部分内容只用少数几种语言写成,而从一个国家运行的爬虫看到的范围更窄:那些本会向本地访客展示本地文本的网站,它只能拿到英文版或默认版。如果你要为多个市场训练或微调模型,采集真正多语言、有地区特色的数据本身就是一个独立的难题,这也正是 AI 与机器学习数据采集最棘手的地方。

本文介绍如何按语言规划覆盖范围、去哪里找本地来源、如何获取本地读者看到的版本,以及拿到文本后如何识别、过滤和平衡。从爬取到语料库的整体流程,请参阅我们的从公开网页构建大规模训练数据集指南。

按语言和地区规划覆盖范围

先做一张表,而不是先写爬虫。为每种目标语言写下:

  • 重要的地区。 西班牙、墨西哥和阿根廷的西班牙语在词汇、拼写和话题上都不同。巴西和葡萄牙的葡萄牙语差别更大。确定你需要哪些变体。
  • 目标数据量,按语言和变体计算,单位是 token 数或文档数。
  • 需要覆盖的领域:新闻、论坛、政府、商业、参考资料、技术文档。
  • 文字系统。 有些语言使用不止一种文字,比如塞尔维亚语同时使用西里尔字母和拉丁字母。决定是否两种都保留。

这张表就是你的检验标准。每次采集结束后,按语言逐一对照这张表检查结果。

寻找本地来源

通用爬取对小语种覆盖不足,所以要按语言建立种子列表:

  • 国家代码域名,如 .pl、.vn 或 .co.ke,是寻找地区内容的有力起点。
  • 全球网站的各语言版本。 页面头部和站点地图中的 hreflang 标签会列出页面的所有语言版本。我们的用 hreflang 找到页面的每个语言版本指南介绍了提取方法。
  • 本地目录、新闻聚合站和政府门户,它们会链接到大量同语言的网站。
  • 本地语言的搜索结果,从该地区获取,能找到全球爬取很少触及的网站。

为每个种子记录来源和退出(opt-out)状态。抓取时遵守 robots.txt 和针对 AI 的退出声明,并把这些记录和数据一起保存。

获取本地读者看到的版本

很多网站会根据访客位置决定提供什么内容:语言、货币、本地新闻、地区版或同意弹窗。数据中心里的爬虫对每个国家拿到的都是默认版本,通常是英文,却把它当成本地内容记录下来。

要采集本地版本,每个请求都必须看起来像来自本地读者:

  • 目标国家的 IP,最好是家庭宽带。通过住宅代理发出的请求来自所选国家或城市的住宅 IP,网站会像对待真实访客一样为其路由并本地化。
  • 相应的 Accept-Language 请求头,例如面向波兰读者时使用 pl-PL,pl;q=0.9。
  • 一致的信号。 无头浏览器的时区和区域设置要与 IP 一致。不一致是网站退回默认版本的原因之一;我们的匹配代理地理位置、时区和区域设置一文列出了检查要点。

在采集初期,手动抽查每个地区的样本。如果”越南语”数据里全是英文页面,说明抓取层出了问题,后续任何过滤都无法补救。

识别每篇文档的语言

永远不要只相信 lang 属性或域名。对提取出的文本运行语言识别模型:

  • fastText 的 lid.176 模型支持 176 种语言,速度快到可以处理每一篇文档。
  • 覆盖面更广的模型如 GlotLID 支持的语言多得多,对低资源语言效果更好。

除了按文档识别,还要按段落识别。很多页面混用多种语言:带英文导航菜单的本地文章,或用户来回切换语言的论坛帖子。保留目标语言的段落,并记录置信度分数,以便之后收紧阈值。短文本最容易识别出错,所以在相信某个标签之前,先设定最短长度。

按语言过滤,而不是统一过滤

针对英语调好的质量过滤器会损害其他语言。停用词数量、平均词长或标点比例等启发式规则,在词与词之间没有空格的泰语、或单词很长的芬兰语里表现完全不同。请根据母语者审核过的样本,为每种语言单独设定阈值。

多语言数据中有两个问题会被放大:

  • 机器翻译的内容。 很多网站发布英文页面的自动翻译。它们能增加数据量,却会让模型学到翻译错误。标记那些几乎是已知英文页面译文的页面,对全站自动翻译的网站整体保持警惕。
  • 编码错误。 解码错误的文本会产生乱码,看起来像一种真实但奇怪的语言。统一转换为 Unicode,修复或丢弃损坏的编码,并规范化 Unicode 形式,避免同一个词以两种方式存储。

在每种语言内部和不同语言之间都要去重,因为相同的样板文字、法律声明和模板会出现在一个网站的所有语言版本中。

平衡数据配比

原始网页数据被少数语言主导。按原始比例训练,小语种几乎学不到;按相同比例训练,小语种会被重复很多次,模型会把它们背下来。

常见的折中做法是温度采样:按每种语言的数据量取一个小于一的指数幂,再按比例采样。mT5 和 XLM-R 的论文使用的指数是 0.3。无论你选择什么值,都要连同采样前后各语言的 token 数一起记录下来,让配比可以复现、可以解释。我们的 AI 训练流程中的数据溯源指南介绍了需要记录哪些内容。

总结

多语言数据不是英文数据加一道翻译工序。按语言和变体规划覆盖范围,寻找本地来源,按本地读者看到的样子获取每个地区的内容,按段落识别语言,用分语言的阈值过滤,并有意识地平衡配比。你的”波兰语”数据是不是真的波兰语,取决于采集层,所以先把抓取做对。

常见问题

什么是多语言训练数据?

就是用于训练或微调语言模型的多种语言文本。在网页上,它指的是由各语言、各地区母语者撰写的页面,经过采集、语言识别、清洗和平衡,让模型能学好每一种语言,而不是以英语为主。

为什么光靠公开网页不够?

公开爬取的数据被少数几种大语言主导,而且很多网站只向本国访客展示本地版本。如果你从一个地点抓取所有内容,得到的会是默认版本或英文版本、跳转和同意弹窗,而不是你想要的本地文本。

采集地区性网页数据需要代理吗?

你需要从目标版本所在地区发出的请求。很多网站根据访客 IP 决定语言、货币和内容,因此使用各国的住宅 IP,再配上相应的 Accept-Language 请求头,就能拿到本地读者看到的版本。

如何在训练数据中平衡各语言?

常用方法是温度采样:按每种语言的数据量取一个小于一的指数幂,再按比例采样。mT5 和 XLM-R 等多语言模型使用的指数是 0.3,这样小语种能获得比原始占比更高的权重,又不会被无限重复。

准备好开始了吗?

试用 Shifter 住宅代理,205M+ 个 IP,195+ 个国家,低至 $0.10/GB。

立即开始