(58)【調査した分野】(Int.Cl.,DB名)
推定手段は、生成された特徴量ベクトルと記憶部に保存されている複数の特徴量ベクトルの各々との距離を算出し、距離が小さい所定件の記憶部に保存されている特徴量ベクトルを出力する
請求項4記載の情報処理装置。
【背景技術】
【0002】
データの収集技術、データの処理技術、およびデータの蓄積技術の発展に従って、多種多様かつ多量の情報を扱う機会が多くなっている。扱うデータの大半は、他の目的で他者が収集したデータや、過去に収集されたデータである。データ収集の際に、データが集積された表やデータ自体にデータの意味や仕様が記載されないことが多い。データの意味や仕様は、表をまとめた資料の凡例やシステムの仕様書等に記載される。一般に、それらの仕様情報は入手できなかったり、最新状態に更新されていなかったり、場合によっては紛失するという事態が発生する。
【0003】
一般に、数値集合データを扱う際には、そのデータの種別、データの出所、データの単位等は既知のことである。従って、データをどのように処理すればよいか判別することは容易である。
【0004】
しかし、データが採取されてから処理を行う人がデータを入手するまでの過程において、データを正しく処理するために必要な情報の一部が欠落して、そのデータが何を表すのか一見して判別できないことも起こり得る。例えば、データベースのテーブル構造についての資料が無い状態で、列名が略されていた場合、データが何を表すのか一見して判別できない。そのような場合には、入手経路や処理方法を解析する等の対策がとられている。しかし、データを採取した人間との接触が制限されていたり専門的な知識を要する等のために、データの種別を明らかにするために長時間を要することもある。
【0005】
例えば、表計算ソフトウェアの表データ等は、作成者本人および利用者だけが理解できる用語が盛り込まれていることが多い。時間が経って作成当時の関係者が不在になると、そのデータが何を表すのか、全く手がかりがない状態も起こり得る。
【0006】
文字データであれば、単語や文章の意味からある程度の意味、例えば住所や氏名を推測することはできるが、数値データの場合、一つ一つのデータを眺めても推測を行うことは難しい。また、テキストデータに関して、類似度の判定方法として、単語ごとに多次元のベクトルを生成し、データ間の類似性を判定する手法が知られている。しかし、数値データについては、数値そのものを次元として利用できないので、そのような手法を適用することは難しい。
【0007】
特許文献1には、平均や分散等の統計値にもとづいてどの種別のデータかを推定する方法が記載されている。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面を参照して説明する。
【0017】
図1は、データ種別(以下、単に「種別」ともいう。)を推定するための情報処理装置の一例であるデータ種別推定装置を示すブロック図である。
図1には、データ種別推定装置10と、学習用数値列データ記憶装置500および推定対象数値列データ記憶装置600が示されている。
【0018】
データ種別推定装置10は、特徴量ベクトル抽出部100と、学習部200と、推定部300と、特徴量ベクトル管理部400とを備える。
【0019】
特徴量ベクトル抽出部100は、種別(具体的には、種別を示すデータ)および付加情報を含む数値集合データを入力して特徴量ベクトルを出力する。特徴量ベクトル抽出部100は、統計値算出部101と、付加データ抽出部102と、特徴量ベクトル生成部103とを含む。
【0020】
統計値算出部101は、入力された数値集合データの平均や分散等の統計値を算出する。付加データ抽出部102は、特徴量ベクトルの単位や併記されている情報の特性を抽出する。特徴量ベクトル生成部103は、統計値算出部101の算出結果と付加データ抽出部102の抽出結果とを結合して、入力データに対する特徴量ベクトルを生成する。
【0021】
学習部200は、学習用の数値集合データ(数値データの集合)すなわち学習用データを入力し、特徴量ベクトルを生成する。学習部200は、学習用データ入力部201と、データ解析部202と、特徴量ベクトル出力部203とを含む。
【0022】
学習用データ入力部201は、学習用数値列データ記憶装置500から学習用データを入力する。データ解析部202は、特徴量ベクトル抽出部100を利用して、学習用データを対象として特徴量ベクトルを取得する。特徴量ベクトル出力部203は、取得された特徴量ベクトルと種別とを、特徴量ベクトル管理部400に出力する。
【0023】
推定部300は、数値集合データの種別を推定する。推定部300は、推定対象データ入力部301と、データ解析部302と、類似特徴量ベクトル探索部303と、結果表示部304とを含む。
【0024】
推定対象データ入力部301は、推定対象数値列データ記憶装置600から、種別推定対象の数値集合データを入力する。データ解析部302は、特徴量ベクトル抽出部100を利用して、種別推定対象の数値集合データを対象として特徴量ベクトルを生成する。類似特徴量ベクトル探索部303は、特徴量ベクトル管理部400を利用して、生成された特徴量ベクトルと距離が近い特徴量ベクトルを特徴量ベクトル記憶部403から抽出する。結果表示部304は、類似特徴量ベクトル探索部303の推定結果を表示部(図示せず)に表示する。なお、学習部200を経て特徴量ベクトル記憶部403に格納された特徴量ベクトルを学習済み特徴量ベクトルとする。
【0025】
特徴量ベクトル管理部400は、特徴量ベクトルを管理する。特徴量ベクトル管理部400は、特徴量ベクトル階層化保存部401と、特徴量ベクトル比較部402と、特徴量ベクトル記憶部403とを含む。
【0026】
特徴量ベクトル階層化保存部401は、特徴量ベクトル出力部203から入力される種別を、特徴量ベクトル記憶部403の記憶内容と照合しながら、特徴量ベクトルを保存すべき階層を特定して、特徴量ベクトルを特徴量ベクトル記憶部403に保存する。特徴量ベクトル比較部402は、類似特徴量ベクトル探索部303から入力した特徴量ベクトルと、特徴量ベクトル記憶部403に保存されている学習済み特徴量ベクトルとの距離を算出し、距離が近い特徴量ベクトルが有する種別を、距離に応じた確率を付与して抽出する。なお、抽出された種別に共通の種別(親種別)が存在する場合は、その親種別も併せて抽出する。
【0027】
少なくとも統計値算出部101、付加データ抽出部102、特徴量ベクトル生成部103、データ解析部202、特徴量ベクトル出力部203、データ解析部302、類似特徴量ベクトル探索部303、特徴量ベクトル階層化保存部401、および特徴量ベクトル比較部402は、プログラム記憶部に格納されたプログラムにもとづいて1つまたは複数のCPU(Central Processing Unit )が処理を実行することによって実現可能である。しかし、それらおよび他のブロック(記憶部を除く。)は、ハードウェア(個別回路またはLSI(Large Scale Integration ))で実現されてもよい。
【0028】
次に、データ種別推定装置10の動作を説明する。
【0029】
ここでは、
図2に示す学習用データを使用し、数値集合データの推定のために学習する場合と、
図3に示す推定対象データを使用し、数値集合データを推定する場合を例にする。
【0030】
図2に例示する学習用データは、20代成人男子の最高血圧に関する数値集合データである。
図3に示す推定対象データは、血圧に関する数値集合データであってデータ種別は未知である。
【0031】
また、表形式のデータを用いる場合を例にする。以下、数値集合データを数値列データということがある。入力データは、表計算ソフトウェアのファイルであったり、データベースの表、XML (eXtensible Markup Language )文書、CSV (Common Separated Value)形式の文書、HTML(Hypertext Markup Language )文書などである。ただし、数値の集合と付加データに分解可能なものであれば、入力データの形式は問わない。
【0032】
本実施形態では、データ種別推定装置10は、学習フェーズの処理と実際に推定を行う推定フェーズの処理とを実行する。データ種別推定装置10は、学習フェーズにおいて、データ種別が既知である数値集合データについて、統計値の算出および付加データの抽出を行って作成した特徴量ベクトルを、与えられたデータ種別を元に階層化して保存する。
【0033】
図4は、学習フェーズの処理を示すフローチャートである。
図4(A)は、学習部200の処理を示す。
図4(B)は、特徴量ベクトル抽出部100の処理を示す。
【0034】
学習フェーズにおいて、学習部200の学習用データ入力部201は、学習用数値列データ記憶装置500から学習用の数値列データを入力データとして入力する(ステップS11)。データ解析部202は、特徴量ベクトル抽出部100を利用して、学習用データを対象として特徴量ベクトルを取得する(ステップS12)。特徴量ベクトル抽出部100は、
図4(B)に示す処理を実行する。
【0035】
統計値算出部101は、入力された数値列データの統計値を算出する(ステップB11)。統計値は、例えば、平均、分散、尖度、歪度、分布の型(一例として、正規分布、Poisson 分布、ロングテールの分布)である。
【0036】
付加データ抽出部102は、数値列データにおける数値の単位(一例として、m 、g 、円、℃)や、数値列データにおいて併記されている情報の特性(付加データ)を抽出する(ステップB12)。また、付加データ抽出部102は、数値列データにおいて氏名やIDなど固体を識別可能なデータがあれば、個体識別情報を「有」にする。その他、付加データとして、例えば、緯度経度や時刻情報が考えられる。
図2に示された例では、単位として"mmHg"が抽出される。また、個体識別情報は「有」とされる。
【0037】
特徴量ベクトル生成部103は、統計値算出部101の算出結果と付加データ抽出部102の抽出結果とを結合して、入力データに対する特徴量ベクトルを生成し、呼び出し元(この場合には、データ解析部202)に供給する(ステップB13)。
【0038】
図5は、特徴量ベクトル生成部103が生成する特徴量ベクトルを説明するための説明図である。
図5に示されている等式の右辺には、
図3に例示された数値列データを入力値として、統計値算出部101と付加データ抽出部102とが得た値を、多次元量(ベクトル)としてまとめた状態が示されている。
【0039】
特徴量ベクトル出力部203は、取得された特徴量ベクトルと種別とを、特徴量ベクトル管理部400に出力する。
【0040】
特徴量ベクトル記憶部403において、特徴量ベクトルは、データ種別に関して
、階層化(クラスタ化)されて保存されている。階層化は、特徴量ベクトル階層化保存部401によって実行されるが、特徴量ベクトル階層化保存部401は、特徴量ベクトルを保存するときに、与えられたデータ種別を階層化した状態で保存する。その際に、例えば「20代男性の血圧」、「20代女性の血圧」という2つの入力データがあった場合、共通する「
20代成人の血圧」という種別を子種別として保存してもよい。なお、クラスタ化の手法として、特定分野の辞書と照合する手法や、特徴量ベクトルでクラスタ分析を行う手法等がある。特徴量ベクトル階層化保存部401は、既知の階層化手法のいずれを使用してもよいが、望ましい推定結果が得られる階層化手法を選択することが好ましい。
【0041】
特徴量ベクトル管理部400における特徴量ベクトル階層化保存部401は、特徴量ベクトル記憶部403から、データ種別の階層構造を示す階層情報を読み出す(ステップS13)。
【0042】
特徴量ベクトル階層化保存部401は、学習用データとしての数値列データの種別の階層と、特徴量ベクトル階層化保存部401から読み出した階層構造とから、特徴量ベクトルを保存すべき階層を特定する(ステップS14)。特徴量ベクトル階層化保存部401は、特徴量ベクトルを特徴量ベクトル記憶部403における特定された階層に特徴量ベクトルを保存する(ステップS15)。
【0043】
図5に示されている等式の左辺には、
図3に例示された数値列データに付与された種別が階層化された状態が示されている。
図5に示すように、種別をより広い概念(この例では、「圧力」)から狭い概念(この例では「20代」)の順に階層化されている。
【0044】
図6は、特徴量ベクトル階層化保存部401に保存されている階層構造を説明するための説明図である。
図6に示す例では、階層構造における最も広い概念から最も狭い概念に向けてツリー状に表現されている。
図5および
図6に示す例では、ステップS14の処理で、「男性」の下の階層が特定される。
【0045】
図7は、
推定フェーズの処理を示すフローチャートである。
図7(A)は、推定部300の処理を示す。
図7(B)は、特徴量ベクトル抽出部100の処理を示す。
【0046】
推定フェーズにおいて、推定部300の推定対象データ入力部301は、推定対象数値列データ記憶装置600から推定対象の数値列データを入力データとして入力する(ステップS21)。データ解析部302は、特徴量ベクトル抽出部100を利用して、推定対象の数値列データを対象として特徴量ベクトルを取得する(ステップS22)。特徴量ベクトル抽出部100は、
図7(B)に示す処理を実行する。
図7(B)に示す処理は、
図4(B)に示された処理と同じである。
【0047】
次いで、類似特徴量ベクトル探索部303は、特徴量ベクトル管理部400を利用して、生成された特徴量ベクトルと距離が近い学習済み特徴量ベクトルを特徴量ベクトル記憶部403から抽出する。
【0048】
具体的には、特徴量ベクトル比較部402は、特徴量ベクトル記憶部403から特徴量ベクトルのリスト(一覧)を読み出す(ステップS23)。特徴量ベクトル比較部402は、ステップS23の処理で取得された特徴量ベクトルを、類似特徴量ベクトル探索部303を介して入力し、当該特徴量ベクトルと学習済みの個々の特徴量ベクトル(リストに存在する特徴量ベクトル)との距離を算出する(ステップS24)。このとき、特徴量ベクトル比較部402は、特徴量ベクトルに含まれる各々の要素を均等に扱うのではなく、単位や個体識別情報の有無等について、統計値よりも重みをつけて扱うことが好ましい。例えば、種別が血圧であれば、単位が長さ(m )や重さ(kg)であることはないので、単位の違い(mmHg以外の単位)の距離への影響を大きくすることが好ましい。
【0049】
なお、外国為替(¥⇔$)や電力(W⇔VA)等が関連するような対象データを扱う場合、必ずしも1種別1単位に集約できるとは限らない。そのような場合、単位を排除してもよいが、それぞれに重み付けを行って対応してもよい。同様に、個体識別情報、位置情報、時刻情報の有無に対しても、算出された統計値に対して重みをつけるなど、好ましい推定結果が得られるよう調整する。
【0050】
特徴量ベクトル比較部402は、距離が小さいn件の特徴量ベクトルを抽出する(ステップS25)。なお、「n」はあらかじめ決められている正の整数である。そして、特徴量ベクトル比較部402は、n件の特徴量ベクトルを類似特徴量ベクトル探索部303に出力する。その際に、特徴量ベクトル比較部402は、距離に応じた確率も類似特徴量ベクトル探索部303に出力する。特徴量ベクトル比較部402は、n件の特徴量ベクトルに共通する種別(親種別)が存在する場合は、その親種別も併せて抽出する。
【0051】
ベクトル間の距離を測定する手法として様々の方法が知られているが、例えば、MinHash 法に代表されるベクトル間の角度(コサイン類似度)を距離として扱う手法は、高速で処理可能であるため、大量の数値集合データを扱うのに適している。
【0052】
なお、本実施形態では、特徴量ベクトル比較部402が距離と確率の算出を行うが、それらの機能は、類似特徴量ベクトル探索部303に含まれていてもよい。
【0053】
結果表示部304は、抽出されたn件の特徴量ベクトルを表示部に表示することによってユーザに提示する(ステップS26)。
【0054】
図8は、抽出された特徴量ベクトル等の一例(表示例)を示す説明図である。
図8に示すように、種別は階層化されている。なお、個々の距離に応じて確率が計算されるので、確率の合計は1を越える。
【0055】
図8に示す例では、「圧力/血圧/最高/男性」が共通の種別(親種別)になっている。そのような場合には、特徴量ベクトル比較部402は、ステップS25の処理で、親種別として「圧力/血圧/最高/男性」を抽出結果に含める。また、抽出結果が表示されるときに、親種別が最上位に表示されることが好ましい(
図9参照)。
【0056】
図9は、親種別を含む抽出結果を示す説明図である。
図9に示す例では、「20代」の距離と「30代」の距離との違いは僅差である。しかし、男性の血圧であることがほぼ確実と推定できるので、特徴量ベクトル比較部402は、推定精度の向上を図るために、種別階層を利用した結果の集約を行う。なお、種別の階層化が行われない場合には、距離が近い特徴量ベクトル間の関係が特定できず、包括する種別を提示することができない。
【0057】
以上に説明したように、本実施形態では、利用者が対象数値集合データに関する知識を有していなくても、データ種別推定装置10が、数値集合データの統計値や単位等の付加情報を特徴量ベクトルとして抽出し、特徴量ベクトルと学習済みデータの特徴量ベクトルとの比較結果を提示するので、利用者は、データ種別を容易に推定することができる。
【0058】
また、数値集合データは数値データであるから学習データと完全に一致することはないが、データ種別推定装置10が、特徴量ベクトル間の距離を算出し、学習済み特徴量データの階層構造と照合することによって、距離が近い学習済み特徴量ベクトルに対応する種別の抽出と、抽出された種別の共通種別(親種別)を高い精度で推定することができる。
【0059】
なお、本実施形態では、血圧に関するデータが数値集合データとされたが、本発明は、他の種類の数値集合データを対象とすることもできる。例えば、過去の販売データを参照する際に、その当時のテーブル構造や種別についての仕様が入手困難な状態であっても、現在の販売データに含まれる数値データをあらかじめ学習しておくことによって、数値集合データにおけるどの列が売上で、どの列が値引き額である等の推定を自動的に行うことができる。
【0060】
図10は、本発明による情報処理装置の主要部を示すブロック図である。
図10に示す情報処理装置1Aは、学習用の数値集合データから統計値を算出し、該数値集合データに付加されている付加データを抽出する抽出手段2(実施形態では、統計値算出部101および付加データ抽出部102で実現される。)と、統計値と抽出された付加データとから特徴量ベクトルを生成する特徴量ベクトル生成手段3(実施形態では、特徴量ベクトル生成部で実現される。)と、数値集合データの種別で階層化された状態で特徴量ベクトルを記憶部5(実施形態では、特徴量ベクトル記憶部403で実現される。)に保存する特徴量ベクトル階層化保存手段4(実施形態では、特徴量ベクトル階層化保存部401で実現される。)とを備えている。
【0061】
図11は、本発明による他の態様の情報処理装置の主要部を示すブロック図である。
図11に示す情報処理装置1Bは、抽出手段が、種別の推定対象である対象用の数値集合データから統計値を算出し、該数値集合データに付加されている付加データを抽出し、特徴量ベクトル生成手段が、当該統計値と抽出された当該付加データとから特徴量ベクトルを生成し、生成された特徴量ベクトルと記憶部5に保存されている特徴量ベクトルとの距離を算出し、算出された距離にもとづいて対象用の数値集合データの種別を推定する推定手段6(実施形態では、特徴量ベクトル比較部402で実現される。)を備えている。