説明

パターン分類装置およびパターン分類方法

【課題】複数のパターンを分類可能なパターン分類装置およびパターン分類方法を提供する。
【解決手段】クエリ発行部14は、グラフG内のサブグラフを検索するためのN個のパターンにおける第1ノードに対し、互いに異なるM個のキーワードを含ませて、N×M個の検索パターンを生成し(S11)、グラフGから各検索パターンに合致するサブグラフを検索する(S15)。パターン分類部15は、検索されたサブグラフにおける第2ノード内のインスタンスに基づいてN個のパターンを分類する(S19)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パターン分類装置およびパターン分類方法に関するものである。
【背景技術】
【0002】
近年にあっては、大量のデータソースがコンピュータネットワーク上に存在しており、複数のデータソースを結合して、単一のデータソースからでは抽出できない情報を取り出す、データウェアハウスなどの技術が注目を集めている。
【0003】
一方、異なる複数のデータソースから得られた情報を統一的に扱うための枠組みとして、グラフ表現できるデータモデルであるRDF(Resource Description Framework)を用いたセマンティックWeb技術も注目されている。
【0004】
セマンティックWebでは、SPARQLなどのRDFクエリ言語を用いて検索用のパターン(以下、単にパターンという)のマッチングによって必要な情報を検索するRDF検索技術などが提唱されている。
【0005】
非特許文献1は、キーワード文字列を含む自然文を検索するシステムにおいて、検索結果が類似するキーワードを類似するクエリとし、類似クエリごとに分類及び、ユーザに類似クエリを提案する仕組みを提供する技術を開示している。しかし、以下の問題があった。
【0006】
これらの技術で言われるクエリは、パターンの検索キーワード変数に相当するものであり、パターンに相当する部分については一切言及されていない。そのため、パターンの分類を行うことはできない。
【0007】
例えば、非特許文献2では、対象グラフ集合の特性を反映した構造類似性の提案がなされ、そこでは、特徴的な部分構造を用いて、構造的な類似性を定義し、部分グラフの類似性判定を行う。
【0008】
しかし、この技術は、ラベル無し無向グラフを対象としており、そのままRDFなどのラベル有り有向グラフへ適用することはできないのである。
【0009】
RDFなどのノードとアークにラベルを持つグラフ構造データに対する検索を行うためのクエリとして用いるパターンを選択する際に、グラフの構造が複雑であると、意図する検索を行うことができるパターンを探し出すことが困難になるため、パターンを効率的に選択可能にする必要がある。
【0010】
特に複数の異なるデータソースから結合したグラフの場合には、グラフ中に意味的な重複が含まれ、意味的に類似する異なる構造のパターンが多数存在するため、取捨選択作業が煩雑になる。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】小野田透、湯本高行、角谷和俊、「検索傾向の部分的な類似に基づくトピッククラスタリング」、日本データベース学会論文誌 Vol.7, No.3, pp.49-54, 2008年12月
【非特許文献2】和田貴久、大野博之、稲積宏誠、「対象グラフ集合の特性を反映した構造類似性の提案」、日本データベース学会Letters Vol.6, No.1, pp.185-188,2007年6月
【発明の概要】
【発明が解決しようとする課題】
【0012】
本発明は、上記に鑑みなされたものであり、その目的とするところは、複数のパターンを分類可能なパターン分類装置およびパターン分類方法を提供することにある。
【課題を解決するための手段】
【0013】
上記の課題を解決するために、本発明に係るパターン分類装置は、インスタンスをもつノード間がアークによって接続されたグラフが記憶されるグラフデータベースと、前記グラフ内のサブグラフを検索するためのN個のパターンにおける第1ノードに対し、互いに異なるM個のキーワードを含ませて、N×M個の検索パターンを生成し、前記グラフから前記各検索パターンに合致するサブグラフを検索するグラフ検索手段と、前記検索されたサブグラフにおける第2ノード内のインスタンスを使用して前記N個のパターンにおける2つのパターンからなる組み合わせのそれぞれについて類似の度合いを求め、当該類似の度合いに基づいて前記N個のパターンを分類するパターン分類手段とを備えることを特徴とする。
【0014】
また、本発明に係るパターン分類方法は、インスタンスをもつノード間がアークによって接続されたグラフが記憶されるグラフデータベースを備えるパターン分類装置が行うパターン分類方法であって、前記パターン分類装置のグラフ検索手段が、前記グラフ内のサブグラフを検索するためのN個のパターンにおける第1ノードに対し、互いに異なるM個のキーワードを含ませて、N×M個の検索パターンを生成し、前記グラフから前記各検索パターンに合致するサブグラフを検索し、前記パターン分類装置のパターン分類手段が、前記検索されたサブグラフにおける第2ノード内のインスタンスを使用して前記N個のパターンにおける2つのパターンからなる組み合わせのそれぞれについて類似の度合いを求め、当該類似の度合いに基づいて前記N個のパターンを分類することを特徴とする。
【0015】
前記パターン分類手段は、前記N個のパターンを、前記類似の度合いに基づいて、1つ以上のパターンを含むパターンクラスタに分類するものであって、前記各キーワードにつき、2つのパターンの一方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をA、当該2つのパターンの他方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をBとして、
類似判定値=|A∩B|÷|A∪B|
ただし、
A、Bが共に空集合でなく、
|A∩B|は、AとBの積集合の中のインスタンス数、
|A∪B|は、AとBの和集合の中のインスタンス数、
を計算した場合、
前記各キーワードに対応する類似判定値の中のk個(0<k≦K:ただしKは前記キーワードの個数)以上が所定のしきい値以上となる当該2つのパターンを、互いに類似するパターンとして、同一のパターンクラスタに含ませるようにしてもよい。
【0016】
あるいは、前記パターン分類手段は、以下のように処理を行ってもよい。
まず、前記N×M個の検索パターンから、該当のサブグラフを得られなかった検索で使用された検索パターンを除外する。
次に、2つの各パターンに共通のキーワードを含ませて得た検索パターンから共にサブグラフが得られた場合には当該2つのパターンを関連づけ、互いに関連づけられた複数のパターンから得られ且つ除外されていない検索パターンに含まれた1つ以上のキーワードをキーワードクラスタと定義し、他のパターンと関連づけられていない単一のパターンから得られ且つ除外されていない検索パターンに含まれた1つ以上のキーワードをキーワードクラスタと定義し、前記複数のキーワードを1つ以上のキーワードクラスタに分類する。
次に、前記各キーワードクラスタから1つのキーワードを選択するとともに、該選択されるキーワードを含み且つ除外されていない検索パターンの数が最も多くなるようにする。
次に、前記各キーワードクラスタにつき、選択されたキーワードを含み且つ除外されていない検索パターンを生成するために使用された1つ以上のパターンを選択する。
次に、前記選択された1つ以上のパターンに含まれ且つ互いに類似する複数のパターンをパターンクラスタと定義し、前記選択された1つ以上のパターンに含まれ且つ他のパターンと類似しない単一のパターンをパターンクラスタと定義し、前記選択された1つ以上のパターンを1つ以上のパターンクラスタに分類するとともに、前者のパターンクラスタに含まれるいずれの2パターンも、前記2パターンの一方に前記選択されたキーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をA、前記2パターンの他方に前記選択されたキーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をBとした場合、
類似判定値=|A∩B|÷|A∪B|
ただし、
A、Bが共に空集合でなく、
|A∩B|は、AとBの積集合の中のインスタンス数、
|A∪B|は、AとBの和集合の中のインスタンス数、
が所定のしきい値以上となるようにする。
【発明の効果】
【0017】
本発明によれば、パターンの第1ノードにキーワードを含ませて得られる検索パターンに合致するサブグラフを検索し、そのサブグラフにおける第2ノード内のインスタンスを検索結果として得る場合のパターンを分類でき、パターンの数を実質的に低減することができる。また、パターンをユーザに選択させる場合などにおいて、ユーザはパターンを容易に選択することができる。
【図面の簡単な説明】
【0018】
【図1】本実施の形態に係るグラフ検索装置の構成図である。
【図2】グラフGの一部を例示した図である。
【図3】RDF/XML形式のデータ、その元データおよびこの形式のデータによるサブグラフを例示した図である。
【図4】パターンをグラフ化して例示した図である。
【図5】パターンを分類する動作を示すシーケンス図である。
【図6】パターンの分類でクラスを選択し、しきい値を指定する際に表示される画面を示す図である。
【図7】パターンを分類する際に生成された検索パターンを示す図である。
【図8】パターンを分類する際に検索されたサブグラフを示す図である。
【図9】ノードのインスタンスを検索する動作を示すシーケンス図である。
【図10】インスタンスの検索でクラスを選択する際に表示される画面を示す図である。
【図11】インスタンスの検索でパターンを選択し、キーワードを入力する際に表示される画面を示す図である。
【図12】検索されたインスタンスを表示する画面を示す図である。
【図13】パターンを分類する別な方法の説明で使用するパターンとキーワードを示す図である。
【図14】その方法におけるステップS19の動作を示すフローチャートである。
【図15】その方法におけるパターンの除外、関連づけ、キーワードの選択の様子を示す図である。
【図16】その方法においてインスタンスの集合が構成される様子を示す図である。
【図17】その方法において330個のパターンを分類した結果を示す図である。
【図18】その分類により得られた1つのパターンクラスタに含まれるパターンを示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を図面を参照して説明する。なお、同一または類似のものには同一符号を付与し、重複説明を省略する。
【0020】
図1は、本実施の形態に係るグラフ検索装置の構成図である。
グラフ検索装置1は、ユーザ端末2に接続され、ユーザ端末2には、表示装置3が接続されている。
【0021】
グラフ検索装置1は、表示装置3に表示される入力用インタフェースと出力用インタフェースを生成しユーザ端末2に送信するユーザインタフェース11と、インスタンスをもつノード間がアークによって接続されたグラフが記憶されるグラフデータベース12と、サブグラフの検索に用いられるパターンが記憶されるパターンデータベース13と、サブグラフやパターンを検索するクエリ発行部14と、パターンを分類するパターン分類部15と、分類により得られるパターンクラスタが記憶されるパターンクラスタデータベース16とを備える。
グラフ検索装置1は、パターン分類部15を備えることからわかるように、パターン分類装置としても機能する。
【0022】
図2は、グラフデータベース12に記憶されたデータ群を全て使って表示できるグラフGの一部を例示した図である。
【0023】
グラフデータベース12に記憶されたデータ群を全て使って、図2に一部を例示したグラフG、つまり互いに異なるインスタンスをもつノード間がラベルをもつアークによって接続され且つ当該インスタンスのクラスが定義されたグラフG、を表示することができる。逆にいえば、グラフGを表示するための過不足ないデータ群がグラフデータベース12に記憶されている。以下、そのデータ群を便宜的にグラフGという。また、なんらかのグラフ、サブグラフ(なんらかのグラフそのものまたはそれに含まれるグラフ)、パス(分岐および閉ループをもたないグラフ)などをクラスを含めて表示するための過不足ないデータ群を便宜的にグラフ、サブグラフ、パスなどという。
【0024】
ラベルとは、アークの種類を識別する識別子であり、クラスとは、各インスタンスが属する概念を示すノードであり、インスタンスとは、クラス以外の個々の事物を示すノードである。
【0025】
グラフGでは、例えば、「政治」や「山本幸子」などのインスタンスをもつノードが、「theme:担当者」などのラベルをもつアークで接続される。また、グラフGでは、ノードにそのインスタンス「政治」などの概念であるクラス「テーマ」などが定義される。
【0026】
図3に示すように、「論文F」で示され、その元データの著者が山田太郎でり、題名が「B技術入門」であり、キーワードがB技術である、元データは、グラフデータベース12では、RDF/XML形式のデータとなって、グラフデータベース12に記憶され、これがグラフGのサブグラフをなす。「RDFのグラフ表現」と題されたものは、このサブグラフをグラフィカルに表現したものである。RDFについては、以下の文献に記載されている。
【0027】
「Resource Description Framework(RDF)Model and Syntax Specification」, Ora Lassia, Ralph R.Swick編,[online], インターネット<URL:http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/>
「RDF Vocabulary Description Language 1.0: RDF Schema」, Dan Brickley, R.V.Guha編,[online], インターネット<URL:http://www.w3.org/TR/rdf-schema/>
図1に戻り、パターンデータベース13には、サブグラフの検索に用いられるパターンが記憶される。
【0028】
図4は、パターンデータベース13に記憶されたパターンのうちの3パターンをグラフ化して例示した図である。
【0029】
パターンは、グラフデータベース12に記憶されるデータ群(グラフG)の一部をなすデータ群と同様なものであり、それを本図のようにグラフ化できるので、便宜的にはグラフと言えるが、パターンは表示するものではなく、表示されるグラフの検索に使用されるものである。なお、データ群である実際のパターンを逐一説明するのは冗長なのでグラフ化されたパターンで便宜的に説明する。
【0030】
一般的にパターンでは、ノードやアークの一部はインスタンスやラベルをもち、残りはそれらをもたない。そして、インスタンスやラベルをもたないノードやアークには変数が設定される。変数は、図に示すように、?とそれに後続する単語からなる。
【0031】
ここでは、クラス「テーマ」が定義されたノードを一方の端位置に有し、クラス「組織」が定義されたノードを他方の端位置に有し、各ノードがインスタンスをもたず、各アークがラベルをもつ、パターンP1、P2、P3が、パターンデータベース13に記憶されていることとする。これらは、いずれもテーマから組織を知るためのパターンであり、パターンP1は、「テーマが属する組織」という意味を有し、パターンP2は、「テーマの責任者が属する組織」という意味を有し、パターンP3は、「テーマの担当者が属する組織」という意味を有する。
【0032】
このようなパターンによって、あるグラフから検索されるサブグラフは、以下の条件を備えるものである。
【0033】
つまり、検索されるのは、(1)そのグラフまたはそのサブグラフであって、(2)パターンの構造を過不足なく有し、(3)パターン内でのインスタンスやラベルを過不足なく有し、つまりパターン内でのインスタンスやラベルをもつノードやアークの位置に等しい位置にあるノードやアークが当該インスタンスに等しいインスタンスやラベルを有するものである。
【0034】
(3)の条件を補足すれば、例えば、パターンの一方端にあるノードのインスタンスを「A」とすると、少なくとも検索されるサブグラフの一方端にあるノードのインスタンスも「A」でなければならず、また、パターンの一方端にあるノードに接続される唯一のアークのラベルを「B」とすると、当該サブグラフの一方端にあるノードに接続される唯一のアークのラベルも「B」でなければならず、こうしたインスタンスやラベルのマッチングが、パターン内でのインスタンスやラベルをもつ全てのノードとアークにおいて必要なのである。
【0035】
なお、パターンにより、このようにしてサブグラフを検索することを、パターンに合致する(マッチするともいう)サブグラフを検索するという。
【0036】
図1に戻り、クエリ発行部14は、パターンデータベース13からパターンを検索する。また、クエリ発行部14は、グラフGのサブグラフを検索する。
【0037】
グラフ検索装置1は、各部(データベース含む)でデータの送受信(受け渡し)が可能であればよい。つまり、各部を、同一のコンピュータに配置してもよいし、複数のコンピュータに分散配置してもよい。また、これらコンピュータをグラフ検索装置やパターン分類装置として動作させるコンピュータプログラムを通信回線を介して送受信してもよい。また、このコンピュータプログラムを、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどの記録媒体に記録し、その記録媒体を流通させてもよい。
【0038】
(本実施の形態の動作)
図5は、グラフ検索装置1においてパターンを分類する動作を示すシーケンス図である。
【0039】
グラフ検索装置1では、ユーザインタフェース11が入力用インタフェースを生成し、それをユーザ端末2に送信して(S1)、図6で示すように表示させる(S3)。
【0040】
ここで、ユーザが、例えば、新聞社などの中で、「政治」というテーマに関連する社内などの組織がどこかを知りたいとする。また、ユーザは、パターン同士の類似の判定を厳しめにしたく、その程度が、1を最大とした場合には、「0.7」であると考えていることとする。
【0041】
この例では、ユーザの操作により、「テーマ」という情報(クラス「テーマ」という)、「組織」という情報(クラス「組織」という)が、入力用インタフェースに含まれた情報から選択されたこととする。
【0042】
また、ユーザ端末2では、ユーザの操作により、「0.7」という値(しきい値「0.7」という)が指定されたこととする。
【0043】
ユーザ端末2は、これらのパラメータをグラフ検索装置1に送信する(S5)。
【0044】
グラフ検索装置1では、クエリ発行部14が、クラス「テーマ」を含む検索構文であるクエリをグラフデータベース12に送信し、これにより、クラス「テーマ」が定義されたノード内のインスタンス(ここでは、インスタンス「政治」、「歴史」、「科学」(以下、それぞれキーワードK1、K2、K3という))をグラフデータベース12から検索する(S7)。
【0045】
クエリ発行部14は、クラス「テーマ」とクラス「組織」を含む検索構文であるクエリをパターンデータベース13に送信し、これにより、パターンP1、P2、P3をパターンデータベース13から検索する(S9)。
【0046】
次に、クエリ発行部14が、パターンP1、P2、P3における、クラス「テーマ」が定義されたノード(第1ノードという)に対し、各キーワードK1、K2、K3を含ませて、3(パターン数)×3(キーワード数)個(合計9個)のパターン(以下、検索パターンP11〜P33という)を生成する(S11)。
【0047】
図7は、これらの検索パターンを示す図である。
【0048】
この図では、クラスを図示省略している。例えば、検索パターンP11は、パターンP1の第1ノードにキーワードK1「政治」をインスタンスとして含ませたものである。
検索パターンP12は、パターンP1の第1ノードにキーワードK1「歴史」をインスタンスとして含ませたものである。
検索パターンP13は、パターンP1の第1ノードにキーワードK1「科学」をインスタンスとして含ませたものである。
検索パターンP21は、パターンP2の第1ノードにキーワードK1「政治」をインスタンスとして含ませたものである。
検索パターンP22は、パターンP2の第1ノードにキーワードK1「歴史」をインスタンスとして含ませたものである。
検索パターンP23は、パターンP2の第1ノードにキーワードK1「科学」をインスタンスとして含ませたものである。
検索パターンP31は、パターンP3の第1ノードにキーワードK1「政治」をインスタンスとして含ませたものである。
検索パターンP32は、パターンP3の第1ノードにキーワードK1「歴史」をインスタンスとして含ませたものである。
検索パターンP33は、パターンP3の第1ノードにキーワードK1「科学」をインスタンスとして含ませたものである。
【0049】
図5に戻り、クエリ発行部14が、検索パターンP11〜P33をクエリに変換し、それをグラフデータベース12に送信することで、その検索パターンにマッチするサブグラフをグラフGから取得する(S15)。
【0050】
ここでは、検索パターンP11〜P33から、図8に示すようなサブグラフSG(P11)〜SG(P33)がそれぞれ取得されたこととする。
【0051】
図5に戻り、クエリ発行部14は、パターンP1、P2、P3、サブグラフSG(P11)〜SG(P33)、しきい値「0.7」、クラス「組織」をパターン分類部15に与える(S17)。
【0052】
パターン分類部15は、サブグラフ、しきい値、クラスに基づいて、パターンを分類し(S19)、分類結果をパターンクラスタデータベース16に格納する(S21)。
【0053】
ここで、ステップS19を詳述する。
パターン分類部15は、パターンP1〜P3を1以上のパターンクラスタに分類する。ここでは、複数の類似するパターンを含む集合、または、他のパターンと類似しない単一のパターンをパターンクラスタという。したがって、パターン分類部15は、例えば、パターンP1、P2を含むパターンクラスタと、パターンP3を含むパターンクラスタを生成する。
【0054】
このとき、パターン分類部15は、パターンP1〜P3における全てのパターンの組み合わせにつき、以下のような処理を行う。
【0055】
パターンP1、P2の組の例を説明する。
パターン分類部15は、パターンP1にキーワードK1を含ませた検索パターンP11に合致する1つ以上のサブグラフ(ここではサブグラフSG(P11))におけるクラス「組織」が定義されたノード(第2ノードという)内のインスタンスの集合(ここでは「○○グループ」のみ)をR11、パターンP2にキーワードK1を含ませた検索パターンP21に合致する1つ以上のサブグラフ(ここではサブグラフSG(P21))におけるクラス「組織」が定義されたノード(第2ノード)内のインスタンスの集合(ここでは「○○グループ」)をR21として、
R11、R21が共に空集合でないなら、パターンP1、P2、キーワードK1に関し、
類似判定値T(P1、P2、K1)=|R11∩R21|÷|R11∪R21|
ただし、
|R11∩R21|は、R11とR21の積集合の中のインスタンス数、
|R11∪R21|は、R11とR21の和集合の中のインスタンス数、
を計算し、類似判定値T(P1、P2、K1)がしきい値「0.7」以上か否かを判定する。
【0056】
ここで、類似判定値T(P1、P2、K1)におけるP1、P2、K1は、パターンP1、P2、キーワードK1に関するものという意味である。以下に説明する類似判定値についても同様である。
【0057】
さて、ここでは、パターンP1、P2、キーワードK1について、類似判定値T(P1、P2、K1)を計算し、しきい値「0.7」以上か否かを判定するのである。
【0058】
R11∩R21は、「○○グループ」を含むので、|R11∩R21|=1である。
R11∪R21は、「○○グループ」を含むので、|R11∪R21|=1である。
よって、類似判定値T(P1、P2、K1)=1÷1=1となり、しきい値「0.7」以上と判定される。
【0059】
同様に、パターン分類部15は、パターンP1、P2、キーワードK2について、類似判定値T(P1、P2、K2)を計算し、しきい値「0.7」以上か否かを判定する。
積集合は、「○○グループ」を含むので、積集合の中のインスタンス数=1である。
和集合は、「○○グループ」を含むので、和集合の中のインスタンス数=1である。
よって、類似判定値T(P1、P2、K2)=1÷1=1となり、しきい値「0.7」以上と判定される。
【0060】
同様に、パターン分類部15は、パターンP1、P2、キーワードK3について、類似判定値T(P1、P2、K3)を計算し、しきい値「0.7」以上か否かを判定する。
積集合は、空集合なので、積集合の中のインスタンス数=0である。
和集合は、「××グループ」、「△△グループ」を含むので、和集合の中のインスタンス数=2である。
よって、類似判定値T(P1、P2、K3)=0となり、しきい値「0.7」未満と判定される。
【0061】
次に、パターン分類部15は、例えば、3つの類似判定値の中のk個(0<k≦K:ただしKはキーワードの個数(ここでは「3」)である。)以上がしきい値「0.7」以上であったか否かを判定し、k個以上がしきい値以上であったなら、パターンP1、P2は類似していると判定する。なお、kの値は、パラメータとして入力してもよいし、既定値であってもよい。
【0062】
例えば、k=1なら、3つの類似判定値の中の少なくとも1つがしきい値以上なら、パターンP1、P2は類似していると判定される。
例えば、k=3なら、3つの類似判定値の中の全てがしきい値以上なら、パターンP1、P2は類似していると判定される。
【0063】
なお、類似判定値を計算する際、計算対象の2つの集合の一方または両方に空集合なら、その計算はスキップされる。つまり、スキップなしで、3つの類似判定値が計算される場合だけでなく、それより少ない1つまたは2つの類似判定値が計算される場合もあるのである。
【0064】
このようにして、パターン分類部15は、例えば、パターンP1、P2を含むパターンクラスタと、パターンP3を含むパターンクラスタを生成する(S19)。
【0065】
パターン分類部15は、各パターンクラスタ(分類結果)をパターンクラスタデータベース16に格納する(S21)。ここでは、2つ以上のパターンを含むパターンクラスタのみならず、1つのパターンのみを含むパターンクラスタもパターンクラスタデータベース16に格納される。
【0066】
図9は、グラフ検索装置1においてグラフGからノードのインスタンスを検索する動作を示すシーケンス図である。
【0067】
ユーザインタフェース11は、入力用インタフェースを生成し、それをユーザ端末2に送信して(S51)、図10に示すように表示させる(S53)。
【0068】
ここで、ユーザは、例えば、パターンを分類する際のユーザであり、「政治」というテーマに関連する社内などの組織がどこかを知りたいとする。
【0069】
ここでは、ユーザの操作により、「テーマ」という情報(クラス「テーマ」という)、「組織」という情報(クラス「組織」という)が、入力用インタフェースに含まれた情報から選択されたこととする。
【0070】
ユーザ端末2は、これらパラメータをグラフ検索装置1に送信する(S55)。
【0071】
グラフ検索装置1では、クエリ発行部14が、クラス「テーマ」とクラス「組織」を含む検索構文であるクエリをパターンデータベース13に送信し、これにより、パターンP1、P2、P3をパターンデータベース13から検索する(S59)。
【0072】
次に、クエリ発行部14は、パターンクラスタデータベース16を参照し、パターンP1、P2を含むパターンクラスタがあるので、検索されたパターンP1、P2の一方である、例えばパターンP2を除外し(S60)、パターンP2を除いた2つのパターンP1、P3をユーザインタフェース11に与える。
【0073】
ステップS60では、パターンデータベース13から複数のパターンを含むパターンクラスタを検索し、ステップS59で検索された複数のパターンから、当該パターンクラスタ内の複数のパターンに合致する複数のパターンを選択し、選択された複数のパターンのうちの任意の1つ以上を残して、残りを除外する。
【0074】
詳しくは、例えば、最も長いパターンを残すようにしてもよい。シンプルでわかりやすいパターンだからである。
また、検索結果が空でなく且つキーワードが多いパターンを残すようにしてもよい。検索結果が得やすいパターンだからである。
また、検索結果が空でなく且つキーワードが少ないパターンを残すようにしてもよい。厳密な検索結果が得やすいパターンだからである。
また、こうした取捨選択をオペレータが判断してもよい。
【0075】
ユーザインタフェース11は、入力用インタフェースを生成し、それをユーザ端末2に送信して(S61)、図11に示すように表示させる(S63)。ここでは、パターンP1、P3が表示されるが、図11では、クラスやアークのラベルなどを図示せず、簡易的に示している。
【0076】
これに対して、ユーザがユーザ端末2にパターンP1の選択指示、キーワード「政治」を入力し、ユーザ端末2は、これらパラメータをグラフ検索装置1に送信する(S65)。
【0077】
グラフ検索装置1では、クエリ発行部14が、選択されたパターンP1における、クラス「テーマ」が定義されたノードに対し、キーワード「政治」を含ませて、検索パターン(つまり、図7の検索パターンP11)を生成する(S67)。
【0078】
クエリ発行部14は、検索パターンP11をクエリに変換し、それをグラフデータベース12に送信することで、その検索パターンにマッチするサブグラフ(つまり、図8のサブグラフSG(P11))をグラフGから取得する(S71)。
【0079】
次に、クエリ発行部14は、サブグラフSG(P11)におけるクラス「組織」が定義されたノード内のインスタンス(つまり、「○○グループ」)を取り出し、ユーザインタフェース11に与える(S73)。
【0080】
ユーザインタフェース11は、出力用インタフェースを生成し、それをユーザ端末2に送信して(S75)、図12に示すように表示させる(S77)。
【0081】
したがって、ユーザは、3つのパターンP1、P2、P3から1つを選択するのでなく、2つのパターンP1、P3から1つを選択すればよいので、利便性が向上する。
【0082】
なお、ここでは、1つのパターンを選択したが、2つ以上のパターンを選択してもよい。この際であっても、例えば、選択候補を少なくでき、その少ない選択候補から2つ以上のパターンを選択すればよいので、利便性が向上する。
【0083】
なお、パターン分類部15は、複数のパターンを1以上のパターンクラスタに分類する際に、別な方法を用いてもよい。
【0084】
以下、その一例を説明する。なお、説明のない点については、上記の実施例と同様である。
【0085】
ここでは、便宜上、図13に示すように、前述のパターンP1などの代わりに、5つのパターンP101〜P105を使用し、前述のキーワードK1などの代わりに、5つのキーワードK11〜K15を使用することとする。
【0086】
図5のステップS11では、クエリ発行部14は、パターンP101〜P105における第1ノードに対し、各キーワードK11〜K15を含ませて、5(パターン数)×5(キーワード数)個(合計25個)の検索パターンP1011〜P1055という)を生成する(S11)。
【0087】
クエリ発行部14が、検索パターンP1011〜P1055をクエリに変換し、それをグラフデータベース12に送信することで、その検索パターンにマッチするサブグラフをグラフGから取得する(S15)。
【0088】
クエリ発行部14は、パターンP101〜P105、サブグラフ、しきい値「0.7」、クラス「組織」をパターン分類部15に与える(S17)。
【0089】
パターン分類部15は、サブグラフ、しきい値、クラスに基づいて、パターンを分類し(S19)、分類結果をパターンクラスタデータベース16に格納する(S21)。
【0090】
ここで、ステップS19を詳述する。ステップ19では、パターン分類部15は、パターンP101〜P105を1以上のパターンクラスタに分類する。
【0091】
図14は、そのステップS19の動作を示すフローチャートである。
【0092】
パターン分類部15は、まず、検索パターンP1011〜P1055から、該当のサブグラフを得られなかった検索で使用された検索パターンを除外する(S191)。
【0093】
図15に示すように、パターン分類部15は、×印のついた升目に該当する検索パターンを除外する。
【0094】
次に、パターン分類部15は、図15において枠線Y1で囲って示したように、2つの各パターン(例えば、パターンP101、P102)に共通のキーワード(例えば、キーワードK11)を含ませて得た検索パターン(例えば、検索パターンP1011、P1021)から共にサブグラフが得られた場合には当該2つのパターン(パターンP101、P102)を互いに関連づける(S193)。
【0095】
図15において、枠線Y2で囲って示したように、4つのパターンP101〜P104は互いに関連づけられる。
【0096】
また、パターン分類部15は、互いに関連づけられた複数のパターンから得られ且つ除外されていない検索パターンに含まれた1つ以上のキーワードをキーワードクラスタと定義する(S195)。図15によれば、キーワードK11〜K14がキーワードクラスタ(キーワードクラスタC1という)と定義される。
【0097】
また、パターン分類部15は、他のパターンと関連づけられていない単一のパターンから得られ且つ除外されていない検索パターンに含まれた1つ以上のキーワードをキーワードクラスタと定義する(S195)。図15によれば、キーワードK15がキーワードクラスタ(キーワードクラスタC2という)と定義される。
【0098】
次に、パターン分類部15は、各キーワードクラスタC1、C2から1つのキーワードを選択する(S197)。その際に、パターン分類部15は、選択されるキーワードを含み且つ除外されていない検索パターンの数が最も多くなるようにする。図15によれば、キーワードクラスタC1、C2からそれぞれキーワードK11、K14が選択される。
【0099】
次に、パターン分類部15は、キーワードクラスタC1につき、選択されたキーワードK11を含み且つ除外されていない検索パターンP1011、P1021、P1031を生成するために使用された1つ以上のパターンP101、P102、P103を選択する(S199)。
【0100】
また、パターン分類部15は、キーワードクラスタC2につき、選択されたキーワードK14を含み且つ除外されていない検索パターンP1055を生成するために使用された1つ以上のパターンP105を選択する(S199)。
【0101】
なお、キーワードクラスタC1については、パターンP101、P102、P103が選択され(S199)、パターンP104は選択されなかったが、このように選択されなかったパターンが複数ある場合には、そのような複数のパターンを、このステップS19と同様にして、1以上のパターンクラスタに分類してもよい。
【0102】
さて、次に、パターン分類部15は、選択されたパターンP101、P102、P103に含まれ且つ互いに類似する複数のパターンをパターンクラスタと定義し、パターンP101、P102、P103に含まれ且つ他のパターンと類似しない単一のパターンをパターンクラスタと定義し、パターンP101、P102、P103を1つ以上のパターンクラスタに分類する(S1911)。
【0103】
ここで、パターン分類部15は、パターンP101、P102、P103のような、複数のパターンを含むパターンクラスタに含まれるいずれの2パターンも、その2つのパターンについて求めた類似判定値が予め定めた条件を満たすようにする。
【0104】
パターンP101、P102の例を説明する。
【0105】
パターン分類部15は、パターンP101にキーワードK11を含ませた検索パターンP1011に合致する1つ以上のサブグラフにおけるクラス「組織」が定義されたノード(第2ノードという)内のインスタンスの集合をR101、パターンP102にキーワードK11を含ませた検索パターンP1021に合致する1つ以上のサブグラフにおけるクラス「組織」が定義されたノード(第2ノード)内のインスタンスの集合をR102として、
類似判定値T(P101、P102)=|R101∩R102|÷|R101∪R102|
ただし、
|R101∩R102|は、R101とR102の積集合の中のインスタンス数、
|R101∪R102|は、R101とR102の和集合の中のインスタンス数、
を計算し、類似判定値がしきい値「0.7」以上となるようにする。
【0106】
ここで、類似判定値T(P101、P102)におけるP101、P102は、パターンP1、P2に関するものという意味である。
【0107】
類似判定値がしきい値未満なら、パターンP101、P102は、1つのパターンクラスタには含まれないこととなる。
【0108】
例えば、図16に示すように、R101がインスタンス「A部門」、「B部門」を含み、R102がインスタンス「A部門」、「B部門」、「C部門」を含むすると、R101∩R102は、「A部門」と「B部門」を含むので、|R101∩R102|=2である。
【0109】
R101∪R102は、「A部門」と「B部門」と「C部門」を含むので、|R101∪R102|=3である。
【0110】
よって、類似判定値T(P101、P102)=2÷3≒0.67となり、例えば、しきい値が「0.6」なら、そのしきい値以上と判定される。これにより、パターンP101、P102は1つのパターンクラスタに含まれることとなる。例えば、しきい値が「0.9」なら、そのしきい値未満と判定される。これにより、パターンP101、P102は1つのパターンクラスタに含まれないこととなる。
【0111】
このようにして、パターン分類部15は、例えば、2つのパターンP101、P102を含むパターンクラスタと、1つのパターンP103を含むパターンクラスタを生成する。
【0112】
また、パターン分類部15は、パターンP105についても同様のことを行うが、この場合、パターンP105がパターンクラスタとなる。
【0113】
これまでの説明では、便宜的に、3つまたは4つのパターンを分類する例を示したが、実際には、例えば、300個程度のパターンを分類することが多い。
【0114】
上記の別な方法を用いて、その際のしきい値を「0.8」として、330個のパターンを分類すると、例えば、図17に示すような結果が得られた。
【0115】
まず、330個のパターンから172個のパターンクラスタが得られた。1個のパターンを含むパターンクラスタの数は116であった。2個のパターンを含むパターンクラスタの数は35であった。以下、パターンクラスタ中のパターンの数とパターンクラスタの数の関係は、図に示す通りであった。
【0116】
図18は、図17の矢印Y3で示すパターンクラスタ内の9個のパターンを示す図である。
【0117】
これらのパターンは互いに類似しているので、クエリ発行部14は、ステップS59で、この330個のパターンを検索したなら、その330個に含まれる、図の9個のパターンから1つを選択する。同様にして、クエリ発行部14は、330個を172個に絞り込むのである。
【0118】
そして、ステップS63で172個が表示されたら、ユーザは、所望のパターンを172個のパターンから選択すればよく、つまり、330個のパターンから選択する必要はないので、利便性が向上する。
【0119】
以上説明したように、本実施の形態によれば、インスタンスをもつノード間がアークによって接続されたグラフGが記憶されるグラフデータベース12と、グラフG内のサブグラフを検索するためのN個のパターンにおける第1ノードに対し、互いに異なるM個のキーワードを含ませて、N×M個の検索パターンを生成し(S11)、グラフGから各検索パターンに合致するサブグラフを検索する(S15)グラフ検索手段(クエリ発行部14)と、検索されたサブグラフにおける第2ノード内のインスタンスを使用してN個のパターンにおける2つのパターンからなる組み合わせのそれぞれについて類似の度合いを求め、当該類似の度合いに基づいてN個のパターンを分類する(S19)パターン分類手段(パターン分類部15)とを備えることで、パターンの第1ノードにキーワードを含ませて得られる検索パターンに合致するサブグラフを検索し、そのサブグラフにおける第2ノード内のインスタンスを検索結果として得る場合のパターンを分類でき、パターンの数を実質的に低減することができる。また、パターンをユーザに選択させる場合などにおいて、ユーザはパターンを容易に選択することができる。
【0120】
また、パターン分類手段は、N個のパターンを、類似の度合いに基づいて、1つ以上のパターンを含むパターンクラスタに分類するものであって、各キーワードにつき、2つのパターンの一方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をA、当該2つのパターンの他方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をBとして、
類似判定値=|A∩B|÷|A∪B|
ただし、
A、Bが共に空集合でなく、
|A∩B|は、AとBの積集合の中のインスタンス数、
|A∪B|は、AとBの和集合の中のインスタンス数、
を計算した場合、
前記各キーワードに対応する類似判定値の中のk個(0<k≦K:ただしKは前記キーワードの個数)以上が所定のしきい値以上となる当該2つのパターンを同一のパターンクラスタに含ませるので、パターンの数を実質的に低減することができる。また、パターンをユーザに選択させる場合などにおいて、ユーザはパターンを容易に選択することができる。
【0121】
また、パターン分類手段は、N×M個の検索パターンから、該当のサブグラフを得られなかった検索で使用された検索パターンを除外し(S191)、2つの各パターンに共通のキーワードを含ませて得た検索パターンから共にサブグラフが得られた場合には当該2つのパターンを関連づけ(S193)、互いに関連づけられた複数のパターンから得られ且つ除外されていない検索パターンに含まれた1つ以上のキーワードをキーワードクラスタと定義し(S195)、他のパターンと関連づけられていない単一のパターンから得られ且つ除外されていない検索パターンに含まれた1つ以上のキーワードをキーワードクラスタと定義し(S195)、複数のキーワードを1つ以上のキーワードクラスタに分類し、各キーワードクラスタから1つのキーワードを選択するとともに、該選択されるキーワードを含み且つ除外されていない検索パターンの数が最も多くなるようにし(S197)、各キーワードクラスタにつき、選択されたキーワードを含み且つ除外されていない検索パターンを生成するために使用された1つ以上のパターンを選択し(S199)、選択された1つ以上のパターンに含まれ且つ互いに類似する複数のパターンをパターンクラスタと定義し、選択された1つ以上のパターンに含まれ且つ他のパターンと類似しない単一のパターンをパターンクラスタと定義し、選択された1つ以上のパターンを1つ以上のパターンクラスタに分類する(S1911)とともに、前者のパターンクラスタに含まれるいずれの2パターンも、2パターンの一方に選択されたキーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をA、前記2パターンの他方に前記選択されたキーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をBとした場合、
類似判定値=|A∩B|÷|A∪B|
ただし、
A、Bが共に空集合でなく、
|A∩B|は、AとBの積集合の中のインスタンス数、
|A∪B|は、AとBの和集合の中のインスタンス数、
が所定のしきい値より大きくなるようにするので、パターンの数を実質的に低減することができる。また、パターンをユーザに選択させる場合などにおいて、ユーザはパターンを容易に選択することができる。
【符号の説明】
【0122】
1…グラフ検索装置
2…ユーザ端末
3…表示装置
11…ユーザインタフェース
12…グラフデータベース
13…パターンデータベース
14…クエリ発行部
15…パターン分類部
16…パターンクラスタデータベース

【特許請求の範囲】
【請求項1】
インスタンスをもつノード間がアークによって接続されたグラフが記憶されるグラフデータベースと、
前記グラフ内のサブグラフを検索するためのN個のパターンにおける第1ノードに対し、互いに異なるM個のキーワードを含ませて、N×M個の検索パターンを生成し、前記グラフから前記各検索パターンに合致するサブグラフを検索するグラフ検索手段と、
前記検索されたサブグラフにおける第2ノード内のインスタンスを使用して前記N個のパターンにおける2つのパターンからなる組み合わせのそれぞれについて類似の度合いを求め、当該類似の度合いに基づいて前記N個のパターンを分類するパターン分類手段と
を備えることを特徴とするパターン分類装置。
【請求項2】
前記パターン分類手段は、
前記N個のパターンを、前記類似の度合いに基づいて、1つ以上のパターンを含むパターンクラスタに分類するものであって、
前記各キーワードにつき、2つのパターンの一方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をA、当該2つのパターンの他方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をBとして、
類似判定値=|A∩B|÷|A∪B|
ただし、
A、Bが共に空集合でなく、
|A∩B|は、AとBの積集合の中のインスタンス数、
|A∪B|は、AとBの和集合の中のインスタンス数、
を計算した場合、
前記各キーワードに対応する類似判定値の中のk個(0<k≦K:ただしKは前記キーワードの個数)以上が所定のしきい値以上となる当該2つのパターンを同一のパターンクラスタに含ませる
ことを特徴とする請求項1記載のパターン分類装置。
【請求項3】
インスタンスをもつノード間がアークによって接続されたグラフが記憶されるグラフデータベースを備えるパターン分類装置が行うパターン分類方法であって、
前記パターン分類装置のグラフ検索手段が、前記グラフ内のサブグラフを検索するためのN個のパターンにおける第1ノードに対し、互いに異なるM個のキーワードを含ませて、N×M個の検索パターンを生成し、前記グラフから前記各検索パターンに合致するサブグラフを検索し、
前記パターン分類装置のパターン分類手段が、前記検索されたサブグラフにおける第2ノード内のインスタンスを使用して前記N個のパターンにおける2つのパターンからなる組み合わせのそれぞれについて類似の度合いを求め、当該類似の度合いに基づいて前記N個のパターンを分類する
ことを特徴とするパターン分類方法。
【請求項4】
前記パターン分類手段は、
前記N個のパターンを、前記類似の度合いに基づいて、1つ以上のパターンを含むパターンクラスタに分類するものであって、
前記各キーワードにつき、2つのパターンの一方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をA、当該2つのパターンの他方に当該キーワードを含ませた検索パターンに合致する1つ以上のサブグラフにおける第2ノード内のインスタンスの集合をBとして、
類似判定値=|A∩B|÷|A∪B|
ただし、
A、Bが共に空集合でなく、
|A∩B|は、AとBの積集合の中のインスタンス数、
|A∪B|は、AとBの和集合の中のインスタンス数、
を計算した場合、
前記各キーワードに対応する類似判定値の中のk個(0<k≦K:ただしKは前記キーワードの個数)以上が所定のしきい値以上となる当該2つのパターンを同一のパターンクラスタに含ませる
ことを特徴とする請求項3記載のパターン分類方法。
【請求項5】
請求項1または2記載のパターン分類装置としてコンピュータを動作させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2011−39838(P2011−39838A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−187377(P2009−187377)
【出願日】平成21年8月12日(2009.8.12)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】