レベル: 中級 Lee Feigenbaum, Advisory Software Engineer, IBM Elias Torres (eliast@us.ibm.com), Senior Software Engineer, IBM
2006年 10月 24日 このシリーズでは、Web に公開された豊富なデータに人間も機械も容易にアクセスできるようにするための、既存の技術や新興の技術について検証します。そして、1 つの Web ページから人間にも機械にもわかりやすいデータを得るための手法の必要性について解説します。また例を使いながらさまざまな手法の間の関係を探り、それぞれの手法の利点と欠点を検証します。このシリーズで詳細に検証する技術としては、パラレル Web によるデータ表現、機械で読み取り可能なデータ生成のためのアルゴリズム型手法、マイクロフォーマット、GRDDL、埋め込み RDF、そして RDFa などがあります。シリーズの最初である今回は、人間とコンピューターとの競合について調べ、さまざまな手法を評価する際に使用する基準について学びます。また、Web 上で人間と機械とを共存させるために今日使われている主な技術について、簡単に説明します。
人類は World Wide Web によって、かつてないほどの力を得ています。私達が Web 上で遭遇する情報の量や多様さだけでも、驚くほどです。料理の作り方やスポーツのスコアがあります。カレンダーや連絡先を共有することができます。ニュースの話題や、レストランの評価を読むこともできます。私達はグラフや表、図や図形、文章や絵など、さまざまな方法で Web 上に表現されるデータを、いつでも利用することができます。
しかし、こうした内容豊富な、人間にとってわかりやすい世界には、陰の部分もあります。この世界は、人間にとって非常にアクセスしやすいデータによる恩恵を、機械で利用しようとする世界でもあります。これはアグリゲーターやエージェント、reasoner (推論機能)、そして視覚化の世界であり、そのどれもが、人間という主人の生産性を高めようと必死に努力しています。しかし機械は多くの場合、人間が利用することを意図した大量の情報を、悪戦苦闘しながら解釈せざるをえません。
しかし悪いことばかりではありません。こうした、人間と機械との競合に気がつかないからといって、心配する必要はありません。このシリーズを最後まで読めば、機械の側がデータ表現に関して持つ要求と、データ利用者としての人間を橋渡しをする無数の技術の中から、インテリジェントに選択できるだけの十分な知識が得られるはずです。
人間のための Web
1990 年代の初め頃、Tim Berners-Lee が HTML と HTTP、そして World Wide Web を発明しました。彼は当初、Web を、単なる人間同士のやり取りの枠を越えた情報空間として設計しました。彼は Web を、人間が閲覧でき、またコンピューター・プログラムの動作の元となる、豊富な意味 (semantic) を持ったデータ・ネットワークにしようとしたのです。こうした Web のビジョンは、今でもセマンティック Web と呼ばれています。
 |
セマンティック Web 情報網は、世界的な規模で、機械でも容易に処理できる方法でリンクされました。セマンティック Web はさまざまな技術標準やマークアップ言語、関連処理ツールなどを使うことによって Web を拡張するものです。 |
|
しかし、Web を利用する人のおかげで Web は指数関数的に成長しましたが、優先されたのは主に人間が利用できるコンテンツであり、機械が利用できるコンテンツではありませんでした。徐々にユーザーの生活は次第に Web に依存するようになり、Web は個人的で学術的なものから e コマースや企業間取引のためのものへと変化してきました。Web のリンクを通じて流れる世界中の重要情報は、より一層多くなっていますが、Web 上で行われるやり取りには、相変わらず人間による解釈が必要です。しかし予想されたとおり、インターネットに接続されたデバイスが人々の生活の中に増加するにつれ、そうしたデバイスのソフトウェアが Web 上のデータを理解する能力が、大きな影響を持つようになりました。
機械のための Web
言うまでもなく、Web が登場するずっと以前から、機械は機械同士で対話動作を行ってきました。Web が、現在のように主に人間が利用するものとして急速に進歩してしまうと、機械と人間との情報チャネルとして Web を共有するための技術を開発することにどんな利点があるのか、疑問視されても自然なのかもしれません。では逆に、もし機械が Web 内容をまったく理解しないとしたら、現在の Web がどんなものになるかを考えてみてください。
Alexa によるトラフィック・ランキングによると、(この記事の執筆時点で) 上位 3 つの Web サイトは、Yahoo! と MSN、そして Google であり、どれも検索エンジンです。これらのサイトはどれも、ソフトウェア駆動のさまざまな Web クローラーを備え、人間が作成した Web サイトのコンテンツにさまざまな手法でインデックスを付け、それらをテキスト検索しやすいものにしています。こうした会社による、Web 利用のための膨大なアルゴリズム技術がなければ、Web ナビゲーションをしようとしても、明示的に宣言されたハイパーテキスト・リンクをたどる以外に方法がなくなってしまいます。
次に、Alexa のトラフィック・ランキングの 5 番目、eBay を考えてみてください。ほとんどの人は、人間と Web との対話動作の最高の例として eBay をとらえがちです。しかし、eBay の人気を支える上で、機械が大きな役割を担っているのです。eBay にリストされるものの約 47% は、人間が作成したフォームの代わりにソフトウェア・エージェントを使って作成されたものです。また 2005 年の最終四半期に、機械ベースの eBay プラットフォームは 80 億のサービス・リクエストを処理しました。同じく2005 年において、Web サービス API をとおして行われた eBay のトランザクションの数は、年率で 84% も増加しています。もし eBay が提供する、ソフトウェア・エージェントが人間と同じように参加できるサービスがなかったとしたら、膨大な数の売買が行われるオンライン・オークション・ビジネスを人間が処理することは困難だったでしょう。
3 つ目の例として、Web フィードに目を向けてみましょう。Atom や RSS などのコンテンツ・シンジケーション・フォーマットは、新世代のニュース読み取りソフトウェアにとって強力な武器となりました。その結果多くの人は、それまでの、ブックマークを付けた Web サイトと Web ブラウザーを使って関心のあるニュースを探してくるという、面倒で反復の多い、そして非効率な作業から解放されたのです。Atom や RSS によって実現された、機械が理解できるコンテンツ表現がなかったら、こうしたニュース・リーダーは存在できなかったのです。
要約する意味で、もし World Wide Web が、あるサイト専用に人間が作成したコンテンツしか含まない Web サイトで構成されたとしたらどうでしょう。そこでは Web 間でコンテンツを共有することができず、リミックスして再利用することができません。Web ベースのコンテンツをインテリジェントにアグリゲートして組み合わせ、そうしたコンテンツに対してアクションを起こすためには、エージェントやクローラー、リーダーなどのデバイスは、そうしたコンテンツを読み取り、理解できなければなりません。こうした理由から、(Web アプリケーションの中での) 人間が作成したコンテンツと機械との対話動作を改善するために現在使われているさまざまな機構について、詳しく調べる必要があるのです。
シナリオの例
ここで、W3C におけるセマンティック Web に関する活動のページにあるシナリオを考えてみてください。ほとんどの人は、Web 上でアクセスできる何らかの個人情報を持っています。皆さんは銀行の入出金情報を見ることができ、オンラインのカレンダー・アプリケーションにアクセスすることができ、さまざまな共有サービスを利用してオンラインで写真をポストすることができます。しかし皆さんは、カレンダーの中にある自分の写真を見て、その写真を撮影した場所や目的を思い出すことはできるでしょうか。また、銀行の入出金情報の中の項目をカレンダーにも表示することはできるでしょうか。
こうした新しいデータ統合を実現するためには、そうした統合を行うソフトウェアが特定の Web ページ上のデータを理解し、解釈できる必要があります。このソフトウェアは、写真を表示する Web ページを Flickr から取り出せる必要があり、その写真の日付や時刻、説明を発見できる必要があります。また、オンラインでの銀行の入出金情報の処理を解釈する方法も理解できる必要があります。そして、オンライン・カレンダーのさまざまな見方 (日ごと、週ごと、月ごと) を理解でき、また Web ページのどの部分が、どの日のどの時間を表すのかを理解できなければなりません。
図 1 の例は、埋め込まれたメタデータが、どのようにエンドユーザーのアプリケーションに役立つかを示しています。まず、データが何カ所かに保存されています。Flickr が写真をホストしており、Citibank が入出金情報へのアクセスを提供し、また Google Calendar が日々のスケジュールを管理しています。こうしたデータすべてを、カレンダーに基づく 1 つのインターフェース (missMASH) で扱えるようにしたいとします。例えば日曜日に州立公園で撮影した写真が、水曜日の食料品買い出しの際のクレジットカード・トランザクションと同じ週のビューに現れるようにするのです。そのためには、missMASH を駆動するソフトウェアは、統合環境の中にデータをリミックスできるように、何らかの方法で Flickr と Citibank、そして Google Calendar のアカウントのデータを理解できる必要があります。
図 1. 銀行と写真のマッシュアップをカレンダー・ビューで見る
そうした統合を行うためにアプリケーション作成者が活用できる技術には、非常に広範な種類があります。そうした技術の中には、確立されたものもあれば、未熟なもの、あまり理解されていないものもあります。また使いやすさのレベルもさまざまであり、使いやすい技術もあれば使いにくい技術もあります。
このシリーズでは、Web 上での人間とコンピューターとの共存のためのさまざまな機構を利用しながら、上記のシナリオを実装するための方法を検証します。最初にそれぞれの技術を紹介しながら説明し、次に、その技術を使って銀行の入出金情報と写真、そしてカレンダーを統合する方法を示します。またそれぞれの技術の強みと弱みも検証し、皆さんが技術を選択する際の参考になるようにしたいと思います。
評価のための基準
技術を比較しようとする際には、最初にどのような基準で評価するのかを決める必要があります。下記のリストは、人間にも使いやすく、機械でも読み取り可能な Web を実現する方法に望まれる特性をあげたものです。ここにあげたすべての面を満足するような単一の技術が見つかるとは私達も期待しておらず、期待すべきでもありません。最終的には、目的とする作業に適切なツールを選択するためのマトリックスを作りたいと思っています。以下は、これから私達が使おうとしている基準です。
-
権限データ
- どのような手法を使ったとしても、最終的には機械で読み取り可能なデータが得られますが、そのデータは、そのデータに対応した、人間にとって理解しやすい Web ページに現れるデータと等価なはずです。その手法は、この関係が確実に保証される手法でなければなりません。そのデータと Web 上で読み取れるデータとが本当に対応している、と信頼できる必要があります。
データの権限は、こうした信頼関係を測るための基準の 1 つです。データの所有者が公開するデータ表現であれば、そのデータ表現には権限があると考えることができます。そのデータ表現が、サードパーティーが別の方法でデータを表現したものである場合には、権限がないかもしれません。
-
表現力と拡張性
- もし、ある手法を使うことによって、あなたの家への道順を示す Web ページを、人間に対しても表示でき、また機械にも読み取り可能な形で作成できるとしたら、そのページに天気予報を追加するために、わざわざ別の手法は必要ないはずです。こうした基準で考えることによって、そのアプリケーションのために必要となるソフトウェア・コンポーネントの数を最小限に抑えることができ、またそれによってアプリケーションは頑強で維持管理しやすいものとなるはずです。
同様に、その手法が、新しいデータにもスマートに対応でき、将来それまで予見することのできなかったデータでも表現することができるようになると、自信をもって言えるだけの豊かな表現力を持っているとすれば、その手法は素晴らしいものです。
-
繰り返しを避ける (DRY: Don't repeat yourself)
- もし同じデータが Web 上で 2 度参照されていたら、そのデータを 2 度とも書こう、などとは思わないでしょう。繰り返しがあると、変更が必要な場合に一貫性を持たせることが難しくなります。人間にも機械にも理解できる Web ページを作ろうとする場合には、同じことを繰り返す面倒は避けたいものです。
ただし、さまざまなデータ表現の中での繰り返しについては、そうしたデータ表現が 1 つのデータ・ストアから生成されているのである限り、必ずしもこの基準を適用する必要はありません。
-
データの局所性
- 同じデータに対するさまざまなデータ表現が同じ文書内にある場合には、それらをできるだけ自己完結的な文書単位とすべきです。例えば、ある大きな Web ページの中で料理の材料について説明しているのが 1 つの段落のみならば、材料についての機械で読み取り可能な全データをその段落に含められる手法が望ましいと言えます。
データの編集しやすさ、読み取りやすさの他に、データが一ヶ所に集中していることも重要です。そうすれば Web ページへの訪問者は、人間のための表現と機械のための表現の両方を一緒にコピー・ペーストすることができ、対象とするデータを完全にキャプチャーするために Web ページのバラバラな各部分をコピーする必要がなくなります。そうしたことを実現できる手法やデータは広く採用されるようになり、また再利用も促進されるものです。(HTML を学んだ人は「ソースを見る」コマンドを頻繁に使うようになるものです。)
-
既存コンテンツに対する忠実性
- 私達に必要なのは、Web サイトを書き直さずに済む手法です。Web ページの (機械利用可能な) 意味についての既存の手がかりを、多く利用できれば多く利用できるほど、その手法は優れています。しかし注意すべき点もあります。あまりにも自由な解釈が行える結果、既存の Web ページを不適切に解釈してしまうような手法であってはなりません。
例えば、ある新しい手法では、HTML の u タグで囲まれたテキストは公開名を表すのだとします。この手法では、ある場合には正しいセマンティックが実現できるかもしれませんが、数多くの誤った解釈を許してしまうかもしれません。この場合のマークアップは、(データの所有者によるものなので) 権限があるのかもしれませんが、この Web ページの作者には u という HTML タグをそのように使う意図はなかったので、やはり誤っているのです。
-
標準への準拠
- その手法を使うことによって、既に受け入れられている Web 標準 (HTML (HTML 4 または XHTML 1) やCSS、XML、XSLT など) に準拠できなくなることがあってはなりません。
-
ツール
- 人間が読み取ることができ、そして機械が処理できるデータの Web を作成しようとしても、そのために使われる手法を理解できるツールがなければ意味がありません。既に入手可能なツールが豊富にある手法が有利です。もしそれが難しければ、新しいツールを容易に実装できる手法が望ましいと言えます。ある手法を使用した Web ページを作成するためにも、そしてその手法で規定される機械で読み取り可能なデータを利用するためにも、ツールは必須です。
-
全体としての複雑さ
- Web が登場してから長い時間が経ちましたが、人間と機械がデータを共有する必要性が注目を浴びるようになったのは、ごく最近のことです。Web 上に存在する膨大なコンテンツは、多種多様な人達によって維持管理されているため、どのような手法を推進するにしても、その手法はできるだけ多くの Web 作者に容易に理解でき、採用可能なものであることが重要です。
最善の手法であったとしても、複雑すぎて採用できないのでは価値がなく、まったく手法がないのと同じです。容易に使い始めることができ、短期間で習得できる手法が最善です。実装にコーディングが必要であったり、実装後の維持管理が大変であったりするようでは不適切です。

 |
共存のための選択肢
このセクションでは、現在使われている、Web 上に機械と人間が共存できるための主な手法を簡単に紹介します。このシリーズの今後の記事では、こうした手法を詳細に説明する予定です。
パラレル Web
パラレル Web の世界では、Web 上に表現されるデータは (少なくとも) 2 つのアドレス (URL) を持ちます。1 つのアドレスは人間が利用可能なフォーマットを持ち、もう 1 つのアドレスは機械が利用可能なフォーマットを持っています。パラレル Web を実現する技術には、HTML の link 要素と HTTP のコンテンツ・ネゴシエーションが含まれています。HTML 仕様の作成に関係した人達は、HTML に 2 つのリンク要素が必要だと感じていました。つまり、見える要素として Web ページの本文にしか現れない a 要素と、Web ページの head にしか現れない見えない要素である link 要素の 2 つです。HTML 仕様の設計者達は、エージェントが (そのエージェントの目的と、対象とする利用者に応じて) head の中のリンクを rel (relationship) 属性に基づいて解釈し、それによって適切な動作をする、と考えたのです。
例えば、Web フィードとフィード・リーダーによって、人類は今日公開されている膨大な量の情報を追跡するための強力な道具を手にしました。フィード・リーダーを使う場合、XML ファイル (通常は RSS または Atom のファイル) のアドレス (URL) を使ってフィード・リーダーを初期化します。ほとんどの場合、そうしたフィードの中にある機械で利用可能なデータは Web 上に並列 URL を持っており、そこでは同じコンテンツが人間に読み取れる形で表現されています。このパラレル Web を便利で維持管理の容易な形で実現するために、さまざまな手法を利用することができます。このシリーズの第 2 回では、パラレル Web の詳細について、複数の Web アドレスに同じデータを持つことによる利点と欠点を含めて説明する予定です。また今後の記事では、1 つの Web アドレスにさまざまなデータ表現を含められる手法についても解説する予定です。
アルゴリズム型の手法
アルゴリズム型の手法には、人間が読むことができる Web ページから機械で利用可能なデータを生成するための、任意のアルゴリズムを使ったアプリケーションによるソフトウェアが含まれます。アルゴリズムは一般的に、次の 2 つのカテゴリーに分けることができます。
- スクレーパーは、Web ページの構造とレイアウトを調べることによってデータを抽出します。
- 自然言語プロセッサーは、データを生成するために Web ページのコンテンツを読み取り、理解しようとします。
こうした手法は、Web ページの構造やコンテンツを容易に予測でき、それらが変更される可能性が少ない状況のために設計されたものです。通常、こうしたアルゴリズムはデータを利用しようとする人が開発するものであり、標準化団体が規定するものではありません。データの所有者が機械で読み取り可能なデータ表現を公表しない場合、統合を行う人がそうしたデータにアクセスするための唯一の選択肢として、こうしたアルゴリズムが使われることがよくあります。このシリーズの第 3 回ではアルゴリズム型の手法を取り上げる予定です。
マイクロフォーマット
マイクロフォーマットは、人間を対象とした Web ページのマークアップの中に生データを埋め込むために (X)HTML や CSS の既存の構成体を使う、一連のデータ・フォーマットです。マイクロフォーマットには一連の設計原則があり、また開発はコミュニティーの合意によって進められています。マイクロフォーマット・コミュニティーの目標は、元々は主に表示のためのものであった、既存の (X) HTML class 属性にセマンティックを追加することです。
マイクロフォーマットもアルゴリズム型の手法と同じく、W3C や IETF のような団体による標準化プロセスの一部ではないため、このシリーズで取り上げる他の手法とは異なっています。マイクロフォーマットは特定の問題に焦点を当てており、また Web 上での現在の動作や使用パターンを利用しています。これはマイクロフォーマットの目標、つまり Web のマイクロコンテンツ (例えばブログなど) の公開全般を改善するという目標への出発点として、非常に適切です。マイクロフォーマットの主な成功例として、hCard と hCalendar の仕様をあげることができます。こうした仕様を使うことによって、マイクロコンテンツを公開する人が HTML コンテンツの中に属性を容易に埋め込むことができます。これにより、名刺やイベントなどのちょっとした情報を、機械がマイクロコンテンツ Web サイトから拾い出せるようになります。
GRDDL
GRDDL (Gleaning Resource Descriptions from Dialects of Languages) を利用すると、Web ページの XHTML 文書や XML 文書を、Web ページを入力して機械利用可能なデータを出力する変換と関連付けることができます。GRDDL は、XSL 変換を使って Web ページから特定のボキャブラリーを抽出することができます。また GRDDL ではプロファイル文書を使うこともできます。このプロファイル文書によって、ある特定種類の Web ページやデータ・ボキャブラリーのための適切な変換アルゴリズムを参照するのです。
GRDDL を使えば権限を持ってコンテンツを即時変換できるため、人間と機械とのギャップを埋めるものとして GRDDL は大きな可能性を秘めています。この点はパラレル Web と似ていますが、両者の間には大きな違いがあります。GRDDL には、機械がコンテンツをオンデマンドで変換するための一般的な機構が用意されており、また GRDDL は永久的な代替データ表現を作成しません。W3C は最近、GRDDL の推奨仕様を作成するために GRDDL working group を発足させました。
埋め込み RDF (eRDF)
埋め込み RDF (eRDF) は、既存の要素や属性を使って RDF データを XHTML 文書に埋め込むための手法です。eRDF は、マークアップの使いやすさと、拡張性や表現力とをバランスさせようとしています。eRDF も RDFa と同様、また少し程度は異なりますが GRDDL とも同じく、機械利用可能なデータにエンコードするためのモデルとして、明示的に RDF (Resource Description Framework) を利用しています。また eRDF はマイクロフォーマットと同じく、XHTML 文書の中にメタデータを埋め込むために既存のボキャブラリーを再利用することを原則にしています。eRDF は名前空間や任意の RDF グラフ・データ・モデルを使うことによって、多様なフォーマットやボキャブラリーに対応しようとしています。
eRDF は、現在は標準化団体による開発は行われていません。eRDF もマイクロフォーマットと同じく、Web ページ内にデータをエンコードすることができます。そのため機械が連絡先やイベント、位置などの情報 (また、その他の種類のデータ) を抽出でき、この機能を利用すれば強力なソフトウェア・エージェントを実現させることができます。
RDFa
RDFa はこれまで RDF/A として知られていたものであり、RDF データを直接 XHTML の中に含めるための機構の 1 つのです。RDFa では、既存または新規の、XHTML 要素や属性の固定セットを使うことによって、機械で読み取り可能なセマンティック・データを、いくらでも大量に、どんなに複雑であっても Web ページに含めることができ、人間に対して表示される標準の XHTML コンテンツも同時に含めることができます。RDFa は現在、W3C の XHTML ワーキング・グループと Semantic Web Deployment ワーキング・グループとの協力の産物である、RDF-in-XHTML task force によって開発されています。
RDFa も eRDF と同様、名前空間と RDF のグラフ・データ・モデルを利用することによって、1 つの Web ページにさまざまなデータ構造やボキャブラリーを表現できるようになっています。RDFa は、Web ページ内に機械で読み取り可能な任意データを含めるための、汎用ソリューションとなることを目標としています。
まとめ
この記事では、人間にも機械にもアクセス可能な World Wide Web を作成する意義と、そのための課題について説明しました。そして、人間と機械の共存のためのさまざまな機構を利用して実現可能な、統合シナリオの例を作成しました。また、手法を比較評価するための判断基準についても説明しました。今後の記事では、共存のためのさまざまな手法について詳細に説明する予定です。
第 2 回では、広く利用されている、パラレル Web 手法について詳しく説明します。ご期待ください。
参考文献 学ぶために
製品や技術を入手するために
- オンライン・カレンダー、Google Calendar を試してみてください。スケジュールを整理することができ、また友人や家族とイベントを共有することができます。
- 人気の Web オークション・サイト、eBay を調べてみてください。
- 人気のオンライン写真共有アプリケーションと Web 2.0 のサイト、Flickr を訪れてみてください。
-
マイクロフォーマットについて調べてみてください。これは、まず人間のために、そして次に機械のために設計された、単純でオープンなフォーマットです。
- RDF の概念のすべてを XHTML で表現するために設計された、RDFa の仕様について調べてみてください。
- RDF のサブセットを HTML ページに埋め込むための仕様、埋め込み RDF について調べてみてください。
-
developerWorks RSS and Atom feeds について知り、これを利用して皆さんも独自のフィードを作ってください。
-
AtomEnabled.org を訪れてください。コンテンツ・シンジケーションのためのフォーマットでありプロトコルである Atom に関して知るための素晴らしいサイトです。
-
IBM trial software 利用して皆さんの次期開発プロジェクトを構築してください。developerWorks から直接ダウンロードすることができます。
議論するために
著者について  | |  | Lee Feigenbaum は、マサチューセッツ州ケンブリッジにある IBM Internet Technology Group の advisory software engineer です。彼は現在、企業内でのセマンティック Web 技術を活用したソフトウェアや戦略の調査、開発に焦点を当てています。これまで研究開発を行ってきたテーマには、インスタント・メッセージング・ソフトウェアや構造化注釈システム、DHTML クライアント・ランタイムなどがあります。彼は自分のブログ、TechnicaLee Speaking の中で、セマンティック Web などの話題に関して定期的に書きつづっています。 |
 | |  | Elias Torres は、マサチューセッツ州ケンブリッジにある IBM WebAhead Lab in the CIO organization の senior software engineer です。彼は現在、セマンティック Web や Web 2.0、ソーシャル・ソフトウェアなどの領域に焦点を当てた調査を行っています。彼は以前、IBM の中で、オープンソース・ソフトウェアに基づく 2 つの重要な協調作業サービス (Blog Central と Wiki Central と呼ばれています) を開発し、デプロイし、そして伝道してきました。彼は Apache Software Foundation オープンソース・プロジェクトの積極的なコミッターであり、また W3C でのセマンティック Web 標準の開発にも参加しています。彼のブログは http://torrez.us です。 |
記事の評価
|