(57)【特許請求の範囲】
【請求項１】
所定の次元で表される空間に対する各ノードの配置に関する指示を受け付けて、該各ノードを配置する配置受付部と、
所定のパラメータを用いて、特徴量を所定の形式のデータに変換する変換ルールを作成する作成部と、
前記作成部によって作成された変換ルールを用いて、前記各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換部と、
前記変換部によって変換された特徴量を用いて、ノード間の距離を計算する計算部と、
前記計算部によって計算されたノード間の距離と、前記配置受付部によって配置されたノード間の距離とを比較し、距離の差分が所定の値より小さい場合には、前記変換部により用いられた変換ルールを出力する出力部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記所定のパラメータの候補または範囲を限定する指示を受け付ける限定受付部をさらに備え、
前記作成部は、前記限定受付部によって受け付けられた候補または範囲のなかから前記所定のパラメータを選択し、該所定のパラメータを用いて、前記変換ルールを作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記作成部は、前記所定のパラメータをランダムに選択し、該所定のパラメータを用いて、前記変換ルールを作成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記限定受付部は、前記所定のパラメータの範囲を限定する指示として、特徴量の種別の候補、分布の種別の候補、および、重みの値の範囲の指定を少なくとも受け付けることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
所定の次元で表される空間に対する各ノードの配置に関する指示を受け付けて、該各ノードを配置する配置受付部と、
所定のパラメータを用いて、特徴量を所定の形式のデータに変換する変換ルールを作成する作成部と、
前記作成部によって作成された変換ルールを用いて、前記各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換部と、
前記変換部によって変換された特徴量を用いて、ノード間の距離を計算する計算部と、
前記計算部によって計算されたノード間の距離と、前記配置受付部によって配置されたノード間の距離とを比較し、距離の差分が所定の値より小さい場合には、前記変換部により用いられた変換ルールを出力する出力部と、
を備えたことを特徴とする特徴量変換システム。
【請求項６】
情報処理装置によって実行される変換ルール生成方法であって、
所定の次元で表される空間に対する各ノードの配置に関する指示を受け付けて、該各ノードを配置する配置受付工程と、
所定のパラメータを用いて、特徴量を所定の形式のデータに変換する変換ルールを作成する作成工程と、
前記作成工程によって作成された変換ルールを用いて、前記各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換工程と、
前記変換工程によって変換された特徴量を用いて、ノード間の距離を計算する計算工程と、
前記計算工程によって計算されたノード間の距離と、前記配置受付工程によって配置されたノード間の距離とを比較し、距離の差分が所定の値より小さい場合には、前記変換工程により用いられた変換ルールを出力する出力工程と、
を含んだことを特徴とする変換ルール生成方法。
【請求項７】
所定の次元で表される空間に対する各ノードの配置に関する指示を受け付けて、該各ノードを配置する配置受付ステップと、
所定のパラメータを用いて、特徴量を所定の形式のデータに変換する変換ルールを作成する作成ステップと、
前記作成ステップによって作成された変換ルールを用いて、前記各ノードが有する特徴量を所定の形式のデータに変換する特徴量変換処理を行う変換ステップと、
前記変換ステップによって変換された特徴量を用いて、ノード間の距離を計算する計算ステップと、
前記計算ステップによって計算されたノード間の距離と、前記配置受付ステップによって配置されたノード間の距離とを比較し、距離の差分が所定の値より小さい場合には、前記変換ステップにより用いられた変換ルールを出力する出力ステップと、
をコンピュータに実行させるための変換ルール生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、特徴量変換システム、変換ルール生成方法及び変換ルール生成プログラムに関する。
【背景技術】
【０００２】
近年、一定量以上のデータから規則性やパターンを抽出し、データの認識、分析、判定などの実施を可能とする技術として機械学習技術が注目されている。このような機械学習技術は、例えば、ＢｉｇＤａｔａなどの大容量データに対する処理への適用が期待されている。
【０００３】
このような機械学習では、機械学習のアルゴリズムがパターンの抽出や分析、判定等の処理を行うために、一般にベクトル形式のデータが入力される。ここで、機械学習でデータ処理を行うために、元のデータが持つ様々な特徴をベクトル形式のデータに変換することを特徴量変換と呼ぶ。この特徴量変換においてどのようなベクトルデータを生成するかで機械学習の精度や性質は大きく影響を受ける。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】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）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６９】
１０  サーバ装置
１１、２１  通信処理部
１２、２２  制御部
１２ａ  ルール生成部
１２ｂ  特徴量変換部
１２ｃ  距離計算部
１２ｄ  次元削減部
１２ｅ  誤差算出部
１３、２３  記憶部
１３ａ  ノードデータ記憶部
１３ｂ  限定データ記憶部
２０  クライアント装置
２２ａ  変換ルール限定部
２２ｂ  配置指定部
２２ｃ  距離計算法指定部
２２ｄ  目標値指定部
２２ｅ  演算開始指定部
２２ｆ  出力部
２３ａ  データ記憶部
３０  ネットワーク
１００  特徴量変換システム
【図１】
0005952226.tif 000002
【図２】
0005952226.tif 000003
【図３】
0005952226.tif 000004
【図４】
0005952226.tif 000005
【図５】
0005952226.tif 000006
【図６】
0005952226.tif 000007
【図７】
0005952226.tif 000008
【図８】
0005952226.tif 000009
【図９】
0005952226.tif 000010
【図１０】
0005952226.tif 000011
【図１１】
0005952226.tif 000012