計算ノートブックにおける探索と説明

CHI 2018 (ACM)(2018) · 論文 · rule2018exploration

📅 この論文を見た日

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

AI解説

情報源: 全文取得済み(著者版PDF、NSF Public Access Repository https://par.nsf.gov/servlets/purl/10064423)。本ノートの数値・記述はこの本文に基づく。CHI 2018 Honourable Mention 受賞論文(Paper 32、全12ページ)。

一言で

計算ノートブック(特に Jupyter Notebook)が、設計意図どおりに「分かりやすい計算ナラティブ(computational narrative)」を語るために使われているのか、それとも単にデータを探索(exploration)するためだけに使われているのかを、3つの研究で実証的に調べた論文。結論は「探索と説明(explanation)の間に緊張関係がある」。多くのノートブックは説明テキストに乏しく、説明はしばしば別メディア(スライド・メール・README)で行われる。UCSD が公開した約123万ノートブックのコーパスの元論文でもある。

注意: これは静的・量的(および質的)な利用実態調査であり、セルの実行時間・メモリ・CPU/GPU といった実行時資源は一切測っていない。測るのはセル数・コード行数・マークダウン語数・テキスト/コメントの有無・実行順序などのノートブックの中身の構造である。

問題と課題の切り分け

背景

データ分析は Tukey 的な「データを見て何を語っているか探る」反復・不正確な営み。分析者は obtain → clean → profile → analyze → interpret のサイクルを回し、何度も dead end に当たる(Kandel ら, Guo ら)。判断(judgment)が多く入るほど非同期メディアでの共有に向かなくなる(Harper & Sellen, IMF の観察)。再現性のためには最低限コードの配布が要るが(Peng)、分析者自身が手順を再構成できないことも多い。

計算ノートブックは Knuth の literate programming の系譜にあり、Jupyter / RNotebooks の登場で爆発的に普及した。Project Jupyter はノートブックを「計算ナラティブを構築・共有するためのエンジン」と位置づけた(Perez & Granger)。ナラティブとは「順序づけられ、つながりを持った一連の出来事」であり、順不同の集まりや断片の寄せ集めはナラティブではない。情報可視化の分野では narrative visualization の研究(Segel & Heer の7ジャンル、Hullman らの sequence 研究など)が蓄積されてきたが、ノートブックのナラティブは「洞察」だけでなく「どうやってその洞察を得たか」まで伝える必要がある点で既存の可視化ナラティブとは異なり、その実態は未解明だった。

下図は、論文が「良い例」として挙げる、コード・可視化・テキストが計算ナラティブとして織り合わされたノートブック(Study 2 の対象の1つ)。

計算ナラティブとして書かれたノートブックの例

Figure 1: Study 2 で分析したノートブックの前半。オンライン学習活動のパターンをモデル化する Python パッケージを提示するもので、左の「Narrative Text(タイトル・導入、モデルパラメータの説明、データをプロファイルする必要性の説明)」と右の「Code and Visualizations(パッケージのインポート、パラメータ実装、プロファイル描画コード、インラインプロット)」が交互に織り合わさっている。多くの実際のノートブックはこうなっていない、というのが本論文の主張。

Study 1: GitHub 上の計算ノートブックの量的分析

ナラティブが使われているかを大規模に見るため、GitHub 上で公開されている Jupyter Notebook を分析した。

利用者・リポジトリ

言語・パッケージ

長さと内容(重要)

下図がこの分布と、ノートブック内でのテキスト/コードの位置を示す核心図。

ノートブックの長さ分布とテキスト/コードの配置

Figure 2: A) セル数・コード行数・マークダウン語数で測ったノートブックの長さの分布。コードなしは2.2%、テキストなしは27.6%。一番下のヒストグラムで「語数0(テキストなし)」が突出している点に注目。B) 平均的ノートブックでの内容タイプ。先頭セルほどテキスト(Text)になりやすく、末尾に向かうほどコード(Code)が増える

構成・実行・出力

要素   全ノートブックに占める割合
テキスト   72.7%
  ヘッダー 60.2%
  URL 31.6%
コード   97.8%
  コメント 62.1%
  関数 37.3%
  クラス 12.3%

Table 1: ノートブックの構成要素。テキストはヘッダーで、コードはコメントで構成されることが多い。

Study 1 の結論

多くのノートブックはナラティブではなく「スクリプトとゆるい注記の寄せ集め」。テキストは先頭に偏り、末尾には結論テキストがほとんどない。個々のノートブックは単独では完結せず、同一リポジトリの他ノートブックや README と組み合わさって使われる。

Study 2: 学術ノートブックにおけるナラティブの質的分析

学術分析なら、協働・透明性・再現性のために説明テキストが多いのではという仮説を検証。

結果

Study 2 の結論

最も饒舌な full analysis ジャンルですら、推論と結果が論じられるのは半分未満。多くは「コードを説明するときどき注記が付くスクリプト集」。145中90ノートブックは、自分のリポジトリの README よりテキストが少なかった。説明不足は分析が単純だからではない(半数がフロー制御コメントを使っており、版を試行錯誤している)。

Study 3: データ分析者へのインタビュー

なぜ豊かなナラティブにならないのかを探るため、定期的にノートブックを使う学術データ分析者15人(女性4・男性11、UCSD の8研究室、postdoc 6・PhD 5・staff 3・学部生1)にインタビュー。専門は計算生物学・薬理学・天文学・工学など。12回のインタビュー(3回はペア、9回は個別)、各30〜45分。最近のノートブックを少なくとも1つ見せてもらって基点にし、文字起こし→アフィニティ図でテーマ抽出。

主な所見

Study 3 の結論

探索(反復的実験→散らかったノートブック)と説明(特定目的のための「掃除」)の緊張が、来歴追跡・コード再利用・再現・提示それぞれの役割で現れる。ノートブックはテキストを織り込めるが、反省や注釈を自動的に促すわけではない。むしろラボミーティングでの発表や論文執筆という社会的実践のほうが、説明・センスメイキングの強い引き金になる(P12「『なぜこれをやっているのか、何が分かったのか、それは何を意味するのか』と座って考えるのは、ほぼラボミーティングと論文執筆のときだけ」)。

結論と設計の機会

3研究は一貫して探索と説明の緊張を示す。探索は「散らかった」ノートブック(代替コード・重複セル)を生み、特定の聴衆(未来の自分・同僚・上司・一般公開)と目的(来歴・再利用・再現・提示)のために掃除しないと説明にならない。掃除は退屈な手作業で、1つのノートブックで複数の目的/聴衆を同時に満たすのは難しい。だから多くの分析者は既存メディアで説明・共有し、「物好き」のためにノートブックへのリンクだけ添える。この「掃除(cleanliness)」問題はソフトウェア工学の refactoring や technical debt の議論と響き合う。

設計の機会(探索を妨げずに説明を促す):

最後は技術的・社会的要因の組み合わせが必要、という締め。

限界(論文記載)

Q&A

(まだなし)

自分のコメント

(まだなし)