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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7549417コンピューティング・スパンに対するディープ・ラーニング・アプローチ
<>
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図1
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図2
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図3
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図4
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図5
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図6A
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図6B
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図6C
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図7
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図8
  • 特許-コンピューティング・スパンに対するディープ・ラーニング・アプローチ 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-03
(45)【発行日】2024-09-11
(54)【発明の名称】コンピューティング・スパンに対するディープ・ラーニング・アプローチ
(51)【国際特許分類】
   G06F 40/30 20200101AFI20240904BHJP
   G16H 10/00 20180101ALI20240904BHJP
   G06N 20/00 20190101ALI20240904BHJP
   G06F 40/216 20200101ALI20240904BHJP
   G06F 16/35 20190101ALI20240904BHJP
【FI】
G06F40/30
G16H10/00
G06N20/00
G06F40/216
G06F16/35
【請求項の数】 21
(21)【出願番号】P 2021575889
(86)(22)【出願日】2020-06-05
(65)【公表番号】
(43)【公表日】2022-08-29
(86)【国際出願番号】 IB2020055332
(87)【国際公開番号】W WO2020261002
(87)【国際公開日】2020-12-30
【審査請求日】2022-11-21
(31)【優先権主張番号】16/454,311
(32)【優先日】2019-06-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ケイソン、ジョシュア
(72)【発明者】
【氏名】ムワラブ、クリス
(72)【発明者】
【氏名】ロジャース、トーマス、ヘイ
(72)【発明者】
【氏名】アレン、コービル
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】米国特許出願公開第2018/0075011(US,A1)
【文献】特開2019-049964(JP,A)
【文献】特開2015-130194(JP,A)
【文献】中国特許出願公開第107526785(CN,A)
【文献】米国特許出願公開第2016/0321243(US,A1)
【文献】Marek Rei,Semi-supervised Multitask Learning for Sequence Labeling,arXiv,2017年04月27日,[2023年12月26日検索],インターネット<URL:https://arxiv.org/pdf/1704.07156.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
G16H 10/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
プロセッサが実行する方法であって、前記方法は、
第1の複数のトレーニング・ノードを含む、強調が付された強調付きトレーニング・テキストをインポートすることと、
第2の複数のトレーニング・ノードを含む強調なしトレーニング・テキストをインポートすることと、
前記強調付きトレーニング・テキストおよび前記強調なしトレーニング・テキストをワンホット・エンコードすることと、
エンコードされた前記強調付きトレーニング・テキストおよび前記強調なしトレーニング・テキストを用いて投影モデルをトレーニングすることと、
前記投影モデルを用いて、エンコードされた前記強調付きトレーニング・テキストを処理することと、
処理された前記強調付きトレーニング・テキストを用いて分類器モデルをトレーニングすることと、
複数の新たなノードを含む新たなテキストをインポートすることと、
前記新たなテキストをワンホット・エンコードすることと、
前記投影モデルを用いて前記新たなテキストを処理することと、
前記分類器モデルを用いて、前記複数の新たなノードの1つが求められるクラスにあるかどうかを判定することと
を含む、方法。
【請求項2】
前記ワンホット・エンコードすることは、
複数のノードを有する解析木を生成することと、
前記解析木の第1のノードから第2のノードへの第1の走査を表す第1のエンコード・ベクトルおよび前記解析木の前記第1のノードから第3のノードへの第2の走査を表す第2のエンコード・ベクトルを生成することと
を含む、請求項1に記載の方法。
【請求項3】
前記第1のノードは、第1の属性および第2の属性を有するトリガ・ノードであり、前記第2のノードは、第3の属性および第4の属性を有する第1のターゲット・ノードであり、前記第3のノードは、第5の属性および第6の属性を有する第2のターゲット・ノードであり、前記第1および第2のエンコード・ベクトルは、それぞれ、前記第1の属性、前記第2の属性、前記第3の属性、前記第4の属性、前記第5の属性および前記第6の属性を含む複数の属性に対応する値を含む、請求項2に記載の方法。
【請求項4】
前記求められるクラスは、仮定テキスト・スパンのメンバである、請求項1から請求項3のいずれか一項に記載の方法。
【請求項5】
前記複数の新たなノードの各々が前記求められるクラスにあることを示す、強調付きの新たなテキストを出力することをさらに含む、請求項1から請求項4のいずれか一項に記載の方法。
【請求項6】
前記強調付きおよび強調なしトレーニング・テキストを用いてワンホット・エンコーダをトレーニングすることをさらに含む、請求項1から請求項のいずれか一項に記載の方法。
【請求項7】
各ノードが前記求められるクラスにあるかどうかを判定するために、前記処理された強調付きトレーニング・テキストを前記分類器モデルを用いて処理することと、
各ノードが前記求められるクラスにあるかどうかの前記判定と、各ノードの前記強調とを比較することと、
前記強調と同じである判定の数を増加させるように前記分類器モデルを調整することと
をさらに含む、請求項1から請求項のいずれか一項に記載の方法。
【請求項8】
特徴選択を行うことと、
前記投影モデルをトレーニングする前に、前記特徴選択に基づいて、エンコードされた前記強調付きおよび強調なしトレーニング・テキストからノードの部分を除去することと
をさらに含む、請求項1から請求項のいずれか一項に記載の方法。
【請求項9】
プロセッサが実行するトレーニング方法であって、前記方法は、
第1の複数のトレーニング・ノードを含む、強調が付された強調付きトレーニング・テキストをインポートすることと、
第2の複数のトレーニング・ノードを含む強調なしトレーニング・テキストをインポートすることと、
前記強調付きトレーニング・テキストを強調付きトレーニング検討テーブルに変換することと、
前記強調なしトレーニング・テキストを強調なしトレーニング検討テーブルに変換することと、
前記強調付きトレーニング検討テーブルおよび前記強調なしトレーニング検討テーブルを用いてワンホット・エンコーダをトレーニングすることと、
前記強調付きトレーニング検討テーブルの各行をワンホット・エンコードして強調付きトレーニング・ベクトルを生成することと、
前記強調なしトレーニング検討テーブルの各行をワンホット・エンコードして強調なしトレーニング・ベクトルを生成することと、
前記強調付きトレーニング・ベクトルおよび前記強調なしトレーニング・ベクトルを用いて投影モデルをトレーニングすることと、
前記投影モデルを用いて前記強調付きトレーニング・ベクトルを処理して処理された強調付きトレーニング・ベクトルを生成することと、
前記処理された強調付きトレーニング・ベクトルを用いて分類器モデルをトレーニングすることとを含み、前記分類器モデルはノードが求められるクラスにあるかどうかを判定する、方法。
【請求項10】
前記強調付きトレーニング・ベクトルを生成することは、
前記強調付きトレーニング・テキストを表す解析木の第1のノードから第2のノードへの第1の走査を表す第1のエンコード・ベクトルおよび前記解析木の前記第1のノードから第3のノードへの第2の走査を表す第2のエンコード・ベクトルを生成することを含み、前記強調付きトレーニング検討テーブルの第1の行および第2の行が、前記第1の走査および前記第2の走査に対応する、請求項9に記載の方法。
【請求項11】
前記第1のノードは、第1の属性および第2の属性を有するトリガ・ノードであり、前記第2のノードは、第3の属性および第4の属性を有する第1のターゲット・ノードであり、前記第3のノードは、第5の属性および第6の属性を有する第2のターゲット・ノードであり、前記第1および第2のエンコード・ベクトルは、それぞれ、前記第1の属性、前記第2の属性、前記第3の属性、前記第4の属性、前記第5の属性および前記第6の属性を含む複数の属性に対応する値を含む、請求項10に記載の方法。
【請求項12】
前記求められるクラスは、仮定テキスト・スパンのメンバまたは事実テキスト・スパンのメンバである、請求項9から請求項11のいずれか1項に記載の方法。
【請求項13】
前記強調付きトレーニング・テキストを、前記強調付きトレーニング検討テーブルに変換するための強調付き解析木に変換することと、
前記強調なしトレーニング・テキストを、前記強調なしトレーニング検討テーブルに変換するための強調なし解析木に変換することと
をさらに含む、請求項9から請求項12のいずれか一項に記載の方法。
【請求項14】
各ノードが前記求められるクラスにあるかどうかを判定するために、前記処理された強調付きトレーニング・ベクトルを前記分類器モデルを用いて処理することと、
各ノードが前記求められるクラスにあるかどうかの前記判定と、各ノードの前記強調とを比較することと、
前記強調と同じである判定の数を増加させるように前記分類器モデルを調整することと
をさらに含む、請求項から請求項13のいずれか一項に記載の方法。
【請求項15】
特徴選択を行うことと、
前記投影モデルをトレーニングする前に、前記特徴選択に基づいて前記強調付きおよび強調なしトレーニング・ベクトルから列を除去することと
をさらに含む、請求項から請求項14のいずれか一項に記載の方法。
【請求項16】
スパンにおけるノードを見出すためのシステムであって、前記システムは、
自然言語処理ラーニング・マシンであって、前記自然言語処理ラーニング・マシンはコンピューティング・プロセッサを含む、前記自然言語処理ラーニング・マシンと、
前記コンピューティング・プロセッサに結合されたメモリとを含み、前記メモリは命令を含み、前記命令は前記コンピューティング・プロセッサに
第1の複数のトレーニング・ノードを含む、強調が付された強調付きトレーニング・テキストをインポートすることと、
第2の複数のトレーニング・ノードを含む強調なしトレーニング・テキストをインポートすることと、
前記強調付きトレーニング・テキストおよび前記強調なしトレーニング・テキストをワンホット・エンコードすることと、
エンコードされた前記強調付きトレーニング・テキストおよび前記強調なしトレーニング・テキストを用いて投影モデルをトレーニングすることと、
前記投影モデルを用いて、エンコードされた前記強調付きトレーニング・テキストを処理することと、
処理された前記強調付きトレーニング・テキストを用いて分類器モデルをトレーニングすることと、
複数の新たなノードを含む新たなテキストをインポートすることと、
前記新たなテキストをワンホット・エンコードすることと、
前記投影モデルを用いて前記新たなテキストを処理することと、
前記分類器モデルを用いて、前記複数の新たなノードの1つが求められるクラスにあるかどうかを判定することと
を行わせる、システム。
【請求項17】
前記求められるクラスは、仮定テキスト・スパンのメンバである、請求項16に記載のシステム。
【請求項18】
前記メモリは、前記コンピューティング・プロセッサに
前記複数の新たなノードの各々が前記求められるクラスにあることを示す、強調付きの新たなテキストを出力することを行わせる命令をさらに含む、請求項16または請求項17に記載のシステム。
【請求項19】
スパンにおけるノードを見出すためのシステムであって、前記システムは、
自然言語処理ラーニング・マシンであって、前記自然言語処理ラーニング・マシンはコンピューティング・プロセッサを含む、前記自然言語処理ラーニング・マシンと、
前記コンピューティング・プロセッサに結合されたメモリとを含み、前記メモリは命令を含み、前記命令は前記コンピューティング・プロセッサに
第1の複数のトレーニング・ノードを含む、強調が付された強調付きトレーニング・テキストをインポートすることと、
第2の複数のトレーニング・ノードを含む強調なしトレーニング・テキストをインポートすることと、
前記強調付きトレーニング・テキストを強調付きトレーニング検討テーブルに変換することと、
前記強調なしトレーニング・テキストを強調なしトレーニング検討テーブルに変換することと、
前記強調付きトレーニング検討テーブルおよび前記強調なしトレーニング検討テーブルを用いてワンホット・エンコーダをトレーニングすることと、
前記強調付きトレーニング検討テーブルの各行をワンホット・エンコードして強調付きトレーニング・ベクトルを生成することと、
前記強調なしトレーニング検討テーブルの各行をワンホット・エンコードして強調なしトレーニング・ベクトルを生成することと、
前記強調付きトレーニング・ベクトルおよび前記強調なしトレーニング・ベクトルを用いて投影モデルをトレーニングすることと、
前記投影モデルを用いて前記強調付きトレーニング・ベクトルを処理して処理された強調付きトレーニング・ベクトルを生成することと、
前記処理された強調付きトレーニング・ベクトルを用いて分類器モデルをトレーニングすることとを行わせ、前記分類器モデルはノードが求められるクラスにあるかどうかを判定する、システム。
【請求項20】
前記求められるクラスは、仮定テキスト・スパンのメンバまたは事実テキスト・スパンのメンバである、請求項19に記載のシステム。
【請求項21】
プロセッサに、請求項1から請求項15のいずれか一項に記載の方法における各ステップを実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は一般的に、改善されたデータ処理装置および方法に関し、より具体的には、たとえば医学テキスト、司法ステートメント、およびテキスト・ドキュメントのその他のコーパスなどのテキストにおける仮定ステートメントの機械学習に対するアプローチを提供するための機構に関する。
【背景技術】
【0002】
意思決定支援システムは、人間の専門家が情報の検索および分析の支援を必要とするような多くの異なる産業に存在する。この出願全体にわたって用いられることとなる例は、ヘルスケア産業において使用される診断システムである。診断システムは、構造化された知識を用いるシステムと、非構造化知識を用いるシステムと、臨床判断の公式、ルール、ツリー、またはアルゴリズムを用いるシステムとに分類され得る。最も初期の診断システムは、構造化知識または従来的な手動で構築されたナレッジ・ベースを用いていた。開発が進むにつれて、より洗練された確率的推論能力が加わり、次いで非構造化知識を用いたシステムが出現し始めた。より最近には、いくつかの医学的な病気に対する臨床判断ルールが開発されており、医療従事者および患者がこれらのルールを適用することを助けるためのコンピュータ・システムが開発されている。
【発明の概要】
【0003】
本開示のいくつかの実施形態によると、自然言語プロセッサを用いるための方法、システム、およびコンピュータ・プログラム製品が開示される。含まれるのは、各々がトレーニング・ノードを含む強調付きトレーニング・テキストおよび強調なしトレーニング・テキストをインポートすることと、トレーニング・テキストをワンホット・エンコードすることと、トレーニング・テキストを用いて投影モデルをトレーニングすることと、投影モデルを用いて強調付きトレーニング・テキストを処理することと、処理された強調付きトレーニング・テキストを用いて分類器モデルをトレーニングすることとである。加えて含まれるのは、新たなノードを含む新たなテキストをインポートすることと、新たなテキストをワンホット・エンコードすることと、投影モデルを用いて新たなテキストを処理することと、分類器モデルを用いて新たなノードの1つが求められるクラスにあるかどうかを判定することとである。
【0004】
本開示のいくつかの実施形態によると、自然言語プロセッサをトレーニングする方法およびシステムが開示される。含まれるのは、各々がトレーニング・ノードを含む強調付きトレーニング・テキストをインポートすることと、トレーニング・テキストをトレーニング変換テーブルに変換することと、トレーニング変換テーブルを用いてワンホット・エンコーダをトレーニングすることと、トレーニング変換テーブルをワンホット・エンコードしてトレーニング・ベクトルを生成することとである。加えて含まれるのは、トレーニング・ベクトルを用いて投影モデルをトレーニングすることと、投影モデルを用いて強調付きトレーニング・ベクトルを処理して処理された強調付きトレーニング・ベクトルを生成することと、処理された強調付きトレーニング・ベクトルを用いて分類器モデルをトレーニングすることとであり、分類器モデルはノードが求められるクラスにあるかどうかを判定する。
【0005】
ここで添付の図面を参照して、単なる例として本発明の実施形態を説明することとする。
【図面の簡単な説明】
【0006】
図1】コンピュータ・ネットワークにおけるヘルスケア・コグニティブ・システムの1つの例示的実施形態を示す概略図である。
図2】例示的実施形態の態様が実現されるデータ処理システムの例を示すブロック図である。
図3】1つの例示的実施形態によるヘルスケア・コグニティブ・システムの構成要素の相互作用を示す例示的な図である。
図4】1つの例示的実施形態による、患者の電子医療記録(EMR:electronic medical record)の一部であり得る医療専門家によって構成された例示的メモの解析木データ構造表現の例を示す図である。
図5】1つの例示的実施形態による、無視トリガに相当するノードの曖昧性解消が行われるセンテンスに対する別の解析木データ構造の例を示す図である。
図6A】例示的実施形態による、センテンスのノードと接続エッジとを説明する、センテンスに対する別の解析木データ構造の例を示す図である。
図6B】2つの走査に沿った解析木の2つのテーブルの例を示す図である。
図6C】表の形の2つの走査の比較テーブルの例およびそれらの対応するワンホット・エンコード・ベクトルを示す図である。
図7】解析木データ構造のスパンを見出す方法の例を示す流れ図である。
図8】自然言語処理(NLP:natural language processing)システムが自然言語テキストに対して動作するようにトレーニングするための解析木を用いる方法を示す流れ図である。
図9】自然言語テキストに対して動作するNLPラーニング・マシンを示す流れ図である。
【発明を実施するための形態】
【0007】
たとえば医学テキストおよび司法テキストなどのテキストの一部分の自然言語処理を行うとき、実際の事実のステートメントに向けられたテキストの部分と、仮定的な記載を含むテキストの部分とを区別できることがしばしば重要である。たとえば、医学テキストおよび患者の治療を向上させるために行われる自然言語処理の場合は、より正確な治療の提案のために重要な実際の事象と、患者の診断および治療の誤りをもたらすおそれのある、可能性を表したものであり得るテキストの仮定部分とを区別できることがしばしば非常に重要である。ほとんどの場合、医療メモは実際に起こったことを記載した事実と、患者と検討したが実際には起こっていないことを示す計画(仮定ともいう)との両方を含む。たとえば、患者の電子医療記録(EMR)は、特定の臨床検査が行われたことを示す検査報告を有してもよく、その臨床検査からは特定の結果が得られている。これはその患者に関して起こった実際の事実事象の例であろう。加えて、医師は患者のEMR内に、医師が患者と検討した可能な手順または事象を示す独自のメモを有してもよい(例、「我々は患者がマンモグラムを受けることを勧めた。」)。こうした可能な手順または事象は実際には起こっていないが、その患者に対して可能な計画を表すものである。患者と事項が検討されても、その時点ではその手順または事象が起こるかどうかは分からないため、それらの事項は実際には仮定的な性質である。
【0008】
たとえばアーモンク(Armonk)、ニューヨーク(New York)のインターナショナル・ビジネス・マシーンズ社(International Business Machines Corporation)より入手可能なIBM Watson(IBM社の登録商標)コグニティブ・システムなどのコグニティブ・システムにとって、実際の事実はしばしばこうした医学テキストの最も重要な部分である。なぜなら、治療の推奨は実際の事象および事実に基づくものだからである。しかし、計画される動作または実施されていない動作、および起こり得る事象など(すなわち、仮定)も、実際の事象または事実を表していないにもかかわらず、医学テキストに記録されることがある。こうしたコグニティブ・システムの精度を上げるためには、仮定を表すテキスト・コンテンツの部分と、実際の事実および事象を表すテキスト・コンテンツの部分とを区別できることが有益であろう。それによって、コグニティブ・システムが生成する治療推奨は、実際の事実および事象を表す部分に基づくものとなる。
【0009】
例示的実施形態は、電子テキスト、ドキュメント、またはテキスト・コンテンツのその他の部分を取り込み、そのテキスト・コンテンツを分析して、仮定に向けられたテキストの部分と、実際に起こった実際の事実または事象に向けられたテキストの部分とを区別するための機構を提供する。以下の説明の目的のために、医学テキストおよびコグニティブ治療推奨システムの文脈での実施に向けられた例示的実施形態が提供される。しかし、こうした実施形態の例は限定する文脈で受け取られるべきではない。特に、本発明の思想および範囲から逸脱することなく、医学テキスト以外のさまざまなドメインの任意のタイプのテキストに関して、さまざまな他の実施形態が実現されてもよいことが認識されるべきである。よってたとえば、仮定部分と事実部分とを含むことがあり、かつテキストの仮定部分と事実部分との区別をその後用いてテキストの分析処理、コグニティブ処理、またはその他の処理を行って結果を生じるような、司法テキストまたは任意のその他のタイプのテキストに関して、以後に記載される機構が実施されてもよい。
【0010】
例示的実施形態の機構がテキストの事実部分とテキストの仮定部分とを区別する治療推奨システムの実施形態の状況においては、例示的実施形態の機構はさまざまなタイプの医学テキストを取り込んで、これらの医学テキストに例示的実施形態の機構を適用してもよい。これらの医学テキストは、たとえば患者の電子医療記録(EMR)などを含んでもよく、ここでは医療サービス提供者(例、医師、看護師、病院、医学研究所、薬局、および医療保険会社)がEMRに含ませるコンテンツに寄与してもよい。こうして、これらのソースの各々からの医学テキストは、事実(例、実際の発生、事象、または結果)と仮定(例、実際には起こっていない計画またはその他の可能性)との両方を含んでもよい。
【0011】
場合によっては、たとえば「彼女はノード陽性であり、かつ併存疾患がないことから、我々はネオアジュバント療法を推奨する」というステートメントの例などのように、単一のステートメントまたは医学テキストが事実および仮定の両方を含むことがある。こうした場合には、患者に対する治療推奨を行う際に、その患者がノード陽性であり、かつ併存疾患がないという事実を知ることが望ましい。しかし、治療推奨システムにとっては、ステートメントのネオアジュバント療法の部分も事実であると解釈せずに、患者が実際にはネオアジュバント療法を受けていないことを知ることも非常に重要である。システムは患者が実際にネオアジュバント療法を受けたと考えるのではなく、システムはステートメントのこの部分が将来の計画の推奨(すなわち仮定)を示すものであって、発生した事象の事実ではないことを判定できるべきである。そうすると、システムはステートメントのこの部分を無視するか、または単にこの部分を残りのステートメントとは異なる態様で処理することができる。
【0012】
実際の事実を記載している医学テキストの部分と、仮定に向けられたテキストの部分とを区別するために、例示的実施形態は、センテンス構造の想定を行わない一般化可能なアプローチを実現する機構を提供する。例示的実施形態は、2セットの辞書データ構造を使用する。第1のものは、コンテンツの仮定部分に相当する用語およびフレーズを識別することに向けられた辞書データ構造のセットであり、治療推奨コグニティブ・システムは治療推奨分析を行うときにこの仮定部分を無視してもよい。第2のものは、コンテンツの事実部分に関連する用語およびフレーズを区別することに向けられた辞書データ構造の第2のセットであり、この事実部分はこうした治療推奨分析を行うための基礎として用いられるべきである。加えて解析木が使用され、この解析木は辞書が適用されるテキスト・コンテンツの強化された表現を含む。一致する辞書エントリによってルート化されたサブツリーを見ることによって、注釈(例、仮定または事実の注釈)のスパンが定められる。たとえば、解析木のあるノードが仮定辞書データ構造の仮定用語またはフレーズと一致するとき、その一致する仮定用語またはフレーズによってルート化されたサブツリーは仮定と注釈を付けられてもよい。例示的実施形態の機構によって実現されるアプローチは、たとえば仮定用語/フレーズの異なる辞書または更新された辞書などによって、過去に見られなかった場合に対する調整を行うことが容易である。
【0013】
例示的実施形態は、医学テキストの自然言語処理が行われる治療推奨システムのバックエンド部分において動作してもよい。バックエンド・システムにおいては、本開示の1つ以上の例示的実施形態を実施する1つ以上のモデルを含むいくつかの自然言語処理モデルを用いて、医学テキストを分析できる。こうした分析の結果は注釈付きの医学テキストのセットであり、これは機械学習と、特定の患者の治療推奨を提供するための特定の患者EMRに対する実際の適用との両方に関して、治療推奨コグニティブ・システムによって使用されてもよい。
【0014】
例示的実施形態のさまざまな態様のより詳細な考察を始める前に、この説明全体にわたり、「機構」という用語はさまざまな動作および機能などを行う本開示の構成要素を示すために用いられることが最初に認識されるべきである。本明細書において「機構」という用語が用いられるとき、それは装置、手順、またはコンピュータ・プログラム製品の形の例示的実施形態の機能または態様の実現であってもよい。手順の場合、その手順は1つ以上のデバイス、装置、コンピュータ、またはデータ処理システムなどによって実施される。コンピュータ・プログラム製品の場合、そのコンピュータ・プログラム製品の中または上で具現化されるコンピュータ・コードまたは命令によって表されるロジックは、特定の「機構」に関連する機能を実現するか、または動作を行うために1つ以上のハードウェア・デバイスによって実行される。よって、本明細書に記載される機構は、専門ハードウェア、汎用目的のハードウェアにおいて実行されるソフトウェア、専門もしくは汎用目的のハードウェアによって命令が容易に実行可能であるように媒体に記憶されたソフトウェア命令、機能を実行するための手順もしくは方法、または上記のいずれかの組み合わせとして実現されてもよい。
【0015】
本開示および請求項は、例示的実施形態の特定の特徴および構成要素に関して「1つの(a)」、「少なくとも1つの(at least one of)」、および「1つ以上の(one or more of)」という用語を用いることがある。これらの用語およびフレーズは、特定の例示的実施形態にその特定の特徴または構成要素が少なくとも1つ存在するが、2つ以上が存在することもあり得ることを述べることが意図されていることが認識されるべきである。すなわち、これらの用語/フレーズは、記載または請求項を単一の特徴/構成要素が存在するものに限定することも、こうした特徴/構成要素が複数存在することを要求することも意図していない。反対に、これらの用語/フレーズは少なくとも単一の特徴/構成要素のみを要求しており、複数のこうした特徴/構成要素も記載および請求項の範囲内である可能性を有している。
【0016】
さらに、本開示の実施形態および特徴の説明に関して本明細書において用いられるときの「エンジン」という用語の使用は、そのエンジンに起因するか、もしくはそれによって行われるか、またはその両方である動作、ステップ、プロセスなどの達成もしくは実行またはその両方に対する任意の特定の実施を限定することを意図していないことが認識されるべきである。エンジンはソフトウェア、ハードウェア、もしくはファームウェア、またはその任意の組み合わせであってもよいがそれに限定されず、それは汎用もしくは専門またはその両方のプロセッサと、機械可読メモリにロードまたは記憶されてそのプロセッサによって実行される適切なソフトウェアとの組み合わせの任意の使用を含むが、それに限定されない指定された機能を行う。さらに、特定のエンジンに関連する任意の名称は、別様に指定されない限り、参照の便宜の目的のものであって、特定の実施に限定することは意図されていない。加えて、エンジンに帰する任意の機能は、同じかまたは異なるタイプの別のエンジンの機能に組み込まれるか、もしくはそれと組み合わされるか、またはその両方で、あるいはさまざまな構成の1つ以上のエンジンに分散されて、複数のエンジンによって同等に行われてもよい。
【0017】
加えて、例示的実施形態の実施の例をさらに示すため、および例示的実施形態の機構の理解を助けるために、以下の開示は例示的実施形態のさまざまな構成要素に対して複数のさまざまな例を用いていることが認識されるべきである。これらの例は非限定的であることが意図されており、かつ例示的実施形態の機構を実現するためのさまざまな可能性を網羅するものではない。本開示に鑑みて、本発明の思想および範囲から逸脱することなく、本明細書に提供される例に加えて、またはそれと置き換わって使用され得る、これらのさまざまな構成要素に対する多くの他の代替的実施が存在することが当業者に明らかになるだろう。
【0018】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を行わせるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含んでもよい。
【0019】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、リード・オンリ・メモリ(ROM:read-only memory)、消去可能プログラマブル・リード・オンリ・メモリ(erasable programmable read-only memory)(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読記憶媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号のものであると解釈されるべきではない。
【0020】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはその組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0021】
本発明の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または1つ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばSmalltalk、またはC++など、および手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0022】
本明細書においては、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実現され得ることが理解されるだろう。
【0023】
これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイス、またはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読記憶媒体にも記憶されることによって、命令が記憶されたコンピュータ可読記憶媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実現する命令を含む製造物を含んでもよい。
【0024】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現してもよい。
【0025】
図面における流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能(単数または複数)を実現するための1つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよいし、関与する機能によってはこれらのブロックがときに逆の順序で実行されてもよい。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能または動作を行うか、特定目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。
【0026】
上記のとおり、本開示は、医学テキストを分析して、テキストの仮定部分とテキストの事実部分とを区別し、さらにテキストのこうした部分に注釈を付けて、機械学習もしくは治療推奨動作またはその両方を行うときの治療推奨コグニティブ・システムによるさらなる検討にこれらの部分が含まれるか、または除外され得るようにするための機構を提供する。例示的実施形態の機構は、システムによって依拠されるべきでない事実である可能性があるもの(すなわち仮定)とは対照的な、実際の事実を示すものとしてシステムが正確に依拠できる部分をシステムに通知することによって、治療推奨コグニティブ・システムの精度を改善する。このやり方で、治療推奨コグニティブ・システムは自身の最終的な治療推奨を事実事象に基づかせることができ、医学テキストの仮定部分に誤って影響されなくなる。
【0027】
例示的実施形態の機構は、特別に構築された辞書データ構造のセットと、解析木データ構造との両方の使用を伴うハイブリッド・アプローチを使用する。特別に構築された辞書データ構造のセットは、コンテンツの仮定部分を示す用語またはフレーズを指定する仮定辞書データ構造のセットを含み、仮定辞書データ構造のセットにおけるこれらの用語またはフレーズは、本明細書において「無視トリガ」と呼ばれる。特別に構築された辞書データ構造のセットはさらに、コンテンツの事実部分を示す用語またはフレーズを指定する事実辞書データ構造のセットを含み、事実辞書データ構造のセットにおけるこれらの用語またはフレーズは、本明細書において「確定トリガ」と呼ばれる。無視トリガおよび確定トリガは、解析木から得られるテキスト・コンテンツ(例、ドキュメント、パラグラフ、センテンス、フレーズなど)の一部分の系統的な図と組み合わされることによって、より一般化可能なアプローチを可能にする。
【0028】
無視および確定トリガと解析木との組み合わせによって、解析木の一部分をコンテンツの仮定部分、本明細書において「仮定スパン」とも呼ばれるものに相当するものとして識別し、解析木の他の部分をコンテンツの事実部分、本明細書において「事実スパン」とも呼ばれるものに関連するものとして識別することが可能になる。これらのさまざまなスパンは、コンテンツのこれらの部分に関連するメタデータにおいてそれぞれ仮定または事実と注釈を付けられてもよい。コンテンツの注釈付きのスパンまたは部分は、次いで治療推奨コグニティブ・システムによって処理されることで、仮定スパンに相当するコンテンツの部分が無視されてもよい(例、コンテンツのこれらの部分に0の重み付けが適用されてもよいし、医療専門家の計画としての仮定スパン内の情報に他の評価を与えるためのロジックが提供されてもよい)。いくつかの例示的実施形態において、仮定スパン内に含まれる注釈を除去することによって枝刈りされた解析木が生成されてもよく、それが治療推奨コグニティブ・システムに自身の治療推奨コグニティブ動作の実行に用いるために提供される。さらに他の例示的実施形態においては、仮定スパンに0の重みを与えたり、これらのスパンを解析木から枝刈りしたりする代わりに、これらのスパンの内側の注釈に対して、事実スパン内の注釈よりも相対的に低い重みを与えることで、仮定スパンからいくらかの影響が与えられることをなおも可能にしながらも、仮定スパンを相対的により低く重み付けすることによってそれらの影響を軽減してもよい。
【0029】
よって、コンテンツのこれらの部分が、治療推奨コグニティブ・システムの治療推奨を基づかせ得るエビデンスを表すものと治療推奨コグニティブ・システムにみなされることによって、誤った治療推奨を生成し得ることはなく、代わりに治療推奨コグニティブ・システムはこれらの部分を患者に関連する事実を示すものではないと認識してもよい。むしろこれらの部分は、患者の現在の状態を示すものではなく、依拠できないか、またはより低い信頼性を伴って依拠され得る、事実であり得るものとみなされる。これに対して、いくつかの例示的実施形態において、治療推奨コグニティブ・システムは事実スパンに相当するコンテンツの部分のみに対してその動作を行う。他の例示的実施形態において、仮定スパンはなおも検討されてもよいが、これらの仮定スパンから得られる情報に対して他の事実スパンよりも相対的に低い重みまたは重要性を与えることによって、それらの信用性が相対的に低いことが定量化されてもよい。
【0030】
例示的実施形態は、多くの異なるタイプのデータ処理環境において使用されてもよい。例示的実施形態の特定の構成要素および機能の説明のための状況を提供するために、以後は例示的実施形態の態様が実現され得る環境の例として図1~3が提供される。当然のことながら図1~3は単なる例であり、本発明の態様または実施形態が実現され得る環境に関する任意の限定を主張または暗示することは意図されていない。本発明の思想および範囲から逸脱することなく、示される環境に対する多くの修正が行われてもよい。
【0031】
図1~3は、ヘルスケア・アプリケーションに対するコグニティブ・システム(本明細書においては「ヘルスケア・コグニティブ・システム」とも呼ばれる)の例を説明するためのものであり、このコグニティブ・システムは、たとえば質問応答(QA:Question Answering)パイプライン(質問/応答パイプラインまたは質問および応答パイプラインとも呼ばれる)、要求処理法、および要求処理コンピュータ・プログラム製品などの要求処理パイプラインを実現し、それによって例示的実施形態の機構が実現される。これらの要求は、構造化または非構造化要求メッセージ、自然言語質問、またはヘルスケア・コグニティブ・システムが動作を行うことを要求するための任意のその他の好適なフォーマットとして提供されてもよい。以後により詳細に説明するとおり、本発明の実施形態のコグニティブ・システムの例において実現される特定のヘルスケア・アプリケーションは、治療推奨を提供するためのヘルスケア・アプリケーションであり、よって本明細書においてヘルスケア・コグニティブ・システムは治療推奨コグニティブ・システムと呼ばれることもある。
【0032】
当然のことながら、ヘルスケア・コグニティブ・システムは以後の例において単一の要求処理パイプラインを有するものとして示されているが、実際には複数の要求処理パイプラインを有してもよい。所望の実施によって、各要求処理パイプラインは、異なるドメインに関連する要求を処理するように別々にトレーニングもしくは構成されるか、またはその両方であってもよいし、あるいは入力要求(またはQAパイプラインを用いた実施における質問)に対して同じかまたは異なる分析を行うように構成されてもよい。たとえば、いくつかの場合には、第1の要求処理パイプラインは第1の医療疾患ドメイン(例、さまざまなタイプの血液疾患)に向けられた入力要求に対して動作するようにトレーニングされてもよく、一方で別の要求処理パイプラインは別の医療疾患ドメイン(例、さまざまなタイプの癌)における入力要求に応答するようにトレーニングされてもよい。他の場合には、たとえば複数の要求処理パイプラインが異なるタイプのコグニティブ機能を提供するか、または異なるタイプのヘルスケア・アプリケーションを支援するように構成されてもよく、たとえば1つの要求処理パイプラインは患者の診断に用いられ、別の要求処理パイプラインは治療推奨のために構成され、別の要求処理パイプラインは患者のモニタリングのために構成されるなどしてもよい。
【0033】
さらに、各要求処理パイプラインは独自の関連する単数または複数のコーパスを有して、それを取り込んで動作してもよい(例、上記の例において、1つのコーパスは血液疾患ドメイン・ドキュメントに対するものであり、別のコーパスは癌診断ドメイン関連ドキュメントに対するものである)。いくつかの場合に、要求処理パイプラインの各々は入力質問の同じドメインに対して動作してもよいが、異なる構成(例、異なる分析および可能な応答が生成されるような、異なるアノテータまたは異なるトレーニングを受けたアノテータ)を有してもよい。ヘルスケア・コグニティブ・システムは、たとえば入力要求の定められたドメインなどに基づいて入力質問を適切な要求処理パイプラインにルーティングし、複数の要求処理パイプラインが行った処理によって生成された最終結果を組み合わせて評価するための付加的なロジック、ならびに複数の要求処理パイプラインの使用を促進するその他の制御および相互作用ロジックを提供してもよい。
【0034】
上記のとおり、例示的実施形態の機構が使用され得る要求処理パイプラインの1つのタイプは、質問応答(QA)パイプラインである。以後の本発明の実施形態例の説明は、1つ以上の例示的実施形態による機構を含むように増強され得る要求処理パイプラインの例として、QAパイプラインを使用する。当然のことながら、本発明の実施形態は入力質問に対して動作する1つ以上のQAパイプラインを実現するコグニティブ・システムの状況において説明されることとなるが、例示的実施形態はこれに限定されない。代わりに、例示的実施形態の機構は、「質問」としてもたらされたものではなく、コグニティブ・システムが関連する単数または複数のコーパスと、コグニティブ・システムを構成するために用いられる特定の構成情報とを用いて入力データの指定されたセットに対するコグニティブ動作を行うための要求としてフォーマットされた要求に対して動作してもよい。たとえば、「患者Pにどの診断が当てはまるか?」という自然言語質問を行う代わりに、コグニティブ・システムは「患者Pに対する診断を生成する」などの要求を受信してもよい。当然のことながら、QAシステム・パイプラインの機構は、わずかな修正によって入力自然言語質問と類似の方式で要求に対して動作してもよい。いくつかの場合には、もし特定の実施のために所望であれば、QAシステム・パイプラインによる処理のために要求が自然言語質問に変換されてもよい。
【0035】
以後により詳細に考察されるとおり、例示的実施形態は、取り込まれた医学テキストに注釈を付けて、これらの取り込まれた医学テキストに対する動作を行うことに関して、ヘルスケア・コグニティブ・システムのこれらのQAパイプライン(または要求処理パイプライン)機構の機能に統合されて、それを増強および拡張してもよい。これによって、医学テキストの仮定部分と医学テキストの事実部分とを区別するヘルスケア・ベースの動作が行われ得る。特に、いくつかの例示的実施形態において、医学テキストは患者EMRを含んでもよく、ヘルスケア・ベースの動作は患者のEMRに基づいて治療推奨を提供することを含んでもよい。このやり方で、ヘルスケア・コグニティブ・システムは、治療推奨に向けられた意思決定支援システムを提供する。
【0036】
上記に鑑みて、例示的実施形態の機構がどのようにしてこうしたコグニティブ・システムおよび要求処理パイプラインまたはQAパイプラインの機構に統合されてそれを増強するのかを説明する前に、最初にコグニティブ・システム、ならびにQAパイプラインを実現するコグニティブ・システムにおける質問および応答作成がどのように実施されるのかを理解することが重要である。当然のことながら、図1~3に記載される機構は単なる例であり、例示的実施形態が実現されるコグニティブ・システム機構のタイプに関する任意の限定を記述または暗示することは意図されていない。本発明の思想および範囲から逸脱することなく、本発明のさまざまな実施形態において、図1~3に示されるコグニティブ・システムの例に対する多くの修正が実施されてもよい。
【0037】
概要として、コグニティブ・システムとは、人間の認知機能を模倣するためのハードウェアもしくはソフトウェア・ロジック(ソフトウェアが実行されるハードウェア・ロジックとの組み合わせ)またはその両方によって構成される専門コンピュータ・システム、またはコンピュータ・システムのセットである。これらのコグニティブ・システムは、アイデアの伝達および操作に人間と同様の特徴を適用し、それがデジタル・コンピューティング固有の強みと組み合わされると、大規模なものに対して高い精度およびレジリエンスによって問題を解決できる。コグニティブ・システムは、人間の思考プロセスに近く、かつ人々と機械とがより自然な方式で対話することを可能にするような1つ以上のコンピュータに実現されるコグニティブ動作を行うことで、人間の技能および認知力を拡張および拡大する。コグニティブ・システムは、たとえば自然言語処理(NLP)ベースのロジックなどの人工知能ロジック、および機械学習ロジックを含み、これは専門ハードウェア、ハードウェアにおいて実行されるソフトウェア、または専門ハードウェアとハードウェアにおいて実行されるソフトウェアとの任意の組み合わせとして提供されてもよい。コグニティブ・システムのロジックはコグニティブ動作(単数または複数)を実現し、その例は質問応答、コーパスのコンテンツの異なる部分にある関連概念の識別、たとえばインターネット・ウェブ・ページ・サーチなどのインテリジェント・サーチ・アルゴリズム、医療診断および治療推奨、およびその他のタイプの推奨生成(例、特定のユーザが関心をもつ事項、または可能な新たなコンタクトの推奨など)を含むが、それに限定されない。
【0038】
IBM Watson(IBM社の登録商標)はこうしたコグニティブ・システムの一例であり、これは人間が読み得る言語を処理して、人間と同様の高い精度で人間よりもずっと高速および大規模にテキスト・パッセージ間の推測の識別を行うことができる。一般的に、こうしたコグニティブ・システムは以下の機能の1つ以上を行うことができるが、これに限定されない。
人間の言語および理解の複雑さをナビゲートすること、
膨大な量の構造化および非構造化データを取り込んで処理すること、
仮説を生成して評価すること、
関連エビデンスのみに基づく応答を計量および評価すること、
状況特定的なアドバイス、洞察、およびガイダンスを提供すること、
機械学習プロセスを通じた各反復および相互作用によって知識を改善して学習すること、
衝撃点における意思決定を可能にすること(例、コンテキスト・ガイダンス)、
タスクに比例したスケールにすること、
人間の技能および認知力を拡張および拡大すること、
自然言語から共鳴する人間同様の属性および特徴を識別すること、
自然言語からさまざまな言語に特定的であるかまたは言語に依存しない属性を推測すること、
高度の関連性によって、データ・ポイント(画像、テキスト、音声)から再収集すること(例、記憶および回収)、
経験に基づく人間の認知力を模倣した状況認識によって予測および感知すること、ならびに
自然言語および特定のエビデンスに基づいて質問に応答すること。
【0039】
1つの態様において、コグニティブ・システムは、質問応答パイプラインまたはシステム(QAシステム)を用いてこれらのコグニティブ・システムにもたらされた質問に応答するか、もしくは自然言語質問としてもたらされてももたらされなくてもよい要求を処理するか、またはその両方を行うための機構を提供する。QAパイプラインまたはシステムは、自然言語で提供される所与の主題ドメインに関連する質問に応答する、データ処理ハードウェアにおいて実行される人工知能アプリケーションである。QAパイプラインは、ネットワークを通じた入力、電子ドキュメントまたはその他のデータのコーパス、コンテンツ・クリエータからのデータ、1人以上のコンテンツ・ユーザからの情報、および入力のその他の可能なソースからのその他のこうした入力を含むさまざまなソースからの入力を受信する。データ・ストレージ・デバイスは、データのコーパスを記憶する。コンテンツ・クリエータは、QAパイプラインによってデータのコーパスの一部として用いるためのドキュメントのコンテンツを作成する。ドキュメントは、QAシステムにおいて用いるための任意のファイル、テキスト、記事、またはデータのソースを含んでもよい。たとえば、QAパイプラインはドメインまたは主題エリア(例、金融ドメイン、医療ドメイン、法律ドメインなど)に関する知識の本体にアクセスし、この知識の本体(ナレッジ・ベース)はさまざまな構成で組織化され得る(例、たとえばオントロジなどのドメイン特定的情報の構造化リポジトリ、またはドメインに関する非構造化データ、またはドメインに関する自然言語ドキュメントの集合体)。
【0040】
コンテンツ・ユーザは、QAパイプラインを実現するコグニティブ・システムに質問を入力する。次いでQAパイプラインは、データのコーパスのコンテンツを用いて、ドキュメント、ドキュメントのセクション、またはコーパス内のデータの一部分などを評価することによって、入力質問に応答する。プロセスがドキュメントの所与のセクションの意味内容を評価するとき、プロセスはさまざまな従来法を用いてQAパイプラインからこうしたドキュメントのクエリを行い得る(例、適格な質問としてQAパイプラインにクエリを送信し、次いでその質問がQAパイプラインによって解釈され、質問に対する1つ以上の回答を含む応答が提供される)。意味内容とは、たとえば単語、フレーズ、記号、および符号などの記号表記の間の関係、ならびにそれらが表すもの、それらの明示的意味、または暗示的意味に基づくコンテンツである。言い換えると、意味内容とは、たとえば自然言語処理などを用いることによって表現を解釈したコンテンツである。
【0041】
以後により詳細に説明するとおり、QAパイプラインは入力質問を受信し、質問を解析して質問の主要な特徴を抽出し、抽出した特徴を用いてクエリを構築し、次いでデータのコーパスにそれらのクエリを適用する。データのコーパスに対するクエリの適用に基づいて、QAパイプラインはデータのコーパスを見渡して入力質問に対する有益な応答を含む何らかの可能性を有するデータのコーパスの部分を探すことによって、入力質問に対する仮説のセットまたは候補応答を生成する。次いでQAパイプラインはさまざまな推論アルゴリズムを用いて、入力質問の言語と、クエリの適用の際に見出されたデータのコーパスの各部分に用いられる言語とに対するディープ分析を行う。適用される推論アルゴリズムは何百または何千もあってもよく、その各々が異なる分析(例、比較、自然言語分析、または字句分析など)を行って、スコアを生成する。たとえば、いくつかの推論アルゴリズムは、入力質問とデータのコーパスの見出された部分との言語における用語および同義語の一致を見てもよい。他の推論アルゴリズムは言語の中の時間または空間的な特徴を見てもよく、他のものはデータのコーパスの部分のソースを評価してその真実性を評価してもよい。
【0042】
さまざまな推論アルゴリズムから得られるスコアは、その推論アルゴリズムの特定の焦点エリアに基づいて、可能な応答がどの程度まで入力質問によって推測されるかを示す。各結果スコアは、次いで統計モデルに対して重み付けされる。統計モデルは、QAパイプラインのトレーニング期間中に特定のドメインに対する2つの類似のパッセージ間の推測の確立において、その推論アルゴリズムがどれほど良好に行われたかを捉えるものである。統計モデルは、可能な応答(すなわち候補応答)が質問によって推測されるというエビデンスに関してQAパイプラインが有する信頼性のレベルを集約するために用いられる。QAパイプラインが他の応答よりも有意に強いことが明らかになった候補応答を識別することによって、入力質問に対する最終応答または応答のランク付きのセットを生成するまで、各々の候補応答に対してこのプロセスが繰り返される。
【0043】
上述のとおり、QAパイプライン機構は、データのコーパスからの情報または情報(コンテンツのコーパスとも呼ばれる)にアクセスし、それを分析し、次いでこのデータの分析に基づいて応答結果を生成することによって動作する。データのコーパスからの情報にアクセスすることは通常、構造化された記録の集合体の中に何があるかに関する質問に応答するデータベース・クエリと、非構造化データ(テキスト、マークアップ言語など)の集合体に対するクエリに応答してドキュメント・リンクの集合体を導出するサーチとを含む。従来の質問応答システムは、データのコーパスおよび入力質問に基づいて応答を生成し、データのコーパスに対する質問の集合体に対する応答を検証し、データのコーパスを用いてデジタル・テキストのエラーを訂正し、可能な応答(すなわち候補応答)のプールから質問に対する応答を選択することができる。
【0044】
たとえば記事の著者、電子ドキュメント・クリエータ、ウェブ・ページの著者、およびドキュメント・データベース・クリエータなどのコンテンツ・クリエータは、自身のコンテンツを書く前に、こうしたコンテンツに記載される製品、ソリューション、およびサービスに対する使用事例を定める。結果的に、コンテンツ・クリエータはそのコンテンツが向けられる特定のトピックにおいて、そのコンテンツが何の質問に応答することが意図されるかを知っている。データのコーパスの各ドキュメントにおける質問を(たとえばその質問に関連する役割、情報のタイプ、またはタスクなどによって)分類することによって、QAパイプラインは特定のクエリに関するコンテンツを含むドキュメントをより迅速かつ効率的に識別することができる。コンテンツは、コンテンツ・ユーザにとって有用であり得るコンテンツ・クリエータが予期しなかったその他の質問にも応答することがある。質問および応答は、所与のドキュメントに対するコンテンツに含まれるようにコンテンツ・クリエータによって検証されてもよい。これらの能力は、QAパイプラインの精度、システム・パフォーマンス、機械学習、および信頼性の改善に寄与する。コンテンツ・クリエータまたは自動ツールなどは、コンテンツのこれらの質問および応答の属性を識別するためにQAパイプラインによって使用可能な情報を提供するために注釈を付けるか、別様にメタデータを生成する。
【0045】
こうしたコンテンツに対して動作するQAパイプラインは、最も可能性の高い応答(すなわち、入力質問に対する候補応答)を識別するためにコンテンツを評価する複数の集中分析機構を用いて、入力質問に対する応答を生成する。最も可能性の高い応答は、候補応答の評価の際に算出されたそれらの相対的スコアまたは信頼尺度によってランク付けされた候補応答のランク付きリストとして出力されるか、最高のランキング・スコアもしくは信頼尺度を有するかまたは入力質問に最もよく適合する単一の最終応答として出力されるか、あるいはランク付きリストと最終応答との組み合わせとして出力される。
【0046】
図1は、コンピュータ・ネットワーク102において、いくつかの実施形態においては質問応答(QA)パイプラインであり得る要求処理パイプライン108を実現するコグニティブ・システム100の1つの例示的実施形態の概略図を示している。本開示の目的のために、要求処理パイプライン108は、入力質問の形の構造化もしくは非構造化要求またはその両方に対して動作するQAパイプラインとして実現されるものと想定する。コグニティブ・システム100は、コンピュータ・ネットワーク102に接続された1つ以上のコンピュータ・デバイス104(1つ以上のプロセッサおよび1つ以上のメモリ、ならびにおそらくは当該技術分野において一般的に公知である、バス、ストレージ・デバイス、および通信インターフェースなどを含む任意のその他のコンピュータ・デバイス構成要素を含む)において実現される。ネットワーク102は複数のコンピュータ・デバイス104を含み、それらのコンピュータ・デバイス104は1つ以上の有線もしくは無線またはその両方のデータ通信リンクを介して互いに通信し、かつ他のデバイスまたはコンポーネントと通信し、各通信リンクはワイヤ、ルータ、スイッチ、送信機、または受信機などのうちの1つ以上を含む。コグニティブ・システム100およびネットワーク102は、1人以上のコグニティブ・システム・ユーザに対するそれぞれのコンピュータ・デバイス110~112を介した質問処理および応答生成(QA)機能を可能にする。本明細書に示されるもの以外のコンポーネント、システム、サブシステム、もしくはデバイス、またはその組み合わせとともに、コグニティブ・システム100の他の実施形態が用いられてもよい。
【0047】
コグニティブ・システム100は、さまざまなソースから入力を受信するQAパイプライン108を実現するように構成される。たとえば、コグニティブ・システム100はネットワーク102、電子ドキュメントのコーパス106、コグニティブ・システム・ユーザ(図示せず)、もしくはその他のデータおよびその他の入力ソースであり得るもの、またはその組み合わせから入力を受信する。一実施形態において、コグニティブ・システム100に対する入力のいくつかまたはすべてが、ネットワーク102を通じてルーティングされる。ネットワーク102上のさまざまなコンピュータ・デバイス104は、コンテンツ・クリエータおよびQAシステム・ユーザに対するアクセス・ポイントを含む。コンピュータ・デバイス104のいくつかは、データのコーパス106(単なる例示の目的のために、図1においては別個のエンティティとして示されている)を記憶するデータベースに対するデバイスを含む。データのコーパス106の一部分は、1つ以上の他のネットワークに付加されたストレージ・デバイス、1つ以上のデータベース、または図1に明確に示されていない他のコンピュータ・デバイスにおいても提供されてもよい。さまざまな実施形態において、ネットワーク102はローカル・ネットワーク接続およびリモート接続を含むことによって、コグニティブ・システム100はローカルおよびグローバル(例、インターネット)を含む任意のサイズの環境で動作してもよい。
【0048】
一実施形態において、コンテンツ・クリエータは、コグニティブ・システム100によってデータのコーパスの一部として用いるためのデータのコーパス106のドキュメントのコンテンツを作成する。ドキュメントは、コグニティブ・システム100において用いるための任意のファイル、テキスト、記事、またはデータのソースを含む。QAシステム・ユーザは、ネットワーク接続またはネットワーク102に対するインターネット接続を介してコグニティブ・システム100にアクセスし、コグニティブ・システム100に質問を入力し、その質問はデータのコーパス106のコンテンツによって応答される。一実施形態において、質問は自然言語を用いて形成される。コグニティブ・システム100はQAパイプライン108を介して質問を解析および解釈し、質問に対する1つ以上の回答を含む応答を(例、コグニティブ・システム・ユーザ・デバイス110を介して)コグニティブ・システム・ユーザに提供する。いくつかの実施形態において、コグニティブ・システム100は候補応答のランク付きリストにおいてユーザに応答を提供し、他の例示的実施形態においては、コグニティブ・システム100は単一の最終応答か、または最終応答と他の候補応答のランク付きリストとの組み合わせを提供する。
【0049】
コグニティブ・システム100はQAパイプライン108を実現し、QAパイプライン108は、入力質問およびデータのコーパス106を処理するための複数のステージを含む。QAパイプライン108は、入力質問およびデータのコーパス106の処理に基づいて、入力質問に対する応答を生成する。以後に、図3に関してQAパイプライン108をさらに詳細に説明する。
【0050】
いくつかの例示的実施形態において、コグニティブ・システム100は、アーモンク(Armonk)、ニューヨーク(New York)のインターナショナル・ビジネス・マシーンズ社(International Business Machines Corporation)より入手可能なIBM Watson(IBM社の登録商標)コグニティブ・システムであってもよく、これは以後に説明される例示的実施形態の機構によって増強される。前に概説したとおり、IBM Watson(IBM社の登録商標)コグニティブ・システムのQAパイプラインは入力質問を受信し、次いでそれを解析して質問の主要な特徴を抽出し、次いでそれを用いてデータのコーパスに適用されるクエリを構築する。データのコーパスに対するクエリの適用に基づいて、データのコーパスを見渡して入力質問に対する有益な応答を含む何らかの可能性を有するデータのコーパスの部分を探すことによって、入力質問に対する仮説のセットまたは候補応答が生成される。次いで、IBM Watson(IBM社の登録商標)コグニティブ・システムのQAパイプラインはさまざまな推論アルゴリズムを用いて、入力質問の言語と、クエリの適用の際に見出されたデータのコーパスの各部分に用いられる言語とに対するディープ分析を行う。
【0051】
次いで、さまざまな推論アルゴリズムから得られたスコアは統計モデルに対して重み付けされ、この統計モデルは、可能な応答(すなわち候補応答)が質問によって推測されるというエビデンスに関してIBM Watson(IBM社の登録商標)コグニティブ・システムのQAパイプラインが有する信頼性のレベルを集約するものである。各々の候補応答に対してこのプロセスが繰り返されて候補応答のランク付きリストが生成され、次いでそのランク付きリストが入力質問を提出したユーザに提供されてもよいし、ランク付きリストから最終応答が選択されてユーザに提供されてもよい。たとえばIBM社のウェブサイトであるIBM Redbooks(IBM社の登録商標)などから、IBM Watson(IBM社の登録商標)コグニティブ・システムのQAパイプラインに関するさらなる情報が得られてもよい。たとえば、IBM Watson(IBM社の登録商標)コグニティブ・システムのQAパイプラインに関する情報は、Yuanらの「Watson and Healthcare」、IBM developerWorks(IBM社の登録商標)、2011、およびRob Highによる「The Era of Cognitive Systems:An Inside Look at IBM Watson and How it Works」、IBM Redbooks(IBM社の登録商標)、2012に見出すことができる。
【0052】
上記のとおり、クライアント・デバイスからコグニティブ・システム100への入力は自然言語質問の形でもたらされてもよいが、例示的実施形態はそれに限定されない。代わりに入力質問は、実際には任意の好適なタイプの要求としてフォーマットまたは構造化されてもよく、それがたとえばIBM Watson(IBM社の登録商標)などのコグニティブ・システムの自然言語解析および分析機構を含むがそれに限定されない構造化もしくは非構造化入力分析またはその両方を用いて解析および分析されて、コグニティブ分析を行うための基礎が定められて、そのコグニティブ分析の結果が提供されてもよい。ヘルスケア・ベースのコグニティブ・システムの場合、この分析は患者EMRおよび1つ以上のコーパスからの医療ガイダンス・ドキュメンテーションなどを処理して、ヘルスケアに向けられたコグニティブ・システムの結果を提供することを伴ってもよい。
【0053】
本開示の状況において、コグニティブ・システム100は、ヘルスケア・ベースの動作を支援するためのコグニティブ機能を提供してもよい。たとえば、特定の実施に依存して、ヘルスケア・ベースの動作は患者の診断、治療推奨システム、医療業務管理システム、個人用の患者のケア・プラン生成およびモニタリング、あるいはたとえば医学的試験または特定のタイプの医学的な治療に対して好適な患者を識別するためなどのさまざまな目的に対する患者EMRの評価などを含んでもよい。よって、コグニティブ・システム100はヘルスケア・コグニティブ・システム100であってもよく、それは医療またはヘルスケア・タイプのドメインにおいて動作し、かつ構造化もしくは非構造化要求、または自然言語入力質問などとしての要求処理パイプライン108入力を介したこうしたヘルスケア動作に対する要求を処理してもよい。
【0054】
1つの例示的実施形態において、コグニティブ・システム100は治療推奨システムであり、それは患者のEMRを医療ガイドラインおよび情報の単数または複数のコーパスにおけるその他の医療ドキュメンテーションに関して分析して、患者の医療疾患または状態をどのように治療するかに関する治療推奨を生成する。他の例示的実施形態において、ドメインは司法ドメインであってもよく、コグニティブ・システム100は訴訟事例および法律テキストに関する仮定および事実ステートメントのコグニティブ分析を提供してもよい。たとえば、コグニティブ・システム100は被害者、証人、または告訴の記録、およびステートメントなどにおける仮定の区別に基づいて、推奨を提供してもよい。たとえば、「被害者の電話は車内にあった。被害者が彼女の電話を車内に置いたと考えられる」というステートメントが例示的実施形態の機構を用いて分析されて、被害者の電話は車内にあったという事実と、被害者の彼自身/彼女自身が実際に電話を車内に置いたという仮定とが区別されてもよい。次いで、事実部分と仮定部分との区別に基づいて、推奨またはその他のコグニティブもしくはアルゴリズム動作が行われてもよい。
【0055】
図1に示されるとおり、再び治療推奨コグニティブ・システムの実施を参照すると、コグニティブ・システム100は例示的実施形態の機構によって、医学テキスト取り込みエンジン120を実現するために、専門ハードウェア、ハードウェアにおいて実行されるソフトウェア、または専門ハードウェアとハードウェアにおいて実行されるソフトウェアとの任意の組み合わせにおいて実現されるロジックを含むことによってさらに増強され、これはたとえばサーバ104などを用いて達成され得る。医学テキスト取り込みエンジン120自体が解析木エンジン122、仮定スパン・アナライザ124、および医学テキスト・アノテータ126を実現する。さらに、以後に説明されるとおり、仮定スパン・アナライザ124は、解析木内の仮定および事実スパンを識別するために仮定スパン・アナライザ124が使用する関連の仮定辞書データ構造127と、事実辞書データ構造128とを有する。
【0056】
医学テキスト取り込みエンジン120は、コーパス130に存在する任意の医学テキスト・コンテンツに対して動作してもよく、この医学テキストに動作して取り込み動作の一部として医学テキストに注釈を付ける。取り込み動作は、コグニティブ・システム100がたとえばパイプライン108を使用したヘルスケア・ベースのコグニティブ動作などの自身のコグニティブ動作を行うときに用いるための、医学テキストのメモリ内表現を生成する。これらの医学テキストは、医療ガイドライン・ドキュメント、医療方針説明書、健康保険ガイドライン、あるいは事実もしくは仮定ステートメントまたはその両方が存在し得る任意のその他の医学的情報を含んでもよい。いくつかの例示的実施形態において、コーパス130内の医学テキストは、1人以上の患者に対する患者EMRが記憶された患者レジストリを含んでもよい。これらの患者EMRは、医師が生成したEMR、機関が生成したEMR(たとえば医療業務、病院、緊急治療施設などからのもの)、薬局が生成した記録、および医学研究所の記録などを含む、患者に対する医学的情報のさまざまな異なるソースから得られた情報を含んでもよい。この情報はともにコンパイルされて、患者に対するEMRまたは患者に対するEMRのセットにされてもよい。代替的に、この情報は患者の識別子に関連付けられた別個のデータ構造に別々に記憶されてもよい。
【0057】
上記のとおり、医学テキストはコンテンツの事実および仮定部分の両方を含んでもよい。医学テキスト取り込みエンジン120は、たとえば受信した要求に応答するか、または特定の要求の受信前に生じる一般的な取り込み動作の一部として、コーパス130からこうした医学テキストを読出すように動作する。たとえば、コグニティブ・システム100は、指定された患者に対する治療推奨を生成するための要求を受信してもよい。それに応答して、コグニティブ・システム100は、医学テキスト取り込みエンジン120が指定された患者のEMRをコーパス130から取り込むことを要求してもよい。代替的には、医学テキスト取り込みエンジン120の初期化または定期的なプロセスの一部として、コーパス130の患者レジストリ内の複数の患者に対する複数のEMRが取り込まれてもよい。いずれの場合にも、医学テキスト取り込みエンジン120は患者EMRの医学テキストか、または場合によっては他の医学テキストに対して動作して、医学テキストのコンテンツの仮定部分(仮定ステートメントまたはフレーズ)と、コンテンツの事実部分とを区別する。それによって、医学テキストに関連するメタデータに注釈を加えることによって、医学テキストに注釈が付けられる。この注釈付きの医学テキストが医学テキストのメモリ内表現としてコグニティブ・システム100に提供されてもよく、コグニティブ・システム100はそれに対して自身のコグニティブ動作を行ってもよい。
【0058】
注釈付きの医学テキストを生成するために、医学テキストは医学テキスト取り込みエンジン120によってコーパス130から受信または読出しされる。次いで、医学テキストは解析木エンジン122によって、解析木を生成するための論理的解析技術を用いて構文解析される。解析木エンジン122が使用する特定の解析技術にかかわらず、医学テキストの分析に基づいて解析木エンジン122によって生成された、結果として得られる解析木データ構造は、医学テキストのテキスト・コンテンツの一部分(例、医学テキスト中のセンテンス)の構造的表現を提供する。解析木はテキスト・コンテンツの一部分(例、センテンス)の階層的視覚化を提供して、トークン(すなわち、解析木のノードに相当する単語またはフレーズ)間の関係の推測を可能にする。
【0059】
仮定スパン・アナライザ124は、仮定辞書データ構造127(無視トリガ)および事実辞書データ構造128(確定トリガ)において指定された無視トリガまたは確定トリガに一致するトークンについて解析木データ構造をサーチするためのハイブリッド技術を実現する。仮定辞書データ構造127は、仮定ステートメントまたはステートメントの仮定部分を示す、用語およびフレーズを指定する。事実辞書データ構造128は、事実ステートメントまたはステートメントの部分を示す、用語およびフレーズを指定する。再び、仮定とは実際に起こっていない何か、たとえば本当は実際に起こっていない動作、事象、状態もしくは条件の指定、またはその他の起こり得る出来事などを示すものである。他方の事実とは、実際に起こった何か(すなわち事象、動作、状態もしくは条件の指定、または実際に起こったその他のタイプの出来事)のことである。医学テキストの文脈において、仮定はしばしば患者の治療に関連する将来の計画または起こり得る状態/結果に関連しており、それはその後起こることも起こらないこともある。他方で、事実は患者の現在または過去の状態、患者に対して行われた現在または過去の手順、ならびに実際に起こったその他の患者の条件または状態の情報および事象の情報に関連している。
【0060】
たとえば、仮定辞書データ構造127は、無視トリガとして「検討した」という用語を識別するエントリを含んでもよい。すなわち、この例の状況において、たとえば患者のEMRなどの医学テキストにおいて用いられるときの「検討した」という用語は将来起こり得る事象を示すものと定められている。なぜなら、この用語はしばしば、実際にはまだ起こっていない患者の可能な治療または起こり得る条件もしくは状態について医師が患者と検討していることを示すからである(例、「私は乳頭温存乳房切除を行うことについて患者と検討した」)。すなわち、「検討した」という用語のインスタンスは、その「検討した」という用語に関連する医学テキストの部分を無視するためのトリガである。当然のことながら、たとえば「推奨した」、「提案した」、および「計画した」などの無視トリガ用語およびフレーズの大量のセットが仮定を示すものとして識別されてもよく、かつ仮定辞書データ構造127に含まれてもよい。
【0061】
同様に、事実辞書データ構造128は、確定トリガとして「明らかになった」という用語を識別するエントリを含んでもよい。すなわち、この例の状況において、たとえば患者のEMRなどの医学テキストにおいて用いられるときの「明らかになった」という用語は、起こった患者の実際の事象、状態、または条件を示すものと定められている(例、「生検の結果、腫瘍は悪性であることが明らかになった」)。すなわち、「明らかになった」という用語のインスタンスは、医学テキストの部分を事実ステートメントまたはステートメントの事実部分に関連するものとして確定するためのトリガである。当然のことながら、たとえば「結果が得られた(resulted)」、「結果(results)」、および「患者は有する」などの確定トリガ用語およびフレーズの大量のセットが事実ステートメントまたはステートメントの部分を示すものとして識別されてもよく、かつ事実辞書データ構造128に含まれてもよい。
【0062】
仮定スパン・アナライザ124は仮定辞書データ構造127および事実辞書データ構造128を用いて、解析木エンジン122によって生成された解析木データ構造をサーチして、無視トリガまたは確定トリガと一致するノードに関連するトークンの解析木データ構造内のインスタンスを識別する。解析木データ構造において両方のトリガのセットがサーチされ、次いで解析木および一致するノードに基づいて、テキストの対応するスパンが識別される。スパンは、特定のトリガと一致するノードのサブツリーとして識別される。つまり、仮定スパンは、無視トリガと一致するノードに対応する解析木データ構造のサブツリー部分である。事実スパンは、確定トリガと一致するノードに対応する解析木データ構造のサブツリー部分である。仮定スパン内に事実スパンが見出される場合もあり得るが、この場合には仮定スパンから事実スパンを取り出して確定トリガに関連するものとみなすことによって、テキストの事実部分に指定する。仮定スパン・アナライザ124によって行われる動作について、以後により詳細に説明する。
【0063】
仮定スパン・アナライザ124は、解析木エンジン122によって生成された解析木データ構造内の仮定および事実スパンを識別して、この情報を医学テキスト・アノテータ126に提供する。医学テキスト・アノテータ126は、医学テキストのどの部分が仮定ステートメントまたはステートメントの仮定部分に関連し、医学テキストのどの部分が事実ステートメントまたはステートメントの事実部分に関連するかを示す構文解析済の医学テキストのサブツリーに基づいて、仮定スパンを処理して注釈(メタデータ)を作成する。医学テキスト・アノテータ126は、仮定スパンに見出されるタプルと、解析木パターンにおけるそれらの使用の比較とに基づいて、トリガ用語に対する名詞-動詞曖昧性解消を行う。言い換えると、仮定スパン・アナライザ124の出力を医学テキスト・アノテータ126が用いて、仮定スパン内の注釈に対処するやり方を見出す(例、仮定スパンに関連するすべての注釈を無視する、または仮定スパンに関連する注釈を他の注釈に変換するなど)。これらの注釈は、医学テキストに対して動作する他のアノテータが生成した他の注釈に加えて提供されてもよく、かつ医学テキストに関連するメタデータに記憶されてもよい。このメタデータは、別個だが関連するデータ構造として記憶されてもよいし、医学テキスト・コンテンツを収容するデータ構造の一部分として(例、患者EMRデータ構造の一部として)記憶されてもよい。当然のことながら、一旦この動作が患者のEMRデータ構造の一部分に対して行われると、メタデータはEMRデータ構造のどの部分が仮定であり、どの部分が違うかを具体的に識別するため、この動作が再び行われる必要はない。しかし、患者EMRに新たなコンテンツが加えられるか、または辞書127~128に対する変更が行われた場合などには、再び患者EMRに対して例示的実施形態の機構を動作させてもよい。
【0064】
結果として得られた注釈付きの医学テキスト・データ構造は、医学テキストに対するコグニティブ動作の実行に用いるために、コグニティブ・システム100に提供されてもよい。いくつかの例示的実施形態において、これらのコグニティブ動作は仮定/事実注釈を使用して、コグニティブ動作の一部として医学テキストの各部分にどれだけ重み付けするかを定める。たとえば、いくつかの例示的実施形態において、医学テキストのメタデータにおける仮定注釈に関連する医学テキストの部分は、医学テキストのこれらの部分に0の重みを関連付けることによって本質的に無視されてもよく、一方で事実注釈に関連する医学テキストの部分には予め定められた重みが与えられ、この重みは特定の実施に依存して医学テキストの他の態様に対する他の重みによって変更されてもよい。いくつかの例示的実施形態においては、メタデータ自体が医学テキストの枝刈りされた解析木表現を含んでもよく、ここで枝刈りされた解析木は元の解析木に対応するが、テキストの仮定スパンに相当するサブツリーが解析木から除去すなわち枝刈りされており、それによってコグニティブ・システムは自身のコグニティブ動作を行うときに医学テキストのそれらの部分を無視することになる。
【0065】
1つの例示的実施形態において、コグニティブ・システム100によって行われるコグニティブ動作は治療推奨コグニティブ動作であり、これは仮定注釈に関連する医学テキストの部分を無視して、治療推奨を事実注釈に関連する医学テキストの部分か、または特定的に仮定注釈に関連付けられていない部分(例、仮定注釈にも事実注釈にも関連付けられていない、よって不確定である、医学テキストの他の部分)のみに基づかせるものである。
【0066】
当然のことながら、示される実施形態においては仮定および事実辞書データ構造127~128の両方が示されているが、例示的実施形態はその動作を行うために両方のタイプのデータ構造が存在することを必要とするものではない。反対にいくつかの例示的実施形態においては、仮定辞書データ構造127のみが使用されることによって、仮定辞書データ構造127に示されている無視トリガと一致しないか、または無視トリガと一致するノードに関連するサブツリーの一部であるような解析木の任意の部分が、コンテンツの事実部分に関連するとみなされてもよい。よってこの実施形態においては、無視トリガに対するサーチのみが行われ、解析木の他のすべては事実とみなされる。
【0067】
よって例示的実施形態は、テキスト・ステートメントの仮定部分とテキスト・ステートメントの事実部分とを区別するための機構を提供する。この区別に基づいて、テキスト・ステートメントの部分に適切な注釈が適用され、次いでそれはテキストに基づいて行われるコグニティブ動作を修正するために用いられてもよい。特に、テキスト・ステートメントの仮定部分はテキスト・ステートメントの事実部分よりも相対的に低い重みまたは検討を与えられてもよく、場合によってはテキストに対するコグニティブ動作を行うときに完全に無視されてもよい。
【0068】
上記のとおり、本開示はコグニティブ・システムが動作するやり方に特定の改善を提供できる。こうしたコグニティブ・システムは、1つ以上のデータ処理システムまたはコンピュータ・デバイスにおいて実現される。図2は、例示的実施形態の態様が実現されるデータ処理システムの例のブロック図である。データ処理システム200は、たとえば図1のサーバ104またはクライアント110などのコンピュータの例であり、ここには本開示の例示的実施形態に対するプロセスを実現するコンピュータが使用可能なコードまたは命令が置かれている。1つの例示的実施形態において、図2は、以後に説明される例示的実施形態の付加的な機構を含むように増強されたコグニティブ・システムおよびQAシステム・パイプライン(たとえば、図1に示されるコグニティブ・システム100およびQAシステム・パイプライン108など)を実現する、たとえばサーバ104などのサーバ・コンピュータ・デバイスを表している。
【0069】
示される例において、データ処理システム200は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH:North Bridge and Memory Controller Hub)202と、サウス・ブリッジおよび入力/出力(I/O:Input/Output)コントローラ・ハブ(SB/ICH:South Bridge and Input/Output(I/O)Controller Hub)204とを含むハブ・アーキテクチャを使用している。処理ユニット206、メイン・メモリ208、およびグラフィックス・プロセッサ210はNB/MCH202に接続される。グラフィックス・プロセッサ210は、アクセラレーテッド・グラフィックス・ポート(AGP:accelerated graphics port)を通じてNB/MCH202に接続される。
【0070】
示される例において、ローカル・エリア・ネットワーク(LAN)アダプタ212はSB/ICH204に接続する。オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、リード・オンリ・メモリ(ROM)224、ハード・ディスク・ドライブ(HDD:hard disk drive)226、CD-ROMドライブ230、ユニバーサル・シリアル・バス(USB:universal serial bus)ポートおよびその他の通信ポート232、ならびにPCI/PCIeデバイス234は、バス238およびバス240を通じてSB/ICH204に接続する。PCI/PCIeデバイスは、たとえばイーサネット(Ethernet)(R)アダプタ、アドイン・カード、およびノートブック・コンピュータに対するPCカードなどを含んでもよい。PCIはカード・バス・コントローラを用いるのに対し、PCIeは用いない。ROM224は、たとえばフラッシュ基本入力/出力システム(BIOS:basic input/output system)などであってもよい。HDD226およびCD-ROMドライブ230は、バス240を通じてSB/ICH204に接続する。HDD226およびCD-ROMドライブ230は、たとえばインテグレーテッド・ドライブ・エレクトロニクス(IDE:integrated drive electronics)またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA:serial advanced technology attachment)インターフェースなどを用いてもよい。スーパーI/O(SIO:Super I/O)デバイス236は、SB/ICH204に接続される。
【0071】
処理ユニット206において、オペレーティング・システムが実行される。オペレーティング・システムは、図2のデータ処理システム200内のさまざまなコンポーネントを連係させてその制御を提供する。クライアントとしてのオペレーティング・システムは、たとえばマイクロソフト・ウィンドウズ(Microsoft Windows)(R)などの商業的に入手可能なオペレーティング・システムである。たとえばJava(TM)プログラミング・システムなどのオブジェクト指向プログラミング・システムがオペレーティング・システムとともに実行されて、データ処理システム200において実行されるJava(TM)プログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供してもよい。
【0072】
サーバとしてのデータ処理システム200は、たとえばアドバンスト・インタラクティブ・エグゼクティブ(AIX:Advanced Interactive Executive(IBM社の登録商標))オペレーティング・システムまたはLINUX(R)オペレーティング・システムを実行するIBM(登録商標)eServer(IBM社の商標)System p(IBM社の登録商標)コンピュータ・システムなどであってもよい。データ処理システム200は、処理ユニット206に複数のプロセッサを含むシンメトリック・マルチプロセッサ(SMP:symmetric multiprocessor)システムであってもよい。代替的に、シングル・プロセッサ・システムが使用されてもよい。
【0073】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムに対する命令は、たとえばHDD226などのストレージ・デバイスに置かれており、処理ユニット206による実行のためにメイン・メモリ208にロードされる。本発明の例示的実施形態のためのプロセスは、処理ユニット206によってコンピュータが使用可能なプログラム・コードを用いて行われ、このコンピュータが使用可能なプログラム・コードは、たとえばメイン・メモリ208、ROM224などのメモリか、またはたとえば1つ以上の周辺デバイス226および230などに置かれている。
【0074】
たとえば図2に示されるバス238またはバス240などのバス・システムは、1つ以上のバスを含む。もちろんバス・システムは、ファブリックまたはアーキテクチャに付加された異なるコンポーネントまたはデバイスの間のデータの転送を提供する任意のタイプの通信ファブリックまたはアーキテクチャを用いて実現されてもよい。たとえばモデム222またはネットワーク・アダプタ212などの通信ユニットは、データを送信および受信するために用いられる1つ以上のデバイスを含む。メモリは、たとえばメイン・メモリ208、ROM224、またはたとえばNB/MCH202に見出されるものなどのキャッシュなどであってもよい。
【0075】
図1および図2に示されるハードウェアは実施によって変わってもよいことを当業者は認識するだろう。図1および図2に示されるハードウェアに加えて、またはその代わりに、たとえばフラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなどのその他の内部ハードウェアまたは周辺デバイスが用いられてもよい。加えて、本発明の思想および範囲から逸脱することなく、前述のSMPシステム以外のマルチプロセッサ・データ処理システムに例示的実施形態のプロセスが適用されてもよい。
【0076】
さらに、データ処理システム200は、クライアント・コンピュータ・デバイス、サーバ・コンピュータ・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話もしくはその他の通信デバイス、またはパーソナル・デジタル・アシスタント(PDA:personal digital assistant)などを含むいくつかの異なるデータ処理システムのいずれかの形を取ってもよい。いくつかの例示的な実施例において、データ処理システム200は、たとえばオペレーティング・システム・ファイルもしくはユーザ生成データまたはその両方などを記憶するための不揮発性メモリを提供するためのフラッシュ・メモリによって構成されたポータブル・コンピュータ・デバイスであってもよい。本質的に、データ処理システム200はアーキテクチャの限定を有することなく、任意の公知の、または後に開発されるデータ処理システムであってもよい。
【0077】
図3は、1つの例示的実施形態によるヘルスケア・コグニティブ・システムの構成要素の相互作用を示す例示的な図である。図3の例示的な図は、患者に対する治療推奨を提供するように構成されたヘルスケア・コグニティブ・システム300の実現を示している。しかし、当然のことながらこれは単なる実現例であり、ヘルスケア・コグニティブ・システム300の他の実施形態においては他のヘルスケア動作が実現されてもよい。
【0078】
さらに当然のことながら、図3では患者302およびユーザ306を人間の形で示しているが、これらのエンティティとの相互作用およびこれらの間の相互作用はコンピュータ・デバイス、医療機器、もしくはその類似物、またはその組み合わせを用いて行われてもよく、よってエンティティ302および306は実際にはコンピュータ・デバイス(例、クライアント・コンピュータ・デバイス)であってもよい。たとえば、患者302とユーザ306との相互作用304、314、316、および330は口頭で(例、医師が患者と面接する)行われてもよく、かつ情報を収集するために1つ以上の医療機器またはモニタリング・デバイスなどを用いることを伴ってもよく、その情報は患者属性318としてヘルスケア・コグニティブ・システム300に入力されてもよい。ユーザ306とヘルスケア・コグニティブ・システム300との相互作用はユーザ・コンピュータ・デバイス(図示せず)を介した電子的なものとなり、ユーザ・コンピュータ・デバイスはたとえば、1つ以上のデータ通信リンクおよびおそらくは1つ以上のデータ・ネットワークを介してヘルスケア・コグニティブ・システム300と通信する図1のクライアント・コンピュータ・デバイス110または112などである。
【0079】
図3に示されるとおり、1つの例示的実施形態によると、患者302は、たとえばヘルスケア従事者または技術者などのユーザ306に対して、医療疾患または状態の症状304を提供する。ユーザ306は、質問314および応答316の交換を介して患者302と相互作用してもよく、ここでユーザは患者302、症状304、および患者302の医療疾患または状態に関するより多くの情報を集める。当然のことながら、質問/応答は実際には、ユーザ306がさまざまな医療機器(例、血圧モニタ、体温計、たとえばFitBit(R)などの患者に関連付けられたウェアラブルな健康および活動モニタリング・デバイス、ウェアラブル心臓モニタ、または患者302の1つ以上の医学的特徴をモニタし得る任意のその他の医療機器)を用いて患者302からの情報を集めることも表してもよい。いくつかの場合には、こうした医療機器は、観察または治療のために病院のベッドに存在する、患者のバイタル・サインおよび医学的状態をモニタするために病院または医療センタで通常用いられる医療機器であってもよい。
【0080】
応答において、ユーザ302はたとえばクライアント・コンピュータ・デバイスのユーザ・インターフェースなどを介してヘルスケア・コグニティブ・システム300に要求308を提出し、このユーザ・インターフェースは、ユーザが要求をヘルスケア・コグニティブ・システム300が解析および処理できるようなフォーマットでヘルスケア・コグニティブ・システム300に提出できるように構成される。要求308は、患者属性318を識別する情報を含むか、またはそれを伴っていてもよい。これらの患者属性318は、たとえば、患者に対する患者EMR322がそこから読出され得る患者302の識別子、患者に関する人口統計学的情報、症状304、および質問314に対する応答316から得られるその他の関連情報、または患者302の状態に関するデータをモニタまたは収集するために用いられる医療機器から得られる情報などを含んでもよい。ヘルスケア・コグニティブ・システム300による患者のコグニティブ評価に関連し得る患者302に関する任意の情報が、要求308もしくは患者属性318またはその両方に含まれていてもよい。
【0081】
ヘルスケア・コグニティブ・システム300は、実施に特定的なヘルスケアに向けられたコグニティブ動作を行うように具体的に構成されたコグニティブ・システムを提供する。示される例において、このヘルスケアに向けられたコグニティブ動作は、ユーザ306が患者に報告された症状304と、質問314および応答316プロセス、もしくは医療機器モニタリング/データ収集、またはその両方を介して集められた患者302に関するその他の情報とに基づいて患者302を治療することを支援するために、ユーザ306に治療推奨328を提供することに向けられている。ヘルスケア・コグニティブ・システム300は、医学コーパスおよびその他のソース・データ326と、治療ガイダンス・データ324と、患者302に関連する患者EMR322とから集められた情報を使用して、要求308および患者属性318に対して動作することで、1つ以上の治療推奨328を生成する。治療推奨328は関連の支持エビデンスを伴うランク付きの順序で提供されてもよく、この支持エビデンスは患者属性318およびデータ・ソース322~326から得られたものであり、なぜ治療推奨328が提供されたか、およびなぜそのランク付けの方式でランク付けされているのかに関する推論を示している。
【0082】
たとえば、要求308および患者属性318に基づいて、ヘルスケア・コグニティブ・システム300は、たとえば本明細書に記載されるQAパイプラインのタイプの処理を用いることなどによって、要求に対して動作することで要求308および患者属性318を解析して、何が要求されているのか、および患者属性318によって識別される、要求を生成するときに基づかせるべき基準を判定してもよく、かつクエリを生成するためのさまざまな動作を行ってもよく、そのクエリはデータを読出し、候補治療推奨(または入力質問に対する応答)を生成し、かつデータ・ソース322~326に見出される支持エビデンスに基づいてこれらの候補治療推奨にスコア付けするために、データ・ソース322~326に送信される。示される例において、患者EMR322は、さまざまなソース(例、病院、研究所、医院、健康保険会社、薬局など)から患者のデータを収集した患者情報リポジトリである。患者EMR322は、たとえば患者302などの個々の患者に関するさまざまな情報を、ヘルスケア・コグニティブ・システム300がその情報を読出しおよび処理し得るような方式(構造化、非構造化、または構造化および非構造化の混合のフォーマット)で記憶する。この患者情報は、患者に関するさまざまな人口統計学的情報、患者に関する個人的接触情報、雇用情報、健康保険情報、検査報告、来院による医師の報告、病院のカルテ、過去の診断に関する病歴情報、症状、治療、処方情報などを含んでもよい。患者302の識別子に基づいて、この患者リポジトリからの患者の対応EMR322がヘルスケア・コグニティブ・システム300によって読出されて、治療推奨328を生成するためにサーチ/処理されてもよい。
【0083】
治療ガイダンス・データ324は医療知識のナレッジ・ベースを提供し、このナレッジ・ベースは、患者の属性318と患者のEMR322において提示された病歴情報とに基づいて患者に対して可能な治療を識別するために用いられる。この治療ガイダンス・データ324は、医学的権威(例、米国医師会(the American Medical Association))が発行する公式治療ガイドラインおよびポリシーから得られてもよいし、広く受け入れられる医師の医療および参考テキスト(例、the Physician’s Desk Reference)、または保険会社ガイドラインなどから得られてもよい。治療ガイダンス・データ324は、構造化および非構造化フォーマットの両方を含むヘルスケア・コグニティブ・システム300によって取り込まれ得る任意の好適な形で提供されてもよい。
【0084】
いくつかの場合には、こうした治療ガイダンス・データ324は、特定の症状または医療疾患/状態を治療するために対応する治療を特定の患者に適用可能にするために、存在する必要があるか、もしくは存在しない必要があるか、またはその両方の基準を示すルールの形で提供されてもよい。たとえば、治療ガイダンス・データ324は、デシタビンの治療について、こうした治療の使用に対する厳密な基準は、患者302が60歳以下であること、急性骨髄性白血病(AML:acute myeloid leukemia)であること、および心疾患のエビデンスがないことであることを示す治療推奨ルールを含んでもよい。よって、59歳であり、AMLであり、かつ自身の患者属性318または患者EMRに心疾患のエビデンスを示すエビデンスを何ら有さない患者302に対しては、以下の治療ルールの条件が存在する。
年齢<=60歳=59(MET)、
患者はAMLを有する=AML(MET)、および
心疾患=偽(MET)
【0085】
この患者302に関する特定の情報が治療ルールのすべての基準に適合する(met)ため、デシタビンの治療はこの患者302に対して検討される候補治療である。しかし、もし患者が69歳であれば、第1の基準が適合されなくなり、デシタビン治療はこの患者302に対して検討される候補治療ではなくなるだろう。取り込まれた治療ガイダンス・データ324に基づいてヘルスケア・コグニティブ・システム300はさまざまな可能な治療推奨を評価することで、候補治療のサブセットを識別してもよく、この候補治療のサブセットはヘルスケア・コグニティブ・システム300によって、患者EMR322ならびに医学コーパスおよびその他のソース・データ326から得られた証拠データに基づいてこうした候補治療をスコア付けすることによって、さらに検討される。
【0086】
たとえば、データ・マイニング・プロセスを使用してソース322および326のデータをマイニングして、患者の患者属性318およびEMR322によって特徴付けられた特定の患者302に対する候補治療の適用可能性の支持もしくは反論またはその両方を行う証拠データを識別してもよい。たとえば、治療ルールの基準の各々に対して、データ・マイニングの結果は、その基準に「適合する(MET)」場合および基準に「適合しない(NOT MET)」場合にその治療を与えることを支持するエビデンスのセットを提供する。ヘルスケア・コグニティブ・システム300は、さまざまなコグニティブ・ロジック・アルゴリズムによってそのエビデンスを処理して、対応する候補治療推奨が患者302に対して有効であることの信頼性を示す、各候補治療推奨に対する信頼性スコアを生成する。次いで、候補治療推奨はそれらの信頼性スコアに従ってランク付けされて、治療推奨328のランク付きリストとしてユーザ306に提供されてもよい。いくつかの場合には、最高ランクの応答または最終応答のみが治療推奨328として戻される。治療推奨328は、ヘルスケア・コグニティブ・システム300によって評価された基礎エビデンスがたとえばドリルダウン・インターフェースなどを介してアクセス可能にされ得るような方式で、ユーザ306に提供されてもよく、それによってユーザ306はなぜその治療推奨328がヘルスケア・コグニティブ・システム300によって提供されたかという理由を識別してもよい。
【0087】
本明細書の例示的実施形態によると、ヘルスケア・コグニティブ・システム300は、たとえば図1の医学テキスト取り込みエンジン120などであり得る医学テキスト取り込みエンジン340を含むように増強される。医学テキスト取り込みエンジン340は、データのコーパス322~326の1つ以上に対して動作して、それら1つ以上のコーパス322~326を取り込んで、ヘルスケア・コグニティブ・システム300が自身のコグニティブ動作を行うために使用できる医学テキストのメモリ内表現を生成する。取り込み動作は、医学テキストのさまざまな特徴を識別するための医学テキストの分析を含み、その特徴はたとえば、医学テキストにおいて用いられるさまざまな用語およびフレーズの品詞、医学テキスト内の概念のインスタンスを示すオントロジ相関、およびヘルスケア・コグニティブ・システム300が自身のコグニティブ動作を行うために用い得るメタデータ注釈を生成するための医学テキストのその他の注釈などである。コグニティブ・システム取り込み機構に関して一般的に公知であるとおり、コーパス322~326のその他の適切な処理も取り込み動作の一部として実現され得る。
【0088】
例示的実施形態によると、医学テキスト取り込みエンジン340は、1つ以上のコーパス322~326の医学テキストにおけるテキストの仮定部分と、テキストの事実部分とを区別するための分析を行うためのロジックを含むように増強される。1つの例示的実施形態において、医学テキスト取り込みエンジン340は患者EMR322を分析して、テキストの仮定部分とテキストの事実部分とを区別して注釈を付ける。結果として得られた注釈付きの医学テキストは、次いでヘルスケア・コグニティブ・システム300によって、テキストの仮定および事実部分に適切な重み(例、テキストの仮定部分に0の重み、および事実部分に0より大きい重み)を与えて、たとえば治療推奨などのコグニティブ動作を行うために使用されてもよい。
【0089】
たとえば、医学テキスト取り込みエンジン340は、患者レジストリなどであってもよい患者EMRコーパス322から患者EMR323を読出してもよい。患者EMR323のテキスト・コンテンツは、次いで解析木エンジン342によって分析されて、テキスト・コンテンツを表す解析木データ構造が生成されてもよい。解析木データ構造はテキスト内のトークンを表すノードを含み、ここでトークンは用語またはフレーズであり、解析木データ構造はさらに、ノード間の関係を表すノードを接続するエッジを含む。さらに、いくつかのノードはテキストの部分の間の論理的関係(例、AND、OR、ANDNOTなど)を表してもよい。以後に考察されるとおり、ノードは品詞属性を含む関連属性を有してもよく、この関連属性は、ノードが無視トリガまたは確定トリガに相当するかどうかを判定するときに分析を支援するために用いられてもよい。
【0090】
図3は患者302とユーザ306との相互作用によって示されており、ユーザ306はたとえば医師、看護師、医師の助手、研究所の技術者、または任意のその他のヘルスケア・ワーカーなどのヘルスケア従事者であってもよいが、例示的実施形態はこうしたことを必要とするものではない。代わりに、患者302はユーザ306との相互作用を経る必要なく直接ヘルスケア・コグニティブ・システム300と相互作用してもよく、ユーザ306は患者302との相互作用を経る必要なく直接ヘルスケア・コグニティブ・システム300と相互作用してもよい。たとえば第1の場合に、患者302は、ヘルスケア・コグニティブ・システム300に患者302が提供する症状304に基づいて、直接ヘルスケア・コグニティブ・システム300からの治療推奨328を要求308してもよい。さらに、ヘルスケア・コグニティブ・システム300は実際には、治療推奨328を生成するためのデータ収集を支援するために、自動的に患者302に質問314をもたらして患者302からの応答316を受信するためのロジックを有してもよい。後者の場合、ユーザ306は要求308とともに患者属性318を送信して、ヘルスケア・コグニティブ・システム300からの応答において治療推奨を得ることによって、予め集められて患者EMR322に存在する情報のみに基づいて動作してもよい。よって、図3に示されているのは単なる例であり、本開示の思想および範囲から逸脱することなく多くの修正が行われ得るときに、示される特定の相互作用を必要とするものと解釈されるべきではない。
【0091】
よって、例示的実施形態は、たとえば医学テキストなどのドキュメントの自然言語コンテンツを分析して、仮定的な事象、状態、または条件などを参照するテキストの部分を識別し、これらの仮定と実際の事実を参照するテキストの部分とを区別するための機構を提供する。こうした分析の結果に基づいてテキストのさまざまな部分を仮定または事実と識別するために、それらに対して対応する注釈が提供され、次いでこれらの注釈はコグニティブ・システムが自身のコグニティブ動作を行うときに用いるために提供される。
【0092】
上記のとおり、いくつかの例示的実施形態において、これらのコグニティブ動作は、たとえば適切な治療推奨を定めるための機械学習などの機械学習を行う機械学習モデルを含んでもよい。たとえば、機械学習モデルによって行われる機械学習動作の一部として、コーパスの患者レジストリから複数の患者に対する患者EMRが読出されて、患者属性と対応する指示された治療との相関を描くために用いられてもよい。たとえば、さまざまな医療疾患、患者属性(例、年齢、性別、身長、体重、特定の検査結果など)、および医療従事者が指示したそれらに対応する治療などが患者EMRにおいて識別されて、治療推奨の機械学習モデルを生成するために用いられてもよい。こうした機械学習は、これらの医療疾患、患者属性、および指示された治療を相関させ、たとえばガイドラインおよび方針説明書などのその他の医学テキストを含む単数または複数のコーパスにおけるその他の裏付けエビデンスを識別して、治療推奨相関における信頼性を生成してもよい。
【0093】
たとえば、図4は患者のEMRの一部であり得る医療専門家によって構成された例示的メモの解析木データ構造表現の例である。示される例において、解析木は「化学療法は彼女を閉経の状態に置き、これ以上の子供を持つことができなくなる可能性が高いという事実を我々は検討した(We discussed the fact that the chemotherapy would most likely put her into menopause and not allow her to have more children)」というステートメントに対するものである。
【0094】
解析木データ構造は仮定スパン・アナライザ344に提供され、仮定スパン・アナライザ344は解析木データ構造のノードの各々を分析して、仮定辞書データ構造347によって指定された無視トリガと、事実辞書データ構造348によって指定された確定トリガとに一致するノードを識別する。たとえば仮定スパン・アナライザ344は、医学テキストの各センテンスに対する解析木データ構造を受信してもよいし、特定の実施によっては、医学テキスト取り込みエンジン340が読出した医学テキストからの任意のサイズ部分のテキストに対する解析木を受信してもよい。解析木データ構造の各ノードに対して、ノードのトークンが仮定辞書データ構造347において指定された無視トリガに相当するかどうかに関する判定が行われる。もしそうであれば、ノードの品詞属性が無視トリガの品詞属性と比較されて、品詞に一致があるか、およびその一致が動詞の品詞であるかが判定される。もし、ノードの品詞属性が動詞であり、かつそのノードの親ノードの品詞が動詞であれば、そのノードのサブツリーは無視サブツリーとして選択され、ここでそのノードの親ノードはその無視サブツリーのルートである。
【0095】
センテンスが受動態であるか能動態であるかを判定するために、親ノードの品詞タグに対するチェックが行われ、たとえば「推奨された(was recommended)」を含むセンテンスは受動態センテンスを示す。トリガが「推奨した(recommended)」であり、「推奨した(recommended)」は解析木によって動詞と識別され、かつその親ノードが「was」であるとき、仮定サブツリーは「推奨した(recommended)」ではなく「was」から始まる。これは、たとえば「検討された(were discussed)」などのフレーズを捉えるためであり、ここではたとえば「検討した(discussed)」が識別されたノードであり、「were」は識別されたノードの親ノードである。ノードと親ノードとの両方が動詞でないときは、そのノードを無視サブツリーのルートとしてノードのサブツリーが選択される。
【0096】
このプロセスが動詞をターゲットにする理由は、いくつかの用語またはフレーズが複数の品詞(例、名詞および動詞の両方)として用いられることがあるからである。しかしいくつかの実施において、仮定トリガ用語またはフレーズは動詞として用いられることの方が多いため、動詞のトリガ用語の識別によって、テキストの仮定スパンが示されると考えられる。当然のことながら、他の実施では品詞のより複雑な分析をしてもよく、ノード・トークンおよび無視トリガの品詞が動詞であるか否かに依存しなくてもよい。
【0097】
無視サブツリーの各ノードに対して、ノードが確定トリガに相当するかどうかに関する判定が行われる。無視サブツリーのあるノードが確定トリガと一致するとき、そのノードのサブツリーが選択され、その確定サブツリーは無視サブツリーから除去される。結果として得られる、あらゆる確定サブツリーが除去された無視サブツリーは、無視注釈または仮定注釈による注釈のために戻され、一方で確定サブツリーは確定または事実注釈のために戻される。解析木データ構造の無視サブツリーに相当しないツリーまたはサブツリーは、特定の実施に依存して、同様に確定注釈または事実注釈によって注釈を付けられてもよいし、別様には確定/無視注釈に関する注釈を付けられなくてもよい。
【0098】
無視トリガと一致するノードのトークンの品詞が動詞ではなく名詞であると判定されるとき、ノードのトークンに対応する他の自然言語リソースの付加的な分析が分析されて、そのノードのトークンが仮定を示すと考えられるか否かに関する信頼性スコアが生成されてもよい。たとえば、トークンのさまざまな使用の品詞を示す辞書データ構造からの定義情報と、さまざまな使用およびn-gramなどに対する時制情報とが分析されて、そのトークンがテキストの仮定スパンを示し、よって無視トリガと一致する可能性のスコアが生成されてもよい。この分析が行われるのは、トークンがテキスト内で使用されるやり方によって、同じトークンが無視トリガおよび確定トリガの両方を表すことがあるためである。例として、次のセンテンスにおける「検討する(considering)」という用語を考えてみる。
(1)「患者は、最大限のリスク低減のために右胸の予防的乳房切除を強く検討している(has been strongly considering)。」
(2)「患者は、最大限のリスク低減のために右胸の予防的乳房切除を検討することを勧められている(has been advised considering)。」
【0099】
上記のセンテンス1において、「検討する」という用語は、患者が予防的乳房切除を受ける仮定的な未来の可能性を記載しているため、無視トリガである。上記のセンテンス2において、「検討する」という用語は確定トリガであり、なぜならこの用語は起こった実際の事象(すなわち、医療専門家が患者に予防的乳房切除を勧めたこと)を示しているからである。センテンス2において、トークンに関連する品詞および時制情報と、辞書における品詞および時制情報とに基づいて、名詞-動詞の曖昧性解消が行われて、「検討する」というトークンのインスタンスが無視トリガか確定トリガかが判定される。
【0100】
これら2つのセンテンスの曖昧性解消に用いられるn-gramは異なるだろう。すなわち、<noun><adverb>検討する<noun-procedure>および<noun><verb>検討する<noun-procedure>である。第1のセンテンスはトレーニング・セットのタプルに一致するため、センテンス1は仮定と識別されるのに対し、センテンス2は識別されないだろう。
【0101】
図4に戻ると、図4に示される解析木400に対応するセンテンスは、無視トリガと、埋め込まれた確定サブツリーは含まない対応する無視サブツリーとを有するセンテンスの単純な例を示している。図4に示されるとおり、「検討した」というトークンを有するノード402は、仮定辞書データ構造347の対応する無視トリガと一致する。このノード402を、ノード402の子ノードを含む無視サブツリーのルート・ノードとして取って、仮定スパン・アナライザ344は「検討した」ノード402の兄弟または子に任意の確定トリガの一致があるかについて無視サブツリーをサーチするが、この例においてそれは存在しない。結果として、「検討した」ノード402によってルート化されたツリー400全体が無視サブツリーとして選択され、医学テキスト・アノテータ346によって無視または仮定注釈による注釈のためにフラグが付けられる。
【0102】
注釈付きの無視サブツリー400は、次いでヘルスケア・コグニティブ・システム300によって処理されて、無視サブツリー400に与えられた適切な重み付けによるコグニティブ動作が行われてもよい。いくつかの例示的実施形態において、この重み付けは、対応するコグニティブ動作を行うときに無視サブツリー400を無視することを含む。いくつかの例示的実施形態において、このコグニティブ動作は、治療推奨に関して用いられるヘルスケア・コグニティブ・システムの機械学習モデルによって行われる機械学習動作である。いくつかの例示的実施形態において、このコグニティブ動作は、ユーザ要求(たとえば図3のユーザ要求308など)に対して治療推奨を提供する動作である。他の例示的実施形態においては、例示的実施形態の機構によって生成された仮定(または無視)注釈と事実(または確定)注釈とに基づいて、テキストの仮定スパンに帰する妥当性、信用、または信頼性に影響され得るその他のコグニティブ動作が動作してもよい。
【0103】
図5は、1つの例示的実施形態による、無視トリガに相当するノードの曖昧性解消が行われるセンテンスに対する別の解析木データ構造の例である。図5に示されるとおり、解析木500は「乳頭温存乳房切除を受けると、部分的乳頭壊死に対する最大15%のリスクとともに無感覚乳頭の結果となる(Undergoing a nipple-sparing mastectomy results in an insensate nipple with an up to 15% risk for partial nipple necrosis)」というステートメントに対応する。このセンテンスの解析木500を見たとき、「結果となる(results in)」という用語は仮定スパンであり得るすべてのトークンを捉えるフレーズであることが分かり、これは他の場合にも任意の誤った注釈をもたらすことがなく、十分に一般化可能である。
【0104】
解析木500の各ノードの各トークンと、仮定辞書データ構造347の無視トリガとを比較すると、ノード502は無視トリガに一致するものとして正しく識別されるが、この例においてこのトークンは「名詞」の品詞に関連付けられている。したがって、辞書情報、時制情報、n-gram、およびオントロジ情報などに基づいて、ノード502に相当するトークンの曖昧性解消が行われる。曖昧性解消は、ノード502のトークンの特徴をセンテンスの他の部分(すなわち、トークンの言語使用の曖昧性解消のためのノード502のサブツリーの他の部分)と一致させることを試みる。たとえば、トークンの用語(単数または複数)の定義をセンテンスの他の部分と比較して、その定義がセンテンスの他の部分の他の品詞と一致するかどうかを判定してもよい。
【0105】
たとえば、ノード502のサブツリーを取ると、対応するセンテンスは「乳頭温存乳房切除は無感覚乳頭の結果となる(A nipple-sparing mastectomy results in an insensate nipple)」である。上記のセンテンスの品詞パターンを示す、タプルの対応するデータセットまたはn-gram、および医学調整オントロジを含む対応するタプルは、次のとおりである。
<noun><verb><noun>(これはストレートなセンテンス解析タプルである)
ここで医学調整オントロジ・タプルは次のとおりである。
<noun-procedure><verb><noun-body-part>(これはドメインに対して調整されたセンテンス解析タプルである)
【0106】
タプルはトレーニング・セットから得られる。上記タプルの<noun-procedure>はセンテンスの「乳頭温存乳房切除」と一致し、<noun-body-part>は「無感覚乳頭」と一致し、このタプルのデータセットから、このトリガは名詞ではなく動詞であることが予測される(XSGがそれを識別する)。センテンスがタプルと一致するため、このトリガは確かに名詞ではなく動詞に違いないと結論付けられ、これは仮定ステートメントとして識別され得る。
【0107】
この例において、ノード502のトークンの曖昧性解消に使用され得る「結果(results)」という用語の辞書定義は次のとおりである。
(1)動作、状況、前提などによって生じる、起こる、または進行すること、結末(outcome)となること。
(2)特定の方式または事柄を終結または終了すること。
【0108】
この情報の分析によって、ノード502のトークン「結果(results)」はこのセンテンスにおいて動詞として用いられており、よってテキストの仮定スパンを示す無視トリガと考えられることが判定され得る。よって、ノード502のサブツリーは無視サブツリーとして識別されることとなり、上記に考察したとおり確定トリガに関してさらに分析されてもよい。すなわち、品詞が認識されてから、用語に対する定義が解析される。センテンス・パターン一致のセットに基づいて、定義はその「トリガ」が本当に正しいと確定することを助け得る。この例については、センテンス・パターンの1つが「名詞-結末または計算(noun-outcomes or calculations)」を含む。「結果(result)」の定義は「結末(outcome)」という用語を含む。主題の専門家によって示されたこれらのパターンのセットは、さまざまな品詞であり得る用語の使用を確定することを助けるだろう。
【0109】
別の例として、「行われた乳房切除は良好な結果を有した(A mastectomy performed had good results)」というセンテンスについて考える。このセンテンスに対する対応するタプルまたはn-gramは次のとおりである。
<noun><verb><adjective><noun>
ここで医学調整オントロジ・タプルは次のとおりである。
<noun-procedure><verb-action-past-tense><noun-outcome/calculation>
【0110】
このタプル、辞書定義、オントロジ情報などを分析した結果は、この「結果」という用語の使用が名詞であることを示し、これは動詞ではないために無視トリガの一致とされない。もしこのタプルが用いられなければ、「結果」という用語はこのセンテンスにおいて実際には事実であるときに無視トリガとして取られ得る。この特定のセンテンスにおいて一致するタプルは、名詞:乳房切除、動詞:行われた、動詞-動作-過去-時制:有した、および名詞-結末/計算:良好な結果である。トレーニング・セット・データから、このタプルは仮定ではなく事実に関連することが分かっている。したがって、このセンテンスがこのタプルと一致することを見出すことで、例示的実施形態の機構はこの「結果」という用語を無視トリガではなく確定トリガとして識別する。
【0111】
センテンスが特定のタプルと一致するかどうかを識別するために、いくつかの例示的実施形態において、例示的実施形態の機構はセンテンスに対してタプルをスコア付けしてもよい。各タプル・パターンに対して、タプル・パターンの一致に対する最大スコアが存在することによって、仮定スパンまたは仮定スパンを含む自然言語コンテンツの中にすべての品詞が見出されるときに、その最大スコアがそのタプルに関連付けられる。パターン内の各一致項目には重みが与えられており、ここで名詞および動詞は最も高い重みを有し、主語は次に高い重みを有する。タプル・パターンに対するスコアは、タプル・パターンの各一致部分に対する重み付けされた値の総計であり、このスコアが閾値よりも高いときに、このタプル・パターンは十分に一致しており、その用語はトリガ(例、そのタプルが確定または仮定トリガの識別に対するものかどうかによって、仮定または確定トリガ)として処理されるべきだと判定できる。
【0112】
たとえば、上記のタプル・パターンにおいて、さまざまな品詞に対する重みは次のとおりであってもよい。<noun>(2)<verb>(6)<adjective>(1)<noun-procedure>(3)<verb-action past tense>(2)<noun-outcome/calculation>(4)、これによって最大スコアは18となる。トリガを確定するための閾値は、正しい品詞に向けて高く重み付けされるため、閾値スコアの例は10と定められてもよく、それによって、もしテキストの一部分がタプル・パターンの一部と一致することによって10以上の重み付きスコアが生成されれば、それはトリガとみなされる。これらのタプル・パターンの2つ以上が対応する閾値を超えて一致するときは、一致の数に基づいてトリガの確定が行われ得る。
【0113】
当然のことながら、無視サブツリーおよび確定サブツリーを識別するための上記のプロセスが、医学テキスト内のテキストの各部分(例、各センテンス)に関して行われることによって、無視(仮定)サブツリーおよび確定(事実)サブツリーを識別するために医学テキスト全体が分析されてもよい。無視サブツリーが仮定スパンを表すのに対し、確定サブツリーは事実スパンを表す。これらの仮定スパンおよび事実スパンが医学テキスト・アノテータ(たとえば図3の医学テキスト・アノテータ346など)に提供されてもよく、医学テキスト・アノテータは、医学テキスト(例、EMR323)の対応する仮定スパンおよび事実スパンを示す医学テキストのメタデータ325において、対応する無視(仮定)注釈および確定(事実)注釈を生成する。医学テキスト(例、EMR323)およびメタデータ325は、コグニティブ動作を行うことに用いるためにヘルスケア・コグニティブ・システム300に戻される。
【0114】
いくつかの例示的実施形態において、例示的実施形態の機構によって識別された無視サブツリーに対応するテキストの仮定スパンの識別、およびテキストのこうした仮定スパンの注釈は、医療疾患と、患者属性と、治療との相関を学習するための機械学習動作を行うときに、仮定スパンを無視するために用いられてもよい。よって、機械学習動作がテキストの仮定スパンであるとして注釈を付けられたテキストの部分に遭遇するとき、テキストのその部分は無視されて、機械学習動作の一部として処理されない。いくつかの例示的実施形態において、テキストの仮定スパンは仮定的な性質であるが、なおも医療疾患と、患者属性と、治療との相関の妥当性への何らかの洞察を提供するかもしれず、テキストのこれらの部分を無視する代わりに、評価の際にそれらに事実コンテンツに関連すると判定されたテキストの他の部分よりも相対的に小さい重みを与えてもよいことが定められてもよい。よってたとえば、相関に対する証拠支持を識別するときに、テキストの仮定スパンは、事実の性質であると識別されたテキストの他の部分よりも相対的に少量の、相関に対する/反対する証拠支持を提供するだろう。
【0115】
同様に、コグニティブ動作は、たとえば上記の図3の状況において説明されるものなどの、特定の識別された患者に対する治療推奨の実際の実行時の判定を含んでもよい。こうした場合には、ユーザ306に戻されるべき治療推奨328を生成するときに、ヘルスケア・コグニティブ・システム300によってテキストの仮定スパンの同様の検討が行われてもよい。すなわち、コーパス322~326のその他の証拠情報に基づいて適切な治療を判定するために患者EMRを評価するときに、特定の実施に依存して、テキストの仮定スパンは無視されるか、または相対的に小さい重みを与えられてもよい。
【0116】
よって、プロセッサおよび少なくとも1つのメモリを有するデータ処理システムにおける機構が提供され、ここで少なくとも1つのメモリは命令を有し、この命令はプロセッサによって実行されて、上述の例示的実施形態の1つ以上に対応する動作を行うようにプロセッサを構成する。1つの例示的実施形態において、これらの動作は以下を含む。(1)データ処理システムによって、自然言語コンテンツを受信すること、(2)データ処理システムによって、解析木を生成するために自然言語コンテンツを分析することであって、ここで解析木は、自然言語コンテンツの用語またはフレーズに対応するノードと、ノードをつなぐエッジとを含む自然言語コンテンツの階層的表現である、分析すること、(3)データ処理システムによって、自然言語コンテンツ内の仮定トリガの1つ以上のインスタンスを識別するために解析木データ構造を処理することであって、ここで仮定トリガは仮定ステートメントを示す用語またはフレーズである、処理すること、および(4)データ処理システムによって、自然言語コンテンツに基づいてコグニティブ動作を行うことであって、ここでコグニティブ動作は、仮定トリガの1つ以上の識別されたインスタンスに対応する自然言語コンテンツの部分に、自然言語コンテンツの他の部分よりも相対的に低い重みを与えて行われる、コグニティブ動作を行うこと。
【0117】
いくつかの例示的実施形態において、これらの動作は、データ処理システムによって、仮定トリガの1つ以上のインスタンスに対応する解析木データ構造の1つ以上のサブツリー・データ構造を除去することによって、仮定枝刈り解析木データ構造を生成することをさらに含み、ここでコグニティブ動作は、この仮定枝刈り解析木データ構造に基づいて行われる。さらに他の例示的実施形態において、コグニティブ動作を行うことは、データ処理システムによって、自然言語コンテンツの仮定トリガの1つ以上のインスタンスの識別に基づいて自然言語処理(NLP)システムのモデルをトレーニングすることと、NLPシステムによって、トレーニングされたモデルに基づいて自然言語コンテンツの自然言語処理を行うこととを含む。
【0118】
さらなる例示的実施形態において、解析木データ構造を処理することは、解析木データ構造において見出された仮定トリガの各インスタンスに対して、辞書データ構造を用いて仮定トリガを分析して仮定トリガの品詞属性を判定することと、判定された品詞属性を使用して仮定トリガが仮定ステートメントに対応するか否かの尺度を定めることとをさらに含む。さらに、判定された品詞属性を使用して仮定トリガが仮定ステートメントに対応するか否かの尺度を定めることは、仮定トリガに対応するサブツリー・データ構造のタプル表現を生成することと、辞書データ構造から仮定トリガに存在する用語の1つ以上の辞書定義を読出すことと、サブツリー・データ構造のタプル表現と1つ以上の辞書定義との相関に基づいて仮定トリガの品詞属性を判定することとを含んでもよい。仮定トリガが名詞であることを示す品詞属性に応答して、仮定トリガに対応するサブツリー・データ構造は仮定ステートメントに指定されないことが判定される。
【0119】
さらに他の例示的実施形態において、NLPシステムは治療推奨システムであり、コグニティブ動作は患者の電子医療記録のコンテンツに基づいて治療推奨を生成することを含む。さらに、データ処理システムは、治療推奨システムのバックエンド・データ処理システムであってもよい。
【0120】
いくつかの例示的実施形態において、解析木データ構造を処理することは、解析木データ構造を処理して事実トリガのインスタンスを識別することをさらに含み、ここで事実トリガは事実ステートメントを示す用語またはフレーズである。加えてこの動作は、仮定サブツリー内に事実サブツリーが存在するかどうかを判定することと、仮定サブツリーから事実サブツリーを除去して修正された仮定サブツリーを生成してから、その修正された仮定サブツリーをさらに処理することとを含んでもよい。
【0121】
図6Aは、例示的実施形態による、センテンスのノード604と接続エッジ606とを説明する、センテンスに対する別の解析木データ構造600の例である。図6Bは、2つの走査に沿った解析木600のテーブル602の例である。図6Cは、2つの走査の比較テーブル614の例およびベクトル・テーブル617におけるそれらの対応するワンホット・エンコード・ベクトルである(ただし、テーブル617の一部分のみが見られる)。図6A~6Cは、「もし乳頭温存乳房切除が行われれば、そこには感覚、刺激、または覚醒がなくなるだろうということを彼女は認識している(She is aware that if a nipple sparing mastectomy was performed,there would be no sensation,stimulation,or arousal)」というセンテンスに基づくものである。このセンテンスには2つの仮定トリガが存在し、その一方は「もし(if)」であり、他方は「だろう(would be)」である。ここで図6A~6Cをともに考察する。
【0122】
例示的実施形態において、解析木600はたとえば、もし(if)ノード604A、wasノード604B、だろう(would)ノード604C、乳頭(nipple)ノード604D、行われる(performed)ノード604E、aノード604F、温存(sparing)ノード604G、および乳房切除(mastectomy)ノード604Hなどの多くのノード604を含む。すべてのノード604はエッジ606によって接続されているが、いくつかのノード604は隣り合う他のノード604に直接接続されている(図6Aを参照)。
【0123】
各テーブル602は行608および列610を含み、行608はノード604の属性を含む。各テーブル602は走査を表し、これはトリガ・ノード(たとえば、もしノード604Aなど)からターゲット・ノードまでの経路である。例示的実施形態において、テーブル602Aはもしノード604Aから行われるノード604Eまでの走査を表し、テーブル602Bはもしノード604Aから乳房切除ノード604Hまでの走査を表す。テーブル602Aおよび602Bの例示的実施形態において、行608Bおよび608Fは「品詞」を含み、行608Cおよび608Gは「距離」を含み、行608Dおよび608Hは「強調」を含む。他の実施形態において、テーブル602はたとえば「スロット名」(2つのノード604の間のエッジ606に関連するラベル、例、「動詞的形容詞(vadj)」、「目的語(obj)」、「トップ(top)」、「主語(subj)」など)、「水平」(生じるエッジ606の水平方向(単数または複数)、例、右および左)、および「鉛直」(生じるエッジ606の鉛直方向(単数または複数)、例、上および下)など、ノード604のその他の属性を含み得る。
【0124】
例示的実施形態において、行608Cおよび608Gは、トリガからターゲットまでの距離を示す。たとえばテーブル602Bにおいて、トリガはもしノード604Aであり、乳房切除ノード604Hに対する距離「4」が算出され得る。しかしいくつかの実施形態においては、距離は予め定められるか、または構成可能な単数または複数の幅を有するビンに分割される。たとえば、もしビンが2ポジションの幅であれば、ノード604Hに対する値は「2」となり、もしビンが4ポジションの幅であれば、ノード604Hに対する値は「1」となるだろう。こうした特徴は、異なるセンテンスが実質的に類似のノードを有することがあるが、それらのノードはトリガからの距離が異なり得るという認識において用いられ得る。いくつかの実施形態においては、すべての非距離属性がそれぞれの距離を含むことで、自身が走査のどのステージに出現するかを区別する。たとえば、もしこの実施を用いてツリー・テーブル602Aが作成されれば、行608Bは「品詞;subconj_0;verb_1;verb_2」となる。
【0125】
ツリー・テーブル602Aはトリガ・ノード604Aからターゲット・ノード604Eまでの走査を表すため、列610B~610Dはその順序で配置される。同様に、ツリー・テーブル602Bはトリガ・ノード604Aからターゲット・ノード604Hまでの走査を表すため、列610F~610Jはその順序で配置される。加えて、ツリー・テーブル602は検討テーブル614に変形され得る。より具体的には、検討テーブル614は各走査の値を単一の行に並べることによって作成され得る。より具体的には、ツリー・テーブル602Aの行608A~608Dが行608Jにおいて互いに隣り合っており、ツリー・テーブル602Bの行608E~608Hが行608Iにおいて互いに隣り合っている。
【0126】
例示的実施形態において、ベクトル・テーブル617はベクトル618Aおよび618Bを含む。ベクトル618Aは検討テーブル614における行608Iのワンホット・エンコードの結果であり、ベクトル618Bは検討テーブル614における行608Jのワンホット・エンコードの結果である。ベクトル・テーブル617は、あたかも行608Iおよび608Jを生成した走査がトレーニング・データ・セットに存在する唯一の走査であるかのように構築されている。それによって、列610は検討テーブル614に存在するすべての固有の値を表している(すなわち、図6Cにおいてはすべての列610が見られないが、属性タイプと属性値とのすべての組み合わせが表される)。そうする際に、検討テーブル614からの属性値は「1」および「0」に変換され得る(例、「乳房切除」ベクトルは[1110111110…]であり、「行われる」ベクトルは[1101001101…]である)。いくつかの実施形態においては、図6Cに示されるベクトル・テーブル617は存在せず、代わりに別個のベクトルと、どの属性タイプ/値の組み合わせがどの位置にあるかの別個のマップとの集合体が存在する。
【0127】
例示的実施形態において、行608Eおよび608Jは、対応するノード604が強調またはマークされているかどうかを示す。簡単にするために、図6Aにおける「強調」ノード604はアスタリスク(*)でマークされている。解析木600における特定のノード604の強調は、サード・パーティ(たとえば人間またはその他の機械/アルゴリズムなど)によって、解析木600の仮定スパン616Aをマークするために行われている。以下に説明されるとおり、強調は機械学習およびトレーニングの目的で行われる。解析木600は別の仮定スパン616Bも含んでいるが、スパン616Aおよび616Bの両方を強調すると解析木600をトレーニングに用いることができなくなるため、スパン616Aのみが強調されている。これは、各ノード604が単一のトリガに対する文法的関係によって、スパン616の内または外にあるためである。一連のテキストが2つのトリガを含むとき、一方のトリガのスパン内にあるノードは他方のトリガのスパン内にはならず、逆も同様である。代わりに、もしスパン616Bをトレーニングに用いることが有益であれば、スパン616Bのみが強調された別の解析木(図示せず)が作成され得る。
【0128】
解析木600、テーブル602、検討テーブル614、ならびにベクトル618Aおよび618Bの特徴は、解析木600に対して構造化クエリ言語(SQL:structured query language)動作を行うことを可能にする。よって、機械学習済モデルを実行する推論アルゴリズムは、トレーニング・セットにおいてエンコードされた走査からの属性タイプ/値の組み合わせの発生を認識できる。次いで、NLPシステムが調査した組み合わせに基づいて、最適なラベルが選択され得る。
【0129】
図6Bにはただ2つのツリー・テーブル602が示されており、図6Cにはただ2つの対応する検討テーブル614およびベクトル618が示されているが、解析木の完全な分析はより多くのテーブルおよびベクトルを含み得る。検討テーブル602は、解析木600の任意のトリガおよび任意のターゲットの間に可能な各走査に対して作成され得る。それによって、ベクトル618も解析木600の任意のトリガおよび任意のターゲットの間に可能な各走査に対して作成され得る。
【0130】
図7は、たとえばそれぞれ図4図5、および図6Aの解析木データ構造400、500、および600のうちの1つなどを用いて解析木のスパンを見出す方法700の流れ図である。方法700はステップ702から開始する。ステップ704において、解析木のトリガ(たとえば仮定トリガ)が開始点として識別され、そのトリガ・ノードを(行ラベルと並ぶ)第2の列としてツリー・テーブルが開始され、その列にはトリガ・ノードの属性が投入される。ステップ706において、前のノード(第1の反復において、これはトリガ・ノードとなる)から生じる各エッジが次の隣り合うノード(ここではそれが「ターゲット・ノード」である)まで走査される。ステップ708において、各ターゲット・ノードはその属性を列として前のノードに隣接する自身のツリー・テーブルに入れる。
【0131】
ステップ710において、各ツリー・テーブルは検討テーブルの単一の行に変形される(たとえば、図6Cに関して前述したとおり)。いくつかの実施形態においては、ステップ710において複数のツリー・テーブルが単一の検討テーブルに変形されてもよく、それはたとえば、各ツリー・テーブルを単一の行に変換し、それらの行を検討テーブルに積み重ねることなどによって行われる。ツリー・テーブルは複数のパラレル・ノード(すなわち、トリガからの同じ距離を有するノード)からのものであってもよく、それはたとえば図4における「that」、「化学療法」、および「および」ノード、または図6Aにおける「was」および「だろう(would)」ノードなどである。代替的に、ツリー・テーブルは複数のシリアル・ノード(すなわち、トリガからの単一の走査に沿ったノード)からのものであってもよく、それはたとえば図4における「および」、「させる(allow)」、および「彼女」ノード、または図6Aにおける「was」および「行われる」ノードなどである。
【0132】
方法700はステップ714に続き、ここでは前のノードに接続された、前にまだ訪問されていないノード(例、テーブル化されていないノード)の利用可能性が判定される。もしすでにテーブル化されていないテーブル化すべきノードがまだあれば、対応するエッジが走査され、それらのテーブル化されていないノードが新たなターゲット・ノードとなる。次いで、すべての新たなターゲット・ノード(すなわち、トリガに接続されたテーブル化されていないノード)がテーブル化されて、もうテーブル化すべきノードが残らなくなるまで、ステップ706~714が繰り返される。解析木をトリガから走査する順序は、たとえば幅優先探索または深さ優先探索などによって定められ得る。
【0133】
ノードのテーブル化が完了すると、方法700はステップ718に続き、解析木は解析木にまだトリガがあるかどうかを分析する。もし1つ以上のトリガ(たとえば別の仮定トリガなど)が残っていれば、方法700はステップ704に戻って、新たなスパンを作成する。もしそうでなければ、方法700はステップ720において終了する。
【0134】
方法700の特徴は、たとえば(図1に示される)医学テキスト取り込みエンジン120の単数または複数のモジュールなどによって、所与のトリガに対するノードのスパンを見出すために、センテンスまたはフレーズの解析木が系統的に分析されることを可能にする。この能力は多くの異なるやり方で用いられ得る。たとえば、参加者を探している臨床試験は、NLPプロセッサを用いて、候補者の病歴の中の仮定主題から事実情報を分離する能力によって病歴を評価することによって、候補者を選択し得る。別の例に対しては、もしNLPプロセッサが質問の仮定主題から事実情報を分離する能力がより高ければ、NLPプロセッサが自然言語質問に応答できる速度および精度が増加し得る。別の例に対しては、NLPプロセッサが、たとえばNLPプロセッサなどの他のラーニング・マシンに対するトレーニング材料として用いるために、センテンスを分析してその中のトリガおよびスパンをマークし得る。別の例に対しては、接続された個人のソーシャル・ネットワークを分析して、たとえばユーザの接続のうちのどれが近親者(例、ユーザの2世代以内に共通の祖先を共有する)かなどの特定の基準を満たす属性を見出し得る。こうした実施形態において、分析の方法は、同じノードを繰り返し分析するループを回避するために、そのノード(例、人物)がすでに分析されたかどうかを調べるためのチェックを含んでもよい。加えてこうした実施形態において、分析の方法は、ユーザの直接接続から特定数のジャンプをした後にサーチの継続を停止するように、サーチの深さ制限を含んでもよい。これは、接続のチェーンが長くなるほど、別のユーザが近親者である可能性が有意に減少するからであってもよい。
【0135】
図8は、自然言語処理(NLP)システムが、たとえば自然言語テキストなどに対して動作するようにトレーニングするための解析木を用いる方法800の流れ図である。方法800は、たとえば、サーバ104もしくは医学テキスト取り込みエンジン120(図1に示されるものだが、上記で考察された仮定スパン・アナライザ124とは異なるスパン・アナライザを有する)またはその両方などを用いて実現され得る。例示される実施形態において、方法800はステップ802から開始し、ステップ804において、NLPトレーニング・マシンはトレーニング・テキストをインポートし、トレーニング・テキストのいくつかは強調が付され、いくつかは強調が付されておらず、それらのトレーニング・テキストはトレーニング解析木に変換される。ステップ806において、たとえばトレーニング解析木に対して方法700を行うことなどによって、トレーニング解析木からトレーニング検討テーブルが作成される。いくつかの実施形態において、強調なしのトレーニング解析木を処理するときは、すべてのノード-ターゲット対がツリー・テーブルを有するように、解析木のすべての可能な走査からツリー・テーブルが作成される。これは、強調なしの解析木においてトリガ・ノードが以前に識別されていないからだが、強調ありの解析木も強調されたトリガ・ノードを有していても同じ処理をされてもよい。こうした実施形態において、トレーニング検討テーブルもすべてのノード-ターゲット対を示す。
【0136】
例示される実施形態において、ステップ808において、トレーニング検討テーブルを用いてワンホット・エンコーダがトレーニングされる。このトレーニングが完了すると、ステップ810において、すべてのトレーニング検討テーブルがワンホット・エンコードされる。ステップ812において、たとえば主成分分析(PCA:principal component analysis)、一般化したヘビアン(Hebbian)アルゴリズム、あるいはたとえばオートエンコーディングもしくは埋め込みまたはその両方などのさまざまなディープ・ラーニング(すなわち、ニューラル・ネット)技術、あるいはその組み合わせなどを用いて、トレーニング・ワンホット・エンコード・ベクトルを分析することによって、投影モデル(例、ディープ・ラーニング空間、たとえば最近傍特徴空間など)が生成される。このトレーニングが完了すると、ステップ814において、投影モデルを用いてトレーニング・ワンホット・エンコード・ベクトルが処理される。より具体的には、ステップ814においては、強調付き解析木に由来する処理済トレーニング・ベクトルのみが投影される。ステップ816において、トレーニング投影ベクトル(すなわち、強調付き解析木に由来するトレーニング・ベクトル)を用いて分類器モデルがトレーニングされる。具体的には、たとえば、ステップ810からの「真」の数学ベクトルをポジティブ・トレーニング例として使用でき、ステップ810からの「偽」の数学ベクトルをネガティブ・トレーニング例として使用できる。ステップ818において、分類器モデルを用いて強調付き解析木も分類してもよく、それによってNLPラーニング・マシンは各ノードの分類と、各ノードの強調(または強調がないこと)とを比較して、それらがどれほどの頻度で一致するか調べることができる。次いで、分類と強調との一致数を増加させるために分類器モデルが調整され得る。それによって、分類器モデルは機械学習を通じて改善される。このトレーニング・プロセスはNLPラーニング・マシンをオフラインにして行われ、方法800はステップ820において終了する。
【0137】
方法800の特徴は、NLPラーニング・マシンが自然言語テキストのスパン(例、仮定スパン)を見出すようにトレーニングされることを可能にする。これは比較的少数のラベル付きスパンおよび比較的多数のラベルなしスパンを用いて行われ得るため、ラベル付きスパンのみを用いることと比べてNLPラーニング・マシンの有効性が増加する。しかし当然、ラベルなしスパンはスパンのラベル付けが必要とする時間および労力のすべてを必要としないが、開示されるNLPラーニング・マシン(投影モデルを含む)はラベルなしスパンを用いて、ラベル付きスパンからの学習効果を増幅させ得る。加えて、最初の検討テーブル作成(すなわち、ステップ806)からのノードのクリッピングがないため、既知のスパン・メンバ・ノード(例、兄弟ノード)に直接関係しないノードはなおも分析される。しかし、プロセスの後の方(すなわち、ステップ816)で、ターゲット・ノードの強調と、スパンの「真」または「偽」のラベル付けとに対するチェックがあるため、NLPラーニング・マシンはなおも作成されたスパンに属さないノードをクリップすることを学習できる。さらに、この分析は、作成してから維持する必要がある大量の複雑なブラックリストおよびホワイトリスト行を用いることなく行われる。加えて、不完全なブラックリストもしくはホワイトリストまたはその両方がクリッピングのために供給された場合に、方法800によってトレーニングされたNLPラーニング・マシンは、そのリストに依拠する代わりに、状況に頼ることによるクリッピングの自身の知識を用い得る。
【0138】
いくつかの実施形態において、方法800はステップ822をさらに含む。このことは、ステップ810からステップ822、およびステップ822からステップ812に伸びる鎖線矢印によって示されている。こうした実施形態において、方法800はステップ810からステップ812に直接移動する代わりに、ステップ822を通って進行する。ステップ822において、たとえばカイ二乗分析もしくは信号対ノイズ比分析またはその両方などの、ラベル付きスパンの分析に基づいて、特徴選択が行われる。特徴選択は、トレーニング・エンコード・ベクトルのどの列が、解決される特定の問題(たとえば、新しいラベルなしテキストにおける仮定または否定スパンを見出すことなど)をより強く予測するかを示してもよい。しかし、仮定スパンに対する特徴選択は、否定スパンに対する特徴選択とは異なり得る。したがって、求められる応答(たとえば、仮定スパンを見出すこと、または否定スパンを見出すこと)に基づいて、特徴選択がさらに狭められ得る。特徴を選択することは、列のいくつか(すなわち、テキストの一部)を、それらが問題に対する解決をあまり予測しないと考えられるために削除することを可能にしてもよい。たとえば、トレーニング・エンコード・ベクトルの特定の列は、仮定スパンを見出すためにステップ812において投影モデルをトレーニングする前に除去されてもよい。
【0139】
この代替的実施形態において、特徴選択はステップ812において投影モデルがトレーニングされる前に設定される。これによって、投影モデルは求められる応答に対してより適合されることになる。これは結果を得るときの精度を高め得る。しかし、もし所望の応答が変われば、新たな求められる応答に対してより良好に適合させるために、投影モデルを再トレーニングする必要があるかもしれない。学習に用いられるデータ・セットが比較的小さいときは、再トレーニングは大きな事業ではないだろう。しかし学習データ・セットが大きいときは、ステップ822を含まないより一般的な学習アプローチの方が、再トレーニングを必要としないために有益であってもよい(ただし予測があまり正確でない可能性がある)。
【0140】
図9は、自然言語テキストに対して動作するNLPラーニング・マシンの方法900の流れ図であり、これはステップ902から開始する。ステップ904において、NLPラーニング・マシンは新たな一連の自然言語テキスト(例、センテンス)をインポートし、それは新たな解析木に変換される。ステップ906(図8のステップ806と類似であり得る)において、すべての新たなノード-ターゲット対がテーブルを有するように、新たな解析木のすべての可能な走査から新たな検討テーブルが作成される。ステップ908(図8のステップ810と類似であり得る)において、新たな検討テーブルはワンホット・エンコードされ、ステップ910(図8のステップ814と類似であり得る)において、投影モデルを用いて新たなエンコード・ベクトルが処理される。ステップ912において、新たなテキストからのノードは求められるタイプのスパンであるか否かで分類され、NLPラーニング・マシンは、たとえばどのノードがスパンのメンバであるかを示す強調スパンなどの出力を提供できる。次いで、方法900はステップ914において終了する。それによって、方法900を用いて、NLPラーニング・マシンはたとえば仮定パッセージから事実パッセージを判定するなどのために、実世界のソース(図示せず)からの新たなテキストに対してオンラインで動作できる。
【0141】
本発明のさまざまな実施形態の説明は例示の目的のために提供されたものであり、開示される実施形態に対して網羅的または限定的になることは意図されていない。記載される実施形態の範囲および思想から逸脱することなく、当業者には多くの修正および変更が明らかになるだろう。本明細書において用いられる用語は、実施形態の原理、市場に見出される技術に対する実際の適用または技術的改善点を最もよく説明するか、または他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7
図8
図9