JP2023504637A - Etlパイプライン処理のためのシステム及び方法 - Google Patents
Etlパイプライン処理のためのシステム及び方法 Download PDFInfo
- Publication number
- JP2023504637A JP2023504637A JP2022532801A JP2022532801A JP2023504637A JP 2023504637 A JP2023504637 A JP 2023504637A JP 2022532801 A JP2022532801 A JP 2022532801A JP 2022532801 A JP2022532801 A JP 2022532801A JP 2023504637 A JP2023504637 A JP 2023504637A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- computational
- components
- data
- computation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 38
- 239000000203 mixture Substances 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 238000013075 data extraction Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 abstract description 24
- 239000000470 constituent Substances 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 206010028980 Neoplasm Diseases 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 201000011510 cancer Diseases 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 239000000107 tumor biomarker Substances 0.000 description 4
- 230000036210 malignancy Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 241000270666 Testudines Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000090 biomarker Substances 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 201000007270 liver cancer Diseases 0.000 description 1
- 208000014018 liver neoplasm Diseases 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
Abstract
本発明は、複数のグラフ構成コンポーネントを取得するように構成されたインターフェースを含むETLパイプライン・システムを提供する。各グラフ構成コンポーネントは、1つ又は複数の計算ロジック・ルールを表す情報を含む。本システムは、取得されたグラフ構成コンポーネントに基づいて計算グラフを生成するように構成された計算グラフ・ジェネレータをさらに含む。生成された計算グラフは、各グラフ構成コンポーネントのノード、及びノード間の関係を表す1つ又は複数のリンクを含む。本システムは、グラフ構成コンポーネントに関連する外部情報を外部ソースから受信し、外部情報に基づいて生成された計算グラフを適応させるように構成された計算グラフ・アダプタをさらに含む。本システムは、適応させられた計算グラフを実行するように構成された計算グラフ・ランナをさらに含む。
Description
本発明は、データ処理の分野、特に抽出、変換、及び読み込み(extract, transform, load(ETL))パイプライン処理の分野に関する。
抽出、変換、及び読み込み(ETL)は、様々なソースからデータを収集し、ビジネス要件にしたがってデータを変換し、そのデータを宛先データ記憶装置に読み込むための、データ処理及び分析システムによって利用されるパイプライン(すなわち一連のプロセス)である。ETLシステムでは、変換は特殊なエンジンで行われ、ステージングテーブルが通常、データが変換され、最終的に宛先に読み込まれるときにデータを一時的に保持するために使用される。データ変換のプロセス中は、フィルタリング、ソーティング、集約、結合、クリーニング、重複排除、及び検証など、多くの旧来の操作が含まれている。
医療データ用途については、意味のある識見を生成するために複雑なデータ変換が実行される必要がある。それでも、これらの変換は、データがより高度な処理に利用され得る前に、まず表現型のテーブルに構造化されたデータ(すなわちデータ要素)に依存していなければならない。したがって、旧来の医療データ処理システムにおいては、抽出ステップは有用な表現型を抽出することを含んでいる。変換は、抽出された表現型に基づいて実行される計算及び導出を指す。変換の出力は、既存の表現型から導出された新しい表現型、或いは診断又は治療選択など決定ルールの計算結果であり得る。
しかしながら、既存のETLシステムでは、表現型抽出に自然言語処理(NLP)技法が広く採用されるが、変換段階で知識主導型計算をサポートするアーキテクチャは極めて限定されている。ETLが完了した後の高度な計算を処理するために、通常、別のシステム又はアプリケーションが実行されるが、この結果、整合性が失われ、より多くのオーバーヘッドをもたらすことになる。
データ抽出は、旧来、独立したNLPモジュールによって処理される。その結果、表現型エクストラクタは、抽出されたデータの二次使用(データ集約など)とは分離されていることが多い。このため、複数の表現型抽出アルゴリズムの性能を比較しなければならなくなり、効率が悪くなる。
グラフ構造は、医療概念間の複雑な関係を捉えることが可能であるので、旧来、臨床知識の符号化に使用され、多くの用途の役に立っている。ただし、グラフ表現自体は計算不可能である。従来のETLパイプラインでは、計算を加速するために知識を有効活用できるようにする枠組みがない。これは、一般には、データ変換中にプログラミング・ルールをハード・コーディングすることによって達成される。結果として、この方法は、変化(たとえば入力データ・タイプ、アルゴリズム及び決定ロジックの変化)に対応する柔軟性に欠ける。
本発明は、特許請求の範囲によって定義されている。
本発明の一態様による例によれば、複数のグラフ構成コンポーネントを取得するように構成されたインターフェースを含むETLパイプライン・システムが提供される。各グラフ構成コンポーネントは、1つ又は複数の計算ロジック・ルールを表す情報を含む。本システムは、取得されたグラフ構成コンポーネントに基づいて計算グラフを生成するように構成された計算グラフ・ジェネレータをさらに含む。生成された計算グラフは、各グラフ構成コンポーネントのノード、及びそのノード間の関係を表す1つ又は複数のリンクを含む。本システムは、グラフ構成コンポーネントに関連する外部情報を外部ソースから受信し、その外部情報に基づいて生成された計算グラフを適応させるように構成された計算グラフ・アダプタをさらに含む。本システムは、適応させられた計算グラフを実行するように構成された計算グラフ・ランナをさらに含む。
表現型決定及び臨床知識コンピューティングが、首尾一貫、単一のアーキテクチャで埋め込まれた、医療データ処理に特に有効なETLアーキテクチャの概念が提案されている。そのような概念により、臨床知識が実際の臨床データから独立して構成されることが可能になる。しかしながら、実行時間中、データベース操作、表現型決定アルゴリズム及び決定ロジックがデータ・フローに適用される構造を通じて臨床データは流れ、目指した計算成果を得ることができる。
コンピューティングするグラフを直感的に構築するためのグラフ構成ファイル(DSLなど)を提供することが提案されている。計算グラフの構文解析、構築、及び実行を行うためのグラフ・ドライバを提供することが、さらに提案されている。表現型と臨床ドキュメントとの間の関係を符号化する情報モデリング技法を提供することが、さらに提案されている。提案するバックエンド・グラフ・データ構造は、ダウンストリームのアプリケーションの役に立つように、ファクト・ベース型知識グラフ及びデータ・ベース型知識グラフと統合され得る。さらに、ETLパイプライン・システム中のアプリケーションのために、多層計算、ローカル再計算及び適応計算のアプリケーションが提案されている。
特に医療データ処理に有効なETLアーキテクチャの概念が提案されている。特に、主張する本発明は、複数のグラフ構成コンポーネントを取得するように構成されたインターフェースを含むETLパイプライン・システムを提供する。各グラフ構成コンポーネントは、1つ又は複数の計算ロジック・ルールを表す情報を含む。提案する本発明は、取得されたグラフ構成コンポーネントに基づいて計算グラフを生成し、その生成された計算グラフは、各グラフ構成コンポーネントのノード、及びそのノード間の関係を表す1つ又は複数のリンクを含む。グラフ構成コンポーネントに関連する外部情報(ユーザ定義のグラフ構成コンポーネント及び/又は先行する知識など)が、生成された計算グラフを適応させるために、採用される。
一実施形態では、各グラフ構成コンポーネントは、データベース接続、ドキュメント、データ要素、アルゴリズム、及び計算ロジック・ルールのうちの少なくとも1つを含む。
一実施形態では、アルゴリズムが計算決定ルールを含み、且つ/又は計算ロジック・ルールが計算決定ルールを含む。
一実施形態では、外部情報は、ユーザ定義のグラフ構成コンポーネント及び外部知識データベースからの外部知識のうちの少なくとも1つを含む。例として、外部知識は、データベースに記憶された以前の/先行する計算グラフを含む。そのような以前の/先行する計算グラフは、生成された計算グラフに追加されて適応させられた計算グラフを形成する。すなわち、生成された計算グラフは、以前の/先行する計算グラフの組み込みによって適応させられる。さらなる例として、ユーザ定義のグラフ構成コンポーネントは、計算グラフを再定義又は修正するように構成されたグラフ構成コンポーネントを含む。
一実施形態では、インターフェースは、ユーザ・インターフェース及びアプリケーション・プログラミング・インターフェースのうちの少なくとも1つを含む。
一実施形態では、本システムはさらにグラフ構成ファイルを含み、ユーザ定義のグラフ構成コンポーネントは、グラフ構成ファイル又は異なるグラフ構成コンポーネント間の依存関係を示す依存性情報を再定義することを含む。
一実施形態では、本システムはさらに、インターフェースからグラフ構成コンポーネントを受信し;コンポーネント情報と、異なるグラフ構成コンポーネント間の依存関係を示す依存性情報とに基づいて、異なるグラフ構成コンポーネント間に1つ又は複数のリンクを確立するように構成された計算グラフ・パーサを備える。
一実施形態では、計算グラフ・パーサは、データ要素及び/又はドキュメントに関連付けられたデータ項目に基づいて、データ要素とドキュメントとの間のリンクを確立するように、さらに構成される。
一実施形態では、データ項目は、識別子、タイムスタンプ、コンテンツ項目、コンテキスト項目、及び符号化オブジェクトのうちの少なくとも1つを含む。
一実施形態では、計算グラフ・ランナが、適応させられた計算グラフを適応型高スループット計算で実行するように、さらに構成される。
本発明の一態様の例によれば、上記で説明したETLパイプライン・システムを備える医療データ処理システムが提供される。
本発明の一態様の例によれば、ETLパイプライン処理のための方法が提供される。本方法は、複数のグラフ構成コンポーネントを取得するステップを有し、各グラフ構成コンポーネントは、1つ又は複数の計算ロジック・ルールを表す情報を含む。本方法は、取得されたグラフ構成コンポーネントに基づいて計算グラフを生成するステップをさらに有し、その生成された計算グラフは、各グラフ構成コンポーネントのノード、及びそのノード間の関係を表す1つ又は複数のリンクを含む。本方法は、グラフ構成コンポーネントに関連する外部情報を外部ソースから受信するステップをさらに有する。本方法は、次いで、その外部情報に基づいて生成された計算グラフを適応させるステップ、及び適応させられた計算グラフを実行するステップを有する。
本発明の一態様の例によれば、ETLパイプライン処理のためのコンピュータ・プログラム製品が提供され、そのコンピュータ・プログラム製品はプログラム命令を収録したコンピュータ可読記憶媒体を備え、そのプログラム命令は処理ユニットによって実行可能であり、処理ユニットに方法を実行させる。本方法は、複数のグラフ構成コンポーネントを取得するステップを有し、各グラフ構成コンポーネントは1つ又は複数の計算ロジック・ルールを表す情報を含む。本方法は、取得されたグラフ構成コンポーネントに基づいて計算グラフを生成するステップをさらに有し、その生成された計算グラフは、各グラフ構成コンポーネントのノード、及びそのノード間の関係を表す1つ又は複数のリンクを含む。本方法は、グラフ構成コンポーネントに関連する外部情報を外部ソースから受信するステップをさらに有する。本方法は、次いで、その外部情報に基づいて生成された計算グラフを適応させるステップと、適応させられた計算グラフを実行するステップとを有する。
本発明の一態様の例によれば、少なくとも1つのプロセッサと、上記で説明したコンピュータ・プログラム製品とを備える処理システムが提供され、その少なくとも1つのプロセッサは、上記コンピュータ・プログラム製品のコンピュータ・プログラム・コードを実行するように適応させられている。
本発明のこれら及び他の態様は、以下で説明する実施形態から明らかになり、且つこれらを参照して明らかにされる。
本発明のより良い理解のために、また、どのように実施されるかをより明らかに示すために、例としてのみ、添付の図面を参照されたい。
本発明について図を参照しながら説明する。
装置、システム及び方法の例示的な実施形態を示しているが、詳細な説明及び具体例は、説明の目的のためであり、本発明の範囲を限定するものではないことを理解されたい。本発明の装置、システム及び方法のこれら及び他の機能、態様、及び利点は、以下の説明、添付の特許請求の範囲、及び添付の図面からより良く理解されよう。図は、単なる概略であり、原寸に比例して描かれていないことを理解されたい。また、図全体にわたって、同一又は同様の部品を示すために同じ参照番号が使用されていることを理解されたい。
本発明は、複数のグラフ構成コンポーネントを取得するように構成されたインターフェースを含むETLパイプライン・システムを提供する。各グラフ構成コンポーネントは、1つ又は複数の計算ロジック・ルールを表す情報を含む。本システムは、取得されたグラフ構成コンポーネントに基づいて計算グラフを生成するように構成された計算グラフ・ジェネレータをさらに備える。その生成された計算グラフは、各グラフ構成コンポーネントのノード、及びそのノード間の関係を表す1つ又は複数のリンクを含む。本システムは、グラフ構成コンポーネントに関連する外部情報を外部ソースから受信し、生成された計算グラフをその外部情報に基づいて適応させるように構成された計算グラフ・アダプタをさらに備える。本システムは、適応させられた計算グラフを実行するように構成された計算グラフ・ランナをさらに備える。
図1は、実施形態によるETLパイプラインステムを示す。本システムは、ユーザが本システムと対話するためのインターフェース11、12を含む。これは、ユーザが、ユーザの特定の要件にしたがって(ハイレベルの)計算可能な知識表現を生成する際に役に立つ。図1のシステムは、2つのインターフェース11、12を含む。インターフェース12は、ユーザ・インターフェース(UI)であり、システム・フロントエンドにおける主要コンポーネントの「ドラッグ・アンド・ドロップ」が可能になり、計算グラフ生成が速くなる。インターフェース11は、ユーザ・インターフェース12と同じ目的で働くが、プログラミング・レベルで対話するアプリケーション・プログラミング・インターフェース(API)である。API11は、主として3つのアクションをサポートする。第1に、後に計算可能なグラフに変換されることになる、特別に設計されたグラフ構成ファイル(GCF)13の送信。第2に、中央関数リポジトリへの、データベース・トランザクション、データ計算、及びNLP表現型決定に関するユーザ-定義された(UDF)アルゴリズム14の送信及び保存/読み込み。第3に、共通グラフ・データベース15との通信、これにより生成されたグラフ構造をグラフ・データベース15に保存することも、既存のグラフをグラフ・データベース15から本システムに読み込むことも行うことができる。
上述のコンポーネント間に状態遷移フローが存在する。グラフ構成は、(UIとAPIの両方経由で)有向非巡回グラフ(DAG)の基本データ構造に変換される。DAGは、共通グラフ・データベース(たとえばNeo4j、GraphDB、及びCayley)のデータ構造に相互に変換され得る。これまでのところ、DAGは、実行に必要な情報を符号化する静的グラフ構造である。DAGは、実行時に実行され得る実行可能なグラフにさらに変換される。
グラフ構成ファイル(GCF)13は、データ抽出と決定ルール計算タスクの両方を実行するグラフ構造のための入れ物である。特別に設計された枠組みに従うことによって、ユーザは、特定の計算タスクを実行するために、主要コンポーネント一式、すなわちデータベース接続、ドキュメント、表現型、アルゴリズム及び計算ロジックを宣言又は定義し、それらをGCF13のグループに体系化することが可能になる。GCF13は、JSON及びYAMLのフォーマットの、人間が読取り可能なテキスト・ファイルとして生成され得る。各ファイルでは、グラフ中の単一のノードを表すための主要なコンポーネントを含む構造をユーザが定義する。複数の入れ子になったノードは、同一ファイル内で定義することも、同一フォルダ中のいくつかのファイルに分散させることも可能である。以前に定義されたGCノードは、同一ファイル中のものでも同一フォルダ中の外部ファイル中のものでも、構文解析中に名前で参照され得る。
GCF13は、既存の知識を、本システムによってサポートされる共通グラフ構造に取り入れるように、プログラミング・レベルで構成されている。これは、UI経由でキュレートする人間にとって、時に困難であり、且つ/又は多大な時間を要する。たとえば、BCLC分類システム及びチャイルド・ピュー分類システムが、GCF経由で本システムに存続し、実行時に計算され得、肝臓癌患者のチャイルド・ピュー分類の病期診断を導出する。
グラフ構成UI12は、GCF13の代替として働き、臨床知識及び決定ルールのグラフ表現を直感的に構築することを可能にする。UIアダプタ16は、フロントエンド入力を基本データ構造(DAG)に変換することを担っている。そのUIでは、ノード及びリンクを生成することによって、ユーザがグラフを構築することが可能である。各ノードについて、ユーザは、そのノードを通過するデータ・フローを処理するアルゴリズムを指定することも、又は現在のノードの親ノードから入力を取得する決定ロジックを実装することもできる。
グラフ・ドライバ10は、本システムの中心部に位置する。グラフ・ドライバ10は、データ・フローを取得することが可能な計算グラフを構築し、そのグラフを実行して、ユーザに所望の結果を届けることを担っている。グラフ・ドライバ10は、以下の3つの主要なコンポーネント、GCFパーサ(GCFP)17、グラフ・コンストラクタ(GST)18、グラフ・ランナ(GRN)19、及び2つのアダプタ16、20を備える。グラフ・ドライバの実装は特定のプログラミング言語に限定されないが、開発者は、言語固有のドライバを実現するために、同じフィロソフィ並びに各システム・コンポーネント共通のインターフェースに従う。
入力として構成ファイル13(JSON、YAML又はXMLにフォーマットされている)を取得すると、GCFP17は、対応する名前空間の下でファイル13のグラフ定義を個々のコンポーネント(たとえばデータベース接続、ドキュメント、表現型、アルゴリズム及び計算ロジック)に変換し、次いでリンクされたオブジェクトとして名前空間を一緒にリンクしてグラフ構築に備える。
より具体的には、各GCF13は、異なるグラフ構成コンポーネントの定義を含み、例として、図3は、様々な名前空間コンポーネントに関連する異なるグラフ構成コンポーネント間の依存関係の例示的なセットを定義している。より具体的には、「A」とラベル付けられた実線はデータベースとドキュメントとの間の依存性を定義し、「B」とラベル付けられた実線はアルゴリズムとロジックとの間の依存性を定義している。「C」とラベル付けられた実線は、ドキュメントとロジックとの間の依存性を定義している。「D」とラベル付けられた実線は、表現型とロジックとの間の依存性を定義している。そのような依存関係は、ユーザによって定義される。
GCFP17は、グラフ構成コンポーネントをインターフェース11から受信し、次いでコンポーネント情報と、異なるグラフ構成コンポーネント間の依存関係を示す依存性情報とに基づいて、異なるグラフ構成コンポーネント間のリンクを確立する。
GST18は、次いでリンクされたコンポーネントをグラフのノードと関係とに変換することができる。すなわち、GST18は、リンクされた名前空間オブジェクトを取得し、リンクされたコンポーネントがグラフのノードとDAGの形態のノード間の関係とに変換された基本データ表現を構築する。さらに、構築プロセス中に、GST18は、関数リポジトリ(すべての関数オブジェクトを保持するデータベース)から/にコンポーネントを読み込む/保存するためのグラフ構成APIと頻繁に対話する。GCF13中の指定されたコンポーネントがこのリポジトリ中にすでに存在する場合、コンポーネント参照は、そのリポジトリから直接フェッチする。さもなければ、指定されたコンポーネントは新規であり、次いでGST18は再使用のためにそのコンポーネントを関数リポジトリに保存する。
GRN19は最初に、グラフを実行するために必要なすべての情報、たとえばコードオブジェクトや再帰的に定義されたGCコンポーネントを注入するインジェクタとして働く。その一方で、グラフ・ランナ19は、グラフをグラフベースの並列実行システムの既存の実装に取り込むコネクタである。一例として、図4は生成された計算グラフの例を示す。生成された計算グラフは、インターフェース11又は12経由で出力される。生成された計算グラフは、各グラフ構成コンポーネントのノード36と、ノード37間の関係を表す1つ又は複数のリンク37とを含む。
2つのアダプタ、すなわちグラフ・データベース・アダプタ20及びUIアダプタ16は、ドライバ10中に含まれる。UIアダプタは、フロントエンド入力をDAG構造に変換すること、及びその逆に変換すること、構築されたDAGをフロントエンドユーザに提示することを担う。また、グラフDBアダプタは、本システム及び既存のグラフDBシステムによって使用されるデータ構造を一致させる。
図2を参照すると、実施形態によるシステム・コンポーネント間の状態遷移フローの図が示されている。GCF13と、ユーザ・インターフェース経由で提供されるグラフ構成33とから、DAG32は構築される。DAG32は、知識グラフ34のデータ構造に相互に変換され得る。DAG32は、実行時に実行され得る実行可能なグラフ35にさらに変換される。
次に図5を参照すると、実施形態によるETLパイプライン処理のための方法の簡略化されたフロー図が示されている。本方法は、複数のグラフ構成コンポーネントを取得するステップ21から開始する。ここで、各グラフ構成コンポーネントは、1つ又は複数の計算ロジック・ルールを表す情報を含む。次に、ステップ22において、計算グラフは、取得されたグラフ構成コンポーネントに基づいて生成される。その生成された計算グラフは、各グラフ構成コンポーネントのノード、及びそのノード間の関係を表す1つ又は複数のリンクを含む。その後、ステップ23において、グラフ構成コンポーネントに関連する外部情報が外部ソースから受信される。次いでステップ24は、外部情報に基づいて生成された計算グラフを適応させることを含む。最後に、ステップ25において、適応させられた計算グラフが実行される。
より具体的には、外部情報は、ユーザ定義されたグラフ構成コンポーネントと、外部知識データベースからの外部知識とのうちの少なくとも1つを含む。一実施形態では、外部知識は、データベースに記憶された先行する計算グラフを含み、その先行する計算グラフが生成された計算グラフに追加され、適応させられた計算グラフを形成する。別の実施形態では、ユーザ定義されたグラフ構成コンポーネントが、インターフェース経由でグラフ構成コンポーネントを再定義すること又は修正することを含む。
主題は、グラフィカルユーザインターフェースを使用して、グラフ構成コンポーネント又は生成された計算グラフのグラフ構成コンポーネント間のリンクを再定義する。たとえば、そのような再定義は、計算グラフのインタラクティブな視覚表現(たとえば図4に示されるように)において、ノードをドラッグしたり、リンクを削除したり、異なるノード間のリンクを再接続することによって達成される。
別の実施形態では、ユーザ定義されたグラフ構成コンポーネントが、グラフ構成ファイル及び/又は異なるグラフ構成コンポーネント間の依存関係を再定義するための1つ又は複数の定義を含む。より具体的には、主題は、異なるロジックを定義することも(@logicを変えることによって)、異なるアルゴリズムを定義することも(@algorithmを変えることによって)、新しいコンポーネント、すなわち主題依存性を加えることもできる。
さらなる説明として、最初に、構成ファイル13をリンクされた名前空間コンポーネントに変換するGCF文法及びGCF構文解析について説明する。構文解析について、各ビルディング・ブロックを紹介する。グラフ構築について、DAGの形成の詳細について説明する。次いで、表現型とグラフ構築プロセス中のドキュメントとの間の関係を処理するデータ・モデル設計を詳細に説明する。次いで、意味のある結果を得るために、既存の知識グラフは提案された実施形態とどのように組み合わせられ得るかを説明する。最後に、効率的な計算のために実施形態がどのように採用されるかについて詳細を提供する。
・GCF文法
GCF文法は、表記「@」で始まり、その後にコンポーネントカテゴリが続く主要なコンポーネントの宣言及び定義をサポートする。主要なコンポーネントは、5つの異なるカテゴリ、すなわちデータベース、表現型、ドキュメント、アルゴリズム、及びロジックに分類される。それぞれ異なる目的のために働き、独立した構造に体系化され得る。5つのコンポーネントについての詳細な説明は、以下の次の説明のセクションで提供する。宣言と定義との間の違いは、コンポーネントがすでに生成されているかどうかによる。コンポーネントを宣言するには、「@」に続くコンポーネント名が必要とされるだけである。
GCF文法は、表記「@」で始まり、その後にコンポーネントカテゴリが続く主要なコンポーネントの宣言及び定義をサポートする。主要なコンポーネントは、5つの異なるカテゴリ、すなわちデータベース、表現型、ドキュメント、アルゴリズム、及びロジックに分類される。それぞれ異なる目的のために働き、独立した構造に体系化され得る。5つのコンポーネントについての詳細な説明は、以下の次の説明のセクションで提供する。宣言と定義との間の違いは、コンポーネントがすでに生成されているかどうかによる。コンポーネントを宣言するには、「@」に続くコンポーネント名が必要とされるだけである。
コンポーネントを定義するには、「@def」というキーワードが、コンポーネントの本体内部になければならない。定義されたコンポーネントを保存するには、名前が「@name」というキーワードを使用して指定されなければならず、値が「True」に設定された「@save」というキーワードが追加されるべきである。ユーザは関数実装を「@def」に値として添付し、関数定義は中央リポジトリ中に持続される。次いで、保存されたコンポーネントは、上述したように宣言され得る。GCF文法は、コンポーネントの入れ子になった定義をサポートするが、名前空間依存性によって制約を受ける。
以下の例は、放射線医学レポート・データのクラスタと腫瘍バイオマーカとが与えられた場合に悪性腫瘍を検出するタスクを示している。
目標は、各放射線医学レポート・クラスタ内部に見られる悪性腫瘍(MT)があるかどうかを知ることである。決定ルールは、クラスタ中2件より多くの放射線医学レポートが悪性腫瘍の記載を含んでいる場合、trueを返すと決めている。別の場合(放射線医学の証拠が2件未満)では、異常のAFP(腫瘍バイオマーカ)が見つけられた場合にもtrueを返す。さもなければ、falseを返す。上記の例では、「@Document:input_data」が、放射線医学レポート(2か月以内に一緒にクラスタ化されたレポート)のクラスタのリストを表す。「@Document:tumor_markers」は、ドキュメントに腫瘍バイオマーカ情報を注入する。インポートされたドキュメントでは、ドキュメント-表現型関係モデルにしたがって、「@Phenotype:tumor_mention」及び「@Phenotype:report_time」が対応するドキュメント・オブジェクトから取得される。「@Algorithm: is_MT」」及び「@Algorithm: select_marker」は、グラフ構築時に2つの決定関数がリポジトリからインポートされるようにトリガーする。「select_marker」は、クラスタ内の放射線医学レポートに記録された最新のバイオマーカ・データを選択するためのアルゴリズムである。「is_M」は、「@phenotype:tumor_mention」にしたがって、腫瘍が悪性のものであるかどうかを決定するアルゴリズムである。その決定ルールは、「@Logic」ブロックの「@def」内に実装されている。「@save」は、このロジックが、「detect_radiology_reports」の名前で関数リポジトリに保存されることを示す。次回、この保存された関数は、「@Algorithm:detect_radiology_reports」を宣言すれば直接インポートされ得る。ただし、これまでに定義されたすべてのインポート及びコードは、グラフが構築され、実行可能なグラフとして変換されて実行されるまで、実行されない。
・名前空間コンポーネント
GCF文法によって定義された5つの主要なアイテムに対応して、5つの機能コンポーネント・オブジェクトがある。データベースコンポーネントは、データベース操作を処理すること、データベース接続及びデータクエリなどのトランザクションを担っている。表現型は、特定の決定ルール計算タスクにとって意味のあるキー・バリューのエンティティである。ドキュメントは、表現型一式を含む臨床レポートを表す。アルゴリズムは、入力を処理して出力を得る特定の関数である。たとえば、データ抽出アルゴリズムは、臨床ナラティブ・データから関連する表現型の値を抽出する。ロジックもアルゴリズムのような関数である。ただし、ロジックは異なるノード間の遷移において担うことが異なる。
GCF文法によって定義された5つの主要なアイテムに対応して、5つの機能コンポーネント・オブジェクトがある。データベースコンポーネントは、データベース操作を処理すること、データベース接続及びデータクエリなどのトランザクションを担っている。表現型は、特定の決定ルール計算タスクにとって意味のあるキー・バリューのエンティティである。ドキュメントは、表現型一式を含む臨床レポートを表す。アルゴリズムは、入力を処理して出力を得る特定の関数である。たとえば、データ抽出アルゴリズムは、臨床ナラティブ・データから関連する表現型の値を抽出する。ロジックもアルゴリズムのような関数である。ただし、ロジックは異なるノード間の遷移において担うことが異なる。
発明者は、表現型及びドキュメントを表現する双方向関係モデルを創案した。各表現型及びドキュメントは、名前/ID、タイムスタンプ、コンテンツという必須のデータ項目と、コンテキスト及び符号化という随意のデータ項目とを含んでいる。しかしながら、コンテンツ及びコンテキストは、表現型及びドキュメントそれぞれについて異なる意味を持つ。ドキュメントについては、コンテンツは、ナラティブの形態ででも構造化/半構造化された形態ででも報告のコンテンツを表現する。表現型については、コンテンツは表現型の値である。表現型については、コンテキストは、コンテキストを含んでいるドキュメントのコンテンツである。タイムスタンプについては、場合によってはそうでないが、表現型のタイムスタンプは、ドキュメントのタイムスタンプに等しいと見なされる。符号化することは、関連する標準化されたコードを表す。通常、このコードは、表現型又はドキュメント・エンティティのカテゴリを示す。
・DAG
上記で提供された例示的なGCFを採用し、表現型及びドキュメントについて上記で説明した関係情報モデルを使用して表現型決定結果をモデル化するNLP表現型決定アルゴリズムによって、表現型はフェッチされる。上記の例示的なGCF中に、NLPアルゴリズムは明示的には宣言されていない。これは、何らかの事前構成によって行われていると思われる。本例では、NLPアルゴリズムをDAGにおける関数ノードとして用いて表現型がドキュメントから抽出されることが明示的に示されている。この場合も、このDAG表現は静的なものであり、グラフが実行可能なグラフになり、実行されるまで何も計算されない。
上記で提供された例示的なGCFを採用し、表現型及びドキュメントについて上記で説明した関係情報モデルを使用して表現型決定結果をモデル化するNLP表現型決定アルゴリズムによって、表現型はフェッチされる。上記の例示的なGCF中に、NLPアルゴリズムは明示的には宣言されていない。これは、何らかの事前構成によって行われていると思われる。本例では、NLPアルゴリズムをDAGにおける関数ノードとして用いて表現型がドキュメントから抽出されることが明示的に示されている。この場合も、このDAG表現は静的なものであり、グラフが実行可能なグラフになり、実行されるまで何も計算されない。
・知識/オントロジーとの接続
ここで、グラフ構造と外部知識グラフ・データベース中のグラフデータとの間の接続について詳述する。2つのタイプの知識グラフ・データベース、すなわち係索を用いる知識ベースとデータを用いる知識ベースとは、接続され得る。知識を用いる接続は、グラフ中のエンティティを外部のエンティティとリンクさせることによって、グラフ処理の結果をより大きい範囲に拡張する可能性がある。これは、インテリジェント検索システム又は質疑応答(QA)システムを構築するときに有用である。
ここで、グラフ構造と外部知識グラフ・データベース中のグラフデータとの間の接続について詳述する。2つのタイプの知識グラフ・データベース、すなわち係索を用いる知識ベースとデータを用いる知識ベースとは、接続され得る。知識を用いる接続は、グラフ中のエンティティを外部のエンティティとリンクさせることによって、グラフ処理の結果をより大きい範囲に拡張する可能性がある。これは、インテリジェント検索システム又は質疑応答(QA)システムを構築するときに有用である。
- 事実による知識ベース
事実グラフは、SNOMED-CT、LOINC、MeSH、Drugbankなどの既存の知識グラフ及びオントロジーである。本DAGのデータ・ノードをそのような外部グラフ及びオントロジーに接続することによって、概念の標準化が実行され、内部グラフと外部グラフとが橋渡しされて自動的に知識拡張を達成することができることが主要な利点である。これは、生体臨床医学及び保健衛生の言語の意味が理解されているように振舞う処理システムの開発を促進する。
事実グラフは、SNOMED-CT、LOINC、MeSH、Drugbankなどの既存の知識グラフ及びオントロジーである。本DAGのデータ・ノードをそのような外部グラフ及びオントロジーに接続することによって、概念の標準化が実行され、内部グラフと外部グラフとが橋渡しされて自動的に知識拡張を達成することができることが主要な利点である。これは、生体臨床医学及び保健衛生の言語の意味が理解されているように振舞う処理システムの開発を促進する。
- データによる知識ベース
高速保健衛生相互運用性リソース(FHIR)は、データ・リソース一式を定義し、医療システム間の高速データ交換を容易にすることを目的とする医療規格である。FHIRデータベースは、本質的に、グラフとして一緒にリンクされ得る異なるデータ・リソースをもつ知識ベースである。FHIRは、RDFトリプルとしてデータを記憶するために使用され得るTurtleフォーマットをサポートする。
高速保健衛生相互運用性リソース(FHIR)は、データ・リソース一式を定義し、医療システム間の高速データ交換を容易にすることを目的とする医療規格である。FHIRデータベースは、本質的に、グラフとして一緒にリンクされ得る異なるデータ・リソースをもつ知識ベースである。FHIRは、RDFトリプルとしてデータを記憶するために使用され得るTurtleフォーマットをサポートする。
・知識計算
次に知識コンピューティング・ストラテジの詳細が与えられる。提案される実施形態は以下を採用する:(i)効率を向上するためにグラフ中の2つのノードの間のデータ依存性による最良の計算ストラテジを適応的に選択すること;(ii)蓄積するデータ及び知識を、ユーザにとって計算が効率的であり且つ追跡が容易である多層構造に整理すること;及び(iii)既存の計算グラフに置き換え可能なグラフ・コンポーネントがシステム性能を効率的に最適化することを可能にするローカル再計算。
次に知識コンピューティング・ストラテジの詳細が与えられる。提案される実施形態は以下を採用する:(i)効率を向上するためにグラフ中の2つのノードの間のデータ依存性による最良の計算ストラテジを適応的に選択すること;(ii)蓄積するデータ及び知識を、ユーザにとって計算が効率的であり且つ追跡が容易である多層構造に整理すること;及び(iii)既存の計算グラフに置き換え可能なグラフ・コンポーネントがシステム性能を効率的に最適化することを可能にするローカル再計算。
- 適応計算構造
実行可能なグラフは、並列実行コンポーネントに送り込まれる。このコンポーネントの主要な概念は、ツリー状のシーケンシャル計算を高スループット同期計算に変換し、シーケンスを検出し、続いて意思決定をすることである。DAGを生成した後、それをどのように効率的に処理するかは、特に複雑なDAG及び大規模なデータに対して課題のままである。シーケンシャル決定グラフ計算問題をノード・ステータス検出とノード・ステータス・シーケンス・マッピングとに変換する計算ストラテジを提案する。この概念の図が、図6に与えられている。
実行可能なグラフは、並列実行コンポーネントに送り込まれる。このコンポーネントの主要な概念は、ツリー状のシーケンシャル計算を高スループット同期計算に変換し、シーケンスを検出し、続いて意思決定をすることである。DAGを生成した後、それをどのように効率的に処理するかは、特に複雑なDAG及び大規模なデータに対して課題のままである。シーケンシャル決定グラフ計算問題をノード・ステータス検出とノード・ステータス・シーケンス・マッピングとに変換する計算ストラテジを提案する。この概念の図が、図6に与えられている。
特に、図6は、実施形態による提案される適応計算ストラテジを示す。ここで、シーケンシャル・グラフ・コンピューティングは、高スループット同期ステータス検出とステータス・シーケンス・マッピングとに変換される。「A」では、DAG中のすべてのノード42はデータ転送を有さず、次いで各ノード42はステータス・シーケンス43中のステータスに変換され;「B」では、データ転送がいくつかのノード42の間に存在し、それらのノード42はステータス・シーケンス43中の1つのステータスに変換される。
最初に、定義されたGCFにしたがって、起こり得るすべてのステータス・シーケンス43とそれらの対応する結果とを列挙するステータス・シーケンス・リスト44が生成される。ステータス・シーケンス43と結果との間の関係は、多対1であり得る。
上記で詳述したように(「DAG」という名称のセクションにおいて)、適応ストラテジは、変換プロセスにおいて効率を高めるために採用される。第1の状況「A」には、2つのノード間を転送される中間データがない(すなわちノード間に依存性がない)。したがって、それは独立した決定ノードとみなされ、ステータス・シーケンスにおいて単一のステータスに変換され得る。第2の状況「B」には、DAGにおいて2つのノード間にデータ転送があり(すなわちノード間に依存性がある)、それらのノードはノード・グループとしてマージされ、次いでシーケンス中でステータスに変換される(マージされるノードを囲む破線のボックスによって示されるように)。
DAG計算のプロセス中に効率改善に寄与する2つの主要な態様:(a)各ノード・ステータスを導出するシーケンシャル決定ではなく、並列化されたノード・ステータス検出;及び(b)ステータス・シーケンスのマッピングがある。大規模なデータがグラフに送り込まれるとき、決定ステータスは、あらゆる決定ノード又は決定ノード・グループに対して生成される。その後、すべてステータスは、事前定義された順序でステータス・シーケンスに連結される。次いで、システムは、結果を得るためにシーケンス・リストに対してシーケンスのマッピングを行う。たとえば、意思決定を行う臨床の現場において、GCFは3つのノード(A,B,C)を定義し、あらゆるノードは2値の選択(偽には0、真には1)であり、ステータス・シーケンス「100」は、Aが真、Bが偽、及びCが偽であることを表し、その結果は「病気を有する」であり、一方「001」の結果は「病気ではない」となり得る。それらすべてのシーケンスは、ステータス・シーケンスのリストを形成する。
- 多層計算
多層計算は、通常そうであるが、データと注入される臨床知識グラフの数の両方が増加しているとき、状況を処理する。新しいデータが入り続ける一方、新しい臨床知識はシステムに切れ目なく注入され続け、長手方向のデータ(表現型)は時間とともに変化する。データがより多くなれば、記憶されたグラフの一部の計算は継続され得る。完成された知識が増えれば、システム中の既存のデータを使用して新しい計算が活性化され、新しいデータを導出することができる。たとえば、患者が再発した腫瘍を有するか監視する知識グラフが注入されると想定する。癌の再発を裏付ける放射線医学レポートが1件しか存在しないとき、臨床的知識にしたがえば、判断することができない。しかしながら、1件の追加の放射線医学的裏付け又は腫瘍バイオマーカの裏付けがシステムに入ってくるとき、腫瘍再発に関する新しいデータ変数を導出するために計算が継続され得る。蓄積されたデータと知識とがうまく整理されない場合、ユーザは、各計算結果のプロセスを追跡することが不可能になる。
多層計算は、通常そうであるが、データと注入される臨床知識グラフの数の両方が増加しているとき、状況を処理する。新しいデータが入り続ける一方、新しい臨床知識はシステムに切れ目なく注入され続け、長手方向のデータ(表現型)は時間とともに変化する。データがより多くなれば、記憶されたグラフの一部の計算は継続され得る。完成された知識が増えれば、システム中の既存のデータを使用して新しい計算が活性化され、新しいデータを導出することができる。たとえば、患者が再発した腫瘍を有するか監視する知識グラフが注入されると想定する。癌の再発を裏付ける放射線医学レポートが1件しか存在しないとき、臨床的知識にしたがえば、判断することができない。しかしながら、1件の追加の放射線医学的裏付け又は腫瘍バイオマーカの裏付けがシステムに入ってくるとき、腫瘍再発に関する新しいデータ変数を導出するために計算が継続され得る。蓄積されたデータと知識とがうまく整理されない場合、ユーザは、各計算結果のプロセスを追跡することが不可能になる。
提案されたシステムは、説明したように、定期的にETLを再実行し、新しいデータをEMRから取得し、計算を実行する。ここで、最初のETL中に生成されたデータ変数は、ベース・データ層と呼ばれる。新しく導出されたデータは、ベース層の上部の新しいデータ層中に再帰的に配置される。特に、新しい知識グラフを注入した後、そのグラフの各ノードは、概念符号化を経て標準化された一意のシステム・コードにマッピングされる。そのような符号化は、すべてのグラフ・ノードの逆索引を構築するために使用され、それぞれがノード並びに層番号を含むグラフ構造に関連付けられている。新しい入力データは、それのデータ・タイプに基づいて、概念コードが同じ符号化プロセスを経て割り当てられる。その概念コードは逆索引を用いて検索され、同じ符号化をもつノードを含むすべてのグラフを得る。これは、極めて高速な探索プロセスである。通常、ノード符号化は、すでに注入されたグラフによってカバーされ得、データは、さらなる処理のために一致するシーケンスにグラフ・ノードとして追加される。しかしながら、カバーされないものについては、一致しないシーケンスにノードとして追加される。一致するシーケンス内部のノードについては、それらはシステムに追加され、新しいデータを導出するアクティブなグラフ計算に追加される。そのアルゴリズムは、次の通り記載されている。
新しいノードは、コピーされ、このノードを含むグラフ構造がインデックス中に存在するすべての層に追加される。追加されたノードが、同じ層の他のノードと連携し、いくつかのグラフの新しいデータ値を導出することができる場合、この新しく導出されたデータ・ノードを含める新しい層が生成されるか、さもなければその新しいノードは既存の上位層に追加される。決定するために、アルゴリズムは、新しく導出されたノードを含む上位層のみにあるグラフのすべてと再度照合する。そのノードを含んでいる上位層が存在する場合、そのノードはその層に追加される。存在しない場合、他の上位層に平行な新しい上位層が生成される。そのような新しい層では、新しく導出されたノードを含むすべてのグラフ構造が、新しい層番号と関連付けられる。
最初に、最下部にベース層と呼ばれる1つの層のみがある。一致しないシーケンスのノードについて、本システムには現在それらをカバーするグラフ構造がない。これらのデータ・ノードは、将来、システムに注入される新しい知識グラフによってカバーされるかもしれないし、決してカバーされないかもしれない。したがって、新しい知識が注入されるとき、アルゴリズムは常に一致しないシーケンスからのノードが追加され得るかどうかを確認する。追加され得ない場合、これらのデータ・ノードは本システムの通常データ・ポイントのみを提供する。
さらなる説明として、一例が図7に示されている。より具体的には、図7は、提案された実施形態による多層計算及びデータ体系の例を示す。第1のベース層53のA及びBは、層1.1のグループ55のEを導出することができる。E及びFは、さらに層2.1のグループ57のHを導出する。しかしながら、C及びDは、A及びBのグループ53中のいかなるグラフによってもカバーされない。したがって第2の、平行なベース層54が、C及びDを含むように生成される。C及びDは、層1.2のグループ56のGを導出する。また、Gは、層1.1のE及びFのグラフによってカバーされず、層1.2のグループ56と層2.1のグループ57の両方によって含まれるので、Gは、両方の層56、57にコピーされる。
多層計算の利点は、高速なグラフ探索と並列化グラフ計算とに基づいていることである。したがって、全体的に極めて効率的である。さらに、新しいデータ項目を導出する際に、ユーザは、貴重なETLによって(情報の階層体系によって)いつデータが追加され、これらのデータが既存のデータとどのように相互作用しているかを明快に理解することができる。そのような提案された技法の影響は、同じ層において、新しいノードに寄与する古いノードはともに密集する傾向があり、同じノードを共有するグラフ構造もともに密集する傾向があることである。これを活用して、関連するデータ及び知識の優れたアーカイブを提供する階層化情報管理システムを設計することができる。これをもって、ユーザは、ユーザの関心のある各ノードを探し出すために、別個の知識グラフをトラバースする必要がなくなる。ユーザは、より高度なデータ・ノード(上位層中の)を導出するために、何のデータ要素を見つけそこなったかを容易に確認することができる。
- ローカル再計算
ユーザは、グラフ中の部品を再構成し、再計算されるべきノードを指定することができる。たとえば、ユーザが、放射線医学レポートが再発した腫瘍を示しているかどうかを識別する最先端の分類アルゴリズムを試みたいと思うことがある。ユーザは、グラフ中の古いアルゴリズム・ノードを置き換え、グラフを再実行する。ただし、再実行は他のノードに影響を及ぼさず、関連するノードのみに影響する。同様に、ユーザは、グラフ中の任意の関数ノードを置き換えることができる。たとえば、ユーザは、データベースからの臨床のドキュメントのクエリ・トランザクションを再定義し、それを高速化した。提案されたシステムは、再計算フローをこのトランザクションに関連するすべてのダウンストリームのノードに伝える。
ユーザは、グラフ中の部品を再構成し、再計算されるべきノードを指定することができる。たとえば、ユーザが、放射線医学レポートが再発した腫瘍を示しているかどうかを識別する最先端の分類アルゴリズムを試みたいと思うことがある。ユーザは、グラフ中の古いアルゴリズム・ノードを置き換え、グラフを再実行する。ただし、再実行は他のノードに影響を及ぼさず、関連するノードのみに影響する。同様に、ユーザは、グラフ中の任意の関数ノードを置き換えることができる。たとえば、ユーザは、データベースからの臨床のドキュメントのクエリ・トランザクションを再定義し、それを高速化した。提案されたシステムは、再計算フローをこのトランザクションに関連するすべてのダウンストリームのノードに伝える。
本発明の適用分野
提案された発明の主な適用分野は情報抽出及びETLである。提案されたアーキテクチャにより、抽出ステップ及び変換ステップが、容易に構成可能になり、且つより一貫したものになり、オーバーヘッドを減らすことが可能になる。適用分野の別のカテゴリは、知識コンピューティング及び意思決定支援管理に分類される。上記では、ルール・ベースの意思決定に基づく例を示したが、自動化されたアルゴリズムがグラフ構造内で接続、検証され得るように、すべての関数ノードは置換可能である。提案された技法は、医療データベースを計算知識及び外部知識ベースに接続するので、それらの技法は、検索及びQA用途、たとえば医療検索エンジンやチャットボットに寄与することができる。また、提案されたシステムは、次第に増加されるデータを処理するので、たとえば再発早期発見、副作用などのイベント監視に有用であり得る。
提案された発明の主な適用分野は情報抽出及びETLである。提案されたアーキテクチャにより、抽出ステップ及び変換ステップが、容易に構成可能になり、且つより一貫したものになり、オーバーヘッドを減らすことが可能になる。適用分野の別のカテゴリは、知識コンピューティング及び意思決定支援管理に分類される。上記では、ルール・ベースの意思決定に基づく例を示したが、自動化されたアルゴリズムがグラフ構造内で接続、検証され得るように、すべての関数ノードは置換可能である。提案された技法は、医療データベースを計算知識及び外部知識ベースに接続するので、それらの技法は、検索及びQA用途、たとえば医療検索エンジンやチャットボットに寄与することができる。また、提案されたシステムは、次第に増加されるデータを処理するので、たとえば再発早期発見、副作用などのイベント監視に有用であり得る。
図8は、上記で説明したようにシステムの実施形態を実装するためのコンピュータ60の例を示す。
コンピュータ60は、PC、ワークステーション、ラップトップ、PDA、パーム・デバイス、サーバ、ストレージなどを含むが、これらに限定されない。一般に、ハードウェア・アーキテクチャに関してコンピュータ60は、ローカル・インターフェース(図示せず)を介して通信可能に結合される、1つ又は複数のプロセッサ61、メモリ62、及び1つ又は複数のI/Oデバイス63を含む。ローカル・インターフェースは、たとえば、当技術分野で知られているような、1つ又は複数のバス或いは他の有線又は無線接続であり得るが、これらに限定されない。ローカル・インターフェースは、通信を可能にするために、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、及び受信機など、追加の要素を有する。さらに、ローカル・インターフェースは、前述のコンポーネント間の適切な通信を可能にするために、アドレス、制御、及び/又はデータ接続を含む。
プロセッサ61は、メモリ62に記憶され得るソフトウェアを実行するためのハードウェア・デバイスである。プロセッサ61は、仮想的に任意のカスタムメイドの又は商業的に利用可能なプロセッサ、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、又はコンピュータ60に関連付けられたいくつかのプロセッサ間の補助プロセッサであり得、このプロセッサ61は、半導体ベースの(マイクロチップの形態の)マイクロプロセッサ又はマイクロプロセッサである。
メモリ62は、揮発性のメモリ要素(たとえば、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)などのランダム・アクセス・メモリ(RAM))と、不揮発性のメモリ要素(たとえば、ROM、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電子的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、プログラム可能な読み取り専用メモリ(PROM)、テープ、コンパクト・ディスク読み取り専用メモリ(CD-ROM)、ディスク、ディスケット、カートリッジ、カセットなど)とのうちのいずれか1つ又は組合せを含むことができる。さらに、メモリ62は、電子的、磁気的、光学的、及び/又は他のタイプの記憶媒体を組み込むことができる。メモリ62は、様々なコンポーネントが互いに遠く離れて位置するがプロセッサ61によってアクセスされ得る、分散型アーキテクチャを有し得ることに注意されたい。
メモリ62中のソフトウェアは1つ又は複数の別個のプログラムを含み、プログラムの各々はロジック関数を実行するための実行可能な命令の順序付けられたリストを含む。メモリ62中のソフトウェアは、例示的な実施形態によれば、好適なオペレーティング・システム(O/S)64、コンパイルラ65、ソース・コード66、及び1つ又は複数のアプリケーション67を含む。
アプリケーション67は、計算ユニット、ロジック、関数ユニット、プロセス、演算、仮想エンティティ、及び/又はモジュールなど、多くの機能的コンポーネントを含む。
オペレーティング・システム64は、コンピュータ・プログラムの実行を制御し、スケジューリング、入出力制御、ファイルとデータの管理、メモリ管理、及び通信制御若しくは関連するサービスを提供する。
アプリケーション67は、ソース・プログラム、実行可能なプログラム(オブジェクト・コード)、スクリプト、又は実行されるべき命令一式を含む任意の他のエンティティである。ソース・プログラムのとき、プログラムは通常、オペレーティング・システム64とともに適切に動作するように、メモリ62内に含まれることもあり、含まれないこともある、コンパイラ(コンパイラ65など)、アセンブラ、インタプリタなどを介して翻訳される。さらに、アプリケーション67は、データ及び方法のクラスを有するオブジェクト指向プログラミング言語、或いはルーティン、サブルーチン、及び/又は関数を有する手続き型プログラミング言語、たとえば、C、C++、C#、Pascal、BASIC、APIコール、HTML、XHTML、XML、ASPスクリプト、JavaScript、FORTRAN、COBOL、Perl、Java、ADA、.NETなどとして記述され得るが、これらに限定されない。
I/Oデバイス63は、たとえばマウス、キーボード、スキャナ、マイクロフォン、カメラなどの入力デバイスを含むが、これらに限定されない。さらに、I/Oデバイス63は、たとえばプリンタ、ディスプレイなどの出力デバイスをも含むが、これらに限定されない。最後に、I/Oデバイス63は、入力と出力の両方通信するデバイス、たとえばネットワーク・インターフェース・コントローラ(NIC)又はモジュレータ/デモジュレータ(リモート・デバイス、他のファイル、デバイス、システム、又はネットワークにアクセスするための)、無線周波数(RF)又は他のトランシーバ、電話のインターフェース、ブリッジ、ルーターなどをさらに含むが、これらに限定されない。I/Oデバイス63はまた、インターネット又はイントラネットなど、様々なネットワークを介して通信するためのコンポーネントを含む。
コンピュータ60が動作中であるとき、メモリ62内に記憶されたソフトウェアを実行し、メモリ62に及びメモリ62からデータを通信し、一般にソフトウェアにしたがってコンピュータ60の動作を制御するようにプロセッサ61は構成されている。アプリケーション67及びオペレーティング・システム64は、全体的に又は部分的に、プロセッサ61によって、おそらくプロセッサ61内でバッファされて読み出され、次いで実行される。
アプリケーション67がソフトウェアに実装されるとき、アプリケーション67は、任意のコンピュータ関連のシステム又は方法による或いは関連する使用のための、事実上任意のコンピュータ可読媒体に記憶され得ることに留意されたい。この書類のコンテキストでは、コンピュータ可読媒体は、電子的、磁気的、光学的、又は他の物理的デバイス或いはコンピュータ関連のシステム又は方法による或いは関連する使用のためのコンピュータ・プログラムを含むか又は記憶し得る媒体である。
開示した実施形態に対する他の変形形態は、図面、開示、及び添付の特許請求の範囲の研究から、主張する発明を実施する当業者によって理解され、達成され得る。特許請求の範囲では、「有する、備える、含む」という語は他の要素又はステップを除外せず、単数形は複数を除外しない。特定の測定値が相互に異なる従属項に記載されているという単なる事実は、これらの測定値の組合せは有利に使用され得ないことを示すものではない。特許請求の範囲における任意の参照符号は、範囲を限定するものとして解釈されるべきでない。
開示した実施形態に対する変形形態は、図面、開示及び添付の特許請求の範囲の研究から、主張する発明を実施する当業者によって理解され、達成され得る。特許請求の範囲では、「有する、備える、含む」という語は他の要素又はステップを除外せず、単数形は複数を除外しない。単一のプロセッサ又は他のユニットは、特許請求の範囲に記載されている、いくつかのアイテムの機能を実行する。特定の測定値が相互に異なる従属項に記載されているという単なる事実は、これらの測定値の組合せは有利に使用され得ないことを示すものではない。コンピュータ・プログラムが上記で説明されている場合、プログラムは、他のハードウェアと一緒に又はその一部として供給される光学的記憶媒体や固体媒体など、好適な媒体上に記憶/分散され得るが、インターネット或いは他の有線又は無線の電気通信システムを介する形態など、他の形態においても分散される。特許請求の範囲又は明細書において「ように適応させられた」という用語が使用されている場合、「ように適応させられた」という用語は「ように構成された」という用語と等価なものであることに留意されたい。特許請求の範囲における任意の参照符号は、範囲を限定するものとして解釈されるべきでない。
Claims (15)
- 複数のグラフ構成コンポーネントを取得するインターフェースであって、各グラフ構成コンポーネントが1つ又は複数の計算ロジック・ルールを表す情報を含む、インターフェースと、
前記取得されたグラフ構成コンポーネントに基づいて計算グラフを生成する計算グラフ・ジェネレータであって、前記生成された計算グラフが、各グラフ構成コンポーネントのノード、及び前記ノード間の関係を表す1つ又は複数のリンクを備える、計算グラフ・ジェネレータと、
前記グラフ構成コンポーネントに関連する外部情報を外部ソースから受信し、前記外部情報に基づいて前記生成された計算グラフを適応させる計算グラフ・アダプタと、
前記適応させられた計算グラフを実行する計算グラフ・ランナと
を備える、ETLパイプライン・システム。 - 前記各グラフ構成コンポーネントが、
データベース接続と、
ドキュメントと、
データ要素と、
アルゴリズムと、
計算ロジック・ルールと
のうちの少なくとも1つを含む、請求項1に記載のETLパイプライン・システム。 - 前記アルゴリズムが計算データ抽出ルールを含み、且つ/又は前記計算ロジック・ルールが計算意思決定ルールを含む、請求項2に記載のETLパイプライン・システム。
- 前記外部情報が、
ユーザ定義されたグラフ構成コンポーネントと、
外部知識データベースからの外部知識と
のうちの少なくとも1つを含む、請求項1から3のいずれか一項に記載のETLパイプライン・システム。 - 前記外部知識がデータベースに記憶された先行する計算グラフを含み、前記先行する計算グラフが前記生成された計算グラフに追加されて適応させられた計算グラフを生成する、請求項4に記載のETLパイプライン・システム。
- 前記ユーザ定義されたグラフ構成コンポーネントが、1つ又は複数のグラフ構成コンポーネントを再定義及び/又は修正する情報を含む、請求項4又は5に記載のETLパイプライン・システム。
- 構成コンポーネントがグラフ構成ファイルを含み、前記ETLパイプライン・システムが、前記ユーザ定義されたグラフ構成コンポーネントに基づいて、前記グラフ構成ファイル又は異なるグラフ構成コンポーネント間の依存関係を示す依存性情報を再定義する、請求項4から6のいずれか一項に記載のETLパイプライン・システム。
- 前記ETLパイプライン・システムが、
前記インターフェースから前記グラフ構成コンポーネントを受信することと、
前記コンポーネント情報及び異なるグラフ構成コンポーネント間の依存関係を示す依存性情報に基づいて、異なるグラフ構成コンポーネント間のリンクを確立することと
を行う計算グラフ・パーサをさらに備える、請求項1から7のいずれか一項に記載のETLパイプライン・システム。 - 前記計算グラフ・パーサが、前記データ要素及び/又は前記ドキュメントに関連付けられたデータ項目に基づいて、前記データ要素と前記ドキュメントとの間のリンクを確立する、請求項8に記載のETLパイプライン・システム。
- 前記データ項目が、
識別子と、
タイムスタンプと、
コンテンツ項目と、
コンテキスト項目と、
符号化オブジェクトと
のうちの少なくとも1つを含む、請求項9に記載のETLパイプライン・システム。 - 前記計算グラフ・ランナが、前記適応させられた計算グラフを適応型高スループット計算で実行する、請求項1から10のいずれか一項に記載のETLパイプライン・システム。
- 請求項1から11のいずれか一項に記載のETLパイプライン・システムを備える、医療データ処理システム。
- ETLパイプライン処理のための方法であって、前記方法は、
複数のグラフ構成コンポーネントを取得するステップであって、各グラフ構成コンポーネントが1つ又は複数の計算ロジック・ルールを表す情報を含む、取得するステップと、
前記取得されたグラフ構成コンポーネントに基づいて計算グラフを生成するステップであって、前記生成された計算グラフが:各グラフ構成コンポーネントのノード、及び前記ノード間の関係を表す1つ又は複数のリンクを含む、生成するステップと、
前記グラフ構成コンポーネントに関連する外部情報を外部ソースから受信するステップと、
前記外部情報に基づいて前記生成された計算グラフを適応させるステップと、
前記適応させられた計算グラフを実行するステップと
を有する、方法。 - ETLパイプライン処理のためのプログラム命令を収録したコンピュータ可読記憶媒体であって、前記プログラム命令は処理ユニットによって、
複数のグラフ構成コンポーネントを取得するステップであって、各グラフ構成コンポーネントが1つ又は複数の計算ロジック・ルールを表す情報を含む、取得するステップと、
計算グラフを前記取得されたグラフ構成コンポーネントに基づいて生成するステップであって、前記生成された計算グラフが、各グラフ構成コンポーネントのノード、及び前記ノード間の関係を表す1つ又は複数のリンクを含む、生成するステップと、
前記グラフ構成コンポーネントに関連する外部情報を外部ソースから受信するステップと、
前記外部情報に基づいて前記生成された計算グラフを適応させるステップと、
前記適応させられた計算グラフを実行するステップと
を実行可能である、コンピュータ可読記憶媒体。 - 少なくとも1つのプロセッサと、請求項14に記載のコンピュータ可読記憶媒体とを備える処理システムであって、前記少なくとも1つのプロセッサは、前記コンピュータ可読記憶媒体のコンピュータ・プログラム・コードを実行する、処理システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019122588 | 2019-12-03 | ||
CNPCT/CN2019/122588 | 2019-12-03 | ||
EP20168225.9A EP3893110A1 (en) | 2020-04-06 | 2020-04-06 | A system and method for etl pipeline processing |
EP20168225.9 | 2020-04-06 | ||
PCT/EP2020/084346 WO2021110785A1 (en) | 2019-12-03 | 2020-12-03 | A system and method for etl pipeline processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023504637A true JP2023504637A (ja) | 2023-02-06 |
JPWO2021110785A5 JPWO2021110785A5 (ja) | 2023-12-11 |
Family
ID=73642901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022532801A Pending JP2023504637A (ja) | 2019-12-03 | 2020-12-03 | Etlパイプライン処理のためのシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230004574A1 (ja) |
EP (1) | EP4070185A1 (ja) |
JP (1) | JP2023504637A (ja) |
CN (1) | CN115066673A (ja) |
WO (1) | WO2021110785A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11908555B2 (en) * | 2021-03-23 | 2024-02-20 | The Government of the United States of America, as represented by the Secretary of Homeland Security | AI-enhanced, user programmable, socially networked system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10938817B2 (en) * | 2018-04-05 | 2021-03-02 | Accenture Global Solutions Limited | Data security and protection system using distributed ledgers to store validated data in a knowledge graph |
US10614086B2 (en) * | 2018-07-06 | 2020-04-07 | Accenture Global Solutions Limited | Orchestrated hydration of a knowledge graph |
-
2020
- 2020-12-03 WO PCT/EP2020/084346 patent/WO2021110785A1/en unknown
- 2020-12-03 JP JP2022532801A patent/JP2023504637A/ja active Pending
- 2020-12-03 US US17/781,190 patent/US20230004574A1/en active Pending
- 2020-12-03 EP EP20816179.4A patent/EP4070185A1/en not_active Withdrawn
- 2020-12-03 CN CN202080095553.3A patent/CN115066673A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4070185A1 (en) | 2022-10-12 |
US20230004574A1 (en) | 2023-01-05 |
WO2021110785A1 (en) | 2021-06-10 |
CN115066673A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6985279B2 (ja) | パターン分解を通してデータ変換を推論するためのシステムおよび方法 | |
US10838975B2 (en) | User interface to prepare and curate data for subsequent analysis | |
JP6928552B2 (ja) | 影響分析 | |
EP4002150A1 (en) | User interface to prepare and curate data for subsequent analysis | |
CA2698265C (en) | Managing data flows in graph-based computations | |
CN106104533A (zh) | 处理大型数据储存库中的数据集 | |
JP2017534131A (ja) | グラフに基づくプログラムの仕様のコンパイル | |
WO2014186057A1 (en) | Supporting combination of flow based etl and entity relationship based etl | |
CN105849723A (zh) | 用于多个存储库系统中智能存档搜索的方法和系统 | |
WO2020117655A1 (en) | System and method for ingesting data | |
JP2023504637A (ja) | Etlパイプライン処理のためのシステム及び方法 | |
EP1646940A2 (en) | Designing computer programs | |
WO2019141696A1 (en) | Detecting recurrence of a medical condition | |
EP3893110A1 (en) | A system and method for etl pipeline processing | |
US20140278527A1 (en) | Large scale identification and analysis of population health risks | |
CN112199075B (zh) | 一种基于微服务智能信息处理方法及框架系统 | |
CN113342325A (zh) | 可视化建模方法、系统、电子设备及存储介质 | |
Sun et al. | Research on Development and Integration of Artificial Intelligence Aided Diagnosis System | |
Zhang | User-friendly and E cient Distributed Graph Processing | |
Anand | Managing scientific workflow provenance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231201 |