WO2015029158A1 - データ変換装置およびデータ変換方法ならびにデータ変換プログラム - Google Patents

データ変換装置およびデータ変換方法ならびにデータ変換プログラム Download PDF

Info

Publication number
WO2015029158A1
WO2015029158A1 PCT/JP2013/072959 JP2013072959W WO2015029158A1 WO 2015029158 A1 WO2015029158 A1 WO 2015029158A1 JP 2013072959 W JP2013072959 W JP 2013072959W WO 2015029158 A1 WO2015029158 A1 WO 2015029158A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
label
conversion
columns
Prior art date
Application number
PCT/JP2013/072959
Other languages
English (en)
French (fr)
Inventor
竜治 嶺
淳一 平山
Original Assignee
株式会社日立製作所
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/072959 priority Critical patent/WO2015029158A1/ja
Publication of WO2015029158A1 publication Critical patent/WO2015029158A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0427Architectures, e.g. interconnection topology in combination with an expert system
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Abstract

 列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置であって、入力データを列単位に分割する第1の分割部と、この列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部と、この判定結果が数値の場合は、数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部と、数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部と、前記判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部と、文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部と、これらのラベルに振り分けたデータを列単位で結合する第1の結合部を有する。

Description

データ変換装置およびデータ変換方法ならびにデータ変換プログラム
 本発明は、蓄積されたデータを変換する装置および方法ならびにプログラムに関する。
 本技術分野の背景技術として、例えば特開平5-20276号公報(特許文献1)がある。この公報には、入力されたデータを予め用意したコード変換表を用いて、数字および文字に分類し、0、1、2、3、4、5、6、7、8、9の数字と文字(数字以外)とのデータに判別し、文字の列と文字の列とで区切りを付ける。このことにより、入力データを数字と文字列に分類する手法が開示されている。
 また、例えば特開2009-265905号公報(特許文献2)には、入力された数値データを、数値の大小に応じてif thenルールを用いてカテゴリデータに変換する手法と、if thenルールで用いる閾値変数を学習サンプルから決定する手法が開示されている。
 また、例えば米国特許第5,802,509号公報(特許文献3)には、ラベル付与装置が数値データのそれぞれの値に“小”、“中”、“大”などのラベルを割り当て、数値データをラベルデータに変換する手法が開示されている。
 また、例えば国際公開WO2007/139039号公報(特許文献4)には、入力されたテキストデータの中に、予め用意した辞書に含まれるキーワードと合致する文字列が見つかれば、その文字列を抽出する方法や、テキストデータの形態素解析を行い、固有名詞のうち氏名や地名など文字情報の種類が特定できるものを抽出する方法が開示されている。さらに、抽出したキーワードの種類を表すラベルに変換し、ラベル列内に繰り返し出現するラベルの出現パターンを推定するラベル出現パターン推定方法が開示されている。
特開平5-20276号公報 特開2009-265905号公報 米国特許第5,802,509号公報 国際公開WO2007/139039号公報
Y. Bengio、 "Learning Deep Architectures for AI"、Vol.2、 No. 1、 pp. 1-127、 Foundations and Trends in Machine Learning、 2009. G. E. Hinton、 S. Osindero and Y. Teh、 "A Fast Learning Algorithm for Deep Belief Nets"、NeuralComputation、 Vol. 18、 pp. 1527-1554、 2006.
 近年、ICT(情報通信技術)の発達に伴って、膨大な量のデータが日々生成され、送信されたり、保管されたり、解析されるようになった。そして、このような膨大なデータの集まり、すなわちビッグデータ、を解析することで、犯罪の対策や、企業の経営、病気の予防などに役立てられるようになってきた。ビッグデータとは、具体的には、例えば、物流分野においては荷受情報、在庫情報、POSデータ等、インフラ部門では家庭で使用される電気や水の量、天候、公表データ等である。これらの情報を、計算機を使って解析することで、人の経験や勘に頼って運用してきた経営資源をより適切に分配できるようになりつつある。
 計算機上でのデータの解析手法としては、近年、Deep Learning(非特許文献1)の枠組みに基づく機械学習手法が注目されるようになり、Deep Learningの枠組みを用いて、音声や画像を高精度に認識できるようになりつつある。Deep Learningとは、巨大なニューラルネットワークを用いて、特徴抽出から識別までやってしまう機械学習の一手法である。Deep Learningが対象とするのは、図16に示すような、多層のニューラルネットワークの構造である。図16において、1301は入力層のノード、1302は第1層のノード、1303は第2層のノード、1304は第3層のノード、1305は第4層(出力層)のノード、1306は入力層のノードと第1層のノードの結合、1307は第1層のノードと第2層のノードの結合、1308は第2層のノードと第3層のノードの結合、1309は第3層のノードと第4層(出力層)のノードの結合、をそれぞれ示す。
 いま、k層から構成されるニューラルネットワークを考え、入力データを、x=hとして、k番目の層が、hk-1の値を元に、出力hの値を出力するとする。すなわち、h=f(b+Wk-1)とする。ここで、bとWはパラメータであり、確率的勾配降下法などの学習アルゴリズムによって決める。また、f(●)は、何らかの非線形性を持つ関数が用いられ、例えばh=tanh(b+Wk-1)が使われる。
 このような構成を持つニューラルネットワークの学習は、以前から行われてきたが、層の数kが大きくなるにつれ、そのニューラルネットワークはより深い(Deep)データ構造を表現できるようになるものの、ニューラルネットワークの学習、すなわち、パラメータbとWの推定は、局所解に陥り、必ずしも正しい値が推定できないことが分かっていた。
 しかしながら、2000年代以降になって、隣接する2つの層の組を使って、第1層から第k層まで順にプレトレーニング(非特許文献2)を行うことによって、この局所解の問題を解決する手法が提案された。このことにより、Deep Learningで扱う、多層のニューラルネットワークを用いた機械学習が現実的になった。
 Deep Learningの入力データの次元数は、原理上いくらでも大きくすることができるため、大規模なデータを扱いやすいという利点がある。
 また、Deep Learningは、教師付き学習をしたり、ネットワークの出力ノードに別の識別器を結合したりすることで、パターン認識器として使うこともできる。あるいは、教師なし学習をすることで、特徴抽出器として使うこともできる。したがって、特に後者のように、データから特徴抽出法を機械で学習するので、事前知識に基づいて専門家が特徴抽出法を作り込む必要がなく、ビックデータの解析に適している。
 図17は、Deep Learningを含む、機械学習の構成を示す図である。学習サンプルDB(データベース)101には、例えば学習サンプル102が多数格納されている。学習サンプルとは、画像データであったり、音声データであったり、テキストデータであったり、計算機上で表現可能なものであれば、形式は問わない。この学習サンプルは、一般的には計算機上ではベクトル形式の入力データ103で表現され、機械学習部104へと渡される。機械学習部104では、入力データ103を解析し、例えばパターン認識や相関分析などを行う。これにより、学習結果105が得られる。
 ところが、業務ビッグデータには、画像だけのデータや音声だけのデータとは異なり、ヘテロなデータ(定量/定性、連続/離散、ベクトル/時系列などの異なる種類のデータが混在したデータ)から構成されており、Deep Learningをそのままビッグデータの解析に適用することができない。この課題を、図17を用いて説明する。すなわち、ヘテロなデータの場合には、学習サンプルDB106には、学習サンプル107,108,109が含まれる。例えば、学習サンプル107は画像データ、学習サンプル108は音声データ、学習サンプル109はテキストデータで表現されるとする。すると、入力データ110は、そのある部分は画像の画素値(x11、x21、x31、…)が、またある部分は音声データ(y1、y2、y3、…)が、さらにある部分はテキストデータ(s1、s2、s3、…)が含まれる。すなわち、入力データ110には、数値や文字列、符号など、異質なデータが含まれることが考えられる。
 このように異質なデータをそのまま機械学習部111に入力すると、データの値の大きなものに影響を受け、学習結果112が得られることが考えられる。例えば、画像データの画素値は0、1、2、…、255であり、音声データは-10から+10、テキストデータは、A、B、…、Zに対応するASCIIコードで表現されているとする。すると、負の値を持つデータは、音声データだけであり、また、テキストデータの取り得る値の範囲は、画像データの取り得る値の範囲よりも狭い。したがって、負のデータについては、音声のみから学習することになり、テキストデータは画像データに埋もれてしまい、適切に機械学習が行われない可能性があることを示している。
 従来は、これらの変換作業を人手で行っていた。すなわち、データの多様性を自動的に吸収することが課題であった。以下、ヘテロなデータを公知の技術では、どのようにして扱っていたか述べる。
 特許文献1に記載の方法は、数字と文字列で構成されるバイナリ形式の入力データを、数字と文字列の境界を検出して、数字と文字列に分割する方法である。したがって、分割後のデータは、数値と文字列が混在した形で表現されるため、このデータを機械学習の学習サンプルとすることが難しいという問題があった。
 特許文献2には、数値データをカテゴリデータに変換するための方法、および、変換の際の閾値を学習サンプルから決定する方法が開示されている。数値データの例として、店舗内の人の座標(X座標、Y座標)を挙げ、この数値を場所の名前を表現するカテゴリ名(A商品エリア、B商品エリア等)に変換する例が示されている。しかしながら、変換後のデータは文字列形式で表現されるため、データ同士の大小関係や順位の情報は失われ、機械学習で扱うことは困難である、という問題があった。
 特許文献3には、複数のサンプルデータに含まれるデータ間の関係を表す、if then形式のルールを生成したり、if then形式のルールの閾値を決定したりする方法が開示されている。しかしながら、この手法も入力データを、大、中、小などのラベルデータに変換するため、データ同士の大小関係や順位の情報は失われ、また、他の数値データと組み合わせて機械学習で扱うことは困難である、という問題があった。
 特許文献4には、入力されたデータから文字列を抽出し、抽出した各文字列を、文字列の分類を表すラベル列に変換する手法が開示されている。変換には、予め登録しておいたキーワードを用いる方法、正規表現や電話番号等の特定の表記規則を用いる方法が開示されている。そして、種類別のラベルに置き換え、隣り合うラベルが同じラベルであった場合に、それらを1つに纏めて、2つ以上の同じ種類のラベルが連続しないラベル列を作る方法が開示されている。この手法も、ラベルに変換するのみなので、データ同士の大小関係や順位の情報は失われ、他の数値データと組み合わせて機械学習を行うことは難しい、という問題があった。
 そこで、本発明は、このような問題点を解決するためになされたものであり、この発明の代表的な目的は、ヘテロ性を持つデータを使って機械学習を行う技術を提供することである。ここで、ヘテロ性を持つデータとは、異なる種類のデータが混在したデータである。この異なる種類のデータとは、画像データ、音声データ、テキストデータ、などの組で表現されるデータである。
 本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
 すなわち、代表的なデータ変換装置は、列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置である。前記データ変換装置は、入力データを列単位に分割する第1の分割部と、前記第1の分割部で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部と、を有する。さらに、前記第1の判定部の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部と、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部と、を有する。また、前記第1の判定部の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部と、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部と、を有する。そして、前記第1の振り分け部および前記第2の振り分け部でラベルに振り分けたデータを列単位で結合する第1の結合部を有する。
 より好ましくは、前記データ変換装置は、前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部と、前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定部と、を有する。さらに、前記第2の判定部の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換部と、前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部と、を有する。そして、前記第2の結合部の出力側は前記第1の分割部の入力側に接続される。
 さらに、前記データ変換装置と同様の主旨に基づいたデータ変換方法やデータ変換プログラムにも適用するものである。
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
 すなわち、代表的な効果は、ヘテロ性を持つ入力データを変換し、計算機で自動処理しやすくすることができる。この結果、ヘテロ性を持つデータを使って機械学習を行うことが可能となる。
本発明の実施の形態において、データ変換装置の位置付けの一例を説明する図である。 本発明の実施の形態1におけるデータ変換装置の構成の一例を示す図である。 本発明の実施の形態1において、入力データと出力データの構成の一例を示す図である。 本発明の実施の形態1において、データ変換装置のハードウェア構成の一例を示す図である。 本発明の実施の形態1において、データ変換方法の処理の一例を説明するフローチャートである。 本発明の実施の形態1において、入力データと出力データの関係の一例を示す図である。 本発明の実施の形態2において、データ変換方法の処理の一例を説明するフローチャートである。 本発明の実施の形態2において、同一列テーブルと同一文字列テーブルの一例を示す図である。 本発明の実施の形態2において、入力データと出力データの関係の一例を示す図である。 本発明の実施の形態2において、高い相関を持つ列を纏める場合のデータ変換装置の構成の一例を示す図である。 本発明の実施の形態2において、相関値の高低の一例を説明する図である。 本発明の実施の形態2において、入力データと出力データの関係の一例を示す図である。 本発明の実施の形態2において、分布歪度テーブルの一例を説明する図である。 本発明の実施の形態3において、行を纏める場合の入力データと出力データの関係の一例を示す図である。 本発明の実施の形態3において、列を纏める場合の入力データと出力データの関係の一例を示す図である。 Deep Learningで用いられる、多層のニューラルネットワークの構造を示す図である。 Deep Learningを含む、機械学習の構成を示す図である。
 以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
 さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
 [実施の形態の概要]
 まず、実施の形態の概要について説明する。本実施の形態の概要では、一例として、括弧内に実施の形態の対応する構成要素、符号等を付して説明する。
 すなわち、本実施の形態の代表的なデータ変換装置は、列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置である。前記データ変換装置は、入力データを列単位に分割する第1の分割部(データ分割部307)と、前記第1の分割部で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部(数値・文字列/符号判定部308)と、を有する。さらに、前記第1の判定部の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部(値域分割部309、値域ラベル追加部311)と、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部(数値振り分け部312)と、を有する。また、前記第1の判定部の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部(文字列/符号パターン抽出部314、文字列ラベル追加部315)と、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部(文字列振り分け部316)と、を有する。そして、前記第1の振り分け部および前記第2の振り分け部でラベルに振り分けたデータを列単位で結合する第1の結合部(列結合部313)を有する。
 より好ましくは、前記データ変換装置は、前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部(データ分割部307)と、前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定部(文字列/符号パターン抽出部314、値域分割部309)と、を有する。さらに、前記第2の判定部の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換部(文字列ラベル追加部315、値域ラベル追加部311)と、前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部(列結合部313)と、を有する。そして、前記第2の結合部の出力側は前記第1の分割部の入力側に接続される。
 さらに、前記データ変換装置と同様の主旨に基づいたデータ変換方法やデータ変換プログラムにも適用するものである。
 以下、上述した実施の形態の概要に基づいた各実施の形態を図面に基づいて詳細に説明する。なお、各実施の形態を説明するための全図において、同一機能を有するものは原則として同一の符号を付し、その繰り返しの説明は省略する。
 [実施の形態の共通内容]
 本実施の形態の共通内容として、図1を用いて説明する。図1は、本実施の形態において、データ変換装置の位置付けの一例を説明する図である。
 学習サンプルDB201には、学習サンプル202、学習サンプル203、学習サンプル204、…が格納されている。例えば、学習サンプル202は画像データ、学習サンプル203は音声データ、学習サンプル204はテキストデータであり、異質なデータが格納されている。これらを纏めたものが入力データ205であり、機械学習部210を経て、学習結果211を得る。前述した図17の右側の図と異なるのは、入力データ205が機械学習部210に入力される前に、データ変換装置として機能するデータ変換部206が追加されていることである。図1では、3種類の学習サンプルの例が示してあるが、データの種類は3に限定されない。
 データ変換部206は、さらに、前処理部1(207)と、前処理部2(208)とから構成される。そして、入力データ205を、前処理部2(208)を経由せずに直接、前処理部1(207)で処理する構成(入力データの流れ209)と、入力データ205を前処理部2(208)で処理した後に、前処理部1(207)で処理する構成とが説明されている。以下では、前者を実施の形態1で説明し、後者を実施の形態2で説明する。
 [実施の形態1]
 本実施の形態1におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムについて、図2~図6を用いて説明する。
 本実施の形態では、データ変換を行うデータ変換装置(図1の前処理部1(207)に相当)、このデータ変換装置によるデータ変換方法、さらにデータ変換プログラムの例を説明する。
 <データ変換装置>
 図2は、本実施の形態におけるデータ変換装置の構成の一例を示す図である。
 データ変換装置301は、入力データ302を入力すると、内部でデータの変換を行い、出力データ303を出力する。データ変換装置301は、データ読み込み部306、データ分割部307、数値・文字列/符号判定部308、値域分割部309、分布DB310、値域ラベル追加部311、数値振り分け部312、列結合部313、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316を有する。分布DB310には分布パラメータ入力部304が、値域分割部309には分割パラメータ入力部305がそれぞれ接続されている。
 まず、データ読み込み部306で入力データ302を読み込み、データ分割部307に送る。データ分割部307は、入力データを列単位に分割し、数値・文字列/符号判定部308に送る。数値・文字列/符号判定部308で、数値であるか文字列/符号であるかの判定を行い、数値と判定されたデータは、値域分割部309に送られる。数値と符号の判定には、アラビア数字や数値を表す記号(-(マイナス符号)、+(プラス符号)、i(虚数を示す符号)、.(小数点)、√(平方根)等)、文字が含まれているかどうかで、数値と符号を分ける方法を用いることができる。また、後述する、入力データと分布関数とを比較して、分布関数に近い場合は数値と判定する方法を用いることができる。
 値域分割部309では、分布DB310を参照し、複数の値域に分割する。分布DB310には、典型的な分布関数、すなわち、正規分布、ラプラス分布、ロジスティック分布などの分布形状を表現するパラメータが格納されている。分布形状のパラメータを入力するために、分布パラメータ入力部304が設けられている。分布パラメータとは、正規分布の場合は、平均値μと分散値σのことである。ポアソン分布の場合は、所定の区間で発生する事象の期待発生回数λである。また、いくつに分割するか等のパラメータは、分割パラメータ入力部305で入力する。具体的には、入力データが分割区間毎に含まれるデータ数が等しくなるように分割を行う、入力データの平均値と分散値を計算し、その平均値と分散値に基づいて分割を行う、ユーザが指定した値を区切り目として分割する、入力データの値域を等分割する、などの方法を採ることができる。
 続いて、値域ラベル追加部311では、値域ラベルを出力データに追加する。値域ラベルを追加する手順については、後述する。そして、数値振り分け部312では、入力データを該当する値域ラベルに割り振り、列結合部313に送る。列結合部313は、列単位で処理されたデータを横方向に結合し、出力データ303として出力する。
 また、数値・文字列/符号判定部308にて、文字列/符号と判定された入力データは、文字列/符号パターン抽出部314に送られる。文字列/符号パターン抽出部314では、入力データを縦方向に走査し、同じ表記の文字列/符号パターンを抽出する。さらに、文字列ラベル追加部315では、文字列/符号パターン抽出部314で抽出した文字列/符号パターンを出力データに追加する。この処理は後述する。そして、文字列振り分け部316では、入力データを該当する文字列/符号パターンに対応付け、列結合部313に送る。列結合部313では、列単位で処理されたデータを横方向に結合し、出力データ303として出力する。
 <入力データと出力データ>
 図3は、入力データと出力データの構成の一例を示す図である。
 学習サンプルから入力される入力データは、一般的に入力データ401のような表形式で表現される。1行が1つの学習サンプルを表わしており、それを縦方向にサンプルの数だけ並べた形になっている。この例では、サンプル1(406)、サンプル2(407)、サンプル3(408)、…、サンプルM(409)と、M個のサンプルから構成されている。また、横方向には、属性1(402)、属性2(402)、属性3(403)、…、属性N(405)とあり、各サンプルに対してN個の属性が付けられている。そして、属性1(402)の属性を持つ1つ目のサンプル(406)の要素X11(410)、属性2(403)の属性を持つ1つ目のサンプル(406)の要素X21(411)、属性3(404)の属性を持つ1つ目のサンプル(406)の要素X31(412)、…、属性N(405)の属性を持つ1つ目のサンプル(406)の要素XN1(413)が格納されている。2つ目のサンプル(407)、3つ目のサンプル(408)、…、M個目のサンプル(409)についても同様である。
 入力データを、本実施の形態のデータ変換装置で変換して得られた出力データは、一般的に出力データ421のような表形式で表現される。1行が1つの学習サンプルを表しており、それを縦方向にサンプルの数だけ並べた形になっている。入力データの1行のデータが、出力データの1行に対応している。すなわち、出力データ421にも、サンプル1(426)、サンプル2(427)、サンプル3(428)、…、サンプルM(429)と、M個のサンプルから構成されており、各々の行は、入力データの各々の行に対応している。出力データ421には、横方向に、ラベル1(422)、ラベル2(423)、ラベル3(424)、…ラベルN’(425)とあり、各サンプルに対して、N’個のラベルが付けられている。そして、ラベル1(422)のラベルを持つ1つ目のサンプル(426)の要素Y11(430)、ラベル2(423)のラベルを持つ1つ目のサンプル(426)の要素Y21(431)、ラベル3(424)のラベルを持つ1つ目のサンプル(426)の要素Y31(432)、…、ラベルN’(425)のラベルを持つ1つ目のサンプル(426)の要素YN’1(433)が格納されている。2つ目のサンプル(427)、3つ目のサンプル(428)、…、M個目のサンプル(429)についても同様である。なお、出力データ421の1行目はラベルが格納されており、表構造になっているので、この出力データのことをラベルテーブルとも呼ぶ。
 また、上記の例では、ラベルが格納されているのは1行目だけであるが、類似した属性を持つラベルを1つのグループにした、出力データ’441のような2階層のラベル構成を採ることも可能である。すなわち、サンプル1(449)、サンプル2(450)、サンプル3(451)、…、サンプルM(452)のM個のサンプル構成において、ラベル1(445)、ラベル2(446)は、グループ1(442)に属し、ラベル3(447)はグループ2(443)に属し、ラベルN’(448)はグループN”(444)に属する。さらには、グループを纏め、3階層以上のラベルを持つ構成にすることも可能である。
 <データ変換装置のハードウェア構成>
 図4は、データ変換装置のハードウェア構成の一例を示す図である。
 データ変換装置のハードウェア構成は、コンピュータシステム(計算機)を用いて実現され、少なくとも1組のCPU501と、RAM502、キーボード503、表示装置504、プリンタ505、マウス506、バス507、DB509、ネットワーク508から構成される。RAM502は、データ変換に関するコンピュータソフトウェアを格納する。キーボード503は、ユーザの入力によりCPU501を操作する。表示装置504は、入力データや出力データ、データ変換の処理の過程をユーザに示す。プリンタ505は、入力データや出力データ、データ変換の処理の過程を紙に印刷する。マウス506は、ユーザの入力によりCPU501を操作する。バス507は、各々の間のデータを通信するために接続する。DB509は、学習サンプルDBが格納されている。ネットワーク508は、バス507とDB509を繋ぐ。また、DB509には、学習サンプルDBだけではなく、データ変換結果や、データ変換の処理過程を格納する構成にしてもよい。
 このデータ変換装置のハードウェア構成において、RAM502に格納されているデータ変換に関するコンピュータソフトウェアのプログラム(データ変換プログラム)をCPU501上で実行することにより、図2に示すようなソフトウェアによる各機能部(データ読み込み部306、データ分割部307、数値・文字列/符号判定部308、値域分割部309、分布DB310、値域ラベル追加部311、数値振り分け部312、列結合部313、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316)を実現することができる。
 <データ変換方法>
 図5は、データ変換方法の処理の一例を説明するフローチャートである。図6は、入力データと出力データの関係の一例を示す図である。これらの図を用いて、データ変換方法における処理の流れを説明する。このデータ変換方法における処理は、データ変換プログラムの実行により自動で行われる。
 図6に示すように、入力データ701は、複数の行・列から構成されるデータであり、入力データの属性702には“温度”という属性が付けられている。サンプル1の温度は16、サンプル2の温度は80、サンプル3の温度は50となり、合計M個のサンプルが格納されている。一方、出力データ703には、ラベル704に“温度L”、ラベル705に“温度M”、ラベル706に“温度H”というラベルが付けられている。出力データの要素708には入力データの要素707が対応(709)し、出力データの要素711には入力データの要素710が対応(712)し、出力データの要素714には入力データの要素713が対応(715)し、データ変換装置301を使って、各々変換された結果が格納されている。
 以下では、図5に基づいて、データ変換装置301が、入力データ701から出力データ703を生成する過程について説明する。前処理部1(207)は、ステップ601の開始に続いて、ステップ602で、データ読み込み部306が、入力データ701をRAM502に読み込む。次に、ステップ603では、出力データ421をクリアする。すなわち、表形式のデータをRAM502上に用意し、行数=0、列数=0とする。次に、ステップ604では、データ分割部307が、入力データを列単位に分割する。すなわち、入力データ401を、402、403、404、…、405に分割する。そして、分割した列の数を変数Nに、1つの列の長さ(=入力データの個数、行数)を変数Mに代入する。次に、ステップ605では、変数iを1で初期化する。
 続いて、ステップ606では、数値・文字列/符号判定部308が、列に分割した入力データのi番目の列を走査し、当該列に含まれる要素が全て数値から構成される列であるか、あるいは、文字列または符号で構成される列であるかを判定する。全ての要素が数値で構成される場合は、ステップ609にて、値域分割部309が、いくつかの値域に分割する。これは、数値の値が取り得る範囲(定義域)を所定の位置で区切っていくつかの区間に分割する。そして、ステップ610で、値域ラベル追加部311が、分割された各々の区間にラベルを割り当てて、元の数値データをその数値データが含まれる区間に対応するラベルデータに変換するようにする。
 具体的な区間の分割方法としては、各区間に含まれる要素の数が等しくなるように、定義域の分割を行う方法が挙げられる。また、定義域を等分割するように分割してもよい。また、列に分割した入力データの平均値と分散値を求め、その平均値と分散値に基づいて区間の分割を行うようにしてもよい。また、ユーザによって指示された位置で定義域の分割を行うようにしてもよい。ユーザによって分割位置を指定させる場合は、分割した列に含まれる要素の頻度分布を求め、表示装置504に頻度分布を表示し、マウス506やキーボード503を使って、ユーザが分割位置を指示できるようにするとよい。
 図6を用いて、上記の手順を説明する。まず、入力データ701で属性702の“温度”が付いている列が抽出されたとする。この列に含まれる要素は、“16”、“80”、“50”、…であり、全て数値で構成されている。したがって、次に値域分割を行う。ここでは、予め、要素をXとすると、0≦X<33、33≦X<66、66≦X≦100の3区間に分割するようユーザから指示されているとし、また、各々の区間は“温度L”、“温度M”、“温度H”というラベル付けがユーザから指示されているとする。したがって、“16”は“温度L”に、“80”は“温度H”に、“50”は“温度M”に対応する区間に含まれることになる。次に、“温度L”(704)、“温度M”(705)、“温度L”(706)の3つのラベル列を生成する。そして、各区間に対応するラベルを持つ列の、対応するサンプルのところ(対応する行)に、1を書き込み、それ以外の列には0を書き込む(708)。同様の処理を、2サンプル目、3サンプル目、…、Mサンプルと行う。すなわち、入力データ701の要素707は出力データ703の要素708に変換(対応709)され、入力データ701の要素710は出力データ703の要素711に変換(対応712)され、入力データ701の要素713は出力データ703の要素714に変換(対応715)される。
 また、図5に戻り、数値か文字列/符号かの判定(ステップ606)の結果、文字列/符号であると判定された場合は、ステップ607で、文字列/符号パターン抽出部314が、列に分割した要素から重複要素を取り除き、ステップ608で、文字列ラベル追加部315がラベルを生成する。図6を用いて、この手順を説明する。まず、入力データ721で属性722の“作業者”が付いている列が抽出されたとする。この列に含まれる要素は、“鈴木”、“田中”、“鈴木”であり、全て文字列で構成されている。したがって、次に、重複要素を取り除き、“鈴木”、“田中”のラベルが生成されることになる。次に、“作業者=鈴木”(724)、“作業者=田中”(725)の2つのラベルが付いた列を生成する。そして、各ラベルに対応する列の、対応するサンプルのところ(対応する行)に、1を書き込み、それ以外の列には0を書き込む(727)。同様の処理を、2サンプル目、3サンプル目、…、Mサンプルと行う。すなわち、入力データ721の要素726は出力データ723の要素727に変換(対応728)され、入力データ721の要素729は出力データ723の要素730に変換(対応731)され、入力データ721の要素732は出力データ723の要素733に変換(対応734)される。
 分割した列データに含まれる要素が符号の場合も、文字列の場合と同様の処理を行う。すなわち、入力データ741(属性742)の列データの要素を走査し、重複要素を取り除き、ラベル列を生成し、出力データ743(ラベル744、ラベル745)とする。入力データ741の要素746が出力データ743の要素747に変換(対応748)され、入力データ741の要素749が出力データ743の要素750に変換(対応751)され、入力データ741の要素752が出力データ743の要素753に変換(対応754)される。
 次に、図5に戻り、ステップ611で、数値振り分け部312、文字列振り分け部316が、入力データから抽出する列の番号iを1つ増やし、そして、ステップ612で、iの値が入力データ701の列数N以下かを判定する。iの値が入力データ701の列数N以下の場合は、再度、ステップ606からの処理を繰り返す。この繰り返しにより、入力データ701に含まれる全てのデータが、列単位で出力データ703に変換される。次に、ステップ613で、列結合部313が、このようにして生成したラベル列を横方向に順次結合し、出力データとする。最後に、ステップ614で、この出力データをDB509へ書き出す。これにより、終了となる(ステップ615)。
 なお、ここでは、ステップ608および610ではラベル列を生成し、ステップ613で出力データにラベル列を結合する構成を説明したが、ラベル列を生成すると同時に、出力データにラベル列を結合して、出力データを横方向にラベルの数だけ拡張するような構成にしてもよい。
 <実施の形態1の効果>
 以上のように、本実施の形態におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムによれば、前処理部1(207)のデータ変換装置301として、データ読み込み部306、データ分割部307、数値・文字列/符号判定部308、値域分割部309、分布DB310、値域ラベル追加部311、数値振り分け部312、列結合部313、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316などを有することで、画像データ、音声データ、テキストデータなどの異なる種類のデータが混在したヘテロ性を持つ入力データを変換し、コンピュータで自動処理しやすくすることができる。この結果、ヘテロ性を持つデータを使って機械学習を行うことが可能となる。より詳細には、以下のような効果を得ることができる。
 例えば、データ分割部307、数値・文字列/符号判定部308を有することで、入力データを列単位に分割し、この列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定することができる。さらに、値域分割部309、値域ラベル追加部311、数値振り分け部312を有することで、判定結果が数値の場合は、この数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成し、数値がどの領域に対応するかを判定して対応するラベルに振り分けることができる。また、文字列/符号パターン抽出部314、文字列ラベル追加部315、文字列振り分け部316を有することで、判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成し、文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分けることができる。そして、列結合部313を有することで、各々ラベルに振り分けたデータを列単位で結合して出力データを得ることができる。また、分布DB310を有することで、値域分割部309は、数値が取り得る値の範囲を複数の領域に分ける場合に分布DB310を参照することができる。
 [実施の形態2]
 本実施の形態2におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムについて、図7~図13を用いて説明する。
 本実施の形態におけるデータ変換装置では、データ変換部206の構成として、前処理部2(208)を行った後、前処理部1(207)を行う構成について説明する。前処理部1(207)の構成は前記実施の形態1と同一であるので、ここでは前処理部2(208)についてのみ説明する。すなわち、前処理部2(208)は、入力データ205を入力とし、前処理部1(207)の入力データを出力する。前処理部1(207)の出力データが、機械学習部210の入力データとなる。
 <データ変換方法>
 図7は、データ変換方法の処理の一例を説明するフローチャートである。図8は、同一列テーブルと同一文字列テーブルの一例を示す図である。図9は、入力データと出力データの関係の一例を示す図である。これらの図を用いて、データ変換方法における処理の流れを説明する。
 図8には、同一列テーブル901と同一文字列テーブル907,908,909が示されている。同一列テーブル901は、同一列ID(902)、列番号A(903)、列番号B(904)、同一文字列テーブルへのポインタ(905)から構成されている。同一文字列テーブル907,908,909は、同一文字列ID(913)、文字列S(914)、文字列T(915)から構成されている。同一列テーブル901の同一列ID(902)の1において、列番号A(903)の1行目の“3”と、列番号(904)の1行目の“6”は、入力データ1001に含まれるp行目3列目の要素と、p行目6列目の要素は1対1で対応していることを意味している。ただし、1≦p≦Mであり、Mは入力データの行数である。そして、ポインタ905の関連付けリンク910により、対応する文字列が同一文字列テーブル907に格納されている。すなわち、ある行の3列目の要素に格納された文字列が、文字列S(914)に書き込まれ、同じ行の6列目の要素に格納された文字列が、文字列T(915)に格納されている。同様に、同一列テーブル901の同一列ID(902)の2については、ポインタ905の関連付けリンク911により、対応する文字列が同一文字列テーブル908に格納されている。同一列テーブル901の同一列ID(902)の3については、ポインタ905の関連付けリンク912により、対応する文字列が同一文字列テーブル909に格納されている。なお、ここでは、同一の文字列としたが、文字列でなくても、数値や符号でもよい。
 図9に示した入力データ1001は、複数の行・列から構成されるデータであり、入力データの属性1002には“名称”という属性が、属性1003には“ID”という属性が、それぞれ付けられている。サンプル1の“名称”は“ABC”、サンプル2の“名称”は“NRX”、サンプル3の“名称”は“ABC”、サンプル4の“名称”は“XYX”、サンプル5の“名称”は“NRX”となっている。また、サンプル1の“ID”は“A1”、サンプル2の“ID”は“A2”、サンプル3の“ID”は“A1”、サンプル4の“ID”は“B3”、サンプル5の“ID”は“A2”となっている。合計M個のサンプルが格納されている。一方、出力データ1021には、ラベル1022“名称”がある。出力データの要素1023は、入力データの要素1004と要素1009が、後述するデータ変換処理にて変換(対応1031)された値が格納されている。同様に、出力データの要素1024は入力データの要素1005と要素1010をデータ変換(対応1032)した値が、出力データの要素1025は入力データの要素1006と要素1011をデータ変換(対応1033)した値が、出力データの要素1026は入力データの要素1007と要素1012をデータ変換(対応1034)した値が、出力データの要素1027は入力データの要素1008と要素1013をデータ変換(対応1035)した値が、それぞれ格納されている。
 また、同一列テーブル1041は、同一列ID(1042)、列番号A(1043)、列番号B(1044)、ポインタ(1045)から構成され、入力データ1001の3列目と6列目が対応付いていることを示している。また、ポインタ1045は、同一文字列テーブル1051を指示しており、入力データ1001の3列目と6列目で対応付いている文字列の組が格納されている。すなわち、同一文字列テーブル1051は、文字列S(1052)、文字列T(1053)から構成され、入力データ1001の3列目のある行にABCという文字列があれば、入力データ1001の6列目の同一行には必ずA1という文字列が存在することを示している。同様に、入力データ1001の3列目のある行にNRXという文字列があれば、入力データ1001の6列目の同一行には必ずA2という文字列があり、入力データ1001の3列目のある行にXYXという文字列があれば、入力データ1001の6列目の同一行には必ずB3という文字列がある、ということを示している。
 以下では、図8の同一列テーブル901および同一文字列テーブル907,908,909、図9の入力データ1001および出力データ1021、を用いて、図7に示した処理の流れにしたがって、データ変換の流れを説明する。
 前処理部2(208)の構成は、前処理部1(207)と同じように、図2の構成を用いることができる。前処理部2(208)のデータ変換装置301における主な構成は、入力データを列単位に分割するデータ分割部307、列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する文字列/符号パターン抽出部314(値域分割部309)、判定結果が対応付く場合は、それらの列を1つのラベル列に変換する文字列ラベル追加部315(値域ラベル追加部311)、ラベル列に変換したデータを列単位で結合する列結合部313などを有する。
 以下では、データ変換装置301が、入力データ1001から出力データ1021を生成する過程について説明する。前処理部2(208)は、ステップ801の開始に続いて、ステップ802で、入力データ1001をRAM502に読み込む。次に、ステップ803では、出力データ1021をクリアする。すなわち、表形式のデータをRAM502上に用意し、行数=0、列数=0とする。次に、ステップ804では、入力データを列単位に分割する。そして、分割した列の数を変数Nに、1つの列の長さ(=入力データの個数、行数)を変数Mに代入する。次に、変数iを1で初期化する(ステップ805)。次に、変数jをi+1で初期化する(ステップ806)。次に、変数kを1で初期化する(ステップ807)。
 次に、ステップ808で、入力データ1001のk行i列目の要素と、k行j列目の要素とを比較して同一かを判定し、異なれば、変数jの値を1つ増やし(ステップ809)、ステップ807の前に戻る。もし、k行i列目の要素と、k行j列目の要素とが同一であれば、kの値を1つ増やす(ステップ810)。そして、ステップ811で、kの値がM以上かを判定し、kの値がM以上であれば、ステップ812に移行し、kの値がM未満であれば、ステップ808の前に戻る。ステップ812では、同一列テーブル901に1行を追加し、i、jの組を列番号A(903)、列番号B(904)にそれぞれ登録する。
 次に、ステップ813で、i列目に含まれる全要素からユニークな要素を抽出し、集合Pに代入する。また、集合Pに含まれる要素の数をQとする。次に、変数rを1で初期化する(ステップ814)。そして、集合Pのr番目の要素を同一文字列テーブル907の文字列S(914)に格納する(ステップ815)。さらに、集合Pのr番目の要素を入力データ1001のi列目の要素から探し、見つかった行のj番目の列の要素を、同一文字列テーブル907の文字列T(915)に格納する(ステップ816)。
 次に、変数rの値を1つ増やし(ステップ817)、ステップ818で、変数rの値がQよりも大きいかを判定し、変数rの値がQよりも大きい場合は、ステップ819に移行し、そうでない場合は、ステップ815の直前に移行する。次に、出力データにi番目の列を結合し(ステップ819)、jの値を1増やす(ステップ820)。そして、ステップ821で、jの値がN以上かを判定し、jの値がN以上の場合はステップ822に移行し、そうでない場合はステップ807の直前に移行する。
 次に、変数iの値を1つ増やし(ステップ822)、ステップ823で、変数iの値がN-1以上かを判定し、変数iの値がN-1以上の場合は、ステップ824に移行する。そうでない場合は、ステップ806の直前に移行する。最後に、出力データを書き出す(ステップ824)。これにより、終了となる(ステップ825)。
 このような手順にて入力データを変換することにより、出力データに含まれる情報の冗長性を低くすることができる。また、出力データのサイズが必要以上に大きくなることを抑制することができる。
 <高い相関を持つ列を纏める場合>
 上記の説明では、複数の列の同一行に含まれる要素同士が完全に対応付く場合について説明したが、ある2つ以上の列を選択したときに、それらの列の要素を構成要素とするベクトルデータ同士が高い相関を持つ場合に、それらの列を1つの列に変換するようにしてもよい。
 図10は、高い相関を持つ列を纏める場合のデータ変換装置の構成の一例を示す図である。図10に示すデータ変換装置1101は、入力データ1102を入力すると、内部でデータの変換を行い、出力データ1103を出力する。データ変換装置1101は、データ読み込み部1106、データ分割部1107、数値・文字列/符号判定部1108、相関計算部1109、値域分割部1110、分布DB1111、値域ラベル追加部1112、数値振り分け部1113、列結合部1114、文字列/符号パターン抽出部1115、文字列ラベル追加部1116、文字列振り分け部1117を有する。分布DB1111には分布パラメータ入力部1104が、値域分割部1110には分割パラメータ入力部1105がそれぞれ接続されている。
 データ変換装置301の主な構成において、データ分割部1107は、入力データを列単位に分割する。相関計算部1109は、列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータの相関を計算する。値域分割部1110と値域ラベル追加部1112は、計算した相関値が所定の閾値よりも大きい場合は、それらの列を1つのラベル列に変換する。列結合部1114は、ラベル列に変換したデータを列単位で結合する。このデータ変換装置1101の図2との違いは、値域分割部1110の前に、相関計算部1109が追加されている点である。以下においては、この追加された相関計算部1109について説明する。
 例えば、2つの列の数値データ列{(x,y)}(i=1,2,…,M)が与えられたとき、相関値cは以下の式で求められる。
Figure JPOXMLDOC01-appb-M000001
 ただし、/x、/yは、データ列{x}、{y}の平均である。相関計算部1109は、数値・文字列/符号判定部1108にて、数値と判定された任意の2列のデータについて、この相関値cを計算し、相関値が高い場合には、それらの列を1つの列に変換するようにする。
 図11は、相関値の高低の一例を説明する図である。散布図1401は、入力データ401から任意の列番号Sと任意の列番号Tのデータを抽出し、列番号Sのデータ1402をX座標値、列番号Tのデータ1403をY座標値として、2次元空間に、サンプル1(1404)、サンプル2(1405)、サンプル3(1406)などをプロットした図である。散布図1411も同様に、入力データ401から任意の列番号Sと任意の列番号Tのデータを抽出し、列番号Sのデータ1412をX座標値、列番号Tのデータ1413をY座標値として、2次元空間に、サンプル1(1414)、サンプル2(1415)、サンプル3(1416)などをプロットした図である。相関が高いとは、散布図1401に示したように、プロットしたデータのX座標値とY座標値の関係が強いことを意味する。すなわち、X座標値がn倍になれば、対応するY座標値もほぼn倍になり、X座標値が1/nになれば、Y座標値も1/nになる。これに対し、相関が低いとは、散布図1411に示したように、プロットしたデータのX座標値とY座標値の大小関係が低いことを意味する。すなわち、X座標値がn倍になったとき、Y座標値はn倍になるとは限らない。
 図12は、入力データと出力データの関係の一例を示す図である。入力データ1501は、複数の行・列から構成されるデータであり、入力データの属性1502には“温度”という属性が、属性1503には“湿度”という属性が、各々付けられている。属性1502の列に含まれる要素の値と、属性1503の列に含まれる要素の値には、散布図1401に示したような高い相関がある。すなわち、サンプル1の“温度”は30、サンプル2の温度は45、サンプル3の温度は52、サンプル4の温度は35、サンプル5の温度は46となっている。また、サンプル1の湿度は30、サンプル2の湿度は48、サンプル3の湿度は60、サンプル4の湿度は35、サンプル5の湿度は55となっている。合計M個のサンプルが格納されている。一方、出力データ1521には、ラベル1522に“温度”がある。出力データの要素1523は、入力データの要素1504と要素1509が、データ変換処理にて変換(対応1531)された値が格納されている。同様に、出力データの要素1524は入力データの要素1505と要素1510をデータ変換(対応1532)した値が、出力データの要素1525は入力データの要素1506と要素1511をデータ変換(対応1533)した値が、出力データの要素1526は入力データの要素1507と要素1512をデータ変換(対応1534)した値が、出力データの要素1527は入力データの要素1508と要素1513をデータ変換(対応1535)した値が、各々格納されている。
 また、高相関列テーブル1541は、高相関列ID(1542)、列番号A(1543)、列番号B(1544)、相関係数(1545)、高相関テーブルへのポインタ(1546)から構成され、入力データ1501の3列目のデータと、6列目のデータの相関が高いことを示している。高相関テーブル1551は、数値S(1552)、数値T(1553)から構成され、入力データ1501の3列目のある行に、30、45、52、…という数値があれば、入力データ1501の6列目の対応する行に、30、48、60、…という数値があることを示している。
 一般的に、ビッグデータは、膨大な欠損値を含んでおり、完全一致の代わりに相関値とすることで、欠損値を含む不完全な入力データに対しても、データの変換を行うことができる。
 <分布を推定する場合>
 上記の説明では、入力データの分布が予め分かっている場合について説明したが、予め分からない場合には、以下のようにして分布を推定して、データ変換を行うことができる。分布の推定は、予め分布DB1111に格納されている分布と、分布パラメータ入力部1104で入力されるパラメータの組から表現される関数に対して、入力データがどれだけ一致しているか、または、どれだけ異なっているかを求めることで実現できる。関数と入力データの一致度には、歪度を用いることができる。ここでは、入力データXの期待値をμ、分散をσ、Z=(X-μ)/σとしたとき、Zの期待値を歪度と呼ぶ。
 図13は、分布歪度テーブルの一例を説明する図である。分布歪度テーブル1201は、分布ID(1202)と、分布名称1203、歪度1204から構成される。列単位に分割した入力データの分布から、期待値μ、分散σを計算し、Zの期待値を計算する。そして、分布歪度テーブル1201の歪度1204の値と比較し、最も近い歪度に対応する分布名称1203を、推定した分布とする。分布名称1203としては、例えばラプラス分布、双曲線正割分布、ロジスティック分布、正規分布、二乗余弦分布、ウィグナー半円分布、一様分布などがある。
 分布を推定した後は、前記実施の形態1で説明したように、入力データが分割区間毎に含まれるデータ数が等しくなるように分割を行う、入力データの平均値と分散値を計算し、その平均値と分散値に基づいて分割を行う、ユーザが指定した値を区切り目として分割する、入力データの値域を等分割する、などの方法を用いて、データを分割することができる。
 <実施の形態2の効果>
 以上のように、本実施の形態におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムによれば、前処理部2(208)を行った後、前処理部1(207)を行う構成を有することで、上記実施の形態1と異なる効果として、以下のような効果を得ることができる。
 例えば、前処理部2(208)のデータ変換装置301として、文字列/符号パターン抽出部314(値域分割部309)、文字列ラベル追加部315(値域ラベル追加部311)、列結合部313などを有することで、分割した入力データの列の同一行に含まれるデータが対応付く場合に、それらの列を1つのラベル列に変換し、このラベル列に変換したデータを列単位で結合して出力データを得ることができる。この結果、出力データに含まれる情報の冗長性を低くすることができる。また、出力データのサイズが必要以上に大きくなることを抑制することができるので、コンピュータで扱いやすくなり、高速なデータ変換処理が可能になる。
 また、相関計算部1109、値域分割部1110、値域ラベル追加部1112、列結合部1114などを有することで、分割した入力データの列の同一行に含まれるデータの相関を計算し、この相関値が所定の閾値よりも大きい場合にそれらの列を1つのラベル列に変換し、このラベル列に変換したデータを列単位で結合して出力データを得ることができる。この結果、高い相関を持つ列を纏める場合に、欠損値を含む不完全な入力データに対してもデータ変換を行うことが可能になる。
 また、分布DB1111、分布パラメータ入力部1104などを有することで、入力データの分布が予め分からない場合にも、分布を推定してデータ変換を行うことが可能になる。
 [実施の形態3]
 本実施の形態3におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムについて、図14~図15を用いて説明する。
 <データ変換方法>
 前記実施の形態2では、入力データ1001を列方向に走査し、同一、もしくは、類似した要素を列の構成要素として持つ列1002と列1003を纏め、出力データ1021の列1022に変換する方法を説明した。
 同様に、入力データ1001を行単位で走査し、同一、もしくは、類似した要素を行の構成要素として持つ複数の行を纏め、出力データ1021の行に変換することもできる。本実施の形態は、この例を説明する。
 データ変換装置における主な構成は、入力データを行単位に分割するデータ分割部307、行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータが対応付くかを判定する文字列/符号パターン抽出部314(値域分割部309)、判定結果が対応付く場合は、それらの行を1つのラベル行に変換する文字列ラベル追加部315(値域ラベル追加部311)、ラベル行に変換したデータを行単位で結合する列結合部313などを有する。
 また、高い相関を持つ場合のデータ変換装置における主な構成は、入力データを行単位に分割するデータ分割部1107、行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータの相関を計算する相関計算部1109、計算した相関値が所定の閾値よりも大きい場合は、それらの行を1つのラベル行に変換する値域分割部1110と値域ラベル追加部1112、ラベル行に変換したデータを行単位で結合する列結合部1114などを有する。
 図14は、行を纏める場合の入力データと出力データの関係の一例を示す図である。まず、入力データ1601を、行方向に走査し、入力データの属性1602の行、および、入力データの属性1603の行に含まれる、要素が同一もしくは類似した行を探す。すなわち、この図14の例では、入力データの属性1602の行の要素が“NRX”の場合は、同じ列の入力データの属性1603の行の要素が“ABC”となり、入力データの属性1602の行の要素が“A2”の場合は、同じ列の入力データの属性1603の行の要素が“A1”となるような2つの行を探す。そして、探した2つの行を1行に纏め、出力データ1621を得る。すなわち、入力データの属性1604,1605は、そのまま、出力データの属性1622,1623とし、入力データの属性1602の行と入力データの属性1603の行を纏めて出力データの属性1624の行にする。出力データの要素1625は入力データの要素1606と要素1608をデータ変換(対応1631)した値が、出力データの要素1626は入力データの要素1607と要素1609をデータ変換(対応1632)した値が、それぞれ格納されている。
 さらには、前記実施の形態2で説明した、入力データ内の複数の列を纏めて1列に変換して出力データに出力する方法と、上述した、入力データ内の複数の行を纏めて1行に変換して出力データに出力する方法を組み合わせることができる。すなわち、出力データ1621を入力データに、出力データの属性1622を入力データの属性、出力データの属性1623を入力データの属性と見なし、前記実施の形態2で説明した手順に従って、複数の列を纏めて1列に変換して出力するようにしてもよい。この場合には、出力データ1641において、入力データの属性1622の列と入力データの属性1623の列を纏めて出力データの属性1642とする。出力データの要素1644は、入力データの要素1625と要素1626をデータ変換(対応1651)した値が格納されている。さらには、これらの行方向に纏める処理と、列方向に纏める処理とを繰り返すようにしてもよい。
 あるいは、図15に示すような手順で出力データを得るようにしてもよい。 図15は、行を纏める場合の入力データと出力データの関係の一例を示す図である。まず、入力データ1701(属性1702~1705、要素1706~1709)を、前記実施の形態2で説明した手順に従って出力データ1721(属性1722~1724、要素1725~1726、要素の対応1731~1732)を得る。次に、出力データ1721を入力データ、出力データの属性1723を入力データの属性、出力データの属性1724を入力データの属性と見なし、複数の行を1行に纏める。すなわち、出力データ1741(属性1742~1743、要素1744、要素の対応1751)において、入力データの属性1723の行と入力データの属性1724の行を纏めて出力データの属性1743とする。あるいは、入力データ1001を、列方向、行方向に纏めた際、出力行列の列数、行数が少なくなる変換を先に行って、出力データ1021を出力し、これを繰り返すようにしてもよい。
 <実施の形態3の効果>
 以上のように、本実施の形態におけるデータ変換装置およびデータ変換方法ならびにデータ変換プログラムによれば、入力データを行単位で走査し、同一、もしくは、類似した要素を行の構成要素として持つ複数の行を纏め、出力データの行に変換することで、上記実施の形態2と同様に、以下のような効果を得ることができる。
 例えば、データ変換装置301として、文字列/符号パターン抽出部314(値域分割部309)、文字列ラベル追加部315(値域ラベル追加部311)、列結合部313などを有することで、分割した入力データの行の同一列に含まれるデータが対応付く場合に、それらの行を1つのラベル行に変換し、このラベル行に変換したデータを行単位で結合して出力データを得ることができる。この結果、出力データに含まれる情報の冗長性を低くすることができる。また、出力データのサイズが必要以上に大きくなることを抑制することができるので、コンピュータで扱いやすくなり、高速なデータ変換処理が可能になる。
 また、相関計算部1109、値域分割部1110、値域ラベル追加部1112、列結合部1114などを有することで、分割した入力データの行の同一列に含まれるデータの相関を計算し、この相関値が所定の閾値よりも大きい場合にそれらの行を1つのラベル行に変換し、このラベル行に変換したデータを行単位で結合して出力データを得ることができる。この結果、高い相関を持つ行を纏める場合に、欠損値を含む不完全な入力データに対してもデータ変換を行うことが可能になる。
 さらに、上記実施の形態2と異なる効果として、入力データ内の複数の列を纏めて1列に変換して出力データに出力する方法と、入力データ内の複数の行を纏めて1行に変換して出力データに出力する方法を組み合わせることで、より一層、出力データに含まれる情報の冗長性を低くすることができ、また、出力データのサイズが必要以上に大きくなることを抑制することが可能になる。
 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。たとえば、上記した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
101…学習サンプルDB、102…学習サンプル、103…入力データ、104…機械学習部、105…学習結果、106…学習サンプルDB、107~109…学習サンプル、110…入力データ、111…機械学習部、112…学習結果、
201…学習サンプルDB、202~204…学習サンプル、205…入力データ、206…データ変換部、207…前処理部1、208…前処理部2、209…前処理部2を経由しない入力データの流れ、210…機械学習部、211…学習結果、
301…データ変換装置、302…入力データ、303…出力データ、304…分布パラメータ入力部、305…分割パラメータ入力部、306…データ読み込み部、307…データ分割部、308…数値・文字列/符号判定部、309…値域分割部、310…分布DB、311…値域ラベル追加部、312…数値振り分け部、313…列結合部、314…文字列/符号パターン抽出部、315…文字列ラベル追加部、316…文字列振り分け部、
401…入力データ、402~405…属性、406~409…サンプル番号、410~413…要素、414~420…サンプル番号、421…出力データ、422~425…ラベル、426~429…サンプル番号、430~433…要素、441…出力データ’、442~444…グループ番号、445~448…ラベル番号、449~452…サンプル番号、
501…CPU、502…RAM、503…キーボード、504…表示装置、505…プリンタ、506…マウス、507…バス、508…ネットワーク、509…DB、
601…開始、602…入力データ読み込み、603…出力データクリア、604…入力データを列データに分割、605…変数i初期化、606…数値、文字列/符号判定、607…文字列パターン抽出、608…ラベル列生成、609…値域分割、610…ラベル列生成、611…変数iの値を更新、612…変数iとNの比較、613…出力データにラベル列結合、614…出力データを書き出し、615…終了、
701…入力データ、702…入力データの属性、703…出力データ、704~706…出力データのラベル、707…入力データの要素、708…出力データの要素、709…入力データの要素と出力データの要素の対応、710…入力データの要素、711…出力データの要素、712…入力データの要素と出力データの要素の対応、713…入力データの要素、714…出力データの要素、715…入力データの要素と出力データの要素の対応、721…入力データ、722…入力データの属性、723…出力データ、724~725…出力データのラベル、726…入力データの要素、727…出力データの要素、728…入力データの要素と出力データの要素の対応、729…入力データの要素、730…出力データの要素、731…入力データの要素と出力データの要素の対応、732…入力データの要素、733…出力データの要素、734…入力データの要素と出力データの要素の対応、741…入力データ、742…入力データの属性、743…出力データ、744~745…出力データのラベル、746…入力データの要素、747…出力データの要素、748…入力データの要素と出力データの要素の対応、749…入力データの要素、750…出力データの要素、751…入力データの要素と出力データの要素の対応、752…入力データの要素、753…出力データの要素、754…入力データの要素と出力データの要素の対応、
801…開始、802…入力データ読み込み、803…出力データクリア、804…入力データを列単位に分割、805…変数i初期化、806…変数j初期化、807…変数k初期化、808…要素Xikと要素Xjkの比較、809…変数jの値を更新、810…変数kの値を更新、811…変数kとMの比較、812…同一列テーブル更新、813…ユニーク要素抽出、814…変数r初期化、815…同一文字列テーブル更新、816…同一文字列テーブル更新、817…変数rの値を更新、818…変数rとQの比較、819…出力データに列を結合、820…変数jの値を更新、821…変数jとNの比較、822…変数iの値を更新、823…変数iとN-1の比較、824…出力データを書き出し、825…終了、
901…同一列テーブル、902…同一列ID、903…列番号A、904…列番号B、905…ポインタ、907~909…同一文字列テーブル、910~912…同一列テーブルと同一文字列テーブルを関係付けるリンク、913…同一文字列ID、914…文字列S、915…文字列T、
1001…入力データ、1002~1003…入力データの属性、1004~1013…入力データの要素、1021…出力データ、1022…出力データのラベル、1023~1027…出力データの要素、1031~1035…入力データの要素と出力データの要素の対応、1041…同一列テーブル、1042…同一列ID、1043…列番号A、1044…列番号B、1045…同一文字列テーブルへのポインタ、1051…同一文字列テーブル、1052…文字列S、1053…文字列T、
1101…データ変換装置、1102…入力データ、1103…出力データ、1104…分布パラメータ入力部、1105…分割パラメータ入力部、1106…データ読み込み部、1107…データ分割部、1108…数値・文字列/符号判定部、1109…相関計算部、1110…値域分割部、1111…分布DB、1112…値域ラベル追加部、1113…数値振り分け部、1114…列結合部、1115…文字列/符号パターン抽出部、1116…文字列ラベル追加部、1117…文字列振り分け部、
1201…分布歪度テーブル、1202…分布ID、1203…分布名称、1204…歪度、
1301…入力層のノード、1302…第1層のノード、1303…第2層のノード、1304…第3層のノード、1305…第4層(出力層)のノード、1306…入力層のノードと第1層のノードの結合、1307…第1層のノードと第2層のノードの結合、1308…第2層のノードと第3層のノードの結合、1309…第3層のノードと第4層(出力層)のノードの結合、
1401…散布図、1402…列番号Sのデータ、1403…列番号Tのデータ、1404~1406…サンプル、1411…散布図、1412…列番号Sのデータ、1413…列番号Tのデータ、1414~1416…サンプル、
1501…入力データ、1502~1503…入力データの属性、1504~1513…入力データの要素、1521…出力データの要素、1522…出力データのラベル、1523~1527…出力データの要素、1531~1535…入力データの要素と出力データの要素の対応、1541…高相関列テーブル、1542…高相関列ID、1543…列番号A、1544…列番号B、1545…相関係数、1546…高相関テーブルへのポインタ、1551…高相関テーブル、1552…数値S、1553…数値T、
1601…入力データ、1602~1605…入力データの属性、1606~1609…入力データの要素、1621…出力データ、1622~1624…出力データの属性、1625~1626…出力データの要素、1631~1632…入力データの要素と出力データの要素の対応、1641…出力データ、1642~1643…出力データの属性、1644…出力データの要素、1651…入力データの要素と出力データの要素の対応、
1701…入力データ、1702~1705…入力データの属性、1706~1709…入力データの要素、1721…出力データ、1722~1724…出力データの属性、1725~1726…出力データの要素、1731~1732…入力データの要素と出力データの要素の対応、1741…出力データ、1742~1743…出力データの属性、1751…入力データの要素と出力データの要素の対応。
   
 
 

Claims (15)

  1.  列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置であって、
     入力データを列単位に分割する第1の分割部と、
     前記第1の分割部で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定部と、
     前記第1の判定部の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成部と、
     前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け部と、
     前記第1の判定部の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成部と、
     前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け部と、
     前記第1の振り分け部および前記第2の振り分け部でラベルに振り分けたデータを列単位で結合する第1の結合部と、
     を有する、データ変換装置。
  2.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部と、
     前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定部と、
     前記第2の判定部の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換部と、
     前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  3.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを列単位に分割する第2の分割部と、
     前記第2の分割部で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータの相関を計算する第1の計算部と、
     前記第1の計算部で計算した相関値が所定の閾値よりも大きい場合は、それらの列を1つのラベル列に変換する第1の変換部と、
     前記第1の変換部でラベル列に変換したデータを列単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  4.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを行単位に分割する第2の分割部と、
     前記第2の分割部で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータが対応付くかを判定する第2の判定部と、
     前記第2の判定部の判定結果が対応付く場合は、それらの行を1つのラベル行に変換する第1の変換部と、
     前記第1の変換部でラベル行に変換したデータを行単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  5.  請求項1記載のデータ変換装置において、
     前記第1の分割部の前段に接続され、前記入力データを行単位に分割する第2の分割部と、
     前記第2の分割部で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータの相関を計算する第1の計算部と、
     前記第1の計算部で計算した相関値が所定の閾値よりも大きい場合は、それらの行を1つのラベル行に変換する第1の変換部と、
     前記第1の変換部でラベル行に変換したデータを行単位で結合する第2の結合部と、
     をさらに有し、
     前記第2の結合部の出力側は前記第1の分割部の入力側に接続される、データ変換装置。
  6.  請求項1記載のデータ変換装置において、
     前記入力データの分布形状を表現するパラメータを格納するデータベースをさらに有し、
     前記第1の生成部は、前記数値が取り得る値の範囲を複数の領域に分ける場合に前記データベースを参照する、データ変換装置。
  7.  請求項6記載のデータ変換装置において、
     前記データベースは、前記入力データの分布が予め分からない場合に分布を推定するための情報が入力される、データ変換装置。
  8.  列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置におけるデータ変換方法であって、
     第1の分割部により、入力データを列単位に分割する第1の分割工程と、
     第1の判定部により、前記第1の分割工程で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定工程と、
     第1の生成部により、前記第1の判定工程の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成工程と、
     第1の振り分け部により、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け工程と、
     第2の生成部により、前記第1の判定工程の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成工程と、
     第2の振り分け部により、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け工程と、
     第1の結合部により、前記第1の振り分け工程および前記第2の振り分け工程でラベルに振り分けたデータを列単位で結合する第1の結合工程と、
     を有する、データ変換方法。
  9.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを列単位に分割する第2の分割工程と、
     第2の判定部により、前記第2の分割工程で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータが対応付くかを判定する第2の判定工程と、
     第1の変換部により、前記第2の判定工程の判定結果が対応付く場合は、それらの列を1つのラベル列に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換工程でラベル列に変換したデータを列単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  10.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを列単位に分割する第2の分割工程と、
     第1の計算部により、前記第2の分割工程で列単位に分割した入力データのうち任意の少なくとも2つの列を選択し、それらの列の同一行に含まれるデータの相関を計算する第1の計算工程と、
     第1の変換部により、前記第1の計算工程で計算した相関値が所定の閾値よりも大きい場合は、それらの列を1つのラベル列に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換程工程でラベル列に変換したデータを列単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  11.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを行単位に分割する第2の分割工程と、
     第2の判定部により、前記第2の分割工程で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータが対応付くかを判定する第2の判定工程と、
     第1の変換部により、前記第2の判定工程の判定結果が対応付く場合は、それらの行を1つのラベル行に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換工程でラベル行に変換したデータを行単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  12.  請求項8記載のデータ変換方法において、
     前記第1の分割工程の前段で行われ、第2の分割部により、前記入力データを行単位に分割する第2の分割工程と、
     第1の計算部により、前記第2の分割工程で行単位に分割した入力データのうち任意の少なくとも2つの行を選択し、それらの行の同一列に含まれるデータの相関を計算する第1の計算工程と、
     第1の変換部により、前記第1の計算工程で計算した相関値が所定の閾値よりも大きい場合は、それらの行を1つのラベル行に変換する第1の変換工程と、
     第2の結合部により、前記第1の変換工程でラベル行に変換したデータを行単位で結合する第2の結合工程と、
     をさらに有し、
     前記第2の結合工程は前記第1の分割工程の前に行われる、データ変換方法。
  13.  請求項8記載のデータ変換方法において、
     前記第1の生成工程において、前記第1の生成部は、前記数値が取り得る値の範囲を複数の領域に分ける場合に、前記入力データの分布形状を表現するパラメータを格納するデータベースを参照する、データ変換方法。
  14.  請求項13記載のデータ変換方法において、
     前記データベースは、前記入力データの分布が予め分からない場合に分布を推定するための情報が入力される、データ変換方法。
  15.  列毎に、数値、文字列または符号から構成される表形式のデータを入力とするデータ変換装置としてコンピュータを機能させるデータ変換プログラムであって、
     第1の分割部により、入力データを列単位に分割する第1の分割工程と、
     第1の判定部により、前記第1の分割工程で列単位に分割した入力データに含まれる要素が数値、文字列または符号のいずれで構成されるかを判定する第1の判定工程と、
     第1の生成部により、前記第1の判定工程の判定結果が数値の場合は、前記数値が取り得る値の範囲を複数の領域に分けて各々ラベルを生成する第1の生成工程と、
     第1の振り分け部により、前記数値がどの領域に対応するかを判定して対応するラベルに振り分ける第1の振り分け工程と、
     第2の生成部により、前記第1の判定工程の判定結果が文字列または符号の場合は、列単位に分割した入力データに含まれる要素から重複要素を除去してラベルを生成する第2の生成工程と、
     第2の振り分け部により、前記文字列または符号がどのラベルに対応するかを判定して対応するラベルに振り分ける第2の振り分け工程と、
     第1の結合部により、前記第1の振り分け工程および前記第2の振り分け工程でラベルに振り分けたデータを列単位で結合する第1の結合工程と、
     を前記コンピュータに実行させる、データ変換プログラム。
     
     
PCT/JP2013/072959 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム WO2015029158A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/072959 WO2015029158A1 (ja) 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/072959 WO2015029158A1 (ja) 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム

Publications (1)

Publication Number Publication Date
WO2015029158A1 true WO2015029158A1 (ja) 2015-03-05

Family

ID=52585777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/072959 WO2015029158A1 (ja) 2013-08-28 2013-08-28 データ変換装置およびデータ変換方法ならびにデータ変換プログラム

Country Status (1)

Country Link
WO (1) WO2015029158A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017070105A (ja) * 2015-09-30 2017-04-06 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182368A (ja) * 1993-12-24 1995-07-21 Hitachi Ltd データ加工システム
JP2010029926A (ja) * 2008-07-30 2010-02-12 Honda Motor Co Ltd 品質予測方法
JP2013143009A (ja) * 2012-01-11 2013-07-22 Hitachi Ltd 設備状態監視方法およびその装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182368A (ja) * 1993-12-24 1995-07-21 Hitachi Ltd データ加工システム
JP2010029926A (ja) * 2008-07-30 2010-02-12 Honda Motor Co Ltd 品質予測方法
JP2013143009A (ja) * 2012-01-11 2013-07-22 Hitachi Ltd 設備状態監視方法およびその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017070105A (ja) * 2015-09-30 2017-04-06 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置
US10353351B2 (en) 2015-09-30 2019-07-16 Fanuc Corporation Machine learning system and motor control system having function of automatically adjusting parameter

Similar Documents

Publication Publication Date Title
CN104966104B (zh) 一种基于三维卷积神经网络的视频分类方法
JP2667954B2 (ja) 静的及び動的パラメータを使用する自動手書き文字認識装置及び方法
CN105139237A (zh) 信息推送的方法和装置
US7584189B2 (en) Sentence classification device and method
CN107368534B (zh) 一种预测社交网络用户属性的方法
Li et al. Dating ancient paintings of Mogao Grottoes using deeply learnt visual codes
Chagas et al. Evaluation of convolutional neural network architectures for chart image classification
Tavakoli Seq2image: Sequence analysis using visualization and deep convolutional neural network
WO2015029158A1 (ja) データ変換装置およびデータ変換方法ならびにデータ変換プログラム
CN112507800A (zh) 一种基于通道注意力机制和轻型卷积神经网络的行人多属性协同识别方法
CN111652171A (zh) 一种基于双分支网络的面部表情识别模型的构建方法
Liu et al. Query2label: A simple transformer way to multi-label classification
CN110751191A (zh) 一种图像的分类方法及系统
Pakdel et al. Efficient Cloud-Based Framework for Big Data Classification
CN110245228A (zh) 确定文本类别的方法和装置
CN110413899A (zh) 服务器存储新闻的存储资源优化方法及系统
Abirami et al. Handwritten Mathematical Recognition Tool
JP5463873B2 (ja) マルチメディア分類システム及びマルチメディア検索システム
Choudhary et al. Offline Handwritten Mathematical Expression Evaluator Using Convolutional Neural Network
Sailaja et al. Rough set based feature selection approach for text mining
CN107766422A (zh) 一种签到数据的映射方法及设备
Belhi et al. Deep Learning and Cultural Heritage: The CEPROQHA Project Case Study
CN109190556B (zh) 一种公证意愿真实性鉴别方法
JP6927409B2 (ja) 情報処理装置、制御方法、及びプログラム
CN110674265B (zh) 面向非结构化信息的特征判别与信息推荐系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13892378

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13892378

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: JP