KGTorrent: A Dataset of Python Jupyter Notebooks from Kaggle

MSR '21(2021) · 論文 · quaranta2021kgtorrent

📅 この論文を見た日

初回 2026-06-09 / 最終 2026-06-09 / 計 1 回更新

AI解説

出版社版: https://doi.org/10.1109/MSR52588.2021.00072(arXiv 全文: https://arxiv.org/abs/2103.10558 / 実装: https://github.com/collab-uniba/KGTorrent情報源: arXiv 全文(PDF)を精読して検証済み。248,761 本の Python ノートブックを取得、Meta Kaggle のスキーマを逆解析して関係 DB を構築・連結、HTTP/Kaggle API での取得と更新手順、を確認。

一言で

Kaggle 上の Python Jupyter ノートブック 248,761 本を、Meta Kaggle 由来のメタデータ(MySQL データベース)と紐付けて配布する大規模データセット KGTorrent。ノートブックの中身(コード・出力)と、それに関する豊富な文脈(作者・コンペ・評価・投票など)を結合して分析できるのが眼目。2015 年 11 月〜2020 年 10 月、約 175 GB。

背景・問題

Kaggle はデータサイエンス学習・実践の巨大な場で、そこにある膨大なノートブックはDS の実コードの宝庫だ。だが研究で使うには困りごとがある。

問題は「Kaggle ノートブックの本体とメタデータを、整合的に結合した再利用可能なデータセットがない」こと。KGTorrent はこれを埋める。

提案手法(データセット構築=やったこと)

  1. ノートブック本体の収集248,761 本の Python ノートブックを取得。取得経路は 2 通りで性質が違う——HTTP 経由だと出力付きの完全なノートブックが得られ、Kaggle API 経由だと出力なし。両者を使い分け/補完する。ファイルは UserName_CurrentUrlSlug の規則で命名。
  2. メタデータの整備:Kaggle 公式の Meta Kaggle(29 個の CSV テーブル)を取り込み、MySQL データベースとして再構成。外部キー(FK)の不整合をクリーニングして、テーブル間を正しく結合できるようにする。
  3. 本体とメタデータの連結:各ノートブック ファイルを、データベース上の対応レコード(作者・カーネル・コンペ・評価等)に紐付ける。

直感:価値の源は「コード × 文脈の結合」。ノートブック単体ではなく、「高評価のノートブックは何が違うか」「特定コンペで流行った手法は何か」といった問いに答えられるよう、関係データベースとして整合させるのが課題の核。

数式・アルゴリズム

データセット論文なので定式化はなく、規模・スキーマ・収集方法が要点。

想定用途と評価

関連研究との関係(メモ)

Q&A

(自分がAIに実際に質問したことだけを Q/A 形式で残す。まだなし。)

自分のコメント

(ここは自分で都度書く欄。例:HTTP 経由だと出力付き・API だと出力なし、という差は、ノートブックの「実行結果=状態の痕跡」を集めたい自分には重要。出力付きコーパスの使い道を考えたい。)