W3C の SKOS 標準を使用してタクソノミー管理を改善する

統制語彙用の移植可能な SKOS フォーマットを使ってセマンティック Web に徐々に慣れる

最近まで、統制語彙、タクソノミー、シソーラスのためのツールは、どのツールも独自フォーマットでデータを保存していたため、それらのデータを外部システムと統合するのは困難でした。W3C の SKOS 標準では、柔軟で移植可能な統制語彙フォーマットを定義しています。このフォーマットは次第によく使われるようになってきていると同時に、セマンティック Web 技術を使用するための初歩的なステップに適しているというメリットがあります。

Bob DuCharme, Solutions Architect, TopQuadrant

Photo of Bob DuCharmeBob DuCharme は、セマンティック Web アプリケーションのモデリング、開発、デプロイのためのソフトウェアを提供する TopQuadrant のソリューション・アーキテクトです。彼は 4 冊の本を執筆しており、また情報技術に関するオンライン記事や印刷記事を 100 本近く執筆していますが、そのどこにも「functionality」という単語を使っていません。彼のブログ、http://www.snee.com/bobdc.blog を見てください。



2011年 6月 10日

企業内のビジネス・プロセスを統合するためにタクソノミーを管理する場合であれ、コンテンツをインテリジェントに取得できるようにコンテンツに割り当てられたキーワードを管理する場合であれ、あるいは Web ベースの大規模な小売サイトのメニューを管理する場合であれ、タクソノミー管理ツールが独自のバイナリー・フォーマットでデータを保存してしまうため、他のツールにそのデータをうまく移植することができない、と感じることはないでしょうか。これらのデータを標準に基づく方法によって表現すると、複数ソースの語彙データが統合しやすくなると同時に、独自ツールへの依存を軽減することができます。

統制語彙、タクソノミー、シソーラス: それぞれ何が異なるのか

統制語彙というのは、何かに対する潜在的な価値を定義する用語の一覧です。そうした用語の一覧の例としては、「一連のニュースに対して考えられる主題」の一覧、「米国の州の正式な 2 文字の略称」の一覧などがあります。タクソノミーというのは、用語間の関係を示すために階層構造に構成された統制語彙です。「一連のニュースに対して考えられる主題」は、ほぼ確実にこの種類の統制語彙であり、例えば階層構造の「ビジネス・ニュース」ノードの子として「買収」と「経営幹部の雇用」があります。

これらの関係はメタデータであり、例えば、「経営幹部の雇用」に関する記事は「ビジネス・ニュース」記事というタイプであること、あるいは動物タクソノミーの「dachshund (ダックスフンド)」は「dog (犬)」の一種であることなどを示しています。「dog (犬)」の画像を検索している人に対し、タクソノミーに対応した画像検索エンジンが「dachshund (ダックスフンド)」とタグ付けされた画像を返す場合、検索エンジンはこのメタデータを利用して、より大きな価値を画像の集合から得られるように検索者を支援します。

シソーラスは通常、各用語に関する追加のメタデータを持つタクソノミーです。追加のメタデータとしては、例えば代替語 (「dog (犬)」に対する「mutt (犬っころ)」など) や関連用語 (「dog (犬)」に対する「doghouse (犬小屋)」など) へのポインターがあります。関連用語は同じ階層構造にある場合とそうでない場合があります。シソーラスの作成や保守を専門にしている人達は通常、タクソノミストと呼ばれます。これはおそらく、「シソーリスト」では「シソーラス」に発音が似すぎているためです。あるいは「シソーラス」では、メタデータ管理分野以外の人々にとっては、文章執筆の補助に使用される同義語リストの本 (『Roget's Thesaurus』など) を思い浮かべてしまうためかもしれません。

SKOS (Simple Knowledge Organization System) は W3C の標準であり、W3C の RDF、RDFS、OWL 仕様をベースに作られており、統制語彙を表現するための標準的なモデルを提供します。SKOS はフラットなリストに使用することや、タクソノミーやシソーラスなどの追加メタデータを持つ、より構造化された統制語彙に使用することができます。

SKOS は RDF モデルを使用して定義されているため、XML フォーマットで容易にデータを読み取ったり作成したりすることができます。SKOS に対するツール・サポートが増えているということは、SKOS を使用する上で、関連する W3C 標準の知識は必要ないということです。しかし、それらの標準を理解すればするほど SKOS の拡張性を活用できるようになり、SKOS 標準には含まれていない、カスタマイズされたメタデータを語彙に含められるようになります。

The New York Times から NASA (米航空宇宙局) や UN Food and Agriculture Organization (国際連合食糧農業機関) に至るまで、さまざまな組織がそれらの組織の主題の一覧を SKOS で公開しています。そのため、この標準により、よく知られた語彙を再利用したり、皆さんのコンテンツと同じ語彙を使用する他のコンテンツを皆さんのコンテンツと関連付けたりすることも、容易にできるようになります。

用語に対する概念およびラベル

語彙管理システムは必ず、用語とともに用語間の関係や他のメタデータとの間の関係も管理できるように構成されています。SKOS では管理対象を上位レベルで見るため、国際化は非常に容易です。例えば古い体系では、「dog (犬)」という用語を、広義語での「mammal (ほ乳類)」という用語と、狭義語での「dachshund (ダックスフンド)」あるいは「bulldog (ブルドッグ)」という用語とともに保存することができます。「mutt (犬っころ)」という用語は別の用語であり、「dog (犬)」は「mutt (犬っころ)」に対し、タクソノミストが非優先関係 (UF) と呼ぶ関係を持っています。例えば写真にキーワードを付けている誰かが、Lassie (ラッシー) の写真に「mutt (犬っころ)」という語をキーワードとして付けようとする場合、語彙アプリケーションはその人に対し、「mutt (犬っころ)」ではなく「dog (犬)」を使うように指示します。「perro (犬)」という用語は「dog (犬)」という用語に対して「Spanish (スペイン語)」という関係を持つことができ、「chien (犬)」という用語は「dog (犬)」という用語に対して「French (フランス語)」という関係を持つことができます。しかし、「perro (犬)」に相当するフランス語を知らないスペイン人のユーザーは、「perro (犬)」と「chien (犬)」が英語の用語「dog (犬)」との関係によって結びつけられていることを知らない限り「chien (犬)」を参照することはできません。

この体系のもう 1 つの欠点は、「mutt (犬っころ)」という用語と「perro (犬)」という用語が「dog (犬)」とは切り離されている点です。これは「cat (猫)」という用語と「gato (猫)」(スペイン語の用語) とが切り離されているのと同じです。「mutt (犬っころ)」、「dog (犬)」、「perro (犬)」が同じものを指すにもかかわらず、それらの関係を明示的に指定する必要があります。図 1 は、これらの関係を図に示したものです。実線の矢印は「broader than (より広義)」な関係 (「cat (猫)」と「dog (犬)」に対する「mammal (ほ乳類)」、「bulldog (ブルドッグ)」と「dachshund (ダックスフンド)」に対する「dog (犬)」) を表します。破線の矢印にはラベルが付いており、「dog (犬)」に相当するスペイン語 (「perro (犬)」) またはフランス語 (「chien (犬)」)、「dog (犬)」に対する代替語を表すスペイン語 (「chucho (犬)」) と英語 (「mutt (犬っころ)」)、そして「cat (猫)」に相当するスペイン語 (「gato (猫)」) という関係を説明しています。

図 1. SKOS が登場する以前のタクソノミーにおけるラベルによる関係の例
SKOS が登場する以前のタクソノミーにおけるラベルによる関係の例

SKOS を利用することにより、さまざまな種類のラベルが付けられた概念を管理することができ、各ラベルに言語が関連付けられる場合もあります。最も重要なラベルは優先ラベルです。SKOS では、各概念が言語ごとに優先ラベルを 1 つしか持てないようになっています。例えば 1 つの概念が英語の優先ラベルとして「dog (犬)」を持ち、スペイン語の優先ラベルとして「perro (犬)」を持ち、フランス語の優先ラベルとして「chien (犬)」を持つことができます。

よく使われる頭文字語

  • OWL: Web Ontology Language
  • RDF: Resource Description Framework
  • RDFS: RDF Schema
  • SKOS: Simple Knowledge Organization System
  • SKOS-XL: SKOS Extension for Labels
  • SPARQL: SPARQL Protocol and RDF Query Language
  • URI: Universal Resource Identifier
  • W3C: World Wide Web Consortium
  • XML: Extensible Markup Language

別の種類のラベルとして、代替ラベルがあります。SKOS ベースのソフトウェアは代替ラベルを使用することにより、追跡対象ではあっても推奨されないラベルを表現することができます。例えば、英語の優先ラベル「dog (犬)」を持つ概念は、英語の代替ラベル「mutt (犬っころ)」とスペイン語の代替ラベル「chucho (犬っころ)」を持つことができます。「dog (犬)」、「perro (犬)」、「chien (犬)」、「mutt (犬っころ)」、「chucho (犬っころ)」はすべて同じ概念を指し、明示的に関係を記さなければならない別の用語として存在するのではなく、各アプリケーションの要求に応じてその概念についての異なる情報を提供します。図 2図 1 の情報を SKOS の概念として再構成したものです。矢印の数は図 1 よりも少なく、また用語間の関係が図 1 よりも明確になっています (図 1 の場合と同じく、実線の矢印は「broader than (より広義)」な関係を表します)。各概念に対する実際の識別子は URI ですが、この識別子は語彙管理アプリケーションによって表示されないようになっている場合もあります。

図 2. SKOS における概念の関係の例
SKOS における概念の関係の例
概念の関係を SKOS で表現した例をテキストで表現したもの (図 2)
                       ______________________________________
                      |                                      |
                      |  preferred label (English): "mammal" |
                       ______________________________________
                                 /             \
                                /               \
                               /                 \
                              /                   \
  ___________________________________     _______________________________________
 |                                   |   |                                       |
 | preferred label (English): "cat"  |   | preferred label (English): "dog"      |
 | preferred label (Spanish): "gato" |   | preferred label (Spanish): "perro"    |
  ___________________________________    | preferred label (French): "chien"     |
                                         | alternative label (English): "mutt"   |
                                         | alternative label (Spanish): "chucho" |
                                          _______________________________________ 
                                                 /             \
                                                /               \
                                               /                 \
               ______________________________________      ________________________________________
              |                                      |    |                                        | 
              | preferred label (English): "bulldog" |    | preferred label (English): "dachshund" |
               ______________________________________      ________________________________________

2 つの図を比較してみると、図 1 の「perro (犬)」と「mutt (犬っころ)」は、「dog (犬)」が指している単なる追加の用語に過ぎず、「bulldog (ブルドッグ)」と「dachshund (ダックスフンド)」とは異なりますが、図 2 では、「perro (犬)」と「mutt (犬っころ)」は同じ概念を表す一方、「bulldog (ブルドッグ)」と「dachshund (ダックスフンド)」とは異なる概念であることがわかります。

SKOS では、概念は「broader than (より広義)」な関係以外にも多様な関係を持つことができます。英語の優先ラベル「dog (犬)」を持つ概念は、別のタクソノミーの「doghouse (犬小屋)」という概念と「related (関連する)」関係を持つことができます。SKOS では概念の識別子としてラベル自体を使用するわけではなく、一意の URI を使用するため、アクセス可能な世界中の SKOS 語彙の任意の概念と、指定された概念との間に関係を定義することができ、たとえその語彙が NASA や The New York Times によって管理される語彙であっても構いません。

漁業や農業など食料関係分野のための UN Food and Agriculture Organization による AGROVOC シソーラスは、真に国際的な利用者を対象にする必要があります。AGROVOC の 1 つの概念が持つ優先ラベルは十数種類の言語で表現される可能性があり、さらにそれ以外にも代替ラベルがある可能性もあります。指定された概念に対して各言語で規定できる代替ラベルの数には制限がないからです。SKOS ではラベルのプロパティーを持つ概念を使用しており、シソーラス・データの構成を用語ベースで行っている古い方式よりも、多言語による用語追跡が大幅に容易になっています。そのため、異なる文化の人々の間で食料問題を議論する場合、コミュニケーションがはるかに容易になります。


その他のメタデータ

SKOS を利用することにより、上記で説明した優先ラベルと代替ラベル、そして概念の間の関係の他にも、用語の定義、スコープに対する注記、履歴に対する注記、その他さまざまなプロパティーを各概念に関して保存することができます。SKOS の定義にはオントロジーを規定するための W3C の OWL 標準が使用されているため、語彙の中にある概念に対し、業界やビジネスに特有の追加のプロパティーを非常に容易に定義したり使用したりすることができます。

これらのプロパティーは他のデータ標準やメタデータ標準に規定されているプロパティーであっても構いません (他のデータ標準の例として、Dublin Core 語彙、金融業界向けに開発された Market Data Definition Language、あるいは米国議会図書館で開発された Metadata Object Description Schema などがあります)。また、企業のシステムに特有で、他には誰も使わないプロパティーであっても構いません (それらのプロパティーは企業が情報を管理する上での付加価値の一部だからです)。例えば製薬会社であれば、動物のタクソノミーに「requires (必要)」という新しい関係を定義することで、動物用ワクチンに関するタクソノミーのデータの概念を指すようにすることができます。

語彙の編集や管理を行う SKOS ベースのツールは、こうした拡張性が SKOS 標準の一部であることを理解できなければなりません。データを扱う場合、ツールのインターフェースの一部として SKOS 仕様にはない追加プロパティーを扱える必要があり、フォームやレポートには SKOS 標準のプロパティーと共に追加のプロパティーも表示される必要があります。


さらに詳細なメタデータ: SKOS-XL

SKOS を指定するために使用される OWL 言語は、オブジェクト指向によるデータ・モデリング手法とは重要な違いがいくつもありますが、両者の間には重要な共通点が 1 つあります。それは、データ・モデルを定義する場合には、クラスとサブクラス、そしてこれらのクラスのプロパティー (または、オブジェクト指向の用語を使うなら属性) を宣言することです。SKOS のオントロジーでは Concept クラスを定義し、優先ラベル、代替ラベル、他の概念との関係は、Concept クラスのプロパティーとしてモデル化されます。

指定された概念に対し、ありとあらゆるメタデータを割り当てることはできますが、SKOS には特定のラベルにメタデータを割り当てる手段がありません。「chucho (犬)」というラベルのソースを記述するデータを保存したい場合や、そのソースが最後に編集されたのはいつか、誰がそのソースを編集したのか、などを保存したい場合にはどうすればよいのでしょう?

そうした状況に対応するために、W3C は SKOS-XL (SKOS Extension for Labels) 仕様を公開しました。この仕様では、ある概念の優先ラベル、代替ラベル、その他のラベルの値は、ストリングではなく、この拡張仕様で定義される新しい Label クラスのメンバーです。これらのラベルはクラスのインスタンスなので、あらゆるメタデータをこれらのラベルに割り当てることができ、非常に柔軟性が高まります。


メタデータの統合が容易に

先ほど、SKOS は概念の識別子として一意の URI を使用するため、指定された概念と、URI ID がわかっている SKOS ベースの他の概念との間の関係を定義することができる、と説明しました。このことは、その SKOS ベースの他の概念が同じタクソノミーに属するにせよ、あるいは別の会社によって Web 上に公開されている別のタクソノミーに属するにせよ、変わることはありません。こうした関係の定義が可能であると、上述のような両極端の間にある状況にも好都合です。つまり同じ企業内の異なるグループが独自の語彙を使って管理している場合、これらの語彙を統合して中央管理の 1 つの語彙にしても有害無益です。というのも、データの規模が大きくなるにつれて語彙の保守が複雑になり、異なるグループの要求に合わせて妥協を図るためにデータを改訂しなければならなくなるからです。「customer (顧客)」という用語を使用する場合、マーケティング部門と修理部門では異なる対象を意味するかもしれませんが、そこには妥当な理由が存在する可能性があります。両方の部門に同じ定義を使用するように強制すると、その語彙の価値はどちらの部門にとっても低くなってしまいかねません。

SKOS を使用することで、異なる語彙による概念の間に関係を定義することができます。そのため、概念の間の関係を適切に定義したメタデータにより、さまざまな部門の語彙を一緒に利用できるようになります。無理に語彙を改訂、統合した一体型の語彙を作成し、結局どのグループの要求にも完全には対応できない、ということはなくなります。概念の間に定義される関係は、「related (関連する)」や「broader than (より広義)」であるといった SKOS の標準的な関係です (例えば、マーケティング部門での「customer (顧客)」の概念は修理部門の「customer (顧客)」の概念よりも広義である、というような関係を定義することができます)。ただし繰り返しますが、皆さんが独自のカスタマイズされた関係を定義することもできます。


SKOS とセマンティック Web

セマンティック技術に関心を持つようになると、多くの人達は自分達にとっての最初のアプリケーションを作成する前に、RDF のデータ・モデル、そのモデルを表現するための多様な構文、SPARQL 問い合わせ言語、RDF スキーマと OWL を使ったデータのモデル化の方法、などを学ばなければならないのではないか、と心配します。SKOS ベースの語彙マネージャーを使用する場合、ほとんどの場合は単にフォームに記入し、典型的なユーザー・インターフェース・ウィジェットを使用してデータを管理するだけであり、SKOS の基礎となっている W3C の基本的な標準について学ぶ必要はありません。しかし、それらの標準について少し学んでみると、それらのデータをより有効に活用できるようになります。例えば SPARQL 問い合わせ言語を使用すると、皆さんの語彙管理パッケージには含まれていないかもしれない問い合わせができるようになります。また先ほど触れたように、よりカスタマイズされたメタデータを追跡するために、新しいプロパティーに加えて新しいクラスも定義することができます。

また、皆さんのデータが SKOS オントロジーを使用しているか否かに関わらず、世の中にある多種多様なデータと皆さんのデータとを結びつけられるようになります。RDF データ・モデルを使うことによって、独立に作成されたデータを結びつけられることが、セマンティック Web を Web たるものにしており、データセットを組み合わせられることは、その重要な成果です。例えば、The New York Times は彼らが SKOS ベースで作成した主題ヘッダーの索引を Web 上に無料で公開し、他の出版社がその主題ヘッダーを各社独自のコンテンツに使えるようにしました。それにより、各出版社は自社の独自コンテンツを The New York Times の記事に結びつけられるようになっただけでなく、もっと重要な点として、これらの主題ヘッダーでタグ付けされた The New York Times の記事には、より多くのトラフィックが集まるようになりました。

SKOS データに何らかのプロパティーを追加した後、そのデータに対していくつかの SPARQL クエリーを実行してみると、SKOS とは別の新しいオントロジーを定義すること (あるいは SKOS 以外に既に存在している標準のオントロジーを見つけて拡張すること) などを考えつくようになり、さらにセマンティック Web 技術を活用できるようになります。


ツール

特定のオントロジーに従ってデータを編集できる RDF ツールであれば、SKOS の OWL オントロジーをロードして SKOS の概念を作成することや、それらの概念のプロパティーに適切なメタデータを設定することができます。RDF の経験がない人達が語彙を管理するためのツールとして、以下のようなものがあります。

  • TopQuadrant の EVN (Enterprise Vocabulary Net) は、Web ベースの商用コラボレーション・システムとして SKOS データ・モデルに従って構築されており、統制語彙を企業全体にわたって管理することができます。

  • PoolParty は商用のシソーラス管理および SKOS エディター・システムであり、テキスト・マイニングとデータ・リンク機能を持っています。

  • Protégé オントロジー・エディター用の SKOSed プラグインを利用すると、SKOS で表現されたシソーラスを編集することができます。SKOSed もProtégé もオープンソースです。

  • iQvoc はオープンソースの語彙管理ツールであり、SKOS をインポート、エクスポートすることができます。

  • TemaTres はオープンソースの語彙マネージャーであり、語彙データを SKOS ファイルとして出力することができます。

語彙管理ツールによって SKOS をインポート、エクスポートする機能はやがて、スプレッドシート・プログラムで CSV をインポート、エクスポートする機能と同じくらい一般的になるはずです。皆さんが使用しているタクソノミー管理プログラムが SKOS 標準をサポートしていない場合には、そのメーカーに対し、SKOS のサポートを要求してください。

SKOS の基礎は RDF であることから、RDF 対応のアプリケーション開発ツールやライブラリーを利用することで、独自の SKOS 編集システムを作成することができます。これは、タクソノミー管理システムを作成する場合には、開発者がすべてのデータ構造を定義して実装しなければならないのに比べ、遥かに簡単です。


小さく初め、大きく拡大する

大規模で複雑な統制語彙を 1 つ以上管理する場合、それらをすべて変換して新しいフォーマットを使用するようにするのは、大がかりで費用のかかる作業になりかねません。そのサブセットをパイロット・プロジェクトとして SKOS に変換すれば、作業ははるかに容易になります。また、いくつかの異なるサブセットへと変換した後、複数の語彙の境界にまたがる概念の関係を適切に定義してサブセット同士を結びつけてみると、皆さん自身の組織で SKOS を使用するメリットがわかるようになります。無料のソフトウェアと商用ソフトウェアの両方で SKOS 標準をサポートするものが増えつつある中、語彙を管理する人、そして標準化することのメリットに関心がある人すべてにとって、SKOS はさらに詳しく調査する価値があります。

参考文献

学ぶために

製品や技術を入手するために

  • TopQuadrant の EVN (Enterprise Vocabulary Net) は、相互に結びつけられた統制語彙、タクソノミー、シソーラス、オントロジーを単純に開発、管理できるようにするための Web ベースのソリューションです。
  • セマンティック Web のためのシソーラス管理システムと SKOS エディター、PoolParty について調べてください。
  • Protégé オントロジー・エディターのための SKOSed プラグインを利用し、SKOS (Simple Knowledge Organisation System) で表現されたシソーラスを作成、編集してください。
  • SKOS をインポート、エクスポートでき、語彙を管理するためのオープンソースのツール、iQvoc について調べてみてください。
  • SourceForge.net から TemaTres ソフトウェアをダウンロードし、この Web アプリケーションを試してみてください。TemaTres により、ナレッジ、シソーラス、タクソノミー、多言語語彙の正式な表現を管理することができます。
  • IBM 製品の評価版をダウンロードするか、あるいは IBM SOA Sandbox のオンライン試用版で、DB2、Lotus、Rational、Tivoli、WebSphere などが提供するアプリケーション開発ツールやミドルウェア製品を試してみてください。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=XML
ArticleID=678254
ArticleTitle=W3C の SKOS 標準を使用してタクソノミー管理を改善する
publish-date=06102011