加速研究人員和開發者構建多語言AI的新開放數據集
GitHub發佈多語言倉庫數據集(CC0-1.0),包含超過80百萬分類行,涵蓋4000萬以上公共倉庫的README、問題和PR的語言分類。該數據集旨在幫助研究人員和開發者發現非英語開發者內容,促進多語言AI工具的開發。
軟件是用編程語言編寫的,但人類語言是開發者協作的核心。開發者通過README解釋項目如何工作,在問題中尋求幫助,在拉取請求中審查、討論和改進代碼。這種協作通常以英語進行,但並非總是如此。隨着人工智能在軟件開發中扮演越來越重要的角色,多語言開發者內容比以往任何時候都更加重要。
今天,GitHub發佈了GitHub多語言倉庫數據集(GitHub Multilingual Repositories Dataset),這是一個倉庫級別的元數據集,旨在幫助研究人員和開發者發現包含非英語自然語言內容的公共GitHub倉庫。在構建數據集時,我們發現語言分佈在README、問題和拉取請求之間存在差異:韓語是問題文本中最常見的非英語語言,但在README中僅排名第五;葡萄牙語在非英語README中排名第一,涉及超過300萬個倉庫。
該數據集現已在GitHub上以CC0-1.0許可發佈。這是GitHub兑現2025年作為微軟歐洲數字承諾一部分所做出的承諾,即讓多語言數據更容易獲取,包括面向開源AI開發者。
數據集中的內容
GitHub多語言倉庫數據集並非倉庫內容的原始轉儲,而是一個元數據集,幫助開發者和研究者找到可能發生多語言協作的倉庫。該數據集涵蓋了超過8000萬條分類記錄,涉及超過4000萬個倉庫。對於每個公共倉庫,我們提供:
- README、最活躍問題以及最活躍拉取請求的語言分類,使用每個文本的前150個字符作為輸入樣本(少於20字符的文本被排除)。
- 來自fastText、gcld3和lingua-py三個分類器的分類結果,每個帶有置信度分數。數據集僅包含置信度大於0.5的分類結果。
- 倉庫元數據:創建時間戳、磁盤使用量、星標數、分支數、主要編程語言、SPDX許可證、問題和拉取請求數量以及快照日期。
我們特意沒有將三個分類器合併為單一標籤。不同的分類器有不同的覆蓋範圍和置信度校準,尤其是對於資源較少的語言。通過公開所有三個分類器,你可以自行決定嚴格程度。例如,想要高精度的希臘語子集?可以要求三個分類器都同意並超過一定置信度閾值。想要對羅曼語族進行廣泛召回?一個分類器可能就足夠了。
你可以用它構建什麼
該數據集專為通用網頁文本難以完成的工作而設計:
- 發現可能包含特定語言的開發者文檔或協作的倉庫。
- 研究非英語開發者社區如何使用問題、拉取請求和README。
- 為AI編碼工具、文檔生成器或審查助手構建評估集,這些工具需要跨語言表現良好。
- 利用數據支持的多語言多樣性論點,鼓勵決策者擴展新開發者工具和AI功能的語言覆蓋範圍。
- 衡量歐洲及其他代表性不足的語言在開源中的表現。
注意事項
語言識別在軟件倉庫中尤其困難。倉庫文本通常較短,可能包含徽章、模板、安裝命令、代碼片段、用户名或混合語言內容。150個字符的樣本可能無法代表整個倉庫。分類器在覆蓋範圍和校準方面也因語言而異,尤其是對於資源較少的語言。
因此,該數據集不應被視為語言識別的基準真相。相反,它被設計為一個透明的發現工具。用户可以檢查分類、置信度分數和來源,然後選擇適合自己研究或開發工作流程的精度和召回權衡。
該數據集也不應用於推斷倉庫所有者、貢獻者或社區的敏感屬性。信號是倉庫級別的元數據,而非個人級別的屬性。
為什麼開放多語言數據很重要
如今,許多歐洲語言在用於構建和評估AI系統的在線文本中仍然代表性不足。這給AI工具帶來了風險——它們可能對某些開發者、語言和社區效果良好,而將其他羣體拋在後面。開放數據有助於縮小這一差距。我們構建這個數據集是因為開發者內容與通用網頁文本不同。README、問題和拉取請求包含了軟件協作的語言:安裝説明、錯誤報告、功能請求、審查評論和社區規範。這些背景信息有助於構建更理解開發者實際工作方式的AI系統。
通過使多語言開發者內容信號更容易發現和分析,該數據集為研究人員、開源開發者和模型構建者提供了另一種研究軟件開發中語言代表性的工具。它有助於識別差距,支持更好的評估,併為歐洲及其他地區的開發者提供更具包容性的AI工具。這也反映了一個更廣泛的原則:為開發者構建AI時,應包括開發者實際使用的社區、語言和工作流程。
下一步計劃
我們將在6月16日於斯特拉斯堡舉辦的開放創新對話中心(Open Innovation Dialogue Hub)討論該數據集以及開放數據對多語言AI的重要性。該活動由微軟開放創新中心、歐洲委員會和GitHub共同組織,將彙集政策制定者、研究人員、文化機構和開放創新領導者,討論AI、語言多樣性、文化遺產和開放數據。
多語言AI需要多語言開發者社區。我們希望這個數據集能幫助更多人研究、支持和構建這些社區。通過在GitHub上以CC0-1.0發佈,我們邀請研究人員、開源維護者和模型構建者使用、批判、擴展它,並在此基礎上構建評估集和工具。
如果你用它做出了有趣的東西,我們很樂意聽取你的反饋。