説明

検索インターフェースシステム

【課題】さまざまな検索システムに共通して使用可能な検索インターフェースシステムを提供する。
【解決手段】ユーザはオントリジー内の情報項目を検索し、見つかった情報項目に対応するデータを取得することができる。ユーザが検索したい事項をテキストで入力すると、システムはテキスト中の表現に一致する表現を情報項目のラベルと説明文の中から検索し、ユーザに提示する。プロパティ検索時には、プロパティ値を情報項目の検索に用いることができる。ユーザが提示されたプロパティを選択すると、提示されるクラスはそのプロパティを持つクラスに絞り込まれる。ユーザが提示されたクラスを選択すると、提示されるプロパティは選択されたクラスが持つプロパティに絞り込まれる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、既存のデータをオントロジーと対応させる情報構造および機能を有してオントロジーを構築し既存の情報システムのデータベースと対応付けるマッピングシステムを具備する検索システムにおいて使用される検索インターフェースシステムに関する。
【背景技術】
【0002】
本出願人は、特許文献1において既存のデータをオントロジーと対応させる情報構造及び機能を有すると共に、これらによってオントロジーを構築し、既存の情報システムのデータベースと対応づけて情報処理対象を簡便に拡大することのできる検索システムを提案した。
【0003】
この検索システムは、対象物の概念により知識化するクラスを有し、このクラスを特定するプロパティが1つ以上結びつけられる情報オントロジーに基づいて、業務プロセスを支援する目的で構築され、稼働している既存の情報システムが使用している既存のデータベースから検索を行うために、既存データベースから構造化されたメタデータを作成し、このメタデータから特定の情報を抽出するための射影を作成し、この射影と情報オントロジーデータベースのクラスとをマッピングすると共に、射影の射影項目をクラスのプロパティにマッピングし、さらに射影項目の有効値リストの値をそのプロパティの有効値リストの値とマッピングさせるものである。これによって、この検索システムは指定されたクラスとプロパティを持つインスタンスをデータベースから取得することができるものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−86437号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数の多様なデータベースを検索する場合、ユーザはどのような情報項目があるのかを容易に知り得ないという問題がある、データベースにおいて、様々な属性を持つもの毎に検索しようとする場合、データベースユーザは、通常、事前にどのようなカテゴリーのものがあり、それらがどのような属性を持つか、さらにそれらの情報がどのようにデータベースに格納されているかを知る必要がある。データベースの利用方法が決定されていれば、検索を容易にするために、そのデータベースに固有のアプリケーションシステムを構築することによってそれを達成することが可能となるが、そのようなアプリケーションを変更して柔軟に対応することは一般的に難しい。また、複数の多様なデータベースに対応するアプリケーションを作成するには多くの工数を要する。
【0006】
このため、上述したように、検索対象について、どのような情報項目(クラスとプロパティ)があるかを整理したメタデータ(オントロジー)を作成することが行われた。この場合、情報項目にはラベルと説明文が付与される。上記特許文献1では、このオントロジーをデータベース(複数可)の情報項目(テーブル又はビュー及びカラム)と関連づけることによって、システムが指定されたクラスとプロパティを持つインスタンスをデータベースから取得できるようにしたものである。
【0007】
本願発明は、上記検索システムだけでなく、いろいろな検索システムに共通して使用可能な検索インターフェースシステムを提供することにある。
【課題を解決するための手段】
【0008】
本願発明の検索インターフェースシステムでは、ユーザは、検索したい事項をテキストで入力する。この場合のテキストは、キーワードのリスト又は文章である。
【0009】
本願発明に係る検索インターフェースシステム(以下、システムという)は、テキスト中の表現に一致する表現を情報項目のラベルと説明文の中から検索し、ユーザに提示する。検索手法としては、単純な文字列一致、形態素分析を用いた全文検索、統計的な連想検索、構文パターンを用いた検索など、さまざまなものを用いることが可能である。説明文を検索対象項目に含めることにより、情報項目検索の「再現率(欲しい項目を取得できる確率)を高めることができる。
【0010】
プロパティ検索時には、プロパティ値を情報項目の検索に用いることができる。この場合、オントロジーに記述されたプロパティ値の取り得る値についての情報を用いる。また、情報項目の提示にはラベルと説明文とを用いる。説明文はユーザの働きかけに応じて提示するようにすることができる。説明文の提示により、ユーザは前記システム中にどのような情報項目があるのかを容易に知ることができ、適切な情報項目の選択を行うことができる。
【0011】
ユーザが提示されたプロパティを選択すると、提示されるクラスはそのプロパティを持つクラスに絞り込まれる。
【0012】
ユーザが提示されたクラスを選択すると、提示されるプロパティは選択されたクラスが持つプロパティに絞り込まれる。
【0013】
クラスがオントロジー中で階層化されているため、ユーザが指定したクラスに直接対応する情報項目がデータベースにない場合でも、サブクラスの情報項目を取得することができる。
【0014】
前記システムは、必要に応じてクラス階層をユーザに提示し、ユーザに関連するクラスを選択させることができる。
【0015】
ユーザがクラスを選択し、検索を指示すると、前記システムは選択されたクラスのインスタンス情報を持つデータベース(複数可)への検索を実行する。このとき、最初に入力されたテキスト中にプロパティ値に関する情報が含まれていれば、その制約に従って検索条件に制約を設けることができる。
【0016】
したがって、上述したオペレーションを実行する前記システムは、ユーザに対応するユーザインターフェース部と、少なくとも1つのデータベースに対応するメタデータサービス部とを具備する。このメタデータサービス部におけるメタデータサービスは、データとして、オントロジー(クラスとプロパティの定義(定義文を含む)、データベースの情報、オントロジー概念とデータベース項目のマッピングを有するものである。
【0017】
さらに、本願発明に係る前記システムは、ユーザが入力したクエリキーワードにしたがって、メタデータサービスにおいてラベルや定義文を持つクラス及びプロパティを検索し、その結果としてクラス・プロパティ一覧(定義文などの詳細情報を含む)を、前記ユーザインターフェースを介してユーザに返すクラス・プロパティ一覧処理手段を具備する。このクエリは単一のデータベースクエリで実現することができる。メタデータポジトリ(データベース)中では、クラス及びプロパティを表すデータ構造がラベルや定義文とリンクされている。このため、ラベルや定義文をクエリキーワードにより文字列検索することにより、クラス及びプロパティを表すデータ構造又はクラス及びプロパティの識別子を返すことができる。文字列検索を行う技術は、一般的に知られているものを利用することができる。
【0018】
また、前記システムは、ユーザからクラス/プロパティを指定した詳細情報の要求があった場合、定義文などの詳細情報をユーザに開示する詳細情報開示手段を具備する。
【0019】
さらに、前記システムは、ユーザからプロパティ選択が行われた場合、メタデータサービスにおいて、指定された(上位)プロパティでクラス及びプロパティを絞り込み、絞り込まれたクラス及びプロパティ一覧(定義文など詳細情報含む)をユーザに開示するプロパティ処理手段を具備する。メタデータポジトリ(データベース)中では、クラスはプロパティとリンクされている。このため、プロパティを指定することにより、対応するクラスを表すデータ構造又はその識別子を返すことができる。これは、単一のデータベースクエリで実現することができる。返されるクラスが下位クラスを持つ場合、それらも所定のアルゴリズム(第1のアルゴリズム)で取得し返すことができる。下位クラスの取得を事前に一括的に行っておけば、上位クラスからすべての下位クラスを取得することは単一のデータベースクエリで実現することができる。指定されたプロパティが下位プロパティを有する場合、それら下位プロパティを持つクラスも所定のアルゴリズム(第2のアルゴリズム)によって取得することができる。下位プロパティの取得を事前に一括的に行っておけば、上位プロパティからすべての下位プロパティを取得することは単一のデータベースクエリで実現することができる。プロパティの絞り込みは、絞り込まれたクラスのリストにリンクされたプロパティを取得することにより実現できる。これは、絞り込まれたクラスのそれぞれに対する単一のデータベースクエリで実現することができる。
【0020】
さらにまた、前記システムは、ユーザからクラス選択が行われた場合、メタデータサービスにおいて、指定された(上位)クラスでクラス及びプロパティを絞り込み、絞り込まれたクラス及びプロパティ一覧(定義文などの詳細情報含む)をユーザに開示するクラス処理手段を具備する。この場合、クラスやプロパティは階層構造を有するため、上位クラスや上位プロパティを選択することにより、下位のクラス又は下位のプロパティの絞り込みを行うことができる。指定された(上位)クラスから下位クラス(0個以上)を取得するには、上記第1のアルゴリズムを用いることができる。指定された(上位)クラスからプロパティを取得するには、先ず指定された(上位)クラスから下位クラス(0個以上)を第1のアルゴリズム)で取得し、それらのクラスについてプロパティを取得する。メタデータリポジトリ(データベース)中では、クラスはプロパティとリンクされているため、クラスからプロパティを取得することは、単一のデータベースクエリで実現することができる。
【0021】
また、前記システムは、ユーザからクラス指定且つインスタンスデータ要求があった場合、メタデータサービスにおいて、指定されたクラスと検索クエリキーワード中の数値などのプロパティ値表現からデータベースクエリを合成し、このデータベースクエリに基づいて1つ又は複数のデータベースを検索し、検索されたインスタンスデータをユーザに返すインスタンスデータ処理手段を具備するものである。クエリの合成は、所定のアルゴリズム(第3のアルゴリズム)を用いることによって達成される。
【発明の効果】
【0022】
本願発明に係る検索インターフェースシステムにおいて、ユーザは自分の言葉を入力することにより、情報システム内の希望する情報項目を容易に取得することができると共に、それらの項目について説明を受け取ることができるので、正しい情報項目へ確実にナビゲートされるという効果がある。
【0023】
また、ユーザは、複数の情報源から一元的なユーザインターフェースシステムにより情報項目を取得することができると言う効果がある。
【0024】
さらに、本願発明に係る検索インターフェースシステムは、データ設定部分を除いて汎用的なものであり、データベースの追加や変更に応じて新たなアプリケーションを構築する必要がないという効果がある。
【0025】
さらにまた、複数の多様なデータベースを検索する場合でも新規なアプリケーションを作成する必要がないという効果がある。
【図面の簡単な説明】
【0026】
【図1】本願発明に係る検索インターフェースシステムを示した概略構成図である。
【図2】本願発明に係る検索インターフェースシステムの動作を示したフローチャート図である。
【図3】下位クラスを取得する第1のアルゴリズムを示したフローチャート図である。
【図4】下位プロパティを取得する第2のアルゴリズムを示したフローチャート図である。
【図5】データベースクエリを合成する第3のアルゴリズムを示したフローチャート図である。
【図6】メタデータの関連を示した構成図である。
【発明を実施するための形態】
【0027】
本願発明に係る前記システム1は、図1に示すように、ユーザ2が入力したクエリキーワードにしたがって、メタデータサービス部5においてラベルや定義文を持つクラス及びプロパティを検索し、その結果としてクラス・プロパティ一覧(定義文などの詳細情報を含む)を、前記ユーザインターフェース3を介してユーザに返すクラス・プロパティ一覧処理部10を具備する。このクエリは単一のデータベースクエリで実現することができる。メタデータポジトリ(データベース)中では、クラス及びプロパティを表すデータ構造がラベルや定義文とリンクされている。このため、ラベルや定義文をクエリキーワードにより文字列検索することにより、クラス及びプロパティを表すデータ構造又はクラス及びプロパティの識別子を返すことができる。文字列検索を行う技術は、一般的に知られているものを利用することができる。
【0028】
また、前記システム1は、ユーザ2からクラス/プロパティを指定した詳細情報の要求があった場合、定義文などの詳細情報をユーザに開示する詳細情報開示部20を具備する。
【0029】
さらに、前記システム1は、ユーザからプロパティ選択が行われた場合、メタデータサービス部5において、指定された(上位)プロパティでクラス及びプロパティを絞り込み、絞り込まれたクラス及びプロパティ一覧(定義文など詳細情報含む)をユーザに開示するプロパティ処理部30を具備する。メタデータポジトリ(データベース)中では、クラスはプロパティとリンクされている。このため、プロパティを指定することにより、対応するクラスを表すデータ構造又はその識別子を返すことができる。これは、単一のデータベースクエリで実現することができる。返されるクラスが下位クラスを持つ場合、それらも所定のアルゴリズム(第1のアルゴリズム)で取得し返すことができる。下位クラスの取得を事前に一括的に行っておけば、上位クラスからすべての下位クラスを取得することは単一のデータベースクエリで実現することができる。指定されたプロパティが下位プロパティを有する場合、それら下位プロパティを持つクラスも所定のアルゴリズム(第2のアルゴリズム)によって取得することができる。下位プロパティの取得を事前に一括的に行っておけば、上位プロパティからすべての下位プロパティを取得することは単一のデータベースクエリで実現することができる。プロパティの絞り込みは、絞り込まれたクラスのリストにリンクされたプロパティを取得することにより実現できる。これは、絞り込まれたクラスのそれぞれに対する単一のデータベースクエリで実現することができる。
【0030】
さらにまた、前記システム1は、ユーザ2からクラス選択が行われた場合、メタデータサービス部5において、指定された(上位)クラスでクラス及びプロパティを絞り込み、絞り込まれたクラス及びプロパティ一覧(定義文などの詳細情報含む)をユーザに開示するクラス処理部40を具備する。この場合、クラスやプロパティは階層構造を有するため、上位クラスや上位プロパティを選択することにより、下位のクラス又は下位のプロパティの絞り込みを行うことができる。指定された(上位)クラスから下位クラス(0個以上)を取得するには、上記第1のアルゴリズムを用いることができる。指定された(上位)クラスからプロパティを取得するには、先ず指定された(上位)クラスから下位クラス(0個以上)を第1のアルゴリズムで取得し、それらのクラスについてプロパティを取得する。メタデータリポジトリ(データベース)中では、クラスはプロパティとリンクされているため、クラスからプロパティを取得することは、単一のデータベースクエリで実現することができる。
【0031】
また、前記システム1は、ユーザ2からクラス指定且つインスタンスデータ要求があった場合、メタデータサービス部5において、指定されたクラスと検索クエリキーワード中の数値などのプロパティ値表現からデータベースクエリを合成し、このデータベースクエリに基づいて1つ又は複数のデータベース4を検索し、検索されたインスタンスデータをユーザ2に返すインスタンスデータ処理部50を具備するものである。クエリの合成は、所定のアルゴリズム(第3のアルゴリズム)を用いることによって達成される。
【実施例】
【0032】
本願発明に係る検索インターフェースシステム1の具体的な動作について、図2に示すフローチャート100にしたがって説明する。
【0033】
ユーザ2が、検索のためにクエリキーワードAを入力する(ステップ100)と、ステップ120においてメタデータサービス部5がクエリキーワードAをラベルや定義文に持つクラス及びプロパティを検索しその結果Bをユーザ2に返す(クラス・プロパティ一覧処理部10)。このクエリは単一のデータベースクエリで実現することができる。メタデータリポジトリ(データベース)中では、クラス及びプロパティを表すデータ構造が、図6(a)〜(e)に示すように、ラベルや定義文とリンクされているため、ラベルや定義文をクエリキーワードにより文字列検索することにより、クラス及びプロパティを表すデータ構造又はクラス及びプロパティの識別子を返すことができるものである。
【0034】
ユーザ2がその結果から所定のクラス/プロパティを指定して詳細情報を要求する信号Cを発すると、ステップ130の判定においてステップ132に進み、ユーザインターフェース部3がそのクラス/プロパティに関する詳細情報(定義文などを含む)C’をユーザに返す(詳細情報開示部20)。
【0035】
ユーザ2がプロパティ選択を希望する場合には、ステップ130の判定において「N」が選択されてステップ140に進み、ここでステップ142の処理1が実行される。この処理1は、指定されたプロパティ(信号D)に基づいてクラス及びプロパティを絞り込み、その結果Eをユーザ2に返すものである(プロパティ処理部30)。メタデータリポジトリ(データベース)中では、クラスはプロパティとリンクされている(図6(a))ため、プロパティを指定することにより、対応するクラスを表すデータ構造又はその識別子を返すことができる。これは単一のデータベースクエリで実現することができる。返されるクラスが下位のクラスを持つ場合、それらも図3で示す第1のアルゴリズムで取得し返すことができる。
【0036】
図3に示す第1のアルゴリズムにおいて、指定されたクラスを取得クラスリストに追加する(ステップ202)と共に、上位クラスリストに追加する(ステップ204)。上位クラスとしてリストアップされたクラスのそれぞれについて下位クラスを下位クラスリストと取得クラスリストに追加し(ステップ206)、下位クラスリストが空になるまで、上位クラスリスト=下位クラスリストとして下位クラスを、下位クラスリストと取得クラスリストに追加し(ステップ206、208、210)、下位クラスが空になったと判定された場合(ステップ208)に、取得クラスリストをユーザに返し(ステップ212)、その作業を終了する(ステップ214)ものである。下位クラスの取得を事前に一括して行うことによって、上位クラスからすべての下位クラスを取得することが、単一のデータベースクエリで実現することができるものである。
【0037】
指定されたプロパティが下位プロパティを持つ場合には、それら下位プロパティを持つクラスも取得する。下位プロパティの取得は、図4で示すような第2のアルゴリズムで行うことができる。この第2のアルゴリズムにおいて、指定されたプロパティを取得プロパティリストに追加する(ステップ302)と共に、上位プロパティリストに追加する(ステップ304)。上位プロパティとしてリストアップされたプロパティのそれぞれについて下位プロパティを下位プロパティリストと取得プロパティリストに追加し(ステップ306)、下位プロパティリストが空になるまで、上位プロパティリスト=下位プロパティリストとして下位プロパティを、下位プロパティリストと取得プロパティリストに追加し(ステップ306、308、310)、下位プロパティが空になったと判定された場合(ステップ308)に、取得プロパティリストをユーザに返し(ステップ312)、その作業を終了する(ステップ314)ものである。下位プロパティの取得を事前に一括して行うことによって、上位プロパティからすべての下位プロパティを取得することが、単一のデータベースクエリで実現することができるものである。プロパティの絞り込みは、絞り込まれたクラスのリストにリンクされたプロパティを取得することにより実現できる。これは、絞り込まれたクラスのそれぞれに対する単一のデータベースクエリで実現することができるものである。
【0038】
ユーザ2によってクラス選択が行われた場合には、ステップ130,140を通過してステップ150の判定によってステップ152の処理2が実行される。この処理2は、指定された(上位)クラスFでクラス及びプロパティの絞り込みを行い、その結果Gをユーザ2に返すものである(クラス処理部40)。具体的には、指定された(上位)クラスからプロパティを取得する場合には、先ず指定された(上位)クラスから下位クラス(0個以上)を、図3で示される第1のアルゴリズムにおいて取得し、それらのクラスについてプロパティを取得する。メタデータリポジトリ(データベース)中では、クラスはプロパティとリンクされているため(図6)、クラスからプロパティを取得することは、単一のデータベースクエリで実現することができるものである。
【0039】
ユーザ2によってクラス選択及びインスタンスデータ要求Hが行われた場合、ステップ130〜150を通過してステップ160においてその要求が判断され、ステップ162の処理3が実行される。この処理3は、指定されたクラスと検索クエリキーワード中の数値などプロパティ値表現からデータベースクエリH’を合成し、データベース4においてデータベースクエリH”で検索を行い、その結果Jをユーザ2に返すものである(インスタンスデータ処理部50)。クエリの合成は、例えば図5で示す第3のアルゴリズム(第3のアルゴリズム)を用いて行うものである。
【0040】
第3のアルゴリズムにおいて、ステップ402では、与えられたプロパティに対して、プロパティ値を該当するデータベースのカラム値に対応づける関連テーブル(c)が与えられているか否かの判定が行われ、関連テーブル(c)が与えられている場合には、ステップ404に進んでプロパティ値を、関連テーブル(c)を用いて該当データベースのカラム値に変換し、ステップ412に進むものである。
【0041】
また、前記関連テーブル(c)が与えられてない場合には、ステップ406に進んで、このステップ406において、与えられたプロパティに対して、数値表現(数値範囲表現及び単位表現)を単位表現毎に数値範囲に変換する計算式のテーブル(d)が与えられているか否かが判定される。テーブル(d)が与えられている場合には、ステップ408に進んでプロパティ値をテーブル(d)の計算式を用いて計算し、ステップ412に進むものである。
【0042】
また、ステップ406の判定においてテーブル(d)が与えられていない場合、つまりテーブル(c)及びテーブル(d)が与えられていない場合には、ステップ410に進んでプロパティ値=与えられたプロパティ値として、ステップ412に進むものである。
【0043】
ステップ412では、与えられたクラス名とテーブル(a)(クラス名とデータベースビュー(1個以上)の関連デーブル)からデータベースビューを選択し、テーブル(b)(プロパティとデータベースビューカラムの関連テーブル)から、与えられたプロパティに対応するカラムに対して、上記で与えられたプロパティ値を指定してクエリを行うものである。その後、ステップ414において、その作業を終了する。
【0044】
このように第3のアルゴリズムにおいて合成されたクエリ(データベースクエリ)によってデータベースが検索され、その結果がユーザインターフェース部3を介してユーザ2に返されるものである。
【0045】
尚、図6(a)では、一つのクラスがプロパティに関してn1個のプロパティとリンクされていることを示しており、図6(b)では、一つのクラスが下位クラスに関してn2個にクラスとリンクしていることを示しており、図6(c)では一つのプロパティが下位プロパティに関してn3個のプロパティとリンクしており、図6(d)では、一つのクラスが定義文に関してn4個の定義文文字列とリンクしており、図6(d)では一つのプロパティが定義文に関してn5個の定義文文字列とリンクしており、図6(f)では一つのクラスがラベルに関してn6個のラベル文字列とリンクしており、図6(g)では一つのプロパティがラベルに関してn7個のラベル文字列とリンクしていることが示されているものである。
【符号の説明】
【0046】
1 検索インターフェースシステム
2 ユーザ
3 ユーザインターフェース部
4 データベース
5 メタデータサービス部
10 クラス・プロパティ一覧処理部
20 詳細情報開示部
30 プロパティ処理部
40 クラス処理部
50 インスタンスデータ処理部

【特許請求の範囲】
【請求項1】
ユーザに対応するユーザインターフェース部と、少なくとも1つのデータベースに対応するメタデータサービス部とを具備し、前記メタデータサービス部におけるメタデータサービスが、データとして、オントロジー、データベースの情報、オントロジー概念とデータベース項目のマッピングを有する検索インターフェースシステムにおいて、
ユーザが入力したクエリキーワードにしたがって、メタデータサービスにおいてラベルや定義文を持つクラス及びプロパティを検索し、その結果としてクラス及びプロパティ一覧を、前記ユーザインターフェース部を介してユーザに返すクラス及びプロパティ一覧処理手段と、
ユーザからクラス又はプロパティを指定した詳細情報の要求があった場合、定義文などの詳細情報をユーザに開示する詳細情報開示手段と、
ユーザからプロパティ選択が行われた場合、メタデータサービスにおいて、指定されたプロパティでクラス及びプロパティを絞り込み、絞り込まれたクラス及びプロパティ一覧をユーザに開示するプロパティ処理手段と、
ユーザからクラス選択が行われた場合、メタデータサービスにおいて、指定されたクラスでクラス及びプロパティを絞り込み、絞り込まれたクラス及びプロパティ一覧をユーザに開示するクラス処理手段と、
ユーザからクラス指定且つインスタンスデータ要求があった場合、メタデータサービスにおいて、指定されたクラスと検索クエリキーワード中の数値などのプロパティ値表現からデータベースクエリを合成し、このデータベースクエリに基づいて1つ又は複数のデータベースを検索し、検索されたインスタンスデータをユーザに返すインスタンスデータ処理手段とをすくなくとも具備することを特徴とする検索インターフェースシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate