(57)【要約】【課題】特定のノードに関連性があり、かつ、分析対象に関連性があるノードを精度良く抽出すること。【解決手段】サーバ１は、受け付けられたノードに関連性があるノード、および、抽出されたノードに関連性があるノードを選択する。そして、サーバ１は、テーブルにおける関連度を算出する際に用いる項目の登録内容に基づいて、テーブルにおける分析対象の登録内容が登録された項目の登録内容ごとに、次のような関連度を算出する。すなわち、サーバ１は、テーブルにおける分析対象の登録内容が登録された項目に登録された登録内容と選択されたノードとの関連度を算出する。続いて、サーバ１は、算出された関連度に基づいて、選択されたノードの中から、分析対象との関連性があるノードを抽出する。【選択図】図６
2014130539.tif 000002
【特許請求の範囲】
【請求項１】
所定の事項に関するテキストから得られたノードリンクに含まれるノードの中から、ノードを受け付け、前記所定の事項に関するテーブルの項目の中から、分析対象の登録内容が登録された第１の項目を受け付け、前記分析対象の登録内容を受け付け、前記テーブルの項目の中から、前記テーブルにおける前記第１の項目に登録された登録内容とノードとの関連性を示す度合いである関連度を算出する際に用いる第２の項目を受け付ける受付部と、
前記受付部により受け付けられたノードに関連性があるノード、および、抽出されたノードに関連性があるノードを選択する選択部と、
前記テーブルにおける前記第２の項目の登録内容に基づいて、前記テーブルにおける前記第１の項目の登録内容ごとに、前記テーブルにおける前記第１の項目に登録された登録内容と前記選択部により選択されたノードとの前記関連度を算出する算出部と、
前記算出部により算出された関連度に基づいて、前記選択部により選択されたノードの中から、前記分析対象との関連性があるノードを抽出する抽出部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記選択部により選択されたノードを含むテキストに対応する前記テーブルのレコード間の所定の共通性を満たす項目および該項目の登録内容を特定する特定部をさらに有し、
前記算出部は、前記特定部により特定された項目および該項目の登録内容を含むレコードに含まれる前記第２の項目の登録内容に基づいて、前記テーブルにおける前記第１の項目の登録内容ごとに、前記テーブルにおける前記第１の項目に登録された登録内容と前記選択部により選択されたノードとの前記関連度を算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択部は、前記抽出部によりノードが抽出されるたびに、抽出されたノードに関連性があるノードのそれぞれを選択し、
前記算出部は、前記選択部により選択されたノードのそれぞれについて、前記テーブルにおける前記第１の項目の登録内容ごとに、前記テーブルにおける前記第１の項目に登録された登録内容と前記選択部により選択されたノードとの前記関連度を算出し、
前記抽出部は、前記選択部により選択されたノードのそれぞれについて前記算出部により算出された前記関連度のうち最も高い関連度が算出されたノードであって、前回抽出されたノードについて前記算出部により算出された関連度よりも高い関連度が算出されたノードを、前記分析対象との関連性があるノードとして抽出する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記抽出部により抽出されたノードに係る情報を出力する出力部
をさらに有することを特徴とする請求項１〜３のいずれか１つに記載の情報処理装置。
【請求項５】
コンピュータに、
所定の事項に関するテキストから得られたノードリンクに含まれるノードの中から、ノードを受け付け、前記所定の事項に関するテーブルの項目の中から、分析対象の登録内容が登録された第１の項目を受け付け、前記分析対象の登録内容を受け付け、前記テーブルの項目の中から、前記テーブルにおける前記第１の項目に登録された登録内容とノードとの関連性を示す度合いである関連度を算出する際に用いる第２の項目を受け付ける受付部により受け付けられたノードに関連性があるノード、および、抽出されたノードに関連性があるノードを選択し、
前記テーブルにおける前記第２の項目の登録内容に基づいて、前記テーブルにおける前記第１の項目の登録内容ごとに、前記テーブルにおける前記第１の項目に登録された登録内容と前記選択部により選択されたノードとの前記関連度を算出し、
算出された関連度に基づいて、選択されたノードの中から、前記分析対象との関連性があるノードを抽出する、
各処理を実行させることを特徴とするノード抽出プログラム。
【請求項６】
コンピュータが、
所定の事項に関するテキストから得られたノードリンクに含まれるノードの中から、ノードを受け付け、前記所定の事項に関するテーブルの項目の中から、分析対象の登録内容が登録された第１の項目を受け付け、前記分析対象の登録内容を受け付け、前記テーブルの項目の中から、前記テーブルにおける前記第１の項目に登録された登録内容とノードとの関連性を示す度合いである関連度を算出する際に用いる第２の項目を受け付ける受付部により受け付けられたノードに関連性があるノード、および、抽出されたノードに関連性があるノードを選択し、
前記テーブルにおける前記第２の項目の登録内容に基づいて、前記テーブルにおける前記第１の項目の登録内容ごとに、前記テーブルにおける前記第１の項目に登録された登録内容と前記選択部により選択されたノードとの前記関連度を算出し、
算出された関連度に基づいて、選択されたノードの中から、前記分析対象との関連性があるノードを抽出する、
各処理を実行することを特徴とするノード抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ノード抽出プログラムおよびノード抽出方法に関する。
【背景技術】
【０００２】
テキストの内容を分析するテキストマイニングという技術がある。例えば、複数のテキストデータから形態素解析器により抽出したノード（内容語、キーワード）のペアの出現頻度の多さを関連度の高さとし、関連度の高さが所定値を超えるようなノードのペアを関連性のあるノードのペアとして抽出する技術がある。また、かかる技術では、抽出したノードのペアの関連性が高いほど、ノード間の距離が短くなるようなノードリンクが生成され、生成されたノードリンクが表示される。これにより、ユーザは、テキスト全体の特徴を把握したり、ノード間の関連性の強さを視覚的に把握することができる。
【０００３】
また、ＤＷＨ（Data  WareHouse：データウェアハウス）のテーブルに登録されたデータに対して多次元的な分析を行うＯＬＡＰ（Online  Analytical  Processing）という技術がある。ＯＬＡＰは、データの中から、データを階層構造に分類した次元（軸に設定される項目）、および、データに含まれる数値データを抽出し、「スライス」、「ダイス」、「ドリルダウン」などの手法により多次元的な分析を行う。ここで、「スライス」は、分析結果に対して、さらに新たな次元が設定された軸を追加して、さらに詳細な分析を行う手法である。また、「ダイス」は、分析する次元（切り口）を変えて分析を行う手法である。また、「ドリルダウン」は、分析する次元をより詳細な次元に変更して、より詳細に分析を行う手法である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０５０７７号公報
【特許文献２】特開２０１０−４９４１１号公報
【特許文献３】特開２００５−２０２５３５号公報
【非特許文献】
【０００５】
【非特許文献１】“Ｉｎｔｅｒｓｔａｇｅ  Ｎａｖｉｇａｔｏｒ  Ｅｘｐｌｏｒｅｒ  Ｓｅｒｖｅｒ  概説書”、［online］、［平成２４年６月１５日検索］、インターネット＜ｈｔｔｐ：ｓｏｆｔｗａｒｅ．ｆｕｊｉｔｓｕ．ｃｏｍ／ｊｐ／ｍａｎｕａｌ／ｍａｎｕａｌｆｉｌｅｓ／Ｍ０６００３９／Ｂ１ＷＮ７８１１／０２Ｚ２００／ｇａｉ０２／ｇａｉ０００１３．ｈｔｍｌ＞
【非特許文献２】“Ｉｎｔｅｒｓｔａｇｅ  Ｎａｖｉｇａｔｏｒ  Ｓｅｒｖｅｒ  ８．０  概説書”、［online］、［平成２４年６月１５日検索］、インターネット＜ｈｔｔｐ：ｓｏｆｔｗａｒｅ．ｆｕｊｉｔｓｕ．ｃｏｍ／ｊｐ／ｍａｎｕａｌ／ｍａｎｕａｌｆｉｌｅｓ／Ｍ０６００５９／Ｂ１ＷＮ７６０１／０３Ｚ２００／ｇａｉａａ／ｇａｉ０００８６．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上記のノードリンクを表示させる技術によって表示されたノードリンクの中から、ユーザは、経験や勘などによって、特定のノードに関連するとともに特定の分析対象に関連するノード群を抽出する作業を行う場合がある。このようなユーザが行う作業の一例について説明する。図２６は、ユーザが行う作業の一例を示す図である。図２６の例には、東部地区、中部地区、西部地区の３つの地区のうちいずれかの地区で、プリンタやパソコンなどの電子機器を購入した人物が記載した複数のアンケートから生成したノードリンク９０が示されている。図２６の例に示すノードリンク９０が表示され、「アンケート結果に基づいて得られたノードリンク９０を基に、購買動機につながる「売れ筋」と関連性の高い、東部地区特有のノードを探したい」という要求がある場合には、ユーザは、次の作業を行う。すなわち、ユーザは、経験や勘などによって、ノード「売れ筋」に関連し、かつ、分析対象の東部地区に特有のノード群を選択する作業を行う。
【０００７】
しかしながら、ユーザは、経験や勘などによってノード群を選択する作業を行うため、選択されたノード群が、必ずしも、特定のノードに関連性があり、かつ、分析対象に関連性があるとはいえない場合があるという問題点がある。
【０００８】
なお、ノードリンクに含まれるノードの数が膨大な場合には、膨大な数のノードの中から、特定のノードに関連性があり、かつ、分析対象に関連性があるノード群をユーザが手動で選択するときに、膨大な時間がかかるという問題点もある。
【０００９】
１つの側面では、本発明は、特定のノードに関連性があり、かつ、分析対象に関連性があるノードを精度良く抽出することを目的とする。
【課題を解決するための手段】
【００１０】
情報処理装置は、受付部と、選択部と、算出部と、抽出部とを有する。受付部は、所定の事項に関するテキストから得られたノードリンクに含まれるノードの中から、ノードを受け付ける。また、受付部は、所定の事項に関するテーブルの項目の中から、分析対象の登録内容が登録された第１の項目を受け付ける。また、受付部は、分析対象の登録内容を受け付ける。また、受付部は、テーブルの項目の中から、テーブルにおける第１の項目に登録された登録内容とノードとの関連性を示す度合いである関連度を算出する際に用いる第２の項目を受け付ける。選択部は、受付部により受け付けられたノードに隣接するノード、および、抽出されたノードに隣接するノードを選択する。算出部は、テーブルにおける第２の項目の登録内容に基づいて、テーブルにおける第１の項目の登録内容ごとに、テーブルにおける第１の項目に登録された登録内容と選択部により選択されたノードとの関連度を算出する。抽出部は、算出部により算出された関連度に基づいて、選択部により選択されたノードの中から、分析対象との関連性があるノードを抽出する。
【発明の効果】
【００１１】
特定のノードに関連性があり、かつ、分析対象に関連性があるノードを精度良く抽出することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係るシステムを示す図である。
【図２】図２は、クライアントの機能構成の一例を示す図である。
【図３】図３は、ノードリンクの生成方法の一例を説明するための図である。
【図４】図４は、次元の生成方法の一例を説明するための図である。
【図５】図５は、レイアウト指定部が実行する処理の一例を説明するための図である。
【図６】図６は、サーバの機能構成の一例を示す図である。
【図７】図７は、同一性条件の一例を示す図である。
【図８】図８は、選択部が実行する処理の一例を説明するための図である。
【図９】図９は、特定部が実行する処理の一例を説明するための図である。
【図１０】図１０は、特定部が実行する処理の一例を説明するための図である。
【図１１】図１１は、特定部が実行する処理の一例を説明するための図である。
【図１２】図１２は、算出部が実行する処理の一例を説明するための図である。
【図１３】図１３は、抽出部が実行する処理の一例を説明するための図である。
【図１４】図１４は、抽出部が実行する処理の一例を説明するための図である。
【図１５】図１５は、サーバが実行する処理の一例を説明するための図である。
【図１６】図１６は、サーバが実行する処理の一例を説明するための図である。
【図１７】図１７は、実施例１に係るレイアウト指定処理の手順を示すフローチャートである。
【図１８】図１８は、実施例１に係るノード抽出処理の手順を示すフローチャートである。
【図１９】図１９は、実施例１に係る第一の処理の手順を示すフローチャートである。
【図２０】図２０は、実施例１に係る第二の処理の手順を示すフローチャートである。
【図２１】図２１は、実施例１に係る第三の処理の手順を示すフローチャートである。
【図２２】図２２は、実施例１に係る第四の処理の手順を示すフローチャートである。
【図２３】図２３は、実施例１に係る第五の処理の手順を示すフローチャートである。
【図２４】図２４は、実施例１に係る第六の処理の手順を示すフローチャートである。
【図２５】図２５は、ノード抽出プログラムを実行するコンピュータを示す図である。
【図２６】図２６は、ユーザが行う作業の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する情報処理装置、ノード抽出プログラムおよびノード抽出方法の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
【実施例１】
【００１４】
［システム１０の構成の一例］
実施例１に係るナビゲーターサーバが適用されたシステムについて説明する。図１は、実施例１に係るシステムを示す図である。図１に示すように、システム１０は、ナビゲーターサーバ１、ナビゲータークライアント２０およびＤＷＨ３０を有する。ナビゲーターサーバ１、ナビゲータークライアント２０およびＤＷＨ３０は、互いに、ネットワーク４０を介して接続されている。すなわち、ナビゲーターサーバ１、ナビゲータークライアント２０およびＤＷＨ３０は、互いに通信可能である。以下の説明では、ナビゲーターサーバ１を、サーバ１と略記し、ナビゲータークライアント２０をクライアント２０と略記する。
【００１５】
クライアント２０の機能構成について説明する。図２は、クライアント２０の機能構成の一例を示す図である。図２の例に示すように、クライアント２０は、入力部２１、表示部２２、通信部２３、記憶部２４、制御部２５を有する。
【００１６】
入力部２１は、ユーザによる操作を受け付け、受け付けた操作の内容を制御部２５に送信する。入力部２１は、例えば、マウスやキーボードなどのユーザの操作を受け付けるデバイスである。
【００１７】
表示部２２は、各種の情報を表示する。例えば、表示部２２は、後述の出力制御部２５ｂの制御により、後述のレイアウト指定画面を表示する。表示部２２は、例えば、液晶ディスプレイなどの表示装置である。
【００１８】
通信部２３は、サーバ１およびＤＷＨ３０との通信を行うためのインターフェースである。例えば、通信部２３は、制御部２５から後述のレイアウト指定画面の各項目に指定された内容、および、分析対象の登録内容を受信した場合には、次の処理を行う。すなわち、通信部２３は、受信したレイアウト指定画面の各項目に指定された内容、および、分析対象の登録内容をネットワーク４０を介してサーバ１に送信する。
【００１９】
記憶部２４は、各種の情報を記憶する。例えば、記憶部２４は、ノードリンク２４ａ、次元２４ｂ、数値データ項目２４ｃを記憶する。
【００２０】
ノードリンク２４ａは、アンケートに基づいて生成される。例えば、ノードリンク２４ａは、形態素解析器によって生成される。図３は、ノードリンクの生成方法の一例を説明するための図である。図３の例に示すように、形態素解析器９１は、東部地区、中部地区、西部地区の３つの地区のうちいずれかの地区で、プリンタやパソコンなどの電子機器を購入した人物が記載した複数のアンケート９２からノードを抽出する。そして、形態素解析器９１は、抽出したノードのペアの出現頻度の多さを関連度の高さとし、関連度の高さが所定値を超えるようなノードのペアを関連性のあるノードのペアとして抽出する。続いて、形態素解析器９１は、抽出したノードのペアの関連性が高いほど、ノード間の距離が短くなるようなノードリンク２４ａを生成する。このようにしてノードリンク２４ａは生成される。
【００２１】
ここで、形態素解析器９１は、各ノードのリンク属性およびレコード属性を含むノードリンク２４ａを生成する。リンク属性とは、例えば、ノードに関連性のあるノード群を指す。例えば、図３の例のノードリンク２４ａのノード「プリンタ」には、ノード「売れ筋」、「店員」、「安い」、「液晶」の４つのノードが関連性がある。そのため、ノード「プリンタ」のリンク属性として、ノード群「「売れ筋」、「店員」、「安い」、「液晶」」がノードリンク２４ａに含まれる。また、レコード属性とは、例えば、ノードが回答の欄に記載されたアンケート９２の伝票番号を指す。かかる伝票番号は、後述するが、テーブル３０ａの各レコードの「伝票番号」の項目に登録される。そのため、レコード属性がノードごとに定義されることにより、ノードと、テーブル３０ａのレコードとが対応付けられる。なお、１つのノードに対して、レコード属性として１つまたは複数の伝票番号が定義される。
【００２２】
ここで、アンケート９２は、図３の例に示すように、商品を購入した日付、会員番号、購入した商品の商品番号、商品を購入した際の伝票の伝票番号、および、アンケートの回答を含む。例えば、図３の例では、アンケート９２は、会員番号「Ａ００５」が示す会員が、５月２３日に、商品番号「Ｘ−ＰＲＴ」が示す商品を購入し、購入した際の伝票の伝票番号が「Ｄ２９８３」であることを示す。また、図３の例では、アンケート９２は、「Ａ店で一番売れ筋というＸ社のプリンタが安くなっていたので買った。液晶がキレイでよかった。」という回答を含む。
【００２３】
次元２４ｂは、データ分析の切り口となる項目である。次元２４ｂは、ＤＷＨ４０のテーブル３０ａから生成される。図４は、次元の生成方法の一例を説明するための図である。次元２４ｂを生成する際に用いられるテーブル３０ａについて説明する。図４の例に示すテーブル３０ａは、商品の購入に関するデータが登録された場合を示す。図４の例に示すテーブル３０ａは、「伝票番号」、「地域」、「店舗」、「担当」、「会員」、「性別」、「商品」、「売上」の各項目を有する。「伝票番号」の項目には、商品を購入した際の伝票の伝票番号が登録される。「地域」の項目には、商品を購入した店舗の地域を示す情報が登録される。「店舗」の項目には、商品を購入得した店舗を示す情報が登録される。「担当」の項目には、店舗ごとの担当者のＩＤが登録される。「会員」の項目には、商品を購入した会員のＩＤが登録される。「性別」の項目には、商品を購入した会員の性別を示す情報が登録される。「商品」の項目には、会員によって購入された商品の商品番号が登録される。「売上」の項目には、購入された商品の値段が登録される。また、図４の例には図示されていないが、テーブル３０ａは、その他の項目も含む。例えば、テーブル３０ａは、商品を購入した会員の年齢の世代が登録される「世代」の項目を含む。また、テーブル３０ａは、会員によって購入された商品の粗利が登録される「粗利」の項目を含む。
【００２４】
図４の例に示すように、ＯＬＡＰの手法などにより、テーブル３０ａの項目の中から、データ分析の切り口となる項目である次元２４ｂが抽出される。図４の例では、次元２４ｂには、「地域」、「店舗」、「担当」、「会員」、「性別」、「商品」の各項目が含まれる。
【００２５】
数値データ項目２４ｃは、集計することが可能な数値のデータが登録される項目である。図４の例に示すように、ＯＬＡＰの手法などにより、テーブル３０ａの項目の中から、数値データ項目２４ｃが抽出される。図４の例では、数値データ項目２４ｃには、「売上」、「粗利」の各項目が含まれる。
【００２６】
図２の説明に戻り、記憶部２４は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２４は、上記の種類の記憶装置に限定されるものではなく、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）であってもよい。
【００２７】
制御部２５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図２に示すように、制御部２５は、レイアウト指定部２５ａと、出力制御部２５ｂとを有する。
【００２８】
レイアウト指定部２５ａは、レイアウト指定画面を表示部２２に表示させて、レイアウト指定画面の各項目に設定する内容を取得する。図５を参照してレイアウト指定部２５ａが実行する処理の一例を説明する。図５は、レイアウト指定部が実行する処理の一例を説明するための図である。レイアウト指定部２５ａは、まず、記憶部２４から、ノードリンク２４ａ、次元２４ｂ、数値データ項目２４ｃを取得する。そして、レイアウト指定部２５ａは、図５の例に示すように、レイアウト指定画面２６、ノードリンク２４ａ、次元２４ｂ、数値データ項目２４ｃを表示するように、表示部２２を制御する。
【００２９】
ここで、図５の例に示すように、レイアウト指定画面２６は、ユーザによって指定される「縦軸」、「横軸」、「集計」の各項目を有する。「縦軸」の項目には、ノードリンク２４ａが示す複数のノードのうち、分析の視点となるノードがユーザによって指定される。「横軸」の項目には、次元２４ｂに含まれる複数の項目のうち、分析の切り口となる分析対象の項目、すなわち、分析軸である項目がユーザによって指定される。「集計」の項目には、数値データ項目２４ｃに含まれる複数の項目のうち、「縦軸」の項目に指定されたノードが示す内容を分析する際に集計される項目がユーザによって指定される。
【００３０】
例えば、ユーザは、上述したように「アンケート結果に基づいて得られたノードリンク２４ａを基に、購買動機につながる「売れ筋」と関連性の高い、東部地区特有のノードを探したい」という要求がある場合には、次の作業を行う。すなわち、ユーザは、図５の例に示すように、「縦軸」にノード「売れ筋」、「横軸」に項目「地域」、「集計」に項目「売上」を指定する。
【００３１】
そして、レイアウト指定部２５ａは、ユーザによって、「縦軸」、「横軸」、「集計」の全項目に、各項目に対応する内容が指定されたか否かを判定する。指定されていない場合には、レイアウト指定部２５ａは、再び、同様の判定を行う。一方、指定された場合には、レイアウト指定部２５ａは、「横軸」に指定されたテーブル３０ａの項目の登録内容を表示するように、表示部２２を制御する。例えば、レイアウト指定部２５ａは、「横軸」に指定された項目「地域」の登録内容を、ＤＷＨ４０に問い合わせて、問い合わせた結果得られた登録内容「東部」、「中部」、「西部」を表示するように、表示部２２を制御する。
【００３２】
登録内容が表示部２２に表示された場合には、ユーザは、表示された登録内容の中から、分析対象の登録内容を指定する。例えば、ユーザは、上述の要求がある場合には、次の作業を行う。すなわち、ユーザは、表示された「東部」、「中部」、「西部」の中から、分析対象の登録内容「東部」を指定する。
【００３３】
そして、レイアウト指定部２５ａは、ユーザによって、分析対象の登録内容が指定されたか否かを判定する。指定されていない場合には、レイアウト指定部２５ａは、再び、同様の判定を行う。一方、指定された場合には、レイアウト指定部２５ａは、レイアウト指定画面２６の「縦軸」、「横軸」、「集計」の各項目に指定された内容、および、指定された分析対象の登録内容に、サーバ１への送信指示を付加して、通信部２３に送信する。これにより、通信部２３は、レイアウト指定画面２６の「縦軸」、「横軸」、「集計」の各項目に指定された内容、および、指定された分析対象の登録内容をネットワーク４０を介してサーバ１に送信する。例えば、図５の例に示すように、ユーザによって「縦軸」、「横軸」、「集計」の各項目に、ノード「売れ筋」、項目「地域」、項目「売上」が指定され、また、分析対象の登録内容「東部」が指定された場合には、レイアウト指定部２５ａは、次の処理を行う。すなわち、レイアウト指定部２５ａは、指定されたノード「売れ筋」、項目「地域」、項目「売上」、および、指定された分析対象の登録内容「東部」に、サーバ１への送信指示を付加して、通信部２３に送信する。
【００３４】
そして、レイアウト指定部２５ａは、サーバ１から送信された後述の最終集計結果を受信したか否かを判定する。受信していない場合には、レイアウト指定部２５ａは、再び、同様の判定を行う。
【００３５】
上述してきたように、レイアウト指定部２５ａは、商品の購入など所定の事項に関するアンケート９２などのテキストから得られたノードリンク２４ａに含まれるノードの中から、ノードを受け付ける。例えば、レイアウト指定部２５ａは、ノード「売れ筋」を受け付ける。また、レイアウト指定部２５ａは、商品の購入など所定の事項に関するテーブル３０ａの項目の中から、分析対象の登録内容が登録された項目、例えば、分析対象の登録内容「東部」が登録された項目「地域」を受け付ける。また、レイアウト指定部２５ａは、分析対象の登録内容を受け付ける。例えば、レイアウト指定部２５ａは、分析対象の登録内容「東部」を受け付ける。また、レイアウト指定部２５ａは、テーブル３０ａの項目の中から、テーブル３０ａにおける分析対象の登録内容が登録された項目に登録された登録内容とノードとの関連性を示す度合いである関連度を算出する際に用いる項目を受け付ける。例えば、レイアウト指定部２５ａは、テーブル３０ａの項目の中から、次のような項目を受け付ける。すなわち、レイアウト指定部２５ａは、テーブル３０ａにおける分析対象の登録内容「東部」が登録された項目「地域」に登録された登録内容「東部」、「中部」、「西部」のそれぞれとノードとの関連度を算出する際に用いる項目「売上」を受け付ける。
【００３６】
出力制御部２５ｂは、各種の情報を出力する。例えば、出力制御部２５ｂは、レイアウト指定部２５ａにより、サーバ１から送信された後述の最終集計結果を受信したと判定された場合には、受信した最終集計結果を表示するように、表示部２２を制御する。
【００３７】
制御部２５は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）などの集積回路である。また、制御部２５は、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）であってもよい。また、制御部２５は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）などの電子回路であってもよい。さらに、制御部２５は、Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）であってもよい。
【００３８】
図１の説明に戻る。ＤＷＨ３０は、上述したテーブル３０ａを有する。また、ＤＷＨ３０は、サーバ１から送信されたＳＱＬ文を受信し、受信したＳＱＬ文に基づいて、テーブル３０ａのレコードの中から対応するレコードを検索し、検索の結果得られたレコードを集計し、集計結果をサーバ１に送信する。
【００３９】
サーバ１は、クライアント２０のユーザによって「縦軸」の項目に指定されたノードに関連性があり、かつ、分析対象の登録内容「東部」に関連性があるノードを抽出し、抽出した結果をクライアント２０に送信する。ここで、サーバ１の機能構成について説明する。図６は、サーバの機能構成の一例を示す図である。図６の例に示すように、サーバ１は、入力部２、表示部３、通信部４、記憶部５、制御部６を有する。
【００４０】
入力部２は、制御部６に各種の情報を入力する。例えば、入力部２は、サーバ１の管理者などから各種の操作を受け付けて、受け付けた操作の内容を制御部６に入力する。入力部２は、例えば、キーボードやマウスなどのデバイスである。
【００４１】
表示部３は、各種の情報を表示する。例えば、表示部３は、サーバ１の稼働状態を示す画像を表示する。表示部３は、例えば、ディスプレイなどの表示装置である。
【００４２】
通信部４は、クライアント２０およびＤＷＨ３０との通信を行うためのインターフェースである。例えば、通信部４は、クライアント２０から送信された、レイアウト指定画面２６の「縦軸」、「横軸」、「集計」の各項目に指定された内容、および、分析対象の登録内容を受信した場合には、次の処理を行う。すなわち、通信部４は、レイアウト指定画面２６の「縦軸」、「横軸」、「集計」の各項目に指定された内容、および、分析対象の登録内容を制御部６に送信する。また、通信部４は、制御部６から送信された後述するＳＱＬ文を受信した場合には、受信したＳＱＬ文をネットワーク４０を介してＤＷＨ３０に送信する。また、通信部４は、ＤＷＨ３０から送信された、ＳＱＬ文に対する応答を受信した場合には、受信した応答を制御部６に送信する。また、通信部４は、制御部６から送信された後述の最終集計結果を受信した場合には、受信した最終集計結果をクライアント２０に送信する。
【００４３】
換言すれば、通信部４は、商品の購入など所定の事項に関するアンケート９２などのテキストから得られたノードリンク２４ａに含まれるノードの中から、ノードを受け付ける。例えば、通信部４は、ノード「売れ筋」を受け付ける。そして、通信部４は、受け付けたノードを制御部６に送信する。また、通信部４は、商品の購入など所定の事項に関するテーブル３０ａの項目の中から、分析対象の登録内容が登録された項目を受け付ける。例えば、通信部４は、分析対象の登録内容「東部」が登録された項目「地域」を受け付ける。そして、通信部４は、受け付けた項目を制御部６に送信する。また、通信部４は、分析対象の登録内容を受け付ける。例えば、通信部４は、分析対象の登録内容「東部」を受け付ける。そして、通信部４は、受け付けた分析対象の登録内容を制御部６に送信する。また、通信部４は、テーブル３０ａの項目の中から、テーブル３０ａにおける分析対象の登録内容が登録された項目に登録された登録内容とノードとの関連性を示す度合いである関連度を算出する際に用いる項目を受け付ける。例えば、通信部４は、テーブル３０ａの項目の中から、次のような項目を受け付ける。すなわち、通信部４は、テーブル３０ａにおける分析対象の登録内容「東部」が登録された項目「地域」に登録された登録内容「東部」、「中部」、「西部」のそれぞれとノードとの関連度を算出する際に用いる項目「売上」を受け付ける。そして、通信部４は、受け付けた項目を制御部６に送信する。通信部４は、受付部の一例である。
【００４４】
記憶部５は、各種の情報を記憶する。例えば、記憶部５は、ノードリンク５ａ、関連度演算定義５ｃ、同一性条件５ｃを記憶する。
【００４５】
ノードリンク５ａは、上述したノードリンク２４ａと同一である。
【００４６】
関連度演算定義５ｃは、後述の算出部６ｃが関連度を算出する際に用いるアルゴリズムを示す。関連度演算定義５ｃは、例えば、集計値の全項目の平均値に対する関連度を算出する項目の集計値の割合を、関連度として算出するアルゴリズムを示す。
【００４７】
同一性条件５ｃは、テーブル３０ａの項目ごとに、共通項としてみなされる条件が定義されたものである。図７は、同一性条件の一例を示す図である。図７の例に示す同一性条件５ｃは、例えば、「性別」の項目については、登録された値（性別を示す情報）が１種類までは共通項としてみなすことを示す。また、図７の例に示す同一性条件５ｃは、例えば、「商品」の項目については、登録された値（商品番号）が２種類までは共通項としてみなすことを示す。
【００４８】
図６の説明に戻り、記憶部５は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部５は、上記の種類の記憶装置に限定されるものではなく、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）であってもよい。
【００４９】
制御部６は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図６に示すように、制御部６は、選択部６ａと、特定部６ｂと、算出部６ｃと、抽出部６ｄと、出力制御部６ｅとを有する。
【００５０】
選択部６ａは、通信部４により受け付けられた上述のノードに関連性があるノード、および、抽出部６ｄにより抽出されたノードに関連性があるノードを選択する。選択部６ａが実行する処理について具体的な例を挙げて説明する。図８は、選択部が実行する処理の一例を説明するための図である。例えば、通信部４によりノード「売れ筋」が受け付けられた場合には、選択部６ａは、図８に示すように、ノードリンク５ａにおいて、ノード「売れ筋」に隣接するノード「一番」、「安い」、「プリンタ」、「パソコン」を選択する。ここでノードリンク５ａにおいて、あるノードに隣接するノードは、あるノードに関連性のあるノードである。
【００５１】
特定部６ｂは、選択部６ａにより選択されたノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコード（テーブル３０ａのレコード）間の所定の共通性を満たす項目を共通項として特定する。また、特定部６ｂは、特定した共通項の登録内容も特定する。
【００５２】
一態様としては、特定部６ｂは、まず、選択部６ａにより選択されたノードのうち、後述の算出部６ｃにより関連度が算出されていないノードがあるか否かを判定する。関連度が算出されていないノードがある場合には、特定部６ｂは、選択部６ａにより選択されたノードのうち、未選択のノードを１つ選択する。例えば、図８の例が示す場合において、特定部６ｂは、ノード「プリンタ」を選択する。
【００５３】
そして、特定部６ｂは、選択したノードに共通項属性が設定されているか否かを判定する。なお、上述した形態素解析器９１によってノードリンク５ａが生成された時点では、ノードリンク５ａのノードには、共通項属性は設定されていない。ノードには、特定部６ｂの後述の処理によって共通項属性が設定される。
【００５４】
選択したノードに共通項属性が設定されている場合には、特定部６ｂは、設定されている共通項属性が示す共通項（項目、および、登録内容）を特定する。特定部６ｂが実行する処理について具体的な例を挙げて説明する。図９は、特定部が実行する処理の一例を説明するための図である。例えば、図９の例に示すように、ノード「プリンタ」に共通項属性が示す共通項として、「店舗」の項目と、「店舗」の項目に登録された「Ａ店」、「Ｂ店」との組み合わせが設定されている場合について説明する。なお、図９の例では、ノード「プリンタ」に共通項属性が示す共通項として、「世代」と「世代」の項目に登録された「２０」、「３０」、「４０」との組み合わせも設定されている。図９の例が示す場合では、選択したノード「プリンタ」に共通項属性が設定されているため、特定部６ｂは、設定されている共通項属性が示す共通項として、「店舗」と「店舗」の項目に登録された「Ａ店」、「Ｂ店」との組み合わせを特定する。これに加えて、特定部６ｂは、「世代」と「世代」の項目に登録された「２０」、「３０」、「４０」との組み合わせも特定する。
【００５５】
また、特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコード（テーブル３０ａのレコード）があるか否かを判定する。例えば、特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の「伝票番号」の項目に伝票番号が登録されているか否かを判定する。これにより、特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコードがあるか否かを判定することができる。なお、選択したノードが回答の欄に記載されたアンケート９２の数が複数である場合には、特定部６ｂは、複数のアンケート９２のそれぞれについて、同様の判定を行う。
【００５６】
選択したノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコードがある場合には、特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の伝票番号をＤＷＨ３０に送信する指示を通信部４に送信する。これにより、通信部４は、ネットワーク４０を介してＤＷＨ３０に、選択したノードが回答の欄に記載されたアンケート９２の伝票番号を送信する。かかる伝票番号を受信したＤＷＨ３０は、受信した伝票番号を有するレコードをテーブル３０ａから検索し、検索の結果得られたレコードをサーバ１に送信する。これにより、サーバ１の特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコードを取得することができる。
【００５７】
特定部６ｂが実行する処理について具体的な例を挙げて説明する。図１０は、特定部が実行する処理の一例を説明するための図である。図１０の例は、選択したノード「プリンタ」が回答の欄に記載された複数のアンケート９２のうち、４つのアンケート９２のそれぞれに、伝票番号「Ｄ０２３４」、「Ｄ２９８３」、「Ｄ９８６５」、「Ｄ４５６９」が含まれている場合を示す。この場合、特定部６ｂは、伝票番号「Ｄ０２３４」、「Ｄ２９８３」、「Ｄ９８６５」、「Ｄ４５６９」をＤＷＨ３０に送信する指示を通信部４に送信する。これにより、特定部６ｂは、図１０の例に示すように、伝票番号「Ｄ０２３４」、「Ｄ２９８３」、「Ｄ９８６５」、「Ｄ４５６９」のそれぞれを有する４つのレコードを取得する。
【００５８】
続いて、特定部６ｂは、取得したレコードの各項目に対応する同一性条件５ｃの内容を取得する。例えば、特定部６ｂが図１０の例に示す４つのレコードを取得し、図７の例に示す同一性条件５ｃが記憶部５に記憶されている場合について説明する。この場合には、特定部６ｂは、レコードの項目「地域」に対応する同一性条件５ｃの内容「値は１種類まで」を取得する。また、特定部６ｂは、レコードの項目「店舗」に対応する同一性条件５ｃの内容「値は３種類まで」を取得する。また、特定部６ｂは、レコードの項目「担当」に対応する同一性条件５ｃの内容「他のレコード排他的」を取得する。また、特定部６ｂは、レコードの項目「会員」に対応する同一性条件５ｃの内容「共通項に使用しない」を取得する。また、特定部６ｂは、レコードの項目「性別」に対応する同一性条件５ｃの内容「値は１種類まで」を取得する。また、特定部６ｂは、レコードの項目「商品」に対応する同一性条件５ｃの内容「値は２種類まで」を取得する。また、特定部６ｂは、レコードの項目「売上」に対応する同一性条件５ｃの内容「差が１０００以下」を取得する。
【００５９】
続いて、特定部６ｂは、取得したレコードの項目のうち、未選択の項目を１つ選択する。例えば、図１０の例に示す場合には、特定部６ｂは、レコードの項目「地域」、「店舗」、「担当」、「会員」、「性別」、「商品」、「売上げ」のうち、未選択の項目を１つ選択する。
【００６０】
続いて、特定部６ｂは、取得した全てのレコードの選択した項目の登録内容が、対応する同一性条件５ｃの内容を満たすか否かを判定する。例えば、特定部６ｂが図１０の例に示す４つのレコードを取得し、図７の例に示す同一性条件５ｃが記憶部５に記憶されている場合について説明する。この場合に、レコードの項目「地域」を選択した場合には、特定部６ｂは、４つの全てのレコードの「地域」の項目の登録内容が、「東部」と「中部」の２種類であるため、「値は１種類まで」という同一性条件５ｃの内容を満たさないと判定する。同様に、レコードの項目「店舗」、「担当」、「会員」、「売上げ」のいずれかを選択した場合についても、対応する同一性条件５ｃの内容を満たさないため、特定部６ｂは、対応する同一性条件５ｃの内容を満たさないと判定する。一方、レコードの項目「性別」を選択した場合には、特定部６ｂは、４つの全てのレコードの「性別」の項目の登録内容が、「Ｆ」の１種類であるため、「値は１種類まで」という同一性条件５ｃの内容を満たすと判定する。同様に、レコードの項目「商品」を選択した場合には、特定部６ｂは、４つの全てのレコードの「商品」の項目の登録内容が、「Ｘ−ＰＲＴ」および「Ｙ−ＰＣ」の２種類であるため、「値は２種類まで」という同一性条件５ｃの内容を満たすと判定する。
【００６１】
取得した全てのレコードの選択した項目の登録内容が、対応する同一性条件５ｃの内容を満たす場合には、特定部６ｂは、選択した項目と、選択した項目の登録内容との組み合わせを共通項として特定し、特定した共通項を、選択したノードの共通項属性に設定する。ここで、特定部６ｂが実行する処理について具体的な例を挙げて説明する。図１１は、特定部が実行する処理の一例を説明するための図である。例えば、特定部６ｂが、上述の例のように、レコードの項目「性別」を選択し、４つの全てのレコードの「性別」の項目の登録内容が、「値は１種類まで」という同一性条件５ｃの内容を満たすと判定した場合について説明する。なお、この場合において、さらに、特定部６ｂが、上述の例のように、レコードの項目「商品」を選択し、４つの全てのレコードの「商品」の項目の登録内容が、「値は２種類まで」という同一性条件５ｃの内容を満たすと判定したものとする。かかる場合には、特定部６ｂは、図１１の例に示すように、選択した項目「性別」と、登録内容「Ｆ」との組み合わせ、および、選択した項目「商品」と、登録内容「Ｘ−ＰＲＴ」および「Ｙ−ＰＣ」との組み合わせを共通項に追加する。なお、図１１の例は、共通項属性が示す共通項として、「店舗」と「店舗」の項目に登録された「Ａ店」、「Ｂ店」との組み合わせが予め設定されている場合を示す。これに加えて、図１１の例は、共通項属性が示す共通項として、「世代」と「世代」の項目に登録された「２０」、「３０」、「４０」との組み合わせも設定されている場合を示す。
【００６２】
そして、特定部６ｂは、未選択の項目があるか否かを判定する。未選択の項目がある場合には、特定部６ｂは、上述した未選択の項目を１つ選択する処理を再び行う。そして、特定部６ｂは、未選択の項目を１つ選択する処理以降の上述した処理を再び行う。
【００６３】
図６の説明に戻り、算出部６ｃは、テーブル３０ａにおける関連度を算出する際に用いる項目の登録内容に基づいて、テーブル３０ａにおける分析対象の登録内容が登録された項目の登録内容ごとに、次のような関連度を算出する。すなわち、算出部６ｃは、テーブル３０ａにおける分析対象の登録内容が登録された項目に登録された登録内容と選択部６ａにより選択されたノードとの関連度を算出する。また、算出部６ｃは、特定部６ｂにより特定された共通項を含むレコードに含まれる関連度を算出する際に用いる項目の登録内容に基づいて、かかる関連度を算出する。
【００６４】
一態様としては、算出部６ｃは、特定部６ｂにより特定された共通項を有するレコード（テーブル３０ａのレコード）の分析対象の項目の登録内容ごとに集計した、関連度を算出する際に用いる項目の登録内容の集計値をＤＷＨ３０から取得する。例えば、特定部６ｂにより特定された共通項が、「性別」と、登録内容「Ｆ」との組み合わせ、および、選択した項目「商品」と、登録内容「Ｘ−ＰＲＴ」および「Ｙ−ＰＣ」との組み合わせである場合について説明する。この場合、算出部６ｃは、かかる共通項を有するテーブル３０ａのレコードの分析対象の項目「地域」の登録内容「東部」、「中部」、「西部」ごとに集計した、関連度を算出する際に用いる項目「売上」の登録内容の集計値をＤＷＨ３０から取得する。
【００６５】
例えば、算出部６ｃは、ＤＷＨ３０のテーブル３０ａに対して発行する以下のようなＳＱＬ文を生成する。すなわち、算出部６ｃは、まず、関連度を算出する際に用いる項目の登録内容の合計が「ＳＥＬＥＣＴ」に指定されたＳＥＬＥＣＴ句を生成する。例えば、通信部４により受け付けられた関連度を算出する際に用いる項目が「売上げ」である場合には、「ＳＥＬＥＣＴ  ＳＵＭ（売上）」というＳＥＬＥＣＴ句を生成する。
【００６６】
続いて、算出部６ｃは、特定部６ｂにより特定された共通項が「ＷＨＥＲＥ」に指定されたＷＨＥＲＥ句を生成する。例えば、特定部６ｂにより特定された共通項が、「性別」と、登録内容「Ｆ」との組み合わせ、および、選択した項目「商品」と、登録内容「Ｘ−ＰＲＴ」および「Ｙ−ＰＣ」との組み合わせである場合には、算出部６ｃは、次のようなＷＨＥＲＥ句を生成する。すなわち、算出部６ｃは、「ＷＨＥＲＥ  性別＝“Ｆ”  ＡＮＤ  商品＝“Ｘ−ＰＲＴ”  ＯＲ  “Ｙ−ＰＣ”」というＷＨＥＲＥ句を生成する。
【００６７】
そして、算出部６ｃは、分析対象の項目が「ＧＲＯＵＰ  ＢＹ」に指定された「ＧＲＯＵＰ  ＢＹ」句を生成する。例えば、通信部４により受け付けられた分析対象の項目が、「地域」である場合には、算出部６ｃは、「ＧＲＯＵＰ  ＢＹ  地域」という「ＧＲＯＵＰ  ＢＹ」句を生成する。
【００６８】
続いて、算出部６ｃは、その他の句、例えば、「ＦＲＯＭ  テーブル３０ａ」という句を生成する。その後、算出部６ｃは、生成したＳＥＬＥＣＴ句、ＷＨＥＲＥ句、「ＧＲＯＵＰ  ＢＹ」句、および、その他の句を用いて、新たに特定された共通項をＷＨＥＲＥ句に含むＳＱＬ文を生成する。
【００６９】
また、算出部６ｃは、特定部６ｂによりノードに設定された共通項属性から共通項が特定されたか否かを判定する。特定された場合には、算出部６ｃは、ノードに設定された共通項属性から特定部６ｂにより特定された共通項が「ＷＨＥＲＥ」に指定されたＷＨＥＲＥ句を新たに生成する。例えば、算出部６ｃは、「ＷＨＥＲＥ  店舗＝“Ａ店”  ＯＲ  “Ｂ店”  ＡＮＤ  世代＝“２０”  ＯＲ  “３０”  ＯＲ  “４０”」というＷＨＥＲＥ句を生成する。その後、算出部６ｃは、新たに生成したＷＨＥＲＥ句、生成したＳＥＬＥＣＴ句、「ＧＲＯＵＰ  ＢＹ」句、および、その他の句を用いて、ノードに設定された共通項属性から特定された共通項をＷＨＥＲＥ句に含むＳＱＬ文を新たに生成する。
【００７０】
そして、算出部６ｃは、生成したＳＱＬ文ごとに、ＳＱＬ文をＤＷＨ３０へ送信する指示を通信部４に送信する。これにより、通信部４は、ＳＱＬ文をネットワーク４０を介してＤＷＨ３０に送信し、ＤＷＨ３０に対してＳＱＬ文が発行される。ＳＱＬ文を受信した場合には、ＤＷＨ３０は、受信したＳＱＬ文に基づいて、テーブル３０ａのレコードの中から対応するレコードを検索し、検索の結果得られたレコードを集計し、集計結果をサーバ１に送信する。このようにして、ＤＷＨ３０は、受信したＳＱＬ文ごとに、集計結果をサーバ１に送信する。
【００７１】
例えば、「ＳＥＬＥＣＴ  ＳＵＭ（売上）  ＦＲＯＭ  テーブル３０ａ  ＷＨＥＲＥ  性別＝“Ｆ”  ＡＮＤ  商品＝“Ｘ−ＰＲＴ”  ＯＲ  “Ｙ−ＰＣ”  ＧＲＯＵＰ  ＢＹ  地域」というＳＱＬ文がＤＷＨ３０に発行された場合について説明する。図１２は、算出部が実行する処理の一例を説明するための図である。図１２の例には、ＤＷＨ３０が有するテーブル３０ａの一例が示されている。上述したＳＱＬ文がＤＷＨ３０に発行されると、ＤＷＨ３０は、ＳＱＬ文に基づいて、テーブル３０ａからレコードを検索し、検索の結果、図１２の例に示すようなレコード３１を得る。そして、ＤＷＨ３０は、ＳＱＬ文に基づいて、レコード３１を集計し、図１２の例に示すような集計結果３２を得る。続いて、ＤＷＨ３０は、集計結果３２をサーバ１に送信する。これにより、「プリンタ」という語をアンケートに実際に記入した人に共通する属性を有する全ての人にまで、集計対象のレコードを拡大することで、後述の関連度を精度良く算出することができる。
【００７２】
続いて、算出部６ｃは、ＤＷＨ３０から、送信した全てのＳＱＬ文に対応する全ての集計結果を受信したか否かを判定する。受信した場合には、算出部６ｃは、受信した集計結果が複数である場合には、受信した複数の集計結果を１つにまとめた集計結果とする。
【００７３】
そして、算出部６ｃは、関連度演算定義５ｂを取得する。続いて、算出部６ｃは、受信した集計結果（受信した集計結果が複数である場合には、１つにまとめた集計結果）の項目のうち、未選択の項目を１つ選択する。例えば、図１２の例に示す集計結果３２を受信した場合には、算出部６ｃは、集計結果３２の項目「東部」、「中部」、「西部」のうち、未選択の項目を１つ選択する。
【００７４】
そして、算出部６ｃは、関連度演算定義５ｃが示すアルゴリズムを用いて、選択した項目と選択したノードとの関連度を算出する。例えば、算出部６ｃは、集計値の全項目の平均値に対する関連度を算出する項目の集計値の割合を関連度として算出するアルゴリズムを用いる。この場合、算出部６ｃは、集計値の全項目の平均値に対する選択した項目の集計値の割合を、選択した項目と選択したノードとの関連度として算出する。例えば、図１２の例の集計結果３２を受信し、「東部」の項目を選択した場合には、算出部６ｃは、「東部」と「プリンタ」との関連度「１６３％」を算出する。同様に、図１２の例の集計結果３２を受信し、「中部」の項目を選択した場合には、算出部６ｃは、「中部」と「プリンタ」との関連度「１０９％」を算出する。様に、図１２の例の集計結果３２を受信し、「西部」の項目を選択した場合には、算出部６ｃは、「西部」と「プリンタ」との関連度「２８％」を算出する。
【００７５】
続いて、算出部６ｃは、受信した集計結果の項目の中に、未選択の項目があるか否かを判定する。未選択の項目がある場合には、算出部６ｃは、上述した、受信した集計結果の項目のうち、未選択の項目を１つ選択する処理を再び行う。そして、算出部６ｃは、上述した、未選択の項目を１つ選択する処理以降の処理を再び行う。一方、未選択の項目がない場合には、算出部６ｃは、選択部６ａにより選択されたノードの中に未選択のノードがあるか否かを判定する。未選択のノードがある場合には、先の特定部６ｂが、上述した、選択部６ａにより選択されたノードのうち未選択のノードを１つ選択する処理を再び行う。そして、特定部６ｂが、上述した、未選択のノードを１つ選択する処理以降の処理を再び行う。
【００７６】
抽出部６ｄは、算出部６ｃにより算出された関連度に基づいて、選択部６ａにより選択されたノードの中から、分析対象との関連性があるノードを抽出する。
【００７７】
例えば、算出部６ｃにより、選択されたノードの中に未選択のノードがないと判定された場合には、抽出部６ｄは、選択部６ａにより選択されたノードのそれぞれと、分析対象の登録内容との関連度のうち、最も高い関連度を特定する。ここで、抽出部６ｄが実行する処理の一例について説明する。図１３は、抽出部が実行する処理の一例を説明するための図である。図１３の例には、選択部６ａにより選択されたノード「一番」、「安い」、「プリンタ」、「パソコン」のそれぞれと、項目「東部」、「中部」、「西部」との集計結果５１から、算出部６ｃにより算出された関連度５２の一例が示されている。図１３の例に示す関連度５２において、抽出部６ｄは、ノード「一番」、「安い」、「プリンタ」、「パソコン」のそれぞれと、分析対象の登録内容「東部」との関連度のうち、最も高い関連度「１６３％」を特定する。
【００７８】
続いて、抽出部６ｄは、新たに特定された関連度よりも前に特定された関連度があるか否かを判定する。新たに特定された関連度よりも前に特定された関連度がある場合には、抽出部６ｄは、新たに特定された関連度が、前回特定された関連度よりも小さいか否かを判定する。新たに特定された関連度が、前回特定された関連度以上である場合には、抽出部６ｄは、新たに特定された関連度に対応するノードを抽出し、抽出したノードを縦軸に、分析対象の項目を横軸とする集計結果のレコードを最終集計結果の先頭に追加する。また、新たに特定された関連度よりも前に特定された関連度がない場合にも、抽出部６ｄは、新たに特定された関連度に対応するノードを抽出し、抽出したノードを縦軸に、分析対象の項目を横軸とする集計結果のレコードを最終集計結果の一番上に追加する。図１４は、抽出部が実行する処理の一例を説明するための図である。例えば、先の図１３の例が示すように、ノード「一番」、「安い」、「プリンタ」、「パソコン」のそれぞれと、分析対象の登録内容「東部」との関連度のうち、最も高い関連度「１６３％」を特定した場合には、抽出部６ｄは、次のような処理を行う。すなわち、抽出部６ｄは、新たに特定された関連度「１６３％」に対応するノード「プリンタ」を抽出する。これに加えて、抽出部６ｄは、図１４の例に示すように、抽出した「プリンタ」を縦軸に、分析対象の項目の登録内容「東部」、「中部」、「西部」を横軸とする集計結果５１のレコードを最終集計結果６０の先頭に追加する。そして、先の選択部６ａが、上述した、抽出部６ｄにより抽出されたノードに関連性があるノードを選択する処理を再び行い、ノードを選択する処理以降の処理を再び行う。
【００７９】
図６の説明に戻り、出力制御部６ｅは、各種の情報を出力する。例えば、出力制御部６ｅは、特定部６ｂにより、関連度が算出されていないノードがないと判定された場合、および、抽出部６ｄにより、新たに特定された関連度が、前回特定された関連度よりも小さいと判定された場合には、次の処理を行う。すなわち、出力制御部６ｅは、最終集計結果をクライアント２０に送信する指示を最終集計結果とともに通信部４に送信する。これにより、通信部４は、最終集計結果をネットワーク４０を介してクライアント２０に送信する。
【００８０】
サーバ１は、選択部６ａ、特定部６ｂ、算出部６ｃおよび抽出部６ｄによって上述した処理が実行されることで、縦軸として指定されたノードから、分析対象の登録内容と関連性が高いノードが次々と抽出される。図１５および図１６は、サーバが実行する処理の一例を説明するための図である。図１５の例には、選択部６ａにより選択されたノード「一番」、「安い」、「プリンタ」、「パソコン」のそれぞれと、項目「東部」、「中部」、「西部」との集計結果から、算出部６ｃにより算出された関連度５３の一例が示されている。図１５の例に示す関連度５３において、抽出部６ｄは、ノード「一番」、「安い」、「プリンタ」、「パソコン」のそれぞれと、分析対象の登録内容「東部」との関連度のうち、最も高い関連度「１６３％」を特定する。
【００８１】
また、図１５の例には、選択部６ａにより選択されたノード「店員」、「液晶」のそれぞれと、項目「東部」、「中部」、「西部」との集計結果から、算出部６ｃにより算出された関連度５４の一例が示されている。図１５の例に示す関連度５４において、抽出部６ｄは、ノード「店員」、「液晶」のそれぞれと、分析対象の登録内容「東部」との関連度のうち、最も高い関連度「１８０％」が、前回特定された関連度「１６３％」よりも高いため、次のような処理を行う。すなわち、抽出部６ｄは、関連度「１８０％」を特定する。
【００８２】
また、図１５の例には、選択部６ａにより選択されたノード「きれい」、「Ｘ社」のそれぞれと、項目「東部」、「中部」、「西部」との集計結果から、算出部６ｃにより算出された関連度５５の一例が示されている。図１５の例に示す関連度５５において、抽出部６ｄは、ノード「きれい」、「Ｘ社」のそれぞれと、分析対象の登録内容「東部」との関連度のうち、最も高い関連度「１９５％」が、前回特定された関連度「１８０％」よりも高いため、次のような処理を行う。すなわち、抽出部６ｄは、関連度「１９５％」を特定する。
【００８３】
また、図１５の例には、選択部６ａにより選択されたノード「買う」と、項目「東部」、「中部」、「西部」との集計結果から、算出部６ｃにより算出された関連度５６の一例が示されている。なお、図１５の例に示すように、算出部６ｃは、ノード「液晶」に隣接するノード「パソコン」については、すでに関連度が算出済みであるため、関連度５６には、ノード「パソコン」についての関連度が含まれない。図１５の例に示す関連度５６において、出力制御部６ｅは、ノード「買う」と、分析対象の登録内容「東部」との関連度「１０５％」が、前回特定された関連度「１９５％」よりも小さいため、次のような処理を行う。すなわち、出力制御部６ｅは、図１６に示す最終集計結果６０をクライアント２０に送信する指示とともに最終集計結果６０を通信部４に送信する。これにより、最終集計結果６０がクライアント２０において表示される。
【００８４】
制御部６は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）などの集積回路である。また、制御部６は、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）であってもよい。また、制御部６は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）などの電子回路であってもよい。さらに、制御部６は、Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＭＰＵ）であってもよい。
【００８５】
次に、本実施例に係るクライアント２０が実行する処理の流れを説明する。図１７は、実施例１に係るレイアウト指定処理の手順を示すフローチャートである。例えば、レイアウト指定処理は、レイアウト指定処理を実行するための指示が入力部２１から制御部２５に入力された場合に、実行される。
【００８６】
図１７に示すように、レイアウト指定部２５ａは、記憶部２４から、ノードリンク２４ａ、次元２４ｂ、数値データ項目２４ｃを取得する（Ｓ１０１）。そして、レイアウト指定部２５ａは、図５の例に示すように、レイアウト指定画面２６、ノードリンク２４ａ、次元２４ｂ、数値データ項目２４ｃを表示するように、表示部２２を制御する（Ｓ１０２）。
【００８７】
そして、レイアウト指定部２５ａは、ユーザによって、「縦軸」、「横軸」、「集計」の全項目に、各項目に対応する内容が指定されたか否かを判定する（Ｓ１０３）。指定されていない場合（Ｓ１０３否定）には、レイアウト指定部２５ａは、再び、Ｓ１０３の判定を行う。一方、指定された場合（Ｓ１０３肯定）には、レイアウト指定部２５ａは、テーブル３０ａの「横軸」に指定された項目の登録内容を表示するように、表示部２２を制御する（Ｓ１０４）。
【００８８】
そして、レイアウト指定部２５ａは、ユーザによって、分析対象の登録内容が指定されたか否かを判定する（Ｓ１０５）。指定されていない場合（Ｓ１０５否定）には、レイアウト指定部２５ａは、再び、Ｓ１０５の判定を行う。一方、指定された場合（Ｓ１０５肯定）には、レイアウト指定部２５ａは、次のような処理を行う。すなわち、レイアウト指定部２５ａは、レイアウト指定画面２６の「縦軸」、「横軸」、「集計」の各項目に指定された内容、および、指定された分析対象の登録内容に、サーバ１への送信指示を付加して、通信部２３に送信する（Ｓ１０６）。
【００８９】
そして、レイアウト指定部２５ａは、サーバ１から送信された後述の最終集計結果を受信したか否かを判定する（Ｓ１０７）。受信していない場合（Ｓ１０７否定）には、レイアウト指定部２５ａは、再び、Ｓ１０７の判定を行う。受信した場合（Ｓ１０７肯定）には、出力制御部２５ｂは、受信した最終集計結果を表示するように、表示部２２を制御し（Ｓ１０８）、処理を終了する。
【００９０】
次に、本実施例に係るサーバ１が実行するノード抽出処理の流れを説明する。図１８は、実施例１に係るノード抽出処理の手順を示すフローチャートである。例えば、ノード抽出処理は、通信部４によりレイアウト指定画面２６の「縦軸」、「横軸」、「集計」の各項目に指定された内容、および、分析対象の登録内容が受け付けられた場合に、実行される。
【００９１】
図１８に示すように、選択部６ａは、通信部４により受け付けられたノードに隣接するノード、および、抽出部６ｄにより抽出されたノードに隣接するノードを選択する（Ｓ２０１）。特定部６ｂは、選択部６ａにより選択されたノードのうち、後述の算出部６ｃにより関連度が算出されていないノードがあるか否かを判定する（Ｓ２０２）。
【００９２】
関連度が算出されていないノードがある場合（Ｓ２０２肯定）には、特定部６ｂは、第一の処理を実行する（Ｓ２０３）。図１９は、実施例１に係る第一の処理の手順を示すフローチャートである。図１９に示すように、特定部６ｂは、選択部６ａにより選択されたノードのうち、未選択のノードを１つ選択する（Ｓ３０１）。
【００９３】
そして、特定部６ｂは、第二の処理を実行する（Ｓ３０２）。図２０は、実施例１に係る第二の処理の手順を示すフローチャートである。図２０に示すように、特定部６ｂは、選択したノードに共通項属性が設定されているか否かを判定する（Ｓ４０１）。
【００９４】
選択したノードに共通項属性が設定されていない場合（Ｓ４０１否定）には、特定部６ｂは、Ｓ４０３に進む。一方、選択したノードに共通項属性が設定されている場合（Ｓ４０１肯定）には、特定部６ｂは、設定されている共通項属性が示す共通項（項目、および、登録内容）を特定する（Ｓ４０２）。そして、特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコードがテーブル３０ａにあるか否かを判定する（Ｓ４０３）。
【００９５】
レコードがない場合（Ｓ４０３否定）には、特定部６ｂは、処理結果を内部メモリに格納し、リターンする。一方、レコードがある場合（Ｓ４０３肯定）には、特定部６ｂは、第三の処理を実行し（Ｓ４０４）、処理結果を内部メモリに格納し、リターンする。図２１は、実施例１に係る第三の処理の手順を示すフローチャートである。図２１に示すように、特定部６ｂは、選択したノードが回答の欄に記載されたアンケート９２の伝票番号をＤＷＨ３０に送信する指示を通信部４に送信して、ＤＷＨ３０からレコードを取得する（Ｓ５０１）。
【００９６】
続いて、特定部６ｂは、取得したレコードの各項目に対応する同一性条件５ｃの内容を取得する（Ｓ５０２）。続いて、特定部６ｂは、取得したレコードの項目のうち、未選択の項目を１つ選択する（Ｓ５０３）。
【００９７】
続いて、特定部６ｂは、取得した全てのレコードの選択した項目の登録内容が、対応する同一性条件５ｃの内容を満たすか否かを判定する（Ｓ５０４）。
【００９８】
取得した全てのレコードの選択した項目の登録内容の少なくとも１つ以上の登録内容が、対応する同一性条件５ｃの内容を満たさない場合（Ｓ５０４否定）には、特定部６ｂは、Ｓ５０６に進む。一方、取得した全てのレコードの選択した項目の登録内容が、対応する同一性条件５ｃの内容を満たす場合（Ｓ５０４肯定）には、特定部６ｂは、次のような処理を行う。すなわち、特定部６ｂは、選択した項目と、選択した項目の登録内容との組み合わせを共通項として特定し、特定した共通項を、選択したノードの共通項属性に設定する（Ｓ５０５）。
【００９９】
そして、特定部６ｂは、取得したレコードの項目の中に、未選択の項目があるか否かを判定する（Ｓ５０６）。未選択の項目がある場合（Ｓ５０６肯定）には、特定部６ｂは、Ｓ５０３に戻る。一方、未選択の項目がない場合（Ｓ５０６否定）には、特定部６ｂは、処理結果を内部メモリに格納し、リターンする。
【０１００】
図１９の説明に戻り、算出部６ｃは、第四の処理を実行する（Ｓ３０３）。図２２は、実施例１に係る第四の処理の手順を示すフローチャートである。図２２に示すように、算出部６ｃは、第五の処理を実行する（Ｓ６０１）。図２３は、実施例１に係る第五の処理の手順を示すフローチャートである。図２３に示すように、算出部６ｃは、関連度を算出する際に用いる項目の登録内容の合計が「ＳＥＬＥＣＴ」に指定されたＳＥＬＥＣＴ句を生成する（Ｓ７０１）。続いて、算出部６ｃは、特定部６ｂにより特定された共通項が「ＷＨＥＲＥ」に指定されたＷＨＥＲＥ句を生成する（Ｓ７０２）。
【０１０１】
そして、算出部６ｃは、分析対象の項目が「ＧＲＯＵＰ  ＢＹ」に指定された「ＧＲＯＵＰ  ＢＹ」句を生成する（Ｓ７０３）。続いて、算出部６ｃは、その他の句、例えば、「ＦＲＯＭ  テーブル３０ａ」という句を生成する（Ｓ７０４）。その後、算出部６ｃは、生成したＳＥＬＥＣＴ句、ＷＨＥＲＥ句、「ＧＲＯＵＰ  ＢＹ」句、および、その他の句を用いて、新たに特定された共通項をＷＨＥＲＥ句に含むＳＱＬ文を生成する（Ｓ７０５）。
【０１０２】
続いて、算出部６ｃは、特定部６ｂによりノードに設定された共通項属性から共通項が特定されたか否かを判定する（Ｓ７０６）。特定されていない場合（Ｓ７０６否定）には、算出部６ｃは、処理結果を内部メモリに格納し、リターンする。一方、特定された場合（Ｓ７０６肯定）には、算出部６ｃは、ノードに設定された共通項属性から特定部６ｂにより特定された共通項が「ＷＨＥＲＥ」に指定されたＷＨＥＲＥ句を新たに生成する（Ｓ７０７）。その後、算出部６ｃは、新たに生成したＷＨＥＲＥ句、生成したＳＥＬＥＣＴ句、「ＧＲＯＵＰ  ＢＹ」句、および、その他の句を用いて、ノードに設定された共通項属性から特定された共通項をＷＨＥＲＥ句に含むＳＱＬ文を新たに生成する（Ｓ７０８）。そして、算出部６ｃは、処理結果を内部メモリに格納し、リターンする。
【０１０３】
図２２の説明に戻り、算出部６ｃは、生成したＳＱＬ文ごとに、ＳＱＬ文をＤＷＨ３０へ送信する指示を通信部４に送信して、ＤＷＨ３０に対してＳＱＬ文を発行する（Ｓ６０２）。
【０１０４】
続いて、算出部６ｃは、ＤＷＨ３０から、送信した全てのＳＱＬ文に対応する全ての集計結果を受信したか否かを判定する（Ｓ６０３）。受信していない場合（Ｓ６０３否定）には、算出部６ｃは、再び、Ｓ６０３の判定を行う。一方、受信した場合（Ｓ６０３肯定）には、算出部６ｃは、受信した集計結果が複数であるか否かを判定する（Ｓ６０４）。複数でない場合（Ｓ６０４否定）には、算出部６ｃは、処理結果を内部メモリに格納し、リターンする。一方、複数である場合（Ｓ６０４肯定）には、算出部６ｃは、受信した複数の集計結果を１つにまとめた集計結果とし（Ｓ６０５）、処理結果を内部メモリに格納し、リターンする。
【０１０５】
図１９の説明に戻り、算出部６ｃは、第六の処理を実行する（Ｓ３０４）。図２４は、実施例１に係る第六の処理の手順を示すフローチャートである。図２４に示すように、算出部６ｃは、関連度演算定義５ｂを取得する（Ｓ８０１）。続いて、算出部６ｃは、受信した集計結果（受信した集計結果が複数である場合には、１つにまとめた集計結果）の項目のうち、未選択の項目を１つ選択する（Ｓ８０２）。
【０１０６】
そして、算出部６ｃは、関連度演算定義５ｂが示すアルゴリズムを用いて、選択した項目と選択したノードとの関連度を算出する（Ｓ８０３）。続いて、算出部６ｃは、受信した集計結果の項目の中に、未選択の項目があるか否かを判定する（Ｓ８０４）。未選択の項目がある場合（Ｓ８０４肯定）には、算出部６ｃは、Ｓ８０２に戻る。一方、未選択の項目がない場合（Ｓ８０４否定）には、算出部６ｃは、処理結果を内部メモリに格納し、リターンする。
【０１０７】
図１９の説明に戻り、算出部６ｃは、選択部６ａにより選択されたノードの中に未選択のノードがあるか否かを判定する（Ｓ３０５）。未選択のノードがある場合（Ｓ３０５肯定）には、Ｓ３０１に戻る。一方、未選択のノードがない場合（Ｓ３０５否定）には、抽出部６ｄは、選択部６ａにより選択されたノードのそれぞれと、分析対象の登録内容との関連度のうち、最も高い関連度を特定する（Ｓ３０６）。そして、抽出部６ｄは、処理結果を内部メモリに格納し、リターンする。
【０１０８】
図１８の説明に戻り、抽出部６ｄは、新たに特定された関連度よりも前に特定された関連度があるか否かを判定する（Ｓ２０４）。新たに特定された関連度よりも前に特定された関連度がある場合（Ｓ２０４肯定）には、抽出部６ｄは、新たに特定された関連度が、前回特定された関連度よりも小さいか否かを判定する（Ｓ２０５）。新たに特定された関連度が、前回特定された関連度以上である場合（Ｓ２０５否定）には、抽出部６ｄは、次のような処理を行う。すなわち、抽出部６ｄは、新たに特定された関連度に対応するノードを抽出し、抽出したノードを縦軸に、分析対象の項目を横軸とする集計結果のレコードを最終集計結果の先頭に追加し（Ｓ２０６）、Ｓ２０１に戻る。また、新たに特定された関連度よりも前に特定された関連度がない場合（Ｓ２０４否定）にも、抽出部６ｄは、Ｓ２０６に進む。
【０１０９】
一方、関連度が算出されていないノードがない場合（Ｓ２０２否定）、および、新たに特定された関連度が、前回特定された関連度よりも小さい場合（Ｓ２０５肯定）には、出力制御部６ｅは、次の処理を行う。すなわち、出力制御部６ｅは、最終集計結果をクライアント２０に送信する指示を最終集計結果とともに通信部４に送信する（Ｓ２０７）。そして、出力制御部６ｅは、処理を終了する。
【０１１０】
上述してきたように、本実施例に係るサーバ１は、受け付けられたノードに関連性があるノード、および、抽出されたノードに関連性があるノードを選択する。そして、サーバ１は、テーブル３０ａにおける関連度を算出する際に用いる項目の登録内容に基づいて、テーブル３０ａにおける分析対象の登録内容が登録された項目の登録内容ごとに、次のような関連度を算出する。すなわち、サーバ１は、テーブル３０ａにおける分析対象の登録内容が登録された項目に登録された登録内容と選択されたノードとの関連度を算出する。続いて、サーバ１は、算出された関連度に基づいて、選択されたノードの中から、分析対象との関連性があるノードを抽出する。このように、本実施例１に係るサーバ１によれば、自動的に、特定のノードに関連性があり、かつ、分析対象に関連性があるノードを抽出する。したがって、本実施例１に係るサーバ１によれば、特定のノードに関連性があり、かつ、分析対象に関連性があるノードを精度良く抽出することができる。
【０１１１】
また、サーバ１は、選択されたノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコード（テーブル３０ａのレコード）間の所定の共通性を満たす項目を共通項として特定する。これに加えて、サーバ１は、特定した共通項の登録内容も特定する。そして、サーバ１は、特定された共通項を含むレコードに含まれる関連度を算出する際に用いる項目の登録内容に基づいて、関連度を算出する。このように、サーバ１は、選択されたノードが回答の欄に記載されたアンケート９２の伝票番号を有するレコードだけでなく、共通項を含む全てのレコードまで、関連度を算出する際の対象のレコードを拡大する。したがって、サーバ１によれば、共通項を含む全てのレコードを対象に関連度を算出するので、精度良く関連度を算出することができる。
【０１１２】
さて、これまで開示のシステムや装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１１３】
例えば、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１１４】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
【０１１５】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
【０１１６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１１７】
［ノード抽出プログラム］
また、上記の実施例および変形例で説明したサーバ１の各種の処理は、あらかじめ用意されたノード抽出プログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２５を用いて、上記の実施例１で説明したサーバ１と同様の機能を有するノード抽出プログラムを実行するコンピュータの一例を説明する。図２５は、ノード抽出プログラムを実行するコンピュータを示す図である。
【０１１８】
図２９に示すように、コンピュータ３００は、ＣＰＵ３１０、入出力装置３２０、通信制御部３３０、メモリ３４０、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）３５０を有する。ＣＰＵ３１０、入出力装置３２０、通信制御部３３０、メモリ３４０、ＨＤＤ３５０は、バス３６０を介して接続される。
【０１１９】
ＨＤＤ３５０には、ＯＳなどの基本プログラムが記憶されている。また、ＨＤＤ３５０には、上記の実施例で示す選択部６ａ、特定部６ｂ、算出部６ｃ、抽出部６ｄ、出力制御部６ｅと同様の機能を発揮するノード抽出プログラム３５０ａが予め記憶される。なお、ノード抽出プログラム３５０ａについては、適宜分離しても良い。また、ＨＤＤ３５０には、ノードリンク、関連度演算定義、同一性条件が設けられる。これらノードリンク、関連度演算定義、同一性条件は、上述したノードリンク５ａ、関連度演算定義５ｂ、同一性条件５ｃに対応する。
【０１２０】
そして、ＣＰＵ３１０が、ノード抽出プログラム３５０ａをＨＤＤ３５０から読み出して実行する。
【０１２１】
そして、ＣＰＵ３１０は、ノードリンク、関連度演算定義、同一性条件を読み出してメモリ３４０に格納する。さらに、ＣＰＵ３１０は、メモリ３４０に格納されたノードリンク、関連度演算定義、同一性条件を用いて、ノード抽出プログラム３５０ａを実行する。なお、メモリ３４０に格納される各データは、常に全てのデータがメモリ３４０に格納されなくともよい。処理に用いられるデータがメモリ３４０に格納されれば良い。
【０１２２】
なお、上記したノード抽出プログラム３５０ａについては、必ずしも最初からＨＤＤ３５０に記憶させておく必要はない。
【０１２３】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にノード抽出プログラム３５０ａを記憶させておく。そして、コンピュータ３００がこれらからノード抽出プログラム３５０ａを読み出して実行するようにしてもよい。  
【０１２４】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにノード抽出プログラム３５０ａを記憶させておく。そして、コンピュータ３００がこれらからノード抽出プログラム３５０ａを読み出して実行するようにしてもよい。
【符号の説明】
【０１２５】
１        ナビゲーターサーバ
５        記憶部
５ａ      ノードリンク
５ｂ      関連度演算定義
５ｃ      同一性条件
６        制御部
６ａ      選択部
６ｂ      特定部
６ｃ      算出部
６ｄ      抽出部
６ｅ      出力制御部
【図１】
2014130539.tif 000003
【図２】
2014130539.tif 000004
【図３】
2014130539.tif 000005
【図４】
2014130539.tif 000006
【図５】
2014130539.tif 000007
【図６】
2014130539.tif 000008
【図７】
2014130539.tif 000009
【図８】
2014130539.tif 000010
【図９】
2014130539.tif 000011
【図１０】
2014130539.tif 000012
【図１１】
2014130539.tif 000013
【図１２】
2014130539.tif 000014
【図１３】
2014130539.tif 000015
【図１４】
2014130539.tif 000016
【図１５】
2014130539.tif 000017
【図１６】
2014130539.tif 000018
【図１７】
2014130539.tif 000019
【図１８】
2014130539.tif 000020
【図１９】
2014130539.tif 000021
【図２０】
2014130539.tif 000022
【図２１】
2014130539.tif 000023
【図２２】
2014130539.tif 000024
【図２３】
2014130539.tif 000025
【図２４】
2014130539.tif 000026
【図２５】
2014130539.tif 000027
【図２６】
2014130539.tif 000028