(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-08
(45)【発行日】2023-02-16
(54)【発明の名称】自動音声認識システムにおける信頼モデリングのためのマルチクラスアプローチのためのシステム及び方法
(51)【国際特許分類】
G10L 15/06 20130101AFI20230209BHJP
G10L 15/00 20130101ALI20230209BHJP
【FI】
G10L15/06 300Z
G10L15/00 200Z
(21)【出願番号】P 2020565901
(86)(22)【出願日】2019-05-17
(86)【国際出願番号】 US2019032782
(87)【国際公開番号】W WO2019222576
(87)【国際公開日】2019-11-21
【審査請求日】2021-05-20
(32)【優先日】2018-05-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520453249
【氏名又は名称】ジェネシス クラウド サービシーズ ホールディングス セカンド エルエルシー
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人SBPJ国際特許事務所
(72)【発明者】
【氏名】サンダラム、ラマスブラマニアン
(72)【発明者】
【氏名】ガナパティラク、アラヴィンド
(72)【発明者】
【氏名】タン、インイー
【審査官】冨澤 直樹
(56)【参考文献】
【文献】特表2017-527846(JP,A)
【文献】国際公開第2015/008567(WO,A1)
【文献】特開2013-160998(JP,A)
【文献】特開2017-097062(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
自動音声認識システムにおいて、ディープニューラルネットワークを使用して信頼モデルを作製及び訓練して、仮説が正しいものである確率を得るための方法であって、
オーディオデータの訓練例を提供する工程であって、前記訓練例は、特徴及び前記特徴に関連付けられたラベルを含む、工程と、
前記オーディオデータ内のオーディオファイルごとにデコードモジュールによる訓練のために特徴を生成する工程であって、前記デコードモジュールは、前記自動音声認識システム内の前記信頼モデルを含む、工程と、
仮説の音声分節を既知の音声分節と比較することによって生成される前記機能を評価する工程であって、前記比較することは、ラベルを決定するためのメトリックとして、編集距離及び正規化編集距離を検査することを含む、工程と、
複数の出力ラベルを有するマルチクラス分類子を用いて、仮説の分節と
グランドトゥルースの分節との比較にラベル付けする工程と、
前記仮説及び関連する確率を返す工程と、を含
み、
前記ラベル付けする工程において、前記仮説の文節と前記グランドトゥルースの文節とが一致していることを示す1つのサンプルデータに前記複数の出力ラベルのうち1つの第1の出力ラベルを対応付けてラベル付けをするとともに、前記仮説の文節と前記グランドトゥルースの文節とが一致していないことを示す複数のサンプルデータに、前記複数の出力ラベルのうち複数の第2の出力ラベルを前記一致していない度合いに応じて対応付けてラベル付けを行い、
前記複数の第2の出力ラベルのうち前記仮説の文節と前記グランドトゥルースの文節との一致の度合いが所定以上のサンプルデータに対応する第2の出力ラベルに、前記第1の出力ラベルと同じラベル付けを行う、方法。
【請求項2】
前記正規化編集距離が、前記編集距離値を文字列の長さで割ることによって得られる、請求項1に記載の方法。
【請求項3】
前記複数の出力ラベルが4つである、請求項1に記載の方法。
【請求項4】
前記ラベルは、音声がテキストに正しく変換されているか否かに対応する、請求項1に記載の方法。
【請求項5】
前記ラベルは、音声がテキストに正しく変換されている程度に対応する複数のラベルのうちの1つを含む、請求項1に記載の方法。
【請求項6】
前記信頼モデルの前記訓練は、教師あり学習を使用してオフラインで実行される、請求項1に記載の方法。
【請求項7】
前記デコードモジュールに入力されてデコードされたユーザの音声に対して、前記信頼モデルの信頼度に基づいて、前記ユーザに異なる応答を行う工程、をさらに含む、請求項1に記載の方法。
【請求項8】
マルチクラスアプローチによる信頼モデリングを使用して、音声の仮説を立てるための方法であって、前記方法は、
前記自動音声認識システムに入力音声を受け入れる工程と、
前記入力音声を、音声特徴抽出方法を使用してフロントエンドモジュールによって1組の特徴に変換する工程と、
デコードモジュールによって前記特徴を受け入れ、音響モデルを使用して前記出力テキストの最良の仮説を決定する工程と、
訓練された信頼モデルを前記デコードモジュールに適用して、クラス出力テキストが正しいものであることを予測するため、マルチクラス分類子を使用して確率を得る工程であって、前記訓練された信頼モデルは、訓練されたディープニューラルネットワークを含み、前記ディープニュー
ラルネットワークの訓練は、
オーディオデータの訓練例を提供する工程であって、前記訓練例は、特徴及び前記特徴に関連付けられたラベルを含む、工程と、
前記オーディオデータ内のオーディオファイルごとにデコードモジュールによる訓練のために特徴を生成する工程であって、前記デコードモジュールは、前記自動音声認識システム内の前記信頼モデルを含む、工程と、
仮説の音声分節を既知の音声分節と比較することによって生成される前記機能を評価する工程であって、前記比較することは、ラベルを決定するためのメトリックとして、編集距離及び正規化編集距離を検査することを含む、工程と、
複数の出力ラベルを有するマルチクラス分類子を用いて、仮説の分節と
グランドトゥルースの分節との比較にラベル付けする工程と、
前記仮説及び関連する確率を返す工程と、を含
み、
前記ラベル付けする工程において、前記仮説の文節と前記グランドトゥルースの文節とが一致していることを示す1つのサンプルデータに前記複数の出力ラベルのうち1つの第1の出力ラベルを対応付けてラベル付けをするとともに、前記仮説の文節と前記グランドトゥルースの文節とが一致していないことを示す複数のサンプルデータに、前記複数の出力ラベルのうち複数の第2の出力ラベルを前記一致していない度合いに応じて対応付けてラベル付けを行い、
前記複数の第2の出力ラベルのうち前記仮説の文節と前記グランドトゥルースの文節との一致の度合いが所定以上のサンプルデータに対応する第2の出力ラベルに、前記第1の出力ラベルと同じラベル付けを行う、方法。
【請求項9】
前記音声特徴抽出方法が、メル周波数ケプストラム係数を含む、請求項
8に記載の方法。
【請求項10】
前記比較することが、クラスラベルを決定するためのメトリックとして、編集距離及び正規化編集距離を検査することを含む、請求項
9に記載の方法。
【請求項11】
前記正規化編集距離が、前記編集距離値を文字列の長さで割ることによって得られる、請求項
10に記載の方法。
【請求項12】
前記複数の出力ラベルが4つである、請求項
9に記載の方法。
【請求項13】
前記ラベルは、音声がテキストに正しく変換されているか否かに対応する、請求項
9に記載の方法。
【請求項14】
前記ラベルは、音声がテキストに正しく変換されている程度に対応する複数のラベルのうちの1つを含む、請求項
9に記載の方法。
【請求項15】
前記信頼モデルの前記訓練は、教師あり学習を使用してオフラインで実行される、請求項
9に記載の方法。
【請求項16】
前記デコードモジュールに入力されてデコードされたユーザの音声に対して、前記信頼モデルの信頼度に基づいて、前記ユーザに異なる応答を行う工程、をさらに含む、請求項8に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、電気通信システム及び方法、並びに自動音声認識に関する。より具体的には、本発明は、自動音声認識のデコードモジュールにおける信頼モデリングに関連する。
【0002】
(関連出願の相互参照)
本出願は、その内容が本明細書に組み込まれる、2018年5月18日に出願された「SYSTEM AND METHOD FOR A MULTI-CLASS APPROACH FOR CONFIDENCE MODELING」と題する米国特許仮出願第62/673,505号の利益を主張する。
【発明の概要】
【0003】
自動音声認識システムにおける信頼モデリングのためのマルチクラスアプローチのためのシステム及び方法が提示される。信頼モデルは、教師あり学習を使用してオフラインで訓練されてもよい。デコードモジュールはシステム内で利用され、オーディオデータ内のオーディオファイルの特徴を生成する。この特徴は、編集距離を使用して既知の音声分節と比較される仮説の音声分節を生成するために使用される。比較は、複数の出力クラスのうちの1つからラベル付けされる。ラベルは、音声がテキストに正しく変換されるか否かの程度に対応する。訓練された信頼モデルは、対話型ボイスレスポンスシステム、キーワードスポッター、及び開放型ダイアログシステムを含む様々なシステムで適用され得る。
【0004】
一実施形態では、出力仮説が正しいものである確率を得るため、自動音声認識システム内の信頼モデルを訓練するための方法であって、オーディオデータの訓練例を提供する工程であって、訓練例は、特徴及び特徴に関連付けられたラベルを含む、工程と、オーディオデータ内のオーディオファイルごとにデコードモジュールによる訓練のための特徴を生成する工程であって、デコードモジュールは、自動音声認識システム内の信頼モデルを含む、工程と、仮説の音声分節を既知の音声分節と比較することによって生成された特徴を評価する工程と、仮説の分析と複数の出力クラスのうちの1つからの基準分節との比較にラベル付けする工程と、を含む方法が提供される。
【0005】
比較することは、クラスラベルを決定するためのメトリックとして、編集距離及び正規化編集距離を検査することを含む。正規化編集距離は、編集距離値を文字列の長さで割ることによって得られる。
【0006】
ラベルは、音声がテキストに正しく変換されているか否かの程度に対応する複数のラベルのうちの1つを含む。ラベルは、音声が正しくテキストに変換されているか否かに対応するマルチクラス分類子を含む。
【0007】
信頼モデルの訓練は、教師あり学習を使用してオフラインで実行される。複数の出力クラスは、4つである。
【0008】
別の実施形態では、マルチクラスアプローチによる信頼モデリングを使用して入力音声をテキストに変換する方法が提供され、この方法は、自動音声認識システム内に入力音声を受け入れる工程と、入力音声を、音声特徴抽出方法を使用してフロントエンドモジュールによって1組の特徴に変換する工程と、デコードモジュールによって特徴を受け入れ、音響モデルを使用して出力テキストの最良の仮説を決定する工程と、訓練された信頼モデルをデコードモジュールに適用して、クラス出力テキストが正しいことを予測するためにマルチクラス分類子を使用して確率を得る工程と、を含む。
【0009】
音声特徴抽出は、メル周波数ケプストラム係数を含む。
【0010】
信頼モデルは、オーディオデータの訓練例を提供することであって、訓練例は、特徴及び特徴に関連付けられたラベルを含む、ことと、オーディオデータ内のオーディオファイルごとにデコードモジュールによる訓練のための特徴を生成することであって、デコードモジュールは、自動音声認識システム内の信頼モデルを含む、ことと、仮説の音声分節を既知の音声分節と比較することによって生成された特徴を評価することと、仮説の分節と、複数の出力クラスのうちの1つからの基準分節との比較にラベル付けすることと、によって訓練される。
【0011】
マルチクラスアプローチによる信頼モデリングを使用して、自動音声認識システムにおいて入力音声をテキストに変換するためのシステムが提供され、システムは、デコードモジュールに動作可能に結合されたフロントエンド特徴モジュールであって、フロントエンド機能モジュールは、入力音声を自動音声認識システムに受け入れ、入力音声から特徴を生成することが可能である、フロントエンド特徴モジュールと、デコードモジュールであって、フロントエンド特徴モジュールから生成された特徴を受け入れる、デコードモジュールと、デコードモジュールに動作可能に結合された訓練された信頼モデルであって、デコードモジュールから、マルチクラス分類子を使用して確率を得るためにそれぞれの仮説分節の特徴が送信される、訓練された信頼モデルと、デコードモジュールに動作可能に結合された音響モデルであって、音響モデルは、出力テキストの仮説を決定するためにデコードモジュールによって使用される、音響モデルと、呼び出し元のアプリケーションに返すための関連する確率を有する出力テキストの仮説と、を含む。
【図面の簡単な説明】
【0012】
【
図1】通信インフラストラクチャの実施形態を示す図である。
【0013】
【
図2】自動音声認識システムの実施形態を示す図である。
【0014】
【
図3】マルチクラスアプローチに基づく結果を示す表である。
【0015】
【
図4A】コンピューティングデバイスの実施形態を示す図である。
【0016】
【
図4B】コンピューティングデバイスの実施形態を示す図である。
【発明を実施するための形態】
【0017】
本発明の原理の理解を促進する目的で、ここでは図面に示される実施形態を参照し、特定の言語を使用してその説明を行う。それにもかかわらず、本発明の範囲の限定がそれによって意図されないことが理解されよう。記載される実施形態における任意の変更及び更なる修正、並びに本明細書に記載される本発明の原理の任意の更なる用途は、本発明が関連する当業者に通常生じるものとして企図される。
【0018】
自動音声認識(ASR)システムでは、信頼モデルは、出力仮説が正しいものである確率を決定するために、教師あり学習を使用してオフラインで訓練される。教師あり分類子を訓練するために、特徴及び特徴に関連付けられたラベルが提供される必要がある訓練例が提供される。訓練例は、実際の顧客データ及び他の社内データ源から得られてもよい。オーディオデータからは、信頼モデルを訓練するために必要な入力データ(特徴)が、それぞれのオーディオファイル用のデコーダから生成される。ラベルは、音声がテキストに正しく変換されているか否かに対応するバイナリ(0又は1)ラベルにすぎない。仮説が既知のグランドトゥルースと一致する場合、ラベルはゼロである。仮説が既知のグランドトゥルースと一致しない場合、ラベルは1である。サンプル訓練データは、例えば、「hello world」の分節仮説を有するFeat11、feat12、...、feat1N(特徴)であってもよい。分節グランドトゥルースは「hello world」であり、対応するラベル「0」であってもよい。別の例では、サンプル訓練データは、「call my」の分節仮説を有する、Feat21、feat22、...、feat2N(特徴)であってもよい。分節グランドトゥルースは「call me」であり、対応するラベル「1」であってもよい。
【0019】
典型的には、バイナリ分類子は、正しい仮説と正しくない仮説に1つずつ、2つの混合物が訓練されるガウシアン混合モデルアプローチを使用して訓練される。実行時に、入力特徴は、両方のガウシアンに対して評価されてもよく、最もスコアの高いものが選択される。ディープニューラルネットワークの出現で、DNNを用いたバイナリ分類子(2つの出力ノードを有する)は、分類子スコアを得るために特定の入力特徴について訓練される。いずれの場合にも、分類子は、分節仮説が分節グランドトゥルースと同じでない場合、ラベルは1であることを意味するバイナリ分類子である。ディープニューラルネットワークを使用することは、入力データ中に存在する非線形関係を捕捉するのに役立ち得るという利点を有し、最近ではより良好な性能をもたらすことが示されている。
【0020】
バイナリアプローチによる問題は、仮説がグランドトゥルースと一致しない場合、ラベルが1になることである。分節仮説がグランドトゥルースと1文字異なる場合であっても、ラベルは1である。したがって、Feat11、feat12、...、feat1N(特徴)の分節仮説が「Representatives」、分節グランドトゥルースが「Representative」である実施例の場合、対応するラベルは「1」である。同様に、サンプル訓練データは、分節仮説「call me later」を有するFeat21、feat22、...、feat2N(特徴)であり、分節グランドトゥルースが「Representative」であり得、対応するラベルは同じく「1」である。第1の実施例における仮説は、グランドトゥルースに非常に近いが(representatives対representative)、第2の実施例は完全に間違っている(call me later対representative)。しかしながら、両方ともラベル「1」を有し、これは分類子が、両方を等しい誤差として処理し、それらの学習を試みることを意味する。それらの誤差は等しくない。システムが「representative」を「representatives」と仮説を立てることは受け入れられ、「representative」を「call me later」と仮説を立てるよりも誤差が少ないと見なされ得る。それらを等しい誤差として処理することは、分類子性能に悪影響を及ぼし得る。したがって、バイナリ分類子を使用する代わりに、複数の出力ラベルを有するマルチクラス分類子が提案される。
【0021】
DNNは、入力層、複数の隠れ層、及び出力層を含む。12個のノードを含む、1組の12個の特徴が使用された。出力層は、4つのノードを含んでいた。選択された特徴の数は、様々な試験入力に対する実験に基づくものであった。隠れ層は、それぞれ64個のノードを含んでいた。性能は、適合率及び再現率を決定することによって評価された。より高い精度を有するバイナリラベルよりも、現実世界シナリオをより適切に処理するため、マルチクラスアプローチが決定された。
【0022】
コンタクトセンターシステム
【0023】
図1は、概して100で示される通信インフラストラクチャの実施形態を示した図である。例えば、
図1は、コンタクトセンターサービスを提供するにあたり、コンタクトセンターをサポートするためのシステムを示す。コンタクトセンターは、企業を通じて利用可能な製品及びサービスに関連する販売及びサービスの機能を実行するにあたり、企業にサービスを提供するためのビジネス又は企業への社内施設であってもよい。別の態様では、コンタクトセンターは、サードパーティサービスプロバイダによって運用されてもよい。一実施形態では、コンタクトセンターは、コンタクトセンターシステムのいくつかの構成要素が、コンタクトセンター構内でホストされ、他の構成要素がリモートに(例えば、クラウドベースの環境で)ホストされるハイブリッドシステムとして運用されてもよい。コンタクトセンターは、企業又はサードパーティサービスプロバイダ専用の機器上に配設されてもよく、かつ/又は、例えば、複数の企業向けの複数のコンタクトセンターをサポートするためのインフラストラクチャを備えたプライベート又はパブリッククラウド環境などのリモートコンピューティング環境に配設されてもよい。コンタクトセンターシステムの様々な構成要素はまた、様々な地理的位置及びコンピューティング環境にわたって分散されてもよく、必ずしも単一の場所、コンピューティング環境、又は更にはコンピューティングデバイスに含まれていなくてもよい。
【0024】
概して100で示される通信インフラストラクチャの構成要素は、複数のエンドユーザーデバイス105A、105B、105Cと、通信ネットワーク110と、スイッチ/メディアゲートウェイ115と、コールコントローラ120と、IMRサーバー125と、ルーティングサーバー130と、記憶デバイス135と、統計サーバー140と、ワークビン146A、146B、146Cを含む複数のエージェントデバイス145A、145B、145Cと、マルチメディア/ソーシャルメディアサーバー150と、ウェブサーバー155と、iXNサーバー160と、UCS165と、レポーティングサーバー170と、メディアサービス175と、を含む。
【0025】
一実施形態では、コンタクトセンターシステムは、電話又は他の通信機構を介したサービスの提供を可能にするために、リソース(例えば、作業者、コンピュータ、電気通信機器など)を管理する。このようなサービスは、コンタクトセンターの種類に応じて異なり得るものであり、顧客サービスから、ヘルプデスク、緊急応答、テレマーケティング、受注などの範囲であり得る。
【0026】
コンタクトセンターからサービスを受けることを望む顧客、潜在的顧客、又は他のエンドユーザー(顧客又はエンドユーザーと総称される)は、エンドユーザーデバイス105A、105B、及び105C(105と総称される)を介して、コンタクトセンターへのインバウンド通信(例えば、電話コール、電子メール、チャットなど)を開始することができる。エンドユーザーデバイス105のそれぞれは、当該技術分野において従来の通信デバイス、いくつかの非限定的な例を挙げると、電話、無線電話、スマートフォン、パーソナルコンピュータ、電子タブレット、ラップトップなどであってもよい。エンドユーザーデバイス105を動作させるユーザーは、電話コール、電子メール、チャット、テキストメッセージ、ウェブブラウジングセッション、及び他のマルチメディアトランザクションを開始し、管理し、応答することができる。簡略化のために、100には3つのエンドユーザーデバイス105が示されているが、任意の数が存在してもよい。
【0027】
エンドユーザーデバイス105からの及びエンドユーザーデバイス105へのインバウンド通信及びアウトバウンド通信は、使用されているデバイスのタイプに応じてネットワーク110をトラバースし得る。ネットワーク110は、電話、セルラー、及び/又はデータサービスの通信ネットワークを含んでもよく、非限定的な例を挙げると、私設又は公衆交換電話網(PSTN)、ローカルエリアネットワーク(LAN)、プライベートワイドエリアネットワーク(WAN)、及び/又はインターネットなどの公衆WANを含んでもよい。ネットワーク110としてはまた、符号分割多元接続(CDMA)ネットワーク、移動通信用のグローバルシステム(GSM)ネットワーク、又は3G、4G、LTEなどを含むがこれらに限定されない、当該技術分野において従来の任意の無線ネットワーク/技術を含む、無線キャリアネットワークが挙げられ得る。
【0028】
一実施形態では、コンタクトセンターシステムは、エンドユーザーとコンタクトセンターとの間で電話コールを送受信するための、ネットワーク110に結合されたスイッチ/メディアゲートウェイ115を含む。スイッチ/メディアゲートウェイ115としては、センター内のエージェントレベルルーティングのための中央スイッチとして機能するように構成された電話スイッチ又は通信スイッチが挙げられ得る。スイッチは、ハードウェアスイッチングシステム又はソフトウェアを介して実装されるソフトスイッチであってもよい。例えば、スイッチ115としては、自動コールディストリビュータ、構内交換機(PBX)、IPベースのソフトウェアスイッチ、及び/又は顧客からインターネットソース型対話及び/又は電話網ソース型対話を受信し、これらの対話を、例えば、エージェント電話又は通信デバイスにルーティングするように構成された専用ハードウェア及びソフトウェアを有する任意の他のスイッチが挙げられ得る。この例では、スイッチ/メディアゲートウェイは、例えば、顧客の電話デバイスとエージェント電話デバイスとの間の接続を確立することによって、呼び出し元の顧客とエージェント電話デバイスとの間のボイス経路/接続(図示せず)を確立する。
【0029】
一実施形態では、スイッチは、例えば、スイッチと、ルーティング、監視、及びコンタクトセンターの他の通信処理構成要素のうちの残部との間のアダプタ又はインターフェースとして機能し得るコールコントローラ120に結合される。コールコントローラ120は、PSTNコール、VoIPコールなどを処理するように構成されてもよい。例えば、コールコントローラ120は、スイッチ/メディアゲートウェイ及びコンタクトセンター機器とインターフェースするためのコンピュータ電話統合(CTI)ソフトウェアで構成されてもよい。一実施形態では、コールコントローラ120は、SIPコールを処理するためのセッション開始プロトコル(SIP)サーバーを含んでもよい。コールコントローラ120はまた、発信者の電話番号(例えば、自動番号識別(ANI)番号)、顧客のインターネットプロトコル(IP)アドレス、又は電子メールアドレスなど、顧客との対話に関するデータを抽出し、対話を処理するにあたりシステム100の他の構成要素と通信してもよい。
【0030】
一実施形態では、システム100は、対話型メディア応答(IMR)サーバー125を更に含む。IMRサーバー125はまた、自己ヘルプシステム、仮想アシスタントなどと称されてもよい。IMRサーバー125は、IMRサーバー125がボイスに制限されず、更に多様なメディアチャネルをカバーし得ることを除いて、インタラクティブボイスレスポンス(IVR)サーバーと同様であってもよい。ボイスを示す実施例では、IMRサーバー125は、顧客のニーズを照会するためのIMRスクリプトで構成されてもよい。例えば、銀行のコンタクトセンターは、顧客が自分の預金残高を取得したい場合は「1を押す」ように、IMRスクリプトを介して顧客に伝えることができる。IMRサーバー125との継続的な対話を介して、顧客は、エージェントとの会話を必要とせずにサービスを完了させることが可能であり得る。IMRサーバー125はまた、「どのようなご用件でしょうか」などの自由回答式の質問をしてもよく、顧客は、コンタクトセンターに問い合わせる理由を話すか、ないしは別の方法で入力することができる。顧客の応答は、適切なコンタクトセンターリソースにコール又は通信をルーティングするため、ルーティングサーバー130によって使用されてもよい。
【0031】
通信がエージェントにルーティングされる場合、コールコントローラ120は、ルーティングサーバー(オーケストレーションサーバーとも称される)130と相互作用して、対話を処理するための適切なエージェントを見つける。インバウンド対話をルーティングするための適切なエージェントの選択は、例えば、ルーティングサーバー130によって用いられるルーティング戦略に基づいてもよく、更に、例えば統計サーバー140によって提供されるエージェント可用性、スキル、及び他のルーティングパラメータに関する情報に基づいてもよい。
【0032】
一実施形態では、ルーティングサーバー130は、顧客データベースに問い合わせてもよく、顧客データベースは、連絡先情報、サービスレベル契約(SLA)要件、以前の顧客連絡先の性質、及び任意の顧客の問題を解決するためにコンタクトセンターによって取られた行動などの、既存のクライアントに関する情報を記憶する。データベースは、例えば、Cassandra又は任意のNoSQLデータベースであってもよく、大容量記憶デバイス135に記憶されてもよい。データベースはまたSQLデータベースであってもよく、いくつかの非限定的な例を挙げると、例えば、Oracle、IBM DB2、Microsoft SQLサーバー、Microsoft Access、PostgreSQLなどの任意のデータベース管理システムによって管理されてもよい。ルーティングサーバー130は、ANI又はIMRサーバー125によって収集された任意の他の情報を介して顧客データベースに顧客情報を照会してもよい。
【0033】
適切なエージェントが、通信を処理するために利用可能であるものとして識別されると、顧客と識別されたエージェントのエージェントデバイス145A、145B、及び/又は145C(145と総称される)との間の接続がなされ得る。簡潔にするために
図1には3つのエージェントデバイスが示されているが、任意の数のデバイスが存在してもよい。顧客及び/又は顧客の履歴情報について収集された情報はまた、より良い通信サービスを行うようにエージェントを補助するために、エージェントデバイスに提供されてもよい。この情報は、多くの場合、ユーザーインタフェースを介してエージェントに表示される。この点に関して、それぞれのエージェントデバイス145は、定期的な電話コール、VoIPコールなどに適合された電話を含んでもよい。エージェントデバイス145はまた、コンタクトセンターの1つ以上のサーバーと通信し、コンタクトセンターの動作に関連付けられたデータ処理を実行するため、並びにボイス及び他のマルチメディア通信機構を介して顧客と対話するためのコンピュータを含んでもよい。
【0034】
コンタクトセンターシステム100はまた、エンドユーザーデバイス105及び/又はウェブサーバー155との音声対話以外のメディア対話に関与するためのマルチメディア/ソーシャルメディアサーバー150を含んでもよい。メディア対話は、例えば、電子メール、Vmail(電子メールを介したボイスメール)、チャット、ビデオ、テキストメッセージ、ウェブ、ソーシャルメディア、コブラウジングなどに関連し得る。マルチメディア/ソーシャルメディアサーバー150は、マルチメディアイベントを受信、処理、及び転送するための特殊なハードウェア及びソフトウェアを用いた、当該技術分野において従来の任意のIPルータの形態をとってもよい。
【0035】
ウェブサーバー155としては、例えば、いくつかの非限定的な例を挙げると、Facebook、Twitter、Instagramなど、エンドユーザーが加入し得る様々な既知の社会交流サイトのための社会交流サイトホストが挙げられ得る。一実施形態では、ウェブサーバー155は、コンタクトセンターシステム100の一部として示されているが、ウェブサーバーはまた、サードパーティによって提供されてもよく、かつ/又はコンタクトセンター構内の外側に維持されてもよい。ウェブサーバー155はまた、コンタクトセンターシステム100によってサポートされている企業のウェブページを提供してもよい。エンドユーザーは、ウェブページをブラウズし、企業の製品及びサービスに関する情報を取得することができる。ウェブページはまた、例えば、ウェブチャット、ボイスコール、電子メール、ウェブリアルタイム通信(WebRTC)などを介してコンタクトセンターに問い合わせるための機構を提供してもよい。
【0036】
一実施形態では、延期可能な対話/活動も、リアルタイム対話に加えて、コンタクトセンターエージェントにルーティングされてもよい。延期可能な対話/活動は、バックオフィス業務、又は電子メール、手紙、訓練への参加、若しくは顧客とのリアルタイム通信を必要としない他の活動に応答するなど、オフラインで実行され得る業務を含んでもよい。対話(iXn)サーバー160は、活動を処理するのに適切なエージェントを選択するためにルーティングサーバー130と相互作用する。エージェントに割り当てられると、活動はエージェントにプッシュされてもよく、又はエージェントによって完了されるタスクとしてエージェントのワークビン146A、146B、146C(集合的に146)に現れてもよい。エージェントのワークビンは、例えば、リンクされたリスト、アレイなど、当該技術分野において従来の任意のデータ構造を介して実施されてもよい。一実施形態では、ワークビン146は、例えば、それぞれのエージェントデバイス145のバッファメモリ内に維持されてもよい。
【0037】
一実施形態では、大容量記憶デバイス135は、エージェントデータ(例えば、エージェントプロファイル、スケジュールなど)、顧客データ(例えば、顧客プロファイル)、対話データ(例えば、限定するものではないが、対話の理由、気質データ、待ち時間、処理時間などを含む、顧客とのそれぞれの対話の詳細)などに関連する1つ以上のデータベースを記憶してもよい。別の実施形態では、データ(例えば、顧客プロファイルデータ)の一部は、大容量記憶デバイス135又は他の場所でホストされる顧客関係管理(CRM)データベース内に維持されてもよい。大容量記憶デバイス135は、当該技術分野において従来のように、ハードディスク又はディスクアレイの形態をとってもよい。
【0038】
一実施形態では、コンタクトセンターシステムは、CRMデータベースに記憶された情報を取得し、CRMデータベースに記憶される情報を方向付けるように構成されたユニバーサルコンタクトサーバー(UCS)165を含んでもよい。UCS165はまた、顧客の好みの履歴及び対話履歴を維持することを容易にし、エージェント、顧客通信履歴などからコメントに関するデータを捕捉し、記憶するように構成されてもよい。
【0039】
コンタクトセンターシステムはまた、統計サーバー140によって集約されたデータからレポートを生成するように構成されたレポーティングサーバー170を含んでもよい。かかるレポートとしては、例えば、平均待ち時間、離脱率、エージェント占有率などのリソースの状態に関する、ほぼリアルタイムのレポート又は履歴レポートが挙げられ得る。レポートは、自動的に、又は要求者(例えば、エージェント/管理者、コンタクトセンターアプリケーションなど)からの特定の要求に応答して生成されてもよい。
【0040】
図1の様々なサーバーはそれぞれ、コンピュータプログラム命令を実行し、本明細書に記載される様々な機能を実行するための他のシステム構成要素と相互作用する1つ以上のプロセッサを含んでもよい。コンピュータプログラム命令は、例えば、ランダムアクセスメモリ(RAM)などの標準メモリデバイスを使用して実装されるメモリに記憶される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読メディアに記憶されてもよい。サーバーのそれぞれの機能は、特定のサーバーによって提供されるものとして説明されているが、当業者は、様々なサーバーの機能が単一のサーバーに組み合わされるか若しくは統合されてもよいこと、又は特定のサーバーの機能が、本発明の実施形態の範囲から逸脱することなく、1つ以上の他のサーバー間に分散されてもよいことを理解すべきである。
【0041】
一実施形態では、用語「対話」及び「通信」は互換的に使用され、概して、限定するものではないが、電話コール(PSTN又はVoIPコール)、電子メール、Vmail、ビデオ、チャット、画面共有、テキストメッセージ、ソーシャルメディアメッセージ、WebRTCコールなどを含む、任意の通信チャネルを使用する任意のリアルタイム及び非リアルタイム対話を指す。
【0042】
メディアサービス175は、IVR又はIMRシステムのプロンプト(例えば、オーディオファイルの再生)、保留音、ボイスメール/単一相手との記録、複数相手との記録(例えば、オーディオ及び/又はビデオコール)、音声認識、デュアルトーンマルチ周波数(DTMF)認識、ファックス、オーディオ及びビデオトランスコーディング、セキュアなリアルタイム転送プロトコル(SRTP)、音声会議、ビデオ会議、コーチング(例えば、コーチが顧客とエージェントとの間の対話を聞くためのサポート、及び顧客がコメントを聞くことなくコーチがエージェントにコメントを提供するためのサポート)、コール分析、及びキーワードのスポッティングなどのコンタクトセンター機能をサポートするためのオーディオ及び/又はビデオサービスを提供してもよい。
【0043】
マルチクラス信頼モデリング
【0044】
図2は、概して200で示される、自動音声認識システムの実施形態を示した図である。ASRシステムは、コンタクトセンターシステム100のメディアサービス175の一部であってもよい。概して200で示されるASRシステムの構成要素としては、入力音声205、フロントエンド210、デコードモジュール215、音響モデル/レキシコン220、信頼モデル225、及び結果230が挙げられる。
【0045】
ASRシステムでは、ユーザーの音声はテキストに変換され、アプリケーション(例えば、IVRシステム、音声ダイアログシステム、キーワードスポッティングシステムなど)に返される。入力音声205は、フロントエンド210によって1組の特徴に変換される。例えば、IVRシステムでは、入力音声は、IVRシステムと対話するユーザーの声を含んでもよい。フロントエンド210は、入力音声205を自動音声認識システム200に受け入れ、入力音声から特徴を生成する機能モジュールを含む。音声のテキストへの変換は、オーディオ時間信号をその周波数構成要素に変換し、当該技術分野において既知の方法を使用して更に処理することにより、メル周波数ケプストラム係数(MFCC)特徴を抽出することによって実行されてもよい。
【0046】
デコードモジュール215は、これらの特徴を受け入れ、音響モデル220を使用して、特徴をテキストに変換することによって最良の仮説を決定する。全ての仮説分節に関して、1組の特徴(例えば、浮動小数点数)がデコードモジュール215によって信頼モデル225に送信される。信頼モデル225は、仮説(例えば、テキスト出力)が正しいものである確率をデコードモジュール215に提供する。この確率は、デコードモジュールに、仮説が正しい可能性がどの程度であるか(例えば、システムがそのテキスト出力にどの程度自信があるか)をデコードモジュールに通知する浮動小数点数を含む。典型的には、0.0~1.0間の値が、出力テキスト230と共に出力される。より低い値は、システムがその最終出力にあまり自信がないことを暗示し得る。確率と共に出力テキスト仮説が、デコードモジュール215によって呼び出し元のアプリケーションに結果230として返される。
【0047】
一実施形態において、信頼モデル225は、デコードモジュール215内のモジュールであってもよい。
【0048】
一実施形態では、信頼モデリングの主な用途は、自動音声応答装置(Interactive Voice Response:IVR)である。IVRアプリケーションは、必要に応じてユーザー入力を確認することによって、信頼値を使用して全体的なダイアログを駆動する。別の実施形態では、信頼モデリングは、コール分析(例えば、キーワードのスポッティング)で使用されてもよい。別の実施形態では、信頼モデリングはまた、開放型ダイアログシステムで使用されてもよい。
【0049】
IVRシステムでは、例えば、ユーザーは、特定のタスクを完了するためにコールする。システムは、タスク完了においてユーザーを誘導する。ユーザーの音声はデコードされ、更なる行動を取るためのテキストに変換される。音声から変換されたテキスト出力と共に、システムはまた、ダイアログの誘導に役立つ信頼値(又は確率)を返す。第1の実施例では、ユーザーの音声はテキスト「one two three four」にデコードされ得る。システムは、デコードされたテキストの信頼を0.5に決定し得る。システムプロンプトは、「one two three fourという意味ですか」である。第2の実施例では、ユーザーの音声は、テキスト「one two three four」にデコードされ得る。システムは、デコードされたテキストの信頼を0.25に決定し得る。システムプロンプトは、「すみません、理解できませんでした。もう一度数字を教えてください。」である。
【0050】
2つの実施例から分かるように、信頼値に基づいて、システムは、ユーザーに異なる応答をし、タスクの完了に向けた誘導を助ける。システムは、ユーザーに確認を求めることも又は繰り返しを求めることもできる。最悪のシナリオは、デコードされたテキストの信頼は高いが、それは、ユーザーが実際に言ったことではない場合である。このように、システムは、デコードされた音声が正しいと想定し、実際には誤っているが更に先に進む場合がある。最上位アプリケーションは、信頼値を使用して、システムをタスク完了に向けて誘導する。
【0051】
バイナリ分類子では、出力ラベルを選択することはむしろ簡単である。上述のように、仮説がグランドトゥルースに一致する場合、ラベルはゼロである。仮説がグランドトゥルースに一致しない場合、ラベルは1である。マルチクラス分類子を用いて、仮説がどの程度正しい又は正しくないかに応じて複数のクラスが作製される。一実施形態では、基準が仮説と比較され、4つの出力クラスが提案される。クラスラベルは、クラスラベルを決定するためのメトリックとして、編集距離及び正規化編集距離を使用して決定されてもよい。編集距離は、一方の文字列を他方に変換するために必要とされる最小数の動作をカウントすることにより、2つの文字列(例えば、単語)が互いにどのように異なるかを定量化する方法である。一実施形態では、正規化編集距離は、編集距離値を得て、それを文字列の長さで割ることによって得られる。
【0052】
図3は、概して300で示される、マルチクラスアプローチに基づく結果を示した表である。表300は、「正規化編集距離」、「編集距離」、「一致」、「ラベル」、及び「実施例:基準対仮説」を有するサンプル用データの例を示す。緊密に一致する結果及び仮説は、正確に一致するものと一緒にグループ化される。例えば、300aは、「call」対「call」の正確な一致を有する一方、300bは、1つの電話だけが異なる一致(「representatvie」対「representatives」)を示している。実施例300c、300d、及び300eは、基準対仮説の緊密さの観点から次第に悪化している。それぞれの実施例のラベルは、グループ分けを反映する。300a及び300bは、マルチクラスラベルを表す[1,0,0,0]のラベルを有する。300cは、[0,1,0,0]とラベル付けされる。更なる区別により、300dは[0,0,1,0]とラベル付けされており、最後の300eは、最も低い一致可能性を示す[0,0,0,1]である。
【0053】
コンピュータシステム
【0054】
一実施形態では、説明される図の様々なサーバー、制御部、スイッチ、ゲートウェイ、エンジン、及び/又はモジュール(サーバーと総称される)のそれぞれは、当業者に理解されるように、ハードウェア又はファームウェア(例えば、ASIC)を介して実装される。様々なサーバーのそれぞれは、1つ以上のプロセッサ上で実行され、1つ以上のコンピューティングデバイス(例えば、
図4A、
図4B)においてコンピュータプログラム命令を実行し、本明細書に記載される様々な機能を実行するための他のシステム構成要素と相互作用するプロセス又はスレッドであってもよい。コンピュータプログラム命令は、例えばRAMなどの標準メモリデバイスを使用してコンピューティングデバイスに実装され得るメモリに記憶される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読メディアに記憶されてもよい。当業者は、コンピューティングデバイスが、ファームウェア(例えば、特定用途向け集積回路)、ハードウェア、又はソフトウェア、ファームウェア、及びハードウェアの組み合わせを介して実装され得ることを認識すべきである。当業者はまた、様々なコンピューティングデバイスの機能が単一のコンピューティングデバイスに組み合わされるか若しくは統合されてもよいこと、又は特定のコンピューティングデバイスの機能が、本発明の例示的な実施形態の範囲から逸脱することなく、1つ以上の他のコンピューティングデバイス間に分散されてもよいことを認識すべきである。サーバーは、単にモジュールとも称され得るソフトウェアモジュールであってもよい。コンタクトセンター内のモジュールのセットは、サーバー及び他のモジュールを含んでもよい。
【0055】
様々なサーバーは、コンタクトセンターのエージェントと同じ物理的場所にあるオンサイトのコンピューティングデバイス上に配置されてもよく、又は地理的に異なる場所、例えば、インターネットなどのネットワークを介してコンタクトセンターに接続されたリモートデータセンター内でオフサイトに配置されてもよい。更に、サーバーのいくつかは、コンタクトセンターにあるオンサイトのコンピューティングデバイス内に配置されてもよく、一方、他のサーバーは、オフサイトのコンピューティングデバイス内に配置されてもよく、又は冗長な機能を提供するサーバーは、より優れたフォールトトレランスを提供するためにオンサイト及びオフサイトのコンピューティングデバイスの両方を介して提供されてもよい。いくつかの実施形態では、オフサイトのコンピューティングデバイスに配置されたサーバーによって提供される機能は、かかるサーバーがオンサイトにあるかのように仮想プライベートネットワーク(VPN)を介してアクセス及び提供されてもよく、又は機能は、例えば、拡張可能なマークアップ言語(XML)又はJavaScript Object表記(JSON)での符号化を使用してデータを交換することなどによって、様々なプロトコルを使用してインターネット上に機能を提供するためのサービスとしてのソフトウェア(SaaS)を使用して提供されてもよい。
【0056】
図4A及び
図4Bは、概して400で示される、本発明の実施形態で用いられ得るようなコンピューティングデバイスの実施形態を示した図である。それぞれのコンピューティングデバイス400は、CPU405及びメインメモリユニット410を含む。
図4Aに示すように、コンピューティングデバイス400はまた、記憶デバイス415、リムーバブルメディアインターフェース420、ネットワークインターフェース425、入出力(I/O)コントローラ430、1つ以上の表示デバイス435A、キーボード435B、及びポインティングデバイス435C(例えば、マウス)を含んでもよい。記憶デバイス415としては、限定するものではないが、オペレーティングシステム及びソフトウェアのための記憶域が挙げられ得る。
図4Bに示すように、それぞれのコンピューティングデバイス400はまた、メモリポート440、ブリッジ445、1つ以上の追加の入出力デバイス435D、435E、及びCPU405と通信するキャッシュメモリ450などの追加の任意の要素を含んでもよい。入出力デバイス435A、435B、435C、435D、及び435Eは、本明細書では、435と総称される場合がある。
【0057】
CPU405は、メインメモリユニット410からの命令に応答し、それを処理する任意の論理回路である。例えば、マイクロプロセッサ、マイクロコントローラ、若しくはグラフィックス処理ユニットの形態の集積回路に、又はフィールドプログラマブルゲートアレイ(FPGA)若しくは特定用途向け集積回路(ASIC)に実装されてもよい。メインメモリユニット410は、データを記憶し、任意の記憶位置が中央処理ユニット405によって直接アクセスされることを可能にする1つ以上のメモリチップであってもよい。
図4Aに示すように、中央処理ユニット405は、システムバス455を介してメインメモリ410と通信する。
図4Bに示すように、中央処理ユニット405はまた、メモリポート440を介してメインメモリ410と直接通信してもよい。
【0058】
一実施形態では、CPU405は、複数のプロセッサを含んでもよく、命令の同時実行又は1つ以上のデータ片上での1つの命令の同時実行のための機能を提供してもよい。一実施形態では、コンピューティングデバイス400は、1つ以上のコアを有する並列プロセッサを含んでもよい。一実施形態では、コンピューティングデバイス400は、単一のグローバルアドレス空間として全ての利用可能なメモリにアクセスする、複数のプロセッサ及び/又は複数のプロセッサコアを有する共有メモリ並列デバイスを備える。別の実施形態では、コンピューティングデバイス400は、それぞれローカルメモリのみにアクセスする複数のプロセッサを有する分散メモリ並列デバイスである。コンピューティングデバイス400は、共有されているいくつかのメモリと、特定のプロセッサ又はプロセッサのサブセットによってのみアクセスされ得るいくつかのメモリとの両方を有してもよい。CPU405は、2つ以上の独立したプロセッサを単一のパッケージに、例えば、単一の集積回路(IC)に組み合わせるマルチコアマイクロプロセッサを含んでもよい。例えば、コンピューティングデバイス400は、少なくとも1つのCPU405及び少なくとも1つのグラフィック処理ユニットを含んでもよい。
【0059】
一実施形態では、CPU405は、単一命令多重データ処理(SIMD)機能、例えば、複数のデータ片上で同時に単一の命令を実行する機能を提供する。別の実施形態では、CPU405内のいくつかのプロセッサは、複数のデータ片上で同時に複数の命令を実行するための機能(MIMD)を提供してもよい。CPU405はまた、単一のデバイス内でSIMD及びMIMDコアの任意の組み合わせを使用してもよい。
【0060】
図4Bは、CPU405が、バックサイドバスと称されることもある二次バスを介してキャッシュメモリ450と直接通信する実施形態を示す。他の実施形態では、CPU405は、システムバス455を使用してキャッシュメモリ450と通信する。キャッシュメモリ450は典型的には、メインメモリ410よりも速い応答時間を有する。
図4Aに示すように、CPU405は、ローカルシステムバス455を介して様々なI/Oデバイス435と通信する。限定するものではないが、Video Electronics Standards Association(VESA)ローカルバス(VLB)、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、拡張業界標準アーキテクチャ(Extended Industry Standard Architecture:EISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、Peripheral Component Interconnect(PCI)バス、PCI拡張(PCI Extended:PCI-X)バス、PCI-Expressバス、又はNuBusを含む様々なバスが、ローカルシステムバス455として使用され得る。I/Oデバイスが表示デバイス435Aである実施形態の場合、CPU405は、Advanced Graphics Port(AGP)を介して表示デバイス435Aと通信することができる。
図4Bは、CPU405がI/Oデバイス435Eと直接通信するコンピュータ400の実施形態を示す。
図4Bはまた、ローカルバス及び直接通信が混合される実施形態を示す。CPU405は、I/Oデバイス435Eと直接通信している間にローカルシステムバス455を使用してI/Oデバイス435Dと通信する。
【0061】
多種多様なI/Oデバイス435が、コンピューティングデバイス400内に存在してもよい。入力デバイスは、いくつかの非限定的な例を挙げると、1つ以上のキーボード435B、マウス、トラックパッド、トラックボール、マイクロフォン、及び製図台が挙げられる。出力デバイスとしては、ビデオ表示デバイス435A、スピーカ、及びプリンタが挙げられる。
図4Aに示されるI/Oコントローラ430は、例えば、キーボード435B及びポインティングデバイス435C(例えば、マウス又は光学ペン)などの1つ以上のI/Oデバイスを制御してもよい。
【0062】
再び
図4Aを参照すると、コンピューティングデバイス400は、フロッピーディスクドライブ、CD-ROMドライブ、DVD-ROMドライブ、様々なフォーマットのテープドライブ、USBポート、セキュアデジタル若しくはCOMPACT FLASH(商標)メモリカードポート、又は読み出し専用メディアからデータを読み取るため、若しくは読み書きメディアからデータを読み取るため、若しくは読み書きメディアにデータを書き込むために好適な任意の他のデバイスなど、1つ以上のリムーバブルメディアインターフェース420をサポートしてもよい。I/Oデバイス435は、システムバス455とリムーバブルメディアインターフェース420との間のブリッジであってもよい。
【0063】
リムーバブルメディアインターフェース420は、例えば、ソフトウェア及びプログラムをインストールするために使用されてもよい。コンピューティングデバイス400は、オペレーティングシステム及び他の関連するソフトウェアを記憶するための、及びアプリケーションソフトウェアプログラムを記憶するための、1つ以上のハードディスクドライブ又はハードディスクドライブアレイなどの記憶デバイス415を更に含んでもよい。任意選択的に、リムーバブルメディアインターフェース420はまた、記憶デバイスとして使用されてもよい。例えば、オペレーティングシステム及びソフトウェアは、ブータブルメディア、例えばブータブルCDから実行されてもよい。
【0064】
一実施形態では、コンピューティングデバイス400は、それぞれが同じ又は異なるタイプ及び/又は形態であり得る複数の表示デバイス435Aを含んでもよく、又はそれらに接続されてもよい。したがって、I/Oデバイス435及び/又はI/Oコントローラ430のいずれかは、コンピューティングデバイス400による複数の表示デバイス435Aへの接続及びその使用をサポートするか、有効にするか、又は提供するために、任意のタイプ及び/又は形態の好適なハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせを含んでもよい。例えば、コンピューティングデバイス400は、表示デバイス435Aをインターフェース、通信、接続、ないしは別の方法で使用するための、任意のタイプ及び/又は形態のビデオアダプタ、ビデオカード、ドライバ、及び/又はライブラリを含んでもよい。一実施形態では、ビデオアダプタは、複数の表示デバイス435Aにインターフェースするための複数のコネクタを含んでもよい。別の実施形態では、コンピューティングデバイス400は、複数のビデオアダプタを含んでもよく、それぞれのビデオアダプタは、表示デバイス435Aのうちの1つ以上に接続される。他の実施形態では、表示デバイス435Aのうちの1つ以上は、例えば、ネットワークを介してコンピューティングデバイス400に接続された1つ以上の他のコンピューティングデバイスによって提供されてもよい。これらの実施形態は、コンピューティングデバイス400のための第2の表示デバイス435Aとして別のコンピューティングデバイスの表示デバイスを使用するように設計及び構築された任意のタイプのソフトウェアを含んでもよい。当業者であれば、コンピューティングデバイス400が複数の表示デバイス435Aを有するように構成され得る様々な方法及び実施形態を認識及び理解するであろう。
【0065】
概して
図4A及び
図4Bに示されるコンピューティングデバイスの実施形態は、オペレーティングシステムの制御下で動作してもよく、タスクのスケジューリング及びシステムリソースへのアクセスを制御する。コンピューティングデバイス400は、任意のオペレーティングシステム、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意のプロプライエタリオペレーティングシステム、モバイルコンピューティングデバイスのための任意のオペレーティングシステム、又はコンピューティングデバイス上で実行可能であり、本明細書に記載される動作を実行する任意の他のオペレーティングシステムを実行していてもよい。
【0066】
コンピューティングデバイス400は、任意のワークステーション、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、サーバーマシン、ハンドル付きコンピュータ、携帯電話若しくは他のポータブル電気通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、又は通信可能であり、本明細書に記載される動作を実行するために十分なプロセッサ電力及びメモリ容量を有する、任意の他のタイプ及び/若しくは形態のコンピューティング、電気通信、若しくはメディアデバイスであってもよい。いくつかの実施形態では、コンピューティングデバイス400は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有してもよい。
【0067】
他の実施形態では、コンピューティングデバイス400はモバイルデバイスである。例としては、Java対応移動電話若しくはパーソナルデジタルアシスタント(PDA)、スマートフォン、デジタルオーディオプレーヤ、又はポータブルメディアプレーヤが挙げられ得る。一実施形態では、コンピューティングデバイス400としては、デジタルオーディオプレーヤ又はポータブルメディアプレーヤと組み合わされた携帯電話など、デバイスの組み合わせが挙げられる。
【0068】
コンピューティングデバイス400は、ネットワークによって接続された複数のマシンのうちの1つであってもよく、又はそのように接続された複数のマシンを含んでもよい。ネットワーク環境としては、1つ以上のネットワークを介して1つ以上のリモートマシン(概してサーバーマシン又はリモートマシンとも称され得る)と通信する1つ以上のローカルマシン、クライアントノード、クライアントマシン、クライアントコンピュータ、クライアントデバイス、エンドポイント、又はエンドポイントノードが挙げられ得る。一実施形態では、ローカルマシンは、サーバーマシンによって提供されるリソースへのアクセスを求めるクライアントノード、及び他のクライアントのためのホスト型リソースへのアクセスを提供するサーバーマシンの両方として機能する能力を有する。ネットワークは、LAN又はWANリンク、ブロードバンド接続、無線接続、又は上記のいずれか若しくは全ての組み合わせであってもよい。接続は、様々な通信プロトコルを使用して確立され得る。一実施形態では、コンピューティングデバイス400は、セキュアソケットレイヤ(SSL)又はトランスポート層セキュリティ(TLS)など、任意のタイプ及び/又は形態のゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス400と通信する。ネットワークインターフェースとしては、コンピューティングデバイスを通信可能な任意のタイプのネットワークにインターフェースし、本明細書に記載される動作を実行するのに好適な、ネットワークインターフェースカードなどの内蔵ネットワークアダプタが挙げられ得る。I/Oデバイスは、システムバスと外部通信バスとの間のブリッジであってもよい。
【0069】
一実施形態では、ネットワーク環境は、ネットワークの様々な構成要素が仮想化される仮想ネットワーク環境であってもよい。例えば、様々なマシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであってもよい。仮想マシンは、同じオペレーティングシステムを共有してもよい。他の実施形態では、異なるオペレーティングシステムは、それぞれの仮想マシンインスタンス上で実行されてもよい。一実施形態では、複数の仮想マシンが同じホスト物理マシン上で実行され、それぞれがそれ自体の専用ボックスを有するかのように機能する「ハイパーバイザ」タイプの仮想化が実装される。仮想マシンはまた、異なるホスト物理マシン上で実行されてもよい。
【0070】
例えば、ネットワーク(例えば、ソフトウェア定義ネットワーク(Software Defined Networking:SDN)を介して)など、他のタイプの仮想化も企図される。セッション境界コントローラの機能及び他のタイプの機能などの機能もまた、例えば、ネットワーク機能仮想化(Network Functions Virtualization:NFV)などを介して仮想化されてもよい。
【0071】
本発明は、図面及び前述の説明において詳細に例示及び記載されてきたが、これは限定的な特性ではなく、例示的なものと見なされるべきであり、好ましい実施形態のみが示され、記載されていること、並びに本明細書及び/又は以下の特許請求の範囲によって記載されるように本発明の趣旨に含まれる全ての等価物、変更、及び修正は保護されることが望ましいことが理解される。
【0072】
したがって、本発明の適切な範囲は、かかる全ての修正、並びに図面に例示され、本明細書に記載されるものに等しい全ての関係を包含するように、添付の特許請求の範囲の最も広い解釈によってのみ決定されるべきである。