情報に対する情報をメタデータと呼ぶ。異種システム間の連結を実現するシステムではマルチメディアデータのメタデータが重要になってくる。写真や音楽、映像などのマルチメディアデータは人間にとっては理解可能だが、コンピュータシステムにとってはただのデータの塊に過ぎない。これをコンピューターに理解可能にするもっとも簡単で効率的な方法はそのマルチメディアデータがいったいどのような特徴を持っているかなどの情報をメタデータとして記述するということである。それにより、システムがマルチメディアデータの検索や抽出、並び替えなどができるようになる。
今回、私が設計するメタレベル知識ベースは、研究プロジェクトでやっているスガパクというアプリケーションを題材にしている。スガパクとはおおよそ本棚に入りそうな物、つまりデジタルおよび現実世界の本やCD、映像など(以後これらをまとめてホンと記述)を媒介としたコミュニケーションを通じて、相手のことをより知れたり、知識を広めたりできるというアプリケーションである。ホンに対する一般的な情報(ジャケットなど)だけではなく、ユーザーがホンを見たり、聴いたり、コミュニケーションしたりすることによって生成されるメタデータを利用して、それをホンダナとして視覚的に表現したい。
スガパクのアプリケーションではプレイヤーも内臓しているため持ち主のそのホンにたいするデータを自動的に生成することができす。また、ホンに対して人と人がコミュニケーションをすることにより、会話がそのホンのメタデータとして保持される。そのことを踏まえたメディアデータの基本属性は以下のようになる
リレーショナルデータベースとして以下の3つのデータベースを設計した。
| date(手に入れた時間) | playtime(プレイした回数) | distance(貸し借りの距離) | talklength(会話の長さ) | kaiwaId(会話Id) |
|---|
| kaiwaId (会話Id) | good (「いい」という発言があったか) | natsukashii (「なつかしい」という発言があったか) | motteru (「持ってる」という発言があったか) |
|---|
| date(手に入れた時間) | playtime(プレイした回数) | distance(貸し借りの距離) | talklength(会話の長さ) | kaiwaId(会話Id) |
|---|
3つのmp3ファイルにして以下のような属性、値を与えた。
| date | playtime | distance | talklength | good | natsukashii | motteru | |
|---|---|---|---|---|---|---|---|
| verve.mp3 | -1 | 0 | 1 | 1 | 1 | 1 | 1 |
| oasis.mp3 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
| travis.mp3 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
スガパクアプリケーションはメタデータをホンダナというヴィジュアルで表現するというコンセプトである。そこで、今回、印象・内容を表現する言葉として、ホンダナにおける配置(すぐ手に取れるところにおいてある、奥底に隠されている、etc.)、ホンのみための状態(新品、ボロボロ、etc.)を用いる。
| date | playtime | distance | talklength | good | natsukashii | motteru | |
|---|---|---|---|---|---|---|---|
| front | 1 | 1 | 0 | 1 | 1 | -1 | 0 |
| hide | -1 | -1 | 0 | 0 | 0 | 1 | 0 |
| boroboro | -1 | 1 | 1 | 0 | 0 | 0 | 0 |
verve.mp3はホンダナのどの辺にあるのか?つまり、frontとhideという印象を比べて、どちらの方が相関が強いかを調べた。また、いつ手に入れたか(date)というデータと何回聴いているか(playtime)というデータは重要なのでウェイトを設定した。
;;verve.mp3は果たしてホンダナのどの辺にあるか?
;;dateとplaytimeのウェイトを重くしている
;frontとの相関
(accumulate
(weight '(2 2 1 1 1 1 1)
(correlation '(-1 0 1 1 1 1 1) '(1 1 0 1 1 -1 0))))
;;結果 -1
;hideとの相関
(accumulate
(weight '(2 2 1 1 1 1 1)
(correlation '(-1 0 1 1 1 1 1) '(-1 -1 0 0 0 1 0))))
;;結果 3
ということで、verve.mp3は表にはなくて隠れた場所にあるということがわかった。
きれいなmp3はどれかを見つけてみる。つまり表現boroboroとの相関が一番低いmp3を見つけるということである。
;;ボロボロになっているmp3はどれだ? ;verve.mp3との相関 (accumulate (weight '(2 2 1 1 1 1 1) (correlation '(-1 1 1 0 0 0 0) '(-1 0 1 1 1 1 1)))) ;;結果 3 ;oasis.mp3との相関 (accumulate (weight '(2 2 1 1 1 1 1) (correlation '(-1 1 1 0 0 0 0) '(1 1 0 0 1 0 0)))) ;;結果 0 ;travis.mp3との相関 (accumulate (weight '(2 2 1 1 1 1 1) (correlation '(-1 1 1 0 0 0 0) '(0 1 1 0 0 0 0)))) ;;結果 3
というわけで、oasis.mp3が一番きれいなmp3ということがわかる。次に一番手元にあるmp3を探してみた。
;;一番手元に近いmp3はどれだ? ;verve.mp3との相関 (accumulate (weight '(2 2 1 1 1 1 1) (correlation '(1 1 0 1 1 -1 0) '(-1 0 1 1 1 1 1)))) ;;結果 -1 ;oasis.mp3との相関 (accumulate (weight '(2 2 1 1 1 1 1) (correlation '(1 1 0 1 1 -1 0) '(1 1 0 0 1 0 0)))) ;;結果 5 ;travis.mp3との相関 (accumulate (weight '(2 2 1 1 1 1 1) (correlation '(1 1 0 1 1 -1 0) '(0 1 1 0 0 0 0)))) ;;結果 2
と先ほどと同じく、oasis.mp3が一番手元に近いと出た。同じような印象の言葉は同じようなデータと相関を持つからだろう。
今回メタレベル知識ベースの構築をして、気を使ったところは