JP2012128479A - 検索装置及びプログラム - Google Patents
検索装置及びプログラム Download PDFInfo
- Publication number
- JP2012128479A JP2012128479A JP2010276750A JP2010276750A JP2012128479A JP 2012128479 A JP2012128479 A JP 2012128479A JP 2010276750 A JP2010276750 A JP 2010276750A JP 2010276750 A JP2010276750 A JP 2010276750A JP 2012128479 A JP2012128479 A JP 2012128479A
- Authority
- JP
- Japan
- Prior art keywords
- search
- node
- graph
- route
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/838—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
- G06F16/8373—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】データ要素をノードとしデータ要素同士の関係をリンクとするグラフ内での検索において、複数のリンクを跨ぐデータ要素同士の関係が満たすべき条件を厳密に指定しなくても検索できるよう支援する。
【解決手段】ユーザは、グラフ中での基準位置を示す基準ノードと、検索したい部分グラフを特定する検索条件とを、基準ノード受付部12及び検索条件受付部16に指定する。検索処理部26は、グラフ中からその検索条件を満たす部分グラフを検索する。ソート部30は、それら各検索結果を、例えば基準ノードからのホップ数などに基づき順位付けする。ソート結果提示部42は、各検索結果に対し基準ノードから当該検索結果の部分グラフまでのグラフ上の経路の情報を関連づけて表示した表示画像を提供する。ユーザは経路情報を参考に、それら検索結果の中から自分の欲しいものを選択する。
【選択図】図1
【解決手段】ユーザは、グラフ中での基準位置を示す基準ノードと、検索したい部分グラフを特定する検索条件とを、基準ノード受付部12及び検索条件受付部16に指定する。検索処理部26は、グラフ中からその検索条件を満たす部分グラフを検索する。ソート部30は、それら各検索結果を、例えば基準ノードからのホップ数などに基づき順位付けする。ソート結果提示部42は、各検索結果に対し基準ノードから当該検索結果の部分グラフまでのグラフ上の経路の情報を関連づけて表示した表示画像を提供する。ユーザは経路情報を参考に、それら検索結果の中から自分の欲しいものを選択する。
【選択図】図1
Description
本発明は、検索装置及びプログラムに関する。
データ要素同士の関係が構成するグラフ構造を記述する方式が知られている。例えば、リソース同士の関係を主語、述語、目的語の組(「トリプル」と呼ばれる)で記述するRDF(Resource Description Framework)はその一例である。RDFでは、複数のトリプルにより、主語又は目的語であるリソースをノードとし、述語をリンク(エッジ)とするグラフが表される。また、RDFで記述されたデータを検索するコンピュータ言語として、例えばSPARQL(SPARQL Protocol and RDF Query Language)が知られている。
特許文献1に開示されたデータベースシステムでは、複数のノードからなるノード集合体と各ノード間の関連の程度を示すリンクの集合からなるリンク集合体とを定義する。ノード・リンク集合体をデータベースのフロントエンドにおき、任意のノードが着目ノードとして指定された場合に、データベース内から着目ノードに対応するデータがオペレータに提供されるようにする。各ノードにはキーワードを定義しておく。オペレータが着目ノードに対して検索指示を与えると、リンクを介して、着目ノードに対してある程度以上の関連性を有する各ノードのキーワードがオペレータに提示され、そのうちの1つがオペレータにより新たな着目ノードとして採択される。各リンクは重みをもち、ノードの採択行為により、重みづけの修正や新リンクの追加が行われる。
本発明は、データ要素をノードとしデータ要素同士の関係をリンクとするグラフ内での検索において、複数のリンクを跨ぐデータ要素同士の関係が満たすべき条件を厳密に指定しなくても検索できるようユーザを支援することができる装置及びプログラムを提供することを目的とする。
請求項1に係る発明は、各データ要素をノードとしそれらデータ要素同士の関係を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象のノード又はリンク又はノードとリンクの組合せが満たすべき条件を示す検索条件と、の入力を受け付ける入力受付手段と、前記検索条件を満たすノード又はリンク又はノードとリンクの組合せを前記グラフデータから検索する検索手段と、前記検索手段により検索された1以上の検索結果を、それぞれ、前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを生成する検索結果データ生成手段と、を備える検索装置である。
請求項2に係る発明は、前記検索結果データに示された1以上の検索結果の中からユーザの選択を受け付ける選択受付手段と、前記選択受付手段に対してユーザが選択した検索結果についての経路データを記憶する経路データ記憶手段と、類似検索の指示と共に、当該類似検索の基準位置を示す第2基準ノードの入力をユーザから受け付ける類似検索指示受付手段と、前記類似検索の指示を受け付けた場合、前記検索手段が求めた前記各検索結果の少なくとも一部を、前記グラフ上での前記第2基準ノードから当該検索結果までの経路の、前記経路データ記憶手段に記憶された前記経路データが示す経路との類似度の高い順に提示されるよう制御する提示制御手段と、を備えることを特徴とする請求項1に記載の検索装置である。
請求項3に係る発明は、前記提示制御手段は、類似検索範囲の広さを示すあらかじめ設定されたリンク数に対し、前記検索条件が特定する部分グラフの最大リンク数を加算することで類似検索リンク数を求め、前記検索結果のうち、前記第2基準ノードから前記類似検索リンク数以内の範囲に含まれるものについて、前記グラフ上での前記第2基準ノードから当該検索結果までの経路の、前記経路データ記憶手段に記憶された前記経路データが示す経路との類似度の高い順に提示されるよう制御する、ことを特徴とする請求項2に記載の検索装置である。
請求項4に係る発明は、前記検索手段は、検索範囲の広さを示すあらかじめ設定されたリンク数に対し、前記検索条件が特定する部分グラフの最大リンク数を加算することで加算リンク数を求め、前記グラフのうち前記基準ノードから前記加算リンク数以内の範囲で、前記検索条件を満たすノード又はリンク又はノードとリンクの組合せを検索する、ことを特徴とする請求項1から3のいずれか1項に記載の検索装置である。
請求項5に係る発明は、コンピュータを、各データ要素をノードとしそれらデータ要素同士の関係を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象のノード又はリンク又はノードとリンクの組合せが満たすべき条件を示す検索条件と、の入力を受け付ける入力受付手段、前記検索条件を満たすノード又はリンク又はノードとリンクの組合せを前記グラフデータから検索する検索手段、前記検索手段により検索された1以上の検索結果を、それぞれ、前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを生成する検索結果データ生成手段、として機能させるためのプログラムである。
請求項1又は5に係る発明によれば、複数のリンクを跨ぐデータ要素同士の関係が満たすべき条件を厳密に指定しなくても検索できるようユーザを支援することができる。
請求項2に係る発明によれば、検索結果のうち少なくとも一部を、新たに指定された第2の基準ノードから各検索結果までの経路の、入力受付手段が受け付けた基準ノードか検索手段による検索結果のうちユーザが選択したものまでの経路に対する類似度の高い順に提示することができる。
請求項3に係る発明によれば、第2の基準ノードから指定されたリンク数以内の類似検索範囲から一部がはみ出す部分グラフも提示することができる。
請求項4に係る発明によれば、基準ノードから指定されたリンク数以内の検索範囲から一部がはみ出す部分グラフも検索することができる。
図1に、実施形態の検索装置の機能的な構成の一例を示す。
図1の構成において、データベース10には、データ要素同士の関係が構成するグラフ構造を表すデータが記憶されている。以下では、データ要素同士の関係をRDFで表現する場合の例を用いて説明する。ただし、実施形態の検索手法は、RDF以外の方式を用いる場合に適用してもよい。
図2に、データ要素同士の関係のグラフの例を示す。この例では、楕円形のノードがデータ要素を示し、ノード同士を結ぶリンク(矢印で示す)がそれらノード同士の関係を示す。この例では、ノード内の文字列が、対応するデータ要素のデータ内容の少なくとも一部を示し、リンクの矢印の近傍に表示された文字列が、データ要素間の関係の種類を示す。RDFを用いている場合、矢印の根本側のノードが主語を、矢印の先端側のノードが目的語をそれぞれ示し、リンク(矢印)がそれら両者間の関係である述語を示す。例えば、ノード102と104とが構成する関係は、"Workplace-a"という識別名の作業場所は"User-c"という識別名のユーザにより「参加された」("participated")、ということを示す(言い換えれば、「"Workplace-a"に"User-c"が参加した」ということ)。
図3は、図2に示したグラフを表すデータの一例を示す。図3に例示するデータには、主語、述語、目的語の組である「トリプル」が複数含まれている。1つの例では、データベース10には、図3に例示するようなデータが登録されている。ただし、これはあくまで一例に過ぎず、データ要素間の関係を記述できるデータ形式であれば、図3に例示した形式以外の形式を用いてもよい。
再び図1の説明に戻ると、データベース10は、後で説明する関連ノード抽出部22、検索処理部26等のグラフ検索のための機能が実装されるコンピュータに対して実装されていてもよいし、このコンピュータからインターネット等のネットワークを介して接続された別のコンピュータに実装されていてもよい。
基準ノード指定受付部12は、検索のための指定項目の1つとして、ユーザから基準ノードの指定を受け付ける。基準ノードは、ユーザが検索の基準位置(すなわち目印)とするノードのことである。ホップ数指定受付部14は、基準ノードからの検索範囲を表す上限ホップ数(すなわち、リンクの数)の指定をユーザから受け付ける。
検索条件指定受付部16は、グラフから検索すべき検索対象が満たすべき検索条件の指定をユーザから受け付ける。検索対象は、例えば部分グラフの形で指定してもよい。検索条件となる部分グラフは、典型的には、1以上のノードが1以上のリンクで結ばれた一続きのグラフである。また、1つのリンクのみ、あるいは1つのノードのみ、を検索条件の部分グラフとして指定可能としてもよい。検索条件の部分グラフに含まれるノード及びリンクの1以上を変数としてもよい。検索条件は、部分グラフ全体を検索結果として求めるものであってもよいし、その検索条件に適合(マッチ)する部分グラフの中の指定した1以上の変数を求めるものであってもよい。この場合、データベース10に記憶されたデータにより表されるグラフの中から、検索条件の部分グラフに適合する部分グラフが検索される。なお、検索条件は、例えば、SPARQL等のクエリ言語により記述すればよい。
本実施形態の検索装置は、「初期検索」と「類似検索」の2種類の検索方式をサポートしている。初期検索は、基準ノード及び検索条件を指定して行う検索である。一方、類似検索は、初期検索の検索結果を利用した検索である。類似検索では、基準ノードの指定は受けるが、検索条件の指定は不要である。なお、初期検索及び類似検索のどちらについても、検索範囲を規定するホップ数の指定は可能であるが必須ではない(ホップ数を指定しない場合、データベース10に記憶されたデータにより表されるグラフ全体となる)。したがって、初期検索のためのユーザインタフェース(UI)である初期検索UI18は、基準ノード指定受付部12,検索条件指定受付部16及びホップ数指定受付部14を含んだものとなり、類似検索のためのUIである類似検索UI20は基準ノード指定受付部12及びホップ数指定受付部14を含んだものとなる。基準ノード指定受付部12,ホップ数指定受付部14及び検索条件指定受付部16は、基準ノード、ホップ数、検索条件などの指定のための入力画面の画像を例えばウェブページその他の形式で作成し、その入力画面画像をユーザが操作するクライアント(例えばウェブブラウザ、あるいは専用の検索用クライアント)に対して提供する。この場合、クライアントは、図1に示した検索装置が実装されたコンピュータ上に実装されてもよいし、このコンピュータに対してインターネット等のネットワークを介して接続されるコンピュータ上に実装されていてもよい。
関連ノード抽出部22は、基準ノードから、指定されたホップ数の範囲内に含まれるノード(及びリンク)を抽出する。抽出されたノード群からなる部分グラフが、検索上範囲となる。関連ノード記憶部24には、それら抽出された関連ノード群が記憶される。
検索処理部26は、関連ノード記憶部24に記憶された関連ノード群からなる部分グラフから、検索条件に適合する部分グラフを検索する。検索結果記憶部28は、検索処理部26の検索結果を記憶する。
ソート部30は、検索結果記憶部28に記憶された各検索結果の順位付け(すなわちスコア付け)と、順位(又はスコア)に基づくソート(並べ替え)処理を実行する。この実施形態では、ソート部30は、ホップ数基準ソート処理32と経路類似度基準ソート処理34の2種類の順位付け及びソート処理の機能を備える。
ホップ数基準ソート処理32は、基準ノードから検索結果の部分グラフまでのホップ数(すなわちリンクの数)に基づいて順位付け及びソートを行うものである。基準ノードからのホップ数が少ないほど順位(あるいはスコア)を高くし、順位が高いものから降順に検索結果をソートする。ホップ数基準ソート処理32は、例えば、初期検索UI18から指示された初期検索の結果をソートする際に用いられる。
経路類似度基準ソート処理34では、基準ノードから検索結果までのグラフ上での経路と、基準の経路との類似度に基づいて順位付け及びソートを行う。基準の経路としては、例えば、初期検索の際の基準ノードから、初期検索の検索結果のうちユーザが選択したものまでのグラフ上での経路を用いればよい。経路類似度基準ソート処理34は、例えば、初期検索の結果を利用した類似検索の検索結果の順位付け及びソートの際に用いられる。
なお、例示したホップ数基準ソート処理32と経路類似度基準ソート処理34はあくまで一例に過ぎず、別の基準に基づく順位(スコア)付け及びソート処理を採用してもよい。ソート結果記憶部36は、ソート部30によるソート結果を記憶する。
検索結果提示UI40は、関連ノード抽出部22,検索処理部26及びソート処理部30による検索及びソート処理の結果をユーザに提示するユーザインタフェース処理を実行する。検索結果提示UI40は、ソート結果提示部42及び選択受付部44を備える。
ソート結果提示部42は、ソート部30によるソート結果(例えばこれはソート結果記憶部36に保持されている)を表示するソート結果表示画像を例えばウェブページなどの形式で生成し、この表示画像をユーザが操作するクライアント(例えばウェブブラウザ、あるいは専用の検索用クライアント)に提供する。
選択受付部44は、そのソート結果表示画像において順位(又はスコア)に従って並べられた各検索結果の中から、ユーザが着目するものの選択を受け付ける。例えば、ユーザが選択受付部44を用いて、表示された各検索結果の中から更に詳細に確認したいものを選択すると、選択された検索結果の詳細情報が表示されるようにしてもよい。詳細情報としては、例えば基準ノードからその検索結果の部分グラフまでのグラフ上の経路の表示情報(例えばそのグラフ上でその経路を強調表示したものなど)や、検索結果の部分グラフに含まれるノードやリンクについての情報(例えばノードに含まれるURL(Uniform Resource Locator)が指し示すリソースの内容など)などがある。また、選択受付部44は、ソートされた各検索結果のうち、ユーザが次の類似検索における基準とするものの選択を受け付ける機能を備える。ユーザが、次の類似検索の基準とする検索結果を選択すると、選択受付部44は、基準ノードからその選択された検索結果までのグラフ上での経路を基準経路として求め、基準経路記憶部38に記憶する。基準経路記憶部38に記憶された基準経路は、後の類似検索における検索結果をソートする際に経路類似度基準ソート処理34によって参照される。
次に、この実施形態の検索装置における検索処理の流れの例を説明する。
この実施形態の検索は、初期検索から始まる。初期検索では、図4に示すように、まず初期検索UI18の基準ノード指定受付部12により、グラフ中のノードのうち基準ノードとするノードの指定をユーザから受け付けると共に(S10)、ホップ数指定受付部14によりユーザから上限ホップ数の指定を受け付ける(S12)。
次に、関連ノード抽出部22は、指定された基準ノードから指定された上限ホップ数以内で到達できるノード群を、関連ノード群として抽出する(S14)。データベース10に記憶されたデータにより規定される元のグラフのうち、抽出された関連ノード群により構成される部分グラフが、以降の検索処理における検索範囲となる。例えば、図2のグラフにおいて、ノード102が基準ノードに指定され、上限ホップ数が「3」と指定された場合、検索範囲は図8に破線の矩形で示す範囲となる。
関連ノード群の抽出処理(S14)の詳細な処理手順の一例を、図5に示す。この例では、まずホップ数のカウンタを1に初期化し(S70)、処理対象とする注目ノードを収容するためのリストに、S10で指定された基準ノードを入れる(S72)。ここで、注目ノードのリストは、ホップ数ごとに作成される。例えば、S72では、カウンタが示すホップ数「1」に対応するリストに対し、基準ノードが唯一の注目ノードとして登録されることになる。
次に、リスト中の注目ノードごとに、S74〜S80の処理を実行する。すなわち、S74でリストから注目ノードを1つ取り出し、S76で、元のグラフにおいてその注目ノードに隣接する(すなわち1つのリンクを介して接続された)ノードをすべて、関連ノードとして抽出する。なお、S76では、既に関連ノードとして抽出済のノードは、重複して抽出しない。次に、抽出した各関連ノードについて、基準ノードから当該関連ノードまでのグラフ上での経路を求め、その経路の情報を当該関連ノードに対応づけて関連ノード記憶部24に登録する(S78)。
このようにして関連ノード記憶部24に記憶される各関連ノードのデータの例を、図6に示す。この例では、関連ノードごとに、そのノードの識別情報(図中での「ノード」)、基準ノードからのホップ数(図中での「ホップ数」)、及び基準ノードからの経路情報(図中での「基準ノードからの経路」)が登録されている。ここで「ホップ数」は、S78の処理を行う時点でのカウンタの値を登録すればよい。基準ノードからの経路情報は、例えば、基準ノードから出発して当該関連ノードに到達するまでに通過するグラフ上のリンク及びノードを、通過する順に並べたリストである。図6に示した関連ノード群のデータは、図2のグラフにおいてノード102を基準ノードとした場合の例である。
再び図5の説明に戻ると、S76にて抽出された各隣接ノードが、次のホップ数に対応するリストに対して注目ノードとして追加される(S80)。なお、S74でリストから取り出された注目ノードは、リストからは削除されている。
今回のホップ数に対応するリストに含まれるすべての注目ノードについてS74〜S80の処理が終了すると、ホップ数のカウンタの値を1だけインクリメントする(S82)。そして、カウンタの値が上限ホップ数を上回ったかどうかを検査し(S84)、上回っていなければ、そのカウンタ値に対応するリストに含まれる各注目ノードを対象として、S74〜S80の処理を行う。S84で、カウンタの値が上限ホップ数を超えていると判定された場合、図5の処理は終了する。
再び図4の手順の説明に戻る。初期検索UI18の検索条件指定受付部16により、検索条件の指定を受け付ける(S16)。検索条件として指定される部分グラフの例を図7に示す。図7に例示する部分グラフは、"Document"(文書)に該当する種類のノードを主語とし、"Comment"(コメント)に該当する種類のノードを目的語とし、述語が"Commented"(コメントされた)である1つのトリプルで表されるグラフである。この部分グラフは、ある文書に対しあるコメントが付されている、という関係を表す。もちろん、検索条件としては、3以上のノードを含んだもっと複雑な部分グラフを指定してもよい。図4の手順では関連ノード群の抽出(S14)の後に検索条件の指定を受け付けているが、検索条件の指定を受け付けるタイミングはS14の前であってももちろんよい。ユーザが入力した検索条件(部分グラフ)は、例えばSPARQLにより記述され、検索処理部26に渡される。
検索処理部26は、S14で抽出された関連ノード群(すなわち検索範囲)の中から、S16で指定された検索条件にマッチする部分グラフを検索する(S18)。例えば、図2に例示したグラフにおいて、ノード102を基準ノードとし、上限ホップ数を3とし、図7に例示した部分グラフを検索条件として検索を行うと、図8に例示するように、部分グラフ110及び112が検索結果として求められる。
次に、ソート部30が、検索処理部26により検索された各検索結果を、ホップ数の順にソートする(S20)。このソート処理では、例えば、S18で求められた検索結果ごとに、当該検索結果の部分グラフに含まれる各ノードの基準ノードからのホップ数を関連ノード記憶部24(図6参照)から求め、それらホップ数のうちの例えば最小値を当該検索結果に対応するホップ数とする。そして、そのホップ数の昇順に各検索結果をソートする。ソート結果は、ソート結果記憶部36に記憶される。ソート結果の例を、図9に示す。この例では、ソート結果記憶部36には、各検索結果の部分グラフが、対応するホップ数の小さい順に、基準ノードからその部分グラフまでの経路と共に登録される。なお、この経路の情報は、当該検索結果の部分グラフにおけるホップ数が最小のノードの、基準ノードからの経路情報であり、これは関連ノード記憶部24から求めればよい。なお、RDFにより表されるグラフは有向グラフ(すなわち、述語が表すリンクは、例えば主語から目的語を指す矢印となる)なので、基準ノードから部分グラフまでの経路に含まれるリンクは、(基準ノードから部分グラフの入口のノードに向かって)順方向のものと逆方向のものがある。図9では、逆方向のリンクには、下線を付している。
なお、ここで説明したソート処理の例では、検索結果の部分グラフに含まれるノードの中のホップ数の最小値を当該検索結果のホップ数としたが、これは一例に過ぎない。この代わりに、検索結果の部分グラフに含まれるノードの中のホップ数の例えば最大値を当該検索結果のホップ数としてもよい。
このようにソート結果が求められると、そのソート結果がソート結果提示部42によりユーザに提供される(S22)。提示されるソート結果の表示画像には、順位に従って並べられた各検索結果が、基準ノードからのグラフ上の経路の情報と共に表示される。
基準ノードから検索結果の部分グラフまでの全体をユーザが前もって検索条件として指定することは困難な場合が多いが、基準ノードと部分グラフ(検索条件)とを指定することはそれよりもはるかに容易である。ユーザが、例えば断片的な記憶などを元に基準ノードと検索条件の部分グラフとを本実施形態の検索装置に指定すれば、この検索装置は、検索条件を満たす各検索結果(部分グラフ)を、基準ノードからその検索結果までの経路の情報と共にユーザに提供する。ユーザは、経路の情報も参考に、検索結果の各部分グラフの中から、自分が検索したかったものを特定する。この意味では、経路の情報が第一義的であり、ホップ数に基づく順位付けは参考的な情報である。
ユーザは、選択受付部44に対して、ソート結果に含まれる各部分グラフの中から、自分が検索したかったものではないかと思われる部分グラフを選択してもよい。選択が行われると(S24の選択結果がYes)、ソート結果提示部42は選択された部分グラフについての詳細情報を表示し(S26)、基準ノードから選択された部分グラフまでの経路情報を、基準経路記憶部38に登録する(S28)。ここで、ソート結果から部分グラフを選択すると、例えば、類似検索を指示するためのGUI(グラフィカルユーザインタフェース)が画面表示され、ユーザが類似検索の実行を指示すると、図10に例示する処理手順が実行される。ユーザは、類似検索の実行ではなく、ソート結果から他の部分グラフを選択してもよく(図4では表示省略)、この場合新たに選択された部分グラフについてS26及びS28の処理が実行される。
また、ユーザは、類似検索に進む代わりに、上限ホップ数又は検索条件(部分グラフ)の少なくとも一方を変更してもよい(S32の判定結果がYes)。このような変更を行う場合、処理はステップS12に戻り、新たに上限ホップ数や検索条件が指示され、それらに従って検索処理(S18)が再び実行される。
ユーザが、検索終了の操作を行うと、S32の判定結果がNoとなり、一連の検索処理手順が終了する。
次に、図10を参照して、類似検索の処理手順の例を説明する。類似検索は、新たに指定された基準ノードから、初期検索のS58で登録された基準経路に近い部分グラフを検索する処理である。
図10の手順では、類似検索の基準ノードの指定を受け付け(S40)、更に類似検索における上限ホップ数の指定を受け付ける(S42)。なお、上限ホップ数については、ユーザが変更しなければ、初期検索時の値をそのまま用いる。そして、関連ノード抽出部22が、新たに指定された類似検索の基準ノードから、その上限ホップ数の範囲内にある関連ノード群を抽出し(S44)、抽出結果を関連ノード記憶部26に記憶する。S44の処理は、図5と同様の処理手順により行えばよい。関連ノード群が抽出されると、それら関連ノード群が表す検索範囲内で、検索処理部26が検索処理を実行する(S46)。このとき用いる検索条件は、初期検索のときに用いた条件と同じである。検索が完了すると、ソート部30が、経路類似度基準ソート処理34を実行することにより、検索結果ごとに、基準ノードからその検索結果までの経路と、基準経路記憶部38に記憶された基準経路との類似度を計算する(S48)。類似度の計算は、例えばGraph edit distance法など、グラフ同士の類似度を計算するための公知の方法を用いればよい。経路類似度基準ソート処理34では、このようにして求めた類似度の降順(すなわち類似度が高い順)に、検索結果をソートする(S50)。そして、そのソート結果をソート結果提示部42からユーザに提供する(S52)。この類似検索におけるソート結果の表示画像でも、検索された各部分グラフに対する基準ノードからの経路の情報を合わせて表示する。
このようにして提供された類似検索処理のソート結果の中から、ユーザは特定の検索結果(部分グラフ)を選択してもよい(S54の選択結果がYes)。この場合、選択された部分グラフの詳細情報が検索結果提示UI40に表示され(S58)、基準ノードから選択された部分グラフまでの経路情報が基準経路記憶部38に記憶される(S58)。ここで、更なる類似検索を指示する(S60の判定結果がYes)ことにより、このように新たに記憶された経路情報を基準経路として、S40に戻って新たな類似検索を実行するようにしてもよい。もちろんユーザは、新たな類似検索の実行ではなく、ソート結果から他の部分グラフを選択してもよく(図10では表示省略)、この場合新たに選択された部分グラフについてS56及びS58の処理が実行される。
また、ユーザは、S58で新たに記憶した基準経路に基づく新たな類似検索に進む代わりに、上限ホップ数を変更してもよい(S62の判定結果がYes)。このような変更を行う場合、処理はステップS42に戻り、新たに上限ホップ数が指示され、それらに従って検索処理(S46)及びソート処理(S48及びS50)が再び実行される。なお、このときのS48では、S58で新たに記憶した基準経路ではなく、初期検索において記憶した基準経路を用いる。
例えば、図2のグラフに対し、図7の部分グラフを検索条件とした初期検索を実行し、図8に示す検索結果の部分グラフ110及び112のうち、部分グラフ112がS24で選択され、類似検索に進んだ場合を考える。この場合、基準経路は、"Workspace-a, participated, User-c, created"(下線は、逆方向のリンクであることを示す)である。ノードを個別のものから種類別へと一般化すると、基準経路は"Workspace, participated, User, created"である。この状況で、ノード106が類似検索の基準ノードとして指定され、上限ホップ数が「3」に指定された場合、S46の検索処理では、図11に例示する部分グラフ120及び122が検索結果として求められる。ここで、基準ノード106から検索結果の各部分グラフ120及び122までの各経路と、基準経路"Workspace, participated, User, created"とを比較すると、部分グラフ120までの経路の方が基準経路に近い。したがって、類似度は部分グラフ120の方が高くなり、ソート結果は部分グラフ120,122の順となる。
なお、以上の例では、類似度を求めるにあたり基準ノードから検索結果の部分グラフまでの経路にはその部分グラフ自体は含めなかったが、部分グラフ自体を経路に含めて類似度を求めてもよい。
以上に説明したように、類似検索では、基準ノードを新たに指定して、その新たな基準ノードから見て、初期検索でユーザが特定した基準経路と類似の経路を持つ部分グラフが検索される。したがって、類似検索では、いわば、新たな視点(基準ノード)から、前の検索の結果である基準経路と類似した検索結果が求められることとなる。
以上の例では、検索範囲を基準ノードから上限ホップ数以内の検索範囲内から検索条件に合致する部分グラフを検索した。この場合、部分グラフ全体が検索範囲内に含まれていないと、その部分グラフは検索されない。例えば図12に示すグラフ100において、基準ノードがノード102と、上限ホップ数が「3」と、検索条件として部分グラフ130が指定された場合、グラフ100中の部分グラフ135は検索条件に適合するが、一部のノードが検索範囲(破線で示した矩形)から外れるため、検索されないことになる。
これに対し、検索条件に適合する部分グラフの一部のノードでも検索範囲内に含まれていたら、その部分グラフを検索するようにしてもよい。このためには、例えば、指定された上限ホップ数に対して検索条件の部分グラフの最大ホップ数(すなわち部分グラフ中のノード同士の間のホップ数の中の最大値)を上限ホップ数に加算し、基準ノードからその加算結果のホップ数の範囲を検索範囲とすればよい。
例えば、図12の例では、検索条件の部分グラフ130の最大ホップ数は「2」なので、指定された上限ホップ数「3」にこの最大ホップ数を加えた結果「5」が、拡張した検索範囲の広さを示すものとなる。図13に示すように、検索条件130を満たす部分グラフ135は、このように拡張された検索範囲150内に完全に含まれているので、検索されることとなる。このような検索範囲の拡張は、初期検索及び類似検索のどちらに適用してもよい。
以上に例示した検索装置は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
10 データベース、12 基準ノード指定受付部、14 ホップ数指定受付部、16 検索条件指定受付部、18 初期検索UI、20 類似検索UI、22 関連ノード抽出部、24 関連ノード記憶部、26 検索処理部、28 検索結果記憶部、30 ソート部、32 ホップ数基準ソート処理、34 経路類似度基準ソート処理、36 ソート結果記憶部、38 基準経路記憶部、40 検索結果提示UI、42 ソート結果提示部、44 選択受付部。
Claims (5)
- 各データ要素をノードとしそれらデータ要素同士の関係を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象のノード又はリンク又はノードとリンクの組合せが満たすべき条件を示す検索条件と、の入力を受け付ける入力受付手段と、
前記検索条件を満たすノード又はリンク又はノードとリンクの組合せを前記グラフデータから検索する検索手段と、
前記検索手段により検索された1以上の検索結果を、それぞれ、前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを生成する検索結果データ生成手段と、
を備える検索装置。 - 前記検索結果データに示された1以上の検索結果の中からユーザの選択を受け付ける選択受付手段と、
前記選択受付手段に対してユーザが選択した検索結果についての経路データを記憶する経路データ記憶手段と、
類似検索の指示と共に、当該類似検索の基準位置を示す第2基準ノードの入力をユーザから受け付ける類似検索指示受付手段と、
前記類似検索の指示を受け付けた場合、前記検索手段が求めた前記各検索結果の少なくとも一部を、前記グラフ上での前記第2基準ノードから当該検索結果までの経路の、前記経路データ記憶手段に記憶された前記経路データが示す経路との類似度の高い順に提示されるよう制御する提示制御手段と、
を備えることを特徴とする請求項1に記載の検索装置。 - 前記提示制御手段は、類似検索範囲の広さを示すあらかじめ設定されたリンク数に対し、前記検索条件が特定する部分グラフの最大リンク数を加算することで類似検索リンク数を求め、前記検索結果のうち、前記第2基準ノードから前記類似検索リンク数以内の範囲に含まれるものについて、前記グラフ上での前記第2基準ノードから当該検索結果までの経路の、前記経路データ記憶手段に記憶された前記経路データが示す経路との類似度の高い順に提示されるよう制御する、
ことを特徴とする請求項2に記載の検索装置。 - 前記検索手段は、検索範囲の広さを示すあらかじめ設定されたリンク数に対し、前記検索条件が特定する部分グラフの最大リンク数を加算することで加算リンク数を求め、前記グラフのうち前記基準ノードから前記加算リンク数以内の範囲で、前記検索条件を満たすノード又はリンク又はノードとリンクの組合せを検索する、
ことを特徴とする請求項1から3のいずれか1項に記載の検索装置。 - コンピュータを、
各データ要素をノードとしそれらデータ要素同士の関係を表す関係データをリンクとするグラフを表すグラフデータについて、前記グラフにおける検索の基準位置を示す基準ノードと、検索対象のノード又はリンク又はノードとリンクの組合せが満たすべき条件を示す検索条件と、の入力を受け付ける入力受付手段、
前記検索条件を満たすノード又はリンク又はノードとリンクの組合せを前記グラフデータから検索する検索手段、
前記検索手段により検索された1以上の検索結果を、それぞれ、前記基準ノードから当該検索結果までの前記グラフ上の経路を示す経路データとともに示す検索結果データを生成する検索結果データ生成手段、
として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010276750A JP2012128479A (ja) | 2010-12-13 | 2010-12-13 | 検索装置及びプログラム |
US13/089,849 US8521727B2 (en) | 2010-12-13 | 2011-04-19 | Search apparatus, search method, and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010276750A JP2012128479A (ja) | 2010-12-13 | 2010-12-13 | 検索装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012128479A true JP2012128479A (ja) | 2012-07-05 |
Family
ID=46200428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010276750A Pending JP2012128479A (ja) | 2010-12-13 | 2010-12-13 | 検索装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8521727B2 (ja) |
JP (1) | JP2012128479A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015133097A (ja) * | 2014-01-09 | 2015-07-23 | 富士通株式会社 | 格納データアクセス制御装置 |
JP2015532495A (ja) * | 2012-10-19 | 2015-11-09 | パテント アナリティクス ホールディング プロプライエタリー リミテッドPatent Analytics Holding Pty Ltd | ネットワークデータセットを提示し、視覚的にナビゲートするためのシステム及び方法 |
KR20160033665A (ko) * | 2014-07-16 | 2016-03-28 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 추천 결과를 디스플레이하기 위한 방법 및 장치 |
JP2016042373A (ja) * | 2012-07-23 | 2016-03-31 | フェイスブック,インク. | ソーシャルグラフ情報に基づく構造化検索クエリ |
JP2016173721A (ja) * | 2015-03-17 | 2016-09-29 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
WO2017094820A1 (ja) * | 2015-12-02 | 2017-06-08 | 日本電気株式会社 | 支援装置、支援方法および記録媒体 |
JP2020024724A (ja) * | 2015-03-17 | 2020-02-13 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
JP2021180000A (ja) * | 2020-10-30 | 2021-11-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 情報検索方法、装置、電子デバイス、記憶媒体、及びプログラム |
CN117440020A (zh) * | 2023-12-18 | 2024-01-23 | 深圳市金固祥科技有限公司 | 一种应急侦测通信指挥一体化平台的调度管理方法及*** |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798768B2 (en) | 2012-09-10 | 2017-10-24 | Palantir Technologies, Inc. | Search around visual queries |
JP6136685B2 (ja) * | 2013-07-16 | 2017-05-31 | 富士通株式会社 | データ抽出方法及びデータ抽出プログラム |
JP6102594B2 (ja) | 2013-07-16 | 2017-03-29 | 富士通株式会社 | データ出力方法及びデータ出力プログラム |
US9348880B1 (en) | 2015-04-01 | 2016-05-24 | Palantir Technologies, Inc. | Federated search of multiple sources with conflict resolution |
US10783162B1 (en) | 2017-12-07 | 2020-09-22 | Palantir Technologies Inc. | Workflow assistant |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006313501A (ja) * | 2005-05-09 | 2006-11-16 | Nippon Telegr & Teleph Corp <Ntt> | 共通クエリグラフパターン生成装置、生成方法、生成用プログラム、およびこれらを用いた共通サブグラフ検索装置、検索方法、検索用プログラム |
JP2007140707A (ja) * | 2005-11-15 | 2007-06-07 | Nippon Telegr & Teleph Corp <Ntt> | グラフ検索装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198701A (ja) | 1997-01-13 | 1998-07-31 | Dainippon Printing Co Ltd | データベースシステム |
SG119169A1 (en) * | 2003-01-20 | 2006-02-28 | Nanyang Polytechnic | Path searching system using multiple groups of cooperating agents and method thereof |
US7860855B2 (en) * | 2007-02-13 | 2010-12-28 | Sap Ag | Method and system for analyzing similarity of concept sets |
-
2010
- 2010-12-13 JP JP2010276750A patent/JP2012128479A/ja active Pending
-
2011
- 2011-04-19 US US13/089,849 patent/US8521727B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006313501A (ja) * | 2005-05-09 | 2006-11-16 | Nippon Telegr & Teleph Corp <Ntt> | 共通クエリグラフパターン生成装置、生成方法、生成用プログラム、およびこれらを用いた共通サブグラフ検索装置、検索方法、検索用プログラム |
JP2007140707A (ja) * | 2005-11-15 | 2007-06-07 | Nippon Telegr & Teleph Corp <Ntt> | グラフ検索装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016042373A (ja) * | 2012-07-23 | 2016-03-31 | フェイスブック,インク. | ソーシャルグラフ情報に基づく構造化検索クエリ |
JP2015532495A (ja) * | 2012-10-19 | 2015-11-09 | パテント アナリティクス ホールディング プロプライエタリー リミテッドPatent Analytics Holding Pty Ltd | ネットワークデータセットを提示し、視覚的にナビゲートするためのシステム及び方法 |
JP2015133097A (ja) * | 2014-01-09 | 2015-07-23 | 富士通株式会社 | 格納データアクセス制御装置 |
KR101974695B1 (ko) * | 2014-07-16 | 2019-05-02 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 추천 결과를 디스플레이하기 위한 방법 및 장치 |
KR20160033665A (ko) * | 2014-07-16 | 2016-03-28 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 추천 결과를 디스플레이하기 위한 방법 및 장치 |
JP2016532962A (ja) * | 2014-07-16 | 2016-10-20 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | 推奨結果の展示方法及び装置 |
JP2020024724A (ja) * | 2015-03-17 | 2020-02-13 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
JP2016173721A (ja) * | 2015-03-17 | 2016-09-29 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
JPWO2017094820A1 (ja) * | 2015-12-02 | 2018-10-04 | 日本電気株式会社 | 支援装置、支援方法およびプログラム |
WO2017094820A1 (ja) * | 2015-12-02 | 2017-06-08 | 日本電気株式会社 | 支援装置、支援方法および記録媒体 |
US11372839B2 (en) | 2015-12-02 | 2022-06-28 | Nec Corporation | Anomalous event confirmation assistance apparatus, anomalous event confirmation assistance meithod, and recording medium |
JP2021180000A (ja) * | 2020-10-30 | 2021-11-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 情報検索方法、装置、電子デバイス、記憶媒体、及びプログラム |
CN117440020A (zh) * | 2023-12-18 | 2024-01-23 | 深圳市金固祥科技有限公司 | 一种应急侦测通信指挥一体化平台的调度管理方法及*** |
CN117440020B (zh) * | 2023-12-18 | 2024-04-02 | 深圳市金固祥科技有限公司 | 一种应急侦测通信指挥一体化平台的调度管理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US8521727B2 (en) | 2013-08-27 |
US20120150873A1 (en) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012128479A (ja) | 検索装置及びプログラム | |
US10783324B2 (en) | Wizard for configuring a field extraction rule | |
US10783318B2 (en) | Facilitating modification of an extracted field | |
US9753909B2 (en) | Advanced field extractor with multiple positive examples | |
US10929603B2 (en) | Context-based text auto completion | |
JP4381012B2 (ja) | 万物識別子を用いたデータ検索システムおよびデータ検索方法 | |
JP5040925B2 (ja) | 情報抽出規則作成支援システム、情報抽出規則作成支援方法及び情報抽出規則作成支援プログラム | |
JP5370159B2 (ja) | 情報抽出装置及び情報抽出システム | |
KR101042500B1 (ko) | 이전 질의어를 이용한 검색 결과 제공 방법 및 장치 | |
JP2010055483A (ja) | 情報再取得手順生成プログラム及び情報再取得手順生成装置 | |
JP2008217600A (ja) | 情報検索装置、情報検索方法、情報検索プログラム、及び記録媒体 | |
JP5493845B2 (ja) | 検索支援プログラム、検索支援装置、及び検索支援方法 | |
JP2014112433A (ja) | 代表者の信頼度を用いた検索結果順位化装置および方法 | |
JP5747749B2 (ja) | 検索装置及びプログラム | |
JP4420210B2 (ja) | プログラム開発支援装置および処理方法 | |
KR20120115005A (ko) | 효율적으로 질의를 처리하는 방법 및 장치 | |
JP4888534B2 (ja) | プログラム開発支援装置および処理方法 | |
JP2020064412A (ja) | 目的別検索システム、目的別検索プログラム及び目的別検索方法 | |
JP2008276524A (ja) | 情報処理装置及び情報処理方法 | |
WO2011052116A1 (ja) | ウェブクローリング初期点選択システム、方法及びプログラム | |
JP4959032B1 (ja) | ウェブページ解析装置およびウェブページ解析用プログラム | |
JPH03286371A (ja) | 文書情報検索装置 | |
KR102602889B1 (ko) | 검색 키워드 추천 및 확장 방법 | |
JP2007179505A (ja) | 検索装置、検索システム、検索方法、検索プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150324 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150728 |