(57)【要約】【課題】適応可能な処理コンポーネントを利用するアプリケーションとともに処理システムを構成する方法、装置、コンピュータ・プログラム製品、およびコンピュータ・プログラムを提供する。【解決手段】機械学習コンポーネントから構成されたアプリケーションとともに処理システムを構成する際に、ここで、アプリケーションが１組のトレーニング・データに関してトレーニングされ、このアプリケーションは、別の組のトレーニング・データを使用して処理システム上で実行される。グラウンド・トゥルース・データと一致する、上記別の組のトレーニング・データから作成されたアプリケーションの出力が識別される。コンポーネントは、アプリケーションの識別された出力を使用してグラウンド・トゥルース・データと一致するアプリケーションの出力を作成するように構成される。【選択図】図２
2020509486.tif 000002
【特許請求の範囲】
【請求項１】
複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成する方法であって、前記アプリケーションは１組のトレーニング・データに関してトレーニングされ、前記方法は、
別の組のトレーニング・データを使用して前記処理システム上で前記アプリケーションを実行することと、
グラウンド・トゥルース・データと一致する、前記別の組のトレーニング・データから作成された前記アプリケーションの出力を識別することと、
前記アプリケーションの前記識別された出力を使用して前記グラウンド・トゥルース・データと一致する前記アプリケーションの出力を作成するために前記複数のコンポーネントを適応させることと
を含む、方法。
【請求項２】
前記別の組のトレーニング・データに基づいて前記複数のコンポーネントの各々から第１の複数の候補出力を生成することと、
前記コンポーネントから生成された前記第１の複数の候補出力の各々に関して前記アプリケーションを実行し、前記アプリケーションによって作成された結果に基づいてコンポーネント・モデルを調整することによって、前記複数のコンポーネントの各々に関する前記コンポーネント・モデルをトレーニングすることと
をさらに含む、請求項１に記載の方法。
【請求項３】
各コンポーネントから第２の複数の候補出力を生成すること、
前記コンポーネントから生成された前記第２の複数の候補出力の中から前記コンポーネントに関する候補出力を選択するために各コンポーネントに関して前記トレーニングされたコンポーネント・モデルを適用すること、および
前記複数のコンポーネントの各々に関する前記選択された候補出力を利用して前記アプリケーションを実行すること
によって前記複数のコンポーネントの各々に関して前記トレーニングされたコンポーネント・モデルとともに前記アプリケーションを実行すること
をさらに含む、請求項２に記載の方法。
【請求項４】
前記処理システムは、自然言語処理（ＮＬＰ）システムを含み、前記コンポーネントは、自然言語処理（ＮＬＰ）動作を実行する、請求項１ないし３のいずれかに記載の方法。
【請求項５】
前記第１の複数の候補出力を生成することは、
初期候補出力のバリエーションとして前記第１の複数の候補出力を生成すること
を含む、請求項２ないし４のいずれかに記載の方法。
【請求項６】
前記複数のコンポーネントの各々から生成された前記第１の複数の候補出力に関して特徴を決定すること
をさらに含み、
前記複数のコンポーネントの各々に関するコンポーネント・モデルをトレーニングすることは、前記アプリケーションに関する候補出力の選択を可能にするために前記アプリケーションによって作成された結果に基づいて、前記コンポーネントから生成された前記第１の複数の候補出力の各々の前記特徴を重み付けすることを含む、
請求項２ないし５のいずれかに記載の方法。
【請求項７】
１組のコンポーネントから生成された複数の候補出力の各々からの１つとともに前記アプリケーションを実行し、前記アプリケーションによって作成された結果に基づいて前記１組のコンポーネントに関するコンポーネント・モデルを調整することによって、前記１組のコンポーネントに関する前記コンポーネント・モデルをトレーニングすることと、
前記１組のコンポーネントに関する前記トレーニングされたコンポーネント・モデルとともに前記アプリケーションを実行することと
をさらに含む、請求項１ないし６のいずれかに記載の方法。
【請求項８】
前記コンポーネント・モデルは、前記アプリケーションにおける新しいドメインに応答して前記アプリケーションからの出力に基づきトレーニングされる、請求項１ないし７のいずれかに記載の方法。
【請求項９】
複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成する装置であって、前記アプリケーションは１組のトレーニング・データに関してトレーニングされ、前記装置は、
別の組のトレーニング・データを使用して前記処理システム上で前記アプリケーションを実行することと、
グラウンド・トゥルース・データと一致する、前記別の組のトレーニング・データから作成された前記アプリケーションの出力を識別することと、
前記アプリケーションの前記識別された出力を使用して前記グラウンド・トゥルース・データと一致する前記アプリケーションの出力を作成するために前記複数のコンポーネントを適応させることと
を行うように構成された、プロセッサ
を含む、装置。
【請求項１０】
前記コンポーネントに関するコンポーネント・モデルを記憶するように構成されたデータ記憶ユニットをさらに含み、前記プロセッサは、
前記別の組のトレーニング・データに基づいて前記複数のコンポーネントの各々から第１の複数の候補出力を生成することと、
前記コンポーネントから生成された前記第１の複数の候補出力の各々に関して前記アプリケーションを実行し、前記アプリケーションによって作成された結果に基づいてコンポーネント・モデルを調整することによって、前記複数のコンポーネントの各々に関する前記コンポーネント・モデルをトレーニングすることと
を行うようにさらに構成される、請求項９に記載の装置。
【請求項１１】
前記プロセッサは、
各コンポーネントから第２の複数の候補出力を生成することと、
前記コンポーネントから生成された前記第２の複数の候補出力の中から前記コンポーネントに関する候補出力を選択するために各コンポーネントに関して前記トレーニングされたコンポーネント・モデルを適用することと、
前記複数のコンポーネントの各々に関する前記選択された候補出力を利用して前記アプリケーションを実行することと
を行うようにさらに構成される、請求項１０に記載の装置。
【請求項１２】
前記プロセッサは、
初期候補出力のバリエーションとして前記第１の複数の候補出力を生成すること
を行うようにさらに構成される、請求項１０または１１に記載の装置。
【請求項１３】
前記プロセッサは、
前記複数のコンポーネントの各々から生成された前記第１の複数の候補出力に関して特徴を決定することと、
前記アプリケーションに関する候補出力の前記選択を可能にするために前記アプリケーションによって作成された結果に基づいて、前記コンポーネントから生成された前記第１の複数の候補出力の各々の前記特徴を重み付けすることと
を行うようにさらに構成される、請求項１０ないし１２のいずれかに記載の装置。
【請求項１４】
前記プロセッサは、
１組のコンポーネントから生成された複数の候補出力の各々からの１つとともに前記アプリケーションを実行し、前記アプリケーションによって作成された結果に基づいて前記１組のコンポーネントに関するコンポーネント・モデルを調整することによって、前記１組のコンポーネントに関する前記コンポーネント・モデルをトレーニングすることと、
前記１組のコンポーネントに関する前記トレーニングされたコンポーネント・モデルとともに前記アプリケーションを実行することと
を行うようにさらに構成される、請求項９ないし１３のいずれかに記載の装置。
【請求項１５】
前記コンポーネント・モデルは、前記アプリケーションにおける新しいドメインに応答して前記アプリケーションからの出力に基づきトレーニングされる、請求項１０ないし１４のいずれかに記載の装置。
【請求項１６】
複数のコンポーネントを利用するアプリケーションとともに処理システムを構成するためのコンピュータ・プログラム製品であって、前記アプリケーションは１組のトレーニング・データに関してトレーニングされ、前記コンピュータ・プログラム製品は、プログラム命令が具体化されたコンピュータ読取可能記憶媒体を含み、プロセッサによって実行可能な前記プログラム命令は、
別の組のトレーニング・データを使用して前記処理システム上で前記アプリケーションを実行することと、
グラウンド・トゥルース・データと一致する、前記別の組のトレーニング・データから作成された前記アプリケーションの出力を識別することと、
前記アプリケーションの前記識別された出力を使用して前記グラウンド・トゥルース・データと一致する前記アプリケーションの出力を作成するために前記複数のコンポーネントを適応させることと
を前記プロセッサに行わせる、コンピュータ・プログラム製品。
【請求項１７】
複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成するためのコンピュータ・プログラム製品であって、前記アプリケーションは１組のトレーニング・データに関してトレーニングされ、前記コンピュータ・プログラム製品は、
処理回路によって読取可能であって、請求項１ないし８のいずれかに記載の方法を実行するために前記処理回路による実行のための命令を記憶するコンピュータ読取可能記憶媒体
を含む、コンピュータ・プログラム製品。
【請求項１８】
コンピュータ・プログラムであって、コンピュータ読取可能媒体上に記憶され、デジタル・コンピュータの内部メモリ内にロード可能であり、前記プログラムがコンピュータ上で実行されるとき、請求項１ないし８のいずれかに記載の方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、機械学習に関し、より詳細には、様々なアプリケーション環境において個々の機械学習コンポーネントを適応させることに関する。
【背景技術】
【０００２】
機械学習は、コンピュータ処理システムが明示的なプログラミングなしに学習することができるコンピュータ・サイエンスの分野である。機械学習は、明示的なアルゴリズムを設計およびプログラミングすることが実行不可能である様々なコンピューティング・タスクにおいて使用され、例示的なアプリケーションは、限定はされないが、ネットワーク・セキュリティ、スパム・フィルタリング、光学式文字認識（ＯＣＲ）、検索エンジン、コンピュータ・ビジョン、および自然言語処理（ＮＬＰ）を含む。機械学習コンポーネントまたは「学習者（learner）」の主目的は、学習データ・セットを経験した後、新しい見知らぬ例／タスクを正確に実行するために、その経験から一般化することである。発生空間の典型と見なされるトレーニングの例が提供される場合があり、学習者は、新しい事例において十分に正確な予測を作成することを可能にする、この空間に関する一般モデルを構築する。
【０００３】
いくつかのコンピュータ処理システムならびにその上で実行されるアプリケーションおよびタスクは、多くのコンポーネントを含み、それらのコンポーネントのうちの１つまたは複数は、学習者であってもよい。いくつかのシステムでは、学習者の各々は、互いに独立して、またシステム全体のトレーニングから独立してトレーニングされなければならない。現代の大規模なＮＬＰアプリケーションは、たとえば、互いに独立して、またコンポーネントが使用されるアプリケーションから独立して従来方式でトレーニングされる多くの個々の機械学習ベースのコンポーネントから成る。新しいドメインまたは新しいジャンルのテキストあるいはその両方がアプリケーションに導入されたとき、アプリケーションは、新しいドメインにおいて精度を維持するために新しいトレーニング・データを用いて再トレーニングされる必要がある。そのアプリケーション内の各ＮＬＰコンポーネントは、個別にトレーニングされるか、あるいは、そのドメインもしくはジャンルまたはその両方に手動で適応させなければならない。新しいドメインに関するそのようなＮＬＰコンポーネントのためのトレーニング・データを取得することは、極めて高価であり、そのドメインにおける人間の専門家からの入力を必要とする。大きいアプリケーションにおける各すべてのＮＬＰコンポーネントを再トレーニングすることは、法外に高価になり、場合によっては、アプリケーション精度を犠牲にして無視される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、適応可能な処理コンポーネントを利用するアプリケーションとともに処理システムを構成する方法等を提供することである。
【課題を解決するための手段】
【０００５】
第１の態様から見ると、本発明は、複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成するための方法を提供し、アプリケーションは１組のトレーニング・データに関してトレーニングされ、方法は、別の組のトレーニング・データを使用して処理システム上でアプリケーションを実行することと、グラウンド・トゥルース・データと一致する、上記別の組のトレーニング・データから作成されたアプリケーションの出力を識別することと、アプリケーションの識別された出力を使用してグラウンド・トゥルース・データと一致するアプリケーションの出力を作成するために複数のコンポーネントを適応させることとを含む。
【０００６】
さらなる態様から見ると、本発明は、複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成するための装置を提供し、アプリケーションは１組のトレーニング・データに関してトレーニングされ、装置は、別の組のトレーニング・データを使用して処理システム上でアプリケーションを実行することと、グラウンド・トゥルース・データと一致する、上記別の組のトレーニング・データから作成されたアプリケーションの出力を識別することと、アプリケーションの識別された出力を使用してグラウンド・トゥルース・データと一致するアプリケーションの出力を作成するために複数のコンポーネントを適応させることとを行うように構成されたプロセッサを含む。
【０００７】
さらなる態様から見ると、本発明は、複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成するためのコンピュータ・プログラム製品を提供し、アプリケーションは１組のトレーニング・データに関してトレーニングされ、コンピュータ・プログラム製品は、処理回路によって読取可能であって、本発明のステップを実行するための方法を実行するために処理回路による実行のための命令を記憶するコンピュータ読取可能記憶媒体を含む。
【０００８】
さらなる態様から見ると、本発明は、コンピュータ・プログラムを提供し、コンピュータ・プログラムは、コンピュータ読取可能媒体上に記憶され、デジタル・コンピュータの内部メモリ内にロード可能であり、前記プログラムがコンピュータ上で実行されるとき、本発明のステップを実行するためのソフトウェア・コード部分を含む。
【０００９】
本発明の実施形態は、各コンポーネントを個別に再トレーニングするのと対照的に、アプリケーションのＮＬＰコンポーネントを適応させトレーニングするためにアプリケーション自体からのフィードバックを使用することによって技術の先行の欠陥を克服する。
【００１０】
本発明は、複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成するためのシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよく、ここで、アプリケーションは、１組のトレーニング・データに関してトレーニングされ、このアプリケーションは、別の組のトレーニング・データを使用して処理システム上で実行される。グラウンド・トゥルース・データと一致する、上記別の組のトレーニング・データから作成されたアプリケーションの出力が識別される。コンポーネントは、アプリケーションの識別された出力を使用してグラウンド・トゥルース・データと一致するアプリケーションの出力を作成するように適応する。
【００１１】
任意選択で、第１の数の候補出力が、コンポーネントの各々から生成されてもよい。コンポーネント・モデルは、そのコンポーネントから生成された第１の複数の候補出力の各々に関してアプリケーションを実行することによってコンポーネントの各々に関してトレーニングされる。コンポーネント・モデルは、アプリケーションによって作成された結果に基づいて調整される。アプリケーションは、各コンポーネントから第２の数の候補出力を生成することによって複数のコンポーネントの各々に関してトレーニングされたコンポーネント・モデルとともに実行される。各コンポーネントに関してトレーニングされたコンポーネント・モデルは、そのコンポーネントから生成された第２の数の候補出力の中からそのコンポーネントに関する候補出力を選択するために適用される。アプリケーションは、コンポーネントの各々に関する選択された候補出力を利用して実行される。
【００１２】
任意選択で、第１の数の候補出力を生成することは、初期候補出力のバリエーションとして第１の数の候補出力を生成することを含んでもよい。
【００１３】
任意選択で、特徴は、コンポーネントの各々から生成された第１の数の候補出力に関して決定されてもよく、コンポーネントの各々に関するコンポーネント・モデルは、アプリケーションに関する候補出力の選択を可能にするためにアプリケーションによって作成された結果に基づいて、そのコンポーネントから生成された第１の数の候補出力の各々の特徴を重み付けすることによってトレーニングされてもよい。
【００１４】
任意選択で、コンポーネント・モデルは、１組のコンポーネントから生成された第１の数の候補出力の各々からの１つとともにアプリケーションを実行することによって１組のコンポーネントに関してトレーニングされてもよい。コンポーネント・モデルは、アプリケーションによって作成された結果に基づいて１組のコンポーネントに関して調整されてもよい。アプリケーションは、１組のコンポーネントに関してトレーニングされたコンポーネント・モデルとともに実行される。
【００１５】
任意選択で、コンポーネント・モデルは、アプリケーションにおける新しいドメインに応答してアプリケーションからの出力に基づきトレーニングされてもよい。
【００１６】
任意選択で、コンポーネント・モデルをトレーニングすることは、第１の数の候補出力の各々に関してアプリケーションの実行の精度を測定することと、精度に基づいて対応するコンポーネント・モデルを調整することとを含む。特徴を重み付けすることは、高い精度を作成する候補出力に関連付けられた特徴に対する重み付けを増加させることと、低い精度を作成する候補出力に関連付けられた重み付けを減少させることとを含んでもよい。
【００１７】
上記は、発明の概要であり、したがって、必然的に、単純化、一般化、および詳細の省略を含み、この発明の概要は、単なる例示であり、いかなる限定も意図するものではない。本発明の他の態様、発明の特徴および利点は、もっぱら主題の特許出願の特許請求の範囲によって定義されるが、以下の非限定的な発明を実施するための形態から明らかになるであろう。
【００１８】
次に、本発明は、以下の図に示されるように、好ましい実施形態を参照して、単なる例として説明される。
【図面の簡単な説明】
【００１９】
【図１】本発明を具体化することができる例示的な環境を示す図である。
【図２】本発明を具体化することができる、適応可能なコンポーネントを含む例示的なＮＬＰアプリケーションの概略ブロック図である。
【図３】本発明を具体化することができる、適応可能なコンポーネントを含む例示的なＮＬＰアプリケーションの概略ブロック図である。
【図４】本発明を具体化することができる自然言語コア・コンポーネントの図である。
【図５】本発明の実施形態における、コンポーネント適応モデル・トレーニングおよびランタイム利用の概略ブロック図である。
【図６】本発明の実施形態における、コンポーネント適応モデル・トレーニングおよびランタイム利用の概略ブロック図である。
【図７】本発明を具体化することができる、従属コンポーネントのコンポーネント適応トレーニングおよびランタイム利用のブロック図である。
【図８】本発明を具体化することができる、コンポーネント・トレーニングおよびランタイム動作プロセスのフロー図である。
【図９】本発明を具体化することができる、コンポーネント・トレーニングおよびランタイム動作プロセスのフロー図である。
【発明を実施するための形態】
【００２０】
異なるドメイン、ジャンル、またはアプリケーションにおける使用のための自然言語処理（ＮＬＰ）コンポーネントにトレーニングを提供するために、本発明の実施形態は、各個別のコンポーネントを別々にトレーニングするのとは対照的に、コンポーネントがアプリケーションのトレーニング中に取得された情報を使用してトレーニングされる技法を提供する。本明細書で使用する「アプリケーション」という用語は、通常はユーザ入力に応答して１つまたは複数のタスクを実行する、プロセッサ命令（ソフトウェア）の制御の下でハードウェアを処理することを指す。この定義は、コンピュータ関連の分野における用語の一般的な使用法に沿っていることが意図される。本発明の実施形態は、新しい会話ドメインに順応するために、または、他の機械学習アプリケーションにおいて使用するために、あるいはその両方のために、ＮＬＰアプリケーションなどの機械学習を利用するアプリケーションのコンポーネントを再トレーニングすることができる手段を提供する。本発明は、機械学習自体の改良であり、定義上は、「コンピュータ関連技術」であることを理解されたい。本明細書で説明する改良は、コンピュータにより実装される機械学習システムによって前に実行されなかった、自然言語および他の機械学習機能のコンピュータ動作を可能にする。
【００２１】
本発明の実施形態に関する例示的な環境は、ネットワーク・インフラストラクチャ１０として図１に示される。図示されるように、この環境は、本明細書では代表してサーバ・システム１２と呼ぶ、１つまたは複数のサーバ・システム１２ａ〜１２ｊと、本明細書では代表してクライアント・システム１４と呼ぶ、１つまたは複数のクライアント・システムまたはエンドユーザ・システム１４ａ〜１４ｋとを含む。サーバ・システム１２およびクライアント・システム１４は、互いに離れていてもよく、ネットワーク１３を介して通信してもよい。ネットワーク１３は、たとえば、金属導体、光ファイバ、空気などの任意の数の適切な通信媒体を介して、１つまたは複数の信号伝達技法を使用して、場合によっては、たとえば、インターネット・プロトコル（ＩＰ）、通信制御プロトコル（ＴＣＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）などの１つまたは複数の標準通信プロトコルに従って実装されてもよい。ネットワーク１３は、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、イントラネットなどを実装するために適切なハードウェア・コンポーネントによってサポートされてもよい。代替として、サーバ・システム１２およびクライアント・システム１４は、たとえば、無線リンク、ファイバレス光リンクなどの直接技法または見通し線技法を介して通信するために、互いに十分に接近していてもよい。いくつかの実装形態では、サーバ・システム１２のサービスおよび機能ならびにクライアント・システム１４のサービスおよび機能は、共通の回路、およびワークステーションなどの単一のデバイスにおける共有の計算資源によって実行されてもよい。
【００２２】
サーバ・システム１２およびクライアント・システム１４は、ディスプレイまたはモニタと、ベース（たとえば、少なくとも１つのプロセッサ（図示せず）、１つまたは複数のメモリ（図示せず）を含む）と、たとえば、モデム、ネットワーク・カードなどの内部または外部のネットワーク・インターフェースまたは通信デバイス（図示せず）と、たとえば、キーボード、マウス、または他の入力デバイスなどの任意選択の入力デバイスと、たとえば、オペレーティング・システム、サーバ／通信ソフトウェア、ブラウザ／インターフェース・ソフトウェアなどの任意の市販のオープン・ソース特注ソフトウェアとが装備されているのが好ましい、任意の従来のまたは他のコンピュータ・システムによって実装されてもよい。
【００２３】
１つもしくは複数のクライアント・システム１４または１つもしくは複数のサーバ・システム１２あるいはその両方は、情報技術インフラストラクチャ（ＩＴＩ）２０を実装するように構築され、または別途、構成されてもよい。ＩＴＩ２０は、企業データが収集され、記憶され、取得され、管理される統一的フレームワークを表す。ＩＴＩ２０は、特に、ＮＬＰプラットフォーム２２を実装してもよい。ＮＬＰプラットフォーム２２は、上に示したＮＬＰアプリケーションなどのＮＬＰアプリケーションをサポートする機械フレームワークを表す。
【００２４】
ＮＬＰプラットフォーム２２は、処理されたデータをＩＴＩ２０の情報スキームに一体化することができるように、確立された情報モデル２６に従って、代表して非構造化テキスト１５で示される非構造化入力テキストを収集および処理してもよい。本明細書で使用する「情報モデル」は、ＩＴＩ２０内で実現される各会話ドメインに関する言語学的概念と、テキスト・コンテンツがその基礎となる意味を導出するために構文解析される、これらの概念間、制約間、規則間、および動作間の関係とを表す。情報モデル２６は、複数のオントロジを包含してもよいが、本明細書で使用する「オントロジ」は、会話ドメインにおいてエージェント間で意味が伝達される言語学的エンティティの仕様である。オントロジは、限定はされないが、会話ドメインに関する、辞書学、形態論、文法規則および構文規則、テキストの特別なパターンなどを含む。オントロジは、一般的な言語および企業内部の言語学的エンティティならびにドメイン固有のオントロジを指定することができる、ローカルなオントロジまたは一般的なオントロジあるいはその両方を含んでもよく、ドメイン固有のオントロジは、健康管理、法律、ファイナンス、科学的研究などの分野における特異的なボキャブラリまたは形態論あるいはその両方を有する会話ドメインなどの高度に専門化した会話ドメインの言語学的エンティティを指定する。本発明は、情報技術インフラストラクチャ２０においてオントロジが実現される特定の技法に限定されない。本開示を検討すれば、計算言語学の当業者は、本発明の意図された範囲から逸脱することなく、特定の情報統合アプリケーションにおいてオントロジを実現することができる様々な技法を認識するであろう。
【００２５】
図１に示されるように、ＩＴＩ２０は、情報オブジェクト１００などの構造化情報が記憶されるデータベース（ＤＢ）２４を実装してもよい。たとえば、情報モデル、ドメイン・モデル、ランキング・モデルなどの、本明細書で説明する様々なモデルも、ＤＢ２４に記憶されてもよい。本発明は、ＤＢ２４の特定の実装形態に限定されず、本開示を検討すれば、情報技術の当業者は、本発明の意図された範囲から逸脱することなく、本発明と併せて使用することができる多数の構造化情報記憶技法を認識するであろう。
【００２６】
情報オブジェクト１００は、本発明のいくつかの実施形態が、様々な自然言語処理動作を通していくつかのオブジェクトまたはエンティティに関するコンピュータ読取可能情報を運ぶ、例示的なデータ構造である。図１には単一の情報オブジェクト１００が示されているが、ＤＢ２４は、各々が様々なサイズであって様々な情報データを含む、何十億もの情報オブジェクト１００を含んでもよいことを理解されたい。
【００２７】
情報オブジェクト１００は、特に、情報オブジェクト１００によって表されるオブジェクトの記憶状態を表してもよい。属性１１０は、代表して変数１１２で示されるそれぞれの変数と、代表して値１１４として図１に表される、これらの変数に割り当てられたそれぞれの値とを含んでもよい。本発明は、コンピュータ読取可能な形式のオブジェクトを表す特定の方法に限定されず、情報オブジェクト１００は１つの例にすぎない。さらに、値１１４は、数値またはテキスト値の表現に制限されないことを理解されたい。たとえば、値１１４は、ポインタ、他の情報オブジェクト１００（たとえば、文が構成される単語情報オブジェクトへの参照を含む文情報オブジェクト）へのリンクまたは参照を含んでもよい。本発明は、情報オブジェクト１００内で表すことができる属性の特定の組に限定されない。
【００２８】
メタデータ１２０は、表されたオブジェクトに関する様々な他の情報を表す。たとえば、メタデータ１２０は、たとえば、表された状態が人間にとって何を意味するのか、個々の変数に割り当てられた値が人間にとって何を意味するのかなどの、属性１１０に関するコンピュータ読取可能情報を含んでもよい。メタデータ１２０は、ランタイムおよびトレーニング情報を含む、データ処理自体に関連するコンピュータ読取可能情報を含むこともできる。他の情報も、自然言語処理およびデータベース技術の当業者が認識するように、メタデータ１２０内に表すことができる。
【００２９】
ＮＬＰアプリケーションは、ドメイン固有の知識を表すドメイン・モデル２８を介してトレーニングされてもよい。そのようなドメイン固有の知識は、たとえば、アプリケーションの各処理ステージが、そのステージの入力情報オブジェクト１００からそのステージの出力情報オブジェクト１００を生成する、バックグラウンド・データ、規則、式、変換、定数などを含んでもよい。たとえば、健康管理ドメインでは、ドメイン・モデル２８は、いくつかの医療診断が、たとえば、医療履歴、検査結果、医師の注釈などの収集されたデータから導出される、方法論を実現する。ＮＬＰプラットフォーム２２の様々な処理ステージまたはコンポーネントは、ドメイン・モデル２８に従って、数式を計算すること、テキストを処理することなどに応答して、情報オブジェクト１００に新しい属性１１０を挿入してもよく、ドメイン・モデル２８によって定義されるようにアプリケーションの処理機能に基づいて、数字、テキスト、画像、ビデオ、ハイパーリンクなどを含む変数１１２に値１１４を割り当ててもよい。
【００３０】
図２および図３は、ＮＬＰプラットフォーム２２の下で実行されるか、または別途ＮＬＰプラットフォーム２２によってサポートされる例示的な質問回答（ＱＡ）システム２００の概略ブロック図である。ＱＡシステム２００は、自然言語処理、認知処理、機械学習、および機械推論技法を使用して、ユーザ選択された質問（問合せの順番（lines of inquiry））に対する回答（結果）を生成するように構築されるか、または別途構成されてもよい。図２は、ＱＡシステム２００のランタイム構成を示し、図３は、ＱＡシステム２００のトレーニング構成を示す。
【００３１】
ＮＬＰ処理プラットフォーム２２は、ＱＡシステム２００などのＮＬＰアプリケーションの様々なコンポーネントにおいて使用することができるＮＬＰコア３００の具体化またはＮＬＰコア３００に対するアプリケーション・サポート（たとえば、アプリケーション・プログラミング・インターフェース）あるいはその両方を与えてもよい。いくつかの実施形態では、ＮＬＰコア３００またはそのコンポーネントあるいはその両方は、ＮＬＰコア３００のコンポーネントを個別にトレーニングする必要なしに、ＮＬＰプラットフォーム２２の下で新しい会話ドメインまたは新しいアプリケーションあるいはその両方に適応することができる。例示的なＮＬＰコア３００は、図４を参照して以下に詳細に論じられる。
【００３２】
図２に示されるように、回答が求められる質問２０５は、ＮＬＰアプリケーションのユーザ・インターフェースなどを介してランタイムにＱＡシステム２００に導かれてもよい。質問２０５は、動的なユーザ構築データベース問合せであってもよく、あるいは、標準的な出力生成物（回答）もしくは通常の出力生成物またはその両方を生成するように設計された、前に確立された問合せの順番であってもよく、あるいはその両方であってもよい。
【００３３】
質問分析ステージ２１０は、質問２０５の性質を決定してもよく、特別な処理を必要とする質問タイプまたは質問の一部分を識別する質問分類技法を使用してもよい。質問分析ステージ２１０は、本明細書では語彙回答タイプ（ＬＡＴ：ｌｅｘｉｃａｌ  ａｎｓｗｅｒ  ｔｙｐｅ）と呼ぶ、質問の回答の情報タイプを指定する問題の単語または名詞句を識別することもできる。候補回答は、後に、候補回答がＬＡＴの例と見なされるかどうかに関する確信度（confidence）指標によってスコアリングすることができる。
【００３４】
初期検索ステージ２２０は、質問２０５に関する情報を求めてテキスト・コーパス２８０の検索を実行する。テキスト・コーパス２８０は、特定の課題空間（たとえば、健康管理、ファイナンスなど）において生じる問題の種類を説明するか、または別途これらの種類を示す情報などの、ターゲット・ドメインに関する情報を含んでもよい。初期検索ステージ２２０は、質問分析ステージ２１０の結果に基づいて、できるだけ多くの潜在的に回答を生むコンテンツを見出すためにテキスト・コーパス２８０を介して検索を行ってもよい。初期検索ステージ２２０は、様々な基礎となるアプローチ、文書検索、ならびに、パッセージ検索、知識ベースの検索、単一の質問に関する複数の検索問合せの生成、およびその他を用いた、複数のテキスト検索エンジンの使用を含む、様々な検索技法を実現することができる。
【００３５】
候補生成ステージ２３０は、質問２０５に対する候補回答を生成するために初期検索ステージ２２０によって生成された結果を使用する。候補生成ステージ２３０は、取得された検索結果の種類に適した技法を使用してもよい。たとえば、「タイトル指向」リソースからの文書検索結果の事例では、タイトルは、候補回答として抽出される場合がある。このシステムは、部分列分析またはリンク分析（基礎となるソースがハイパーリンクを含む場合）に基づいて同じタイトルからいくつかの候補回答異表記（variant）を生成することができる。パッセージ検索結果は、候補回答を識別するためにパッセージ・テキストのより詳細な分析を必要とする。たとえば、パッセージから候補回答を抽出するために、固有表現検出（named entity detection）が使用されてもよい。トリプルストアおよび辞書の逆引きなどのいくつかのソースは、それらの検索結果として候補回答を直接生成する。
【００３６】
エビデンス取得ステージ２４０では、候補回答は、各候補回答に関する追加のサポート用のエビデンスを収集することと、サポート用のエビデンスを評価するために多種多様の深層スコアリング・アナリティクス（deep scoring analytics）を適用することとを含む、厳格な評価プロセスを受ける。エビデンスは、候補回答がサポートまたは反証される情報である。たとえば、候補回答が、構造、文脈、および意味においてエビデンスとして収集された他の使用例と類似している場合、回答が正しいという確信度がより大きくなる。候補回答に一致する使用例がまったく無い（または少ない）場合、候補の確信度は低くなる。
【００３７】
本発明の実施形態は、代表してエビデンス・コーパス２９０で示される、様々なソースにおいて様々なエビデンス収集技法を実施することができる。例示的な技法は、候補回答が質問から導出された検索問合せにおける必要な用語として追加される、初期検索ステージ２２０におけるパッセージ検索を実行する。このことは、元の質問用語の文脈における候補回答を含むパッセージを取得する。サポート用のエビデンスは、トリプルストアなどの他のソースから来ることもできる。取得されたサポート用のエビデンスは、深層（正確に目標に定められた）エビデンス・スコアリング動作を受けてもよく、この動作は、サポート用のエビデンスの文脈における候補回答を評価する。
【００３８】
回答スコアリングおよびランキング・ステージ２５０は、エビデンス取得ステージ２４０によって取得されたエビデンスに基づいて、候補回答が正しいという確信度を決定するスコアリング・アルゴリズムを実行する。ＱＡシステム２００は、エビデンスの様々な次元を検討し、エビデンスが所与の質問に対する候補回答をどの程度良くサポートするかに対応するスコアを生成する、多くの異なるスコアリング技法をサポートしてもよい。そのようなスコアリング技法は、様々なタイプのソースからのエビデンスに基づいて、正規の確率から分類別特徴のカウントまでの範囲に及んでもよい。スコアリング技法は、パッセージの述語項構造と質問との間のマッチ度、パッセージ・ソース信頼性、地理空間的な位置、時間的な関係、分類学による分類、候補が関与することがわかっている語彙および意味の関係、候補と質問用語との相関関係、その需要（または曖昧さ）、その別名などのことを検討する場合がある。
【００３９】
「１９７４年９月８日に大統領によってだれが赦免されたか」という質問を検討すれば、生成された候補回答の１つである「ニクソン」と正しく答えられる。エビデンスとして使用される取得されたパッセージの１つは、「１９７４年９月８日にフォードがニクソンを赦免した。」である可能性がある。例示的なパッセージ・スコアラは、質問とパッセージとの間の共通の逆文書頻度（ＩＤＦ：ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）重み付き用語の数をカウントしてもよい。別のパッセージ・スコアラは、質問とパッセージとの間の最も長い類似の部分列の長さを測定してもよい。第３のタイプのパッセージ・スコアリングは、質問およびパッセージの論理形式のアラインメントを測定する。論理形式は、ノードがテキスト内の用語であり、エッジが文法的関係または深層の意味的関係あるいはその両方を表す、テキストの視覚的抽象化である。上記の例では、論理形式アラインメントは、パッセージ内の赦免の対象としてニクソンを識別し、質問は、赦免の対象を求めている。論理形式アラインメントは、このエビデンスが与えられれば、「ニクソン」に良いスコアを与える。対照的に、「フォード」などの候補回答は、このパッセージとの用語マッチおよびパッセージ・アラインメントに関しては「ニクソン」とほぼ同一のスコアを受け取るが、より低い論理形式アラインメント・スコアを受け取る。
【００４０】
他のタイプのスコアは、トリプルストア内の知識、ならびに、タイプ分類および地理空間的かつ時間的な推論における包含および排反などの簡単な推論を使用する。地理空間的な推論は、地理的エンティティ（geoentity）間の方向性、境界、および包含などの空間的な関係の存在または不在を検出するために使用されてもよい。たとえば、質問がアジアの都市を求める場合、空間的包含は、北京は適切な候補であるが、シドニーはそうでないというエビデンスを提供する。同様に、エンティティに関連付けられた地理座標情報は、相対的な方向性（たとえば、カリフォルニアはモンタナの南西にある、ＧＷブリッジはリンカーン・トンネルの北にある、など）を計算するために使用されてもよい。
【００４１】
時間的な推論は、エビデンスの日付と候補回答に関連付けられた日付との間の不一致を検出するために使用されてもよい。たとえば、「１５９４年にアンダルシアにおいて、だれが収税官の仕事に就いたか」という質問に対して生成された、２つの最も起こり得る候補回答は、「ソロー」および「セルバンテス」である。この事例では、時間的な推論は、ソローは１５９４年には生存しておらず、１８１７年に生まれた一方で、正解であるセルバンテスは１５４７年に生まれ、１６１６年に死亡したので、ソローを除外するために使用される。
【００４２】
回答スコアリングおよびランキング・ステージ２５０は、エビデンスが与えられれば、単一の最もサポートされた候補回答を識別するために、潜在的な何十万ものスコアに基づいて、何百もの候補回答を評価することができる。特定の候補回答の確信度、すなわち特定の回答が正しいという尤度が推定されてもよい。質問に対する複数の候補回答が、極めて異なる表層形式（surface form）にもかかわらず、等しい場合があるので、候補間の相対的な差を利用するランキング技法におけるコンフリクトを避けるために回答スコアリングおよびランキング・ステージ２５０によって、回答併合が適用されてもよい。そのような回答併合が無ければ、ランキング・アルゴリズムは、同じ回答を表す複数の表層形式を識別しようとして、これらの表層形式を比較するかもしれない。しかし、異なる表層形式は、しばしば、エビデンスにおいて共通点のない状態でサポートされ、根本的に異なるが、潜在的に相補的なスコアをもたらす。本発明の実施形態は、マッチング・アルゴリズム、正規化アルゴリズム、および共参照解析アルゴリズムの集合を適用し、それによって、等しい関連の仮説（たとえば、エイブラハム・リンカーンと正直なエイブ）が識別される。
【００４３】
図２および図３に示されるように、ＱＡシステム２００は、どの候補回答がランキングされたかによるランキング・モデル２７０を含み、確信度は、候補回答の併合されたスコアに基づいて推定される。本発明の実施形態は、スコアに基づいてランキング・モデル２７０をトレーニングするために既知の回答を用いて１組のトレーニング質問にわたって動作する機械学習技法を実装する。
【００４４】
トレーニング・ランキング・モデル２７０は、既知の回答を用いて１組のトレーニング質問２０３にわたってシステムを実行することを含む機械学習技法によって達成される場合がある。１組のトレーニング質問２０３およびそれぞれの既知の回答は、グラウンド・トゥルース・データ２０９として機能してもよい。図３に示されるように、トレーニング質問２０３は、トレーニング・モードにおいてＱＡシステム２００に提供されてもよい。トレーニング質問２０３は、図２に示されたランタイム・モードを参照して説明した方法と実質的に同一の方法でＱＡシステム２００によって処理されてもよい。しかし、回答スコアリング・ステージ２５０’は、候補回答ランキングを控え、その出力においてスコアリングされた回答２０７’を提供する。スコアリングされた回答２０７’は、回答スコアおよびグラウンド・トゥルース・データ２０９に基づいてランキング・モデル２７０を構築するための機械学習技法を適用するＱＡトレーニング・ステージ２６０に提供される。本発明は、ＱＡトレーニング・ステージ２６０によって利用される特定の機械学習技法に限定されない。本開示を検討すれば、機械学習の当業者は、その意図された範囲から逸脱することなく、本発明と併せて使用することができる様々な技法を認識することができる。
【００４５】
図４は、本発明の実施形態において使用することができる例示的なＮＬＰコア３００のブロック図である。図に示されるように、ＮＬＰコア３００は、１組のＮＬＰコア・コンポーネント３１０、すなわち、トークナイザ・コンポーネント３１０ａ、品詞（ＰＯＳ：ｐａｒｔ−ｏｆ−ｓｐｅｅｃｈ）タガー・コンポーネント３１０ｂ、構文パーサ・コンポーネント３１０ｃ、固有表現抽出器（ＮＥＲ：ｎａｍｅｄ  ｅｎｔｉｔｙ  ｒｅｃｏｇｎｉｚｅｒ）コンポーネント３１０ｄ、関係検出器コンポーネント３１０ｅ、および共参照解析器コンポーネント３１０ｆであってもよい。本発明は、図４に示される特定のＮＬＰコア・コンポーネント３１０に限定されず、これらのＮＬＰコア・コンポーネント３１０は、様々なＮＬＰアプリケーションにおける使用のためのＮＬＰプラットフォーム２２によってサポートされる場合がある、一般に使用されるＮＬＰプロセスの適切な例である。加えて、ＮＬＰコア・コンポーネント３１０は、オープン・ソース・ソフトウェア・パッケージ、市販のソフトウェア・パッケージ、および独自のソフトウェア・パッケージを含む、公に知られているアルゴリズムおよび技法を介して実現されてもよい。
【００４６】
例示的なトークナイザ・コンポーネント３１０ａは、入力テキスト３０５に含まれるトークン（たとえば、単語、無意味な語など）を（適切に構築された情報オブジェクト１００などによって）識別および説明する。特定のＮＬＰコア３００が利用されるＱＡシステム２００のアプリケーション・コンポーネントに応じて、入力テキスト３０５は、ＮＬＰコア３００によるさらなる処理のために、（質問分析ステージ２１０において）質問２０５から、（初期検索ステージ２２０において）テキスト・コーパス２８０から、または（エビデンス取得ステージ２４０において）エビデンス・コーパス２９０から取得される場合がある。
【００４７】
図４に示されるように、品詞（ＰＯＳ）タガー・コンポーネント３１０ｂは、いくつかの既知の言語のテキスト（入力トークン）を読み取ってもよく、品詞を、名詞、動詞、形容詞、副詞、複数名詞などの各単語（および他のトークン）に割り当ててもよい。
【００４８】
構文パーサ・コンポーネント３１０ｃは、たとえば、句、文などの文法的構造を識別するために品詞を分析することができる。構文パーサ・コンポーネント３１０ｃは、たとえば、どの単語グループが（句として）相伴うか、および、どの単語が主語または動詞の目的語であるか、を決定することができる。確率的パーサは、新しい文の最も起こり得る分析を生成しようとするために前に構文解析された文から得られた言語の知識を使用する。
【００４９】
固有表現抽出器（ＮＥＲ）コンポーネント３１０ｄは、固有エンティティ（named entity）（たとえば、人、場所、組織など）、数的なエンティティ（たとえば、金銭、数、序数、パーセントなど）、および時間的なエンティティ（たとえば、日付、時間、期間、セットなど）を認識する。固有エンティティは、様々なコーパス上でトレーニングされた系列タガー（sequence tagger）を使用して認識されてもよい。
【００５０】
関係抽出器コンポーネント３１０ｅは、２つのエンティティ間の関係（たとえば、修飾語句と動詞の主語／目的語などの構文関係、参加者などのイベント・フレーム関係など）を見出す。ほとんどの質問は、それらが構文の主語−動詞−目的語型の述語であるかなどの関係、またはエンティティ間の意味的関係を含む。
【００５１】
共参照解析器コンポーネント３１０ｆは、テキスト内の同じエンティティを指すすべての表現を見出す。たとえば、共参照解析器コンポーネント３１０ｆは、同じ人を指すとき、「ジャックは彼の犬を愛する。」という文において「ジャック」および「彼の」という単語を識別するように構成されてもよい。共参照を解析する技法は、しばしば、指示表現（referring expression）に適合する、テキスト内の最も近い先行するオブジェクト参照表現を最初に探す。しかし、他の共参照解析技法も、本発明と併せて使用することができる。
【００５２】
図４に示されるように、各ＮＬＰコア・コンポーネント３１０は、本明細書では代表して候補出力３２０と呼ぶ、候補出力を生成するか、または別途作成する。たとえば、トークナイザ・コンポーネント３１０ａは、候補トークン３２０ａを作成することができ、ＰＯＳタガー・コンポーネント３１０ｂは、候補品詞３２０ｂを作成することができ、構文パーサ・コンポーネント３１０ｃは、候補文法的構造３２０ｃを作成することができ、固有表現抽出器コンポーネント３１０ｄは、候補固有エンティティ３２０ｄを作成することができ、関係検出器コンポーネント３１０ｅは、候補関係３２０ｅを作成することができ、共参照解析器コンポーネント３１０ｆは、候補等価エンティティ３２０ｆを作成することができる。各候補出力３２０は、たとえば、属性１１０における注釈付きのテキストまたは他のラベル付きのテキストとして、適用可能な場合はメタデータ１２０として、情報オブジェクト１００内に表されてもよい。加えて、図４に示されるように、各候補出力３２０は、１つまたは複数の特徴３３０によって特徴付けられる場合があり、対応する情報オブジェクト１００のメタデータ１２０内に記憶される場合がある。本明細書で使用する「特徴」は、何らかのエンティティを表す情報のコンピュータ読取可能項目である。いくつかの実施形態では、各候補出力３２０は、特徴ベクトル内に構成された、いくつかのそのような特徴によって特徴付けられる場合がある。そのように具体化されるとき、各候補出力３２０は、対応する特徴ベクトルを分析することによって、その構成に関して評価されることが可能である。説明のために、特徴３３０も、本明細書では特徴ベクトル３３０と呼ばれるが、本発明は、ベクトル表現に限定されない。
【００５３】
特徴ベクトル３３０は、機械学習技法が前進することができる情報データおよび識別データである。新しいドメインにアプリケーションを適応させるとき、特徴ベクトル３３０は、トレーニングの結果として、新しいドメインに関連する候補回答が、重み付け技法などによって、他のドメイン内の回答よりも好ましくなるように、新しいドメインの意味を取得するために注意深く選択または設計されるべきである。そのような特徴ベクトル３３０または新しいドメインに関する特徴生成機能あるいはその両方は、ドメイン・モデル２８の一部分として構築されるか、または別途構成されてもよい。
【００５４】
図４に示されるように、単一の入力に対する任意のＮＬＰコア・コンポーネント３１０によって作成される候補出力３２０の数は、他のＮＬＰコア・コンポーネント３１０によって作成される候補出力３２０の数と無関係でもよい。個々のＮＬＰコア・コンポーネント３１０によって生成されるか、または別途作成される候補出力３２０の数は、ユーザ構成可能なパラメータであってもよい。
【００５５】
１つのＮＬＰコア・コンポーネント３１０からの候補出力３２０が、ＱＡシステム２００の出力における正解２０７に対応するとき、ＱＡシステム２００の後続のステージにおけるＮＬＰコア３００の候補出力３２０のすべても、正しくなければならない。これらの候補出力３２０は、適切な重み付けなどによって優先権を与えられてもよい。候補出力３２０が不正解２０７を作成するとき、ＱＡシステム２００の別のステージにおける何らかの候補出力３２０として生成されたその出力３２０は、正しくない。したがって、障害となる元の候補出力３２０は、それに対する適切な重みを適用することによって避けることができる。
【００５６】
本発明の実施形態は、質問に対する正解によりつながりそうな候補出力３２０を作成し、正解にあまりつながりそうにない候補出力３２０の数を低減するために、ＮＬＰコア３００のコンポーネント３１０をトレーニング、構成、および利用する。そのようなトレーニングは、従来、ドメイン主題エキスパートおよび情報技術者によって手動の技法を介して達成される。有利にも、本発明の実施形態は、ＱＡシステム２００などのアプリケーションの出力からのフィードバックを使用してそのようなトレーニングを達成する。
【００５７】
図５および図６は、トレーニング・モードを示す図５およびランタイム・モードを示す図６を有する、本発明の例示的な実施形態におけるＱＡシステム２００の概略ブロック図である。図５のトレーニング・モードでは、ＱＡシステム２００の各ステージの各ＮＬＰコア・コンポーネント３１０は、ＱＡシステム２００自体の出力からのフィードバックを使用してトレーニングされる。ＮＬＰコア・コンポーネント３１０の候補出力３２０が、ＱＡシステム２００によって作成された正解につながる場合、候補出力３２０またはその典型的な特徴あるいはその両方は、より大きい重みなどによって優先的な処理を受け取ることができる。いくつかの実施形態では、各ＮＬＰコア・コンポーネント３１０の候補出力３２０は、ＱＡシステム２００を通って伝播することが可能であり、それらの候補に基づきトレーニング質問２０５に対して、どの回答２０７が作成されたかを決定するためにＱＡシステム２００からの回答にリンクすることができる。候補回答は、ＱＡトレーニング・ステージ２６０によって実施されるＱＡトレーニング手順によって評価されてもよい。ＱＡトレーニング・ステージ２６０は、トレーニング・ランキング・モデル２７０に加えて、トレーニングされるＮＬＰコア・コンポーネント３１０に関して適応モデル４２０を更新する適応ステージ４５０に情報を提供することができる。
【００５８】
適応ステージ４５０は、代表して回答セット４３０と呼ぶ、回答セット４３０ａ〜４３０ｃなどのアプリケーション出力、およびグラウンド・トゥルース・データ２０９とのその関係は、個々のＮＬＰコア・コンポーネント３１０をトレーニングするために使用される、メカニズムを表す。適応ステージ４５０は、有利にも、ＮＬＰコア・コンポーネント３１０が新しいドメインまたはアプリケーションにおいて動作する適応モデル４２０を作成、修正、および維持するように構築または別途構成されてもよい。たとえば、適応モデル４２０は、重みベクトル４２２を使用して重み付け機能を介して候補出力３２０またはその特徴ベクトルに適用されるとき、最終的なアプリケーション出力において正解を最ももたらしそうな候補出力３２０が、アプリケーション出力において正解をあまり作成しそうにない候補出力３２０よりも優先権を与えられる、重みベクトル４２２を含むことができる。
【００５９】
図５に示されるように、新しいドメインからのトレーニング質問２０３は、ＱＡ分析ステージ２１０に提供される場合があり、本明細書では代表して解析木４１０と呼ぶ、１組の解析木４１０ａ〜４１０ｃは、ＱＡ分析ステージ２１０の構文パーサ・コンポーネント３１０ｃによって作成される。図示された例では、解析木４１０は、構文パーサ３１０ｃの候補出力であり、たとえば、句、文などの文法的にリンクしたテキスト項目を表す。各解析木４１０は、本明細書では代表して特徴ベクトル４１５と呼ぶ、対応する候補特徴ベクトル４１５ａ〜４１５ｃによって表されてもよい。本発明の実施形態では、各候補特徴ベクトル４１５は、ＱＡシステム２００などのＮＬＰアプリケーションの出力に応じて構成された適切な機能または重み付け技法によって変換されてもよい。いくつかの実施形態では、この変換は、たとえばドット積によって候補特徴ベクトル４１５に適用されるとき、特定の候補解析木４１０（および対応する特徴ベクトル４１５）が、グラウンド・トゥルース・データ２０９との比較によって決定されるように、アプリケーションの出力における正解をいかに作成するかを示すスコアを作成する、重みベクトル４２２によって達成される場合がある。
【００６０】
各候補出力４１０は、対応する回答セット４３０を作成するためにＱＡシステム２００の残りの処理動作を介して正常に伝達されてもよい。本発明のいくつかの実施形態では、各候補解析木４１０は、対応する回答セット４３０のみを作成するために、単独で他の候補解析木４１０とは別にＱＡシステム２００を通って伝播してもよい。そのように具体化されるとき、対応する回答セット４３０内の回答は、ＱＡトレーニング・ステージ２６０などによってグラウンド・トゥルース・データ２０９と比較され、それらのデータに対してランキングされる。そのような分析に基づいて、ＱＡトレーニング・ステージ２６０は、グラウンド・トゥルース・データ２０９に応じて一定の確信度で問題に答えられたかどうかに関する指示を適応ステージ４５０に提供することができる。したがって、適応ステージ４５０は、重みベクトル４２２または重み付け機能あるいはその両方などの適切な重み付け方式を決定することができ、たとえば、重み付け機能は、正解をもたらす候補特徴ベクトル４１５のスコアを増加させ、不正解をもたらす候補特徴ベクトル４１５のスコアを減少させる。
【００６１】
本発明のいくつかの実施形態では、適応ステージ４５０は、特徴ベクトル４１５のバイナリ・カテゴリ・ラベル（正しい／正しくない）を使用してロジスティック回帰技法を実施する。ロジスティック回帰は、所与の特徴ベクトルがＱＡシステム２００の出力において正解をもたらす確率をモデル化するために使用されてもよい。勾配降下技法は、特徴ベクトル４１５が与えられれば、アプリケーション出力の最も良い予測因子（正解）を生成する重みベクトル４２２を決定するためにモデル化された統計において使用されてもよい。そのような重みベクトル４２２は、適応モデル４２０の一部分として記憶されるか、または別途作成されてもよい。
【００６２】
ランタイムにおいて、図６に示されるように、各ＮＬＰコア・コンポーネント３１０は、適応モデル４２０に応じて各入力項目に関する１組の候補出力４１０を作成するように構築、または別途構成されてもよい。すなわち、構文パーサ３１０ｃの出力は、図５に示された対応する特徴ベクトル４１５ではなく適応した特徴ベクトル４１５’によって表される。いくつかの実施形態では、そのような出力は、それぞれの適応した特徴ベクトル４１５’を作成するために重みベクトル４２２により特徴ベクトル４１５を重み付けすることによって達成される。いくつかの実施形態では、スコア４１７は、出力４１０の各々に関して計算され、最も高いスコア４１７を有する候補出力４１０の適応した特徴ベクトル４１５’は、ＱＡシステム２００の残りの処理に提供されてもよい。
【００６３】
１つまたは複数のＮＬＰコア・コンポーネント３１０の候補出力３２０は、何らかの基準によって関連付けられてもよい。たとえば、構文パーサ３１０ｃは、その出力において、その候補出力として上位Ｎ個にランキングされた解析木を作成するように構成されてもよい。本発明のいくつかの実施形態では、１つまたは複数のＮＬＰコア・コンポーネント３１０の候補出力３２０は、互いにバリエーションとなるように作成される。他の実施形態では、候補出力３２０を生成するために入力データを変化させるか、または無秩序にするドメイン固有の規則が確立される。「前置詞句が、この入力解析木内の名詞に付加された場合、可能ならば、その前置詞句を切り離し、その前置詞句を最も近い「先祖」名詞句に接続せよ」という言語学的規則が確立されてもよい。この規則は、候補入力解析木に適切に適用されるとき、構文パーサ・コンポーネント３１０ｃの１組の候補出力における元の解析木を補完することができる新しい候補解析木を作成する。他のＮＬＰコア・コンポーネント３１０に関する規則は、同様に構築および適用されることが可能である。たとえば、ＮＥＲコンポーネント３１０ｄに関する規則が確立されてもよく、それにより、現存のエンティティ名は、スパン・サイズを増加／減少させることによって、またはエンティティ名ラベルを変更することによって変化するか、または無秩序になり、たとえば、ＮＥＲコンポーネント３１０ｄによって生成されたすべての人間ＮＥＲスパンに対する会社候補ＮＥＲスパンを作成する規則が確立されてもよい。
【００６４】
本発明は、本明細書で説明する適応を実施するための特定のメカニズムに限定されない。たとえば、いくつかの実施形態では、ＮＬＰコア・コンポーネント３１０は、内部適応メカニズムまたは機械学習メカニズムあるいはその両方とともに構築されるか、または別途構成されてもよい。他の実施形態では、ＮＬＰコア・コンポーネント３１０は、アプリケーション出力およびＮＬＰコア・コンポーネントにわたってアプリケーション上に重ね合わされた機械学習適応層によって、適応が達成されるコモディティ・コンポーネントであってもよい。本開示を検討すれば、適応システムの当業者は、本明細書で説明する適応を達成することができる多くの異なる構成を認識するであろう。
【００６５】
先の例では、各ＮＬＰコア・コンポーネント３１０は、他のＮＬＰコア・コンポーネント３１０とは独立にトレーニングされる。しかし、いくつかの実施形態では、１つのＮＬＰコア・コンポーネント３１０の出力は、別のＮＬＰコア・コンポーネント３１０の出力に依存する。本発明のいくつかの実施形態は、そのような依存を考慮することができる技法を実現する。
【００６６】
図７は、本発明の実施形態によって依存性のＮＬＰコア・コンポーネント３１０をトレーニングおよび利用する概念ブロック図である。図示された例では、ＮＥＲコンポーネント３１０ｄの出力は、構文パーサ・コンポーネント３１０ｃによって生成されるか、または別途作成される出力に依存することが仮定される。加えて、ＮＥＲコンポーネント３１０ｄ（または任意の他のＮＬＰコア・コンポーネント３１０）は、その入力において提供されたすべての特徴ベクトルに対する選択可能な数の候補出力３２０を作成するように構成することができることが仮定される。図７に示されるように、例示的なＮＥＲコンポーネント３１０ｄは、構文パーサ・コンポーネント３１０ｃの出力であるすべての１つの入力から３つの候補出力３２０を作成するように構成される。構文パーサ・コンポーネント３１０ｃは、質問２０５から、本明細書では代表して解析木５１０と呼ぶ、３つの解析木５１０ａ〜５１０ｃを作成することができる。ＮＥＲコンポーネント３１０ｄが、すべての解析木５１０（またはその特徴ベクトル表現）に対して３つの認識されたエンティティ名５２０（またはその特徴ベクトル表現）を作成するので、エンティティ名５２０ａ〜５２０ｉとして認識された合計９つの候補が、ＮＥＲコンポーネント３１０ｄによって作成される。いくつかの実施形態では、同じ解析木５１０から枝分かれする認識されたエンティティ名５２０は、したがって、たとえば対応する情報オブジェクト１００のメタデータ１２０において識別される場合がある。したがって、エンティティ名５２０として認識された各候補の元の解析木５１０を識別することができる。
【００６７】
いくつかの実施形態では、９つのエンティティ名５２０は、（ＱＡシステム２００の処理ステージを通して解析木とエンティティ名の両方を個別に伝達する代わりに）多数のコンポーネントの集合的適応を可能にする、トレーニングのためのＱＡシステム２００の残りの処理ステージを通して伝達される。ＮＥＲ３１０ｄの候補エンティティ名５２０は、その特定の候補エンティティ名５２０からＱＡシステム２００の出力において正解が作成されたかどうかを示す、アプリケーションからの出力に関連付けられてもよい。図７では、認識されるエンティティ名５２０上のプラス（＋）シンボルは、正解結果を示し、認識されるエンティティ名５２０上のマイナス（−）シンボルは、不正解結果を示す。図７に示されるように、解析木５１０ａは、ＮＥＲコンポーネント３１０ｄを介して、ＱＡシステム２００の出力において生成される正解をもたらす２つの認識されるエンティティ名５２０ａおよび５２０ｂと、生成される不正解をもたらす１つのエンティティ名５２０ｃとを生成した。解析木５１０ｃは、ＮＥＲコンポーネント３１０ｄを介して、正解をもたらす１つのエンティティ名５２０ｇと、不正解をもたらす２つのエンティティ名５２０ｈおよび５２０ｉとを生成した。
【００６８】
図７に示された結果に基づいて、正解を作成するとラベル付けされた解析木５１０ａは、より少ない正解を作成した解析木５１０ｃよりも正確であると見なすことができる。したがって、いずれも直接のトレーニング事例でなかったならば、解析木５１０ａまたはその特徴あるいはその両方は、構文パーサ３１０ｃの出力において重み付けされるのがより好ましい場合があり、解析木５１０ｃは、構文パーサ３１０ｃによって生成されることに関して重み付けされるのがあまり好ましくない場合がある。構文解析木５１０ｂ内の親子関係を有する認識されるエンティティ名５２０ｄ〜５２０ｆは、正解をもたらさなかった。したがって、解析木５１０ｂは、極めて低く重み付けされる可能性がある。そのような重み付けは、構文パーサ・コンポーネント３１０ｃおよびＮＥＲコンポーネント３１０ｄに関して、それぞれ、コンポーネント適応モデル４２０ｃおよび４２０ｄにおいて反映される場合がある。
【００６９】
図７では、所与の質問２０５に関する複数の解析木５１０が作成され、各解析木５１０に関して、複数のエンティティ名出力５２０が作成される。各解析木５１０および各エンティティ名５２０などの各候補出力３２０は、ＱＡシステム２００などのアプリケーションによって処理されるとき、最終的に、全体としてＱＡシステム２００の異なる出力回答につながる。したがって、質問２０５から回答２０７までの、システムを通る単一のパスの代わりに、本発明の実施形態は、回答までの多くの（図示された例では、９つの）パスを作り出す。システム全体にわたる多くの異なるコンポーネントの一般化された事例では、様々な回答までの何百もの（または何千もの）そのようなパスを作り出すことができる。しかし、解析木５１０の何らかの部分集合は、最終的にＱＡシステム２００が正解、すなわち図７にプラス（＋）でマーキングされたパスを作成するように導き、解析木５１０の別の部分集合は、最終的にＱＡシステム２００が不正解、すなわちマイナス（−）でマーキングされたパスを作成するように導いたことは、図７から観測することができる。プラス（＋）に関連付けられたすべての候補出力３２０は、機械学習のためのプラスの例として利用される場合があり、マイナス（−）に関連付けられたすべての候補は、マイナスの例として利用される場合がある。
【００７０】
上記の乗法のシナリオでは、すなわち、構文パーサ・コンポーネント３１０ｃからの結果３×ＮＥＲコンポーネント３１０ｄからの結果３、すなわち候補出力の数は、極めて急速に成長する場合がある。多くの実際のアプリケーションでは、各ＮＬＰコア・コンポーネント３１０によって作成された結果の数は、通常、３よりもはるかに大きい。本発明が、各々が上流のＮＬＰコア・コンポーネント３１０からの各入力に対する１組の候補出力３２０を作成する、多くのＮＬＰコア・コンポーネント３１０のスタックに一般化されるとき、ＱＡシステム２００を通る回答までのパスの数は、極めて大きい数のパスになることができることが容易に認識されよう。しかし、これらの多くのパスの部分集合だけが、しきい値成功尤度に関連付けられた場合、低スコアを有するこれらのパスを除外することは、本発明の適応技法の効率をおそらく増加させないが、適応の速度を大幅に増加させる場合がある。大きい数のパスを評価する負担を低減するために、ビーム・サーチ枝刈り法（beam search pruning）または同様の技法を展開することができる。いくつかの実施形態では、そのようなビーム・サーチ枝刈り法は、スタック内の各ＮＬＰコア・コンポーネント３１０からの候補出力３２０の総数を特定の数Ｎ個（たとえば、3個）までに制限する。いくつかの実施形態では、ドット積などの、スコアリング機能を使用して複数の候補出力３２０をランキングした後の、複数の候補出力３２０の上位Ｎ個（たとえば、３個）である。別の枝刈り実装形態は、一定の入力（解析木）が、正解を作成する一定の数の依存性の候補出力（認識されるエンティティ名）を生成しないかどうかを決定する。
【００７１】
図８および図９は、本発明を具体化することができる、それぞれ、トレーニング・プロセス６００およびランタイム・プロセス６５０のフロー図である。図８に示されるように、例示的なトレーニング・プロセス６００は、動作６０５において最初のＮＬＰコア・コンポーネントによって複数の候補出力を生成することができる。いくつかの実施形態では、各ＮＬＰコア・コンポーネントは、初期出力の小さいバリエーションである複数の候補出力を生成するように構築されるか、または別途構成される。このことは、新しく作り出された規則を介して、または現存のＮＬＰコンポーネント再構成を介して行うことができる。
【００７２】
動作６１０では、特徴ベクトルなどの特徴が、各候補出力に関して定義されてもよい。動作６１５では、最初の候補出力は、処理のためにアプリケーションに提供され、動作６２０では、その候補出力に関するアプリケーション出力がグラウンド・トゥルース・データと一致するかどうかが決定される。そうであれば、対応する候補出力が正解を作成したことを示すラベルが適用される。それ以外の場合には、動作６２０において決定されたとき、アプリケーション出力がグラウンド・トゥルース・データと一致しない場合、対応する出力が不正解を作成したことを示すラベルが適用される。動作６３５では、すべての候補出力が、アプリケーションを通って伝播したかどうかが決定され、そうでない場合、例示的なプロセス６００は、次の候補出力がアプリケーションを通って伝播する、動作６１５に再び遷移する。動作６３５において決定されるとき、すべての候補出力がアプリケーションを通って伝播した場合、プロセス６００は、動作６４０に遷移し、グラウンド・トゥルースをもたらす、そのコンポーネントによって生成される特徴または特徴の組が、グラウンド・トゥルースをもたらさない特徴または特徴の組よりも重み付けされるのが好ましい、コンポーネント適応モデルにおいて重みベクトルが決定される。そのような重み付けの決定は、上述したように、たとえば、勾配降下を使用してロジスティック回帰を介して達成される場合がある。動作６４５では、すべてのＮＬＰコア・コンポーネントからの候補出力が評価されたかどうかが決定される。そうであれば、トレーニング・プロセス６００は、終了してもよいが、そうでない場合、トレーニング・プロセス６００は、動作６０５に再び遷移し得、候補出力が、次のＮＬＰコア・コンポーネントによって生成される。
【００７３】
図９に示されるように、動作６５５のランタイムにおいて、ランタイム・プロセス６５０は、最初のＮＬＰコア・コンポーネントにおいてアプリケーション入力（質問）に関連する複数の候補出力を生成することができる。動作の際に、各候補出力に対応する特徴が作成される。トレーニング中に決定された重みベクトルは、動作６６５の際にコンポーネント適応モデルから特徴ベクトルに適用される。動作６７０の際に、適応した特徴ベクトルからスコアが計算され、動作６７５の際に、最も高いスコアの候補出力が、アプリケーションの出力を生成するためにアプリケーションを通って伝播する。
【００７４】
クライアント・システム１４は、ユーザが文書（たとえば、トレーニング質問２０７、質問２０５、グラウンド・トゥルース・データ２０９など）をサーバ・システム１２に提出することを可能にする。サーバ・システムは、非構造化情報を処理して構造化情報にし、別途、その適用可能なコンポーネント（たとえば、ＮＬＰコア・コンポーネント３１０）を使用してＮＬＰアプリケーションの実行をサポートするためのＮＬＰプラットフォーム２２を含む。ＤＢ２４などのデータベース・システムは、分析のための様々な情報（たとえば、情報オブジェクト、グラウンド・トゥルース・データ、エビデンス、モデルなど）を記憶することができる。データベース・システムは、任意の従来のデータベースもしくはストレージ・ユニットまたは他のデータベースもしくはストレージ・ユニットによって実装され、サーバ・システム１２およびクライアント・システム１４に接近しているか、またはそれらから離れている場合があり、任意の適切な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、ハードウェア、無線リンク、イントラネットなど）を介して通信する場合がある。クライアント・システムは、分析およびユーザ問合せ順番に関連するユーザから情報を要請するためにグラフィカル・ユーザ・インターフェース（たとえば、ＧＵＩなど）または他のインターフェース（たとえば、コマンド・ライン・プロンプト、メニュー・スクリーンなど）を提示することができ、分析結果（たとえば、テキスト・アナリティクス、回答など）を含むレポートを提供することができる。
【００７５】
ＮＬＰプラットフォーム２２は、上述の本発明の実施形態の様々な機能を実行するための１つまたは複数のモジュールまたはユニットを含んでもよい。様々なコンポーネント（たとえば、質問分析コンポーネント２１０、初期検索コンポーネント２２０、候補生成コンポーネント２３０、エビデンス取得コンポーネント２４０、回答スコアリングおよびランキング・コンポーネント２５０、ＱＡトレーニング・コンポーネント２６０、適応コンポーネント４５０、ＮＬＰコア・コンポーネント３１０など）は、任意の数量のソフトウェア・モジュールもしくはユニットまたはハードウェア・モジュールもしくはユニットあるいはその任意の組合せによって実装される場合があり、プロセッサによる実行のためのサーバ・システムまたはクライアント・システムあるいはその両方のメモリ内に存在する場合がある。
【００７６】
上述し図面に示した実施形態は、適応可能なＮＬＰコンポーネントのトレーニングおよび利用を実施する多くの方法のうちの少数のみを表すことが諒解されよう。
【００７７】
本発明の実施形態の環境は、任意の数のコンピュータまたは他の処理システム（たとえば、クライアント・システムまたはエンドユーザ・システム、サーバ・システムなど）と、任意の所望の方式で構成されたデータベースまたは他のリポジトリとを含む場合があり、本発明の実施形態は、任意の所望のタイプのコンピューティング環境（たとえば、クラウド・コンピューティング、クライアント・サーバ、ネットワーク・コンピューティング、メインフレーム、独立型システムなど）に適用される場合がある。本発明の実施形態によって使用されるコンピュータまたは他の処理システムは、任意の数の任意の個人用のコンピュータもしくは処理システムまたは他のタイプのコンピュータもしくは処理システム（たとえば、デスクトップ、ラップトップ、ＰＤＡ、モバイル・デバイスなど）によって実装される場合があり、任意の市販のオペレーティング・システム、および、市販のソフトウェアとカスタム・ソフトウェアとの任意の組合せ（たとえば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェア、ＮＬＰ処理モジュールなど）を含む場合がある。これらのシステムは、情報を入力または表示あるいはその両方を行うための、任意のタイプのモニタおよび入力デバイス（たとえば、キーボード、マウス、音声認識など）を含む場合がある。
【００７８】
本発明の実施形態のソフトウェア（たとえば、ＮＬＰプラットフォーム、ＮＬＰアプリケーション、ＮＬＰアプリケーション・コンポーネント、ＮＬＰアプリケーション・トレーニング・コンポーネント、適応コンポーネントなど）は、任意の所望のコンピュータ言語において実装される場合があり、図面に示される仕様およびフローチャートに含まれる機能的な説明に基づいてコンピュータ技術の当業者によって開発されることが可能であることを理解されたい。さらに、様々な機能を実行するソフトウェアの本明細書における任意の参照は、一般に、ソフトウェア制御の下でこれらの機能を実行するコンピュータ・システムまたはプロセッサに対してなされる。代替として、本発明の実施形態のコンピュータ・システムは、任意のタイプのハードウェアまたは他の処理回路あるいはその両方によって実装される場合がある。
【００７９】
コンピュータ・システムまたは他の処理システムの様々な機能は、任意の数のソフトウェア・モジュールもしくはユニットまたはハードウェア・モジュールもしくはユニットあるいはその組合せ、処理システムもしくはコンピュータ・システムまたは回路あるいはその組合せの間で任意の方法で分散される場合があり、コンピュータ・システムまたは処理システムは、互いに接近してまたは離れて配置され、任意の適切な通信媒体（たとえば、ＬＡＮ、ＷＡＮ、イントラネット、インターネット、ハードワイヤ、モデム接続、無線など）を介して通信してもよい。たとえば、本発明の実施形態の機能は、様々なエンドユーザ／クライアント・システムおよびサーバ・システムまたは任意の他の中間処理デバイスあるいはその組合せの間で任意の方法で分散される場合がある。上述しフローチャートに示したソフトウェアまたはアルゴリズムあるいはその両方は、本明細書で説明された機能を遂行する任意の方法で修正されてもよい。加えて、フローチャートまたは説明における機能は、所望の動作を遂行する任意の順番で実行されてもよい。
【００８０】
本発明の実施形態のソフトウェア（たとえば、ＮＬＰプラットフォーム、ＮＬＰアプリケーション、ＮＬＰアプリケーション・コンポーネント、ＮＬＰアプリケーション・トレーニング・コンポーネント、適応コンポーネントなど）は、独立型システムまたはネットワークもしくは他の通信媒体によって接続されたシステムとともに使用するための固定式または携帯型のプログラム製品装置またはデバイスの非一過性のコンピュータ使用可能媒体（たとえば、磁気媒体または光学媒体、磁気光学媒体、フロッピー・ディスケット、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ・デバイスなど）上で利用可能である場合がある。
【００８１】
通信ネットワークは、任意の数の任意のタイプの通信ネットワーク（たとえば、ＬＡＮ、ＷＡＮ、インターネット、イントラネット、ＶＰＮなど）によって実装されてもよい。本発明の実施形態のコンピュータ・システムまたは他の処理システムは、任意の従来のプロトコルまたは他のプロトコルを介してネットワーク上で通信するための任意の従来の通信デバイスまたは他の通信デバイスを含んでもよい。コンピュータ・システムまたは他の処理システムは、ネットワークにアクセスするための任意のタイプの接続（たとえば、有線、無線など）を利用してもよい。ローカル通信媒体は、任意の適切な通信媒体（たとえば、ローカル・エリア・ネットワーク（ＬＡＮ）、ハードワイヤ、無線リンク、イントラネットなど）によって実装されてもよい。
【００８２】
データベース・システムは、情報（たとえば、情報オブジェクト、回答、エビデンス、モデルなど）を記憶するために任意の数の任意の従来または他のデータベース、データ・ストア構造、またはデータ記憶構造（たとえば、ファイル、データベース、データ構造、データ・リポジトリまたは他のリポジトリなど）を使用してもよい。データベース・システムは、情報（たとえば、情報オブジェクト、回答、エビデンス、モデルなど）を記憶するために任意の数の任意の従来または他のデータベース、データ・ストア構造、またはデータ記憶構造（たとえば、ファイル、データベース、データ構造、データ・リポジトリまたは他のリポジトリなど）によって実装されてもよい。データベース・システムは、サーバ・システムまたはクライアント・システムあるいはその両方内に含まれるか、またはそれらに結合されてもよい。データベース・システムまたは記憶構造あるいはその両方は、コンピュータ・システムまたは他の処理システムから離れているか、またはそれらに接近していてもよく、任意の所望のデータ（たとえば、情報オブジェクト、結論、エビデンス、モデルなど）を記憶してもよい。
【００８３】
本発明の実施形態は、情報（たとえば、トレーニング質問２０７、質問２０５、グラウンド・トゥルース・データ２０９など）を取得または提供するために、任意の数の任意のタイプのユーザ・インターフェース（たとえば、グラフィカル・ユーザ・インターフェース（ＧＵＩ）、コマンド・ライン、プロンプトなど）を使用してもよく、インターフェースは、任意の方法で構成された任意の情報を含んでもよい。インターフェースは、任意の適切な入力デバイス（たとえば、マウス、キーボードなど）を介して情報を入力／表示し、所望の動作を開始するために任意の場所に配置された任意の数の任意のタイプの入力メカニズムまたは作動メカニズム（たとえば、ボタン、アイコン、フィールド、ボックス、リンクなど）を含んでもよい。インターフェース画面は、任意の方法で画面間をナビゲートするための任意の適切な操作部（たとえば、リンク、タブなど）を含んでもよい。
【００８４】
レポートは、任意の方法で構成された何らかの情報を含んでもよく、規則または他の基準（たとえば、制約、ユーザ・プロファイルなど）に基づいて所望の情報（たとえば、テキスト・アナリティクス、回答など）をユーザに提供するように構成可能であってもよい。
【００８５】
本発明の実施形態は、上述の特定のタスクまたはアルゴリズムに限定されず、ファイナンス、法的分析などの他のドメインにおいて利用されてもよい。
【００８６】
本明細書で使用する用語は、特定の実施形態のみを説明するためであり、本発明の限定を意図するものではない。本明細書で使用する単数形「１つの（ａ）」、「１つの（ａｎ）」、および「その（ｔｈｅ）」は、別段に文脈が明確に示さない限り、複数形も含むことが意図される。「備える（ｃｏｍｐｒｉｓｅｓ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含んでいる（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有する（ｈａｖｅ）」、「有している（ｈａｖｉｎｇ）」、「ともに（ｗｉｔｈ）」などの用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、またはコンポーネントあるいはその組合せの存在を明確化し、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはそれらのグループあるいはその組合せの存在または追加を除外しないことがさらに理解されよう。
【００８７】
以下の特許請求の範囲におけるすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、およびその均等物は、明確に特許請求されるように、他の特許請求された要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことを意図される。本発明の説明は、例示および説明のために与えられてきたが、網羅的であることも、開示された形式の発明に限定することも意図されない。多くの変更および変形は、本発明の範囲から逸脱することなしに、当業者に明らかであろう。本実施形態は、本発明の原理および実際の用途を最も良く説明するために、また、企図された特定の使用法に適合するように様々な変更を有する様々な実施形態に関する発明を他の当業者が理解することができるように選択され、説明された。
【００８８】
本発明の様々な実施形態の説明は、例示のために与えられてきたが、網羅的であることも、開示された実施形態に限定することも意図されない。多くの変更および変形は、説明した実施形態の範囲から逸脱することなしに、当業者に明らかであろう。本明細書で使用した用語は、本実施形態の原理、実際の用途、または市場で見出される技術を上回る技術的改善を最も良く説明するために、または、本明細書で開示した実施形態を他の当業者が理解することができるように選択された。
【００８９】
本発明は、任意の考え得る技術的詳細レベルの統合（technical detail level of integration）のシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためにコンピュータ読取可能プログラム命令を有する１つのコンピュータ読取可能記憶媒体（または複数の媒体）を含んでもよい。
【００９０】
コンピュータ読取可能記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶することができる有形のデバイスである可能性がある。コンピュータ読取可能記憶媒体は、たとえば、限定はされないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁的記憶デバイス、半導体記憶デバイス、またはそれらの任意の適切な組合せであってもよい。コンピュータ読取可能記憶媒体のより具体的な例の包括的でないリストは、次の、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリ・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチ・カードまたは命令が記録された溝内の突起構造などの機械的にエンコードされたデバイス、およびそれらの任意の適切な組合せを含む。本明細書で使用するコンピュータ読取可能記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を通って伝播する電磁波（たとえば、光ファイバ・ケーブルを通過する光パルス）、またはワイヤを通して伝送される電気信号などの一過性の信号自体と解釈されるべきでない。
【００９１】
本明細書で説明するコンピュータ読取可能プログラム命令は、コンピュータ読取可能記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワークあるいはその組合せなどのネットワークを介して外部のコンピュータまたは外部の記憶デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでもよい。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ読取可能プログラム命令を受け取り、それぞれのコンピューティング／処理デバイス内のコンピュータ読取可能記憶媒体内への記憶のために、コンピュータ読取可能プログラム命令を転送する。
【００９２】
本発明の動作を実行するためのコンピュータ読取可能プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、ステート設定データ（state-setting data）、集積回路のための構成データ、または、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向のプログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードのいずれかであってもよい。コンピュータ読取可能プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、独立型ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的にかつリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバ上で完全に実行されてもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続は、外部のコンピュータに（たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して）なされてもよい。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実行するために電子回路をカスタマイズするのにコンピュータ読取可能プログラム命令のステート情報を利用することによってコンピュータ読取可能プログラム命令を実行してもよい。
【００９３】
本発明の態様は、本発明の実施形態による、方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、および、フローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ読取可能プログラム命令によって実装されることが可能であることが理解されよう。
【００９４】
これらのコンピュータ読取可能プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つもしくは複数のブロックに指定される機能／動作を実施する手段を作り出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ読取可能プログラム命令は、内部に命令が記憶されたコンピュータ読取可能記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つもしくは複数のブロックに指定される機能／動作の態様を実施する命令を含む製品を含むように、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定の方式で機能するように指示することができるコンピュータ読取可能記憶媒体において記憶される場合もある。
【００９５】
コンピュータ読取可能プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の１つもしくは複数のブロックに指定された機能／動作を実行するべく、コンピュータによって実施されるプロセスを作成するために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００９６】
図内のフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の考え得る実装形態のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能な命令を含む、モジュール、セグメント、または命令の一部を表す場合がある。いくつかの代替の実装形態では、ブロック内に記載された機能は、図内に記載された順番がばらばらになって起こる場合がある。たとえば、連続的に示された２つのブロックが、実際は、実質的に同時に実行される場合があり、または、ブロックが、含まれる機能に応じて、ときどき逆順に実行される場合がある。ブロック図またはフローチャート図あるいはその両方の各ブロック、および、ブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定された機能もしくは動作を実行するか、または専用ハードウェアとコンピュータ命令の組合せを実行する、専用ハードウェア・ベースのシステムによって実施されることが可能であることにも留意されよう。
【符号の説明】
【００９７】
１０  ネットワーク・インフラストラクチャ
１２（１２a〜１２ｊ）  サーバ・システム
１３  ネットワーク
１４（１４a〜１４ｋ）  クライアント・システム
１５  非構造化情報
２０  情報技術インフラストラクチャ（ＩＴＩ）
２２  自然言語処理（ＮＬＰ）プラットフォーム
２４  データベース（ＤＢ）
２６  情報モデル
２８  ドメイン・モデル
１００  情報オブジェクト
１１０  属性
１１２  変数
１１４  値
１２０  メタデータ
【図１】
2020509486.tif 000003
【図２】
2020509486.tif 000004
【図３】
2020509486.tif 000005
【図４】
2020509486.tif 000006
【図５】
2020509486.tif 000007
【図６】
2020509486.tif 000008
【図７】
2020509486.tif 000009
【図８】
2020509486.tif 000010
【図９】
2020509486.tif 000011
【手続補正書】
【提出日】令和1年11月11日(2019.11.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成する方法であって、前記アプリケーションは１組のトレーニング・データに関してトレーニングされ、前記方法は、
別の組のトレーニング・データを使用して前記処理システム上で前記アプリケーションを実行することと、
グラウンド・トゥルース・データと一致する、前記別の組のトレーニング・データから作成された前記アプリケーションの出力を識別することと、
前記アプリケーションの前記識別された出力を使用して前記グラウンド・トゥルース・データと一致する前記アプリケーションの出力を作成するために前記複数のコンポーネントを適応させることと
を含む、方法。
【請求項２】
前記別の組のトレーニング・データに基づいて前記複数のコンポーネントの各々から第１の複数の候補出力を生成することと、
前記コンポーネントから生成された前記第１の複数の候補出力の各々に関して前記アプリケーションを実行し、前記アプリケーションによって作成された結果に基づいてコンポーネント・モデルを調整することによって、前記複数のコンポーネントの各々に関する前記コンポーネント・モデルをトレーニングすることと
をさらに含む、請求項１に記載の方法。
【請求項３】
各コンポーネントから第２の複数の候補出力を生成すること、
前記コンポーネントから生成された前記第２の複数の候補出力の中から前記コンポーネントに関する候補出力を選択するために各コンポーネントに関して前記トレーニングされたコンポーネント・モデルを適用すること、および
前記複数のコンポーネントの各々に関する前記選択された候補出力を利用して前記アプリケーションを実行すること
によって前記複数のコンポーネントの各々に関して前記トレーニングされたコンポーネント・モデルとともに前記アプリケーションを実行すること
をさらに含む、請求項２に記載の方法。
【請求項４】
前記処理システムは、自然言語処理（ＮＬＰ）システムを含み、前記コンポーネントは、自然言語処理（ＮＬＰ）動作を実行する、請求項１ないし３のいずれかに記載の方法。
【請求項５】
前記第１の複数の候補出力を生成することは、
初期候補出力のバリエーションとして前記第１の複数の候補出力を生成すること
を含む、請求項２ないし４のいずれかに記載の方法。
【請求項６】
前記複数のコンポーネントの各々から生成された前記第１の複数の候補出力に関して特徴を決定すること
をさらに含み、
前記複数のコンポーネントの各々に関するコンポーネント・モデルをトレーニングすることは、前記アプリケーションに関する候補出力の選択を可能にするために前記アプリケーションによって作成された結果に基づいて、前記コンポーネントから生成された前記第１の複数の候補出力の各々の前記特徴を重み付けすることを含む、
請求項２ないし５のいずれかに記載の方法。
【請求項７】
１組のコンポーネントから生成された複数の候補出力の各々からの１つとともに前記アプリケーションを実行し、前記アプリケーションによって作成された結果に基づいて前記１組のコンポーネントに関するコンポーネント・モデルを調整することによって、前記１組のコンポーネントに関する前記コンポーネント・モデルをトレーニングすることと、
前記１組のコンポーネントに関する前記トレーニングされたコンポーネント・モデルとともに前記アプリケーションを実行することと
をさらに含む、請求項１ないし６のいずれかに記載の方法。
【請求項８】
前記コンポーネント・モデルは、前記アプリケーションにおける新しいドメインに応答して前記アプリケーションからの出力に基づきトレーニングされる、請求項１ないし７のいずれかに記載の方法。
【請求項９】
複数の機械学習コンポーネントを利用するアプリケーションとともに処理システムを構成する装置であって、前記アプリケーションは１組のトレーニング・データに関してトレーニングされ、前記装置は、
請求項１ないし８のいずれかに記載の方法を行うように構成された、プロセッサ
を含む、装置。
【請求項１０】
コンピュータ・プログラムであって、コンピュータ読取可能媒体上に記憶され、デジタル・コンピュータの内部メモリ内にロード可能であり、前記プログラムがコンピュータ上で実行されるとき、請求項１ないし８のいずれかに記載の方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【国際調査報告】
2020509486.tif 000012
2020509486.tif 000013