(57)【特許請求の範囲】
【請求項１】
1つまたは複数のコンピュータにより実行される方法であって、
健康イベントの第1の時間シーケンスを取得するステップであって、前記第1の時間シーケンスは、複数の時間ステップのそれぞれにおける特定の患者に関連するそれぞれの健康関連データを含む、取得するステップと、
前記第1の時間シーケンスのニューラルネットワーク出力を生成するために、再帰型ニューラルネットワークを使用して健康イベントの前記第1の時間シーケンスを処理するステップであって、前記再帰型ニューラルネットワークは、
前記第1の時間シーケンス内の最後の時間ステップのネットワーク内部状態を生成するために、前記第1の時間シーケンスを集合的に処理するようにトレーニングされた1つまたは複数の再帰型ニューラルネットワーク層と、
複数のロジスティック回帰ノードとをさらに含み、
前記ロジスティック回帰ノードのそれぞれは、条件の所定のセットからのそれぞれの健康関連条件に対応し、各ロジスティック回帰ノードは、前記対応する条件の将来の条件スコアを生成するために前記最後の時間ステップの前記ネットワーク内部状態を処理するようにトレーニングされ、前記条件のそれぞれの前記将来の条件スコアは、前記健康関連条件が前記時間ステップにおける前記健康イベントの指定された時間期間内に満たされる可能性を表す、ステップと、
前記第1の時間シーケンスの前記ニューラルネットワーク出力から、前記時間シーケンス内の最後の時間ステップの後に発生する可能性がある将来の健康イベントの特徴を表す健康分析データを生成するステップと
を含む方法。
【請求項２】
時間ステップのうちの1つまたは複数に関して、前記時間ステップにおける前記健康関連データは、トークンの所定の語彙からのそれぞれのトークンであり、前記語彙内の各トークンは、異なる健康イベントを表す、請求項1に記載の方法。
【請求項３】
時間ステップのうちの1つまたは複数に関して、前記時間ステップにおける前記健康関連データは、前記特定の患者の健康に影響するものとして分類される他の健康関連データである、請求項2に記載の方法。
【請求項４】
前記第1の時間シーケンスを取得するステップは、
前記特定の患者の電子診療記録にアクセスするステップと、
前記電子診療記録内の健康イベントを識別するステップと、
前記電子診療記録内で識別された健康イベントごとに、前記健康イベントを表す前記語彙内のトークンを判定するステップと、
対応する健康イベントが発生した時間によって順序付けられた前記識別された健康イベントを表す前記トークンを含む時間シーケンスを生成するステップと
を含む、請求項2または3に記載の方法。
【請求項５】
前記再帰型ニューラルネットワークは、複数の可能な健康イベントのそれぞれについての各スコアを含むニューラルネットワーク出力を生成するために、前記最後の時間ステップの前記ネットワーク内部状態を処理するようにトレーニングされた出力層をさらに含み、前記可能な健康イベントのそれぞれについての前記各スコアは、前記可能な健康イベントが前記第1の時間シーケンス内の前記最後の時間ステップの後の時間ステップにおける健康イベントである可能性を表す、請求項1に記載の方法。
【請求項６】
前記健康分析データを生成するステップは、前記各スコアを使用して1つまたは複数の最高スコアの健康イベントを識別するデータを生成するステップを含む、請求項5に記載の方法。
【請求項７】
前記健康分析データを生成するステップは、条件の前記所定のセット内の前記条件に対する前記可能性を識別するデータを生成するステップを含む、請求項1に記載の方法。
【請求項８】
追加の健康イベントを識別するデータを取得するステップと、
前記第1の時間シーケンスの前記最後の時間ステップの後に前記追加の健康イベントを識別する前記データを追加することによって前記第1の時間シーケンスから変更された時間シーケンスを生成するステップと、
前記変更された時間シーケンスの将来の条件スコアを生成するために、前記再帰型ニューラルネットワークを使用して前記変更された時間シーケンスを処理するステップと、
前記第1の時間シーケンスの将来の条件スコアと前記変更された時間シーケンスの将来の条件スコアとの間の変化を判定するステップであって、前記健康分析データは、前記変化を識別するデータを含む、判定するステップと
をさらに含む、請求項1または7に記載の方法。
【請求項９】
ユーザへの提示のために前記健康分析データを提供するステップ
をさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行される時に前記1つまたは複数のコンピュータに請求項1から9のいずれか一項に記載の方法を実行させる命令を記憶する1つまたは複数のストレージデバイスとを含むシステム。
【請求項１１】
1つまたは複数のコンピュータによって実行される時に前記1つまたは複数のコンピュータに請求項1から9のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、再帰型ニューラルネットワーク(Recurrent Neural Network)を使用する健康イベント(Health Event)の分析に関する。
【背景技術】
【０００２】
ニューラルネットワークは、受け取られた入力の出力を予測するのに非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層すなわち次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って、受け取られた入力から出力を生成する。
【０００３】
一部のニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは、入力シーケンスを受け取り、入力シーケンスから出力シーケンスを生成するニューラルネットワークである。具体的には、再帰型ニューラルネットワークは、現在の時間ステップにおける出力を計算する際に、前の時間ステップからのネットワークの内部状態の一部またはすべてを使用することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
一般に、本明細書内で説明される主題の1つの革新的態様は、健康イベントの第1の時間シーケンスを取得するアクションであって、第1の時間シーケンスは、複数の時間ステップのそれぞれにおける特定の患者に関連するそれぞれの健康関連データを含む、取得するアクションと、第1の時間シーケンスのニューラルネットワーク出力を生成するために、再帰型ニューラルネットワークを使用して健康イベントの第1の時間シーケンスを処理するアクションと、第1の時間シーケンスのニューラルネットワーク出力から、時間シーケンス内の最後の時間ステップの後に発生する可能性がある将来の健康イベントの特徴を表す健康分析データを生成するアクションとを含む方法において実施され得る。
【０００５】
時間ステップのうちの1つまたは複数に関して、時間ステップにおける健康関連データは、トークンの所定の語彙からのそれぞれのトークンとすることができる。語彙内の各トークンは、異なる健康イベントを表すことができる。時間ステップのうちの1つまたは複数に関して、時間ステップにおける健康関連データは、特定の患者の健康に影響するものとして分類される他の健康関連データとすることができる。
【０００６】
第1の時間シーケンスを取得するステップは、特定の患者の電子診療記録にアクセスするステップと、電子診療記録内の健康イベントを識別するステップと、電子診療記録内で識別された健康イベントごとに、健康イベントを表す語彙内のトークンを判定するステップと、対応する健康イベントが発生した時間によって順序付けられた識別された健康イベントを表すトークンを含む時間シーケンスを生成するステップとを含むことができる。
【０００７】
再帰型ニューラルネットワークは、第1の時間シーケンス内の最後の時間ステップのネットワーク内部状態を生成するために、第1の時間シーケンスを集合的に処理するようにトレーニングされた1つまたは複数の再帰型ニューラルネットワーク層を含むことができる。再帰型ニューラルネットワークは、複数の可能な健康イベントのそれぞれについての各スコアを含むニューラルネットワーク出力を生成するために、最後の時間ステップのネットワーク内部状態を処理するようにトレーニングされた出力層をさらに含むことができる。可能な健康イベントのそれぞれについての各スコアは、可能な健康イベントが第1の時間シーケンス内の最後の時間ステップの後の時間ステップにおける健康イベントである可能性(Likelihood)を表すことができる。
【０００８】
健康分析データを生成するステップは、各スコアを使用して1つまたは複数の最高スコアの健康イベントを識別するデータを生成するステップを含むことができる。
【０００９】
再帰型ニューラルネットワークは、複数のロジスティック回帰ノード(Logistic Regression Nodes)をさらに含むことができる。ロジスティック回帰ノードのそれぞれは、条件の所定のセットからのそれぞれの健康関連条件に対応することができる。各ロジスティック回帰ノードは、対応する条件の将来の条件スコアを生成するために最後の時間ステップのネットワーク内部状態を処理するようにトレーニングされ得る。条件のそれぞれの将来の条件スコアは、健康関連条件が時間ステップにおける健康イベントの指定された時間期間内に満たされる可能性を表すことができる。
【００１０】
健康分析データを生成するステップは、条件の所定のセット内の条件に対する可能性を識別するデータを生成するステップを含むことができる。
【００１１】
追加の健康イベントを識別するデータが、取得され得る。変更された時間シーケンスが、第1の時間シーケンスの最後の時間ステップの後に追加の健康イベントを識別するデータを追加することによって第1の時間シーケンスから生成され得る。変更された時間シーケンスは、変更された時間シーケンスの将来の条件スコアを生成するために、再帰型ニューラルネットワークを使用して処理され得る。第1の時間シーケンスの将来の条件スコアと変更された時間シーケンスの将来の条件スコアとの間の変化が、判定され得る。健康分析データは、変化を識別するデータを含むことができる。
【００１２】
健康分析データが、ユーザへの提示のために提供され得る。
【００１３】
この態様の他の実施形態は、それぞれがこの方法のアクションを実行するように構成された、対応するコンピュータシステム、装置、および1つまたは複数のコンピュータストレージデバイス上に記録されたコンピュータプログラムを含む。
【００１４】
1つまたは複数のコンピュータのシステムは、動作中にシステムにアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをシステム上にインストールさせることによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行される時に装置にアクションを実行させる命令を含むことによって、特定の動作またはアクションを実行するように構成され得る。
【００１５】
前述のおよび他の実施形態は、それぞれ、オプションで、以下の特徴のうちの1つまたは複数を単独でまたは組み合わせて含むことができる。
【００１６】
本明細書内で説明される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実施され得る。再帰型ニューラルネットワークは、健康イベントのシーケンス、たとえば、現在の患者の電子診療記録から導出された健康イベントのシーケンスを分析するのに効果的に使用され得る。再帰型ニューラルネットワークは、イベントが再帰型ニューラルネットワークへの可能な入力のセット内に含まれない場合であっても、時間シーケンス内の最近のイベントの指定された時間期間内に発生するイベントの可能性を予測するのに効果的に使用され得る。再帰型ニューラルネットワーク内部状態は、現在の患者に関連するようになる可能性がある将来の健康イベントを予測する健康イベントを含む可能性がある他の患者に対応する他の時間シーケンスを識別するのに効果的に使用され得る。したがって、本主題の実施形態は、健康イベントの時間シーケンスを処理する改善されたシステムおよび方法を提供する。
【００１７】
医師または他の医療専門家などのユーザは、再帰型ニューラルネットワークの出力または再帰型ニューラルネットワークによって生成された出力から導出された出力の特徴を表す情報を与えられ、専門家の患者に質の高い医療を提供する医療専門家の能力を改善することができる。たとえば、医療専門家は、現在の患者に関連することになる可能性がある将来の健康イベント、たとえば、患者に関連する次の健康イベントになる可能性が高い健康イベント、またはある条件がシーケンス内の最近のイベントの指定された時間期間内に発生するイベントによって満たされる可能性に関する有用な情報を与えられ得る。さらに、医療専門家は、イベントが発生する可能性に対する提案される治療の潜在的な影響を識別する情報、たとえば、提案される治療が、望ましくない健康関連条件が患者に関して将来に満たされる可能性を低下させるまたは増加させる可能性があるかどうかを与えられ得る。さらに、医療専門家は、その医療記録が履歴内の1点において現在の患者に類似した患者の医療記録を与えられ、またはそれらの患者の医療結果の要約を与えられ得る。さらに、いくつかの場合において、医療専門家が行うことを提案するアクションが、患者の将来の予測される結果に対するリスクの大幅な増加を引き起こす場合にトリガされる警報が、医療専門家のために生成され得る。さらに、再帰型ニューラルネットワークを含む医療分析システムは、標準的医療行為を体系化し、治療および結果におけるパターンを発見し、既存の医療技術もしくは医療システムを分析し、または新規の推奨を行いもしくは科学的発見を容易にするのに使用され得る。
【００１８】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付図面および下の説明において示される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明白になる。
【図面の簡単な説明】
【００１９】
【図１】例の医療分析システムを示す図である。
【図２】時間シーケンスの健康イベントデータを生成する例のプロセスを示す流れ図である。
【図３】次の入力スコアから時間シーケンスの健康分析データを生成する例のプロセスを示す流れ図である。
【図４】ネットワーク内部状態から時間シーケンスの健康イベントデータを生成する例のプロセスを示す流れ図である。
【図５】将来の条件スコアから時間シーケンスの健康イベントデータを生成する例のプロセスを示す流れ図である。
【図６】将来の条件スコアに対する、時間シーケンスへのイベントの追加の影響を判定する例のプロセスを示す流れ図である。
【図７】将来の条件スコアを生成するように構成された例の再帰型ニューラルネットワークを示す図である。
【図８】所与の時間ステップの将来の条件スコアを生成する例のプロセスを示す流れ図である。
【図９】将来の条件スコアを生成するために再帰型ニューラルネットワークをトレーニングする例のプロセスを示す流れ図である。
【発明を実施するための形態】
【００２０】
様々な図内の同様の符号および指定は、同様の要素を示す。
【００２１】
本明細書は、再帰型ニューラルネットワークを使用して複数の健康イベントを識別するデータを含む時間シーケンスから健康分析データを生成することができるシステムを全般的に説明する。
【００２２】
図1は、例の医療分析システム100を示す。医療分析システム100は、下で説明されるシステム、構成要素、および技法がその中で実施され得る、1つまたは複数の位置における1つまたは複数のコンピュータ上でコンピュータプログラムとして実施されるシステムの例である。
【００２３】
医療分析システム100は、時間シーケンスを受け取り、再帰型ニューラルネットワーク110を使用して時間シーケンスを処理することによって受け取られた時間シーケンスから健康分析データを生成する。たとえば、医療分析システム100は、時間シーケンス102を受け取り、時間シーケンス102から健康分析データ122を生成することができる。
【００２４】
時間シーケンスは、複数の時間ステップのそれぞれにおける、健康関連データ、たとえば健康イベントを識別するデータを含むシーケンスである。各時間シーケンスは、所与の患者に関連する健康関連データを含み、時間シーケンス内の健康関連データによって識別される健康イベントは、時間によって順序付けられ、その結果、最近に発生する健康イベントは、シーケンス内の最後の時間ステップにおける健康イベントである。
【００２５】
いくつかの実施態様において、時間シーケンス生成システム104は、対応する患者の電子診療記録から時間シーケンス102を生成する。電子診療記録は、対応する患者の健康情報の電子集合である。たとえば、時間シーケンス生成システムは、電子診療記録リポジトリ106から患者の電子診療記録を取得し、電子診療記録内の健康イベントを識別することと、健康イベントを時間によって順序付けることとによって、電子診療記録から時間シーケンス102を生成することができる。具体的には、時間シーケンス102は、複数の時間ステップのそれぞれにおけるトークンのシーケンスを含むことができ、各トークンは、電子診療記録内で識別される健康イベントを表す。いくつかの実施態様において、時間シーケンス生成システムは、健康イベントが発生した時間を識別するデータを、時間シーケンス102内の健康イベントを識別するデータに付加することができる。
【００２６】
一般に、医療分析システム100によって受け取られた時間シーケンス内で識別される健康イベントは、それぞれがトークンの所定の語彙からのトークンによって表される、症状、検査、検査結果、診断、薬物療法、転帰(Outcome)、その他のうちの1つまたは複数を含むことができる。オプションで、各トークンは、健康イベントが時間シーケンス内で発生した時間を識別するデータと組み合わされる。さらに、いくつかの場合において、時間シーケンスは、語彙からのトークンによって識別されるもの以外の健康イベントを識別することができる。たとえば、いくつかの実施態様において、時間シーケンス内の健康イベントは、健康関連イメージ、たとえばX線イメージもしくは他の診断イメージ、健康関連電子文書、たとえば面会中に医師によって生成された自由形式メモ、またはその両方を含むこともできる。
【００２７】
さらに、オプションで、健康関連データは、患者の健康に影響するものとして分類され得る他の健康関連データを含むことができる。たとえば、他のデータは、患者のデバイス、たとえば活動追跡デバイスもしくはモバイルデバイス上で実行中の活動追跡アプリケーションによって収集された、患者の活動の特徴を表すデータまたは他の健康関連データを含むことができる。たとえば、活動データは、特定の日に患者によって移動された距離、患者によって行われたトレーニングまたは他のフィットネス活動、患者によって食べられた食事、その他を識別するデータを含むことができる。他の健康関連データは、患者の健康に影響すると考えられ得る他のデータ、たとえば患者の服薬状況(Prescription Fulfillment)データまたは患者によって行われた購入を識別するデータを含むこともできる。
【００２８】
医療分析システム100は、時間シーケンス102のネットワーク出力を生成するために、再帰型ニューラルネットワーク110を使用して時間シーケンス102を処理する。医療分析システム100は、時間シーケンス102のネットワーク出力を受け取り、ネットワーク出力から時間シーケンス102の分析データ122を生成する医療分析エンジン120をも含む。
【００２９】
一般に、時間シーケンス102のネットワーク出力は、次の入力スコア112のセット、将来の条件スコア114のセット、または再帰型ニューラルネットワーク110のネットワーク内部状態116のうちの1つまたは複数を含む。
【００３０】
再帰型ニューラルネットワーク110は、所与の入力時間シーケンスの時間ステップごとにネットワーク内部状態を生成する1つまたは複数の再帰型ニューラルネットワーク層を含む。いくつかの実施態様において、再帰型ニューラルネットワーク110は、ネットワーク内部状態を受け取り、時間ステップのネットワーク出力を生成するためにネットワーク内部状態を処理する、出力層、ロジスティック回帰ノードのセット、またはその両方をも含む。さらに、いくつかの実施態様において、再帰型ニューラルネットワークは、1つまたは複数の他の種類のニューラルネットワーク層、たとえば、フィードフォワード層、たとえば、全結合層(Fully-Connected Layer)、畳み込み層(Convolutional Layer)、プーリング層(Pooling Layer)、正規化層(Regularization Layers)、およびその他をも含むことができる。
【００３１】
具体的には、再帰型ニューラルネットワーク層の各々は、時間ステップの層入力を受け取り、時間ステップの層の層内部状態を計算するように構成される。再帰型ニューラルネットワーク層は、層のパラメータのセットの現在の値に従って、前の時間ステップの層の層内部状態および現在の時間ステップの層入力から現在の時間ステップの層内部状態を計算する。いくつかの実施態様において、再帰型ニューラルネットワーク層のうちの1つまたは複数は、時間ステップの層内部状態を計算する際に他の内部状態、たとえば、他の前の時間ステップからの層の内部状態、現在の時間ステップの内部状態、または他の再帰層の前の時間ステップの内部状態をも使用するように構成される。現在の時間ステップが、シーケンス内の第1の時間ステップである場合に、先行する時間ステップの層内部状態は、たとえばシステム管理者によって指定されるまたは医療分析システム100によって生成される、初期層内部状態である。
【００３２】
再帰型ニューラルネットワーク110内に1つの再帰型ニューラルネットワーク層だけがある場合には、所与の時間ステップのネットワーク内部状態は、その時間ステップの再帰型ニューラルネットワーク層の層内部状態である。
【００３３】
再帰型ニューラルネットワーク110内に複数の再帰型ニューラルネットワーク層がある場合に、層は、シーケンス内の最下位層からシーケンス内の最上位層へとシーケンス内で配置され、時間ステップのネットワーク内部状態を計算するために、時間ステップにおける健康イベントを集合的に処理する。再帰型ニューラルネットワーク110内に他のタイプのニューラルネットワーク層がある場合に、他のニューラルネットワーク層は、シーケンス内の様々な位置において、たとえば、最初の再帰層の前、2つの再帰層の間、すべての再帰層の後、またはこれらのなんらかの組合せに散在され得る。所与の時間ステップについて、再帰型ニューラルネットワーク110は、シーケンス内の層の上位の再帰型ニューラルネットワーク層の層入力として、各再帰型ニューラルネットワーク層からの層内部状態を供給することができる。いくつかの実施態様において、再帰型ニューラルネットワーク層のうちの1つまたは複数は、再帰層の下位の層以外のシーケンス内の1つまたは複数の他の層からも入力を受け取るように構成される。
【００３４】
いくつかの実施態様において、シーケンス内の層のうちの1つまたは複数は、時間ステップのサブステップ、たとえば第1の時間ステップにおいて、または各時間ステップにおいて、層の層入力の一部として、大域入力、記録ごとの入力、またはその両方を受け取るように構成され得る。大域入力は、再帰型ニューラルネットワーク110によって処理されつつある現在の時間シーケンスに依存しない入力である。大域入力の例は、年の現在の時間、たとえば現在の日付の特徴を表すデータである。記録ごとの入力は、異なる時間シーケンスに関して異なる可能性がある入力である。記録ごとの入力の例は、現在の時間シーケンスに関連する患者の遺伝子配列、または患者の特徴を表す他の情報、たとえば患者の人口統計情報を含むことができる。
【００３５】
いくつかの実施態様において、複数の再帰型ニューラルネットワーク層がある場合に、時間ステップのネットワーク内部状態は、その時間ステップのシーケンス内の最上位層の層内部状態である。いくつかの他の実施態様において、医療分析システム100は、時間ステップのネットワーク内部状態を生成するために、時間ステップの層内部状態を組み合わせる。たとえば、医療分析システム100は、層内部状態の和、積、または平均値を計算することができ、あるいは、ネットワーク内部状態を生成するために層内部状態を連結することができる。
【００３６】
いくつかの実施態様において、再帰型ニューラルネットワーク層は、長短期記憶(Long Short-Term Memory)(LSTM)層である。各LSTM層は、1つまたは複数のLSTMメモリブロックを含む。各LSTMメモリブロックは、1つまたは複数のセルを含むことができ、各セルは、たとえば現在のアクティブ化を生成する際の使用のためのまたはLSTMニューラルネットワークの他の構成要素に提供される、セルの以前の状態をセルが記憶することを可能にする、入力ゲート、忘却ゲート(Forget Gate)、および出力ゲートを含む。
【００３７】
再帰型ニューラルネットワーク110が出力層を含む実施態様において、出力層は、時間ステップのそれぞれについて、その時間ステップのネットワーク内部状態を受け取り、その時間ステップの次の入力スコアのセットを生成するように構成される。時間ステップの次の入力スコアのセットは、トークンの語彙内のトークンによって表される健康イベントごとの各スコアを含む。再帰型ニューラルネットワーク110がトレーニングされ終えた後に、所与の健康イベントの次の入力スコアは、その健康イベントが時間シーケンス内の次の健康イベントになる可能性を表す。したがって、再帰型ニューラルネットワーク110が出力層を含む時に、再帰型ニューラルネットワーク110は、所与の入力時間シーケンスの時間ステップごとに、将来の健康イベントすなわち時間シーケンス内の次の時間ステップにおける健康イベントを予測するようにトレーニングされたネットワークである。再帰型ニューラルネットワーク110は、従来の機械学習トレーニング技法、たとえば、時間を介する逆伝搬(Backpropagation Through Time)トレーニング技法を使用して、トレーニングシーケンスに対してトレーニングされ得る。
【００３８】
これらの実施態様において、時間シーケンス102の次の入力スコア112は、時間シーケンス102内の最後の時間ステップについて出力層によって生成された次の入力スコアである。
【００３９】
再帰型ニューラルネットワーク110がロジスティック回帰ノードのセットを含む実施態様において、ロジスティック回帰ノードのセットは、各時間ステップにおいて、その時間ステップのネットワーク内部状態を受け取り、その時間ステップの将来の条件スコアのセットを生成するように構成される。将来の条件スコアのセットは、条件の所定のセット内の条件ごとの各スコアを含む。所与の条件のスコアは、その条件が現在の時間ステップにおいて健康イベントの指定された時間期間内に満たされる可能性を表す。
【００４０】
条件は、イベントの発生によって、たとえば語彙内のトークンによって表される健康イベントの発生によって満たされる条件を含むことができる。いくつかの場合において、語彙内のトークンによって表されるイベントの発生によって満たされる条件を含むことに加えてまたはその代わりに、条件の所定のセット内の条件は、語彙内のトークンによって表されないイベントすなわち、再帰型ニューラルネットワーク110によって処理される時間シーケンス内に含まれる可能な健康イベントではないイベントが、現在の時間ステップにおいて健康イベントの指定された時間期間内に発生する時に満たされる条件をも含むことができる。したがって、所定の条件のセット内の条件を満足できるイベントは、トークンによって表されるイベントとオーバーラップする可能性があるが、条件のセットは、セット内に含まれない他のイベントの発生によって満たされる条件をも含むことができる。
【００４１】
ロジスティック回帰ノードのセットを含む再帰型ニューラルネットワークが、図7および図8を参照して、より詳細に説明される。条件が満たされる可能性を予測するための再帰型ニューラルネットワークのトレーニングが、図9を参照して下でより詳細に説明される。
【００４２】
これらの実施態様において、時間シーケンス102の条件スコア114は、時間シーケンス102内の最後の時間ステップに関してロジスティック回帰ノードによって生成された将来の条件スコアである。
【００４３】
ネットワーク内部状態116が、時間シーケンス102のネットワーク出力内に含まれる実施態様において、時間シーケンス102のネットワーク内部状態116は、シーケンス内の最後の時間ステップについて再帰型ニューラルネットワーク110によって生成されたネットワーク内部状態、または、シーケンス内の複数の時間ステップについて再帰型ニューラルネットワーク110によって生成されたネットワーク内部状態の組合せ、たとえばネットワーク内部状態の加重和、積、もしくは連結である。
【００４４】
医療分析エンジン120は、時間シーケンス102のネットワーク出力を受け取り、時間シーケンス102の健康分析データ122を生成し、ユーザ、たとえば時間シーケンス102に対応する患者を治療する医師への提示のために、健康分析データ122を供給する。一般に、健康分析データ122は、時間シーケンス102に関連する可能性がある将来のイベントすなわち、時間シーケンス102内の現在の最後の健康イベントの後に発生する可能性がある健康イベントまたは他のイベントの特徴を表すデータである。
【００４５】
時間シーケンス102のニューラルネットワーク出力が次の入力スコア112を含む実施態様において、医療分析エンジン120は、時間シーケンス102内で次に発生する可能性がある健康イベントを識別する健康分析データ122を生成する。次の入力スコアからの時間シーケンスの健康分析データの生成は、下で図3を参照してより詳細に説明される。
【００４６】
時間シーケンス102のニューラルネットワーク出力が、ネットワーク内部状態116を含む実施態様において、医療分析エンジン120は、時間シーケンス102内の将来のイベントを予測する可能性が高い他の時間シーケンスからの健康イベントを識別する健康分析データ122を生成する。具体的には、医療分析エンジン120は、内部状態リポジトリ130内に記憶された内部状態からネットワーク内部状態116に似た内部状態を識別し、時間シーケンス102内の将来のイベントを予測する可能性が高い他の時間シーケンスからの健康イベントを判定するために、類似する内部状態を使用する。内部状態リポジトリ130は、様々な時間シーケンス内の様々な時間ステップにおいて生成されたネットワーク内部状態を記憶し、各ネットワーク内部状態を、ネットワーク内部状態がそれに関して生成された時間ステップおよび時間シーケンスを識別するデータに関連付ける。ネットワーク内部状態からの時間シーケンスの健康分析データの生成は、下で図4を参照してより詳細に説明される。
【００４７】
時間シーケンス102のニューラルネットワーク出力が、将来の条件スコア114を含む実施態様において、健康分析エンジン120は、条件のスコアの特徴を表す健康分析データ122を生成する。将来の条件スコアからの時間シーケンスの健康分析データの生成は、下で図5を参照してより詳細に説明される。
【００４８】
図2は、時間シーケンスの健康イベントデータを生成する例のプロセス200の流れ図である。便宜上、プロセス200は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされたニューラルネットワークトレーニングシステム、たとえば図1の医療分析システム100が、プロセス200を実行することができる。
【００４９】
システムは、入力時間シーケンスを受け取る(ステップ202)。時間シーケンスは、複数の時間ステップのそれぞれにおけるそれぞれの健康イベントを識別するデータを含む。いくつかの実施態様において、時間シーケンスは、電子診療記録から導出され、複数の時間ステップのそれぞれにおける電子診療記録からのそれぞれの健康イベントを識別するデータを含む。シーケンス内の健康イベントは、時間によって順序付けられ得、その結果、最近に発生した健康イベントが、シーケンス内の最後の時間ステップにおける健康イベントになる。
【００５０】
システムは、入力時間シーケンスのニューラルネットワーク出力を生成するために、再帰型ニューラルネットワーク、たとえば図1の再帰型ニューラルネットワーク110を使用して入力時間シーケンスを処理する(ステップ204)。
【００５１】
実施態様および再帰型ニューラルネットワークのアーキテクチャに依存して、入力時間シーケンスを処理することによって再帰型ニューラルネットワークによって生成されるニューラルネットワーク出力は、次の入力スコア、将来の条件スコア、またはネットワーク内部状態を含むことができる。
【００５２】
システムは、ニューラルネットワーク出力から時間シーケンスの健康分析データを生成する(ステップ206)。上で説明したように、健康分析データは、再帰型ニューラルネットワークによって生成されるニューラルネットワーク出力の種類に依存する。
【００５３】
図3は、次の入力スコアから時間シーケンスの健康分析データを生成する例のプロセス300の流れ図である。便宜上、プロセス300は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされたニューラルネットワークトレーニングシステム、たとえば図1の医療分析システム100が、プロセス300を実行することができる。
【００５４】
システムは、入力時間シーケンスを受け取る(ステップ302)。
【００５５】
システムは、入力時間シーケンスの次の入力スコアを生成するために、再帰型ニューラルネットワークを使用して入力時間シーケンスを処理する(ステップ304)。再帰型ニューラルネットワークは、1つまたは複数の再帰型ニューラルネットワーク層と、時間シーケンス内の時間ステップごとに、時間ステップに関して再帰型ニューラルネットワーク層によって生成されたネットワーク内部状態を受け取り、時間ステップの次の入力スコアのセットを生成するように構成された出力層とを含む。時間ステップの次の入力スコアのセットは、トークンの語彙内のトークンによって表される健康イベントごとの各スコアを含み、所与の健康イベントの次の入力スコアは、その健康イベントが時間シーケンス内の次の健康イベントすなわち時間シーケンス内の次の時間ステップにおける健康イベントになる可能性を表す。
【００５６】
入力時間シーケンスの次の入力スコアは、時間シーケンス内の最後の時間ステップに関して出力層によって生成された次の入力スコアである。
【００５７】
システムは、次の入力スコアを使用して1つまたは複数の最高スコアの健康イベントを識別する(ステップ306)。たとえば、システムは、最大の次の入力スコアを有する所定の個数の健康イベントまたはしきい値を超える次の入力スコアを有する各健康イベントを選択することができる。
【００５８】
システムは、最高スコアの健康イベントを識別するデータと、オプションで、ユーザへの提示のために最高スコアの健康イベントごとの次の入力スコアの特徴を表すデータとを供給する(ステップ308)。したがって、医師または他のユーザは、入力時間シーケンスに対応する患者に関連する次の健康イベントになる可能性が高い健康イベントに関する情報を見ることができる可能性がある。
【００５９】
図4は、ネットワーク内部状態から時間シーケンスの健康イベントデータを生成する例のプロセス400の流れ図である。便宜上、プロセス400は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされたニューラルネットワークトレーニングシステム、たとえば図1の医療分析システム100が、プロセス400を実行することができる。
【００６０】
システムは、時間シーケンスのそれぞれの時間ステップごとにネットワーク内部状態を生成するために、再帰型ニューラルネットワーク、たとえば再帰型ニューラルネットワーク110を使用して時間シーケンスのセットのそれぞれを処理する(ステップ402)。セット内の各時間シーケンスは、異なる患者に対応し、たとえば、異なる電子診療記録から生成された。再帰型ニューラルネットワークは、1つまたは複数の再帰型ニューラルネットワーク層および出力層、ロジスティック回帰ノードのセット、またはその両方を含む。具体的には、再帰型ニューラルネットワークは、所与の入力時間シーケンス内の時間ステップごとに、将来のイベントすなわち現在の時間ステップにおけるイベントの後に発生するイベントを、現在の時間ステップに関してニューラルネットワークによって生成された内部状態から予測するようにトレーニングされている。たとえば、再帰型ニューラルネットワークが出力層を含む場合に、再帰型ニューラルネットワークが、時間シーケンス内の次のイベントすなわち、時間シーケンス内の現在の時間ステップの後の次の時間ステップにおけるイベントを予測するようにトレーニング済みである場合がある。別の例として、再帰型ニューラルネットワークが、ロジスティック回帰ノードのセットを含む場合に、再帰型ニューラルネットワークは、イベントのセットのそれぞれが、時間シーケンス内の現在の時間ステップにおけるイベントの指定された時間期間内に発生するかどうかを予測するようにトレーニング済みである場合がある。
【００６１】
システムは、内部状態リポジトリ内にネットワーク内部状態を記憶し、各ネットワーク内部状態を、ネットワーク内部状態がそれに関して生成された時間ステップおよび時間シーケンスを識別するデータに関連付ける(ステップ404)。いくつかの実施態様において、時間シーケンスごとに、システムは、時間シーケンス内の時間ステップごとにシステムによって生成されたネットワーク内部状態をリポジトリ内に記憶する。いくつかの他の実施態様において、システムは、ネットワーク内部状態のサブセットだけをリポジトリ内に記憶し、たとえば、時間シーケンス内の少なくともしきい個数の他の健康イベントが先行する健康イベントのネットワーク内部状態だけを記憶する。
【００６２】
システムは、健康イベントの入力時間シーケンスを受け取る(ステップ406)。
【００６３】
システムは、入力時間シーケンスのシーケンス内部状態を判定するために、再帰型ニューラルネットワークを使用して入力時間シーケンスを処理する(ステップ408)。入力時間シーケンスのシーケンス内部状態は、シーケンス内の最後の時間ステップにおける健康イベントのネットワーク内部状態である。
【００６４】
システムは、内部状態リポジトリから、シーケンス内部状態に類似する1つまたは複数のネットワーク内部状態を選択する(ステップ410)。システムは、シーケンス内部状態とリポジトリ内のネットワーク内部状態との間の類似性測度(Similarity Measure)、たとえばコサイン類似性測度を計算することによって、ネットワーク内部状態を選択する。たとえば、システムは、シーケンス内部状態との最大のコサイン類似性を有する所定の個数のネットワーク内部状態、または、しきい類似性を超えるシーケンス内部状態とのコサイン類似性を有する各ネットワーク内部状態を選択することができる。いくつかの実施態様において、システムは、内部状態の間の類似性を判定するのに異なる距離測度、たとえばユークリッド距離、ハミング距離などを使用する。同様に、システムは、内部状態を正規化し、その後、正規化された内部状態の間の距離を計算することもできる。
【００６５】
システムは、類似するネットワーク内部状態がそれに関してユーザへの提示のために生成された時間シーケンスを識別するデータを供給する(ステップ412)。具体的には、システムは、所与の類似するネットワーク内部状態に関して、ネットワーク内部状態がそれに関して生成された時間ステップの後に発生した、類似するネットワーク内部状態がそれに関して生成された時間シーケンス内の健康イベントを識別するデータを供給する。シーケンス内部状態と類似するネットワーク内部状態との両方を生成した再帰型ニューラルネットワークが、ネットワーク内部状態から将来のイベントを予測するようにトレーニングされ、類似するネットワーク内部状態が、シーケンス内部状態に類似するので、所与のネットワーク内部状態がそれに関して生成された時間ステップの後に発生したイベントは、入力時間シーケンス内の将来のイベントすなわち、入力時間シーケンス内の現在の最後のイベントの後に発生するイベントを予測する可能性が高い。すなわち、所与の類似するネットワーク内部状態がそれに関して生成された時間ステップから、対応する患者は、再帰型ニューラルネットワークが入力時間シーケンスに対応する現在の患者に関して期待する将来に類似する将来を有すると再帰型ニューラルネットワークによって期待された。したがって、ネットワーク内部状態から後続イベントを見ることによって、ユーザ、たとえば医師は、入力時間シーケンス内の現在の最後のイベントに続く可能性があるイベントすなわち、現在の患者に関して発生する可能性がある将来の健康イベントのアイデアを与えられ得る。
【００６６】
いくつかの他の実施態様において、システムは、所与のネットワーク内部状態がそれに関して生成された時間シーケンスを識別するデータの一部として、ユーザへの提示のための時間シーケンス内の他の健康イベントを識別するデータをも供給する。
【００６７】
いくつかの実施態様において、ユーザへの提示のための時間シーケンスを識別するデータを供給するのではなく、システムは、時間シーケンス内の後続イベントから統計を計算し、ユーザへの提示のために計算された統計を供給する。たとえば、システムは、類似するネットワーク内部状態がそれに関して生成された時間ステップの後の特定の健康イベント、たとえば心臓発作または脳卒中を含んだ時間シーケンスの部分を判定することができる。システムは、その後、たとえば「患者のX%が、特定の健康イベントを経験した現在の患者に類似する将来を有すると期待される」という形において、ユーザへの提示のために比率を識別するデータを供給することができる。
【００６８】
いくつかの実施態様において、内部状態リポジトリ内に内部状態を記憶するのではなく、システムは、他の時間シーケンスと比較されなければならない入力時間シーケンスが受け取られる時に必ず、他の時間シーケンスごとに内部状態を再計算することができる。
【００６９】
図5は、将来の条件スコアから時間シーケンスの健康イベントデータを生成する例のプロセス500の流れ図である。便宜上、プロセス500は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされたニューラルネットワークトレーニングシステム、たとえば図1の医療分析システム100が、プロセス500を実行することができる。
【００７０】
システムは、入力時間シーケンスを受け取る(ステップ502)。
【００７１】
システムは、入力時間シーケンスの将来の条件スコアを生成するために、再帰型ニューラルネットワーク、たとえば再帰型ニューラルネットワーク110を使用して入力時間シーケンスを処理する(ステップ504)。将来の条件スコアは、条件の所定のセットのそれぞれについてのそれぞれの将来の条件スコアを含む。所与の条件の将来の条件スコアは、その条件が、入力時間シーケンス内の最後の時間ステップにおけるイベントの指定された時間期間内に満たされる可能性を表す。
【００７２】
いくつかの実施態様において、再帰型ニューラルネットワークは、1つまたは複数の再帰型ニューラルネットワーク層と、ロジスティック回帰ノードのセットとを含む。各ロジスティック回帰ノードは、入力時間シーケンス内の各時間ステップにおいて、条件の所定のセットからの対応する条件の将来の条件スコアを生成する。将来の条件スコアを生成するロジスティック回帰ノードを含む再帰型ニューラルネットワークは、下で図7〜図9を参照してより詳細に説明される。これらの実施態様において、入力時間シーケンス内の最後の時間ステップに関して再帰型ニューラルネットワークによって生成される将来の条件スコアのセットは、入力時間シーケンスの将来の条件スコアのセットである。
【００７３】
いくつかの他の実施態様において、再帰型ニューラルネットワークは、入力時間シーケンス内の時間ステップごとに次の入力スコアのセットを生成する出力層を含み、ロジスティック回帰ノードを含まない。これらの実施態様において、システムは、時間シーケンス内の現在の最後の時間ステップの後の指定された個数の追加の時間ステップと追加の時間ステップのそれぞれにおけるそれぞれの可能な健康イベントとをそれぞれが含む複数の可能な時間シーケンスを生成する。システムは、追加の時間ステップのそれぞれに関して指定された幅を有するビーム探索を実行することによって複数の可能な時間シーケンスを生成する。ビーム探索の幅は、将来の時間ステップのそれぞれにおいてシステムによって考慮される最高スコアのイベントの個数を定義する。その後、システムは、それに関して将来の条件スコアが生成されるイベントのうちの1つの発生によって満たされる条件のそれぞれについて、シーケンス内の追加の時間ステップのうちの1つにおいて条件を満たすイベントを含む可能な時間シーケンスの比率を判定する。その後、システムは、対応する条件の将来の条件スコアとしてその比率を使用することができる。オプションで、システムは、その中でイベントが発生した可能な時間シーケンスの発生の可能性を使用してイベントの各発生に重みを付けることができる。可能な時間シーケンスの発生の可能性は、たとえば、シーケンス内の追加の時間ステップのそれぞれにおける健康イベントの次の入力スコアの積とすることができる。
【００７４】
システムは、ユーザへの提示のために将来の条件スコアを識別するデータを供給する(ステップ506)。たとえば、システムは、各条件および各条件の将来の条件スコアを識別するデータを供給し、または、ユーザへの提示のために1つまたは複数の最高スコアの条件を識別するデータだけを供給することができる。
【００７５】
いくつかの実施態様において、ユーザへの提示のために将来の条件スコアを識別するデータを供給することに加えてまたはその代わりに、システムは、将来の条件スコアに対する治療の影響を判定し、ユーザへの提示のためにその影響を識別するデータを供給することができる。
【００７６】
図6は、将来の条件スコアに対する、時間シーケンスへのイベントの追加の影響を判定する例のプロセス600の流れ図である。便宜上、プロセス600は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされたニューラルネットワークトレーニングシステム、たとえば図1の医療分析システム100が、プロセス600を実行することができる。
【００７７】
システムは、初期入力時間シーケンスを受け取る(ステップ602)。
【００７８】
システムは、初期入力時間シーケンスの将来の条件スコアを判定する(ステップ604)。たとえば、システムは、上で図5を参照して説明したように、初期入力時間シーケンスの将来の条件スコアを判定することができる。
【００７９】
システムは、ユーザから追加の健康イベントを識別するデータを受け取る(ステップ606)。たとえば、追加の健康イベントは、医師によって患者に関して指示される潜在的な治療とすることができる。
【００８０】
システムは、初期入力時間シーケンスの末尾に追加の健康イベントを識別するデータ、たとえば健康イベントを表すトークンを付加することによって、変更された入力時間シーケンスを生成する(ステップ608)。
【００８１】
システムは、変更された入力時間シーケンスの将来の条件スコアを判定する(ステップ610)。たとえば、システムは、上で図5に関連して説明したように、初期入力時間シーケンスの将来の条件スコアを判定することができる。
【００８２】
システムは、入力時間シーケンスに追加の健康イベントを追加することによって引き起こされた将来の条件スコアの変化を判定し、ユーザへの提示のためにその変化を識別するデータを供給する(ステップ612)。すなわち、システムは、変更された入力時間シーケンスの将来の条件スコアと初期入力時間シーケンスの対応する将来の条件スコアとの間の差を計算し、ユーザへの提示のためにその差を識別するデータを供給する。したがって、医師は、ある種の条件が将来において満たされる可能性に対する潜在的な治療の影響を見ることができる可能性がある。
【００８３】
いくつかの実施態様において、システムは、新しいイベントが時間シーケンスに追加されることに応答してプロセス600を自動的に実行することができる。新しいイベントが、条件の将来の条件スコアに、しきい値を超えて増加させるかしきい値を超えさせる場合に、システムは、変化についてユーザに自動的に通知するために警報を生成することができる。たとえば、システム管理者または他のユーザは、望ましくないものとして、1つまたは複数の特定の条件が満たされることを指定することができる。その後、システムは、新しいイベントが時間シーケンスに追加されることに応答してプロセス600を自動的に実行し、望ましくない条件のうちの1つの将来の条件スコアがしきいスコアを超えるかしきい増加量を超えて増加する場合に、ユーザに通知するために警報を生成することができる。
【００８４】
さらに、いくつかの実施態様において、システムは、時間シーケンスの受け取りに応答して、時間シーケンスから複数の変更された時間シーケンスを自動的に生成することができ、各変更された時間シーケンスは、時間シーケンスに異なる可能な入力健康イベントを追加する。可能な入力健康イベントは、語彙内のトークンによって表される健康イベントのサブセット、たとえば、語彙内のトークンによって表される可能な治療の一部またはすべてとすることができる。その後、システムは、変更された時間シーケンスのそれぞれについてプロセス600を実行し、変更されたシーケンスのすべてについて、望ましくない条件のうちの1つまたは複数の将来の条件スコアがしきい減少量を超えて減少したかどうかを判定することができる。所与の変更された時間シーケンスに関して、望ましくない条件の将来の条件スコアがしきい減少量を超えて減少したとの判定に応答して、システムは、変更された時間シーケンスを生成するために時間シーケンスに追加された健康イベントを識別する情報をユーザに供給することができる。したがって、医師は、望ましくない条件が将来に満たされる可能性を減少させることのできる追加の治療を考慮する機会を与えられ得る。
【００８５】
図7は、将来の条件スコアを生成するように構成された例の再帰型ニューラルネットワーク700を示す。再帰型ニューラルネットワーク700は、下で説明されるシステム、構成要素、および技法がその中で実施され得る、1つまたは複数の位置内の1つまたは複数のコンピュータ上のコンピュータプログラムとして実施されるシステムの例である。
【００８６】
再帰型ニューラルネットワーク700は、複数の時間ステップのそれぞれにおけるそれぞれの入力を含む入力シーケンスを受け取り、イベントの所定のセット内の条件ごとにそれぞれの将来の条件スコアを生成する。所与の時間ステップにおける所与の条件の将来の条件スコアは、その条件がその時間ステップにおける入力の指定された時間期間内に満たされる可能性を表す。
【００８７】
再帰型ニューラルネットワーク700は、1つまたは複数の再帰型ニューラルネットワーク層710、複数のロジスティック回帰ノード720A〜N、およびオプションで出力層740を含む。
【００８８】
上で図1を参照して説明したように、時間ステップのそれぞれについて、1つまたは複数の再帰型ニューラルネットワーク層710は、時間ステップにおける入力を受け取り、時間ステップのネットワーク内部状態を生成するために入力を集合的に処理する。
【００８９】
ロジスティック回帰ノード720A〜720Nのそれぞれは、条件の所定のセットからのそれぞれの条件に対応し、各時間ステップにおいて、その時間ステップのネットワーク内部状態を受け取り、対応するイベントの将来の条件スコアを生成するためにパラメータのそれぞれのセットの現在の値に従ってネットワーク内部状態を処理するように構成される。したがって、各時間ステップにおいて、ロジスティック回帰ノード720A〜720Nのそれぞれは、条件の所定のセット内の条件のそれぞれの1つの将来の条件スコアを生成する。
【００９０】
再帰型ニューラルネットワーク700が出力層740を含む場合に、出力層740は、時間ステップのネットワーク内部状態を受け取り、可能な入力のセット内の可能な入力ごとにそれぞれの次の入力スコアを生成するために内部状態を処理するように構成される。所与の可能な入力の次の入力スコアは、可能な入力が入力シーケンス内の次の入力である可能性、すなわち、入力シーケンス内の現在の時間ステップにおける入力に直接に続く可能性を表す。
【００９１】
時間シーケンス内の入力は、可能な入力イベントのセットを表す所定の語彙内のトークンから選択される入力を含む。再帰型ニューラルネットワーク700がそれに関する将来の条件スコアを生成する所定の条件のセット内の条件は、所定の語彙内のトークンによって表されない、すなわち、再帰型ニューラルネットワーク700によって処理される時間シーケンス内に含まれ得る可能な入力イベントではないイベント、トークンによって表されるイベント、またはその両方の発生によって満たされる条件を含むことができる。したがって、再帰型ニューラルネットワーク700がそれに関する将来の条件スコアを生成する条件の所定のセット内の条件のいずれかを満たす、イベントのセット内のイベントは、トークンによって表されるイベントとオーバーラップする可能性があるが、イベントのセットは、セット内に含まれない他のイベントをも含むことができる。
【００９２】
図8は、所与の時間ステップの将来の条件スコアを生成する例のプロセス800の流れ図である。便宜上、プロセス800は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされた再帰型ニューラルネットワーク、たとえば図7の再帰型ニューラルネットワーク700が、プロセス800を実行することができる。
【００９３】
システムは、時間ステップの入力、たとえば健康イベントを表すトークンを受け取る(ステップ802)。
【００９４】
システムは、時間ステップに関する再帰型ニューラルネットワークのネットワーク内部状態を生成するために、1つまたは複数の再帰型ニューラルネットワーク層、たとえば図7の再帰型ニューラルネットワーク層710を使用して入力を処理する(ステップ804)。1つまたは複数のニューラルネットワーク層は、たとえば上で図1を参照して説明したように、ネットワーク内部状態を生成する。
【００９５】
システムは、将来の条件スコアのセットを生成するために、ロジスティック回帰ノード、たとえば図7のロジスティック回帰ノード720A〜720Nのセットのそれぞれを使用してネットワーク内部状態を処理する(ステップ806)。ロジスティック回帰ノードのそれぞれは、条件の所定のセットからのそれぞれの条件に対応し、ロジスティック回帰ノードのパラメータのセットの現在の値に従って内部状態を処理することによって、対応する条件の将来の条件スコアを生成する。
【００９６】
オプションで、システムは、可能な入力のセットのそれぞれについてのそれぞれの次の入力スコアを生成するために、出力層、たとえば図7の出力層740を使用してネットワーク内部状態をも処理する(ステップ808)。出力層は、出力層パラメータのセットの現在の値に従ってネットワーク内部状態を処理することによって、それぞれの次の入力スコアを生成する。
【００９７】
プロセス800は、それに関して所望の出力すなわち入力に関してシステムによって生成されなければならないニューラルネットワーク出力が既知ではないニューラルネットワーク入力に関して実行され得る。システムは、システムをトレーニングするためすなわち、再帰型ニューラルネットワーク層、ロジスティック回帰ノード、およびいくつかの実施態様において出力層のパラメータのトレーニングされた値を判定するために、トレーニングシーケンスのセットへの入力すなわち、それに関してシステムによって予測されなければならない出力が既知である入力のセットに対してプロセス800を実行することもできる。具体的には、プロセス800は、ニューラルネットワークをトレーニングするための機械学習トレーニング技法、たとえば時間を介する逆伝搬トレーニング技法の一部として、トレーニングシーケンスのセットからの入力に対して繰り返して実行され得る。例のトレーニングプロセスが、下で図9を参照して詳細に説明される。
【００９８】
図9は、将来の条件スコアを生成するために再帰型ニューラルネットワークをトレーニングする例のプロセス900の流れ図である。便宜上、プロセス900は、1つまたは複数の位置内に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適当にプログラムされた再帰型ニューラルネットワーク、たとえば図7の再帰型ニューラルネットワーク700が、プロセス900を実行することができる。
【００９９】
システムは、ラベル付けされたトレーニングシーケンスを取得する(ステップ902)。取得されるトレーニングシーケンスのそれぞれは、複数の時間ステップのそれぞれにおける入力のシーケンスである。各トレーニングシーケンスは、時間ステップのそれぞれにおいて、それに関して再帰型ニューラルネットワークが将来の条件スコアを生成する条件の所定のセット内の条件のそれぞれに関するそれぞれのインジケータ変数をも含む。所与の時間ステップにおける所与の条件のインジケータ変数は、その条件がその時間ステップにおける入力から指定された時間期間内に満たされたか否かを示す。たとえば、インジケータ変数は、条件が満たされた場合に1の値、条件が満たされなかった場合に0の値を有することができる。したがって、各時間ステップにおいて、ラベル付けされたトレーニングシーケンスは、入力と、条件の所定のセット内の条件のそれぞれに関するそれぞれのインジケータ変数とを含む。
【０１００】
いくつかの実施態様において、システムは、インジケータ変数を用いて既にラベルを付けられているトレーニングシーケンスを受け取る。いくつかの他の実施態様において、システムは、時間ステップのそれぞれにおける条件のそれぞれのインジケータ変数を計算することによって、ラベル付けされたトレーニングシーケンスを生成する。たとえば、システムは、トレーニングシーケンスの所与の時間ステップにおける所与の入力に関して、いつ入力が発生したのかを判定し、条件の所定のセット内の条件を満たすイベントの発生を識別するデータにアクセスすることができる。その後、システムは、条件のそれぞれについて、条件が、時間ステップにおける入力が発生した時の指定された時間期間以内に満たされたかどうかを判定し、それに応じてイベントのインジケータ変数の値をセットすることができる。
【０１０１】
システムは、ラベル付けされたトレーニングシーケンスに対して1つまたは複数の再帰型ニューラルネットワーク層、ロジスティック回帰ノード、およびオプションで出力層をトレーニングする(ステップ904)。具体的には、システムは、機械学習トレーニング技法の複数の反復を実行することによって、パラメータの初期値から再帰型ニューラルネットワーク層、ロジスティック回帰ノード、および出力層のパラメータのトレーニングされた値を判定する。トレーニング技法の一部として、システムは、目的関数を最小化しまたは最大化する。システムが、ロジスティック回帰ノードだけを含み、出力層を含まない場合には、目的関数は、所与のトレーニングシーケンス内の所与の時間ステップに関して、その時間ステップに関してロジスティック回帰ノードによって生成された将来の条件スコアとその時間ステップにおける対応する条件のインジケータ変数との間の誤差に依存する。システムが出力層をも含む場合には、目的関数は、時間ステップに関して、その時間ステップに関して出力層によって生成された次の入力スコアとトレーニングシーケンス内の次の時間ステップにおける入力との間の誤差にも依存する。
【０１０２】
上で説明したように、再帰型ニューラルネットワーク700は、将来の条件スコアを生成するために、患者に関連する健康イベントを識別するデータを含む時間シーケンスを処理することができる。しかし、再帰型ニューラルネットワーク700は、任意のタイプの時間イベントを識別するデータを含む時間シーケンスすなわち、イベントが経時的に発生した時によって順序付けられるイベントを識別するデータを含む任意の時間シーケンスの将来の条件スコアを生成するようにトレーニングされ得る。
【０１０３】
たとえば、再帰型ニューラルネットワーク700は、ユーザの財務表内で見つかる取引、たとえば、銀行取引明細書上に現れる可能性がある銀行取引、クレジットカード利用明細書上に現れる可能性があるクレジットカード取引などを識別するデータを含む時間シーケンスの将来の条件スコアを生成するようにトレーニングされ得る。この文脈における将来の条件スコアは、行われている様々なタイプの金融取引によって満たされる条件のスコア、財務表内に現れる種類の金融取引ではない発生しているイベント、たとえば税務監査によって満たされる条件のスコア、またはその両方を含むことができる。
【０１０４】
別の例として、再帰型ニューラルネットワーク700は、株式市場取引を識別するデータを含む時間シーケンスの将来の条件スコアを生成するようにトレーニングされ得る。この文脈において、時間シーケンスは、単一のエンティティまたは株式市場に参加するすべてのエンティティのいずれかによる株の購入および販売を含むことができる。
【０１０５】
別の例として、再帰型ニューラルネットワーク700は、機械類またはエレクトロニクス、たとえば航空機、自動車、データセンタ構成要素などの保守記録を識別するデータを含む時間シーケンスの将来の条件スコアを生成するようにトレーニングされ得る。この文脈における将来の条件スコアは、様々なタイプの保守関連イベントによって満たされる条件のスコアならびに保守記録内に通常は現れないイベント、たとえば航空機の飛行中の故障の発生によって満たされる条件のスコアを含むことができる。
【０１０６】
本主題の実施形態および本明細書内で説明される機能的動作は、本明細書内で開示される構造およびその構造的同等物を含む、デジタル電子回路網内、有形に実施されたコンピュータソフトウェアまたはファームウェア内、コンピュータハードウェア内、またはそれらのうちの1つまたは複数の組合せ内で実施され得る。本明細書内で説明される主題の実施形態は、1つまたは複数のコンピュータプログラムすなわち、データ処理装置による実行のためのまたはデータ処理装置の動作を制御するための、有形の非一時的プログラム担体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。その代わりにまたはそれに加えて、プログラム命令は、データ処理装置による実行のための適切な受信器装置への送信のために情報を符号化するために生成される、人工的に生成された伝搬される信号、たとえば機械生成された電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読ストレージ基盤、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つまたは複数の組合せとすることができる。
【０１０７】
「データ処理装置」という用語は、たとえばプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、特殊目的論理回路網、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数の組合せを構成するコードも含むことができる。
【０１０８】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれまたは説明される場合もある)は、コンパイルされる言語もしくは解釈される言語、または宣言型言語もしくは手続き型言語を含む任意の形のプログラミング言語において記述され得、独立型プログラムとしてまたはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適する他のユニットとして含む任意の形において展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、そうである必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部内に、たとえばマークアップ言語文書内、問題のプログラム専用の単一のファイル内、または複数の調整されたファイル内、たとえば1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル内の1つまたは複数のスクリプト内に記憶され得る。コンピュータプログラムは、1つのコンピュータ上または1つのサイトに配置されるか複数のサイトにまたがって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【０１０９】
本明細書内で説明されるプロセスおよび論理フローは、入力データに作用し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実行され得る。プロセスおよび論理フローは、特殊目的論理回路網、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)によって実行されることも可能であり、装置は、これらの特殊目的論理回路網として実施されることも可能である。
【０１１０】
コンピュータプログラムの実行に適するコンピュータは、汎用もしくは特殊目的のマイクロプロセッサまたはその両方あるいは任意の他の種類の中央処理装置を含み、たとえばそれらに基づくものとすることができる。一般に、中央処理装置は、読取専用メモリ、ランダムアクセスメモリ、またはその両方から命令およびデータを受け取る。コンピュータの本質的要素は、命令を実行する(performing)または実行する(executing)中央処理装置と、命令およびデータを記憶する1つまたは複数のメモリとである。一般に、コンピュータは、データを記憶する1つまたは複数のマスストレージデバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクをも含み、またはこれらからデータを受け取り、これらにデータを転送し、もしくはその両方を行うために動作可能に結合される。しかし、コンピュータがそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、少数の例を挙げると、携帯電話機、携帯情報端末(PDA)、モバイルオーディオプレイヤ、モバイルビデオプレイヤ、ゲーム機、全地球測位システム(GPS)受信器、またはポータブルストレージデバイス、たとえばユニバーサルシリアルバス(USB)フラッシュドライブ内に組み込まれ得る。
【０１１１】
コンピュータプログラム命令およびデータを記憶するのに適するコンピュータ可読媒体は、たとえば半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクもしくはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路網によって増補され、または特殊目的論理回路網内に組み込まれ得る。
【０１１２】
ユーザとの対話を提供するために、本明細書内で説明される主題の実施形態は、ユーザに情報を表示するディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザがコンピュータに入力を供給できるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実施され得る。他の種類のデバイスも、ユーザとの対話を提供するのに使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形において受け取られ得る。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受け取ることによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受け取られた要求に応答してウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【０１１３】
本明細書内で説明される主題の実施形態は、たとえばデータサーバとして、バックエンド構成要素を含むコンピューティングシステム内で、ミドルウェア構成要素を含むコンピューティングシステム、たとえばアプリケーションサーバ内で、フロントエンド構成要素を含むコンピューティングシステム、たとえばユーザがそれを介して本明細書内で説明される主題の実施態様と対話できるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ内で、あるいは1つまたは複数のそのようなバックエンドコンピュータ、ミドルウェアコンピュータ、またはフロントエンドコンピュータの任意の組合せ内で実施され得る。システムの構成要素は、デジタルデータ通信の任意の形または媒体、たとえば通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、たとえばインターネットを含む。
【０１１４】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、お互いからリモートであり、通常は通信ネットワークを介して相互作用する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で走行し、お互いに対するクライアント-サーバ関係を有するコンピュータプログラムのおかげで生じる。
【０１１５】
本明細書は、多数の特定の実施詳細を含むが、これらは、本発明の範囲に対する限定と解釈されてはならず、むしろ、本明細書で説明される特定の例示的実施形態に固有である可能性がある特徴の説明と解釈されなければならない。別々の実施形態の文脈において本明細書内で説明されるある種の特徴が、単一の実施形態内で組合せで実施されることも可能である。逆に、単一の実施形態の文脈において説明される様々な特徴が、複数の実施形態内で別々に、または任意の適切な副組合せで実施されることも可能である。さらに、特徴が、ある種の組合せで働くものとして上で説明され、そのようなものとして当初に請求される場合すらあるが、請求される組合せからの1つまたは複数の特徴は、いくつかの場合において組合せから削除され得、請求される組合せは、副組合せまたは副組合せの変形形態を対象とすることができる。
【０１１６】
同様に、動作が、図内で特定の順序で示されるが、これは、望ましい結果を達成するために、そのような動作が図示の特定の順序または順次順序で実行されることまたはすべての図示された動作が実行されることを要求するものと理解されてはならない。ある種の状況において、マルチタスキングおよび並列処理が有利になる場合がある。さらに、上で説明された実施形態内の様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を要求するものと理解されてはならず、説明されるプログラム構成要素およびシステムが、一般に、単一のソフトウェア製品内で一緒に一体化されまたは複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【０１１７】
本主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の範囲内にある。たとえば、請求項内に列挙されたアクションは、異なる順序で実行され、それでも望ましい結果を達成することができる。一例として、添付図面内に示されたプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序または順次順序を要求しない。ある種の実施態様において、マルチタスキングおよび並列処理が有利になる場合がある。
【符号の説明】
【０１１８】
100  医療分析システム
102  時間シーケンス
104  時間シーケンス生成システム
106  電子診療記録リポジトリ
110  再帰型ニューラルネットワーク
112  次の入力スコア
114  将来の条件スコア
116  ネットワーク内部状態
120  医療分析エンジン
122  健康分析データ
130  内部状態リポジトリ
200  プロセス
300  プロセス
400  プロセス
500  プロセス
600  プロセス
700  再帰型ニューラルネットワーク
710  再帰型ニューラルネットワーク層
720A〜720N  ロジスティック回帰ノード
740  出力層
800  プロセス
900  プロセス
【図１】
0006530084.tif 000002
【図２】
0006530084.tif 000003
【図３】
0006530084.tif 000004
【図４】
0006530084.tif 000005
【図５】
0006530084.tif 000006
【図６】
0006530084.tif 000007
【図７】
0006530084.tif 000008
【図８】
0006530084.tif 000009
【図９】
0006530084.tif 000010