(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】登録装置、登録方法、および登録プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20231213BHJP
【FI】
G06F16/90
(21)【出願番号】P 2020158316
(22)【出願日】2020-09-23
【審査請求日】2023-01-25
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】レイ ミャオメイ
(72)【発明者】
【氏名】中村 宝弘
(72)【発明者】
【氏名】鈴木 大介
(72)【発明者】
【氏名】竹本 享史
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2020-086662(JP,A)
【文献】特開2013-161455(JP,A)
【文献】特開2003-016465(JP,A)
【文献】特開2020-013413(JP,A)
【文献】特開2019-200737(JP,A)
【文献】特開2002-312803(JP,A)
【文献】松林 達史、外3名,HTML5を用いたストリーミングデータのグラフ可視化,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2012年06月14日,第112巻,第94号,p.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する登録装置であって、
各々複数の要素を有する第1特徴ベクトルを示す第1ノードの集合と、2つの第1特徴ベクトルに基づいて前記2つの第1特徴ベクトルを示す2つの第1ノード間を接続する第1エッジと、により構成されるネットワークにアクセス可能であり、
前記プロセッサは、
第2特徴ベクトルを取得する取得処理と、
前記第1特徴ベクトルの集合内の前記第1特徴ベクトルよりも少ない第3特徴ベクトルの集合における前記第3特徴ベクトル同士の類似関係に基づいて、前記取得処理によって取得された第2特徴ベクトルを示す第2ノードを前記ネットワークに登録し、前記第2ノードと前記第3特徴ベクトルを示す第3ノードとを第2エッジで接続する登録処理と、
を実行することを特徴とする登録装置。
【請求項2】
請求項1に記載の登録装置であって、
前記プロセッサは、
前記第3特徴ベクトルの集合から所定の類似条件を充足する特定の第3特徴ベクトルからなる第1類似グループが存在するか否かを判定する判定処理と、
前記判定処理によって前記第1類似グループが存在すると判定された場合、前記第1類似グループ内の前記特定の第3特徴ベクトルに基づく前記ネットワーク内の位置を、前記第2ノードの登録先に決定する決定処理と、を実行し、
前記登録処理では、前記プロセッサは、前記決定処理によって決定された登録先に前記第2ノードを登録し、前記第2ノードと前記特定の第3特徴ベクトルを示す特定の第3ノードとを前記第2エッジで接続する、
ことを特徴とする登録装置。
【請求項3】
請求項2に記載の登録装置であって、
前記ネットワーク内の前記第1特徴ベクトル同士の相関関係を示す第1相関関係データにアクセス可能であり、
前記プロセッサは、
前記第2特徴ベクトルと前記第3特徴ベクトルの各々との相関関係および前記第3特徴ベクトル同士の相関関係を示す第2相関関係データを算出する相関関係データ算出処理を実行し、
前記決定処理では、前記プロセッサは、前記判定処理によって前記第1類似グループが存在しないと判定された場合、前記相関関係データ算出処理によって算出された第2相関関係データと同サイズの第3相関関係データを前記第1相関関係データから抽出する抽出処理と、
前記第2相関関係データと、前記抽出処理によって抽出された第3相関関係データと、の類似度を算出する類似度算出処理と、
前記類似度算出処理によって算出された類似度に基づいて、前記第3相関関係データの算出元となる特定の第1特徴ベクトルからなる第2類似グループを前記第1相関関係データから特定する特定処理と、を実行し、
前記決定処理では、前記プロセッサは、前記第2類似グループ内の前記特定の第1特徴ベクトルに基づく前記ネットワーク内の位置を、前記第2ノードの登録先に決定し、
前記登録処理では、前記プロセッサは、前記決定処理によって決定された登録先に前記第2ノードを登録し、前記第2ノードと前記特定の第1特徴ベクトルを示す特定の第1ノードとを前記第2エッジで接続する、
ことを特徴とする登録装置。
【請求項4】
請求項1に記載の登録装置であって、
前記第1特徴ベクトルごとに前記第1特徴ベクトルに対応する属性データにアクセス可能であり、
前記プロセッサは、
前記ネットワーク内の前記第2ノードを含む範囲内に存在する前記第1ノードが示す前記第1特徴ベクトルに対応する属性データに基づいて、前記第2特徴ベクトルに対応する属性を予測する予測処理を実行することを特徴とする登録装置。
【請求項5】
請求項1に記載の登録装置であって、
前記プロセッサは、
前記ネットワークを生成する生成処理を実行し、
前記登録処理では、前記プロセッサは、前記第3特徴ベクトル同士の類似関係に基づいて、前記第2特徴ベクトルを示す第2ノードを前記生成処理によって生成されたネットワークに登録し、前記第2ノードと前記第3ノードとを第2エッジで接続する、
ことを特徴とする登録装置。
【請求項6】
請求項1に記載の登録装置であって、
前記第1特徴ベクトルは、前記第1ノードとして前記ネットワークに登録された個人の生体の特徴を示すベクトルであり、
前記第2特徴ベクトルは、前記ネットワークに未登録な個人の生体の特徴を示すベクトルである、
ことを特徴とする登録装置。
【請求項7】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する登録装置が実行する登録方法であって、
各々複数の要素を有する第1特徴ベクトルを示す第1ノードの集合と、2つの第1特徴ベクトルに基づいて前記2つの第1特徴ベクトルを示す2つの第1ノード間を接続する第1エッジと、により構成されるネットワークにアクセス可能であり、
前記登録方法は、
前記プロセッサが、
第2特徴ベクトルを取得する取得処理と、
前記第1特徴ベクトルの集合内の前記第1特徴ベクトルよりも少ない第3特徴ベクトルの集合における前記第3特徴ベクトル同士の類似関係に基づいて、前記取得処理によって取得された第2特徴ベクトルを示す第2ノードを前記ネットワークに登録し、前記第2ノードと前記第3特徴ベクトルを示す第3ノードとを第2エッジで接続する登録処理と、
を実行することを特徴とする登録方法。
【請求項8】
各々複数の要素を有する第1特徴ベクトルを示す第1ノードの集合と、2つの第1特徴ベクトルに基づいて前記2つの第1特徴ベクトルを示す2つの第1ノード間を接続する第1エッジと、により構成されるネットワークにアクセス可能なプロセッサに、
第2特徴ベクトルを取得する取得処理と、
前記第1特徴ベクトルの集合内の前記第1特徴ベクトルよりも少ない第3特徴ベクトルの集合における前記第3特徴ベクトル同士の類似関係に基づいて、前記取得処理によって取得された第2特徴ベクトルを示す第2ノードを前記ネットワークに登録し、前記第2ノードと前記第3特徴ベクトルを示す第3ノードとを第2エッジで接続する登録処理と、
を実行させることを特徴とする登録プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを登録する登録装置、登録方法、および登録プログラムに関する。
【背景技術】
【0002】
特許文献1は、力学モデルを用いて、自然言語分析の対象となる学習データの相関関係を可視化する学習データ精度可視化システムを開示する。この学習データ精度可視化システムは、所定の表示を行う表示部と、力学モデルを用いて、自然言語分析の対象となる学習データについてノードの最適配置を算出するノード最適配置算出処理部と、ノード最適配置算出処理部による算出結果に基づいて上記学習データを可視化して表示部に表示するよう制御する表示制御部とを備える。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した特許文献1では、随時データを更新するという特徴を持つコホートデータに対して、クラスタリングする時に一から計算し直す必要があり、計算時間が長期化する。
【0005】
本発明は、ネットワーク更新時の計算時間の短縮化を図ることを目的とする。
【課題を解決するための手段】
【0006】
本願において開示される発明の一側面となる登録装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する登録装置であって、各々複数の要素を有する第1特徴ベクトルを示す第1ノードの集合と、2つの第1特徴ベクトルに基づいて前記2つの第1特徴ベクトルを示す2つの第1ノード間を接続する第1エッジと、により構成されるネットワークにアクセス可能であり、前記プロセッサは、第2特徴ベクトルを取得する取得処理と、前記第1特徴ベクトルの集合内の前記第1特徴ベクトルよりも少ない第3特徴ベクトルの集合における前記第3特徴ベクトル同士の類似関係に基づいて、前記取得処理によって取得された第2特徴ベクトルを示す第2ノードを前記ネットワークに登録し、前記第2ノードと前記第3特徴ベクトルを示す第3ノードとを第2エッジで接続する登録処理と、を実行することを特徴とする。
【発明の効果】
【0007】
本発明の代表的な実施の形態によれば、ネットワーク更新時の計算時間の短縮化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、登録装置による力学モデルに基づくネットワーク更新例を示す説明図である。
【
図2】
図2は、登録装置のハードウェア構成例を示すブロック図である。
【
図3】
図3は、生体DB(データベース)の一例を示す説明図である。
【
図4】
図4は、個人DBの一例を示す説明図である。
【
図5】
図5は、特徴ベクトル集合の一例を示す説明図である。
【
図6】
図6は、相関行列の一例を示す説明図である。
【
図7】
図7は、登録装置の機能的構成例を示すブロック図である。
【
図8】
図8は、生成部による生成処理手順例を示すフローチャートである。
【
図9】
図9は、前処理部による前処理の詳細な処理手順例を示すフローチャートである。
【
図10】
図10は、種類選択(ステップS901)における種類選択画面の一例を示す説明図である。
【
図11】
図11は、前処理形式選択(ステップS902)における前処理形式選択画面の一例を示す説明図である。
【
図12】
図12は、特徴ベクトル生成部による特徴ベクトル生成処理の詳細な処理手順例を示すフローチャートである。
【
図13】
図13は、ネットワーク生成部によるネットワーク生成処理の詳細な処理手順例を示すフローチャートである。
【
図14】
図14は、更新部による更新処理手順例を示すフローチャートである。
【
図15】
図15は、
図14に示した登録処理(ステップS1403)の詳細な処理手順例を示すフローチャートである。
【
図16】
図16は、上三角行列の抽出例1を示す説明図である。
【
図17】
図17は、上三角行列の抽出例2を示す説明図である。
【
図18】
図18は、
図14に示した予測処理(ステップS1404)の詳細な処理手順例を示すフローチャートである。
【
図19】
図19は、出力属性選択画面の一例を示す説明図である。
【
図20】
図20は、ステップS1805の結果画面の一例を示す説明図である。
【発明を実施するための形態】
【0009】
<ネットワーク更新例>
図1は、登録装置による力学モデルに基づくネットワーク更新例を示す説明図である。力学モデルに基づくネットワーク101,102は、複数のノードと、ノード間を接続するエッジと、により構成される。ここで、ノードは、個人の属性、たとえば、当該個人が持つ腸内細菌叢を構成する腸内細菌の種類や数、当該個人の食事データ(たとえば、いつ何をどのくらい飲食したか)、基礎データ(たとえば、身長、体重、体脂肪率など)、生活習慣データ(たとえば、1週間当たりの飲酒量、喫煙量など)から得られる特徴量を要素とする特徴ベクトルを示す。
【0010】
エッジは、その両端のノードとの類似度を示す。たとえば、エッジが短いほど両端のノードで特定される個人の属性は類似することを示す。なお、ノードには、当該ノードが有する個人の属性(ベクトルの要素)によって特定される多様性レベルが対応付けられてもよい。多様性レベルとは、腸内細菌の種類数を示す指標値である。腸内細菌の種類数が多いほど多様性レベルは高い。
【0011】
(A)は、既存ノードにより構成されるネットワーク101を示す。(B)は、ネットワーク101に新規ノード110を追加した更新後のネットワーク102を示す。登録装置は、ネットワーク101に新規ノード110を追加する際、ネットワーク102を生成せずに、ネットワーク101に新規ノード110を登録することにより、ネットワーク102に更新する。新規ノード110の登録位置は、新規ノード110の属性とネットワーク101を構成するノードの属性との相関性に依存する。これにより、ネットワーク102を一から生成する場合に比べて、計算負荷の低減を図ることができ、計算時間の短縮化を図ることができる。
【0012】
また、円120は、新規ノード110を中心とする一定の範囲である。登録装置は、円120の範囲内の既存ノードの属性に基づいて、新規ノード110の個人について、様々な予測を行うことが可能になる。
【0013】
<ハードウェア構成例>
図2は、登録装置のハードウェア構成例を示すブロック図である。登録装置200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インターフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、登録装置200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF205は、ネットワークと接続し、データを送受信する。
【0014】
なお、登録装置200は、スタンドアロン型またはクライアントサーバ型のいずれでも実装可能である。クライアントサーバ型の場合、登録装置200は、サーバとして機能し、クライアントからの各種入力を受け付け、クライアントにデータを出力することになる。
【0015】
<各種データ構成>
つぎに、
図3~
図6を用いて、登録装置200が用いる各種データ構成について説明する。
図3~
図6に示すデータ構成は、具体的には、たとえば、登録装置200の記憶デバイス202または登録装置200がアクセス可能なコンピュータの記憶デバイス202に記憶される。
【0016】
図3は、生体DB(データベース)の一例を示す説明図である。生体DB300は、記憶デバイス202に記憶される。生体DB300は、フィールドとして、たとえば、個人ID301と、腸内細菌叢302と、食事データ303と、基礎データ304と、生活習慣データ305と、を有する。同一行における各フィールドの値の組み合わせは、各個人の生体データO1~On(これらを区別しない場合は、単に生体データOと表記)を示すエントリとなる。生体データO1~Onは、たとえば、定期健診のようなあるタイミングで各個人U1~Unから取得されたコホートデータである。
【0017】
個人ID301は、個人を一意に特定する識別情報である。腸内細菌叢302は、複数の腸内細菌302-1、302-2、…(これらを区別しない場合、腸内細菌302-xと表記)を含む。腸内細菌302-xの値は、その腸内細菌の菌数(または菌の有無でもよい)を示す。たとえば、個人ID301が「U1」の腸内細菌302-1(腸内細菌B1)の菌数は、「b1(1)」であり、腸内細菌302-2(腸内細菌B2)の菌数は、「b2(1)」である。
【0018】
食事データ303は、たとえば、その個人がいつ何をどのくらい飲食したかを示すデータである。基礎データ304は、たとえば、その個人の身長、体重、体脂肪率などの基礎的なデータである。生活習慣データ305は、たとえば、その個人の1週間当たりの飲酒量、喫煙量などを示すデータである。
【0019】
図4は、個人DBの一例を示す説明図である。個人DB400は、フィールドとして、個人ID301と、年齢401と、性別402と、腸内細菌叢情報403と、病歴情報404と、食事情報405と、を有する。同一行における各フィールドの値の組み合わせは、各個人の属性を示すエントリとなる。年齢401は、その個人が生誕してから現在までの年数である。性別402は、男女の区別を示す。
【0020】
腸内細菌叢情報403は、その個人の腸内細菌叢を示す情報である。具体的には、たとえば、腸内細菌叢情報403は、生体DB300から逐次取得された腸内細菌叢302の各腸内細菌302-xの菌数の累積値でもよく、最新の腸内細菌叢302でもよい。病歴情報404は、その個人の過去の疾病を示す情報である。食事情報405は、その個人が何をどの程度飲食するかを示すデータである。具体的には、たとえば、食事情報405は、生体DB300から逐次取得された食事データに含まれている食材の摂取量の単位期間あたりの平均値である。
【0021】
図5は、特徴ベクトル集合の一例を示す説明図である。特徴ベクトル集合500は、各個人の特徴ベクトルV1~Vn(これらを区別しない場合は、単に特徴ベクトルVと表記)の集合である。特徴ベクトルVは、生体DB300から得られた個人の属性の一部または全部を正則化した要素v1~vdからなるd(dは1以上の整数)次元の要素列である。たとえば、登録装置200は、生体DB300の全属性について特徴ベクトル集合500を生成してもよく、生体DB300のうち腸内細菌叢302について特徴ベクトル集合500を生成してもよい。
【0022】
図6は、相関行列の一例を示す説明図である。相関行列600は、登録装置200によって算出される2人の個人間の相関関係の集合であり、n行n列の行列になる。相関関係は、2人の個人の特徴ベクトルから得られる相関係数でもよく、ユークリッド距離でもよく、コサイン類似度でもよい。
【0023】
<登録装置200の機能的構成例>
図7は、登録装置200の機能的構成例を示すブロック図である。登録装置200は、生成部701と、更新部702と、により構成される。生成部701は、ネットワーク101を生成する。具体的には、たとえば、生成部701は、前処理部711と、特徴ベクトル生成部712と、ネットワーク生成部713と、を有する。更新部702は、前処理部711と、特徴ベクトル生成部712と、登録部721と、予測部722と、を有する。これらは、具体的には、たとえば、
図2に示した記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。まず、生成部701について説明する。
【0024】
前処理部711は、生成部701において、生体DB300を入力し、前処理を実行する。前処理部711は、生体DB300の生体データO1~Onをフィールドの属性で絞り込む。たとえば、前処理部711が、生体DB300の生体データO1~Onから腸内細菌叢302の値を抽出すれば、腸内細菌叢302に関するネットワーク101が生成され、生活習慣データ305の値を抽出すれば、生活習慣に関するネットワーク101が生成され、腸内細菌叢302の値および生活習慣データ305の値を抽出すれば、腸内細菌叢および生活習慣に関するネットワーク101が生成され、腸内細菌叢の一部の腸内細菌群の各値を抽出すれば、当該一部の腸内細菌群に関するネットワーク101が生成される。どのフィールドの属性をいくつ適用するかは、ユーザが指定してもよく、あらかじめ登録装置200に設定されていてもよい。
【0025】
特徴ベクトル生成部712は、前処理部711から出力される前処理後の生体DB300の生体データO1~Onから特徴ベクトルV1~Vnを生成する。生体データO1~Onの各要素の単位は異なるため、特徴ベクトル生成部712は、これら要素を正則化して、特徴ベクトルV1~Vnを生成する。
【0026】
ネットワーク生成部713は、特徴ベクトル集合500からネットワーク101を生成し、ネットワークDB720に格納する。具体的には、たとえば、ネットワーク生成部713は、特徴ベクトル集合500を用いて相関行列600を算出し、保持しておく。また、ネットワーク生成部713は、下記式(1)により、特徴ベクトルViごとに、特徴ベクトルVj(i≠j)との類似度S(Vi,Vj)を算出する。
【0027】
【0028】
上記式(1)中、miは、特徴ベクトルVi内の要素の平均値であり、mjは、特徴ベクトルVj内の要素の平均値である。上記式(1)の場合、類似度S(Vi,Vj)の値が小さいほど、特徴ベクトルVi,Vjは類似する。そして、ネットワーク生成部713は、特徴空間において、登録装置200で定義された既知の力学モデルにしたがい、類似度S(Vi,Vj)に基づいてノードを特徴空間に配置し、エッジで接続することで、ネットワーク101を生成する。
【0029】
なお、ネットワーク101の各ノードには、個人ID301が含まれる。したがって、ネットワーク101が表示され、ノードが指定されると、指定されたノードの個人ID301に対応する個人DB400のエントリが、個人DB400から読み出され、表示される。この場合、登録装置200は、
図1に示したように、生体DB300の腸内細菌叢302を参照して、ノードごとに多様性レベルが視認できるように多様性レベルごとに異なる色で表示してもよい。
【0030】
なお、本実施例では、ネットワーク生成部713がネットワーク101を生成することとしたが、登録装置200は、外部のコンピュータからネットワーク101を取得してもよい。つぎに、更新部702について説明する。
【0031】
前処理部711は、更新部702において、新規の個人の生体データOAを入力し、前処理を実行する。生体データOAは、生体データO1~Onと同じフィールドの値の組み合わせとなる。前処理部711は、生体データOAをフィールドの属性で絞り込む。絞込み可能な属性は、すでに、生成部701において絞り込まれた属性となる。たとえば、腸内細菌叢について絞り込まれている場合、前処理部711は、生体データOAから腸内細菌叢302の値を抽出することが可能である。どのフィールドの属性を適用するかは、ユーザによって決定される。
【0032】
特徴ベクトル生成部712は、前処理部711から出力される前処理後の生体データOAから特徴ベクトルVaを生成する。前処理後の生体データOAの各要素の単位は異なるため、特徴ベクトル生成部712は、これら要素を正則化して、特徴ベクトルVaを生成する。
【0033】
登録部721は、相関行列600を用いて、特徴ベクトル生成部712によって生成された新規の個人の特徴ベクトルVaをネットワーク101に登録し、ネットワーク102に更新する。登録部721による登録処理の詳細は、
図13で後述する。この登録部721による登録処理により、従来技術で示したような、既存ノード群および新規ノードによるネットワーク102の再生成が回避される。したがって、計算負荷の低減を図ることができ、計算時間の短縮化を図ることができる。
【0034】
予測部722は、更新後のネットワーク102について、個人DB400を参照して、新規の個人の状態を予測する。具体的には、たとえば、予測部722は、
図1の(B)に示したように、新規の個人の新規ノード110を中心とする円120の範囲内のノードに対応する個人のエントリを個人DB400から読み出し、読み出した個人のエントリを統計処理することにより、新規の個人の状態を予測する。
【0035】
<生成処理手順>
図8は、生成部701による生成処理手順例を示すフローチャートである。まず、生成部701は、前処理部711による前処理(ステップS801)と、特徴ベクトル生成部712による特徴ベクトル生成処理(ステップS802)と、を実行することにより、特徴ベクトルVを取得する。また、生成部701は、ネットワーク生成部713によるネットワーク生成処理(ステップS803)を実行することにより、ネットワーク101を生成し、ネットワークDB720に格納する。
【0036】
図9は、前処理部711による前処理の詳細な処理手順例を示すフローチャートである。前処理部711は、前処理対象となるデータの種類を選択し(ステップS901)、種類が選択された生体データOについての前処理形式を選択し(ステップS902)、ステップS901,S902で選択された内容で生体データOの絞込みを実行する(ステップS903)。
【0037】
図10は、種類選択(ステップS901)における種類選択画面の一例を示す説明図である。種類選択画面1000は、例として、種類選択ラジオボタン1001~1004と、実行ボタン1005と、を有する。
図10では、種類選択ラジオボタン1001で腸内細菌叢が選択されている。したがって、実行ボタン1005の押下により、前処理部711は、生体DB300の生体データO1~Onから腸内細菌叢302の値を抽出する。なお、ユーザは、種類選択ラジオボタン1001~1004のうち少なくとも1つを選択可能である。
【0038】
図11は、前処理形式選択(ステップS902)における前処理形式選択画面の一例を示す説明図である。
図11では、種類選択画面1000で腸内細菌叢が選択された場合に表示される前処理形式選択画面1100を示す。前処理形式選択画面1100は、菌種選択領域1101と、データ形式選択領域1102と、実行ボタン1103と、を有する。
【0039】
菌種選択領域1101は、第1菌種選択ラジオボタン1111と、第2菌種選択ラジオボタン1112と、第3菌種選択ラジオボタン1113と、を有する。第1菌種選択ラジオボタン1111は、すべての菌種(B1、B2、…)を選択するためのラジオボタンである。第2菌種選択ラジオボタン1112は、存在率上位N番目までの菌種を選択するためのラジオボタンである。存在率とは、各個人に菌種がどのくらい存在しているかを示す指標値であり、分母が菌種の総数で、分子が各個人が保有する菌種の数である。
【0040】
第3菌種選択ラジオボタン1113は、特定の菌種を選択するためのラジオボタンである。特定の菌種は、あらかじめ設定されていてもよく、第3菌種選択ラジオボタン1113の選択時に、特定の菌種の一覧が表示された選択画面(不図示)から選択可能としてもよい。
【0041】
データ形式選択領域1102は、第1データ形式選択ラジオボタン1121と、第2データ形式選択ラジオボタン1122と、を有する。第1データ形式選択ラジオボタン1121は、生体データOを割合のログに変換するためのラジオボタンである。割合のログとは、各個人について、保有する菌種が選択菌種のうちどの程度かを示す指標値である。具体的には、たとえば、選択菌種数を腸内細菌B1~B100の100個とすると、ある個人について、保有している腸内細菌はそれぞれ1%、保有していない腸内細菌はそれぞれ0%となる。
【0042】
第2データ形式選択ラジオボタン1122は、生体データを菌種同士の比のログに変換するためのラジオボタンである。菌種同士の比のログとは、菌種ごとの数量で比較した割合である。具体的には、たとえば、ある個人について、選択菌種数を腸内細菌B1~B100の総菌数をXとし、腸内細菌B1~B100の各々の菌数をx1~x100とすると、菌種同士の比のログは、腸内細菌B1はx1/X、腸内細菌B2はx2/X、…、腸内細菌B100はx100/Xとなる。
【0043】
実行ボタン1103は、押下により、
図10および
図11の選択結果にしたがって、生体データ01~Onの絞り込みを実行するためのボタンである。
【0044】
図12は、特徴ベクトル生成部712による特徴ベクトル生成処理の詳細な処理手順例を示すフローチャートである。特徴ベクトル生成部712は、前処理(ステップS801)後の生体データOを取得する(ステップS1201)。つぎに、特徴ベクトル生成部712は、取得した前処理(ステップS801)後の生体データOを正則化する(ステップS1202)。これにより、特徴ベクトルV1~Vnが生成される。
【0045】
図13は、ネットワーク生成部713によるネットワーク生成処理の詳細な処理手順例を示すフローチャートである。ネットワーク生成部713は、特徴ベクトル集合500を取得し(ステップS1301)、未選択の特徴ベクトルがあるか否かを判断する(ステップS1302)。未選択の特徴ベクトルがある場合(ステップS1302:Yes)、ネットワーク生成部713は、未選択の特徴ベクトルを1つ選択する(ステップS1303)。
【0046】
ネットワーク生成部713は、力学モデルに基づいて他の特徴ベクトルVjの各々から選択特徴ベクトルViへの力の値を算出して(ステップS1304)、ステップS1302に戻る。力の値は、たとえば、選択特徴ベクトルViと他の特徴ベクトルVjとの間に働く引力faと斥力frとの和に相当する値である。引力faは下記式(2)、斥力frは下記式(3)により算出される。
【0047】
【0048】
式(2)、(3)において、||Vi-Vj||は、ViとVjの2-ノルム(距離)である。また、C、kは調節できるパラメータであり、計算前に予め定められた定数である。
【0049】
引力faは、ViとVjと間の類似度S(Vi、Vj)に基づき、それに比例するように定義されている。引力faは、ViとVjと間の距離に基づき、距離が大きい程強い。
【0050】
ViとVjと間の斥力frは、ViとVjと間の距離に基づき、距離が小さい程強い。斥力frがRiとRjと間の距離の逆数に基づくことで、RiとRjの衝突を避けることができる。特徴空間における一つの特徴ベクトルViに対して、特徴空間に存在する他のすべての特徴ベクトルVjからの力が加えられる。特徴空間におけるすべての特徴ベクトルペアにおいて、引力faおよび斥力frが働く。
【0051】
また、ステップS1304において、ネットワーク生成部713は、特徴空間のエネルギを計算する。上述のように定義される引力faおよび斥力frの合計によって、選択特徴ベクトルViに働く力f(Vi)は、式(4)によって表される。
【0052】
【0053】
上記式(4)において、和は、Vi以外のすべてのVjについて計算される。またv(vj,Vi)、は、ViからにVjに向かう単位ベクトルであり、下記式(5)によって定義される。
【0054】
【0055】
合計の力f(Vi)を用いて、特徴空間における全体のポテンシャルエネルギEは、下記式(6)によって定義できる。
【0056】
【0057】
式(6)において、和は、すべての特徴ベクトルVについて計算され、||f(Vi)||はベクトルf(Vi)の大きさを示す。上記式(6)が示すように、特徴ベクトルViの合計の力f(Vi)の絶対値からポテンシャルエネルギEが決定され、力の絶対値の総和は、ポテンシャルエネルギEを表す。
【0058】
そして、未選択の特徴ベクトルがない場合(ステップS1302:No)、ネットワーク生成部713は、選択特徴ベクトルViを修正して(ステップS1305)、ステップS1302に戻る。具体的には、たとえば、ネットワーク生成部713は、ネットワーク101を配置する特徴空間において選択特徴ベクトルViを示すノードが他の特徴ベクトルVjを示すノードと重複しないように、選択特徴ベクトルViを、その引力および斥力に応じて修正する。全特徴ベクトルVに基づくエネルギーは、引力および斥力に比例するが、今回のエネルギーと直前のエネルギーとの差が大きいほど、選択特徴ベクトルViが示すノードは特徴空間において大きく移動し、差が小さいほど小さく移動する。
【0059】
具体的には、たとえば、ネットワーク生成部713は、選択特徴ベクトルViの配置位置を下記式(7)を用いて修正する。
【0060】
【0061】
上記式(7)において、stepは修正の幅を調整するパラメータであり、本例において予め定められた定数である。特徴ベクトルVは、特徴空間における位置(座標)を示すため、特徴ベクトルVの修正は、特徴ベクトルVの位置を修正することを意味する。上記式(7)は、特徴ベクトルVの修正の一例であって、他の数式に従って特徴ベクトルが修正されてもよい。特徴ベクトルVの修正量は、特徴ベクトルVに加えられている力の絶対値に比例してもよい。
【0062】
そして、ステップS1302において未選択の特徴ベクトルVがない場合(ステップS1302:No)、ネットワーク生成部713は、各特徴ベクトルVが収束したか否かを判断する(ステップS1306)。具体的には、たとえば、今回のループによる修正後のすべての特徴ベクトルVを{Vi}とし、今回のループによる修正直前のすべての特徴ベクトルVを{Vi0}とする。ネットワーク生成部713は、{Vi0}と{Vi}とを比較し、その修正量に基づき、収束を判定する。
【0063】
たとえば、修正量は、Σ||Vi-Vi0||を用いて計算できる。修正量が所定の閾値より大きい場合、ネットワーク生成部713は、収束していないと判定し(ステップS1306:No)、ステップS1302に戻り、計算を続ける。一方、修正量が閾値以下である場合、ネットワーク生成部713は、特徴ベクトルVが収束したと判定する(ステップS1306:Yes)。
【0064】
このように、ネットワーク生成部713は、ポテンシャルエネルギEが、最小値から所定範囲内にあるように、特徴ベクトルVを再配置する。閾値は予め設定された0または正の数値であり、閾値0は、収束状態が最少ポテンシャルエネルギ(0)を有することを意味する。
【0065】
なお、修正量は、ポテンシャルエネルギE(力の絶対値の総和)によって表わされてもよい。ネットワーク生成部713は、修正前のポテンシャルエネルギEと修正後のポテンシャルエネルギEとの差異と、閾値と、を比較して、収束判定してもよい。また、ネットワーク生成部713は、ポテンシャルエネルギEが閾値以下となった場合に、収束と判定してもよい。
【0066】
収束した場合(ステップS1306:Yes)、ネットワーク生成部713は、特徴ベクトル集合500からなるネットワーク101を出力する(ステップS1307)。また、ネットワーク生成部713は、n人の既存個人間の相関を示す相関行列600(RNとする)を算出する(ステップS1308)。相関行列RNは、n行n列の行列で表現される。
【0067】
<更新処理手順>
図14は、更新部702による更新処理手順例を示すフローチャートである。まず、更新部702は、
図8と同様、前処理部711による前処理(ステップS1401)および特徴ベクトル生成部712による特徴ベクトル生成処理(ステップS1402)を実行することにより、特徴ベクトルVaを取得する。前処理(ステップS1401)は、前処理対象が新規の個人の生体データOAである点を除いて、前処理(ステップS801)と同じ処理である。特徴ベクトル生成処理(ステップS1402)も、生成対象が新規の個人の特徴ベクトルVaである点を除いて、特徴ベクトル生成処理(ステップS802)と同じ処理である。
【0068】
また、更新部702は、登録部721による新規ノードの登録処理(ステップS1403)を実行することによりネットワーク101に新規ノード110を追加する。また、更新部702は、予測部722による予測処理(ステップS1404)を実行することにより、新規ノード110の個人の状態を予測し、予測結果を出力する。
【0069】
<登録処理手順>
図15は、
図14に示した登録処理(ステップS1403)の詳細な処理手順例を示すフローチャートである。
図16は、上三角行列の抽出例1を示す説明図である。
図17は、上三角行列の抽出例2を示す説明図である。まず、登録部721は、K(≧1)回試行したか否かを判断する(ステップS1501)。K回試行していない場合(ステップS1501:No)、登録部721は、ランダムにp(<n)人の既存個人を選択する(ステップS1502)。これにより、n人を用いて再クラスタリングする場合に比べて、計算量がp/nになる。
【0070】
そして、新規の個人Aおよびp人の既存個人の相関行列R(PA)を算出する(ステップS1503)。相関行列R(PA)は、(p+1)行(p+1)列の行列で表現される。なお、ステップS1503は、ステップS1504:Noの後でステップS1505の前に実行されてもよい。
【0071】
つぎに、登録部721は、既存個人p人のグループGpに、所定の類似条件を充足するq(≦p)人のグループGqがあるか否かを判断する(ステップS1504)。pおよびqはあらかじめ設定される値である。具体的には、たとえば、登録部721は、上記式(1)を用いてグループGq内の既存個人間の類似度を総当たりで算出し、所定の類似条件として各類似度の差分の総和がしきい値以内であれば、グループGqの存在が確定する。
【0072】
グループGqの存在が確定すれば(ステップS1504:Yes)、ステップS1509に移行する。グループGqの存在が確定しなければ(ステップS1504:No)、登録部721は、
図16に示したように、ステップS1503で算出した相関行列R(PA)から上三角行列UTMAを抽出する(ステップS1505)。つぎに、登録部721は、
図17に示したように、ステップS1308で算出した相関行列RNの上三角行列UTMNから上三角行列UTMAと同サイズの上三角行列UTMBを1以上抽出する(ステップS1506)。
【0073】
そして、登録部721は、上三角行列UTMAと上三角行列UTMBの各々との類似度を算出する(ステップS1507)。この類似度は、たとえば、上三角行列UTMAと上三角行列UTMBとのユークリッド距離の逆数により規定される。登録部721は、最大類似度となる上三角行列UTMBの生成元のグループを特定し(ステップS1508)、ステップS1509に移行する。具体的には、たとえば、登録部721は、最大類似度となる上三角行列UTMB内の要素である相関値の元となる2人の個人を要素ごとに特定し、生成元のグループGrとする。
【0074】
ステップS1509では、登録部721は、当該グループGq、Grに基づいて新規の個人Aの登録先候補を決定する(ステップS1509)。具体的には、たとえば、登録部721は、グループGqが1つ以上確定していれば、グループGqの各々を新規の個人Aの登録先候補に決定し、グループGrが特定されれば、グループGrを新規の個人Aの登録先候補に決定する。そして、ステップS1501に戻る。
【0075】
ステップS1501において、K回試行した場合(ステップS1501:Yes)、登録部721は、登録先候補から登録先を決定する(ステップS1511)。具体的には、たとえば、K回の試行の各々の試行では、グループGpのメンバは異なる。したがって、登録部721は、メンバが同一となるグループGpについて、グループGqのグループ数とグループGrのグループ数を集計する。そして、多い方のグループ数のグループGq、Grの中から登録先を決定する。
【0076】
たとえば、グループGqのグループ数が「5」、グループGrのグループ数が「3」であれば、グループGqである5つのグループ(Gq1~Gq5とする。メンバ数はGq1が最小でGq5が最大とする。)から登録先が決まる。この場合、登録部721は、グループGq1~Gq5からランダムに1つを登録先に決定してもよく、メンバ数qが最大であるグループGq5を登録先に決定してもよい。
【0077】
また、グループGrの場合、メンバ数はどのグループGrも同数であるため、登録部721は、類似度が最大となるグループGrを登録先に決定してもよい。たとえば、グループGqのグループ数が「2」、グループGrのグループ数が「6」であれば、グループGrである6つのグループ(Gq1~Gq6とする。類似度はGr1が最小(最も類似しない)でGr6が最大(最も類似する)とする。)から登録先が決まる。この場合、登録部721は、グループGr1~Gr6からランダムに1つを登録先に決定してもよく、類似度が最大であるグループGr6を登録先に決定してもよい。
【0078】
なお、上述した登録先の決定のほか、登録部721は、登録先候補を表示し、ユーザに選択させ、当該選択された登録先候補を登録先に決定してもよい。
【0079】
この後、登録部721は、新規の個人の特徴ベクトルを示すノードを、決定した登録先に登録する(ステップS1512)。具体的には、たとえば、登録部721は、新規ノードを、登録先のノード群のうち最も相関性のあるノードの近傍に配置する。たとえば、登録部721は、新規ノードと、登録先のノード群の各々のノードと、の相関係数に基づいて、最も相関係数が最大となるノードの近傍に新規ノードを配置し、登録先のノード群の各々のノードとエッジで接続する。
【0080】
また、登録部721は、新規ノードと、登録先のノード群の各々のノードと、の類似度(たとえば、ユークリッド距離の逆数)に基づいて、最も類似度が最大となるノードの近傍(たとえば、当該ノードからユークリッド距離分離れた位置)に新規ノードを配置する。このあと、登録部721は、新規の個人の生体データOAを生体DB300に登録し、新規の個人の特徴ベクトルVaを特徴ベクトル集合500に追加する(ステップS1513)。これにより、登録処理(ステップS1403)が終了し、予測処理(ステップS1404)に移行する。なお、
図15~
図17では、上三角行列を抽出する例について説明したが、下三角行列を抽出してもよい。
【0081】
<予測処理手順>
図18は、
図14に示した予測処理(ステップS1404)の詳細な処理手順例を示すフローチャートである。まず、予測部722は、参照ノード数を取得する(ステップS1801)。参照ノード数は、新規ノード110を中心とするノード数である。参照ノード数はあらかじめ設定されていてもよく、ユーザから入力された値でもよい。参照ノード数は、新規ノード110を中心とする円120に包含されるノード数である。換言すれば、参照ノード数により、円120の大きさが決まる。なお、参照ノード数ではなく、新規ノード110を中心とする類似範囲内(たとえば、所定のユークリッド距離以内)のノードを参照ノードとして取得してもよい。つぎに、予測部722は、出力属性を選択する(ステップS1802)。
【0082】
図19は、出力属性選択画面の一例を示す説明図である。出力属性選択画面1900は、生活習慣ラジオボタン1901と、食習慣ラジオボタン1902と、生活環境・病歴ラジオボタン1903と、決定ボタン1904と、を有する。生活習慣ラジオボタン1901は、円120内の生体データOと同一個人ID301で関連付けられている個人DB400のエントリから生活習慣に関するフィールドの値を抽出するためのラジオボタンである。
【0083】
食習慣ラジオボタン1902は、円120内の生体データOと同一個人ID301で関連付けられている個人DB400のエントリから食習慣に関するフィールドの値を抽出するためのラジオボタンである。生活環境・病歴ラジオボタン1903は、円120内の生体データOと同一個人ID301で関連付けられている個人DB400のエントリから生活環境および病歴に関するフィールドの値を抽出するためのラジオボタンである。生活習慣ラジオボタン1901~生活環境・病歴ラジオボタン1903は、複数選択可能である。決定ボタン1904は、押下により生活習慣ラジオボタン1901~生活環境・病歴ラジオボタン1903で選択された情報を送信するためのボタンである。
【0084】
図18に戻り、予測部722は、選択出力属性に基づいて参照ノード数を分類する(ステップS1803)。つぎに、予測部722は、ステップS183の分類結果とアドバイス情報DB723のアドバイス情報とに基づいて、アドバイス文を生成する(ステップS1804)。そして、予測部722は、分類結果および生成したアドバイス文を含む結果画面を出力し(ステップS1805)、予測処理(ステップS1404)を終了する。
【0085】
図20は、ステップS1805の結果画面の一例を示す説明図である。結果画面2000は、分類結果2001とアドバイス文2002とを含む。分類結果2001は、たとえば、人数の多さを示すヒストグラムである。たとえば、参照ノード数のうち2%の既存個人は、大腸の病歴(生活環境・病歴ラジオボタン1903で選択)があり、3%の既存個人は便秘(生活習慣ラジオボタン1901で選択)であり、5%の既存個人は花粉アレルギー(生活環境・病歴ラジオボタン1903で選択)を有し、10%の既存個人は焼肉好き(食習慣ラジオボタン1902で選択)であり、80%の既存個人は、ヨーグルトを飲む習慣(食習慣ラジオボタン1902で選択)がある。
【0086】
また、アドバイス文2002において、新規ノード110が示す新規の個人が、アドバイス文2002の「あなた」に該当する。また、参照ノード数分のノードに対応する既存の個人が、アドバイス文2002の「あなたの腸内細菌と似ている人」に該当する。また、残余の文章は、分類結果2001を文章化した文字列である。
【0087】
このように、本実施例によれば、ネットワーク102を一から生成する場合に比べて、計算負荷の低減を図ることができ、計算時間の短縮化を図ることができる。新規ノード110の個人について、様々な予測を行うことが可能になる。
【0088】
また、上述した実施例にかかる登録装置200は、下記(1)~(6)のように構成することもできる。
【0089】
(1)プログラムを実行するプロセッサ201と、前記プログラムを記憶する記憶デバイス202と、を有する登録装置200は、各々複数の要素を有する第1特徴ベクトル(V1~Vn)を示す第1ノードの集合と、2つの第1特徴ベクトルに基づいて前記2つの第1特徴ベクトルを示す2つの第1ノード間を接続する第1エッジと、により構成されるネットワーク101にアクセス可能である。前記プロセッサ201は、第2特徴ベクトルを取得する取得処理(ステップS1401,S1402)と、前記第1特徴ベクトルの集合内の前記第1特徴ベクトルよりも少ない第3特徴ベクトルの集合における前記第3特徴ベクトル同士の類似関係に基づいて、前記取得処理によって取得された第2特徴ベクトルVaを示す第2ノード(新規ノード110)を前記ネットワーク101に登録し、前記第2ノードと前記第3特徴ベクトルを示す第3ノードとを第2エッジで接続する登録処理(ステップS1403)と、を実行する。
【0090】
これにより、第1特徴ベクトルの集合内の第1特徴ベクトルよりも少ない第3特徴ベクトルの集合を用いることにより、計算負荷の低減化を図ることができる。したがって、ネットワーク101からネットワーク102への更新時の計算時間の短縮化を図ることができる。すなわち、第3特徴ベクトルの数p(<n)が少ないほど、計算負荷が低減され、計算時間が短縮化する。また、第3特徴ベクトルの数p(<n)が多いほど、第2ノード(新規ノード110)を適切な位置に配置することができる。
【0091】
(2)また、上記(1)において、前記プロセッサ201は、前記第3特徴ベクトルの集合から所定の類似条件を充足する特定の第3特徴ベクトルからなる第1類似グループGqが存在するか否かを判定する判定処理(ステップS1504)と、前記判定処理によって前記第1類似グループGqが存在すると判定された場合、前記第1類似グループGq内の前記特定の第3特徴ベクトルに基づく前記ネットワーク内の位置を、前記第2ノードの登録先に決定する決定処理(ステップS1509)と、を実行し、前記登録処理では、前記プロセッサ201は、前記決定処理によって決定された登録先に前記第2ノードを登録し、前記第2ノードと前記特定の第3特徴ベクトルを示す特定の第3ノードとを前記第2エッジで接続する。
【0092】
これにより、第2ノード(新規ノード110)の登録先の決定の容易化を図ることができる。
【0093】
(3)また、上記(2)において、登録装置200は、前記ネットワーク101内の前記第1特徴ベクトル同士の相関関係を示す第1相関関係データ(相関行列RNの上三角行列UTMN)にアクセス可能であり、前記プロセッサ201は、前記第2特徴ベクトルと前記第3特徴ベクトルの各々との相関関係および前記第3特徴ベクトル同士の相関関係を示す第2相関関係データ(上三角行列UTMA)を算出する相関関係データ算出処理(ステップS1503,S1505)を実行し、前記決定処理では、前記プロセッサ201は、前記判定処理によって前記第1類似グループGqが存在しないと判定された場合、前記相関関係データ算出処理によって算出された第2相関関係データ(上三角行列UTMA)と同サイズの第3相関関係データ(上三角行列UTMB)を前記第1相関関係データ(相関行列RNの上三角行列UTMN)から抽出する抽出処理(ステップS1506)と、前記第2相関関係データ(上三角行列UTMA)と、前記抽出処理によって抽出された第3相関関係データ(上三角行列UTMB)と、の類似度を算出する類似度算出処理(ステップS1507)と、前記類似度算出処理によって算出された類似度に基づいて、前記第3相関関係データ(上三角行列UTMB)の算出元となる特定の第1特徴ベクトルからなる第2類似グループGrを前記第1相関関係データから特定する特定処理(ステップS1508)と、を実行し、前記決定処理では、前記プロセッサ201は、前記第2類似グループ内の前記特定の第1特徴ベクトルに基づく前記ネットワーク内の位置を、前記第2ノードの登録先に決定し、前記登録処理では、前記プロセッサ201は、前記決定処理によって決定された登録先に前記第2ノード(新規ノード110)を登録し、前記第2ノード(新規ノード110)と前記特定の第1特徴ベクトルを示す特定の第1ノードとを前記第2エッジで接続する。
【0094】
これにより、第1類似グループGqが存在しない場合であっても、第2類似グループGrを探索することができ、登録先の決定漏れを抑制することができる。
【0095】
(4)また、上記(1)において、登録装置200は、前記第1特徴ベクトルVごとに前記第1特徴ベクトルVに対応する属性データ(個人ID301で関連付けられた個人DB400のエントリ)にアクセス可能であり、前記プロセッサ201は、前記ネットワーク101内の前記第2ノード(新規ノード110)を含む範囲(円120)内に存在する前記第1ノードが示す前記第1特徴ベクトルに対応する属性データに基づいて、前記第2特徴ベクトルに対応する属性を予測する予測処理(ステップS1404)を実行する。
【0096】
これにより、第2ノード(新規ノード110)が示す予測対象(たとえば、個人)の状態を、第2ノードの周囲の第1ノードに対応する属性データで予測することができる。
【0097】
(5)また、上記(1)において、前記プロセッサ201は、前記ネットワーク101を生成する生成処理(ステップS803)を実行し、前記登録処理では、前記プロセッサ201は、前記第3特徴ベクトル同士の類似関係に基づいて、前記第2特徴ベクトルを示す第2ノード(新規ノード110)を前記生成処理によって生成されたネットワーク101に登録し、前記第2ノードと前記第3ノードとを第2エッジで接続する。
【0098】
これにより、登録装置200がネットワーク101を生成するため、ネットワーク101の生成元となる第1特徴ベクトルVの秘匿化を図ることができる。
【0099】
(6)また、上記(1)において、前記第1特徴ベクトルVは、前記第1ノードとして前記ネットワーク101に登録された個人の生体の特徴を示すベクトルであり、前記第2特徴ベクトルは、前記ネットワーク101に未登録な個人の生体の特徴を示すベクトルである。
【0100】
これにより、登録装置200を、生体データOに基づくネットワーク101に適用することができる。したがって、登録後のネットワーク102により、客観的かつ正確的に健康状態を予測できる。また、登録後のネットワーク102により、個人に適した健康支援アドバイスを提供することができる。
【0101】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0102】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ201がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0103】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0104】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0105】
101,102 ネットワーク
110 新規ノード
200 登録装置
201 プロセッサ
202 記憶デバイス
500 特徴ベクトル集合
600 相関行列
701 生成部
702 更新部
711 前処理部
712 特徴ベクトル生成部
713 ネットワーク生成部
721 登録部
722 予測部