(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137196
(43)【公開日】2024-10-07
(54)【発明の名称】学習装置、学習方法及び学習プログラム
(51)【国際特許分類】
G16H 50/50 20180101AFI20240927BHJP
【FI】
G16H50/50
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023048623
(22)【出願日】2023-03-24
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(71)【出願人】
【識別番号】304021831
【氏名又は名称】国立大学法人千葉大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】相津 琢磨
(72)【発明者】
【氏名】王 祖嘉
(72)【発明者】
【氏名】森下 智之
(72)【発明者】
【氏名】櫻井 陽一
(72)【発明者】
【氏名】三澤 園子
(72)【発明者】
【氏名】水地 智基
(72)【発明者】
【氏名】吉村 健佑
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA21
(57)【要約】
【課題】希少疾患の発症を推定する推定モデルを構築することができる。
【解決手段】サーバ20は、複数の医療機関から、少なくとも希少疾患を発症した患者の検査データ及び診療データを登録する登録部22と、患者の検査データ及び診療データに対し、所定の前処理を行う第1前処理部24と、複数の希少疾患ごとに発症確率を推定する第1推定モデル26を用いて、前処理後の推定対象の患者の検査データ及び診療データを基に、複数の希少疾患ごとに推定対象の患者の発症確率を推定する第1推定部25と、少なくとも前処理後の希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、第1推定モデル26に学習させる第1学習部27と、を有する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
複数の医療機関から、少なくとも希少疾患を発症した患者の検査データ及び診療データを登録する登録部と、
患者の検査データ及び診療データに対し、所定の前処理を行う前処理部と、
複数の前記希少疾患ごとに発症確率を推定する推定モデルを用いて、前記前処理後の推定対象の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定する推定部と、
少なくとも前記前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記推定モデルに学習させる学習部と、
を有することを特徴とする学習装置。
【請求項2】
前記前処理部は、前記検査データ及び診療データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換する第1前処理を行うことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記前処理部は、前記検査データ及び診療データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換し、最も粒度が細かい項目のカテゴリ変数部を、前記カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮する第2前処理を行うことを特徴とする請求項1に記載の学習装置。
【請求項4】
前記前処理部は、前記検査データ及び診療データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換し、最も粒度が細かい第1項目のカテゴリ変数部を、前記カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮するとともに、前記第1項目よりも粒度が粗い第2項目を、前記第2項目に属する前記第1項目の圧縮された各ラベルのカウント数で表現する第3前処理を行うことを特徴とする請求項1に記載の学習装置。
【請求項5】
前記前処理部は、
前記検査データ及び診療データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換する第1前処理を行う第1前処理部と、
前記検査データ及び診療データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換し、最も粒度が細かい項目のカテゴリ変数部を、前記カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮する第2前処理を行う第2前処理部と、
前記検査データ及び診療データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換し、最も粒度が細かい第1項目のカテゴリ変数部を、前記カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮するとともに、前記第1項目よりも粒度が粗い第2項目を、前記第2項目に属する前記第1項目の圧縮された各ラベルのカウント数で表現する第3前処理を行う第3前処理部と、
を有し、
前記推定部は、
前記第1前処理後の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定する第1推定モデルを有する第1推定部と、
前記第2前処理後の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定する第2推定モデルを有する第2推定部と、
前記第3前処理後の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定する第3推定モデルを有する第3推定部と、
を有し、
前記学習部は、
少なくとも前記第1前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記第1推定モデルに学習させる第1学習部と、
少なくとも前記第2前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記第2推定モデルに学習させる第2学習部と、
少なくとも前記第3前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記第3推定モデルに学習させる第3学習部と、
を有することを特徴とする請求項1に記載の学習装置。
【請求項6】
前記学習装置は、データを断片化したシェアの状態で複数のサーバに分散保管し、前記複数のサーバが秘密計算上で計算処理を行う秘密計算AI(Artificial Intelligence)によって実現されることを特徴とする請求項1に記載の学習装置。
【請求項7】
学習装置が実行する学習方法であって、
複数の医療機関から、少なくとも希少疾患を発症した患者の検査データ及び診療データを登録する工程と、
患者の検査データ及び診療データに対し、所定の前処理を行う工程と、
複数の前記希少疾患ごとに発症確率を推定する推定モデルを用いて、前記前処理後の推定対象の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定する工程と、
少なくとも前記前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記推定モデルに学習させる工程と、
を含んだことを特徴とする学習方法。
【請求項8】
複数の医療機関から、少なくとも希少疾患を発症した患者の検査データ及び診療データを登録するステップと、
患者の検査データ及び診療データに対し、所定の前処理を行うステップと、
複数の前記希少疾患ごとに発症確率を推定する推定モデルを用いて、前記前処理後の推定対象の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定するステップと、
少なくとも前記前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記推定モデルに学習させるステップと、
を実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
機械学習を用いた推定モデルを用いて、疾患の発症を推定する推定装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、希少疾患に対しては、一般医の段階では適切な判断を下すのが難しく、早期診断・早期治療の機会を逃している患者が少なくない。このため、希少疾患の発症確率を推定する推定モデルの構築が要望されている。
【0005】
本発明は、上記に鑑みてなされたものであって、希少疾患の発症を推定する推定モデルを構築することができる学習装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明の学習装置は、複数の医療機関から、少なくとも希少疾患を発症した患者の検査データ及び診療データを登録する登録部と、患者の検査データ及び診療データに対し、所定の前処理を行う前処理部と、複数の前記希少疾患ごとに発症確率を推定する推定モデルを用いて、前記前処理後の推定対象の患者の検査データ及び診療データを基に、前記複数の希少疾患ごとに前記推定対象の患者の発症確率を推定する推定部と、少なくとも前記前処理後の前記希少疾患を発症した患者の検査データ及び診療データを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、前記推定モデルに学習させる学習部と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、希少疾患の発症を推定する推定モデルを構築することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態1における推定モデルの学習フェーズの概要を示す図である。
【
図2】
図2は、実施の形態1における推定モデルを用いた推定フェーズの概要を示す図である。
【
図3】
図3は、実施の形態1に係る処理システムの構成の一例を示すブロック図である。
【
図4】
図4は、
図3に示す登録者サーバの構成の一例を模式的に示す図である。
【
図5】
図5は、
図4に示すデータ抽出部の処理を説明する図である。
【
図6】
図6は、
図3に示すサーバの構成の一例を模式的に示す図である。
【
図7】
図7は、
図6に示す第1前処理部の処理を説明する図である。
【
図8】
図8は、
図6に示す第1前処理部の処理を説明する図である。
【
図9】
図9は、
図6に示す第1前処理部の処理を説明する図である。
【
図11】
図11は、実施の形態1に係る学習処理の処理手順を示すシーケンス図である。
【
図12】
図12は、実施の形態1に係る推定処理の処理手順を示すシーケンス図である。
【
図13】
図13は、実施の形態2に係るサーバの構成の一例を模式的に示す図である。
【
図16】
図16は、実施の形態2に係る学習処理の処理手順を示すシーケンス図である。
【
図17】
図17は、実施の形態2に係る推定処理の処理手順を示すシーケンス図である。
【
図18】
図18は、実施の形態3に係るサーバの構成の一例を模式的に示す図である。
【
図21】
図21は、実施の形態3に係る学習処理の処理手順を示すシーケンス図である。
【
図22】
図22は、実施の形態3に係る推定処理の処理手順を示すシーケンス図である。
【
図23】
図23は、実施の形態4に係るサーバの構成の一例を模式的に示す図である。
【
図24】
図24は、実施の形態4に係る学習処理の処理手順を示すシーケンス図である。
【
図26】
図26は、実施の形態4に係る推定処理の処理手順を示すシーケンス図である。
【
図27】
図27は、実施の形態1に係る処理システムの構成の他の例を示すブロック図である。
【
図28】
図28は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る学習装置、学習方法及び学習プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る学習装置、学習方法及び学習プログラムが限定されるものではない。
【0010】
[実施の形態1]
まず、実施の形態1について説明する。実施の形態1では、データを暗号化したまま計算できる秘密計算AI(Artificial Intelligence)によって、複数の希少疾患ごとに推定対象の患者の発症確率を推定する推定モデルを実現する場合について説明する。
【0011】
[学習フェーズ]
まず、推定モデルの学習フェーズについて説明する。
図1は、実施の形態1における推定モデルの学習フェーズの概要を示す図である。
【0012】
図1に示すように、医療機関A,Bでは、受診した患者に対する診療が行われ(
図1の(1))、希少疾患を発症した患者の、検査データ及び診療データ(患者データ)が収集される。診療データには、この患者が発症した希少疾患を示す希少疾患情報、患者の既往歴、家族歴も含まれる。
【0013】
医療機関A,Bの登録者サーバ10A,10Bが、登録用Web UIを介して、希少疾患を発症した患者の患者データを、学習データとして、データセンタ(DC)の秘密計算AIに登録する(
図1の(2))。学習データは、希少疾患を発症した患者の患者データのみに限らず、希少疾患以外の疾患を発症した患者の患者データも含む。なお、実施の形態1では、末梢神経疾患、具体的には、慢性炎症性脱髄性ニューロパチー、ギランバレー症候群、POEMS症候群、抗MAG抗体関連ニューロパチー、Charcot-Marie-Tooth病、アミロイドーシスを、希少疾患の一例として説明する。なお、例示した希少疾患は、一例であり、脳神経系の疾患に限らず、他の疾患であってもよい。
【0014】
そして、DCでは、データを、複数のシェアと呼ばれる断片に分割し、これらのシェアを複数のサーバ20A~20Cに分散保管させた状態で、複数のサーバ20A~20Cが、複数のサーバ20A~20C間でデータの演算と交換を行うマルチパーティ計算を行うことで秘密計算が実行される(例えば、参考文献1参照)。個々のシェアはそれぞれ意味のないデータになっており、シェア一つだけでは元データを復元できず情報は洩れないが、ある一定数以上のシェアが揃うと元のデータを復元することができる。
参考文献1:日本電信電話株式会社,秘密計算のシステムとその原理, [online],[令和4年10月5日検索]、インターネット<URL:https://www.rd.ntt/sc/project/data-security/NTT-himitsu-keisan.pdf>
【0015】
実施の形態1では、秘密計算AIである複数のサーバ20A~20C間で秘密計算を行うことで、複数の希少疾患ごとに発症確率を推定する第1推定モデル26(例えば、機械学習モデル)を作成する(
図1の(3))。第1推定モデル26のモデルパラメータは、複数のサーバ20A~20Cに分散保管される。第1推定モデル26は、暗号化された患者データに対し、複数の希少疾患の発症確率を推定し、暗号化された状態の推定結果を出力する。
【0016】
まず、複数のサーバ20A~20Cは、学習用の患者データに対して、第1推定モデル26が学習可能となるように、所定の前処理を行う(
図1の(3A))。サーバ20A~20Cは、学習アルゴリズムを選択して、少なくとも、前処理後の、希少疾患を発症した患者の患者データを学習データとし、患者の患者データと該患者の希少疾患の発症確率との関係を、第1推定モデル26に学習(例えば、機械学習)させる(
図1の(3B))。サーバ20A~20Cは、精度評価及びパラメータ調整を行った後に(
図1の(3C))、第1推定モデル26をデプロイする(
図1の(3D))。
【0017】
[推定フェーズ]
次に、
図2を参照して、推定モデルの運用フェーズについて説明する。
図2は、第1推定モデル26を用いた推定フェーズの概要を示す図である。
【0018】
図2に示すように、依頼元の医療機関Kでは、医師が、推定対象の、病名が確定できない患者の検査データ及び診療データ(患者データ)等を、依頼元端末30に入力する(
図2の(1))。依頼元端末30は、推定対象の、病名が確定できない患者の患者データと、推定対象の、病名が確定できない患者の希少疾患の発症確率の推定要求とをDCに送信する(
図2の(2))。
【0019】
DCでは、サーバ20A~20Cは、秘密計算を行うことで、推定対象の、病名が確定できない患者の患者データに所定の前処理を行った後に、第1推定モデル26を用いて、推定対象の患者の希少疾患の発症確率を推定する(
図2の(3))。
【0020】
依頼元端末30は、サーバ20A~20Cから、推定結果を受信し(
図2の(4))、受信した推定結果を復号化した後に、推定結果を表示する(
図2の(5))。依頼元端末30は、推定された発症確率が所定値以上の疾患を「疑いあり」と表示する(
図2の(6))。
【0021】
例えば、依頼元端末30は、慢性炎症性脱髄性ニューロパチー、ギランバレー症候群、POEMS症候群、抗MAG抗体関連ニューロパチー、Charcot-Marie-Tooth病、アミロイドーシス、糖尿性ニューロパチーの一覧と、推定された発症確率が所定値以上の疾患については、発症の疑いがあることを示す「疑いあり」の文言とを対応付けたメニューM1を表示する。例えば、メニューM1では、推定対象の、病名が確定できない患者が、ギランバレー症候群と、Charcot-Marie-Tooth病との二つの疾患を発症する疑いがあることを示す。
【0022】
[処理システム]
実施の形態1における処理システムについて説明する。
図3は、実施の形態1に係る処理システムの構成の一例を示すブロック図である。
【0023】
図1に示す実施の形態1に係る処理システム100は、データを暗号化したまま計算できる秘密計算AI上で、複数の希少疾患の発症確率を推定する推定モデルを構築したシステムである。実施の形態1では、
図1に示すように、学習用の希少疾患の患者データを収集する医療機関A,Bの登録者サーバ10A,10Bと、DC内のサーバ20A,20B,20Cと、対象となる患者の希少疾患の発症確率の推定依頼を行う依頼元端末30とで構成される例について説明する。
【0024】
なお、
図1に示す構成は一例に過ぎず、具体的な構成や各装置の数は特に限定されない。また、説明の容易化のために、登録者サーバ10A,10Bと依頼元端末30とを分けて説明するが、実際の運用では、登録者サーバ10A,10Bが有する機能を依頼元端末30が有していてもよい。また、登録者サーバ10A,10Bを総称する場合には、登録者サーバ10とする。サーバ20A,20B,20Cを総称する場合には、サーバ20とする。
【0025】
医療機関A,Bでは、登録者サーバ10A,10Bが、希少疾患を発症した患者の検査データや医師による診療データから、所定の項目のデータのみを抽出した患者データを作成してDCのサーバ20にアップロードする。患者データは、シェアに断片化された状態で、DCのサーバ20A~20Cに分散して保管される。すなわち、患者データが断片化された各シェアは、暗号化された状態で、DCのサーバ20A~20Cに分散して保管される。
【0026】
DCのサーバ20A~20Cは、サーバ20A~20C間でデータの演算と交換とを行うマルチパーティ計算を行うことで、推定モデルの学習、推定モデルを用いた推定を行う。
【0027】
サーバ20A~20Cは、学習フェーズでは、登録者サーバ10A,10Bによって登録された学習用の患者データに所定の前処理を行った後に、第1推定モデル26に学習させる。
【0028】
また、サーバ20A~20Cは、推定フェーズでは、依頼元端末30から、推定対象の、病名が確定できない患者の患者データと、この患者の希少疾患の発症確率の推定要求とを受け付けると、推定対象の患者の患者データに所定の前処理を行う。そして、サーバ20A~20Cは、前処理後の患者データを基に、第1推定モデル26を用いて、複数の希少疾患ごとに、この患者の発症確率を推定し、推定結果を依頼元端末30に送信する。
【0029】
依頼元端末30は、受信した推定結果を復号化した後に、複数の希少疾患のうち、推定された発症確率が所定値以上の疾患に対し、この疾患が発症する「疑いあり」として表示する。
【0030】
[登録者サーバ]
続いて、処理システム100の各装置の構成について説明する。
図4は、
図3に示す登録者サーバ10の構成の一例を模式的に示す図である。
【0031】
登録者サーバ10は、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、登録者サーバ10は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、登録者サーバ10は、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、登録者サーバ10は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。登録者サーバ10は、データ抽出部11及び登録部12を有する。
【0032】
データ抽出部11は、医療機関AのDBに登録されている、希少疾患を発症した患者の検査データ及び診療データから、サーバ20A~20Cに秘密分散にて登録する学習用の患者データを抽出する。
図5は、
図4に示すデータ抽出部11の処理を説明する図である。
【0033】
テーブルT1は、診療結果の一例であり、例えば、患者番号、患者氏名(不図示)、疾患(疾患名)、・・・、年齢(数値)、性別、身長(数値)、体重(数値)、既往歴、既往歴(自由記載)などの項目がある。
【0034】
データ抽出部11は、テーブルT1から、第1推定モデル26の学習に必要な項目を抽出する。例えば、データ抽出部は、テーブルT1から、ID、疾患(疾患名)、年齢(数値)、性別、身長(数値)、体重(数値)、既往歴、既往歴(自由記載)、家族歴(類症)、家族歴(疾患名)、主訴、主訴(自由記載)、症状の部位、症状の左右差、発症年齢、発症様式、発症様式(自)、握力(数)などの複数の項目(例えば、213項目)を抽出し、テーブルT2を作成する。
【0035】
なお、データ抽出部11は、電子カルテシステムなどによって蓄積された患者データから、第1推定モデル26の学習に必要な項目のデータを抽出する。また、データ抽出部11は、紙のカルテに記載された内容を画像認識等によって認識することで、第1推定モデル26の学習に必要な項目に対応するデータを抽出してもよい。
【0036】
登録部12は、データ抽出部11が抽出した、学習用の患者データ(例えば、テーブルT1)を複数のシェアに分割し、分割したシェアを20A~20Cにそれぞれ分散して登録させる要求を行う。例えば、登録者サーバ10の操作者は、Webブラウザで展開された、処理システム100用のWebUI画面を介して、登録データの選択やシェアの分散保管要求を行う。
【0037】
[サーバ]
次に、サーバ20の構成について説明する。
図6は、
図3に示すサーバ20の構成の一例を模式的に示す図である。
【0038】
サーバ20は、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、サーバ20は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、サーバ20は、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、サーバ20は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。サーバ20は、シェアDB21、登録部22、推定部23及び第1学習部27を有する。
【0039】
シェアDB21は、例えば、登録者サーバ10A,10Bから登録を要求されたシェアを記憶する。シェアは、例えば、学習用の患者データである。
【0040】
登録部22は、登録者サーバ10A,10Bから登録を要求されたシェアを、シェアDB21に登録する。登録部22は、登録者サーバ10A,10Bからの登録要求を受け付けることで、複数の医療機関A,Bから、希少疾患を発症した患者の検査データ及び診療データと、希少疾患以外の疾患を発症した患者の検査データ及び診療データとを取得し、登録する。
【0041】
推定部23は、推定対象の、病名が確定できない患者の患者データを基に、複数の希少疾患ごとに、推定対象の患者の発症確率を推定する。推定部23は、秘密計算上で、データを復元することなく推定処理を行う。推定部23は、第1前処理部24と、第1推定モデル26を有する第1推定部25とを有する。
【0042】
第1前処理部24は、患者の検査データ及び診療データ(患者データ)に対し、所定の前処理を行う。第1前処理部24は、患者データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータを、それぞれ対応するカテゴリ変数に変換する第1前処理を行う。
【0043】
図7及び
図8は、
図6に示す第1前処理部24の処理を説明する図である。第1前処理部24は、登録者サーバ10から登録されたテーブルT2に対し、患者の疾患名及び家族歴の疾患名、年齢、身長等の数値以外の項目のデータをそれぞれ対応するカテゴリ変数に変換する第1前処理を行う(
図7の(1))。
【0044】
例えば、第1前処理部24は、既往歴を、
図8に示す対応表に応じた数値に変換する。第1前処理部24は、既往歴の項目のデータについて、既往歴がない場合にはカテゴリ変数「0」に変換し、既往歴が糖尿病である場合にはカテゴリ変数「1」に変換し、既往歴が高血圧症である場合にはカテゴリ変数「2」に変換する。また、第1前処理部24は、自由記述の項目を削除する。これによって、第1前処理部24は、例えば、既往歴の項目「高血圧症」がカテゴリ変数「2」に変換されたテーブルT3を生成する。このように、第1前処理部24は、各項目に対応するデータを、数値またはカテゴリ変数に変換する。
【0045】
そして、第1前処理部24は、患者データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を、粒度に応じて段階的に設定する。
図9は、
図6に示す第1前処理部24の処理を説明する図である。
【0046】
例えば、第1前処理部24は、
図9に示すように、患者背景を大項目とし、小項目として、疾患(目的変数)、年齢(歳)、性別の項目を対応付ける。
【0047】
第1前処理部24は、病歴を大項目とし、小項目として、主訴1、症状の部位の項目を対応付ける。第1前処理部24は、主訴1の項目には、意識障害、意識消失を示す各カテゴリ変数を値づける。
【0048】
第1前処理部24は、診察所見を大項目とし、中項目として、高次機能、脳神経系、運動系の項目を対応付ける。そして、第1前処理部24は、高次機能の小項目として、意識、失行の項目を対応付ける。失行の項目には、なし、口舌顔面失行、肢節運動失行、不明を示す各カテゴリ変数を値づける。
【0049】
第1前処理部24は、検査所見を大項目とし、中項目として、血液検査、髄液検査、頭部MRIの項目を対応付ける。そして、第1前処理部24は、血液検査の小項目として、WBC(/μL)、Eos(%)を対応付け、各小項目に数値を値づける。
【0050】
このように、第1前処理部24は、第1推定モデル26に入力可能なデータとなるように、患者データに対し、第1前処理を行う。
【0051】
第1推定部25は、第1推定モデル26を用いて、第1前処理後の推定対象の、病名が確定できない患者の患者データを基に、複数の希少疾患ごとに推定対象の患者の発症確率を推定する第1推定処理を行う。
【0052】
第1推定モデル26は、複数の希少疾患ごとに発症確率を推定するモデルである。第1推定モデル26は、第1前処理後の患者データが入力されると、複数の希少疾患と、この患者の各希少疾患の発症確率とを対応付けたデータを出力する。第1推定モデル26のモデルパラメータは、複数のサーバ20A~20Cに分散保管される。サーバ20A~20Cの各第1推定部25は、サーバ20A~20C間でマルチパーティ計算を行うことで、暗号化かつ第1前処理が実行された患者データを基に、この患者の各希少疾患の発症確率を推定する。
【0053】
第1学習部27は、第1前処理後の、希少疾患を発症した患者の検査データ及び診療データと、希少疾患以外の疾患を発症した患者の検査データ及び診療データとを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、第1推定モデル26に学習させる。
【0054】
第1学習部27は、第1前処理後の学習データである検査データ及び診療データ(希少疾患情報を除く)を第1推定モデル26に入力し、第1推定モデル26が推定した各希少疾患の発症確率が、実際に診断された希少疾患に近づくように、第1推定モデル26のパラメータを更新する第1パラメータ更新処理を行う。第1学習部27は、例えば、所定の終了条件を満たすまで、第1推定モデル26の学習を実行する。なお、終了条件は、例えば、処理が一定回数だけ繰り返されたこと、パラメータの更新量が収束したこと等である。
【0055】
[依頼元端末]
次に、依頼元端末30の構成について説明する。
図10は、
図3に示す依頼元端末30の構成の一例を模式的に示す図である。
【0056】
依頼元端末30は、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、依頼元端末30は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、依頼元端末30は、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。そして、依頼元端末30は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイス、液晶ディスプレイなどの表示装置を有し、情報の入出力を行う。依頼元端末30は、受付部31、推定結果受信部32及び推定結果出力部33を有する。
【0057】
受付部31は、依頼元端末30の操作者(医師等)の操作にしたがって、希少疾患の推定対象の、病名が確定できない患者の検査データ及び診療データの入力を受け付ける。受付部31は、希少疾患の推定対象の患者の検査データ及び診療データから、第1推定モデル26の推定に必要な項目のデータを抽出し、抽出した患者データとともに、推定対象の患者の希少疾患の発症確率の推定要求をDCに送信する。
【0058】
推定結果受信部32は、各サーバ20A~20Cから暗号化されたままの推定結果を受信する。
【0059】
推定結果出力部33は、受信した各計算結果を復元し、希少疾患の推定対象の、病名が確定できない患者の、複数の希少疾患ごとに発症確率を出力する。例えば、推定結果出力部33は、複数の希少疾患を一覧表示するとともに、推定された発症確率が所定値以上の疾患については、「疑いあり」と表示する。
【0060】
[学習処理]
次に、実施の形態1に係る学習処理について説明する。
図11は、実施の形態1に係る学習処理の処理手順を示すシーケンス図である。
【0061】
図11に示すように、登録者サーバ10A,10Bは、希少疾患を発症した患者の検査データ及び診療データから、学習用の患者データを抽出し(ステップS1A,S1B)、複数のシェアに分割し、分割したシェアをサーバ20A~20Cにそれぞれ分散して登録させる(ステップS2A,S2B,S3A-1~S3A-3,S3B-1~S3B-3,S4)。
【0062】
サーバ20A~20Cは、学習用の患者データに対し、第1前処理を行った後に(ステップS5)、第1前処理後の学習用の患者データを基に、複数の希少疾患ごとに、この患者の発症確率を推定する第1推定処理を行う(ステップS6)。
【0063】
サーバ20A~20Cは、第1推定モデル26が推定した各希少疾患の発症確率が、実際に診断された希少疾患に近づくように、第1推定モデル26のパラメータを更新する第1パラメータ更新処理を行う(ステップS7)。サーバ20A~20Cは、所定の終了条件を満たすまで、ステップS5~ステップS7を繰り返し実行する。サーバ20A~20Cは、秘密計算AI上で、ステップS4~ステップS7を実行する。
【0064】
[推定処理]
次に、実施の形態1に係る推定処理について説明する。
図12は、実施の形態1に係る推定処理の処理手順を示すシーケンス図である。
【0065】
図12に示すように、依頼元端末30は、希少疾患の推定対象の、病名が確定できない患者の検査データ及び診療データ(患者データ)の入力と、推定対象の患者の希少疾患の発症確率の推定要求を受け付ける(ステップS11,S12)。依頼元端末30は、希少疾患の推定対象の患者の検査データ及び診療データから、第1推定モデル26の推定に必要な項目のデータを抽出し、抽出した患者データとともに、希少疾患の発症確率の推定要求をDCのサーバ20A~20Cに送信する(ステップS13-1~S13-3)。
【0066】
サーバ20A~20Cは、推定対象の患者データに対し、第1前処理を行った後に(ステップS14)、第1前処理後の推定対象の患者データを基に、複数の希少疾患ごとに、この患者の発症確率を推定する第1推定処理を行う(ステップS15)。サーバ20A~20Cは、秘密計算AI上で、ステップS14,S15を実行する。サーバ20A~20Cは、推定対象の患者の希少疾患の発症確率の推定結果を依頼元端末30に送信する(ステップS16-1~S16-3)。
【0067】
依頼元端末30は、推定結果を受信し(ステップS17)、受信した推定結果を復号化した後に、推定対象の患者の希少疾患の発症確率の推定結果を表示する(ステップS18)。依頼元端末30は、複数の各希少疾患のうち、推定された発症確率が所定値以上の疾患を「疑いあり」と表示する。
【0068】
[実施の形態1の効果]
このように、実施の形態1では、サーバ20A~20Cが、複数の希少疾患ごとに発症確率を推定する第1推定モデル26を作成及び利用することで、症例数が少ない希少疾患の診断を支援することができ、希少疾患の早期診断・早期治療の促進を実現する。
【0069】
また、サーバ20A~20Cは、秘密計算AI上で、暗号化されたまま、患者データを学習する。このため、実施の形態1によれば、個人情報を含む患者データを安全に取り扱うことができ、症例数が少ない希少疾患であっても、複数の医療機関から患者データを収集することを可能とする。したがって、実施の形態1によれば、第1推定モデル26の学習に必要な量の患者データを収集することができ、第1推定モデル26の適切な学習が可能になる。
【0070】
また、実施の形態1では、秘密計算AI上で、暗号化されたまま、推定対象の、病名が確定できない患者の希少疾患の発症確率を推定する。このため、実施の形態1によれば、個人情報を含む患者データを安全に取り扱いながら、症例数が少ない希少疾患の発症確率を推定することができる。また、実施の形態1では、依頼元端末30が、発症の可能性がある希少疾患を複数表示することで、広い視野で診断を行うよう医師を支援することができる。
【0071】
[実施の形態2]
次に、実施の形態2について説明する。実施の形態2では検査データ及び診療データの項目のうち、最も粒度が細かい項目のカテゴリ変数部を、カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮する第2前処理を行うことで、学習(例えば、機械学習)の効率化を図る。
【0072】
実施の形態2に係る処理システムは、実施の形態1に係るサーバ20に代えて、サーバ220を有する。なお、実施の形態2においても、DCは複数のサーバ220(後述の220A~220C)を有し、複数のサーバ220は、各種データを、シェアに断片化した状態で分散して保管するとともに、複数のサーバ220間でマルチパーティ計算を行うことで、以降に説明する各種処理を実行する。
【0073】
[サーバ]
次に、サーバ220の構成について説明する。
図13は、実施の形態2に係るサーバ220の構成の一例を模式的に示す図である。サーバ220は、
図6に示すサーバ20の推定部23及び第1学習部27に代えて、推定部223及び第2学習部227を有する。
【0074】
推定部223は、第2前処理部224と、第2推定モデル226(例えば、機械学習モデル)を有する第2推定部225を有する。
【0075】
第2前処理部224は、患者の検査データ及び診療データ(患者データ)に対し、第2前処理を行う。第2前処理部224は、第2前処理として、患者データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換する。そして、第2前処理部224は、第2前処理として、最も粒度が細かい項目のカテゴリ変数部を、カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮する。
【0076】
図14及び
図15は、
図13に示す第2前処理部224の処理を説明する図である。第2前処理部224は、
図14に示すように、例えば、診察所見の小項目である「失行」のカテゴリ変数部(枠W2)を、カテゴリ変数に対応するデータの意味に従って圧縮する。
【0077】
図15に示すように、第2前処理部224は、小項目「失行」の、「なし」、「口舌顔面失行」、「肢節運動失行」、「観念失行」、「観念運動失行」、「その他」、「不明」に対応するカテゴリ変数を、カテゴリ変数に対応するデータの意味でさらにラベル付けする(
図15の(1))。
【0078】
具体的には、第2前処理部224は、カテゴリ変数のうち、「なし」に対応するカテゴリ変数に「正常」ラベルを付与する。第2前処理部224は、「口舌顔面失行」、「肢節運動失行」、「観念失行」及び「観念運動失行」に対応するカテゴリ変数に「異常」ラベルを付与する。第2前処理部224は、「その他」に対応するカテゴリ変数に「異常(仮)」ラベルを付与し、「不明」に対応するカテゴリ変数に「所見なし」ラベルを付与する。
【0079】
そして、第2前処理部224は、同一ラベルを圧縮する(
図15の(2))。例えば、
図15の例では、小項目「失行」の各カテゴリ変数に付与されたラベルが「正常」、「異常」、「所見なし」の3種であるため、第2前処理部224は、小項目「失行」については、カテゴリ変数を、「正常」、「異常」、「所見なし」に圧縮する。第2前処理によって、カテゴリ変数の種類分、情報量(次元数)が減るため、第2推定モデル226(後述)の学習時間の改善及び学習に必要なデータ量の低減を図ることができる。
【0080】
第2推定部225は、第2推定モデル226を用いて、第2前処理後の推定対象の、病名が確定できない患者の患者データを基に、複数の希少疾患ごとに推定対象の患者の発症確率を推定する第2推定処理を行う。
【0081】
第2推定モデル226は、複数の希少疾患ごとに発症確率を推定するモデルである。第2推定モデル226は、第2前処理後の患者データが入力されると、複数の希少疾患と、この患者の各希少疾患の発症確率とを対応付けたデータを出力する。第2推定モデル226のモデルパラメータは、複数のサーバ220に分散保管される。サーバ220の各第2推定部225は、サーバ220間でマルチパーティ計算を行うことで、暗号化かつ第2前処理が実行された患者データを基に、この患者の各希少疾患の発症確率を推定する。
【0082】
第2学習部227は、第2前処理後の、希少疾患を発症した患者の検査データ及び診療データと、希少疾患以外の疾患を発症した患者の検査データ及び診療データとを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、第2推定モデル226に学習させる。
【0083】
第2学習部227は、第2前処理後の学習データである検査データ及び診療データ(希少疾患情報を除く)を第2推定モデル226に入力し、第2推定モデル226が推定した各希少疾患の発症確率が、実際に診断された希少疾患に近づくように、第2推定モデル226のパラメータを更新する第2パラメータ更新処理を行う。
【0084】
[学習処理]
次に、実施の形態2に係る学習処理について説明する。
図16は、実施の形態2に係る学習処理の処理手順を示すシーケンス図である。
【0085】
図16に示すステップS21A~ステップS24は、
図11に示すステップS1A~ステップS4と同じ処理である。
【0086】
サーバ220A~220Cは、学習用の患者データに対し、第2前処理を行った後に(ステップS25)、第2前処理後の学習用の患者データを基に、複数の希少疾患ごとに、この患者の発症確率を推定する第2推定処理を行う(ステップS26)。
【0087】
サーバ220A~220Cは、第2推定モデル226が推定した各希少疾患の発症確率が、実際に診断された希少疾患に近づくように、第2推定モデル226のパラメータを更新する第2パラメータ更新処理を行う(ステップS27)。サーバ220A~220Cは、所定の終了条件を満たすまで、ステップS25~ステップS27を繰り返し実行する。サーバ220A~220Cは、秘密計算AI上で、ステップS24~ステップS27を実行する。
【0088】
[推定処理]
次に、実施の形態2に係る推定処理について説明する。
図17は、実施の形態2に係る推定処理の処理手順を示すシーケンス図である。
【0089】
図17に示すステップS31~ステップS33-3は、
図12に示すステップS11~ステップS13-3と同じ処理である。
【0090】
サーバ220A~220Cは、推定対象の、病名が確定できない患者データに対し、第2前処理を行った後に(ステップS34)、第2前処理後の推定対象の患者データを基に、複数の希少疾患ごとに、この患者の発症確率を推定する第2推定処理を行う(ステップS35)。サーバ220A~220Cは、秘密計算AI上で、ステップS34,S35を実行する。サーバ220A~220Cは、推定対象の患者の希少疾患の発症確率の推定結果を依頼元端末30に送信する(ステップS36-1~S36-3)。
図17に示すステップS37,S38は、
図12に示すステップS17,S18と同じ処理である。
【0091】
[実施の形態2の効果]
実施の形態2では、実施の形態1と同様の効果を奏するとともに、第2前処理によって
患者データの小項目のカテゴリ変数の種類分、情報量(次元数)が減るため第2推定モデル226(後述)の学習時間の改善及び学習に必要なデータ量の低減を図ることができる。
【0092】
そして、実施の形態2では、実施の形態1と同様に、発症の可能性がある希少疾患を複数表示することによって、医師が、候補となる複数の希少疾患から、検査等を基に疾患を絞り込むことができるよう支援している。言い換えると、実施の形態2は、患者が希少疾患である可能性の気づきを医師に与えることを目的とする。
【0093】
このため、候補となる希少疾患を複数提示し、その中に正解疾患が含まれていれば、上記の目的を果たすことができるといえる。すなわち、上記の目的を果たすため、ある一つの正解疾患をピンポイントで推定することよりも、正解の希少疾患が候補から漏れないことを重要視すべきであるといえる。したがって、実施の形態2では、同じ小項目で別の異常がみられる疾患を区別できなくなる第2前処理を行ったとしても、複数の希少疾患について発症確率を推定することで、正解の希少疾患が候補から漏れることを低減し、医師の診断を支援することができる。
【0094】
[実施の形態3]
次に、実施の形態3について説明する。実施の形態3では検査データ及び診療データの項目のうち、最も粒度が細かい第1項目のカテゴリ変数部を、カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮するとともに、第1項目よりも粒度が粗い第2項目のカテゴリ変数部を圧縮する第3前処理を行うことで、さらに学習(例えば、機械学習)の効率化を図る。
【0095】
実施の形態3に係る処理システムは、実施の形態2に係るサーバ220に代えて、サーバ320を有する。なお、実施の形態3においても、DCは複数のサーバ320(後述の320A~320C)を有し、複数のサーバ320は、各種データを、シェアに断片化した状態で分散して保管するとともに、複数のサーバ320間でマルチパーティ計算を行うことで、以降に説明する各種処理を実行する。
【0096】
[サーバ]
次に、サーバ320の構成について説明する。
図18は、実施の形態3に係るサーバ320の構成の一例を模式的に示す図である。サーバ320は、
図13に示すサーバ220の推定部223及び第2学習部227に代えて、推定部323及び第3学習部327を有する。
【0097】
推定部323は、第3前処理部324と、第3推定モデル326(例えば、機械学習モデル)を有する第3推定部325を有する。
【0098】
第3前処理部324は、患者の検査データ及び診療データ(患者データ)に対し、所定の前処理を行う。第3前処理部324は、第3前処理を行う。
【0099】
第3前処理部324は、第3前処理として、患者データに対し、患者背景、病歴、診察所見、または、検査所見に関する項目を粒度に応じて段階的に設定し、各項目のデータをそれぞれ対応するカテゴリ変数に変換する。そして、第3前処理部324は、第3前処理として、最も粒度が細かい第1項目のカテゴリ変数部を、カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮する。これとともに、第3前処理部324は、第3前処理として、第1項目よりも粒度が粗い第2項目を、第2項目に属する第1項目の圧縮された各ラベルのカウント数で表現する第3前処理を行う。
【0100】
図19及び
図20は、
図18に示す第3前処理部324の処理を説明する図である。第3前処理部324は、前述の
図14及び
図15に示すように、最も粒度が細かい小項目のカテゴリ変数部を、カテゴリ変数に対応するデータの意味に従ってラベル付けし、同一ラベルで圧縮する。
【0101】
そして、第3前処理部324は、
図19に示すように、例えば、小項目よりも粒度が粗い中項目単位でさらに情報圧縮を行う。例えば、第3前処理部324は、大項目「診察所見」の中項目「高次機能」、「脳神経系」、「運動系」(枠W3)の情報を圧縮する。
【0102】
具体的に、「診察所見」の中項目「高次機能」を例に説明する。例えば、
図20に示すように、第3前処理部324は、中項目「高次機能」に属する全小項目の圧縮された各ラベルをカウントする(
図20の(1))。この場合、中項目「高次機能」に属する全小項目は、「正常」、「異常」、「所見なし」の3種のラベルに圧縮されている。
【0103】
第3前処理部324は、中項目「高次機能」に属する全小項目の圧縮された各ラベル「正常」、「異常」、「所見なし」をカウントする。この結果、中項目「高次機能」(例えば、14次元)には、「正常」ラベルが5、「異常」ラベルが6、「所見なし」ラベルが3カウントされる。
【0104】
そして、第3前処理部324は、中項目「高次機能」を、中項目「高次機能」に属する全小項目の圧縮された各ラベル「正常」、「異常」、「所見なし」のカウント数「5,6,3」で表現する(
図20の(2))。第3前処理によって、14次元で表現されていた中項目「高次機能」を3次元ベクトルで表現できるため、情報量(次元数)が減り、第3推定モデル326(後述)の学習時間の改善及び学習に必要なデータ量の低減を図ることができる。また、この場合、中項目がすべて不明等のデータであっても入力がsparseとならない。
【0105】
第3推定部325は、第3推定モデル326を用いて、第3前処理後の推定対象の、病名が確定できない患者の患者データを基に、複数の希少疾患ごとに推定対象の患者の発症確率を推定する第3推定処理を行う。
【0106】
第3推定モデル326は、複数の希少疾患ごとに発症確率を推定するモデルである。第3推定モデル326は、第3前処理後の患者データが入力されると、複数の希少疾患と、この患者の各希少疾患の発症確率とを対応付けたデータを出力する。第3推定モデル326のモデルパラメータは、複数のサーバ320に分散保管される。サーバ320の各第3推定部325は、サーバ320間でマルチパーティ計算を行うことで、暗号化かつ第3前処理が実行された患者データを基に、この患者の各希少疾患の発症確率を推定する。
【0107】
第3学習部327は、第3前処理後の、希少疾患を発症した患者の検査データ及び診療データと、希少疾患以外の疾患を発症した患者の検査データ及び診療データとを学習データとし、患者の検査データ及び診療データと該患者の希少疾患の発症確率との関係を、第3推定モデル326に学習させる。
【0108】
第3学習部327は、第3前処理後の学習データである検査データ及び診療データ(希少疾患情報を除く)を第3推定モデル326に入力し、第3推定モデル326が推定した各希少疾患の発症確率が、実際に診断された希少疾患に近づくように、第3推定モデル326のパラメータを更新する第3パラメータ更新処理を行う。
【0109】
[学習処理]
次に、実施の形態3に係る学習処理について説明する。
図21は、実施の形態3に係る学習処理の処理手順を示すシーケンス図である。
【0110】
図21に示すステップS41A~ステップS44は、
図11に示すステップS1A~ステップS4と同じ処理である。
【0111】
サーバ320A~320Cは、学習用の患者データに対し、第3前処理を行った後に(ステップS45)、第3前処理後の学習用の患者データを基に、複数の希少疾患ごとに、この患者の発症確率を推定する第3推定処理を行う(ステップS46)。
【0112】
サーバ320A~320Cは、第3推定モデル326が推定した各希少疾患の発症確率が、実際に診断された希少疾患に近づくように、第3推定モデル326のパラメータを更新する第3パラメータ更新処理を行う(ステップS47)。サーバ320A~320Cは、所定の終了条件を満たすまで、ステップS45~ステップS47を繰り返し実行する。サーバ320A~320Cは、秘密計算AI上で、ステップS44~ステップS47を実行する。
【0113】
[推定処理]
次に、実施の形態3に係る推定処理について説明する。
図22は、実施の形態3に係る推定処理の処理手順を示すシーケンス図である。
【0114】
図22に示すステップS51~ステップS53-3は、
図12に示すステップS11~ステップS13-3と同じ処理である。
【0115】
サーバ320A~320Cは、推定対象の患者データに対し、第3前処理を行った後に(ステップS54)、第3前処理後の推定対象の患者データを基に、複数の希少疾患ごとに、この患者の発症確率を推定する第3推定処理を行う(ステップS55)。サーバ320A~320Cは、秘密計算AI上で、ステップS54,S55を実行する。サーバ320A~320Cは、推定対象の、病名が確定できない患者の希少疾患の発症確率の推定結果を依頼元端末30に送信する(ステップS56-1~S56-3)。
図22に示すステップS57,S58は、
図12に示すステップS17,S18と同じ処理である。
【0116】
[実施の形態3の効果]
実施の形態3では、第3前処理によって、中項目の次元をさらに低次元化できるため、第3推定モデル326の学習時間の改善及び学習に必要なデータ量の低減を図ることができ、中項目がすべて不明等のデータであっても入力がsparseとならないため、第3推定モデル326の学習を適切に実行できる。
【0117】
[実施の形態4]
次に、実施の形態4について説明する。実施の形態4に係るDCのサーバは、実施の形態1~3の各推定部及び各学習部を有し、各推定モデルの推定精度を評価し、評価を基に、いずれの推定モデルの推定結果を採用するかを設定する。また、DCのサーバは、各推定モデルの推定精度の評価結果を基に、いずれの推定モデルを重点的に学習させるかを設定してもよい。
【0118】
実施の形態4に係る処理システムは、実施の形態1に係るサーバ20に代えて、サーバ420を有する。なお、実施の形態4においても、DCは複数のサーバ420(後述の420A~420C)を有し、複数のサーバ420は、各種データを、シェアに断片化した状態で分散して保管するとともに、複数のサーバ420間でマルチパーティ計算を行うことで、以降に説明する各種処理を実行する。
【0119】
[サーバ]
次に、サーバ420の構成について説明する。
図23は、実施の形態4に係るサーバ420の構成の一例を模式的に示す図である。サーバ420は、
図3に示す20と比して、
図13に示すサーバ220の推定部223及び第2学習部227と、
図18に示す推定部323及び第3学習部327と、評価部428と、設定部429とを有する。
【0120】
評価部428は、推定フェーズにおいて、第1推定部25による推定結果、第2推定部225による推定結果、第3推定部325による推定結果を基に、第1推定部25、第2推定部225、及び、第3推定部325の推定精度を評価する。例えば、評価部428は、任意の患者データに対する第1推定部25、第2推定部225、及び、第3推定部325の推定確率と、該任意の患者が発症した希少疾患とを比較することで、各推定部の推定精度を評価する。
【0121】
設定部429は、評価部428による評価結果を基に第1推定部25、第2推定部225、及び、第3推定部325のいずれの推定結果を採用するかを設定する。
【0122】
推定精度が、第2推定部225が最も高く、第3推定部325、第1推定部25の順に低くなる場合を例に説明する。この場合、例えば、設定部429は、最も精度が高い第2推定部225の推定結果のみを採用して、依頼元端末30に送信する。或いは、設定部429は、推定部223のみに前処理及び推定処理を実行させてもよい。また、設定部429は、推定精度の高さに応じた重みを各推定部に設定し、第1推定部25、第2推定部225、及び、第3推定部325の推定結果の重みづけ和を依頼元端末30に送信する。
【0123】
また、設定部429は、学習処理の設定を行ってもよい。例えば、設定部429は、サーバ420のリソース等によって全ての推定モデルの学習が難しい場合には、最も精度が高い第2推定部225の第2推定モデル226に対する学習を優先して、第2学習部227に学習を実行させてもよい。
【0124】
[学習処理]
次に、実施の形態4に係る学習処理について説明する。
図24は、実施の形態4に係る学習処理の処理手順を示すシーケンス図である。
【0125】
図24に示すステップS61A~ステップS64は、
図11に示すステップS1A~ステップS4と同じ処理である。サーバ420A~420Cは、学習用の患者データを基に前処理及び学習処理を実行する(ステップS65)。
【0126】
[前処理及び学習処理の処理手順]
次に、
図24に示す前処理及び学習処理(ステップS65)について説明する。
図25は、
図24に示す前処理及び学習処理の処理手順を示すシーケンス図である。
【0127】
サーバ420A~420Cの各推定部23及び各第1学習部27は、
図11に示すステップS5~ステップS7と同じ処理を行うことで、第1前処理(ステップS71)、第1推定処理(ステップS72)及び第1パラメータ更新処理(ステップS73)を行う。
【0128】
サーバ420A~420Cの各推定部223及び各第2学習部227は、
図16に示すステップS25~ステップS27と同じ処理を行うことで、第2前処理(ステップS74)、第2推定処理(ステップS75)及び第2パラメータ更新処理(ステップS76)を行う。
【0129】
サーバ420A~420Cの各推定部323及び各第3学習部327は、
図21に示すステップS45~ステップS47と同じ処理を行うことで、第3前処理(ステップS77)、第3推定処理(ステップS78)及び第3パラメータ更新処理(ステップS79)を行う。
【0130】
ステップS71~ステップS73、ステップS74~ステップS76及びステップS77~ステップS79は、並列処理でなくともよい。また、設定部429の設定に従って、ステップS71~ステップS73、ステップS74~ステップS76、及び、ステップS77~ステップS79のいずれかの実行であってもよい。
【0131】
[推定処理]
次に、実施の形態4に係る推定処理について説明する。
図26は、実施の形態4に係る推定処理の処理手順を示すシーケンス図である。
【0132】
サーバ420A~420Cは、第1推定部25による推定結果、第2推定部225による推定結果、第3推定部325による推定結果を基に、第1推定部25、第2推定部225、及び、第3推定部325の推定精度を評価する評価処理を行う(ステップS81)。
【0133】
設定部429は、評価部428による評価結果を基に第1推定部25、第2推定部225、及び、第3推定部325のいずれの推定結果を採用するかを設定する設定処理を行う(ステップS82)。ステップS81,S82は、例えば、定期的に実行される。或いは、ステップS81,S82は、データ蓄積量が所定量を超えた場合、推定回数が所定回数を超えた場合、採用されている推定モデルの推定精度が目的の精度を下回った場合等、所定のタイミングで実行される。
【0134】
図26に示すステップS83~ステップS85-3は、
図12に示すステップS11~ステップS13-3と同じ処理である。
【0135】
サーバ420A~420Cは、推定部23,223,323にそれぞれ前処理(ステップS86)及び推定処理(ステップS87)を実行させ、設定処理において採用を設定された推定部の推定結果を採用して、依頼元端末30に送信する(ステップS88-1~ステップS88-3)。なお、サーバ420A~420Cは、設定処理において採用を設定された推定部23,223,323のみに前処理及び推定処理を実行させてもよいし、第1推定部25、第2推定部225、及び、第3推定部325の推定結果の重みづけ和を依頼元端末30に送信してもよい。
【0136】
図26に示すステップS89,S90は、
図12に示すステップS17,S18と同じ処理である。
【0137】
[実施の形態4の効果]
このように、実施の形態4に係るサーバ420A~420Cは、実施の形態1~3の各推定部及び各学習部を有するとともに、各推定モデルの推定精度を評価し、評価を基に、いずれの推定モデルの推定結果を採用するかを設定するため、依頼元端末30に発症推定結果を、安定した精度で提供することができる。また、サーバ420A~420Cは、各推定モデルの推定精度の評価結果を基に、いずれの推定モデルを重点的に学習させるかを設定するため、効率的に、推定モデルを学習或いは再学習することができる。
【0138】
なお、実施の形態1~4では、学習処理及び推定処理を秘密計算AI上で実行した場合について説明したが、これに限らない。
図27は、実施の形態1に係る処理システムの構成の他の例を示すブロック図である。
【0139】
図27の処理システム500に示すように、サーバ20A,20B,20Cの間で分散保管されていたデータを、サーバ520のみで保管してもよい。また、サーバ20A,20B,20Cがマルチパーティ計算を行うことで行っていた学習処理及び推定処理を、サーバ520のみで実行してもよい。すなわち、実施の形態1~4に係る学習処理及び推定処理を、暗号化せずに実行してもよい。
【0140】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUやGPU及び当該CPUやGPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0141】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0142】
[プログラム]
また、上記実施形態において説明した登録者サーバ10A,10B、サーバ20,220,320,420,520及び依頼元端末30が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態における登録者サーバ10A,10B、サーバ20,220,320,420,520及び依頼元端末30が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0143】
図28は、プログラムを実行するコンピュータを示す図である。
図28に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0144】
メモリ1010は、
図28に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、
図28に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0145】
ここで、
図28に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の、プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
【0146】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0147】
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0148】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0149】
10A,10B 登録者サーバ
11 データ抽出部
12 登録部
20,20A~20C,220,220A~220C,320,320A~320C,420,420A~420C,520 サーバ
21 シェアDB
22 登録部
23,223,323 推定部
24 第1前処理部
25 第1推定部
26 第1推定モデル
27 第1学習部
30 依頼元端末
31 受付部
32 推定結果受信部
33 推定結果出力部
100,500 処理システム
224 第2前処理部
225 第2推定部
226 第2推定モデル
227 第2学習部
324 第3前処理部
325 第3推定部
326 第3推定モデル
327 第3学習部
428 評価部
429 設定部