five

GitHub Multilingual Repositories Dataset

收藏
github2026-06-16 更新2026-06-17 收录
下载链接:
https://github.com/github/multilingual-repositories
下载链接
链接失效反馈
官方服务:
资源简介:
GitHub多语言仓库数据集是一个仓库级别的元数据数据集,旨在帮助研究人员发现包含非英语自然语言内容的GitHub仓库。它包含从仓库README文件、问题(issues)和拉取请求(pull requests)中提取的语言分类信号,以及仓库元数据,如创建时间戳、磁盘使用量、星标数、分支数、主要编程语言、SPDX许可证、问题数量、拉取请求数量和快照日期。当前准备的数据包含40,817,528个不同仓库的80,657,333条分类行。语言分类由三个语言识别系统生成:fastText、gcld3和lingua-py。该数据集不旨在为每个仓库提供确定的语言标签,而是提供多个分类器输出和置信度分数,以便用户可以选择自己的精确度/召回率权衡。

The GitHub Multilingual Repository Dataset is a repository-level metadata dataset designed to help researchers discover GitHub repositories containing non-English natural language content. It includes language classification signals extracted from repository README files, issues, and pull requests, as well as repository metadata such as creation timestamp, disk usage, star count, fork count, primary programming language, SPDX license, number of issues, number of pull requests, and snapshot date. The currently prepared dataset contains 80,657,333 classified entries across 40,817,528 distinct repositories. Language classifications are generated by three language identification systems: fastText, gcld3, and lingua-py. This dataset does not aim to provide definitive language labels for each individual repository, but instead offers multiple classifier outputs and confidence scores, allowing users to select their own precision-recall tradeoffs.
创建时间:
2026-06-11
原始信息汇总

数据集概述

该数据集是一个基于GitHub仓库的元数据集合,旨在帮助研究者发现包含非英语自然语言内容的GitHub仓库。它提供了由多种语言识别系统推断的仓库级别分类信号,以及相关的仓库元数据。

数据集详情

  • 仓库地址: https://github.com/github/multilingual-repositories
  • 联系方式: policy@github.com
  • 许可证: CC0-1.0
  • 数据来源: 公开的GitHub仓库数据,包括README文件、议题(Issue)文本、拉取请求(Pull Request)文本以及仓库元数据。

数据规模与构成

当前包含 80,657,333 条分类记录,覆盖 40,817,528 个不同的仓库。分类结果由三种语言识别系统生成:fastText、gcld3 和 lingua-py。

数据行数按来源划分:

来源 行数
readme 66,177,034
issue 4,756,279
pull_request 9,724,020

数据行数按分类器划分:

分类器 行数
fasttext 25,909,973
gcld3 34,441,896
linguapy 20,305,464

数据表结构

1. repository_classifications (每条记录对应一个仓库/分类信号组合)

列名 类型 描述
repository_id int64 GitHub仓库标识符。
lang_code string 检测到的ISO 639语言代码(大写)。
confidence float64 分类器置信度得分。
source string 用于分类的文本来源:readmeissuepull_request
classifier string 产生预测的分类器:fasttextgcld3linguapy

2. repo_metadata (每条记录对应一个仓库)

列名 类型 描述
repository_id int64 GitHub仓库标识符。
disk_usage_bytes int64 仓库磁盘使用量(字节)。
num_public_forks int64 公开分支数。
num_stars int64 星标数。
created_at timestamp 仓库创建时间戳。
primary_language_name string 仓库元数据中的主要编程语言。
spdx_license string 仓库元数据中的SPDX许可证标识符(如有)。
num_pull_requests int64 拉取请求数。
num_issues int64 议题数。
snapshot_day date 元数据快照日期。

数据用途

直接用途:

  • 为多语言软件工程研究选择仓库。
  • 评估非英语README、议题或拉取请求内容在GitHub上的普遍程度。
  • 分析按语言分类的仓库元数据分布(如星标数、仓库大小、主要编程语言、议题数、拉取请求数、SPDX许可证)。

不适用范围:

  • 不能作为语言识别的地面真实基准。标签由自动推断得出,可能错误。
  • 不能用于推断仓库所有者、贡献者或社区的敏感属性。

数据创建方法

  • 文本来源与处理:
    • 根目录README: 提取每个仓库根目录下 README.md 的前150个字符用于检测。少于20个字符的README被排除。
    • 议题与拉取请求: 筛选出正文长度至少为20字符的记录。对每个仓库,选取回复最多的议题或拉取请求,将其标题、正文和所有评论连接起来,取前150个字符用于分类。
  • 语言分类: 使用fastText、gcld3和lingua-py三种分类器对每个文本样本进行分类。
  • 数据过滤: 仅保留分类器检测为非英语置信度大于0.5的观测结果。

偏差、风险与限制

  • 文本片段过短: 150个字符的前缀可能包含徽章、模板、安装命令、议题模板、代码片段或混合语言文本,而非代表性内容。
  • 采样偏差: 议题和拉取请求的采样策略偏向选取回复最多的记录,可能高估了有争议性、热门或高支持度的讨论。
  • 分类器差异: 不同分类器的覆盖范围和校准标准不同,置信度得分不可直接比较。高精度场景下建议要求多个分类器结果一致。
  • 数据时效性: 仓库元数据为快照,可能因仓库删除、归档、转移或更新而过时。
搜集汇总
数据集介绍
main_image_url
构建方式
在开源协作的蓬勃生态中,非英语的自然语言内容广泛分布于各类代码仓库,为多语言软件工程研究提供了丰富土壤。该数据集的构建从GitHub公开仓库中提取元数据及语言信号,涵盖README文件、议题(Issue)和拉取请求(Pull Request)中的文本内容。具体而言,针对每个仓库,系统选取根目录README文件的前150个字符,并过滤掉字符数不足20的样本;对于议题和拉取请求,则筛选出正文至少包含20个字符的记录,并选择每个仓库中评论数最多的议题或拉取请求,将其标题、正文及评论的前150个字符拼接后用于语言检测。文本样本随后经由fastText、gcld3和lingua-py三种语言识别系统分别进行判定,仅保留置信度大于0.5且被判定为非英语的观测结果。最终,该数据集收录了超过8000万条分类记录,覆盖逾4000万个独立仓库,并提供了仓库元数据如创建时间、磁盘用量、星标数、派生数、主要编程语言、SPDX许可证及快照日期等字段。
特点
此数据集的核心特点在于其多维度的语言信号呈现与灵活的应用导向。不同于提供单一确定性语言标签的传统方案,它公开了三种分类器的输出结果及各自置信度分数,使用户能够根据自身对精确率与召回率的需求,自由设定判断阈值,例如要求至少两个或三个分类器在语言判定上达成一致。数据集按文本来源(README、议题、拉取请求)与分类器类型(fastText、gcld3、lingua-py)分别统计行数,并提供了丰富的聚合统计表,直观展示了每种语言在仓库数量、磁盘总用量、星标总数等指标上的分布情况。此外,数据集在覆盖范围上兼顾了广度与深度,既包括了如葡萄牙语、西班牙语等高频语言,也涵括了低资源语言如祖鲁语、绍纳语等,为研究多语言开发者社区提供了可靠的资源支撑。
使用方法
该数据集的使用灵活且易于融入研究工作流。数据以表格形式提供,主要包含repository_classifications和repo_metadata两个核心表。用户可通过仓库标识符(repository_id)将语言分类结果与元数据信息进行关联分析。例如,研究者可依据分类器组合与置信度阈值筛选出特定语言的仓库集合,进而统计其星标数、议题数、主要编程语言分布等特征,用于多语言软件工程研究或评估GitHub上非英语内容的存在比例。由于语言标签为自动推断且基于短文本片段,建议在高精度场景下采用多分类器一致同意的策略。数据集以CC0-1.0许可发布,可直接通过GitHub仓库获取,并支持用户按需选择分类器与置信度阈值,实现定制化的精准分析。
背景与挑战
背景概述
在全球开源协作生态中,GitHub作为最大的代码托管平台,承载了数以亿计的开发者交流与协作活动。然而,长期以来,研究者和工具开发者主要关注以英语为主的仓储内容,忽视了非英语自然语言在README文档、议题讨论和拉取请求中的广泛存在。为填补这一空白,GitHub公司于2026年发布了GitHub Multilingual Repositories Dataset,旨在系统性地揭示仓储层面多语言内容的分布格局。该数据集由GitHub政策团队主导,整合了fastText、gcld3和lingua-py三种主流语言识别系统,对超过4000万个公开仓储的文本片段进行标注,涵盖80余种语言的置信度分数与仓储元数据。其核心研究问题在于为软件工程、计算语言学及开源生态分析等领域提供可扩展的多语言仓储发现基准,推动了非英语技术社区的可视化与跨语言研究进程。
当前挑战
该数据集面临的核心挑战首先源自其解决领域问题的固有难度:在软件仓储中,自然语言文本常与代码片段、模板文本、自动生成内容及混合语言表达交织,使得150字符的前缀采样极易捕获噪声而非代表性语料,导致语言识别精度受限。其次,构建过程中的抽样偏差与方法论困境尤为突出:议题与拉取请求选用了每仓评论数最多的记录,这倾向于放大争议性或支持密集型讨论,而低估常规交互模式;三种分类器(fastText、gcld3、lingua-py)在置信度校准与覆盖面上存在显著差异,缺乏统一的跨模型可比性;此外,仓储元数据的快照特性无法动态反映仓储的删除、归档或迁移状态,增加了时空分析中的时效性风险。
常用场景
经典使用场景
该数据集的核心应用场景在于为多语言软件工程研究提供精细化的仓库筛选基准。研究者可借助由fastText、gcld3和lingua-py三种语言识别系统协同生成的分类信号,结合置信度阈值与多分类器一致性策略,精准定位那些在README文件、议题或拉取请求中显著包含非英语自然语言内容的GitHub仓库。这种基于仓库级别的元数据标注范式,使得跨语言开发者社区的行为分析、非英语语料库的构建以及多语言项目生态的系统性调查成为可能。
衍生相关工作
依托该数据集,学术界已衍生出若干值得关注的研究方向。一方面,它催生了针对多语言README质量的实证分析,探讨文档语言选择与项目可持续性的关联;另一方面,基于议题和拉取请求中的语言分布规律,研究者建立了跨语言协作效率预测模型,检验了语言同质性对合并速度或问题解决时长的调节作用。此外,少数群体语言(如加泰罗尼亚语、祖鲁语)的稀有性数据已被用于开发面向低资源语言的新型代码检索工具,推动包容性软件工程的范式演进。
数据集最近研究
最新研究方向
该数据集为多语言软件工程研究奠定了基础设施级的数据支撑,当前前沿方向聚焦于利用非英语自然语言信号揭示全球开发者社区的协作生态与语言多样性。通过融合fastText、gcld3与lingua-py三种语言识别系统的分类结果,数据集突破了单一模型在短文本、混合语言及低资源语种上的局限,为研究者提供了可自定义精度与召回率的置信度聚合策略。结合README、Issue与Pull Request中的元数据,该数据集正被用于量化不同语种在GitHub仓库中的分布规律,分析多语言社区在星标、分支、问题提交等行为上的统计特征,并支撑低资源语言开发者参与度的跨文化比较研究。其开放CC0许可与大规模结构化视图,有望推动软件仓库语言学领域的可复现分析,并为包容性开源治理策略提供实证依据。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务