nishio 個人の静的デモサイト(2026-09 の Claude Code session で構築・公開)。kouchou-ai が前提にする「全件を読む」ことの数理的な存在理由——ランダムサンプリングでは小さい意見が指数的に埋没する——をインタラクティブに体験させる。
- 公開: https://nishio.github.io/zipf-broadlistening/
- リポジトリ: https://github.com/nishio/zipf-broadlistening (local:
/Users/nishio/zipf-broadlistening)
数理の骨子
- 割合
p = n_X / Nの意見を K 件のランダムサンプルで1件も引けない確率はP_miss ≈ exp(-K·p)。N=10,000・1%・K=100 で 36.4%(exact)、0.1% なら K=100 でも約9割見落とす。 - 意見分布は Zipf
n_r = C / r^αでモデル化。n_r >= 1を満たす rank までを実在クラスタとしM_effを導出(クラスタ総数 M を固定する変種もある)。 - 全件をクラスタリングして「頻度上位Kクラスタの代表」を見る方式なら、
n_i >= N/Kのクラスタは必ず視界に入る。要約が効くのは情報圧縮でなく、観察単位を「件数比例」から「意見クラスタ単位」へ変えて配分戦略を選べるようになるから。詳細は repo の README。
構成 — 体験→解説→実験室のパターン
nishio の指示「まずスライド1枚で紹介できる画面にキャッチーな可視化。その下にこの図が何の意味なのかの解説。別ページでパラメータを変えて試せる」に従った2ページ構成:
index.html(ランディング)— 10,000個のドット図でサンプリングがページを開いた瞬間にアニメーション実行され、「今回は意見Xに出会えたか」が毎回変わる。理論値 36.4% と実測 tally を併置し、繰り返すと収束していく。その下に P_miss の式・p×K の見落とし確率表・ブロードリスニングが効く理由の解説。playground.html(実験室)— N / n_X / K / T / α / M / g をフォームまたは URL ハッシュ(例#N=10000&K=100&ni=10&M=200&a=1.00&g=1)で指定して再計算。結果の URL はそのまま共有できる。
ランディングを1シナリオ(1%・K=100)に固定し、自由な探索は別ページへ分離することでメッセージが薄まらない。プレゼン素材(スライド投影)を第一級の設計制約にしたデモの構成として再利用できる。
Open Questions
- URL パラメータ
gは nishio が最初に提示した URL に含まれていたが意味の指定がなく、「実在クラスタとみなす最小件数(n_r >= gの閾値一般化、既定1)」という Claude の解釈で実装した。g=1は従来挙動と等価なので表示結果には影響しないが、元の意図は未確認。
関連項目
- kouchou-ai — このデモが数理的に正当化する「全件AI処理」の実装
- broad-listening-book — 書籍の主張(サンプリング調査に対するブロードリスニングの優位)の体験版として使える