(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-11
(45)【発行日】2023-09-20
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G16H 10/00 20180101AFI20230912BHJP
A61B 5/00 20060101ALI20230912BHJP
G16H 80/00 20180101ALI20230912BHJP
【FI】
G16H10/00
A61B5/00 G
G16H80/00
(21)【出願番号】P 2019127125
(22)【出願日】2019-07-08
【審査請求日】2022-04-12
(73)【特許権者】
【識別番号】517448489
【氏名又は名称】合同会社H.U.グループ中央研究所
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】山下 英俊
【審査官】吉田 誠
(56)【参考文献】
【文献】特開2009-247688(JP,A)
【文献】特開2013-248329(JP,A)
【文献】RadialGAN: Leveraging multiple datasets to improve target-specific predictive models using Generative Adversarial Networks,2018年06月07日,1-9ページ,,[online],[令和5年6月12日検索],インターネット<URL:https:arxiv.org/abs/1802.06403>
(58)【調査した分野】(Int.Cl.,DB名)
G16H 10/00 - 80/00
A61B 5/00
(57)【特許請求の範囲】
【請求項1】
被験者を検査した検査データであって、複数の集合の内、第1の集合に属する検査データを取得する取得部と、
第1の集合の検査データを入力した場合に第2の集合の検査データを出力するよう学習済みの学習済みモデル
に、取得した前記第1の集合の検査データを入力することで該第1の集合の検査データを第2の集合の検査データに変換する変換部と
を備え、
前記取得部は、複数の前記被験者夫々の検査データを取得し、
前記変換部は、前記被験者夫々の検査データを同一の集合の検査データに変換し、
変換された前記被験者夫々の検査データの分布を表す分布データを生成する生成部と、
前記分布データに基づき、前記被験者の検査データが外れ値であるか否かを示す異常度を算出する算出部と、
前記異常度が閾値以上であるか否かを判定することで、前記被験者の検査データに異常があるか否かを判定する判定部と
を備えることを特徴とする情報処理装置。
【請求項2】
前記学習済みモデルは、前記複数の集合夫々に対応する複数の変換器を有し、
前記変換部は、
前記第1の集合
の検査データを入力した場合に潜在変数を出力するよう学習済みの第1の前記変換器
に、取得した前記第1の集合の検査データを入力することで該第1の集合の検査データを潜在変数に変換し、
前記潜在変数を入力した場合に前記第2の集合の検査データを出力するよう学習済みの第2の前記変換器
に、変換した前記潜在変数を入力することで該潜在変数を前記第2の集合の検査データに変換する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1及び第2の集合夫々の検査データは、一部又は全部の検査項目が異なり、
前記変換部は、
前記第1の集合の検査データを前記第1の変換器に入力することで、該第1の集合の検査データを前記潜在変数に変換し、
変換した前記潜在変数を前記第2の変換器に入力することで、該潜在変数を、異なる前記検査項目を補完した前記第2の集合の検査データに変換する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記変換部は、前記被験者夫々の検査データを、前記複数の集合夫々に対応する検査データに変換し、
前記生成部は、前記複数の集合毎に前記分布データを生成し、
前記複数の集合夫々に対応する前記分布データを組み合わせて表示する表示画面を出力する出力部を備える
ことを特徴とする請求項
1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記複数の集合は、前記被験者が検査を受けた検査施設、検査を受けた際の検査条件、又は前記被験者の属性に応じて分類される
ことを特徴とする請求項1~
4のいずれか1項に記載の情報処理装置。
【請求項6】
被験者を検査した検査データであって、複数の集合の内、第1の集合に属する検査データを取得し、
第1の集合の検査データを入力した場合に第2の集合の検査データを出力するよう学習済みの学習済みモデル
に、取得した前記第1の集合の検査データを入力することで該第1の集合の検査データを第2の集合の検査データに変換する
処理をコンピュータが実行する情報処理方法であって、
複数の前記被験者夫々の検査データを取得し、
前記被験者夫々の検査データを同一の集合の検査データに変換し、
変換された前記被験者夫々の検査データの分布を表す分布データを生成し、
前記分布データに基づき、前記被験者の検査データが外れ値であるか否かを示す異常度を算出し、
前記異常度が閾値以上であるか否かを判定することで、前記被験者の検査データに異常があるか否かを判定する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項7】
被験者を検査した検査データであって、複数の集合の内、第1の集合に属する検査データを取得し、
第1の集合の検査データを入力した場合に第2の集合の検査データを出力するよう学習済みの学習済みモデル
に、取得した前記第1の集合の検査データを入力することで該第1の集合の検査データを第2の集合の検査データに変換する
処理をコンピュータに実行させるプログラムであって、
複数の前記被験者夫々の検査データを取得し、
前記被験者夫々の検査データを同一の集合の検査データに変換し、
変換された前記被験者夫々の検査データの分布を表す分布データを生成し、
前記分布データに基づき、前記被験者の検査データが外れ値であるか否かを示す異常度を算出し、
前記異常度が閾値以上であるか否かを判定することで、前記被験者の検査データに異常があるか否かを判定する
処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
病院等の施設において、複数の施設間における患者(被検者)の情報共有を支援する種々のシステムが提案されている。例えば特許文献1では、複数施設の被検者の検査データから健常者の検査データを抽出し、抽出した健常者の検査データを正規化した正規分布パターンを参照して、任意の被検者の検査データを補正する医療検査データ解析支援装置等が開示されている。特許文献1によれば、各施設間で検査データに生じる施設間誤差を効率的かつ高精度に補正することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、生体の検査データは正規分布に従わない場合が多い。特許文献1に係る発明は検査データが正規分布に従うことを前提としており、検査データを適切に補正しているとは言えない。
【0005】
一つの側面では、被験者の検査データを適切に補正することができる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係る情報処理装置は、被験者を検査した検査データであって、複数の集合の内、第1の集合に属する検査データを取得する取得部と、第1の集合の検査データを入力した場合に第2の集合の検査データを出力するよう学習済みの学習済みモデルに、取得した前記第1の集合の検査データを入力することで該第1の集合の検査データを第2の集合の検査データに変換する変換部とを備え、前記取得部は、複数の前記被験者夫々の検査データを取得し、前記変換部は、前記被験者夫々の検査データを同一の集合の検査データに変換し、変換された前記被験者夫々の検査データの分布を表す分布データを生成する生成部と、前記分布データに基づき、前記被験者の検査データが外れ値であるか否かを示す異常度を算出する算出部と、前記異常度が閾値以上であるか否かを判定することで、前記被験者の検査データに異常があるか否かを判定する判定部とを備えることを特徴とする。
【発明の効果】
【0007】
一つの側面では、被験者の検査データを適切に補正することができる。
【図面の簡単な説明】
【0008】
【
図1】検査データ連携システムの構成例を示す模式図である。
【
図3】患者DB、病院DB、及び検査DBのレコードレイアウトの一例を示す説明図である。
【
図5】検査データの学習処理に関する説明図である。
【
図7】変換モデルの生成処理に関する説明図である。
【
図8】検査データの分布図の一例を示す説明図である。
【
図10】検査データの分布図の他例を示す説明図である。
【
図11】変換モデルの生成処理の手順を示すフローチャートである。
【
図12】検査データの変換処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態)
図1は、検査データ連携システムの構成例を示す模式図である。本実施の形態では、複数の病院(検査施設)それぞれにおいて検査した患者(被検者)の検査データを相互に変換し、変換後の検査データを他の病院に提供する検査データ連携システムについて説明する。検査データ連携システムは、情報処理装置1及び端末2、2、2…を含む。各装置は、インターネット等のネットワークNを介して相互に通信接続されている。
【0010】
情報処理装置1は、種々の情報処理、情報の送受信を行う装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態において情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。サーバ1は複数の病院と連携しており、各病院で検査した患者の検査データを取得してデータベースに保存する。本実施の形態でサーバ1は、機械学習により生成済みの学習済みモデル(後述の変換モデル141)を用いて、一の病院の検査データを、他の病院で検査した場合の検査データに変換する処理を行う。
【0011】
端末2は、本システムで連携する各病院の端末装置であり、例えばパーソナルコンピュータ等である。例えばサーバ1は、各病院の端末2から患者の検査データを取得し、検査データの変換を行う。
【0012】
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、主記憶部12、通信部13、補助記憶部14を有する。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、補助記憶部14に記憶されたプログラムPを読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【0013】
補助記憶部14は、ハードディスク、大容量メモリ等の不揮発性記憶領域であり、制御部11が処理を実行するために必要なプログラムP、その他のデータを記憶している。また、補助記憶部14は、変換モデル141、患者DB142、病院DB143、検査DB144を記憶している。変換モデル141は、複数の病院(集合)それぞれの検査データ群を元に生成された学習済みモデルであり、一の病院(第1の集合)の検査データを、他の病院(第2の集合)の検査データに変換する変換モデルである。患者DB142は、各病院で検査を受ける患者の情報を格納するデータベースである。病院DB143は、各病院の情報を格納するデータベースである。検査DB144は、患者を検査した検査データを格納するデータベースである。
【0014】
なお、補助記憶部14はサーバ1に接続された外部記憶装置であってもよい。また、サーバ1は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【0015】
また、本実施の形態においてサーバ1は上記の構成に限られず、例えば操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。また、サーバ1は、CD(Compact Disk)-ROM、DVD(Digital Versatile Disc)-ROM等の可搬型記憶媒体1aを読み取る読取部を備え、可搬型記憶媒体1aからプログラムPを読み取って実行するようにしても良い。あるいはサーバ1は、半導体メモリ1bからプログラムPを読み込んでも良い。
【0016】
図3は、患者DB142、病院DB143、及び検査DB144のレコードレイアウトの一例を示す説明図である。
患者DB142は、患者ID列、患者名列、患者情報列を含む。患者ID列は、各患者を識別するための患者IDを記憶している。患者名列及び患者情報列はそれぞれ、患者IDと対応付けて、患者の氏名、及びその他の患者情報を記憶している。患者情報列には、例えば患者の年齢、性別、病院への通院歴等が記憶されている。
【0017】
病院DB143は、病院ID列、病院名列、検査項目列を含む。病院ID列は、各病院を識別するための病院IDを記憶している。病院名列及び検査項目列はそれぞれ、病院IDと対応付けて、病院の名称、及び病院で実施可能な検査項目を記憶している。
【0018】
検査DB144は、検査ID列、検査日列、患者列、病院列、検査データ列を含む。検査ID列は、患者がいずれかの病院で検査を受けた際に付番される検査IDを記憶している。検査日列、患者列、病院列、及び検査データ列はそれぞれ、検査IDと対応付けて、検査を受けた日付、検査を受けた患者の患者名、検査した病院の病院名、及び検査データを記憶している。例えば検査データ列には、病院で受けた一又は複数の検査項目それぞれの検査結果(検査値、画像等)が記憶されている。
【0019】
図4は、本実施の形態の概要を示す説明図である。
図4に基づき、サーバ1が実行する処理の概要について説明する。
上述の如く、サーバ1は複数の病院それぞれの端末2、2、2…に接続されており、各端末2から、患者を検査した検査データを取得する。検査データは、例えば年齢等の問診結果、体重等の身体測定結果、MRI等の画像データ、その他のバイタルサインの測定結果などであるが、その検査内容(検査項目)は特に限定されない。例えばサーバ1は、各病院の端末2から検査データを取得し、検査DB144に保存(記憶)する。
【0020】
ところで、異なる病院で同じ一般名称の臨床検査を行う場合であっても、検査試薬、検査機器、検査方法、検査条件(温度、湿度等)、さらには検査対象患者群の特性(民族、年齢、性別、有病率)等の相違に起因して、それらの検査結果が同一の値や分布にならない恐れがある。
図4上側に、異なる病院A、Bにおいて、同種の検査を行った場合の検査結果の相違を概念的に強調して図示している。
図4の例では、病院Aにおいて複数の患者を検査した検査結果の分布が二峰分布となっているが、病院Bにおいては単峰分布となっている。この場合、平均や分散、分布の違いに起因して、一方の病院では検査データがその基準範囲外であることから異常と判断される場合であっても、他方の病院ではその検査データが基準範囲内であることから検査結果が正常と判断される恐れがある。
【0021】
このように、異なる医療機関の患者群のような、被検者の特徴の異なる2群において、その平均や分散、分布形状が異なるデータ分布を持つ検査データが得られている場合、単純に検査データを混合することや、その平均や分散等の統計値を統合すること等の、正規分布を前提とした解析を行った場合、適切な結果を得ることができない。そのため複数施設で個別に検査データの平均や分散を算出し公開しても、それらを適切に統合することはできないし、統合が可能な標準化検査データは現在、社会に浸透していない。また各施設における検査データ総数が限定的な場合、それらの検査データを統合できないことが、検査データの基準範囲から外れた異常データの検出を困難にしている。またデータ分布が異なる施設由来の検査データは、互いに比較することを困難にしており、例えば、ある医療機関で検査を行った後に、他の医療機関を紹介されて受診した場合、疫学的に妥当な検査頻度とは無関係に、その医療機関で再度同一内容の検査を実施することが一般的になっており、費用や手間だけでなく、患者の肉体的、精神的負担になっている。
【0022】
そこで本実施の形態では、変換モデル141を用いて各病院の検査データの分布を考慮した上で相互に変換することで、変換先の病院の分布特性を保ちながら、適切に検査値の比較を可能にする。
図4の例では、病院Bにおける検査データを、病院Aの検査データに変換している。これにより、各病院での検査結果を同一の水準で比較可能となり、検査データの異常等を適切かつ高精度に判断することができる。
【0023】
また、病院が異なる場合、患者に対して実施する臨床検査の検査項目が異なる場合がある。
図4下側に、検査項目の相違を概念的に図示している。
図4の例では、病院A、Bでは一部の検査項目が異なり、病院Aよりも病院Bは検査項目が少なくなっている。この場合、例えば病院Bで過去に検査を受けた患者が病院Aで受診する場合、患者は異なる検査項目について、再検査を受けなければならない。
【0024】
そこで本実施の形態では、変換モデル141を用いて、病院間で異なる検査項目を補完した検査データを生成する。
図4の例では、病院Bにおける検査データの不足分を補完し、病院Aの検査データへ変換している。これにより、各病院の検査データをより好適に比較可能となる。
【0025】
図5は、検査データの学習処理に関する説明図である。本実施の形態でサーバ1は、GAN(Generative Adversarial Network)の手法を用いて各病院の検査データを学習し、変換モデル141を生成する。
図5では、GANの構成を概念的に図示している。
【0026】
GANは、入力データから出力データを生成する生成器(Generator)と、生成器が生成したデータの真偽を識別する識別器(Discriminator)とから構成される。生成器は、ランダムなノイズ(潜在変数)の入力を受け付け、出力データを生成する。識別器は、学習用に与えられる真のデータと、生成器から与えられるデータとを用いて、入力データの真偽を学習する。GANでは生成器及び識別器が競合して学習を行い、最終的に生成器の損失関数が最小化し、かつ、識別器の損失関数が最大化するようにネットワークを構築する。
【0027】
本実施の形態でサーバ1は、GANの手法により構築される生成器を、変換モデル141を構成する変換器として用い、病院間での検査データの変換を行う。ここでサーバ1は、病院間で検査データの変換を行うため、病院毎に検査データの変換器(生成器)を構築し、複数の変換器から成る変換モデル141を生成する。具体的には、サーバ1は、複数のドメイン(データ集合)それぞれのデータ生成を同時に行うStarGANの性質と、異なるドメイン間のデータ変換を可逆的に行うCycleGANの性質を同時に兼ね備えたRadialGANの手法を用いて、変換モデル141を生成する。
【0028】
なお、本実施の形態では変換モデル141の生成(学習)手法としてGANを用いるが、変換モデル141はGANに係る学習済みモデルに限定されず、その他の深層学習、決定木等の学習手法による学習済みモデルであってもよい。また、本実施の形態では病院毎にデータ変換用の変換器を構築するものとするが、変換モデル141は任意の病院の検査データを他の病院の検査データに変換可能であればよく、複数の変換器から成る学習済みモデルとする構成は必須ではない。
【0029】
図6は、変換モデル141に関する説明図である。
図6では、病院間で共通する潜在変数Zを介して、病院間の検査データの変換を行う変換モデル141を模式的に図示してある。
【0030】
変換モデル141は、各病院に対応するエンコーダFi及びデコーダGi(変換器)から構成される。なお、符号i(i=1、2、3、…M)は、患者の検査データが分類される複数のデータ集合それぞれを表す符号であって、患者が検査を受けた各病院A、B、C、…Mを表す。デコーダGiは、対応する病院の検査データXiを潜在変数Zから生成する生成器(Generator)である。エンコーダFiも入力データから出力データを生成する生成器であるが、エンコーダFiは検査データXiを潜在変数Zに変換する。
【0031】
サーバ1は、一の病院(第1の集合)の検査データXiを他の病院(第2の集合)の検査データXj(j≠i)に変換する際、当該一の病院に対応するエンコーダFiを用いて検査データXiを潜在変数Zに変換し、当該他の病院に対応するデコーダGjを用いて潜在変数Zを対象の病院の検査データXjに変換する。例えば病院B、C…の検査データX2、X3…を病院Aの検査データX1に変換する場合、病院B、C…に対応するエンコーダF2、F3…を用いて潜在変数Zに変換し、病院Aに対応するデコーダG1を用いて、潜在変数Zを検査データX1に変換する。
【0032】
以下で説明するように、サーバ1は各病院に対応する識別器Diを用いながら、機械学習を行ってエンコーダFi及びデコーダGiを生成する。
【0033】
図7は、変換モデル141の生成処理に関する説明図である。
図7では、2つの病院にそれぞれ対応するエンコーダFi、Fj、デコーダGi、Gj、及び識別器Di、Djの関係を図示している。
図7に基づき、変換モデル141を生成する機械学習処理について説明する。
【0034】
図7では、符号iで表す病院の検査データXiを、符号jで表す病院の検査データXjに変換する場合を考える。エンコーダFi、デコーダGi、及び識別器Diは、変換元の病院に対応するGANを構成する。エンコーダFj、デコーダGj、及び識別器Djは、変換先の病院に対応するGANを構成する。
【0035】
上述の如く、変換元の検査データXiは、エンコーダFiにより潜在変数Zに変換される。潜在変数ZはデコーダGjにより、変換先の検査データXjに変換される。また、変換元の病院に対応するデコーダGiは、潜在変数Zを元の検査データXiに変換(逆変換)する。従って、Xi=Gi(Z)=Gi(Fi(Xi))が成り立つ。また、変換先の病院に対応するエンコーダFjは、変換された検査データXjを潜在変数Zに変換する。従って、Z=Fj(Xj)が成り立つ。
【0036】
識別器Diは、実際の病院の検査データXi、Xjを用いて、デコーダGiにより変換(生成)される検査データGi(Z)の真偽を判定する。
【0037】
図7で示すモデルの学習を行うため、本実施の形態では以下の数式(1)、(2)で示す損失関数を用いる。なおE[f]は、関数fの期待値を表す。
【0038】
【0039】
数式(1)は通常のGANと同じく、デコーダ(Generator)Giで変換(生成)されるデータを最適化するための損失関数である。数式(2)は、各病院の検査データXi、Xjの相互変換(逆変換)を保証するための損失関数であり、Xi=Gi(Fi(Xi))、及びZ=Fj(Xj)の関係を保証するための損失関数である。
【0040】
学習を行う場合、以下の数式(3)に示すように、数式(1)、(2)の損失関数の最適化問題に帰着させる。
【0041】
【0042】
サーバ1は、各病院の検査データX1、X2、X3…に基づいて上記の最適化問題を解き、エンコーダFi、デコーダGi、及び識別器Diを生成する。具体的には、サーバ1はまずエンコーダFi、デコーダGiを固定し、識別器Diの最適化(最大化)を行う。その後、サーバ1は識別器Diを最適化したパラメータに固定し、エンコーダFi及びデコーダGi(変換器)の最適化(最小化)を行う。サーバ1は、変換モデル141を構成する各病院用の変換器として、エンコーダFi及びデコーダGiを補助記憶部14に格納する。
【0043】
実際に端末2からの要求を受けて対象患者の検査データXiを変換する場合、サーバ1は、対応する病院のエンコーダFi及びデコーダGiを用いて検査データXiの変換を行う。すなわち、サーバ1は、変換元の病院のエンコーダFiを用いて検査データXiを潜在変数Zに変換した後、変換先の病院のデコーダGjを用いて、潜在変数Zを検査データXjに変換する。以下の説明では便宜上、病院Bで対象患者を検査した検査データX2を、病院Aで検査を受けた場合の検査データX1に変換するものとして説明する。
【0044】
この場合において、病院A、Bでは、検査項目の数及び種類が異なっていてもよい。例えば上記のケースでは、病院Bでは病院Aと比べて、検査項目が少ないことが考え得る。この場合、サーバ1は学習時も検査項目が異なる各病院A、Bの検査データX1、X2を用いて学習を行い、病院Bの検査データX2を共通の潜在変数Zに変換した後に病院Aの検査データX1に変換するよう変換モデル141をセットしてあるため、変換モデル141により、検査項目の不足分が補完(推定)された検査データX1が生成される。これにより、病院間での設備等の相違が補完され、好適に検査データの比較が可能となる。
【0045】
サーバ1は単に対象患者の検査データX2を病院A用のデータX1に変換するのみであってもよいが、本実施の形態では、他の患者の検査データも変換し、複数の患者の検査データの分布を示す分布図(分布データ)を生成する。そしてサーバ1は、当該分布図上に対象患者の検査データをプロットし、端末2に出力する。より詳細には以下のように、サーバ1は、本システムで連携する複数の病院A、B、C…毎に分布図を生成し、各病院の検査データの分布図を組み合わせた表示画面を出力して表示させる。そしてサーバ1は、対象患者の検査データを各病院用の検査データに変換し、各病院に対応する検査データの分布図上にプロットする。
【0046】
図8は、検査データの分布図の一例を示す説明図である。
図8では、1種類の検査項目について、3つの病院の検査結果を組み合わせて表示した場合の表示例を図示している。
【0047】
具体的には、サーバ1は病院毎に、蜂群図と箱ひげ図とを合成した分布図を生成する。
図8の分布図において横軸は各病院A、B、Cを表す。縦軸は検査値(検査データ)を表す。また、分布図中の星印は対象患者に対応するプロットを表す。
【0048】
サーバ1は、各病院A、B、Cの変換器(エンコーダFi及びデコーダGi)を用いて対象患者の検査データを各病院A、B、Cの検査データに変換する。また、同様にサーバ1は、検査DB144に格納してある他の患者の検査データも各病院A、B、Cの検査データに変換する。サーバ1は、変換した各患者の検査データをプロットし、
図8に示すように対象患者については他の患者と異なる態様でプロット(表示)する。このように、複数患者の検査データの分布図に対象患者の検査データをプロットすることで、対象患者の検査結果が正常なものか否か、容易に把握することができる。また、複数の病院それぞれの検査データを並列的に表示することで、各病院で検査した場合の検査結果を一覧でき、より的確に検査結果の全体の分布の特徴を把握することができる。
【0049】
また、本実施の形態でサーバ1は、変換後の検査データの分布図を提示するだけでなく、生成した分布図(分布データ)に基づき、対象患者の検査結果が異常であるか否かを判定し、判定結果を併せて提示する。
【0050】
具体的には、サーバ1は対象患者の検査データが外れ値に該当するか否かを判定することにより異常判定を行う。GAN(変換モデル141)を用いた外れ値の判定手法としてanoGANなどが考えられるが、本実施の形態ではGAN自体を外れ値の判定に用いず、GANによって生成した複数の病院の検査データの分布から外れ値判定を行う。
【0051】
図9は、異常判定処理に関する説明図である。
図9の左側ではanoGANに基づく異常判定を、
図9の右側では本実施の形態に係る異常判定を概念的に図示する。
【0052】
anoGANは、判定対象とするデータ(本実施の形態では病院での検査データ)について、潜在変数との間での写像(変換)を繰り返すことで異常判定を行う手法である。anoGANでは、学習時には正常なデータのみを学習しておき、異常判定の対象とするデータを潜在変数に変換して、変換後の潜在変数に基づいて対象のデータを生成(復元)する。学習時には正常なデータのみを学習しているため、テスト時の入力データに異常値が含まれていても、GANによって、正常なデータが生成される。従って、GANによる変換の前後のデータの差分を取ることで、外れ値(異常値)を検出することができる。
【0053】
図9の左側では、検査データをプロットした特徴量空間を概念的に図示している。なお、白丸は正常値を、黒丸は異常値を表す。anoGANを用いる場合、
図9左上に示す元の検査データから正常な検査データの分布(白丸の分布)を再現(生成)する。そして両者の差分を取ることで、その残余である
図9左下に示すデータを抽出し、それら全ての成分もしくはその大部分を構成する成分を異常値として検出する。
【0054】
しかしながら、検査データには、検出すべき異常値(外れ値)とは別にデータのゆらぎが含まれることが予想される。anoGANによって生成されるデータは、学習済みのデータ分布に従ってランダムにデータをプロットするため、データのゆらぎの影響を受け、異常値以外のデータも差分として多少残る。特にN数(サンプル数)が少ない場合、ゆらぎの影響が大きくなって本方法では正常値と外れ値との区別が困難になり、本来正常値として検出されるべきデータも異常値として検出される恐れがある。
【0055】
そこで本実施の形態では、変換モデル141(GAN)自体を異常判定に用いず、複数の病院の検査データ(分布)を変換モデル141で一の病院用の検査データに変換し、統合することで、N数を増やしたデータ分布を生成する。そして、統合したデータ分布から外れ値を検出する。複数の病院の検査データを統合することで、正常データにおけるゆらぎが異常値として検出されにくくなり、相対的に本来の異常値の検出感度を高めることができる。
【0056】
図9右側に、異なる病院の検査データを統合する様子を概念的に図示する。
図9右側の例では、
図9右上に示す元の検査データに対し、他の病院の検査データを変換モデル141によって変換、統合し、N数を増やしたデータ分布を生成している。なお、他の病院の検査データをハッチング付きの丸で図示している。
図9右下に示すように、検査データを統合することで正常なデータの数を増加させ、相対的に外れ値(異常値)を検出しやすくする。
【0057】
外れ値の検出手法は特に限定されないが、例えばサーバ1は、LOF(Local Outlier Factor;局所外れ値因子)法を用いて外れ値を検出する。すなわち、サーバ1は、対象患者の検査データのk個の近傍有効距離と、対象患者の検査データから最も近いk個の近傍点に相当する他の患者の検査データの近傍有効距離との比の値をkで除した値により、対象患者の検査データが外れ値(異常値)であるか否かを示す異常度を算出する。例えば、上記の異常度が1より大きい場合に外れ値とみなす。
【0058】
なお、上記では異常判定の手法としてLOF法を一例に挙げたが、他のアルゴリズムで異常判定を行ってもよい。例えば検査データをBox-Cox変換することで、正規分布に近似できる場合には、検査項目数を次元に持つ検査データの列ベクトルx、その平均値のベクトルを<x>、その共分散行列をΣ、として異常度a=(x - <x>)T Σ-1 (x - <x))を定義することで、異常度aが適切な閾値を超える場合に異常と判定してもよい。また異常度が上位である、5パーセント分位点等のパーセント分位点に含まれる検査データを異常と判定しても良い。検査データが正規分布で近似できない場合には、例えば、検査データを特異値分解することでその特異値を算出し、大きな特異値の上位成分のみを用いて検査データを再構成した際に、再構成前の元データと再構成後のデータの差分を異常度として算出してもよい。この場合も、閾値を超える異常度を持つ検査データ、またはパーセント分位点に含まれる検査データを異常と判定しても良い。
【0059】
例えばサーバ1は、算出した異常度が所定の閾値以上であるか否かを判定するなどして、対象患者の検査データが異常であるか否かを判定する。異常であると判定した場合、サーバ1は、検査結果が異常である旨を端末2に出力する。異常である旨の判定結果が出力された場合、例えば病院Aでは再検査や精密検査などの追加検査を実施するなど、好適な対応を取ることができる。
【0060】
図10は、検査データの分布図の他例を示す説明図である。
図8では、1種類の検査項目について検査結果を表示する場合を図示した。しかしながら、サーバ1は複数の検査項目の検査結果を組み合わせて表示させてもよい。
図10では、2種類の検査項目について、3つの病院の検査データの分布図を組み合わせて表示する場合を図示している。
【0061】
具体的には、
図10では、各病院用の検査データについて、散布図とヒストグラムとを混合した分布図を図示している。散布図の縦軸及び横軸はそれぞれ、各種類の検査項目の検査値を表す。また、散布図において病院A、B、Cに対応する検査データは、プロットの種類で表される。また、各検査項目に対応するヒストグラムが、散布図の縦軸及び横軸に平行して配置され、病院A、B、Cそれぞれの検査データを表す縦棒が積み上げグラフ状に表現される。
【0062】
このように、サーバ1は複数の検査項目について検査結果を組み合わせて表示してもよい。また、分布図の表現態様は蜂群図、箱ひげ図に限定されず、種々の表現態様が考えられる。
【0063】
以上より、本実施の形態によれば、変換モデル141を用いて各病院用に検査データを変換する。変換モデル141を用いることで、各病院で検査した場合の検査結果が標準化され、適切なデータを提示することができる。
【0064】
図11は、変換モデル141の生成処理の手順を示すフローチャートである。
図11に基づき、機械学習によって変換モデル141を生成する処理の内容について説明する。
サーバ1の制御部11は、学習用の検査データ群であって、複数の病院(集合)それぞれにおいて患者を検査した検査データ群を取得する(ステップS11)。制御部11は、取得した検査データ群を用いて、一の病院(第1の集合)の検査データを入力した場合に、他の病院(第2の集合)の検査データを出力する変換モデル141を生成する(ステップS12)。具体的には上述の如く、制御部11は、RadialGANの手法を用いて変換モデル141を生成する。
【0065】
より具体的には、制御部11は病院(集合)毎に、各病院の検査データXiを潜在変数Zに変換するエンコーダFi、及び潜在変数Zを検査データXiに変換(逆変換)するデコーダGiから成る変換器(Generator)と、デコーダGiによって変換された検査データXiの真偽を識別する識別器(Discriminator)Diとを、互いに識別器Di及び変換器(エンコーダFi、デコーダGi)を用いながら生成する。例えば制御部11は、まずエンコーダFi及びデコーダGiを固定して学習を行い、識別器Diを最適化する。次に制御部11は、識別器Diのパラメータを最適化した値に固定して学習を行い、エンコーダFi及びデコーダGiを最適化する。制御部11は、最適化したエンコーダFi及びデコーダGiを、変換モデル141を構成する各病院用の変換器として補助記憶部14に格納する。制御部11は、一連の処理を終了する。
【0066】
図12は、検査データの変換処理の手順を示すフローチャートである。
図12に基づき、任意の病院における検査データを、他の病院における検査データに変換する処理の内容について説明する。
サーバ1の制御部11は、いずれかの病院(第1の集合)の端末2から、当該病院で対象患者(被検者)を検査した検査データを取得する(ステップS31)。制御部11は、取得元の病院に対応する変換器(エンコーダFi)に検査データを入力し、複数の病院それぞれの変換器で共通する潜在変数Zに変換する(ステップS32)。
【0067】
制御部11は、変換先の病院(第2の集合)に対応する変換器(デコーダGj)に潜在変数Zを入力し、当該病院で患者を検査した場合の検査データXjに変換する(ステップS33)。ステップS33において、制御部11は、変換先の病院における検査項目が、取得元の病院における検査項目と一部が異なる場合、異なる検査項目を補完した検査データXjに変換する。
【0068】
制御部11は、対象患者以外の他の患者についても検査データXiの変換を行い、同一の病院(集合)において各患者が検査を受けた場合の検査データXiの分布を表す分布データを生成する(ステップS34)。具体的には、制御部11は、各患者の検査データXiを各病院に対応する検査データXjに変換し、病院(集合)毎に分布データを生成する。
【0069】
制御部11は、生成した分布データに基づき、対象患者の検査データに異常があるか否かを判定する(ステップS35)。異常があると判定した場合(S35:YES)、制御部11は、ステップS34で生成した各病院の分布データを混合表示させる表示画面(表示データ)を端末2に出力すると共に、患者の検査データに異常がある旨を出力する(ステップS36)。異常がないと判定した場合(S35:NO)、制御部11は、各病院の分布データを混合表示させる表示画面を出力すると共に、異常がない旨を端末2に出力する(ステップS37)。制御部11は、一連の処理を終了する。
【0070】
なお、上記では患者(被験者)を検査する検査施設の一例として病院を挙げたが、検査施設は病院に限定されるものではなく、例えば専門の検査機関などであってもよい。また、被験者は病院に通院する患者に限定されず、例えば健康診断を受ける健常者などであってもよい。
【0071】
以上より、本実施の形態によれば、複数の病院(集合)それぞれの検査データ群を学習済みの変換モデル141を用いて検査データの変換を行うことで、病院間の検査データの差異が是正され、検査データを適切に補正することができる。
【0072】
また、本実施の形態によれば、各病院に対応する変換器(エンコーダFi及びデコーダGi)を適宜に選択して検査データの変換を行うことで、より好適に検査データの補正を行うことができる。
【0073】
また、本実施の形態によれば、単に一人の患者(被検者)の検査データを変換するのみではなく、複数の患者の検査データを同一の病院(集合)の検査データに変換して分布図(分布データ)を生成する。これにより、複数の病院の検査データを統合して、各患者の検査データを好適に比較可能となる。
【0074】
また、本実施の形態によれば、各病院の検査データの分布図を組み合わせて提示(表示)することもでき、より好適な比較が可能となる。
【0075】
また、本実施の形態によれば、変換モデル141を用いて変換した検査データに基づき、患者の異常を適切に判定することができる。
【0076】
また、本実施の形態によれば、各病院の検査項目が異なる場合であっても、異なる検査項目を補完した適切な検査データを生成することができる。
【0077】
上述の実施の形態では、検査データの変換を行う検査データ連携システムについて、その概要を説明した。以下では変形例として、具体的な検査データ連携システムの応用例(ユースケース)を列挙する。
【0078】
(変形例1)
変形例1として、比較的規模の大きい病院(大学病院、総合病院等)Aに規模の小さな病院(地域のクリニック等)B、C…から患者を紹介する場合に、病院B、C…での検査データを病院Aの検査データに変換するケースが想定され得る。この場合、サーバ1は対象患者の検査データを病院A用の検査データに変換し、変換後の検査データを病院Aにおける検査基準と比較することで、再検査、追加検査等の必要性を判定する。これにより、病院間の検査結果の差異、あるいは地域差を考慮して必要な処置を講ずることができる。
【0079】
(変形例2)
変形例2として、変形例1とは逆に、規模が小さく、検査データのサンプル数が少ない病院B、または例えば二次医療圏の患者平均年齢が大きく異なる等の、患者の臨床検査値が異なる分布を持つ病院B、から規模の大きな病院Aに、検査データを問い合わせるケースが想定され得る。この場合、例えばサーバ1は病院Bの端末2からの要求を受け、病院Aでの検査データを病院B用の検査データに変換し、分布図等を生成して病院Bの端末2に出力する。あるいはサーバ1は、病院Bの患者の検査データを病院A用の検査データに変換し、病院Aで検査を受けた他の患者の検査データと組み合わせた分布図等を生成してもよい。これにより、例えばサンプル数が少ない希少疾患などについて、規模の小さな病院Bでも好適に対処することができる。
【0080】
(変形例3)
変形例3として、検査を行う病院(検査施設)ではなく、検査を受ける被検者の属性に応じて検査データを複数のデータ集合に分類し、分類した各集合の検査データを相互に変換するようにしてもよい。被検者の属性は、例えば職種である。例えばサーバ1は、職種毎に分類した検査データ群を学習した変換モデル141を構築しておき、各職場(職種)における健康診断の検査結果(検査データ)を変換モデル141に入力して、他の職場における検査結果に変換する。これにより、職種、すなわち働き方の違いに応じた検査結果の相違を考慮して、適切な診断を下すことができる。
【0081】
なお、上記では被検者の属性として職種を挙げたが、例えば被検者の年齢、性別、社会的地位、生活地域等に応じて検査データを複数の集合に分類し、各集合の検査データの相互変換を行うようにしてもよい。すなわち、サーバ1は被検者の属性に応じて検査データを分類し、他の属性に対応する検査データに変換可能であればよく、被検者の属性は特に限定されない。
【0082】
(変形例4)
変形例4として、保険会社、銀行等のように、顧客(被験者)から提出される健康診断結果等の検査データに基づいて顧客の健康リスクを判断する機関が、サーバ1に検査データの異常の有無を問い合わせるケースが想定され得る。この場合、例えばサーバ1は、当該機関の端末2から、顧客の検査データを取得して異常判定の要求を受け付ける。要求を受け付けた場合、サーバ1は、顧客の検査データを、顧客が検査を受けた検査施設(病院等)とは異なる検査施設のデータに相互変換し、他の被検者の検査データと組み合わせて異常の有無を判定する。サーバ1は、判定結果を要求元の端末2に出力する。これにより、保険会社、銀行等では顧客の健康リスクを適切に判断することができる。
【0083】
なお、変形例4においてサーバ1は、現在の顧客の検査データから現時点での異常の有無を判定するだけでなく、将来の異常の有無、すなわち健康リスクを推定するようにしてもよい。この場合、例えばサーバ1は学習時に、各被検者の検査データに当該被検者の将来の健康リスクを表す危険度(例えば死亡率、疾患率等)を対応付けた教師データを用いて学習を行い、検査データと共に危険度を出力する変換モデル141を生成する。これにより、各患者の将来の健康リスクを推定することができ、保険会社、銀行等はより好適に判断を行うことができる。
【0084】
(変形例5)
変形例5として、タクシー等の車両(移動体)を運転する運転手のバイタルサイン(検査データ)の異常の有無を問い合わせるケースが想定される。なお、運転手が運転する移動体は車両に限定されず、例えば航空機、船舶等であってもよい。
【0085】
例えばサーバ1は、複数のタクシー会社それぞれの運転手のバイタルサインを用いて、各タクシー会社用にバイタルサインを変換する変換モデル141を生成しておく。そしてサーバ1は、車両の運転開始前に計測した運転手のバイタルサイン(心電図等)を不図示の端末装置から取得し、バイタルサインの異常の有無を判定するよう要求を受け付ける。要求を受け付けた場合、サーバ1は対象の運転手を含む複数の運転手のバイタルサインを変換モデル141により変換し、バイタルサインの分布データを生成して対象の運転手の異常の有無を判定する。これにより、例えば運転時における急性疾患の発症リスクを推定するなど、適切なバイタルチェックを行うことができる。
【0086】
(変形例6)
変形例6として、個人の健康を継続的に管理するPHR(Personal Health Record)に利用するケースが想定される。例えばユーザ(被験者)は、年齢、体重、社会的地位等の基本的な患者プロファイルをサーバ1に登録しておくほか、スマートウォッチ等のウェアラブルデバイスでバイタルサイン(検査データ)を計測し、サーバ1に送信する。例えばサーバ1は、患者プロファイルに応じてユーザを複数の集合に分類(例えば年代毎に分類)し、各集合の検査データに相互変換する変換モデル141を構築しておく。ウェアラブルデバイスで計測したバイタルサインを受信した場合、サーバ1は、変換モデル141を用いて各集合のユーザのバイタルサインを変換し、複数のユーザのバイタルサインの分布から、対象ユーザのバイタルサインの異常の有無を判定する。これにより、例えば個人の疾患リスクを簡易的に推定可能となるほか、疾患の診断目的以外にも、フィットネス、トレーニング等の目的で検査を行い、生体バランスの改善に利用することができる。
【0087】
(変形例7)
変形例7として、同一の検査施設において、異なる検査条件で検査した検査データを統合するケースが想定される。検査条件とは、例えば検査機器、検査試薬、検査方法(温度、反応時間、検査手順等)、検査技師などである。例えば同一の検査目的の検査であっても、検査機器の個体が異なる場合などは検査データに違いが現れる恐れがある。そこで、例えばサーバ1は検査条件(検査機器等)毎に検査データを分類し、各検査条件の検査データを相互に変換する変換モデル141を構築しておく。検査データを取得した場合、サーバ1は各検査条件の検査データを変換してデータ統合を行い、検査データの分布を作成する。これにより、各検査条件の検査データを標準化し、検査の品質確保及び効率化を図ることができる。
【0088】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0089】
1 サーバ(情報処理装置)
11 制御部
12 主記憶部
13 通信部
14 補助記憶部
P プログラム
141 変換モデル
142 患者DB
143 病院DB
144 検査DB
2 端末