IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カカオ・ヘルスケア・コーポレイションの特許一覧

特表2024-522648機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム
<>
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図1
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図2
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図3
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図4
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図5
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図6
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図7
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図8
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図9
  • 特表-機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-21
(54)【発明の名称】機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラム
(51)【国際特許分類】
   G16H 10/00 20180101AFI20240614BHJP
   G06F 18/10 20230101ALI20240614BHJP
   G06N 20/00 20190101ALI20240614BHJP
【FI】
G16H10/00
G06F18/10
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023576068
(86)(22)【出願日】2022-05-11
(85)【翻訳文提出日】2023-12-07
(86)【国際出願番号】 KR2022006758
(87)【国際公開番号】W WO2022260293
(87)【国際公開日】2022-12-15
(31)【優先権主張番号】10-2021-0073384
(32)【優先日】2021-06-07
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】523462620
【氏名又は名称】カカオ・ヘルスケア・コーポレイション
【氏名又は名称原語表記】KAKAO HEALTHCARE CORP.
【住所又は居所原語表記】5F, BLDG. B, KAKAO PANGYO AGIT, 166 PANGYOYEOK‐RO, BUNDANG‐GU, SEONGNAM‐SI, GYEONGGI‐DO 13529, REPUBLIC OF KOREA
(74)【代理人】
【識別番号】110001818
【氏名又は名称】弁理士法人R&C
(72)【発明者】
【氏名】ホ,シンヨン
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA01
5L099AA21
(57)【要約】
データ変換装置の動作方法であって、患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、各ベクトル化関数に設定された変換条件に応じて、前記変換対象の変数に指定された少なくとも1つのベクトル化関数を適用して変換データを生成する段階と、生成された変換データを用いて人工知能モデルの学習データを生成する段階とを含む。
【特許請求の範囲】
【請求項1】
データ変換装置の動作方法であって、
患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、
前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、
ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、
各ベクトル化関数に設定された変換条件に応じて、前記変換対象の変数に指定された少なくとも1つのベクトル化関数を適用して変換データを生成する段階と、
生成された変換データを用いて人工知能モデルの学習データを生成する段階と
を含む動作方法。
【請求項2】
前記変数メタデータストアは、前記医療データから抽出される各変数の変数タイプを格納し、
前記変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)の少なくとも1つである、請求項1に記載の動作方法。
【請求項3】
前記ベクトルストアは、
変数タイプ別に利用可能な複数のベクトル化関数と、ベクトル化関数別に変数を変換する変換条件とを格納する、請求項1に記載の動作方法。
【請求項4】
前記変換データを生成する段階は、
リアルタイムベクトル化モードまたはバッチベクトル化モードを設定し、設定されたモードに応じて前記変換対象の変数を当該ベクトル化関数で変換する、請求項1に記載の動作方法。
【請求項5】
前記人工知能モデルの予測性能がフィードバックされ、前記予測性能の最適化のための変数のベクトル化関数セットが決定されるように、前記ベクトル化関数決定規則を更新する段階
をさらに含む、請求項1に記載の動作方法。
【請求項6】
多様な入力データ構造の学習データで生成された様々な種類の人工知能モデルと、各人工知能モデルの生成情報とを格納する段階をさらに含み、
前記各人工知能モデルの生成情報は、
学習に使用された最適化された変数セットおよびこれに適用されたベクトル化関数セットを含む、請求項5に記載の動作方法。
【請求項7】
前記医療データは、
人口統計(demographic)データ、診断(diagnosis)データ、訪問履歴(visit history)データ、訪問情報(visit info)データ、診断検査(lab test)データ、投薬(medication)データ、バイタルサイン(vital sign)データ、映像(clinical imaging)データ、機能検査(functional test)データの少なくとも1つを含む、請求項1に記載の動作方法。
【請求項8】
前記学習データを生成する段階は、
前記変換データを組み合わせて前記人工知能モデルの入力データが完成するまで待機し、完成した入力データを前記人工知能モデルの学習データとして用いる、請求項1に記載の動作方法。
【請求項9】
データ変換装置の動作方法であって、
患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、
前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、
ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、
各変数をキューに臨時格納し、当該変数のベクトル化関数に設定された変換条件を満足するまで待機して、前記変換条件が満足すれば、前記キューに格納された変数にベクトル化関数を適用して変換データを生成する段階と、
時間の経過とともに蓄積される変換データを格納し、前記変換データを組み合わせて人工知能モデルの入力データが完成すれば、完成した入力データを前記人工知能モデルに入力する段階と
を含む動作方法。
【請求項10】
前記変数メタデータストアは、
前記医療データから抽出される各変数の変数タイプを格納し、
前記変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)の少なくとも1つである、請求項9に記載の動作方法。
【請求項11】
前記ベクトルストアは、
変数タイプ別に利用可能な複数のベクトル化関数と、ベクトル化関数別に変数を変換する変換条件とを格納する、請求項9に記載の動作方法。
【請求項12】
前記ベクトル化関数決定規則は、前記人工知能モデルの性能を最適化する変数別ベクトル化関数セットが決定されるように設定される、請求項9に記載の動作方法。
【請求項13】
コンピュータ読取可能な記憶媒体に格納され、少なくとも1つのプロセッサによって実行される命令語を含むコンピュータプログラムであって、
患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、
前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、
ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、
各ベクトル化関数に設定された変換条件に応じて、前記変換対象の変数に指定された少なくとも1つのベクトル化関数を適用して変換データを生成する段階と、
生成された変換データを用いて人工知能モデルの入力データを生成する段階と
を実行するように記述された命令語を含む、コンピュータプログラム。
【請求項14】
前記変数メタデータストアは、
各変数の変数タイプを範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)の少なくとも1つとして格納し、
前記ベクトルストアは、
変数タイプ別に利用可能な複数のベクトル化関数と、ベクトル化関数別に変数を変換する変換条件とを格納する、請求項13に記載のコンピュータプログラム。
【請求項15】
前記入力データを用いて学習された前記人工知能モデルの予測性能がフィードバックされ、前記予測性能の最適化のための変数のベクトル化関数セットが決定されるように、前記ベクトル化関数決定規則を更新する段階と、
多様な構造の入力データで生成された様々な種類の人工知能モデルと、各人工知能モデルの生成情報とを格納する段階と
をさらに実行するように記述された命令語を含む、請求項13に記載のコンピュータプログラム。
【請求項16】
前記変換データを生成する段階は、
リアルタイムベクトル化モードの場合、各変数をキューに臨時格納し、当該変数のベクトル化関数に設定された変換条件を満足するまで待機して、前記変換条件が満足すれば、前記キューに格納された変数にベクトル化関数を適用して変換データを生成する、請求項13に記載のコンピュータプログラム。
【請求項17】
前記入力データを生成する段階は、
前記変換データを組み合わせて前記入力データが完成するまで待機し、完成した入力データを前記人工知能モデルに入力する、請求項16に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習のためのデータ変換に関する。
【背景技術】
【0002】
人工知能モデルを医療データで機械学習させ、学習された人工知能モデルを用いて入力医療データから多様な予測結果を得るための研究が進められている。しかし、医療データは、年齢、性別、主診断名、副診断名、診断日付、投薬した薬物名、投薬量、処方日付、映像検査、機能検査など多様な属性をテーブル構造として格納するが、患者ごとの属性が多様で、医療データ次元(dimension)は患者毎に差が生じる。また、同じ患者であっても時間の経過とともに診断名が増えたり薬物名が増えて医療データ次元が異なることがあり、データが記録される時刻も不規則であり、パンデミックによって医療データのパターンが急激に変わることもある。
【0003】
このような医療データの特性上、機械学習の学習(training)と適用(serving)の両方で医療データを一貫して変換することが容易ではない。特定の時点まで積み重ねられた大量の医療データを人工知能モデルの入力データに変換することができるが、人工知能モデルを配布した後に、リアルタイムに流入する医療データも同一に変換することが難しい。一方、最近は、多様なサイトの医療データを用いて人工知能モデルを学習させる研究が試みられているが、サイトごとに医療データを格納する形式が異なって、これらを標準化された入力データに変換することが容易ではない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、機械学習のための医療データのベクトル化方法、これを実現したデータ変換装置およびデータ変換プログラムを提供する。
【0005】
具体的には、本開示は、医療データから抽出される変数(feature)および変数タイプを格納する変数メタデータストアと、変数タイプ別ベクトル化関数(vectorizer function)を格納するベクトルストア(vectorizer store)とを用いて、入力された医療データの変数のためのベクトル化関数を選択し、選択したベクトル化関数で変数を変換する方法を提供する。
【0006】
本開示は、入力された医療データの変数にマッピングされたベクトル化関数で変数をベクトル化し、ベクトル化された変換データを用いて人工知能モデルの入力データを生成する方法を提供する。
【課題を解決するための手段】
【0007】
一実施例によるデータ変換装置の動作方法であって、患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、各ベクトル化関数に設定された変換条件に応じて、前記変換対象の変数に指定された少なくとも1つのベクトル化関数を適用して変換データを生成する段階と、生成された変換データを用いて人工知能モデルの学習データを生成する段階とを含む。
【0008】
前記変数メタデータストアは、前記医療データから抽出される各変数の変数タイプを格納し、前記変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)の少なくとも1つであってもよい。
【0009】
前記ベクトルストアは、変数タイプ別に利用可能な複数のベクトル化関数と、ベクトル化関数別に変数を変換する変換条件とを格納することができる。
【0010】
前記変換データを生成する段階は、リアルタイムベクトル化モードまたはバッチベクトル化モードを設定し、設定されたモードに応じて前記変換対象の変数を当該ベクトル化関数で変換することができる。
【0011】
前記動作方法は、前記人工知能モデルの予測性能がフィードバックされ、前記予測性能の最適化のための変数のベクトル化関数セットが決定されるように、前記ベクトル化関数決定規則を更新する段階をさらに含むことができる。
【0012】
前記動作方法は、多様な入力データ構造の学習データで生成された様々な種類の人工知能モデルと、各人工知能モデルの生成情報とを格納する段階をさらに含むことができる。前記各人工知能モデルの生成情報は、学習に使用された最適化された変数セットおよびこれに適用されたベクトル化関数セットを含むことができる。
【0013】
前記医療データは、人口統計(demographic)データ、診断(diagnosis)データ、訪問履歴(visit history)データ、訪問情報(visit info)データ、診断検査(lab test)データ、投薬(medication)データ、バイタルサイン(vital sign)データ、映像(clinical imaging)データ、機能検査(functional test)データの少なくとも1つを含むことができる。
【0014】
前記学習データを生成する段階は、前記変換データを組み合わせて前記人工知能モデルの入力データが完成するまで待機し、完成した入力データを前記人工知能モデルの学習データとして用いることができる。
【0015】
他の実施例によるデータ変換装置の動作方法であって、患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、各変数をキューに臨時格納し、当該変数のベクトル化関数に設定された変換条件を満足するまで待機して、前記変換条件が満足すれば、前記キューに格納された変数にベクトル化関数を適用して変換データを生成する段階と、時間の経過とともに蓄積される変換データを格納し、前記変換データを組み合わせて人工知能モデルの入力データが完成すれば、完成した入力データを前記人工知能モデルに入力する段階とを含む。
【0016】
前記変数メタデータストアは、前記医療データから抽出される各変数の変数タイプを格納し、前記変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)の少なくとも1つであってもよい。
【0017】
前記ベクトルストアは、変数タイプ別に利用可能な複数のベクトル化関数と、ベクトル化関数別に変数を変換する変換条件とを格納することができる。
【0018】
前記ベクトル化関数決定規則は、前記人工知能モデルの性能を最適化する変数別ベクトル化関数セットが決定されるように設定される。
【0019】
他の実施例によりコンピュータ読取可能な記憶媒体に格納され、少なくとも1つのプロセッサによって実行される命令語を含むコンピュータプログラムであって、患者毎の医療データを受信し、前記医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、前記変数データテーブルにおいて、変換対象である少なくとも1つの変数を確認し、変数メタデータストアを参照して各変数の変数タイプを問い合わせる段階と、ベクトルストアを参照して、前記変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数属性に応じて、各変数のベクトル化関数セットを決定する段階と、各ベクトル化関数に設定された変換条件に応じて、前記変換対象の変数に指定された少なくとも1つのベクトル化関数を適用して変換データを生成する段階と、生成された変換データを用いて人工知能モデルの入力データを生成する段階とを実行するように記述された命令語を含む。
【0020】
前記変数メタデータストアは、各変数の変数タイプを範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)の少なくとも1つとして格納することができる。前記ベクトルストアは、変数タイプ別に利用可能な複数のベクトル化関数と、ベクトル化関数別に変数を変換する変換条件とを格納することができる。
【0021】
前記コンピュータプログラムは、前記入力データを用いて学習された前記人工知能モデルの予測性能がフィードバックされ、前記予測性能の最適化のための変数のベクトル化関数セットが決定されるように、前記ベクトル化関数決定規則を更新する段階と、多様な構造の入力データで生成された様々な種類の人工知能モデルと、各人工知能モデルの生成情報とを格納する段階をさらに実行するように記述された命令語を含むことができる。
【0022】
前記変換データを生成する段階は、リアルタイムベクトル化モードの場合、各変数をキューに臨時格納し、当該変数のベクトル化関数に設定された変換条件を満足するまで待機して、前記変換条件が満足すれば、前記キューに格納された変数にベクトル化関数を適用して変換データを生成することができる。
【0023】
前記入力データを生成する段階は、前記変換データを組み合わせて前記入力データが完成するまで待機し、完成した入力データを前記人工知能モデルに入力することができる。
【発明の効果】
【0024】
実施例によれば、変数メタデータストアと、変数タイプ別ベクトル化関数を格納するベクトルストアとを用いて、人工知能モデルのためのデータ生成パイプラインを自動化することができる。
【0025】
実施例によれば、人工知能モデルの学習および適用において要求される変数およびベクトル化関数を変数メタデータストアおよびベクトルストアに中央集中式で定義し、これらを参照して医療データを変換させることによって、医療データを標準化された方式で前処理することができる。
【0026】
実施例によれば、変数タイプに適したベクトル化関数を多様に設定しておけば、変数が多様なベクトル化関数により自動変換され、人工知能モデルの性能により最適なベクトル化関数セットが決定される。したがって、ユーザが任意に人工知能モデルの学習データ構造を設定する場合、医療データに含まれている数多くの変数の関係が制限的に表現されがちであるが、実施例によれば、医療データに含まれている数多くの変数の関係が多様なベクトル化関数により表現される学習データを生成することができる。
【0027】
実施例によれば、変数メタデータストアおよびベクトルストアを参照して医療データを変換させることによって、人工知能モデルの学習段階と適用段階に同一の入力データを生成することができる。
【図面の簡単な説明】
【0028】
図1】データ変換装置を説明する図である。
図2】データ変換を例として説明する図である。
図3】データ変換を例として説明する図である。
図4】データ変換を例として説明する図である。
図5】データ変換を例として説明する図である。
図6】リアルタイムデータ変換を例として説明する図である。
図7】配布された人工知能モデルのためのデータ変換を説明する図である。
図8】人工知能モデルの学習のためのデータ変換方法のフローチャートである。
図9】リアルタイムデータ変換方法のフローチャートである。
図10】一実施例によるコンピューティング装置のハードウェア構成図である。
【発明を実施するための形態】
【0029】
以下、添付した図面を参照して、本開示の実施例について、本発明の属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。しかし、本開示は種々の異なる形態で実現可能であり、ここで説明する実施例に限定されない。そして、図面において本発明を明確に説明するために説明上不必要な部分は省略し、明細書全体にわたって類似の部分については類似の図面符号を付した。
【0030】
明細書全体において、ある部分がある構成要素を「含む」とする時、これは特に反対の記載がない限り、他の構成要素を除くのではなく他の構成要素をさらに包含できることを意味する。また、明細書に記載された「…部」、「…器」、「モジュール」などの用語は少なくとも1つの機能や動作を処理する単位を意味し、これはハードウェアやソフトウェア、またはハードウェアおよびソフトウェアの結合で実現される。
【0031】
図1は、データ変換装置を説明する図である。
【0032】
図1を参照すれば、少なくとも1つのプロセッサによって動作するデータ変換装置100aは、医療データを前処理して、人工知能モデル200の学習のための学習データを生成する。そのためのデータ変換装置100aは、医療データから抽出される変数(feature)および変数タイプ(feature type)を格納する変数メタデータストア(feature metadata store)110と、変数タイプ別ベクトル化関数(vectorizer function)を格納するベクトルストア(vectorizer store)130と、医療データ受信部150と、ベクトル化部170とを含むことができる。
【0033】
医療データ受信部150で生成した変数データテーブルは、変数データテーブルストア151に格納される。ベクトル化部170で生成された変換データは、変換データストア190に格納される。変換データストア190に格納された変換データは、人工知能モデル200の学習のための学習データとして用いられる。本開示において、変数は階層的に構成され、下位変数(例えば、救急訪問、入院訪問、外来訪問など)の集合が上位変数(例えば、訪問)であってもよい。
【0034】
学習部210は、変換データストア190に格納された変換データを用いて人工知能モデル200を学習させる。ここで、ベクトル化部170で変換された変数およびこれに適用されたベクトル化関数セットに応じて、生成された人工知能モデル200が異なる。一方、データ変換装置100aは、学習部210を含んで実現され、必要によっては学習部210を含まなくてもよい。
【0035】
変数メタデータストア110は、医療データから抽出される変数別変数タイプを格納する。変数は多様な種類の医療データから抽出されるが、医療データの種類は、例えば、人口統計(demographic)データ、診断(diagnosis)データ、訪問履歴(visit history)データ、訪問情報(visit info)データ、診断検査(lab test)データ、投薬(medication)データ、バイタルサイン(vital sign)データ、映像(clinical imaging)データ、機能検査(functional test)データなどを含むことができる。映像データは、疾病特化映像(例えば、冠動脈造影術)、その読取結果などを含むことができる。機能検査データは、例えば、運動負荷検査などを含むことができる。
【0036】
変数メタデータストア110は、医療データから抽出される変数のメタデータを格納する。メタデータは、表1のように、医療データの変数に割当てられたフィールド識別子、変数名(フィールド名)、そして変数タイプを格納することができる。変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)に区分され、これらの組み合わせが記載される。
【0037】
【表1】
【0038】
ベクトルストア130は、変数タイプ別に利用可能な複数のベクトル化関数(vectorizer function)を格納し、ベクトル化関数別に変数を変換する変換条件(trigger)を格納することができる。ベクトルストア130に格納された多様なベクトル化関数が変数をベクトル化するのに選択的に用いられる。ベクトルストア130にone-hot-encoding、data augmentation、interpolation、embeddingなどに関連する多様なベクトル化関数が格納されている。
【0039】
表2を参照すれば、数値型タイプに適用可能なベクトル化関数は、count関数、mean関数、sum関数、min関数、max関数などを含むことができる。範疇型タイプに適用可能なベクトル化関数は、変数の値をバイナリに変換するワンホットエンコーダ(one-hot-encoder)、条件を満足するか否かを示すブーリアン(Boolean)関数、count関数、データで変数が有する値を低次元に変換する圧縮関数(compressor)などを含むことができる。時間差型タイプに適用可能な関数は、生年月日から現在までの時間を計算する関数(month、year)などを含むことができる。その他にも多様なベクトル化関数が定義される。例えば、ベクトル化関数が適用される期間条件が設定された関数(例えば、表2の60_d関数、90_d関数、365_d関数)が定義され、最近1週間前、最近2週間前、最近1ヶ月前の時間区間(time window)が定義される。参照として、ワンホットエンコーダ関数は、特定の変数値を他のすべての変数値と区別するのに用いられる1×N行列(ベクトル)であって、ベクトルは、変数値を識別するために固有に使用されるケタ数の単一の1を除くすべてのケタ数で0と表記される。
【0040】
【表2】
【0041】
医療データ受信部150は、臨床データウェアハウス(Clinical Data Warehouse、CDW)をはじめとする多様な装置から患者毎の医療データを受信し、医療データに含まれている変数を確認し、変数値および入力時刻を変数データテーブルに格納する。医療データ受信部150は、臨床データウェアハウスなどに格納された大量の患者毎の医療データを受信することができる。あるいは、医療データ受信部150は、患者に薬物が投与されたり新しい診断が出された場合、これを記録した医療データを随時受信することができる。
【0042】
表3を参照すれば、変数データテーブルの行ごとに、医療データから抽出した変数を示すフィールド識別子(または変数名)、変数値、そして変数値が入力された時刻が記載される。例えば、診断検査データのフィールド識別子5156に変数(total protein)の値が2015-03-30 09:25:00に記載され、2015-03-31 09:30:00に追加記載された場合、医療データ受信部150は、表3のように、変数データテーブルを生成することができる。診断データのフィールド識別子2255に「本態性高血圧」が2015-03-31 11:40:00に記載された場合、医療データ受信部150は、表3のように、変数データテーブルを生成することができる。
【0043】
【表3】
【0044】
ベクトル化部170は、医療データ受信部150に格納された変数データテーブルを用いて、人工知能モデルの学習データまたは学習された人工知能モデルに入力する入力データを生成する。以下、主に人工知能モデルの学習データを生成する方法を中心に説明する。
【0045】
ベクトル化部170は、設定されたベクトル化関数決定規則および変数データテーブルに記載された変数属性に応じて、変数に適用するベクトル化関数セットを決定する。この時、ベクトル化する変数は、ベクトル化関数決定規則で予め設定され、ベクトル化関数決定規則は、人工知能モデルの入力データ構造に合わせて更新される。一方、入力データは、複数の変換データの組み合わせで構成され、各変換データは、少なくとも1つの変数にベクトル化関数を適用した値で表示される。入力データの長さは、変換データの組み合わせに応じて異なる。
【0046】
人工知能モデルの入力データ構造は、人工知能モデルの学習性能により可変するが、最初学習段階では、各変数に適用可能なすべてのベクトル化関数を適用して入力データを生成した後、人工知能モデルの予測結果に影響を与える変換データおよびこれを生成するベクトル化関数を次第に選びながら変数のベクトル化関数セットを最適化することができる。つまり、人工知能モデルの予測性能は学習データに左右されるが、医療データの複雑で多面的な特性上、どのベクトル化を適用すれば最適な予測性能を保障するかを断定しにくい。可能なすべてのベクトル化をするとしても予測結果に影響を与えない不要な入力値が学習に用いられ、ユーザが主観的にベクトル化をするとしても常に最適な人工知能モデルの性能を保障することができない。このような問題を解決するために、ベクトル化部170は、変数属性に適したベクトル化関数セットで学習データを生成し、漸進的に変数に適用されるベクトル化関数セットを変更しながら人工知能モデルのための最適なベクトル化関数セットを決定することができる。変数とベクトル化関数との組み合わせを選択する基準は、モデル類型に応じて、変数重要度(feature importance)、予測結果に対する変数の影響力が用いられる。予測結果に対する変数の影響力は、予測結果にどの変数が大きな影響力を与えたか、全く影響を与えなかったか定量化する方法で計算され、例えば、シャープレイ値(shapley value)などが用いられる。
【0047】
ベクトル化部170は、医療データ受信部150で生成した変数データテーブルにおいて、変数(または変数に対応するフィールド識別子)を確認し、変数メタデータストア110を参照して各変数の変数タイプを問い合わせる。そして、ベクトル化部170は、ベクトルストア130を参照して、変数タイプにマッピングされたベクトル化関数を問い合わせる。この時、ベクトル化部170で変換される変数種類は、人工知能モデルの目的や入力データの構造に合わせて予め定められていてもよい。つまり、ベクトル化部170が医療データに含まれているすべての変数を変換するのではなく、人工知能モデルの学習に関連する変数を選択的に変換することができる。この時、人工知能モデルの学習に関連する変数は初期にユーザによって設定される。あるいは、ベクトル化部170が人工知能モデルの予測性能がフィードバックされ、予測性能に影響を与えない変数を関心変数から除外させることができる。
【0048】
ベクトル化部170は、ベクトル化関数に変換条件が設定されている場合、変換条件を満足すれば、医療データの変数をベクトル化関数で変換することができる。
【0049】
一方、変数のうち、性別、血液型、地域などの人口統計情報は固定値であるので、これに適したベクトル化関数はone-hot-encoderで予め決定可能である。この場合、性別に適用されるone-hot-encoderは、女性を01、男性を10に変換することができ、または1ビット(0、1)に変換することができる。同様に、血液型に適用されるone-hot-encoderは、A型を0001、B型を0010、O型を0100、AB型を1000に変換することができる。
【0050】
また、変数のうち、種類を区分するためのベクトル化関数はone-hot-encoderで予め決定可能である。例えば、訪問種類に適用されるone-hot-encoderは、外来訪問を0001、救急訪問を0010、入院訪問を0100、健康診断訪問を1000に変換することができる。診療科目に適用されるベクトル化関数はone-hot-encoderで決定可能である。
【0051】
ベクトル化部170が人工知能モデルの最初学習段階のための入力データを生成すると仮定する。すると、ベクトル化部170は、変数属性に基づいて各変数に適用可能なベクトル化関数セットを決定する。
【0052】
例えば、変数が診断コードの場合、診断コードの変数タイプは範疇型であるので、表2のベクトルストア130において、範疇型に適用可能な複数のベクトル化関数、例えば、one-hot-encoder、60_d、90_d、365_d、count、compressorを確認し、診断コードの属性に基づいて変換値が得られるone-hot-encoder(診断コードのバイナリ値)、60_d(診断コードの病名が60日以内に診断されたか否か)、90_d(診断コードの病名が90日以内に診断されたか否か)、365_d(診断コードの病名が365日以内に診断されたか否か)、count(診断コードの病名が診断された回数)を各診断コードのベクトル化関数セットに決定することができる。変数のベクトル化関数セットは、人工知能モデルが学習される間に可変し、例えば、一部のベクトル化関数(例えば、60_d、90_d、365_d)は、当該変数のベクトル化関数セットから除外される。
【0053】
変数が収縮期血圧(Systolic Blood Pressure、SBP)や拡張期血圧(Diastolic Blood Pressure、DBP)の場合、これらの変数タイプは数値型であるので、表2のベクトルストア130において、数値型に適用可能なベクトル化関数(例えば、count、mean、sum、min、max)を確認し、収縮期血圧/拡張期血圧の属性に応じて値が得られるmean(測定された血圧の平均値)、min(測定された血圧の最小値)、max(測定された血圧の最大値)の少なくとも1つを収縮期血圧/拡張期血圧のベクトル化関数セットに決定することができる。
【0054】
変数が外来訪問、救急訪問、入院訪問、健康診断訪問などの訪問種類の場合、各訪問種類の変数タイプは範疇型であるので、表2のベクトルストア130において、範疇型に適用可能なベクトル化関数(例えば、one-hot-encoder、60_d、90_d、365_d、count、compressor)を確認し、訪問種類の属性に応じて値が得られるone-hot-encoder、60_d、90_d、365_d、countの少なくとも1つを各訪問種類のベクトル化関数セットに決定することができる。その他にも、外来訪問、救急訪問、入院訪問、健康診断訪問の区分なく、訪問の有無を変換するベクトル化関数がベクトル化関数セットに含まれてもよい。
【0055】
変数がaspirinなどのような薬物の場合、これらの変数タイプは数値型であるので、表2のベクトルストア130において、数値型に適用可能なベクトル化関数(例えば、count、mean、sum、min、max)を確認し、薬物の属性に応じて値が得られるcount(薬物の処方回数)、mean(平均用量)、sum(総用量)、min(最低用量)、max(最高用量)の少なくとも1つを各薬物のベクトル化関数セットに決定することができる。
【0056】
このように、ベクトル化部170が人工知能モデルの学習のために、各変数に適用可能なベクトル化関数セットを決定し、これを用いて各変数を一定の長さの変換データ(ベクトル)に変換する。変換データが組み合わされて人工知能モデルの学習データが生成され、人工知能モデルが学習される。以後、ベクトル化部170は、人工知能モデルの予測性能または人工知能モデルの予測性能に影響を与える変換データがフィードバックされ、これに基づいて人工知能モデルの予測性能に影響を与えるベクトル化関数を次第に選びながら各変数のベクトル化関数セットを最適化できる。
【0057】
例えば、ベクトル化部170は、表4のように、変数別ベクトル化関数セットを用いて変数を変換し、変換データを組み合わせて人工知能モデルに入力される入力データを生成することができる。ベクトル化部170は、データの種類別に変換データを生成することができる。
【0058】
【表4】
【0059】
ベクトル化部170は、遅延時間の短いリアルタイムベクトル化モードまたはデータを処理量の高いバッチベクトル化(batch vectorization)モードで動作できる。リアルタイムベクトル化モードは人工知能モデルのサービング(serving)段階で主に用いられ、バッチベクトル化モードは人工知能モデルの学習段階で主に用いられる。
【0060】
リアルタイムベクトル化モードの場合、ベクトル化部170は、変数データテーブルにリアルタイムに記載される変数(または変数に対応するフィールド識別子)をベクトル化することができる。ベクトル化部170は、変数データテーブルに変数が登録されればリアルタイムに変数を確認し、変数メタデータストア110を参照して変数タイプを問い合わせた後、変数に適用するベクトル化関数セットを決定する。そして、ベクトル化部170は、変数が各ベクトル化関数の変換条件を満足するかにより、変数値を変換することができる。
【0061】
あるいは、バッチベクトル化モードの場合、ベクトル化部170は、変数データテーブルに含まれている多くの変数を一度に変換することができる。
【0062】
一方、ベクトル化部170が変数データテーブルに含まれている変数の変換データを変換データストア190に格納すれば、学習部210は、変換データストア190に格納された変換データの中で、人工知能モデルの入力データ構造に相当する変換データを組み合わせて、入力データを生成することができる。
【0063】
学習部210は、変換データストア190に格納された変換データを用いて人工知能モデル200を学習させるが、人工知能モデルの入力データ構造により様々な種類の人工知能モデルを生成することができる。学習部210は、人工知能モデルごとに、その出力情報および予測性能、学習データを構成する変数セットおよびこれに適用されたベクトル化関数セット、入力データ構造などを格納しておく。
【0064】
一方、入力データに含まれるべき値がまだ変換データに格納されないことがある。この場合、学習部210は、変換データを組み合わせて入力データが完成するまで待機し、時間の経過とともに完成した入力データを人工知能モデルの学習データとして用いることができる。
【0065】
また、学習部210は、学習された人工知能モデルの予測性能、人工知能モデルの予測結果に影響を与える入力データの変換データなどをベクトル化部170にフィードバックすることができる。すると、ベクトル化部170は、入力データを構成する変数およびこれらのベクトル化関数セットを変更して、医療データから新しい変換データを生成することができる。
【0066】
図2から図5のそれぞれは、データ変換を例として説明する図である。
【0067】
図2を参照すれば、患者が来院して病名の診断を受ける場合、変数データテーブルに診断名/診断コードが記載される。この時、入力データに含まれている一部の特徴が診断名/診断コードのうちI20、I21、E11の診断回数(count)の場合、ベクトル化部170は、診断コードI20、I21、E11を[1、1、0]に変換することができる。人工知能モデル200は、[1、1、0]を含む入力データを用いて、指定されたタスク(例えば、心血管疾患確率の予測)を学習することができる。
【0068】
一方、診断回数(count)は、累積診断回数、一定期間内(最近)の診断回数などに細分化される。
【0069】
図3を参照すれば、患者が入院して薬物の処方を受ける場合、変数データテーブルに入院期間の投薬情報が記載される。この時、入力データに含まれている一部の特徴がclopidogrel、aspirin、statinの入院期間の全体服用量(sum)と最大服用量(max)の場合、ベクトル化部170は、投薬データを全体服用量に相当する[10、20、15]および最大服用量に相当する[5、8、3]に変換することができる。人工知能モデル200は、[10、20、15、5、8、3]を含む入力データを用いて、指定されたタスク(例えば、疾病と薬物との関係)を学習することができる。
【0070】
図4を参照すれば、入力データに含まれている一部の特徴が薬物のone-hot-encoder値の場合、ベクトル化部170は、変数データテーブルに記載された入院期間の投薬情報をone-hot-encoderに変換することができる。投薬情報を示す入力データを用いて、指定されたタスク(例えば、疾病と薬物との関係)を学習することができる。その他にも、ベクトル化部170は、compressor関数を用いて、投薬情報を低次元に変換することができる。
【0071】
図5を参照すれば、患者が入院して数回の診断検査を受け、LDLコレステロール数値を測定する場合、変数データテーブルに入院期間の診断検査結果が記載される。この時、入力データに含まれている一部の特徴が入院期間のLDL測定回数(count)、平均LDL値(mean)、最大LDL値(max)の場合、ベクトル化部170は、LDLコレステロール数値を[3、110、120]に変換することができる。人工知能モデル200は、[3、110、120]を含む入力データを用いて、指定されたタスクを学習することができる。
【0072】
その他にも、ベクトル化部170は、最近1週間前、最近2週間前、最近1ヶ月前などの時間区間(time window)に変数をベクトル化することができる。例えば、患者が入院してtotal proteinの量を入院期間に周期的に測定した場合、ベクトル化部170は、変数データテーブルに記載されたデータを用いて、表5のように、時間区間別のtotal proteinの量をcount、mean、min、max関数で変換することができる。人工知能モデル200は、[2、5.4、4.8、6.0]、[2、5.4、4.8、6.0]、[2、5.4、4.8、6.0]、[4、5.75、4.8、6.4]などを含む入力データを用いて、指定されたタスク(例えば、時間に応じたtotal proteinの変化と治療経過との関係)を学習することができる。
【0073】
【表5】
【0074】
図6は、リアルタイムデータ変換を例として説明する図である。
【0075】
図6を参照すれば、ベクトル化部170は、変数データテーブルにリアルタイムに記載される変数Aを確認し、変数メタデータストア110を参照して変数タイプである範疇型を確認した後、ベクトルストア130で範疇型変数タイプに相当するベクトル化関数func1および変換条件(変数が2以上存在すれば変換)を確認する。ベクトル化部170は、変数Aを変数A-func1キューに臨時格納する。この時、func1の変換条件を満足しないので、ベクトル化部170は、変数A-func1キューに入っている変数Aを変換せず、変数Aが入るまで待機する。
【0076】
以後、患者の医療データが更新されれば、変数データテーブルに変数Aと変数Bが追加される。すると、ベクトル化部170は、変数A-func1キューに変数Aを臨時格納するが、変数A-func1キューの変換条件を満足するので、変数A-func1キューに入っている変数Aにfunc1を適用して変換する。変換条件に応じて、ベクトル化部170は、変数データテーブルに記載された過去の変数データを呼び出して、ベクトル化関数を適用することができる。
【0077】
同様に、ベクトル化部170は、変数データテーブルに記載される変数Bを確認し、変数メタデータストア110を参照して変数タイプである数値型を確認した後、ベクトルストア130で数値型変数タイプに相当するベクトル化関数func2および変換条件(変数が3以上存在すれば変換)を確認する。ベクトル化部170は、変数Bを変数B-func2キューに入れる。この時、func2の変換条件を満足しないので、ベクトル化部170は、変数B-func2キューに入っている変数Bを変換せず、変換条件まで変数Bのデータが積み重ねられると、変数Bにfunc2を適用して変換する。
【0078】
バッチベクトル化モードであれば、ベクトル化部170は、変数データテーブルに含まれている変数Aを確認し、変換条件を満足するかを判断して、変数Aの変換データを生成することができる。
【0079】
図7は、配布された人工知能モデルのためのデータ変換を説明する図である。
【0080】
図7を参照すれば、データ変換装置100bは、学習された人工知能モデル200-kを用いて医療データの予測結果を得ようとする、病院、研究所などに設けられる。データ変換装置100bは、医療データを人工知能モデル200-kの入力データに変換する。データ変換装置100bに搭載される人工知能モデルは、データ変換装置100aで学習された多様な人工知能モデルの中から選択される。
【0081】
データ変換装置100bは、人工知能モデル200-kの学習データを生成する方式で入力データを生成するために、医療データを前処理する変数メタデータストア110と、変数タイプ別ベクトル化関数を格納するベクトルストア130と、医療データ受信部150と、ベクトル化部170とを含むことができる。この時、変数メタデータストア110およびベクトルストア130に格納された情報は、学習された人工知能モデル200-kに最適化された変数メタデータおよびベクトル化関数を含むことができる。医療データ受信部150で生成した変数データテーブルは、変数データテーブルストア151に格納される。ベクトル化部170で生成されたデータは、変換データストア190に格納される。説明ではデータ変換装置100bが人工知能モデルインターフェース部230および人工知能モデル200-kを含むと説明するが、人工知能モデルインターフェース部230および人工知能モデル200-kがデータ変換装置100bと連動するように実現可能である。
【0082】
ベクトル化部170は、医療データ受信部150で生成した変数データテーブルにおいて、医療データの変数を確認し、変数メタデータストア110を参照して各変数の変数タイプを問い合わせる。そして、ベクトル化部170は、ベクトルストア130を参照して、変数タイプにマッピングされたベクトル化関数を問い合わせる。この時、ベクトル化部170が変換する変数種類は、学習された人工知能モデル200-kの入力データ構造に合わせて予め定められていてもよい。
【0083】
ベクトル化部170は、ベクトル化関数に変換条件が設定されている場合、変換条件を満足すれば、医療データの変数をベクトル化関数で変換することができる。ベクトル化部170は、図6で説明したリアルタイムデータ変換方式により、変数データテーブルにリアルタイムに記載される変数を確認し、変数メタデータストア110を参照して変数タイプを問い合わせた後、ベクトルストア130で変数タイプに相当するベクトル化関数および変換条件を確認する。ベクトル化部170は、変数をベクトル化関数および変換条件が設定されたキューに入れて、変換条件になれば、ベクトル化関数で変数を変換して変換データストア190に格納することができる。
【0084】
すると、人工知能モデルインターフェース部230は、変換データストア190に格納されたデータを学習された人工知能モデル200-kに入力し、人工知能モデル200-kの予測結果を出力する。
【0085】
図8は、人工知能モデルの学習のためのデータ変換方法のフローチャートである。
【0086】
図8を参照すれば、データ変換装置100aは、患者毎の医療データを受信し、医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する(S110)。データ変換装置100aは、大量の患者毎の医療データを受信したり、アップデートされた医療データを随時受信することができる。医療データに含まれている変数は、医療データのフィールド識別子に対応できる。変数データテーブルは、表3のように、患者毎の医療データから抽出した変数名、変数値、入力時刻などで構成される。
【0087】
データ変換装置100aは、変数データテーブルにおいて、変換対象の変数を確認し、変数メタデータストア110を参照して各変数の変数タイプを問い合わせる(S120)。変数メタデータストア110は、医療データから抽出される変数のメタデータを格納する。変数メタデータストア110は、表1のように、変数に割当てられたフィールド識別子、変数名(フィールド名)、そして変数タイプを格納することができる。変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)などであってもよい。
【0088】
データ変換装置100aは、ベクトルストア130を参照して、変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数データテーブルに記載された変数属性に応じて、変数のベクトル化関数セットを決定する(S130)。ベクトルストア130は、表2のように、変数タイプ別に利用可能な複数のベクトル化関数を格納し、ベクトル化関数別に変数を変換する変換条件を格納することができる。
【0089】
データ変換装置100aは、各ベクトル化関数に設定された変換条件に応じて、変数データテーブルに記載された変数に指定されたベクトル化関数を適用して変換データを生成する(S140)。データ変換装置100aは、遅延時間の短いリアルタイムベクトル化モードまたはデータを処理量の高いバッチベクトル化モードで動作できる。
【0090】
データ変換装置100aは、変換データを用いて人工知能モデルの学習データを生成する(S150)。変換データは、人工知能モデルの入力データ構造に合わせて組み合わされる。
【0091】
以後、データ変換装置100aは、現在の入力データ構造の学習データで学習された人工知能モデルの予測性能がフィードバックされ、予測性能の最適化のための変数のベクトル化関数セットが決定されるように、ベクトル化関数決定規則を更新する(S160)。
【0092】
一方、データ変換装置100aは、現在の入力データ構造で学習された人工知能モデルおよびその生成情報を格納する(S170)。すると、データ変換装置100aは、多様な入力データ構造の学習データで生成された様々な種類の人工知能モデルと、各人工知能モデルの生成情報とを格納することができる。各人工知能モデルの生成情報は、出力情報、予測性能、学習データに使用された最適化された変数セットおよびこれに適用されたベクトル化関数セット、入力データ構造などを含むことができる。
【0093】
図9は、リアルタイムデータ変換方法のフローチャートである。
【0094】
図9を参照すれば、データ変換装置100bは、患者毎の医療データを受信し、医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する(S210)。データ変換装置100bは、医療データを随時受信することができる。医療データに含まれている変数は、医療データのフィールド識別子に対応できる。変数データテーブルは、表3のように、患者毎の医療データから抽出した変数名、変数値、入力時刻などで構成される。
【0095】
データ変換装置100bは、変数データテーブルにおいて、変換対象の変数を確認し、変数メタデータストア110を参照して各変数の変数タイプを問い合わせる(S220)。変数メタデータストア110は、医療データから抽出される変数のメタデータを格納する。変数メタデータストア110は、表1のように、変数に割当てられたフィールド識別子、変数名(フィールド名)、そして変数タイプを格納することができる。変数タイプは、範疇型(categorical)、数値型(numerical)、時間差型(timedelta)、ブーリアン型(Boolean)、日付/時間型(time)などであってもよい。
【0096】
データ変換装置100bは、ベクトルストア130を参照して、変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数データテーブルに記載された変数属性に応じて、変数のベクトル化関数セットを決定する(S230)。この時、ベクトル化関数決定規則は、学習された人工知能モデルの性能を最適化する変数別ベクトル化関数セットが決定されるように設定される。ベクトルストア130は、表2のように、変数タイプ別に利用可能な複数のベクトル化関数を格納し、ベクトル化関数別に変数を変換する変換条件を格納することができる。
【0097】
データ変換装置100bは、変数をキューに臨時格納し、当該変数のベクトル化関数に設定された変換条件を満足するまで待機して、変換条件が満足すれば、キューに格納された変数にベクトル化関数を適用して変換データを生成する(S240)。
【0098】
データ変換装置100bは、時間の経過とともに蓄積される変換データを格納し、変換データを組み合わせて人工知能モデルの入力データが完成するまで待機し、完成した入力データを人工知能モデルに入力する(S250)。人工知能モデルが学習された人工知能モデルの場合、データ変換装置100bは、人工知能モデルから出力された予測結果を取得することができる。
【0099】
図10は、一実施例によるコンピューティング装置のハードウェア構成図である。
【0100】
図10を参照すれば、データ変換装置100aおよびデータ変換装置100bは、少なくとも1つのプロセッサによって動作するコンピューティング装置300で実現される。
【0101】
コンピューティング装置300は、1つ以上のプロセッサ310と、プロセッサ310によって行われるコンピュータプログラムをロードするメモリ330と、コンピュータプログラムおよび各種データを格納する格納装置350と、通信インターフェース370とを含むことができる。その他にも、コンピューティング装置300は、多様な構成要素をさらに含むことができる。
【0102】
プロセッサ310は、コンピューティング装置300の動作を制御する装置であって、コンピュータプログラムに含まれている命令語を処理する多様な形態のプロセッサであってもよく、例えば、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、MCU(Micro Controller Unit)、GPU(Graphic Processing Unit)、または本開示の技術分野でよく知られた任意の形態のプロセッサの少なくとも1つを含んで構成される。
【0103】
メモリ330は、各種データ、命令および/または情報を格納する。メモリ330は、本開示の動作を実行するように記述された命令語がプロセッサ310によって処理されるように当該コンピュータプログラムを格納装置350からロードすることができる。メモリ330は、例えば、ROM(read only memory)、RAM(random access memory)などであってもよい。
【0104】
格納装置350は、コンピュータプログラム、各種データを非臨時的に格納することができる。格納装置350は、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリなどのような不揮発性メモリ、ハードディスク、着脱型ディスク、または本開示の属する技術分野でよく知られた任意の形態のコンピュータで読取可能な記録媒体を含んで構成される。
【0105】
通信インターフェース370は、有/無線通信を支援する有/無線通信モジュールであってもよい。通信インターフェース370は、医療データを生成したり格納する多様なサイトに接続することができる。
【0106】
コンピュータプログラムは、プロセッサ310によって実行される命令語(instructions)を含み、非一時的-コンピュータ読取可能な記憶媒体(non-transitory computer readable storage medium)に格納され、命令語は、プロセッサ310が本開示の動作を実行するように作る。コンピュータプログラムは、ネットワークを介してダウンロードされたり、製品形態で販売される。
【0107】
コンピュータプログラムは、患者毎の医療データを受信し、医療データに含まれている変数の変数値を含む変数情報を変数データテーブルに格納する段階と、変数データテーブルにおいて、変換対象の変数を確認し、変数メタデータストア110を参照して各変数の変数タイプを問い合わせる段階と、ベクトルストア130を参照して、変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数データテーブルに記載された変数属性に応じて、変数のベクトル化関数セットを決定する段階と、各ベクトル化関数に設定された変換条件に応じて、変数データテーブルに記載された変数に指定されたベクトル化関数を適用して変換データを生成する段階と、変換データを用いて人工知能モデルの学習データを生成する段階とを実行する命令語を含むことができる。
【0108】
コンピュータプログラムは、現在の入力データ構造の学習データで学習された人工知能モデルの予測性能がフィードバックされ、予測性能の最適化のための変数のベクトル化関数セットが決定されるように、ベクトル化関数決定規則を更新する段階をさらに実行する命令語を含むことができる。
【0109】
コンピュータプログラムは、多様な入力データ構造の学習データで生成された様々な種類の人工知能モデルと、各人工知能モデルの生成情報とを格納する命令語を含むことができる。
【0110】
一方、コンピュータプログラムは、リアルタイムベクトル化モードで動作する場合、変数データテーブルにおいて、変換対象の変数を確認し、変数メタデータストア110を参照して各変数の変数タイプを問い合わせる段階と、ベクトルストア130を参照して、変数タイプにマッピングされたベクトル化関数を問い合わせ、設定されたベクトル化関数決定規則および変数データテーブルに記載された変数属性に応じて、変数のベクトル化関数セットを決定する段階と、変数をキューに臨時格納し、当該変数のベクトル化関数に設定された変換条件を満足するまで待機して、変換条件が満足すれば、キューに格納された変数にベクトル化関数を適用して変換データを生成する段階とを実行する命令語を含むことができる。
【0111】
学習された人工知能モデルのサービングのためのコンピュータプログラムは、変換データを組み合わせて人工知能モデルの入力データが完成するまで待機し、完成した入力データを人工知能モデルに入力する命令語を含むことができる。
【0112】
以上に説明した本開示の実施例は、装置および方法によってのみ実現されるのではなく、本開示の実施例の構成に対応する機能を実現するプログラムまたはそのプログラムが記録された記録媒体により実現されてもよい。
【0113】
以上、本開示の実施例について詳細に説明したが、本開示の権利範囲はこれに限定されるものではなく、以下の特許請求の範囲で定義している本開示の基本概念を利用した当業者の様々な変形および改良形態も本開示の権利範囲に属する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【国際調査報告】