こんにちは。
便利でスマートな生活に憧れ、WEBサービスなども積極的に取り込んでるわけですが、ずっとモヤモヤと心に引っ掛かっていたことを棚卸ししてみます。
それは「タグによる管理」。 さまざまなWEBサービスで採用されていますが難しいですよね。 ね? え?そうでもない・・・?
まずタグの大義として、
従来のフォルダ分け(カテゴライズ)では、コンテンツを一意の属性に確定しなくてはならないが、タグによる分類であれば複数の属性を付与できる。
という点が挙げられます。
問題は、複数の属性を付けてさぁどうするの?ってことです。
まずはタグ管理のメリットとデメリットを整理して考察してみましょう。
コンテンツを体系化を意識せずに分類する
コンピュータ
Windows
Mac
モバイル
iOS
Android
という構成のフォルダ管理をしている時、Webで見つけた「【Windowsの仮想化技術でOS Xを動かしiOSアプリを開発しよう!】第2回」というコンテンツはどのフォルダに入れましよう?
このコンテンツのためだけに「WindowsとMacとiOS」というフォルダを作りましょうか?
もしくは「Windows」フォルダ、「Mac」フォルダ、「iOS」フォルダにそれぞれコンテンツのコピーを入れておきましょうか?
その場合、コンテンツを変更する必要が発生したら?・・・
(ショートカットやリンクを置いときゃええやん・・・というツッコミはここでは無視します^^;)
タグ管理なら保存場所を意識することなく「Windows」「Mac」「iOS」というタグを付与するだけでOKです。
コンテンツもコピーではなくオリジナルの1つだけですので、変更する場合でもそのただ1つを編集すれば済みます。
コンテンツを選択的あるいは横断的に検索する
タグリストから目的のコンテンツに付与されているであろうタグを指定していくことで絞り込んで検索出来ますが、これだけだとフォルダ分けと大差無い印象があります。ただし、フォルダ階層のネストレベルを無視して指定できる利点があります。
たとえば、
写真
家族
旅行
2012年の避暑旅行アルバム
というフォルダ階層だと「写真」→「家族」→「旅行」と順番に指定しないと「2012年の避暑旅行アルバム」に辿り着けません。
話を簡単にするためのあくまで単純な例ですが、まず「写真」というキーワードが思い浮かばないと辿り着けないことになります
。「あのファイルどこだったけな〜・・・」とフォルダアイコンをクリックしまくった覚えは皆さんにもあるかと思います。
一方で、
2012年の避暑旅行アルバム
写真
家族
旅行
というタグ管理だと、「写真」でも「家族」でも「旅行」でも、いずれかのタグを指定することで「2012年の避暑旅行アルバム」がすぐに候補に表示されます。
タグの指定が少なく一致するコンテンツが多くて目的のものがまだまだ探しにくい場合は、タグの指定をさらに追加していけばOK。
多くのシステムではタグを指定していくことでタグ自体も絞込まれていきますので、フォルダ管理より遥かに容易にコンテンツに辿り着けます。
もう1つの例です。
写真
家族
旅行
リマインダ
家族
というフォルダ管理の場合、「家族」フォルダを物理的に2つ作成しなければならず、さらにお互いに関連性がありません。
「写真ー家族」フォルダから「リマインダー家族」フォルダへの手掛かりは一切得られないわけです。
一方で、
2012年の避暑旅行アルバム
写真
家族
旅行帰宅時に牛乳を買ってきてもらう
リマインダ
家族
お母さん
というタグ管理の場合は「家族」タグは同一のものであり、このタグを含むコンテンツは一定の関連性があると判断できます。
たとえば、コンテンツ「2012年の避暑旅行アルバム」に付けられた「家族」タグから、お母さんに牛乳のお買い物をお願いすることを思い出すことも可能になります。
(実際には「リマインダ」タグを付けたコンテンツにはアラームを設定するのでしょうけど)
単なる検索キーワードとして割り切る
タグを分類に利用するのではなく、後々検索するときに入力するであろうキーワードを予め設定しておくという用途も考えられます。
この場合は後述するタグ自体の体系化に悩む必要はなく、自由に思い付きでどんどんタグを付与していけます。
とは言え、将来の自分が検索キーワードとして入力するであろう単語を予想しなくてはなりません。
1つのコンテンツは様々な属性を持っています。
現時点で認識している属性と検索時点で認識している属性が一致する保障はどこにもありません。
タグ管理のデメリット
これまでの例で挙げたタグを列挙してみましょう。
つまりこれはタグリストそのものです。
コンピュータ
Windows
Mac
モバイル
iOS
Android
写真
家族
旅行
リマインダ
お母さん
という無秩序な羅列となります。
この例ではたった11個のタグなので問題ありませんが、タグが100個や200個となったらどうでしょう?
目的のコンテンツに付けたはずのタグを100個の無秩序な羅列から探すのは、苦痛を伴うことでしょう。
(”付けたはずのタグ”であり、実際にはそんなタグは作成していないかもしれない!)
タグリスト自体を階層化するのはナンセンスですし、せめて「読み」順にソートしてあってほしいものです。
さらなるデメリットとして、すべてのタグを把握しておいて、ちゃんと使い回す運用を心掛けなけれななりません。
たとえば「旅行」タグの存在を忘れて
2013年慰安旅行アルバム
写真
職場
トラベル
とタグ付けしたらどうなるでしょう? 旅行写真の一覧を得るために「旅行」タグを指定してもコンテンツ「2013年慰安旅行アルバム」は漏れてしまうことになります。
この問題もやはりタグの数が増えていくほどに顕著化するでしょう。
まとめ
結局タグリストもある程度体系化しておかないとカオス状態になってしまいます。
でも体系化を意識しないで済むのがタグの利点だったはずであり、ここに矛盾が生じます。
タグを分類に利用する限りはこの問題が付き纏うので、カオス化を防ぐ仕組みをシステム側で提供する必要がありそうです。
- コンテンツ内容を解析して既存タグをサジェストする
→ 確か「はてな」では実装されてますよね - 付けたタグが既存でない場合は類似タグをサジェストする
→ 私の知る限りタグ名入力時のオートコンプリート程度 - "タググループ"の概念を取り入れて、同一グループのタグも絞込み対象にする
→ タグそのものを「分類」する…フォルダ管理の限界と同じ轍やん・・・
タグという概念は古くからあるのですから、私ごときが気まぐれで考察するまでもなく、賢い方々がこの問題に取り組んできたはずです。
でもズバッと解決しているシステムに未だお目にかかったことがありません。
現在では全文検索も強力になってきましたし、もはやタグそのものが要らんのかも。
こうした話はデータ構造工学とかいう分野になるんでしょうか?
専門家でもない私が足りない頭で考えても一向に良い答えが見つからないので、識者の方や一家言お持ちの方、ぜひご意見ください。
(↑うわ・・・身も蓋もないまとめだな)
.