古来、ニフティをはじめとするパソコン通信では、発言に関する統計が取られて きました。ただ、私の知っている範囲では、ほとんどが発言者に着目した統計ば かり、日時に着目したものがいくらか混ざっているかな、という程度でした。ニ フティ用の有名なソフトでは、まじめなソフトでは ACTIVE とか MesCal といっ たもの、おちゃらけたものでは外道ベンチやら外道密度ベンチといったものがあ りました。 ただ、私が興味があるのは発言ツリーに着目した統計です。最大のツリーは何発 言か、といったようなこと。残念ながら、そういう集計を行ってくれるソフトは 見たことがありません。 私が参加していたいくつかのフォーラムのうち、特に FGALDC では巨大なツリー がボコボコ発生していたので、一度集計してみたいと昔から思っておりました。 今般、DC のまとまったログが手に入ったのをを機会に、集計してることにしまし た。が、上記のとおり、既成のソフトは見当たりません。そこで、awk のスクリ プトをちょこっとでっち上げてみました。 集計の対象としたのは、FGALDC の13階〜15階です。 あくまでも手持ちのログで集計しているので、精度はそれなりです。 結果は、なかなか面白いものとなりました。以下の通りです。 FGALDC/MES 13 発言数 :00001(96/07/31) 〜 10282(05/02/22) 1日当たり平均発言数 :3.29発言/日 総ツリー数 :750 1ツリーあたり平均発言数 :13.6発言 ROOT発言から最終発言までの平均日数:18.6日 ツリーの発言数トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 03395 132 04158 98/02/01 98/05/22 110 09142 120 09266 02/06/18 02/08/05 48 06251 116 07021 99/10/31 00/07/08 251 ツリーの期間トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 07295 22 08389 00/08/09 01/07/14 339 06891 5 07700 00/04/09 01/01/04 270 07880 8 08698 01/02/24 01/11/11 260 FGALDC/MES 14 発言数 :00001(96/07/31) 〜 08386(05/02/22) 1日当たり平均発言数 :2.68発言/日 総ツリー数 :693 1ツリーあたり平均発言数 :12.0発言 ROOT発言から最終発言までの平均日数:23.5日 ツリーの発言数トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 04264 278 05092 98/08/24 98/12/14 112 02055 180 02448 97/09/14 97/11/15 62 07264 148 07609 01/09/25 01/12/29 95 ツリーの期間トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 07228 16 08160 01/08/23 04/09/21 1125 06742 59 07923 00/04/15 03/03/16 1065 06955 4 07922 00/10/11 03/03/14 884 FGALDC/MES 15 発言数 :00001(96/07/31) 〜 20985(05/02/22) 1日当たり平均発言数 :6.71発言/日 総ツリー数 :946 1ツリーあたり平均発言数 :22.1発言 ROOT発言から最終発言までの平均日数:20.4日 ツリーの発言数トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 00028 818 05550 96/08/03 97/04/08 248 00375 692 03760 96/08/16 97/01/01 138 00003 664 02507 96/08/01 96/11/12 103 ツリーの期間トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 17484 64 20921 01/01/26 04/11/15 1389 14097 190 17374 99/07/05 01/01/03 548 20532 52 20808 03/11/30 04/09/11 286 あっはっは、1ツリーが800以上っていうのはなんやねん。 あるいは、ツリーの最初から最後までが3年を越えているとか。 15階は特殊としても、ツリーのサイズが100を越えるというのは、この界隈 ではごく当り前のことのような感じですね。 以下はおまけ。 野ざらし(#2700まで) 発言数 :00001(05/03/07) 〜 02700(05/02/22) 1日当たり平均発言数 :2.20発言/日 総ツリー数 :192 1ツリーあたり平均発言数 :14.1発言 ROOT発言から最終発言までの平均日数:17.8日 ツリーの発言数トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 00833 126 01173 06/05/20 06/09/30 133 00616 88 00760 06/01/19 06/04/09 80 00160 82 00485 05/05/25 05/11/09 168 ツリーの期間トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 02141 12 02466 07/07/22 08/01/26 188 00160 82 00485 05/05/25 05/11/09 168 02320 11 02499 07/09/29 08/03/03 156 今日のテーマ(2008/08/20現在) 発言数 :00022(04/08/20) 〜 03166(08/08/20) 1日当たり平均発言数 :2.23発言/日 総ツリー数 :189 1ツリーあたり平均発言数 :16.6発言 (ニフティ形式ログ未入手のため他のデータは不明) やしきの板塀(2008/08/20現在) 発言数 :00001(03/03/31) 〜 01392(08/08/20) 1日当たり平均発言数 :0.71発言/日 総ツリー数 :132 1ツリーあたり平均発言数 :10.5発言 ツリーの発言数トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 00792 64 00878 06/12/13 07/01/07 25 00658 64 00844 06/05/25 06/12/30 219 01079 57 01156 07/11/05 08/01/10 66 ここ野ざらし言も、対岸である今日のテーマも、発言数の傾向だけを見ると、ま さに DC の正統なる後継と言って過言ではないですね。一方、板塀は明らかに傾 向が異なります。すなわち、あそこは、いわゆる「この界隈」ではないという事。 もっとも、板塀の家主は、板塀の発言数を2〜3日に1回、つまり1日平均発言 数を 0.3 〜 0.5 にしたいと公言しているわけで、それからすればインフレター ゲットを超過している事になります。まぁ、それだけお客様が来て下さっている ということでありがたいことではあるのですが。あ、でも、サーバ停止関係の発 言をごっそりと削除すれば、なんかかなり発言が減るような気がする。そうか、 それが目標未達の元凶か。
としきさん 幽霊です。いけない誘惑はせず、幽霊らしく朝とともにすぐ消えます。 美しい統計をありがとうございました。僕は「統計」っていうだけで思わず不 信感を抱いてしまうような文系タコですが、これはよかった。「邪悪なツリーは 止めようね、Vzでまともに読めないじゃん」と思いました。ましてや、クラシ ックの統計とか、マクロネタとかテキスト処理でのちょっとした誤魔化しとか、 オフの予定などなどのまざったツリーなんて最悪です。 このツリーがあと5つ程度のレスで完結することを祈っています。 許光俊「世界最高のクラシック」 同 「生きていくためのクラシック」 中川右介「カラヤンとフルトヴェングラー」 姜尚中「悩む力」 斎藤孝「座右のニーチェ」 内田樹「私家版・ユダヤ文化論」 同 「こんな日本でよかったね」 山崎正和「歴史の真実と政治の真実」 同 「混沌からの表現」 Dale Dougherty「Sed & Awk」 なんてのを購入したり、読み返したり、感動したり、眺めたりの夏でしたが、 いよいよ秋ですね。思い出深い夏になりました。いい夏だった。ありがとう。 あ、検算用に、そのスクリプト上げてくれるんですよね、もちろん。じゃない と信憑性がないでしょう、その統計に。
さっき、お通夜から帰ってきました。 19日の夜というか20日未明、職場の同僚が急死したのです。 クモ膜下出血だそうです。年齢は私と同じ。 19日の昼間は普通に仕事をしていたんですよ。 その日の夕方、 「今春採用の新人にデータベースの変更の仕方を教えてあげて」 と依頼したのが私の最後のきちんとした会話になってしまいました。 そもそも私、19日は宿直明けの次の日なんで、本来は週休日だったのですが、 夏休み体制に伴う人手不足ということで急遽駆り出されたのでした。だから、彼 と会って話もできていたのですが、もし予定通りに休んでいたら、最後に会った のはさらに3日くらい遡ってしまうところでした。 実は、ほんの2週間ほど前、うちの弟も、お通夜に参列していました。 弟は東芝系の工場で派遣社員として働いているのですが、そこの直属の正社員の 方が北海道旅行へ行ったときに交通事故にあって、数日間集中治療室に入ってい たけど、とうとう亡くなってしまったとのこと。弟の場合、7歳のときに父親が なくなって以後、通夜・告別式には一度も縁がなかったので、特に礼儀作法関係 でとても苦慮していました。 前置きがえらく長いですが、ここから本題。> 僕は「統計」っていうだけで思わず不信感を抱いてしまう確かに、時々、数字のマジックとしか思えないような統計を見かけることもあり ます。ただ、どんなにマジックを使われようが、数字そのものを改竄されていな い限り、見る人が見ればわかるというか、数字は正直だな、と思うこともしばし ばあります。> クラシックの統計とか、これ、斜め読みしていたのが悪いのですが、出典というか、元データをどこから 持ってきたものを解析したのか、というのがついぞわかりませんでした。 幽霊から転生した暁には、何番発言に出典を書いてあります、と一言コメントを いただけるとありがたいです。> あ、検算用に、そのスクリプト上げてくれるんですよね、もちろん。じゃない> と信憑性がないでしょう、その統計に。スクリプトは月曜日ごろにアップできると思います。 いや、そんな複雑なものではないので、ここにはりつけるのはあっという間なん ですが、私、この週末は夏休みということで遊ぶのに忙しく、心の準備が出来て いないもので。 ただ、検算という目的であれば、独立してマクロなりスクリプトを作るべきなの ではないかな、と思います。元データは同じものがあるのですから、これを処理 した結果が食い違うようであれば、どちらか、または両方がおかしい、というこ とで。同じデータを同じスクリプトで処理したら同じ結果しかでないはずです。 これは、似たようなことを、昔、Emmettさんと議論した記憶があります。 nifty:FGALDC/MES/15/14034 からですかね。 まぁ、人文系の学者に統計数字云々て言ったって専門外だということは了解して いますから無理難題は吹っ掛けませんが、ちょっとした練習問題としてチャレン ジするのはいいかもしれません。 ちなみに、私は以下のような手順で行いました。 (1)まず、生ログから、発言番号・日付・親発言番号を取り出す (2)次に、各発言のデータを読んで、 ルート発言ならツリーの発言数・最終発言日・最終発言番号の配列を用意 ルート発言でなければルート発言の配列を更新 (3)最後に、ルート発言ごとにツリーの期間等を計算 これらを一気にやることも不可能ではないでしょうが、私の頭では追いつかなか ったので、3つのスクリプトに分けてしまいました。ま、結果が出ればOKとい うことで。 あ、そうだ、もう一つ思いついた。 中学や高校数学レベルの統計では、平均の他に、最瀕値と中央値というのが出て きます。モードとかメジアンと言ったと思う。中央値というのは単に最大値と最 小値の中間ですから、今回のように最小値が1の場合、最大値を2で割るだけで 中央値になります。だけど、最瀕値はきちんと測定してやらなければいけない。 これが平均値と同じくらいの値ならいいのだけど、平均からかけ離れているよう であれば、なぜそうなのかということで解析しないといかん。 これも、新しいスクリプトをでっち上げて、月曜日ぐらいには結果共々公開する ことにしたいと思います。
としきさん 冗談でも幽霊とか言うことができない文脈になってしまいましたね。丁寧に丁 寧に、心のなかで、鎮魂させてあげてください。「文化人類学的にいって、葬礼 の儀式をあげなければ死者が死ねない」ので葬礼が人類にとって普遍的なのです、 と内田樹氏は『日本』の方の本で言っていました。個人的体験からしても、そう 思います。 そして、としきさんも弟さんも、強すぎるショックを受けることがありません ように。そう祈っています。 こうなると「KY」ものですが、簡単レスです。> > クラシックの統計とか、> これ、斜め読みしていたのが悪いのですが、出典というか、元データをどこから> 持ってきたものを解析したのか、というのがついぞわかりませんでした。> 02670/02608 CRG00666 文太 他の作曲家の統計調査結果(1)> ( 1) 08/07/07 23:36 02664へのコメント> http://www2s.biglobe.ne.jp/~jim/freude/> より、「作曲家別」以降のデータを利用させてもらっています。これが初出だと思われます。すでにアーカイブな過去ログに入っていました。 m(__)m > めざらさん。 どっちの発言にしても、「統計」なんて言葉を使わなければよかったと反省して います。> ちなみに、私は以下のような手順で行いました。たまたま「抜けログチェック」 関連で、2004年の「Logsortをhelpする」とい うDCの過去ログを見ました。そこでも、としきさんは丁寧に「作業手順」を説 明してくれていました。近辺の僕自身の発言は、おそろしい表現力の稚拙ぶりで、 読めませんでした。 ありがとうございます&申し訳ありません。> 中学や高校数学レベルの統計では、平均の他に、最瀕値と中央値というのが出て> きます。モードとかメジアンと言ったと思う。> これも、新しいスクリプトをでっち上げて、月曜日ぐらいには結果共々公開する> ことにしたいと思います。ついていけるとは思いませんが、上げておいていただければ嬉しく思える日が いつか来るのではないかと思っております。m(__)m
遊びすぎて、というか重い本を何冊も抱えて歩いていたのであちこち筋肉痛 です。 さて、色々とリクエストをもらったりしたので、一気に公開してみましょう。 文太さん、クラシックのデータソースもありがとうございます。> (1)まず、生ログから、発言番号・日付・親発言番号を取り出すまず、ニフティ形式ヘッダから必要な情報のみ取り出すスクリプト。 #!gawk -f get.awk u:*.log | sort /+6 > dc15.lst /^[0-9][0-9][0-9][0-9][0-9].[0-9][0-9][0-9][0-9][0-9] [A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9] /{ split($1,target,"/") getline parent=substr($0" ",24,5) day=substr($0,8,8) print parent,target[1],day }> (2)次に、各発言のデータを読んで、> ルート発言ならツリーの発言数・最終発言日・最終発言番号の配列を用意> ルート発言でなければルート発言の配列を更新一番のキモになる、ツリーのサイズを測定するスクリプト。 #!gawk -f count1.awk dc15.lst > dc15.out { if (NF==3){ root[$2]=root[$1] if (root[$1]=="") { root[$2]=$2 } cnt[root[$1]]+=1 max[root[$1]]=$2 maxday[root[$1]]=$3 } else if (NF==2){ root[$1]=$1 cnt[$1]=1 max[$1]=$1 maxday[$1]=$2 minday[$1]=$2 } } END{ for(i in cnt){ printf("%s %4d %s %s %s\n", i,cnt[i],max[i],minday[i],maxday[i]) } }> (3)最後に、ルート発言ごとにツリーの期間等を計算今回、公開はしていませんが、ツリー毎の1日当たり平均発言数なんてもの を計算するルーチンもついています。 #!gawk -f count2.awk dc15.out | sort > dc15.txt { split($4,mindate,"/") mindate[1] = (mindate[1]+0 > 80) ? "19" mindate[1] : "20" mindate[1] split($5,maxdate,"/") maxdate[1] = (maxdate[1]+0 > 80) ? "19" maxdate[1] : "20" maxdate[1] dif = daynum(maxdate[1]+0,maxdate[2]+0,maxdate[3]+0) - daynum(mindate[1]+0,mindate[2]+0,mindate[3]+0) if (dif==0) dif=1 printf("%s %3d %s %s %s %5d %f\n", $1,$2,$3,$4,$5,dif,$2/dif) } function daynum(y,m,d, days,i,n) { # 1== 1901年1月1日 split("31 28 31 30 31 30 31 31 30 31 30 31",days) # 1年365日+閏年ごとに1日 n=(y-1901) *365+ int((y-1901)/4) if(y % 4 ==0) # 1901年から2099年の間の閏年 days[2]++ for (i=1;i< m;i++) n+= days[i] return n+d } ここから、必要なデータを抽出するために、 sort /+6 < dc13.txt | head -5 sort /+34 < dc14.txt | head -5 などということもやっています。> 中央値になります。だけど、最瀕値はきちんと測定してやらなければいけない。最頻値は、どこの会議室も「1」でした。つまり、何もレスのつかなかった 発言が多かった、という事。で、2番目に多かったのが、発言数「3」のツ リー。これは、質問してレスがあってお礼を言って終わり、というパターン が多かったからなんでしょうね。とりあえず、結果としては以下の通り。 ツリー サイズ DC13 DC14 DC15 NOZ2700 -------------------------------- 1 116 124 253 21 2 38 42 65 10 3 85 88 71 20 4 47 62 46 13 5 57 43 41 12 6 36 29 38 15 7 41 27 42 10 8 31 28 34 9 9 25 18 21 8 10 16 18 14 2 11 22 18 19 8 12 11 13 10 6 13 9 14 20 2 14 12 10 15 2 15 14 11 16 1 16 15 11 13 1 17 6 15 12 4 18 10 6 3 1 19 9 6 7 1 20 12 5 9 3 21 7 6 10 3 22 6 5 7 3 23 7 5 7 2 24 4 4 4 2 25 3 4 6 2 26 5 5 3 1 27 4 3 4 5 28 2 5 6 0 29 3 9 4 1 30 2 4 4 1 31 5 3 0 3 32 3 4 7 1 33 5 0 2 1 (以下略) 割ときれいなグラフになると思います。 このデータを求めるスクリプトは以下の通り。 #!gawk -f saihin.awk dc15.out | sort > dc15.hin { a[$2]+=1 } END{ for (i in a){printf("%4d %4d\n",i,a[i])} } 一番最初にデータを取ったときは、ワンライナーでやったんですけどね。 あと、テキストでグラフを描いてもよかったけど、ここに貼りつける事を考 えて、それはパス。
> 以下はおまけ。最近、「今日のテーマ」のデータがまとまって入手できたので、改めて掲載 してみます。 今日のテーマ(#2800まで) 発言数 :00002(04/09/30) 〜 02800(08/01/05) 1日当たり平均発言数 :2.35発言/日 総ツリー数 :173 1ツリーあたり平均発言数 :16.2発言 ROOT発言から最終発言までの平均日数:19.0日 ツリーの発言数トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 02052 87 02183 07/01/13 07/02/05 23 01972 83 02070 07/01/03 07/01/16 13 00823 81 01040 05/11/14 06/04/24 161 ツリーの期間トップ3 ROOT ツリーの ROOTの 最終 ツリー 番号 発言数 最終番号 発言日 発言日 日数 00002 29 00951 04/09/30 06/01/08 465 00221 2 00546 05/01/23 05/09/19 239 00823 81 01040 05/11/14 06/04/24 161 うぅむ、参加者やテーマがかぶっているせいなのか、ここ野ざらしと比べて、 ほとんど同じような傾向ですね。ちなみに、もしこのペースがあと10年続 けば約8500発言上積みされることになります。現状の発言数にこれが加算さ れると、10年後の合計発言数は約12000。 #というように、統計は何かを検討する時の武器になる可能性もある
> 02052 87 02183 07/01/13 07/02/05 23> 01972 83 02070 07/01/03 07/01/16 13誰だか調べました。いいですよ、あなた。ただ、40発言ぐらいで一旦ツリー を切ってもよかったですけどね。23日間と13日間。1つの課題を集中的に攻 めているのは大変よろしい。様々なお知恵、アドバイス、皆さま、ありがとうご ざいました。m(__)m 過去ログからも使えるもの総動員してたものなぁ。サブリナの解析以外なら、 何でもやれそうな気分だった。(ビットの計算も除外する…、(^^;ゞ)> ツリーの期間トップ3> ROOT ツリーの ROOTの 最終 ツリー> 番号 発言数 最終番号 発言日 発言日 日数> 00002 29 00951 04/09/30 06/01/08 465> 00221 2 00546 05/01/23 05/09/19 239> 00823 81 01040 05/11/14 06/04/24 161コメントを控えるべきですが、465日! 1年以上ですよ。Vzではまとも に追えないじゃないですか! 先ほどDC後期の邪悪なツリーを追うべく nifp32 を試験的に入れてみましたが、あれはあれですごいストレスだった。 結局Vzでしか真剣には読めない…。しかしXPでは所詮80桁だし…。 邪悪なツリーはよそうね、って誰も聴いてくれないんだよなぁ。逆に継続して る同じ話題だというので、とんでもない昔にコメントするのを得意技にしてる人 もいるし…。 あ、愚痴です。私にそのような意見を述べる資格がないのは知ってます…。は いはい。> 10年後の合計発言数は約 12000。> #というように、統計は何かを検討する時の武器になる可能性もある了解です。でも、logsortに一度に12000発言ものファイルを喰わせることもな いような…。 ま、Windowsメモリ富豪環境なので、1万発言ファイルぐらい喰わ せられてもいいけど、でも、それって10メガ超えてるファイルですよ。ちょっ と恐いな。僕はやらない。掲示板管理でやらざるを得ないこともあるんでしょう ね、きっと。ほんとか?