JP2023508599A - 会話型エージェント・システム、方法、プログラム - Google Patents
会話型エージェント・システム、方法、プログラム Download PDFInfo
- Publication number
- JP2023508599A JP2023508599A JP2022540930A JP2022540930A JP2023508599A JP 2023508599 A JP2023508599 A JP 2023508599A JP 2022540930 A JP2022540930 A JP 2022540930A JP 2022540930 A JP2022540930 A JP 2022540930A JP 2023508599 A JP2023508599 A JP 2023508599A
- Authority
- JP
- Japan
- Prior art keywords
- statement
- identified
- keywords
- relationship
- intent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000003993 interaction Effects 0.000 claims abstract description 59
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000013473 artificial intelligence Methods 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 23
- 239000003795 chemical substances by application Substances 0.000 description 11
- 230000002452 interceptive effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 239000000835 fiber Substances 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000001902 propagating effect Effects 0.000 description 4
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
NLおよび仮想対話プラットフォームに向けられた会話型エージェント・システムであって、自然言語(NL)ステートメントが検出および分析され、ステートメント内に表現された1つまたは複数のエンティティが識別され、識別されたエンティティが利用され、ステートメントがキーワードへと解析される。受け取られたステートメントの意図が2つ以上のキーワード間の関係として表現され、2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールに関してステートメントを表現する知識表現が識別される。コンポーネント関係とキーワード関係との位置合わせに基づいて各ステートメント・キーワードが指定されたモジュール・コンポーネントに割り当てられ、キーワード間の関係に基づいてステートメント意図が表現され、ステートメントへの応答が推測され、推測された応答が、仮想対話プラットフォームに伝達される。
Description
本発明は自然言語処理および仮想コミュニケーション・プラットフォームに関する。より詳細には、本発明は、インタラクティブな会話をシミュレートするための、チャットボットなどの人工知能仮想対話プラットフォームに関する。構造化知識を介した目標指向(goal oriented)の情報検索タスクのための対応する会話型エージェントを開発するための統一されたフレームワークを導入して使用する。
実施形態は、自然言語ステートメントを分析するための統一されたフレームワークを利用するためのシステム、コンピュータ・プログラム製品、および方法を含む。
一態様では、仮想対話プラットフォーム内での自然言語(NL:natural language)の意図を表現するための人工知能(AI:artificial intelligence)プラットフォームと共に使用するためのシステムが提供される。図示のように、メモリに動作可能に結合されるプロセッサなどの処理ユニットを有するシステムが提供される。処理ユニットと通信するAIプラットフォームが提供される。AIプラットフォームには、自然言語(NL)マネージャ、関係マネージャ、コミュニケーション・マネージャの形態のツールが組み込まれる。NLマネージャは、仮想対話プラットフォームで受け取られたNLステートメントを検出し、ステートメント内に表現された1つまたは複数のエンティティを識別し、識別されたエンティティを利用してステートメントを1つまたは複数のキーワードへと解析するように機能する。関係マネージャは、受け取られたステートメントの意図を、ステートメント内で識別された2つ以上のキーワード間の関係として表現するように機能する。関係マネージャはさらに、2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールとしてステートメントを表現する知識表現を識別する。コンポーネント関係とキーワード関係との位置合わせ(alignment)に基づいて、各ステートメント・キーワードが指定されたモジュール・コンポーネントに割り当てられる。コミュニケーション・マネージャは、2つ以上のキーワード間の関係に基づいてステートメント意図を表現し、受け取られたステートメントへの応答を推測するように機能する。推測された応答が、仮想対話プラットフォームに伝達される。
他の態様では、仮想対話プラットフォーム内での意図を表現するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム・コードを具現化するコンピュータ可読記憶媒体を含み、プログラム・コードは、プロセッサにより実行可能であって、仮想対話プラットフォームで受け取られた自然言語(NL)ステートメントを検出する。NLステートメントが分析されて、ステートメント内に表現された1つまたは複数のエンティティが識別される。識別されたエンティティが利用されて、ステートメントが1つまたは複数のキーワードへと解析される。受け取られたステートメントの意図を、ステートメント内で識別された2つ以上のキーワード間の関係として表現するプログラム・コードが提供される。2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールとしてステートメントを表現する知識表現が識別される。コンポーネント関係とキーワード関係との位置合わせに基づいて、各ステートメント・キーワードが指定されたモジュール・コンポーネントに割り当てられる。2つ以上のキーワード間の関係に基づいてステートメント意図を表現し、受け取られたステートメントへの応答を推測するプログラム・コードがさらに提供される。推測された応答が、仮想対話プラットフォームに伝達される。
さらに他の態様では、仮想対話プラットフォーム内での意図を表現するための方法が提供される。自然言語(NL)ステートメントが検出および分析されて、ステートメント内に表現された1つまたは複数のエンティティが識別される。識別されたエンティティが利用されて、ステートメントが1つまたは複数のキーワードへと解析される。受け取られたステートメントの意図が、ステートメント内で識別された2つ以上のキーワード間の関係として表現される。2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールとしてステートメントを表現する知識表現が識別される。コンポーネント関係とキーワード関係との位置合わせに基づいて、各ステートメント・キーワードが指定されたモジュール・コンポーネントに割り当てられる。2つ以上のキーワード間の関係に基づいてステートメント意図が表現され、受け取られたステートメントへの応答が推測される。推測された応答が、仮想対話プラットフォームに伝達される。
これらおよび他の特徴および利点は、添付の図面と併せて、現在例示的な実施形態(複数可)の以下の詳細な説明から明らかになろう。
本明細書で参照する図面は、本明細書の一部を形成し、引用により本明細書に組み込まれる。図面に示す特徴は、特に明記していない限り、全ての実施形態ではなく、いくつかの実施形態のみを例示することを意図している。
本明細書で概略的に説明および図示している本実施形態のコンポーネントは、多種多様な異なる構成で配置および設計されることは容易に理解されよう。したがって、図に提示した本実施形態の装置、システム、方法、およびコンピュータ・プログラム製品の実施形態の以下の詳細な説明は、特許請求する実施形態の範囲を限定することを意図したものではなく、選択した実施形態を表すものにすぎない。
本明細書全体を通じた「選択した一実施形態(a select embodiment)」、「1つの実施形態(one embodiment)」、または「一実施形態(an embodiment)」への言及は、その実施形態に関連して説明する特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体における様々な場所での「選択した一実施形態」、「1つの実施形態において」、または「一実施形態において」という句の出現は、必ずしも同じ実施形態を指すとは限らない。
例示した実施形態は、図面を参照することによって十分に理解され、図面全体を通して同様の部分を同様の番号で示す。以下の説明は単なる例を意図しており、本明細書で特許請求する実施形態と一致するデバイス、システム、および処理の特定の選択した実施形態を単に例示している。
人工知能システムの分野では、自然言語処理システム(たとえば、IBM(R)のWatson(R)人工知能コンピュータ・システムおよび他の自然言語システム)は、システムが獲得した知識に基づいて自然言語を処理する。自然言語を処理するために、システムは知識のデータベースまたはコーパスから得られたデータでトレーニングされるが、得られた結果は様々な理由で誤っており、または不正確になり得る。
人工知能(AI)のサブセットである機械学習(ML:machine learning)は、アルゴリズムを使用して、データから学習し、このデータに基づいて先見性を生み出す。AIは、機械が情報に基づいて意思決定を行うことにより、所与のトピックで成功する可能性を最大化することができる場合の知能を指す。MLは1つまたは複数のニューラル・モデルを用いて入力パターンを識別し、時間の経過と共に進化するアルゴリズムを含む。ニューラル・モデルは、人間の神経系が機能する方法をエミュレートする。基本単位はニューロンと呼ばれ、ニューロンは典型的には層へと編成される。ニューラル・モデルは、ニューロンの抽象的なバージョンのような多数の相互接続された処理ユニットをシミュレートすることによって機能する。ニューラル・モデルには典型的には3つの部分があり、これには、入力フィールドを表すユニットを有する入力層、1つまたは複数の隠れ層、およびターゲット・フィールド(複数可)を表す1つまたは複数のユニットを有する出力層が含まれる。ユニットは様々な接続強度または重みで接続される。入力データは最初の層に提示され、各ニューロンから次の層の全てのニューロンに値が伝播される。出力層から結果が提供される。ニューラル・モデルは、人間の脳の機能の仕方をエミュレートするように設計されるので、最小限に定義された抽象概念および問題をサポートするようにコンピュータをトレーニングすることができる。
AIおよび関連する推論(reasoning)の中核には、類似性の概念がある。自然言語および目的(objects)を理解するプロセスは、関係の観点からの推論を必要とし、これは難題であり得る。効率的に目的を識別し、自然言語を理解し、コンテンツ応答を処理するための既存のソリューションは、実用レベルでは非常に困難である。
本明細書ではチャットボットとも呼ぶ仮想会話エージェントは、既存のサービスまたは情報をエンド・ユーザに対してアクセスしやすくする、またはよりアクセスしやすくするために、需要が高まっている。この需要の増大によって、ウェブサイトおよびモバイル・アプリケーションなどの商用の仮想的な場所が会話形式になされている。そのような会話型エージェントを構築するための以前の開発フレームワークは、典型的には、たとえば自然言語理解(NLU:natural language understanding)対話管理などの、対話サブタスクのモジュラー・パイプラインを提供していた。これらのフレームワークでは、各モジュールは、独自の適切に設計された注釈付きのデータを必要とする。しかしながら、そのようなデータを入手するタスクは、複雑で労働集約的であり、維持するのが容易ではない。会話エージェントを改善するために、データ収集に関するツールおよびソリューションを提供する必要がある。したがって、本明細書で図示および説明するように、構造化知識を介した目標指向の情報検索タスクのための会話型エージェントを開発するための統一されたフレームワークを実証するためのシステム、コンピュータ・プログラム製品、および方法を提供する。
統一されたフレームワークは、エンドツーエンドでトレーニング可能なモデルによって消費することができるパイプラインを提供する。具体的には、このフレームワークは、複数の対話サブタスクを意味的に根拠付ける(semantically ground)ための中央知識表現を強化するように設計される。本明細書に示すように、パイプラインは、データ主導のエビデンスを収集してモデルを継続的に改善するモジュールと統合される。
対話は、ユーザおよび仮想エージェント間の一連のコミュニケーションで構成される。対話は、本明細書で対話タスクと呼ぶ主要タスクと、本明細書で対話サブタスクとも呼ぶ、主要タスクをサポートする1つまたは複数のサブタスクとで構成されるか、またはそれらによって定義される。仮想エージェントには質問が提示され、質問から回答が提供され、それらの回答は対話データとして対話のフローに統合されることは当技術分野では理解される。本明細書で図示および説明するように、対話サブタスク間で中央知識表現を共有することができる。中央知識表現は、ドメイン・エンティティと、エンティティの対応するプロパティと、エンティティの関係のセットと、をカバーする。対応するプロパティの例には、予想されるデータ・タイプおよび許容可能値が含まれる。中央知識表現は、典型的にはエンド・ユーザがアクセス可能な、データベースまたはアプリケーション・プログラム・インターフェース(API:application program interface)の形式の構造化知識に基づいて構築される。図4~図7に示すように、仮想コミュニケーション・プラットフォームにおけるステートメントを評価して、キーと値のペア<k,v>を抽出し、ここで、kはステートメント・キーワードを表し、vはキーワード値(複数可)を表す。商業環境では、値はキーワードに対応する価格または費用であり得る。値をさらに処理して、キーワード・メタ情報、たとえば、データ・タイプ、値の範囲、および値が通知可能(informable)または要求可能かなどを取得することができる。そのようなメタ情報は<k,r,v>として記憶され、ここで、kはキーワードまたはエンティティ名であり、rは関係またはプロパティ・タイプを表し、vはキーワードの値(複数可)を表す。本明細書で使用する場合、キーワードとは、エンティティなど、関連情報を表す用語である。メタ情報は、暗黙的な対話状態および対話行為を決定するために用いられ得る。
会話型コマース(conversational commerce)としても知られている、チャット・アプリケーションを介した既存の商用サービスへのアクセスの需要が高まっている。これは、自動車保険、不動産賃貸などのドメイン・サービスの基礎となる知識ベースに基づいてエンド・ユーザと情報を交換することに関連する。しかしながら、タスクを遂行するために知識ベースとインタラクションを行うことは、クエリ・ルールを統計的(statistical)なコンポーネントとドメインごとに繰り返し融合することに関連して難題になり得る。本明細書で図示および説明するように、目標指向の情報探索会話システムのための統一された暗黙的対話フレームワークを提供する。このフレームワークは、明示的にエンコードされたルールに依存するのではなく、基礎となるデータ表現を使用してインタラクションに必要なコンポーネントを構築することによって、ドメイン・データとの対話インタラクションを可能にする。このフレームワークは、ドメインのインタラクティブな検索の、ドメイン非依存のプロトタイピングを容易にし、様々なドメイン間での共通のビルディング・ブロックを識別して共有することを可能にする。
本明細書で図示および説明するように、ドメイン知識ベースは利用可能であるか、または埋め込まれたスキーマを有する対応する商用ウェブ・サイトから入手することができる。ドメイン知識ベースと、知識ベースへの許可されたクエリと、アプリケーション・ロジックとの組み合わせが、対話アクティビティを推測するために適用される。図1~図7で図示および説明するように、知識ベースがスキャンされ、たとえば、意図ラベリング、状態追跡、およびドメイン・データベースへのアプリケーション・プログラム・インターフェース(API)呼び出しの発行などの複数の対話タスクを意味的に根拠付けることができる中央知識表現が構築される。中央知識表現は、中央表現(central representation)に基づいて自動的に更新される。これは、会話型システム(複数可)を継続的に改善するために学習モジュールによって直接消費される、ターゲットを絞ったフィードバック・データを収集する。
図1を参照すると、対話フレームワークのアーキテクチャの一実施形態を示すためのブロック図(100)が提供されている。図示のように、このフレームワークは、自然言語理解(NLU)モジュール(110)、推測エンジン(120)、プロンプト生成器(130)、およびデータ収集用の対話環境シミュレータ(140)を含むいくつかのコア・モジュールを含む。これらのコンポーネント、たとえば、(110)、(120)、(130)、および(140)の入力は全て、中央知識表現(150)によって初期化される。より詳細には、中央知識表現は、ドメイン知識ベースに基づいて生成される。中央知識表現は、ドメイン・エンティティと、エンティティ間の意味的関係のセットとをカバーする。たとえば、アパートの賃貸に関して、ドメイン・エンティティは「apartment」であり、意味的関係は「has-attribute」である。中央知識表現は、エンティティに関連する追加の一般的特性(additional generic characteristics)と呼ばれるものを提供し、これはドメインにわたって適用可能であり得るコンテンツを識別するのに役立つ。そのような一般的特性の例には、予想されるデータ・タイプ、範囲、および操作が含まれるが、これらに限定されない。中央知識表現は、本明細書では、対話タスクおよびサブタスク間で共有されるように図示および説明する。中央知識表現は、ドメイン・エンティティと、エンティティの対応するプロパティ、たとえば、予想されるデータ・タイプおよび許容可能値と、エンティティの関係のセットとをカバーする。
本明細書にさらに示すように、対話シミュレータ(140)は、ユーザ(160)およびエージェント(162)から入力を受け取る。ユーザ入力は自然言語およびテキストの形式であり、これらはそれぞれ第1のチャネル(142)および第2のチャネル(144)を介してNLUモジュール(110)に伝達されて、ユーザ意図が特定される。1つの実施形態では、NLUモジュール(110)は、自然言語分類器を利用して、受け取った入力(160)からユーザ意図を特定する。NLUモジュール(110)は、受け取った入力、たとえば、ステートメントから解析された1つまたは複数のエンティティ間の1つまたは複数の関係として表現されるユーザ意図の基礎となる表現を提供する。NLUモジュール(110)は、通信チャネル(122)を介して表現を推測エンジン(120)に伝達する。対話シミュレータ(140)は、受け取った入力の主題と、1つの実施形態では対応するクエリとに基づいて、可能性のある仮想的な場所、たとえばウェブ・サイトを識別し、場所に埋め込まれたスキーマからデータを抽出し、これは推測エンジン(120)に伝達され、次の対話アクションが推測されてプロンプト生成器(130)に出力され、これは通信チャネル(132)を介して対話シミュレータ(140)に伝達されるように示されている。1つの実施形態では、対話シミュレータは、リアルタイムのインタラクション中にユーザ・フィードバックを収集する。このように、対話フレームワーク・アクセスは、特定されたユーザ意図に基づいて情報を要求し、その情報を対話シミュレータ(140)用の1つまたは複数の対話プロンプトに変換する。
図2を参照すると、ドメイン構造化知識を介した会話型エージェントの機能をサポートするための人工知能プラットフォームを有するコンピュータ・システム(200)の概略図が示されている。図示のように、ネットワーク接続、たとえば、コンピュータ・ネットワーク(205)を介して複数のコンピューティング・デバイス(280)、(282)、(284)、(286)、(288)、および(290)と通信するサーバ(210)が提供される。サーバ(210)は、バス(214)を介してメモリ(216)と通信する処理ユニット(212)を有して構成される。サーバ(210)は、コンピューティング・デバイス(280)、(282)、(284)、(286)、(288)、および(290)のうちの1つまたは複数からネットワーク(205)を介して仮想会話型エージェント機能処理およびコミュニケーション推測をサポートして実現する組み込まれたツールを有する人工知能(AI)プラットフォーム(250)を有するように示している。サーバ(210)は、本明細書では、知識ベース(270)に動作可能に結合されるように示している。コンピューティング・デバイス(280)、(282)、(284)、(286)、(288)、および(290)のそれぞれは、1つまたは複数の有線または無線あるいはその両方のデータ通信リンクを介して互いに通信し、また、他のデバイスまたはコンポーネントと通信し、各通信リンクは、ワイヤ、ルータ、スイッチ、送信機、受信機などのうちの1つまたは複数を含み得る。さらに、コンピューティング・デバイス(280)~(290)のそれぞれは、ネットワーク(205)を介して知識ベース(270)に動作可能に結合される。サーバ(210)の他の実施形態は、本明細書に示した以外のコンポーネント、システム、サブシステム、またはデバイス、あるいはそれらの組み合わせと共に使用され得る。
AIプラットフォーム(250)は、本明細書では、知識リソースに関するコグニティブ・コンピューティングの適用を管理および促進し、より具体的には、構造化知識を介した目標指向の情報検索タスクのための会話型エージェントを開発するための統一されたフレームワークをサポートするためのツールを有して構成されるように示している。図示のように、知識ベース(270)は、AIプラットフォーム(250)に動作可能に結合され、知識表現の複数のライブラリを有して構成される。本明細書では、2つのライブラリをライブラリA(272A)およびライブラリB(272B)として示しており、各ライブラリは特定の製品またはサービス・ドメインによって定義される。各ライブラリは、対応する知識表現を有するように示している。より具体的には、ライブラリA(272A)は知識表現A(274A)を有するように示しており、ライブラリB(272B)は知識表現B(274B)を有するように示している。1つの実施形態では、1つまたは複数の知識表現を有する追加のライブラリが提供され、したがって、ライブラリおよび知識表現の数量は限定的であると見なされるべきではない。1つの実施形態では、知識ベースは、複数の知識表現を有する、各知識表現が製品またはサービスのクラスに向けられた単一のライブラリ、たとえば、ライブラリA(272A)などを有して構成される。したがって、本明細書に示すライブラリおよび知識表現の数量は、説明を目的としたものであり、限定的なものと見なされるべきではない。
AIプラットフォーム(250)を構成するツールには、自然言語(NL)マネージャ(252)と、関係マネージャ(254)と、コミュニケーション・マネージャ(256)と、知識リソースを管理および維持し、チャットボットまたは仮想対話プラットフォームなどの仮想会話エージェント(260)の推測機能をサポートするためのエンティティ・マネージャ(258)と、が含まれるが、これらに限定されない。図示のように、チャットボット(260)は、AIプラットフォーム(250)のツールに動作可能に結合される。NLマネージャ(252)は、仮想対話プラットフォーム(260)で受け取られたNLステートメントを検出および分析するように機能する。仮想対話プラットフォーム(260)は、NL形式のデータの受け取りおよび伝達を行うためのプラットフォームを提供する。ユーザは、プラットフォーム(260)でステートメントおよびクエリを送り、プラットフォーム(260)を介して基礎となる仮想エージェントからNL形式で応答を受け取る。NLマネージャ(252)は、受け取ったNLステートメント(複数可)を分析するように機能し、これには、ステートメント内に表現された1つまたは複数のエンティティの識別が含まれる。たとえば、1つの実施形態では、分析は、NLマネージャ(252)がステートメント内の文法的構成要素、たとえば、主語、名詞、動詞などを識別することを伴い、この識別を使用して、ステートメントを1つまたは複数のキーワードへとさらに解析する。このように、NLマネージャ(252)は、受け取ったステートメント(複数可)にNL処理を施して、ステートメント・キーワードを解析する。
キーワードは関係マネージャ(254)によって使用されて、NLステートメントがさらに処理される。より具体的には、関係マネージャ(254)は、処理対象のステートメント内に表現された意図を、識別および解析されたキーワードのうちの2つ以上の間の関係として識別する。1つの実施形態では、任意の2つのステートメント・キーワード間の関係は、1つまたは複数の数学演算および1つまたは複数の変数として部分的に表現される。以下で詳細に説明するように、ステートメント、より詳細には、ステートメント・コンポーネントは、一般的知識表現(generic knowledge representation)に変換される。図示のように、知識ベースには、たとえば、主題、製品、サービスなどのドメインごとに異なる知識表現が提供される。1つの実施形態では、各知識表現をモジュールと呼ぶ。関係マネージャ(254)は、キーワードおよび任意の対応する値を知識表現のコンポーネントに変換するように機能する。図4で図示および説明するように、知識表現(450)は、構造的な関係で配置された、本明細書ではスロットとも呼ぶ複数のコンポーネントを有するように示している。1つの実施形態では、各コンポーネントはグラフィカル・ノードとして表現され、ノード間のエッジはノード間の関係を表す。関係マネージャ(254)は、識別されたステートメント・キーワードのそれぞれを指定されたコンポーネント、たとえばスロットに割り当て、この割り当ては、コンポーネント関係と、ステートメントの分析から確認されたキーワード関係との位置合わせに基づく。
識別されたステートメント・キーワードと、任意の対応する値とから、ステートメント意図が確認される。コミュニケーション・マネージャ(256)は、知識表現に反映されたキーワード間の関係に基づいてステートメント意図を表現し、受け取ったステートメントへの応答を推測するように機能する。本明細書に示すように、推測された応答(262)は、チャットボット(260)、たとえば、仮想対話プラットフォームに伝達される。
ステートメント・キーワードと、知識構造に入力されたデータとの間には直接的な関係がある。NLマネージャ(252)は、ステートメント・キーワードと、知識表現コンポーネントに入力されたデータとの関係を分析するように機能する。分析を実施するために、様々なマッチング・プロトコルがNLマネージャによって使用され得る。マッチング・プロトコルには、リテラル・マッチング、ファジー文字列マッチング、意味的類似性、またはこれらのマッチング・プロトコルのうちの2つ以上の組み合わせが含まれる。このように、直接的な関係は、マッチング・プロトコルによってさらに定義される。
仮想対話プラットフォーム(260)におけるコミュニケーションを推測することに加えて、適切なまたは関連する応答データを識別するために、知識表現が知識ベースに提示される。本明細書に示すように、コミュニケーション・マネージャ(256)に動作可能に結合されるエンティティ・マネージャ(258)は、知識表現に反映されたステートメント意図およびキーワード関係を利用して、対応する知識ベースから関連データを識別する。1つの実施形態では、知識ベースは、対応するデータを有する1つまたは複数の仮想的な場所、たとえば、ウェブ・サイトであり得る。エンティティ・マネージャ(258)は、入力された知識表現を使用して、ステートメント意図およびキーワード関係に関連する1つまたは複数の知識ドメイン・エンティティ、たとえば、ウェブサイトを識別し、識別されたキーワードごとに知識ドメインの構造化知識を識別し、識別された構造化知識と、入力された知識表現との間に関連付けを作成する。より具体的には、関連付けは、コミュニケーション・マネージャ(256)の機能を利用して、構造化知識をスロットなどのモジュール・コンポーネントおよび関連するコンポーネント関係(複数可)に橋渡し(bridge)し、これには、1つの実施形態では、ドメイン・エンティティのエンティティ構造化知識からのデータをモジュール・コンポーネントに入力することが含まれる。エンティティ・マネージャ(258)はさらに、識別された構造化知識を出力(264)として仮想対話プラットフォーム(260)に伝達する。このように、エンティティ・マネージャ(258)は、構造化知識を識別し、仮想対話プラットフォーム(260)を介して受け取ったステートメントへの応答データとして伝達するように機能する。
ネットワーク(205)と通信する様々なコンピューティング・デバイス(280)、(282)、(284)、(286)、(288)、および(290)は、知識ベース(270)および対応するライブラリへのアクセス・ポイント、ならびに仮想対話プラットフォーム(260)へのアクセスを含み得る。AIプラットフォーム(250)は、ステートメントの表現と、対話の推測と、構造化知識の識別および出力とに関してNLUを管理するように機能する。
ネットワーク(205)は、様々な実施形態では、ローカル・ネットワーク接続およびリモート接続を含み得、それによって、AIプラットフォーム(250)は、ローカルおよびグローバル、たとえば、インターネットを含む任意の規模の環境で動作し得る。AIプラットフォーム(250)は、ドキュメント、ネットワーク・アクセス可能なソースまたは構造化データ・ソースあるいはその両方から抽出された、またはそれらにおいて表現された様々な知識を利用できるようにするフロントエンド・システムとして機能する。このように、いくつかの処理がAIプラットフォーム(250)に入力し、AIプラットフォーム(250)は、要求を受け取り、それに応じて応答するための入力インターフェースも含む。コンテンツのユーザは、ネットワーク(205)へのネットワーク接続またはインターネット接続を介してAIプラットフォーム(250)にアクセスし得る。仮想対話プラットフォーム(260)は、動作可能に結合される視覚ディスプレイ(230)によってアクセス可能である。
AIプラットフォーム(250)は、本明細書では、仮想対話プラットフォーム(260)をサポートし、これとインターフェースをとるためのいくつかのツールを有するように示している。NLマネージャ(252)、関係マネージャ(254)、コミュニケーション・マネージャ(256)、およびエンティティ・マネージャ(258)を含むツールは、個別にまたは集合的にソフトウェア・ツールまたはハードウェア・ツールとして機能する。
いくつかの例示的な実施形態では、サーバ(210)は、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズ・コーポレーションから利用可能なIBM(R)Watson(R)システムを、以下で説明する例示的な実施形態のメカニズムで増強したものであり得る。IBM(R)Watson(R)システムは、ツール(252)~(258)をサポートして、本明細書で説明する構造化知識の識別およびコミュニケーション応答の推測を含む知識リソース管理および仮想対話機能をサポートし得る。本明細書ではAIツールとも呼ぶツール(252)~(258)は、サーバ(210)のAIプラットフォーム(250)内に具現化または統合されるものとして示している。AIツールは、ネットワーク(205)を介してサーバ(210)に接続される別個のコンピューティング・システム(たとえば、290)に実装され得る。AIツールは、どこで具現化されても、コミュニケーション対話を推測し、構造化ドメイン知識を伝達することに関して仮想対話プラットフォームをサポートし、これを実現するように機能する。
AIプラットフォーム(250)を使用することができる情報ハンドリング・システムのタイプは、ハンドヘルド・コンピュータ/携帯電話(280)などの小型のハンドヘルド・デバイスから、メインフレーム・コンピュータ(282)などの大型のメインフレーム・システムにまで及ぶ。ハンドヘルド・コンピュータ(280)の例には、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)、パーソナル・エンターテインメント・デバイス、たとえば、MP4プレーヤー、ポータブル・テレビ、およびコンパクト・ディスク・プレーヤーなどが含まれる。情報ハンドリング・システムの他の例には、ペンまたはタブレット・コンピュータ(284)、ラップトップまたはノートブック・コンピュータ(286)、パーソナル・コンピュータ・システム(288)、およびサーバ(290)が含まれる。図示のように、様々な情報ハンドリング・システムは、コンピュータ・ネットワーク(205)を使用して一緒にネットワーク化することができる。様々な情報ハンドリング・システムを相互接続するために使用することができるコンピュータ・ネットワーク(205)のタイプには、ローカル・エリア・ネットワーク(LAN:Local Area Network)、無線ローカル・エリア・ネットワーク(WLAN:Wireless Local Area Network)、インターネット、公衆交換電話網(PSTN:Public Switched Telephone Network)、他の無線ネットワーク、および情報ハンドリング・システムを相互接続するために使用することができる他の任意のネットワーク・トポロジが含まれる。情報ハンドリング・システムの多くは、ハード・ドライブまたは不揮発性メモリあるいはその両方などの不揮発性データ・ストアを含む。情報ハンドリング・システムの一部は、別々の不揮発性データ・ストアし得る(たとえば、サーバ(290)は不揮発性データ・ストア(290A)を使用し、メインフレーム・コンピュータ(282)は不揮発性データ・ストア(282A)を使用する)。不揮発性データ・ストア(282A)は、様々な情報ハンドリング・システムに外付けするか、情報ハンドリング・システムのうちの1つに内蔵することができるコンポーネントとすることができる。
AIプラットフォーム(250)をサポートするために用いられる情報ハンドリング・システムは、多くの形態を取り得、その一部を図2に示す。たとえば、AIプラットフォームは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブックの形態、または他のフォーム・ファクタのコンピュータまたはデータ処理システムの形態を取り得る。また、AIプラットフォーム(250)をサポートするための情報ハンドリング・システムは、パーソナル・デジタル・アシスタント(PDA)、ゲーム・デバイス、ATM機、携帯電話デバイス、通信デバイス、またはプロセッサおよびメモリを含む他のデバイスなどの他のフォーム・ファクタを取り得る。
アプリケーション・プログラム・インターフェイス(API)は、2つ以上のアプリケーション間のソフトウェア媒介として当技術分野では理解される。図2で図示および説明したAIプラットフォーム(250)に関して、ツール(252)~(258)のうちの1つまたは複数およびそれらに関連する機能をサポートするための1つまたは複数のAPIが使用され得る。図3を参照すると、ツール(352)~(358)およびそれらに関連するAPIを示すブロック図(300)が提供されている。図示のように、複数のツールがAIプラットフォーム(305)に組み込まれ、ツールは、API0(312)に関連付けられたNLマネージャ(352)と、API1(322)に関連付けられた関係マネージャ(354)と、API2(332)に関連付けられたコミュニケーション・マネージャ(356)と、API3(342)に関連付けられたエンティティ・マネージャ(358)と、を含む。各APIは1つまたは複数の言語およびインターフェース規格で実装され得る。API0(312)は、ステートメント・キーワードの識別を含む、自然言語処理のための機能サポートを提供し、API1(322)は、処理されたステートメントに対応する知識表現を識別し、ステートメント・キーワードおよびキーワード関係と、知識表現との間の関係を作成するための機能サポートを提供し、API2(332)は、受け取ったステートメントに対する仮想対話プラットフォームでの応答を推測するための機能サポートを提供し、API3(342)は、構造化知識を識別し、処理されたステートメントへの応答データとして仮想対話プラットフォームに伝達するための機能サポートを提供する。図示のように、API(312)、(322)、(332)、および(342)のそれぞれはAPIオーケストレータ(360)に動作可能に結合され、これは別名オーケストレーション層として知られており、別々のAPIを一緒に透過的にスレッド化する抽象化層として機能することが当技術分野で理解される。1つの実施形態では、別々のAPIの機能が結合され、または組み合わせられ得る。そのため、本明細書に示すAPIの構成は限定と見なされるべきではない。このように、本明細書に示すように、ツールの機能は、それぞれのAPIによって具現化またはサポートされ得る。
図4を参照すると、ステートメント意図を決定し、情報ハンドリング・システムでモジュール構造を選択または作成してステートメントの構造を表現する処理を示すフローチャート(400)が提供されている。図示のように、ステートメントまたはクエリがコンピュータ・デバイスによって受け取られるかまたは検出される(402)。1つの実施形態では、ステートメントまたはクエリは、対応する仮想対話プラットフォームにおいて識別される。自然言語理解(NLU)を使用してステートメントを文法的構成要素へと解析し、これには、受け取られたステートメント内の1つまたは複数のエンティティを決定することが含まれる(404)。ステートメントの文法的構成要素を解析することに加えて、またはその代わりに、ステップ(404)での解析は、ステートメントに存在する1つまたは複数のキーワードの識別を伴い得る。キーワードなどの解析されたステートメント・コンポーネントの数量は、変数XTotalに割り当てられる(406)。識別された各キーワード、たとえば、キーワードXは評価を受けて、ステートメント内に明示的にまたは内在的に存在するかまたは検出可能であるキーワード値が識別される(408)。1つの実施形態では、NL処理ツールを使用して、ステートメント・キーワードをキャプチャし、キーワード値を識別する。識別されたキーワード(複数可)および値(複数可)は、相互接続されたコンポーネントとして表現される(410)。このように、受け取られたステートメントは、ステートメント・コンポーネントを識別するための処理を受け、これを使用して、ステートメントの主題、キーワード、およびキーワード値が識別される。
図5を参照すると、識別されたキーワードおよび値に基づくステートメントの例示的な表現を示すためのブロック図(500)が提供されている。図示のように、モジュール(510)は、複数の相互接続されたコンポーネント(512)、(514)、(516)、および(518)から構成される。モジュール(510)は、対話シミュレータ(140)によって受け取られたクエリまたはステートメントを表現する。キーワードおよび値がコンポーネントに入力されて示されている。この例では、キーワード「under」が第1のコンポーネントh1(520)に割り当てられ、値が第2のコンポーネントh2(522)に割り当てられ、第2のキーワード「in」が第3のコンポーネントh3(524)に割り当てられ、第3のキーワード「Bronx」が第4のコンポーネントh4(526)に割り当てられる。この例では、キーワード、たとえば、エンティティは「Bronx」であり、値は「3,000」であり、キーと値のペアは<Bronx,3000>と表される。値h1、h2、h3、およびh4は、ベクトル形式で表された、NLUプラットフォームから検出された単語の潜在表現である。
中央知識表現(CKR:centralized knowledge representation)を用いて、受け取ったステートメントまたはクエリを、対話サブタスク間で共有できる形式で表現する。CKRは、ドメイン・エンティティと、エンティティの対応するプロパティ、たとえば、予想されるデータ・タイプおよび許容可能値と、エンティティの関係のセットと、をカバーする。CKRは、典型的にはエンド・ユーザがアクセス可能な、データベースまたはアプリケーションAPIの形式の構造化知識に基づいて構築される。図6を参照すると、NLステートメントまたはクエリを処理し、ステートメントを対話モジュールにマッピングする方法の一実施形態を示すためのフローチャート(600)が提供されている。図6に示すように、受け取られたまたは検出されたユーザ・ステートメントに初期処理を施して、ステートメントに存在するキーワードおよび値を識別する(602)。処理されたユーザ・ステートメントからのデータは、ステートメント意図に基づいて、CKRの対応するモジュール内に表現される。ステップ(602)に続いて、ステートメント意図が、ステートメントに表現された2つ以上のエンティティ間の関係として確認され(604)、エンコードされる(606)。1つの実施形態では、2つ以上のエンティティ間の関係は、1つまたは複数の数学演算および1つまたは複数の変数として部分的に表現される。CKR内に意図の説明ラベルを有するのではなく、意図はエンティティおよび演算の合成として表現される。たとえば、アパートを探すことに関して、「価格帯を上げる」という意図は、<”apartment”,(price,+,num_val)>と表現される。このように、意図はCKRから直接推測することができ、相対的な生成演算(relatively generation operations)に基づいて構成されるので、新しいドメインに適応可能であり得る。1つの実施形態では、CKRのフレームワークは、カスタマイズされたモジュールのプラグアンドプレイをサポートするように設計される。エンコードされた意図をステートメントの主題と共に使用して、ステートメントを一般的に表現するCKRを識別する(608)。図5を参照すると、CKRは(550)に示されており、複数のスロットが本明細書ではc1(560)、c2(562)、c3(564)、およびc4(566)として示されている。CKRおよび対応するスロットは、入力ステートメントの潜在表現である。この例に示すように、c2(562)の値「price」はh2(522)の値(複数可)の潜在表現であり、c4(566)の値「borough」はh4(526)の値(複数可)の潜在表現である。
1つの実施形態では、一般的CKR表現のライブラリを維持し、検索して以前の一般的表現を識別し、これを本明細書ではウォーム・スタートとも呼ぶ。以前の表現が存在しない場合、新しい表現が作成され、これをコールド・スタートとも呼ぶ。このように、受け取られたステートメントに初期処理およびコンポーネント解析を施して、ステートメント・コンポーネントを識別および表現する。
注釈付きの対話データが存在しないコールド・スタートの場合、ユーザ意図は、意味的に一致するエンティティと、予想されるデータ・タイプによって制約されるADDおよびDELETEなどのエンティティに対する対応する一般的な操作行為とによってエンコードされる。意味マッチングは、リテラル・マッチングと、エンティティ間の近似的な一致を識別するファジー・マッチングと、ベクトル化された単語表現を使用した関連エンティティのマッチングをサポートするベクトル表現マッチングとの3つの連続したステップで、ユーザの発話をCKRの要素にマッピングする。意図の注釈付きの対話データが存在するウォーム状態の場合、トレーニング・モデルを用いて意図を予測する。より具体的には、入力テキストのシーケンスは、シーケンス内の各タイム・ステップで、LSTMまたはGRUなどのニューラル・ネットワークによってエンコードされる。ステップ(608)に続いて、意図および入力ステートメント表現は、意味フレームを形成し、これは、キーワードおよび値(複数可)を要求されたエンティティ(610)の検索制約とするクエリまたはAPI呼び出しに変換される。クエリまたはAPI呼び出しが処理され、クエリまたはAPI呼び出しを満たすドメイン、たとえば、仮想的な場所またはウェブサイトなどが識別される(612)。対応するドメイン・スキーマが識別され(614)、スキーマからのデータが識別されたCKRに選択的に関連付けられる(616)。より具体的には、CKR内の潜在表現をスキーマ表現および値とマッチングして、場所の構造化知識と、ステートメントの潜在表現とに間に関連付けを作成し、エンティティ構造化知識から潜在表現内の1つまたは複数のコンポーネントに入力する。
ステップ(616)に続いて、次の対話アクティビティ、たとえば、対話プロンプトが推測され、対話シミュレータに対話プロンプトとして伝達される(618)。図1に示すように、この推測は推測エンジン(120)によってサポートされる。推測エンジンの目標は、受け取ったステートメントまたはクエリの結果の取得を最適化し、次のアクションを推測することである。図5の例と、場所のスキーマからの出力とに基づいて、推測エンジンは場所の指定または価格帯の識別を要求し得る。図7を参照すると、対話プロンプトを生成するためのコンポーネントおよび論理フローの一実施形態を示すための流れ図(700)が提供されている。図示のように、対話シミュレータ(710)は、対話アクティビティなどの対話状態フレーム追跡ユニット(720)に動作可能に結合される。図5で図示および説明したように、対話ステートメントが検出および処理され、スキーマとして表現されるドメイン・データベース(750)を使用して、CKRのコンポーネントに入力される。本明細書に示すように、リカレント・ニューラル・ネットワーク(730)は、受け取ったステートメントにコンテキストを提供し、対話プロンプト生成器(740)の形式で出力を作成するための長短期記憶(LSTM:long short-term memory)ブロック(732)および(734)を有するように示している。リカレント・ニューラル・ネットワークは、LSTMブロック(732)を使用して、受け取ったステートメントを潜在表現にエンコードし、LSTMブロック(734)を使用して、ステートメントを対話状態にデコードする。ソフトマックス活性化関数を利用して(736)、各対話アクションの確率Pを評価および出力し、ここで、yは対話状態を表し、t-1は前の対話ステートメントを表し、wは重みである。このように、本明細書に示すLSTMブロックは、ステートメント入力と入力の潜在表現とを使用して出力を作成し、対話シミュレータに伝達する。
ステップ(618)での対話プロンプトの推測は、ステートメント意図と、対話ステートメントと、1つの実施形態では以前の検索結果とに基づく。対話シミュレータは、CKRに基づいてAPI呼び出しを発行するか、または検索体験を最適化するために最大の情報を要求する。このようにして、CKRは、構造化知識を介した目標指向の情報検索タスクのための会話型エージェントを開発するための統一されたフレームワークを提供する。
機能ツール(252)~(258)およびそれらに関連する機能の態様は、単一の場所のコンピュータ・システム/サーバで具現化され、または1つの実施形態では、コンピューティング・リソースを共有するクラウド・ベースのシステムで構成され得る。図8を参照すると、図1~図7に関して上記で説明した処理を実装するための、クラウド・ベースのサポート・システム(880)と通信する、以下ホスト(802)と呼ぶコンピュータ・システム/サーバ(802)の一例を示すブロック図(800)が提供されている。ホスト(802)は、他の多くの汎用または専用のコンピューティング・システム環境または構成で動作可能である。ホスト(802)での使用に適し得るよく知られているコンピューティング・システム、環境、または構成、あるいはそれらの組み合わせの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステム、デバイスのいずれかを含むファイル・システム(たとえば、分散ストレージ環境および分散クラウド・コンピューティング環境)、ならびにこれらの均等物が含まれるが、これらに限定されない。
ホスト(802)は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで説明し得る。一般に、プログラム・モジュールには、特定のタスクを実行するかまたは特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などが含まれ得る。ホスト(802)は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境(880)において実践され得る。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム記憶媒体に配置され得る。
図8に示すように、ホスト(802)は、汎用コンピューティング・デバイスの形態で示している。ホスト(802)のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット(804)、たとえば、ハードウェア・プロセッサと、システム・メモリ(806)と、システム・メモリ(806)を含む様々なシステム・コンポーネントをプロセッサ(804)に結合するバス(808)とを含み得るが、これらに限定されない。バス(808)は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス規格協会(VESA:Video Electronics Standards Association)ローカル・バス、および周辺機器相互接続(PCI:Peripheral Component Interconnects)バスが含まれる。ホスト(802)は、典型的には、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、ホスト(802)によってアクセス可能な任意の利用可能な媒体であり得、揮発性および不揮発性の媒体、取り外し可能および取り外し不可能な媒体の両方を含む。
メモリ(806)は、ランダム・アクセス・メモリ(RAM:random access memory)(830)またはキャッシュ・メモリ(832)あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。単なる例として、取り外し不可能な不揮発性の磁気媒体(図示しない、典型的には「ハード・ドライブ」と呼ばれるもの)に読み書きするためのストレージ・システム(834)を設けることができる。図示していないが、取り外し可能な不揮発性の磁気ディスク(たとえば、「フレキシブル・ディスク」)に読み書きするための磁気ディスク・ドライブと、CD-ROM、DVD-ROM、または他の光学媒体などの取り外し可能な不揮発性の光学ディスクに読み書きするための光学ディスク・ドライブと、を設けることができる。そのような例では、それぞれを、1つまたは複数のデータ・メディア・インターフェースによってバス(808)に接続することができる。
プログラム・モジュール(842)のセット(少なくとも1つ)を有するプログラム/ユーティリティ(840)は、限定ではなく例として、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、メモリ(806)に記憶され得る。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそれらの何らかの組み合わせのそれぞれは、ネットワーキング環境の一実装形態を含み得る。プログラム・モジュール(842)は一般に、動的なコミュニケーション評価質問識別および処理を行うための実施形態の機能または方法論あるいはその両方を実行する。たとえば、プログラム・モジュール(842)のセットは、図2で説明したツール(252)~(258)を含み得る。
ホスト(802)はまた、キーボード、ポインティング・デバイスなどの1つまたは複数の外部デバイス(814)、ディスプレイ(824)、ユーザがホスト(802)とやりとりすることを可能にする1つまたは複数のデバイス、またはホスト(802)が1つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(たとえば、ネットワーク・カード、モデムなど)、あるいはそれらの組み合わせと通信し得る。そのような通信は、入力/出力(I/O:Input/Output)インターフェース(複数可)(822)を介して行うことができる。またさらに、ホスト(802)は、ネットワーク・アダプタ(820)を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN:wide area network)、またはパブリック・ネットワーク(たとえば、インターネット)、あるいはそれらの組み合わせなどの、1つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ(820)は、バス(808)を介してホスト(802)の他のコンポーネントと通信する。1つの実施形態では、分散ファイルシステム(図示せず)の複数のノードは、I/Oインターフェース(822)またはネットワーク・アダプタ(820)を介してホスト(802)と通信する。図示していないが、他のハードウェアまたはソフトウェアあるいはその両方のコンポーネントを、ホスト(802)と併用できることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらに限定されない。
本文書では、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ可読媒体」という用語は一般に、RAM(830)、キャッシュ(832)、およびストレージ・システム(834)、たとえば、リムーバブル・ストレージ・ドライブおよびハード・ディスク・ドライブに取り付けられたハード・ディスクなどを含むメイン・メモリ(806)などの媒体を指すために使用する。
コンピュータ・プログラム(コンピュータ制御ロジックとも呼ばれる)は、メモリ(806)に記憶される。コンピュータ・プログラムはまた、ネットワーク・アダプタ(820)などの通信インターフェースを介して受信され得る。そのようなコンピュータ・プログラムは、実行された場合に、コンピュータ・システムが本明細書で論じている本実施形態の機能を実行することを可能にする。具体的には、コンピュータ・プログラムは、実行された場合に、処理ユニット(804)がコンピュータ・システムの機能を実行することを可能にする。したがって、そのようなコンピュータ・プログラムは、コンピュータ・システムのコントローラを表す。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ダイナミックまたはスタティック・ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、磁気ストレージ・デバイス、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリー・スティック(R)、フレキシブル・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組み合わせを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
本実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータもしくはサーバまたはサーバのクラスタ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic array)を含む電子回路は、実施形態の態様を実行するために、コンピュータ可読プログラム命令の状態情報を使用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
1つの実施形態では、ホスト(802)は、クラウド・コンピューティング環境のノードである。当技術分野で知られているように、クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとのやりとりによって迅速にプロビジョニングおよび解放することができる、設定可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つのデプロイメント・モデルとを含み得る。そのような特徴の例は以下の通りである。
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービスのプロバイダとの人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
ブロード・ネットワーク・アクセス:能力はネットワークを介して利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースをプールして、様々な物理リソースおよび仮想リソースが需要に応じて動的に割り当ておよび再割り当てされるマルチ・テナント・モデルを使用して複数のコンシューマにサービス提供する。一般にコンシューマは、提供されるリソースの正確な位置に対して何もできず、知っているわけでもないが、より上位の抽象化レイヤ(たとえば、国、州、またはデータセンターなど)では位置を特定可能であり得るという点で位置非依存の感覚がある。
迅速な弾力性:能力を迅速かつ弾力的に、場合によっては自動的にプロビジョニングして素早くスケール・アウトし、迅速に解放して素早くスケール・インすることができる。コンシューマにとって、プロビジョニング可能な能力は無制限であるように見えることが多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウド・システムは、サービスのタイプ(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適したある抽象化レイヤでの計量機能を利用して、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、管理、および報告して、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供することができる。
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能性のある例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション機能を含む、基盤となるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをコンシューマがデプロイして動作させることが可能な、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御し、場合によっては選択したネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)を限定的に制御する。
デプロイメント・モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは組織専用に運用される。これは組織または第三者によって管理され、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャはいくつかの組織によって共有され、共通の懸念(たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項など)を有する特定のコミュニティをサポートする。これは組織または第三者によって管理され、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大規模な業界団体に対して利用可能にされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または独自技術(たとえば、クラウド間の負荷分散のためのクラウド・バースティング)によって結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を合成したものである。
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味論的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図9を参照すると、例示的なクラウド・コンピューティング・ネットワーク(900)が示されている。図示のように、クラウド・コンピューティング・ネットワーク(900)は、1つまたは複数のクラウド・コンピューティング・ノード(910)を有するクラウド・コンピューティング環境(950)を含み、これらを使用して、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信し得る。これらのローカル・コンピューティング・デバイスの例には、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話(954A)、デスクトップ・コンピュータ(954B)、ラップトップ・コンピュータ(954C)、または自動車コンピュータ・システム(954N)、あるいはそれらの組み合わせなどが含まれるが、これらに限定されない。さらに、ノード(910)内の個々のノードは相互に通信し得る。これらは、たとえば、上述のプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組み合わせなど、1つまたは複数のネットワークにおいて物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境(900)は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを維持する必要がない、インフラストラクチャ・アズ・ア・サービス、プラットフォーム・アズ・ア・サービス、またはソフトウェア・アズ・ア・サービス、あるいはそれらの組み合わせを提供することが可能になる。図9に示したコンピューティング・デバイス(954A~N)のタイプは例示的なものにすぎないことを意図しており、クラウド・コンピューティング環境(950)は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能接続(たとえば、ウェブ・ブラウザを使用)あるいはその両方を介して任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
ここで図10を参照すると、図9のクラウド・コンピューティング・ネットワークによって提供される機能的抽象化レイヤ(1000)のセットが示されている。図10に示したコンポーネント、レイヤ、および機能は例示的なものにすぎないことを意図しており、実施形態はこれらに限定されないことを事前に理解されたい。図示のように、以下のレイヤ、すなわち、ハードウェアおよびソフトウェア・レイヤ(1010)、仮想化レイヤ(1020)、管理レイヤ(1030)、およびワークロード・レイヤ(1040)、ならびに対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ(1010)は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム、一例では、IBM(R)zSeries(R)システム、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ、一例では、IBM(R)pSeries(R)システム、IBM(R)xSeries(R)システム、IBM(R)BladeCenter(R)システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントが含まれる。ソフトウェア・コンポーネントの例には、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例では、IBM(R)WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例では、IBM(R)DB2(R)データベース・ソフトウェアが含まれる。(IBM(R)、zSeries(R)、pSeries(R)、xSeries(R)、BladeCenter(R)、WebSphere(R)、およびDB2(R)は、世界中の多くの管轄区域で登録されたインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である)。
仮想化レイヤ(1020)は抽象化レイヤを提供し、抽象化レイヤから、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントが提供され得る。
一例では、管理レイヤ(1030)は、以下の機能、すなわち、リソース・プロビジョニング、計量および価格決定、ユーザ・ポータル、サービス・レイヤ管理、およびSLA計画および履行を提供し得る。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために使用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計量および価格決定は、クラウド・コンピューティング環境内でリソースが使用されたときの費用追跡と、これらのリソースの消費に対する会計または請求とを提供する。一例では、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマおよびタスクの同一性検証だけでなく、データおよび他のリソースに対する保護も提供する。ユーザ・ポータルは、コンシューマおよびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レイヤ管理は、要求されるサービス・レイヤが満たされるような、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レイヤ合意(SLA:Service Layer Agreement)の計画および履行は、SLAによれば将来要求されると予想されるクラウド・コンピューティング・リソースの事前手配および調達を提供する。
ワークロード・レイヤ(1040)は、クラウド・コンピューティング環境が使用される機能性の例を提供する。このレイヤから提供されるワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ分析処理、取引処理、ならびに仮想対話プラットフォーム管理、が含まれるが、これらに限定されない。
自然言語入力を評価し、対応するコミュニケーションにおける質問を検出し、検出された質問を回答またはサポート・コンテンツあるいはその両方で解決するためのシステム、方法、装置、およびコンピュータ・プログラム製品を本明細書で開示していることは理解されよう。
本実施形態の特定の実施形態を図示および説明してきたが、実施形態およびそのより広い態様から逸脱することなく、本明細書の教示に基づいて変更および修正が行われることは当業者には明らかであろう。したがって、添付の特許請求の範囲は、実施形態の真の範囲および思想内にある全てのそのような変更および修正をその範囲内に包含するものとする。さらに、実施形態が、添付の特許請求の範囲によってのみ定義されることを理解されたい。導入する請求項要素の特定の数を意図する場合、そのような意図はその請求項に明示的に記載し、そのような記載がない場合、そのような制限は存在しないことが当業者によって理解されよう。非限定的な例では、理解を助けるものとして、以下の添付の特許請求の範囲は、請求項要素を導入するための導入語句「少なくとも1つ」および「1つまたは複数」の使用を含む。しかしながら、そのような語句の使用は、同じ請求項が「1つまたは複数」または「少なくとも1つ」という導入語句および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項要素の導入が、そのような導入した請求項要素を含む特定の請求項を、そのような要素をただ1つ含む実施形態に限定することを意味すると解釈されるべきではなく、特許請求の範囲での定冠詞の使用についても同じことが言える。
本実施形態は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせであり得る。また、本実施形態の選択した態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいはソフトウェアもしくはハードウェアまたはその両方の態様を組み合わせた実施形態の形を取り得、これらの全てを一般に本明細書では「回路」、「モジュール」、または「システム」と呼び得る。さらに、本実施形態の態様は、本実施形態の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)に具現化されたコンピュータ・プログラム製品の形態を取り得る。開示したシステム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組み合わせは、このように具現化されるので、NLステートメントをモデル化し、モデル化されたステートメントに対応する構造化データを利用し、対応する仮想コミュニケーション・プラットフォームにおける仮想コミュニケーション応答データを推測するように、人工知能プラットフォームの機能および動作を改善するよう動作する。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶可能な有形のデバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ダイナミックまたはスタティック・ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、磁気ストレージ・デバイス、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリー・スティック(R)、フレキシブル・ディスク、命令が記録されたパンチ・カードまたは溝の隆起構造などの機械的にコード化されたデバイス、およびこれらの任意の適切な組み合わせが含まれる。コンピュータ可読記憶媒体は、本明細書で使用する場合、たとえば、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を伝搬する電磁波(たとえば、光ファイバ・ケーブルを通過する光パルス)、または有線で伝送される電気信号などの一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組み合わせを含み得る。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶する。
本実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードまたはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータもしくはサーバまたはサーバのクラスタ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされ得る。いくつかの実施形態では、たとえば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本実施形態の態様を実行するために、コンピュータ可読プログラム命令の状態情報を使用してコンピュータ可読プログラム命令を実行することによって、電子回路を個人向けにし得る。
本実施形態の態様は、実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装できることは理解されよう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、それらの命令がコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行された場合に、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為を実装するための手段が生成されるようなマシンを生成し得る。また、これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの組み合わせに特定の方法で機能するように指示することが可能なコンピュータ可読記憶媒体に記憶して、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為の態様を実装する命令を含む製造品を構成するようにし得る。
また、コンピュータ可読プログラム命令をコンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させることによって、それらの命令がコンピュータ、他のプログラム可能装置、または他のデバイス上で実行された場合に、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行為が実装されるようなコンピュータ実装処理を生成し得る。
図中のフローチャートおよびブロック図は、本実施形態の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理的機能(複数可)を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。いくつかの代替的実装形態では、ブロックに記載した機能は、図示した順序以外で行われ得る。たとえば、関与する機能に応じて、連続して示した2つのブロックは、実際には実質的に同時に実行され、またはそれらのブロックは、場合により逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組み合わせは、指定された機能もしくは行為を実行するか、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実装できることにも気付くであろう。
本明細書では特定の実施形態を例示の目的で記載しているが、実施形態の思想および範囲から逸脱することなく様々な修正が行われることは理解されよう。したがって、実施形態の保護の範囲は、以下の特許請求の範囲およびそれらの均等物によってのみ限定される。
Claims (18)
- メモリに動作可能に結合されるプロセッサと、
前記プロセッサと通信し、仮想対話プラットフォーム内での意図を表現する自然言語理解(NLU)ツールを有する人工知能(AI)プラットフォームと、
を備え、前記ツールは、
NLステートメントを検出および分析する自然言語(NL)マネージャであって、前記分析は、前記ステートメント内に表現された1つまたは複数のエンティティを識別し、前記識別されたエンティティを利用して前記ステートメントを前記識別された1つまたは複数のキーワードへと解析する、前記NLマネージャと、
前記NLマネージャに動作可能に結合され、前記受け取られたステートメントの意図を、前記ステートメント内で識別された2つ以上のキーワード間の関係として表現する関係マネージャであって、前記表現は、2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールとして前記ステートメントを表現する知識表現を識別することと、前記コンポーネント関係と前記キーワード関係との位置合わせに基づいて、各ステートメント・キーワードを指定されたモジュール・コンポーネントに割り当てることと、を含む、前記関係マネージャと、
前記2つ以上のキーワード間の前記関係に基づいて前記ステートメント意図を表現し、前記受け取られたステートメントへの応答を推測するコミュニケーション・マネージャと、
を含み、
前記推測された応答は、前記AIプラットフォームに動作可能に結合される前記仮想対話プラットフォームに伝達される、
コンピュータ・システム。 - 前記2つ以上のキーワード間の前記関係は、1つまたは複数の数学演算および1つまたは複数の変数として部分的に表現される、請求項1に記載のシステム。
- 前記コミュニケーション・マネージャに動作可能に結合されるエンティティ・マネージャをさらに備え、前記エンティティ・マネージャは、
前記ステートメント意図および前記キーワード関係に関連する1つまたは複数のエンティティを識別し、
前記識別された1つまたは複数のキーワードのそれぞれについて構造化知識を識別し、
前記識別された構造化知識と、前記フォーマットされたモジュールとの間に関連付けを作成し、
前記識別された構造化知識を出力として前記仮想対話プラットフォームに伝達する、
請求項1に記載のシステム。 - 前記識別された構造化知識と、前記フォーマットされたモジュールとの間の前記作成された関連付けは、前記コミュニケーション・マネージャが前記エンティティ構造化知識を前記モジュール・コンポーネントおよびコンポーネント関係に橋渡しすることをさらに含み、前記橋渡しは、前記エンティティ構造化知識からのデータを1つまたは複数のモジュール・コンポーネントに入力することを含む、請求項3に記載のシステム。
- 前記NLマネージャによる前記ステートメントの解析は、前記NLマネージャが、前記ステートメント内に表現された前記2つ以上のキーワードと、前記1つまたは複数のモジュール・コンポーネントに入力された前記データとの間の関係を選択的に分析することを含む、請求項1に記載のシステム。
- 前記NLマネージャが前記関係を選択的に分析することは、リテラル・マッチング、ファジー文字列マッチング、意味的類似性分析、またはそれらの組み合わせを含むマッチング・プロトコルを利用する、請求項5に記載のシステム。
- 仮想対話プラットフォーム内での意図を表現するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品はプログラム・コードを具現化するコンピュータ可読記憶媒体を備え、前記プログラム・コードはプロセッサにより実行可能であって、
NLステートメントを検出および分析し、前記分析は、前記ステートメント内に表現された1つまたは複数のエンティティを識別し、前記識別されたエンティティを利用して前記ステートメントを前記識別された1つまたは複数のキーワードへと解析し、
前記受け取られたステートメントの意図を、前記ステートメント内で識別された2つ以上のキーワード間の関係として表現し、前記表現は、2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールとして前記ステートメントを表現する知識表現を識別することと、前記コンポーネント関係と前記キーワード関係との位置合わせに基づいて、各ステートメント・キーワードを指定されたモジュール・コンポーネントに割り当てることと、を含み、
前記2つ以上のキーワード間の前記関係に基づいて前記ステートメント意図を表現し、前記受け取られたステートメントへの応答を推測し、
前記推測された応答は、仮想対話プラットフォームに伝達される、
コンピュータ・プログラム製品。 - 前記2つ以上のキーワード間の前記関係は、1つまたは複数の数学演算および1つまたは複数の変数として部分的に表現される、請求項7に記載のコンピュータ・プログラム製品。
- 前記ステートメント意図および前記キーワード関係に関連する1つまたは複数のエンティティを識別し、
前記識別された1つまたは複数のキーワードのそれぞれについて構造化知識を識別し、
前記識別された構造化知識と、前記フォーマットされたモジュールとの間に関連付けを作成し、
前記識別された構造化知識を出力として前記仮想対話プラットフォームに伝達する、
プログラム・コードをさらに含む、請求項7に記載のコンピュータ・プログラム製品。 - 前記識別された構造化知識と、前記フォーマットされたモジュールとの間の前記作成された関連付けは、前記エンティティ構造化知識を前記モジュール・コンポーネントおよびコンポーネント関係に橋渡しするプログラム・コードをさらに含み、前記橋渡しは、前記エンティティ構造化知識からのデータを1つまたは複数のモジュール・コンポーネントに入力することを含む、請求項9に記載のコンピュータ・プログラム製品。
- 前記ステートメントを解析する前記プログラム・コードは、前記ステートメント内に表現された前記2つ以上のキーワードと、前記1つまたは複数のモジュール・コンポーネントに入力された前記データとの間の関係を選択的に分析することを含む、請求項7に記載のコンピュータ・プログラム製品。
- 前記関係を選択的に分析する前記プログラム・コードは、リテラル・マッチング、ファジー文字列マッチング、意味的類似性分析、またはそれらの組み合わせを含むマッチング・プロトコルを利用する、請求項11に記載のコンピュータ・プログラム製品。
- コンピューティング・デバイスを使用して仮想対話プラットフォーム内での意図を表現する方法であって、
前記コンピューティング・デバイスによって、NLステートメントを検出および分析することであって、前記分析することは、前記ステートメント内に表現された1つまたは複数のエンティティを識別し、前記識別されたエンティティを利用して前記ステートメントを前記識別された1つまたは複数のキーワードへと解析する、前記検出および分析することと、
前記コンピューティング・デバイスによって、前記受け取られたステートメントの意図を、前記ステートメント内で識別された2つ以上のキーワード間の関係として表現することであって、前記表現することは、2つ以上のコンポーネントおよびコンポーネント関係構造を有するフォーマットされたモジュールとして前記ステートメントを表現する知識表現を識別することと、前記コンポーネント関係と前記キーワード関係との位置合わせに基づいて、各ステートメント・キーワードを指定されたモジュール・コンポーネントに割り当てることと、を含む、前記表現することと、
前記コンピューティング・デバイスによって、前記2つ以上のキーワード間の前記関係に基づいて前記ステートメント意図を表現し、前記受け取られたステートメントへの応答を推測することと、
を含み、
前記推測された応答は、前記仮想対話プラットフォームに伝達される、
方法。 - 前記2つ以上のキーワード間の前記関係は、1つまたは複数の数学演算および1つまたは複数の変数として部分的に表現される、請求項13に記載の方法。
- 前記ステートメント意図および前記キーワード関係に関連する1つまたは複数のエンティティを識別することと、
前記識別された1つまたは複数のキーワードのそれぞれについて構造化知識を識別することと、
前記識別された構造化知識と、前記フォーマットされたモジュールとの間に関連付けを作成することと、
前記識別された構造化知識を出力として前記仮想対話プラットフォームに伝達することと、
をさらに含む、請求項13に記載の方法。 - 前記識別された構造化知識と、前記フォーマットされたモジュールとの間の前記作成された関連付けは、前記エンティティ構造化知識を前記モジュール・コンポーネントおよびコンポーネント関係に橋渡しすることをさらに含み、前記橋渡しすることは、前記エンティティ構造化知識からのデータを1つまたは複数のモジュール・コンポーネントに入力することを含む、請求項15に記載の方法。
- 前記ステートメントの解析は、前記ステートメント内に表現された前記2つ以上のキーワードと、前記1つまたは複数のモジュール・コンポーネントに入力された前記データとの間の関係を選択的に分析することを含む、請求項13に記載の方法。
- 前記関係を選択的に分析することは、リテラル・マッチング、ファジー文字列マッチング、意味的類似性分析、またはそれらの組み合わせを含むマッチング・プロトコルを利用する、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/733,267 US11288322B2 (en) | 2020-01-03 | 2020-01-03 | Conversational agents over domain structured knowledge |
US16/733,267 | 2020-01-03 | ||
PCT/IB2020/061579 WO2021137061A1 (en) | 2020-01-03 | 2020-12-07 | Conversational agents over domain structured knowledge |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023508599A true JP2023508599A (ja) | 2023-03-02 |
Family
ID=76655244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022540930A Pending JP2023508599A (ja) | 2020-01-03 | 2020-12-07 | 会話型エージェント・システム、方法、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11288322B2 (ja) |
JP (1) | JP2023508599A (ja) |
CN (1) | CN114761944A (ja) |
WO (1) | WO2021137061A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203689B (zh) * | 2022-07-25 | 2023-05-02 | 广州正则纬创信息科技有限公司 | 一种数据安全分享方法及系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7158966B2 (en) | 2004-03-09 | 2007-01-02 | Microsoft Corporation | User intent discovery |
US8082264B2 (en) | 2004-04-07 | 2011-12-20 | Inquira, Inc. | Automated scheme for identifying user intent in real-time |
US8265939B2 (en) | 2005-08-31 | 2012-09-11 | Nuance Communications, Inc. | Hierarchical methods and apparatus for extracting user intent from spoken utterances |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8700389B2 (en) | 2010-12-23 | 2014-04-15 | Sap Ag | Systems and methods for model-based processing of linguistic user inputs using annotations |
US20140279993A1 (en) | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Clarifying User Intent of Query Terms of a Search Query |
US9875494B2 (en) | 2013-04-16 | 2018-01-23 | Sri International | Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant |
US20190286713A1 (en) * | 2015-01-23 | 2019-09-19 | Conversica, Inc. | Systems and methods for enhanced natural language processing for machine learning conversations |
US20190286711A1 (en) * | 2015-01-23 | 2019-09-19 | Conversica, Inc. | Systems and methods for message building for machine learning conversations |
US20190286712A1 (en) * | 2015-01-23 | 2019-09-19 | Conversica, Inc. | Systems and methods for phrase selection for machine learning conversations |
US20180068031A1 (en) * | 2016-08-16 | 2018-03-08 | Ebay Inc. | Enhancing user queries using implicit indicators |
US20180052842A1 (en) * | 2016-08-16 | 2018-02-22 | Ebay Inc. | Intelligent online personal assistant with natural language understanding |
US10467262B2 (en) | 2016-11-29 | 2019-11-05 | Accenture Global Solutions Limited | Customized visualization based intelligence augmentation |
US10642913B2 (en) * | 2016-12-21 | 2020-05-05 | Accenture Global Solutions Limited | Intent and bot based query guidance |
US10068567B1 (en) | 2016-12-29 | 2018-09-04 | Amdocs Development Limited | System, method, and computer program for automatic management of intent classification |
US20190103111A1 (en) | 2017-10-03 | 2019-04-04 | Rupert Labs Inc. ( DBA Passage AI) | Natural Language Processing Systems and Methods |
US11200506B2 (en) | 2017-12-15 | 2021-12-14 | Microsoft Technology Licensing, Llc | Chatbot integrating derived user intent |
-
2020
- 2020-01-03 US US16/733,267 patent/US11288322B2/en active Active
- 2020-12-07 WO PCT/IB2020/061579 patent/WO2021137061A1/en active Application Filing
- 2020-12-07 JP JP2022540930A patent/JP2023508599A/ja active Pending
- 2020-12-07 CN CN202080084198.XA patent/CN114761944A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114761944A (zh) | 2022-07-15 |
US20210209167A1 (en) | 2021-07-08 |
US11288322B2 (en) | 2022-03-29 |
WO2021137061A1 (en) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11455473B2 (en) | Vector representation based on context | |
US10417581B2 (en) | Question answering system-based generation of distractors using machine learning | |
US11966389B2 (en) | Natural language to structured query generation via paraphrasing | |
US11030402B2 (en) | Dictionary expansion using neural language models | |
US20230092274A1 (en) | Training example generation to create new intents for chatbots | |
TWI814394B (zh) | 電子系統、電腦實施方法及電腦程式產品 | |
JP2023510241A (ja) | 仮想エージェント対話システムの会話ログの検索方法、システム、プログラム | |
US11526801B2 (en) | Conversational search in content management systems | |
US11226832B2 (en) | Dynamic generation of user interfaces based on dialogue | |
US11182416B2 (en) | Augmentation of a text representation model | |
US20200110834A1 (en) | Dynamic Linguistic Assessment and Measurement | |
US11443216B2 (en) | Corpus gap probability modeling | |
JP2023508599A (ja) | 会話型エージェント・システム、方法、プログラム | |
US20220327356A1 (en) | Transformer-Based Model Knowledge Graph Link Prediction | |
JP2023002475A (ja) | コンピュータシステム、コンピュータプログラムおよびコンピュータで実装される方法(因果関係知識の識別および抽出) | |
US20220207384A1 (en) | Extracting Facts from Unstructured Text | |
JP2022079430A (ja) | 方法、システムおよびコンピュータ・プログラム | |
US11520783B2 (en) | Automated validity evaluation for dynamic amendment | |
US10902046B2 (en) | Breaking down a high-level business problem statement in a natural language and generating a solution from a catalog of assets | |
US20210157881A1 (en) | Object oriented self-discovered cognitive chatbot | |
US11947536B2 (en) | Identifying and processing poly-process natural language queries | |
US11714855B2 (en) | Virtual dialog system performance assessment and enrichment | |
WO2022194086A1 (en) | A neuro-symbolic approach for entity linking | |
US20230316101A1 (en) | Knowledge Graph Driven Content Generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220805 |
|
RD16 | Notification of change of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7436 Effective date: 20220805 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230525 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240620 |