一括表示

− 野ざらし言 −

[2865] 発言統計:FGALDC

としき 2008/08/21(Thu) 22:51
http://www.hinocatv.ne.jp/~toshiki/
古来、ニフティをはじめとするパソコン通信では、発言に関する統計が取られて
きました。ただ、私の知っている範囲では、ほとんどが発言者に着目した統計ば
かり、日時に着目したものがいくらか混ざっているかな、という程度でした。ニ
フティ用の有名なソフトでは、まじめなソフトでは 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 にしたいと公言しているわけで、それからすればインフレター
ゲットを超過している事になります。まぁ、それだけお客様が来て下さっている
ということでありがたいことではあるのですが。あ、でも、サーバ停止関係の発
言をごっそりと削除すれば、なんかかなり発言が減るような気がする。そうか、
それが目標未達の元凶か。
 

[2869] Re: 発言統計:FGALDC

文太 2008/08/22(Fri) 01:39
[2865]へのコメント
としきさん

 幽霊です。いけない誘惑はせず、幽霊らしく朝とともにすぐ消えます。

 美しい統計をありがとうございました。僕は「統計」っていうだけで思わず不
信感を抱いてしまうような文系タコですが、これはよかった。「邪悪なツリーは
止めようね、Vzでまともに読めないじゃん」と思いました。ましてや、クラシ
ックの統計とか、マクロネタとかテキスト処理でのちょっとした誤魔化しとか、
オフの予定などなどのまざったツリーなんて最悪です。
 このツリーがあと5つ程度のレスで完結することを祈っています。

 許光俊「世界最高のクラシック」
 同  「生きていくためのクラシック」
 中川右介「カラヤンとフルトヴェングラー」
 姜尚中「悩む力」
 斎藤孝「座右のニーチェ」
 内田樹「私家版・ユダヤ文化論」
 同  「こんな日本でよかったね」
 山崎正和「歴史の真実と政治の真実」
 同   「混沌からの表現」
 Dale Dougherty「Sed & Awk」

 なんてのを購入したり、読み返したり、感動したり、眺めたりの夏でしたが、
いよいよ秋ですね。思い出深い夏になりました。いい夏だった。ありがとう。

 あ、検算用に、そのスクリプト上げてくれるんですよね、もちろん。じゃない
と信憑性がないでしょう、その統計に。

[2870] Re^2: 発言統計:FGALDC

としき 2008/08/23(Sat) 02:20
[2869]へのコメント http://www.hinocatv.ne.jp/~toshiki/
さっき、お通夜から帰ってきました。
19日の夜というか20日未明、職場の同僚が急死したのです。
クモ膜下出血だそうです。年齢は私と同じ。
19日の昼間は普通に仕事をしていたんですよ。
その日の夕方、
「今春採用の新人にデータベースの変更の仕方を教えてあげて」
と依頼したのが私の最後のきちんとした会話になってしまいました。
そもそも私、19日は宿直明けの次の日なんで、本来は週休日だったのですが、
夏休み体制に伴う人手不足ということで急遽駆り出されたのでした。だから、彼
と会って話もできていたのですが、もし予定通りに休んでいたら、最後に会った
のはさらに3日くらい遡ってしまうところでした。

実は、ほんの2週間ほど前、うちの弟も、お通夜に参列していました。
弟は東芝系の工場で派遣社員として働いているのですが、そこの直属の正社員の
方が北海道旅行へ行ったときに交通事故にあって、数日間集中治療室に入ってい
たけど、とうとう亡くなってしまったとのこと。弟の場合、7歳のときに父親が
なくなって以後、通夜・告別式には一度も縁がなかったので、特に礼儀作法関係
でとても苦慮していました。



前置きがえらく長いですが、ここから本題。

> 僕は「統計」っていうだけで思わず不信感を抱いてしまう

確かに、時々、数字のマジックとしか思えないような統計を見かけることもあり
ます。ただ、どんなにマジックを使われようが、数字そのものを改竄されていな
い限り、見る人が見ればわかるというか、数字は正直だな、と思うこともしばし
ばあります。

> クラシックの統計とか、

これ、斜め読みしていたのが悪いのですが、出典というか、元データをどこから
持ってきたものを解析したのか、というのがついぞわかりませんでした。
幽霊から転生した暁には、何番発言に出典を書いてあります、と一言コメントを
いただけるとありがたいです。

>  あ、検算用に、そのスクリプト上げてくれるんですよね、もちろん。じゃない
> と信憑性がないでしょう、その統計に。

スクリプトは月曜日ごろにアップできると思います。
いや、そんな複雑なものではないので、ここにはりつけるのはあっという間なん
ですが、私、この週末は夏休みということで遊ぶのに忙しく、心の準備が出来て
いないもので。
ただ、検算という目的であれば、独立してマクロなりスクリプトを作るべきなの
ではないかな、と思います。元データは同じものがあるのですから、これを処理
した結果が食い違うようであれば、どちらか、または両方がおかしい、というこ
とで。同じデータを同じスクリプトで処理したら同じ結果しかでないはずです。

これは、似たようなことを、昔、Emmettさんと議論した記憶があります。
nifty:FGALDC/MES/15/14034 からですかね。
まぁ、人文系の学者に統計数字云々て言ったって専門外だということは了解して
いますから無理難題は吹っ掛けませんが、ちょっとした練習問題としてチャレン
ジするのはいいかもしれません。

ちなみに、私は以下のような手順で行いました。

(1)まず、生ログから、発言番号・日付・親発言番号を取り出す
(2)次に、各発言のデータを読んで、
      ルート発言ならツリーの発言数・最終発言日・最終発言番号の配列を用意
      ルート発言でなければルート発言の配列を更新
(3)最後に、ルート発言ごとにツリーの期間等を計算

これらを一気にやることも不可能ではないでしょうが、私の頭では追いつかなか
ったので、3つのスクリプトに分けてしまいました。ま、結果が出ればOKとい
うことで。

あ、そうだ、もう一つ思いついた。
中学や高校数学レベルの統計では、平均の他に、最瀕値と中央値というのが出て
きます。モードとかメジアンと言ったと思う。中央値というのは単に最大値と最
小値の中間ですから、今回のように最小値が1の場合、最大値を2で割るだけで
中央値になります。だけど、最瀕値はきちんと測定してやらなければいけない。
これが平均値と同じくらいの値ならいいのだけど、平均からかけ離れているよう
であれば、なぜそうなのかということで解析しないといかん。
これも、新しいスクリプトをでっち上げて、月曜日ぐらいには結果共々公開する
ことにしたいと思います。
 

[2871] Re^3: 発言統計:FGALDC

文太 2008/08/24(Sun) 01:09
[2870]へのコメント
としきさん

 冗談でも幽霊とか言うことができない文脈になってしまいましたね。丁寧に丁
寧に、心のなかで、鎮魂させてあげてください。「文化人類学的にいって、葬礼
の儀式をあげなければ死者が死ねない」ので葬礼が人類にとって普遍的なのです、
と内田樹氏は『日本』の方の本で言っていました。個人的体験からしても、そう
思います。
 そして、としきさんも弟さんも、強すぎるショックを受けることがありません
ように。そう祈っています。


 こうなると「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

[2872] Re^3: 発言統計:FGALDC

としき 2008/08/25(Mon) 11:54
[2870]へのコメント http://www.hinocatv.ne.jp/~toshiki/
遊びすぎて、というか重い本を何冊も抱えて歩いていたのであちこち筋肉痛
です。

さて、色々とリクエストをもらったりしたので、一気に公開してみましょう。
文太さん、クラシックのデータソースもありがとうございます。

> (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])}
}

一番最初にデータを取ったときは、ワンライナーでやったんですけどね。
あと、テキストでグラフを描いてもよかったけど、ここに貼りつける事を考
えて、それはパス。
   

[2903] Re: 発言統計:FGALDC

としき 2008/10/04(Sat) 19:25
[2865]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 以下はおまけ。

最近、「今日のテーマ」のデータがまとまって入手できたので、改めて掲載
してみます。


今日のテーマ(#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。
#というように、統計は何かを検討する時の武器になる可能性もある
 

[2904] Re^2: 発言統計:FGALDC

文太 2008/10/04(Sat) 20:04
[2903]へのコメント
> 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メガ超えてるファイルですよ。ちょっ
と恐いな。僕はやらない。掲示板管理でやらざるを得ないこともあるんでしょう
ね、きっと。ほんとか? 

↑ このページの先頭