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

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

▶ アライヴコア・インコーポレーテッドの特許一覧

特表2025-503190双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈
<>
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図1A
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図1B
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図2
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図3
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図4
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図5
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図6A
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図6B
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図6C
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図7
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図8A
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図8B
  • 特表-双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-30
(54)【発明の名称】双対のECGおよびテキスト埋込みモデルに基づくECG検索および解釈
(51)【国際特許分類】
   A61B 5/346 20210101AFI20250123BHJP
   G16H 10/00 20180101ALI20250123BHJP
【FI】
A61B5/346
G16H10/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024544496
(86)(22)【出願日】2022-02-28
(85)【翻訳文提出日】2024-09-24
(86)【国際出願番号】 US2022070856
(87)【国際公開番号】W WO2023146681
(87)【国際公開日】2023-08-03
(31)【優先権主張番号】17/585,358
(32)【優先日】2022-01-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】512318556
【氏名又は名称】アライヴコア・インコーポレーテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ダニエル・トレイマン
(72)【発明者】
【氏名】ジョエル・キュー・シュエ
【テーマコード(参考)】
4C127
5L099
【Fターム(参考)】
4C127AA02
4C127GG01
4C127GG02
4C127GG16
5L099AA03
5L099AA04
(57)【要約】
本開示の実施形態は、双対のECGおよびテキスト埋込みモデルに基づいてECG検索を行うためのシステムおよび方法を提供する。テキスト機械学習(ML)モデルが、ECG診断の受け取ったテキスト表現に基づいてテキスト埋込みを生成するようにトレーニングされ得る。テキストMLモデルは、受け取ったECG誘導データに基づいてECG埋込みを生成するように、ECGエンコーディングMLモデルをトレーニングするために使用され得る。データベースは、複数のECG埋込みを投入されてもよく、複数のECG埋込みの各々は、以前に診断されたECGのECG誘導データに基づいて生成される。クエリECGの受け取りに応答して、ECG MLモデルは、クエリ埋込みを生成してもよく、クエリ埋込みと複数のECG埋込みの各々との間の類似性スコアが決定されてもよい。上位K個の結果が、類似性スコアに基づいて記憶されてもよく、表示/可視化されてもよい。
【特許請求の範囲】
【請求項1】
ECG診断の受け取ったテキスト表現に基づいてテキスト埋込みを生成するためにテキスト機械学習(ML)モデルをトレーニングするステップと、
前記テキストMLモデルを使用して、類似のECG誘導データから生成されたECG埋込みがベクトル空間において互いに近接しているように、受け取ったECG誘導データに基づいてECG埋込みを生成するようにECGエンコーディングMLモデルをトレーニングするステップと、
データベースに複数のECG埋込みを投入するステップであって、前記複数のECG埋込みの各々が、以前に診断されたECGのECG誘導データに基づいて生成される、投入するステップと、
クエリECGの受け取りに応答して、前記ECGモデルを使用して、クエリ埋込みを生成するステップと、
前記クエリ埋込みと前記複数のECG埋込みの各々との間の類似性スコアを決定するステップと
を含む、方法。
【請求項2】
前記ECG埋込みと前記クエリ埋込みとの間のそれぞれの類似性スコアに基づいて前記複数のECG埋込みの各々をランク付けするステップと、
最も高い類似性スコアを有するいくつかの前記ECG埋込みを降順で表示するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記テキストMLモデルを使用して前記ECG MLモデルをトレーニングするステップが、
前記テキストMLモデルによって、複数のトレーニングテキスト埋込みを作成するために複数のトレーニングECGの各々の診断のテキスト表現に基づいてトレーニングテキスト埋込みを生成するステップと、
前記ECG MLモデルによって、複数のトレーニングテキスト埋込みを作成するために前記複数のトレーニングECGの各々についての誘導データに基づいてトレーニングECG埋込みを生成するステップと、
前記複数のトレーニングECG埋込みおよび前記複数のトレーニングテキスト埋込みを統合埋込み空間に投影するステップと、
各トレーニングECG埋込みを対応するトレーニングテキスト埋込みとマッチングするように前記ECG MLモデルをトレーニングするために損失関数を利用するステップと
を含む、請求項1に記載の方法。
【請求項4】
前記ECG MLモデルをトレーニングするために前記損失関数を利用するステップが、
前記複数のトレーニングECG埋込みの各々について、前記トレーニングテキスト埋込みの各々との前記トレーニングECG埋込みのドット積を決定するステップを含み、前記ECG MLモデルが、トレーニングECG埋込みとトレーニングECGのトレーニングテキスト埋込みとの前記ドット積を可能な限り1に近くすることになる、請求項3に記載の方法。
【請求項5】
ECG診断のテキスト表現が、診断コードのセットを含む、請求項1に記載の方法。
【請求項6】
前記テキストMLモデルをトレーニングするステップが、
複数のトレーニングECG診断の各々のテキスト表現に対して、
前記トレーニングECG診断の診断コードの対応するセットから診断コードをランダムに削除し、前記削除した診断コードをマスクトークンと入れ替えるステップと、
診断コードの前記セットの残っている診断コードに基づいて、前記削除した診断コードを予測するために前記テキストMLモデルをトレーニングするステップと
を含む、請求項5に記載の方法。
【請求項7】
前記テキストMLモデルが、トランスフォーマによる双方向エンコーダ表現(BERT)モデルである、請求項1に記載の方法。
【請求項8】
ユーザの心電図(ECG)データを記録するためのECGモニタと、
クラウドサービスシステムであって、
ECG診断の受け取ったテキスト表現に基づいてテキスト埋込みを生成するためにテキスト機械学習(ML)モデルをトレーニングすることと、
前記テキストMLモデルを使用して、類似のECG誘導データから生成されたECG埋込みがベクトル空間において互いに近接しているように、受け取ったECG誘導データに基づいてECG埋込みを生成するようにECGエンコーディングMLモデルをトレーニングすることと、
データベースに複数のECG埋込みを投入することであって、前記複数のECG埋込みの各々が、以前に診断されたECGのECG誘導データに基づいて生成される、投入することと、
クエリECGの受け取りに応答して、前記ECGモデルを使用して、クエリ埋込みを生成することと、
前記クエリ埋込みと前記複数のECG埋込みの各々との間の類似性スコアを決定することと
を行うためのクラウドサービスシステムと
を備える、システム。
【請求項9】
前記クラウドサービスシステムが、
前記ECG埋込みと前記クエリ埋込みとの間のそれぞれの類似性スコアに基づいて前記複数のECG埋込みの各々をランク付けすることと、
最も高い類似性スコアを有するいくつかの前記ECG埋込みを降順で表示することと
をさらに行うことになる、請求項8に記載のシステム。
【請求項10】
前記テキストMLモデルを使用して前記ECG MLモデルをトレーニングするために、前記クラウドサービスシステムが、
前記テキストMLモデルによって、複数のトレーニングテキスト埋込みを作成するために複数のトレーニングECGの各々の診断のテキスト表現に基づいてトレーニングテキスト埋込みを生成することと、
前記ECG MLモデルによって、複数のトレーニングテキスト埋込みを作成するために前記複数のトレーニングECGの各々についての誘導データに基づいてトレーニングECG埋込みを生成することと、
前記複数のトレーニングECG埋込みおよび前記複数のトレーニングテキスト埋込みを統合埋込み空間に投影することと、
各トレーニングECG埋込みを対応するトレーニングテキスト埋込みとマッチングするように前記ECG MLモデルをトレーニングするために損失関数を利用することと
を行うことになる、請求項8に記載のシステム。
【請求項11】
前記ECG MLモデルをトレーニングするために前記損失関数を利用するために、前記クラウドサービスシステムが、
前記複数のトレーニングECG埋込みの各々について、前記トレーニングテキスト埋込みの各々との前記トレーニングECG埋込みのドット積を決定することになり、前記ECG MLモデルが、トレーニングECG埋込みとトレーニングECGのトレーニングテキスト埋込みとの前記ドット積を可能な限り1に近くすることになる、請求項10に記載のシステム。
【請求項12】
ECG診断のテキスト表現が、診断コードのセットを含む、請求項8に記載のシステム。
【請求項13】
前記テキストMLモデルをトレーニングするために、前記クラウドサービスシステムが、
複数のトレーニングECG診断の各々のテキスト表現に対して、
前記トレーニングECG診断の診断コードの対応するセットから診断コードをランダムに削除し、前記削除した診断コードをマスクトークンと入れ替えることと、
診断コードの前記セットの残っている診断コードに基づいて、前記削除した診断コードを予測するために前記テキストMLモデルをトレーニングすることと
を行うことになる、請求項12に記載のシステム。
【請求項14】
前記テキストMLモデルが、トランスフォーマによる双方向エンコーダ表現(BERT)モデルである、請求項8に記載のシステム。
【請求項15】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令が、処理デバイスによって実行されると、前記処理デバイスに、
ECG診断の受け取ったテキスト表現に基づいてテキスト埋込みを生成するためにテキスト機械学習(ML)モデルをトレーニングすることと、
前記テキストMLモデルを使用して、類似のECG誘導データから生成されたECG埋込みがベクトル空間において互いに近接しているように、受け取ったECG誘導データに基づいてECG埋込みを生成するようにECGエンコーディングMLモデルをトレーニングすることと、
データベースに複数のECG埋込みを投入することであって、前記複数のECG埋込みの各々が、以前に診断されたECGのECG誘導データに基づいて生成される、投入することと、
クエリECGの受け取りに応答して、前記ECGモデルを使用して、クエリ埋込みを生成することと、
前記クエリ埋込みと前記複数のECG埋込みの各々との間の類似性スコアを決定することと
を行わせる、非一時的コンピュータ可読媒体。
【請求項16】
前記処理デバイスが、
前記ECG埋込みと前記クエリ埋込みとの間のそれぞれの類似性スコアに基づいて前記複数のECG埋込みの各々をランク付けすることと、
最も高い類似性スコアを有するいくつかの前記ECG埋込みを降順で表示することと
をさらに行うことになる、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記テキストMLモデルを使用して前記ECG MLモデルをトレーニングするために、前記処理デバイスが、
前記テキストMLモデルによって、複数のトレーニングテキスト埋込みを作成するために複数のトレーニングECGの各々の診断のテキスト表現に基づいてトレーニングテキスト埋込みを生成することと、
前記ECG MLモデルによって、複数のトレーニングテキスト埋込みを作成するために前記複数のトレーニングECGの各々についての誘導データに基づいてトレーニングECG埋込みを生成することと、
前記複数のトレーニングECG埋込みおよび前記複数のトレーニングテキスト埋込みを統合埋込み空間に投影することと、
各トレーニングECG埋込みを対応するトレーニングテキスト埋込みとマッチングするように前記ECG MLモデルをトレーニングするために損失関数を利用することと
を行うことになる、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記ECG MLモデルをトレーニングするために前記損失関数を利用するために、前記処理デバイスが、
前記複数のトレーニングECG埋込みの各々について、前記トレーニングテキスト埋込みの各々との前記トレーニングECG埋込みのドット積を決定することになり、前記ECG MLモデルが、トレーニングECG埋込みとトレーニングECGのトレーニングテキスト埋込みとの前記ドット積を可能な限り1に近くすることになる、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項19】
ECG診断のテキスト表現が、診断コードのセットを含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記テキストMLモデルをトレーニングするために、前記処理デバイスが、
複数のトレーニングECG診断の各々のテキスト表現に対して、
前記トレーニングECG診断の診断コードの対応するセットから診断コードをランダムに削除し、前記削除した診断コードをマスクトークンと入れ替えることと、
診断コードの前記セットの残っている診断コードに基づいて、前記削除した診断コードを予測するために前記テキストMLモデルをトレーニングすることと
を行うことになる、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
相互参照
本出願は、その内容全体が参照により本明細書に組み込まれる、2022年1月26日に出願され、「ECG SEARCH AND INTERPRETATION BASED ON A DUAL ECG AND TEXT EMBEDDING MODEL」という名称の、米国特許出願第17/585,358号の利益を主張する。
【0002】
本開示の態様は、心電図(ECG)解釈に関し、詳細には、ECG解釈を支援するためのECGの検索および分類に関する。
【背景技術】
【0003】
心臓血管の病気は、世界中で主要な死因である。2008年では、地球上のすべての死の30%が、心臓血管の病気に起因する可能性がある。また2030年までに、2300万人を超える人々が、毎年心臓血管の病気が原因で死ぬことになると推定される。心臓血管の病気は、第一および第三世界の国々の全住民に同様によく見られ、社会経済的状況にかかわらず人々に影響を及ぼす。
【0004】
不整脈は、心臓の電気的活動が不規則である、または通常よりも速い(頻脈)もしくは遅い(徐脈)心臓の状態である。多くの不整脈は、生命にかかわらないが、一部は心臓停止および心臓死さえ引き起こす可能性がある。実際、心臓不整脈は、病院へ行く途中の最も一般的な死因の1つである。心房細動(A-fib)は、最も一般的な心臓不整脈である。A-fibでは、心室を通る電気伝導が、不規則で、乱れている。A-fibが何の症状も引き起こさない可能性があるが、それはしばしば、動悸、息切れ、気絶、胸痛、または鬱血性心不全と関連付けられ、発作の危険も増大させる。A-fibは通常、対象者の心電図(ECG)を撮ることによって診断される。A-fibを治療するために、患者は、心拍を遅くする、または心臓のリズムを変更するために薬物療法を受ける場合がある。患者はまた、発作を予防するために抗凝固薬を摂取する場合もあり、さらにはA-fibを治療するために心臓アブレーションを含む外科的介入を受ける場合がある。別の例では、ECGが、心筋梗塞(Myocardial Infarction:MI)および虚血を含む、様々なリズムおよび形態状態を解釈することによって、急性冠症候群(Acute Coronary Syndromes:ACS)への決定支援を与える場合がある。
【0005】
しばしば、A-fib(または他のタイプの不整脈)がある患者は、病気を管理するために長期にわたる時間期間の間監視される。たとえば、患者は、たとえば少なくとも24時間の間、心臓血管系の電気的活動を連続して監視するために、ホルター(Holter)モニタまたは他の携帯型心電図記録デバイス(ambulatory electrocardiography device)を与えられる場合がある。そのような監視は、とりわけ、急性冠症候群(ACS)などの状態を検出するのに重要であることがある。
【0006】
米国心臓協会(American Heart Association)および欧州心臓病学会(European Society of Cardiology)は、症状が存在するとき、ACSの可能性がある患者に対して、できるだけ早く12誘導ECGが収集されることを推奨する。病院前のECGが、治療までの時間を著しく短縮することがわかり、より良い生存率を示している。最初のECGまでの時間は、極めて重要であるので、それはいくつかの規制機関によって監視される品質および性能測定基準である。2015年の国民健康統計によれば、700万人を超える人々が、胸痛またはACSの関連する症状の主訴で米国(U.S.)の救急部門(ED)を訪れた。USでは、ED受診が、毎年3.2%の割合で増加しており、US以外では、ED受診は、毎年3%~7%増加している。ACSのECG解釈において、最も正確かつ具体的な方法は、ST-T部分(ST-T segment)およびQRS複合群(QRS complex)に何らかの著しい変化があるかどうかを見るために、現在のECGを、その患者の以前に記録されたECGと比較することである。
【発明の概要】
【課題を解決するための手段】
【0007】
説明する実施形態およびそれらの利点は、添付の図面とともに行う以下の説明を参照することによって最も良く理解される可能性がある。これらの図面は、説明した実施形態の趣旨および範囲から逸脱することなく当業者によって説明した実施形態に行われ得る形態および詳細の変更を制限することはない。
【図面の簡単な説明】
【0008】
図1A】本開示のいくつかの実施形態による、例示的なシステムを示すブロック図である。
図1B】本開示のいくつかの実施形態による、12誘導セットが6軸系で表された単一双極子心臓モデルを示す図である。
図2】本開示のいくつかの実施形態による、クラウドサービスシステムを示すブロック図である。
図3】本開示のいくつかの態様による、テキストエンコーダのトレーニングを示すブロック図である。
図4】本開示のいくつかの実施形態による、ECGエンコーダのトレーニングを示すブロック図である。
図5】本開示のいくつかの実施形態による、統合埋込み空間(joint embedding space)を示すブロック図である。
図6A】本開示のいくつかの実施形態による、ECG検索の性能を示すブロック図である。
図6B】本開示のいくつかの実施形態による、ECG検索結果のタイムライン可視化を示す図である。
図6C】本開示のいくつかの実施形態による、ECG検索結果のタイムライン可視化を示す図である。
図7】本開示のいくつかの実施形態による、分類器のトレーニングを示すブロック図である。
図8A】本開示のいくつかの実施形態による、ECG検索を実施する方法の流れ図である。
図8B】本開示のいくつかの実施形態による、ECG分類を実施する方法の流れ図である。
図9】本開示のいくつかの実施形態による、本明細書で説明する動作の1つまたは複数を実施し得る例示的なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0009】
コンピュータ生成ECG解釈が、長年にわたって使用されており、それらを生成するシステムの多くは、専門家からの入力およびあらかじめ定義された基準のセットに基づいて動作する。最近では、ECG解釈を生成するための深層学習モデルの使用が調査されてきたが、実際の医療デバイスおよびシステムに広く適用されていない。主な理由の1つは、DNNモデルなどの機械学習モデルが、ECGの解釈を提供するが、ある結果に至った理由を示さないという点で、それらが一般に「ブラックボックス」であることである。包括的なマルチ誘導ECG解釈の場合、たとえば、リズムおよび形態解釈などの多くのクラスがあり、それらは通常、最終的な解釈についての何らかの説明または根拠を必要とする。これは、たとえば、AFIBおよび洞調律検出のためにスマートウォッチおよび他のウェアラブルデバイスによって行われる単純なタイプの検出とは異なる。機械学習モデルベースのECG解釈を利用すると同時に、解釈の結果についての明白な根拠を付け加えることは、機械学習ECG解釈モデルの利用を様々な臨床適用例にさらに拡大するために非常に重要なタスクである。
【0010】
本開示は、双対のECGおよびテキスト埋込みモデルに基づいてECG検索を行うためのシステムおよび方法を提供することによって、上記および他の欠陥に対処する。処理デバイスが、ECG診断の受け取ったテキスト表現に基づいてテキスト埋込みを生成するためにテキスト機械学習(ML)モデルをトレーニングしてもよい。処理デバイスは、テキストMLモデルを使用して、受け取ったECG誘導データに基づいてECG埋込みを生成するようにECGエンコーディングMLモデルをトレーニングしてもよく、類似のECG誘導データから生成されたECG埋込みは、ベクトル空間において互いに近接している。処理デバイスは、データベースに複数のECG埋込みを投入してもよく、複数のECG埋込みの各々は、以前に診断されたECGのECG誘導データに基づいて生成される。クエリECGの受け取りに応答して、処理デバイスは、ECG MLモデルを使用して、クエリ埋込みを生成してもよく、クエリ埋込みと複数のECG埋込みの各々との間の類似性スコアを決定してもよい。処理デバイスは、類似性スコアに基づいて降順でECG埋込みをソートしてもよく、上位K個の結果を表示/可視化(または表示/可視化のためにローカルコンピューティングデバイス120に送信)してもよい。
【0011】
図1Aは、本開示の態様が実現され得るシステム100を示す。システム100は、第1のユーザによる、たとえば、第1のユーザの医師による使用のために規定されてもよい。代替的に、システム100は、医師または他の第三者からの入力なしに使用されてもよい。システム100は、第1のユーザのローカルコンピューティングデバイス120を含んでもよい。ローカルコンピューティングデバイス120は、ユーザインターフェース、ダッシュボード、または心臓病管理システム100の他のサブシステムを搭載されてもよい。たとえば、ローカルコンピューティングデバイス120は、システム100とのインターフェースのために、モバイルソフトウェアアプリケーション(図1に101Aとして示す)を搭載されてもよい。モバイルソフトウェアアプリケーション101Aは、1つまたは複数の生体センサー(たとえば、ECGモニタ110)とインターフェースするように構成されてもよく、1つまたは複数の生体センサーからローカルコンピューティングデバイス120によって収集された生体データを管理するためのソフトウェアおよびユーザインターフェースを含んでもよい。ローカルコンピューティングデバイス120は、たとえば、タブレットコンピュータ、スマートフォン、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、または身体装着式コンピューティングデバイス(たとえば、スマートウォッチもしくは他のウェアラブル)などの、いずれかの適切なコンピューティングデバイスを含んでもよい。いくつかの実施形態では、ローカルコンピューティングデバイス120は、単一のコンピューティングデバイスを含んでもよく、または複数の相互接続されたコンピューティングデバイス(たとえば、クラスタに構成された複数のサーバ)を含んでもよい。
【0012】
ローカルコンピューティングデバイス120は、1つまたは複数の生体センサーに結合されてもよい。たとえば、ローカルコンピューティングデバイス120は、ECGモニタ110に結合されてもよく、ECGモニタ110は、第1のユーザの心臓のECG(心電図)データを記録する(本明細書では「ECGを取る」とも呼ぶ)ための電極のセットを含んでもよい。ECGデータは、第1のユーザの皮膚上の複数の場所に置かれた電極のセットを使用して記録される、またはとられることがある。電極ペアの間で記録される電気信号は、誘導と呼ばれる場合があり、図1Bは、I、II、III、aVR、aVL、aVF、V1、V2、V3、V4、V5、およびV6誘導を含む12誘導セットを示し、すべて6軸系上に表されている。ECGデータを記録するために様々な数の誘導が使用されることがあり、異なる数および組合せの電極が、様々な誘導を形成するために使用されることがある。ECGをとるために使用される例示的な数の誘導は、1、2、6、および12誘導である。たとえば、ECGモニタ110は、12誘導ECGを提供し得る10個の電極(ユーザの胸に6個、ならびにユーザの両腕および両足のそれぞれに1個)を含むデバイスであってもよい。右腕に置かれた電極は、RAと呼ばれてもよい。左腕に置かれた電極は、LAと呼ばれてもよい。RAおよびLA電極は、左腕と右腕の同じ場所に、たとえば手首近くに置かれてもよい。脚部電極は、右脚ではRL、および左足ではLLと呼ばれてもよい。RLおよびLL電極は、左脚と右脚で同じ場所、たとえば足首近くに置かれてもよい。
【0013】
いくつかの実施形態では、ECGモニタ110は、より少数の電極(たとえば、2または3個の電極)を含むハンドヘルドECGモニタ(たとえば、AliveCor(登録商標)Inc.によるKardiaMobile(登録商標)またはKardiaMobile(登録商標)6Lデバイスなど)を含んでもよい。これらの実施形態では、電極は、誘導II(たとえば、左脚と右腕との間の電圧)と同時に誘導I(たとえば、左腕と右腕との間の電圧)、および誘導V2またはV5など胸部誘導の別の1つと同時に誘導Iなど、図2に示す誘導のサブセットを測定するために使用され得る。誘導の他の組合せが可能であることに留意されたい。所望される場合、追加の誘導が、決定された誘導のサブセットから(たとえば、ECGモニタ110自体またはローカルコンピューティングデバイス120によって)アルゴリズム的に導出されることがある。たとえば、増幅肢誘導が、LA、RA、LL、およびRL電極によって測定された値から決定されることもある。拡張ベクトル右(aVR)は、RA-(LA+LL)/2または-(I+II)/2に等しくてもよい。拡張ベクトル左(aVL)は、LA-(RA+LL)/2またはI-II/2に等しくてもよい。拡張ベクトル下(aVF)は、LL-(RA+LA)/2または-II-I/2に等しくてもよい。いくつかの実施形態では、ECGモニタ110自体またはローカルコンピューティングデバイス120は、測定された誘導のサブセットから全12誘導セットを導出するために機械学習(ML)モデルを利用してもよい。いくつかの実施形態では、ECGモニタ110は、スマートフォン、またはスマートウォッチなどのウェアラブルデバイスの形態であってもよい。いくつかの実施形態では、ECGモニタ110は、中間保護ケース/アダプタを用いてローカルコンピューティングデバイス120に結合されたハンドヘルドセンサーであってもよい。
【0014】
ECGモニタ110によって記録されるECGデータは、たとえば、第1のユーザの心臓の電気的活動を含んでもよい。一般的な心拍は、電位のいくつかの変動を含む可能性があり、それらは、当技術分野で知られているように、P波、QRS複合群、T波、および時にはU波を含む、波および複合群に分類され得る。P波の形状および持続時間は、ユーザの心房のサイズに関係する(たとえば、心房拡大を示す)可能性があり、ユーザに固有の心拍特性の第1のソースであり得る。
【0015】
Q波、R波、およびS波の各々の持続時間、振幅、および形態は、個人によって異なる可能性があり、詳細には、心臓病または心臓異常を有するユーザでは著しく異なる可能性がある。たとえば、R波の高さの1/3よりも大きい、または持続時間が40msよりも大きいQ波が、心筋梗塞を示し、ユーザの心臓の固有の特性を提供する可能性がある。同様に、Q波とR波の他の健康な比率が、異なるユーザの心拍を区別するために使用され得る。
【0016】
ECGモニタ110は、第1のユーザによって、ECGデータを測定し、適切なワイヤードまたはワイヤレス接続(たとえば、Wi-Fi接続、Bluetooth(登録商標)接続、近距離無線通信(NFC)接続、超音波信号送信接続など)を使用して、測定したECGデータをローカルコンピューティングデバイス120に送信するために使用されてもよい。
【0017】
ECGデータは、一定の間隔でユーザによって継続的に記録されてもよい。たとえば、間隔は、日に一度、週に一度、月に一度、または何らかの他の所定の間隔であってもよい。ECGデータは、本明細書で説明するように、同じまたは異なる時刻に、類似のまたは異なる状況下で、記録されてもよい。ECGデータはまた、間隔の同じまたは異なる時間に記録されてもよい(たとえば、ECGデータは、非同期的に取り込まれてもよい)。代替または追加として、ECGデータは、ユーザが胸痛を感じる、または他の普通でないもしくは異常な感じを経験するときに、あるいはたとえばユーザの医師からのそうする指示に応じてなど、様々な離散時間にユーザによって要求に応じて記録されてもよい。別の実施形態では、ECGデータは、(たとえば、ホルターモニタによって、または何らかの他のウェアラブルデバイスによって)ある時間期間にわたって継続的に記録されてもよい。
【0018】
各ECGデータ記録は、タイムスタンプを付けられてもよく、利用者特性(user characteristics)を説明するためにユーザまたは健康管理者によって追加データで注釈を付けられてもよい。たとえば、ローカルコンピューティングデバイス120(たとえば、それのモバイルアプリ101A)は、ユーザがたとえばユーザIDを含むユーザの利用者特性を入力することを可能にするデータ入力のためのユーザインターフェースを含んでもよい。ローカルコンピューティングデバイス120は、利用者特性をECGデータに加え、ECGデータをクラウドサービスシステム140に送信してもよい。
【0019】
ECGデータは、記憶および分析のために、ローカルコンピューティングデバイス120によってクラウドサービスシステム140に送信され得る。送信は、リアルタイム、毎時、毎日、毎週、および/もしくは中間のいずれかの間隔などの一定の間隔であることがあり、またはオンデマンドであることがある。ローカルコンピューティングデバイス120およびクラウドサービスシステム140は、ネットワーク130を介して互いに結合されてもよい(たとえば、動作可能に結合されてもよく、通信可能に結合されてもよく、互いとデータ/メッセージを通信してもよい)。ネットワーク130は、パブリックネットワーク(たとえば、インターネット)、プライベードネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN))、またはそれらの組合せであってもよい。一実施形態では、ネットワーク130は、ワイヤードまたはワイヤレスインフラストラクチャを含んでもよく、これは、ネットワーク130と接続されたWi-Fiホットスポットなど、1つまたは複数のワイヤレス通信システム、および/または様々なデータ処理機器、通信塔(たとえば、セルタワー)などを使用して実装できるワイヤレスキャリアシステムによって提供され得る。ネットワーク130は、ローカルコンピューティングデバイス120とクラウドサービスシステム140との間で通信(たとえば、データ、メッセージ、パケット、フレームなど)を伝えてもよい。
【0020】
機械学習(ML)モデルは、モデルをトレーニングするために使用されるトレーニング例と比較して、入力されたデータにおける異常または傾向を、大小を問わず、識別するための、1つまたは複数の基準の連続監視に好適である。本明細書で説明するMLモデルは、ユーザの母集団からのECGデータでトレーニングされてもよく、かつ/またはモデルの設計ニーズにかなう他のトレーニング例でトレーニングされてもよい。本明細書で説明する実施形態とともに使用され得る機械学習モデルは、限定ではなく例として、ベイズ、マルコフ、ガウス過程、クラスタリングアルゴリズム、生成モデル、カーネルおよびニューラルネットワークアルゴリズムを含む。いくつかの実施形態は、トレーニングされたニューラルネットワーク(たとえば、トレーニングされたリカレントニューラルネットワーク(RNN)またはトレーニングされた畳み込みニューラルネットワーク(CNN))に基づいて機械学習モデルを利用する。
【0021】
たとえば、MLモデルが、入力データ(たとえば、ECGデータ)を畳み込み層(隠れ層とも呼ばれる)に入れ、畳み込み層の各々の入力データに、一連のトレーニングされた重みまたはフィルタを適用する、トレーニングされたCNN MLモデルを含んでもよい。第1の畳み込み層の出力は、活性化マップ(activation map)であり、これは、第2の畳み込み層への入力であり、これにトレーニングされた重みまたはフィルタ(図示せず)が適用され、後続の畳み込み層の出力は、第1の層への入力データのますます複雑になった特徴を表す活性化マップとなる。各畳み込み層の後に、問題に非線形性を導入するために、非線形層(図示せず)が適用され、この非線形層は、tanh、シグモイド、またはReLUなどの活性化関数を含んでもよい。場合によっては、非線形層の後にプーリング層(図示せず)が適用されてもよく、ダウンサンプリング層とも呼ばれ、基本的にフィルタおよび同じ長さのストライドを採用し、それを入力に適用し、フィルタが畳み込むサブ領域ごとに最大数を出力する。プーリングのための他のオプションは、平均プーリングおよびL2正規化プーリングである。プーリング層は、入力ボリュームの空間次元を縮小し、計算コストを削減し、過学習を制御する。ネットワークの最終層は、全結合層であり、これは最後の畳み込み層の出力を採用し、予測される量を表すn次元の出力ベクトルを出力する。これは、予測出力を生じ得る。トレーニングされた重みは、畳み込み層の各々で異なってもよい。
【0022】
現実世界の予測/検出を実現するために、ニューラルネットワークは、既知のデータ入力またはトレーニング例でトレーニングされる必要があり、それによってトレーニングされたCNNが得られる。CNNをトレーニングするために、多くの異なるトレーニング例(たとえば、ユーザからのECGデータ)が、モデルに入力される。ニューラルネットワークの当業者は、上記の説明は、本考察のための何らかのコンテキストを提供するために、やや単純化したニューラルネットワークを提供することを十分に理解し、いずれかのニューラルネットワーク単独の、または他のニューラルネットワークもしくは他のまったく異なる機械学習モデルと組み合わせた適用が等しく適用可能であり、本明細書で説明するいくつかの実施形態の範囲内であることを十分に諒解するであろう。
【0023】
図2は、本開示のいくつかの実施形態による、クラウドサービスシステム140を示す。図2に示すように、クラウドサービスシステム140は、処理デバイス140B(たとえば、プロセッサ、中央処理ユニット(CPU))、メモリ140A(たとえば、ランダムアクセスメモリ(RAM))、ストレージデバイス(たとえば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)など)、および他のハードウェアデバイス(たとえば、サウンドカード、ビデオカードなど)などのハードウェアを含むコンピューティングデバイスであってもよい。いくつかの実施形態では、メモリ140Aは、データを記憶することが可能な永続記憶装置であってもよい。永続記憶装置は、ローカルストレージユニットまたはリモートストレージユニットであってもよい。永続記憶装置は、磁気記憶装置、光記憶装置、ソリッドステート記憶装置、電子記憶装置(メインメモリ)、または類似の記憶装置であってもよい。永続記憶装置はまた、モノシリック/単一のデバイスまたはデバイスの分散されたセットであってもよい。メモリ140Aは、データの長期記憶のために構成されてもよく、クラウドサービスシステム140のパワーオン/オフサイクルの間でデータを保持してもよい。メモリ140Aは、ユーザならびに多数の他のユーザのために経時的に累積されたECGデータを記憶してもよい。特定のユーザのために経時的に累積されたECGデータは、その特定のユーザのための時系列健康記録を形成し得る。クラウドサービスシステム140は、たとえば、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォンなどを含む、プログラマブルプロセッサを有する任意の適切なタイプのコンピューティングデバイスまたは機械を含んでもよい。いくつかの実施形態では、クラウドサービスシステム140は、単一のコンピューティングデバイスを含んでもよく、または複数の相互接続されたコンピューティングデバイス(たとえば、クラウドストレージクラスタに構成された複数のサーバ)を含んでもよい。
【0024】
メモリ140Aは、ECGエンコーダトレーニングモジュール141と、ECG検索モジュール143とをさらに含んでもよく、それらの各々が、本明細書で説明する機能のいくつかを行うために、処理デバイス140Bによって実行されてもよい。処理デバイス140Bは、本明細書でさらに詳細に説明するように、ECG検索モジュール143とともに使用するECGエンコーダをトレーニングするためにECGエンコーダトレーニングモジュール141を実行してもよい。メモリ140Aは、本明細書でさらに詳細に説明するように、テキストエンコーダ145のトレーニングに使用する複数のECG診断のテキスト表現を含み得るトレーニングデータ150をさらに含んでもよい。メモリ140Aは、ECG記録(すなわち、生の誘導データ)および複数のECGの各々についての対応する診断のテキスト表現を含み得るトレーニングデータ155をさらに含んでもよい。本明細書で使用するECG記録は、ECGの生の誘導データを指し得る。
【0025】
ECGエンコーダトレーニングモジュール141を実行すると、処理デバイス140Bは、ECG診断のテキスト表現を埋込み空間のベクトルに変換する表現関数(本明細書ではテキスト埋込みと呼ぶ)を学習するために、トレーニングデータ150に基づいて半教師あり方法でテキストエンコーダ145(図3に示す)をトレーニングしてもよい。トレーニングデータ150は、本明細書でさらに詳細に説明するように、複数のECG診断の各々のテキスト表現を含んでもよい。テキストエンコーダ145は、たとえば、トランスフォーマによる双方向エンコーダ表現(bidirectional encoder representations from transformers:BERT)系列変換モデル(sequence-to-sequence model)など、系列から学習可能、変換可能な表現を抽出することができる任意の適切なMLモデルであってもよい。埋込み空間は、高次元のベクトルが変換され得る離散変数の学習された連続ベクトル表現を含む、比較的低次元の空間である。半教師あり(または自己教師あり学習)は、MLモデルがトレーニングされる対象のデータからパターンを推論するために、ラベルの限られたセットを使用して、またはラベルをまったく使用せずに、MLモデルをトレーニングすることを含む。場合によっては、半教師あり学習は、本明細書でさらに詳細に説明するように、プロキシタスクの利用を含んでもよい。
【0026】
埋込みは、単語を表す疎ベクトルなどの大きい入力で機械学習を行うことをより容易にし、モデルを越えて学習され、再利用され得る。トレーニングデータ150の各ECG診断のテキスト表現は、ECGに生成された診断を表す診断コードの順序付けられたシーケンスであってもよい。シーケンスの各診断コードは、観察された状態(たとえば、コード22=正常洞調律)、文法修飾子(grammatical modifier)(たとえば、コード179=および)、および副詞/副詞句(たとえば、コード211=時々)を表し得る。たとえば、診断コードシーケンス[19, 221, 1766]は、「心室期外複合群を有する洞調律(sinus rhythm with premature ventricular complexes)」に変換される。本開示の実施形態は、例示のためにECG診断のテキスト表現としてECG診断を表す診断コードの順序付けられたシーケンスを使用して説明されるが、実施形態はこのように限定されず、ECG診断の任意の適切なテキスト表現を使用して実現され得る。
【0027】
図3は、テキストエンコーダ145をトレーニングするプロセスを示す。テキストエンコーダ145は、入力として、ECG診断に対応する診断コードの第1のシーケンスをトレーニングデータ150から受け取ってもよい。診断コードの第1のシーケンスは、[19, 221, 1766, 1687, 0, 0, 0…]である場合があり、「洞調律、一連の上室期外複合群、他の点では正常なECG(sinus rhythm premature supraventricular complexes in a series otherwise normal ECG)」を表す。処理デバイス140Bは、フリーテキスト部分および日付など、診断コードのシーケンスから無関係な情報を削除してもよい。診断コードの数/入力シーケンスおよび出力シーケンスのシーケンス長は、図3に示すように16に設定されており、任意に選択されてもよい。わかるように、診断コードの第1のシーケンスは、16コード長を満たすためにゼロで埋められてもよい([19, 221, 1766, 1687, 0, 0, 0…]であってもよい)。いくつかの実施形態では、入力および出力シーケンスの診断コードの数は、理想的性能を得るように選択されてもよい。
【0028】
テキストエンコーダ145は、マスクされた予測タスクでトレーニングすることによって、診断コードのシーケンスをテキスト埋込み(埋込み空間のベクトル)にエンコードすることを学習し得る。したがって、診断コードの第1のシーケンスについて、処理デバイス140Bは、シーケンスからランダムに診断コードを削除し、図3に示すように、それを<MASK>トークンと入れ替える(すなわち、その診断コードを「マスクする」)ことがある。図3の例では、「上室期外複合群」を表す診断コードはマスクされ、テキストエンコーダ145は、マスクされたトークンに適合し得る考えられる診断コードについての確率分布のシーケンスを出力することによって、(たとえば、テキストエンコーダ145の分類器層を介して)マスクされた診断コードを予測するようにトレーニングされる。大部分のマスクされた予測例は、複数の考えられる完成を有するので、トレーニングデータ150、(たとえば、条件付き依存層を介した)テキストエンコーダ145からの診断コードの所与の十分なシーケンスが、異なる診断コード間の条件付き依存性を取り込み、関係するECG診断の類似性をエンコードする表現関数を学習すると期待することは理にかなっている。図3の例を続けると、テキストエンコーダ145は、2つ以上の診断コードが潜在的に「洞調律」の後に現れる可能性があるが、「一連の」という語句は、潜在的なVTACの高い確率を示し、したがってマスクは「心室期外複合群」で埋められる確率が最も高いことを理解するようになり得る。テキストエンコーダ145は、「洞複合群(sinus complexes)」などの他の語句、他の可能性、より低い確率を割り当てる場合がある。
【0029】
テキストエンコーダ145が実際に学習しているものは、診断コードのシーケンスがどのように理解/解釈されるかを最終的に知らせる、マスクされたトークンに適合し得る異なる診断コードの確率分布であることに留意されたい。より具体的には、テキストエンコーダ145の表現関数は、診断コードのシーケンスをテキスト埋込み(ベクトル)にマップしてもよく、テキストエンコーダ145の分類器層は、テキスト埋込みをトークンの確率分布にマップしてもよい。分類器層は、マスクされた診断コードの位置での表現関数の埋込みからマスクされた診断コードを予測するようにトレーニングされてもよい。その位置の診断コードはマスクされるので、表現関数は、コンテキストから(すなわち、シーケンスのマスクされていない診断コードを使用することによって)この埋込みを生成しなければならない。類似の分布を作り出すコンテキストは、類似の埋込みを有する可能性がある。たとえば、2つのトレーニング例、「正常洞調律、正常ECG」および「洞調律、正常ECG」があり、各々の2番目の診断コードがマスクされる(「正常洞調律、<MASK>」および「洞調律、<MASK>」)と仮定する。テキストエンコーダ145は、どちらの場合も「正常ECG」が目標予測であるので、「正常洞調律」および「洞調律」が同様である(および類似のコンテキスト埋込みを作り出す)ことを学習する可能性が高い。
【0030】
テキストエンコーダ145のトレーニングが完了すると、テキストエンコーダ145は、診断コードのシーケンスを受け取り、医師またはヘルスケア専門家が必要とし、類似の診断が埋込み空間において互いに近くにあるように必要とするすべての診断情報を取り込むベクトルのシーケンス(連続した実数)を出力してもよい。
【0031】
ECG検索が、(たとえば、10秒12誘導の)ECG記録を埋込み空間のベクトルに変換する表現関数(「ECG埋込み」と呼ばれる)を学習するためにECGエンコーダ147をトレーニングすることによって実装されてもよい。類似の診断を有するECGは、埋込み空間の同じ領域に押し込まれることになり、異なる診断を有するECGは、異なる領域に押しやられることになるという点において、ECGエンコーダ147は、テキストエンコーダ145と同じプロパティを有する。したがって、処理デバイス140Bは、ECG記録と対応する診断のテキスト表現との間の統合埋込み空間を使用してECGエンコーダ147をトレーニングしてもよい。これを行うために、処理デバイス140Bは、ECGエンコーダ147のトレーニングを監督するために、テキストエンコーダ145によって学習された表現関数を使用してもよい。しかしながら、処理デバイス140Bは、統合埋込みを学習するための開始点としてテキスト埋込みを使用するにすぎない、柔軟な形態の監督を利用してもよい。処理デバイス140Bは、ECG記録(すなわち、生の誘導データ)と、複数のECGについての各々の対応する診断のテキスト表現(すなわち、診断コードのシーケンス)とを含み得るトレーニングデータ155を使用してECGエンコーダ147をトレーニングしてもよい。
【0032】
図4は、ECGエンコーダ147のトレーニングを示す。ECGエンコーダ147は、生のECG誘導データを含むECG記録を(トレーニングデータ155から)受け取ってもよく、複数の層を利用してもよく、各層は、生のECG誘導データをダウンサンプリングし、より多くの情報/チャネルを追加する。チャネルは、ある時点における入力の特徴を表す次元である。典型的な畳み込みネットワークは、ダウンサンプリングによって入力を時間次元に変換し、場合によってはチャネルの数を増やす。たとえば、入力(生のECG誘導データ)は、3000(時間ステップ)×1(チャネル)の次元を有してもよく、ネットワークの第1の層が、1500×32の次元を有する生のECG誘導データを出力してもよく、ネットワークの第2の層が、750×64の次元を有する生のECG誘導データを出力してもよく、ネットワークの第3の層が、375×128の次元を有する生のECG誘導データを出力してもよい。ネットワークのより深くに進むにつれて、生のECG誘導データは、より多くのチャネルと、より少ない時間ステップとを有することになる。ネットワークは、ローカル情報をグローバル情報に変換してもよい。最終的に、時間次元は、1まで縮小されてもよく、各出力は、生のECG誘導データについてのグローバル情報を表してもよい。
【0033】
ECGエンコーダ147は、畳み込みネットワークと、誘導結合器(lead combiner)と、畳み込み残差ネットワーク(図には示していない)とを含んでもよい。畳み込みネットワークは、ダウンサンプリングし、(各誘導で同じ動作を行って)独立して各誘導から特徴を抽出してもよい。誘導結合器は、誘導のすべてからの情報を統合し、混合してもよい。畳み込み残差ネットワークは、追加の処理を行い、情報ボトルネックと呼ばれることがある技法を使用して、ダウンサンプリングしてもよく、情報は、より小さい空間を通して渡され、それによってECGエンコーダ147にその情報をより効率的に表現し、異質または無関係である情報を廃棄する方法を学習させる。このようにして、処理デバイス140Bは、トレーニングデータ155の各ECGの生の誘導データをより効率的に表現し、(ECG記録はしばしば、かなりの量の冗長な情報を有するので)不必要な情報を廃棄する方法を学習するようにECGエンコーダ147をトレーニングしてもよい。いくつかの実施形態では、トレーニング中に、処理デバイス140Bは、不良な誘導接触および/または消失もしくは破損した誘導データの影響に対してECGエンコーダ147をよりロバストにするために、10%の確率で個々の誘導をランダムにゼロアウトしてもよい。誘導全体をドロップアウトして、ECGエンコーダ147が、それの出力を1つの「最良の」誘導または「最良の」誘導のサブセットに強く相関させるのではなく、誘導に依存しない特徴を学習することを促す。処理デバイス140Bは、ECGエンコーダ147(ECG埋込み)の出力シーケンスを統合埋込み空間410に変換する、学習可能な線形変換を含み得るECG埋込み投影層405をトレーニングしてもよい。ECG埋込み投影層405は、長さ(統合埋込み空間410のサイズ)256のベクトルを出力する全結合層(図示せず)を含んでもよい。ECG埋込み投影層405はまた、出力ベクトルが常に単位長さのベクトルであるように、出力ベクトルをそれのユークリッドノーマル(Euclidean normal)によって分割する(すなわち、出力ベクトルをL2正規化する)こともある。
【0034】
図4に示すように、テキストエンコーダ145の出力の形状は、各々長さ128の16の埋込みベクトルを表す[16 x 128]配列である。処理デバイス140Bは、テキストエンコーダ145の出力シーケンス(テキスト埋込み)を統合埋込み空間410に変換するように、テキスト埋込み投影層415をトレーニングしてもよい。テキスト埋込み投影層415は、1次元入力を必要とする全結合層(図示せず)を含んでもよく、したがってテキスト埋込み投影層415は、テキストエンコーダ145の出力を平坦化して、それを1次元にしてもよい。全結合層は、長さ256のベクトル(統合埋込み空間410のサイズ)を出力することによって、テキストエンコーダ145の出力シーケンス(テキスト埋込み)を、統合埋込み空間410に変換してもよい。テキスト埋込み投影層405はまた、出力ベクトルが常に単位長さのベクトルであるように、出力ベクトルをL2正規化することもある。トレーニングデータ155のあらゆるECGに対して、テキストエンコーダ145は、診断コードの対応するシーケンスを入力として獲得し、(上記で説明したように)テキスト埋込みを生成してもよく、ECGエンコーダ147は、対応する生の誘導データを入力として獲得し、(上記で説明したように)ECG埋込みを生成する。処理デバイス140Bは、テキスト埋込みおよびECG埋込み(どちらも単位長さにL2正規化される)を、それらのそれぞれの全結合層(ECG埋込み投影層405およびテキスト埋込み投影層415)を使用して、統合埋込み空間410に投影してもよい。
【0035】
統合埋込み空間410は、ECGエンコーダ147がECG埋込みを対応するテキスト埋込みとマッチングすることを学習できるように、(ECGエンコーダトレーニングモジュール141を実行する)処理デバイス140Bが、ECGエンコーダ147をトレーニングするために損失関数を適用し得る場所である。図5は、統合埋込み空間410を表す行列を示す。各トレーニングECGに対して、テキストエンコーダ145は、トレーニングECGの診断を表す診断コードのシーケンスをテキスト埋込みにエンコードしてもよく、ECGエンコーダ147は、トレーニングECGの生の誘導データをECG埋込みにエンコードしてもよい。図5に示すように、各トレーニングECGのテキスト埋込みは、行505全体にわたってT1~TNで表され、各トレーニングECGのECG埋込みは、列510ではl1~lNで表される。処理デバイス140Bは、マッチするECGとテキスト埋込みとの間の類似性を最大にし、異なるECGとテキスト埋込みとの間の類似性を最小にするようにECGエンコーダ147をトレーニングするために損失関数を利用してもよく、それによってECGエンコーダ147およびテキスト埋込み投影層を同時にトレーニングする。より具体的には、各トレーニングECGに対して、処理デバイス140Bは、対応するECG埋込みおよびテキスト埋込みのドット積を採用してもよい。トレーニング目的は、(マッチするテキストとECG埋込みとの間のドット積に対応する)すべての診断エントリを可能な限り1に近くすることである。上記で説明したようにECGエンコーダ147をトレーニングすると、ECGエンコーダ147は、類似のECGのペアを高い類似性を有する埋込みにマップし、似ていないECGのペアを低い類似性を有する埋込みにマップすることが可能であってよい。
【0036】
ユーザから(たとえば、本明細書で説明するようにローカルコンピューティングデバイス120を介して)クエリECGを受け取ると、処理デバイス140Bは、ECG検索を行うためにトレーニングされたECGエンコーダ147を利用するために、ECG検索モジュール143を実行してもよい。図6は、ECG検索を行うプロセスを示す。処理デバイス140Bは、ECGデータベース160の各ECGにECG埋込みを作成するためにECGエンコーダ147を使用することによって(複数の以前に記録されたECGおよびそれらの診断のテキスト表現を含む)ECGデータベース160の各ECGに対して、ECG埋込みの検索可能なデータベース605を用意してもよい。ECGデータベース160は、図6Bおよび図6Cに関して本明細書で説明するように分析の目的で、特定の患者の以前のECGを含み得ることに留意されたい。図6Aに示すように、データベース605は、ECGデータベース160のECGの各々について、ファイル名と、診断と、ECG埋込みとを含んでよい。クエリECGに類似したECGを求めてデータベース605を検索するために、クエリECGは、クエリ埋込みを作成するためにECGエンコーダ147によってエンコードされる。
【0037】
(ECG検索モジュール143を実行する)処理デバイス140Bは、クエリ埋込みとデータベース605の各ECG埋込みとの間の類似性スコアを計算してもよい。ECG埋込みベクトルは、256の成分を有し、単位長さに正規化され、ベクトルのペアが、メトリックとしてベクトルドット積を使用して比較されてもよい。このようにして、処理デバイス140Bは、クエリ埋込みとECG埋込みとの間のドット積を類似性スコアとして使用してもよく、クエリ埋込みおよび各ECG埋込みについての類似性スコアを計算してもよい。いくつかの実施形態では、類似性スコアは、PrestoまたはSparkなどの分散クエリエンジンを使用して、高速に、かつ並行して計算され得る。処理デバイス140Bは、類似性スコアに基づいて降順で記録をソートしてもよく、上位K個の結果を表示/可視化してもよい(または表示/可視化のためにローカルコンピューティングデバイス120に送信してもよい)。
【0038】
強化されたECG検索を行うための双対の埋込みモデルの使用は、様々な方法で使用される場合がある。一例では、本開示の実施形態は、(たとえば、特定の患者が選択したECGのようなECGを以前に得たことがあるかどうかを決定するために)選択したECGに似ているECGを見つけるために使用される場合がある。別の例では、本開示の実施形態は、(たとえば、ECGが特定の患者にとって正常であるかどうか、またはさらなる分析を必要とする患者のECGに変化があったかどうかを決定するために)特定の患者の心臓の健康における傾向、変化、および/または季節性を識別するために使用される場合がある。これらの例に沿って、いくつかの実施形態では、処理デバイス140Bは、患者のECG履歴のタイムラインビューを生成し、表示してもよく、このタイムラインビューは、ユーザ(たとえば、医師または看護師)が関心のECGを迅速に識別することを可能にし得る。ユーザは、タイムラインの下に表示される1つのECGまたはペアを、単一のECGまたは比較のために並んだ2つのECGのいずれかとして選択することができる。図6Bおよび図6Cは、タイムラインビューの異なる「モード」を示し、各円アイコンが、ECG記録を表してもよく、X軸が、時間を表してもよく、Y軸が、1次元に投影されたECG埋込み(検索可能なデータベース605のECGに基づくもの、およびクエリECGに基づくクエリ埋込みを含む)を表してもよい。図6Bおよび図6Cに示す2つのモードは、本明細書でさらに詳細に説明するようにY軸が定義される方法が異なる。
【0039】
患者のECG記録のタイムラインビューは、連続比較に使用されることがあり、第1のステップは、患者のECG記録のリズムおよび/または形態に著しい変化が発生したかどうかを決定することである。著しい変化のしきい値は、二重埋込み変数の相関から確立され得る。相関がしきい値よりも高い場合、現在のECGと参照ECGとの間に著しい変化はなく、したがって解釈ステータスは、変わらない。相関がしきい値よりも低い場合、これは、何らかの著しい変化が発生したことを示す可能性がある。ECGパラメータおよび埋込み変数についてのさらなる分析により、ACSの場合のST-T変化、または脚ブロック(bundle branch block)の場合のQRS継続時間変化のように、どのタイプの変化が発生したかを定義することができる。
【0040】
図6Bは、「ECG-ECG」モードのタイムラインビューを示し、このモードではY軸は、検索可能なデータベース605の各ECGと、クエリ(参照)ECGとの間の類似性スコア(すなわち、それらのそれぞれの埋込みの間の類似性スコア)を表し得る。直近の(すなわち、クエリ)ECGは、デフォルト参照ECGであってもよいが、ユーザは、参照ECGとして指定したいと思うECGの適切なアイコンと対話すること(たとえば、ダブルクリックすること)によって新しい参照ECGを指定することができる。(参照ECG以外の)タイムラインのすべての他のECGは、参照ECGに対するそれらの類似性に従って垂直方向に配置されてもよい。
【0041】
図6Cは、「ECG-TEXT」モードのタイムラインビューを示し、このモードではY軸は、診断のテキスト表現と、検索可能なデータベース605の各ECGとの間の類似性スコア(すなわち、それらのそれぞれのテキスト/ECG埋込みの間の類似性スコア)を表し得る。ユーザは、提供されたデータ入力エリア630に診断(図6Cの例に示される「心房細動」)を選んでもよく、またはタイプしてもよく、ECGデータベース160の各ECGは、与えられた診断に対するそれらの類似性に基づいてY軸上に投影されてもよい。「正常洞調律」の場合のテキスト埋込みは、デフォルトではY軸上の0にマップされ得る。これは、ユーザが潜在的に異常なECGを直ちに見つけること、また一見して傾向を理解することを可能にする。図6Cでわかるように、Y軸上の検索可能なデータベース605の各ECGの高さは、そのECGのECG埋込みと、入力された診断のテキスト埋込みと(の間の類似性スコア)のドット積に対応し得る。
【0042】
ECG検索を行うとき、特定の数の条件に焦点を当てることが可能であることが望ましい状況があり得る。たとえば、データサイエンティストが、診断を有する可能性がある記録を求めてECGのデータベースを調べることを望む場合がある。別の例では、医師が、患者のECG履歴を検索することを望む場合があり、これは、しばしば多くのラベルのないECGを有するモバイル/家庭用ECGユーザの状況において特に関連している。しかしながら、ECGエンコーダ147は、上記で説明したように、特定の分類目標への参照なしに、マッチするテキスト埋込みに基づいてトレーニングされるので、ECG検索モジュール143の実行が、より一般的である(および特定の条件に焦点を当てられない)結果をもたらす可能性がある。したがって、いくつかの実施形態では、処理デバイス140Bは、図7に示すようにユーザが試みている分類の特定の条件を満たすECG検索結果を分類するように分類器149をさらにトレーニングするために、(ECG検索モジュール143の代わりに)分類モジュール142を実行してもよい。図7は、ユーザが試みている分類の特定の条件に焦点を当てたECG検索結果を分類するために分類器149をトレーニングするプロセスを示す。(分類モジュール142を実行する)処理デバイス140Bは、ECGエンコーダ147の出力を、それをトレーニングするために分類器149の入力として使用してもよい。分類器149は、単純なMLモデルであってもよい。たとえば、いくつかの実施形態では、分類器149は、ECGエンコーダ147からの入力データに基づいて単に線形回帰を行ってもよい。分類器149は、それが高品質データ(すなわち、良くラベル付けされたデータ)のより小さいサンプルセットでトレーニングできる状態において理想的であり得る。実際、そのような実施形態は、処理デバイス140Bが事前トレーニングされたECGエンコーダ147を転移学習のためのバックボーンとして使用することを可能にし得る。より具体的には、ECGエンコーダは、ECG埋込みを生成するためにECGデータの小さいサンプルを前処理してもよい。小規模分類器は、したがって、(埋込み、ラベル)ペアでトレーニングされ得る。これは、(ECG、ラベル)ペアで直接トレーニングするよりも、少ないトレーニングデータを必要とし、少ないパラメータを使用することになる。
【0043】
図8Aは、本開示のいくつかの実施形態による、ECG検索を実施するための方法800の流れ図である。方法800は、ハードウェア(たとえば、回路、専用論理、プログラマブル論理、プロセッサ、処理デバイス、中央処理ユニット(CPU)、システムオンチップ(SoC)など)、ソフトウェア(たとえば、処理デバイスで稼働/実行される命令)、ファームウェア(たとえば、マイクロコード)、またはそれらの組合せを含み得る処理論理によって実施されてもよい。いくつかの実施形態では、方法800は、コンピューティングデバイス(たとえば、図2に示すクラウドサービスシステム140)によって実施されてもよい。
【0044】
図2、さらに図3を同時に参照すると、方法800は、ブロック805に始まり、ECGエンコーダトレーニングモジュール141を実行すると、処理デバイス140Bは、ECG診断のテキスト表現を埋込み空間のベクトルに変換する表現関数(本明細書ではテキスト埋込みと呼ぶ)を学習するために、トレーニングデータ150に基づいて半教師あり方法でテキストエンコーダ145(図3に示す)をトレーニングしてもよい。トレーニングデータ150は、本明細書でさらに詳細に説明するように、複数のECG診断の各々のテキスト表現を含んでもよい。テキストエンコーダ145は、たとえば、トランスフォーマによる双方向エンコーダ表現(BERT)系列変換モデル(sequence-to-sequence model)など、系列から学習可能、変換可能な表現を抽出することができる任意の適切なMLモデルであってもよい。
【0045】
図3は、テキストエンコーダ145をトレーニングするプロセスを示す。テキストエンコーダ145は、入力として、ECG診断に対応する診断コードの第1のシーケンスをトレーニングデータ150から受け取ってもよい。診断コードの第1のシーケンスは、[19, 221, 1766, 1687, 0, 0, 0…]である場合があり、「洞調律、一連の上室期外複合群、他の点では正常なECG」を表す。処理デバイス140Bは、フリーテキスト部分および日付など、診断コードのシーケンスから無関係な情報を削除してもよい。診断コードの数/入力シーケンスおよび出力シーケンスのシーケンス長は、図3に示すように16に設定されており、任意に選択されてもよい。わかるように、診断コードの第1のシーケンスは、16コード長を満たすためにゼロで埋められてもよい([19, 221, 1766, 1687, 0, 0, 0…]であってもよい)。いくつかの実施形態では、入力および出力シーケンスの診断コードの数は、理想的性能を得るように選択されてもよい。
【0046】
テキストエンコーダ145は、マスクされた予測タスクでトレーニングすることによって、診断コードのシーケンスを埋込み空間のベクトルにエンコードすること(テキスト埋込み)を学習し得る。したがって、診断コードの第1のシーケンスについて、処理デバイス140Bは、シーケンスからランダムに診断コードを削除し、図3に示すように、それを<MASK>トークンと入れ替えることがある。図3の例では、「上室期外複合群」を表す診断コードはマスクされ、テキストエンコーダ145は、マスクされた空間に適合し得る考えられる診断コードにわたる確率分布のシーケンスを出力することによって、(たとえば、テキストエンコーダ145の分類器層を介して)マスクされた診断コードを予測するようにトレーニングされる。大部分のマスクされた予測例は、複数の考えられる完成を有するので、トレーニングデータ150、(たとえば、条件付き依存層を介した)テキストエンコーダ145からの診断コードの所与の十分なシーケンスが、異なる診断コード間の条件付き依存性を取り込み、関係するECG診断の類似性をエンコードする表現関数を学習すると期待することは理にかなっている。図3の例を続けると、テキストエンコーダ145は、2つ以上の診断コードが潜在的に「洞調律」の後に現れる可能性があるが、「一連の」という語句は、潜在的なVTACの高い確率を示し、したがってマスクは「心室期外複合群」で埋められる確率が最も高いことを理解するようになり得る。<MASK>トークンに適合し得る他の語句が、より低い確率を割り当てられる。テキストエンコーダ145が実際に学習しているものは、診断コードのシーケンスがどのように理解/解釈されるかを最終的に知らせる、マスクされたスロットに適合し得る異なるコードの確率分布であることに留意されたい。
【0047】
テキストエンコーダ145のトレーニングが完了すると、テキストエンコーダ145は、診断コードのシーケンスを受け取り、医師またはヘルスケア専門家が必要とし、類似の診断が埋込み空間において互いに近くにあるように必要とするすべての診断情報を取り込むベクトルのシーケンス(連続した実数)を出力してもよい。
【0048】
ブロック810において、処理デバイス140Bは、(たとえば、10秒12誘導の)ECG記録を埋込み空間のベクトルに変換する表現関数(「ECG埋込み」と呼ばれる)を学習するようにECGエンコーダ147をトレーニングしてもよい。類似の診断を有するECGは、埋込み空間の同じ領域に押し込まれることになり、異なる診断を有するECGは、異なる領域に押しやられることになるという点において、ECGエンコーダ147は、テキストエンコーダ145と同じプロパティを有する。したがって、処理デバイス140Bは、ECG記録と対応する診断のテキスト表現との間の統合埋込み空間を使用してECGエンコーダ147をトレーニングしてもよい。これを行うために、処理デバイス140Bは、ECGエンコーダ147のトレーニングを監督するために、テキストエンコーダ145によって学習された表現関数を使用してもよい。しかしながら、処理デバイス140Bは、統合埋込みを学習するための開始点としてテキスト埋込みを使用するにすぎない、柔軟な形態の監督を利用してもよい。処理デバイス140Bは、ECG記録(すなわち、生の誘導データ)と、複数のECGについての各々の対応する診断のテキスト表現(すなわち、診断コードのシーケンス)とを含み得るトレーニングデータ155を使用してECGエンコーダ147をトレーニングしてもよい。
【0049】
図4は、ECGエンコーダ147のトレーニングを示す。ECGエンコーダ147は、生のECG誘導データを含むECG記録を(トレーニングデータ155から)受け取ってもよく、複数の層を利用してもよく、各層は、生のECG誘導データをダウンサンプリングし、より多くの情報/チャネルを追加する。この概念は、情報ボトルネックと呼ばれることがあり、情報は、より小さい空間を通して渡され、それによってECGエンコーダ147にその情報をより効率的に表現し、異質または無関係である情報を廃棄する方法を学習させる。このようにして、処理デバイス140Bは、トレーニングデータ155の各ECGの生の誘導データをより効率的に表現し、(ECG記録はしばしば、かなりの量の冗長な情報を有するので)不必要な情報を廃棄する方法を学習するようにECGエンコーダ147をトレーニングしてもよい。トレーニングデータ155のあらゆるECGに対して、テキストエンコーダ145は、診断コードの対応するシーケンスを入力として獲得し、テキスト埋込みを生成してもよく、ECGエンコーダ147は、対応する生の誘導データを入力として獲得し、ECG埋込みを生成する。処理デバイス140Bは、テキスト埋込みおよびECG埋込み(どちらも単位長さにL2正規化される)を、全結合層を使用して、統合埋込み空間410に投影してもよい。
【0050】
統合埋込み空間410は、ECGエンコーダ147がECG埋込みを対応するテキスト埋込みとマッチングすることを学習できるように、(ECGエンコーダトレーニングモジュール141を実行する)処理デバイス140Bが、ECGエンコーダ147をトレーニングするために損失関数を適用し得る場所である。図5は、統合埋込み空間410を表す行列を示す。各トレーニングECGに対して、テキストエンコーダ145は、トレーニングECGの診断を表す診断コードのシーケンスをテキスト埋込みにエンコードしてもよく、ECGエンコーダ147は、トレーニングECGの生の誘導データをECG埋込みにエンコードしてもよい。図5に示すように、各トレーニングECGのテキスト埋込みは、行505全体にわたってT1~TNで表され、各トレーニングECGのECG埋込みは、列510ではl1~lNで表される。処理デバイス140Bは、マッチするECGとテキスト埋込みとの間の類似性を最大にし、異なるECGとテキスト埋込みとの間の類似性を最小にするようにECGエンコーダ147をトレーニングするために損失関数を利用してもよく、それによってECGエンコーダ147およびテキスト埋込み投影層を同時にトレーニングする。より具体的には、各トレーニングECGに対して、処理デバイス140Bは、対応するECG埋込みおよびテキスト埋込みのドット積を採用してもよい。トレーニング目的は、(マッチするテキストとECG埋込みとの間のドット積に対応する)すべての診断エントリを可能な限り1に近くすることである。上記で説明したようにECGエンコーダ147をトレーニングすると、ECGエンコーダ147は、類似のECGのペアを高い類似性を有する埋込みにマップし、似ていないECGのペアを低い類似性を有する埋込みにマップすることが可能であってよい。
【0051】
ブロック815において、処理デバイス140Bは、ECGデータベース160の各ECGにECG埋込みを作成するためにECGエンコーダ147を使用することによって(複数の以前に記録されたECGおよびそれらの診断のテキスト表現を含む)ECGデータベース160の各ECGに対して、ECG埋込みの検索可能なデータベース605を用意してもよい。図6に示すように、データベース605は、ECGデータベース160のECGの各々について、ファイル名と、診断と、ECG埋込みとを含んでよい。ブロック820において、クエリECGを受け取ると、クエリECGは、クエリ埋込みを作成するためにECGエンコーダ147によってエンコードされる。ブロック825において、(ECG検索モジュール143を実行している)処理デバイス140Bは、クエリ埋込みとデータベース605の各ECG埋込みとの間の類似性スコアを計算してもよい。ECG埋込みベクトルは、256の成分を有し、単位長さに正規化され、ベクトルのペアが、メトリックとしてベクトルドット積を使用して比較されてもよい。このようにして、処理デバイス140Bは、クエリ埋込みとECG埋込みとの間のドット積を類似性スコアとして使用してもよく、クエリ埋込みおよび各ECG埋込みについての類似性スコアを計算してもよい。いくつかの実施形態では、類似性スコアは、PrestoまたはSparkなどの分散クエリエンジンを使用して、高速に、かつ並行して計算され得る。処理デバイス140Bは、類似性スコアに基づいて降順でECG埋込みをソートしてもよく、上位K個の結果を表示/可視化してもよい(または表示/可視化のためにローカルコンピューティングデバイス120に返してもよい)。
【0052】
図8Bは、本開示のいくつかの実施形態による、ECG分類を実施する方法850の流れ図である。方法850は、ハードウェア(たとえば、回路、専用論理、プログラマブル論理、プロセッサ、処理デバイス、中央処理ユニット(CPU)、システムオンチップ(SoC)など)、ソフトウェア(たとえば、処理デバイスで稼働/実行される命令)、ファームウェア(たとえば、マイクロコード)、またはそれらの組合せを含み得る処理論理によって実施されてもよい。いくつかの実施形態では、方法850は、コンピューティングデバイス(たとえば、図3に示すクラウドサービスシステム140)によって実施されてもよい。
【0053】
ECG検索を行うとき、特定の数の条件に焦点を当てることが可能であることが望ましい状況があり得る。しかしながら、ECGエンコーダ147は、上記で説明したように、特定の分類目標への参照なしに、マッチするテキスト埋込みに基づいてトレーニングされるので、ECG検索モジュール143の実行が、より一般的である(および特定の条件に焦点を当てられない)結果をもたらす可能性がある。方法850は、ブロック855およびブロック860から始まってもよく、ブロック855およびブロック860は、図8Aに関して上記で説明したブロック805およびブロック810と同様である。ブロック865において、処理デバイス140Bは、図7に示すようにユーザが試みている分類の特定の条件を満たすECG検索結果を分類するように分類器149をさらにトレーニングするために、(ECG検索モジュール143の代わりに)分類モジュール142を実行してもよい。図7は、ユーザが試みている分類の特定の条件に焦点を当てたECG検索結果を分類するために分類器149をトレーニングするプロセスを示す。(分類モジュール142を実行する)処理デバイス140Bは、ECGエンコーダ147の出力を、それをトレーニングするために分類器149の入力として使用してもよい。分類器149は、単純なMLモデルであってもよい。たとえば、いくつかの実施形態では、分類器149は、ECGエンコーダ147からの入力データに基づいて単に線形回帰を行ってもよい。分類器149は、それが高品質データ(すなわち、良くラベル付けされたデータ)のより小さいサンプルセットでトレーニングできる状態において理想的であり得る。
【0054】
図9は、その中の命令のセットが、ECG検索を行うために本明細書で説明する方法のいずれか1つまたは複数を機械に行わせるためのものである、コンピュータシステム900の例示的な形態の機械の図表現を示す。
【0055】
代替実施形態では、機械は、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットの他の機械に接続(ネットワーク化)されてもよい。機械は、クライアントサーバネットワーク環境でサーバもしくはクライアント機械の能力内で、またはピアツーピア(もしくは分散型)ネットワーク環境でピアマシンとして、動作してもよい。機械は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブ機器、サーバ、ネットワークルータ、スイッチもしくはブリッジ、ハブ、アクセスポイント、ネットワークアクセス制御デバイス、またはその機械がとるアクションを指定する命令(逐次またはそれ以外)のセットを実行することができるどんな機械であってもよい。さらに、単に1つの機械について説明しているが、「機械」という用語はまた、本明細書で説明する方法のいずれか1つまたは複数を行う命令のセット(または複数のセット)を個々にまたは一緒に実行する機械のどんな集合も含むとみなされるものとする。一実施形態では、コンピュータシステム900は、サーバを表していてもよい。
【0056】
例示的なコンピュータシステム900は、処理デバイス902と、メインメモリ904(たとえば、読取り専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM))と、スタティックメモリ906(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)と、データストレージデバイス918とを含み、これらはバス930を介して互いに通信する。本明細書で説明する様々なバスを介して提供される信号のいずれも、他の信号と時間多重化され、1つまたは複数の共通バスを介して提供されてもよい。加えて、回路構成要素またはブロック間の相互接続は、バスまたはシングル信号線として示されてもよい。バスの各々が、代替として1つまたは複数のシングル信号線であってもよく、シングル信号線の各々が、代替としてバスであってもよい。
【0057】
コンピューティングデバイス900は、ネットワーク920と通信し得るネットワークインターフェースデバイス908をさらに含んでもよい。コンピューティングデバイス900はまた、ビデオディスプレイユニット910(たとえば、液晶ディスプレイ(LCD)または陰極線管(CRT))と、英数字入力デバイス912(たとえば、キーボード)と、カーソル制御デバイス914(たとえば、マウス)と、音響信号生成デバイス916(たとえば、スピーカー)とを含んでもよい。一実施形態では、ビデオディスプレイユニット910、英数字入力デバイス912、およびカーソル制御デバイス914は、単一の構成要素またはデバイス(たとえば、LCDタッチスクリーン)に結合されてもよい。
【0058】
処理デバイス902は、マイクロプロセッサ、中央処理ユニットなどの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組合せを実装するプロセッサであってもよい。処理デバイス902はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つまたは複数の特殊目的の処理デバイスであってもよい。処理デバイス902は、本明細書で説明する動作およびステップを行うためのECG検索命令925を実行するように構成される。
【0059】
データストレージデバイス915は、機械可読記憶媒体928を含んでもよく、それに、本明細書で説明する機能の方法のいずれか1つまたは複数を具現するECG検索命令925(たとえば、ソフトウェア)の1つまたは複数のセットが記憶される。ECG検索命令925はまた、コンピュータシステム900によるそれの実行中に、完全にまたは少なくとも部分的に、メインメモリ904内または処理デバイス902内にあってもよく、メインメモリ904および処理デバイス902もまた、機械可読記憶媒体を構成している。ECG検索命令925はさらに、ネットワークインターフェースデバイス908を介してネットワーク920を通じて送信または受信されてもよい。
【0060】
機械可読記憶媒体928は、例示的な実施形態では単一の媒体であるように示されているが、「機械可読記憶媒体」という用語は、命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(たとえば、集中型もしくは分散型データベース、または関連するキャッシュおよびサーバ)を含むとみなされるべきである。機械可読媒体は、機械(たとえば、コンピュータ)によって読取り可能な形態(たとえば、ソフトウェア、処理アプリケーション)で情報を記憶するための任意の機構を含む。機械可読媒体は、限定はしないが、磁気記憶媒体(たとえば、フロッピーディスケット)、光記憶媒体(たとえば、CD-ROM)、光磁気記憶媒体、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブルメモリ(たとえば、EPROMおよびEEPROM)、フラッシュメモリ、または電子命令を記憶するのに適した別のタイプの媒体を含んでもよい。
【0061】
上記の説明は、本開示のいくつかの実施形態の十分な理解を可能にするために、特定のシステム、構成要素、方法の例などの、多数の具体的な詳細を示す。しかしながら、本開示の少なくともいくつかの実施形態は、これらの具体的な詳細なしに実践され得ることは、当業者には明らかであろう。他の事例では、よく知られている構成要素または方法は、本開示を不必要に曖昧にすることを避けるために、詳細に説明されないか、単純なブロック図形式で提示される。したがって、示される具体的な詳細は、例にすぎない。特定の実施形態は、これらの例示的な詳細とは異なるが、やはり本開示の範囲内に入ると考えられ得る。
【0062】
加えて、いくつかの実施形態は、機械可読媒体が2つ以上のコンピュータシステムに記憶され、かつ/またはそれらによって実行される分散コンピューティング環境において実践されてもよい。追加として、コンピュータシステム間で伝達される情報は、コンピュータシステムを接続する通信媒体にわたってプルされるか、またはプッシュされてもよい。
【0063】
請求される主題の実施形態は、限定はしないが、本明細書で説明する様々な動作を含む。これらの動作は、ハードウェア構成要素、ソフトウェア、ファームウェア、またはそれらの組合せによって行われてもよい。
【0064】
本明細書の方法の動作は、特定の順序で示され、説明されるが、各方法の動作の順序は、いくつかの動作が逆の順序で行われ得るように、またはいくつかの動作が少なくとも部分的に、他の動作と同時に行われ得るように、変更されてもよい。別の実施形態では、別個の動作の命令またはサブ動作は、間欠的または交互であってもよい。
【0065】
本発明の図示した実装形態の上記の説明は、要約書で説明するものを含めて、網羅的であること、または開示した厳密な形態に本発明を限定することを意図されていない。本発明の特定の実装形態、および例について、説明のために本明細書で説明しているが、当業者には認識されるように、本発明の範囲内で様々な等価な変更形態が考えられる。「例」または「例示的」という語は、本明細書では例、事例、または例示としての役割を果たすことを意味するために使用される。「例」または「例示的」として本明細書で説明する態様または設計は、必ずしも他の態様または設計より好ましいまたは有利であると解釈されるべきではない。そうではなく、「例」または「例示的」という語の使用は、概念を具体的に示すことを意図される。本出願で使用する、「または」という用語は、排他的な「または」ではなく、包含的な「または」を意味するものとする。すなわち、別段に規定されていない、または文脈から明らかでない限り、「XはAまたはBを含む」は、自然な包含的並べ替えのいずれかを意味するものとする。すなわち、XがAを含むか、XがBを含むか、またはXがAとBの両方を含む場合、「XがAまたはBを含む」は、前述の場合のいずれの下でも満たされる。加えて、本出願および添付の特許請求の範囲で使用する冠詞「a」および「an」は、別段に規定されていない限り、または単数形を対象とすることが文脈から明らかでない限り、一般に「1つまたは複数の」を意味するものと解釈すべきである。その上、全体を通した「実施形態」もしくは「一実施形態」または「実装形態」もしくは「一実装形態」という用語の使用は、そのような説明がない限り、同じ実施形態または実装形態を意味するものではない。さらに、本明細書で使用する「第1の」、「第2の」、「第3の」、「第4の」などの用語は、異なる要素の間で区別するためのラベルとしての意味があり、必ずしもそれらの数字表示に従った順序の意味があるとは限らないことがある。
【0066】
上記で開示するおよび他の特徴および機能の変形態、またはそれらの代替形態が、任意の他の異なるシステムまたは適用例に結合され得ることが諒解されよう。様々な現在予期または予想されない代替形態、変更形態、変形形態、またはその中の改善形態が、当業者によってその後作成される可能性があり、それらもまた、以下の特許請求の範囲によって包含されるものとする。特許請求の範囲は、ハードウェア、ソフトウェア、またはそれらの組合せの実施形態を包含し得る。
【符号の説明】
【0067】
100 システム
101 モバイルソフトウェアアプリケーション
110 ECGモニタ
120 ローカルコンピューティングデバイス
130 ネットワーク
140 クラウドサービスシステム
140A メモリ
140B 処理デバイス
141 ECGエンコーダトレーニングモジュール
142 分類モジュール
143 ECG検索モジュール
145 テキストエンコーダ
147 ECGエンコーダ
149 分類器
150 トレーニングデータ
155 トレーニングデータ
160 ECGデータベース
405 ECG埋込み投影層
410 統合埋込み空間
415 テキスト埋込み投影層
605 ECGデータベース
902 処理デバイス
925 ECG検索命令
904 メインメモリ
906 スタティックメモリ
908 ネットワークインターフェースデバイス
920 ネットワーク
910 ビデオディスプレイ
912 英数字入力デバイス
930 バス
914 カーソル制御デバイス
916 信号生成デバイス
918 データストレージデバイス
928 機械可読記憶媒体
図1A
図1B
図2
図3
図4
図5
図6A
図6B
図6C
図7
図8A
図8B
図9
【国際調査報告】