🔀

質的データ分析の過程をGitで可視化する(Saboten開発日記 9)

に公開

Markdown は AI に読ませるだけではない

AI支援型質的データ分析のための下準備(Saboten開発日記 6) で書いたように、Saboten は質的データ分析のプロジェクトファイルとして ZIP アーカイブの.qdpx ファイルを用いているが、それだと AI には読ませにくい。そこでプロジェクトファイルの状況を Markdown ファイルとしてエクスポートする機能をつけた。

エクスポートされるファイル構成は、

  • sources_index.md: テキストデータ名の一覧が書かれたファイル
  • codebook.md: コード名の一覧が書かれたファイル
  • memos.md: 全てのメモ内容が書かれたファイル
  • sources/.txt: 各テキストデータのファイル
  • codea/.md: コードごとにそれが付与された切片をまとめたファイル

となっている。

当初は AI 連携のための機能だったが、よくよく考えてみると、これらの Markdown ファイルは Git によるバージョン管理の対象にできることに気付いた。

.qdpx ファイルはバイナリなので Git で管理しても人間が理解できる形で差分が表示されない。だが AI(LLM)が読みやすい Markdown ファイルは、Git 上での差分が人間にも読みやすいファイルなのである。

ということでエクスポート機能は AI 連携機能とは切り離し、AI を呼ばないときにもエクスポートファイルの更新ができるようにした。

質的データ分析の過程を差分表示で見る

エクスポートされたファイルが入っているディレクトリで Git を初期化すると、あとはエクスポートボタンを押すたびに、ファイルの変更が追跡される。そこから分析上意味のあるまとまりでステージングとコミットをすれば、「分析のセーブポイント」が残る。

この用途に関してはブランチを切るなどの操作もなく、差分表示が読みやすいのが重要である。そのような Git クライアントを Claude に聞くと Fork を勧められたので、それを使ってみている。

こうして質的データ分析の過程が Git 上の差分として見られるようになった。

実際に使ってみると、コーディングやメモの執筆といった自分の行った行動が客観的なログとして提示されるのは結構面白い体験である。

分析作業中は各行動は連続して行われているわけだが、ファイル上の差分として見ると「このセグメントにこのコーディングを行った」「このコードを追加した」「こんなメモを書いた」という形で切り出されることになる。それを眺めていると、自分が行った行動が分析にとってどんな意味があったのかを自然と問い返される感覚になる。

コード名の変化なども残っていくので、後々論文化する際に方法パートを書く際にも役に立つだろう。

質的データ分析の例題と解法例を残す

これに触発されて、X に次のようなことを書いた。

質的データ分析が職人芸だとしても、職人芸の伝達手法は人類史的に存在してきた(観察によるモデリングを基盤にした徒弟制)のだから、観察可能にする努力はしていいだろうと思う。

最近、学習科学の Example-based Learning が気になっている。例題と解法例を示すことでモデリングを促す学習形態のことで、一般的には数学や物理分野で知られている。

自分としてはこれを質的データ分析でも行えるようにしたい。今期の授業でも質的データ分析でレポートを書いてもらう形式は散々活用したのだが、データの整理方法や Google スプレッドシートの使い方は例示できても、それらを活用した分析方法までは例示できなかったと思っている。

量的データ分析については、統計や社会調査法の教科書を入手すれば例題と解法を得ることができる。ところが質的データ分析についてはそれがない。理念的な分析手順が書いてある教科書はあるが、「実際にやってみよう」の部分がない。

機械学習分野だととりあえずアヤメの分類をしてみるというチュートリアルがあるわけだが、それと同じように、とりあえずみんな同じデータでコーディングしてみる、主題を作ってみる、ストーリーを構築してみる、という経験ができてしかるべきだと思う。

そのためには例題をつくるだけでなく解法例も用意する必要があるわけだが、分析過程を差分表示で見ることはそのとっかかりになりそうだと期待している。

PaperGararge Diary

Discussion