(57)【要約】【課題】欠損値を持つデータと他のデータとの類似度の計算において、類似度の計算結果の信頼性の低下を防止可能な類似度計算装置および類似度計算方法を提供する。【解決手段】類似度計算装置は、各属性に関連づけられた各領域に、その領域に関連した属性に対応する属性値が記載されているかまたは記載されていない第１および第２のデータを受け付ける受付手段と、属性ごとに属性に対応する属性値が取り得る値の分布を表す分布情報を記憶する記憶手段と、属性値が第１および第２のデータの記載されている属性についてはその属性値同士の類似度を計算し、属性値が少なくとも第１および第２のデータの一方に存在しない属性については分布情報を用いてその属性値同士の類似度の期待値を計算する第１計算手段と、第１計算手段にて計算された類似度および類似度の期待値に基づいて第１および第２のデータの類似度を計算する第２計算手段と、を含む。【選択図】図１
2010152692.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた各属性に１対１で関連づけられた各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない第１および第２のデータを、受け付ける受付手段と、
前記属性ごとに、当該属性に対応する属性値が取り得る値の分布を表す分布情報を記憶する記憶手段と、
前記属性値が前記第１および第２のデータの両方に記載されている属性については、当該属性に対応する属性値同士の類似度を計算し、前記属性値が少なくとも前記第１および第２のデータの一方に存在しない属性については、前記記憶手段内の分布情報を用いて、当該属性に対応する属性値同士の類似度の期待値を計算する第１計算手段と、
前記第１計算手段にて計算された類似度および類似度の期待値に基づいて、前記第１および第２のデータの類似度を計算する第２計算手段と、を含む類似度計算装置。
【請求項２】
請求項１に記載の類似度計算装置において、
前記各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない複数の学習用データを受け付ける学習用データ受付手段と、
前記複数の学習用データに基づいて、前記属性ごとに前記分布情報を生成し、当該分布情報を前記記憶手段に記憶する処理手段と、をさらに含む類似度計算装置。
【請求項３】
請求項１または２に記載の類似度計算装置において、
前記第２計算手段は、前記第１計算手段にて計算された類似度および類似度の期待値を加算し、その加算結果を、前記第１および第２のデータの類似度とする、類似度計算装置。
【請求項４】
類似度計算装置が行う類似度計算方法であって、
予め定められた各属性に１対１で関連づけられた各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない第１および第２のデータを、受け付け、
前記属性ごとに、当該属性に対応する属性値が取り得る値の分布を表す分布情報を記憶手段に記憶し、
前記属性値が前記第１および第２のデータの両方に記載されている属性については、当該属性に対応する属性値同士の類似度を計算し、前記属性値が少なくとも前記第１および第２のデータの一方に存在しない属性については、前記記憶手段内の分布情報を用いて、当該属性に対応する属性値同士の類似度の期待値を計算し、
前記計算された類似度および類似度の期待値に基づいて、前記第１および第２のデータの類似度を計算する、類似度計算方法。
【請求項５】
請求項４に記載の類似度計算方法において、
前記各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない複数の学習用データを受け付け、
前記複数の学習用データに基づいて、前記属性ごとに前記分布情報を生成すること、をさらに含み、
前記分布情報を記憶する際には、前記生成された分布情報を前記記憶手段に記憶する、類似度計算方法。
【請求項６】
請求項４または５に記載の類似度計算方法において、
前記第１および第２のデータの類似度を計算する際に、前記計算された類似度および類似度の期待値を加算し、その加算結果を、前記第１および第２のデータの類似度とする、類似度計算方法。
【請求項７】
コンピュータに、
予め定められた各属性に１対１で関連づけられた各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない第１および第２のデータを、受け付ける受付処理と、
前記属性ごとに、当該属性に対応する属性値が取り得る値の分布を表す分布情報を記憶手段に記憶する記憶処理と、
前記属性値が前記第１および第２のデータの両方に記載されている属性については、当該属性に対応する属性値同士の類似度を計算し、前記属性値が少なくとも前記第１および第２のデータの一方に存在しない属性については、前記記憶手段内の分布情報を用いて、当該属性に対応する属性値同士の類似度の期待値を計算する第１計算処理と、
前記計算された類似度および類似度の期待値に基づいて、前記第１および第２のデータの類似度を計算する第２計算処理と、を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムにおいて、
前記コンピュータに、
前記各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない複数の学習用データを受け付ける学習用データ受付処理と、
前記複数の学習用データに基づいて、前記属性ごとに前記分布情報を生成する生成処理と、をさらに実行させ、
前記記憶処理では、前記生成された分布情報を前記記憶手段に記憶する、プログラム。
【請求項９】
請求項７または８に記載のプログラムにおいて、
前記第１および第２のデータの類似度を計算する際に、前記計算された類似度および類似度の期待値を加算し、その加算結果を、前記第１および第２のデータの類似度とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似度計算装置、類似度計算方法およびプログラムに関する。
【背景技術】
【０００２】
複数の属性（項目とも称される）のそれぞれに１対１で対応する複数の属性データ（以下「属性値」と称する）を持つデータが、さまざまな分野で使用されている。
【０００３】
例えば、自動車の複数センサから収集される複数の属性値を持つ車両状態データは、属性として、車両の速度、エンジン回転数、および、シフトポジション等を持つ。また、これらの属性の中には、データが取得される車両の車種や年式、グレード等により、属性値が取得されない属性（属性値が欠損している属性）が存在したり、または、センサの不具合により、車両状態データ内の一部の属性値が欠損してしまう場合もある。
【０００４】
複数の属性値のうちの一部の属性値が欠損しているデータ同士の類似度を計算する方法として、欠損している属性値（以下「欠損値」と称する）自体をある代表値、例えば０や平均値などで補完し、欠損値が補完されたデータ同士の類似度を計算する方法がある。
【０００５】
特許文献１には、欠損値を有する属性（以下「特定属性」と称する）以外の属性に対応する属性値を用いて、欠損値を持たないデータの中から、欠損値を持つデータに類似した類似データを求め、類似データが持つ属性値の中から、特定属性に対応する属性値を特定し、その特定された属性値で欠損値を補完する方法が記載されている。
【特許文献１】特開２００２−２１５６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
欠損値を代表値で補完すると、データ間の類似度の計算の際に、類似度の偏りが生じてしまうという課題があった。
【０００７】
また、類似データを用いて欠損値を補完したデータと、その類似データと、の間の類似度を計算すると、そのデータ間が不当に類似してしまう。このため、類似性の高いデータを用いて欠損値を補完する方法は、欠損値を持つデータと他のデータとの類似度を求める際には適した方法ではなかった。
【０００８】
よって、欠損値を持つデータと他のデータとの類似度の計算では、類似度の計算結果の信頼性が低くなるという課題があった。
【０００９】
本発明の目的は、上記課題を解決可能な類似度計算装置、類似度計算方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の類似度計算装置は、予め定められた各属性に１対１で関連づけられた各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない第１および第２のデータを、受け付ける受付手段と、前記属性ごとに、当該属性に対応する属性値が取り得る値の分布を表す分布情報を記憶する記憶手段と、前記属性値が前記第１および第２のデータの両方に記載されている属性については、当該属性に対応する属性値同士の類似度を計算し、前記属性値が少なくとも前記第１および第２のデータの一方に存在しない属性については、前記記憶手段内の分布情報を用いて、当該属性に対応する属性値同士の類似度の期待値を計算する第１計算手段と、前記第１計算手段にて計算された類似度および類似度の期待値に基づいて、前記第１および第２のデータの類似度を計算する第２計算手段と、を含む。
【００１１】
本発明の類似度計算方法は、類似度計算装置が行う類似度計算方法であって、予め定められた各属性に１対１で関連づけられた各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない第１および第２のデータを、受け付け、前記属性ごとに、当該属性に対応する属性値が取り得る値の分布を表す分布情報を記憶手段に記憶し、前記属性値が前記第１および第２のデータの両方に記載されている属性については、当該属性に対応する属性値同士の類似度を計算し、前記属性値が少なくとも前記第１および第２のデータの一方に存在しない属性については、前記記憶手段内の分布情報を用いて、当該属性に対応する属性値同士の類似度の期待値を計算し、前記計算された類似度および類似度の期待値に基づいて、前記第１および第２のデータの類似度を計算する。
【００１２】
本発明のプログラムは、コンピュータに、予め定められた各属性に１対１で関連づけられた各領域に、当該領域に関連づけられた属性に対応する属性値が記載されているかまたは当該属性値が記載されていない第１および第２のデータを、受け付ける受付処理と、前記属性ごとに、当該属性に対応する属性値が取り得る値の分布を表す分布情報を記憶手段に記憶する記憶処理と、前記属性値が前記第１および第２のデータの両方に記載されている属性については、当該属性に対応する属性値同士の類似度を計算し、前記属性値が少なくとも前記第１および第２のデータの一方に存在しない属性については、前記記憶手段内の分布情報を用いて、当該属性に対応する属性値同士の類似度の期待値を計算する第１計算処理と、前記計算された類似度および類似度の期待値に基づいて、前記第１および第２のデータの類似度を計算する第２計算処理と、を実行させる。
【発明の効果】
【００１３】
本発明によれば、欠損値を持つデータと他のデータとの類似度の計算において、類似度の計算結果の信頼性の低下を防止することが可能になる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。
【００１５】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の類似度計算装置１００を示したブロック図である。
【００１６】
類似度計算装置１００は、入力処理部１１０と、データ分布記憶部１２０と、計算部１３０および１４０と、を含む。計算部１３０は、属性間類似度計算処理部１３０ａと、期待値計算処理部１３０ｂと、を含む。計算部１４０は、類似度統合処理部１４０ａと、出力処理部１４０ｂと、を含む。
【００１７】
入力処理部１１０は、一般的に受付手段と呼ぶことができる。
【００１８】
入力処理部１１０は、データ間の類似度を計算する対象となるデータ（以下「計算対象データ」と称する）、あるいは、データ分布記憶部１２０に記憶させるデータ分布を表す分布情報を入力する機能を有する。
【００１９】
入力処理部１１０は、計算対象データとして、第１のデータおよび第２のデータを受け付ける。
【００２０】
第１のデータおよび第２のデータのそれぞれは、予め定められた各属性に１対１で関連づけられた各領域を有する。各領域には、その領域に関連づけられた属性に対応する属性値が記載されているか、または、その属性値が記載されていない。
【００２１】
図２は、第１のデータの一例を示した説明図であり、図３は、第２のデータの一例を示した説明図である。図２および３では、属性として、車両の速度、エンジン回転数、および、シフトポジションが用いられている。なお、第１および第２のデータは、図２、３に示したものに限らず適宜変更可能である。
【００２２】
図２に示した第１のデータでは、属性である「速度」に関連づけられた領域２ａには、「速度」に対応する属性値である「ＡＡＡＡ」が記載されている。また、属性である「エンジン回転数」に関連づけられた領域２ｂには、「エンジン回転数」に対応する属性値である「ＸＸＸＸ」が記載されている。また、属性である「シフトポジション」に関連づけられた領域２ｃには、「シフトポジション」に対応する属性値、さらに言えば、なんらの値も記載されていない。
【００２３】
図３に示した第２のデータでは、属性である「速度」に関連づけられた領域３ａには、「速度」に対応する属性値である「ＢＢＢＢ」が記載されている。また、属性である「エンジン回転数」に関連づけられた領域３ｂには、「エンジン回転数」に対応する属性値、さらに言えば、なんらの値も記載されていない。また、属性である「シフトポジション」に関連づけられた領域３ｃには、「シフトポジション」に対応する属性値、さらに言えば、なんらの値も記載されていない。
【００２４】
また、入力処理部１１０は、第１および第２のデータが有する属性ごとに、その属性に対応する属性値が取り得る値の分布（例えば、確率分布または確率密度関数）を表す分布情報を受け付ける。
【００２５】
入力処理部１１０は、キーボード等のように人間から直接データを受け付ける装置のみならず、外部システム等と接続されるインターフェースなどでもよい。
【００２６】
データ分布記憶部１２０は、一般的に記憶手段と呼ぶことができる。
【００２７】
データ分布記憶部１２０は、入力処理部１１０から入力された属性ごとの分布情報を記憶しておく機能を備えている。ただし、分布情報は、入力処理部１１０から入力されず、予め記憶されていてもよい。
【００２８】
計算部１３０は、一般的に第１計算手段と呼ぶことができる。
【００２９】
計算部１３０は、属性値が第１および第２のデータの両方に存在する属性（例えば、図２および３での「速度」）については、その属性に対応する属性値同士の類似度を計算する。
【００３０】
また、計算部１３０は、属性値が少なくとも第１および第２のデータの一方に存在しない属性（例えば、図２および３での「エンジン回転数」および「シフトポジション」）については、データ分布記憶部１２０内の分布情報を用いて、その属性に対応する属性値同士の類似度の期待値を計算する。
【００３１】
例えば、計算部１３０は、属性ごとに、その属性に対応する属性値が、第１および第２のデータの両方に存在するか判定する。計算部１３０は、属性値が両方に存在する場合、その属性値同士の類似度を計算し、属性値が少なくとも第１および第２のデータの一方に存在しない場合、データ分布記憶部１２０内の分布情報を用いて、その属性に対応する属性値同士の類似度の期待値を計算する。
【００３２】
属性間類似度計算処理部１３０ａは、属性値が第１および第２のデータの両方に存在する属性について、その属性に対応する属性値同士の類似度を計算する。
【００３３】
期待値計算処理部１３０ｂは、属性値が少なくとも第１および第２のデータの一方に存在しない属性について、データ分布記憶部１２０内の分布情報を用いて、その属性に対応する属性値同士の類似度の期待値を計算する。
【００３４】
計算部１４０は、一般的に第２計算手段と呼ぶことができる。
【００３５】
計算部１４０は、計算部１３０にて計算された類似度および類似度の期待値に基づいて、第１および第２のデータの類似度を計算する。
【００３６】
例えば、計算部１４０は、計算部１３０にて計算された類似度および類似度の期待値を加算し、その加算結果を、第１および第２のデータの類似度とする。
【００３７】
類似度統合処理部１４０ａは、計算部１３０での属性ごとの計算結果を統合し、第１および第２のデータの類似度を計算する。
【００３８】
出力処理部１４０ｂは、類似度統合処理部１４０ａにて計算されたデータ間類似度を出力する機能を有する。出力処理部１４０ｂは、ディスプレイや音声による出力、あるいは外部システム等と接続されるインターフェースなどでもよい。
【００３９】
次に、動作を説明する。
【００４０】
図４は、類似度計算装置１００の動作を説明するためのフローチャートである。以下、図１および図４を参照して類似度計算装置１００の動作を説明する。
【００４１】
まず、入力処理部１１０は、類似度を計算する対象となる第１および第２のデータを受け付ける（ステップＡ１）。
【００４２】
以下説明のために、第１および第２のデータを、それぞれｘ1、ｘ2とベクトルで表記する。
【００４３】
ただし、ｘ1およびｘ2のｊ番目の属性は、同一の属性を表し、ｊ番目の属性に対応する属性値をｘ1jおよびｘ2jと表記する。
【００４４】
なお、入力されたデータ内にｊ番目の属性に対応する属性値が存在しない場合、すなわち、ｊ番目の属性に関連する領域内に値が無い（例えば、mull）場合には、その属性値は欠損値として扱われる。
【００４５】
次に、計算部１３０は、ｘ1およびｘ2の各属性に関して、以下に示すステップＡ２からステップＡ６の処理を繰り返し行なう。以下ではｊ番目の属性に関する処理を説明することとする。
【００４６】
まず、属性間類似度計算処理部１３０ａは、ｘ1jおよびｘ2jの少なくともいずれかが欠損しているかを確認する（ステップＡ２）。
【００４７】
ｘ1jおよびｘ2jの両方とも欠損していない場合には（ステップＡ３）、属性間類似度計算処理部１３０ａは、自己に記憶されている属性間類似度を計算するための計算式に基づいて、ｘ1jとｘ2jとの属性間類似度を計算する（ステップＡ４）。
【００４８】
ここで、属性間類似度は、ｘ1jとｘ2jに関して計算される任意の関数で表され、ｊ番目の属性に関する属性間類似度をｇj（ｘ1j，ｘ2j）と表記する。
【００４９】
属性間類似度は、データが類似しているほど大きい値をとってもよいし、データが類似しているほど小さい値をとってもよいこととする。
【００５０】
属性間類似度としては、例えば、ｊ番目の属性に対応する属性値が連続値をとる場合には、２乗距離（ｘ1j−ｘ2j）2や絶対値距離｜ｘ1j−ｘ2j｜などを利用可能であるし、ｊ番目の属性に対応する属性値が離散値をとる場合には、ハミング距離（ｘ1jとｘ2jが一致する場合には０、一致しない場合には１）などを利用することが可能である。
【００５１】
ｘ1jあるいはｘ2jが欠損している場合には（ステップＡ３）、属性間類似度計算処理部１３０ａは、ｇj（ｘ1j，ｘ2j）を直接計算することができない。このため、属性間類似度計算処理部１３０ａは、期待値計算処理部１３０ｂを動作させる。期待値計算処理部１３０ｂは、データ分布記憶部１２０からｊ番目の属性に関する分布情報を読み込み、分布情報が表す確率分布（あるいは確率密度関数）ｐjを用いて、属性間類似度の期待値を計算する。期待値計算処理部１３０ｂは、その計算結果を属性間類似度計算処理部１３０ａに提供する（ステップＡ５)。
【００５２】
このため、属性間類似度計算処理部１３０ａは、属性ごとに、属性間類似度、または、属性間類似度の期待値を有することになる。
【００５３】
ここで、ｐjとしては、ｊ番目の属性に対応する属性値が離散値やシンボル値（変数の値を、整数などの実際の値ではなく、記号などのシンボルとして表現した値）をとる場合には、例えば、多項分布などの離散値の分布を利用することが可能であり、ｊ番目の属性が実数値をとる場合には、正規分布などの連続値の分布を利用することが可能である。
【００５４】
以下、期待値の計算の具体的な手順を説明する。
【００５５】
まず、ｘ1jとｘ2jのうち、片側のみが欠損している場合には、欠損していない属性値を活用するために、期待値計算処理部１３０ｂは、（１）式に従って、属性間類似度の期待値を計算する。
【００５６】
なお、（１）式は、ｘ2jのみが欠損している場合に用いる計算式であるが、ｘ1jのみが欠損している場合には、期待値計算処理部１３０ｂは、（１）式のｘ1jをｘ2jに入れ替えることによって、同様の手法で属性間類似度の期待値を計算可能である。
【００５７】
【数１】
2010152692.tif 000003
【００５８】
なお、（１）式において、ｘとしては、ｊ番目の属性に対応する属性値が取り得るすべての値が用いられる。
【００５９】
次に、ｘ1jとｘ2jの両方が欠損している場合には、期待値計算処理部１３０ｂは、データの持つ属性値を利用できないため、期待値計算処理部１３０ｂは、（２）式に従って、属性間類似度の期待値を計算する。
【００６０】
【数２】
2010152692.tif 000004
【００６１】
なお、（２）式において、ｘおよびｙとしては、ｊ番目の属性に対応する属性値が取り得るすべての値が用いられる。
【００６２】
（１）式および（２）式は、ｊ番目の属性に対応する属性値が連続値をとる場合も含めるため、期待値の計算手法として積分が用いられているが、ｊ番目の属性に対応する属性値が離散値をとる場合には、期待値計算処理部１３０ｂは、積分を和に置き換えて、属性間類似度の期待値を計算してもよい。
【００６３】
なお、（１）式に従った期待値の計算は、ｊ番目の属性に対応する属性値が有限数の離散値をとる場合には、事前に計算しておくことが可能であり、期待値計算処理部１３０ｂまたはデータ分布記憶部１２０は、その値を予め記憶しておいてもよい。
【００６４】
（２）式に従った期待値計算は、ｊ番目の属性に対応する属性値の種類に関わらず事前に計算可能であるため、期待値計算処理部１３０ｂまたはデータ分布記憶部１２０は、その値を予め記憶しておいてもよい。
【００６５】
期待値の計算に関して、ｊ番目の属性に対応する属性値が離散値をとり、ｇj（ｘ1j，ｘ2j）としてハミング距離を利用し、ｐjとして多項分布を利用する場合について説明すると、（１）式として（３）式を用いることが可能であり、（２）式として（４）式を用いることが可能である。
【００６６】
ただし、（３）式において、ｘ1jはｊ番目の属性に対応する属性値が取り得る離散値のうちのｋ番目の離散値をとるとし、ｐkjはｊ番目の属性に対応する属性値としてｋ番目の離散値が出現する確率を表すとする。
【００６７】
【数３】
2010152692.tif 000005
【００６８】
【数４】
2010152692.tif 000006
【００６９】
属性間類似度計算処理部１３０ａは、ｊ番目の属性について、属性間類似度、または、属性間類似度の期待値を得ると、残りの属性があるか確認し、残りの属性がある場合には、計算の対象となる属性を更新して、処理をステップＡ２に戻し、残りの属性がなければ、処理をステップＡ７に進める（ステップＡ６）。
【００７０】
ステップＡ７では、類似度統合処理部１４０ａは、ステップＡ２からステップＡ６で計算された各属性に関する属性間類似度あるいはその期待値を統合することによって、第１および第２のデータ間の類似度を計算する。
【００７１】
本実施形態では、類似度統合処理部１４０ａは、ステップＡ２からステップＡ６で計算された、各属性に関する属性間類似度あるいはその期待値をｓjとすると、（５）式に従って、第１および第２のデータ間の類似度を、ｓjに関する任意の関数として定義することが可能である。
【００７２】
【数５】
2010152692.tif 000007
【００７３】
ただし、ｆは任意の関数、ｄはｘ1およびｘ2が有する属性の数である。
【００７４】
ｆの具体的な例としては、各属性の属性間類似度の和である（６）式が挙げられる。
【００７５】
【数６】
2010152692.tif 000008
【００７６】
また、ｓjに関する任意の非線形関数をｆとして利用することが可能である。
【００７７】
出力処理部１４０ｂは、ステップＡ７で計算されたデータ間類似度を出力する（ステップＡ８）。
【００７８】
次に、本実施形態の効果を説明する。
【００７９】
本実施形態によれば、計算部１３０は、属性値が第１および第２のデータの両方に存在する属性については、その属性に対応する属性値同士の類似度を計算し、属性値が少なくとも第１および第２のデータの一方に存在しない属性については、データ分布記憶部１２０内の分布情報を用いて、その属性に対応する属性値同士の類似度の期待値を計算する。
【００８０】
計算部１４０は、計算部１３０にて計算された類似度および類似度の期待値に基づいて、第１および第２のデータの類似度を計算する。
【００８１】
このため、類似度が計算される２つのデータの一方あるいは両方に欠損値がある場合であっても、その欠損している属性値の取りうる値の分布を利用して、その属性に関する属性間類似度の期待値を計算し、その期待値を利用して、第１および第２のデータの類似度が計算される。
【００８２】
よって、類似度が計算される２つのデータの一方あるいは両方に欠損値がある場合であっても、信頼性の高いデータ間類似度を計算することが可能となる。
【００８３】
また、本実施形態では、計算部１４０は、計算部１３０にて計算された類似度および類似度の期待値を加算し、その加算結果を、第１および第２のデータの類似度とする。
【００８４】
この場合、第１および第２のデータの類似度を容易に計算することができる。
【００８５】
（第２の実施の形態）
次に、本発明の第２の実施の形態の類似度計算装置２００を説明する。
【００８６】
図５は、類似度計算装置２００を示したブロック図である。図５において、図１に示したものと同一のものには同一符号を付してある。
【００８７】
類似度計算装置２００は、図１に示す類似度計算装置１００の構成に加え、分布を学習するためのデータを入力する入力処理部２１０と、データの分布を学習するためのデータ分布学習処理部２２０と、を含む。
【００８８】
入力処理部２１０は、一般的に学習用データ受付手段と呼ぶことができる。
【００８９】
入力処理部２１０は、各属性に１対１で関連づけられた各領域に、その領域に関連づけられた属性に対応する属性値が記載されているかまたはその属性値が記載されていない複数の学習用データを受け付ける。
【００９０】
データ分布学習処理部２２０は、一般的に処理手段と呼ぶことができる。
【００９１】
データ分布学習処理部２２０は、入力処理部２１０が受け付けた複数の学習用データに基づいて、属性ごとに分布情報を生成し、その分布情報をデータ分布記憶部１２０に記憶する。
【００９２】
類似度計算装置２００は、入力処理部２１０とデータ分布学習処理部２２０とを含むため、必ずしも予め分布情報を記憶しておく必要がなく、データの分布が事前に計算可能な場合には、分布を学習するためのデータ（学習用データ）を入力し、そのデータから分布を計算、学習して記憶しておくことが可能となる。
【００９３】
類似度計算装置２００の動作は、図４に示す類似度計算装置１００の動作とほぼ同様であるが、期待値計算処理部１３０ｂが単一属性の属性間類似度の期待値を計算するステップＡ５のみが異なる。
【００９４】
類似度計算装置１００では、単一属性の属性間類似度の期待値を計算する際、予め記憶されていた分布情報を利用したが、類似度計算装置２００では、図６に示す動作で記憶した分布情報を利用して単一属性の属性間類似度の期待値を計算することができる。
【００９５】
図６を参照すると、まず、入力処理部２１０が、複数の学習用データを受け付ける（ステップＢ１）。
【００９６】
データ分布学習処理部２２０は、複数の学習用データに基づいて、属性ごとに、分布情報を計算する。この際、計算される分布は、例えば、離散値における多項分布などであるが、連続値などで分布を計算できないものについては、類似度計算装置１００と同様に、予めデータ分布記憶部１２０に記憶しておくことで対応可能である（ステップＢ２）。
【００９７】
ステップＢ２の処理は、全属性に対して行われる。
【００９８】
データ分布学習処理部２２０は、全属性について計算された分布情報をデータ分布記憶部１２０に記憶する（ステップＢ３）。
【００９９】
本実施形態では、データ分布学習処理部２２０は、入力処理部２１０が受け付けた複数の学習用データに基づいて、属性ごとに分布情報を生成し、その分布情報をデータ分布記憶部１２０に記憶する。
【０１００】
このため、必ずしも予め分布情報を記憶しておく必要がなく、分布情報を事前に計算可能な場合には、学習用データを用いて分布情報を計算、学習して記憶しておくことが可能となる。
【０１０１】
上記各実施形態は、自動車の複数センサから収集される複数の属性値を持つデータ同士の類似度を計算する際、あるいは、様々な入力属性を利用する市場予測や金融関連の予測システム、更には様々なコンピュータ関連機器の状態類似度計算など、様々な用途に適用可能である。
【０１０２】
なお、類似度計算装置１００および２００は、専用のハードウェアにより実現されるもの以外に、入力処理部１１０、データ分布記憶部１２０、計算部１３０および計算部１４０、入力処理部２１０、および、データ分布学習処理部２２０の各機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。
【０１０３】
コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。
【０１０４】
さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【０１０５】
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施の形態の類似度計算装置１００を示したブロック図である。
【図２】第１のデータの一例を示した説明図である。
【図３】第２のデータの一例を示した説明図である。
【図４】類似度計算装置１００の動作を説明するためのフローチャートである。
【図５】類似度計算装置２００を示したブロック図である。
【図６】類似度計算装置２００の動作の一部を説明するためのフローチャートである。
【符号の説明】
【０１０７】
１００      類似度計算装置
１１０      入力処理装置
１２０      データ分布記憶装置
１３０      計算部
１３０ａ    属性間類似度計算処理部
１３０ｂ    期待値計算処理部
１４０      計算部
１４０ａ    類似度統合処理部
１４０ｂ    出力処理部
２００      類似度計算装置
２１０      入力処理部
２２０      データ分布学習処理部
【図１】
2010152692.tif 000009
【図２】
2010152692.tif 000010
【図３】
2010152692.tif 000011
【図４】
2010152692.tif 000012
【図５】
2010152692.tif 000013
【図６】
2010152692.tif 000014