JP2013145508A - グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法 - Google Patents

グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法 Download PDF

Info

Publication number
JP2013145508A
JP2013145508A JP2012006213A JP2012006213A JP2013145508A JP 2013145508 A JP2013145508 A JP 2013145508A JP 2012006213 A JP2012006213 A JP 2012006213A JP 2012006213 A JP2012006213 A JP 2012006213A JP 2013145508 A JP2013145508 A JP 2013145508A
Authority
JP
Japan
Prior art keywords
graph
graph pattern
pattern
clustering
feature vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012006213A
Other languages
English (en)
Inventor
Kyoshi Iizuka
京士 飯塚
Takahiko Murayama
隆彦 村山
Toru Kobayashi
透 小林
Junichi Akahani
淳一 赤埴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012006213A priority Critical patent/JP2013145508A/ja
Publication of JP2013145508A publication Critical patent/JP2013145508A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】セマンティクスが類似するグラフパターンの排除を容易にするとともに、グラフパターン代表元の抽出精度が向上することを課題とする。
【解決手段】グラフパターンマッチング装置10は、ユーザ端末20からグラフパターン代表元の抽出範囲の指定として、始点ノードと終点ノードの指定を受け付け、該指定された抽出範囲に基づいてグラフパターンDB12からグラフパターンを抽出し、該グラフパターンから作成したクエリを用いてグラフDB11を検索し、該検索の結果から指定された抽出範囲にマッチするグラフ構造データの分布状況を示す特徴ベクトルを作成する。そして、グラフパターンマッチング装置10は、作成された特徴ベクトルを用いて、グラフパターンのクラスタリングを実行し、実行されたクラスタリング結果からグラフパターン代表元を抽出する。
【選択図】 図1

Description

本発明は、グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法に関する。
近年、セマンティックWeb技術が注目されている(非特許文献1参照)。セマンティックWeb技術は、Webページ上にあるデータに対して、データが持つ意味(セマンティック)を付与することにより、人を仲立ちとすることなく、コンピュータ同士での機械的な処理を可能とする技術である。
具体的には、セマンティックWeb技術では、Web上にあるデータの意味をコンピュータが解釈可能な状態とする為に、Web上にあるデータに対して、RDF(Resource Description Framework)を用いて記述されたメタデータが付与される。メタデータを記述するために用いるRDFは、リソースを主語とし、プロパティを述語、プロパティの値を目的語とする3つの要素を用いたモデルで表現することができ、例えば、主語(リソース)に対応するノードと目的語(プロパティの値)に対応するノードとを、述語(プロパティ)に対応する矢印(アーク)で結んだ有向ラベル付きグラフとして表現される。
そして、目的語が主語となる場合には、さらに、この目的語を主語とするノードから、矢印およびノードが連鎖する連鎖型のグラフ構造のモデルが構築される。よって、例えば、各Webに、RDFを用いて記述されたメタデータを公開することにより、複数のWebを連鎖型のグラフ構造で表現することができ、Web間の関係を遡ることが可能となる。このようにして、セマンティックWeb技術では、インターネット上に散在する複数のデータソースを相互に関連付けることで、複数のデータソースから、より高度で精度の高いデータ検索の実現を図る。
例えば、RDFを用いたグラフ構造のデータに対して、SPARQL(SPARQL Protocol and RDF Query Language)などのRDFクエリ言語を用いて、ARQ(A SPARQL Processor for Jena)などのクエリエンジンによるグラフパターンのマッチング処理を実行することにより、必要な情報を検索する技術がある(非特許文献2参照)。
また、RDFを用いたグラフ構造のデータの中から情報を検索する際、ユーザにより入力されたキーワードを含むノードおよびそのノードと同じラベルを持つアークにつながるノードのそれぞれと、ユーザにより指定された概念のインスタンスとして存在するノードとの間にある共通の構造を検索するための検索クエリグラフパターンを生成し、この検索クエリグラフパターンに基づいて抽出されたサブグラフの構造から、さらに共通のグラフ構造を有する共通クエリグラフパターンを自動的に生成する技術などもある(特許文献1参照)。
また、RDFなどのグラフ構造データから、頻出なグラフパターンを抽出して、クエリとして利用する技術が知られている(非特許文献3参照)。また、RDFなどのグラフ構造データを検索するグラフパターンを分類する技術として、特定のアルゴリズムを使用し、グラフパターン内の特定の2つのノードの取りうる値からグラフパターンを類似セマンティクスに分類することで、グラフパターンの選択を容易にする技術が知られている(特許文献2参照)。
特開2006−313501号公報 特開2011−039838号公報
「SPARQL Query Language for RDF」、[Online]、[平成23年11月24日検索]、インターネット(URL:http://www.w3.org/TR/rdf-sparql-query/) 「ARQ-A SPARQL Processor for Jena」、[Online]、[平成23年11月24日検索]、インターネット(URL:http://jena.sourceforge.net/ARQ/) 「Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching」、[WWW2005 Workshop, Activities on Semantic Web Technologies in Japan, 2005]
しかしながら、上記したRDFなどのグラフ構造データから頻出なグラフパターンを抽出する技術では、グラフパターンのセマンティクスを考慮していないため、セマンティクスが類似するグラフパターンを排除できないという課題があった。つまり、セマンティクスが類似するグラフパターンは、出現頻度も類似する傾向があるため、頻出なグラフパターンを抽出すると、セマンティクスが類似するグラフパターンが多数抽出されてしまう結果、セマンティクスが類似するグラフパターンを排除できない。
また、グラフパターンを類似セマンティクスに分類する技術では、特定のアルゴリズムの使用を前提としており、アルゴリズムの切り替えができず、データの偏りなどが原因で適切な精度が得られない場合があるという課題があった。例えば、グラフパターンがほとんど1つのクラスタに分類されてしまい、適切に分類できない事態が生じることがある。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、セマンティクスが類似するグラフパターンの排除を容易にするとともに、グラフパターン代表元の抽出精度が向上することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、ユーザ端末から受信した検索条件に応じて、ノード間をエッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムであって、前記グラフパターンマッチング装置は、前記グラフ構造データを記憶するグラフデータ記憶部と、前記グラフ構造データを検索するクエリとして用いられる事前に作成されたグラフパターンであって、該グラフパターンに含まれるノードのうち特定の2つのノードを始点ノードと終点ノードとして定めたグラフパターンを記憶するグラフパターン記憶部と、前記ユーザ端末からグラフパターン代表元の抽出範囲の指定として、始点ノードと終点ノードの指定を受け付け、該指定された抽出範囲に基づいて前記グラフパターン記憶部からグラフパターンを抽出し、該グラフパターンから作成したクエリを用いて前記グラフデータ記憶部を検索し、該検索の結果から前記指定された抽出範囲にマッチするグラフ構造データの分布状況を示す特徴ベクトルを作成する特徴ベクトル作成部と、前記特徴ベクトル作成部によって作成された特徴ベクトルを用いて、前記グラフパターンのクラスタリングを実行するクラスタリング実行部と、前記クラスタリング実行部によって実行されたクラスタリング結果からグラフパターン代表元を抽出するグラフパターン代表元抽出部と、を有することを特徴とする。
本発明によれば、セマンティクスが類似するグラフパターンの排除を容易にするとともに、グラフパターン代表元の抽出精度を向上させることができる。
図1は、実施例1に係るグラフパターンマッチングシステムの構成を示すブロック図である。 図2は、グラフデータの一部を例示した図である。 図3は、RDF/XML形式のデータ、その元データおよびこの形式のデータによるサブグラフを例示した図である。 図4は、パターンをグラフ化して例示した図である。 図5は、リソースのサンプリング処理を説明する図である。 図6は、リソース対リストの例を示す図である。 図7は、クエリリストの例を示す図である。 図8は、特徴ベクトルを用いてクラスタリングを行った結果を示す図である。 図9は、代表元となるグラフパターンを抽出した結果を示す図である。 図10は、カバー率とユニークカバー率を算出した結果を示す図である。 図11は、代表元抽出処理の流れを示す図である。 図12は、実施例1の処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
以下に、図面を参照しつつ、本願にかかるグラフパターンマッチングシステムおよび代表グラフパターン抽出方法の実施例を説明する。後述する各実施例は一実施形態にすぎず、本願にかかるグラフパターンマッチングシステムおよびグラフパターン代表元抽出方法の実施形態を限定するものではない。また、後述する各実施例は処理内容に矛盾を生じさせない範囲で適宜組み合わせることもできる。
[情報提示システムの構成(実施例1)]
図1は、実施例1に係るグラフパターンマッチングシステムの構成を示す機能ブロック図である。実施例1に係るグラフパターンマッチングシステムは、例えば、ユーザからの検索要求に応じたデータ検索サービスを提供する。
図1に示すように、実施例1に係るグラフパターンマッチングシステムは、グラフパターンマッチング装置10およびユーザ端末20を含んで1つのシステムを構成する。
ユーザ端末20は、グラフパターンマッチング装置10を利用するユーザにより操作される端末である。ユーザ端末20は、入力用UI(User Interface)を介して、ユーザからグラフパターンの代表元を抽出する範囲を指定するパラメータ(始点クラス、終点クラス、リソースサンプリングパラメータ)の入力を受け付けると、グラフパターンマッチング装置10に送信する。また、ユーザ端末20は、グラフパターンマッチング装置10からグラフ代表元を受信すると、出力用UIを介して検索結果を表示出力して、ユーザに提供する。
また、ユーザ端末20は、入力用UIを介して、ユーザから検索条件(キーワードや終点クラス)の入力を受け付けると、グラフパターンマッチング装置10に送信する。また、ユーザ端末20は、グラフパターンマッチング装置10から検索結果を受信すると、出力用UIを介して検索結果を表示出力して、ユーザに提供する。
グラフパターンマッチング装置10は、グラフDB(Date Base)11、グラフパターンDB12、特徴ベクトル作成部13、クラスタリング実行部14およびグラフパターン代表元抽出部15を有する。
グラフDB11は、インスタンスをもつノード間がアークによって接続されたグラフを記憶する。ここで、図2を用いて、グラフDB11に記憶されたグラフについて説明する。図2は、グラフデータの一部を例示した図である。
グラフDB11に記憶されたデータ群を全て使って、図2に一部を例示したグラフデータ、つまり互いに異なるインスタンスをもつノード間がラベルをもつアークによって接続され且つ当該インスタンスのクラスが定義されたグラフデータを表示することができる。逆にいえば、グラフデータを表示するための過不足ないデータ群がグラフDB11に記憶されている。以下、そのデータ群を便宜的にグラフデータという。また、ラベルとは、アークの種類を識別する識別子であり、クラスとは、各インスタンスが属する概念を示すノードであり、インスタンスとは、クラス以外の個々の事物を示すノードである。
グラフでは、例えば、「テーマ001」や「山本幸子」などのインスタンスをもつノードが、「theme:担当者」などのラベルをもつアークで接続される。また、グラフでは、ノードにそのインスタンス「テーマ001」などの概念であるクラス「テーマ」などが定義される。
図3に示すように、「論文F」で示され、その元データの著者が山田太郎であり、題名が「B技術入門」であり、キーワードがB技術である、元データは、グラフDB11では、RDF/XML形式のデータとなって、グラフDB11に記憶され、これがグラフのサブグラフをなす。「RDFのグラフ表現」と題されたものは、このサブグラフをグラフィカルに表現したものである。
図1の説明に戻って、グラフパターンDB12は、グラフ構造データを検索するクエリとして用いられる事前に作成されたグラフパターンであって、該グラフパターンに含まれるノードのうち特定の2つのノードを始点ノードと終点ノードとして定めたグラフパターンを記憶する。グラフパターンとは、エッジのラベルが固定値の固定エッジ、エッジのラベルが任意の値を取りうる変数エッジ、ノードのラベルが固定値のインスタンス、ノードのラベルが任意の値を取りうる変数ノードで構成され、変数ノードのうち特定の2点を、始点ノードと終点ノードを定めておくグラフである。また、始点ノードのクラスを始点クラス、終点ノードのクラスを終点クラスと呼ぶ。
ここで、図4を用いて、グラフパターンDB12が記憶するグラフパターンについて説明する。図4は、パターンをグラフ化して例示した図である。図4の例では、グラフパターンDB12に記憶されたグラフパターンのうちの4パターンを例示している。図4に示すように、ラベル「?keyword」の変数ノードが始点ノードであり、ラベル「?target」の変数ノードが終点ノードである。また、図4に示すgp1、gp2、gp3、gp4の始点クラスは、「theme:テーマ」で、終点クラスは「org:組織」となる。
また、グラフパターンは、グラフパターンDB12に記憶されるデータ群(グラフ)の一部をなすデータ群と同様なものであり、それを図4のようにグラフ化できるので、便宜的にはグラフと言えるが、グラフパターンは表示するものではなく、表示されるグラフの検索に使用されるものである。なお、データ群である実際のパターンを逐一説明するのは冗長なのでグラフ化されたパターンで便宜的に説明する。
一般的にパターンでは、ノードやアークの一部はインスタンスやラベルをもち、残りはそれらをもたない。そして、インスタンスやラベルをもたないノードやアークには変数が設定される。変数は、図4に示すように、「?」とそれに後続する単語からなる。
このようなパターンによって、あるグラフから検索されるサブグラフは、以下の条件を備えるものである。つまり、検索されるのは、(1)そのグラフまたはそのサブグラフであって、(2)パターンの構造を過不足なく有し、(3)パターン内でのインスタンスやラベルを過不足なく有し、つまりパターン内でのインスタンスやラベルをもつノードやアークの位置に等しい位置にあるノードやアークが当該インスタンスに等しいインスタンスやラベルを有するものである。
(3)の条件を補足すれば、例えば、パターンの一方端にあるノードのインスタンスを「A」とすると、少なくとも検索されるサブグラフの一方端にあるノードのインスタンスも「A」でなければならず、また、パターンの一方端にあるノードに接続される唯一のアークのラベルを「B」とすると、当該サブグラフの一方端にあるノードに接続される唯一のアークのラベルも「B」でなければならず、こうしたインスタンスやラベルのマッチングが、パターン内でのインスタンスやラベルをもつ全てのノードとアークにおいて必要なのである。
図1の説明に戻って、特徴ベクトル作成部13は、ユーザ端末20からグラフパターン代表元の抽出範囲の指定として、始点ノードと終点ノードの指定を受け付け、該指定された抽出範囲に基づいてグラフパターンDB12からグラフパターンを抽出し、該グラフパターンから作成したクエリを用いてグラフDB11を検索し、該検索の結果から抽出範囲の指定にマッチするグラフデータの分布状況を示す特徴ベクトルを作成する。
具体的には、特徴ベクトル作成部13は、グラフパターン代表元を抽出する範囲を指定するパラメータをユーザ端末20から受け付ける。グラフパターン代表元を抽出する範囲を指定するパラメータには、グラフパターンの始点クラスと終点クラスの指定、リソースサンプリングパラメータがある。ここで、グラフパターンの始点クラスと終点クラスの指定は、必須のパラメータである。なお、リソースサンプリングパラメータは、リソース対サンプリングに用いるパラメータで、設定しなくてもよい。
例えば、グラフパターン代表元を抽出する範囲を指定するパラメータとして、始点クラス「theme:テーマ」、終点クラス「org:組織」、リソースサンプリングパラメータ「20」を指定する。
続いて、特徴ベクトル作成部13は、ユーザから入力されたパラメータを用いて、グラフDB11にあるグラフデータを参照して始点クラスのリソースと終点クラスのリソースを抽出し、始点クラスのリソースと終点クラスのリソースを組み合わせてリソース対を作成する。特徴ベクトル作成部13は、始点クラスのリソースと終点クラスのリソースそれぞれを抽出する際に、リソースサンプリングパラメータを用いてリソースのサンプリングを行い、サンプリング結果を用いてリソース対リストを作成する。また、特徴ベクトル作成部13は、リソースサンプリングパラメータが設定されていない場合には、グラフDB11にあるグラフデータから抽出した全リソースを用いてリソース対リストを作成する。
ここで、図5を用いて、上記したリソースサンプリングパラメータを用いたリソースのサンプリング(抽出)処理について説明する。図5は、リソースのサンプリング処理を説明する図である。図5に示すように、まず、特徴ベクトル作成部13は、ユーザから入力されたパラメータ(始点クラス、終点クラス、リソースサンプリングパラメータ:N)を取得すると、クラスに属するリソースが接続する全てのプロパティをグラフDB11から取得する。特徴ベクトル作成部13は、プロパティごとに、プロパティを経由して接続する他リソース数が多いリソース順にソートし、他リソースが多い上位N個のリソースを抽出する。その後、特徴ベクトル作成部13は、サンプリング結果を用いて、図6に例示するようなリソース対リストを作成する。図6は、リソース対リストの例を示す図である。例えば、図6に例示するように、始点クラスのリソースとして「テーマ001」、終点クラスのリソースとして「○○グループ」がリソース対リストに登録されている。
その後、特徴ベクトル作成部13は、グラフパターンDB12に格納されているグラフパターンのうち、指定された始点クラスと終点クラスのグラフパターンのみを取得する。そして、特徴ベクトル作成部13は、取得した全てのグラフパターンについて、始点ノードと終点ノードに、作成したリソース対リストのリスト対を順次代入し、図7に例示するようなクエリリストを作成する。例えば、図7に例示するように、始点ノードに「テーマ001」、終点ノードに「○○グループ」を代入し、クエリリストを作成する。
特徴ベクトル作成部13は、各グラフパターンに対して、クエリリストのクエリを順次グラフDB11にあるグラフデータに対して検索を行い、検索結果から特徴ベクトルを作成する。特徴ベクトルの要素は、グラフDB11にあるグラフデータに対する検索において、検索結果がある場合は「1」、検索結果が無い場合は「0」とする。特徴ベクトル作成部13は、クエリリストの順番に特徴ベクトルの要素をならべて、特徴ベクトルを作成する。例えば、図4の4つのグラフパターン(gp1〜gp4)について、図2のグラフデータと図6のリソース対リストから作成したクエリリスト(図8)を用いて、特徴ベクトルをそれぞれ作成すると、gp1の特徴ベクトル(1,0,0,0,1,0,0,0,1)、gp2の特徴ベクトル(1,0,0,1,0,0,0,0,1)、gp3の特徴ベクトル(1,0,0,1,0,0,0,0,1)、gp4の特徴ベクトル(1,0,0,1,0,0,0,0,0)となる。
クラスタリング実行部14は、特徴ベクトル作成部13によって作成された特徴ベクトルを用いて、グラフパターンのクラスタリングを実行する。ここで、クラスタリングに使用するアルゴリズムとして、任意のアルゴリズムを使うことができる。このため、最終的なグラフパターン抽出結果が芳しくない場合は、アルゴリズムを変えてグラフパターン抽出を行うことができる。利用可能なクラスタリングアルゴリズムとして、例えば、最短距離法やウォード法などの階層クラスタリングアルゴリズム、k−means法などの非階層クラスタリングアルゴリズム、その他、特徴ベクトルを用いて任意のクラスタリング可能なアルゴリズムを使用することができる。ここのグラフパターンクラスタリングでは、クラスタ数が、「2」からグラフパターンの個数までのクラスタ数のクラスタリング結果を求める。
ここで、上述した特徴ベクトルを用いてクラスタリングを行った結果を図8に例示する。図8は、特徴ベクトルを用いてクラスタリングを行った結果を示す図である。上述した例では、クラスタリング対象となるグラフパターンの数が4個であるため、クラスタ数が2から4までのクラスタリング結果を得る。例えば、図8に例示するように、クラスタ数が2の場合には、グラフパターン集合gp1〜gp4が2つのクラスタcluster2−1、2−2に分類される。同様に、クラスタ数が3の場合は3つのクラスタに、クラスタ数が4の場合には4つのクラスタに分類される。
グラフパターン代表元抽出部15は、クラスタリング実行部14によって実行されたクラスタリング結果からグラフパターン代表元を抽出する。具体的には、グラフパターン代表元抽出部15は、クラスタリング実行部14によってグラフパターンクラスタリングされた結果、抽出されたクラスタの中から、代表元となるグラフパターンを抽出する。グラフパターン代表元抽出部15は、図9に例示するように、全てのクラスタについて、特徴ベクトルの要素の値が「1」となるものが最も多いグラフパターンを、1つの代表元として選ぶ。例えば、図9の例では、図8のクラスタリング結果のcluster2−2の代表元を抽出する場合には、cluster2−2に分類されたグラフパターンの特徴ベクトルの要素の値が1となる個数は、gp2が3個、gp3が3個、gp4が2個となり、1が最も多いgp2を代表元として選ぶ。
そして、グラフパターン代表元抽出部15は、代表元抽出処理で抽出した代表元を基に、最適なクラスタ数を決定し、ユーザ端末20に返す抽出グラフパターンセットを抽出する。グラフパターン代表元抽出部15は、最適なクラスタ数を算出するため、クラスタ数ごとにカバー率とユニークカバー率を算出する。下記(1)式には、カバー率(C)を定義する式であり、下記(2)式には、ユニークカバー率(uC)の定義する式である。また、ここでは、「G」とはグラフデータのことをいい、「All」とは、特徴ベクトル作成部13がクエリリスト作成において抽出した全てのグラフパターンのことをいう。また、「R」とは、クラスタ数nのクラスタリングで得た代表元の集合である。また、「M(p)」とは、グラフパターンpにおいて、pの始点変数ノードと終点変数ノードにリソース対を代入して、得られたクエリを用いてGに対して検索した結果、結果を持つリソース対の集合である。また、下記(3)式は、全てのグラフパターンで、結果を待つリソース対の集合を示し、下記(4)式は、代表元となるグラフパターンで、結果を持つリソース対の集合を示す。また、uM(R)とは、M(R)に属するリソース対のうち、Rに属する2個以上のグラフパターンで結果を持たないリソース対の集合を示す。
Figure 2013145508
Figure 2013145508
Figure 2013145508
Figure 2013145508
そして、グラフパターン代表元抽出部15は、カバー率とユニークカバー率から、最適クラスタ数を算出する。例えば、算出方法の例として、Cn1≧MinCかつCn1−Cn1−1が最大となるクラスタ数n1を抽出する。そして、Cn1≧MinCかつuCn2−Cn2+1が最大となるクラスタ数n2を抽出する。そして、n1、n2のうち小さいものを、最適クラスタ数とする。なお、MinCとは、最低カバー率を示している。図10には、図9で示した代表元抽出結果からカバー率とユニークカバー率を算出した結果を示す。図10の例では、カバー率とユニークカバー率を算出した結果から最適クラスタ数が3となり、ユーザに返すグラフパターン代表元が図9にあるクラスタ数3のクラスタの代表元「gp1、gp2、gp4」となる。
[代表元抽出処理]
次に、図11を用いて、実施例1に係るグラフパターンマッチングシステムによる処理を説明する。図11は、代表元抽出処理の流れを示す図である。
図11に示すように、ユーザ端末20は、入力用UI(User Interface)を介して、ユーザから代表負ラフパターンを抽出する範囲を指定するパラメータ(始点クラス、終点クラス、リソースサンプリングパラメータ)の入力を受け付けると、グラフパターンマッチング装置10に送信する(ステップS101)。
そして、グラフパターンマッチング装置10の特徴ベクトル作成部13は、ユーザから入力されたパラメータを用いて、グラフDB11にあるグラフデータを参照して始点クラスのリソースと終点クラスのリソースを抽出し、始点クラスのリソースと終点クラスのリソースを組み合わせてリソース対サンプリングを作成する(ステップS102)。
そして、特徴ベクトル作成部13は、グラフパターンDB12に格納されているグラフパターンのうち、指定された始点クラスと終点クラスのグラフパターンデータのみを取得する。そして、特徴ベクトル作成部13は、取得した全てのグラフパターンデータについて、始点ノードと終点ノードに、作成したリソース対リストのリスト対を順次代入し、クエリリストを作成する(ステップS103)。
その後、特徴ベクトル作成部13は、クエリリストのクエリを用いて、順次グラフDB11にあるグラフデータに対して検索を行い、検索結果から特徴ベクトルを作成する(ステップS104)。そして、クラスタリング実行部14は、特徴ベクトル作成部13で作成された特徴ベクトルを用いて、グラフパターンのクラスタリングを行う(ステップS105)。
続いて、グラフパターン代表元抽出部15は、クラスタリング実行部14によってグラフパターンクラスタリングされた結果、抽出されたクラスタの中から、代表元となるグラフパターンを抽出する(ステップS106)。そして、グラフパターン代表元抽出部15は、抽出した代表元となるグラフパターンを基に、最適なクラスタ数を決定し、最適なクラスタ数に対応するグラフパターン代表元をユーザ端末20に送信する(ステップS107)。
[実施例1の効果]
上述してきたように、グラフパターンマッチング装置10は、グラフ構造データを記憶するグラフDB11と、グラフ構造データを検索するクエリとして用いられる事前に作成されたグラフパターンであって、該グラフパターンに含まれるノードのうち特定の2つのノードを始点ノードと終点ノードとして定めたグラフパターンを記憶するグラフパターンDB12とを有する。グラフパターンマッチング装置10は、ユーザ端末20からグラフパターン代表元の抽出範囲の指定として、始点ノードと終点ノードの指定を受け付け、該指定された抽出範囲に基づいてグラフパターンDB12からグラフパターンを抽出し、該グラフパターンから作成したクエリを用いてグラフDB11を検索し、該検索の結果から指定された抽出範囲にマッチするグラフ構造データの分布状況を示す特徴ベクトルを作成する。そして、グラフパターンマッチング装置10は、作成された特徴ベクトルを用いて、グラフパターンのクラスタリングを実行し、実行されたクラスタリング結果からグラフパターン代表元を抽出する。
このため、グラフパターンマッチング装置10は、グラフパターン内の特定の2つのノードの取りうる値から、グラフパターンを類似セマンティクスで分類することで、類似セマンティクスのグラフパターンの排除が容易にすることが可能である。また、クラスタリングに使用するアルコリズムを特定することなく、グラフパターンを特徴ベクトル化してクラスタリングを行うので、様々なクラスタリングアルゴリズムを用いたクラスタリングができ、グラフパターン代表元の抽出精度を向上させることが可能である。
また、実施例1によれば、クラスタリング結果を用いて、指定された抽出範囲にマッチするグラフ構造データの分布状況から最適なクラスタ数を算出し、グラフパターン代表元を抽出する。このため、適切なクラスタリング数を判定して、代表元を抽出することが可能である。
[システム構成]
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[プログラム]
また、実施例1で説明した各種の処理(例えば、図11など)は、パーソナルコンピュータやワークステーションなど、グラフパターンマッチング装置10として実装されるコンピュータに、実施例1で説明した各種の処理と同様の処理機能を実現させるプログラムを実行させることで実現することもできる。そこで、以下では、図12を用いて、実施例1で説明した各種の処理(例えば、図11など)と同様の機能を実現するコンピュータの一例を説明する。図12は、実施例1の処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
図12に示すように、グラフパターンマッチング装置10として実装されるコンピュータ300は、例えば、メモリ301と、CPU(Central Processing Unit)302を有する。また、コンピュータ300は、図12に示すように、ハードディスクドライブインタフェース303と、光ディスクドライブインタフェース304を有する。また、コンピュータ300は、図12に示すように、シリアルポートインタフェース305と、ビデオアダプタ306と、ネットワークインタフェース307を有する。そして、コンピュータ300は、これらの各部301〜307をバス308によって接続する。
メモリ301は、図12に示すように、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む。ROMは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース303は、図12に示すように、ハードディスクドライブ309に接続される。光ディスクドライブインタフェース304は、図12に示すように、光ディスクドライブ310に接続される。例えば、光ディスクドライブ310には、光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース305は、図12に示すように、例えば、マウス400およびキーボード500に接続される。ビデオアダプタ306は、図12に示すように、例えば、ディスプレイ600に接続される。
ここで、図12に示すように、ハードディスクドライブ309は、例えば、OS(Operating System)、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。
すなわち、上述したグラフパターンマッチング装置10と同様の機能を有するプログラムは、コンピュータ300によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ309に記憶される。つまり、上述の実施例1で説明した処理(図11など)と同様の処理機能をグラフパターンマッチング装置10としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールが、ハードディスクドライブ309に記憶される。このプログラムモジュールは、例えば、図1に示す特徴ベクトル作成部13やクラスタリング実行部14に対応する。
また、上述の実施例1で説明した処理(図11など)と同様の処理機能をグラフパターンマッチング装置100としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールにより用いられるデータは、プログラムデータとして、例えばハードディスクドライブ309に記憶される。例えば、このプログラムデータは、例えば、グラフDB11やグラフパターンDB12に格納されているデータに対応する。
そして、CPU302が、ハードディスクドライブ309に記憶されたプログラムモジュールやプログラムデータを必要に応じてRAMに読み出し、上述の実施例1で説明したものと同様の処理(図11など)を実現するための手順を実行する。
なお、上述の実施例1で説明した処理(図11など)と同様の処理機能をグラフパターンマッチング装置10としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ハードディスクドライブ309に記憶される場合に限られるものではなく、例えば、着脱可能な記憶媒体である光ディスクドライブ310等に記憶されていてもよい。この場合には、CPU302が、光ディスクドライブ310を介して、グラフパターンマッチング装置10と同様の機能を有するプログラムモジュールやプログラムデータを読み出す。
あるいは、上述の実施例1で説明した処理(図11など)と同様の処理機能をグラフパターンマッチング装置10としてのコンピュータ300に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)など)を介して接続された他のコンピュータに記憶されていてもよい。この場合には、CPU302が、ネットワークインタフェース307を介して、グラフパターンマッチング装置10と同様の機能を有するプログラムモジュールやプログラムデータを他のコンピュータから読み出す。
なお、プログラムによりCPU302が動作して各種処理を行う代わりに、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を用いて処理を行うこともできる。また、メモリ301として、フラッシュメモリ(flash memory)などを用いることもできる。
10 グラフパターンマッチング装置
11 グラフDB
12 グラフパターンDB
13 特徴ベクトル作成部
14 クラスタリング実行部
15 グラフパターン代表元抽出部
20 ユーザ端末
300 コンピュータ
301 メモリ
302 CPU
303 ハードディスクドライブインタフェース
304 光ディスクドライブインタフェース
305 シリアルポートインタフェース
306 ビデオアダプタ
307 ネットワークインタフェース
308 バス
309 ハードディスクドライブ
310 光ディスクドライブ
400 マウス
500 キーボード
600 ディスプレイ

Claims (4)

  1. ユーザ端末から受信した検索条件に応じて、ノード間をエッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムであって、
    前記グラフパターンマッチング装置は、
    前記グラフ構造データを記憶するグラフデータ記憶部と、
    前記グラフ構造データを検索するクエリとして用いられる事前に作成されたグラフパターンであって、該グラフパターンに含まれるノードのうち特定の2つのノードを始点ノードと終点ノードとして定めたグラフパターンを記憶するグラフパターン記憶部と、
    前記ユーザ端末からグラフパターン代表元の抽出範囲の指定として、始点ノードと終点ノードの指定を受け付け、該指定された抽出範囲に基づいて前記グラフパターン記憶部からグラフパターンを抽出し、該グラフパターンから作成したクエリを用いて前記グラフデータ記憶部を検索し、該検索の結果から前記指定された抽出範囲にマッチするグラフ構造データの分布状況を示す特徴ベクトルを作成する特徴ベクトル作成部と、
    前記特徴ベクトル作成部によって作成された特徴ベクトルを用いて、前記グラフパターンのクラスタリングを実行するクラスタリング実行部と、
    前記クラスタリング実行部によって実行されたクラスタリング結果からグラフパターン代表元を抽出するグラフパターン代表元抽出部と、
    を有することを特徴とするグラフパターンマッチングシステム。
  2. 前記グラフパターン代表元抽出部は、前記クラスタリング実行部によって実行されたクラスタリング結果を用いて、前記指定された抽出範囲にマッチするグラフ構造データの分布状況から最適なクラスタ数を算出し、グラフパターン代表元を抽出することを特徴とする請求項1に記載のグラフパターンマッチングシステム。
  3. ユーザ端末から受信した検索条件に応じて、ノード間をエッジで連結したグラフ構造データについての検索を行い、該検索の結果を前記ユーザ端末に出力するグラフパターンマッチング装置を有するグラフパターンマッチングシステムに適用されるグラフパターン代表元抽出方法であって、
    前記ユーザ端末から代表グラフパターンの抽出範囲の指定として、始点ノードと終点ノードの指定を受け付け、該指定された抽出範囲に基づいて、前記グラフ構造データを検索するクエリとして用いられる事前に作成されたグラフパターンを記憶するグラフパターン記憶部からグラフパターンを抽出し、該グラフパターンから作成したクエリを用いて、前記グラフ構造データを記憶する前記グラフデータ記憶部を検索し、該検索の結果から前記指定された抽出範囲にマッチするグラフ構造データの分布状況を示す特徴ベクトルを作成する特徴ベクトル作成工程と、
    前記特徴ベクトル作成工程によって作成された特徴ベクトルを用いて、前記グラフパターンのクラスタリングを実行するクラスタリング実行工程と、
    前記クラスタリング実行工程によって実行されたクラスタリング結果からグラフパターン代表元を抽出するグラフパターン代表元抽出工程と、
    を含むことを特徴とするグラフパターン代表元抽出方法。
  4. 前記グラフパターン代表元抽出工程は、前記クラスタリング実行工程によって実行されたクラスタリング結果を用いて、前記指定された抽出範囲にマッチするグラフ構造データの分布状況から最適なクラスタ数を算出し、グラフパターン代表元を抽出することを特徴とする請求項3に記載のグラフパターン代表元抽出方法。
JP2012006213A 2012-01-16 2012-01-16 グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法 Pending JP2013145508A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012006213A JP2013145508A (ja) 2012-01-16 2012-01-16 グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012006213A JP2013145508A (ja) 2012-01-16 2012-01-16 グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法

Publications (1)

Publication Number Publication Date
JP2013145508A true JP2013145508A (ja) 2013-07-25

Family

ID=49041257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012006213A Pending JP2013145508A (ja) 2012-01-16 2012-01-16 グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法

Country Status (1)

Country Link
JP (1) JP2013145508A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489371B1 (ko) 2014-09-30 2015-02-09 주식회사 비트나인 데이터 처리장치 및 그 패턴빈도 예측방법
KR101556060B1 (ko) 2014-04-28 2015-10-01 포항공과대학교 산학협력단 후보 영역 탐색 기법을 활용한 부분 그래프 동형 검색 방법 및 그 시스템
JP6088091B1 (ja) * 2016-05-20 2017-03-01 ヤフー株式会社 更新装置、更新方法、及び更新プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556060B1 (ko) 2014-04-28 2015-10-01 포항공과대학교 산학협력단 후보 영역 탐색 기법을 활용한 부분 그래프 동형 검색 방법 및 그 시스템
KR101489371B1 (ko) 2014-09-30 2015-02-09 주식회사 비트나인 데이터 처리장치 및 그 패턴빈도 예측방법
US10176221B2 (en) 2014-09-30 2019-01-08 Bitnine Co., Ltd. Data processing apparatus and prediction method of pattern frequency thereof
JP6088091B1 (ja) * 2016-05-20 2017-03-01 ヤフー株式会社 更新装置、更新方法、及び更新プログラム
JP2017208015A (ja) * 2016-05-20 2017-11-24 ヤフー株式会社 更新装置、更新方法、及び更新プログラム

Similar Documents

Publication Publication Date Title
US10922493B1 (en) Determining a relationship recommendation for a natural language request
JP6163607B2 (ja) イベント知識データベースの構築方法および装置
US7657515B1 (en) High efficiency document search
JP5271808B2 (ja) 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法、および共通クエリグラフパターン生成用プログラム
JP5856139B2 (ja) 仮想ドキュメントを用いたインデックス付与と検索
Vakali et al. Social networking trends and dynamics detection via a cloud-based framework design
US9754015B2 (en) Feature rich view of an entity subgraph
EP2530610A1 (en) Apparatus and method of searching and visualizing instance path
US9043321B2 (en) Enhancing cluster analysis using document metadata
WO2021006977A1 (en) Delta graph traversing system
CN107704620B (zh) 一种档案管理的方法、装置、设备和存储介质
CN110321446B (zh) 相关数据推荐方法、装置、计算机设备及存储介质
AU2022228142A1 (en) Intelligent change summarization for designers
JP2013054602A (ja) グラフパターンマッチングシステムおよびグラフパターンマッチング方法
JP2013145508A (ja) グラフパターンマッチングシステムおよびグラフパターン代表元抽出方法
Yi et al. Autog: A visual query autocompletion framework for graph databases
JP5876396B2 (ja) 情報収集プログラム、情報収集方法および情報処理装置
US8965910B2 (en) Apparatus and method of searching for instance path based on ontology schema
Eyal-Salman et al. Feature-to-code traceability in legacy software variants
US8856152B2 (en) Apparatus and method for visualizing data
CN107862028B (zh) 建立标准学术模型方法、服务器及存储介质
Ma et al. Web API recommendation based on service cooperative network
JP2016521889A (ja) クロスモデルフィルタリング
US9990444B2 (en) Apparatus and method for supporting visualization of connection relationship
US11880392B2 (en) Systems and methods for associating data with a non-material concept