任意のデジタルコンテンツに対するアノテーションプラットフォーム
1 はじめに
現在Web 上に存在する多くのデジタルコンテンツを有効利用するため、テキストや音楽などのコンテンツに対してメタ情報(アノテーション) を付与し利用する研究 が盛んに行われている。これらの研究から、コンテンツのセマンティクスを考慮し、それぞれのユーザにあったコンテンツ処理を行う重要性と、その実現のためにはコンテンツの構造と、コンテンツの詳細部分にまで踏み込んだ個人の解釈・嗜好情報が必要であることがわかる。
しかし、いくつか存在するデジタルコンテンツに対するメタデータの表現形式は、構造や多様の解釈を記述することができなかったり、コンテンツの種類に依存しているため互換性に乏しい。そのため異種コンテンツを同時に利用し、セマンティクスと個人性を考慮した応用研究を進めるにあたっての障害となっている。
そこで我々は任意のコンテンツに対するアノテーションを統一的に扱う仕組みが必要であると考え、アノテーションプラットフォームAnnphony(アンフォニー) を構築している。以下にAnnphonyが扱う各データの形式について述べる。
2 Annphony
Annphony はコンテンツの種類にこだわらないアノテーションの作成・検索・利用を支援するプラットフォームである。Annphony によりアノテーションエディタを構築してアノテーションを収集したり、異種類コンテンツに関するアノテーションの検索・利用を行うアプリケーションを実現できる。
任意のデジタルコンテンツの構造・個人解釈に関するアノテーションを扱うためには、1. コンテンツを詳細部分に分割し、2. そのセグメントに対し柔軟なリレーションを記述する必要がある。また、幅広い分野のコンテンツに適用するためには、3. 柔軟にアノテーションを定義し、それを共有できなければならない。Annphonyではこの3 点を以下に述べる手法で解決する。
2.1 コンテンツのセグメンテーション
XML ドキュメントの任意の箇所を指し示す書式としてXPointer が存在する。XPointer は、XML のURIに続き指定ノードへの経路を記述することで一意にコンテンツの詳細部分を表す。一方、現在インターネット上に多種類存在するコンテンツには、全てについてXPointer のように任意の箇所を指し示す表現形式が存在しているわけではない。そこで任意のコンテンツの詳細に対する構造・解釈に必要なコンテンツのセグメンテーションを行うための表現形式であるElementPointerを提案する。ElementPointer は以下の形式をとる。
[Content URI]#epointer([Schema URI]([arg1,arg2...]))
コンテンツのURI に続き、ElementPointer を表す#epointer 以降にコンテンツのどの部分を指し示すかを記述する。スキーマURI 以降に続く引数の順序とそれぞれが表す意味は、RDF のスキーマ記述言語であるRDFS により記述される。ElementPointer の具体例を以下に示す。
http://domain1/picture.jpg#epointer(http://domain2/rect.rdfs#rect(10px,30px,10px,20px))
絵画・地図などのメディアに対するElementPointerはスキーマURI において4 つの引数(X・Y 座標、幅、高さ) により定義されており、そのスキーマを用いて具体的な部分を表している。計算機はElementPointer のURI と、その中に記述されているスキーマのURI を参照することで、どのコンテンツのどの部分を指し示しているかを解釈できる。
2.2 柔軟なリレーション記述
Annphony で扱うアノテーションはセグメント間の関係や、複数人の解釈を多数のコンテンツに対して記述するため、コンテンツやアノテーション同士の関係はグラフ構造になると予想される。そこで、アノテーションの基本形式にリソースの関係を有向グラフで表現できるRDF を採用した。しかし、通常のRDF の形式ではコンテンツの構造や複数人の解釈を記述する際に以下の問題が存在する。
第一に、RDF は1 対多の関係を記述できるが、多対多の関係は記述することができない。そのためコンテンツの構造を表現するために必要な、複数のセグメントに対するアノテーションを記述することができない。第二に、RDF ではリソースに対する静的な情報を記述するため、一つのリソースに対する複数の解釈を記述するのに適していない。
Annphony では、アノテーションを図1 のように記述する。図1 は2 つの対象に対する印象アノテーションの例である。まずアノテーションの対象を表す
2.3 アノテーションスキーマ
多くの種類のコンテンツに対し、構造化のためのセグメント間の関係や、コンテンツから受ける印象・コメントなど多岐に渡るアノテーションを記述するためには、様々な種類のアノテーションを定義し、それを共有・利用することができなければならない。Annphony ではRDFS によるアノテーション定義をサポートする。日付、アノテータURI など基本的なアノテーションを定義する基本アノテーションをルートとし、既存のアノテーションを継承して新しいアノテーションを定義する。
アノテーション定義には利用できるプロパティとそのデータ型が記述される。図2 では、印象情報を文字列型(string) で記述するためのアノテーションを定義している。基本アノテーションを継承しているため、そこで定義されている日付やアノテータURI などのプロパティも同時に記述できる。
新しい定義はAnnphony に登録することで利用可能になる。登録の際、検索に有効な定義者情報などのアノテーションが付与される。利用可能なアノテーション定義は容易に一覧表示・検索ができ、だれでもそれらを継承した新しいアノテーションを定義することができる。アノテーションを継承して定義することで、異種類のコンテンツの間でアノテーションのプロパティを共有でき、効率のよいアノテーション活用につながる。
3 期待される効果
統一したアノテーション形式により異種コンテンツの構造や個人解釈情報を扱えるようになるため、例えばビデオのテロップに対するアノテーションに、テキスト処理のために定義されたアノテーション定義を利用するなど、異コンテンツ間でアノテーションを共有し、互いに利用することが可能になる。
さらに、例えば音楽プレイリストを拡張し、音楽に限らない複合メディアのプレイリストを推薦するなど、複数のコンテンツのセマンティクスと個人嗜好を考慮した統合メディア処理を実現する手助けになるだろう。
4 まとめと今後の課題
本稿では、現在構築中である任意のデジタルコンテンツに対しコンテンツの構造と個人の解釈に関するアノテーションを作成・利用することのできるアノテーションプラットフォームAnnphony の概要を述べた。今後はAnnphony がインターネット上に複数存在する分散環境における協調機能について検討すると共に、実際にアノテーションを付与した異種類のコンテンツによる応用を実現していく予定である。