(57)【要約】【課題】利用者に高度な専門性を求めることなく、妥当な特徴量変換を容易かつ効率的に実現することを課題とする。【解決手段】特徴量変換システムでは、クライアント装置２０が、変換ルールの指定と、距離計算法の指定とを受け付ける。そして、サーバ装置１０が、受け付けられた変換ルールを用いて、グラフ構造データにおける各ノードが有する特徴量をベクトル形式のデータに変換する特徴量変換処理を行う。続いて、サーバ装置１０が、受け付けられた距離計算法を用いて、ノード間の距離を計算する。そして、クライアント装置２０が、計算されたノード間の距離を用いて、画像上における各ノードの位置を決定し、画像において、決定された各ノードの位置に各ノードを配置して描画し、各ノードが描画された画像を表示する。【選択図】図１０
2014215742.tif 000002
【特許請求の範囲】
【請求項１】
第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付部と、
前記受付部によって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換部と、
前記受付部によって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算部と、
前記計算部によって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定部と、
前記画像において、前記位置決定部によって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記受付部は、前記第一のパラメータの指定と前記第二のパラメータの指定とを、前記表示部によって画像が表示された後においても受付け可能であり、
前記情報処理装置は、
前記表示部によって画像が表示された後において、該画像の更新の指示を受け付ける更新受付部、をさらに備え、
前記変換部は、前記更新受付部によって更新の指示を受け付けた時点で指定されている第一のパラメータを用いて、各ノードに対して前記特徴量変換処理を行い、
前記計算部は、前記更新受付部によって更新の指示を受け付けた時点で指定されている第二のパラメータを用いて、前記変換部によって特徴量変換処理が行われたノード間の距離を計算することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示部によって表示された前記画像上のノードの中から所定のノードの指定を受け付けるノード指定受付部と、
前記位置決定部は、前記ノード指定受付部によって受け付けられた所定のノードの位置を変更せず、前記更新の指示を受け付けた時点で指定されている第二のパラメータを用いて計算された前記ノード間の距離に基づいて、該所定のノード以外のノードの位置を決定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記受付部は、前記第一のパラメータとして、特徴量の種別、分布の種別、および、重みの値の指定を少なくとも受け付け、
前記変換部は、前記受付部によって指定された特徴量の種別に属する特徴量を、指定された分布の種別および重み付けの値に基づいて変換することを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記受付部は、前記第二のパラメータとして、計算方法の指定を受け付け、
前記計算部は、前記受付部によって指定された計算方法により、ノード間の距離を計算することを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付部と、
前記受付部によって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換部と、
前記受付部によって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算部と、
前記計算部によって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定部と、
前記画像において、前記位置決定部によって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示部と、
を備えたことを特徴とする特徴量変換システム。
【請求項７】
情報処理装置によって実行される表示制御方法であって、
第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付工程と、
前記受付工程によって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換工程と、
前記受付工程によって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算工程と、
前記計算工程によって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定工程と、
前記画像において、前記位置決定工程によって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示工程と、
を含んだことを特徴とする表示制御方法。
【請求項８】
第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付ステップと、
前記受付ステップによって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換ステップと、
前記受付ステップによって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算ステップと、
前記計算ステップによって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定ステップと、
前記画像において、前記位置決定ステップによって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示ステップと、
をコンピュータに実行させるための表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、特徴量変換システム、表示制御方法及び表示制御プログラムに関する。
【背景技術】
【０００２】
近年、一定量以上のデータから規則性やパターンを抽出し、データの認識、分析、判定などの実施を可能とする技術として機械学習技術が注目されている。このような機械学習技術は、例えば、ＢｉｇＤａｔａなどの大容量データに対する処理への適用が期待されている。
【０００３】
このような機械学習では、機械学習のアルゴリズムがパターンの抽出や分析、判定等の処理を行うために、一般にベクトル形式のデータが入力される。ここで、機械学習でデータ処理を行うために、元のデータが持つ様々な特徴をベクトル形式のデータに変換することを特徴量変換と呼ぶ。この特徴量変換においてどのようなベクトルデータを生成するかで機械学習の精度や性質は大きく影響を受ける。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Toby  Segaran著,  集合知プログラミング,P.53-P.56,オライリー・ジャパン,2008
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、特徴量変換処理におけるパラメータの設定変更を行った場合に、特徴量変換におけるパラメータの設定変更がどの機械学習の結果の変化に影響したかを把握することは難しく、特徴量変換において利用者に高度な専門性を求めることとなり、妥当な特徴量変換を容易かつ効率的に実現することが難しかった。
【０００６】
そこで、この発明は、利用者に高度な専門性を求めることなく、妥当な特徴量変換を容易かつ効率的に実現することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、情報処理装置は、第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付部と、前記受付部によって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換部と、前記受付部によって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算部と、前記計算部によって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定部と、前記画像において、前記位置決定部によって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示部と、を備えたことを特徴とする。
【０００８】
また、特徴量変換システムは、第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付部と、前記受付部によって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換部と、前記受付部によって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算部と、前記計算部によって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定部と、前記画像において、前記位置決定部によって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示部と、を備えたことを特徴とする。
【０００９】
また、表示制御方法は、情報処理装置によって実行される表示制御方法であって、第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付工程と、前記受付工程によって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換工程と、前記受付工程によって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算工程と、前記計算工程によって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定工程と、前記画像において、前記位置決定工程によって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示工程と、を含んだことを特徴とする。
【００１０】
また、表示制御プログラムは、第一のパラメータの指定と、第二のパラメータの指定とを受け付ける受付ステップと、前記受付ステップによって受け付けられた第一のパラメータを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換ステップと、前記受付ステップによって受け付けられた第二のパラメータを用いて、ノード間の距離を計算する計算ステップと、前記計算ステップによって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する位置決定ステップと、前記画像において、前記位置決定ステップによって決定された各ノードの位置に各ノードを配置して描画し、前記各ノードが描画された前記画像を表示する表示ステップと、をコンピュータに実行させる。
【発明の効果】
【００１１】
本願に開示する情報処理装置、特徴量変換システム、表示制御方法及び表示制御プログラムは、利用者に高度な専門性を求めることなく、妥当な特徴量変換を容易かつ効率的に実現することが可能である。
【図面の簡単な説明】
【００１２】
【図１】図１は、第一の実施形態に係る特徴量変換システムの構成の一例を示す図である。
【図２】図２は、第一の実施形態に係るサーバ装置の構成を説明するための図である。
【図３】図３は、第一の実施形態に係るノードデータ記憶部によって記憶される情報の一例を示す図である。
【図４】図４は、第一の実施形態に係る指定データ記憶部によって記憶される情報の一例を示す図である。
【図５】図５は、ノードごとの距離計算処理について説明する図である。
【図６】図６は、第一の実施形態に係るクライアント装置の構成を説明するための図である。
【図７】図７は、表示部によって表示される表示例について説明する図である。
【図８】図８は、各ノードを距離に反比例する強さのバネで接続した場合のイメージを示す図である。
【図９】図９は、表示部によって表示されるノードがアニメーションにより移動することを示す図である。
【図１０】図１０は、第一の実施形態に係る特徴量変換システムにおける処理の流れを説明するためのシーケンス図である。
【図１１】図１１は、第一の実施形態に係るクライアント装置における初回の次元削減処理について説明する図である。
【図１２】図１２は、第一の実施形態に係るクライアント装置における二回目以降の次元削減処理について説明する図である。
【図１３】図１３は、表示制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明に係る情報処理装置、特徴量変換システム、表示制御方法及び表示制御プログラムの実施形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１４】
［第一の実施形態］
以下の実施形態では、第一の実施形態に係る特徴量変換システムの構成、第一の実施形態に係るサーバ装置の構成、第一の実施形態に係るクライアント装置の構成および特徴量変換システムによる処理の流れを順に説明し、最後に第一の実施形態による効果を説明する。
【００１５】
［特徴量変換システムの構成］
まず、第一の実施形態に係る特徴量変換システムの構成の一例を説明する。図１は、第一の実施形態に係る特徴量変換システムの構成の一例を示す図である。図１に示すように、第一の実施形態に係る特徴量変換システム１００は、ネットワーク３０を介して、サーバ装置１０と、クライアント装置２０とが接続される。なお、図１の例では、サーバ装置１０およびクライアント装置２０が１台ずつである場合を例として示しているが、これに限定されるものではなく、サーバ装置１０が複数台であってもよいし、クライアント装置２０が複数台であってもよい。
【００１６】
サーバ装置１０は、演算開始の指示を受け付けると、グラフ構造データにおける各ノードが有する特徴量をベクトル形式のデータに変換する特徴量変換処理を行う。そして、サーバ装置１０は、特徴量変換処理が行われたノード間の距離を計算し、計算結果をクライアント装置２０に送信する。
【００１７】
クライアント装置２０は、ユーザの操作により、特徴量変換処理を行うにあたって設定可能なパラメータの指定を受け付ける。また、クライアント装置２０は、特徴量変換処理が行われたノード間の距離を計算する際に使用される計算方法の指定を受け付ける。そして、クライアント装置２０は、ユーザの操作により演算開始の指示を受け付けると、サーバ装置１０に対して演算開始を指示するとともに、ユーザに指定された上記のパラメータおよび計算方法を送信する。
【００１８】
［サーバ装置の構成］
次に、図２を用いて、図１に示したサーバ装置１０の構成を説明する。図２は、第一の実施形態に係るサーバ装置１０の構成を説明するための図である。図２に示すように、サーバ装置１０は、通信処理部１１、制御部１２および記憶部１３を有する。
【００１９】
通信処理部１１は、接続されるクライアント装置２０との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部１１は、クライアント装置２０から演算開始指示や各種パラメータを受信する。また、通信処理部１１は、クライアント装置２０に対して計算結果を送信する。
【００２０】
記憶部１３は、図２に示すように、ノードデータ記憶部１３ａおよび指定データ記憶部１３ｂを有する。記憶部１３は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００２１】
ノードデータ記憶部１３ａは、特徴量変換処理の処理対象となるデータを記憶する。例えば、ノードデータ記憶部１３ａは、図３に例示するように、ノードＩＤと、特徴を表すラベルと、ラベルに対応する値とを記憶する。図３の例を用いて説明すると、ノードデータ記憶部１３ａは、例えば、ノードＩＤとして、「やまだたろう」、「やまだはなこ」、「やまだじろう」を記憶し、ラベルとして「身長」、「体重」を記憶する。また、例えば、ノードデータ記憶部１３ａは、「やまだたろう」の「身長」として、「１８０」を記憶し、「やまだたろう」の「体重」として、「７２」を記憶する。なお、このノードデータ記憶部１３ａに記憶されるデータは、クライアント装置２０から送信されたデータを事前に格納したものであるとする。
【００２２】
指定データ記憶部１３ｂは、クライアント装置２０により指定された各種パラメータに関するデータを記憶する。例えば、指定データ記憶部１３ｂは、特徴量変換処理の際に参照される「変換ルール」、各ノード間の距離を計算する方法の種類を示す「距離計算法」、および、後述する束縛指定部２２ｃにより指定されたノードのノードＩＤを示す「束縛ノード」を記憶する。
【００２３】
例えば、図４の例を挙げて説明すると、指定データ記憶部１３ｂは、変換ルールとして、ラベル「身長」、分布の種別「一様分布」、重み付け「５」、距離計算法として「ユークリッド距離」、束縛ノードとして「やまだたろう」を記憶する。なお、各パラメータの指定ついては、後述するクライアント装置の構成の説明において詳述する。
【００２４】
図２の説明に戻って、制御部１２は、変換部１２ａおよび計算部１２ｂを有する。ここで、制御部１２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００２５】
変換部１２ａは、クライアント装置２０の変換ルール設定部２２ａによって受け付けられた変換ルールを用いて、グラフ構造データにおける各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う。また、変換部１２ａは、演算開始指定部２２ｄによって更新の指示を受け付けた時点で指定されている変換ルールを用いて、各ノードに対して特徴量変換処理を行う。
【００２６】
例えば、変換部１２ａは、クライアント装置２０の演算開始指示とともに、各パラメータを受け付けると、受け付けたパラメータを指定データ記憶部１３ｂに格納する。そして、変換部１２ａは、受け付けたパラメータのうち、後述する変換ルール設定部２２ａで指定された変換ルールに基づき、データの重み付けを行う。
【００２７】
例えば、変換部１２ａは、特徴を表すラベルである「身長」の分布が、「一様分布」と指定されており、その後の重み付けが「５」と指定されている場合には、それぞれのノードの身長に対応する値を、最小値が「−５」、最大値が「５」になるよう、線形変換する。また、例えば、変換部１２ａは、特徴を表すラベルである「体重」の分布が、正規分布と指定されており、その後の重み付けが、「３」と指定されている場合は、それぞれのノードの体重に対応する値を、平均が０、分散が３になるように正規化する。
【００２８】
計算部１２ｂは、クライアント装置２０の距離計算法指定部２２ｂによって受け付けられた距離計算法を用いて、ノード間の距離を計算する。ここでの距離は、距離空間の定義を満たすものであればなんでもよい。また、計算部１２ｂは、ノード数をＮとすると、Ｎ×（Ｎ−１）／２個の距離が計算される。例えば、図５に例示するように、ノードが３つである場合には、３×２／２＝３となり、３個の距離が計算される。なお、図５の例では、「やまだたろう」と「やまだはなこ」の距離が「１」であり、「やまだたろう」と「やまだじろう」との距離が「２」であり、「やまだはなこ」と「やまだじろう」との距離が「２」であるものとする。
【００２９】
例えば、計算部１２ｂは、ｎ次元ベクトルの距離の一つ、ユークリッド距離が距離計算法として指定された場合には、それぞれのベクトルをＸ、Ｙで表し、Ｔを転置であるとすると、「ｓｑｒｔ（（Ｘ−Ｙ）×Ｔ（Ｘ−Ｙ））」でユークリッド距離を計算する。
【００３０】
［クライアント装置の構成］
次に、図６を用いて、図１に示したクライアント装置１０の構成を説明する。図６は、第一の実施形態に係るクライアント装置２０の構成を説明するための図である。図６に示すように、クライアント装置２０は、通信処理部２１、制御部２２および記憶部２３を有する。
【００３１】
通信処理部２１は、接続されるサーバ装置１０との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部２１は、サーバ装置１０から計算結果を受信する。また、通信処理部２１は、サーバ装置１０に対して演算開始指示や各種パラメータを送信する。
【００３２】
記憶部２３は、図６に示すように、データ記憶部２３ａを有する。記憶部２３は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。データ記憶部２３ａは、特徴量変換処理の処理対象となるデータであり、前述したサーバ装置１０のノードデータ記憶部１３ａに記憶されるデータと同様のデータである。
【００３３】
制御部２２は、変換ルール設定部２２ａ、距離計算法指定部２２ｂ、束縛指定部２２ｃ、演算開始指定部２２ｄ、位置決定部２２ｅおよび表示部２２ｆを有する。ここで、制御部２２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００３４】
変換ルール設定部２２ａは、前述した変換部１２ａにより実行される特徴量変換処理において使用される変換ルールの設定を受け付ける。例えば、変換ルール設定部２２ａは、
変換ルールとして、特徴量の種別、分布の種別、および、重み係数の指定を少なくとも受け付ける。
【００３５】
例えば、変換ルール設定部２２ａは、データに含まれる特徴を表すラベルと、そのデータが仮定する分布と、その特徴を表すラベルに対する重み付けの設定を受け付ける。仮定する分布としては、例えば、「一様分布」または「正規分布」などが存在するが、その他、任意の分布を指定することができる。
【００３６】
ここで、図７の表示例を用いて、ユーザによる変換ルールの設定方法について説明する。図７の例では、画面右側において、ラベルとして「身長」、「体重」および「年齢」が表示されており、各ラベルについて、分布の種別が選択可能なプルダウンメニューと、重み付けが設定可能なスライドバーとが表示されており、対応する特徴を強く出すか弱く出すかを自由に設定できる。また、各ラベルには、その特徴を利用するか否かのチェックボックスも表示されている。なお、図７の例では、全てチェックがされている。
【００３７】
距離計算法指定部２２ｂは、前述した計算部１２ｂにより実行されるノード間の距離計算処理における計算方法の指定を受け付ける。例えば、距離計算法指定部２２ｂは、距離の計算方法として、「ユークリッド距離」、「コサイン距離」、「ハミング距離」、「Ｊａｃｃａｒｄ係数」などが指定可能である。例えば、図７の例では、画面右側上部において、計算方法が選択可能なプルダウンメニューを表示する。なお、図７の例では、「コサイン距離」が選択されている。
【００３８】
束縛指定部２２ｃは、後述する表示部２２ｆによって表示された画像上のノードの中から所定のノードの指定を受け付ける。例えば、束縛指定部２２ｃは、表示部２２ｆと連動し、一つ前の描画されたノードを指定することが可能であり、指定されたノードの位置を位置決定部２２ｅの処理において固定する。
【００３９】
例えば、図７の例では、表示されているノードのうち、上部に「束縛指定」と表示されたノードが指定されたノードである。なお、この束縛指定されたノードについては、他のノードと異なる色で表示するようにしてもよい。
【００４０】
演算開始指定部２２ｄは、ユーザの操作により演算開始の指示を受け付け、演算開始の指示を受け付けると、演算開始指示をサーバ装置１０に対して送信する。また、演算開始指示部２２ｄは、画像が表示された後において、該画像の更新の指示を受け付ける。例えば、図７の例では、画面の右側上部に、「表示の更新」というボタンが表示されており、このボタンをクリックすることで、現在指定されているパラメータを用いて特徴量変換処理や距離計算処理が行われて、画像が更新される。
【００４１】
位置決定部２２ｅは、前述したサーバ装置１０の計算部１２ｂによって計算されたノード間の距離を用いて、画像上における各ノードの位置を決定する。また、位置決定部２２ｅは、束縛指定部２２ｃによって指定された束縛指定ノードの位置を変更せず、更新の指示を受け付けた時点で指定されている距離計算法を用いて計算されたノード間の距離に基づいて、該束縛指定ノード以外のノードの位置を決定する。
【００４２】
ここで、位置決定部２２ｅによる具体的な処理について説明する。位置決定部２２ｅは、前述したサーバ装置１０の計算部１２ｂから、Ｎ個のノード間の距離として、Ｎ×（Ｎ−１）／２個の距離のリストを受け付ける。そして、位置決定部２２ｅは、２次元、もしくは３次元にマップする次元削除処理として、既存の多次元尺度法を改良したアルゴリズムを利用して、各ノードの位置を決定する。
【００４３】
まず、初回の次元削除処理として、つまり、後述する表示部２２ｆにより最初に画像が表示される際の処理ついて説明する。最初に、位置決定部２２ｅは、Ｎ個のノードをランダムに配置する。そして、位置決定部２２ｅは、Ｎ個のノードを距離に反比例する強さのバネで接続する。例えば、図８に例示するように、「やまだたろう」と「やまだはなこ」の距離が「１」であり、「やまだたろう」と「やまだじろう」との距離が「２」である場合には、「やまだたろう」と「やまだはなこ」とを接続するバネは、「やまだたろう」と「やまだじろう」とを接続するバネと比較して強さが２倍である。
【００４４】
続いて、位置決定部２２ｅは、次の瞬間のノード間の位置を求め、表示部２２ｆに各ノードの座標位置を通知する。そして、位置決定部２２ｅは、指定回数（例えば、１００００回）の間、ノード間の位置を求めて、表示部２２ｆに各ノードの座標位置を通知する処理を繰り返し行う。つまり、位置決定部２２ｅは、ノードにかかるバネの力が最小になるようにノードの位置（安定状態）を求める。このため、ランダムなノードの初期配置から開始して、各時点でノードに働く合力を計算し、その力の向きに少しだけノードを移動させるという処理を繰り返す。そして、位置決定部２２ｅは、指定回数処理を繰り返し行った場合には、最終的なＮ個のノード位置を表示部２２ｆに通知する。
【００４５】
次に、２回目以降の次元削除処理、つまり、後述する表示部２２ｆにおいてすでに画像が表示されている場合の処理について説明する。位置決定部２２ｅは、Ｎ個のノードを前回の位置に配置する。つまり、ノードの初期配置をランダムではなく、前回の最終的なノード位置とする。
【００４６】
続いて、位置決定部２２ｅは、Ｎ個のノードをバネで接続するが、束縛指定部２２ｃで指定したノードの位置は固定とする。そして、位置決定部２２ｅは、次の瞬間のノード間の位置を求め、表示部２２ｆに各ノードの座標位置を通知する。そして、位置決定部２２ｅは、指定回数（例えば、１００００回）の間、ノード間の位置を求めて、表示部２２ｆに各ノードの座標位置を通知する処理を繰り返し行う。そして、位置決定部２２ｅは、指定回数処理を繰り返し行った場合には、最終的なＮ個のノード位置を表示部２２ｆに通知する。
【００４７】
表示部２２ｆは、画像において、位置決定部２２ｅによって決定された各ノードの位置に各ノードを配置して描画し、各ノードが描画された画像を表示する。この表示部２２ｆは、二次元または三次元に変換された各ノードの点を座標であるとみなして描画し、各ノードが描画された画像を表示する。
【００４８】
表示部２２ｆは、位置決定部２２ｅから各ノードの座標位置を受信するたびに、該座標位置を各ノードを配置して描画し、各ノードが描画された画像を表示する。このため、例えば、図９に例示するように、表示部２２ｆは、画像として、ノードが少しずつ移動するアニメーションを表示することとなる。図９の例では、ノードＩＤ「やまだたろう」のノードが束縛指定のノードであるものとし、（１）→（２）→（３）の順に画面が切り替わっているものとする。図９に例示するように、表示部２２ｆは、束縛指定されたノードＩＤ「やまだたろう」のノードの位置は固定されており、ノードＩＤ「やまだじろう」のノードが左に少しずつ移動し、ノードＩＤ「やまだはなこ」のノードが上に少しずつ移動しているアニメーションが表示される。なお、前回の画像のノードの位置を透過で描画するようにしてもよい。これにより、ノードがどのように移動しているかをユーザに分かりやすくすることが可能である。
【００４９】
また、図７に例示するように、画面の左下に過去の履歴として、過去の結果を表示するようにしてもよい。これにより、ユーザが過去の２次元化または３次元化した機械学習の結果を参照することができる。
【００５０】
このように、パラメータ設定とその結果を連動して可視化することで、例えば、ユーザが、表示部２２ｆにより表示された画像を見て、画像が妥当であるか否かを判断する。そして、ユーザが、妥当でないと判断した場合には、例えば、変換ルール設定部２２ａの設定を変更し、表示の更新を指示する。また、もし、ユーザが、思った方向にノードが移動したならば、その変換ルールが正しい方向に変更したことがわかる。このような作業を繰り返すことでユーザの感覚に合う特徴量変換ルールを構成することができる。この結果、特徴量変換作業を効率的に行うことが可能となる。
【００５１】
［特徴量変換システムによる処理］
次に、図１０を用いて、第一の実施形態に係る特徴量変換システム１００全体の処理を説明する。図１０は、第一の実施形態に係る特徴量変換システム１００における処理の流れを説明するためのシーケンス図である。
【００５２】
図１０に示すように、クライアント装置２０は、特徴変換処理等に用いられる各種パラメータの設定を受け付ける（ステップＳ１０１）。例えば、クライアント装置２０は、変換ルールや距離計算法についてユーザからの指定を受け付ける。そして、クライアント装置２０は、演算開始指示をユーザから受け付けると、演算開始指示とともに、各種パラメータをサーバ装置１０に通知する（ステップＳ１０２）。
【００５３】
続いて、サーバ装置１０は、変換ルールに基づきデータの重み付けを行う（ステップＳ１０３）。そして、サーバ装置１０は、ノードごとの距離を計算し（ステップＳ１０４）、計算結果をクライアント装置２０に送信する（ステップＳ１０５）。
【００５４】
そして、クライアント装置２０は、後に図１１を用いて詳述する初回の次元削減処理を実行する（ステップＳ１０６）。続いて、クライアント装置２０は、計算結果として、決定された各ノードの位置に各ノードを配置して描画し、各ノードが描画された画像を表示する（ステップＳ１０７）。
【００５５】
その後、クライアント装置２０は、特徴変換処理等に用いられる各種パラメータの設定変更を受け付けた後（ステップＳ１０８）、画像の更新の指示を受け付ける（ステップＳ１０９）。そして、クライアント装置２０は、演算開始指示とともに、変更したパラメータをサーバ装置１０に通知する（ステップＳ１１０）。
【００５６】
続いて、サーバ装置１０は、変換ルールに基づき、データの重み付けを行う（ステップＳ１１１）。そして、サーバ装置１０は、ノードごとの距離を計算し（ステップＳ１１２）、計算結果をクライアント装置２０に送信する（ステップＳ１１３）。
【００５７】
そして、クライアント装置２０は、後に図１２を用いて詳述する２回目以降の次元削減処理を実行する（ステップＳ１１４）。続いて、クライアント装置２０は、計算結果として、決定された各ノードの位置に各ノードを配置して描画し、各ノードが描画された画像を表示する（ステップＳ１１５）。
【００５８】
次に、図１１および図１２を用いて、次元削除処理について説明する。図１１は、第一の実施形態に係るクライアント装置２０における初回の次元削減処理について説明する図である。図１２は、第一の実施形態に係るクライアント装置２０における二回目以降の次元削減処理について説明する図である。
【００５９】
図１１に示すように、クライアント装置２０の位置決定部２２ｅは、Ｎ個のノードをランダムに配置する（ステップＳ２０１）。そして、位置決定部２２ｅは、Ｎ個のノードを距離に反比例する強さのバネで接続する（ステップＳ２０２）。例えば、図８に例示するように、「やまだたろう」と「やまだはなこ」の距離が「１」であり、「やまだたろう」と「やまだじろう」との距離が「２」である場合には、「やまだたろう」と「やまだはなこ」とを接続するバネは、「やまだたろう」と「やまだじろう」とを接続するバネと比較して強さが２倍である。
【００６０】
続いて、位置決定部２２ｅは、次の瞬間のノード間の位置を求める（ステップＳ２０３）。ここで求められたノード間の位置に関する情報は、各ノードの座標位置として表示部２２ｆに通知される。そして、位置決定部２２ｅは、ノード間の位置を求める処理を所定回数（例えば、１００００回）実行したか判定する（ステップＳ２０４）。この結果、位置決定部２２ｅは、所定回数実行していないと判定した場合には（ステップＳ２０４否定）、ステップＳ２０３に戻り、ノード間の位置を求める処理を繰り返す。また、位置決定部２２ｅは、所定回数実行したと判定した場合には（ステップＳ２０４肯定）、処理を終了する。
【００６１】
次に、図１２に示すように、クライアント装置２０の位置決定部２２ｅは、Ｎ個のノードを前回の位置に配置する（ステップＳ３０１）。つまり、ノードの初期配置をランダムではなく、前回の最終的なノード位置とする。そして、位置決定部２２ｅは、Ｎ個のノードをバネで接続するが、束縛指定部２２ｃで指定されたノードの位置は固定とする（ステップＳ３０２）。
【００６２】
続いて、位置決定部２２ｅは、次の瞬間のノード間の位置を求める（ステップＳ３０３）。ここで求められたノード間の位置に関する情報は、各ノードの座標位置として表示部２２ｆに通知される。そして、位置決定部２２ｅは、ノード間の位置を求める処理を所定回数（例えば、１００００回）実行したか判定する（ステップＳ３０４）。この結果、位置決定部２２ｅは、所定回数実行していないと判定した場合には（ステップＳ３０４否定）、ステップＳ３０３に戻り、ノード間の位置を求める処理を繰り返す。また、位置決定部２２ｅは、所定回数実行したと判定した場合には（ステップＳ３０４肯定）、処理を終了する。
【００６３】
[第一の実施形態の効果]
上述してきたように、第一の実施形態にかかる特徴量変換システム１００では、クライアント装置２０が、変換ルールの指定と、距離計算法の指定とを受け付ける。そして、サーバ装置１０が、受け付けられた変換ルールを用いて、グラフ構造データにおける各ノードが有する特徴量をベクトル形式のデータに変換する特徴量変換処理を行う。続いて、サーバ装置１０が、受け付けられた距離計算法を用いて、ノード間の距離を計算する。そして、クライアント装置２０が、計算されたノード間の距離を用いて、画像上における各ノードの位置を決定し、画像において、決定された各ノードの位置に各ノードを配置して描画し、各ノードが描画された画像を表示する。このため、高度な専門性を有しない利用者においても、特徴量変換における自らのパラメータ変更（チューニング）が適切か否かを視覚的に判断可能となり、特徴量変換作業の効率向上と容易化を実現することが可能となる。この結果、利用者に高度な専門性を求めることなく、妥当な特徴量変換を容易かつ効率的に実現することが可能である。
【００６４】
第一の実施形態にかかる特徴量変換システム１００では、クライアント装置２０が、変換ルールの指定と距離計算法の指定とを、画像が表示された後においても受け付け可能であり、画像が表示された後において、該画像の更新の指示を受け付ける。そして、サーバ装置１０が、更新の指示を受け付けた時点で指定されている変換ルールを用いて、各ノードに対して特徴量変換処理を行い、更新の指示を受け付けた時点で指定されている距離計算法を用いて、特徴量変換処理が行われたノード間の距離を計算する。このため、パラメータを調整しつつ、その結果を参照できるので、パラメータ変更（チューニング）が適切か否かを視覚的に判断することができる。
【００６５】
第一の実施形態にかかる特徴量変換システム１００では、クライアント装置２０が、表示された画像上のノードの中から所定のノードの指定を受け付ける。そして、クライアント装置２０が、受け付けられた所定のノードの位置を変更せず、更新の指示を受け付けた時点で指定されている距離計算法を用いて計算されたノード間の距離に基づいて、該所定のノード以外のノードの位置を決定する。このため、着目しているノードの位置を固定とし、他のノードとの位置関係が分かりやすく表示されるため、パラメータ設定の変更と結果の変化の差を容易に把握することが可能となる。
【００６６】
第一の実施形態にかかる特徴量変換システム１００では、変換ルールとして、特徴量の種別、分布の種別、および、重みの値の指定を少なくとも受け付ける。そして、指定された特徴量の種別に属する特徴量を、指定された分布の種別および重み付けの値に基づいて変換する。このため、変換ルールの設定を自由に変更することが可能である。
【００６７】
第一の実施形態にかかる特徴量変換システム１００では、距離計算方法の指定を受け付け、計算方法により、ノード間の距離を計算する。このため、距離計算方法を自由に設定変更することが可能である。
【００６８】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、変換ルール設定部２２ａおよび距離計算法指定部２２ｂを統合してもよい。また、上記では、位置決定部２２ｅをクライアント装置２０が有している場合を説明したが、サーバ装置１０が有していてもよい。また、サーバ装置１０が有する変換部１２ａおよび計算部１２ｂをクライアント装置２０に持たせることにより、クライアント装置２０のみで全ての処理を完結して行えるようにしてもよい。
【００６９】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７０】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７１】
［プログラム］
また、上記実施形態において説明したサーバ装置１０およびクライアント装置２０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第一の実施形態に係るサーバ装置１０およびクライアント装置２０が実行する処理をコンピュータが実行可能な言語で記述した表示制御プログラムを作成することもできる。この場合、コンピュータが表示制御プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる表示制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録され表示制御プログラムをコンピュータに読み込ませて実行することにより上記第一の実施形態と同様の処理を実現してもよい。以下に、図２および図６に示したサーバ装置１０およびクライアント装置２０と同様の機能を実現する表示制御プログラムを実行するコンピュータの一例を説明する。
【００７２】
図１３は、表示制御プログラムを実行するコンピュータ１０００を示す図である。図１３に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００７３】
メモリ１０１０は、図１３に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１３に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図１３に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、図１３に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図１３に例示するように、例えばディスプレイ１０６１に接続される。
【００７４】
ここで、図１３に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の表示制御プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。
【００７５】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００７６】
なお、表示制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、表示制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７７】
１０  サーバ装置
１１、２１  通信処理部
１２、２２  制御部
１２ａ  変換部
１２ｂ  計算部
１３、２３  記憶部
１３ａ  ノードデータ記憶部
１３ｂ  指定データ記憶部
２０  クライアント装置
２２ａ  変換ルール設定部
２２ｂ  距離計算法指定部
２２ｃ  束縛指定部
２２ｄ  演算開始指定部
２２ｅ  位置決定部
２２ｆ  表示部
２３ａ  データ記憶部
３０  ネットワーク
【図１】
2014215742.tif 000003
【図２】
2014215742.tif 000004
【図３】
2014215742.tif 000005
【図４】
2014215742.tif 000006
【図５】
2014215742.tif 000007
【図６】
2014215742.tif 000008
【図７】
2014215742.tif 000009
【図８】
2014215742.tif 000010
【図９】
2014215742.tif 000011
【図１０】
2014215742.tif 000012
【図１１】
2014215742.tif 000013
【図１２】
2014215742.tif 000014
【図１３】
2014215742.tif 000015