プロジェクト:カテゴリ関連/資料/カテゴリ一覧の作成方法についての検討資料

*議論はノートの方で行ってください。
こちらのページは資料ですので、議論や署名入りの対話は載せません。
*足りない点、変な点がありましたら、ノートに変更の趣旨や理由の詳細などを記載して修正・加筆・訂正を行ってください。

**関連**
Wikipedia:カテゴリの方針
*プロジェクト:カテゴリ関連
*プロジェクト:カテゴリ関連/資料
*プロジェクト:カテゴリ関連/資料/準備室議事録 - 問題点
*プロジェクト:カテゴリ関連/資料/カテゴリ数と内訳
*プロジェクト:カテゴリ関連/資料/カテゴリ一覧の記事の作成方法(ドラフト)

**現状の問題点**
 特別ページ・カテゴリや 特別ページ・全ページ(Category名前空間)はすでに実用的には使えない状態になっている。
当初から漢字ではじまるカテゴリは50音順にソートできないなど、目次としてはあまり実用的ではなかった。
カテゴリ数が非常に大量になったことで、メンテナンス以外では使えない状態になっている。
日本語Wikipediaでは、2007年06月末頃、約39,000弱程度(赤リンクカテゴリを含む)のカテゴリがある。うち、およそ1万数千件程度(詳細は不明)は定型化されたカテゴリである。プロジェクト:カテゴリ関連/資料/カテゴリ数と内訳参照。
*カテゴリ数の増加に伴って、特定の分野でも細分化や多階層化が進み、狭い分野の中でもどこにどのようなカテゴリがあるのか把握しにくい状況がしばしば発生している。

**目的**
ここでは、特定分野のカテゴリ一覧・目次の作成方法について検討する。

**手法**
2007年6月時点で、考えられる手法として以下の２つがある。
*1)一覧記事として目次を作成する。
以下、「一覧記事方式」と記す。
通常の記事として一覧を作成する。一覧記事は従来から通常記事を対象とした一覧記事が多く作成されている。
*2)カテゴリ機能を利用して目次を作成する。
以下、「カテゴリ方式」と記す。
例えば「Category:○○のカテゴリ目次」というカテゴリを作成し、関連するカテゴリをサブカテゴリとしてつないで目次化する。
以下、一覧記事方式、カテゴリ方式の利点・欠点について検討する。

**結論の選択肢**
先に、結論の方向として以下の選択肢がある。
*1)一覧記事方式のみにする。
*2)カテゴリ方式のみにする。
*3) 1)2)を併用する。
分野ごとに、その分野の特性に適した方法を選ぶ。
*4) 1)2)の方法は用いず、別のよい方法を考える。

**暫定の結論**

**経過**
2005年6～7月に:Category:カテゴリ一覧といつかのカテゴリ一覧記事が作成された。
この頃の Wikipedia の利用状況に応じて作成された。この頃の Wikipedia はアクセスが非常に遅く、また、カテゴリページでツリー表示機能を搭載していない時期だった。カテゴリの見通しが非常に悪いので、この欠点を補うため注目するカテゴリー以下のツリー構造を表す記事が作成された。例:コンピュータのカテゴリ一覧の初期の版(2005年6月3日)など。
*2005年12月、:Category:カテゴリ一覧が削除依頼に出された(Wikipedia:削除依頼/Category:カテゴリ一覧)。
削除依頼の理由は:Category:一覧で代用できるという考え方。それとは別に、当初このカテゴリの目的や定義のあいまいさの問題もあった。また、一覧記事を作成すること自体の賛否(一覧記事はしばしば「辞典にふさわしくない」「記事として異質」などの理由で論争になったり削除依頼に出されたりすることがあった)など、一覧記事に関する従来からの問題点も含んでいた。
*2007年7月、本検討資料を作成した。

**一覧記事方式**
通常の記事として一覧を作成する。一覧記事は従来から通常記事を対象とした一覧記事が多く作成されていたが、記事の内容や一覧記事の乱立や運用方法についてしばしば論争になることがあった。歴史的経緯では必要に応じてボトムアップ式にさまざなユーザから自発的に一覧記事が作成され、2007年6月時点でもまだ作成基準やガイドラインが明確化されていないという問題点も抱えている。

**利点**
作成が比較的容易。
カテゴリ方式に比べて作成が比較的容易である。
カテゴリ方式では1つ１つカテゴリをつないでいく作業を行うが、一覧記事の場合は記事を1件書くだけで済む。
*他の記事に影響を与えない。
一覧記事はその記事のみで完結する。問題が生じた場合でも、一覧記事のみの内容修正や記事名変更・削除などの対処で済む。
カテゴリ方式の場合は、他の多くの記事(今回はカテゴリページ)の変更を伴い、影響を与える範囲が大きい。
*編集の履歴が残る。
通常の記事なので詳細な編集履歴が残る。追加された項目、削除された項目のチェックを容易に行える。
カテゴリ方式ではカテゴリに追加あるいは削除されたサブカテゴリの出入りの履歴が残らない点に注意。部分的に移動されたり意図的にカテゴリから削除されたりした場合に発見しにくい。
*記事の構成内容の自由度が高い。
通常の記事なので、カテゴリページのように単純な項目名の列挙だけでなく、補足説明を付け加えたり、50音順目次以外に、細かい分野別に編成した記事を作成できる。

**欠点**
作成が比較的容易 = 多くの一覧記事が乱立しやすい。
記事の作成が容易なので、一覧としてはあまり有用ではない小さな一覧記事、断片的な一覧記事、かなりユニークな内容をもつ一覧記事が作成されやすい。通常記事の一覧記事でも、しばしばこの点が問題になり、削除依頼に出されることもある。
*記事の構成内容の自由度が高い = 様式がばらばらになりやすい面もある。
記事の形態なので、理屈上はどんな構成やスタイルをもつ記事でも作成できる。編集や構成の自由度の高さが逆にデメリットにもなりうる部分でもある。カテゴリページは、カテゴリという目的に沿って編集の自由度を制限して特化したものと考えると分かりやすい。
表や段組など凝ったレイアウトをもつ記事も作成されうる。凝った表現手法は、視覚上のメリットはあるが、保守性を低下させる要因にもなる。テーブルの記述などは、普通の人には親しみにくく、記事を保守できる人の範囲を狭め、結果的に保守性を低下させる。凝った表現手法は、あらかじめ扱う対象がはっきりと決まっていて、保守する人も限られ、一度作成したらめったに更新しないものには向いているが、一覧記事のように多くの人が繰り返し更新していく用途の記事には適していない。なるべく誰でも更新しやすい簡素なものであることが必要である。

**想定される記事の内容**

**検討事項**
ごく小規模な一覧記事、断片的な一覧記事、類似の一覧記事の乱立を抑制する工夫が必要。
作成可能な記事名、記事が満たすべき要件(たとえば、規模・項目数)など一定の基準を課す。基準に満たない記事が出てきた場合、最寄の一覧記事の一分野として統合することを推奨したり、ノートやプロジェクトの作業ページに移して作業段階のフェーズに戻したりするなどの対応方法を具体化する。
*記事の内容・構成に関するガイドラインを定め、ある程度自由裁量でやってよい部分と、共通の書式にそろえた方がよい部分、やらない方がよい凝った表現手法などを順次明確化していく。
*すでに通常記事の一覧記事が多く作成されているので、これらの記事の良い点や問題点を洗い出してガイドラインの作成に役立てる。
*プロジェクト:カテゴリ関連/資料/カテゴリ一覧の記事の作成方法(ドラフト)

**カテゴリ方式**
例えば「Category:○○のカテゴリ目次」というカテゴリを作成し、関連するカテゴリをサブカテゴリとしてつないで目次化する。

**利点**
50音順の単純な目次を作成する場合には利点がある。
下参照。
*ページの構成・書式が一覧記事よりも厳格になる。
説明文、注意事項、関連記事へのリンクはページの上部の決まった位置に表示される。
目次項目の表示もカテゴリの表示方法に従った共通の段組の表示となる。
*ソート(50音順の並べ替え)の処理はカテゴリ機能で自動的に行われる。
手作業で所定の位置に挿入していく操作は不要になる。
一覧記事方式の場合は、未登録の項目を手作業で所定の位置に1個ずつ入れていく作業を行う。
*3段の段組表示で表示される。
手作業でテーブルなどの書式を入れる必要がない。
*記事を見れば、その記事が所定の目次に登録されているかどうか、記事の末尾に表示されるカテゴリリストで確認できる。

**欠点**
カテゴリページにある項目(サブカテゴリ)の移動の履歴が残らない。
カテゴリページは、ページ自身の編集履歴は残るが、カテゴリページに登録されている項目の出入りの履歴は残らない。数百件あるカテゴリから数件ぐらいカテゴリが移動されても、どのカテゴリが移動されたのかをすぐには見つけられない。このため、部分的な勝手な移動や改ざん(不都合なカテゴリを意図的に除去するなど)が行われた場合に発見しにくくなる。これは大きな欠点になりうる。
*多くのカテゴリ目次に所属する(親カテゴリにもつ)カテゴリが出てくる可能性がある。
いくつもの分野にまたがるカテゴリの場合、それぞれ分野のカテゴリ目次に登録されることになり、親カテゴリ数の多いカテゴリとなりやすい。記事の末尾に表示されるカテゴリリストに多くの親カテゴリが表示されると閲覧性が低下する。一覧記事方式の場合は、多くのカテゴリ一覧記事からリンクされてもリンク元の項目数が増えるだけで済む。
*分野の切り分けが難しい。
ボトムアップ的な小規模なカテゴリ目次が作成され、たくさんのカテゴリ目次が乱立する可能性がある。多くのカテゴリ目次が出現すると、上記のいくつものカテゴリ目次に所属するカテゴリが増えやすくなる。
縄張り争いのようなことが起こると、記事の編集合戦に相当するカテゴリの移動合戦が起こりうる可能性もある。このようなことが起こった場合に、カテゴリの移動の記録が残らないため、状況を把握しにくくなる。
*カテゴリ方式が適する分野と適さない分野がある。
分野の切り分けとも関係する。
例えば、植物や動物の名前(科・目などがつくカテゴリ)のカテゴリ目次は、定義を明確にしやすく、登録するカテゴリの対象をはっきりさせやすい。この場合は、カテゴリ方式でも適している。
一方、例えば、:Category:映像技術に関するカテゴリ目次を作成しようとすると、捉え方によって、インフラ技術から製作技術、関連企業、作品までさまざまな分野にまたがる。このような特性をもつカテゴリ目次が各所で作られると、カテゴリ目次の乱立や目次となる親カテゴリ数の多いカテゴリが発生しやすくなる。このような特性をもつ分野では、一覧記事方式の方が柔軟性がある(影響の及ぶ範囲が記事の内容だけで完結し、他のカテゴリに影響を与えないという点で)。
*カテゴリページに表示できる項目数の上限の問題
カテゴリページは１ページ200件の項目しか表示できず、それ以上はページ分割される。カテゴリページに含まれる項目数の上限もしばしば問題になる。サブカテゴリの上限数が制約されると目次としてのメリットがなくなる。ページ分割を嫌う人もおり、この場合だとせいぜい200件程度の項目しか扱えない目次となる。200件程度の断片的な目次では目次本来の機能を果たしにくくなる。また、10,000件のカテゴリに対して、単純には50(部分的な重複も考慮する50以上)のカテゴリ目次が作成される計算になる。
*項目数が増えたときに、より細分化されたカテゴリ目次にどんどん分割されていく可能性がある。
初期には比較的の規模大きなカテゴリ目次も、長い期間を経ると小規模なカテゴリ目次に分割されることが起こりうる。カテゴリは時間が経つにつれて分割されやすい傾向がある(逆に整理統合されることはほとんどない。これは非常に重要な点である)。俯瞰ができない断片的な目次になってしまうと、従来からある細分化された断片的なカテゴリと大して変わらない話になってしまい、結局、目次として役に立たなくなる。
*通常記事のような構成内容の自由度がない。
目次の項目に補足説明を加えるとか、50音順ではない分野別の編成形式の一覧リストにするなどの自由度はない。
カテゴリは目次を作成するという目的に特化し、一覧記事よりも構成の自由度を低くしてある代わりに、特化したことによる便利な部分ももつ(自動的にソートしてくれる、自動的に段組で配置してくれる)ページと考えるべき。
*作成に手間がかかる。
1件1件カテゴリを所定の目次カテゴリにつないでいく作業を行うので、記事の作成に比べて手間がかかる。
大規模な分割作業が必要になったときに、一定の作業量を必要とする。
ただし、作成や分割自体はそうめったに行われるものではないので、大きな欠点ではない。

**検討事項**
いきなり導入するのが困難。
上記の欠点のうち、カテゴリの移動の履歴が残らない点、分野の切り分けが難しい点が大きな問題になりうる。
分野の切り分けについては、トップダウン的に大きな分野から切り分けていく視点が必要で、ボトムアップ的な作成に任せると小さなカテゴリ目次の乱立が生じやすい。自由裁量で任せにくい部分があり、また、分野ごとの調整に時間がかかる。
*一覧記事と同様に、目次としてはあまり役に立たないごく小規模なカテゴリ目次、断片的なカテゴリ目次、とてもユニークな内容をもつカテゴリ目次などの乱立を抑制する工夫が必要。

**共通の問題点**
以下の内容はカテゴリ一覧記事だけでなく、通常記事の一覧記事とも関係する。
*一覧としてはあまり有用ではないごく小規模な一覧記事、断片的な一覧記事、類似の一覧記事、とてもユニークな内容をもつ一覧記事の乱立を抑制する工夫。
上記の検討でもいくつか触れている。一覧記事(あるいはカテゴリ目次)を作成できる基準、内容が満たすべき要件などを、カテゴリ一覧記事やカテゴリ目次が乱立する前に、早めにガイドライン化しておくことが必要。また、基準を満たさない記事が出てきた場合の対応方法(最寄の一覧記事の一分野として統合を勧めるとか、ノートなどに移して作業段階にするなど)の整備も必要。
*更新が滞りやすい点
下を参照。
*上下関係にある分野や隣接する分野との重複の度合いが大きくなった場合の対応。

**更新が滞りやすい点**
一覧記事は、作成された時点ではかなりの項目数(ここではカテゴリ数)をカバーする内容をもっていても、その後作成された項目の登録が滞りやすく、時間が経つにつれて登録されていない項目の比重が次第に増加し、断片的な内容しかもたない一覧記事となっていきやすい欠点がある。
これは従来の通常記事を対象とした一覧記事でもしばしば見られ、通常記事はカテゴリよりも記事数が膨大な分、カテゴリ目次よりも深刻な問題になりやすい部分でもあった。
例:歴史の一覧 - あまり更新されておらず、カバーしている内容も非常に少ない。

**なぜ更新が滞りやすいか？**
一覧記事や一覧カテゴリがあることを知らない人は新規の記事やカテゴリを作成するときに登録しない。
至極当たり前な話であるが重要な点でもある。仮に一覧記事があることを知っていたとしても、一覧記事が乱立されると適当な一覧記事がどこにあるのか分からないといった問題も起こる。
*膨大な項目の中からまだ登録されていない項目を探し出す作業に非常に手間がかかる。
これは、実際にそういう作業をしたことがある人は気づくはず。すでに登録されている記事と登録されていない記事を目視で分別する作業を行う。単調な作業だが非常に手間がかかるため、そういう作業を短い間隔で何度も繰り返し行いたくない。ソフトウェア工学に関わっている人だと、なるべく自動化したい (手作業で行うのはあまりよくない、できれば避けたい手法) と考える部分でもある。
*登録されていない項目を一覧記事の中の所定の位置に手作業で１つずつ入れていくのに手間がかかる。
カテゴリ方式の場合は、ソート(50音順の並べ替え)を自動的に行ってくれる。

**現状の対処方法**
主に２つに分かれる。
*新規作成された記事を小まめにチェックし、逐次更新していく。
この種の作業は、例えば、:Category:索引などで行われている。
煩雑に記事(カテゴリ)の更新状況をチェックする必要があり、手間が非常にかかる。
*比較的長い期間をおいて、定期的に照合してまとめて更新する。
小まめな更新は行わず、1年に1回など比較的長い間隔をおいて更新する。
最新の状態、厳密に対応がとれた状態にはならないが、主要な分野をカバーしていれば目的が果たせる(細かい登録もれがあまり問題にならない)用途では有効。
カテゴリ一覧の場合は、形式されたカテゴリ(例えば、○○国の△△、○○県の△△など定型化されたフォーマットもつもの)を除けば短期間のうちにカテゴリが大量に作成されることがあまりないので、この方式でも間に合う。
上記の対処方法とは別に、あまりメンテナンスされず、結局放置される一覧記事も多い点に注意。一覧記事については、更新されない断片的な記事・小規模な記事を中心に整理統合していく考え方も必要になる。

**カテゴリのリストアップ作業**
並べ替えや照合をするあたりから、膨大な作業を必要とする。

**作業例**
ソフトウェアに関するやや専門的な話が含まれていますが、参考程度にご覧下さい。- 特別ページ→カテゴリツリーで注目するカテゴリのツリーリストを出す。
２階層下のカテゴリまで表示されるので、リストをテキストファイル(仮にtext1.txtとする)にコピーする。階層の深い大きな分野のサブカテゴリがある場合は、同様に、ツリーリストを出してtext1.txtにコピーする。
*text1.txt にある不要な文字(カテゴリ名の先頭つく記号や余白など)を置換や正規表現ツールなどで除去し、sort で並べ替え、uniq で重複するカテゴリ名を除去する。
 sort は Windows のプロンプトでも行える。uniq はWindowsにはないコマンドなので同等の機能をもつ適当なテキスト処理ツールで処理する。
*以上で、大雑把なカテゴリリストができる（仮にtext2.txtとする）。
ここまでは短時間で行える。ツリーリストを得るカテゴリがあらかじめ決まっているなら、手作業でも数分もあればできる。
*ここから先は、照合や分別など目視による手作業が必要になる。けっこう手間がかかる。
text2.txtは文字コード順にソートされたリストとなる。カタカナ、ひらがなは50音順で並ぶが、漢字はばらばらに並ぶので、手作業での並べ替えが必要。MediaWiki に DEFAULSTSORT の読みなどでカテゴリ名をリストアップし、並べ替えてくれる機能があると便利。
直接関係しないカテゴリ名を目視で判断しながら除去する。例えば、生物のカテゴリだと、架空の生物から怪獣、競馬までかなり分野の異なるカテゴリ名も混ざってくる。
また、植物で一般名と固有名・科・目に分けたい場合、歴史で一般名と氏族・人物名を分けたい場合は、機械的には処理できない。
*記事の作成
カテゴリリストの置換・成形処理を行う。たとえば、「歴史\n」という文字列を のように一括で置換する。この後、目次の見出しなどを入れていく。
補足説明を入れる作業を行う。カテゴリページの冒頭の説明文を取り込む機能があると、重複や類似の説明の記載が不要になり、便利かもしれない。
*すでに一覧記事があり、未登録のカテゴリだけリストアップしたい場合
すでにカテゴリ一覧記事がある場合は、text2.txt からすでに登録されているカテゴリ名を除去し、差分を取る。これで未登録のカテゴリ名だけのリストとなる(仮にtext3.txtとする)。現状、Wikipediaの道具でこれを簡単に処理する方法は不明。記事内で使用されているリンクの一覧を出すツールがあると便利。目視と手作業で行ったら非常に手間のかかるものになる。
未登録のリスト(text3.txt)には、直接関連の薄いカテゴリなどのノイズがまじっているので、ここだけ手作業で分別する。
その後、既存のカテゴリ一覧記事に更新する作業を行う。漢字ではじまる項目は手作業でソートし、記事を更新するときに、所定の位置に入れ、補足説明を加えるなどの作業を行う。