(57)【要約】  コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するためのコンピュータ実施方法が提供される。方法は、インテントに対応する表現の初期セットを含む訓練データセットを受信することを含むことができる。インテントに対応する付加的な表現を生成することができ、付加的な表現は、インテントに対応する表現の初期セットに基づいて生成される。自然言語分類器は、表現の初期セットと、インテントに対応する付加的な表現とに基づいて訓練することができる。訓練された自然言語分類器は、自然言語分類器が訓練された表現の初期セットと付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断するように実施することができる。
2021524079.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するためのコンピュータ実施方法であって、
インテントに対応する表現の初期セットを含む訓練データセットを受信することと、
前記インテントに対応する付加的な表現を生成することであって、前記付加的な表現は、前記インテントに対応する表現の前記初期セットに基づいて生成される、生成することと、
表現の前記初期セットと前記インテントに対応する前記付加的な表現とに基づいて、前記自然言語分類器を訓練することと、
前記訓練された自然言語分類器によって、前記自然言語分類器が訓練された表現の前記初期セットと前記付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断することと
を含む、コンピュータ実施方法。
【請求項２】
前記インテントに対応するインテント固有の表現を検出することであって、前記インテント固有の表現は、前記訓練データセットのインテント固有の用語と系列的関係にある用語を含む、検出すること
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記インテントに対応する文脈固有の表現を検出することであって、前記文脈固有の表現は、統語的関係にある用語を含む、検出すること
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記インテントに対応する表現の前記初期セット及び前記付加的な表現のインテント固有及び文脈固有の用語を検出すること
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項５】
前記インテントに対応する付加的な表現を生成することは、前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することを含む、請求項１に記載のコンピュータ実施方法。
【請求項６】
前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することは、前記インテントに対応する表現の前記初期セットの前記用語の品詞にタグ付けすることを含む、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記インテントに対応する前記生成された付加的な表現のうちの１つの表現の有用性スコアを求めることであって、前記有用性スコアは、対応するユーザ入力要求に関するユーザのフィードバックに基づいて求められる、求めること
をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項８】
コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するためのコンピュータ・システムであって、
１つ又は複数のコンピュータ・プロセッサと、１つ又は複数のコンピュータ可読ストレージ媒体と、前記１つ又は複数のコンピュータ・プロセッサの少なくとも１つによって実行するための、前記コンピュータ可読ストレージ媒体の１つ又は複数に格納されたプログラム命令とを含み、前記プログラム命令は、前記１つ又は複数のコンピュータ・プロセッサの少なくとも１つによって実行されたとき、前記コンピュータ・システムに、
インテントに対応する表現の初期セットを含む訓練データセットを受信することと、
前記インテントに対応する付加的な表現を生成することであって、前記付加的な表現は、前記インテントに対応する表現の前記初期セットに基づいて生成される、生成することと、
表現の前記初期セットと前記インテントに対応する前記付加的な表現とに基づいて、前記自然言語分類器を訓練することと、
前記訓練された自然言語分類器によって、前記自然言語分類器が訓練された表現の前記初期セットと前記付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断することと
を含む方法を実行させる、コンピュータ・システム。
【請求項９】
前記インテントに対応するインテント固有の表現を検出することであって、前記インテント固有の表現は、前記訓練データセットのインテント固有の用語と系列的関係にある用語を含む、検出すること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記インテントに対応する文脈固有の表現を検出することであって、前記文脈固有の表現は、統語的関係にある用語を含む、検出すること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１１】
前記インテントに対応する表現の前記初期セット及び前記付加的な表現のインテント固有及び文脈固有の用語を検出すること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１２】
前記インテントに対応する付加的な表現を生成することは、前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することを含む、請求項８に記載のコンピュータ・システム。
【請求項１３】
前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することは、前記インテントに対応する表現の前記初期セットの前記用語の品詞にタグ付けすることを含む、請求項１２に記載のコンピュータ・システム。
【請求項１４】
前記インテントに対応する前記生成された付加的な表現のうちの１つの表現の有用性スコアを求めることであって、前記有用性スコアは、対応するユーザ入力要求に関するユーザのフィードバックに基づいて求められる、求めること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１５】
コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、
１つ又は複数のコンピュータ可読ストレージ媒体と、コンピュータ・システムの少なくとも１つ又は複数のコンピュータ・プロセッサによって実行するための、前記１つ又は複数のコンピュータ可読ストレージ媒体の少なくとも１つに格納されたプログラム命令とを含み、前記プログラム命令は、前記１つ又は複数のコンピュータ・プロセッサの少なくとも１つによって実行されたとき、前記コンピュータ・システムに、
インテントに対応する表現の初期セットを含む訓練データセットを受信することと、
前記インテントに対応する付加的な表現を生成することであって、前記付加的な表現は、前記インテントに対応する表現の前記初期セットに基づいて生成される、生成することと、
表現の前記初期セットと前記インテントに対応する前記付加的な表現とに基づいて、前記自然言語分類器を訓練することと、
前記訓練された自然言語分類器によって、前記自然言語分類器が訓練された表現の前記初期セットと前記付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断することと、
を含む方法を実行させる、コンピュータ・プログラム製品。
【請求項１６】
前記インテントに対応するインテント固有の表現を検出することであって、前記インテント固有の表現は、前記訓練データセットのインテント固有の用語と系列的関係にある用語を含む、検出すること
をさらに含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１７】
前記インテントに対応する文脈固有の表現を検出することであって、前記文脈固有の表現は、統語的関係にある用語を含む、検出すること
をさらに含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１８】
前記インテントに対応する表現の前記初期セット及び前記付加的な表現のインテント固有及び文脈固有の用語を検出すること
をさらに含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１９】
前記インテントに対応する付加的な表現を生成することは、前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することを含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項２０】
前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することは、前記インテントに対応する表現の前記初期セットの前記用語の品詞にタグ付けすることを含む、請求項１９に記載のコンピュータ・コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、自然言語処理の分野に関し、より特定的には、自然言語分類器を訓練するための訓練データの開発に関する。
【背景技術】
【０００２】
チャットボット、トークボット、インスタント・メッセージングボット、人工会話エンティティなど（「チャットボット」）は、人間及びエンドユーザとの自然言語コミュニケーション、会話、及び対話をシミュレートするように設計されたコンピュータ・ソフトウェア・プログラムである。チャットボットの重要な機能は、エンドユーザからのユーザ入力の表現されたインテント（intent）を理解し、解釈し、判断することを含むことができる。表現されたインテントは、例えば、自由形式のテキストもしくは発話又はその両方を含むものとすることができる。チャットボットは、例えば、ユーザ入力に応答して、意味のある出力、役に立つ出力、又はそうでなければ所望の出力を正しく適切に生成するために、ユーザ入力の表現されたインテントを正しく判断することによって、エンドユーザとの自然言語コミュニケーションをサポートし、容易にすることができる。つまり、チャットボットは、ユーザ入力の表現されたインテントを正しく判断することにより、所望の出力を生成することができる。例えば、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ（システムのパスワードを変更したい）”、“Ｉ  ｄｉｄ  ｍｉｓｔａｋｅ  ｒｅｇｉｓｔｅｒｉｎｇ  ｍｙ  ｐｈｏｎｅ  ｎｕｍｂｅｒ，Ｉ  ｎｅｅｄ  ｔｏ  ｃｏｒｒｅｃｔ  ｉｔ（電話番号の登録を間違えたので修正したい）”などの要求に応じて、問い合わせに応答したり、質問に答えたり、情報を提供したりするために、様々な表現されたインテントを十分に判断することができるチャットボットが、幅広いエンドユーザとの自然言語コミュニケーションをサポートし、容易にするのに応用されることがある。そのようなインテントは、エンドユーザによって様々な方法で表現することができる。
【０００３】
チャットボットは、テキスト分類の方法など、表現されたインテントを曖昧化し、理解し、解釈するための自然言語分類器（ＮＬＣ）を実施することによって、表現されたインテントを判断することができる。ＮＬＣは、対応するクラス又は対応する表現のセットに関して表現されたインテントを分類し、カテゴリ化し、又はグループ化するように実施することができる。分類は、信頼スコアによって表される信頼度で実行することができる。チャットボットが表現されたインテントを正しく判断することができるかどうかは、ＮＬＣによる分類の精度に依存する場合がある。信頼スコアは、インテントの分類が決定され得る精度又は確実性のレベルを反映している場合があり、それは、表現されたインテントのＮＬＣによる及びＮＬＣの理解と解釈（「自然言語理解」）のレベルと粒度に依存する場合がある。
【発明の概要】
【０００４】
本発明の１つの態様によると、コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するためのコンピュータ実施方法、コンピュータ・システム、及びコンピュータ・プログラム製品が提供される。方法は、インテントに対応する表現の初期セットを含む訓練データセットを受信することを含むことができる。インテントに対応する付加的な表現を生成することができ、ここで、付加的な表現は、インテントに対応する表現の初期セットに基づいて生成される。自然言語分類器は、表現の初期セットと、インテントに対応する付加的な表現とに基づいて訓練することができる。訓練された自然言語分類器は、自然言語分類器が訓練された表現の初期セットと付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断するように実施することができる。
【図面の簡単な説明】
【０００５】
【図１】本発明の１つの実施形態による、解釈管理システムを示す機能ブロック図である。
【図２Ａ】本発明の１つの実施形態による、解釈管理システムの１つの態様の動作ステップを示すフローチャートである。
【図２Ｂ】本発明の１つの実施形態による、解釈管理システムの１つの態様の動作ステップを示すフローチャートである。
【図３】本発明の１つの実施形態による、クライアント・デバイスもしくは解釈管理デバイス又はその両方を示すブロック図である。
【図４】本発明の１つの実施形態による、クラウド・コンピューティング環境を示す。
【図５】本発明の１つの実施形態による、抽象化モデル層を示す。
【０００６】
図面は必ずしも縮尺通りではない。図面は単に概略的な表現であり、本発明の特定のパラメータを描くことを意図していない。図面は、本発明の典型的な実施形態のみを示すことを意図している。図面において、同様の番号は同様の要素を表す。
【発明を実施するための形態】
【０００７】
本発明の詳細な実施形態は、種々の形態で具体化され得る特許請求される構造及び方法を説明し、例示するために本明細書で開示されており、それらは、いかなる意味でも網羅的であることを意図したものではなく、開示された実施形態に限定されるものでもない。多くの修正及び変形が、開示された実施形態の範囲及び趣旨から逸脱することなく、当業者には明らかであろう。本明細書で使用される用語は、１つ又は複数の実施形態の原理、実際の用途、又は現在の技術に対する技術的改善を最も良く説明するために、又は当業者が本明細書に開示された実施形態を理解できるようにするために選択されたものである。記載されているように、本発明の実施形態を不必要に不明瞭にすることを避けるために、周知の特徴及び技術の詳細が省略される場合がある。
【０００８】
「一実施形態」、「１つの実施形態」、「例示的な実施形態」などへの本明細書における言及は、記載された実施形態が、１つ又は複数の特定の特徴、構造、又は特性を含み得ることを示すが、そのような特定の特徴、構造、又は特性は、本明細書に開示された本発明の１つ１つの実施形態に共通であっても又は共通でなくてもよいことを理解されたい。さらに、そのようなフレーズは、必ずしもいずれか１つの特定の実施形態それ自体を指すものではない。従って、１つ又は複数の特定の特徴、構造、又は特性が、１つの実施形態と関連して記載されている場合、明示的に記載されているかどうかに関係なく、適用可能な場合には、他の実施形態に関連したそのような１つ又は複数の特徴、構造、又は特性に影響を与えることは、当業者の知識の範囲内であると考えられる。
【０００９】
チャットボットの性能と有効性は、チャットボットが様々な表現されたインテントを判断する（すなわち、ＮＬＣを介して）ことができる自然言語理解に依存する。理解及び解釈のレベルをより高く、より粒度の細かいものにすることによって、より正確な判断を行うことが可能になり、エンドユーザとの意味のあるコミュニケーションにおいて、チャットボットの性能が向上する可能性がある。
【００１０】
例えば、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”、“Ｉ  ｆｏｒｇｏｔ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ，ｃａｎ  ｙｏｕ  ｓｅｎｄ  ｉｔ  ｔｏ  ｍｅ？（システムのパスワードを忘れてしまったのですが、それを送ってもらえますか？）”及び“Ｉ  ｌｏｓｔ  ｔｈｅ  ｐａｓｓｗｏｒｄ．Ｈｏｗ  ｃａｎ  Ｉ  ｒｅｃｏｖｅｒ  ｉｔ？（パスワードを紛失しました。どうすれば復元できますか？）”といった要求、フレーズ、又は質問を含むエンドユーザからのユーザ入力は、わずかに異なる要件を持つ、類似しているが明確なインテントを表現している。表現されたインテントを限定的に理解したり粗く解釈したりすると、チャットボットの有用性及び実用性が低下し、チャットボットは、インテントの各々を「パスワード」に関連するものとしか判断することができず、これにより、エンドユーザとの自然言語コミュニケーションをサポートし、容易にするチャットボットの能力が低下することがある。従って、ユーザ入力に関連してチャットボットによって生成される出力は、あまり意味がなく、有用で望ましいものではないことがあり、また、互換性のある表現されたインテントについては部分的にしか関連しない場合がある。表現されたインテントを限定的に理解しないこと、又はよりきめ細かく解釈することで、チャットボットの有用性及び実用性が向上し、チャットボットが、インテントの各々を、それぞれ“ｐａｓｓｗｏｒｄ＿ｃｈａｎｇｅ”、“ｐａｓｓｗｏｒｄ＿ｅｍａｉｌ＿ｒｅｃｏｖｅｒｙ”、もしくは“ｐａｓｓｗｏｒｄ＿ｒｅｃｏｖｅｒｙ”又はそれらの組み合わせに関連していると判断することが可能になり、それにより、エンドユーザとの自然言語コミュニケーションをサポートし、容易にするチャットボットの能力が向上する。このようにして、ユーザ入力に関してチャットボットによって生成される出力は、より意味があり、有用で、望ましいものとなり、様々な表現されたインテントに十分に関連したものとなり得る。
【００１１】
ＮＬＣによる及びＮＬＣの自然言語理解度は、注意深く準備され、キュレートされた訓練データに基づいて、開発することができる。訓練データは、例えば、過去の（historical）又は代表的な表現されたインテントに対応するコーパスのテキストもしくは音声又はその両方に基づいたデータ・オブジェクトを含むことができる。訓練データは、例えば、コーパスの個々の表現を、ＮＬＣを適用することができる領域での自然言語使用に関連するインテントの対応するクラス又はカテゴリに関連付ける表現されたインテントの分類を含むように準備することができる。ＮＬＣは、ＮＬＣによる及びＮＬＣの自然言語理解を可能にするための機械表現モデルを開発するために、学習モデルが訓練データに基づいて自然言語規則を学習する「訓練」段階を実行することができる。
【００１２】
特定の表現されたインテントに関する高い自然言語理解度は、コーパスの多種多様なテキストもしくは音声又はその両方などに基づくものとすることができるような、特定の表現されたインテントに対応する多数の明確で多様化された拡張的な表現を含む訓練データに基づいて、達成することができる。多数の表現を含む訓練データは、エンドユーザによって考え出される可能性のあるインテントに対応するそのような表現がいくらでもあり得るので、難しく、時間がかかり、リソース集約的なものとなることがある。
【００１３】
例えば、パスワードを変更するインテントに対応する表現は、例えば、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”、“Ｉ  ｗａｎｔ  ｔｏ  ｍｏｄｉｆｙ  ｔｈｅ  ｐａｓｓｗｏｒｄ（パスワードを修正したい）”、“Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ａｃｃｏｕｎｔ（アカウントのパスワードを変更したい）”、“Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ａｃｃｏｕｎｔ（ラップトップ用の新しいパスワードを挿入する必要がある）”などといった自然言語の要求、フレーズ、又は質問を含む場合がある。さらに、パスワードを変更するインテントを表現できる方法は、他にも数え切れないほどあり得る。その上、個々のエンドユーザの自然言語の使用は、文化的影響、人口統計学、エンドユーザの年齢、出自、語源、並びに言語的適応と発展（例えば、スラング）などに関連する要因に基づいて、時間の経過と共に進化し、発展する意図の表現に影響を及ぼす可能性がある。
【００１４】
従って、本技術分野において、様々な表現されたインテントのＮＬＣによる及びＮＬＣの高い自然言語理解度をもたらすために、ＮＬＣを訓練するための訓練データを効率的に開発する方法が求められている。
【００１５】
本発明の実施形態は、様々な表現されたインテントのＮＬＣによる及びＮＬＣの高い自然言語理解度をもたらすために、ＮＬＣを訓練するための訓練データを効率的に開発する方法に向けられる。
【００１６】
１つの態様において、方法は、インテントに対応する表現の初期セットを含む初期の訓練データを効率的に拡張して、インテントに対応する、明確で多様化された拡張的な表現の対応する拡張セットを含む更新された訓練データを生成し、それによってインテントのＮＬＣによる及びインテントのＮＬＣの高い自然言語理解度を達成することができるように、実施することができる。更新された訓練データは、インテントに対応する表現の初期セットに関する初期訓練データに基づいて生成することができ、表現の初期セットは、例えば、インテントに関して分類され、カテゴリ化され、グループ化され、又はラベル付けされたものとすることができる。
【００１７】
種々の態様において、方法は、インテントに対応する表現の初期セットを含む初期訓練データを受信する又は取り出すことと、インテントに対応する明確で多様化された拡張的な表現の対応する拡張セットを含む更新された訓練データを生成することであって、表現の拡張セットは、インテントに対応する表現の初期セットに基づいて生成される、生成することと、及び更新された訓練データに基づいてＮＬＣを訓練し、インテントに関連してＮＬＣによる及びＮＬＣの高い自然言語理解度をもたらすことと、を含むことができる。
【００１８】
有利なことに、本発明は、インテントに対応する表現の初期セットを含む初期訓練データを効率的に拡張して、インテントに対応する明確で多様化された拡張的な表現の対応する拡張セットを含む更新された訓練データを生成し、それによってインテントに関するＮＬＣによる高い自然言語理解度を達成することができるように、実施することができる。本発明は、インテントに対応する明確で多様化された拡張的な表現の対応する拡張セットを含む更新された訓練データを生成し、それによってインテントのＮＬＣによる及びＮＬＣの高い自然言語理解度を達成できるのに必要とされる、困難と時間及びリソース・コストとを低減させるように、実施することができる。特に、更新された訓練データは、そうしなければインテントに関する自然言語理解の程度が低いか又は限定されたものにしかならないような、インテントに対応する表現の限定された小さな初期セットを含む初期訓練データに基づいて、生成することができる。
【００１９】
図１は、本発明の１つの実施形態による、解釈管理システム１００を示す機能ブロック図である。解釈管理システム１００は、ネットワーク１０２によって相互接続された、クライアント・デバイス１１０と解釈管理デバイス１３０とを含むことができる。図１は２つの別個のデバイスを示しているが、他の構成を考えることもできる。例えば、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、１つ又は複数の統合された又は別個のデバイスを含むこともできる。
【００２０】
本発明の種々の実施形態において、ネットワーク１０２は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、パーソナル・エリア・ネットワーク（ＰＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、無線パーソナル・エリア・ネットワーク（ＷＰＡＮ）、無線メッシュ・ネットワーク、インターネットなどの広域ネットワーク（ＷＡＮ）などを含むことができる。ネットワーク１０２は、有線接続、無線接続、又は光ファイバ接続を含むことができる。一般に、ネットワーク１０２は、本発明の実施形態による、クライアント・デバイス１１０と解釈管理デバイス１３０との間の通信をサポートするための接続とプロトコルの任意の組み合わせを含むことができる。
【００２１】
本発明の種々の実施形態において、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、ウェアラブル・デバイス、埋め込み型デバイス、携帯電話又はスマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、デスクトップ・コンピュータ、データベース・サーバなどのサーバ、仮想マシンなどのようなコンピューティング・プラットフォームを含むことができる。種々の実施形態において、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、ネットワーク１０２などによって別のデバイスとの間でデータを送受信することができる他の任意のタイプのコンピューティング・プラットフォーム、コンピュータ・システム、又は情報システムを含むことができる。特定の実施形態において、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、図３を参照して説明されるような、内部及び外部ハードウェア・コンポーネントを含むこともできる。他の実施形態において、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、図４及び図５を参照して説明されるような、クラウド・コンピューティング環境において実装することができる。
【００２２】
本発明の１つの実施形態において、クライアント・デバイス１１０は、例えば、クライアント・アプリケーション１１２をホストするクライアント・コンピューティング・プラットフォームを含むことができる。クライアント・デバイス１１０は、本発明の実施形態に従って、クライアント・アプリケーション１１２の動作をサポートし、クライアント・デバイス１１０と解釈管理デバイス１３０との間の通信を可能にするプラットフォームを提供するために、ネットワーク・デバイス及びデバイス・ドライバなどのデバイスと技術の組み合わせを実装することができる。
【００２３】
クライアント・アプリケーション１１２は、例えば、ソフトウェア・プログラム、プログラムに含まれる１つ又は複数のサブルーチン、アプリケーション・プログラミング・インターフェースなどのようなアプリケーション又はプログラムを含むことができる。本発明の１つの実施形態においては、訓練データを受信するように、クライアント・アプリケーション１１２を実施することができる。
【００２４】
本発明の１つの実施形態において、訓練データは、例えば、インテントに対応する自然言語表現を含むことができる。実施形態において、自然言語表現は、用語の語彙によって表現することができる。実施形態において、用語の語彙は、領域固有（domain-specific)のものとすることができ、又はそうでなければ、表現されたインテントの特定のクラス又は領域に対応するものとすることができる。用語の語彙は、最初は未知の表現されたインテントを表現されたインテントの領域にマッピングして関連付けるために、ＮＬＣを訓練するための基礎を形成することができる。
【００２５】
例えば、訓練セット（すなわち、訓練データ）ＴＳは、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｐａｓｓｗｏｒｄ（パスワードを変更したい）”すなわち、ＴＳ＝｛‘Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｐａｓｓｗｏｒｄ’｝などの自然言語表現を含むことができる。訓練セットＴＳは、用語「Ｉ（私）」、「ｗａｎｔ（〜したい）」、「ｔｏ」、「ｃｈａｎｇｅ（変更）」及び「ｐａｓｓｗｏｒｄ（パスワード）」を含む用語の語彙Ｖ、すなわちＶ＝｛‘ｐａｓｓｗｏｒｄ’、‘ｃｈａｎｇｅ’、‘Ｉ’、‘ｗａｎｔ’、‘ｔｏ’｝を含むことができる。本開示の目的のために、“訓練データ”は、対応する訓練セットを参照することができる。
【００２６】
インテントに対応する表現（「表現されたインテント」）は、例えば、特定の願望、感情、概念、考えなどを伝えたり伝達したりすることができる文、語及び文字の文字列又はセットを含むテキストの構成によって表される自然言語表現（例えば、フレーズ、発話など）を含むことができる。表現されたインテントは、例えば、要求、フレーズ、質問、文書、声明、感嘆詞、コマンド、発話などを含むことができる。表現されたインテントのクラス、領域、カテゴリ、又はタクソノミ（taxonomy）は、例えば、同じ答え、トピック、又は全体的なインテントに対応する類似の又は関連する自然言語表現のグループを含むことができる。表現されたインテントのクラスは、対応するインテントに関してラベル付けされても、又はそうでなければ関連付けられてもよく、インテントに対応する僅かに異なる表現を含むことができる。例えば、表現されたインテントのクラスは、特定の分野又は領域で使用されることが多い自然言語表現を含むことができる。本開示の目的のために、「テキスト」及び「用語」は、用語の語彙の語又は語の文字列（例えば、文又はフレーズ）などの用語を参照することができる。
【００２７】
本発明の１つの実施形態において、訓練データは、例えば、インテントに対応する表現の初期セットを含む「初期」訓練データを含むことができる。初期訓練データは、ＮＣＬ開発マネージャ、例えば、ＮＬＣを訓練する際に適用される訓練データに関して、ＮＬＣの性能を管理するタスクを負った人物によって、提供することができる。初期訓練データは、インテントに対応する表現の初期セットに基づいて、学習モデルが訓練データに基づいて自然言語規則を学習して、ＮＬＣによる及びＮＬＣの自然言語理解を可能にするための機械表現モデルを開発する訓練段階を実行する際に、実施することができる。
【００２８】
例えば、第１のチャットボットは、英語の語彙又は英語の語彙の少なくともサブセットを含む用語の語彙に基づいて訓練することができ、そのような語彙は、チャットボットが理解することが望ましい場合がある表現されたインテントの領域に意味があるものであるか、又はそうでなければ関連したものとすることができる。第２のチャットボットは、チャットボットが幅広い知識の領域を理解することが望ましい場合がある英語の語彙全体を含む用語の語彙に基づいて、訓練することができる。第３のチャットボットは、スポーツに関連する知識の領域を理解することがチャットボットにとって望ましい場合があるスポーツの語彙を含む限定された用語の語彙に基づいて、訓練することができる。
【００２９】
本発明の１つの実施形態において、訓練データは、例えば、更新された訓練データを含むことができる。実施形態において、更新された訓練データは、例えば、初期訓練データのインテントに対応する、明確で多様化された拡張的な表現の拡張セットを含むことができる。
【００３０】
本開示の目的のために、“更新された訓練データ”は、拡張された訓練データを指す場合があり、その逆の場合もある。さらに、「初期訓練データ」は、更新された訓練データを生成するための基礎を形成する訓練データを指す場合がある。
【００３１】
一例として、ＮＬＣマネージャは、共通のインテントを有する自然言語表現のグループ又はクラスをコンパイルすることにより、初期訓練データを準備し、キュレートすることができる。ＮＬＣマネージャは、ＮＬＣへの通信及びＮＬＣの訓練のために、初期訓練データをクライアント・アプリケーション１１２に入力することができる。自然言語表現のグループは、例えば、コーパスから選択すること、又はコーパスに関して識別することができる。コーパス及び自然言語表現のグループは、領域固有のもの（例えば、スポーツなどの共通のトピックに関連したもの）であってもよい。コーパス及び自然言語表現のグループは、ＮＬＣが適用され得る領域に応じて選択することができる。自然言語表現は、ＮＬＣが適用され得るチャットボットのエンドユーザからの、又はエンドユーザによる、過去の表現されたインテントを含むことができる。
【００３２】
本発明の１つの実施形態において、クライアント・アプリケーション１１２は、エンドユーザからのユーザ入力に対応するデータを受信するように実施することができる。実施形態において、ユーザ入力は、例えば、自由形式のテキストもしくは発話又はその両方によって表現されるインテントを含むことができる。実施形態において、ユーザ入力は、例えば、ユーザ・フィードバックを含むことができる。実施形態において、ユーザ入力に対応するデータは、本発明の実施形態に従った訓練段階を実施した後に、ある領域で訓練されたＮＬＣの適用中に受信することができる。例えば、ユーザ入力は、訓練されたＮＬＣを実施することができるチャットボットによって受信することができる。ユーザ入力によって表現されたインテントは、ＮＬＣを訓練することができる訓練データの表現に対応する表現を含むことができる。実施形態において、エンドユーザは、エンドユーザと訓練されたＮＬＣとの間の自然言語通信の一部として、ユーザ入力をＮＬＣに通信することができる。実施形態においては、前述のように、ノードを介してユーザ入力を通信することができる。
【００３３】
本発明の１つの実施形態において、解釈管理デバイス１３０は、例えば、解釈管理プログラム１４０をホストするコンピューティング・プラットフォームを含むことができる。解釈管理デバイス１３０は、本発明の実施形態に従って、ネットワーク・デバイス及びデバイス・ドライバなどのデバイスと技術との組み合わせを実装して、解釈管理プログラム１４０の動作をサポートし、クライアント・デバイス１１０と解釈管理デバイス１３０との間の通信をサポートするためのプラットフォームを提供することができる。
【００３４】
解釈管理プログラム１４０は、例えば、ソフトウェア・プログラムなどのアプリケーション又はプログラム、プログラム内に含まれる１つ又は複数のサブルーチン、アプリケーション・プログラミング・インターフェースなどを含むことができる。解釈管理プログラム１４０は、クライアント・アプリケーション１１２と通信して、訓練データ及びクエリ・データを受信することができる。解釈管理プログラム１４０は、データ送受信モジュール１４２、コグニティブな訓練データ拡張モジュール１４４、訓練モジュール１４６、及びデータ・ストレージ１４８を含むことができる。
【００３５】
データ送受信モジュール１４２は、クライアント・アプリケーション１１２と通信する。本発明の１つの実施形態において、通信は、クライアント・アプリケーション１１２から初期訓練データを取り出すことができ、例えば、ＮＬＣ開発マネージャから受信することができる。実施形態において、通信は、以下にさらに詳細に説明するように、コグニティブな訓練データ拡張モジュール１４４によって生成できるような更新された訓練データを、クライアント・アプリケーション１１２に送信することをさらに含むことができる。データ送受信モジュール１４２は、後の検索及び使用のために、取り出されたデータをデータ・ストレージ１４８に格納することができる。クライアント・アプリケーション１１２は、本発明の実施形態に従って、ＮＬＣを訓練する際に訓練データを適用することができる。
【００３６】
コグニティブな訓練データ拡張モジュール１４４は、初期訓練データに基づいて更新された訓練データを生成する。実施形態においては、更新された訓練データは、初期訓練データのインテントに対応して、インテントのＮＬＣによる及びＮＬＣの自然言語理解の程度を改善することができる、明確で多様化された拡張的な表現の拡張セットを含むことができる。実施形態において、更新された訓練データは、表現の拡張セットと、表現の初期セットとを含むことができる。コグニティブな訓練データ拡張モジュール１４４は、例えば、付加的な表現を生成するための機械学習アルゴリズムを含む統計的言語モデルを含み、実装することができる。
【００３７】
一般に、統計的言語モデルは、語のシーケンスにわたる確率分布を表現する形で表現し、実装されたものとすることができる。統計的言語モデルは、様々なテキスト・マイニング及びテキスト分析（すなわち、テキスト分類に関連するものを含む）の領域において実装することができる。本発明の１つの実施形態において、統計的言語モデルは、例えば、ユニグラム言語モデル（例えば、ｎ＝１の場合のｎ−グラム言語モデル）を含むことができる。本発明の実施形態に従って、インテントに対応する付加的な表現を生成するために、他のタイプの統計的言語モデルが実装されてもよい。
【００３８】
例えば、特定の統計的言語モデルは、例えば、用語の語彙Ｖ＝{ｗ１、ｗ２，．．．，ｗＭ｝、テキスト文書の集合Ｃ＝｛ｄ１，ｄ２，．．．，ｄＮ｝、及び確率分布ｐ（ｗｋ｜ｗ１，ｗ２，．．．，ｗｋ−１）を含むことができる。本発明の１つの実施形態において、用語の語彙（Ｖ）がテキスト文書の集合（Ｃ）に基づいて構築又は生成される場合、統計的言語モデルは、例えば、用語の語彙Ｖ内の各用語（例えば、ｗｋ）についての確率分布ｐ（ｗｋ｜ｗ１，ｗ２，．．．，ｗｋ−１）を記述するか、又は他の方法で定義することができる。
【００３９】
従って、語のシーケンス「ｗ１，ｗ２，．．．，ｗｋ−１」が観察されたと仮定すると、ｐ（ｗｋ｜ｗ１，ｗ２，．．．，ｗｋ−１）は、集合Ｃの任意の文書（例えば、ｄｉ）内の語「ｗｋ」をその後に観察する確率を記述する。ユニグラム言語モデルでは、例えば、全ての用語が互いに独立して出現するか、又は観察可能であると仮定することができる。その場合、ｐ（ｗｋ｜ｗ１，ｗ２，．．．，ｗｋ−１）＝ｐ（ｗｋ）であり、Ｓｕｍ［ｐ（ｗｋ）］＝１となる。例えば、ｃ（ｗｋ）をある用語、例えばＣ内のｗｋの出現回数とし、｜Ｃ｜をＣ内の用語の総数とすると、ユニグラム言語モデルの推定は、ｐ（ｗｋ）＝Ｃ中のｗｋの頻度＝ｃ（ｗｋ）／｜Ｃ｜とすることができる。
【００４０】
訓練モジュール１４６は、訓練データ及びクエリ・データに基づいてＮＬＣを訓練する。本発明の１つの実施形態において、ＮＬＣを訓練することができる訓練データは、例えば、インテントに対応する表現の初期セットと、インテントに対応する付加的な表現とを含むことができる。付加的な表現は、コグニティブな訓練データ拡張モジュール１４４によって生成されたものを含むことができる。
【００４１】
図２Ａは、本発明の１つの実施形態に従った、解釈管理システム１００の１つの態様の動作ステップを示すフローチャートである。
【００４２】
ステップＳ２０２において、データ送受信モジュール１４２は、クライアント・アプリケーション１１２から初期訓練データを取り出す。
【００４３】
ステップＳ２０４において、コグニティブな訓練データ拡張モジュール１４４は、初期訓練データに基づいて、更新された訓練データを生成する。更新された訓練データは、初期訓練データのインテントに対応する、明確で多様化された拡張的な表現の拡張セットを含むことができる。
【００４４】
本発明の１つの実施形態において、更新された訓練データは、インテントに対応する表現の初期セットに関して初期訓練データに基づいて生成することができ、ここで、表現の初期セットは、例えば、インテントに対応して分類、カテゴリ化、グループ化、又はラベル付けすることができる。実施形態において、表現の拡張セットにおける表現されたインテントは、例えば、既述のように、用語の語彙の１つ又は複数の用語からの導出によって、初期訓練データに基づいて生成することができる。
【００４５】
例えば、初期訓練データＴＳに基づいて、更新された訓練データＴＳ’を生成することができる。初期訓練データＴＳは、表現の初期セットを含むことができ、ＴＳ＝｛ｔｅｘｔ１，ｔｅｘｔ２，．．．，ｔｅｘｔＮ｝である。更新された訓練データＴＳ’は、表現の拡張セットを含むことができ、ＴＳ’＝｛ｔｅｘｔ１’，ｔｅｘｔ２’，．．．，ｔｅｘｔP’｝であり、Ｐ＞＞Ｎである。更新された訓練データＴＳ’は、初期訓練データＴＳの濃度（cardinality）Ｎを上回り得る濃度Ｐを含むことができる。拡張された訓練セットＴＳ'は、初期訓練セットＴＳからの導出によって生成することができる。例えば、拡張された訓練セットのｔｅｘｔ１’は、初期訓練セットＴＳのｔｅｘｔ１に対応する同義語の並べ替え（permutation）によって生成することができる。言い換えれば、ＴＳに基づいて、ＴＳ内の各テキストｔｅｘｔｉを取り、ｔｅｘｔｉの語の同義語の並び替えにより付加的なテキストｔｅｘｔｉ’を生成することによって、ＴＳ’を生成することができる。ＴＳ’は、ＴＳの濃度を超える濃度を含むように生成することができる。同義語の並び替えは、並び替えプロセスで使用される同義語をインテリジェントに選択するように実行することができる。
【００４６】
本発明の１つの実施形態において、更新された訓練データＴＳ'は、ＴＳ及びＴＳ’の両方を含むことができる。拡張された訓練セットＴＳ’は、初期訓練セットに関してテキスト分類を実施することによって生成することができる。実施形態において、テキスト分類は、用語の初期語彙のテキストの構文解析及びトークン化を含むことができる。
【００４７】
例えば、初期訓練セットにおける表現（例えば、ｔｅｘｔｉ）を構文解析することは、自然言語パーサを実施することを含むことができ、自然言語パーサは、例えば、どの語のグループが（「フレーズ」として）関係があるのか、どの語が動詞の主語又は目的語であるのかなど、文の文法構造を解明するプログラムである。文字シーケンスと定められた文書単位が与えられた表現のトークン化は、それをトークンと呼ばれる断片に切り刻む作業を含むことができ、恐らく同時に、句読点のような特定の文字を捨てる作業を含むことができる。
【００４８】
本発明の１つの実施形態において、拡張された訓練セットは、初期訓練セットの表現（例えば、ｔｅｘｔｉ）に基づいて生成することができる。実施形態において、初期訓練セットの表現を構文解析及びトークン化し、構文解析及びトークン化に基づいて用語の語彙の１つ又は複数の用語を選択し、用語の語彙の選択された１つ又は複数の用語から拡張された訓練セットのテキストを導出することにより、構文解析及びトークン化を、拡張された訓練セットのテキストを生成して表現の拡張セットを表すように実行することができる。実施形態において、選択された１つ又は複数の用語は、表現されたインテントに対応する名詞、形容詞及び動詞を含むことができる。実施形態において、表現の構文解析及びトークン化において、品詞（ＰＯＳ）のタグ付けを実施することができる。例えば、ＴＳの各用語（例えば、ｔｅｘｔｋ）を構文解析及びトークン化するために、品詞（ＰＯＳ）のタグ付けを適用することができる。構文解析及びトークン化は、例えば、Ｓｔａｎｆｏｒｄ  ＣｏｒｅＮＬＰのような構文解析及びトークン化ソフトウェアを適用して実行することができる。本開示の目的のために、「導出された用語」は、トークン化され、構文解析され、選択された１つ又は複数の用語を指すことができ、「用語を導出すること」は、１つ又は複数の用語を構文解析し、トークン化し、選択するプロセスを指すことができる。
【００４９】
本発明の１つの実施形態において、用語を導出した後、導出された各用語の同義語及び略語を判断することができる。各用語の同義語及び略語は、例えば、ＷｏｒｄＮｅｔのような自然言語処理ツールを実施することによって決定することができる。実施することができる特定の自然言語処理ツールは、設計上の問題として選択することができる。
【００５０】
本発明の１つの実施形態において、各用語の判断された同義語及び略語を並び替えることができる。実施形態において、判断された同義語及び略語の並び替えによって、表現の拡張セットを生成し、展開することができる。例えば、拡張された訓練セットＴＳ’は、初期訓練セットＴＳの用語の語彙の１つ又は複数の用語に関して生成することができる、例えばｔｅｘｔ’ｊなどの付加的な表現を含むことができる。実施形態において、導出された訓練セットＴＳ’は、それに応じて、並び替えられた各同義語及び略語を含むことができる。実施形態において、導出された訓練セットＴＳ’は、訓練データに付加したり、他の方法で組み込んだりすることができる。
【００５１】
一例として、初期訓練セットＴＳは、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”などのインテントに対応する自然言語表現を含むことができる。つまり、ＴＳ＝｛‘Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ’｝である。インテントは、パスワードを変更したいという願望に関連するものとすることができる。ＴＳの名詞、形容詞、及び動詞を含むテキストを構文解析及びトークン化して、後の並び替えのための対応する同義語及び略語を決定し、選択することができる。例において、構文解析及びトークン化されたテキストは、“ｃｈａｎｇｅ”、“ｐａｓｓｗｏｒｄ”及び“ｓｙｓｔｅｍ（システム）”を含むことができる。例えば、“ｃｈａｎｇｅ”の同義語及び略語は、”ｍｏｄｉｆｙ（修正する）”及び“ａｌｔｅｒ（変える）”を含むことができ、“ｐａｓｓｗｏｒｄ”の同義語及び略語は、“ｗａｔｃｈｗｏｒｄ（合言葉）”、“ｐａｓｓｃｏｄｅ（パスコード）”及び“ｐｗｄ”を含むことができ、“ｓｙｓｔｅｍ（システム）”の同義語及び略語は、“ｄｅｖｉｃｅ（デバイス”、“ｃｏｍｐｕｔｅｒ（コンピュータ）”及び“ｗｅｂｓｉｔｅ（ウェブサイト）”を含むことができる。
【００５２】
本発明の１つの実施形態において、導出された用語は、領域固有のテキスト、文脈固有（context-specific）のテキストなどを含むことができる。つまり、導出された用語は、初期訓練データＴＳと関連付けられたインテントに具体的に関連した用語を含むことができる。例におけるように、導出された用語は、パスワードを変更するインテントに具体的に関連した用語を含むことができ、従って、“change”、“password”、“system”に基づいて生成することができる。“want”のような一般的に出現する用語は、インテントを特定したり表したりするものではなく、従って、導出された用語は、そのような用語に基づいて生成されない場合がある。
【００５３】
従って、訓練データの表現の初期セットに対応する付加的な表現を含む導出された訓練セット（例えば、ＴＳ’）を生成することができる。その結果、表現の初期セットが訓練セットＴＳ＝｛‘Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ’}を含む場合、導出された訓練セットは、例えば、ＴＳ’＝{“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”、“Ｉ  ｗａｎｔ  ｔｏ  ａｌｔｅｒ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”、“Ｉ  ｗａｎｔ  ｔｏ  ｍｏｄｉｆｙ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐｗｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”、．．．｝などの表現の拡張セットを含むことができる。有利なことに、例に関して、表現の初期セットの濃度は、単一のユーザ要求（すなわち、“Ｉ  ｗａｎｔ  ｔｏ  ｃｈａｎｇｅ  ｔｈｅ  ｐａｓｓｗｏｒｄ  ｏｆ  ｍｙ  ｓｙｓｔｅｍ”）に基づいて、新しい訓練セットＴＳ’の濃度、すなわち２×３×３＝１８に拡張することができる。
【００５４】
ステップＳ２０６において、コグニティブな訓練データ拡張モジュール１４４は、インテント固有及び文脈固有の訓練データを検出する。既述のように、インテント固有及び文脈固有の訓練データは、例えば、表現の初期セット及び拡張セットの用語を含むことができる。
【００５５】
本発明の１つの実施形態において、表現のセットのインテント固有の用語は、訓練データセットＴＳに基づいて生成された統計的言語モデルに基づいて検出することができる。実施形態において、表現のセットのインテント固有の用語は、拡張された訓練データセットＴＳ’に基づいて生成された統計的言語モデルに基づいて検出することができる。実施形態において、統計的言語モデルは、例えば、それぞれ訓練データセットＴＳの表現の初期セットと、拡張された訓練データセットＴＳ’の付加的な表現とを含むことができる。
【００５６】
一般に、インテント固有の用語を検出するために、関連付けられた同義語及び略語を決定するために構文解析し、トークン化し、選択することができる名詞、形容詞及び動詞は、訓練データセットＴＳのインテントを真に特定する用語又はそれに対応する用語のみを含むべきである。これは、拡張された訓練データセットからのフレーズのインテントを、訓練データセットの対応するフレーズ（すなわち、そのフレーズが導出されたフレーズ）と比較することによって、実行することができる。上の例において、“ｗａｎｔ”は、インテントを特定していないが、“ｃｈａｎｇｅ”と“ｐａｓｓｗｏｒｄ”はインテントを特定している。さらに、特定の条件下では、用語の“全ての”同義語を決定しない方が有利な場合がある。代わりに、例えば、言語モデルのノイズを減らすために、インテントに関して文脈に関連するもの（すなわち、訓練データのもの）だけを決定するべきである。上の例では、“ｔｒａｎｓｆｏｒｍ（変換する）”は、“ｃｈａｎｇｅ”の同義語であるが、ＩＴの文脈でパスワードの変更を表現するためにそれを見つけることは一般的でないか、又は非定型的である。
【００５７】
本発明の１つの実施形態において、（例えば、インテント固有の表現を表す）インテント固有の用語は、拡張された訓練データセットＴＳ’におけるその出現に対する、訓練データセットＴＳの表現の初期セットにおけるその相対的な出現頻度に関して計算された又は求められた出現率に基づいて検出し、抽出することができる。実施形態において、第１のユニグラム言語モデルＬＭｔｓは、訓練データセットＴＳに基づいて生成することができる。実施形態において、第２のユニグラム言語モデルＬＭｇｅｎは、より広い文書の集合、例えば、英語（すなわち、ＴＳの言語）を代表するものに基づいて生成することができる。実施形態において、第２のユニグラム言語モデルは、ＬＭｔｓのインテントの文脈を表すとともにそれに近い用語の広い集合を含むことができる。
【００５８】
ＬＭｔｓ内で最も高い頻度を有するものをインテント固有の用語として選択することは、上述のように、任意の言語の文脈において一般的に使用される“ｗａｎｔ”のような用語の選択につながることがある。つまり、“ｗａｎｔ”は、パスワードの変更に関連した文脈でも、ＵＥＦＡチャンピオン・リーグの決勝戦出場者についての情報を得ることに関連した文脈でも現れることがある。一例として、ユニグラムＬＭ、ＬＭｇｅｎは、より広い文書の集合、例えば、英語（ＴＳの言語）を代表するものから構築することができる。さらに、ＬＭｇｅｎは、例えばインテントがサッカーである場合、スポーツに関連した用語を含むように、ＬＭのインテントの文脈を表すとともにそれに近い用語の広い集合を含むことができる。
【００５９】
本発明の１つの実施形態において、インテント固有の用語ｗｋの出現率ｒ（ｗｋ）は、次の式、
ｒ（ｗｋ）＝ｆＬＭｔｓ（ｗｋ）／ｆＬＭｇｅｎ（ｗｋ）
によって求めることができ、ｆ（．）は、統計的言語モデルＬＭ（例えば、ＬＭｔｓ、ＬＭｇｅｎ）における用語の出現頻度である。実施形態において、（例えば、インテント固有の表現を表す）インテント固有の用語は、所定の閾値を超えると判断される対応する出現率ｒ（．）に基づいて検出し、抽出する（すなわち、選択する）ことができる。
【００６０】
例えば、（例えば、ＬＭｔｓ、ＬＭｇｅｎの）語彙Ｖの各用語ｗｋについて、出現率ｒ（ｗｋ）＝ｆＬＭｔｓ（ｗｋ）／ｆＬＭｇｅｎ（ｗｋ）を求めることができ、ｆ（．）は、それぞれＬＭｔｓ及びＬＭｇｅｎにおける用語の出現頻度である。言語の一般的に出現する用語は、ＴＳ及び一般的モデルにおいて出現頻度が同等になる場合があるが、ＴＳ固有の用語は、一般的モデルよりもＴＳにおいてより出現頻度が高い傾向がある。本発明の１つの実施形態において、所定の閾値を超える出現率ｒ（．）を有する各々のインテント固有の用語を選択することができる。
【００６１】
言い換えれば、ある言語の一般的に出現する用語（すなわち、表現）は、一般的言語モデルにおける発生頻度と比較して、訓練セットにおいて出現頻度が同等になる傾向がある。ＴＳ固有の用語は、一般的モデルよりもＴＳにおいてより頻度が高い傾向がある。従って、より高い比率ｒ（．）を有する（例えば、所定の閾値を上回る）インテント固有の用語を選択することができる。
【００６２】
本発明の１つの実施形態において、インテント固有の訓練データ（すなわち、インテント固有の用語）を検出することは、例えば、用語の制限されたセットＴ’＝{ｉｓｔ１，ｉｓｔ２，．．．，ｉｓｔＹ｝の同義語及び略語を判断することを含むことができ、ここで、「ｉｓｔ」は、インテント固有の用語である。用語の制限されたセットＴ’は、例えば、訓練データＴＳの表現の初期セットもしくは拡張セットの表現、もしくは拡張された訓練データセットＴＳ’の表現又はその両方を含むことができる。
【００６３】
本発明の１つの実施形態において、用語の制限されたセットＴ’＝{ｉｓｔ１，ｉｓｔ２，．．．，ｉｓｔＹ｝のインテント固有の用語ｉｓｔに関する各用語の系列的関係（paradigmatic relation）に基づいて、インテント固有の用語を検出することができる。系列的関係にある用語は、フレーズの中で交換可能である（すなわち、それらの用語は、同じ構文クラス又は意味クラスにある）。例えば、系列的関係にある用語には、月曜日（Ｍｏｎｄａｙ）と火曜日（Ｔｕｅｓｄａｙ）、猫（ｃａｔ）と犬（ｄｏｇ）などを含むことができる。一般に、系列的関係に基づいてインテント固有の用語を検出することは、統計的言語モデルＬＭｇｅｎがインテントに関連する文脈を表す場合に、特に有効なものになり得る。従って、各インテント固有の用語ｉｓｔｋの同義語のセットＳｋ＝｛ｓ（ｋ）１，ｓ（ｋ）２，．．．｝を求めることができる。実施形態において、訓練データの表現の初期セットに対応する付加的な表現は、各インテント固有の用語ｉｓｔｋについて、同義語のセットＳｋ＝｛ｓ（ｋ）１，ｓ（ｋ）２，．．．｝に基づいて生成することができる。
【００６４】
本発明の１つの実施形態において、インテント固有の訓練データを検出することは、例えば、ＷｏｒｄＮｅｔ、オンライン辞書などのような、特定の言語のための既存の知識ベースを使用することを含むことができる。使用される特定の知識ベースの適切な選択は、設計上の問題として選択することができる。
【００６５】
本発明の１つの実施形態において、文脈固有の訓練データは、各インテント固有の用語ｉｓｔｋについての同義語Ｓｋ＝｛ｓ（ｋ）１，ｓ（ｋ）２，．．．｝のセットに基づいて検出することができる。実施形態において、文脈固有の訓練データを検出することは、例えば、各インテント固有の用語についての同義語のセットＳｋ＝｛ｓ（ｋ）１，ｓ（ｋ）２，．．．｝を減らして、インテントの文脈で真に一緒に使用されるものだけを含むようにすることを含むことができる。
【００６６】
本発明の１つの実施形態において、各インテント固有の用語についての同義語のセットは、例えば、同義語のセットの用語間の統語的関係（syntagmatic relation）に基づいて、減らすことができる。一般に、２つの用語は、言語モデルのフレーズの中で一緒に出現する確率が高い場合には、統語的関係にある。例えば、意味関係及び共起性（co-occurrence）に基づいて、用語は高い確率で一緒に出現することがある。例えば、用語“ｃａｒ（車）”と“ｄｒｉｖｅ（運転する）”は、統語的関係にある。つまり、文脈固有の訓練データは、拡張された訓練データセットＴＳ’に基づいて生成された統計的言語モデルＬＭｇｅｎにおける少なくとも１つのｉｓｔｋと統語的関係にあるかどうかに基づいて、各Ｓｋから検出することができる。従って、導出された訓練セットは、厳選された同義語（すなわち、表現）の比較的小さなセットに関して、クライアント・アプリケーション１１２からの訓練データに基づいて生成することができ、ここで、Ｐ＞＞Ｎである。
【００６７】
ステップＳ２０８において、訓練モジュール１４６は、実施するためにＮＬＣを訓練する。
【００６８】
既述のように、ＮＬＣを訓練することは、ＮＬＣを訓練するための訓練段階を実行することを含むことができる。本発明の１つの実施形態において、既述のように、訓練段階は、初期訓練データのインテントに対応する明確で多様化された拡張的な表現の拡張セットを含む更新された訓練データに基づいて実行することができる。実施形態において、訓練段階を実行することは、インテント固有の訓練データ、文脈固有の訓練データ又はその両方に基づいてＮＬＣを訓練することを含むことができる。インテント固有及び文脈固有の訓練データは、ステップＳ２０６を参照して説明したようなものを含むことができる。実施形態において、訓練段階は、初期訓練データに基づいて付加的に実行することができる。有利なことに、更新された訓練データに基づいて訓練段階を実行することで、ＮＬＣによる及びＮＬＣの高度な自然言語理解を達成することができる。本発明の実施形態によると、ＮＬＣは、その後、例えば、チャットボットなどによって実施することができる。
【００６９】
図２Ｂは、本発明の１つの実施形態による、解釈管理システム１００の１つの態様の動作ステップを示すフローチャートである。
【００７０】
ステップＳ２１０において、データ送受信モジュール１４２は、クライアント・アプリケーション１１２からクエリ・データを受信する。
【００７１】
ステップＳ２１２において、コグニティブな訓練データ拡張モジュール１４４は、クエリ・データに関して有用性スコアを求める。
【００７２】
本発明の１つの実施形態において、有用性スコアは、拡張された訓練データＴＳ’の個々の表現に関して求めることができる。実施形態において、有用性スコアは、ＮＬＣによる表現されたインテントの分類の精度又は正確さに基づいて求めることができる。実施形態において、精度又は正確さは、例えば、分類に対するエンドユーザの満足度のレベルに基づいて求めることができ、そのような分類は、ユーザのフィードバック及びインタラクションによって表現することができる。表現されたインテントは、例えば、クライアント・アプリケーション１１２のエンドユーザから受信できるようなユーザ入力要求ｕｉとすることができる。ユーザ入力要求ｕｉは、チャットボットのエンドユーザから受信することもできる。実施形態において、有用性スコアは、ＴＳ’内の各テキストについて距離ｄ（ｕｉ，ｔｅｘｔ’ｋ）を計算することによって求めることができる。次に、特定の距離の値を実施して有用性スコアを求めることができ、この有用性スコアを用いてＴＳ’内のテキスト（すなわち、ｕｉに近いｔｅｘｔ’ｋ）の間の関係を重み付けしたりインクリメントさせたりすることができる。これにより、例えば、ＴＳ’内の最も有用なテキストを時間をかけて識別することができる。実施形態において、ＴＳ’内の各テキストの距離ｄ（ｕｉ，ｔｅｘｔ’ｋ）は、例えば、各テキストとユーザ入力を用語のベクトルとして表現し、ベクトルの内積を計算する（ｄ（ａ，ｂ）＝Ｓｕｍ（ａｉ＊ｂ））ことによって、定めることができる。
【００７３】
本発明の１つの実施形態において、拡張された訓練セットＴＳ’の品質は、クエリ・データに基づいて、定期的に又は連続的に測定し、改善することができる。実施形態において、拡張された訓練セットのどの表現が拡張された訓練セットの品質を低下させるか、又は向上させるかについての判断を行うことができる。
【００７４】
本発明の１つの実施形態において、拡張された訓練セットの表現が、拡張された訓練セットの品質を低下させるという判断は、対応する有用性スコアが所定の閾値を下回るかどうかに基づいて行うことができる。実施形態において、表現は、拡張された訓練セットから除去されてもよい。実施形態において、ＮＬＣを訓練するために、ステップＳ２０４、Ｓ２０６及びＳ２０８に関して説明したように、クエリ・データからの表現を生成して、拡張された訓練セットに付加することができる。
【００７５】
図３は、本発明の１つの実施形態による、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方を示すブロック図である。図３に示されるように、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、全て通信ファブリック９１８を介して相互接続される、１つ又は複数のプロセッサ９０２、１つ又は複数のコンピュータ可読ＲＡＭ９０４、１つ又は複数のコンピュータ可読ＲＯＭ９０６、１つ又は複数のコンピュータ可読ストレージ媒体９０８、デバイス・ドライバ９１２、読み取り／書き込みドライブ又はインターフェース９１４、ネットワーク・アダプタ又はインターフェース９１６を含むことができる。ネットワーク・アダプタ９１６は、ネットワーク９３０と通信する。通信ファブリック９１８は、プロセッサ（マイクロプロセッサ、通信及びネットワークプロセッサなど）、システム・メモリ、周辺機器、及びシステム内の任意の他のハードウェア・コンポーネントの間でデータもしくは制御情報又はその両方を渡すように設計された任意のアーキテクチャで実装することができる。
【００７６】
１つ又は複数のオペレーティング・システム９１０、及び図１に示されるような解釈管理デバイス１３０上に常駐する解釈管理プログラム１４０などの１つ又は複数のアプリケーション・プログラム９１１は、（典型的にはキャッシュ・メモリを含む）それぞれのＲＡＭ９０４の１つ又は複数を介してプロセッサ９０２の１つ又は複数によって実行するために、コンピュータ可読ストレージ媒体９０８の１つ又は複数に格納される。示される実施形態においては、コンピュータ可読ストレージ媒体９０８の各々は、内部ハードドライブ、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ・スティック、磁気テープ、磁気ディスク、光ディスク、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、フラッシュ・メモリなどの半導体ストレージ・デバイス、又はコンピュータ・プログラム及びデジタル情報を格納することができる任意の他のコンピュータ可読有形ストレージ・デバイスの磁気ディスク・ストレージ・デバイスとすることができる。
【００７７】
クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、１つ又は複数の携帯型コンピュータ可読ストレージ媒体９２６との間で読み書きを行うためのＲ／Ｗドライブ又はインターフェース９１４を含むこともできる。クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方上のアプリケーション・プログラム９１１は、１つ又は複数の携帯型コンピュータ可読ストレージ媒体９２６上に格納され、それぞれのＲ／Ｗドライブ又はインターフェース９１４を介して読み出され、それぞれのコンピュータ可読ストレージ媒体９０８にロードすることができる。クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、ネットワーク・アダプタ又はインターフェース９１６、例えば、伝送制御プロトコル（ＴＣＰ）／インターネット・プロトコル（ＩＰ）アダプタ・カード又は無線通信アダプタ（直交周波数分割多重アクセス（Orthogonal Frequency Division Multiple Access、ＯＦＤＭＡ）技術を用いる４Ｇ無線通信アダプタなど）を含むこともできる。アプリケーション・プログラム９１１は、ネットワーク（例えば、インターネット、ローカル・エリア・ネットワーク又は他の広域ネットワーク又は無線ネットワーク）及びネットワーク・アダプタ又はインターフェース９１６を介して、外部コンピュータ又は外部ストレージ・デバイスからコンピューティング・デバイスにダウンロードすることができる。ネットワーク・アダプタ又はインターフェース９１６から、プログラムが、コンピュータ可読ストレージ媒体９０８上にロードされてもよい。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジサーバ又はそれらの組み合わせを含むことができる。クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、表示画面９２０、キーボード又はキーパッド９２２、及びコンピュータ・マウス又はタッチパッド９２４を含むこともできる。デバイス・ドライバ９１２は、画像形成のための表示画面９２０、キーボード又はキーパッド９２２、コンピュータ・マウス又はタッチパッド９２４、及び／又は英数字の文字入力及びユーザ選択の圧力感知のための表示画面９２０に、インターフェース接続する。デバイス・ドライバ９１２、Ｒ／Ｗドライブ又はインターフェース９１４、及びネットワーク・アダプタ又はインターフェース９１６は、ハードウェアと（コンピュータ可読ストレージ媒体９０８もしくはＲＯＭ９０６又はその両方に格納された）ソフトウェアとを含むことがある。
【００７８】
解釈管理デバイス１３０は、スタンドアロンのネットワーク・サーバであってもよいし、１つ又は複数のネットワーク・システムに統合された機能を表すものであってもよい。一般に、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、ラップトップ・コンピュータ、デスクトップ・コンピュータ、専用コンピュータ・サーバ、又は当技術分野において周知の任意の他のコンピュータ・システムとすることができる。特定の実施形態においては、解釈管理デバイス１３０は、ＬＡＮ、ＷＡＮ、又はこれら２つの組み合わせなどのネットワークを介してアクセスされたときに、シームレスなリソースの単一のプールとして機能するようにクラスタ化されたコンピュータ及びコンポーネントを利用するコンピュータ・システムを表す。この実装形態は、データセンタ及びクラウド・コンピューティング・アプリケーションにとって好ましい場合がある。一般に、クライアント・デバイス１１０もしくは解釈管理デバイス１３０又はその両方は、任意のプログラム可能電子デバイス又はそうしたデバイスの任意の組み合わせとすることができる。
【００７９】
本明細書に記載されるプログラムは、本発明の特定の実施形態において実施されるアプリケーションに基づいて識別される。しかしながら、本明細書における任意の特定のプログラム命名法は、単に便宜上使用されているだけであり、従って、本発明は、そのような命名法により識別された、もしくは暗示された又はその両方の任意の特定のアプリケーションのみでの使用に限定されるべきではないことを認識されたい。
【００８０】
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はそれらの組み合わせを、いずれかの可能な技術的詳細レベルで統合したものとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【００８１】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【００８２】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
【００８３】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
【００８４】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００８５】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又はその両方の１つ又は複数のブロックにおいて指定された機能／動作の態様を実施する命令を含む製品を含むようにすることもできる。
【００８６】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生産し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図又はその両方の１つ又は複数のブロックにおいて指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【００８７】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【００８８】
本開示はクラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在既知の又は後で開発される他のいずれかのタイプのコンピューティング環境と共に実施することができる。
【００８９】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つのデプロイメント・モデルを含むことができる。
【００９０】
特徴は、以下の通りである。
【００９１】
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
【００９２】
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
【００９３】
リソース・プール化：プロバイダのコンピューティング・リソースが、マルチ・テナント・モデルを用いて複数のコンシューマにサービスを提供するためにプールされ、要求に応じて、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より抽象化レベルの高い位置（例えば、国、州、又はデータセンタ）を特定できる場合がある。
【００９４】
迅速な弾力性：機能を、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすばやくスケールアウトし、迅速に解放して素早くスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な機能は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
【００９５】
計測されるサービス：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【００９６】
サービス・モデルは以下の通りである。
【００９７】
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：コンシューマに提供される機能は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブ・ベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【００９８】
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが作成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対する制御を有する。
【００９９】
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマに提供される機能は、コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイして動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワーク・コンポーネント（例えば、ホストのファイアウォール）選択に対する限定された制御を有する。
【０１００】
デプロイメント・モデルは以下の通りである。
【０１０１】
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。これは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【０１０２】
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【０１０３】
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループによって利用可能であり、クラウド・サービスを販売する組織によって所有される。
【０１０４】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術（例えば、クラウド間の負荷平衡のためのクラウド・バースティング）によって互いに結び付けられた、２つ以上のクラウド（プライベート、コミュニティ、又はパブリック）の組合せである。
【０１０５】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１０６】
ここで図４を参照すると、例示的なクラウド・コンピューティング環境５０が示される。示されるように、クラウド・コンピューティング環境５０は、例えば携帯情報端末（ＰＤＡ）又は携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、もしくは自動車コンピュータ・システム５４Ｎ又はその組み合わせなどといった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、１つ又は複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、又はこれらの組み合わせなど、１つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる（図示せず）。このことは、クラウド・コンピューティング環境５０が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のない、ｉｎｆｒａｓｔｒｃｔｕｒｅ  ａｓ  ｓｅｒｖｉｃｅ、ｐｌａｔｆｏｒｍ  ａｓ  ｓｅｒｖｉｃｅ、もしくはｓｏｆｔｗａｒｅ  ａｓ  ｓｅｒｖｉｃｅ又はその組み合わせを提供することを可能にする。図２に示されるコンピューティング・デバイス５４Ａ〜Ｎのタイプは単に例示であることをインテントし、コンピューティング・ノード１０及びクラウド・コンピューティング環境５０は、いずれのタイプのネットワークもしくはネットワーク・アドレス指定可能な接続又はその両方上でも（例えば、ウェブブラウザを用いて）、いずれのタイプのコンピュータ化された装置とも通信できることを理解されたい
【０１０７】
ここで図５を参照すると、クラウド・コンピューティング環境５０（図４）によって提供される機能抽象化層のセットが示される。図５に示されるコンポーネント、層、及び機能は単に例示であることをインテントし、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【０１０８】
ハードウェア及びソフトウェア層６０は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム６１と、ＲＩＳＣ（Reduced Instruction Set Computer（縮小命令セット・コンピュータ））アーキテクチャ・ベースのサーバ６２と、サーバ６３と、ブレード・サーバ６４と、ストレージ・デバイス６５と、ネットワーク及びネットワーク・コンポーネント６６と、が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７、データベース・ソフトウェア６８と、を含む。
【０１０９】
仮想化層７０は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーション及びオペレーティング・システム７４、並びに仮想クライアント７５を提供することができる。
【０１１０】
一例においては、管理層８０は、以下で説明される機能を提供することができる。リソース・プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格設定８２は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクについての識別検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザ・ポータル８３は、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行８５は、ＳＬＡに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【０１１１】
ワークロード層９０は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション９１、ソフトウェア開発及びライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、トランザクション処理９５、及び解釈管理９６が挙げられる。解釈管理９６は、本発明の実施形態による、クラウド・コンピューティング環境が、開示された方法のステップを実行するのを可能にする機能を含むことができる。
【０１１２】
本発明は、その特定の例示的実施形態を参照して示され、説明されているが、当業者であれば、添付の特許請求の範囲及びその等価物により定められる、本発明の趣旨及び範囲から逸脱することなく、形態及び詳細における種々の変更を行い得ることが理解されるであろう。従って、本発明は、限定ではなく例示のために例として開示された。
【図１】
2021524079.tif 000003
【図２Ａ】
2021524079.tif 000004
【図２Ｂ】
2021524079.tif 000005
【図３】
2021524079.tif 000006
【図４】
2021524079.tif 000007
【図５】
2021524079.tif 000008
【手続補正書】
【提出日】令和2年11月25日(2020.11.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータの情報処理によって、コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するための方法であって、
インテントに対応する表現の初期セットを含む訓練データセットを受信することと、
前記インテントに対応する付加的な表現を生成することであって、前記付加的な表現は、前記インテントに対応する表現の前記初期セットに基づいて生成される、生成することと、
表現の前記初期セットと前記インテントに対応する前記付加的な表現とに基づいて、前記自然言語分類器を訓練することと、
前記訓練された自然言語分類器によって、前記自然言語分類器が訓練された表現の前記初期セットと前記付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断することと
を含む、方法。
【請求項２】
前記インテントに対応するインテント固有の表現を検出することであって、前記インテント固有の表現は、前記訓練データセットのインテント固有の用語と系列的関係にある用語を含む、検出すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記インテントに対応する文脈固有の表現を検出することであって、前記文脈固有の表現は、統語的関係にある用語を含む、検出すること
をさらに含む、請求項１に記載の方法。
【請求項４】
前記インテントに対応する表現の前記初期セット及び前記付加的な表現のインテント固有及び文脈固有の用語を検出すること
をさらに含む、請求項１に記載の方法。
【請求項５】
前記インテントに対応する付加的な表現を生成することは、前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することを含む、請求項１に記載の方法。
【請求項６】
前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することは、前記インテントに対応する表現の前記初期セットの前記用語の品詞にタグ付けすることを含む、請求項５に記載の方法。
【請求項７】
前記インテントに対応する前記生成された付加的な表現のうちの１つの表現の有用性スコアを求めることであって、前記有用性スコアは、対応するユーザ入力要求に関するユーザのフィードバックに基づいて求められる、求めること
をさらに含む、請求項１に記載の方法。
【請求項８】
コンピュータ・システムのチャット・インターフェースと関連付けられた自然言語分類器を訓練するためのコンピュータ・システムであって、
１つ又は複数のコンピュータ・プロセッサと、１つ又は複数のコンピュータ可読ストレージ媒体と、前記１つ又は複数のコンピュータ・プロセッサの少なくとも１つによって実行するための、前記コンピュータ可読ストレージ媒体の１つ又は複数に格納されたプログラム命令とを含み、前記プログラム命令は、前記１つ又は複数のコンピュータ・プロセッサの少なくとも１つによって実行されたとき、前記コンピュータ・システムに、
インテントに対応する表現の初期セットを含む訓練データセットを受信することと、
前記インテントに対応する付加的な表現を生成することであって、前記付加的な表現は、前記インテントに対応する表現の前記初期セットに基づいて生成される、生成することと、
表現の前記初期セットと前記インテントに対応する前記付加的な表現とに基づいて、前記自然言語分類器を訓練することと、
前記訓練された自然言語分類器によって、前記自然言語分類器が訓練された表現の前記初期セットと前記付加的な表現とに基づいて、検出されたクエリによって表現されたインテントを判断することと
を含む方法を実行させる、コンピュータ・システム。
【請求項９】
前記インテントに対応するインテント固有の表現を検出することであって、前記インテント固有の表現は、前記訓練データセットのインテント固有の用語と系列的関係にある用語を含む、検出すること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記インテントに対応する文脈固有の表現を検出することであって、前記文脈固有の表現は、統語的関係にある用語を含む、検出すること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１１】
前記インテントに対応する表現の前記初期セット及び前記付加的な表現のインテント固有及び文脈固有の用語を検出すること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１２】
前記インテントに対応する付加的な表現を生成することは、前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することを含む、請求項８に記載のコンピュータ・システム。
【請求項１３】
前記インテントに対応する表現の前記初期セットの用語を構文解析及びトークン化することは、前記インテントに対応する表現の前記初期セットの前記用語の品詞にタグ付けすることを含む、請求項１２に記載のコンピュータ・システム。
【請求項１４】
前記インテントに対応する前記生成された付加的な表現のうちの１つの表現の有用性スコアを求めることであって、前記有用性スコアは、対応するユーザ入力要求に関するユーザのフィードバックに基づいて求められる、求めること
をさらに含む、請求項８に記載のコンピュータ・システム。
【請求項１５】
請求項１から請求項７までのいずれか１項に記載の前記方法をコンピュータに実行させるコンピュータ・プログラム。
【請求項１６】
請求項１５に記載のコンピュータ・プログラムを格納したコンピュータ可読ストレージ媒体。
【国際調査報告】
2021524079.tif 000009
2021524079.tif 000010