(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-10
(45)【発行日】2023-03-20
(54)【発明の名称】医療データ自動収集セグメンテーション及び分析のための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
G06F 16/35 20190101AFI20230313BHJP
G06F 40/295 20200101ALI20230313BHJP
G06F 40/30 20200101ALI20230313BHJP
G06F 40/242 20200101ALI20230313BHJP
G16H 70/00 20180101ALI20230313BHJP
【FI】
G06F16/35
G06F40/295
G06F40/30
G06F40/242
G16H70/00
(21)【出願番号】P 2021554635
(86)(22)【出願日】2020-02-27
(86)【国際出願番号】 US2020020068
(87)【国際公開番号】W WO2020209945
(87)【国際公開日】2020-10-15
【審査請求日】2021-09-10
(32)【優先日】2019-04-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,シャンチン
(72)【発明者】
【氏名】トゥ,ミン
(72)【発明者】
【氏名】ドゥ,ナン
(72)【発明者】
【氏名】シエ,ユィション
(72)【発明者】
【氏名】リ,ヤリアン
(72)【発明者】
【氏名】ヤン,タオ
(72)【発明者】
【氏名】ファン,ウエイ
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2015-071070(JP,A)
【文献】特開2019-049964(JP,A)
【文献】特開2007-034871(JP,A)
【文献】特開2005-149015(JP,A)
【文献】米国特許出願公開第2012/0209847(US,A1)
【文献】特開2004-185330(JP,A)
【文献】J. L. Ambite at el.,BD2K Training Coordinating Center’s ERuDIte: the Educational Resource Discovery Index for Data Science,IEEE Transactions on Emerging Topics in Computing,IEEE,2019年03月06日,vol. 9, no. 1,pp.316-328,https://ieeexplore.ieee.org/document/8661523
【文献】D. Le-Phuoc,The Graph of Things: A step towards the Live Knowledge Graph of connected things,Journal of Web Semantics,Elsevier B.V.,2016年01月,https://www.researchgate.net/publication/303789187_The_Graph_of_Things_A_step_ towards_the_Live_Knowledge_Graph_of_connected_things
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
G16H 10/00-80/00
G06N 5/00-5/04
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する医療データ自動収集セグメンテーション及び分析の方法であって、
複数のソースから、複数のフォーマットにある非構造化医療データを収集するステップと、
医学辞書を用いて、前記非構造化医療データの各ピースの医学名エンティティを認識するステップと、
前記非構造化医療データの各ピースが、同じトピックを共有するグループに分割されるように、前記非構造化医療データの各ピースに対してセマンティックテキスト分割を実行するステップと、
前記医学名エンティティが認識され
且つ前記グループに分割された前記非構造化医療データの各ピースを構造化医療データとして生成するステッ
プと、
前記構造化医療データをエラスティック検索クラスタへとインデックス付けするステップと、
を有
し、
前記セマンティックテキスト分割を実行するステップは、
前記非構造化医療データを用いて、潜在的ディリクレ配分(LDA)モデル及び非負値行列因数分解(NMF)モデルを訓練し、
前記非構造化医療データの複数の文の各々について、
前記LDAモデル及び前記NMFモデルから、それぞれ、LDAスコア及びNMFスコアを出力し、
前記LDAスコア及び前記NMFスコアの各々に対してソフトマックス関数を実行して、それぞれ、第1の標準導出スコア及び第2の標準導出スコアを生成し、
前記第1の標準導出スコアと前記第2の標準導出スコアとを加算し、
加算した前記第1の標準導出スコア及び前記第2の標準導出スコアを平均して、平均スコアを決定し、
前記平均スコアに基づいて、前記複数の文のそれぞれの文のトピックを決定する、
ことを有する、
方法。
【請求項2】
前記エラスティック検索クラスタのうちの少なくとも1つを探索して表示するように制御するステップ、を更に有する請求項1に記載の方法。
【請求項3】
単語埋め込みベースの機構を用いて、前記非構造化医療データ
から前記医学辞書を生成するステップ、を更に有する請求項1又は2に記載の方法。
【請求項4】
前記非構造化医療データの
少なくとも一部のピースのメタデータ
から階層
的医療情報を見出すステップ、を更に有し、
前記構造化医療データをインデックス付けするステップは
、前記階層
的医療情報を用いて、前記構造化医療データを前記エラスティック検索クラスタへとインデックス付けすることを有する、
請求項1乃至
3のいずれか一項に記載の方法。
【請求項5】
前記非構造化医療データは、インターネットからの、医学書、診断事例、フォーラムディスカッション及び医学論文のうちのいずれか1つ又は任意の組み合わせを有する、請求項1乃至
4のいずれか一項に記載の方法。
【請求項6】
医療データ自動収集セグメンテーション及び分析のための装置であって、当該装置は、
プログラムコードを格納するように構成された少なくとも1つのメモリと、
少なくとも1つのプロセッサと、
を有し、
前記プログラムコードは、前記少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、請求項1乃至
5のいずれか一項に記載の方法を実行させる、装置。
【請求項7】
コンピュータに請求項1乃至
5のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、米国特許商標庁に2019年4月10日に出願された米国特許出願第16/379,992号からの優先権を主張するものであり、それをその全体にてここに援用する。
【背景技術】
【0002】
伝統的な医療データプラットフォームは、非常にコストがかかるとともに非効率的である。第1のアプローチは、データセットに標準的な又は体系的な医学書を用いており、それら医学書にアクセスするのは容易でもなければ安価でもない。第2のアプローチは、医学的バックグラウンドを持つ専門家に頼んで、プロセスに関与してもらい、ラベリング又はデータクリーニングを行ってもらっている。しかしながら、このアプローチは、予測不能な処理時間、及び手作業についての高コストにつながる。
【0003】
現行のアプローチの別の1つの欠点は、データの量が、人間が理解するのには効率的であるが、機械が学習するのには十分でないことである。実際、大抵のディープラーニングベースの方法は、モデルを学習するために大量の訓練データを必要とする。
【発明の概要】
【0004】
実施形態によれば、医療データ自動収集セグメンテーション及び分析の方法は、複数のソースから、複数のフォーマットにある非構造化医療データを収集するステップと、医学辞書を用いて、前記非構造化医療データの各ピースの医学名エンティティを認識するステップと、前記非構造化医療データの各ピースが、同じトピックを共有するグループに分割されるように、前記非構造化医療データの各ピースに対してセマンティックテキスト分割を実行するステップと、を含む。当該方法は更に、医学名エンティティが認識され且つ前記グループに分割された前記非構造化医療データの各ピースを構造化医療データとして生成するステップと、前記構造化医療データをエラスティック検索クラスタへとインデックス付けするステップと、を含む。
【0005】
実施形態によれば、医療データ自動収集セグメンテーション及び分析のための装置であって、当該装置は、プログラムコードを格納するように構成された少なくとも1つのメモリと、前記プログラムコードを読み出し、前記プログラムコードによって命令されるように動作するよう構成された少なくとも1つのプロセッサと、を含む。前記プログラムコードは、前記少なくとも1つのプロセッサに、複数のソースから、複数のフォーマットにある非構造化医療データを収集させるように構成された収集コードと、前記少なくとも1つのプロセッサに、医学辞書を用いて、前記非構造化医療データの各ピースの医学名エンティティを認識させるように構成された認識コードと、前記少なくとも1つのプロセッサに、前記非構造化医療データの各ピースが、同じトピックを共有するグループに分割されるように、前記非構造化医療データの各ピースに対してセマンティックテキスト分割を実行させるように構成された実行コードと、を含む。前記プログラムコードは更に、前記少なくとも1つのプロセッサに、医学名エンティティが認識され且つ前記グループに分割された前記非構造化医療データの各ピースを構造化医療データとして生成させるように構成された第1生成コードと、前記少なくとも1つのプロセッサに、前記構造化医療データをエラスティック検索クラスタへとインデックス付けさせるように構成されたインデックス付けコードと、を含む。
【0006】
実施形態によれば、非一時的なコンピュータ読み取り可能媒体が命令を格納しており、該命令は、装置の少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、複数のソースから、複数のフォーマットにある非構造化医療データを収集させ、医学辞書を用いて、前記非構造化医療データの各ピースの医学名エンティティを認識させ、前記非構造化医療データの各ピースが、同じトピックを共有するグループに分割されるように、前記非構造化医療データの各ピースに対してセマンティックテキスト分割を実行させ、医学名エンティティが認識され且つ前記グループに分割された前記非構造化医療データの各ピースを構造化医療データとして生成させ、前記構造化医療データをエラスティック検索クラスタへとインデックス付けさせる。
【図面の簡単な説明】
【0007】
【
図1】実施形態に従った、ここに記載される方法、装置、及びシステムが実装され得る環境の図である。
【
図2】
図1の1つ以上の装置のコンポーネント例の図である。
【
図3】実施形態に従った、医療データプラットフォームのコンポーネントアーキテクチャの図である。
【
図4】実施形態に従った、セマンティックテキスト分割を実行するNLPモジュールに実装されるトピック確率構造の図である。
【
図5】実施形態に従った、データからのセマンティック階層構造を用いてエラスティック検索クラスタを生成する方法の図である。
【
図6】実施形態に従った、医療データ自動収集セグメンテーション及び分析の方法のフローチャートである。
【
図7】実施形態に従った、医療データ自動収集セグメンテーション及び分析のための装置の図である。
【発明を実施するための形態】
【0008】
ここに記載される実施形態は、データの収集及び変換について低コストで、高品質で信頼できる医学知識ベースを構築する医療データプラットフォームを含む。当該医療データプラットフォームは、低品質の、低コストの、管理されていない大量のデータから、高品質の医療ファクト(医学的事実)ストレージを構築する、自動スケーリングされ、大規模データドリブンの、エラスティック検索ベースのプラットフォームである。当該プラットフォームの主なコンポーネントは、生データ収集のためのウェブクローラ、光学式文字認識(optical character recognition;OCR)並びにデータクリーニング及びフォーマッティングのための抽出、変換、ロード(extract,transform,load;ETL)パイプライン、テキスト分割(セグメンテーション)のための潜在的ディリクレ配分(latent Dirichlet allocation;LDA)モデル及び非負値行列因数分解(non-negative matrix factorization;NMF)モデル、並びにデータのインデックス付け及びストレージのための自動スケーリングされるエラスティック検索クラスタを含む。
【0009】
詳細には、医学的な問題を解くためにディープラーニングモデルを利用する必要性が増え続けているため、確かで適切な医療ファクト及び医療データストレージが使用されている。従って、医療データプラットフォームは、医学フォーラム、医学ウェブサイト、及び科学雑誌から、大量の低品質で高ノイズのデータを収集し、実際の医学症例、診断、記事、論文、及び書籍をフィルタリングしている。このマルチソースの構造化されていないデータが、エンティティ認識及び正規化のために自然言語処理(natural language processing;NLP)コンポーネントを使用するETLパイプラインに配されて、非構造化データが構造化エンティティとなる。大きいテキスト及び文書に対して、医療データプラットフォームは、構造化エンティティ間の内部関係を見つけて強制するために、セマンティックテキスト分割のためのNMFモデル及びLDAモデルを用いて、構造化エンティティに対して結合トピックモデリングを実行する。大容量データ記憶及び効率の問題を解決するために、医療データプラットフォームは、自動スケーリング型の分散ストレージシステムを達成すべく、エラスティック検索クラスタを使用する。
【0010】
上述の医療データプラットフォームは、伝統的なデータプラットフォームからの全ての欠点に対処する。例えば、データ量とコストの問題を解決するために、医療データプラットフォームは、ウェブクローラを用いて、医療クリニック関連ウェブサイトから何百万もの無料文書、段落、及び会話を取り込み、そのようなのマルチソースによりサポートされたデータを変換パイプラインに注入して、該データを構造化データフォーマットに変換する。
【0011】
他の一例において、データの正確性及び高い品質を保証するために、医療プラットフォームは、NLP単語埋め込みモデルを使用して、複数の異なるカテゴリーの医療関連エンティティを認識し、それらのエンティティを、インデックス付けのためにエラスティック検索クラスタに書き込む。エラスティック検索は、データ探索のために単語頻度-逆文書頻度(term frequency-inverse document frequency;tf‐idf)及びベストマッチング25(BM25)スコア機構を使用する。この方法は、大きなデータボリュームから来るノイズの多いデータを大幅に減らし、関心あるトピック又はドメインについてのみ品質及び精度を高める。
【0012】
更なる他の一例において、医療データプラットフォームをディープラーニング目的に対して容易で有用なものにするために、使いやすいインタフェースが必要である。医療データプラットフォームは、医療データセットを検索するためにRESTfulアプリケーションプログラムインタフェース(API)インタフェースを使用する。これは、医療データプラットフォームを、TensorFlowのような一般向けの機械学習フレームワークに組み込みやすいものにする。
【0013】
図1は、実施形態に従った、ここに記載される方法、装置及びシステムが実装され得る環境100の図である。
図1に示すように、環境100は、ユーザ装置110、プラットフォーム120、及びネットワーク130を含み得る。環境100の装置は、有線接続、無線接続、又は有線接続と無線接続との組み合わせ、を介して相互接続し得る。
【0014】
ユーザ装置110は、プラットフォーム120に関連する情報を受信、生成、格納、処理、及び/又は提供することができる1つ以上の装置を含む。例えば、ユーザ装置110は、コンピューティング装置(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブル装置(例えば、一対のスマートグラス又はスマートウォッチ)、又は類似の装置を含み得る。一部の実装において、ユーザ装置110は、プラットフォーム120から情報を受信し及び/又はプラットフォーム120に情報を送信し得る。
【0015】
プラットフォーム120は、この中の別の箇所で説明されるような1つ以上の装置を含む。一部の実装において、プラットフォーム120は、クラウドサーバ又は一群のクラウドサーバを含み得る。一部の実装において、プラットフォーム120は、ソフトウェアコンポーネントが特定のニーズに応じてスワップイン又はスワップアウトされ得るよう、モジュール式であるように設計され得る。そのようなものとして、プラットフォーム120は、異なる使用のために容易に且つ/或いは迅速に再構成されることができる。
【0016】
一部の実装において、図示のように、プラットフォーム120は、クラウドコンピューティング環境122内でホストされ得る。特に、ここに記載される実装は、プラットフォーム120をクラウドコンピューティング環境122内でホストされるものとして記述するが、一部の実装では、プラットフォーム120は、クラウドベースでなく(すなわち、クラウドコンピューティング環境の外で実装されてもよく)、あるいは、部分的にクラウドベースであってもよい。
【0017】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストするシステム及び/又は装置の物理的な位置及び構成に関するエンドユーザ(例えば、ユーザ装置110)知識を必要としない計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供し得る。図示のように、クラウドコンピューティング環境122は、一群の計算リソース124(まとめて“計算リソース群124”と称し、個々に“計算リソース124”と称する)を含み得る。
【0018】
計算リソース124は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバ装置、又は他の種類の計算及び/又は通信装置を含む。一部の実装において、計算リソース124はプラットフォーム120をホストし得る。クラウドリソースは、計算リソース124において実行される計算インスタンス、計算リソース124内で提供されるストレージ装置、計算リソース124によって提供されるデータ転送装置などを含み得る。一部の実装において、計算リソース124は、有線接続、無線接続、又は有線接続と無線接続との組み合わせを介して、他の計算リソース124と通信し得る。
【0019】
図1に更に示すように、計算リソース124は、例えば、1つ以上のアプリケーション(“APP”)124-1、1つ以上の仮想マシン(“VM”)124-2、仮想化ストレージ(“VS”)124-3、1つ以上のハイパーバイザ(“HYP”)124-4、又はこれらに類するものなどの、一群のクラウドリソースを含む。
【0020】
アプリケーション124-1は、ユーザ装置110及び/又はプラットフォーム120に提供され又はそれらによってアクセスされ得る1つ以上のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザ装置110上にソフトウェアアプリケーションをインストールして実行する必要をなくし得る。例えば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェア、及び/又はクラウドコンピューティング環境122を介して提供されることが可能な任意の他のソフトウェアを含み得る。一部の実装において、1つのアプリケーション124-1が、仮想マシン124-2を介して、1つ以上の他のアプリケーション124-1に/から情報を送信/受信し得る。
【0021】
仮想マシン124-2は、物理的なマシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による何らかの実マシンへの対応の程度及び用途に応じて、システム仮想マシン又はプロセス仮想マシンのいずれであってもよい。システム仮想マシンは、完全なオペレーティングシステム(“OS”)の実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは、単一のプログラムを実行することができ、単一のプロセスをサポートし得る。一部の実装において、仮想マシン124-2は、ユーザ(例えば、ユーザ装置110)の代わりに実行を行うことができ、例えばデータ管理、同期、又は長時間データ転送など、クラウドコンピューティング環境122のインフラストラクチャを管理することができる。
【0022】
仮想化ストレージ124-3は、計算リソース124のストレージシステム又は装置の中で仮想化技術を使用する1つ以上のストレージシステム及び/又は1つ以上の装置を含む。一部の実装において、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化及びファイル仮想化を含み得る。ブロック仮想化は、物理的なストレージ又は異種構造に関係なくストレージシステムがアクセスされ得るようにする、論理ストレージの物理ストレージからの抽象化(又は分離)を指すとし得る。この分離は、管理者がエンドユーザのためにストレージを管理する方法における柔軟性をストレージシステムの管理者に許すことができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される場所との間の依存関係を排除し得る。これは、ストレージ使用の最適化、サーバ統合、及び/又は中断のないファイル移動の実行を可能にし得る。
【0023】
ハイパーバイザ124-4は、例えば計算リソース124などのホストコンピュータ上で複数のオペレーティングシステム(例えば、“ゲストオペレーティングシステム”)が同時に実行することを可能にするハードウェア仮想化技術を提供し得る。ハイパーバイザ124-4は、ゲストオペレーティングシステムに対して仮想オペレーティングプラットフォームを提示することができ、ゲストオペレーティングシステムの実行を管理することができる。多様なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有し得る。
【0024】
ネットワーク130は、1つ以上の有線ネットワーク及び/又は無線ネットワークを含み得る。例えば、ネットワーク130は、セルラネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上モバイルネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話ネットワーク(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、若しくはこれらに類するもの、及び/又はこれら若しくは他のタイプのネットワークの組み合わせを含み得る。
【0025】
図1に示した装置及びネットワークの数及び構成は、一例として提供されている。実際には、
図1に示したものに対して、追加の装置及び/又はネットワーク、より少ない装置及び/又はネットワーク、異なる装置及び/又はネットワーク、又は異なる構成の装置及び/又はネットワークが存在し得る。また、
図1に示した2つ以上の装置が単一の装置内に実装されてもよいし、あるいは、
図1に示した単一の装置が複数の分散された装置として実装されてもよい。加えて、あるいは代わりに、環境100の装置のセット(例えば、1つ以上の装置)が、環境100の装置の別のセットによって実行されるとして記載された1つ以上の機能を実行してもよい。
【0026】
図2は、
図1の1つ以上の装置のコンポーネント例の図である。装置200は、ユーザ装置110及び/又はプラットフォーム120に対応し得る。
図2に示すように、装置200は、バス210、プロセッサ220、メモリ230、ストレージコンポーネント240、入力コンポーネント250、出力コンポーネント260、及び通信インタフェース270を含み得る。
【0027】
バス210は、装置200のコンポーネント間での通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ220は、中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は他のタイプの処理コンポーネントである。一部の実装において、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、及び/又は、プロセッサ220による使用のための情報及び/又は命令を格納する他のタイプの動的又は静的な記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、及び/又は光メモリ)を含む。
【0028】
ストレージコンポーネント240は、装置200の動作及び使用に関係する情報及び/又はソフトウェアを格納する。例えば、ストレージコンポーネント240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク(登録商標)、カートリッジ、磁気テープ、及び/又は他のタイプの非一時的なコンピュータ読み取り可能媒体を、対応するドライブと共に含み得る。
【0029】
入力コンポーネント250は、装置200が、例えばユーザ入力を介してなどで、情報を受信することを可能にするコンポーネントを含む(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイクロフォン)。加えて、あるいは代わりに、入力コンポーネント250は、情報をセンシングするセンサ(例えば、グローバルポジショニングシステム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエータ)を含んでもよい。出力コンポーネント260は、装置200からの出力情報を提供するコンポーネントを含む(例えば、ディスプレイ、スピーカ、及び/又は1つ以上の発光ダイオード(LED))。
【0030】
通信インタフェース270は、装置200が、例えば有線接続、無線接続、又は有線接続と無線接続との組み合わせを介してなどで、他の装置と通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバ及び/又は別個の受信器と送信器)を含む。通信インタフェース270は、装置200が他の装置から情報を受信すること及び/又は他の装置に情報を提供することを可能にする。例えば、通信インタフェース270は、イーサネット(登録商標)インタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、Wi-Fiインタフェース、セルラネットワークインタフェース、又はこれらに類するものを含み得る。
【0031】
装置200は、ここに記載される1つ以上のプロセスを実行し得る。装置200は、それらのプロセスを、例えばメモリ230及び/又はストレージコンポーネント240などの非一時的なコンピュータ読み取り可能媒体によって格納されたソフトウェア命令をプロセッサ220が実行することに応答して実行し得る。コンピュータ読み取り可能媒体は、ここでは、非一時的なメモリ装置として定義される。メモリ装置は、単一の物理的記憶装置内の記憶空間を含み、又は複数の物理的記憶装置にわたって広がった記憶空間を含む。
【0032】
ソフトウェア命令が、メモリ230及び/又はストレージコンポーネント240に、他のコンピュータ読み取り可能媒体から又は通信インタフェース270を介して他の装置から読み込まれ得る。メモリ230及び/又はストレージコンポーネント240に格納されたソフトウェア命令は、実行されるときに、プロセッサ220に、ここに記載される1つ以上のプロセスを実行させ得る。加えて、あるいは代わりに、ここに記載される1つ以上のプロセスを実行するために、ソフトウェア命令の代わりに又はそれと組み合わせてハードワイヤード回路が使用されてもよい。従って、ここに記載される実装、ハードウェア回路とソフトウェアとの如何なる特定の組み合わせにも限定されるものではない。
【0033】
図2に示したコンポーネントの数及び構成は、一例として提供されている。実際には、装置200は、
図2に示したものに対して、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、又は異なる構成のコンポーネントを含み得る。加えて、あるいは代わりに、装置200のコンポーネントのセット(例えば、1つ以上のコンポーネント)が、装置200のコンポーネントの別のセットによって実行されるとして記載された1つ以上の機能を実行してもよい。
【0034】
ここに記載される実施形態は、高価で限られた医療データセット及び手作業によるラベル付け作業に頼ることなく、大規模で良質な医学知識ベースを確立する。詳細には、ここに記載される医療データプラットフォームは、インターネットからの、ユーザ及び医師によって生成された大量の無料又は低コストのデータを利用する。そのようなマルチソースの非構造化データを当該医療データプラットフォーム内のNLPモジュールを用いて正規化し、エラスティック検索クラスタに基づいて全ての文書をインデックス付けすることにより、当該医療データプラットフォームは、医療に提供される入力からの類似性をランク付けする及び比較することによって、強く相関した医療ファクト及びデータポイントを提供する。当該医療データプラットフォームは、一般向けのディープラーニングプラットフォームでいっそう容易に組み込まれるようにRESTful APIインタフェースを使用し、そのことが、当該医療データプラットフォームを、その大量のデータセットという特性を利用するのにいっそう強力なものにする。
【0035】
図3は、実施形態に従った、医療データプラットフォーム300のコンポーネントアーキテクチャの図である。
【0036】
図3を参照するに、医療データプラットフォーム300は、マルチソースのマルチフォーマットの非構造化データ310と、ウェブクローラ315と、マルチソースのマルチフォーマットの非構造化データ処理部320と、エラスティック検索ベースのインデックス及びスコアリング部330と、医療データセット外部API340とを含んでいる。
【0037】
非構造化データ310は、例えば、医学書311、診断事例312、フォーラムディスカッション313、及び医学論文314を含み得る。
【0038】
ウェブクローラ315は、インターネット中を巡回して非構造化データ310を収集する。
【0039】
処理部320は、ETLモジュール321、第1のNLPモジュール322、及び第2のNLPモジュール323を含み、収集された非構造化データ310を正規化された構造データ324へと処理する。
【0040】
ETLモジュール321は、収集された非構造化データ310のデータクリーニング及びフォーマット化を実行する。
【0041】
第1のNLPモジュール322は、クリーニング及びフォーマット化されていてもよい非構造化データ310上で名称エンティティ認識を実行する。詳細には、医療データプラットフォーム300は、名称エンティティ認識及び正規化のための単語埋め込みベースの医学辞書331を含むことができ、それが、ウェブサイト及びフォーラムから生成された何百万もの無料コンテンツを有する高品質の専門医療データセットを提供する。高ノイズの非構造化データ310の全てを利用するには、良好な正規化が鍵となる。第1のNLPモジュール322は、単語埋め込みベースの機構を用いて、生の非構造化データ310の全てから医学辞書331を学習する。この機構は、非構造化データ310から、医学エンティティの異なる次元の概念を表す128個の特徴を選択し、そして、Skip-gramモデルを用いて単語ベクトル及びトピックモデルを訓練することを含み得る。単語ベクトルを得た後、ベクトルの余弦が類似度として計算される。単語ベクトルに基づいて、同義語辞書、ストップワード辞書、及びエンティティ辞書が生成される。データ前処理の後、コンテンツ又は非構造化データ310の各ピースが、ベクトルに投影され、正規化された医学エンティティにマッピングされる。この正規化フレーズは、生の非構造化データ310からのノイズの影響を大幅に減らし、医療データプラットフォーム300の下流モジュールを削減する。
【0042】
第2のNLPモジュール323は、クリーニング及びフォーマット化されていてもよい非構造化データ310のセマンティックテキスト分割を実行する。
【0043】
全てのオンラインリソースから収集された様々なデータポイントをサンプリングすることにより、コンテンツ又は非構造化データ310は部分的にのみ有用な医療情報を含み得る。また、同じトピックに関する文が自然に一緒にグループ化され得る。これらのポイントに基づき、2つの文がコンテンツ全体内で遠く離れて位置するほど、セマンティックの観点からそれらが相関を持つことは少ないと仮定することができる。従って、トピックモデリングのためにLDAモデル及びNMFモデルを用いて、組み合わせによる方法が実行される。
【0044】
図4は、実施形態に従った、セマンティックテキスト分割を実行するNLPモジュール(例えば、第2のNLPモジュール323)に実装されるトピック確率構造400の図である。
【0045】
構造400は、LDAモデル403、NMFモデル404、ソフトマックス(softmax)関数407、ソフトマックス関数408、加算ブロック409、及び平均化ブロック410を含んでいる。
【0046】
LDAモデル403は、非構造化データ310に対応する全単語トレーニングセット401によって訓練される。トレーニングセット401の各々が、段落によって及び/又は行若しくは文によって分割される。
【0047】
NMFモデル404は、非構造化データ310に対応するテストセット402によって訓練される。テストセット402は、行又は文によって分割される。
【0048】
非構造化データ310の各段落内の各文について、LDAモデル403がLDAスコア405を出力するとともに、NMFモデル404がNMFスコア406を出力する。LDAスコア405に対してソフトマックス関数407が実行され、2方向においてその文に隣接するもののうち多くて3つの文に対する第1の標準導出スコアが生成される。NMFスコア406に対してソフトマックス関数408が実行され、2方向においてその文に隣接するもののうち多くて3つの文に対する第2の標準導出スコアが生成される。
【0049】
加算ブロック409が、第1の標準導出スコアと第2の標準導出スコアとを足し合わせる。平均化ブロック410が、加算された第1の標準導出スコア及び第2の標準導出スコアを平均することによって平均スコアを決定する。
【0050】
再び
図3を参照するに、平均スコアに基づいて、第2のNLPモジュール323が、文のトピックを決定する。上述のトピックモデリングに基づいて、各入力段落が、同じトピックを共有する文のグループによって分割される。セマンティックテキスト分割を使用すると、文のみ又は段落のみの分割を使用するのと比較して、構造化データ324の正確さが大きく高まる。
【0051】
処理部320は、正規化された構造化データ324を出力する。構造化データ324の各ピースが、クリーニング及びフォーマットされ、認識された医学名エンティティに対応し、段落を含むことができ、その各々が、同じトピックを共有する文のグループによって分割される複数の段落を含み得る。
【0052】
エラスティック検索ベースのインデックス及びスコアリング部330は、構造化データ324を、格納のため及び医療データセット外部API340を介した出力又は表示のために、エラスティック検索クラスタへとインデックス付け及びスコア付けする。API340は、エラスティック検索クラスタのうちの少なくとも1つを探索するために使用されることができ、エラスティック検索クラスタのうちの少なくとも1つを医療データセットとして表示し得る。
【0053】
エラスティック検索ベースのインデックス及びスコアリング部330は、医学辞書331と、構造化データ324上でツリー構造インデックス付けを実行して構造化データ324をエラスティック検索クラスタに書き込む及びインデックス最適化モジュール332とを含み得る。詳細には、人間は、セマンティック情報又は階層構造を表現するようにコンテンツをグループ化することを自然に好む。異なる生データソース(すなわち、マルチソースのマルチフォーマットの非構造化データ310)内で、数多くの有用な階層的医療情報が生データポイントのメタデータに対して見出され得る。例えば、医師又はウェブサイトによって、自身の臨床症状を記述する患者に関するオンラインディスカッションがカテゴリー分けされたりタグ付けされたりすることがある。そのような予めラベル付けられたワークは、医療データプラットフォーム300に関するデータ品質を高めるために非常に価値があり得る。従って、メタデータからのキーとなるエンティティが非構造化データ310又は構造化データ324から選定され、そして、非構造化データ310又は構造化データ324に対して、それらキーエンティティを用いてツリー構造が再構成される。すなわち、非構造化データ310又は構造化データ324の階層的医療情報が保持され、エラスティック検索クラスタに注入される。故に、それに従って重要な層又は関係がインデックス付けられて異なる重みを与えられ得る。エラスティック検索クラスタリングのフラットな注入を、エラスティック検索クラスタリングのためにツリー構造インデックスを用いることと比較すると、内部関係及び階層情報を強調することによってデータ品質が高められる。
【0054】
図5は、実施形態に従った、データからのセマンティック階層構造を用いてエラスティック検索クラスタを生成する方法の図である。
【0055】
図5を参照するに、例えば、階層的医療情報が医学書510から抽出され、それを用いて、ルートノード(root)と例えば“節(section)”及び“章(chapter)”といったリーフノードとを含むツリー構造520が生成される。ツリー構造520を用いて、エラスティック検索クラスタ又は構造化されたエラスティック検索(elastic search;ES)データポイント530が生成される。
【0056】
再び
図3を参照するに、エラスティック検索ベースのインデックス及びスコアリング部330は更に、エラスティック検索クラスタに関するクエリをカスタマイズするカスタマイズクエリモジュール333と、エラスティック検索クラスタにそれぞれ異なる重みを適用する重みスコアリングモジュール334とを含み得る。
【0057】
医療データプラットフォーム300の医療データセット又はエラスティック検索クラスタの品質及び正確さをテストする実験において、中国医学ライセンシング試験からの12,000個の実際の難しい医学的質問を医療データプラットフォーム300に入力した。各質問が5つの選択肢を持ち、1つの選択肢のみが正しい答えであり、20%が当てずっぽうでの正答率である。医療データプラットフォーム300を用いて、ディープラーニングモデルを使用せずに、各選択肢を質問と組み合わせることのみによって総当たりクエリを作成した。トップ1正解率は43%まで大幅に上昇し、トップ2正解率は63%であった。
【0058】
図6は、実施形態に従った、医療データ自動収集セグメンテーション及び分析の方法600のフローチャートである。一部の実装において、
図6の1つ以上のプロセスブロックは、プラットフォーム300を実装するプラットフォーム120によって実行され得る。一部の実装において、
図6の1つ以上のプロセスブロックは、例えばユーザ装置110など、プラットフォーム300を実装するプラットフォーム120とは別の又はそれを含んだ装置又は装置群によって実行されてもよい。
【0059】
図6に示すように、動作610にて、方法600は、複数のソースから、複数のフォーマットにある非構造化医療データを収集することを含む。
【0060】
動作620にて、方法600は、医学辞書を用いて、非構造化医療データの各ピースの医学名エンティティを認識することを含む。
【0061】
動作630にて、方法600は、非構造化医療データの各ピースが、同じトピックを共有するグループに分割されるように、非構造化医療データの各ピースに対してセマンティックテキスト分割を実行することを含む。
【0062】
動作640にて、方法600は、医学名エンティティが認識され且つグループに分割された非構造化医療データの各ピースを構造化医療データとして生成することを含む。
【0063】
動作650にて、方法600は、構造化医療データをエラスティック検索クラスタへとインデックス付けすることを含む。
【0064】
方法600は更に、エラスティック検索クラスタのうちの少なくとも1つを探索して表示するように制御することを含み得る。
【0065】
方法600は更に、非構造化医療データを用いて医学辞書を生成することを含み得る。
【0066】
セマンティックテキスト分割を実行することは、非構造化医療データを用いて、潜在的ディリクレ配分(LDA)モデル及び非負値行列因数分解(NMF)モデルを訓練することを含み得る。
【0067】
セマンティックテキスト分割を実行することは更に、非構造化医療データの複数の文の各々について、LDAモデル及びNMFモデルから、それぞれ、LDAスコア及びNMFスコアを出力し、LDAスコア及びNMFスコアの各々に対してソフトマックス関数を実行して、それぞれ、第1の標準導出スコア及び第2の標準導出スコアを生成し、第1の標準導出スコアと第2の標準導出スコアとを加算し、加算した第1の標準導出スコア及び第2の標準導出スコアを平均して、平均スコアを決定し、平均スコアに基づいて、複数の文のそれぞれの文のトピックを決定することを含み得る。
【0068】
方法600は更に、非構造化医療データの各ピースのメタデータの階層ツリー構造を生成することを含み得る。構造化医療データをインデックス付けすることは、非構造化医療データの各ピースのメタデータの階層ツリー構造を用いて、構造化医療データをエラスティック検索クラスタへとインデックス付けすることを含み得る。
【0069】
非構造化医療データは、インターネットからの、医学書、診断事例、フォーラムディスカッション及び医学論文のうちのいずれか1つ又は任意の組み合わせを含み得る。
【0070】
図6は方法600のブロック例を示しているが、一部の実装において、方法600は、
図6に示したものに対して、追加のブロック、少ないブロック、異なるブロック、又は異なる構成のブロックを含み得る。加えて、あるいは代わりに、方法600のブロックのうちの2つ以上が並行して実行されてもよい。
【0071】
図7は、実施形態に従った、医療データ自動収集セグメンテーション及び分析のための装置700の図である。
図7に示すように、装置700は、収集コード710、認識コード720、実行コード730、第1生成コード740、及びインデックス付けコード750を含む。
【0072】
収集コード710は、少なくとも1つのプロセッサに、複数のソースから、複数のフォーマットにある非構造化医療データを収集させるように構成される。
【0073】
認識コード720は、上記少なくとも1つのプロセッサに、医学辞書を用いて、非構造化医療データの各ピースの医学名エンティティを認識させるように構成される。
【0074】
実行コード730は、上記少なくとも1つのプロセッサに、非構造化医療データの各ピースが、同じトピックを共有するグループに分割されるように、非構造化医療データの各ピースに対してセマンティックテキスト分割を実行させるように構成される。
【0075】
第1生成コード740は、上記少なくとも1つのプロセッサに、医学名エンティティが認識され且つグループに分割された非構造化医療データの各ピースを構造化医療データとして生成させるように構成される。
【0076】
インデックス付けコード750は、上記少なくとも1つのプロセッサに、構造化医療データをエラスティック検索クラスタへとインデックス付けさせるように構成される。
【0077】
装置700は更に、上記少なくとも1つのプロセッサに、エラスティック検索クラスタのうちの少なくとも1つを探索して表示するように制御させるように構成された制御コード、を含み得る。
【0078】
装置700は更に、上記少なくとも1つのプロセッサに、非構造化医療データを用いて医学辞書を生成させるように構成された第2生成コード、を含み得る。
【0079】
実行コード730は更に、上記少なくとも1つのプロセッサに、非構造化医療データを用いて、潜在的ディリクレ配分(LDA)モデル及び非負値行列因数分解(NMF)モデルを訓練させるように構成され得る。
【0080】
実行コード730は更に、上記少なくとも1つのプロセッサに、非構造化医療データの複数の文の各々について、LDAモデル及びNMFモデルから、それぞれ、LDAスコア及びNMFスコアを出力させ、LDAスコア及びNMFスコアの各々に対してソフトマックス関数を実行させて、それぞれ、第1の標準導出スコア及び第2の標準導出スコアを生成させ、第1の標準導出スコアと第2の標準導出スコアとを加算させ、
加算した第1の標準導出スコア及び第2の標準導出スコアを平均させて、平均スコアを決定させ、平均スコアに基づいて、複数の文のそれぞれの文のトピックを決定させるように構成され得る。
【0081】
装置700は更に、上記少なくとも1つのプロセッサに、非構造化医療データの各ピースのメタデータの階層ツリー構造を生成させるように構成された第2生成コード、を含み得る。インデックス付けコード750は更に、上記少なくとも1つのプロセッサに、非構造化医療データの各ピースのメタデータの階層ツリー構造を用いて、構造化医療データをエラスティック検索クラスタへとインデックス付けさせるように構成され得る。
【0082】
非構造化医療データは、インターネットからの、医学書、診断事例、フォーラムディスカッション及び医学論文のうちのいずれか1つ又は任意の組み合わせを含み得る。
【0083】
以上の開示は、例示及び説明を提供するものであり、網羅的であること、又は開示されたままの形態に実装を限定することを意図するものではない。変更及び変形が、以上の開示に照らして可能であり、又は実装の実施から習得され得る。
【0084】
ここで使用されるとき、コンポーネントなる用語は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせとして広く解釈されることが意図される。
【0085】
明らかになることには、ここに記載されたシステム及び/又は方法は、様々な形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実装され得る。これらのシステム及び/又は方法を実装するのに使用される実際の特殊化された制御ハードウェア又はソフトウェアコードは、実装の限定となるものではない。従って、ここでは、システム及び/又は方法の動作及び挙動を、特定のソフトウェアコードを参照することなく記述しており、理解されることには、ここでの記載に基づくシステム及び/又は方法を実装するように、ソフトウェア及びハードウェアが設計され得る。
【0086】
複数の機構の組み合わせが請求項に記載され且つ/或いは明細書に開示されているとしても、それらの組み合わせは、可能な実装の開示を限定することを意図するものではない。実際、それらの機構のうち多くは、具体的には請求項に記載され且つ/或いは明細書に開示されたものではないように組み合わされることができる。以下に挙げられる各従属請求項は1つのクレームのみに直接的に従属することがあるが、可能な実装の開示は、各従属請求項を、請求項セット内のあらゆる他のクレームとの組み合わせで含む。
【0087】
ここで使用される如何なる要素、行為、又は命令も、そのように明示的に記載されない限り、重要又は必須であるとして解釈されるべきでない。また、ここで使用されるとき、冠詞“a”及び“an”は、1つ以上のアイテムを含むことを意図しており、“1つ以上の”と交換可能に使用され得る。さらに、ここで使用されるとき、用語“セット”は、1つ以上のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムとの組み合わせなど)を含むことを意図しており、“1つ以上”と交換可能に使用され得る。1つのアイテムのみが意図される場合には、用語“1つの”又は類似の言葉が使用される。また、ここで使用されるとき、用語“持つ”、“有する”、“持っている”などは、オープンエンドの用語であることを意図している。さらに、“に基づく”という言い回しは、明示的に別の断りがない限り、“少なくとも部分的に基づく”を意味することを意図している。