#549 ユーザの成長は表裏一体   8 years ago (magician) Document
タグは、いわゆるフォルダ的なカテゴリー分類よりも柔軟な分類手段です。私も当初は疑いなくタグが有用なものだと思ってPiggydbに導入しました。ところが、やはりというか「分類」というのは鬼門でした。データベースが大きくなるにつれて、分類の体系を維持するのが難しくなることに気づきました。何故なら、利用者自身が学習によってよりよい分類方法を発見するからです。そうなった場合、過去のタギングをさかのぼって修正するのは容易ではありません。
確かに、Piggydbを真剣に使っていればいるほど、その問題にはぶつかりますね。実際、私も似たような経験をしていますので、その際の、私なりの対処方法をご紹介します。
※前提として、以下のタグは全て、インデックス(内容を指し示すもの。索引。見出し。また、指標となるもの)としてのタグ ではなく、エッセンス(物事の本質)を括ったカテゴリーとしてのタグの利用法についてのアイデアです。
  • #394 "タグ"は"エッセンス"を括ったもの
  • #262 (タグの修飾は「概念的包含関係」を表し、つながりは「構造的包含関係」を表しています)
もちろんインデックスとしてのタグに応用できるアイデアも含まれていますが、基本的にはエッセンスとしてのタグについて考えています。

「表記揺れタグの採用」
タグの表記揺れはタグを利用するサービス全ての共通命題ですが、親子タグを実現しているPiggydbはこの問題をスマートに回避することが可能です。
  1. 正式名称の親タグの下に、簡略したタグ名を子タグとして登録します。
  2. そうすると、子タグは親タグに含まれますから、正式名称の親タグ、簡略名の子タグ、そのどちらからでも目的のフラグメントが検出されるようになります。

タグの頭に記号を付ける」
タグツリービュー以外の視点、タグクラウドビューやタグフラットビューでの探しやすさを視点に持つことで、一つのタグに複数の役割を持たせることが出来るようになります。その視点から、生まれるアイデアの一つが、「タグの頭に記号を付ける」ことです。
この手法は様々にネット上に紹介されているので、ここでは一つだけ紹介させて頂きます。
例えば、本連載を筆者はプロジェクトと位置づけていますから、本連載に役立ちそうな資料となるメモはすべて.「シゴトハッカーズ」というタグを付けています。
そして、プロジェクトが終わったら、タグをリネームします。例えば本連載が残念なことに終わってしまったら、■「シゴトハッカーズ」というタグに切り替えるのです。
すると、タグは名称で並び替わるので、それまでは上位の方に並んでいた「シゴトハッカーズ」のタグが一番下に落ちます。
上記の用ようにタグをリネームする事で、タグの分類はそのまま維持しながら、タグの鮮度を明らかにする事ができます。

「古いタギングから新しいタギングにタグを継承する」
これは複数の親を持つ親子タグという柔軟なタグ機能を持つPiggydbならではの手法です。基本的な考え方は極シンプルです。
  1. タグが旧タグを細分化するものであれば、旧タグの子タグとして新タグを作る。
  2. フラグメントカートを使い、旧タグの中から適切なフラグメントのみを新タグ登録する。
    1. このとき、複数の親タグからフラグメントをセレクトする事が可能。
  3. タグは削除せずにリネームする。(タグの記号を更新する)
  1. タグが旧タグよりも大きなカテゴリーであれば、単純に旧タグの親タグとして新タグを作成すれば、OK
  2. 当然、複数の旧タグを子タグとする事が可能。
  3. この場合も、旧タグは削除せずにリネームする。(タグの記号を更新する)
もちろん、旧タグとは関係のないまっさらなタグ構造で新タグを作成してもまったく問題ありません。ただ、上記のようにしておくことで、今後も旧タグでの検索能力をあるていど維持し続けることができることがこの方法のメリットです。上記の場合なら、旧タグをそのまま活用できます。後者の場合でも、タグツリービューから混乱無く新タグへと辿り着くことが出来ます。
問題は、こういった小手先の対応が間に合わない場合があることですよね。画期的なタギングの方法を思いついてしまったりすることで。私ならそういった場合は、以下のように対応すると思います。
  1. タグ全てを削除せずにリネームする。(タグの記号を更新する)
  2. 全ての旧タグの親タグとして、「引退済み」というルートタグを設定
    1. 他の旧タグタグツリービューのルートタグから表示されないようにする。
  3. 次に、出来る限り旧タグの設定を活かしつつ、全てのフラグメントに新タグを設定していく。
  • 古いフラグメントには新旧二重のタグが設定され、新しいタグは新タグのみが設定されるようになりますが、それは気にしないことにします。
  • タグのリネームと「引退済み」ルートタグにより、3つのタグビュー全てにおいて、新旧タグの区別がハッキリ表示されるので、大きな混乱は無いと思います。
  • 何より、タグの移行作業は大仕事になり、必ず移行期という期間が発生しますが、この方法なら移行期でも余り混乱せずにPiggydbの使用を継続することが可能になります。
……どちらにせよ、大騒動になるのは避けられそうにありませんが。
やはり、基本的な方針として、最初からトップダウンで杓子定規にタグ付けせず、使用しながら必要だと感じたタグを柔軟にボトムアップでつけていけば、自分の感覚に合ったタグ付けが出来るのではないかと思います。ただ、その自分の感覚自体が成長してしまうのが、一番の問題なんですね……。(その成長は、実は一番の喜びでもあるのですが)
この問題は、一朝一夕で解決出来る問題ではなさそうなので、また良いアイデアが浮かびましたら、ご報告させて頂きたいと思います。