本発明の実施形態は、発話内の概念を識別し、当該の発話の転写内のコード(例えば、XMLタグ)で当該の概念をコード化する構成要素等の、文書内の概念を識別するために使用される、コンピュータに基づく構成要素の質を向上させるために使用され得る。そのようなコードは、他の種類のコードから区別するために、本明細書では、「概念コード」と称される。そのような概念コード内の概念のコード化を行うためのシステムの一例は、「意味内容の自動抽出および発話からの構造化文書の生成(Automated Extraction of Semantic Content and Generation of a Structured Document from Speech)」という名称で、米国特許第7,584,103号で開示されており、参照により本明細書に組み込まれる。本発明の実施形態は、例えば米国特許第7,584,103号で開示されている手法のいずれかを使用して、発話の転写物を生成し、それらの転写物の中の概念コード内の当該の発話によって表される概念をコード化し得る。
例えば、概略として、図1Aは、本発明の一実施形態による、発話から概念を抽出するための、および概念コード内のそのような概念をコード化するためのシステム100aのデータフロー図である。図2は、本発明の一実施形態による、図1Aのシステム100aによって行われる方法200のフローチャートである。
転写システム104は、口語音声ストリーム102を転写して、草稿転写物106を作成する(演算202)。口語音声ストリーム102は、例えば、患者の診察を説明する医師による口述であり得る。口語音声ストリーム102は、任意の形態を取り得る。例えば、口語音声ストリームは、(例えば、電話またはIP接続を通じて)直接的または間接的に受け取られるライブ音声ストリーム、または任意の媒体上に任意のフォーマットで記録される音声ストリームであり得る。
転写システム104は、例えば、自動音声認識装置、または自動音声認識装置と医師もしくは他の人間のレビュアーとの組み合わせを使用して、草稿転写物106を作成し得る。転写システム104は、例えば、上述した米国特許第7,584,103号で開示されている手法のいずれかを使用して、草稿転写物106を作成し得る。該特許で説明されるように、草稿転写物106は、口語音声ストリーム102の文字通りの(逐語的な)転写物または文字通りでない転写物であるテキストを含み得る。該特許でさらに説明されるように、草稿転写物106は、プレーンテキストを含む、または単にそれだけしか含まない場合があるが、草稿転写物106はまた、例えば、それ加えて、または代替として、文書部分および他の種類の文書構造を詳細に描写するXMLタグ等の構造化された内容も含み得る。構造化文書をコード化するための、および構造化テキストにある点で関連する個別の事実(データ)を伴う構造化テキストの部分に注釈を付けるための、種々の規格が存在する。医療文書をコード化するための既存の手法の例としては、HL7 CDA v2 XML規格(2005年5月からANSI認可)、SNOMED CT、LOINC、CPT、ICD−9、およびICD−10、ならびにUMLSが挙げられる。
図1Aで示されるように、草稿転写物106は、それぞれが口語音声ストリーム102から抽出される「概念」のインスタンスをコード化する、1つ以上の概念コード108a〜cを含む。「概念」という用語は、米国特許第7,584,103号で定義されるように本明細書で使用される。参照符号108は、一般的に、草稿転写物106内の概念コード108a〜cの全てを参照するために本明細書で使用される。図1Aでは、3つの概念コード108a〜cだけしか示されていないが、草稿転写物106は、任意の数のコードを含み得る。診断書という状況において、コード108のそれぞれは、例えば、アレルギー、処方、診断、または予後をコード化し得る。図1Aでは、草稿転写物106が、対応するコードを有するテキストだけを含むように示されているが、草稿転写物106は、「プレーンテキスト」とも称される、非コード化テキスト(すなわち、いかなる対応するコードも伴わないテキスト)も含み得る。
コード108は、草稿転写物106の中の対応するテキストによって表される概念のインスタンスをコード化し得る。例えば、図1Aにおいて、概念コード108aは、対応するテキスト118aによって表される概念のインスタンスをコード化し、概念コード108bは、対応するテキスト118bによって表される概念のインスタンスをコード化し、概念コード108cは、対応するテキスト118cによって表される概念のインスタンスをコード化する。図1Aでは、テキスト118a〜cの各ユニットが別々に示されているが、テキスト118a〜cのうちの任意の2つ以上が、互いに重複し得、および/または互いを含み得る。コードとその対応するテキストとの間の対応関係は、概念コード108a〜cのそれぞれを、対応するテキストをマークアップする1つ以上のタグ(例えば、XMLタグ)として記憶すること等によって、システム100aに記憶され得る。例えば、概念コード108aは、対応するテキスト118aを区切る転写物106内の一対のタグとして実装され得、概念コード108bは、対応するテキスト118bを区切る転写物106内の一対のタグとして実装され得、概念コード108cは、対応するテキスト118cを区切る転写物106内の一対のタグとして実装され得る。
転写システム104は、口語音声ストリーム102から個別の概念のインスタンスを抽出するための、および当該の概念を草稿転写物106の中へコード化するための構成要素を含み得る。例えば、第1の概念抽出構成要素120aが音声ストリーム102から第1の概念のインスタンスを抽出し、第2の概念抽出構成要素120bが音声ストリーム102から第2の概念のインスタンスを抽出し、第3の概念抽出構成要素120cが音声ストリーム102から第3の概念のインスタンスを抽出すると仮定する。その結果、第1の概念抽出構成要素120aは、音声ストリーム102の第1の部分から第1の概念のインスタンスを抽出し得(図2、演算202a)、第2の概念抽出構成要素120bは、音声ストリーム102の第2の部分から第2の概念のインスタンスを抽出し得(図2、演算202b)、第3の概念抽出構成要素120cは、音声ストリーム102の第3の部分から第3の概念のインスタンスを抽出し得る(図2、演算202c)。
概念抽出構成要素120a〜cは、口語音声ストリーム102から概念のインスタンスを抽出するために、自然言語処理(NLP)手法を使用し得る。したがって、概念抽出構成要素120a〜cは、本明細書で「自然言語処理(NLP)構成要素」とも称され得る。
第1、第2、および第3の概念は、互いに異なり得る。一例に過ぎないが、第1の概念は、「日付」概念であり得、第2の概念は、「薬物投与」概念であり得、第3の概念は、「アレルギー」概念であり得る。その結果、図2の演算202a、202b、および202cによって行われる概念抽出は、互いに異なる概念のインスタンスを抽出することを伴い得る。
口語音声ストリーム102の第1、第2、および第3の部分は、別々であるか、互いを含むか、または別様には任意の組み合わせで互いに重複し得る。
本明細書で使用される「音声ストリームから概念のインスタンスを抽出する」は、概念のインスタンスを表す一部の音声ストリーム102に基づいて、概念のインスタンスを表す内容を生成することを指す。そのような生成された内容は、本明細書において「概念内容」と称される。例えば、「日付」概念の場合、「<DATE>1993年10月1日</DATE>」というテキストおよび「1、93」という発話が、どちらも「日付」概念の同じインスタンス、すなわち1993年10月1日という日付を表しているので、音声ストリーム102から日付概念のインスタンスを抽出する一例は、「10、1、93」が話された音声ストリームの一部分に基づいて、「<DATE>1993年10月1日</DATE>」というテキストを生成している。この例において、「<DATE>1993年10月1日</DATE>」というテキストは、概念内容の一例である。
この例が示すように、概念内容は、コードと、対応するテキストとを含み得る。例えば、第1の概念抽出構成要素120aは、第1の概念のインスタンスを抽出して、概念コード108aの中の第1の概念のインスタンスおよび草稿転写物106の中の対応するテキスト118aをコード化することによって第1の概念内容122aを生成し得(演算202a)、概念コード108aは、第1の概念(例えば、「日付」概念)を特定し、第1のテキスト118aは、口語音声ストリーム102の第1の部分を表す(すなわち、文字通りであるか、文字通りでない転写である)。同様に、第2の概念抽出構成要素120bは、第2の概念のインスタンスを抽出して、概念コード108bの中の第2の概念のインスタンスおよび草稿転写物106の中の対応するテキスト118bをコード化することによって第2の概念内容122bを生成し得(演算202b)、概念コード108bは、第2の概念(例えば、「薬物投与」概念)を特定し、第2のテキスト118bは、口語音声ストリーム102の第2の部分を表す。最後に、第3の概念抽出構成要素120cは、第3の概念のインスタンスを抽出して、概念コード108cの中の第3の概念のインスタンスおよび草稿転写物106の中の対応するテキスト118cをコード化することによって第3の概念内容122cを生成し得(演算202c)、概念コード108cは、第2の概念(例えば、「薬物投与」概念)を特定し、第2のテキスト118cは、口語音声ストリーム102の第2の部分を表す。
上で述べたように、この例において、「<DATE>1993年10月1日</DATE>」というテキストは、「日付」概念のインスタンスを表す概念内容の一例である。しかしながら、概念内容は、コードおよびテキストを含む必要はない。代わりに、例えば、概念内容は、任意の対応するテキストではなく、コード(またはコードによって表される概念のインスタンスの他の指示子)だけを含み得る。例えば、図1Aの概念内容122aは、テキスト118aではなく、代替として、概念コード108aを含み得る。別の例として、概念内容は、対応するコード(またはテキストによって表される概念のインスタンスの他の指示子)ではなく、テキストを含み得る。例えば、図1Aの概念内容122aは、概念コード108aではなく、代替として、テキスト118aを含み得る。したがって、本明細書における概念内容122a〜cに対するいかなる参照も、図1Aに示される実施形態以外の当該の内容122a〜cの実施形態を含むものと理解されたい。
概念抽出構成要素120a〜cは、任意の形態を取り得る。例えば、それらは、別個の規則、ヒューリスティックス、統計的測度、複数組のデータ、またはそれらの任意の組み合わせであり得る。概念抽出構成要素120a〜cのそれぞれは、別個のコンピュータプログラムモジュールの形態を取り得るが、これは必須ではない。代わりに、例えば、概念抽出構成要素の一部または全部は、単一のコンピュータプログラムモジュールの中へ実装され、統合され得る。
下でより詳細に説明するように、本発明の実施形態は、別個の信頼性スコアまたは信頼性の他の測度を概念抽出構成要素120a〜cのそれぞれと関連付ける等によって、概念抽出構成要素120a〜cのそれぞれの信頼性を追跡し得る。そのような信頼性スコアは、例えば、概念抽出構成要素120a〜cによって抽出された概念のそれぞれと関連して、別個の信頼性スコアを関連付け、記憶することによって実行され得る。例えば、第1の信頼性スコアは、概念抽出構成要素120aによって生成された概念と関連付けられ、それと関連して記憶され得、第2の信頼性スコアは、概念抽出構成要素120bによって生成された概念と関連付けられ、それと関連して記憶され得、第3の信頼性スコアは、概念抽出構成要素120aによって生成された概念と関連付けられ、それと関連して記憶され得る。概念抽出構成要素120a〜cの一部または全部が単一のコンピュータプログラムモジュールの中へ統合された場合、図1Aで示される別個の概念抽出構成要素120a〜cは、別個のコンピュータプログラムモジュールまたは別個の物理的構成要素ではなく、単に、別個の信頼性スコアの、別個の概念との関連を表し得る。
上で説明したように、草稿転写物106の中の概念内容122a〜cのそれぞれは、概念抽出構成要素120a〜cのうちの対応する1つによって作成され得る。図1Aのリンク124a〜cは、概念内容122a〜cと、それらを作成した(または転写システム104にそれらを作成させた)対応する概念抽出構成要素120a〜cそれぞれとの間の対応関係を示す。より具体的には、リンク124aは、概念抽出構成要素120aが概念内容122aを作成したこと、またはその作成を生じさせたことを示し、リンク124bは、概念抽出構成要素120bが概念内容122bを作成したこと、またはその作成を生じさせたことを示し、リンク124cは、概念抽出構成要素120cが概念内容122cを作成したこと、またはその作成を生じさせたことを示す。
リンク124a〜cは、システム100aの要素として生成され、および/または記憶される場合もあり、またはそのようにされない場合もある。例えば、リンク124a〜cは、草稿転写物106内のデータ構造等で、システム100aの中のデータ構造内に記憶され得る。例えば、リンク124a〜cのそれぞれは、概念内容122a〜cのうちの対応する1つ内のデータ構造内に記憶され得る。そのようなデータ構造は、例えば、概念内容122a〜cを生成する過程の一部として、概念抽出構成要素120aによって、またはそれを使用して作成され得る(図2、演算202a〜c)。下の説明から明らかになるように、リンク124a〜cがシステム100aの中のデータ構造内に記憶されるかどうかに関わらず、リンク124a〜cによって表される情報は、後に、概念内容122a〜cと概念抽出構成要素120a〜cとの間の対応関係に基づいて措置を講ずるために使用され得る。
本発明の実施形態は、上で参照した「質問−応答システムにおける関連する証拠に対する計算可能な手引きの提供(Providing Computable Guidance to Relevant Evidence in Question−Answering Systems)」という名称の特許出願で説明される種類等の、質問応答システムと関連して使用され得る。その中で説明されるように、質問応答システムの1つの用途は、臨床診断書のコーパスに基づいて、請求コードを生成することである。この作業において、人間オペレータ(コーダー)は、その内容に基づいて、臨床診断書の内容をレビューし、清算のために支払人に提出することができる制御された語彙内の1組のコード(例えば、CPTおよびICD−9またはICD−10)を生成しなければならない。これは、適切な請求コードを生成するために文書の内容から要約することを必要とする、認知的に過酷な作業である。
具体的には、草稿転写物106が生成されると、草稿転写物106および/または付加的なデータソースの内容に基づいて適切な請求コード140を生成または選択するために、推論モジュール130(本明細書において「推論エンジン」とも称される)が使用され得る。推論モジュール130は、請求コード140を生成するために、上で参照した(「質問−応答システムにおける関連する証拠に計算可能な手引きを提供する(Providing Computable Guidance to Relevant Evidence in Question−Answering Systems)」)という名称の米国特許出願第13/025,051号で開示される手法のいずれかを使用し得る。例えば、推論モジュール130は、全自動化された推論モジュールであってもよく、または自動化された推論を、人間の請求コードの専門家によって提供される人間推論と組み合わせてもよい。
図1Aでは、請求コード140が3つの請求コード142a〜cを含むように示されているが、請求コード140は、3つよりも少ない、または多い請求コードを含み得る。請求コード140は、任意の方法で記憶され、表され得る。例えば、請求コード140は、草稿転写物106と統合され、その中に記憶され得る。
推論モジュール130は、例えば保険会社および州機関によって発行される、請求のコード化に対する適用可能な規約をコード化し得る。推論モジュール130は、例えば、それぞれが請求コードに文書内容をマッピングするための別個の1組の論理を実装する、フォワード論理構成要素132a〜cを含み得る。図1Aには、例示のために3つの論理構成要素132a〜cが示されているが、推論モジュール130は、任意の数のフォワード論理構成要素を含み得、この数は、概念抽出構成要素120a〜cの数または概念内容122a〜cの数と同じである必要はない。
図1Aでは、推論モジュール130が草稿転写物106を入力として受け取るように示されているが、これは、単なる一例に過ぎず、本発明の限定を成すものではない。推論モジュール130は、草稿転写物106に加えておよび/またはその代わりに、データソースから入力を受け取り、フォワード論理構成要素132a〜cをデータソースに適用し得る。例えば、推論モジュール106は、複数の文書(例えば、草稿転写物106と同様に作成された複数の草稿転写物)を入力として受け取り得る。そのような複数の文書は、例えば、同じ患者に関する複数の報告であり得る。別の例として、推論モジュール106は、電子医療記録(EMR)等のデータベースレコードを入力として受け取り得る。そのようなデータベースレコードは、例えば、ある患者に関する情報を含み得、草稿転写物106および/または他の文書から導き出されたデータを使用して作成および/または更新されたものであり得る。データベースレコードは、例えば、テキストおよび/または個別の事実(例えば、概念内容122a〜cと同一または同様の形態のコード化された概念)を含み得る。転写システム104は、概念抽出構成要素120a〜cをデータベースレコードの中のテキストに適用し得るが、概念抽出構成要素120a〜cをデータベースレコードのいかなる個別の事実にも適用せず、それによって、そのような個別の事実を元のままにする。
別の例として、推論モジュール106は、(例えば、ASCIIまたはHTMLで)テキスト文書を受け取り得、これは、次いで、概念抽出構成要素120a〜cが音声ストリームに基づいて概念内容をコード化するのと同様の手法で、概念内容でテキスト文書をコード化するために、データ抽出構成要素(図示せず)によって処理される。したがって、推論モジュール130による草稿転写物106の使用に対する本明細書でのいかなる参照も、より一般的には、請求コード140を生成するための推論モジュール130による任意のデータソース(特定の患者または特定の手技に関連するデータを含むデータソース等)の使用を指すものと理解されたい。
さらに、図1Aの実施例では、推論モジュール130が概念内容122a〜cを入力として受け取っているが、これは、単なる一例に過ぎない。代替的に、または加えて、例えば、図1Bで示されるように、推論モジュール130は、主題160(本明細書において「事実」とも称される)を入力として受け取り得る。主題160は、1つ以上の草稿転写物106a〜c(図1Aの草稿転写物106を含み得る)から導き出される情報を表すデータを含み得る。例えば、主題160は、調和モジュール150によって草稿転写物106a〜cから導き出された任意の数の主題162a〜cを含み得る。主題は、例えば、患者が糖尿病にかかっているという事実等の、特定の患者に関する情報を表し得る。
例えば調和論理モジュール152a〜cを草稿転写物106a〜cに(例えば、草稿転写物106a〜c内の概念内容122a〜cに)提供することによって、調和モジュール150は、草稿転写物106a〜cから主題162a〜cを導き出し得る。調和論理モジュール152a〜cのそれぞれは、草稿転写物106a〜cから主題を導き出すための別個の論理を実装し得る。調和論理モジュールは、例えば、(<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>というコードから「患者は、糖尿病にかかっている」という主題を導き出すこと等によって)単一の概念内容から主題を導き出し得る。別の例として、調和論理モジュールは、<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>というコードおよび<コントロール不良の糖尿病(DIABETES_UNCONTROLLED)>というコードから、「患者は、コントロール不良の糖尿病にかかっている」という主題を導き出す等によって、複数の概念内容から主題を導き出し得る。調和モジュール150は、最初に、内容のそれぞれから別個の主題を導き出し、次いで、調和論理モジュールを別個の主題に適用して、さらなる主題を導き出すことによって、複数の内容からの主題のそのような導出を行い得る。
これは、一般的概念の特殊化を表す主題を導き出すことによって、一般的概念を一般的概念の特殊化と調和させる一例である。当業者は、そのような調和に起因する主題を生成するために、複数の概念を調和させるための他の調和論理をどのように実装するのかを理解するであろう。さらに、調和モジュール150は、単一の繰り返しで調和論理モジュール152a〜cを草稿転写物106a〜cに適用することに限定する必要はない。より一般的には、調和モジュール150は、例えば、既存の主題を精緻化し、新しい主題を1組の主題160に加えるために、調和論理モジュール152a〜cを現在の1組の主題162a〜cに繰り返し(例えば、周期的に)適用し得る。新しい草稿転写物は、調和モジュール150への入力として提供されるので、調和モジュール150は、それらの草稿転写物から新しい主題を導き出し、新しい主題を1組の主題160に加え、そして再度、調和論理モジュール152a〜cを新しい1組の主題160に適用し得る。
下でより詳細に説明するように、本発明の実施形態は、個々の概念抽出構成要素120a〜c等の、システム100a〜bの種々の構成要素の信頼性を追跡し得る。調和モジュール150は、一方の概念の信頼性を、調和論理モジュール152a〜cを使用してその概念から導き出される他方の概念に伝達し得る。例えば、第1の概念が50%の信頼性スコアを有する場合、調和モジュール150は、調和モジュール150が第1の概念から導き出す任意の主題に50%の信頼性スコアを割り当て得る。調和モジュール150が複数の主題から1つの主題を導き出すときに、調和モジュール150は、種々の方法のうちのいずれかで、複数の主題の信頼性スコアに基づいて、導き出した主題に信頼性スコアを割り当て得る。
主題160は、草稿転写物106a〜cの中の概念内容122a〜cと異なる形態で表され得る。例えば、概念内容122a〜cは、SNOMED等のフォーマットで表され得る一方で、主題162a〜cは、ICD−10等のフォーマットで表され得る。
推論モジュール130は、草稿転写物106a〜cによって表される概念の代わりに、またはそれに加えて、主題160に関して推論し得る。例えば、1つのシステムを作成するために、システム100a(図1A)および100b(図1B)は、相互に組み合わせられ得、該システムは、(1)転写システム104を使用して、1つ以上の口語音声ストリーム(例えば、音声ストリーム102)から概念内容を抽出し、(2)調和モジュール150を使用して、草稿転写物106a〜cから主題160を導き出し、(3)推論モジュール130を使用して、フォワード論理構成要素132a〜cを派生主題160に適用し、それによって、主題160に基づいて請求コード140を生成する。推論モジュール130を概念内容に適用することに対する本明細書でのいかなる参照も、概念内容に加えて、または、それの代わりに推論モジュール130を主題160に適用することを指すものと理解されたい。
推論モジュール130は、例えば、統計的または記号的(例えば、決定論理)のいずれかであり得るが、説明を容易にするために、かつ限定されることなく、下の説明における推論モジュール130は、記号的な規則に基づいて推論することを想定する。例えば、フォワード論理構成要素132a〜cのそれぞれは、草稿転写物106から導き出された情報に基づいて、請求コード140を生成または選択するための別個の記号的な規則を実装し得る。そのような各規則は、条件(本明細書において、前提とも称される)と、結論とを含む。結論は、1つ以上の請求コードを特定し得る。下でより詳細に説明するように、規則の条件がデータソースの内容(例えば、概念内容)によって満たされる場合、推論モジュール130は、規則の結論によって特定された請求コードを生成し得る。
条件は、例えば、特定の概念のインスタンスを表す概念コードのデータソースの中に存在することを必要とし得る。したがって、本明細書の説明において、「条件A」は、データソースが、概念Aのインスタンスを表す概念コードを含むかどうかを満たす条件を指し得るのに対して、「条件B」は、データソースが、概念Bのインスタンスを表す概念コードを含むかどうかを満たす条件を指し得るが、概念Aは、概念Bと異なり得る。同様に、「条件A」は、主題160の中に概念Aを表す主題が存在することによって満たされる条件を指し得る一方で、「条件B」は、主題160の中に概念Bを表す主題が存在することによって満たされる条件を指し得る。しかしながら、これらは、単なる条件の一例に過ぎず、本発明を限定するものではない。条件は、例えば、1つ以上のブール演算子で結合された複数の副条件(本明細書において、条項とも称される)を含み得る。
記号的な規則システムの1つの利点は、オペレータフィードバックを観察することにより、注釈を付けたコーパスに関する新しい1組の規則をそれぞれ再学習することを必要とせずに、規約が変化したときに、フォワード論理構成要素132a〜cによって表される記号的な規則が、手動で調節され得ることである。
さらに、システム100a(図1A)および100b(図1B)の全ての要素が必要とされるわけではない。例えば、本発明の実施形態は、転写システム104を省略してもよく、草稿転写物106a〜cがどのように生成されたかに関わらず、1つ以上の当該の草稿転写物106a〜cを入力として受け取り得る。草稿転写物106a〜cは、概念内容を予め含むことができる。代替として、草稿転写物106a〜cは、概念内容を含まない場合があり、その場合、本発明の実施形態は、概念抽出構成要素120a〜cまたは他の構成要素を使用して、草稿転写物106a〜c内の既存のテキストを概念コードでマークアップすること等によって、草稿転写物106a〜c内の概念コードを作成し得る。これらの例に示すように、本発明の実施形態は、音声ストリーム102等の音声ストリームを受け取ること、またはこれに対して作用することを必要としない。
さらに、転写物106および転写物106a〜cは、本明細書において「草稿」転写物と称されるが、本発明の実施形態は、草稿文書にだけでなく、より一般的には、レビューされ、修正されて、完成され、よってもはや草稿ではない文書等の、あらゆる文書にも適用され得る。
フォワード論理構成要素132a〜cによって、それぞれ実装され得る、3つの規則の例を表1に示す。
3つの規則のそれぞれは、「if(前提)then(結論)」の形態であり、各規則の前提および結論は、表1で示される通りである。より具体的には、表1の例において、
・規則#1は、データソースが、患者が糖尿病にかかっていることを特定した場合に請求コードを生成するためのものであるが、データソースは、患者が糖尿病に関連して任意の合併症にかかっていることには言及しない。具体的には、規則#1は、データソースが、患者が糖尿病にかかっていることを特定した場合に、推論モジュール130が、請求コード<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>を請求コード140に加えるべきであることを示す。
・規則#2は、データソースが、患者がコントロール不良の糖尿病にかかっていることを特定した場合に、請求コードを生成するためのものである。具体的には、規則#2は、データソースが、患者が糖尿病にかかっていること、および患者の糖尿病のステータスがコントロール不良であることを特定した場合に、推論モジュール130が、請求コード<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>を請求コード140に加えるべきであることを示す。
・規則#3は、データソースが、患者が高浸透圧症を伴う糖尿病にかかっていることを特定した場合に、請求コードを生成するためのものである。具体的には、規則#3は、データソースが、患者が糖尿病にかかっていること、および患者が高浸透圧症を有することを特定した場合に、推論モジュール130が、請求コード<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>を請求コード140に加えるべきであることを示す。
推論モジュール130は、1組の請求コード140を初期化し(例えば、空の1組の請求コードを作成し)(図2、演算204)、次いで、フォワード論理構成要素132a〜c(例えば、記号的な規則)の全てをデータソースに適用する(図2、演算206)ことによって、データソース(例えば、草稿転写物106)に基づいて、1組の請求コード140を生成し得る。各フォワード論理構成要素Lについて、推論モジュール130は、データソースがフォワード論理構成要素Lの条件を満たすかどうかを判断する(図2、演算208)。そのような条件が満たされた場合、推論モジュール130は、フォワード論理構成要素Lによって特定された1つ以上の請求コードを、1組の請求コード140に加える(図2、演算210)。規則の形態を取るフォワード論理構成要素132aの具体的な場合において、データソースが、そのような規則の前提を満たした場合、推論モジュール130は、規則の結論によって特定される請求コードを1組の請求コード140に加える。フォワード論理構成要素Lによって特定された条件が満たされなかった場合、推論モジュール130は、いかなる請求コードも、1組の請求コード140に加えない(図2、演算212)。
上で述ベたように、推論モジュール130は、データソース(例えば、草稿転写物106)の代わりに主題160に基づいて、1組の請求コード140を生成し得、その場合、フォワード論理構成要素132a〜cを概念コードに、またはデータソースに適用することに対する本明細書でのいかなる参照も、フォワード論理構成要素132a〜cを主題160に適用することを指すものと理解されたい。例えば、表1の規則の条件は、データソースの中のコードの代わりに主題160に適用され得る。
請求コードは、オントロジーで構成される概念を表し得る。例えば、図3は、糖尿病に関する概念を含むオントロジー300の高度に単純化された実施例を示す。オントロジーは、(1)糖尿病の一般的概念を表すルートノード302と、(2)詳細不明の糖尿病の概念を表す、ルートノード302の第1の子ノード304aと、(3)コントロール不良の糖尿病の概念を表す、ルートノード302の第2の子ノード304bとを含む。オントロジー300における任意の特定ノードは、対応するコード(例えば、請求コード)を有する場合もあり、有しない場合もある。例えば、図3のオントロジー300において、(ルートノード302によって表される)糖尿病の一般的概念は、いかなる対応するコードも有し得ないのに対して、子ノード304a〜bは、どちらも対応するコードを有し得る。
特定ノードが第1の概念を表し、特定ノードの子ノードが第2の概念を表す場合、第2の概念は、第1の概念の「特殊化」であり得る。例えば、図3のオントロジー300において、詳細不明の糖尿病(ノード304aによって表される)の概念は、糖尿病(ノード302によって表される)の一般的概念の特殊化であり、コントロール不良の糖尿病(ノード304bによって表される)および高浸透圧症を伴う糖尿病(ノードの304cによって表される)の概念は、糖尿病(ノード302によって表される)の一般的概念の特殊化である。より一般的には、ノードによって表される概念は、そのノードの任意の祖先(例えば、親、祖父、または曽祖父)によって表される、概念の特殊化であり得る。
データソースの中のデータによって表される概念が条件を満たす場合、またはそのデータによって表される概念が条件を満たす概念の特殊化である場合、図2の方法200の演算208は、その条件を、そのデータによって満たされるものとして扱い得る。例えば、特定の条件が、糖尿病(図3でノード302によって表される)の概念によって満たされる場合、詳細不明の糖尿病が糖尿病の特殊化であるので、演算208は、詳細不明の糖尿病(図3でノード304aによって表される)を表すデータを、特定の条件を満たすものとして扱い得る。
図2の方法200をさらに理解するために、推論モジュール130が、患者が糖尿病にかかっていることを示すコードで、または対応するオントロジー内のそのコードの任意の特殊化でマークアップした患者に関連する所見を草稿転写物106が含むことを見出すという特定の例を考える。この場合、フォワード論理構成要素132aの条件(例えば、規則#1)が満たされ、推論モジュール130は、現在の1組の請求コード140に請求コード<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>を加える。例示のために、図1Aの請求コード142aが、請求コード<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>であると仮定する。
同様に、推論モジュール130が、「コントロール不良の糖尿病(DIABETES_UNCONTROLLED)>」というコードでマークアップした同じ患者に関連する所見を草稿転写物106が含むことを見出すと仮定する。この場合、フォワード論理構成要素132bの条件(例えば、規則#2)が満たされ、推論モジュール130は、生成される現在の1組の請求コード140に請求コード<コントロール不良の糖尿病(DIABETES_UNCONTROLLED)>を加える。例示のために、請求コード142bが、請求コード<コントロール不良の糖尿病(DIABETES_UNCONTROLLED)>であると仮定する。
さらに、草稿転写物106が、同じ患者が高浸透圧症に罹患しているといういかなる証拠も含まないと仮定する。その結果、推論モジュール130は、フォワード論理構成要素132cの条件(例えば、規則#3)が満たされることを見出さず、その結果、フォワード論理構成要素132cは、この実施例において、1組の請求コード140に加えられるいかなる請求コードも生じさせない。
この実施例では、1組の請求コード140が、現在、請求コード<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>および請求コード<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>の双方を含むが、コード<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>は、コード<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>に優先しなければならない。推論モジュール130は、例えば、組み換えステップを適用することによって、もはや重要ではないコード<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>を除去し得る。例えば、生成されたコードAが、生成されたコードBによって表される概念の特殊化を表す場合、2つのコードAおよびBは、相互に組み合わせられ得る。別の例として、コードY1を生成する規則の条項Z1が、コードY2を生成する規則の条項Z2を狭義に意味する場合、2つのコードY1およびY2は、(例えば、コードY1は組み合わせに残るが、コードY2は残らないように)相互に組み合わせられ得る。別の例として、コードは、規則、例えばコードAおよびBが生成された場合に、コードAおよびBを(例えば、コードAは組み合わせに残るが、コードBは残らないように)組み合わせるべきであると特定する規則に基づいて、組み合わせられ得る。さらに別の例として、組み換えの統計または他の学習測度が使用され得る。
図1Aはまた、データソースの中の概念内容122a〜c(例えば、草稿転写物106)と、図2の演算208で当該の概念内容122a〜cによって満たされた条件を有するフォワード論理構成要素132a〜bとの間の、リンク134a〜bも示す。例えば、リンク134aは、概念内容122a(例えば、概念コード108a)が、フォワード論理構成要素132aの条件を満たしたこと、および推論モジュール130が、そのような満たしたことに応じて請求コード142aを生成したことを示す。同様に、リンク134bは、概念内容122b(例えば、概念コード108b)が、フォワード論理構成要素132bの条件を満たしたこと、および推論モジュール130が、そのような満たしたことに応じて請求コード142bを生成したことを示す。
リンク134a〜bは、システム100aの要素として生成され、および/または記憶される場合もあり、またはそのようにされない場合もある。例えば、リンク134a〜bは、1組の請求コード140内のデータ構造等で、システム100aの中のデータ構造内に記憶され得る。例えば、請求コードのそれぞれは、請求コードを生成させたフォワード論理構成要素の概念内容(またはその一部)を識別するデータを含み得る。推論モジュール130は、例えば、図2の演算210で、個々の請求コード142a〜bをそれぞれシステム100aに加える過程の一部としてリンク134a〜bを表すデータを生成し、記憶し得る。
図1Aはまた、フォワード論理構成要素132a〜bの条件がデータソース(例えば、草稿転写物106)によって満たされたと判断することの結果として、およびそれに応じて、推論モジュール130によって生成される、フォワード論理構成要素132a〜bと請求コード142a〜bとの間のリンク144a〜bも示す。より具体的には、リンク144aは、推論モジュール130が、データソースがフォワード論理構成要素132aの条件を満たしたと判断することの結果として、およびそれに応じて、請求コード142aが生成されたことを示す。同様に、リンク144bは、推論モジュール130が、データソースがフォワード論理構成要素132bの条件を満たしたと判断することの結果として、およびそれに応じて、請求コード142bが生成されたことを示す。
リンク144a〜bは、システム100aの要素として生成され、および/または記憶される場合もあり、もしくはそのようにされない場合もある。例えば、リンク144a〜bは、1組の請求コード140内のデータ構造等で、システム100aの中のデータ構造内に記憶され得る。例えば、請求コードのそれぞれは、請求コードを生成させたフォワード論理構成要素を識別するデータを含み得る。推論モジュール130は、例えば、図2の演算210で、個々の請求コード142a〜bをそれぞれシステム100aに加える過程の一部としてリンク144a〜bを表すデータを生成し、記憶し得る。
推論モジュール130によって出力される1組の請求コード140は、自動システム100aによって生成される請求コード140を承認、または拒絶/修正し得る人間オペレータによってレビューされ得る。より具体的には、図4は、本発明の一実施形態による、人間レビュアー406から請求コード140に対するフィードバックを受け取るための、ならびにそのようなフィードバックに応じて、およびそれに基づいてシステム100aの性能を自動的に評価し、向上させるためのシステム400のデータフロー図である。図5Aは、本発明の一実施形態による、図4のシステム400によって行われる方法500のフローチャートである。
請求コード出力モジュール402は、請求コード142a〜cの一部または全部を表す出力404を人間レビュアー406に提供する(図5A、演算502)。請求コード出力404は、請求コード142a〜cの文字表現(例えば、請求コード142aの場合、「詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)」および/または「詳細不明の糖尿病(Unspecified_Diabetes)」)等の、任意の形態を取り得る。出力404はまた、データソース(例えば、草稿転写物106)および/または口語音声ストリーム102の一部もしくは全部を表す出力等の、システム100aの要素のいずれかを表す出力も含み得る。そのような付加的な出力は、レビュアー406が請求コード140の正確さを評価するのを援助し得る。本発明の実施形態は、出力404のいかなる特定の形態にも限定されない。
人間レビュアー406は、請求コード140の一部または全部を評価し、請求コード140の一部または全部が正確かどうかに関して判断を行い得る。人間レビュアー406は、任意の方法でこの判断を行い得、本発明の実施形態は、この任意の特定の方法で行われるこの判断に依存しない。人間レビュアー406は、例えば、請求コード140のうちの特定の1つが、口語音声ストリーム102および/または草稿転写物106によって表される情報と一致しないので、それが不正確であると判断し得る。
例えば、人間レビュアー406は、請求コードがデータソースの中の一部または全てのテキスト(例えば、テキスト118a〜c)の意味と一致しないので、請求コードのうちの1つ142aが不正確であると結論し得る。この1つの特定の例として、転写システム104によって誤ってコード化されたデータソースの中のテキストの意味と請求コードが一致しないので、人間レビュアー406は、請求コードの1つ142aが不正確であると結論し得る。例えば、人間レビュアー406は、概念抽出構成要素120aが概念コード108aでテキスト118aを誤ってコード化した結果として、請求コード142aが不正確であると結論し得る。この場合、概念コード108aは、テキスト118aによって、または転写システム104にテキスト118aを生成させた口語音声ストリーム102の中の発話によって表されない概念を表し得る。この例が示すように、推論モジュール130は、無効な前提(例えば、不正確な概念内容122a)をフォワード論理構成要素132a〜cのうちの1つに提供した結果として、誤った請求コードを生成し得、該無効な前提は、概念抽出構成要素120a〜cのうちの1つによって生成された概念内容を含む。
システム400はまた、請求コードフィードバックモジュール408も含む。人間レビュアー406が、特定の請求コードが正確かどうかを判断すると、レビュアー406は、その判断を表す入力408を請求コードフィードバックモジュール410に提供する(図5A、演算504)。一般に、入力408は、レビューされた請求コードの検証ステータスを表し、この検証ステータスは、「正確」および「不正確」または「真」および「偽」等の、1組の可能な値から選択される値を有し得る。フィードバック408は、請求コード142a〜cのうちの1つ以上の正確なフィードバックを含み得る。
下でさらに詳細に説明するように、レビューする人間オペレータ406によって提供されるフィードバック408は、自動的に取り込まれ、解釈されて、自動請求コード化システム100aの性能を評価し得る。具体的には、本発明の実施形態は、誤って/正しく生成された請求コードに対する非難および/または賞賛を、請求コードの生成につながる構成論理条項に割り当てる方法で、推論モジュール130の推論過程を逆にするための手法を対象とする。
一般に、請求コードフィードバックモジュール410は、フィードバック408に対応する請求コードを生成する責任があった請求コード生成システム100aの1つ以上の構成要素を識別し(図5A、演算506)、非難(例えば、罰則または他の負の強化)または賞賛(例えば、報酬または他の正の強化)をその構成要素と関連付け得る。
フィードバック408と関連付けられる請求コードを生成する責任があるものとして識別され得る構成要素の例は、概念抽出構成要素120a〜cおよびフォワード論理構成要素132a〜cである。システム400は、例えば請求コードから対応するフォワード論理構成要素へ戻るリンクをたどることによって、請求コードを生成する責任があるフォワード論理構成要素を識別し得る。例えば、レビュアー406が請求コード142bに関するフィードバック408を提供する場合、フィードバックモジュール410は、請求コード142bからフォワード論理構成要素132bへのリンク144bをたどることによって、請求コード142bを生成するフォワード論理構成要素として、フォワード論理構成要素132bを識別し得る。しかしながら、請求コードを生成する責任があるフォワード論理構成要素を識別するために、リンクを使用する必要はない。その代わりに、および下でより詳細に説明するように、リンクを使用せずに、逆論理を使用して、その責任があるフォワード論理構成要素を識別し得る。
請求コードフィードバックモジュール410は、真理値を、識別されたフォワード論理構成要素と関連付け得る。例えば、レビュアーのフィードバック408が、レビューされた請求コードを確証した場合、請求コードフィードバックモジュール410は、「真」という真理値を、識別されたフォワード論理構成要素と関連付け得、レビュアーのフィードバック408が、レビューされた請求コードを反証した場合、請求コードフィードバックモジュール410は、「偽」という真理値を、識別されたフォワード論理構成要素と関連付け得る。請求コードフィードバックモジュール410は、例えば、対応するフォワード論理構成要素の中の、またはそれと関連するそのような真理値を記憶し得る。
システム400は(演算506で)、例えば請求コードから対応するフォワード論理構成要素へ戻る一連のリンクをたどることによって、請求コードを生成する責任がある抽出構成要素を識別し得る。例えば、レビュアー406が請求コード142bに関するフィードバック408を提供する場合、フィードバックモジュール410は、請求コード142bからフォワード論理構成要素132bへのリンク144bをたどることによって、フォワード論理構成要素132bから概念内容122bへのリンク134bをたどることによって、および概念内容122bから概念抽出構成要素120bへのリンク124bをたどることによって、請求コード142bを生成する概念抽出構成要素として、概念抽出構成要素120bを識別し得る。しかしながら、請求コードを生成する責任がある概念抽出構成要素を識別するために、リンクを使用する必要はない。その代わりに、および下でより詳細に説明するように、リンクを使用せずに、逆論理を適用して、その責任がある概念抽出構成要素を識別し得る。
システム400は(演算506で)、2つ以上の構成要素を、異なる種類の構成要素を含む請求コードを生成する責任があるものとして、2つ以上の構成要素を識別し得る。例えば、システム400は、フォワード論理構成要素132bおよび概念抽出構成要素120bの双方を、請求コード142bを生成する責任があるものとして識別し得る。
システム400は(演算506で)、加えて、または代替として、構成要素の1つ以上の副構成要素を、請求コードを生成する責任があるものとして識別し得る。例えば、上記の例示的な規則で示されるように、フォワード論理構成要素は、複数の条項(副条件)を有する論理を表し得る。例えば、「AかつBである場合、Cである(If A AND B,Then C)」という形態の規則を実装するフォワード論理構成要素を考える。そのような規則は、2つの条項(副条件)、すなわち、AおよびBを含む。本明細書で説明において、そのような各条項は、条項を含む規則を実装するフォワード論理構成要素の「副構成要素」に対応し、それによって実装されるものと考えられる。
システム400は(演算506で)、例えば、これらの条項の一方または双方を個々に、請求コードを生成する責任があるものとして識別し得る。したがって、システム100aの「構成要素」と関連する措置を講ずる(非難または賞賛を関連付ける等)ことに対する本明細書でのいかなる参照も、構成要素の1つ以上の副構成要素と関連して措置を講じることを指すものと理解されたい。具体的には、フォワード論理構成要素の各副構成要素は、フォワード論理構成要素によって表される論理の別個の条項(副条件)に対応し、これを実装し得る。
請求コードフィードバックモジュール410は、様々な方法で、演算506で識別された構成要素を強化と関連付け得る。強化を構成要素と関連付けることは、本明細書において、強化を構成要素に「適用する」とも称される。
請求コードフィードバックモジュール410は、例えば、人間レビュアー406によって提供されるフィードバック408が、正であるかどうか、すなわち、フィードバック408が、対応する請求コードが正確であることを示すかどうかを判断し得る(図5A、演算508)。フィードバック408が正である場合、請求コードフィードバックモジュール410は、演算506で識別されるシステム構成要素と賞賛を関連付ける(図5A、演算510)。フィードバック408が負である場合、請求コードフィードバックモジュール410は、演算506で識別されるシステム構成要素と非難を関連付ける(図5A、演算512)。
賞賛および非難は、本明細書で使用される「強化」という用語の例である。したがって、一般に、請求コードフィードバックモジュール410は、図5Aの演算510および演算512の一部として、賞賛および/または非難を表す、強化出力412を生成し得る。そのような強化出力412は、種々の形態のうちのいずれかを取り得る。例えば、本明細書で「信頼性スコア」と称されるスコアは、システム100aの中の1つ以上の構成要素(例えば、概念抽出構成要素120a〜cおよびフォワード論理構成要素132a〜c)のそれぞれと関連付けられ得る。特定の構成要素の信頼性スコアは、特定の構成要素が正確な出力(例えば、正確な概念コード108a〜cまたは請求コード142a〜c)を確実に生成する程度の評価を表す。例示のために、信頼性スコアの値が、0(完全な不信頼性を表す)から1(完全な信頼性を表す)の範囲の実数であり得ると仮定する。各特定の構成要素と関連付けられる信頼性スコアは、0、1、または0.5等のいくつかの初期値に初期化され得る。
上で述べたように、信頼性スコアは、概念抽出構成要素と関連するのではなく、概念の表現と関連付けられ、それと関連して記憶され得る。いずれの場合も、概念は、1つ以上の属性を有し得、信頼性スコアは、概念自体と関連付けられることに加えて、概念の属性と関連付けられる。例えば、概念が2つの属性を有する場合、第1の信頼性スコアは、概念と関連付けられ得、第2の信頼性スコアは、第1の属性と関連付けられ得、第2の信頼性スコアは、第2の属性と関連付けられ得る。
この特定の信頼性スコアスキームは、単なる一例に過ぎず、本発明の限定を成すものではなく、何らかの方法で強化出力412を実装し得る。例えば、0が完全な信頼性を表し、1が完全な不信頼性を表すように、信頼性スコアの尺度を逆にしてもよい。この場合、信頼性スコアは、0%〜100%の範囲の、誤りの可能性とみなされ得る。
賞賛(正の強化)を特定の構成要素と関連付けることは(図5A、演算510)、所定の量(例えば、0.01、または0.1)だけ、特定の割合(例えば、1%、5%、または10%)だけ、またはアルゴリズムの出力を使用すること等によって、構成要素と関連付けられる信頼性スコアカウンタを増加させる(例えば、インクリメントする)こと、特定の信頼性スコアを構成要素(例えば、0、0.5、または0.1)に割り当てること、特定の構成要素と関連付けられた信頼性スコアを増加させることを含み得る。同様に、非難(負の強化)を特定の構成要素と関連付けることは(図5A、演算512)、所定の量(例えば、0.01、または0.1)だけ、特定の割合(例えば、1%、5%、または10%)だけ、またはアルゴリズムの出力を使用すること等によって、構成要素と関連付けられる信頼性スコアカウンタを減少させる(例えば、デクリメントする)こと、特定の信頼性スコアを構成要素(例えば、0、0.5、または0.1)に割り当てること、特定の構成要素と関連付けられた信頼性スコアを減少させることを含み得る。
信頼性スコアを構成要素と関連付けることに加えて、またはそれ代わりに、関連性の測度は、構成要素と関連付けられ得る。そのような関連性の測度は、例えば、構成要素によって生成された概念のインスタンスの観察された発生の数と等しい、またはこれに比例する値を有するカウンタであり得る。例えば、特定の構成要素によって生成された概念のインスタンスが観察される度に、関連性カウンタがその構成要素と関連付けられる。
請求コードフィードバックモジュール410が、強化(すなわち、非難または賞賛)を、同じ種類の複数の構成要素(例えば、複数のフォワード論理構成要素、または単一のフォワード論理構成要素の複数の条項)に適用する場合、請求コードフィードバックモジュール410は、均一または不均一に関わらず、同じ種類の複数の構成要素の中で、強化を(配分)分割し得る。例えば、請求コードフィードバックモジュール410が、フォワード論理構成要素132bの2つの条項には誤っている請求コード142bを生成する責任があると判断した場合、請求コードフィードバックモジュール410は、割り当てられる全非難を半分に分割(配分)すること等によって(例えば、0.1の非難値を、第1の条項に割り当てられる0.05の非難値と、第2の条項に割り当てられる0.05の非難値とに分割することによって)、非難の半分を第1の条項に割り当て、非難の半分を第2の条項に割り当て得る。
さらに別の例として、請求コードフィードバックモジュール410は、構成要素と関連付けられた従来の既知の可能性を構成要素に割り当てることによって、システム100aの特定の構成要素(または副構成要素)に強化を適用し得る。例えば、特定の構成要素は、複数の異なる規則と関連して、閉フィードバックループで観察され得る。構成要素の正確さは、請求コードフィードバックモジュール410によって、その構成要素に対する誤りの従来の既知の可能性として、観察され、記録され、次いで使用され得る。
演算506で識別された構成要素に強化出力412を適用した結果は、システム100a内に記憶され得る。例えば、特定の構成要素と関連付けられた信頼性スコアは、該特定の構成要素内に記憶され、またはそれと関連し得る。例えば、概念抽出構成要素120a〜cと関連付けられる信頼性スコアは、それぞれ、概念抽出構成要素120a〜c内に、または転写システム104内に記憶され、概念抽出構成要素120a〜cと関連付けられ得る。同様に、フォワード論理構成要素132a〜cと関連付けられる信頼性スコアは、それぞれ、フォワード論理構成要素132a〜c内に、または推論モジュール130内に記憶され、フォワード論理構成要素132a〜cと関連付けられ得る。別の例として、信頼性スコアは、請求コード142a〜cに記憶され、またはそれと関連し得る。例えば、フォワード論理構成要素の信頼性スコアまたは請求コード142aを生成する責任がある概念抽出構成要素は、請求コード142a内に記憶され、または請求コード140内に記憶され、請求コード142aと関連付けられ得る。
上で述べたように、請求コードを生成した構成要素は、例えば請求コードから構成要素への1つ以上のリンクをたどることによって、演算506で識別され得る。しかしながら、そのようなリンクをたどることは、単に、請求コードを生成する責任がある構成要素を識別するに過ぎない。しかしながら、そのような識別は、複数の副構成要素を含む構成要素を識別し得、そのいくつかは、請求コードを生成するために正確なデータに信頼され、そのいくつかは、請求コードを生成するために不正確なデータを信頼する。正確なデータを信頼する副構成要素に非難を割り当てること、または不正確なデータを信頼する副構成要素に賞賛を割り当てることは望ましくない。
したがって、本発明のいくつかの実施形態は、構成要素内の副構成要素の責任間で区別する。例えば、図5Bを参照すると、図5Aの演算512を実装するために本発明の一実施形態において行われる方法(フィードバック408がレビュアー406によって提供された請求コードを生成する責任があった構成要素と非難を関連付ける)のフローチャートが示されている。方法512は、演算506で識別された構成要素の全ての副構成要素を識別する(図5B、演算522)。次いで、そのような各副構成要素Sについて(図5B、演算524)、方法512は、レビュアーのフィードバック408が、副構成要素Sには請求コードの不正確さに対する責任があることを示すかどうかを判断する(図5B、演算526)。副構成要素Sに責任があると判断された場合、方法512は、上で説明した方法のいずれかで、副構成要素Sに非難を割り当てる(図5B、演算528)。
副構成要素Sに責任があると判断されなかった場合、方法512は、上で説明した方法のいずれかで、副構成要素Sに賞賛を割り当て得る(図5B、演算530)か、または副構成要素Sと関連していかなる措置も講じ得ない。方法512は、残りの副構成要素に対して上で説明した演算を繰り返す(図5B、演算532)。図5Aおよび図5Bの方法の1つの結果は、フィードバックモジュール410が、一方の構成要素の副構成要素に強化を適用し得るが、もう一方の構成要素の副構成要素には適用し得ないこと、およびフィードバックモジュール410が、一方の種類の強化(例えば、賞賛)を一方の構成要素の副構成要素に提供し得、もう一方の種類の強化(例えば、非難)をもう一方の構成要素の副構成要素に適用し得ることである。
特定の構成要素の副構成要素に賞賛を割り当てるために、同様の手法が適用され得る。例えば、図5Cを参照すると、図5Aの演算510を実装するために本発明の一実施形態において行われる方法(フィードバック408がレビュアー406によって提供された請求コードを生成する責任があった構成要素と賞賛を関連付ける)のフローチャートが示されている。方法510は、演算506で識別される構成要素の全ての副構成要素を識別する(図5C、演算542)。次いで、そのような各副構成要素Sについて(図5C、演算544)、方法510は、レビュアーのフィードバック408が、副構成要素Sには請求コードの正確さに対する責任があることを示すどうかを判断する(図5C、演算546)。副構成要素Sに責任があると判断された場合、方法510は、上で説明した方法のいずれかで、副構成要素Sに賞賛を割り当てる(図5C、演算548)。
副構成要素Sに責任があると判断されなかった場合、方法510は、上で説明した方法のいずれかで、副構成要素Sに非難を割り当て得る(図5C、演算550)か、または副構成要素Sと関連していかなる措置も講じ得ない。方法510は、残りの副構成要素に対して上で説明した演算を繰り返す(図5C、演算552)。
請求コードフィードバックモジュール410は、図5Bおよび図5Cで示される方法の一方または双方を実装し得る。換言すれば、請求コードフィードバックモジュール410は、副構成要素基準で(および随意に、構成要素基準でも)非難を割り当て得るが、賞賛は、副構成要素基準でだけ割り当て得る。別の例として、請求コードフィードバックモジュール410は、副構成要素基準で(および随意に、構成要素基準でも)賞賛を割り当て得るが、非難は、副構成要素基準でだけ割り当て得る。さらに別の例として、請求コードフィードバックモジュール410は、副構成要素基準で(および随意に、構成要素基準でも)非難を割り当て得、また、副構成要素基準で(および随意に、構成要素基準でも)賞賛も割り当て得る。さらに別の例として、請求コードフィードバックモジュール410は、構成要素基準でだけ非難を割り当て得、また、構成要素基準でだけ賞賛を割り当て得る。
請求コードフィードバックモジュール410は、請求コードフィードバック408が、特定の副構成要素Sが特定の請求コードの正確さまたは不正確さに対する責任があることを示すかどうかを(例えば、図5Bの演算526および図5Cの演算548で)判断するために、種々の手法のうちのいずれかを使用し得る。例えば、図6を参照すると、請求コードフィードバックモジュール410が、識別する責任がある構成要素を実装するために逆推論モジュール630を使用する、システム600のデータフロー図が示されている。
逆推論モジュール630は、逆論理構成要素632a〜cを含み、それぞれが、推論モジュール130(図1A)のフォワード論理構成要素132a〜cに関連して上で開示される方法のうちのいずれかで実装され得る。逆論理構成要素632a〜cのそれぞれは、総じて推論モジュール130によって表され、実装される1組の論理(例えば、1組の規則)を通じて後ろ向きに推論するための別個の論理を逆に実装し得る。総じて推論モジュール130によって表され、実装される1組の論理は、本明細書において、推論モジュール130の「規則組」と称されるが、より一般的には、推論モジュール130が、規則に加えて、または規則以外の論理を実装し得ること、および「規則組」という用語が、一般的に、本明細書で任意のそのような論理を指すことを理解されたい。
逆論理構成要素632aは、推論モジュール130の規則組を通じて後ろ向きに推論するための第1の論理を実装し得、逆論理構成要素632bは、推論モジュール130の規則組を通じて後ろ向きに推論するための第2の論理を実装し得、逆論理構成要素632cは、推論モジュール130の規則組を通じて後ろ向きに推論するための第3の論理を実装し得る。
例えば、逆論理構成要素632a〜cのそれぞれは、確証的論理構成要素および反証的論理構成要素の双方を含み得、どちらも、推論モジュール130のフォワード論理構成要素132a〜c(図1A)と関連して上で開示される方法のうちのいずれかで実装され得る。より具体的には、逆論理構成要素632aは、確証的論理構成要素634aと、反証的論理構成要素634bとを含み、逆論理構成要素632bは、確証的論理構成要素634cと、反証的論理構成要素634dとを含み、逆論理構成要素632cは、確証的論理構成要素634eと、反証的論理構成要素634fとを含む。
請求コードフィードバックモジュール410は、フィードバック408がレビューされた請求コードの正確さを確証した場合(すなわち、フィードバック408が、レビューされた請求コードが正確なことを示した場合)に、推論モジュール130の規則組の論理を逆にするために、確証的論理構成要素を使用し得る。換言すれば、確証的論理構成要素は、(1)推論モジュール130の規則組、(2)主題160、(3)レビュー中の請求コード、および(4)レビューした請求コードが正確であることを示すフィードバックから引き出され得る、結論を特定する。そのような結論は、例えば、推論モジュール130の規則組の中の特定のフォワード論理構成要素によって表される論理の前提(すなわち、条件)が有効(正確)である、または前提の有効性についていかなる結論も引き出すことができない、というものであり得る。
これとは逆に、請求コードフィードバックモジュール410は、フィードバック408がレビューされた請求コードの正確さを反証した場合(すなわち、フィードバック408が、レビューされた請求コードが不正確なことを示した場合)に、推論モジュール130の規則組の論理を逆にするために、反証的論理構成要素を使用し得る。換言すれば、反証的論理構成要素は、(1)推論モジュール130の規則組、(2)主題160、(3)レビュー中の請求コード、および(4)レビューした請求コードが正確であることを示すフィードバックから引き出され得る、結論を特定する。そのような結論は、例えば、推論モジュール130の規則組の中の特定のフォワード論理構成要素によって表される論理の前提(すなわち、条件)が無効(不正確)である、または前提の有効性についていかなる結論も引き出すことができない、というものであり得る。
フォワード論理構成要素132aが「Aである場合、Bである(If A,Then B)」という形態の論理を表す、簡単な例を考える。推論モジュール130は、「概念Aがデータソース(例えば、草稿転写物106)によって表される場合、概念Bを表す請求コードを請求コード140に加える。」ことを意味するように、そのような規則を適用し得る。逆論理構成要素632aがフォワード論理構成要素132aに対応すると仮定すれば、逆論理構成要素632aの確証的論理構成要素634aおよび反証的論理構成要素634bは、表2によって示される論理を表し得る。
表2によって示されるように、確証的論理構成要素634aは、次の組み合わせを示す論理を表し得る。(1)規則「Aである場合、Bである(If A,Then B)」、および(2)Bが真である(例えば、Bを表す請求コードが正確であると確証された)ことを示すフィードバックが、(3)Aが真である(例えば、Aを表すコードが正確である)という結論を正当化する。そのような結論は、推論モジュール130の規則組が、規則「Aである場合、Bである(If A,Then B)」以外のいかなる論理も含まないことも分かっている場合に正当化され得る。したがって、確証的論理構成要素634aは、Bが正確であるというフィードバックに基づいて、推論モジュール130の規則組(Bを生成した、規則「Aである場合、Bである(If A,Then B)」以外の規則を含む)に逆推論を適用することによって、Aが正確であるという結論を引き出し得る。この場合、請求コードフィードバックモジュール410は、Bを表す請求コードを生成した構成要素に賞賛を割り当て得る。確証的論理構成要素634aが、「Aである場合、Bである(If A,Then B)」がBを生成することができる推論モジュール130の規則組の中の唯一の規則であると判断することができない場合、確証的論理モジュールは、Bを表す請求コードを生成した構成要素に賞賛も非難も割り当て得ない。
今度は、逆論理構成要素632aの反証的論理構成要素634bを考える。表2によって示されるように、反証的論理構成要素634bは、例えば、次の組み合わせを示す論理を表し得る。(1)規則「Aである場合、Bである(If A,Then B)」、および(2)Bの反証が、(3)Aが偽(例えば、概念Aを表すコードが不正確)であるという結論を正当化する。この場合、請求コードフィードバックモジュール410は、概念Bを表す請求コードを生成した構成要素(例えば、概念Aを表す概念コードを生成した構成要素)に非難を割り当て得る。
上で開示される手法は、図1Aで示される種々のリンク124a〜c、134a〜c、および144a〜cの全てを使用せずに、請求コードを生成する責任がある構成要素を識別するために使用され得る。具体的には、「Aである場合、Bである(If A,Then B)」という形態の規則を考える。概念抽出構成要素のうちの1つ120aが、単に概念Aのインスタンスを表す概念コードを生成する責任だけしかない(すなわち、他の概念抽出構成要素120b〜cのいずれも概念Aのインスタンスを表す概念コードを生成しない)と仮定する。この場合、請求コードフィードバックモジュール410が、規則「Aである場合、Bである(If A,Then B)」および概念Bを表す請求コードに提供されるフィードバックに基づいて、概念Aを表す概念コードを生成する責任がある概念抽出構成要素に強化(賞賛または非難)を割り当てるべきであると結論した場合、請求コードフィードバックモジュール410は、規則「Aである場合、Bである(If A,Then B)」からの概念Aを概念抽出構成要素120aに対応する概念Aと適合させることによって、適切な概念抽出構成要素120aを識別し得る。換言すれば、請求コードフィードバックモジュール410は、概念Aを表す概念コードを実際に生成した概念抽出構成要素の任意の記録から作成、記憶、または読み出すことを必要とせずに、オンザフライで(すなわち、図5Aの演算506を行っている間に)責任がある概念抽出構成要素120aを識別し得る。
逆推論モジュール630は、代替的に、または加えて、逆論理構成要素632a〜cを使用して、レビューされた請求コードの正確さまたは不正確さに対する責任がある、または責任がない副構成要素を識別し、それによって、演算526(図5B)および演算546(図5C)を可能にする。例えば、フォワード論理構成要素132aが、形態「AかつBである場合、Cである(If(A AND B),Then C)」という形態の規則を表すと仮定する。フォワード推論モジュール130は、「概念Aおよび概念Bがデータソース(例えば、草稿転写物106)によって表される場合、概念Cを表す請求コードと」請求コード140に加える。」ことを意味するように、そのような規則を適用し得る。逆論理構成要素632aの確証的論理構成要素634aおよび反証的論理構成要素634bは、表3によって示される論理を表し得る。
表3によって示されるように、確証的論理構成要素634aは、例えば、Cが真である(例えば、概念Cを表す請求コードが正確である)ことを示すフィードバックに基づいて、規則「AかつBである場合、Cである(If(A AND B),Then C)」が逆にされた場合に、推論モジュール130の規則組の中のいかなる他の規則もCを生成することができなければ、Aが真であり(例えば、概念Aを表し、規則によって信頼される概念コードが正確である)、Bが真である(例えば、概念Bを表し、規則によって信頼される概念コードが正確である)と結論することができることを示す論理を表し得る。この場合、請求コードフィードバックモジュール410は、概念Aを表すコードを生成した構成要素、および概念Bを表すコードを生成した構成要素に賞賛を割り当て得る。
表3によって示されるように、反証的論理構成要素634bは、例えば、Cが偽である(例えば、概念Cを表す請求コードが不正確である)ことを示すフィードバックに基づいて、規則「AかつBである場合、Cである(If(A AND B),Then C)」が逆にされた場合に、Aが偽であるか、Bが偽であるか、またはAもBも偽であることを示す論理を表し得る。この場合、請求コードフィードバックモジュール410は、Aを生成する責任がある構成要素およびBを生成する責任がある構成要素の双方に非難を割り当て得る。例えば、請求コードフィードバックモジュール410は、概念Aを生成する責任がある構成要素に非難の50%を割り当て、概念Bを生成する責任がある構成要素に非難の50%を割り当てる等によって、非難を均一に分割し得る。
そのような手法は、結果として、当該の非難の価値がない構成要素に非難を割り当て得る、具体的には、請求フィードバックモジュール410が、経時的に繰り返し同じ構成要素に、および経時的にシステム100a〜bの中の種々の構成要素に非難および賞賛を割り当てるが、結果として生じる、種々の構成要素と関連付けられる信頼性スコアは、そのような構成要素の実際の信頼性を反映する可能性がある。したがって、本発明の実施形態の1つの利点は、ある個々の場合で賞賛および非難を不正確に割り当てている間であっても、経時的に正確さを増加させながら構成要素に賞賛および非難を割り当てることが可能なことである。
代替として、例えば、コードAまたはBを生成する責任がある構成要素に任意の賞賛または非難を割り当てることが直ちに可能ではない場合に、請求コードフィードバックモジュール410は、「偽」の真理値を「AかつBである場合、Cである(If(A AND B),Then C)」と(例えば、その規則を表すフォワード論理構成要素と)関連付け、記憶し得る。下でより詳細に説明するように、この真理値は、Aおよび/またはBの真理値に関して、個々に結論を引き出すために使用され得る。
今度は、フォワード論理構成要素132aが、「AまたはBである場合、Cである(If(A OR B),Then C)」という形態の規則を表すと仮定する。推論モジュール130は、「概念Aがデータソース(例えば、草稿転写物106)によって表される、または概念Bがデータソースによって表される場合に、概念Cを表す請求コードを請求コード140に加える。」ことを意味するように、そのような規則を適用し得る。逆論理構成要素632aの確証的論理構成要素634aおよび反証的論理構成要素634bは、表4によって示される論理を表し得る。
表4によって示されるように、確証的論理構成要素634bは、例えば、Cが真である(例えば、概念Cを表す請求コードが正確である)ことを示すフィードバックに基づいて、規則「AかつBである場合、Cである(If(A AND B),Then C)」が逆にされた場合に、Aが真であるか、Bが真であるか、またはAもBも真であることを示す論理を表し得る。この場合、請求コードフィードバックモジュール410は、Aを生成する責任がある構成要素およびBを生成する責任がある構成要素の双方に賞賛を割り当て得る。例えば、請求コードフィードバックモジュール410は、概念Aを生成する責任がある構成要素に賞賛の50%を割り当て、概念Bを生成する責任がある構成要素に賞賛の50%を割り当てる等によって、賞賛を均一に分割し得る。
代替として、例えば、コードAまたはBを生成する責任がある構成要素に任意の賞賛または非難を割り当てることが直ちに可能ではない場合に、請求コードフィードバックモジュール410は、「真」の真理値を「AまたはBである場合、Cである(If(A OR B),Then C)」と(例えば、その規則を表すフォワード論理構成要素と)関連付け、記憶し得る。下でより詳細に説明するように、この真理値は、Aおよび/またはBの真理値に関して、個々に結論を引き出すために使用され得る。
表4によって示されるように、反証的論理構成要素634bは、例えば、Cが偽である(例えば、概念Cを表す請求コードが不正確である)ことを示すフィードバックに基づいて、規則「AまたはBである場合、Cである(If(A OR B),Then C)」が逆にされた場合に、Aが偽となり、Bが偽となるはずであることを示す論理を表し得る。この場合、請求コードフィードバックモジュールは、概念Aを表すコードを生成する責任がある構成要素および概念Bを表すコードを生成する責任がある構成要素の双方に非難を割り当て得る。
上で説明した特定の反転論理は、単なる例示に過ぎず、本発明の限定を成すものではない。当業者は、特に上で列記されたもの以外の形態を有する論理に、他の反転論理を適用できることを認識するであろう。
レビュアー406によって提供されるフィードバックは、レビューされた請求コードが正確かどうかの指示に加えて、またはその代わりに、レビューされた請求コードに対する改訂を含み得る。例えば、レビュアー406は、フィードバック408を介して、代替の請求コードを示し得る。そのような代替の請求コードを受け取ることに応じて、請求コードフィードバックモジュール410は、レビューされた請求コードを代替の請求コードと置き換え得る。レビュアー406は、そのようなコードのテキストをタイプする、リストからコードを選択する、または代替の請求コードの記述を選択するための任意のユーザインターフェースを使用する等によって、代替の請求コードを特定し得、それに応じて、請求コードフィードバックモジュール410は、代替の請求コードを選択し、それを使用してデータソースの中のレビューされた請求コードを置き換え得る。
例えば、再度表1を参照して、フォワード推論モジュール130が、Rule#2を使用して、「<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>」を表す請求コード142bを生成したと仮定し、また、レビュアー406が、「<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>」を、「<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>」と置き換えるべきであることを示すフィードバック408を提供したと仮定する。それに応じて、請求コードフィードバックモジュール410は、コード「<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>」を、草稿転写物106のコード「<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>」と置き換え得る。
より一般的には、請求コードフィードバックモジュール410は、そのような代替の請求コードの受け取りを次のように扱い得る。(1)レビューされた請求コード(すなわち、この例では「<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>」である、レビュアー406によって置き換えられる請求コード)のレビュアー406による反証、および(2)代替の請求コード(この例では「<詳細不明の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>」である)のレビュアー406による確証。換言すれば、レビュアー406によって提供される単一のフィードバック入力は、請求コードフィードバックモジュール410によって、1つの請求コードの反証および別の請求コードの確証として扱われ得る。それに応じて、フィードバックモジュール410は、(1)レビュアー406によって事実上反証されたレビューされた請求コードと関連した請求コードの反証に応じて、上で説明したステップのいずれかを取り得、また(2)レビュアー406によって事実上確証されたレビューされた請求コードと関連した請求コードの確証に応じて、上で説明したステップのいずれかを取り得る。
上で説明したように、レビュアーフィードバック408は、フィードバックモジュール410に、特定のフォワード論理構成要素(例えば、規則)と真理値を関連付けさせ得る。フィードバックモジュール410は、そのような真理値を使用して、個々のフォワード論理構成要素および/またはその副構成要素を自動的に確証または反証し得る。一般に、フィードバックモジュール410は、任意の所与の時点で、フォワード論理構成要素132a〜cによって表される任意の利用可能な一連の論理およびそれらの関連付けられた真理値に従い、そのような一連の論理によって正当化される任意の結論を引き出し得る。
その結果、フィードバックモジュール410は、そのような構成要素がレビュアーのフィードバック408によって直接的に確証または反証されなかった場合であっても、システム100aの構成要素の正確さを確証または反証し得る。例えば、レビュアー406は、システム100aの第1の構成要素(例えば、フォワード論理構成要素)を反証する、請求コードのフィードバック408を提供し得る。そのような反証は、第2の構成要素(例えば、フォワード論理構成要素)に、レビュアー406によってフィードバック408が提供された請求コードを生成する責任がなかった場合であっても、フィードバックモジュールに、システム100aの第2の構成要素を確証または反証させ得る。フィードバックモジュール410によるシステム構成要素の自動の確証/反証は、システム構成要素の手動の確証/反証と関連して本明細書で開示される措置のいずれかを講じることを含み得る。このようにして、フィードバックモジュール410は、システム100aの任意の数の構成要素を通して一連の論理に従い得る。
上で説明したように、本明細書で使用される「構成要素」という用語は、構成要素の1つ以上の副構成要素を含む。したがって、例えば、レビュアーのフィードバック408がレビューされた請求コードを反証した場合、これは、フィードバックモジュール410に、フォワード論理構成要素142a〜cのうちの第1の1つの第1の副構成要素(例えば、条件)を確証させ得、その結果、フィードバックモジュール410に、フォワード論理構成要素142a〜cのうちの第2の1つの第1の副構成要素(例えば、条件)を確証させ得、その結果、フィードバックモジュール410に、フォワード論理構成要素142a〜cのうちの第1の1つの第2の副構成要素を反証させ得(それによって、非難を割り当てる)。
特定の例として、レビュアーのフィードバック408が、表1の規則#2によって生成された請求コード「<コントロール不良の糖尿病(UNCONTROLLED_DIABETES)>」を、請求コード「<コントロール不良の糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>」と置き換える場合を再度考える。それに応じて、フィードバックモジュール410は、規則#2によって「偽」(すなわち、反証する)という真理値を割り当て得るが、総じて、副構成要素(例えば、条項「患者が糖尿病である(patient_has_problem<DIABETES>)」、または条項「p.getStatus()==<コントロール不良(UNCONTROLLED)>」)が、規則の反証に対して非難するとはまだ判断していない。
ユーザは、現在、請求コード「<詳細不明な糖尿病(DIABETES_NOT_FURTHER_SPECIFIED)>」も確証したので、フィードバックモジュール410は、逆推論モジュール630の逆推論を使用して、表1の規則#1を自動的に確証し、「真」(すなわち、確証する)という真理値を規則#1に割り当て得る。規則#1が確証されたので、条項「患者が糖尿病である(patient_has_problem<DIABETES)>)」が真である(確証された)ことが分かっている。また、上で説明したように、規則#2の真理値が偽であることも分かっている。したがって、フィードバックモジュール410は、論理「AかつBであり、Aでない場合、Bでない(If(A AND B)AND(NOT A),Then(NOT B))」を規則#2に適用して、「p.getStatus()==<コントロール不良(UNCONTROLLED)>」が偽であると結論し得る(ここで、Aは、「患者が糖尿病である(patient_has_problem<DIABETES>)」であり、Bは、「p.getStatus()==<コントロール不良(UNCONTROLLED)>」である)。フィードバックモジュール410は、この結論を引き出すことに応じて、コード「<コントロール不良(UNCONTROLLED)>」を生成する責任がある構成要素と非難を関連付け得る。
コードを生成する責任がある構成要素に非難および賞賛を割り当てることは、システム400が、フォワード推論モジュール130(例えば、規則組)の中の構成要素(例えば、条項)の構成の正確さを追跡し、それによって、概念コードおよび/または請求コードを生成する時点で信頼できる、システム100aの構成要素を識別することを可能にする。フィードバックモジュール410は、特定の構成要素が信頼できないと判断することに応じて、種々の措置のうちのいずれかを講じ得る。より一般的には、フィードバックモジュール410は、構成要素の信頼性スコアによって表され得るように、構成要素の信頼性に基づいて、種々の措置のうちのいずれかを講じ得る(図5A、演算514)。
フィードバックモジュール410は、例えば構成要素がいくつかの所定の閾値未満(またはそれを超える)信頼性スコアを有する場合に、特定の構成要素を「信頼できない」ものとみなし得る。例えば、構成要素が、所定の最小回数を超えて反証された概念コードを生成した場合に、該構成要素を「信頼できない」ものとみなし得る。構成要素が信頼できないかどうかを判断する目的で、フィードバックモジュール410は、人間レビュアーによる手動の反証だけを考慮し得、または手動の反証、およびフィードバックモジュール410による一連の論理の適用から生じる自動の反証の双方を考慮し得る。
システム400は、構成要素が信頼できないと結論することに応じて、種々の措置のうちのいずれかを講じ得る。例えば、システム100aは、概念抽出構成要素によって(後に、および/または予め)生成される任意の概念コードをレビューし、承認することを人間オペレータ406に後に自動的に要求し得る一方で、他の概念抽出構成要素によって(後に、および/または予め)生成されるコードを、人間によるレビューを必要とせずに使用することを可能にする。例えば、特定の概念抽出構成要素が、フィードバックモジュール410によって信頼できないものとみなされた場合、システム100aは、特定の概念抽出構成要素が次に概念コードを生成するときに、生成された概念コードをレビュアーが承認するかどうかを示す入力をレビューし、承認することを人間レビュアーに要求する。システム100aは、レビュアー406が生成された概念コードを承認することを示す入力に応じて、草稿転写物106の中へ生成された概念コードを挿入し得、レビュアー406が生成された概念コードを承認しないことを示す入力に応じて、草稿転写物106の中へ生成された概念コードを挿入し得ない。
加えて、または代替として、システム100aは、信頼できない概念抽出構成要素によって生成される概念コードに基づいて(後に、および/または予め)生成される任意の概念コードをレビューし、承認することを人間オペレータ406に後に自動的に要求し得る一方で、信頼できない概念抽出構成要素を信頼せずに(後に、および/または予め)生成される請求コードを、人間によるレビューを必要とせずに使用することを可能にする。例えば、特定の概念抽出構成要素が、フィードバックモジュール410によって信頼できないものとみなされる場合、システム100aは、概念コード(例えば、データソースが、信頼できない概念抽出構成要素によって生成される概念コードを含むことを必要とする条件)を参照する論理に基づいて、フォワード論理構成要素132a〜cのうちのいずれかが次に概念コードを生成するときに、生成された請求コードおよび/または概念コードをレビュアーが承認するかどうかを示す入力をレビューし、承認することを人間レビュアーに要求する。システム100aは、レビュアー406が生成された請求コードおよび/または概念コードを承認することを示す入力に応じて、生成された請求コードを草稿転写物106に挿入し得、レビュアー406が生成された請求コードおよび/または概念コードを承認しないことを示す入力に応じて、生成された請求コードを草稿転写物106に挿入し得ない。
別の例として、特定の概念抽出構成要素が信頼できないと結論することに応じて、システム400は、人間レビュアー406にそのような不十分な信頼性を通知し得、それに応じて、人間レビュアー406または他の人は、その信頼性を向上させるために、識別された概念抽出構成要素を(例えば、再プログラムすることによって)修正し得る。
上で説明したある例は、システム100a〜bの構成要素に強化を適用すること(すなわち、賞賛および/または非難を割り当てること)を指すが、本発明の実施形態はまた、請求コード140にフィードバックを提供する1人以上の人間レビュアー406に強化を適用するためにも使用され得る。例えば、システム400は、人間レビュアー406と信頼性スコアを関連付け得、レビュアー406と関連して上で説明したものと同じ様式で、システム400にフィードバックを提供する1人以上の付加的な人間レビュアー(図示せず)のそれぞれと別個の信頼性スコアを関連付け得る。
図4および図5Aと関連して上で説明したように、請求コードフィードバックモジュール410は、請求コード142a〜cのうちの特定の1つと関連して、人間レビュアー406にフィードバック408を求め得る。請求コードフィードバックモジュール410は、レビュー中の請求コードと関連付けられる基準信頼性スコアをさらに識別し得る。そのような信頼性スコアは、例えば、本明細書で開示される方法のうちのいずれかで実装され得、したがって、例えば、「正確である」もしくは「正確でない」という値、または中間の検証ステータスを表す任意の値を有し得る。請求コードフィードバックモジュール410は、最初にデフォルトの信頼性スコアを請求コード(例えば、0.0、1.0、または0.5)と関連付け、次いで、請求コードに関して経時的にレビュアー406および他のレビュアーによって提供されるフィードバック408に応じて、基準信頼性スコアを修正すする等による、任意の様式で、請求コードの基準信頼性コードを識別し得る。
その結果、多くのレビュアーが複数の請求コードのフィードバックを提供するときに、システム400は、経時的に概念抽出構成要素120a〜cと関連付けられる信頼性スコアを精緻化し得る。請求コードフィードバックモジュール410は、下で説明される過程で、請求コードのそのような精緻化された信頼性スコアを、請求コードの基準信頼性スコアとして使用し得る。請求コードフィードバックモジュール410は、例えば、ある最小の所定量のフィードバックが請求コードに提供されるまで、またはある最小の所定数のレビュアーが請求コードのフィードバックを提供するまで待機する等によって、最初に、請求コードの信頼性スコアがある所定の程度の確証を達成するまで待機し得る。
レビュアー(レビュアー406および他のレビュアー等)が、請求コードと関連して請求コードフィードバックモジュール410にフィードバックを提供し続けるときに、請求コードフィードバックモジュールは、人間レビュアーによって提供されるフィードバックが、個々に、または全体で、信頼性スコア(例えば、十分に確証された信頼性スコア)と十分に(例えば、ある所定の程度を超えて)相違しているかどうかを判断し得る。判定が、レビュアーのフィードバックが基準信頼性スコアと十分に相違することを示す場合、請求コードフィードバックモジュール410は、次のうちの1つ以上等の、種々の措置のうちのいずれかを講じ得る。(1)相違しているフィードバックを提供した人間レビュアーの1人以上に非難を割り当てる、および(2)相違しているフィードバックから生じる任意の非難が、対応する構成要素(例えば、概念抽出構成要素120a〜cおよび/またはフォワード論理構成要素132a〜c)へ、システム100a〜bを通して、後ろ向きに伝達されないようにする。(1)および(2)を行うことは、システム400が、システムの1つの構成要素(人間レビュアー406)に非難を提供するが、そのような非難を、システム構成要素のいずれにも伝達しない。
請求コードフィードバックモジュールは、人間レビュアー406が提供するフィードバックに基づいて、経時的にそのようなレビュアーと関連付けられる別個の信頼性スコアを修正するために、任意の人数の人間レビュアーに同じ手法を適用し得る。そのような方法は、人間レビュアー406を、逆推論構成要素630によって実装される一連の逆論理において、実質的に第1の構成要素として扱う。
本発明を特定の実施形態に関して上で説明してきたが、上述の実施形態は、例示のためだけに提供したものであり、本発明の範囲を限定または規定するものではないことを理解されたい。以下を含むがこれに限定されない様々な他の実施形態もまた、特許請求の範囲内である。例えば、本明細書で説明される要素および構成要素は、追加的な構成要素にさらに分割するか、または結合させて、より少ない構成要素で同じ機能を実行するように形成され得る。
本明細書で開示される機能のいずれかは、それらの機能を行うための手段を使用して実装され得る。そのような手段としては、下で説明されるコンピュータ関連の構成要素等の、本明細書で開示される構成要素のいずれかが挙げられるが、それらに限定されない。
本明細書の特定の実施例は、「請求コード」を伴うが、そのような実施例は、本発明を限定するものではない。より一般的には、本発明の実施形態は、請求コード以外のコードと関連して、ならびにデータベースに記憶されて構造化文書以外の形態のデータ等の、コード以外のデータ構造と関連して適用され得る。
上で説明した手法は、例えば、ハードウェア、1つ以上のコンピュータが読み出し可能な媒体上に実体的に記憶された1つ以上のコンピュータプログラム、ファームウェア、またはそれらのあらゆる組み合わせで実装され得る。上述した手法は、プロセッサ、プロセッサによって読み出し可能な記憶媒体(例えば、揮発性および不揮発性メモリおよび/または記憶要素を含む)、入力デバイス、および出力デバイスの任意の数のあらゆる組み合わせを含む、プログラム可能なコンピュータ上で実行する(またはそれによって実行可能な)1つ以上のコンピュータプログラムに実装され得る。プログラムコードは、入力デバイスを使用して入力された入力に適用して、説明した機能を実行し、出力デバイスを使用して出力を生じさせ得る。
以下の特許請求の範囲内の各コンピュータプログラムは、アセンブリ言語、機械語、高水準手続きプログラミング言語、またはオブジェクト指向プログラミング言語等の、あらゆるプログラミング言語で実装することが可能である。プログラミング言語は、例えば、コンパイル型またはインタプリタ型のプログラミング言語であってもよい。
このようなコンピュータはそれぞれ、コンピュータプロセッサによって実行するための機械で読み出し可能な記憶デバイスに実体的に組み込まれた、コンピュータプログラム製品に実装され得る。本発明の方法ステップは、コンピュータが読み出し可能な媒体上に実体的に組み入れられたプログラムを実行するコンピュータプロセッサによって実行され、入力を操作して出力を生成することにより本発明の機能を実行し得る。例として、適切なプロセッサには、汎用および専用マイクロプロセッサの両方が挙げられる。概して、プロセッサは、リードオンリーメモリおよび/またはランダムアクセスメモリから命令およびデータを受信する。コンピュータプログラム命令を実体的に使用するのに好適なストレージデバイスとしては、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスを含む半導体メモリデバイス、内蔵ハードディスクおよびリムーバルディスク等の磁気ディスク、光磁気ディスク、およびCD−ROM等の、全ての形態の不揮発性メモリが挙げられる。上述のいずれかは、専用のASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)によって補われ得るか、またはその中に組み込まれ得る。コンピュータは、概して、内蔵ディスク(図示せず)またはリムーバブルディスク等の記憶媒体からプログラムおよびデータを受信することもできる。これらの要素はまた、従来のデスクトップまたはワークステーションコンピュータ、ならびに、本明細書に記述された方法を実装するコンピュータプログラムの実行に好適な他のコンピュータにも見出され、あらゆるデジタル印刷エンジンまたはマーキングエンジン、ディスプレイモニタ、または紙、フィルム、ディスプレイスクリーン、または他の出力媒体上にカラーまたはグレースケールの画素を形成することができる、他のラスタ出力装置とともに使用され得る。