Open Annotationとウェブアーカイブのちょっとした関係

 先のエントリでOpen Annotationの紹介をしましたが、余談としてOpen Annotationとウェブアーカイブのちょっとした関係を1つ。
 Open Annotation Data Modelのエディタの1人にロスアラモス国立研究所のHerbert Van de Sompel氏が名を連ねています。Sompel氏はOpen Annotation Collaboration(OAC)でプロジェクトのフェーズ1から主任研究員(principal investigator)の1人としてOpen Annotationに中心人物として参加され続けているようです。このSompel氏、このブログで時々紹介しているウェブアーカイブプロジェクトMementoの方でもありまして(その他、いろいろな顔をお持ちですが)、忙しいにも関わらず毎日、Mementoの“SiteStory Web Archiveのデモ用に自分の写真をBBCのトップページとともにを毎日公開している方でもあります。

 
 Open Annotatationとウェブアーカイブに関係する部分ですが、Open Annotation Data Modelの「3.3.1. Time State」あたりにでています。ウェブアーカイブされたウェブサイトなどデジタルリソースの過去のバージョンを参照するモデルを規定するところです。例示としてMementoプロトコルが言及されていますね
Time Stateのモデル
Time Stateのモデル
 
 Open Annotation Core Data Model Example Listには上のモデルの例示が掲載されています(ウェブアーカイブされたコンテンツがターゲットではありませんが)。

  <x:MyAnno> a oa:Annotation ;
    oa:hasBody <a href="http://www.youtube.com/watch?v=uPh81LIe7B8">http://www.youtube.com/watch?v=uPh81LIe7B8</a> ;
    oa:hasTarget <urn:uuid:5D9AD68D-2043-4C77-A40C-ECB00F6248F9> .
  <urn:uuid:5D9AD68D-2043-4C77-A40C-ECB00F6248F9> a oa:SpecificResource ;
    oa:hasSource <a href="http://en.wikipedia.org/">http://en.wikipedia.org/</a> ;
    oa:hasState <urn:uuid:681821DE-E7C3-4486-9E30-F8B9A75AD16B> .
  <urn:uuid:681821DE-E7C3-4486-9E30-F8B9A75AD16B> a oa:State ;
    oa:when "2012-01-18 12:00:00Z" .

Example ListからリンクされているStateより

関連エントリ

日本よっ!これがOpen Annotationだっ!!

 我々は様々なサービスやデバイスを通じて、デジタルリソースに対してコメントなどの付加的な情報を日々付与しています。ウェブサイトにはソーシャルブックマークサービスを経由してコメントが大量につけられていますし、Flickr、Youtube、ニコニコ動画などのWebサービスが抱えるリソースに対して大量のコメントが付与されています。Twiiter、FacebookなどのSNSはリソースに対する付加的な情報の付与に特化したサービスといってもよいかもしれません。昨今の電子書籍ビューワーでは、ハイライトやコメントの付与する機能は当然のように備えていますし、電子書籍プラットフォームでは「ソーシャルリーリング」という名前のアノテーションサービスが提供されています。
 どのサービスもあるリソースに対する付加的な情報を他のユーザーや他のデバイスと共有することを目的としています。しかし、残念ながら共有できるのは、プラットフォーム内のユーザー同士のみであったり、プラットフォームが抱えるコンテンツに対するコメントのみであったりと、リソースに対して日々生成される大量の付加的な情報はプラットフォームごと、デバイスごとに分断されてしまっています。それぞれが独自の方法で機能を実現しているためにプラットフォームの枠を超えた共有が基本的にできません。異なる携帯電話会社同士では通話やメールができない時代がありましたが、それと同じ状況になっています。
platform
 リソースに対して付加的な情報を付与し、異なる情報同士を結びつける行為は学術情報の共有と連携に不可欠なものですが、デジタルリソースに対する付加情報の共有が十分にできないため、学術分野におけるデジタルリソースの活用の大きな障害になっています。
 この問題に注視し、デジタルリソースに対する付加的な情報の付与をオープンスタンダード化することでプラットフォームの枠を超えた相互運用を可能とし、付加的な情報(アノテーション)の再利用・共有を可能にしようとしている動きがOpen Annotationです。

Open Annotationとは

 Open Annotationはクライアント、サーバ、アプリケーション、プラットフォームの枠を超えて、アノテーションを共有できるようにすることを目的しています。ただし、これはアノテーションが全てオープンアクセスであることを求めているものではなく、認証によってアノテーションへのアクセスがプラットフォームの会員に制限されることを排除するものではありません。Open Annotationはアノテーションのプロトコルによるやりとりよりはアノテーションの表現部分に焦点を置いており、この表現部分を標準化することで、アノテーションの相互運用性を向上させようとしています。
 Open Annotationがアノテーション付与の対象とするデジタルリソースは、Webサイトに限りません。PDF、EPUB、動画、音声、画像などデジタルリソース全般を対象としています。
 アノテーション(Annotation)は、英和辞典の多くで「注釈、注記、注解」と訳されていますが、Open Annotationにおけるアノテーションでは「異なる情報同士を結びつけれたもの」であり、もう少し広い意味で用いられています。例えば、以下のような行動が「アノテーションの付与」に含まれています。

  • コメントの付与
  • ハイライト
  • タグ付け
  • ブックマーキング
  • 質問や回答

 Open Annotationにおけるアノテーションの本質は、オリジナルのコンテンツ本体に異なる別のレイヤーとして付加的な情報を追加することです。オリジナルコンテンツを改変せずに(オリジナルコンテンツの真正性を担保しつつ)、情報を追加すると言い換えてもよいかもしれません。
コンテンツレイヤーにアノテーションレイヤーを追加する
 このOpen Anntotationを進めているのは、Open Annotation Collaboration(OAC)Annotation Ontology (AO)であり、この2団体によってW3C内に設立されたOpen Annotation Community Groupです※1。そして、このCommunity Groupで議論され、公開されたのが以下の仕様です(どちらもCommunity Draft)。

 仕様の安定的な運用と変化への柔軟な対応を両立させるために、仕様をOpen Annotation Data ModelOpen Annotation Extension Specificationの2つに分けて、長期にわたり大きく変更する必要がない基本的な機能を前者の仕様としてまとめ、コミュニティへのフィードバックの反映や状況の変化への対応は後者の拡張仕様(Extension Specification)で行うという棲み分けがされているようです。
 

Open Annotation Data Model

 Open Annotation Data ModelはアノテーションのためのRDFベースのLinked Open Dataスタンダードです。
 Open Annotationの基本的なアノテーションのモデルは以下になります。targetがアノテーションを付与する対象となるコンテンツ、bodyが付与されるアノテーション本体を指しています。
body、annotation、targetからなる基本的な図
 コメントなしのブックマークやハイライトの場合は、アノテーションとなるコンテンツ部分はありません(body部分がありません)ので、以下のようになります。
annotation、targetのみのモデル
 リソース内部の任意の位置を参照してアノテーションを付与するモデルです。

 キャッシュに保存されたリソースやInternet Archiveなどにアーカイブされたウェブサイトなどある時点のリソースに対するアノテーションの付与のモデルです。

 以上、ほんの一部ではありますが、Open Annotation Data Modelの紹介でした。
Open Annotation Data Modelでは、その他、タグ付けのモデル、複数のターゲットに対する複数のアノテーションなどが様々なモデルが規定されています。

リソース内部の任意の位置を参照する

 出版物の特定の箇所にコメントをつけたり、ハイライトするように、アノテーションはリソース内部の一部分に対して付与されることがあります。リソースの一部分に対してアノテーションを付与するためには、アノテーションを付与する側がリソース内部を任意に部分指定できなければなりません。フラグメント識別子(URLの先の#から始まるもの)を用いることが考えられますが、以下の理由で既存のフラグメント識別子の仕様を活用するだけでは目的をはたせないということで、

  • 多くのファイル形式にフラグメント識別子に関する仕様が存在しない。
  • 仕様が存在しても記述が正確とはいえないものがある。
  • メディアタイプが判明しないと、フラグメント識別子を正確に解釈することができない。
  • システムがリソースの内部まで参照しないことがある。

 Open Annotation Data Modelでは、既存のフラグメント識別子の仕様を活用しつつ、既存の仕様で足りない部分を補うために以下のセレクタという指定子が用意されています(”Open Annotation Data Model Module: Specifiers and Specific Resourcess“)。

  • Range Selectors
    • Text Position Selector
    • Text Quote Selector
    • Data Position Selector
  • Area Selectors
    • SVG Selector

  詳細はOpen Annotation Data Modelのエディタの1人であるPaolo Ciccarese氏の以下のスライドをご覧ください。 

Open Annotation, Specifiers and Specific Resources tutorial from Paolo Ciccarese
  
 なお、Open Annotation Data Modelには、既存のフラグメント識別子の仕様として以下の仕様が掲載されています。

形式 フラグメント識別子の仕様
HTML,XHTML RFC3236
PDF RFC3778
プレーンテキスト RFC5147
XML RFC3023
RDF/XML RFC3870
画像・動画・音声 Media Fragments.
SVG SVG

  EPUBにはEPUB CFI(Canonical Fragment Identifier)というEPUBコンテンツ内部の任意の位置を参照・指定できるフラグメント識別子の仕様がすでにあります。Fragment SelectorとしてまだOAMの仕様には掲載されていませんが、EPUBで使うならこの仕様でしょう。

 

さいごに

 Open Annotationという言葉を最近、いろいろなところで目にするようになりました。
 WebアノテーションサービスHypothes.isはOpen Annotation Data Modelを活用していますし、

 最近、公開されたJavaScirptベースのEPUBビューワーのepub.jsはOpen Annotationの実証実験のために公開されたものだそうです。

 図書館関係者を賑わしているBIBFRAMEはOpen Annotaiton Modelを参照しています※。

※2013/08/29 追記
8/26に公開されたドラフトでOpen Annotationに触れていた箇所がばっさりと削られたようです。4月から8月の間に一体何が・・・というあたりはBIBFRAMEのMLを追っていけばわかるのでしょうか(すいません。そこまでは追えてません・・・・)。ちなみに7月に”BF annotation and OA annotation”というスレが立てられていました。
 Open Annotation Collaborationで行われた実証実験では、デジタルアーカイブに対するアノテーションの付与や学術出版の共同編集作業、ストリーミング動画に対するアノテーションの付与などが試みられており、Open Anntotationが覆う領域の広さを伺わせます。

 現在、アノテーションサービスは、プラットフォームが個別に提供するものになってしまっていますが、アノテーションの標準化が進めば、例えば、個々の機関リポジトリやデジタルアーカイブ、学会ホームページがそれぞれでアノテーションサービスを提供したとしても、相互運用性の向上により、理想的にはWebリソースのような、「ばらばらに作成されたけれども1つの大きなアノテーションの世界」をつくることができるようになります。Webにもう1つのレイヤー、アノテーションレイヤーを追加する試みはMosaicブラウザでも検討されたことがあり、その後、Googleも含めていくつかのプラットフォームでも試みられたことがありましたが、まだ成功と言えるものは存在していません※2。単体のプラットフォームが覆うにはデジタルリソースの世界は大きすぎるということでしょう。Open Annotationの推し進める標準化によって、個々の活動が結果として1つのアノテーションの大きな世界になり、もう1つの大きな世界(デジタルリソース)を覆うようになれば、デジタルリソースの活用がもう1つ別の次元に進むかもしれません。
 W3C内のOpen Annotationの検討体(Open Annotation Community Group)はまだCommunity Groupですが、2014年にはいよいよWorking Groupが立ち上げられ、Open Annotation Data Modelの仕様化が本格化する可能性があるようです※3。数年後にはブラウザや電子書籍ビューワーで標準で対応するようになるかもしれません。しばらくOpen Annotationの動向から目が離せません。
※2014/8/25 追記
日本時間で8月21日にWeb Annotation Working GroupがW3CのDigital Publishing Activityの下に設置されました。W3cの仕様化のトラックにのったことになります。このWGについて改めて紹介記事を書きました。

※1 W3CのCommunity GroupはWorking Groupの前の段階に置かれている検討体です。詳細は以下のエントリをご参照ください。

※2 過去のアノテーションの動向については、以下が参考になります。

※3以下のスライドを参照。

関連エントリ

Accessible EPUB Reading System – DAISYユーザーのためにEPUB 3リーディングシステムが求められること

 DAISYユーザーがDAISY的にEPUBを利用するためにはコンテンツであるEPUBファイルがアクセシブルである必要がありますが、そのアクセシビリティ機能を受け止めるビューワーも必要です。これまでのエントリで、DAISYリーダーのEPUB対応やDAISYから生成したEPUBを確認してきました。確認していく中でDAISYユーザーのためにEPUB 3リーディングシステムの要件がある程度まとまってきましたので、以下にまとめてみました。と言いましても、私のDAISY利用に対する理解が浅いため、知る人が読めば正直いろいろと過不足あろうかと思います(おそらくEPUBも・・・)。お気づきの点はご指摘いただけると幸いです。
 なお、インプットとして、W3CのUser Agent Accessibility Guidelines (UAAG) 2.0を参考にしました。まずはきちんと要件が整理されたW3CのUAAGを参照いただいた上で、以下をご覧いただければと思います。
 

1.テキストと色の設定

1.1. テキストの設定を変更できる

 フォント、フォントのサイズ、行間などを設定できる。

1.2. 色の設定を変更ができる

 テキストの色や背景色など色とコントラストを設定することできる。
 

2. 操作可能であること

2.1. 全ての機能をキーボードで操作できる

 リーディングシステムが持つ全ての機能をキーボードで操作できる。

2.2 文書の構造を活用した様々なレベルのフォーカスの移動ができる

 センテンス、パラグラフ、セクション、節、章などコンテンツ文書の構造を活用した様々なレベルのフォーカスの移動ができる。また、図、テーブル、註などユーザーにとって不要な箇所はフォーカスをスキップできる。音声合成によるテキスト読み上げ(TTS)、収録済み音声による読み上げ(Media Overlaysなど)の再生のフォーカスについても同様である。
 

3. ナビゲーション

3.1. 目次

 epub:type=”toc”で提供される目次だけではなく、Page Listランドマークなど様々なナビゲーションに対応している。

3.2. メタデータ

 メタデータはユーザーがコンテンツを開かなくても内容を識別する重要なナビゲーションである。タイトルだけではなく、著者、出版社、出版年などEPUBが持つメタデータをユーザーにコンテンツの選択するための情報としてユーザーは利用できる。また、拡張したメタデータの語彙にも対応している。

3.3. コンテンツ文書の構造を理解できる

 見出し、セクション、テープルなどコンテンツ文書の構造を理解し、ユーザーに伝えることができる。また、埋め込まれたセマンティクス(epub:type属性)も理解し、ユーザーに伝えることができる。

3.4. テキスト検索

 目次、本文などのテキストを全文検索できる。
 
 

4. 音声合成によるテキスト読み上げ(TTS:Text-To-Speech)

 音声合成によるテキスト読み上げ(TTS:Text-To-Speech)ができる。日本語ユーザーを対象とする場合は、日本語TTSエンジンと英語TTSエンジンを搭載している。

4.1. 非テキストコンテンツの代替テキストへのアクセス

非テキストコンテンツに提供される代替テキストにアクセスし読み上げることができる。

4.2. 読み情報へのアクセス

 PLSSSML、ruby要素にアクセスし、読み情報を取得できる。

4.3 読み上げ箇所を明示できる

 ハイライト表示などの方法で読み上げられている箇所を明示できる。

4.4. 言語情報の取得

 コンテンツ文書に埋め込まれた言語情報を取得して、適切な言語で読み上げることができる。

4.5. CSS 3 Speech

  CSS 3 Speechに対応している。

4.4. 読み上げの制御

  ボリューム、速度、間、ピッチ、ピッチレンジなど読み上げ音声を細かく制御することができる。
 

5. Media Overlays

 収録済みの音声の再生とテキストを同期させるMedia Overlaysに対応している。

5.1. 読み上げ箇所を明示できる

 ハイライト表示などの方法で読み上げられている箇所を明示できる。

5.2. 読み上げの制御

  ボリューム、速度、間、ピッチ、ピッチレンジなど収録済みの読み上げ音声の再生を細かく制御することができる。
 
 

参考

関連エントリ

EPUB 3とDAISY 4の関係
DAISYからEPUB 3に変換する
DAISY再生ソフト・機器のEPUB対応