(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-06
(54)【発明の名称】マルチパーティ対話における談話解析のための構造自己認識モデル
(51)【国際特許分類】
G06F 40/35 20200101AFI20240130BHJP
G06N 3/04 20230101ALI20240130BHJP
G06N 3/044 20230101ALI20240130BHJP
G06F 18/213 20230101ALI20240130BHJP
G06F 40/216 20200101ALI20240130BHJP
G10L 15/00 20130101ALN20240130BHJP
【FI】
G06F40/35
G06N3/04 100
G06N3/044
G06F18/213
G06F40/216
G10L15/00 200Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023537509
(86)(22)【出願日】2021-12-16
(85)【翻訳文提出日】2023-06-20
(86)【国際出願番号】 US2021063792
(87)【国際公開番号】W WO2022177631
(87)【国際公開日】2022-08-25
(32)【優先日】2021-02-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ソン,リンフェン
(57)【要約】
マルチパーティ対話を解析するための方法、コンピュータプログラム、及びコンピュータシステムが提供される。複数の基本談話単位を有する対話データを受信する。基本談話単位に対するペアごとの比較を実行することに基づいて、基本談話単位の各々のローカル表現及びグローバル表現が決定される。決定されたローカル及びグローバル表現に基づいて、基本談話単位の各ペアの2つの基本談話単位間の意味関係が識別される。識別された意味関係に基づいて、隣接していない基本談話単位間の文脈的リンクが予測される。
【特許請求の範囲】
【請求項1】
プロセッサにより実行可能な、対話解析の方法であって、
複数の基本談話単位を有する対話データを受信するステップと、
前記基本談話単位に対するペアごとの比較を実行することに基づいて前記複数の基本談話単位の各々のローカル表現及びグローバル表現を決定するステップと、
前記決定されたローカル及びグローバル表現に基づいて基本談話単位の各ペアの2つの基本談話単位間の意味関係を識別するステップと、
前記識別された意味関係に基づいて前記複数の基本談話単位からの隣接していない基本談話単位間の文脈的リンクを予測するステップと、
を含む方法。
【請求項2】
前記ローカル表現を決定することは、
第1の双方向ゲート付きリカレンスユニットを介して各基本談話単位を処理することと、
各基本談話単位の2つの方向における前記第1の双方向ゲート付きリカレンスユニットにより生成された隠れ状態を連結することと、
を含む、請求項1に記載の方法。
【請求項3】
スケーリングされたドット積アテンション関数に基づいて前記隠れ状態を更新するステップ、をさらに含む請求項2に記載の方法。
【請求項4】
前記グローバル表現を決定することは、
第2の双方向ゲート付きリカレンスユニットを介して各ローカル表現を処理することを含む、請求項2又は3に記載の方法。
【請求項5】
前記ローカル表現及び前記グローバル表現は、構造自己認識グラフニューラルネットワークSSA-GNNの複数のノードを初期化するために使用され、前記表現から抽出された複数の対話特徴が、前記SSA-GNNの複数のエッジを初期化するために使用される、請求項1乃至4のうちいずれか1項に記載の方法。
【請求項6】
基本談話単位の各ペアの前記2つの基本談話単位間の前記意味関係は、各基本談話単位の第1のベクトルと基本談話単位の各ペアの第2のベクトルとに対応する暗黙的な構造情報を捕捉するために構造自己認識グラフニューラルネットワークSSA-GNNを適用することに基づいて識別される、請求項1乃至5のうちいずれか1項に記載の方法。
【請求項7】
基本談話単位の各ペアについての層ごとの関係分類に基づいて前記SSA-GNNを訓練するステップ、をさらに含む請求項6に記載の方法。
【請求項8】
前記層ごとの関係分類は、書記素学習から前記SSA-GNNにより生成されるエッジ固有表現に基づく、請求項7に記載の方法。
【請求項9】
対話解析のためのコンピュータシステムであって、
コンピュータプログラムコードを記憶するように構成された1つ以上のコンピュータ読取可能非一時的記憶媒体と、
前記コンピュータプログラムコードにアクセスするように構成された1つ以上のコンピュータプロセッサであり、前記コンピュータプログラムコードは、前記1つ以上のコンピュータプロセッサに請求項1乃至8のうちいずれか1項に記載の方法を実行させる、1つ以上のコンピュータプロセッサと、
を含む、コンピュータシステム。
【請求項10】
対話解析のためのコンピュータプログラムであって、当該コンピュータプログラムは、1つ以上のコンピュータプロセッサに請求項1乃至8のうちいずれか1項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般にデータ処理の分野に関し、より詳細には発話分類に関する。
【背景技術】
【0002】
会話談話解析は、話者と発言との間の相互依存性を発見することを目的としている。対話は、最後のターンと最初のターンとの間の「コメント」関係などの、隣接していない発言間の関係を含む場合がある。このタスクは、隣接していない発言間の関係などのチャレンジングなケースを含むため、些細ではない。談話解析に対する初期の試みは手作りされた特徴に主に基づいており、デコーディングプロセスはパイプライン方式でモデル化されている。このプロセスでは、各EDUペアに対する談話関係の確率が最初に推定され、次いで、最大スパニングツリーなどの探索アルゴリズムにより談話構造が推論される。他の自然言語処理タスクにおけるディープラーニングの成功により触発され、マルチパーティ対話における談話解析にDeepSequentialなどのニューラルモデルが使用される場合がある。通常、DeepSequentialは、各対話の談話構造を同時に構築及び利用しており、すなわち、現在の予測を行ってそれを部分的な談話構造に組み込む前に、最初に、既に予測された談話構造から特徴を抽出する。
【発明の概要】
【0003】
実施形態は、対話解析のための方法、システム、及びコンピュータ読取可能媒体に関する。1つの態様によれば、対話解析のための方法が提供される。この方法は、複数の基本談話単位を有する対話データを受信するステップを含むことができる。基本談話単位に対するペアごとの比較を実行することに基づいて、基本談話単位の各々についてローカル表現及びグローバル表現が決定される。決定されたローカル及びグローバル表現に基づいて、基本談話単位の各ペアの2つの基本談話単位間の意味関係が識別される。識別された意味関係に基づいて、隣接していない基本談話単位間で文脈的リンクが予測される。
【0004】
別の態様によれば、対話解析のためのコンピュータシステムが提供される。コンピュータシステムは、1つ以上のプロセッサと、1つ以上のコンピュータ読取可能メモリと、1つ以上のコンピュータ読取可能有形記憶装置と、1つ以上のメモリのうちの少なくとも1つを介した1つ以上のプロセッサのうちの少なくとも1つによる実行のために1つ以上の記憶装置のうちの少なくとも1つに記憶されたプログラム命令とを含むことができ、それにより、コンピュータシステムは方法を実行することができる。この方法は、複数の基本談話単位を有する対話データを受信するステップを含むことができる。基本談話単位に対するペアごとの比較を実行することに基づいて、基本談話単位の各々についてローカル表現及びグローバル表現が決定される。決定されたローカル及びグローバル表現に基づいて、基本談話単位の各ペアの2つの基本談話単位間の意味関係が識別される。識別された意味関係に基づいて、隣接していない基本談話単位間で文脈的リンクが予測される。
【0005】
さらに別の態様によれば、対話解析のためのコンピュータ読取可能媒体が提供される。コンピュータ読取可能媒体は、1つ以上のコンピュータ読取可能記憶装置と、1つ以上の有形記憶装置のうちの少なくとも1つに記憶されたプログラム命令であり、プロセッサにより実行可能である、プログラム命令とを含むことができる。プログラム命令は、方法を実行するためにプロセッサにより実行可能であり、この方法は、したがって、複数の基本談話単位を有する対話データを受信するステップを含むことができる。基本談話単位に対するペアごとの比較を実行することに基づいて、基本談話単位の各々についてローカル表現及びグローバル表現が決定される。決定されたローカル及びグローバル表現に基づいて、基本談話単位の各ペアの2つの基本談話単位間の意味関係が識別される。識別された意味関係に基づいて、隣接していない基本談話単位間で文脈的リンクが予測される。
【図面の簡単な説明】
【0006】
これら及び他の目的、特徴、及び利点は、添付の図面と関連して読むべき例示的な実施形態の以下の詳細な説明から明らかになるであろう。図面の様々な特徴は、詳細な説明に関連して当業者の理解を容易にする際の明確さのためのものであるため、縮尺どおりではない。
【
図1】少なくとも1つの実施形態による、ネットワーク化されたコンピュータ環境を示す。
【
図2】少なくとも1つの実施形態による、マルチパーティ対話を解析するシステムのブロック図である。
【
図3】少なくとも1つの実施形態による、マルチパーティ対話を解析するプログラムにより実行されるステップを示す動作フローチャートである。
【
図4】少なくとも1つの実施形態による、
図1に示すコンピュータ及びサーバの内部及び外部コンポーネントのブロック図である。
【
図5】少なくとも1つの実施形態による、
図1に示すコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
【
図6】少なくとも1つの実施形態による、
図5の例示的なクラウドコンピューティング環境の機能層のブロック図である。
【発明を実施するための形態】
【0007】
請求される構造及び方法の詳細な実施形態が本明細書において開示される。しかしながら、開示される実施形態は、様々な形態で具現化され得る請求される構造及び方法の単なる例示であることが理解できる。しかしながら、それらの構造及び方法は、多くの異なる形態で具現化される可能性があり、本明細書に記載された例示的な実施形態に限定されると解釈すべきではない。むしろ、これらの例示的な実施形態は、本開示が徹底的かつ完全であり、その範囲を当業者に十分に伝えるように提供されている。本説明において、提示される実施形態を不要に分かりにくくすることを避けるために、よく知られた特徴及び技術の詳細は省略されている場合がある。
【0008】
実施形態は、一般にデータ処理の分野に関し、より詳細には発話分類に関する。以下に説明する例示的な実施形態は、とりわけ、マルチパーティ対話(multi-party dialogue)を解析するためのシステム、方法、及びコンピュータプログラムを提供する。したがって、いくつかの実施形態は、誤差伝搬に悩まされることなく効果的な(effective)表現を学習することを可能にすることにより、コンピューティングの分野を向上させるキャパシティを有する。結果として、各対話の始めにおいてだけでなく、全ての対話ターンにおける一貫した向上が達成される可能性がある。
【0009】
前述したように、会話談話解析は、話者と発言との間の相互依存性を発見することを目的としている。対話は、最後のターンと最初のターンとの間の「コメント」関係などの、隣接していない発言間の関係を含む場合がある。例えば、会話におけるより後の応答が、介在する無関係の応答にもかかわらず、より前の隣接していない応答に対して応答したコメントであると判断されることがある。このタスクは、隣接していない発言間の関係などのチャレンジングなケースを含むため、些細ではない。談話解析に対する初期の試みは手作りされた特徴に主に基づいており、デコーディングプロセスはパイプライン方式でモデル化されている。このプロセスでは、各EDUペアに対する談話関係の確率が最初に推定され、次いで、最大スパニングツリーなどの探索アルゴリズムにより談話構造が推論される。他の自然言語処理タスクにおけるディープラーニングの成功により触発され、マルチパーティ対話における談話解析にDeepSequentialなどのニューラルモデルが使用される場合がある。通常、DeepSequentialは、各対話の談話構造を同時に構築及び利用しており、すなわち、現在の予測を行ってそれを部分的な談話構造に組み込む前に、最初に、既に予測された談話構造から特徴を抽出する。
【0010】
しかしながら、前に予測された構造を取得することで、予測のためのよりリッチな表現を提供することができるが、DeepSequentialは、深刻な誤差伝搬に直面している。したがって、対話解析の誤差伝搬を最小化する目的で、マルチパーティ対話の談話解析にエッジ中心の構造自己認識グラフニューラルネットワーク(structural self-aware graph neural network、SSA-GNN)を使用することが有利である場合がある。この方法では、誤差訂正がもはや必要なく、それにより、誤差を訂正するために計算リソース又は時間を割り振る必要がないため、より高い精度、信頼性、したがってさらにはより高い効率で、対話解析を実行することができる。
【0011】
本明細書では、様々な実施形態による方法、装置(システム)、及びコンピュータ読取可能媒体のフローチャート例示及び/又はブロック図を参照して、態様が説明される。フローチャート例示及び/又はブロック図の各ブロック、並びにフローチャート例示及び/又はブロック図におけるブロックの組み合わせは、コンピュータ読取可能プログラム命令により実装できることが理解されるであろう。
【0012】
以下に説明する例示的な実施形態は、マルチパーティ対話の談話解析にエッジ中心の構造自己認識グラフニューラルネットワーク(SSA-GNN)を使用するシステム、方法、及びコンピュータプログラムを提供する。このモデルにより、効果的な表現は、過去のアクションからの特徴なしで(したがって、誤差伝搬がない)、学習され得る。EDU固有表現を学習することに焦点を合わせた従前の研究と異なり、このモデルでは、各EDUペアの暗黙的な構造情報を捕捉するために、エッジ固有ベクトルを直接使用する。グラフニューラルネットワークの層ごとのメッセージパッシングの恩恵を受けて、SSA-GNNにおけるエッジ固有ベクトルは、それらの接続されたノードとの意味的な相互作用を介して、暗黙的な相関及びグローバル情報を徐々に捕捉することができる。結果として、このモデルは、明示的な過去の予測の代わりに暗黙的な構造情報を使用してより良い表現を学習することができ、それにより、より多くの計算能力を消費することなく、向上した談話解析結果がもたらされる。したがって、本発明による談話解析は、計算能力の消費に関してより効率的である。
【0013】
表現学習をさらに強化するために、2つの補助損失項を使用して、全体的な目的関数に直交信号を提供してもよい。1つ目のものは、SSA-GNNの各層における談話関係分類のための損失関数である。この関数を使用し、各EDUペアについて、その対応するエッジ固有表現に基づいて、層ごとの関係分類を行うことができる。2つ目のものは、知識蒸留のためのカルバック・ライブラー・ダイバージェンス(Kullback-Leibler divergence)損失関数である。これは、関係が予測を必要とすることを除く、より多くの文脈及び他のグラウンドトゥルースの談話関係にアクセスする教師モデルの知識を、モデルに伝達する。
【0014】
次に、
図1を参照すると、マルチパーティ対話を解析するための対話解析システム100(以降「システム」)を示すネットワーク化されたコンピュータ環境の機能ブロック図である。
図1は、1つの実装の単なる例示を提供し、異なる実施形態が実装され得る環境に関する制限を意味するものではないことを理解されたい。設計及び実装要件に基づいて、図示された環境に対する多くの修正がなされる可能性がある。
【0015】
システム100は、コンピュータ102及びサーバコンピュータ114を含むことができる。コンピュータ102は、通信ネットワーク110(以降「ネットワーク」)を介してサーバコンピュータ114と通信することができる。コンピュータ102は、プロセッサ104と、ソフトウェアプログラム108を含むことができ、ソフトウェアプログラム108は、データ記憶装置106に記憶され、ユーザとインターフェースすること及びサーバコンピュータ114と通信することが可能である。
図4を参照して以下で論じるように、コンピュータ102は、内部コンポーネント800Aと外部コンポーネント900Aをそれぞれ含むことができ、サーバコンピュータ114は、内部コンポーネント800Bと外部コンポーネント900Bをそれぞれ含むことができる。コンピュータ102は、例えば、モバイルデバイス、電話、パーソナルデジタルアシスタント、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、又は、プログラムを実行し、ネットワークにアクセスし、データベースにアクセスすることが可能な任意のタイプのコンピューティングデバイスでもよい。
【0016】
さらに、サーバコンピュータ114は、
図5及び
図6に関して以下で論じるように、ソフトウェアアズアサービス(Software as a Service、SaaS)、プラットフォームアズアサービス(Platform as a Service、PaaS)、又はインフラストラクチャアズアサービス(Infrastructure as a Service、laaS)などのクラウドコンピューティングサービスモデルで動作してもよい。サーバコンピュータ114は、プライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウドなどのクラウドコンピューティング配備モデルに配置されてもよい。
【0017】
サーバコンピュータ114は、マルチパーティ対話を解析するために使用することができ、データベース112と相互作用することができる対話解析プログラム(Dialogue Parsing Program)116(以降「プログラム」)を実行することが可能である。対話解析プログラムの方法は、以下で
図3に関してより詳細に説明される。一実施形態において、コンピュータ102は、ユーザインターフェースを含む入力デバイスとして動作することができ、一方、プログラム116は主に、サーバコンピュータ114上で実行されてもよい。別の実施形態において、プログラム116が主に、1つ以上のコンピュータ102上で実行されてもよく、一方、サーバコンピュータ114は、プログラム116により使用されるデータの処理及び記憶に使用されてもよい。プログラム116はスタンドアロンプログラムでもよく、あるいはより大きい対話解析プログラムに統合されてもよいことに留意されたい。
【0018】
ただし、プログラム116の処理は、いくつかの例ではコンピュータ102及びサーバコンピュータ114の間で任意の比率で共有されてもよいことに留意されたい。別の実施形態において、プログラム116は、複数のコンピュータ、サーバコンピュータ、又はコンピュータとサーバコンピュータとの何らかの組み合わせ、例えば、単一のサーバコンピュータ114とネットワーク110を通じて通信する複数のコンピュータ102で動作してもよい。別の実施形態において、例えば、プログラム116は、複数のクライアントコンピュータとネットワーク110を通じて通信する複数のサーバコンピュータ114で動作してもよい。代替的に、プログラムは、サーバ及び複数のクライアントコンピュータとネットワークを通じて通信するネットワークサーバで動作してもよい。
【0019】
ネットワーク110は、有線接続、無線接続、光ファイバ接続、又はこれらの何らかの組み合わせを含むことができる。一般に、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続及びプロトコルの任意の組み合わせとすることができる。ネットワーク110は、様々なタイプのネットワーク、例えば、ローカルエリアネットワーク(local area network、LAN)、インターネットなどのワイドエリアネットワーク(wide area network、WAN)、公衆交換電話網(Public Switched Telephone Network、PSTN)などの電気通信ネットワーク、無線ネットワーク、公衆交換網、衛星ネットワーク、セルラーネットワーク(例えば、第5世代(fifth generation、5G)ネットワーク、ロングタームエボリューション(long-term evolution、LTE)ネットワーク、第3世代(third generation、3G)ネットワーク、符号分割多元接続(code division multiple access、CDMA)ネットワークなど)、公衆陸上移動体通信網(public land mobile network、PLMN)、メトロポリタンエリアネットワーク(metropolitan area network、MAN)、プライベートネットワーク、アドホックネットワーク、イントラネット、光ファイバーベースのネットワークなど、及び/又は、これら又は他のタイプのネットワークの組み合わせを含んでもよい。
【0020】
図1に示すデバイス及びネットワークの数と配置は一例として提供されている。実際には、
図1に示すデバイス及び/又はネットワークに対してさらなるデバイス及び/又はネットワーク、より少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、又は別様に配置されたデバイス及び/又はネットワークが存在してもよい。さらに、
図1に示す2つ以上のデバイスが単一のデバイス内に実装されてもよく、あるいは、
図1に示す単一のデバイスが複数の分散されたデバイスとして実装されてもよい。さらに、又は代わりに、システム100のデバイスセット(例えば、1つ以上のデバイス)が、システム100の別のデバイスセットにより実行されるものとして説明されている1つ以上の機能を実行してもよい。
【0021】
次に
図2を参照し、対話解析システム200を示す。対話解析システム200は、とりわけ、階層ゲート付きリカレンスユニット(gated recurrence unit、GRU)202、構造自己認識グラフニューラルネットワーク(SSA-GNU)204、及び関係分類モジュール206を含むことができる。ゲート付きリカレンスユニット(GRU)は、メモリ及びクラスタリングに関連づけられた機械学習タスクを実行するためにノードのシーケンスを介した接続を使用するリカレントニューラルネットワーク(recurrent neural network、RNN)におけるゲート機構である。階層GRU202は、ローカル表現(local representations)及びグローバル表現(global representations)などの基本談話単位(elementary discourse unit、EDU)表現を得ることができる。そして、これらのEDU表現と、EDU表現から抽出された1つ以上の対話特徴が、SSA-GNN204のノード及びエッジをそれぞれ初期化するために使用される。書記素学習からSSA-GNN204により生成されたエッジ表現を使用して、関係分類モジュール206により、リンク予測と関係分類が実行される。階層GRU202は、2つのGRU層を含む。第1の双方向GRU層は各EDUを処理し、2つの方向における最後の隠れ状態が連結され(concatenated)、各EDUのローカル表現を得ることができる。次に、ローカル表現に対して第2の双方向GRU層を適用して、グローバル表現を取得することができる。
【0022】
SSA-GNN204は、暗黙的な構造情報を捕捉するために適用される。ベクトルを、各EDUペア(この場合のベクトルは、例えばSSA-GNN204のエッジを構成する)及び各EDU(この場合のベクトルは、例えばSSA-GNN204のノードを構成する)に対して採用することができる。したがって、SSA-GNN204は、入力として全結合(fully connected)グラフを取る。SSA-GNN204の隠れ状態の初期化では、階層GRU202のグローバル表現が初期ノード表現u
0として使用される。SSA-GNN204は、ノード隠れ状態を更新するために、スケーリングされたドット積アテンション関数(scaled dot-product attention function)、特に、構造を認識したスケーリングされたドット積アテンション関数を使用する。第kの層のノード表現u
k及びエッジ表現x
kが更新されると、u
k+1は以下のように計算され得る。
【数1】
【0023】
表現学習をさらに強化するために、複数の粒度を有する2つの補助損失項が使用されてもよい。最も直接的な方法は、各SSA-GNN層のエッジ隠れ状態に対して層ごとの分類器を採用することであり、これは、エッジ表現がSSA-GNNから対応する関係タイプ情報を捕捉することを促進する。ラベルレベルの構造的な監督(supervision)を提供する層ごとの関係分類に加えて、知識蒸留が、構造を認識した教師モデル(teacher model)を使用して、より良い表現学習のためにモデルをガイドしてもよい。生徒モデル(student model)と異なり、教師は、予測される関係を除く全てのゴールドの(gold)構造情報と対話を入力する。最も豊富な構造知識を含むエッジ隠れ状態を教師から生徒に伝達することができ、SSA-GNNから構造情報を正しく及び効果的に抽出する方法が生徒にガイドされる。
【0024】
次に
図3を参照し、マルチパーティ対話を解析する(又は、マルチパーティ発話データを分類する)プログラムにより実行される方法300のステップを示す動作フローチャートを示す。
【0025】
302において、方法300は、複数の基本談話単位を有する対話データを受信するステップを含むことができる。対話データは、複数の基本談話単位を含むオーディオ信号(発話信号)とすることができる。
【0026】
304において、方法300は、基本談話単位に対するペアごとの比較を実行することに基づいて、基本談話単位の各々のローカル表現及びグローバル表現を決定するステップを含むことができる。
【0027】
306において、方法300は、決定されたローカル及びグローバル表現に基づいて、基本談話単位の各ペアの2つの基本談話単位間の意味関係を識別するステップを含むことができる。
【0028】
308において、方法300は、識別された意味関係に基づいて、隣接していない基本談話単位間の文脈的リンクを予測するステップを含むことができる。
【0029】
図3は、1つの実装の単なる例示を提供し、異なる実施形態が実装され得る方法に関する制限を意味するものではないことが理解され得る。設計及び実装要件に基づいて、図示された環境に対する多くの修正がなされる可能性がある。
【0030】
図4は、一例示的な実施形態に従う、
図1に示すコンピュータの内部及び外部コンポーネントのブロック
図400である。
図4は、1つの実装の単なる例示を提供し、異なる実施形態が実装され得る環境に関する制限を意味するものではないことを理解されたい。設計及び実装要件に基づいて、図示された環境に対する多くの修正がなされる可能性がある。
【0031】
コンピュータ102(
図1)及びサーバコンピュータ114(
図1)は、
図5に示す内部コンポーネント800A、B、及び外部コンポーネント900A、Bのそれぞれのセットを含むことができる。内部コンポーネント800のセットの各々は、1つ以上のバス826上の1つ以上のプロセッサ820、1つ以上のコンピュータ読取可能RAM822、及び1つ以上のコンピュータ読取可能ROM824、1つ以上のオペレーティングシステム828、並びに1つ以上のコンピュータ読取可能有形記憶装置830を含む。
【0032】
プロセッサ820は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実装される。プロセッサ820は、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、アクセラレーテッド処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントである。いくつかの実装において、プロセッサ820は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。バス826は、内部コンポーネント800A、B間の通信を可能にするコンポーネントを含む。
【0033】
サーバコンピュータ114(
図1)上の1つ以上のオペレーティングシステム828、ソフトウェアプログラム108(
図1)、及び対話解析プログラム116(
図1)は、それぞれのRAM822(通常はキャッシュメモリを含む)の1つ以上を介した、それぞれのプロセッサ820の1つ以上による実行のために、それぞれのコンピュータ読取可能有形記憶装置830の1つ以上に記憶される。
図4に示す実施形態において、コンピュータ読取可能有形記憶装置830の各々は、内部ハードドライブの磁気ディスク記憶装置である。代替的に、コンピュータ読取可能有形記憶装置830の各々は、ROM824、EPROM、フラッシュメモリなどの半導体記憶装置、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は、コンピュータプログラム及びデジタル情報を記憶することができる別のタイプの非一時的コンピュータ読取可能有形記憶装置である。
【0034】
内部コンポーネント800A、Bの各セットは、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク、又は半導体記憶装置などの1つ以上のポータブルコンピュータ読取可能有形記憶装置936から読み取り、及びこれに書き込むためのR/Wドライブ又はインターフェース832をさらに含む。ソフトウェアプログラム108(
図1)及び対話解析プログラム116(
図1)などのソフトウェアプログラムを、それぞれのポータブルコンピュータ読取可能有形記憶装置936の1つ以上に記憶し、それぞれのR/Wドライブ又はインターフェース832を介して読み取り、それぞれのハードドライブ830にロードすることができる。
【0035】
内部コンポーネント800A、Bの各セットは、TCP/IPアダプタカード、無線Wi-Fiインターフェースカード、又は3G、4G、若しくは5G無線インターフェースカード又は他の有線若しくは無線通信リンクなどの、ネットワークアダプタ又はインターフェース836をさらに含む。サーバコンピュータ114(
図1)上のソフトウェアプログラム108(
図1)及び対話解析プログラム116(
図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、又は他のワイドエリアネットワーク)及びそれぞれのネットワークアダプタ又はインターフェース836を介して、外部コンピュータからコンピュータ102(
図1)及びサーバコンピュータ114にダウンロードすることができる。ネットワークアダプタ又はインターフェース836から、サーバコンピュータ114上のソフトウェアプログラム108及び対話解析プログラム116は、それぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含んでもよい。
【0036】
外部コンポーネント900A、Bのセットの各々は、コンピュータディスプレイモニタ920、キーボード930、及びコンピュータマウス934を含むことができる。外部コンポーネント900A、Bは、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、及び他のヒューマンインターフェースデバイスを含むこともできる。内部コンポーネント800A、Bのセットの各々は、コンピュータディスプレイモニタ920、キーボード930、及びコンピュータマウス934とインターフェースするためのデバイスドライバ840をさらに含む。デバイスドライバ840、R/Wドライブ又はインターフェース832、及びネットワークアダプタ又はインターフェース836は、ハードウェア及びソフトウェア(記憶装置830及び/又はROM824に格納されている)を含む。
【0037】
本開示にはクラウドコンピューティングに関する詳細な説明が含まれているが、本明細書に記載されている教示の実装はクラウドコンピューティング環境に限定されないことが事前に理解される。むしろ、いくつかの実施形態は、現在知られているか又は後に開発される任意の他のタイプのコンピューティング環境と関連して実装されることが可能である。
【0038】
クラウドコンピューティングは、最小限の管理労力又はサービスのプロバイダとのやり取りで迅速にプロビジョニング及びリリースすることができる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの簡便なオンデマンドのネットワークアクセスを可能にするサービス配信のモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの配備モデルを含むことができる。
【0039】
特性は次のとおりである。
オンデマンドセルフサービス:クラウド消費者(consumer)は、サービスのプロバイダとの人的なやり取りを必要とすることなく、必要に応じて自動的にサーバ時間及びネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
広範なネットワークアクセス:能力は、ネットワークを通じて利用可能であり、異種のシン(thin)又はシック(thick)クライアントプラットフォーム(例えば、モバイルフォン、ラップトップ、及びPDA)による使用を促進する標準メカニズムを介してアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数の消費者にサービスを提供するためにプールされ、異なる物理及び仮想リソースが、需要に従って動的に割り当てられ、再割り当てされる。消費者は一般に、提供されるリソースの正確な場所に対する制御又は知識を有さないが、より高い抽象化レベル(例えば、国、州、又はデータセンター)で場所を指定することができる場合があるという点で、場所の独立性の感覚がある。
迅速な弾力性:能力は、素早くスケールアウトするために、いくつかの場合は自動的に、迅速かつ弾力的にプロビジョニングされ、素早くスケールインするために迅速にリリースされることが可能である。消費者にとって、プロビジョニングに利用可能な能力は、しばしば無制限であるように見え、いつでも任意の数量で購入することができる。
測定されたサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、アクティブなユーザアカウント)に適した何らかの抽象化レベルにおける計量能力を活用することにより、リソース使用を自動的に制御し、最適化する。リソース使用量を監視、制御、及び報告することができ、利用されるサービスのプロバイダと消費者の双方に透過性が提供される。
【0040】
サービスモデルは次のとおりである。
ソフトウェアアズアサービス(SaaS):消費者に提供される能力は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインターフェースを介して、様々なクライアントデバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又はさらには個々のアプリケーション能力を含む基礎をなすクラウドインフラストラクチャを管理又は制御せず、あり得る例外は、限られたユーザ固有のアプリケーション構成設定である。
プラットフォームアズアサービス(PaaS):消費者に提供される能力は、プロバイダによりサポートされるプログラミング言語及びツールを使用して作成される、消費者により作成又は取得されたアプリケーションを、クラウドインフラストラクチャに配備することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む基礎をなすクラウドインフラストラクチャを管理又は制御しないが、配備されたアプリケーションと、可能性としてアプリケーションホスティング環境構成を制御する。
インフラストラクチャアズアサービス(laaS):消費者に提供される能力は、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、これにおいて消費者は、任意のソフトウェアを配備及び実行することができ、該ソフトウェアには、オペレーティングシステム及びアプリケーションを含むことができる。消費者は、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、配備されたアプリケーションに対する制御と、可能性として、選択ネットワーキングコンポーネント(例えば、ホストファイアウォール)の限られた制御を行う。
【0041】
配備モデルは次のとおりである。
プライベートクラウド:クラウドインフラストラクチャは、単に組織のために運用される。それは、組織又は第三者により管理される場合があり、オンプレミス又はオフプレミスで存在する場合がある。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織により共有されており、関心事(例えば、ミッション、セキュリティ要件、ポリシー、コンプライアンス考慮事項)を共有している特定のコミュニティをサポートする。それは、組織又は第三者により管理される場合があり、オンプレミス又はオフプレミスで存在する場合がある。
パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大規模な業界グループに利用可能にされており、クラウドサービスを販売する組織により所有されている。
ハイブリッドクラウド:クラウドインフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の合成物であり、この2つ以上のクラウドは、一意的なエンティティのままであるが、データ及びアプリケーションのポータビリティ(例えば、クラウド間の負荷分散のためのクラウドバースティング)を可能にする標準化された又は専有の技術により一緒に結びつけられている。
【0042】
クラウドコンピューティング環境は、ステートレス性、低結合、モジュール性、及び意味的な相互運用性に焦点を合わせたサービス指向である。クラウドコンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0043】
図5を参照し、例示的なクラウドコンピューティング環境500を示す。図示のように、クラウドコンピューティング環境500は、1つ以上のクラウドコンピューティングノード10を含み、例えば、パーソナルデジタルアシスタント(PDA)又はセルラーフォン54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54Nなどの、クラウド消費者により使用されるローカルコンピューティングデバイスは、該クラウドコンピューティングノード10と通信することができる。クラウドコンピューティングノード10は、互いに通信することができる。これらは、上記で説明したプライベート、コミュニティ、パブリック、又はハイブリッドクラウドなどの1つ以上のネットワーク、又はこれらの組み合わせで、物理的又は仮想的にグループ化されてもよい(図示せず)。これにより、クラウドコンピューティング環境500は、クラウド消費者がローカルコンピューティングデバイス上でリソースを維持する必要がないインフラストラクチャ、プラットフォーム、及び/又はソフトウェアをサービスとして提供することができる。
図5に示すコンピューティングデバイス54A~Nのタイプは例示のみを目的としており、クラウドコンピューティングノード10及びクラウドコンピューティング環境500は、任意のタイプのネットワーク及び/又はネットワークアドレス指定可能な接続を介して(例えば、ウェブブラウザを使用して)、任意のタイプのコンピュータ化されたデバイスと通信できることが理解される。
【0044】
図6を参照し、クラウドコンピューティング環境500(
図5)により提供される機能抽象化層600のセットを示す。
図6に示すコンポーネント、層、及び機能は例示のみを目的としており、実施形態はこれらに限定されないことを事前に理解されたい。図示のように、以下の層及び対応する機能が提供される。
【0045】
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、並びにネットワーク及びネットワーキングコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントには、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68が含まれる。
【0046】
仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、並びに仮想クライアント75を提供することができる、抽象化層を提供する。
【0047】
一例において、管理レイヤ80は、以下に説明する機能を提供することができる。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格設定82は、クラウドコンピューティング環境内でリソースが利用されるときのコスト追跡と、これらのリソースの消費に対する請求書送付又はインボイス作成を提供する。一例において、これらのリソースは、アプリケーションソフトウェアライセンスを含む場合がある。セキュリティは、クラウド顧客及びタスクに対するアイデンティティ検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザポータル83は、消費者及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルが満たされるようにクラウドコンピューティングリソース割り振り及び管理を提供する。サービスレベル合意(Service Level Agreement、SLA)計画及び履行85は、SLAに従って将来の要件が予期されているクラウドコンピューティングリソースの事前取り決め及び調達を提供する。
【0048】
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例には、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、並びに対話解析96が含まれる。対話解析96は、誤差伝搬に悩まされることなく効果的な表現を学習することに基づいて、マルチパーティ対話を解析することができる。
【0049】
いくつかの実施形態は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、及び/又はコンピュータ読取可能媒体に関連する場合がある。コンピュータ読取可能媒体は、プロセッサに動作を実行させるコンピュータ読取可能プログラム命令を有する一の(又は複数の)コンピュータ読取可能非一時的記憶媒体を含むことができる。
【0050】
コンピュータ読取可能記憶媒体は、命令実行装置による使用のための命令を保持及び記憶することができる有形の装置とすることができる。コンピュータ読取可能記憶媒体は、例えば、これらに限られないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、又は前述のものの任意の適切な組み合わせでもよい。コンピュータ読取可能記憶媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラマブル読取専用メモリ(EPROM又はフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読取専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令を記録させたパンチカード又は溝における隆起構造などの機械的にエンコードされた装置、及び前述のものの任意の適切な組み合わせが含まれる。本明細書で用いられるコンピュータ読取可能記憶媒体は、電波又は他の自由に伝搬する電磁波、導波管又は他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを介して伝送される電気信号などの、一時的な信号それ自体であると解釈すべきではない。
【0051】
本明細書に記載されているコンピュータ読取可能プログラム命令は、コンピュータ読取可能記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、ネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワークを介して外部コンピュータ又は外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含む場合がある。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインターフェースが、ネットワークからコンピュータ読取可能プログラム命令を受信し、コンピュータ読取可能プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ読取可能記憶媒体における記憶のために転送する。
【0052】
動作を実行するためのコンピュータ読取可能プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又は、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語及び「C」プログラミング言語又は類似のプログラミング言語などの手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかでもよい。コンピュータ読取可能プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上、かつ部分的にリモートコンピュータ上で、あるいは全体的にリモートコンピュータ又はサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、あるいは、接続は、外部コンピュータに対して(例えば、インターネットサービスプロバイダを使用してインターネットを介して)行われてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路が、態様又は動作を実行するために、電子回路をパーソナライズするためにコンピュータ読取可能プログラム命令の状態情報を利用することによりコンピュータ読取可能プログラム命令を実行する場合がある。
【0053】
これらのコンピュータ読取可能プログラム命令は、マシンを生成するために汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてもよく、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/行為を実施する手段を作成する。これらのコンピュータ読取可能プログラム命令は、コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに特定の方法で機能するように指示することができるコンピュータ読取可能記憶媒体にさらに記憶されてもよく、それにより、命令を記憶させたコンピュータ読取可能記憶媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/行為の態様を実施する命令を含む製造品を含む。
【0054】
コンピュータ読取可能プログラム命令はさらに、コンピュータにより実施されるプロセスを生成するために一連の動作ステップをコンピュータ、他のプログラマブル装置、又は他のデバイスで実行させるために、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードされてもよく、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイスで実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/行為を実施する。
【0055】
図のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータ読取可能媒体の可能な実装のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実施するための1つ以上の実行可能命令を含むモジュール、セグメント、又は命令の一部を表す場合がある。方法、コンピュータシステム、及びコンピュータ読取可能媒体は、図に示すものに対してさらなるブロック、より少ないブロック、異なるブロック、又は別様に配置されたブロックを含んでもよい。いくつかの代替的な実装において、ブロックに記された機能は、図に記された順序から外れて発生する場合がある。例えば、連続して示されている2つのブロックは、実際には同時に又は実質的に同時に実行されることがあり、あるいは、ブロックは、関与する機能に応じて逆の順序で実行されることがある。さらに、ブロック図及び/又はフローチャート例示の各ブロック、及びブロック図及び/又はフローチャート例示のブロックの組み合わせは、指定された機能又は行為を実行し、又は専用ハードウェアとコンピュータ命令の組み合わせを実行する、専用ハードウェアベースのシステムにより実装できることに留意する。
【0056】
本明細書で説明されているシステム及び/又は方法は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせの異なる形式で実装される場合があることが明らかである。これらのシステム及び/又は方法を実装するために使用される実際の特化した制御ハードウェア又はソフトウェアコードは、実装を制限するものではない。したがって、システム及び/又は方法の動作及び挙動は、本明細書において特定のソフトウェアコードを参照することなく説明されており、ソフトウェア及びハードウェアは、本明細書における説明に基づいてシステム及び/又は方法を実施するように設計されてもよいことが理解される。
【0057】
本明細書で用いられる要素、行為、又は命令は、そのように明示的に記述されていない限り、クリティカル又は不可欠であると解釈されるべきではない。さらに、本明細書で用いられるとき、冠詞「一の」(「a」及び「an」)は、1つ以上の項目を含むことを意図しており、「1つ以上」と言い換え可能に用いられる場合がある。さらに、本明細書で用いられるとき、用語「セット」は、1つ以上の項目(例えば、関連する項目、関連のない項目、関連する項目と関連のない項目の組み合わせなど)を含むことを意図しており、「1つ以上」と言い換え可能に用いられる場合がある。1つの項目のみが意図されている場合、用語「1つ」又は類似の言語が用いられる。さらに、本明細書で用いられるとき、用語「有する」(「has」、「have」)、「有している」(「having」)などは、オープンエンドの語であることを意図している。さらに、フレーズ「に基づく」は、別段明示的に示されていない限り、「に少なくとも部分的に基づく」を意味することを意図している。
【0058】
様々な態様及び実施形態の説明は例示の目的で提示されており、網羅的であること又は開示された実施形態に限定されることを意図するものではない。特徴の組み合わせが、特許請求の範囲に記載され及び/又は明細書に開示されているとしても、これらの組み合わせは、可能な実装の開示を限定することを意図するものではない。実際、これらの特徴の多くは、具体的に特許請求の範囲に記載され及び/又は明細書に開示されていない方法で組み合わせられてもよい。以下に列挙されている各従属請求項は、1つの請求項のみに直接従属する場合があるが、可能な実装の開示には、クレームセット内のあらゆる他の請求項と組み合わせた各従属請求項が含まれる。説明されている実施形態の範囲から逸脱することなく、多くの修正及び変形が当業者に明らかであろう。本明細書で用いられる用語は、実施形態の原理、市場で見られる技術に対する実際的な応用又は技術的な向上を最も良く説明するために、あるいは当業者が本明細書に開示されている実施形態を理解することを可能にするために選択された。
【国際調査報告】