特許第6023593号(P6023593)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ エムモーダル アイピー エルエルシーの特許一覧

特許6023593質問応答システムにおける関連する証拠への計算可能なガイダンスの提供
<>
  • 特許6023593-質問応答システムにおける関連する証拠への計算可能なガイダンスの提供 図000002
  • 特許6023593-質問応答システムにおける関連する証拠への計算可能なガイダンスの提供 図000003
  • 特許6023593-質問応答システムにおける関連する証拠への計算可能なガイダンスの提供 図000004
  • 特許6023593-質問応答システムにおける関連する証拠への計算可能なガイダンスの提供 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6023593
(24)【登録日】2016年10月14日
(45)【発行日】2016年11月9日
(54)【発明の名称】質問応答システムにおける関連する証拠への計算可能なガイダンスの提供
(51)【国際特許分類】
   G06N 5/04 20060101AFI20161027BHJP
   G06F 3/02 20060101ALI20161027BHJP
   G06F 17/30 20060101ALI20161027BHJP
【FI】
   G06N5/04
   G06F3/02 370A
   G06F17/30 180A
【請求項の数】48
【全頁数】24
(21)【出願番号】特願2012-553007(P2012-553007)
(86)(22)【出願日】2011年2月10日
(65)【公表番号】特表2013-519947(P2013-519947A)
(43)【公表日】2013年5月30日
(86)【国際出願番号】US2011024405
(87)【国際公開番号】WO2011100474
(87)【国際公開日】20110818
【審査請求日】2014年2月3日
(31)【優先権主張番号】13/025,051
(32)【優先日】2011年2月10日
(33)【優先権主張国】US
(31)【優先権主張番号】61/303,242
(32)【優先日】2010年2月10日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】512191960
【氏名又は名称】エムモーダル アイピー エルエルシー
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(72)【発明者】
【氏名】コール,デトレフ
(72)【発明者】
【氏名】ポルツィン,トーマス
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開2002−207823(JP,A)
【文献】 特開2004−157815(JP,A)
【文献】 特開2006−072436(JP,A)
【文献】 特開2005−025418(JP,A)
【文献】 特開2008−250378(JP,A)
【文献】 特開平04−015828(JP,A)
【文献】 青木優,他1名,個人適応による英日翻訳での訳語候補の順位付け,言語処理学会第12回年次大会発表論文集,日本,言語処理学会,2006年 3月13日,pp.260-263
【文献】 佐瀬力,導入効果を最大限に発揮するRACシステム構築完全マニュアル,DB Magazine,日本,株式会社翔泳社,2005年 8月 1日,第15巻,第4号,pp.093-105
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/04
G06F 3/02
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
システムとともに使用するためのコンピューター実施方法であって、
前記方法が、
(a)第1のテキストおよび第1の領域定義を含む第1の質問インスタンスを選択し、前記第1の領域定義は、前記第1のテキストで表される質問に対して応答を提供するために使用され得る情報を含んでいる可能性のあるデータセットの領域を識別するように設計されており、前記領域定義は、前記データセット中のタグ付き要素に合わせられた領域を識別することと、
(b)ステップ(c)および(d)の前に、前記第1の領域定義に基づき、前記データセットの第1の領域を識別することと、
(c)前記第1の質問インスタンスを表す出力をユーザーに提供することと、
(d)前記第1の質問インスタンスに対する答えを受け取る前に、前記データセットの前記第1の領域を表す出力を前記ユーザーに提供することとを含む方法。
【請求項2】
前記(b)は、
前記第1の領域定義によって指定される第1の文書タイプを識別することと、
前記データセット内の前記第1の文書タイプの文書を識別することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記(b)は、
前記第1の領域定義によって指定されるセクションタイプを識別することと、
前記データセット内の前記第1のセクションタイプのセクションを識別することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記第1の領域定義によって指定される概念との関係を識別することと、
前記データセット内の前記概念を表す第2のコード化データと前記指定された関係を有する前記データセット内の第1のコード化データを識別することと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記(b)は、
前記第1の領域定義に基づき、前記データセットの複数の部分を識別することを含み、前記第1の領域が前記複数の部分を含む、請求項1に記載の方法。
【請求項6】
前記データセットが複数の文書を含み、
前記複数の部分が前記複数の文書のうちの第1の文書の第1の部分を含み、
前記複数の部分が前記複数の文書のうちの第2の文書の第2の部分を含む、
請求項5に記載の方法。
【請求項7】
(e)前記第1の質問インスタンスおよび前記データセットに基づき、前記第1の質問インスタンスに対する第1の応答を自動的に生成することをさらに含む、請求項1に記載の方法。
【請求項8】
(f)前記第1の応答を表す出力を前記ユーザーに提供することをさらに含む、請求項7に記載の方法。
【請求項9】
(e)が前記データセットの特定のサブセットに基づき、前記第1の質問インスタンスに対する前記第1の応答を自動的に生成することを含み、
前記方法が、
(f)が前記データセットの前記特定のサブセットを表す出力を前記ユーザーに提供することをさらに含む、請求項7に記載の方法。
【請求項10】
前記第1の応答が、応答内容および、前記応答内容が前記第1の質問インスタンスに正しく応答する可能性を示す信頼性スコアを含む、請求項7に記載の方法。
【請求項11】
(e)が、前記応答内容と、人間から受信した前記第1の質問インスタンスに対する少なくとも1つの以前の応答との間の一致の程度に基づき、前記信頼性スコアを自動的に生成することを含む、請求項10に記載の方法。
【請求項12】
前記第1の応答が、前記第1の応答を生成するため、(e)において信頼する前記データセットの少なくとも1つの部分への少なくとも1つのポインターを含む、請求項7に記載の方法。
【請求項13】
(f)前記第1の応答に関するフィードバックを表す入力を前記ユーザーから受信することと、
(g)前記入力のレコードをコンピューター可読媒体に保存することとをさらに含む、請求項7に記載の方法。
【請求項14】
前記ユーザーからの前記入力が前記第1の応答の確認ステータスを示す、請求項13に記載の方法。
【請求項15】
(h)第2のテキストおよび第2の領域定義を含む、第2の質問インスタンスにアクセスすることと、
(i)前記第1の応答の前記確認ステータスに基づき前記第2の質問に対する応答を生成するか否かを判断することと
をさらに含む、請求項14記載の方法。
【請求項16】
前記ユーザーからの前記入力が前記第1の質問インスタンスに対する第2の応答を表す、請求項13記載の方法。
【請求項17】
(f)前記応答内容が前記第1の質問インスタンスに正しく応答する可能性を示す信頼性スコアを生成することと、
(g)前記信頼性スコアに基づき、前記ユーザーに対して、前記第1の応答に関するフィードバックを表す入力を求めるか否かを判断することと、
(h)前記ユーザーに前記入力を求めるべきと判断される場合に限り、前記ユーザーに、前記第1の応答に関するフィードバックを表す入力を求めることとをさらに含む、
請求項7記載の方法。
【請求項18】
前記第1の質問インスタンスが、第1の質問定義をさらに含み、(e)が、前記第1の応答を自動的に生成するために、前記第1の質問定義を処理することを含む、請求項7に記載の方法。
【請求項19】
前記第1の質問定義が前記第1のテキストと無関係である、請求項18に記載の方法。
【請求項20】
前記第1の領域定義が、前記第1のテキストと無関係である、請求項1に記載の方法。
【請求項21】
コンピューター可読媒体であって、
前記コンピューター可読媒体上に有形的に保存されているコンピューター可読命令を含み、
前記命令が、システムと共に使用するための方法を実行するため、少なくとも1つのコンピュータープロセッサーによって実行可能であって、
前記コンピューター可読媒体が、
前記少なくとも1つのコンピュータープロセッサーによって、第1のテキストおよび第1の領域定義を含む第1の質問インスタンスを選択し、前記第1の領域定義は、前記第1のテキストで表される質問に対して応答を提供するために使用され得る情報を含んでいる可能性のあるデータセットの領域を識別するように設計されており、前記領域定義は、前記データセット中のタグ付き要素に合わせられた領域を識別するための命令と、
前記少なくとも1つのコンピュータープロセッサーによって、前記第1の質問インスタンスを表す出力をユーザーに提供する前、および前記データセットの前記第1の領域を表す出力をユーザーに提供する前に、前記第1の領域定義に基づき、前記データセットの第1の領域を識別するための命令と、
前記少なくとも1つのコンピュータープロセッサーによって、前記第1の質問インスタンスを表す出力をユーザーに提供するための命令と、
前記少なくとも1つのコンピュータープロセッサーによって、前記第1の質問インスタンスに対する答えを受け取る前に、前記データセットの前記第1の領域を表す出力をユーザーに提供するための命令とを含む、コンピューター可読媒体。
【請求項22】
前記データセットの第1の領域を識別するための命令が、
前記第1の領域定義によって指定される第1の文書タイプを識別するための命令と、
前記データセット内の前記第1の文書タイプの文書を識別するための命令と
を含む、請求項21に記載のコンピューター可読媒体。
【請求項23】
前記データセットの第1の領域を識別するための命令が、
前記第1の領域定義によって指定されるセクションタイプを識別するための命令と、
前記データセット内の前記第1のセクションタイプのセクションを識別するための命令と
を含む、請求項21に記載のコンピューター可読媒体。
【請求項24】
前記データセットの第1の領域を識別するための命令が、
前記第1の領域定義によって指定される概念との関係を指定し、
(1)が前記データセット内の前記概念を表す第2のコード化データとの前記指定された関係を有する前記データセット内の第1のコード化データを識別することを含む、請求項21に記載のコンピューター可読媒体。
【請求項25】
前記データセットの第1の領域を識別するための命令が、
前記第1の領域定義に基づき、前記データセットの複数の部分を識別するための命令を含み、前記第1の領域が前記複数の部分を含む、請求項21に記載のコンピューター可読媒体。
【請求項26】
前記データセットが複数の文書を含み、
前記複数の部分が前記複数の文書のうちの第1の文書の第1の部分を含み、
前記複数の部分が前記複数の文書のうちの第2の文書の第2の部分を含む、
請求項25に記載のコンピューター可読媒体。
【請求項27】
前記第1の質問インスタンスおよび前記データセットに基づき、前記第1の質問インスタンスに対する第1の応答を自動的に生成するための命令をさらに含む、請求項21に記載のコンピューター可読媒体。
【請求項28】
前記第1の応答を表す出力を前記ユーザーに提供するための命令をさらに含む、請求項27に記載のコンピューター可読媒体。
【請求項29】
前記第1の応答を自動的に生成するための命令が、前記データセットの特定のサブセットに基づき、前記第1の質問インスタンスに対する前記第1の応答を自動的に生成するための命令を含み、
前記コンピューター可読媒体が、
前記データセットの前記特定のサブセットを表す出力を前記ユーザーに提供するための命令をさらに含む、
請求項27に記載のコンピューター可読媒体。
【請求項30】
前記第1の応答が、応答内容および、前記応答内容が前記質問インスタンスに正しく応答する可能性を示す信頼性スコアを含む、請求項27に記載のコンピューター可読媒体。
【請求項31】
前記第1の応答を自動的に生成するための命令が、前記応答内容と、人間から受信した前記第1の質問インスタンスに対する少なくとも1つの以前の応答との間の一致の程度に基づき、前記信頼性スコアを自動的に生成するための命令を含む、請求項30に記載のコンピューター可読媒体。
【請求項32】
前記第1の応答が、前記第1の応答を生成するため、前記第1の応答を自動的に生成するための命令において信頼する前記データセットの少なくとも1つの部分への少なくとも1つのポインターを含む、請求項27に記載のコンピューター可読媒体。
【請求項33】
前記第1の応答に関するフィードバックを表す入力を前記ユーザーから受信するための命令と、
前記入力のレコードをコンピューター可読媒体に保存するための命令とをさらに含む、
請求項27に記載のコンピューター可読媒体。
【請求項34】
前記ユーザーからの前記入力が前記第1の応答の確認ステータスを示す、請求項33に記載のコンピューター可読媒体。
【請求項35】
前記システムが、第2のテキストおよび第2の領域定義を含む第2の質問インスタンスをさらに含み、
前記コンピューター可読媒体が、
前記第1の応答の前記確認ステータスに基づき、前記第2の質問に対する応答を生成するか否かを判断するための命令をさらに含む、
請求項34に記載のコンピューター可読媒体。
【請求項36】
前記ユーザーからの前記入力が前記第1の質問インスタンスに対する第2の応答を表す、請求項33に記載のコンピューター可読媒体。
【請求項37】
前記応答内容が前記第1の質問インスタンスに正しく応答する可能性を示す信頼性スコアを生成するための命令と、
前記信頼性スコアに基づき、前記ユーザーに対して、前記第1の応答に関するフィードバックを表す入力を求めるか否かを判断するための命令と、
前記ユーザーに前記入力を求めるべきと判断される場合に限り、前記ユーザーに、前記第1の応答に関するフィードバックを表す入力を求めるための命令とをさらに含む、
請求項27に記載のコンピューター可読媒体。
【請求項38】
前記第1の質問インスタンスが、第1の質問定義をさらに含み、前記第1の応答を自動的に生成するための命令が、前記第1の応答を自動的に生成するために、前記第1の質問定義を処理するための命令を含む、
請求項27に記載のコンピューター可読媒体。
【請求項39】
前記第1の質問定義が前記第1のテキストと無関係である、請求項38に記載のコンピューター可読媒体。
【請求項40】
前記第1の領域定義が、前記第1のテキストと無関係である、請求項21に記載のコンピューター可読媒体。
【請求項41】
システムと共に使用するためのコンピューター実施方法であって、
前記方法が、
(a)第1のテキストおよび第1の領域定義を含む第1の質問インスタンスを選択し、前記第1の領域定義は、前記第1のテキストで表される質問に対して応答を提供するために使用され得る情報を含んでいる可能性のあるデータセットの領域を識別するように設計されており、前記領域定義は、前記データセット中のタグ付き要素に合わせられた領域を識別することと、
(b)(c)の前に、前記第1の質問の複数のインスタンスQの各々に対して、
(b−1)前記第1の領域定義に基づき、前記データセットの領域Rを識別することと、
(b−2)前記第1の質問のインスタンスQに応じて、コンピューター生成された応答Cを受信することと、
(b−3)前記第1の質問のインスタンスQを表す出力をユーザーに提供することと、
(b−4)(b−5)の前に、前記データセットの前記領域Rを表す出力を前記ユーザーに提供することと、
(b−5)前記第1の質問のインスタンスQに対して人間が生成した応答を表す入力Hを前記ユーザーから受信することと、
(c)前記コンピューター生成された応答Cと前記人間が生成した応答Hとの間の一致の程度を識別することと、
を含む方法。
【請求項42】
(d)前記第1の質問の追加のインスタンスを受信することと、
(e)前記一致の程度が所定の閾値を満足するか否かを判断することと、
(f)前記一致の程度が前記所定の閾値を満足しない場合、前記第1の質問の前記追加のインスタンスに応じて、前記第1の質問の前記追加のインスタンスに対して自動応答が生成されていないことを示す出力を提供することとをさらに含む、
請求項41に記載の方法。
【請求項43】
前記人間が生成した応答Hが、人間の応答の第1の集合によって提供される複数の人間が生成した応答および、少なくとも1つの人間の応答の第2の集合によって提供される複数の人間が生成した応答を含み、
前記方法が
(d)人間の応答の前記第1の集合によって提供される前記複数の人間が生成した応答と、前記コンピューター生成された応答Cとの間の第1の一致の程度を計算することと、
(e)少なくとも1つの人間の応答の前記第2の集合によって提供される前記複数の人間が生成した応答と、前記複数のコンピューター生成された応答Cとの間の第2の一致の程度を計算することと、
(f)前記第1の一致の程度と前記第2の一致の程度との間の差を計算することとをさらに含む、請求項41に記載の方法。
【請求項44】
(b)が、(b−6)前記コンピューター生成された応答Cを表す出力を前記ユーザーに提供することをさらに含む、請求項41に記載の方法。
【請求項45】
コンピューター可読媒体であって、
前記コンピューター可読媒体上に有形的に保存されているコンピューター可読命令を含み、
前記命令が、システムと共に使用するための方法を実行するため、少なくとも1つのコンピュータープロセッサーによって実行可能であり、
前記コンピューター可読媒体が、
(a)第1のテキストおよび第1の領域定義を含む第1の質問インスタンスを選択し、前記第1の領域定義は、前記第1のテキストで表される質問に対して応答を提供するために使用され得る情報を含んでいる可能性のあるデータセットの領域を識別するように設計されており、前記領域定義は、前記データセット中のタグ付き要素に合わせられた領域を識別するための命令と、
(b)(c)の前に、前記第1の質問の複数のインスタンスQの各々に対して、
(b−1)前記第1の領域定義に基づき、前記データセットの領域Rを識別するための命令と、
(b−2)前記第1の質問のインスタンスQに応じて、コンピューター生成された応答Cを受信するための命令と、
(b−3)前記第1の質問のインスタンスQを表す出力をユーザーに提供するための命令と、
(b−4)前記データセットの前記領域Rを表す出力を前記ユーザーに提供するための命令と、
(b−5)前記第1の質問のインスタンスQに対して人間が生成した応答を表す入力Hを前記ユーザーから受信するための命令と、
(c)前記コンピューター生成された応答Cと前記人間が生成した応答Hとの間の一致の程度を識別するための命令と、
を含む、
コンピューター可読媒体。
【請求項46】
前記コンピューター可読媒体が、
(d)前記第1の質問の追加のインスタンスを受信するための命令と、
(e)前記一致の程度が所定の閾値を満足するか否かを判断するための命令と、
(f)前記一致の程度が前記所定の閾値を満足しない場合、前記第1の質問の前記追加のインスタンスに応じて、前記第1の質問の前記追加のインスタンスに対して自動応答が生成されていないことを示す出力を提供するための命令とをさらに含む、
請求項45に記載のコンピューター可読媒体。
【請求項47】
前記人間が生成した応答Hが、人間の応答の第1の集合によって提供される複数の人間が生成した応答および、少なくとも1つの人間の応答の第2の集合によって提供される複数の人間が生成した応答を含み、
前記コンピューター可読媒体が、
(d)人間の応答の前記第1の集合によって提供される前記複数の人間が生成した応答と、前記コンピューター生成された応答Cとの間の第1の一致の程度を計算するための命令と、
(e)少なくとも1つの人間の応答の前記第2の集合によって提供される前記複数の人間が生成した応答と、前記複数のコンピューター生成された応答Cとの間の第2の一致の程度を計算するための命令と、
(f)前記第1の一致の程度と前記第2の一致の程度との間の差を計算するための命令とをさらに含む、請求項45に記載のコンピューター可読媒体。
【請求項48】
(b)が、(b−6)前記コンピューター生成された応答Cを表す出力を前記ユーザーに提供するための命令をさらに含む、請求項45に記載のコンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願の相互参照〕
本出願は、2010年2月10日に出願された「Providing Computable Guidance to Relevant Evidence in Question−Answering System」という名称の、所有者が共通する米国仮特許出願第61/303,242号からの優先権を主張し、その内容が参照により本明細書に組み込まれる。
【背景技術】
【0002】
質問に関する情報を含む文書のコーパスを前提として、人間のオペレーターが個別の質問の集合に応答しなければならない様々な状況がある。かかる状況の一例は、人間のオペレーターが、患者の入院に関する情報を含む全文書の集合に基づいて、課金コードを患者の入院と関連付ける任務を負っている状況である。かかる文書は、例えば、入院中に患者に対して行われた医療処置および入院中に患者に関連して病院スタッフによって行われた他の支払請求可能な活動に関する情報を含み得る。
【0003】
この文書の集合は、返済のために生成および保険会社に提供する必要のある課金コードに対する証拠のコーパスとして見なされ得る。人間のオペレーター(この例では、課金コード化の専門家)の任務は、適用可能な規則や規定を考慮しながら、所与の文書のコーパスによって正当化される課金コードの集合を導き出すことである。文書の内容を課金コードの集合にマッピングすることは、大変な努力を要する認知的作業である。それは、例えば、患者に対して行われた手術の報告書を読み、どの手術が行われたかを判断するだけでなく、かかる手術に加わった人員、かかる手術で使用された材料の種類と量(例えば、患者の動脈に挿入されたステントの数)を特定することも含み得るが、かかる情報は、適切な返済を受けるために生成する必要のある課金コードに影響し得るためである。かかる情報は、課金コードシステムの要件に合致するする形式で文書内に存在していない可能性がある。結果として、人間のオペレーターは、かかる情報を取り出すために、文書コーパスを注意深く調べる必要があり得る。
【0004】
文書コーパスに基づく課金コードの生成に内在するかかる困難さのために、人間のコード化担当者(coder)を、利用可能な証拠に基づいてどの課金コードを生成するかを判断するプロセスを通じてガイドするため、様々なコンピューターベースの支援システムが開発されてきた。かかるシステムのいくつかは、人間のコード化担当者に意思決定ネットワークをガイドするが、そこでは、ネットワークの各非葉(non−leaf)ノードが、コード化担当者によって応答される質問から構成される。人間のコード化担当者により非葉ノードの質問に対して提供される各応答は、ネットワークを通して進むべき次のパスセグメント、したがって、システムによってコード化担当者に聞かれる次の質問を決定する。葉ノードに対応する質問に対するコード化担当者からの応答を受信すると、システムは、その葉ノードに対応する一意の課金コードを返す。
【0005】
かかるガイダンスに関わらず、人間のコード化担当者が各質問の応答に必要な情報を識別するのはまだ困難であり得る。それ故、必要なのは、利用可能な証拠のコーパスに基づき、質問に対する応答を生成するための改善された技術である。
【発明の概要】
【課題を解決するための手段】
【0006】
コンピューターベースのシステムは、データセット内の領域のコンピューター処理可能な定義を含む。システムは、領域の定義に基づいてデータセットの領域を識別する。システムは、質問およびデータセットの識別された領域を表す出力をユーザーに提供する。システムは、また、質問およびデータセットに基づいて、その質問に対する応答を自動的に生成し、その応答を表す出力をユーザーに提供し得る。システムは、データセットのサブセットに基づいて応答を生成し、データセットのサブセットを表す出力をユーザーに提供し得る。ユーザーは、第1の応答に関するフィードバックをシステムに提供し得、システムはそれを、同一および他の質問に対する後続の応答を改善するため、そして、ユーザーとシステムとの間の不一致に応じて、システムの自動質問応答機能を無効にするために、使用し得る。
【0007】
例えば、本発明の一実施形態は、システムと共に使用するためのコンピューター実施方法を対象にしたものであり、そのシステムは、データセットならびに、第1のテキストおよび第1の領域定義を含む第1の質問インスタンスを含む。本方法は、(1)第1の領域定義に基づきデータセットの第1の領域を識別すること、(2)第1の質問インスタンスを表す出力をユーザーに提供すること、および(3)データセットの第1の領域を表す出力をユーザーに提供することを含む。
【0008】
本発明の別の実施形態は、システムと共に使用するためのコンピューター実施方法を対象にしたものであり、そのシステムは、データセットならびに、第1のテキストおよび第1の領域定義を含む第1の質問インスタンスを含む。本方法は、(1)第1の質問の複数のインスタンスQの各々に対して、(1)(a)第1の領域定義に基づきデータセットの領域Rを識別すること、(1)(b)第1の質問のインスタンスQに応じてコンピューター生成された応答Cを受信すること、(1)(c)第1の質問のインスタンスQを表す出力をユーザーに提供すること、(1)(d)データセットの領域Rを表す出力をユーザーに提供すること、(1)(e)第1の質問のインスタンスQに対して人間が生成した応答を表す入力Hをユーザーから受信すること、および(2)コンピューター生成された応答Cと人間が生成した応答Hとの間の一致の程度を識別することを含む。
【0009】
本発明の様々な態様および実施形態の他の特徴および利点は、以下の説明および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0010】
図1】本発明の一実施形態による、質問の応答に関連する情報を含む可能性のある文書コーパスの領域を自動的に識別するためのシステムのデータフロー図である。
図2】本発明の一実施形態による図1のシステムによって実行される方法の流れ図である。
図3】本発明の一実施形態による図1のシステムの自動質問応答機能を改善するためのシステムのデータフロー図である。
図4】本発明の一実施形態による図3のシステムによって実行される方法の流れ図である。
【発明を実施するための形態】
【0011】
前述のとおり、人間のコード化担当者を、利用可能な証拠に基づきどの課金コードを生成するかを判断するプロセスを通じてガイドするため、様々なコンピューターベースの支援システムが開発されてきた。例えば、かかる支援システムは、オペレーターを質問の集合を通じてガイドし得るが、それ自身は、どの質問にも自動的に応答しようとしない。このアプローチの一拡張は、証拠のコーパスを前提として、各質問に対する応答を自動的に予測する、したがって、オペレーターの認知的負荷を削減する、自動化支援システムのためのものである。これは、本明細書で「自動応答システム」と呼ぶものの一例である。
【0012】
かかる自動生成された応答は、しかし、必ずしも正確とは限らない。結果として、人間のオペレーターが、自動生成された応答の一部または全部の正確さを再検討する必要があり得る。かかる手動チェックは、しかし、退屈で時間がかかり得る。
【0013】
本発明の実施形態は、質問に関連する情報を含む文書のコーパスを前提として、人間のオペレーターが個別の質問の集合に応答する必要のある類の問題に対処する。前述のとおり、いくつかのコンピューター自動化支援システムは、かかる質問に対する応答を自動的に生成することが可能であり得る。かかる自動生成された応答は、しかし、必ずしも正確とは限らない。結果として、人間のオペレーターが、自動生成された応答の一部または全部の正確さを再検討する必要があり得る。かかる手動チェックは、退屈で時間がかかり得るが、手動チェックは、システムの自動生成応答が信頼できない状況では、特に重要である。本発明の実施形態は、かかる手動チェックの効率および正確さを改善し、それにより、質問応答システム全体の効率および正確さを高めるために使用され得る。
【0014】
図1を参照すると、本発明の一実施形態による質問応答システム100のデータフロー図が示されている。図2を参照すると、本発明の一実施形態による図1のシステム100によって実行される方法200の流れ図が示されている。システム100は、文書コーパス102を含み、その文書コーパスは複数の文書104a〜104nを含む(nは任意の数であり得る)。文書104a〜104nの各々は、1つまたは複数の領域を含み得る。例えば、文書104aは、領域106a〜106mを含む(mは任意の数であり得る)。説明を容易にするため、図1では、文書104aの領域106a〜106mのみが示されているが、残りの文書104b〜104nもそれら自身の領域を含み、それらは、内容および数が相互に異なり得る。
【0015】
文書コーパス102は、本明細書で使用される用語としての「データセット」の一例にすぎない。より一般的には、かかるデータセットは、文書以外のデータを含み得る。しかし、図解および説明を容易にするため、図1では文書が示されている。さらに、領域106a〜106mは、図1では、文書104aの所定の互いに素な(disjoint)サブセットとして示されているが、これは一例にすぎず、本発明の制限とはならない。むしろ、以下で説明するように、データセット内の領域は、様々な方法で定義され、具体例を挙げて説明され得る。
【0016】
システム100は、質問110a〜110cの集合108も含む。図1では、3つの質問110a〜110cが示されているが、質問の集合108は、任意の数の質問を含み得る。さらに、質問110a〜110cは、図1では、非構造化の集合として示されているが、質問は、任意の様々な方法で編成され得る。例えば、質問108は、階層構造に編成され、それにより、デシジョンツリーを表し得る。別の例として、質問110a〜110cは、スロット埋込み(slot−filling)適用による使用のために編成され得る。かかる適用では、スロットに埋め込むための複数の情報をユーザーが提供する必要があり、その場合、それらの情報は、任意の順序で提供され得る。例えば、質問110a〜110cが、航空機のフライトの予約に必要な情報(例えば、搭乗者名、出発地、目的地、および搭乗日など)を要求する場合、かかる情報は、必要なスロットに埋め込むために、任意の順序で提供され得る。さらに別の例として、質問110a〜110cは、応答される時に、1つまたは複数の他の質問が、以前の質問に対して提供された応答に基づいて自動的に応答できるようにする質問を含み得る。
【0017】
質問110a〜110cの各々は、質問テキスト、計算可能な質問定義、および計算可能な領域定義を含み得る。質問定義は、任意選択である。例えば、図1に示すように、質問110aは、テキスト112a、質問定義113a、および領域定義114aを含み、質問110bは、テキスト112b、質問定義113b、および領域定義114bを含み、そして、質問110cは、テキスト112c、質問定義113c、および領域定義114cを含む。特定の質問に関連するテキストは、その質問に対する応答を請求するように設計された任意の内容を含み得る。かかるテキストの例は、「患者に挿入されたステントは何本か?」および「患者の年齢は?」である。これらの例が示すように、特定の質問に関連するテキストは、人間に解読可能であり得るが、質問に対する応答を自動的に生成するために、コンピューターで使用可能か使用可能でないか、わからない。
【0018】
質問に関連する質問定義は、質問のコンピューター処理可能な定義である。特に、以下でさらに詳述するように、質問に関連する質問定義は、質問に対する応答を生成するために、質問によって自動的に処理され得る。かかる応答は、正しいかどうかは分からない。したがって、質問定義のコンピューター処理は、質問に対する自動応答または質問に対する自動応答の試みのいずれかとして見なされ得る。質問定義は、例えば、文書コーパス102内の内容(例えば、1つまたは複数の領域106a〜106m)を選択するため、検索エンジンにより文書コーパス102に対して適用され得るクエリーであり得、この場合、選択された内容は、質問定義によって定義された質問に対してコンピューターが自動生成した応答を表す。
【0019】
質問に関連する領域定義は、文書コーパス102の領域のコンピューター処理可能な定義である。以下でさらに詳述するように、質問に関連する領域定義は、文書コーパス102の領域を識別するために、コンピューターで自動的に処理され得る。最も有用にするため、特定の質問に関連する領域定義は、質問のテキストで表される質問に対して応答を提供するために使用され得る情報を含んでいる可能性のある文書コーパス102の領域を識別するように設計されるべきである。例えば、質問110aのテキスト112aが「患者に挿入されたステントは何本か?」であれば、患者に挿入されたステント数に関する情報を含んでいる可能性のある文書コーパス102の領域を識別するため、質問110aの領域定義114aを処理可能にするのは有用であろう。
【0020】
システム100は、応答エンジン116も含む。一般に、応答エンジン116は、質問の集合108内の1つまたは複数の質問110a〜110cに対する応答を自動的に生成し得る。応答エンジン116は、質問110a〜110cに対してかかる応答を生成するため、それぞれ質問定義113a〜113cを使用し得る。例えば、応答エンジン116は、例えば、質問定義113aがクエリーとして使用される文書コーパス102の検索を実行し、それにより、文書コーパス102内から質問110aに対する応答を表す検索結果を生成することにより、質問110aに対する応答を自動的に生成するために、質問定義113aを処理し得る。
【0021】
応答エンジン116は、同一の質問に複数回応答し、それにより、同一の質問に対して複数の応答を生成し得る。応答エンジン116は、質問110a〜110cのうちの複数に対しても応答を生成し得る。それ故、混乱を避けるため、本明細書の記述では、応答エンジン116は、質問110a〜110cの「インスタンス」に対する応答を生成すると記載し得る。例えば、応答エンジン116は、質問110aの第1のインスタンスに対する応答を生成し、同一の質問110aの第2のインスタンスに対する応答を生成し得る。別の例として、応答エンジン116は、質問110aの第1のインスタンスに対する応答を生成し、質問110bの第1のインスタンスに対する応答を生成し得る。
【0022】
応答エンジン116は、特定の時に応答エンジン116で応答する質問110a〜110cのうちの1つのインスタンス120aを選択する(例えば、生成する)(図2のステップ202)ため、質問インスタンスセレクター118を含み得る。質問インスタンスセレクター118は、現在の質問インスタンス120aを任意の様々な方法で選択し得る。例えば、質問の集合108内の質問110a〜110cがデシジョンツリーを表す場合、質問インスタンスセレクター118は、そのデシジョンツリーの根の部分の質問に対応する質問インスタンスを生成することにより、開始し得る。質問インスタンスセレクター118は、その後、以前の質問インスタンスに対して提供された応答に基づき、デシジョンツリー内をナビゲートすることにより、次の質問インスタンスを選択し得る。しかし、本発明の実施形態は、質問インスタンスを選択する任意の特定の方法に限定するものではない。
【0023】
応答エンジン116は、領域識別器122も含む。領域識別器122は、現在の質問インスタンス120a内(例えば、関連する)の領域定義に基づき、文書コーパス内の領域124aを識別する(図2のステップ204)。例えば、質問インスタンス120aが質問110aのインスタンスであれば、領域識別器122は、領域124aを、質問110aの領域定義114aで定義される文書コーパス102の領域として識別する。
【0024】
現在の質問インスタンス120aの領域定義は、その対応する領域を様々な方法で定義し得る。結果として、領域識別器122は、領域124aを様々な方法で識別し得る。例えば:
・領域定義は、文書のタイプを指定し得、その場合、領域識別器122は、指定されたタイプの文書コーパス102内の全ての文書を識別された領域124aとして識別し得る
・領域定義は、セクションのタイプを指定し得、その場合、領域識別器122は、指定されたタイプの文書コーパス102内の全ての文書セクションを識別された領域124aとして識別し得る
・領域定義は、キーワードを指定し得、その場合、領域識別器122は、指定されたキーワードに合致するか、かつ/または指定されたキーワードの近くにある文書コーパス102内の全てのテキストを識別された領域124aとして識別し得る
・領域定義は、概念との関係(例えば、「XはYである」または「XはYを有する」)を指定し得、その場合、領域識別器122は、文書コーパス102内のその概念を表す他のデータとの指定された関係を有する文書コーパス102内の全てのデータを、識別された領域124aとして識別し得る。
【0025】
領域定義は、前述したタイプの複数の領域指定を任意の様々な方法で結合し得る。例えば、領域定義は、ブール演算子(例えば、AND、OR、NOT、XOR)で結合された複数の領域指定を含み得る。これらの例が示すように、領域識別器122で識別される領域124aは、文書104aまたは他の文書104b〜104nのうちの1つ内の事前定義した領域106a〜106m(例えば、セクション)のうちの1つに対応し得るが、これは必須ではない。むしろ、識別された領域124aは、領域識別器122で動的に識別され得、文書コーパス102内からのデータの任意の1つ、2つ、またはそれ以上の隣接および/または非隣接の部分を含み得る。これが意味するように、識別された領域124aは、例えば、文書、セクション、およびタグ付き要素など、文書コーパス内の事前定義した構造に合わせ得るが、その必要はない。
【0026】
応答エンジン116は、システム100の人間のユーザー130に対して、質問インスタンス120aを表す出力128a(図2のステップ206)および識別された領域124aを表す出力126a(図2のステップ208)を提供し得る。かかる出力124aおよび128aは、例えば、領域識別器122が領域124aを識別する前または後に、提供され得る。応答エンジン116は、出力124aおよび128aを、同時に、または相互に異なる時に提供し得る。
【0027】
質問インスタンス出力128aは、任意の様々な形式をとり得る。例えば、質問インスタンス出力128aは、質問インスタンス120aに対応する質問のテキストを含み得る。例えば、質問インスタンス120aが質問110aのインスタンスであれば、質問インスタンス出力128aは、質問110aのテキスト112aを含み得る。
【0028】
領域出力126aは、任意の様々な形式をとり得る。例えば、領域出力126aは、識別された領域124aの全体を表し得る。例えば、識別された領域124aが文書104aの単一のセクションであれば、領域出力126aは、文書104aのセクション全体を表し得る。別の例として、識別された領域124aが、文書コーパス102内のテキストまたは他のデータの複数の(もしかすると、非隣接の)部分を含む場合、領域出力126aは、テキストまたは他のデータのかかる部分全てを表し得る。テキストのかかる部分は、完全に文書104aのうちの単一の文書内であるか、または文書104a〜104nのうちの複数の文書の間に広がり得る。例えば、識別された領域124aは、文書104aの第1の部分および文書104bの第2の部分を含み得、その場合、領域出力126aは、かかる部分の両方を含み得る。
【0029】
別の例として、領域出力126aは、識別された領域124aのサブセットを表し得る。かかるサブセットは、例えば、質問インスタンス120aに特に関連する可能性があると見なされる識別された領域の一部など、識別された領域124aの要約であり得る。
【0030】
識別された領域124aがデータセット102の複数の部分を含む場合、かかる複数の部分は、様々な方法で、ユーザー130に対する出力である得る。例えば、応答エンジン116は、かかる部分全てを表す出力を、例えば、かかる部分全てのテキストを単一のウィンドウ内に表示することにより、ユーザー130に対して同時にまたは実質的に相互に同時に提供し得る。
【0031】
別の例として、応答エンジン116は、初めは、データセット102の複数の部分のうちの単一の部分のみを表す出力をユーザー130に提供し得る。応答エンジン116は、その後、データセット102の複数の部分のうちの第2の部分を表す出力を、以降の時に(例えば、ユーザー130からの入力に応じて)、ユーザー130に提供し得る。例えば、システム100は、ユーザー130が、例えば、1つの部分から次に進むために、キーをたたくか、またはマウスボタンをクリックすることにより、各部分の表示を繰り返すことができるようにし得る。
【0032】
応答エンジン116は、応答生成器132も含み得、それは、質問インスタンス120aおよび文書コーパス102の一部または全部に基づき、質問インスタンス120aに対する応答134aを自動的に生成し得る(図2のステップ210)。また、応答生成器132は、識別された領域124aを入力として受信し、質問インスタンス120a、文書コーパスの一部または全部、および識別された領域の一部または全部に基づき、応答134aを生成し得る。例えば、応答生成器132は、応答134aを生成する過程で、文書コーパス102の他の部分ではなく、文書コーパス102内の識別された領域124aを検査し得る。
【0033】
応答生成器132は、応答134aを生成する際に、検査する文書コーパス102の領域を選択するために、代わりに、質問インスタンス120aの領域定義(例えば、質問110aの領域定義114a)を使用し得ることに留意されたい。この場合、領域識別器122の機能の一部または全部は、領域識別器122に追加で、または領域識別器122内の代わりに、応答生成器132内に組み込まれる。
【0034】
応答生成器132は、応答134aを表す出力136aをユーザー130に提供し得る(図2のステップ216)。応答出力136aは、任意の様々な形式をとり得る。例えば、応答134aは、応答内容138aを含み得(図2のステップ212)、応答出力136aは、応答内容138a、または応答内容138aから導出された出力を含み得る(図2のステップ218)。例えば、質問インスタンス120aが「患者に挿入されたステントは何本か?」という質問をされた場合、応答内容138aは、テキストの「3」を含み得る。
【0035】
より一般的には、応答内容138aは、応答生成器132によって証拠から導出され、応答内容138aに対する支援を提供する、応答エンジン116で発見された任意の文であり得る。応答内容138aは、例えば、ブール質問(例えば、「患者にステントが挿入されたか?」)、多肢選択式問題(例えば、「手術が行われたのは何曜日か?」)、値の質問(例えば、「患者に挿入されたステントは何本か?」)、または自由回答形式の質問(例えば、「患者の主訴は何か?」)を肯定的に断定するか、または否定し得る。
【0036】
応答内容138aは、例えば、応答生成器132が、質問インスタンス120aに対する応答を十分に正当化する証拠を文書コーパス102内で見つけることができなかった場合などに、応答生成器132が、質問インスタンス120aに応じて、いかなる応答内容も生成できなかったことも示し得る。つまり、応答生成器132は、質問インスタンス120aに応答しようとし得るが、そうできないこともあり得る。この場合、応答内容138aは、質問インスタンス120aに対する応答を生成する試みが失敗したことを示す「N/A」または「情報なし」などの値を持ち得る。
【0037】
応答生成器132が、文書コーパス102の特定の部分(サブセット)のみに基づいて(例えば、識別された領域124aまたは識別された領域124aのサブセットのみに基づいて)応答134aを生成した場合、応答出力136aは、応答134aを生成するために応答生成器132が信頼した文書コーパス102の特定のサブセットの表現を含み得る。例えば、応答生成器132が、文書104aの領域106a(例えば、セクション、段落、または文)を信頼した場合、応答出力136aは、その領域106a(例えば、領域106aの全テキストなど)の表現を含み得る。別の例として、応答出力136aは、文書コーパス102の信頼した部分へのリンクまたは他のポインターを含み得る。
【0038】
さらに、応答出力136aは、識別された領域124aの一部または全部の表現を含み得る。例えば、応答出力136aは、応答生成器132が、応答134aを生成するために識別された領域124aのサブセット(一部)のみを信頼した場合でさえ、識別された領域124a全体の表現を含み得る。応答生成器132が、識別された領域124aを表すかかる出力をユーザー130に対して提供するのは、応答134aを生成するために応答生成器132が信頼しなかった領域124aの部分でさえ、質問インスタンス120aに関連するさらなる情報を含み得るため、有用であり得、そして、ユーザー130はその情報を、質問インスタンス120aへの応答、応答生成器の応答134aの修正、または応答生成器の応答134aの正確性の確認において、有用であると気づき得る。
【0039】
前述した応答出力136aの任意の特定の例は、相互に任意の組合わせで結合し得る。例えば、応答出力136aは、応答内容136aを表すテキストおよび応答134aを生成するために応答生成器132が信頼した文書コーパス102の一部を表すテキストの両方を含み得る。
【0040】
応答134aを生成する過程で、応答生成器132は、応答内容138aが質問インスタンス120aに正しく応答する可能性を示す信頼性スコア140aを生成し得る(図2のステップ214)。応答出力136aは、例えば、数(例えば、信頼性の高さに応じて、0〜1の範囲の10進数または0〜100の範囲の整数)またはグラフィカル表示(例えば、高信頼性に対して緑、中程度の信頼性に対して黄、および低信頼性に対して赤)などの形式で、信頼性スコア138aの表現を含み得る(図2のステップ220)。あるいは、例えば、応答生成器132は、対応する信頼性スコア138aが十分に高くない(例えば、信頼性スコア138aが所定の最小閾値を下回る場合)という判断に応じて、応答出力136aを抑制し得る。
【0041】
より一般的には、応答生成器132は、応答134aを表すいかなる出力もユーザーに提供する必要はない。むしろ、応答生成器132は、応答134aを自動的に生成し得るが、応答134aを表すいかなる出力もユーザー130に提供しない可能性がある。以下でより詳細に説明するように、かかるサイレント自動応答生成は、例えば、ユーザー130が自動生成された応答を通知されない場合でさえ、自動生成された応答と手動で生成された応答との間の一致の程度をトラッキングするために有用であり得る。
【0042】
信頼性スコア140aの使用が示すように、システム100の設計は、応答134aが質問インスタンス120aに正しく応答しない可能性があるという認識を反映し得る。本発明の特定の実施形態は、ユーザー130(および他のユーザー)から受信した、応答エンジン116で生成された応答134aおよび他の応答の品質に関するフィードバックに基づき、質問応答システム100の動作を自動的に調整することにより、この問題に対処する。
【0043】
例えば、図3を参照すると、応答エンジン116で生成される応答の品質を改善するためのシステム300が示されている。図4を参照すると、本発明の一実施形態による図3のシステム300によって実行される方法400の流れ図が示されている。図4の方法400は、例えば、図3の方法300が終了した後(例えば、図1のシステム100がユーザー130に領域出力126a、質問インスタンス出力120a、および、もしかすると応答出力136aを提供した後)に開始し得る。
【0044】
ユーザー130は、応答フィードバック302の形式で、応答314に関するフィードバックを提供し得る(図4のステップ402)。例えば、ユーザー130は、システム300から応答出力136aを受信した後に、およびそれに応じて、かかるフィードバック302をシステム300に提供し得る。ユーザー130は、しかし、システム300がユーザー130に応答出力136aを提供しなかった場合でさえ、応答フィードバック302を提供し得る。
【0045】
応答フィードバック302の受信に応じて、応答エンジン116は、例えば、フィードバック302を、ユーザー130および、もしかするとシステム300の他のユーザーから受信したフィードバックの集合304内に保存することにより、フィードバック302のレコードを保存し得る(図4のステップ404)。つまり、応答フィードバックの集合304は、同じ質問の複数のインスタンスに対するフィードバックおよび/または複数の質問のインスタンスに対するフィードバックを含み得る。応答フィードバックの集合304内の応答フィードバック302のレコードは、フィードバック302が対応する自動生成された応答の表示などの情報、およびフィードバック302を提供したユーザー130を識別する情報を含み得る。
【0046】
応答フィードバック302は、任意の様々な形式をとり得る。例えば、応答フィードバック302は、応答134aが正しいか正しくないかの2進表示、またはユーザーの応答134aとの一致の程度(例えば、0〜1または1〜100の段階で)の表示など、応答134aの確認ステータスを示し得る。別の例として、応答フィードバック302は、質問インスタンス120aに対してユーザー130によって生成された応答を表し得る。例えば、応答エンジン116が応答134aを自動的に生成するが、ユーザー130に応答出力136aを提供せず、かつ、ユーザー130が同じ質問インスタンス120aに対して手動で生成した応答を提供する場合、応答エンジン116は、かかる手動で生成された応答を応答フィードバック302として扱い得るが、これは、たとえ、かかるフィードバック302が、応答エンジン116で自動的に生成された応答を表す、ユーザー130に対する出力に応じて提供されていない場合にもそうである。
【0047】
システム300は、例えば、システム300で生成される後続の応答の品質を改善することにより、システム300の性能を改善するためにフィードバック302を使用し得る。例えば、応答エンジン116が第2の質問インスタンス120aに応答しようとする場合を考える(図4のステップ406)。この例について、第2の質問インスタンス120bが、第1の質問インスタンス120aと同じ質問のインスタンスであると仮定する。
【0048】
応答エンジン116は、第2の質問インスタンス120bの領域定義に基づき、文書コーパス102内の第2の領域124bを識別するため(図4のステップ408)、第2の質問インスタンス120aを表す第2の質問インスタンス出力128bを生成し、ユーザー130に提供するため(図4のステップ410)、および第2の領域124bを表す第2の領域出力126bを生成し、ユーザー130に提供するため(図4のステップ412)、図1に関連して前述した技術を使用し得る。第1および第2の質問インスタンス出力120a〜120bは、同一であるか、または相互に異なり得、第1および第2の識別された領域124a〜124bは、同一であるか、または相互に異なり得、また、第1および第2の領域出力126a〜126bは、同一であるか、または相互に異なり得ることに留意されたい。
【0049】
応答エンジン116は、第2の質問インスタンス120bに対する第2の応答134bを自動的に生成するため、図1に関連して前述した技術を使用し得る(図4のステップ414)。第2の応答134bは、第2の応答内容138b(図4のステップ416)および第2の信頼性スコア140b(図4のステップ418)を含み得る。第2の応答信頼性スコア140bは、全体または一部において、第2の応答内容138bとユーザー130から以前に提供されたフィードバック302との間の一致の程度を反映し得る。例えば、フィードバック302が、第1の応答内容138aを拒絶する場合、信頼性スコア140は、フィードバック302が第1の応答内容138aを承認した場合よりも低いかも知れない。より一般的には、ユーザー130が、質問インスタンス120aおよび120bに対応する質問の複数のインスタンスに対してフィードバックを提供している場合、応答134bの信頼性スコア140bは、全体または一部において、第2の応答内容138と、かかる以前のフィードバックの一部または全部との間の一致の程度の関数であり得る。
【0050】
応答生成器132は、第2の応答134bとユーザーフィードバック302との間の一致の程度を任意の様々な方法で識別し得る。例えば、ユーザーフィードバック302が、第1の質問インスタンス120aに対する応答の形式である場合、応答生成器132は、ユーザーの応答を第2の応答内容138bと比較して、それらの間の一致の程度を識別し得る。別の例として、ユーザーフィードバック302が、第1の応答134aとの一致の程度(例えば、「正しい」または「誤っている」)の形式である場合、応答生成器132は、第1の応答内容138a、ユーザーフィードバック302、および第2の応答内容に基づき、応答フィードバック302と第2の応答内容138bとの間の一致の程度を識別し得る。例えば、第1の応答内容138aが第2の応答内容138bと同一であり、かつユーザーフィードバック302が第1の応答内容138aとの不一致を示す場合、応答生成器132は、応答フィードバック302も第2の応答内容138bとの不一致を示すと結論付け得る。逆に、第1の応答内容138aが第2の応答内容138bと同一であり、かつユーザーフィードバック302が第1の応答内容138aとの一致を示す場合、応答生成器132は、応答フィードバック302も第2の応答内容138bとの一致を示すと結論付け得る。
【0051】
応答生成器132は、応答134bを表す、応答出力136bを生成し、かかる出力136bをユーザー130に提供し得る(図4のステップ420)。出力136bは、応答内容138b(図4のステップ422)および/または信頼性スコア140b(図4のステップ424)の表現を含み得る。信頼性スコア140bの表現をユーザー130に提供すると、その信頼性スコア140bがシステム300に対するユーザーの以前のフィードバックを反映する場合には、ユーザー130が応答内容138bの正確さを信頼すべき程度に関して、ユーザー130が情報に基づいて判断を下すことを可能にし、それにより質問インスタンス120bに対する追加の証拠について、識別された領域124bを十分に再検討するかどうか、およびその方法に関して、ユーザー130が情報に基づいて判断を下すことを可能にする。
【0052】
図3には示されていないが、ユーザー130は、第2の応答134bおよび同じ質問の追加のインスタンスに対する追加の応答に関するフィードバック(フィードバック302に類似)を提供し得る。かかるフィードバックの全ては、保存されるか、そうでなければ、応答フィードバックの集合304に反映され得る。それ故、応答フィードバック302の使用に関する以下のどの言及も、より一般的に、応答フィードバックの集合304の一部または全部の使用に関する言及と理解されるべきである。より一般的には、応答の自動生成、かかる応答に関するフィードバックの受信、および自動生成された応答と対応する人間のフィードバックとの間の一致の程度の識別など、本明細書に記載の任意のステップは、複数の質問インスタンスについて、繰り返され得る。
【0053】
システム300は、質問インスタンス120a〜120bに対応する質問の自動応答を有効にするか無効にするかを判断する(図4のステップ426)ため、応答フィードバック302、または応答フィードバックの集合304の一部もしくは全部を使用し得る。例えば、応答エンジン116が、応答フィードバック302に基づいて、第2の応答134bが誤っているか、または第2の応答134bの信頼性スコア140bが十分に高くないと判断する場合、応答エンジン116は、次の1つまたは複数を実行し得る:
・応答生成器132が同じ質問の後続のインスタンスに対する応答を生成しないようにするか、または応答生成器132に、かかる質問インスタンスに対して「無応答(no answer)」の応答を生成させる
・応答生成器132が第2の応答134bを表す出力136bをユーザー130に提供しないようにする
・第2の応答内容138bが「無応答」の応答を表すように、第2の応答134bを修正する。
【0054】
前述のいくつかの例では、ユーザー130は、第1の応答134aに応じて、応答フィードバック302を提供する。しかし、ユーザー130は、応答エンジン116で自動的に生成された全ての応答に応じて、かかるフィードバックを提供する必要があるわけではない。例えば、応答エンジン116は、信頼性スコア140aに基づいて、ユーザー130に第1の応答134に関するフィードバックを求めるか否かを判断し得る。特に、応答エンジン116は、信頼性スコア140aが十分に高くない場合(例えば、信頼性スコア140aが所定の閾値を超えていない場合)に限り、ユーザー130にかかるフィードバックを求め得る。このようにして、システム300は、人間のチェックから最も利益を得る可能性のある応答についてのみフィードバックを求めることにより、ユーザーの時間を効果的に利用し得る。
【0055】
応答エンジン116は、応答エンジン116が自動生成した応答134aを表す出力136をユーザー130に提供するか否かにかかわらず、ユーザーフィードバック302と対応する自動生成された応答134aとの間の一致の程度を識別し得る。例えば、応答エンジン116は、質問インスタンス120aに対する応答134aを自動的に生成するが、応答出力136aをユーザー130に提供しないことがある。この「サイレント」自動応答モードでは、応答エンジン116は、自動生成した応答134aに関して、ユーザー130から応答フィードバック302を受信し、フィードバック302と応答134aとの間の一致の程度を識別するために、フィードバック302を使用し得る。これは、応答エンジン116が、システム100とユーザー130との間の一致の程度を継続してトラッキングおよび更新できるようにするため、例えば、応答エンジン116の自動応答機能を無効にして、実行することは有用であり得る。応答エンジン116は、その後、ユーザー130と応答エンジン116との間の一致の程度が許容可能な高さのレベルに達した(例えば、所定の閾値を超える)場合、自動応答(および応答出力136aのユーザー130への自動提供)を有効にし得る。応答エンジン116は、それにより、応答出力136aのユーザー130への自動提供を初めて有効にするか、またはかかる出力を、以前に無効にされた後のある時点で再度有効にし得る。
【0056】
応答エンジン116は、応答フィードバック302と第2の応答134との間の一致の程度に応じてのみならず、代替として応答フィードバックの集合304の一部または全部と第2の応答134との間の一致の程度に基づいて、自動質問応答の無効化および有効化に関連して前述した、任意の決定、および任意の動作をし得る。言い換えれば、応答エンジン116は、ユーザー130により応答エンジン116に対して提供された複数のフィードバック入力に基づき、自動質問応答を無効または有効にするかを判断し得る。
【0057】
応答フィードバックの集合304の任意の関数(例えば、その平均、中央値、モード、最小値、または最大値)が、応答エンジンの自動応答機能を有効または無効にするかを判断するために使用され得る。別の例として、フィードバックの集合304内の各フィードバック単位と対応する自動生成された応答との間の一致の程度の任意の関数が、応答エンジンの自動応答機能を有効または無効にするかを判断するために使用され得る。例えば、応答エンジン116は、ユーザーフィードバック(フィードバックの集合304内に表されるように)が自動生成された応答と一致する場合の割合が、所定の閾値を下回れば、自動応答を無効にし、ユーザーフィードバック(フィードバックの集合304内に表されるように)が自動生成された応答と一致する場合の割合が、(同一または異なる)所定の閾値を上回れば、自動応答を有効にし得る。
【0058】
同様に、システム300は、図3に示す、ユーザー130に対応する、応答フィードバックの集合304に加えて、応答フィードバックの集合を含み得る。例えば、システム300は、複数のユーザーからのフィードバックを含む応答フィードバックの集合を含み得、その各ユーザーは、本明細書で開示する任意の方法でかかるフィードバックを提供し得る。かかるフィードバックの集合は、任意の方法で結合され、その後、応答エンジンの自動応答機能を任意の時に有効にするか無効にするかを判断するために、システム300によって使用され得る。
【0059】
前述の例では、特定の質問インスタンスに関して、ユーザー130と応答エンジン116との間の一致が不十分であれば、応答エンジン116に、同じ質問の他のインスタンスの自動応答を無効にさせ得る。別の例として、同じ質問の複数のインスタンスに関して、ユーザー130と応答エンジン116との間の一致が不十分であれば、応答エンジン116に、同じ質問の他のインスタンスの自動応答を無効にさせ得る。
【0060】
さらに別の例として、同じ質問の1つまたは複数のインスタンスに関して、ユーザー130と応答エンジン116との間の一致が不十分であれば、応答エンジン116に、ユーザー130および応答エンジン116が一致しない質問以外の質問を含め、質問の集合108内の質問110a〜110cの一部または全部の自動応答を無効にさせ得る。さらに別の例として、応答集合108内の複数の質問のインスタンスに関して、ユーザー130と応答エンジン116との間の一致が不十分であれば、応答エンジン116に、ユーザー130および応答エンジン116が一致しない質問以外の質問を含め、質問の集合108内の質問110a〜110cの一部または全部の自動応答を無効にさせ得る。
【0061】
逆に、前述した状況のいずれかにおいて、ユーザー130と応答エンジン116との間の一致が十分であれば、応答エンジン116に、自動応答の無効化に関して前述した任意の方法で、質問インスタンスおよび/または質問の自動応答を有効にさせ得る。
【0062】
システム300は、特定の質問インスタンスに関するユーザー130と応答エンジン116との間の一致の程度に基づき、信頼性スコアも識別し得る。質問インスタンスに関する信頼性スコアは、その質問インスタンスに対するシステムの自動生成した応答の信頼性の程度を表す。システム300は、全体的な結論をもたらす複数の質問インスタンスの信頼性スコアを結合し、その結論に対する全体的な信頼性スコアを提供する。例えば、(3つの質問に対応する)3つの質問インスタンスが(応答エンジン116および/またはユーザー130により)順番に応答されて、3本のステントが患者に挿入されたという結論に達した場合、システム300は、3つの質問インスタンスの各々に対して信頼性スコアを生成し、これら3つの信頼性スコアに対して関数を適用し、3本のステントが患者に挿入されたという全体的な結論に対する総信頼性スコアを生成し得る。例えば、3本のステントに対する請求に関連する課金コードの信頼性は、その課金コードの生成に使用された応答の信頼性スコアから導出し得る。システム300は、その後、(a)異なる方法で応答されていれば、全体的な結果(例えば、課金コード)が変わっていたかも知れない応答、(b)コード化担当者によって確認されていれば、結果の信頼性が非常に改善したであろう応答に、オペレーターを導き得る。
【0063】
前述のように、システム300は、複数のユーザーからのフィードバックのレコードを取得および保存し得る。各かかるユーザーからのフィードバックは、ユーザーによって応答された各質問インスタンスに対するユーザー自身が手動で生成した応答を含み得る。結果として、システム300は、質問インスタンスに対する各ユーザーの手動で生成した応答と、同じ質問インスタンスに対してシステムが自動生成した応答との間の一致の程度をトラッキングし得る。システム300は、それ故、システムが自動生成した応答との一致または不一致の全体的な程度が高い個々のユーザーを識別し得る。別の例として、システム300は、応答の参照プロファイルを展開するため、ユーザーのコミュニティからの手動で生成された応答のレコードを使用し得る。システム300は、その後、システムの自動生成した応答に、例えば、参照プロファイルで示されるノルム(norm)よりも多かれ少なかれ著しく高い頻度で一致する、個々の人間のオペレーターを識別するため、参照プロファイルを使用し得る。かかる識別は、質問毎に、または複数(例えば、全部)の質問に渡って実行され得る。
【0064】
かかる範囲外のユーザーを識別すると、かかる範囲外のユーザーとそのピア(peer)との間のかかる不一致は、基本的な規則に関する系統的な不一致を示す(例えば、範囲外のユーザーは、問われた質問を間違って解釈し得るか、または規則の知識が欠如している可能性がある)ため、システム300に、警告を表すメッセージを生成させ得る。別の例として、オペレーターの1グループ(例えば、特定の医療施設の全コード化担当者)が、同様の他のサイトの平均プロファイルから大きく逸脱している場合、これは、かかる逸脱に内在する理由のさらなる調査を促し得る。
【0065】
別の例として、システム300は、ユーザー130および/または他のユーザーが、質問110a〜110cに対する応答を生成するため、文書コーパス102のどの領域を信頼するかをトラッキングし得る。かかるトラッキングは、例えば、ユーザーの動作(例えば、特定の領域の参照および/または特定の領域からのテキストのカットアンドペースト)をモニタリングすることにより、および/またはユーザーが応答(例えば、図3の応答フィードバック302)内で引用した領域をトラッキングすることにより実行され得る。システム300は、システム300で潜在的に有用であると識別されている対象の領域(例えば、識別された領域124)が、実際にユーザーにとって有用であるか否かを判断するため、ユーザーにより実際に信頼されているかかる領域を分析し得る。
【0066】
質問の集合108内の1つの質問の領域定義によって識別された特定の領域が、実際にはシステム300のユーザーによって十分に頻繁に(例えば、かかる領域の実際の信頼の頻度が所定の閾値を下回る場合)信頼されていないとシステムが判断すると、システム300は、かかる領域を、潜在的にその質問に関連するとして識別するのを中止し得る。システム300は、例えば、領域定義から信頼されない領域を除外するために、信頼されない領域を識別した領域定義を変更し得る。
【0067】
逆に、システムのユーザーが、質問の集合108内の特定の質問に応答する際に、文書コーパス102内の特定の領域を実際に十分頻繁に(例えば、かかる領域の実際の信頼の頻度が所定の閾値を超える場合)信頼しているとシステムが判断すると、システムはその後、同じ質問をユーザーに対して提示する際に、その領域をユーザーに対して特定し得る。システム300は、例えば、ユーザーが実際に信頼する領域を含めるため、その質問の領域定義を変更し得る。
【0068】
本発明の実施形態は、様々な利点をもつ。例えば、本発明の実施形態は、質問に応答するのに適切な情報を含んでいる可能性のある文書コーパス内の領域を識別するプロセスを自動化する。これは、人間のオペレーターのかかる領域を見つける負担を軽減する。代わりに、システムは、かかる潜在的に関連のある領域をユーザーに対して自動的に表示し得、それにより、質問に応答するというユーザーのタスクを簡略化する。これは、問題の領域が大規模な文書コーパス内に含まれていて、それ故、見つけるのが困難な場合、大幅な時間の節約を意味し得る。これは、システム自体が応答を自動的に生成することができない場合でさえ、当てはまる。
【0069】
システムは、かかる自動的に識別した領域を、応答を自動的に生成するためにも使用し得る。潜在的に関連のある領域に的をしぼる機能は、システムの自動質問応答構成要素の正確性を向上し得る。かかる自動生成した応答の人間によるチェックが必要な場合でさえ、正しい可能性が高い応答を自動的に生成する機能は、かかる人間による確認に必要な時間を削減し得る。
【0070】
個々の要素の質問に対する人間とコンピューターとの一致の自動トラッキングを有効にすると、個々の要素の質問に対するか、またはシステム全体に対するかにかかわらず、サポート機能を自動的に有効または無効にすることが可能になる。この機能は、自動生成されたガイダンスが、信頼できる場合にはかかるガイダンスを継続して提供しながら、かかるガイダンスが信頼できないと立証されている状況では、人間のチェック担当者を誤った方向に導く可能性を削減できる。同様に、個々の人間のチェック担当者の、同様の人間のチェック担当者の参照集合に対するパフォーマンスをトラッキングすると、信頼性が特に低いかまたは特に高いチェック担当者の識別が可能になり、それにより、システムの改善が可能になる。
【0071】
本発明の様々な実施形態の別の有益性は、それらが課金のコード化問題を、小さい、個々に解決可能なステップに分解することである。これらの個々のステップで起こる問題は、人間のユーザー(例えば、コード化担当者または医師)の方が良く理解でき得る。結果として、人間のユーザーの方が正確な応答を提供し、また、概して、複雑な課金コード化問題の全体に直面する場合よりも、素早く容易にそれを行う可能性が高い。
【0072】
本発明の様々な実施形態の別の有益性は、単一ステップで、既存のシステムを完全に除外または置換する必要なく、かかる既存のシステムに徐々に統合または「成長」できることである。例えば、人間のチェック担当者によって完全に手動でコードが入力される既存のシステムは、本発明の実施形態で補完され得、それは、かかる人間のチェック担当者がより効率的に作業できるよう、彼らに提案し得る。別の例として、コードが自動的または半自動的に生成される既存のシステムは、本発明の実施形態によって補完され得、それは、自動生成された応答を二重にチェックし、修正するため、人間のチェック担当者に対してガイダンスを提供し得る。本発明の実施形態は、追加の機能を、かかる機能の全てを同時に適用する必要なく、ゆっくり時間をかけて採用するために、使用され得る。
【0073】
本発明の実施形態のさらに別の利点は、人間が生成した応答とコンピューターが生成した応答の両方のうちの最良のものを提供することである。理論的には、たとえ、完全にコンピューター化されたシステムが、自然言語処理を使用して、全ての質問に対して自動的に応答を生成できるとしても、全ての質問に対するコンピューター実行可能な規則を正式に定義するには、著しく費用がかかるであろう。本発明の実施形態は、コンピューター自動化を人間の技能と組み合わせ、それにより、コンピューターのみまたは人間のみを使用したシステムで得られるよりも高い正確さと低い費用で、コンピューター自動化と人間の判断の両方の利点を獲得することにより、かかるコンピューター自動化の有益性が得られるようにする。
【0074】
さらに別の例として、本発明の実施形態は、質問自体だけでなく、その質問に対する応答を検討するのに役立ち得る文書コーパスの領域に関する情報もユーザーに提供することにより、ユーザーが質問に応答するのを支援し得る。かかる潜在的に関連する領域は、システムにより任意の様々な方法で自動的に識別され得る。特に、システムは、質問自体の内容とは無関係な領域定義を使用して、質問に応答するのに適した情報を潜在的に含む領域を識別し得ることに留意すべきである。例えば、質問が「患者は鬱血性心不全か?」の場合、その質問に対する領域定義は、その患者の電子カルテの「疾患」セクションをポイントし得る。言い換えれば、システムは、質問の応答に潜在的に関連する領域を識別するために、質問のどのテキストも使用する必要がない。実際、質問のテキストと質問の領域定義に共通する用語がないこともある。同様に、特定の質問内の質問定義および領域定義は、共通する任意のテキストまたは他の内容を共有する必要がない。これは、質問(テキストおよび/または定義)および対応する領域定義は、異なる目的を果たすという事実を反映する。質問の目的は、どの情報が求められているか(すなわち、「何か」)を指定することであり、他方、対応する領域定義の目的はその情報をどこで探すか(すなわち、「どこか」)を指定することである。
【0075】
本発明は、特定の実施形態に関して前述してきたが、前述の実施形態は、一例として提供したに過ぎず、本発明の範囲を制限または定義するものではないことを理解されたい。以下の実施形態を含むがそれに限定されず、様々な他の実施形態も特許請求の範囲内である。例えば、本明細書で説明する要素および構成要素は、同じ機能を実行するため、さらに追加の構成要素に分けられるか、またはより少ない構成要素を形成するために結合され得る。
【0076】
前述した技術は、例えば、ハードウェア、コンピューター可読媒体に有形的に具体化されたソフトウェア、ファームウェア、またはそれらの任意の組合わせで実施され得る。前述した技術は、プロセッサー、そのプロセッサーで可読な記憶媒体(例えば、揮発性および不揮発性メモリおよび/または記憶素子)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む、プログラム可能なコンピューター上で実行する1つまたは複数のコンピュータープログラムで実施され得る。プログラムコードは、説明した機能を実行するため、および出力を生成するために、入力装置を用いて入力された入力に適用され得る。出力は、1つまたは複数の出力装置に提供され得る。
【0077】
特許請求の範囲内の各コンピュータープログラムは、例えば、アセンブリ言語、機械語、高水準手続き型プログラミング言語、またはオブジェクト指向プログラミング言語など、任意のプログラミング言語で実施され得る。プログラミング言語は、例えば、コンパイルまたは翻訳されたプログラミング言語であり得る。
【0078】
かかる各コンピュータープログラムは、コンピュータープロセッサーで実行するため、機械可読記憶装置に有形的に具体化されたコンピュータープログラム製品に実施され得る。本発明の方法ステップは、入力に関する操作および出力の生成により、本発明の機能を実行するため、固定のコンピューター可読媒体上に有形的に具体化されたプログラムを実行するコンピュータープロセッサーによって実行され得る。適切なプロセッサーには、例として、汎用および専用マイクロプロセッサーの両方を含む。一般に、プロセッサーは、読取り専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受け取る。有形的に具体化されたコンピュータープログラム命令に適した記憶装置には、例えば、EPROM、EEPROM、およびフラッシュメモリ装置を含む半導体メモリ装置、内蔵されたハードディスクおよび取外し可能ディスク、光磁気ディスク、およびCD−ROMなどの、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)で補完されるか、またはそれに組み込まれ得る。コンピューターは、一般に、例えば、内蔵ディスク(図示せず)または取外し可能ディスクなどの記憶媒体からもプログラムおよびデータを受け取る。これらの要素は、従来型のデスクトップまたはワークステーションコンピューター、ならびに本明細書に記載の方法を実施するコンピュータープログラムの実行に適した他のコンピューターにも見られ、それらは、任意のデジタル印刷エンジンもしくはマーキングエンジン、ディスプレイモニター、または、紙、フィルム、ディスプレイ画面、もしくは他の出力媒体上に、カラーもしくはグレースケールの画素を生成できる他のラスター出力装置と共に使用され得る。
図1
図2
図3
図4