日本よっ!これが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以下のスライドを参照。

関連エントリ

今年、Web Payments(Web上のオープンな金銭取引の標準化)が大きく動く?

 これまでW3CのComunity Groupレベルで検討が進められていたWeb Payments(Web上のオープンな金銭取引の標準)が2013年になって、少し、もしかすると大きく進展することになりそうです。W3Cが力を入れるようになったということなのでしょうか。

 W3CのブログとW3C Wikiによると、Web Paymentsについて、W3Cは今後以下のような活動を予定しているそうです。

  • W3C Advisory Committeeでの報告(2013年6月か7月。開催地は東京?)
  • 外部有識者の招聘
  • ニーズを調査するための開発者を対象としたアンケートの実施
  • キーステークホルダーとの直接的なコンタクトDirect contact with key stakeholder groups (who?)
  • Web Paymentsのスコープが明らかにできた段階で、2013年後半にWeb Paymentsに関するワークショップの開催
  • 公式の報告書の発行

 
 Payment Task Forceなんて、いつの間に立ち上がっていたのだろうか・・・。Wikiの履歴を見る限り、2013年になってからのようですが。
 どちらにしても特定のプラットフォームに依存しなくても、Web上のお金のやり取りができるようになれば、プラットフォーム非依存なコンテンツの流通に大きく寄与すると思われますので、期待したいところです。

関連エントリ

 
 

Google Chrome がWebに音声認識機能を埋め込めるWeb Speech API に多言語で対応。WebへのTTS機能埋め込みも可能?

 Google Chromeが安定版のver. 25でWebアプリに音声認識機能を埋め込めるWeb Speech APIに対応しました。しかも、日本語を含む多言語対応です。音声でウェブアプリを操作するといったことが可能になるようです。
 Googleの中の人による紹介動画が公開されています。 

 Googleがデモサイトを公開していますので、音声認識の精度を実際に試すことが可能です。

Web Speech APIの仕様には、このAPIのユースケースとして以下が挙げられています。Web Speech APIはWebの音声入力(speech-input)と自動音声読み上げ(Text-To-Speech)の制御をJavaScriptによって実現することを目的としているようですが、自動音声読み上げ(Text-To-Speech)に該当するものがない・・・?

  • Voice Web Search
  • Speech Command Interface
  • Domain Specific Grammars Contingent on Earlier Inputs
  • Continuous Recognition of Open Dialog
  • Domain Specific Grammars Filling Multiple Input Fields
  • Speech UI present when no visible UI need be present
  • Voice Activity Detection
  • Temporal Structure of Synthesis to Provide Visual Feedback
  • Hello World
  • Speech Translation
  • Speech Enabled Email Client
  • Dialog Systems
  • Multimodal Interaction
  • Speech Driving Directions
  • Multimodal Video Game
  • Multimodal Search
参考

 

Web Speech APIとSpeech Input API

 Web Speech APIの他にフォームに音声入力機能を追加するSpeech Input APIというAPIがあり、こちらはChrome 11から対応しています。input要素にspeech属性を追加するだけなので、実装は非常に簡単です。

 Web Speech APIとSpeech Input APIは機能的に被っている部分があります。どちらもGoogleが提案したAPIのようですが、そのあたりの経緯は以下で説明されています。Speech Input APIを提案した後により広範なWebの音声入出力を扱うWeb Speech APIをJavaScirptベースのAPIとして提案したようです。

参考

 

Text-To-Speech(自動音声読み上げ)機能

 ここからは、勉強不足ということもあり、憶測が混ざります。ご注意ください。
 Web Speech APIによって、Text-To-Speech(自動音声読み上げ)機能をJavaScriptで制御することが可能になります。これがBookshareが提供するブラウザ版電子書籍リーダーでのTTS(自動音声読み上げ)機能でおそらく活用されているのではないかと思われます(Googleの公式ブログが言及しているので)。Google Chromeは2011年にTTS APIを公開TTSエンジンを搭載※していますので、それを使用しているのでしょうか。
※2013-07-08追記
Chrome自身がTTSエンジンを搭載したのではなく、OSなどが搭載しているTTSエンジンを利用するためのAPIを公開したという話でした。誤った情報を流してしまい、大変申し訳ありませんでした。
Chrome Text To Speech – Beautiful Google – Google活用の仕方
  以下の動画で紹介されていますが、テキストを読み上げながら、読み上げる箇所をハイライト表示しています。

参考