wikichecker

先にやられてた。 日本語版はこちら: ja.WikiChecker beta

しかし、集計方法はだいぶ違うらしい。 おそらく、ある記事に対してよく編集するユーザが20名ほど抽出されている。 ユーザにはIPユーザも含まれる。 おそらくユーザのリストも別にあり、どのページを何回編集したかというデータが入ってる。

それらのユーザが編集しているページをリクエストがあった時点で集計している。 なので、計算に多少時間がかかる。 英語版でMichael Jacksonを調べると1~2分かかる、といった具合。

たぶんだが、ユーザのリストから延べ編集回数を拾ってきて積算して順位を出している。 だから、出てくる結果はうちとことはだいぶ違ってくる。

うちのところは、IPユーザはIPが変わる可能性もあるから、ユーザの特定困難という意味で除外している。 また、上位何人とかで切っているわけではない。 また、延べ編集回数ではなくて、1ユーザで1カウント。 なぜかというに、もともと、どのくらい多くの人が編集に関わっているかを知りたかったからであり、 一部の人が、いわばマニアックに何度も編集しているという状況に重み付けしたくなかったからである。

ま、ともかく、先行事例が、少なくとも一つ、見つかったということだ。

私のところのは、記事の集合とユーザの集合があって、 各記事から複数のユーザへのポインタがあって、 逆に各ユーザから複数の記事へのポインタがある。 集合というのはつまりRubyで言うところの連想配列のこと。 記事とユーザのマトリクスというのは理論上のもので、そういう実体があるのではない。 そんなものは、メモリを食い過ぎるからあり得ないだろう。 ユーザの集合というのは連想配列上に計算中に存在するだけであって、 どこかにデータとして残すわけではない。 ユーザのデータというものは公開もしてないし、保持もしてないということだ。