(57)【要約】【課題】グラフ構造を持つ大量のデータの中から所望のサブグラフを抽出する際、より短い時間での検索を可能とする。【解決手段】所定の部分サブグラフの出現頻度を統計処理して部分サブグラフの有意、無意味の判定を行い、無意味と判定された部分サブグラフを含む共通クエリグラフパターンを削除した共通クエリグラフパターンを生成する。これにより、検索に利用する共通クエリグラフパターンが、無意味なものが削除されているために縮小しており、共通クエリグラフパターンに値を代入して検索のクエリとして利用する場合に該当候補が少なくなり、検索時間を短縮することができる。【選択図】図１
2010277332.tif 000002
【特許請求の範囲】
【請求項１】
グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置により実行される共通クエリグラフパターン生成方法であって、
ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成するステップと、
前記検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得するステップと、
前記グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定するステップと、
取得した前記検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とし、有意性が低いと判定された前記部分サブグラフを含まない共通クエリグラフパターンを生成するステップと、
前記共通クエリグラフパターンを共通クエリグラフパターン蓄積手段に格納するステップと、
を有することを特徴とする共通クエリグラフパターン生成方法。
【請求項２】
グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置により実行される共通クエリグラフパターン生成方法であって、
ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成するステップと、
前記検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得するステップと、
取得した前記検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とした共通クエリグラフパターンを生成するステップと、
前記共通クエリグラフパターンを共通クエリグラフパターン蓄積手段に格納するステップと、
前記グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定するステップと、
有意性が低いと判定された前記部分サブグラフを含む共通クエリグラフパターンを前記共通クエリグラフパターン蓄積手段から削除するステップと、
を有することを特徴とする共通クエリグラフパターン生成方法。
【請求項３】
グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置であって、
共通クエリグラフパターンを蓄積する共通クエリグラフパターン蓄積手段と、
ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
前記検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
前記グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定する統計処理手段と、
取得した前記検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とし、有意性が低いと判定された前記部分サブグラフを含まない共通クエリグラフパターンを生成して前記共通クエリグラフパターン蓄積手段に格納する共通クエリグラフパターン生成手段と、
を有することを特徴とする共通クエリグラフパターン生成装置。
【請求項４】
グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置であって、
共通クエリグラフパターンを蓄積する共通クエリグラフパターン蓄積手段と、
ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、
前記検索クエリグラフパターンにマッチする検索サブグラフを前記グラフ構造データベースから取得する検索サブグラフ取得手段と、
取得した前記検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とした共通クエリグラフパターンを生成して前記共通クエリグラフパターン蓄積手段に格納する共通クエリグラフパターン生成手段と、
前記グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定する統計処理手段と、
有意性が低いと判定された前記部分サブグラフを含む共通クエリグラフパターンを前記共通クエリグラフパターン蓄積手段から削除する共通クエリグラフパターン削除手段と、
を有することを特徴とする共通クエリグラフパターン生成装置。
【請求項５】
請求項１又は２に記載した共通クエリグラフパターン生成方法における各ステップをコンピュータに実行させるための共通クエリグラフパターン生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、膨大なデータの中からユーザが必要とする情報を検索するために用いる共通クエリグラフパターンを生成する技術に関する。
【背景技術】
【０００２】
近年、コンピュータネットワーク上に存在する大量のデータの中から利用者が必要とする情報を簡易に入手する技術が注目を集めている。精度の高い検索を行うために用いられる技術にセマンティックＷｅｂがある。セマンティックＷｅｂは、Ｗｅｂサイト上にメタデータとしてセマンティクス（意味情報）を付与し、人の手を使わずにデータを機械的に処理できる空間を創出するものである。セマンティックＷｅｂに関連した取り組みにおいては、さまざまな人や組織によってインターネット上に提供された、Ｒｅｃｏｕｒｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ（ＲＤＦ）を用いて表現可能なグラフ構造のデータからグラフパターンのマッチングによって必要な情報を検索する技術が必要とされている。
【０００３】
グラフ構造を持つ大量のデータの中から所望のサブグラフを抽出する場合、予め抽出したいサブグラフの構造が分かっていなければならなかった。そこで、特許文献１は、ユーザにより入力された情報または予め設定された情報に関連し、且つ、共通の意味合いの構造を持つ情報を取得することができるクエリグラフパターンを自動的に生成する技術を提案した。特許文献１の技術は、グラフ構造を持つデータの２点以上のノードを結ぶ共通の構造を抽出して共通クエリグラフパターンを生成し、共通クエリグラフパターンのノードに値を代入して検索を行うものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１３５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、生成した共通クエリグラフパターンに有意でない構造やあまりにも当たり前の構造が含まれていることが多く、共通クエリグラフパターンが巨大化するために検索時に余計な時間がかかるという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであり、その目的とするところは、グラフ構造を持つ大量のデータの中から所望のサブグラフを抽出する際、より短い時間での検索を可能とすることにある。
【課題を解決するための手段】
【０００７】
第１の本発明に係る共通クエリグラフパターン生成方法は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置により実行される共通クエリグラフパターン生成方法であって、ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成するステップと、検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得するステップと、グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定するステップと、取得した検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とし、有意性が低いと判定された部分サブグラフを含まない共通クエリグラフパターンを生成するステップと、共通クエリグラフパターンを共通クエリグラフパターン蓄積手段に格納するステップと、を有することを特徴とする。
【０００８】
第２の本発明に係る共通クエリグラフパターン生成方法は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置により実行される共通クエリグラフパターン生成方法であって、ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成するステップと、検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得するステップと、取得した検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とした共通クエリグラフパターンを生成するステップと、共通クエリグラフパターンを共通クエリグラフパターン蓄積手段に格納するステップと、グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定するステップと、有意性が低いと判定された部分サブグラフを含む共通クエリグラフパターンを共通クエリグラフパターン蓄積手段から削除するステップと、を有することを特徴とする。
【０００９】
第３の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置であって、共通クエリグラフパターンを蓄積する共通クエリグラフパターン蓄積手段と、ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得する検索サブグラフ取得手段と、グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定する統計処理手段と、取得した検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とし、有意性が低いと判定された部分サブグラフを含まない共通クエリグラフパターンを生成して共通クエリグラフパターン蓄積手段に格納する共通クエリグラフパターン生成手段と、を有することを特徴とする。
【００１０】
第４の本発明に係る共通クエリグラフパターン生成装置は、グラフ構造を持つデータが格納されているグラフ構造データベースに接続される共通クエリグラフパターン生成装置であって、共通クエリグラフパターンを蓄積する共通クエリグラフパターン蓄積手段と、ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成する検索クエリグラフパターン生成手段と、検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベースから取得する検索サブグラフ取得手段と、取得した検索サブグラフからグラフの構造およびこのグラフ中のプロパティ名が一致するものを抽出し、任意のノード名を変数とした共通クエリグラフパターンを生成して共通クエリグラフパターン蓄積手段に格納する共通クエリグラフパターン生成手段と、グラフ構造データベースにおける所定の部分サブグラフの出現頻度を統計処理することにより、当該部分サブグラフの有意性を判定する統計処理手段と、有意性が低いと判定された部分サブグラフを含む共通クエリグラフパターンを共通クエリグラフパターン蓄積手段から削除する共通クエリグラフパターン削除手段と、を有することを特徴とする。
【００１１】
第５の本発明に係る共通クエリグラフパターン生成プログラムは、上記共通クエリグラフパターン生成方法における各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、グラフ構造を持つ大量のデータの中から所望のサブグラフを抽出する際、より短い時間での検索が可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態における検索装置を用いた検索システムの構成を示すブロック図である。
【図２】グラフ構造データベース内のデータを示す図である。
【図３】上記検索システムの動作を示すシーケンス図である。
【図４】検索システムの入力ＧＵＩを示す図である。
【図５】図２のデータについて、入力されたキーワードにつながるプロパティを太線で示した図である。
【図６】検索クエリグラフパターンを示す説明図である。
【図７】図６に示す検索クエリグラフパターンにマッチした検索サブグラフを示す図である。
【図８】グラフ構造データベース内の別のデータを示す図である。
【図９】部分サブグラフの例を示す図である。
【図１０】別の部分サブグラフの例を示す図である。
【図１１】上記各部分サブグラフの統計結果を示すグラフである。
【図１２】図７に示す検索サブグラフにおいて共通する構造およびプロパティを太線で示した図である。
【図１３】生成された共通クエリグラフパターンを示す図である。
【図１４】共通クエリグラフパターンから無意味な部分サブグラフを含む共通クエリグラフパターンを削除する様子を説明するための説明図である。
【図１５】図１３に示す共通クエリグラフパターンに値を代入した様子を示す図である。
【図１６】図１５に示すクエリにより取得された共通サブグラフの例を示す図である。
【図１７】表形式で結果を表示する出力用ＧＵＩの様子を示す図である。
【図１８】上記検索システムの別の動作を示すシーケンス図である。
【図１９】上記検索システムのさらに別の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を用いて説明する。
【００１５】
図１は、本実施の形態における検索装置を用いた検索システムの構成を示すブロック図である。同図に示す検索システム１は、検索装置１０、ユーザ端末２０、グラフ構造データベース３０、およびオントロジデータベース４０を有する。検索装置１０は、ユーザ端末２０、グラフ構造データベース３０、およびオントロジデータベース４０にアクセス可能な状態で接続される。
【００１６】
検索装置１０は、入力用ＧＵＩ生成部１１、共通クエリグラフパターン生成部１２、共通クエリグラフパターン蓄積部１３、統計処理部１４、および出力用ＧＵＩ生成部１５を備える。なお、検索装置１０は、演算処理装置、記憶装置、メモリ等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは検索装置１０が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、各部について説明する。
【００１７】
入力用ＧＵＩ生成部１１は、ユーザに検索内容の情報を入力させるための入力用ＧＵＩを生成してユーザ端末２０へ送信し、ユーザ端末２０からユーザが入力した情報を受信する。
【００１８】
共通クエリグラフパターン生成部１２は、ユーザが入力した情報または予め設定された情報に制約される２点以上のノード間に存在するパスを検索するための検索クエリグラフパターンを生成し、検索クエリグラフパターンにマッチする検索サブグラフをグラフ構造データベース３０から取得し、取得した検索サブグラフの中でグラフの構造とグラフ中のプロパティが一致するものが複数存在する場合、共通する構造とプロパティ以外のノード名を変数とした共通クエリグラフパターンを生成する。共通クエリグラフパターンを生成する際に、グラフ構造データベース３０における所定の部分サブグラフの出現頻度を統計処理することにより部分サブグラフの有意性を判定し、有意性が低いと判定した部分サブグラフを含む共通クエリグラフパターンを削除する。
【００１９】
共通クエリグラフパターン蓄積部１３は、共通クエリグラフパターン生成部１２が生成した共通クエリグラフパターンを蓄積する。共通クエリグラフパターン蓄積部１３に蓄積された共通クエリグラフパターンに値を代入してグラフ構造データベース３０にアクセスすることで検索を行う。
【００２０】
統計処理部１４は、上記部分サブグラフの出現頻度を統計処理して有意性を判定する。部分サブグラフの有意性の判定については後述する。
【００２１】
出力用ＧＵＩ生成部１５は、ユーザに検索結果を提示するための出力用ＧＵＩを生成する。
【００２２】
グラフ構造データベース３０は、図２に示すようなグラフ構造を持つデータが格納されている。本実施の形態におけるグラフ構造データは、ラベル付き有向グラフデータであり、データのアーク（ノード間を結ぶ矢印）をＲＤＦの仕様に基づいてプロパティと称する。
【００２３】
オントロジデータベース４０には、言葉の意味や分類体系を定義するためのオントロジデータが格納されている。
【００２４】
次に、検索システム１の動作について図を用いて説明する。図３は、検索システム１の動作の流れを示すシーケンス図である。
【００２５】
まず、入力用ＧＵＩ生成部１１において入力用ＧＵＩが生成され（ステップＳ１１）、生成された入力用ＧＵＩがユーザ端末２０に表示されて、ユーザによりキーワードの入力および概念の選択が行われる（ステップＳ１２）。本実施の形態において生成される入力用ＧＵＩには、図４に示すように、キーワードを入力するスペースと、概念（クラス）を選択する欄が設けられる。図４に示す例では、キーワードとして「セマンティックＷｅｂ」が入力され、クラスとして「ｐｅｒｓｏｎ：人」が選択された。入力されたキーワードおよび選択された概念のデータは、共通クエリグラフパターン生成部１２へ出力される。
【００２６】
共通クエリグラフパターン生成部１２では、キーワードを基にグラフ構造データベース３０にアクセスが行われる（ステップＳ１３）。具体的には、キーワードにつながるプロパティやクラスを探索するクエリを生成し、グラフ構造データベース３０へアクセスする。
【００２７】
そして、グラフ構造データベース３０において、キーワードにつながるプロパティが抽出される（ステップＳ１４）。図５に、抽出されたプロパティのアークを太線で示し、そのプロパティ名に下線を引いたグラフ構造データの例を示す。
【００２８】
そして、共通クエリグラフパターン生成部１２は、グラフの両端のノードに関する制約条件に合致した検索クエリグラフパターンを生成する（ステップＳ１５）。つまり、抽出されたプロパティとユーザにより選択されたクラスとの間にあるパスをグラフ構造データベース３０から抽出することが可能な検索クエリグラフパターンを生成する。
【００２９】
図６は、生成された検索クエリグラフパターンを示す図である。同図では、ステップＳ１４で抽出されたプロパティ「ｒｍ：キーワード」「ｍｓ：用語」と、ユーザにより選択されたクラス「Ｐｅｒｓｏｎ：人」にプロパティ「ｒｄｆ：ｔｙｐｅ」でつながるノード「？Ｐｅｒｓｏｎ」が固定された２種類の検索クエリグラフパターンを示す。同図において、名称の先頭に「？」マークが記載されているノードは、任意の値が入る変数であることを示す。
【００３０】
続いて、共通クエリグラフパターン生成部１２は、生成された検索クエリグラフパターンを基に、グラフ構造データベース３０へアクセスし（ステップＳ１６）、グラフ構造データベース３０は、条件に合致する検索サブグラフ（変数ノード「？ｋｅｙｗｏｒｄ」と変数ノード「？Ｐｅｒｓｏｎ」との間にパスが存在するサブグラフ）を抽出する（ステップＳ１７）。
【００３１】
図７は、グラフ構造データベース３０から抽出された検索サブグラフの例を示す図である。同図に示す検索サブグラフでは、変数ノード「？ｋｅｙｗｏｒｄ」としてノード「セマンティックＷｅｂ」がマッチした検索サブグラフを示す。変数ノード「？Ｐｅｒｓｏｎ」の値が同一のデータについては同一ノードを１つのみ示す。図７では、変数ノード「？Ｐｅｒｓｏｎ」が（１）「Ｐｅｒｓｏｎ：山田太郎」、（２）「Ｐｅｒｓｏｎ：田中一郎」、（３）「Ｐｅｒｓｏｎ：鈴木花子」の３種類の検索サブグラフを示す。また、共通クエリグラフパターンの生成については、図２中に示す他のキーワード「ＸＭＬ」も同様に処理を行う。
【００３２】
この後、オントロジ処理を含む共通クエリグラフパターンの生成処理を行うが、本発明では、共通クエリグラフパターンから無意味なものを削除した共通クエリグラフパターンを生成する。共通クエリグラフパターンが無意味であるか否かは、所定の部分サブグラフの出現頻度を統計処理することにより、部分サブグラフの有意性を判定し、共通クエリグラフパターンが有意性の低い部分サブグラフを含むか否かにより判断する。
【００３３】
具体的に説明すると、例えば、図８に示すグラフ構造データがグラフ構造データベース３０に格納されていたとする。図８では、人とグループおよび会社がプロパティ「Ｐｅｒｓｏｎ：所属」でつながっている。ここで、図９，１０に示す各部分サブグラフの出現頻度をグラフ構造データベース３０から取得する。図１１に、各部分サブグラフ（グループと会社）の出現頻度を基にして、横軸に所属者数、縦軸に組織数を求めたグラフを示す。同図に示すグラフでは、それぞれのグループに対しては少数の人が結びついているのに対し、それぞれの会社に対しては多数の人が結びついている。ここでは、人とグループとの結びつきは関係性を示すデータとして有意であるが、人と会社との結びつきは関係性を示すデータとして無意味であると考えられるので、閾値ａを基準として閾値ａより所属者数が少ないものを有意であり、多いものを無意味と判定する。その結果、図１０に示す部分サブグラフを有する共通クエリグラフパターンは生成しない。
【００３４】
図３において、共通クエリグラフパターン生成部１２が統計処理部１４に所定の部分サブグラフの統計処理を指示すると（ステップＳ１８）、統計処理部１４は、所定の部分サブグラフの出現頻度・分散を算出する（ステップＳ１９）。部分サブグラフの出現頻度は、グラフ構造データベース３０から取得する（ステップＳ２０）。部分サブグラフの出現頻度を統計処理した結果、所定の条件を満たす部分サブグラフを削除すべき部分サブグラフとして抽出する。
【００３５】
また、共通クエリグラフパターン生成部１２は、検索サブグラフに含まれるプロパティを基に、オントロジデータベース４０にアクセスし（ステップＳ２１）、プロパティの中に同じ意味に分類されているものを抽出する（ステップＳ２２）。図７に示した検索サブグラフにおいては、「キーワード」と「用語」とが同じ意味に分類されているものとする。
【００３６】
続いて、各検索サブグラフにおいてそれぞれのグラフ構造中のプロパティの組み合わせの中で他の検索サブグラフに出現するものを部分検索サブグラフとして抽出する（ステップＳ２３）。このとき、ステップＳ２２で抽出された単語は同一と見なされる。図１２は、図７の検索サブグラフから抽出した部分検索サブグラフであり、プロパティを太線で示した。図１２において、「ｍｓ：用語」と「ｒｍ：キーワード」は同一と見なされる。
【００３７】
そして、共通クエリグラフパターン生成部１２は、ステップＳ１９で抽出した削除すべき部分サブグラフを含まず、部分検索サブグラフにおいて共通した構造を有し、プロパティ以外のノードを変数ノードとした共通クエリグラフパターンを生成する（ステップＳ２４）。生成した共通クエリグラフパターンは共通クエリグラフパターン蓄積部１３に蓄積される（ステップＳ２５）。図１３に生成した共通クエリグラフパターンの例を示す。
【００３８】
ここでは、削除する共通クエリグラフパターンについての具体的な例を示さなかったが、図１４に示すように、部分検索サブグラフにおいて共通した構造を有し、プロパティ以外のノードを変数ノードとした全共通クエリグラフパターン（図１４左枠）から無意味な部分サブグラフを含むものを削除した共通クエリグラフパターン（図１４右枠）だけを蓄積する。これにより、有意でない構造やあまりにも当たり前の構造を含む共通クエリグラフパターンが削除される。
【００３９】
続いて、検索について説明する。検索は、共通クエリグラフパターンを利用して行うが、無意味な共通クエリグラフパターンが削除されているため、共通クエリグラフパターンを検索のクエリとして利用する場合にも該当候補が少なくなり検索時間が短縮される。
【００４０】
共通クエリグラフパターンの変数ノード「？ｋｅｙｗｏｒｄ」にユーザにより入力されたキーワード「セマンティックＷｅｂ」を代入し、グラフ構造データベース３０にアクセスし（ステップＳ２６）、グラフ構造データベース３０においてこのクエリにマッチする共通サブグラフを抽出する（ステップＳ２７）。図１５は、図１３に示した共通クエリグラフパターンにキーワード「セマンティックＷｅｂ」を代入した様子を示す図である。
【００４１】
そして、抽出された共通サブグラフをマージする（ステップＳ２８）。図１６に２つの共通サブグラフがマージされた様子を示す。同図では、同一のノードを１つのノードとして表すように２つの共通サブグラフがマージされている。
【００４２】
そして、出力用ＧＵＩ生成部１５は、マージされた共通サブグラフを用いて出力用ＧＵＩを生成し（ステップＳ２９）、ユーザ端末２０により表示する（ステップＳ３０）。図１７に、生成した表形式の出力用ＧＵＩの例を示す。
【００４３】
次に、検索システムの別の動作の流れについて説明する。図１８は、共通クエリグラフパターンの生成の別の例を示すシーケンス図である。図３におけるステップＳ１７までの処理、および、図３におけるステップＳ２６以降の処理は図３と同様であるので図１８では省略している。図１８で示す動作は、オントロジ処理を含む共通クエリグラフパターンの生成処理をした後、生成した共通クエリグラフパターンを共通クエリグラフパターン蓄積部１３に蓄積する際に、無意味な共通クエリグラフパターンを除いたものだけを蓄積する点で図３のものと異なる。
【００４４】
検索サブグラフが抽出されると、検索サブグラフに含まれるプロパティを基に、オントロジデータベース４０にアクセスし（ステップＳ３１）、プロパティの中に同じ意味に分類されているものを抽出し（ステップＳ３２）、各検索サブグラフにおいてそれぞれのグラフ構造中のプロパティの組み合わせの中で他の検索サブグラフに出現するものを部分検索サブグラフとして抽出する（ステップＳ３３）。
【００４５】
ここで、共通クエリグラフパターン生成部１２が統計処理部１４に所定の部分サブグラフの統計処理を指示すると（ステップＳ３４）、統計処理部１４は、所定の部分サブグラフの出現頻度・分散を算出する（ステップＳ３５）。部分サブグラフの出現頻度は、グラフ構造データベース３０から取得する（ステップＳ３６）。部分サブグラフの出現頻度を統計処理した結果、所定の条件を満たす部分サブグラフを削除すべき部分サブグラフとして抽出する。
【００４６】
共通クエリグラフパターン生成部１２は、部分検索サブグラフにおいて共通した構造を有し、プロパティ以外のノードを変数ノードとした共通クエリグラフパターンを生成する（ステップＳ３７）。そして、ステップＳ３５で抽出した削除すべき部分サブグラフを含む共通クエリグラフパターンを除いた共通クエリグラフパターンを共通クエリグラフパターン蓄積部１３に蓄積する（ステップＳ３８）。
【００４７】
次に、検索システムのさらに別の動作の流れについて説明する。図１９は、共通クエリグラフパターンの生成のさらに別の例を示すシーケンス図である。図３におけるステップＳ１７までの処理、および、図３におけるステップＳ２６以降の処理は図３と同様であるので図１９では省略している。図１９で示す動作は、オントロジ処理を含む共通クエリグラフパターンの生成処理をし、生成した共通クエリグラフパターンを共通クエリグラフパターン蓄積部１３に蓄積するまでは、従来のものと同様であるが、その後、無意味な共通クエリグラフパターンを共通クエリグラフパターン蓄積部１３から削除する点で異なる。
【００４８】
検索サブグラフが抽出されると、検索サブグラフに含まれるプロパティを基に、オントロジデータベース４０にアクセスし（ステップＳ４１）、プロパティの中に同じ意味に分類されているものを抽出し（ステップＳ４２）、各検索サブグラフにおいてそれぞれのグラフ構造中のプロパティの組み合わせの中で他の検索サブグラフに出現するものを部分検索サブグラフとして抽出する（ステップＳ４３）。
【００４９】
共通クエリグラフパターン生成部１２は、部分検索サブグラフにおいて共通した構造を有し、プロパティ以外のノードを変数ノードとした共通クエリグラフパターンを生成する（ステップＳ４４）。そして、共通クエリグラフパターンを共通クエリグラフパターン蓄積部１３に蓄積する（ステップＳ４５）。
【００５０】
その後、共通クエリグラフパターン生成部１２が統計処理部１４に所定の部分サブグラフの統計処理を指示すると（ステップＳ４６）、統計処理部１４は、所定の部分サブグラフの出現頻度・分散を算出する（ステップＳ４７）。部分サブグラフの出現頻度は、グラフ構造データベース３０から取得する（ステップＳ４８）。部分サブグラフの出現頻度を統計処理した結果、所定の条件を満たす部分サブグラフを削除すべき部分サブグラフとして抽出する。
【００５１】
そして、削除すべき部分サブグラフを含む共通クエリグラフパターンを共通クエリグラフパターン蓄積部１３から削除する（ステップＳ４９，Ｓ５０）。
【００５２】
以上説明したように、本実施の形態によれば、所定の部分サブグラフの出現頻度を統計処理して部分サブグラフの有意、無意味の判定を行い、無意味と判定された部分サブグラフを含む共通クエリグラフパターンを削除した共通クエリグラフパターンを生成することにより、検索に利用する共通クエリグラフパターンが、無意味なものが削除されているために縮小しており、共通クエリグラフパターンに値を代入して検索のクエリとして利用する場合に該当候補が少なくなり、検索時間を短縮することができる。
【符号の説明】
【００５３】
１…検索システム
１０…検索装置
１１…生成部
１２…共通クエリグラフパターン生成部
１３…共通クエリグラフパターン蓄積部
１４…統計処理部
１５…生成部
２０…ユーザ端末
３０…グラフ構造データベース
４０…オントロジデータベース
【図１】
2010277332.tif 000003
【図２】
2010277332.tif 000004
【図３】
2010277332.tif 000005
【図４】
2010277332.tif 000006
【図５】
2010277332.tif 000007
【図６】
2010277332.tif 000008
【図７】
2010277332.tif 000009
【図８】
2010277332.tif 000010
【図９】
2010277332.tif 000011
【図１０】
2010277332.tif 000012
【図１１】
2010277332.tif 000013
【図１２】
2010277332.tif 000014
【図１３】
2010277332.tif 000015
【図１４】
2010277332.tif 000016
【図１５】
2010277332.tif 000017
【図１６】
2010277332.tif 000018
【図１７】
2010277332.tif 000019
【図１８】
2010277332.tif 000020
【図１９】
2010277332.tif 000021