RSS

初出:2006年7月24日 15:36

情報へのタグ付けについて、まだピンと来られていない方に、こんな例え話でも。たとえば下のページがあります。

http://www.moto.co.jp/works/guide/Fruits.html

このページではQuickTime Plug-inを巧く使ってまして、「まとめて再生」をクリックすると、1曲ごとに分かれているQuickTime試聴ファイルを連続して再生するよう制御されているんです。この方法は参考になるのでHTMLソースを残しておきたい場合、自分なら後々なんて言葉で検索かけるだろう? 「QT 連続再生」なんて感じかな。でも、当然このページにはそんな言葉は書かれていないんですよ。まあ、近い言葉として「QuickTime」「試聴」というのは書かれているので、検索キーワードを取っ換え引っ換えしているうちにいつかは引っ掛かるとは思うんだけど、直感的にパっと検索して、気持ちよく引っ掛かってくれるために「QT」「連続再生」というのをタグ付けしておきたいんですね。体系化ってことでいくと「QuickTimeプラグイン」「HTMLタグ」なんてタグも付けておきたい。

このように、検索および情報の体系化というところで「自分なりのタグ付け」ってますます重要になっていくんです。さらにその先には、自分と似たようなタグ付けをしている人と、そこはかとなく連帯していくとか、そういうことも夢想できます。「はてなブックマーク」なんかもそういう発想なのかな? あそこは、やっていることが分かりにくいので、よく知らないけど。

しかし大きな落とし穴があるのね。それは、タグをつけるという行為自体、非常に面倒くさいこと! タグ付けのユーザーインターフェイスの決定打も生まれていないのも、とても惜しまれる。たとえばMac OS Xのタグ付け方法、知っていますか? ファイルを選んだら「情報を見る」を開いて、そこにあるSpotlightコメントに文字を打ち込むんですよ。そんなの誰も気がつかないって。

やっぱタグってのは、自分の思考に合ったものを自動的に付けてくれるくらいの簡単さじゃないとね。

  • まずコンピュータ(あるいはサーバ)がある種の解析をして、あなたが付けたいタグはだいたいこんな感じじゃないの? という一覧を表示してくれる
  • その中から「これはいらん」とか「これを追加」とか「これはこっちに近い」とかって、GUI(Ajaxとかあるしね)を使ってザクっと体系化する。これで準備完了。
  • 情報(ローカルのファイルでも、ネット上のものでも)が作成されるたびに文脈解析をしてタグ付けが行われる。でもまだ学習モードで、必要とあらばワンタッチで半透明のパネルが呼び出せる
  • パネル上で「これはこっちのタグなのよ」と追加・整理をするたびに学習が進む
  • これを繰り返せば、いつかは精度が上がるでしょ

…と、こんな感じがいいなあ。100%完璧なタグ付けをする必要なんてないんだから、それこそ迷惑メールやトラックバックスパムのフィルタを学習させる感覚でいいわけですよ。不備を感じたらその都度修正するくらいのお気楽さ。思えば、MP3に付加されるID3タグ。これって自分で入力するのは面倒この上ないけど、Gracenoteから取得するから凄く便利。で、たまにディランの最近の作品が「ジャンル=Folk」になってたりして「バッカじゃねーのー」ねんて軽口を叩きながら「Rock」に直す…。まさにこの感覚ですよ。GoogleはAjaxで、アップルさんは標準UIで斬新なインターフェイスを実装できる気がするんですけどね。

Googleさんは、この記事をこう解釈しました

記事の詳細ページ

記事の全文を表示します。関連するコメントやトラックバックなどもこちらからどうぞ。

本日のBGM

★印があったら「これは聴いてみてほしい!」という推薦曲です。曲名をクリックするとiTunes Storeへジャンプします。

'; // loop through the songs in the array and get 4 fields that I want to see foreach ($songs as $song) { $output .= '
  • '; if ($song["Rating"] == 100){ $output .= ''.$song["Rating"].''; } $output .= '
    '; $output .= '
    '.$song["Name"].''; $output .= '
    '.$song["Artist"].''; $output .= ''.$song["Album"].''; if ($song["Year"]){ $output .= '('.$song["Year"].')'; } $output .= '
  • '; } // end the table $output .= ''; // show my new table print ($output); } ?>

    Recent Post

    Now & Then

    Twitter Updates

      OAuthRequest('https://api.twitter.com/1.1/statuses/user_timeline.json','GET',array('screen_name' =>$search_word,'count' =>'3')); //Jsonデータをオブジェクトに変更 $oObj = json_decode($vRequest); //var_dump(json_decode($vRequest)); //オブジェクトを展開 for($i_tweet = 0; $i_tweet < sizeof($oObj); $i_tweet++){ $screen_name = $oObj[$i_tweet] -> {'screen_name'};//ユーザーID $profile_image_url = $oObj[$i_tweet] -> {'profile_image_url'};//プロフィール画像のURL $text = $oObj[$i_tweet] -> {'text'};//ツイート $date = $oObj[$i_tweet] -> {'created_at'};//時間 $tweet_time=strtotime($date);//Unixタイムスタンプ形式に変換 $now_time=time();//現在の時刻をUnixタイムスタンプで取得 $relative_time=$now_time-$tweet_time;//つぶやかれたのが何秒前か if($relative_time<60){//ss $displayTime = $relative_time.'秒前'; }elseif($relative_time>=60 && $relative_time<(60*60)){//mm $displayTime = floor($relative_time/60).'分前'; }elseif($relative_time>=(60*60) && $relative_time<(60*60*24)){//hh $displayTime = floor($relative_time/(60*60)).'時間前'; }elseif($relative_time>=(60*60*24)){//日付 $displayTime = date('n月j日',$tweet_time); } //表示 echo '
    • ' . $text .'' . $displayTime . '
    • '; } ?>
    follow me on Twitter