(57)【特許請求の範囲】
【請求項１】
知識や概念を体系的に分類したクラスを持ち、前記各クラスの属性であるプロパティに従って記述されたデータをクラスに対応付け可能な１つ以上のオントロジーを記憶するオントロジー情報記憶部と、
複数のデータ項目が付随したオントロジー構築対象のデータから前記各データ項目を抽出するデータ項目抽出部と、
前記オントロジーから前記各データ項目に対応する候補プロパティを抽出する候補プロパティ抽出部と、
前記候補プロパティを有する候補クラスを前記オントロジーから抽出する候補クラス抽出部と、
前記候補クラスの優先度に従って決定される基準クラスから前記オントロジー構築対象のデータにかかるデータ項目に対応するプロパティおよびその抽出先のクラスをオントロジーの候補として決定する第１のプロパティ選択決定部と、
前記第１のプロパティ選択決定部で対応するプロパティが決定されなかったデータ項目がある場合には、前記第１のプロパティ選択決定部で決定したクラスを基準クラスとして前記第１のプロパティ選択決定部で決定したプロパティのいずれかを有するクラスを抽出し、抽出された当該クラスの中から前記第１のプロパティ選択決定部で対応するプロパティが決定されなかったデータ項目に対応するプロパティを有するクラスを抽出し、前記第１のプロパティ選択決定部で対応するプロパティが決定されなかったデータ項目に対応するプロパティおよびその抽出先のクラスをオントロジーの候補として決定する第２のプロパティ選択決定部と、
を備え、
前記第１のプロパティ選択決定部で用いる前記候補クラスの優先度は、前記候補クラスの最大出現回数である、
ことを特徴とするオントロジー構築支援装置。
【請求項２】
前記第１のプロパティ選択決定部は、最大出現回数が同数のクラスが複数ある場合、それらのクラスの被参照数に応じて前記候補クラスの優先度を設定する、
ことを特徴とする請求項１記載のオントロジー構築支援装置。
【請求項３】
前記第１のプロパティ選択決定部は、最大出現回数が同数のクラスが複数ある場合、それらのクラスのデータ数に応じて前記候補クラスの優先度を設定する、
ことを特徴とする請求項１記載のオントロジー構築支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オントロジー構築支援装置に関する。
【背景技術】
【０００２】
オントロジーは、知識や概念を体系的に分類して記述するものである。これらの知識や概念は、一般に上位分類が持つ属性を下位分類がオブジェクト指向的に継承する分類階層で表される。分類階層において、各分類には、それらの分類が持つ属性に従って記述されたデータ（群）が対応付けられており、これらのデータ（群）はコンテンツと呼ばれる。分類階層の特徴として、下位分類が持つコンテンツを上位分類からも閲覧することができる。このとき、上位分類からは、上位分類自身が持つ属性に対応する値についてのみ閲覧することができる。以降では、オブジェクト指向に従って、前記分類に対しては「クラス」、前記属性に対しては「プロパティ」という名称を用いる。
【０００３】
オブジェクト指向において、各クラスは、当該クラスが有するプロパティによって特徴付けられる。一方、各プロパティは、それ自身が持つ意味に加えて、利用されるクラスによっても意味付けられる。また、当該クラスを特徴付けるものとして、同じクラスに属するプロパティ間には明示的あるいは暗黙的に関連性がある場合が多い。従って、これらオブジェクト指向的な観点からクラスを設計することで、効果的なオントロジーを構築することができる。
【０００４】
クラス階層で表されるオントロジーの例として、まずＷＥＢに存在する語彙や知識とそれらの間の関係を体系的に表すための技術である、The World Wide Web Consortium（Ｗ３Ｃ）で勧告されているWeb Ontology Language（ＯＷＬ）が挙げられる。ＯＷＬは、Resource Description Framework（ＲＤＦ）のトリプルの集合で語彙の推論可能なクラス体系を表現する。
【０００５】
一方、企業におけるオントロジー技術の利用例として、工業製品や部品の電子カタログに関する国際規格であるISO13584/Parts Library（ＰＬＩＢ）が挙げられる。ＰＬＩＢでは、ユニークなＩＤを表す「ＢＳＵコード」や「推奨名称」などクラスおよびプロパティのスキーマが定義されており、これらに従って各クラスや各プロパティのメタデータが記述される。このようにして構成されたオントロジーはデータ辞書と呼ばれることもあり、このデータ辞書に従ってコンテンツが記述される。
【０００６】
オントロジーの利用に際して、全世界あるいは業界で共通に利用するオントロジーを構築する取り組みがいくつか成されている。各企業がこのようなオントロジーを基にしてデータを記述することで、これらのオントロジーを参照するすべてのユーザ間で、データに関する意味の共有を図ることができる。これにより、これまでデータの意味を理解するために度々行われてきた担当者間での情報交換に伴う労力や時間の軽減が期待される。さらに、従来の企業間のデータ交換において、度々データ形式や値の変換が必要であったが、各企業が共通で同一のオントロジーのクラスやプロパティを利用することで、変換に伴う労力や時間が軽減される。なお、以降では、このような複数のユーザが参照・利用できるオントロジーに対して、「標準オントロジー」という名称を用いる。
【０００７】
一般に、整合性や中立性の観点から、標準オントロジーを利用するすべてのユーザもしくはユーザの代表者が合意しない限り、標準オントロジー自体を更新することは難しい。また、各企業で扱われるデータには独自の情報が付加されることが多いため、中立的な標準オントロジーでこのようなデータを完全に表現することは難しい。
【０００８】
そこで、当該データの各データ項目に対応するプロパティを標準オントロジーの中から抽出し、これらのプロパティを再利用して当該データのクラスを生成することで、オントロジーを構築することが検討されている。このように、標準オントロジーを再利用することで、当該データの作成・閲覧・交換など、データを操作するあらゆる場面において、すべてのユーザが同じ概念を共有することができる。
【０００９】
標準オントロジーを再利用して独自のオントロジーを構築する作業は、ほとんどの場合人手によって行われてきた。しかし、精度の高いオントロジーを構築するには、標準オントロジーに精通している必要があり、一部の専門家以外はオントロジーの構築が難しいという問題がある。さらに、データを構成するデータ項目数が多くなるほど、各データ項目に対応するプロパティの選択に多大な労力と時間を要するという問題がある。
【００１０】
そこで、特許文献１のように、名称などの類似度を元にして、データ項目と既存のオントロジーとの間で自動的に対応付けを行う方式が提案されている。
【００１１】
【特許文献１】特開２００１−１４１６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、特許文献１に開示されているような対応付けの場合、クラス階層を考慮した対応付けを行っていないため、クラスによってプロパティに与えられた意味情報が欠落してしまうという問題がある。
【００１３】
本発明は、上記に鑑みてなされたものであって、ユーザの負荷を軽減し、効果的なオントロジーの構築を支援することができるオントロジー構築支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明のオントロジー構築支援装置は、知識や概念を体系的に分類したクラスを持ち、前記各クラスの属性であるプロパティに従って記述されたデータをクラスに対応付け可能な１つ以上のオントロジーを記憶するオントロジー情報記憶部と、複数のデータ項目が付随したオントロジー構築対象のデータから前記各データ項目を抽出するデータ項目抽出部と、前記オントロジーから前記各データ項目に対応する候補プロパティを抽出する候補プロパティ抽出部と、前記候補プロパティを有する候補クラスを前記オントロジーから抽出する候補クラス抽出部と、前記候補クラスの優先度に従って決定される基準クラスから前記オントロジー構築対象のデータにかかるデータ項目に対応するプロパティおよびその抽出先のクラスをオントロジーの候補として決定する第１のプロパティ選択決定部と、前記第１のプロパティ選択決定部で対応するプロパティが決定されなかったデータ項目がある場合には、前記第１のプロパティ選択決定部で決定したクラスを基準クラスとして前記第１のプロパティ選択決定部で決定したプロパティのいずれかを有するクラスを抽出し、抽出された当該クラスの中から前記第１のプロパティ選択決定部で対応するプロパティが決定されなかったデータ項目に対応するプロパティを有するクラスを抽出し、前記第１のプロパティ選択決定部で対応するプロパティが決定されなかったデータ項目に対応するプロパティおよびその抽出先のクラスをオントロジーの候補として決定する第２のプロパティ選択決定部と、を備え、前記第１のプロパティ選択決定部で用いる前記候補クラスの優先度は、前記候補クラスの最大出現回数である。
【発明の効果】
【００１７】
本発明によれば、既存のオントロジーを再利用して対象データにかかるオントロジーを構築する際に、オブジェクト指向に従ったクラス階層の構造的な観点や他のプロパティとの関連性の高さなどの観点から、オントロジー構築対象データの各データ項目に対応するプロパティとその抽出先のクラスを生成するオントロジーのプロパティ抽出先候補として決定することにより、各クラスにおいてプロパティが持つ細かい意味の違いについても再利用が可能となり、ユーザの負荷を軽減し、効果的なオントロジーの構築を支援することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明にかかるオントロジー構築支援装置の最良な実施の形態を詳細に説明する。
【００１９】
本発明の実施の一形態を図１ないし図１５に基づいて説明する。
【００２０】
［１．システムの構成］
図１は、本発明の実施の一形態にかかるオントロジー構築支援システムの構成を示す模式図である。本図に示すように、本実施の形態にかかるオントロジー構築支援システムは、サーバコンピュータ（以下、サーバという）１と、複数台のクライアントコンピュータ（以下、クライアント端末という）２とが、ネットワーク３を介して接続されたクライアントサーバシステムを想定する。クライアント端末２は、一般的なパーソナルコンピュータ等である。
【００２１】
ネットワーク３は、どのようなネットワークを用いても良く、例えばＬＡＮ（Local Area Network）や公衆ネットワークを用いることが考えられる。また、図１ではサーバ１が１台しか接続されていないが、ネットワーク３に接続するサーバ１の台数を制限するものではなく、管理する情報や機能を複数のサーバ１に分散して協調させても良い。また、図１ではクライアント端末２が２台しか接続されていないが、ネットワーク３に接続するクライアント端末２の台数を制限するものではない。
【００２２】
図２は、サーバ１およびクライアント端末２のモジュール構成図である。サーバ１およびクライアント端末２は、情報処理を行うＣＰＵ（Central Processing Unit）１０１、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）１０２、各種データを書換え可能に記憶するＲＡＭ（Random Access Memory）１０３、各種データベースとして機能するとともに各種のプログラムを記憶する記憶部であるＨＤＤ（Hard Disk Drive）１０４、記憶媒体１１０を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのＣＤ−ＲＯＭドライブ等の媒体読取装置１０５、ネットワーク３を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置１０６、処理経過や結果等を操作者に表示するＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示部１０７、並びに操作者がＣＰＵ１０１に命令や情報等を入力するためのキーボードやマウス等のポインティングデバイスである入力部１０８等から構成されており、これらの各部間で送受信されるデータをバスコントローラ１０９が調停して動作する。
【００２３】
このようなサーバ１およびクライアント端末２では、オペレータが電源を投入するとＣＰＵ１０１がＲＯＭ１０２内のローダーというプログラムを起動させ、ＨＤＤ１０４よりＯＳ（Operating System）というコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ１０３に読み込み、このＯＳを起動させる。このようなＯＳは、オペレータの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等が知られている。これらのＯＳ上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００２４】
ここで、サーバ１は、アプリケーションプログラムとして、オントロジー構築支援プログラムをＨＤＤ１０４に記憶している。この意味で、ＨＤＤ１０４は、オントロジー構築支援プログラムを記憶する記憶媒体として機能する。
【００２５】
一方、クライアント端末３は、アプリケーションプログラムとして、オントロジー構築プログラムをＨＤＤ１０４に記憶している。この意味で、ＨＤＤ１０４は、オントロジー構築プログラムを記憶する記憶媒体として機能する。
【００２６】
また、一般的には、サーバ１およびクライアント端末２のＨＤＤ１０４にインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭやＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体１１０に記録され、この記憶媒体１１０に記録された動作プログラムがＨＤＤ１０４にインストールされる。このため、ＣＤ−ＲＯＭ等の光情報記録メディアやＦＤ等の磁気メディア等の可搬性を有する記憶媒体１１０も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えば通信制御装置１０６を介して外部から取り込まれ、ＨＤＤ１０４にインストールされても良い。
【００２７】
サーバ１は、ＯＳ上で動作するオントロジー構築支援プログラムが起動すると、このオントロジー構築支援プログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。一方、クライアント端末２は、ＯＳ上で動作するオントロジー構築プログラムが起動すると、このオントロジー構築プログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。サーバ１およびクライアント端末２のＣＰＵ１０１が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【００２８】
クライアント端末２は、オントロジー構築プログラムに従うことにより、サーバ１から受信したデータを、ＧＵＩ（Graphic User Interface）を介して表示部１０７に出力し、表示部１０７に表示された各画面上でオペレータが入力部１０８を介して行った作業や設定内容に基づくデータやコマンドを、ＧＵＩを介して受け取り、サーバ１へ送信する。より具体的には、クライアント端末２は、表示部１０７を介して表示された画面上で、ユーザがオントロジー構築対象のデータを入力部１０８を介して選択すると、当該データをサーバ１に出力する。また、クライアント端末２は、当該データに対してサーバ１から提示される表示部１０７を介した再利用するプロパティおよび抽出先のクラスの候補についてのユーザの閲覧を許容し、それに対するユーザ操作を入力部１０８で受け付ける。
【００２９】
一方、サーバ１は、図３に示すように、オントロジー構築支援プログラムに従うことにより、オントロジー構築支援装置として機能し、オントロジー情報記憶部１１と、データ項目抽出部１２と、候補プロパティ抽出部１３と、候補クラス抽出部１４と、プロパティ選択決定部（第１のプロパティ選択決定部、第２のプロパティ選択決定部）１５とを備える。
【００３０】
オントロジー情報記憶部１１は、ユーザが自由に参照することができるオントロジーを管理する。
【００３１】
ここで、オントロジー情報記憶部１１に情報を管理される階層型オントロジーについて説明する。階層型オントロジーは、クラスを階層的に配置することで、ツリー構造を形成する。ここで、クラスは概念を表したものであり、例えば「製品」や「自動車」などである。各クラスは、自身を特徴づける複数のプロパティを有する。ここで、階層型オントロジーの特徴として、上位クラスが有するプロパティを当該クラスの下位に配置されたすべてのクラス、すなわち上位クラスを根とした部分階層上のすべての分類がオブジェクト指向的に継承する。また、階層型オントロジーでは、継承階層におけるプロパティの継承元の全てのクラスを「親クラス」または「上位クラス」、継承先の全てのクラスを「子クラス」または「下位クラス」と呼ぶことが多い。従って、本実施の形態でも同様に、上述した単語を上述した意味で用いる。なお、後述する図４では、継承関係にあるクラス間において、一つ上の親クラスを矢印の先端として実線で結ぶことで、継承関係を木構造で表している。
【００３２】
また、階層型オントロジーは、クラスごとに当該クラスが有するプロパティに従って記述されたデータを要素として保持する。階層型オントロジーでは、下位クラスのすべてのデータはその上位クラスのデータでもある。ただし、上位クラスから下位クラスのデータを参照する場合、当該上位クラスが有するプロパティの値のみ参照できる。また、一般的な階層型オントロジーでは、最も下位のクラスのみデータが存在することが多いが、本実施の形態はこれに制限するものではなく、上位のクラスにデータが存在していても良い。
【００３３】
図４は、階層型オントロジーの例を示した概念図である。図４では、階層型オントロジーの例として、１５個のクラスを持つオントロジーＸと、７個のクラスを持つオントロジーＹを示している。いずれのオントロジーも、それぞれのクラスは一つ上の親クラスを矢印の先端とする実線の矢印で結ばれており、階層型オントロジーを構成している。
【００３４】
図４では、各クラスに１つずつプロパティが定義されている。例えば、クラスＸ１ではプロパティｘ１が、クラスＸ２ではプロパティｘ２が定義されている。また、上述したように、上位クラスの有するプロパティは、下位のクラスに継承されている。例えば、クラスＸ４は、クラスＸ４で定義されたプロパティｘ４の他に、上位で定義されたプロパティ、すなわち、クラスＸ１で定義されたプロパティｘ１およびクラスＸ２で定義されたプロパティｘ２も継承して有している。なお、他のクラスも、同様に上位クラスからプロパティを継承している。
【００３５】
なお、図４に示す階層型オントロジーでは、クラス階層を単純木で示しているが、クラス階層の構造をこのような単純木に制限するものではない。例えば、一つ上の親クラスを複数持つ「多重継承」の概念や、厳密な意味の親子関係ではないが、いくつかのプロパティを輸入する関係で形成される「部分継承」の概念など、すべてのクラス階層の構造を対象とする。
【００３６】
また、オントロジー情報記憶部１１に管理されるオントロジーは階層型オントロジーに限るものではなく、クラス階層の特殊な状態として、階層を持たないフラットな状態のオントロジーも含まれる。すなわち、どのクラスも他のクラスの下位クラスにならず、他のクラスとは独立した状態であっても良い。
【００３７】
上述したようなオントロジーを管理するオントロジー情報記憶部１１は、オントロジーのクラスに関する情報を記憶するクラステーブルと、オントロジーのプロパティに関する情報を記憶するプロパティテーブルとを備えている。
【００３８】
まず、クラステーブルについて説明する。図５は、クラステーブルの一例を示す模式図である。図５に示すクラステーブルは、図４に示した２つのオントロジーＸ，Ｙのクラスに関する情報を記憶したものである。図５に示すように、クラステーブルは、クラスのＩＤと一つ上の親クラスのＩＤとを対応付けて保存するクラス階層テーブル３１と、クラスのＩＤとクラスの名称などの情報を対応付けて保存するクラス情報テーブル３２とで構成される。これにより、各テーブルの各レコードに格納された情報から、あるオントロジーの特定のクラスについての名称などの情報と、一つ上の親クラスとを特定することができる。
【００３９】
なお、本実施の形態では、クラスのＩＤはすべてのオントロジーを通して一意であることを想定しており、２つのオントロジーＸとＹの情報をまとめて管理しているが、これに限るものではない。クラスのＩＤがすべてのオントロジーを通して一意でない場合は、オントロジーごとにクラステーブルを用意したり、一意の内部ＩＤを与えて識別したりするなどの方法を用いても良い。
【００４０】
また、本実施の形態では、クラスの情報として名称のみを与えたが、他の情報を与えても良く、さらにこれらの情報を以降で説明する処理で利用しても良い。
【００４１】
次に、プロパティテーブルについて説明する。図６は、プロパティテーブルの一例を示す模式図である。図６に示すプロパティテーブルは、図４に示した２つのオントロジーＸ，Ｙのプロパティに関する情報をテーブルで記憶したものである。図６に示すように、プロパティテーブルは、プロパティのＩＤと当該プロパティを有するクラスのＩＤとを対応付けて保存する所有プロパティテーブル４１と、プロパティのＩＤと当該プロパティの名称などの情報を対応付けて保存するプロパティ情報テーブル４２とで構成される。これにより、各テーブルの各レコードに格納された情報から、特定のプロパティの名称などの情報と、当該プロパティを有するクラスとを特定することができる。
【００４２】
なお、本実施の形態では、プロパティと当該プロパティを有するすべてのクラスを対応付けて保存したが、これに限るものではなく、同様の情報を得られるのであれば、上位クラスで有するプロパティを下位クラスで省略して記憶し、下位クラスではクラステーブルの階層情報を利用して参照するなどの方法を取っても良い。
【００４３】
また、本実施の形態では、クラスと同様に、プロパティのＩＤはすべてのオントロジーで一意であることを想定しているが、一意でない場合は、オントロジーごとにテーブルを用意したり、一意の内部ＩＤを与えて識別したりするなどの方法を用いても良い。
【００４４】
また、本実施の形態では、プロパティの情報として名称のみを与えたが、他の情報を与えても良く、さらにこれらの情報を以降で説明する処理で利用しても良い。
【００４５】
次に、オントロジー構築支援処理の流れを示す図７のフローチャートを参照しつつ、データ項目抽出部１２と、候補プロパティ抽出部１３と、候補クラス抽出部１４と、プロパティ選択決定部１５とについて詳述する。
【００４６】
図７に示すように、データ項目抽出部１２は、クライアント端末２から送信されたオントロジー構築対象のデータを受け取ると（ステップＳ１）、当該データの候補オントロジーリストを初期化する（ステップＳ２）。図８は、オントロジー構築対象のデータの一例を示す模式図である。図８に示すように、対象データは５つのデータ項目（ｚ２、ｚ４、ｚ５、ｚ７、ｚ８）と、その値とから構成されている。なお、本実施の形態では、表形式で表されたデータを例として用いるが、本発明の方式はこれに限るものではなく、データ項目とその値で記述されるものであれば、どのような形式で表現されていても良い。
【００４７】
また、データ項目抽出部１２は、初期クラスリストの初期化を行い（ステップＳ３）、抽出を開始するクラスを登録可能にするとともに、当該データからすべてのデータ項目を抽出し、抽出したデータ項目を候補プロパティ抽出部１３に渡す（ステップＳ４）。ここで、初期クラスリストとは、ユーザに提示するオントロジーの候補を生成する際の、抽出開始クラスのリストを表す。
【００４８】
候補プロパティ抽出部１３は、データ項目抽出部１２から受け取ったデータ項目のそれぞれについて、オントロジー情報記憶部１１で管理する参照可能なすべてのオントロジーを対象に、当該データ項目と対応し得るプロパティ（候補プロパティ）を抽出する（ステップＳ５）。ここで、全てのデータ項目に対して対応し得るプロパティが抽出されなかった場合（ステップＳ６のＮｏ）、当該データのオントロジーが生成できないため、処理を中止する。一方、いずれかのデータ項目に対して対応し得るプロパティが抽出された場合（ステップＳ６のＹｅｓ）、抽出したそれぞれのデータ項目と当該データ項目に対応し得るすべてのプロパティとを単位とする情報を、候補クラス抽出部１４に送る。
【００４９】
ここで、図９は候補プロパティ抽出部１３から候補クラス抽出部１４に送られる情報の一例を示す模式図である。図９に示す例は、図８に示したオントロジー構築対象のデータが入力され、図４に示したオントロジーから当該データのデータ項目に対応し得るプロパティを抽出した場合における、各データ項目とそれらに対応し得るプロパティとの組み合わせ情報を表したものである。
【００５０】
次いで、候補クラス抽出部１４は、候補プロパティ抽出部１３から、データ項目とそれに対応し得るプロパティとの組み合わせ情報（図９参照）を受け取ると、オントロジー情報記憶部１１で管理するオントロジー情報を用いて、抽出した各プロパティについてこのプロパティを有するクラスを抽出し、各プロパティと組み合わせるとともに（ステップＳ７）、生成したデータ項目と、その対応し得るプロパティと、抽出候補クラスとを組み合わせた情報を、プロパティ選択決定部１５に送る。
【００５１】
ここで、図１０は候補クラス抽出部１４からプロパティ選択決定部１５に送られる情報の一例を示す模式図である。図１０に示す例は、図９で示した対応し得るプロパティを有するクラスを図４に示したオントロジーから抽出し、データ項目と、その対応し得るプロパティと、抽出候補クラスとを組み合わせた情報を表したものである。例えば、図１０に示すように、データ項目ｚ４に対応し得るプロパティｘ４，ｙ４について、それぞれｘ４を持つクラスＸ４、Ｘ８、Ｘ９が図４のオントロジーＸから、ｙ４を持つクラスＹ４が図４のオントロジーＹから抽出され、抽出候補クラスとして組み合わされる。
【００５２】
次いで、プロパティ選択決定部１５は、候補クラス抽出部１４から、データ項目と、それに対応し得るプロパティと、抽出候補クラスとの組み合わせ情報（図１０参照）を受け取ると、抽出候補クラスの中で、出現回数が多いものから順に抽出し、これを初期クラスリストに登録する（ステップＳ８）。例えば、図１０に示した例では、オントロジーＸのクラスＸ８が最も出現回数が多いため、これがリストの先頭要素となる。ここで、初期クラスリストが空の場合（ステップＳ９のＮｏ）、抽出先候補のクラスが存在せず、当該データのオントロジーを生成できないため、処理を中止する。一方、初期クラスリストに情報が登録されている場合（ステップＳ９のＹｅｓ）、ステップＳ１０に進み、処理を継続する。
【００５３】
加えて、プロパティ選択決定部１５は、初期クラスリストの優先度に従って、基準クラスを決定し（ステップＳ１０）、当該基準クラスを開始位置として、データ項目に対する最適なプロパティおよび当該プロパティの抽出先クラスの候補を自動的に抽出する（ステップＳ１１）。
【００５４】
ここで、ステップＳ１１の処理について図１１のフローチャートを参照しつつ詳述する。図１１に示すように、まず、基準クラスについて、各データ項目に対して抽出したプロパティおよび抽出先クラスを記憶するための抽出マップを初期化した後（ステップＳ１１０１）、当該基準クラスが有するプロパティのうち、データ項目に対応し得るものを抽出し、当該基準クラスを抽出先クラスとして、抽出マップに登録する（ステップＳ１１０２）。ここに、第１のプロパティ選択決定部が実現されている。
【００５５】
ここで、図１２は抽出マップの一例を示す模式図である。図１２に示す抽出マップは、図１０で示した例において、クラスＸ８を基準クラスにしてプロパティを抽出した場合の例を示したものである。図１２に示す抽出マップでは、図１０のデータ項目ｚ２、ｚ４、ｚ８に対応し得るプロパティとして、それぞれプロパティｘ２、ｘ４、ｘ８が抽出され、抽出マップに登録されている。また、これらの抽出先クラスとして、基準クラスであるＸ８が抽出マップに登録されている。
【００５６】
次に、上記処理でプロパティが決定されなかったデータ項目に対応するプロパティおよびその抽出先のクラスを決定する第２のプロパティ選択決定部における処理を、以下において説明する。
【００５７】
まず、未対応のデータ項目がある場合には（ステップＳ１１０３のＹｅｓ）、基準クラスの一つ上の親クラスを根とする部分クラス階層を構成するクラスの中で、直前の処理までに抽出したプロパティのうち、いずれか１つを含む未参照クラスをすべて抽出する（ステップＳ１１０４）。ここで、初期状態では基準クラス以外を未参照クラスとする。
【００５８】
次に、未参照クラスが抽出されなかった場合には（ステップＳ１１０５のＮｏ）、未対応のデータ項目についてのプロパティを抽出するために、これらのデータ項目を入力として、ステップＳ３〜Ｓ１０に至る処理を行い（ステップＳ１１０６）、その結果と抽出マップをマージする。
【００５９】
一方、未参照クラスが抽出された場合は（ステップＳ１１０５のＹｅｓ）、それらのクラスの中で、未対応のデータ項目に対応し得るプロパティを持つものから当該プロパティを抽出し、当該クラス情報と当該プロパティ情報を抽出マップに登録する（ステップＳ１１０７）。ここで、複数のプロパティ抽出先候補のクラスが存在する場合は、ステップＳ１１０７と同様の方針で、それぞれのクラスからプロパティを抽出する。一方、上記クラスの中に、未対応のデータ項目に対応し得るプロパティを持つクラスが一つもない場合は、次のステップに処理を移す。なお、抽出可能なクラスが複数存在する場合においては、抽出可能なクラスのうち基準クラスから階層的に近いクラスを優先するようにしても良い。
【００６０】
ステップＳ１１０７の処理が完了した後、ステップＳ１１０７の処理で参照した部分クラス階層上のすべてのクラスを参照済みにして（ステップＳ１１０８）、基準クラスの一つ上の親クラスを基準クラスにして（ステップＳ１１０９）、ステップＳ１１０３の処理に戻る。
【００６１】
なお、ステップＳ１１０２またはステップＳ１１０９の処理の後、未対応のデータ項目がない場合は（ステップＳ１１０３のＮｏ）、処理を終了する。
【００６２】
図１３は、図１２の状態から上記の手順で未対応のデータ項目ｚ５に対するプロパティを抽出した結果を表す。
【００６３】
まず、ステップＳ１０の処理で基準クラスに設定したクラスＸ８を参照済みクラスとする。次に、ステップＳ１１０３の処理に従って、一つ上の親クラスＸ４を根とする部分クラス階層に属する未対応クラスの中で、Ｓ１１０２の処理で抽出した３つのプロパティｘ２、ｘ４、ｘ８のうちいずれかを持つクラスを選択する。これにより、プロパティｘ２およびｘ４を持つクラスＸ４およびＸ９が選択される。ここで、図１０の表から、クラスＸ４およびＸ９のいずれも、未対応のデータ項目ｚ５およびｚ７に対応し得るプロパティを有していないため、ここではプロパティの抽出を行わない。ステップＳ１１０９の処理に従ってクラスＸ４の部分クラス階層を構成するクラスを参照済みに設定し、ステップＳ１１１０の処理に従ってクラスＸ４を基準クラスとする。
【００６４】
次に、ステップＳ１１０３の処理に戻り、基準クラスＸ４の一つ上の親クラスＸ２を根とする部分クラス階層から、ステップＳ１１０２の処理で抽出したプロパティｘ２、ｘ４、ｘ８のうちいずれかを持つクラスを選択する。これにより、プロパティｘ２を持つクラスＸ２、Ｘ５、Ｘ１０、Ｘ１１が選択される。ここで、図１０の表から、クラスＸ５、Ｘ１０、Ｘ１１が、未対応のデータ項目ｚ５に対応し得るプロパティを有するが、クラスＸ１０およびＸ１１は、クラス階層においてクラスＸ５に包含されるため、ここではクラスＸ５を抽出する。なお、ユーザに多くの候補を提示するために、それぞれのクラスを候補として選択し、残りの処理を経てユーザに提示しても良い。この処理により、図１３に示すように、データ項目ｚ５に対してプロパティｘ５がクラスＸ５から抽出される。
【００６５】
次に、未対応のデータ項目ｚ７については、上記のいずれの処理でも対応し得るプロパティが見つからなかったため、当該データ項目についての処理を継続する。ステップＳ１１０９の処理に従ってクラスＸ２を根とする部分クラス階層を構成するクラスを参照済みとし、ステップＳ１１１０の処理に従ってクラスＸ２を基準クラスにする。次に、ステップＳ１１０３の処理に戻り、基準クラスＸ２の一つ上の親クラスＸ１を根とする部分クラス階層を構成するクラスの中で、ステップＳ１１０２の処理で抽出したプロパティｘ２、ｘ４、ｘ８のうちいずれかを持つ未参照クラスを選択する。ここで、図４のオントロジーＸでは、該当するクラスが存在しないため、処理を中断する。
【００６６】
図１４は、図４に示したオントロジーＸおよびオントロジーＹにおいて、１度目の処理で抽出候補となったクラスの範囲を実線で囲んだものである。図１４に示すように、本発明の方法により、オブジェクト指向に従って、自動的に限られた範囲のクラスから高い関連性を持つ多くのプロパティを抽出することができる。
【００６７】
一方、一度目の処理で解決されなかった未対応のデータ項目ｚ７については、ステップＳ１１０６の処理に従って再度処理を行う。図８に示したオントロジー構築対象のデータに対しては、未対応のデータ項目がｚ７のみであるため、ｚ７を有するクラスＸ７およびＹ７を抽出先としてプロパティを抽出し、上記処理で作成した抽出マップと結果をマージする。
【００６８】
なお、１度目の処理の際に、最大出現回数が同数のクラスが複数ある場合、それらすべてを処理しても良いし、それらのクラスの被参照数やサーバで管理されるデータ数などで優先度を設定するなどして、対象を絞り込んでも良い。また、最大出現回数の閾値をユーザもしくはシステムが設定し、閾値を超えるクラスをすべて処理しても良い。
【００６９】
最後に、上記の処理によって生成された抽出マップに従って、データについての候補オントロジーを作成し、候補オントロジーリストに追加する（ステップＳ１２）。
【００７０】
図１５は、図８に示したオントロジー構築対象のデータに対して、本発明の方法によって、入力データに対して最終的に生成される候補オントロジーリストの例を示したものであり、それぞれのデータ項目に対応するプロパティを小括弧で囲まれたクラスＩＤのクラスから抽出したことを示す。図１５では、１度目の処理の結果と２度目の処理の結果をマージして生成された２つの候補が表示されており、これらの候補がクライアント端末２の表示部１０７を通してユーザに提示される。
【００７１】
ここで、ステップＳ３〜Ｓ８の処理で作成した初期クラスリストのうち、ステップＳ１０の処理で基準クラスに設定されなかったものについて、他の候補を作成可能か判断する（ステップＳ１３）。
【００７２】
他の候補を作成可能な場合は（ステップＳ１３のＹｅｓ）、別のクラスを基準クラスに設定して（ステップＳ１４）、ステップＳ１１の処理を行い、その結果を候補オントロジーリストに追加する。
【００７３】
一方、他の候補を作成しない場合は（ステップＳ１３のＮｏ）、処理を終了して、候補オントロジーリストをクライアント端末２の表示部１０７を通してユーザに提示する。
【００７４】
なお、基準クラスと同等の優先度を持っていたり、ユーザやシステムが予め設定した閾値などの項目を満たしていたり、提示する候補の追加依頼がユーザからあった場合は、これに従って候補オントロジーを追加するために処理を繰り返す。
【００７５】
また、初期クラスリストを作成した段階でこれをユーザに提示し、基準クラスをユーザが選ぶようにすることで、ユーザの希望を反映した処理を行うことが期待できる。
【００７６】
このように本実施の形態によれば、既存のオントロジーを再利用して対象データにかかるオントロジーを構築する際に、オブジェクト指向に従ったクラス階層の構造的な観点や他のプロパティとの関連性の高さなどの観点から、オントロジー構築対象データの各データ項目に対応するプロパティとその抽出先のクラスを生成するオントロジーのプロパティ抽出先候補として決定することにより、各クラスにおいてプロパティが持つ細かい意味の違いについても再利用が可能となり、ユーザの負荷を軽減し、効果的なオントロジーの構築を支援することができる。
【００７７】
また、従来手動で行っていた標準オントロジーにおいて、ユーザは標準オントロジーの構成を熟知していないと、その再利用が難しいという問題があった。しかし、本実施の形態で示した手法では、ユーザは候補として提示されたクラスのプロパティのみを参照すれば良いため、個々のプロパティを探してクラス階層をたどる必要がなく、容易にオントロジーを構築することが可能となる。
【００７８】
また、従来のオントロジーの対応で用いられていた手法では、クラス階層における抽出先を考慮しておらず、クラスがプロパティに対して与える意味などの情報が欠落するという欠点があった。しかし、第１の実施の形態で示した手法は、クラス階層の構造的な観点や他のプロパティとの関連性の高さなどから、適する抽出先クラスを自動で決定することができる。これにより、各クラスにおいてプロパティが持つ細かい意味の違いについても再利用が可能となる。
【００７９】
また、標準オントロジーが複数存在する場合でも、抽出先のクラスを絞り込むことで、抽出先の分散を軽減することができる。これにより、情報源の集中による作成したオントロジーのメンテナンス性の向上が期待できる。
【００８０】
なお、本実施の形態においては、サーバクライアントシステムを想定したが、これに限るものではなく、ネットワークに接続されていないスタンドアロンの形態で実施しても良い。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の一形態にかかるオントロジー構築支援システムの構成を示す模式図である。
【図２】サーバおよびクライアント端末のモジュール構成図である。
【図３】オントロジー構築支援システムの機能構成を示すブロック図である。
【図４】階層型オントロジーの例を示した概念図である。
【図５】クラステーブルの一例を示す模式図である。
【図６】プロパティテーブルの一例を示す模式図である。
【図７】オントロジー構築支援処理の流れを示すフローチャートである。
【図８】オントロジー構築対象のデータの一例を示す模式図である。
【図９】候補プロパティ抽出部から候補クラス抽出部に送られる情報の一例を示す模式図である。
【図１０】候補クラス抽出部からプロパティ選択決定部に送られる情報の一例を示す模式図である。
【図１１】ステップＳ１１の処理の流れを示すフローチャートである。
【図１２】抽出マップの一例を示す模式図である。
【図１３】抽出マップの一例を示す模式図である。
【図１４】図４に示したオントロジーにおいて抽出候補となったクラスの範囲を示す概念図である。
【図１５】候補オントロジーリストの例を示す模式図である。
【符号の説明】
【００８２】
１      オントロジー構築支援装置
１１    オントロジー情報記憶部
１２    データ項目抽出部
１３    候補プロパティ抽出部
１４    候補クラス抽出部
１５    第１のプロパティ選択決定部、第２のプロパティ選択決定部
【図１】
0005175511.tif 000002
【図２】
0005175511.tif 000003
【図３】
0005175511.tif 000004
【図４】
0005175511.tif 000005
【図５】
0005175511.tif 000006
【図６】
0005175511.tif 000007
【図７】
0005175511.tif 000008
【図８】
0005175511.tif 000009
【図９】
0005175511.tif 000010
【図１０】
0005175511.tif 000011
【図１１】
0005175511.tif 000012
【図１２】
0005175511.tif 000013
【図１３】
0005175511.tif 000014
【図１４】
0005175511.tif 000015
【図１５】
0005175511.tif 000016